Поделиться через


Marshal.PtrToStringUni Метод

Определение

Выделяет управляемый объект типа String и частично или полностью копирует в него неуправляемую строку в формате Юникод.

Перегрузки

PtrToStringUni(IntPtr)

Выделяет управляемый объект String и копирует в него все знаки до первого пустого знака из неуправляемой строки Юникода.

PtrToStringUni(IntPtr, Int32)

Выделяет управляемый объект String и копирует в него заданное число знаков неуправляемой строки Юникода.

PtrToStringUni(IntPtr)

Исходный код:
Marshal.cs
Исходный код:
Marshal.cs
Исходный код:
Marshal.cs

Выделяет управляемый объект String и копирует в него все знаки до первого пустого знака из неуправляемой строки Юникода.

public:
 static System::String ^ PtrToStringUni(IntPtr ptr);
[System.Security.SecurityCritical]
public static string PtrToStringUni (IntPtr ptr);
public static string? PtrToStringUni (IntPtr ptr);
public static string PtrToStringUni (IntPtr ptr);
[<System.Security.SecurityCritical>]
static member PtrToStringUni : nativeint -> string
static member PtrToStringUni : nativeint -> string
Public Shared Function PtrToStringUni (ptr As IntPtr) As String

Параметры

ptr
IntPtr

nativeint

Адрес первого символа в неуправляемой строке.

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

Управляемая строка, содержащая копию неуправляемой строки, если значение параметра ptr не равно null. В противном случае этот метод возвращает значение null.

Атрибуты

Комментарии

PtrToStringUni полезно для пользовательского маршалинга или для использования при смешении управляемого и неуправляемого кода. Так как этот метод создает копию содержимого неуправляемой строки, исходную строку необходимо освободить соответствующим образом. Этот метод предоставляет противоположные функциональные Marshal.StringToCoTaskMemUni возможности методов и Marshal.StringToHGlobalUni .

Этот API отражает определение Юникода в Windows, которое представляет собой 2-байтовую кодировку UTF-16. На многих платформах, отличных от Windows, wchar_t тип данных равен 4, а не 2 байтам. Обратитесь к компилятору, чтобы проверить, можно ли wchar_t использовать или char16_t следует использовать вместо него.

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

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

PtrToStringUni(IntPtr, Int32)

Исходный код:
Marshal.cs
Исходный код:
Marshal.cs
Исходный код:
Marshal.cs

Выделяет управляемый объект String и копирует в него заданное число знаков неуправляемой строки Юникода.

public:
 static System::String ^ PtrToStringUni(IntPtr ptr, int len);
[System.Security.SecurityCritical]
public static string PtrToStringUni (IntPtr ptr, int len);
public static string PtrToStringUni (IntPtr ptr, int len);
[<System.Security.SecurityCritical>]
static member PtrToStringUni : nativeint * int -> string
static member PtrToStringUni : nativeint * int -> string
Public Shared Function PtrToStringUni (ptr As IntPtr, len As Integer) As String

Параметры

ptr
IntPtr

nativeint

Адрес первого символа в неуправляемой строке.

len
Int32

Число копируемых символов Юникода.

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

Управляемая строка, содержащая копию неуправляемой строки, если значение параметра ptr не равно null. В противном случае этот метод возвращает значение null.

Атрибуты

Комментарии

PtrToStringUni полезно для пользовательского маршалинга или при смешении управляемого и неуправляемого кода. Так как этот метод создает копию содержимого неуправляемой строки, исходную строку необходимо освободить соответствующим образом. Этот метод предоставляет противоположные функциональные Marshal.StringToCoTaskMemUni возможности методов и Marshal.StringToHGlobalUni .

Этот API отражает определение Юникода в Windows, которое представляет собой 2-байтовую кодировку UTF-16. На многих платформах, отличных от Windows, wchar_t тип данных равен 4, а не 2 байтам. Обратитесь к компилятору, чтобы проверить, можно ли wchar_t использовать или char16_t следует использовать вместо него.

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

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