Compartilhar via


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.IntPtr

    Para 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

SecurityCriticalAttribute

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