Comparteix a través de


Marshal.PtrToStringAuto Método

Definición

Asigna un String administrado y copia en él total o parcialmente una cadena no administrada.

Sobrecargas

PtrToStringAuto(IntPtr)

Asigna un String administrado y copia en él todos los caracteres hasta el primer carácter nulo de una cadena almacenada en memoria no administrada.

PtrToStringAuto(IntPtr, Int32)

Asigna un String administrado y copia en él el número de caracteres especificado de una cadena almacenada en memoria no administrada.

PtrToStringAuto(IntPtr)

Source:
Marshal.Unix.cs
Source:
Marshal.Unix.cs
Source:
Marshal.Unix.cs

Asigna un String administrado y copia en él todos los caracteres hasta el primer carácter nulo de una cadena almacenada en memoria no administrada.

public:
 static System::String ^ PtrToStringAuto(IntPtr ptr);
public static 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 las plataformas Unicode, la dirección del primer carácter Unicode.

o bien

En las plataformas ANSI, la dirección del primer carácter ANSI.

Devoluciones

Cadena administrada que contiene una copia de la cadena no administrada si el valor del parámetro ptr no es null; en caso contrario, este método devuelve null.

Atributos

Comentarios

Si la plataforma actual es Unicode, cada carácter ANSI se amplía a un carácter Unicode y este método llama a PtrToStringUni. De lo contrario, este método llama a PtrToStringAnsi.

PtrToStringAuto es útil para la serialización personalizada o al mezclar código administrado y no administrado. Dado que este método crea una copia del contenido de la cadena no administrada, debe liberar la cadena original según corresponda. PtrToStringAuto proporciona la funcionalidad opuesta de los Marshal.StringToCoTaskMemAuto métodos y Marshal.StringToHGlobalAuto .

Consulte también

Se aplica a

PtrToStringAuto(IntPtr, Int32)

Source:
Marshal.Unix.cs
Source:
Marshal.Unix.cs
Source:
Marshal.Unix.cs

Asigna un String administrado y copia en él el número de caracteres especificado de una cadena almacenada en memoria no administrada.

public:
 static System::String ^ PtrToStringAuto(IntPtr ptr, int len);
public static 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 las plataformas Unicode, la dirección del primer carácter Unicode.

o bien

En las plataformas ANSI, la dirección del primer carácter ANSI.

len
Int32

Número de caracteres que se van a copiar.

Devoluciones

Una cadena administrada que contiene una copia de la cadena nativa si el valor del parámetro ptr no es null; en caso contrario, este método devuelve null.

Atributos

Excepciones

len es menor que cero.

Comentarios

En las plataformas Unicode, este método llama a PtrToStringUni; en plataformas ANSI, llama a PtrToStringAnsi. No se realizan transformaciones antes de llamar a estos métodos.

PtrToStringAuto es útil para la serialización personalizada o al mezclar código administrado y no administrado. Dado que este método crea una copia del contenido de la cadena no administrada, debe liberar la cadena original según corresponda. PtrToStringAuto proporciona la funcionalidad opuesta de Marshal.StringToCoTaskMemAuto y Marshal.StringToHGlobalAuto.

Consulte también

Se aplica a