Marshal.PtrToStringAuto Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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
- StringToCoTaskMemAuto(String)
- StringToHGlobalAuto(String)
- PtrToStringUni(IntPtr, Int32)
- PtrToStringAnsi(IntPtr)
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
- StringToCoTaskMemAuto(String)
- StringToHGlobalAuto(String)
- PtrToStringUni(IntPtr, Int32)
- PtrToStringAnsi(IntPtr)