Marshal.PtrToStringAuto 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 para ele toda ou parte de uma cadeia de caracteres não gerenciada.
Sobrecargas
PtrToStringAuto(IntPtr) |
Aloca um String gerenciado e copia todos os caracteres até o primeiro caractere nulo de uma cadeia de caracteres armazenada na memória não gerenciada para ele. |
PtrToStringAuto(IntPtr, Int32) |
Aloca um String gerenciado e copia para ele o número especificado de caracteres de uma cadeia de caracteres armazenada na memória não gerenciada. |
PtrToStringAuto(IntPtr)
- Origem:
- Marshal.Unix.cs
- Origem:
- Marshal.Unix.cs
- Origem:
- Marshal.Unix.cs
Aloca um String gerenciado e copia todos os caracteres até o primeiro caractere nulo de uma cadeia de caracteres armazenada na memória não gerenciada para ele.
public:
static System::String ^ PtrToStringAuto(IntPtr ptr);
public static string? PtrToStringAuto (IntPtr ptr);
public static string PtrToStringAuto (IntPtr ptr);
[System.Security.SecurityCritical]
public static string PtrToStringAuto (IntPtr ptr);
static member PtrToStringAuto : nativeint -> string
[<System.Security.SecurityCritical>]
static member PtrToStringAuto : nativeint -> string
Public Shared Function PtrToStringAuto (ptr As IntPtr) As String
Parâmetros
- ptr
-
IntPtr
nativeint
Para plataformas Unicode, o endereço do primeiro caractere Unicode.
- ou -
Para plataformas ANSI, o endereço do primeiro caractere ANSI.
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
Se a plataforma atual for Unicode, cada caractere ANSI será ampliado para um caractere Unicode e esse método chamará PtrToStringUni. Caso contrário, esse método chamará PtrToStringAnsi.
PtrToStringAuto é ú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. PtrToStringAuto fornece a funcionalidade oposta dos Marshal.StringToCoTaskMemAuto métodos e Marshal.StringToHGlobalAuto .
Confira também
- StringToCoTaskMemAuto(String)
- StringToHGlobalAuto(String)
- PtrToStringUni(IntPtr, Int32)
- PtrToStringAnsi(IntPtr)
Aplica-se a
PtrToStringAuto(IntPtr, Int32)
- Origem:
- Marshal.Unix.cs
- Origem:
- Marshal.Unix.cs
- Origem:
- Marshal.Unix.cs
Aloca um String gerenciado e copia para ele o número especificado de caracteres de uma cadeia de caracteres armazenada na memória não gerenciada.
public:
static System::String ^ PtrToStringAuto(IntPtr ptr, int len);
public static string? PtrToStringAuto (IntPtr ptr, int len);
public static string PtrToStringAuto (IntPtr ptr, int len);
[System.Security.SecurityCritical]
public static string PtrToStringAuto (IntPtr ptr, int len);
static member PtrToStringAuto : nativeint * int -> string
[<System.Security.SecurityCritical>]
static member PtrToStringAuto : nativeint * int -> string
Public Shared Function PtrToStringAuto (ptr As IntPtr, len As Integer) As String
Parâmetros
- ptr
-
IntPtr
nativeint
Para plataformas Unicode, o endereço do primeiro caractere Unicode.
- ou -
Para plataformas ANSI, o endereço do primeiro caractere ANSI.
- len
- Int32
O número de caracteres a serem copiados.
Retornos
Uma cadeia de caracteres gerenciada que mantém uma cópia da cadeia de caracteres nativa se o valor do parâmetro ptr
não for null
; caso contrário, esse método retornará null
.
- Atributos
Exceções
len
é menor que zero.
Comentários
Em plataformas Unicode, esse método chama PtrToStringUni; em plataformas ANSI, ele chama PtrToStringAnsi. Nenhuma transformação é feita antes que esses métodos sejam chamados.
PtrToStringAuto é ú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. PtrToStringAuto fornece a funcionalidade oposta de Marshal.StringToCoTaskMemAuto e Marshal.StringToHGlobalAuto.
Confira também
- StringToCoTaskMemAuto(String)
- StringToHGlobalAuto(String)
- PtrToStringUni(IntPtr, Int32)
- PtrToStringAnsi(IntPtr)