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
Копируемая управляемая строка.
Возвращаемое значение
-
IntPtr
nativeint
Выделенный блок памяти или значение 0, если строка s
имеет значение null
.
- Атрибуты
Исключения
Не хватает памяти.
Длина параметра s
выходит за пределы диапазона.
Комментарии
StringToCoTaskMemAuto используется для пользовательского маршалинга или использования при смешивании управляемого и неуправляемого кода. Так как этот метод выделяет неуправляемую память, необходимую для строки, всегда освобождает память путем вызова FreeCoTaskMem. Этот метод предоставляет противоположные функциональные возможности Marshal.PtrToStringAuto.
Символы строки копируются как символы Юникода.