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.

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

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