Marshal.StringToHGlobalUni(String) Método

Definición

Copia el contenido de un String administrado en la memoria no administrada.

C#
[System.Security.SecurityCritical]
public static IntPtr StringToHGlobalUni(string s);
C#
public static IntPtr StringToHGlobalUni(string? s);
C#
public static IntPtr StringToHGlobalUni(string s);

Parámetros

s
String

Cadena administrada que se va a copiar.

Devoluciones

IntPtr

Dirección, en memoria no administrada, donde se copió s o 0 si s es null.

Atributos

Excepciones

El método no pudo asignar la suficiente memoria de montón nativo.

El parámetro s supera la longitud máxima permitida por el sistema operativo.

Comentarios

StringToHGlobalUni es útil para la serialización personalizada o para su uso al mezclar código administrado y no administrado. Dado que este método asigna la memoria no administrada necesaria para una cadena, libere siempre la memoria llamando a FreeHGlobal. Este método proporciona la funcionalidad opuesta de Marshal.PtrToStringUni.

Este método copia caracteres NULL incrustados e incluye un carácter nulo de terminación.

Esta API refleja la definición de Windows de Unicode, que es una codificación UTF-16 de 2 bytes. En muchas plataformas que no son windows, el wchar_t tipo de datos es de 4 bytes, no de 2 bytes. Consulte al compilador para confirmar si wchar_t se puede usar o char16_t debe usarse en su lugar.

Se aplica a

Produto Versións
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

Consulte también