Marshal.StringToCoTaskMemUTF8(String) Метод

Определение

Копирует содержимое управляемого в блок памяти, выделенный неуправляемой String задачей COM.

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

Параметры

s
String

Управляемая строка для копирования.

Возвращаемое значение

IntPtr

nativeint

Целое число, представляющее указатель на блок памяти, выделенный для строки, или значение 0, если s .null

Атрибуты

Исключения

Параметр s превышает максимальную длину, разрешенную операционной системой.

Доступно недостаточно памяти.

Комментарии

StringToCoTaskMemUTF8 полезно для пользовательского маршалинга или для использования при сочетании управляемого и неуправляемого кода. Так как этот метод выделяет неуправляемую память, необходимую для строки, включая терминатор NULL, всегда освобождает память путем вызова Marshal.FreeCoTaskMem. Этот метод предоставляет противоположные функциональные Marshal.PtrToStringUTF8возможности. Символы строки копируются как символы UTF-8.

Применяется к

См. также раздел