Método Marshal.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.
Namespace: System.Runtime.InteropServices
Assembly: mscorlib (em mscorlib.dll)
Sintaxe
[SecurityCriticalAttribute]
public static string PtrToStringAuto(
IntPtr ptr
)
public:
[SecurityCriticalAttribute]
static String^ PtrToStringAuto(
IntPtr ptr
)
[<SecurityCriticalAttribute>]
static member PtrToStringAuto :
ptr:nativeint -> string
<SecurityCriticalAttribute>
Public Shared Function PtrToStringAuto (
ptr As IntPtr
) As String
Parâmetros
ptr
Type: System.IntPtrPara plataformas Unicode, o endereço do primeiro caractere Unicode.
-ou-
Para plataformas Unicode, o endereço do primeiro caractere ANSI.
Valor Retornado
Type: System.String
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.
Comentários
If the current platform is Unicode, each ANSI character is widened to a Unicode character and this method calls M:System.Runtime.InteropServices.Marshal.PtrToStringUni(System.IntPtr,System.Int32). Otherwise, this method calls M:System.Runtime.InteropServices.Marshal.PtrToStringAnsi(System.IntPtr).
PtrToStringAuto is useful for custom marshaling or when mixing managed and unmanaged code. Because this method creates a copy of the unmanaged string's contents, you must free the original string as appropriate. PtrToStringAuto provides the opposite functionality of the Marshal.StringToCoTaskMemAuto and Marshal.StringToHGlobalAuto methods.
Segurança
requires full trust for the immediate caller. This member cannot be used by partially trusted or transparent code.
Informações de Versão
.NET Framework
Disponível desde 1.1
Confira Também
StringToCoTaskMemAuto
StringToHGlobalAuto
PtrToStringUni
PtrToStringAnsi
PtrToStringAuto Sobrecarga
Classe Marshal
Namespace System.Runtime.InteropServices
Retornar ao início