Marshal.PtrToStringUni Метод

Определение

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

Перегрузки

PtrToStringUni(IntPtr)

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

PtrToStringUni(IntPtr, Int32)

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

PtrToStringUni(IntPtr)

Выделяет управляемый объект 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

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

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

String

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

Атрибуты

Комментарии

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

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

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

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

PtrToStringUni(IntPtr, Int32)

Выделяет управляемый объект 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

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

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

String

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

Атрибуты

Комментарии

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

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

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

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