1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
# La clase Marshal proporciona una colección de métodos para asignar memoria no administrada, copiar bloques de memoria no administrados y convertir los tipos administrados en no administrados, así como otros métodos diversos que se utilizan al interactuar con código no administrado. # Definición de variables y operación de suma $variable = 1 $variable = $variable + 4 # A BSTR (Basic string or binary string) is a string data type that is used by COM, Automation, and Interop functions. Use the BSTR data type in all interfaces that will be accessed from script. # Asigna un BSTR (Basic string or binary string) y copia en él el contenido de un objeto String administrado. $BSTR = [System.Runtime.InteropServices.Marshal]::StringToBSTR($variable) # PtrToStringAnsi: copia todos los caracteres hasta el primer carácter nulo de una cadena ANSI o UTF-8 no administrada a un String administrado y amplía cada carácter a UTF-16. [System.Runtime.InteropServices.Marshal]::PtrToStringAnsi($BSTR) # PtrToStringAuto: asigna un String administrado y copia en él todos los caracteres hasta el primer carácter nulo de una cadena almacenada en memoria no administrada. [System.Runtime.InteropServices.Marshal]::PtrToStringAuto($BSTR) # PtrToStringBSTR: asigna un String administrado y copia en él una cadena binaria (BSTR) almacenada en memoria no administrada. [System.Runtime.InteropServices.Marshal]::PtrToStringBSTR($BSTR) |