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
Адрес первого символа в неуправляемой строке.
Возвращаемое значение
Управляемая строка, содержащая копию неуправляемой строки, если значение параметра 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
Число копируемых символов Юникода.
Возвращаемое значение
Управляемая строка, содержащая копию неуправляемой строки, если значение параметра ptr
не равно null
. В противном случае этот метод возвращает значение null
.
- Атрибуты
Комментарии
PtrToStringUni используется для пользовательского маршалинга или при смешивании управляемого и неуправляемого кода. Так как этот метод создает копию содержимого неуправляемой строки, необходимо освободить исходную строку соответствующим образом. Этот метод предоставляет противоположные функциональные возможности Marshal.StringToCoTaskMemUni и Marshal.StringToHGlobalUni методы.
Этот API отражает определение Windows Юникода, которое является кодировкой UTF-16 2-байтов. На многих платформах, отличных от Windows, wchar_t
тип данных составляет 4 байта, а не 2 байта. Обратитесь к компилятору, чтобы проверить, можно ли wchar_t
использовать или char16_t
использовать его.