Marshal.PtrToStringAuto Método

Definição

Aloca uma cadeia gerida String e copia total ou parcialmente uma cadeia não gerida nela.

Sobrecargas

Name Description
PtrToStringAuto(IntPtr)

Aloca um carácter gerido String e copia todos os caracteres até ao primeiro carácter nulo de uma cadeia armazenada na memória não gerida para ele.

PtrToStringAuto(IntPtr, Int32)

Aloca uma cadeia gerida String e copia para ela o número especificado de caracteres de uma string armazenada na memória não gerida.

PtrToStringAuto(IntPtr)

Aloca um carácter gerido String e copia todos os caracteres até ao primeiro carácter nulo de uma cadeia armazenada na memória não gerida para ele.

public:
 static System::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 carácter Unicode.

-ou-

Para plataformas ANSI, o endereço do primeiro carácter ANSI.

Devoluções

Uma cadeia gerida que contém uma cópia da cadeia não gerida se o valor do ptr parâmetro não nullfor ; caso contrário, este método devolve null.

Atributos

Observações

Se a plataforma atual for Unicode, cada carácter ANSI é alargado para um carácter Unicode e este método chama PtrToStringUni. Caso contrário, este método chama PtrToStringAnsi.

PtrToStringAuto é útil para marshaling personalizado ou ao misturar código gerido e não gerido. Como este método cria uma cópia do conteúdo da cadeia não gerida, deve libertar a cadeia original conforme apropriado. PtrToStringAuto fornece a funcionalidade oposta dos Marshal.StringToCoTaskMemAuto métodos e Marshal.StringToHGlobalAuto .

Ver também

Aplica-se a

PtrToStringAuto(IntPtr, Int32)

Aloca uma cadeia gerida String e copia para ela o número especificado de caracteres de uma string armazenada na memória não gerida.

public:
 static System::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 carácter Unicode.

-ou-

Para plataformas ANSI, o endereço do primeiro carácter ANSI.

len
Int32

O número de caracteres a copiar.

Devoluções

Uma cadeia gerida que contém uma cópia da cadeia nativa se o valor do ptr parâmetro não nullfor ; caso contrário, este método devolve null.

Atributos

Exceções

len é inferior a zero.

Observações

Nas plataformas Unicode, este método chama PtrToStringUni; nas plataformas ANSI, chama PtrToStringAnsi. Não são feitas transformações antes de estes métodos serem chamados.

PtrToStringAuto é útil para marshaling personalizado ou ao misturar código gerido e não gerido. Como este método cria uma cópia do conteúdo da cadeia não gerida, deve libertar a cadeia original conforme apropriado. PtrToStringAuto fornece a funcionalidade oposta de Marshal.StringToCoTaskMemAuto e Marshal.StringToHGlobalAuto.

Ver também

Aplica-se a