Marshal.PtrToStringUni Método

Definição

Aloca uma cadeia gerida String e copia total ou parcialmente uma cadeia Unicode não gerida para ele.

Sobrecargas

Name Description
PtrToStringUni(IntPtr)

Aloca uma cadeia gerida String e copia todos os caracteres até ao primeiro carácter nulo de uma string Unicode não gerida para ele.

PtrToStringUni(IntPtr, Int32)

Aloca uma cadeia gerida String e copia para ela um número especificado de caracteres de uma cadeia Unicode não gerida.

PtrToStringUni(IntPtr)

Aloca uma cadeia gerida String e copia todos os caracteres até ao primeiro carácter nulo de uma string Unicode não gerida para ele.

public:
 static System::String ^ PtrToStringUni(IntPtr ptr);
[System.Security.SecurityCritical]
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

Parâmetros

ptr
IntPtr

nativeint

O endereço do primeiro carácter da cadeia não gerida.

Devoluções

Uma cadeia gerida que contém uma cópia da cadeia não gerida se o valor do ptr parâmetro não nullfor ; caso contrário, este método devolve null.

Atributos

Observações

PtrToStringUni é útil para marshaling personalizado ou para uso ao misturar código gerido e não gerido. Como este método cria uma cópia do conteúdo da cadeia não gerida, deve libertar a cadeia original conforme apropriado. Este método fornece a funcionalidade oposta dos Marshal.StringToCoTaskMemUni métodos e Marshal.StringToHGlobalUni .

Esta API reflete a definição do Windows de Unicode, que é uma codificação UTF-16 de 2 bytes. Em muitas plataformas não Windows, o tipo de dado wchar_t é de 4 bytes, não de 2 bytes. Consulte o seu compilador para confirmar se wchar_t pode ser usado ou char16_t se deve ser usado em vez disso.

Ver também

Aplica-se a

PtrToStringUni(IntPtr, Int32)

Aloca uma cadeia gerida String e copia para ela um número especificado de caracteres de uma cadeia Unicode não gerida.

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

Parâmetros

ptr
IntPtr

nativeint

O endereço do primeiro carácter da cadeia não gerida.

len
Int32

O número de caracteres Unicode a copiar.

Devoluções

Uma cadeia gerida que contém uma cópia da cadeia não gerida se o valor do ptr parâmetro não nullfor ; caso contrário, este método devolve null.

Atributos

Observações

PtrToStringUni é útil para marshaling personalizado ou ao misturar código gerido e não gerido. Como este método cria uma cópia do conteúdo da cadeia não gerida, deve libertar a cadeia original conforme apropriado. Este método fornece a funcionalidade oposta dos Marshal.StringToCoTaskMemUni métodos e Marshal.StringToHGlobalUni .

Esta API reflete a definição do Windows de Unicode, que é uma codificação UTF-16 de 2 bytes. Em muitas plataformas não Windows, o tipo de dado wchar_t é de 4 bytes, não de 2 bytes. Consulte o seu compilador para confirmar se wchar_t pode ser usado ou char16_t se deve ser usado em vez disso.

Ver também

Aplica-se a