Marshal.PtrToStringAuto Método

Definição

Aloca um String gerenciado e copia para ele toda ou parte de uma cadeia de caracteres não gerenciada.Allocates a managed String and copies all or part of an unmanaged string into it.

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.Allocates a managed String and copies all characters up to the first null character from a string stored in unmanaged memory into it.

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.Allocates a managed String and copies the specified number of characters from a string stored in unmanaged memory into it.

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.Allocates a managed String and copies all characters up to the first null character from a string stored in unmanaged memory into it.

public:
 static System::String ^ PtrToStringAuto(IntPtr ptr);
[System.Security.SecurityCritical]
public static string PtrToStringAuto (IntPtr ptr);
static member PtrToStringAuto : nativeint -> string
Public Shared Function PtrToStringAuto (ptr As IntPtr) As String

Parâmetros

ptr
IntPtr

Para plataformas Unicode, o endereço do primeiro caractere Unicode.For Unicode platforms, the address of the first Unicode character.

- ou --or-

Para plataformas ANSI, o endereço do primeiro caractere ANSI.For ANSI platforms, the address of the first ANSI character.

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.A managed string that holds a copy of the unmanaged string if the value of the ptr parameter is not null; otherwise, this method returns 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.If the current platform is Unicode, each ANSI character is widened to a Unicode character and this method calls PtrToStringUni. Caso contrário, esse método chama PtrToStringAnsi.Otherwise, this method calls PtrToStringAnsi.

PtrToStringAuto é útil para marshaling personalizado ou ao misturar código gerenciado e não gerenciado.PtrToStringAuto is useful for custom marshaling or when mixing managed and unmanaged code. 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.Because this method creates a copy of the unmanaged string's contents, you must free the original string as appropriate. PtrToStringAuto fornece a funcionalidade oposta dos métodos Marshal.StringToCoTaskMemAuto e Marshal.StringToHGlobalAuto.PtrToStringAuto provides the opposite functionality of the Marshal.StringToCoTaskMemAuto and Marshal.StringToHGlobalAuto methods.

Segurança

SecurityCriticalAttribute
requer confiança total para o chamador imediato.requires full trust for the immediate caller. Este membro não pode ser usado pelo código transparente ou parcialmente confiável.This member cannot be used by partially trusted or transparent code.

Veja também

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.Allocates a managed String and copies the specified number of characters from a string stored in unmanaged memory into it.

public:
 static System::String ^ PtrToStringAuto(IntPtr ptr, int len);
[System.Security.SecurityCritical]
public static string PtrToStringAuto (IntPtr ptr, int len);
static member PtrToStringAuto : nativeint * int -> string
Public Shared Function PtrToStringAuto (ptr As IntPtr, len As Integer) As String

Parâmetros

ptr
IntPtr

Para plataformas Unicode, o endereço do primeiro caractere Unicode.For Unicode platforms, the address of the first Unicode character.

- ou --or-

Para plataformas ANSI, o endereço do primeiro caractere ANSI.For ANSI platforms, the address of the first ANSI character.

len
Int32

O número de caracteres a serem copiados.The number of characters to copy.

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.A managed string that holds a copy of the native string if the value of the ptr parameter is not null; otherwise, this method returns null.

Atributos

Exceções

len é menor que zero.len is less than zero.

Comentários

Em plataformas Unicode, esse método chama PtrToStringUni; em plataformas ANSI, ele chama PtrToStringAnsi.On Unicode platforms, this method calls PtrToStringUni; on ANSI platforms, it calls PtrToStringAnsi. Nenhuma transformação é feita antes que esses métodos sejam chamados.No transformations are done before these methods are called.

PtrToStringAuto é útil para marshaling personalizado ou ao misturar código gerenciado e não gerenciado.PtrToStringAuto is useful for custom marshaling or when mixing managed and unmanaged code. 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.Because this method creates a copy of the unmanaged string's contents, you must free the original string as appropriate. PtrToStringAuto fornece a funcionalidade oposta de Marshal.StringToCoTaskMemAuto e Marshal.StringToHGlobalAuto.PtrToStringAuto provides the opposite functionality of Marshal.StringToCoTaskMemAuto and Marshal.StringToHGlobalAuto.

Segurança

SecurityCriticalAttribute
requer confiança total para o chamador imediato.requires full trust for the immediate caller. Este membro não pode ser usado pelo código transparente ou parcialmente confiável.This member cannot be used by partially trusted or transparent code.

Veja também

Aplica-se a