Comparteix a través de


Marshal.StringToCoTaskMemUTF8(String) Método

Definición

Copia el contenido de un String administrado en un bloque de memoria asignado desde el asignador de tareas COM no administrado.

public:
 static IntPtr StringToCoTaskMemUTF8(System::String ^ s);
public static IntPtr StringToCoTaskMemUTF8 (string? s);
[System.Security.SecurityCritical]
public static IntPtr StringToCoTaskMemUTF8 (string s);
public static IntPtr StringToCoTaskMemUTF8 (string s);
static member StringToCoTaskMemUTF8 : string -> nativeint
[<System.Security.SecurityCritical>]
static member StringToCoTaskMemUTF8 : string -> nativeint
Public Shared Function StringToCoTaskMemUTF8 (s As String) As IntPtr

Parámetros

s
String

Cadena administrada que se va a copiar.

Devoluciones

IntPtr

nativeint

Entero que representa un puntero al bloque de memoria asignado a la cadena, o 0 si s es null.

Atributos

Excepciones

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

No hay suficiente memoria disponible.

Comentarios

StringToCoTaskMemUTF8 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, incluido un terminador NULL, libere siempre la memoria llamando a Marshal.FreeCoTaskMem. Este método proporciona la funcionalidad opuesta de Marshal.PtrToStringUTF8. Los caracteres de la cadena se copian como caracteres UTF-8.

Se aplica a

Consulte también