Marshal.PtrToStringUni Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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.