Compartilhar via


Marshal.PtrToStringUni Método

Definição

Aloca um String gerenciado e copia toda ou parte de uma cadeia de caracteres Unicode não gerenciada.

Sobrecargas

PtrToStringUni(IntPtr)

Aloca uma String gerenciada e copia para ela todos os caracteres até o primeiro caractere nulo de uma cadeia de caracteres Unicode não gerenciada.

PtrToStringUni(IntPtr, Int32)

Aloca uma String gerenciada e copia nela um número especificado de caracteres de uma cadeia de caracteres Unicode não gerenciada.

PtrToStringUni(IntPtr)

Origem:
Marshal.cs
Origem:
Marshal.cs
Origem:
Marshal.cs

Aloca uma String gerenciada e copia para ela todos os caracteres até o primeiro caractere nulo de uma cadeia de caracteres Unicode não gerenciada.

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

Parâmetros

ptr
IntPtr

nativeint

O endereço do primeiro caractere da cadeia de caracteres não gerenciada.

Retornos

Uma cadeia de caracteres gerenciada que mantém uma cópia da cadeia de caracteres não gerenciada, se o valor do ptr parâmetro não é null; caso contrário, esse método retornará null.

Atributos

Comentários

PtrToStringUni é útil para marshaling personalizado ou para uso ao misturar código gerenciado e não gerenciado. Como esse método cria uma cópia do conteúdo da cadeia de caracteres não gerenciada, você deve liberar a cadeia de caracteres original conforme apropriado. Esse método fornece a funcionalidade oposta dos Marshal.StringToCoTaskMemUni métodos e Marshal.StringToHGlobalUni .

Essa 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 wchar_t tipo de dados é de 4 bytes, não de 2 bytes. Consulte o compilador para confirmar se wchar_t pode ser usado ou char16_t deve ser usado.

Confira também

Aplica-se a

PtrToStringUni(IntPtr, Int32)

Origem:
Marshal.cs
Origem:
Marshal.cs
Origem:
Marshal.cs

Aloca uma String gerenciada e copia nela um número especificado de caracteres de uma cadeia de caracteres Unicode não gerenciada.

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 caractere da cadeia de caracteres não gerenciada.

len
Int32

O número de caracteres Unicode a ser copiado.

Retornos

Uma cadeia de caracteres gerenciada que mantém uma cópia da cadeia de caracteres não gerenciada, se o valor do ptr parâmetro não é null; caso contrário, esse método retornará null.

Atributos

Comentários

PtrToStringUni é útil para marshaling personalizado ou ao misturar código gerenciado e não gerenciado. Como esse método cria uma cópia do conteúdo da cadeia de caracteres não gerenciada, você deve liberar a cadeia de caracteres original conforme apropriado. Esse método fornece a funcionalidade oposta dos Marshal.StringToCoTaskMemUni métodos e Marshal.StringToHGlobalUni .

Essa 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 wchar_t tipo de dados é de 4 bytes, não de 2 bytes. Consulte o compilador para confirmar se wchar_t pode ser usado ou char16_t deve ser usado.

Confira também

Aplica-se a