Marshal.StringToHGlobalUni(String) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Copia el contenido de un administrado String en memoria no administrada.
public:
static IntPtr StringToHGlobalUni(System::String ^ s);
[System.Security.SecurityCritical]
public static IntPtr StringToHGlobalUni(string s);
public static IntPtr StringToHGlobalUni(string s);
[<System.Security.SecurityCritical>]
static member StringToHGlobalUni : string -> nativeint
static member StringToHGlobalUni : string -> nativeint
Public Shared Function StringToHGlobalUni (s As String) As IntPtr
Parámetros
- s
- String
Cadena administrada que se va a copiar.
Devoluciones
nativeint
Dirección, en memoria no administrada, a donde s se copió o 0 si s es null.
- Atributos
Excepciones
El método no pudo asignar suficiente memoria de montón nativa.
El s parámetro supera la longitud máxima permitida por el sistema operativo.
Comentarios
StringToHGlobalUni resulta ú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 Windows de Unicode, que es una codificación de 2 bytes UTF-16. En muchas plataformas que no son de 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.