Marshal.PtrToStringUni Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Выделяет управляемый объект и копирует все или часть неуправляемой String строки Юникода в него.
Перегрузки
| Имя | Описание |
|---|---|
| PtrToStringUni(IntPtr) |
Выделяет управляемый String и копирует все символы до первого null-символа из неуправляемой строки Юникода в него. |
| PtrToStringUni(IntPtr, Int32) |
Выделяет управляемое String и копирует указанное число символов из неуправляемой строки Юникода в него. |
PtrToStringUni(IntPtr)
- Исходный код:
- Marshal.cs
- Исходный код:
- Marshal.cs
- Исходный код:
- Marshal.cs
- Исходный код:
- Marshal.cs
- Исходный код:
- Marshal.cs
Выделяет управляемый String и копирует все символы до первого null-символа из неуправляемой строки Юникода в него.
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)
- Исходный код:
- Marshal.cs
- Исходный код:
- Marshal.cs
- Исходный код:
- 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 Юникода, которое является кодировкой UTF-16 2-байтов. На многих платформах, отличных от Windows, тип данных wchar_t равен 4-байтам, а не 2-байтам. Обратитесь к компилятору, чтобы подтвердить, можно ли wchar_t использовать или char16_t использовать его.