Marshal.StringToCoTaskMemAuto(String) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Копирует содержимое управляемого объекта типа String в блок памяти, выделенный из неуправляемого распределителя памяти для COM-задач.
public:
static IntPtr StringToCoTaskMemAuto(System::String ^ s);
public static IntPtr StringToCoTaskMemAuto (string? s);
public static IntPtr StringToCoTaskMemAuto (string s);
[System.Security.SecurityCritical]
public static IntPtr StringToCoTaskMemAuto (string s);
static member StringToCoTaskMemAuto : string -> nativeint
[<System.Security.SecurityCritical>]
static member StringToCoTaskMemAuto : string -> nativeint
Public Shared Function StringToCoTaskMemAuto (s As String) As IntPtr
Параметры
- s
- String
Копируемая управляемая строка.
Возвращаемое значение
nativeint
Выделенный блок памяти или значение 0, если строка s
имеет значение null
.
- Атрибуты
Исключения
Не хватает памяти.
Длина параметра s
выходит за пределы диапазона.
Комментарии
StringToCoTaskMemAuto полезно для пользовательского маршалинга или для использования при смешивании управляемого и неуправляемого кода. Так как этот метод выделяет неуправляемую память, необходимую для строки, всегда освобождайте память, вызывая .FreeCoTaskMem Этот метод предоставляет функциональность, противоположную Marshal.PtrToStringAuto.
Символы строки копируются как символы Юникода.