Marshal.StringToCoTaskMemUni(String) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Копирует содержимое управляемого объекта типа String в блок памяти, выделенный из неуправляемого распределителя памяти для COM-задач.
public:
static IntPtr StringToCoTaskMemUni(System::String ^ s);
[System.Security.SecurityCritical]
public static IntPtr StringToCoTaskMemUni (string s);
public static IntPtr StringToCoTaskMemUni (string? s);
public static IntPtr StringToCoTaskMemUni (string s);
[<System.Security.SecurityCritical>]
static member StringToCoTaskMemUni : string -> nativeint
static member StringToCoTaskMemUni : string -> nativeint
Public Shared Function StringToCoTaskMemUni (s As String) As IntPtr
Параметры
- s
- String
Копируемая управляемая строка.
Возвращаемое значение
nativeint
Целое число, представляющее указатель на блок памяти, выделенный для строки, или значение 0, если строка s имеет значение null
.
- Атрибуты
Исключения
Параметр s
превышает максимальную длину, разрешенную операционной системой.
Не хватает памяти.
Комментарии
StringToCoTaskMemUni полезно для пользовательского маршалинга или для использования при смешивании управляемого и неуправляемого кода. Так как этот метод выделяет неуправляемую память, необходимую для строки, всегда освобождайте память, вызывая .Marshal.FreeCoTaskMem Этот метод предоставляет функциональность, противоположную Marshal.PtrToStringUni. Символы строки копируются как символы Юникода.
Этот API отражает определение Юникода в Windows, которое представляет собой двухбайтовую кодировку UTF-16. На многих платформах, отличных от Windows, wchar_t
тип данных равен 4 байтам, а не 2 байтам. Обратитесь к компилятору, чтобы проверить, можно ли wchar_t
использовать или char16_t
следует использовать вместо него.
Применяется к
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по