Marshal.PtrToStringAuto Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Alloca un oggetto String gestito e vi copia tutta o parte di una stringa non gestita.
Overload
PtrToStringAuto(IntPtr) |
Alloca un oggetto String gestito e vi copia tutti i caratteri fino al primo carattere null da una stringa archiviata nella memoria non gestita. |
PtrToStringAuto(IntPtr, Int32) |
Alloca un oggetto String gestito e vi copia il numero di caratteri specificato da una stringa archiviata nella memoria non gestita. |
PtrToStringAuto(IntPtr)
- Origine:
- Marshal.Unix.cs
- Origine:
- Marshal.Unix.cs
- Origine:
- Marshal.Unix.cs
Alloca un oggetto String gestito e vi copia tutti i caratteri fino al primo carattere null da una stringa archiviata nella memoria non gestita.
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
Parametri
- ptr
-
IntPtr
nativeint
Per le piattaforme Unicode, l'indirizzo del primo carattere Unicode.
-oppure-
Per le piattaforme ANSI, l'indirizzo del primo carattere ANSI.
Restituisce
Stringa gestita che contiene una copia della stringa non gestita se il valore del parametro ptr
non è null
; in caso contrario, questo metodo restituisce null
.
- Attributi
Commenti
Se la piattaforma corrente è Unicode, ogni carattere ANSI viene esteso a un carattere Unicode e questo metodo chiama PtrToStringUni. In caso contrario, questo metodo chiama PtrToStringAnsi.
PtrToStringAuto è utile per il marshalling personalizzato o quando si combina codice gestito e non gestito. Poiché questo metodo crea una copia del contenuto della stringa non gestita, è necessario liberare la stringa originale in base alle esigenze. PtrToStringAuto fornisce la funzionalità opposta dei Marshal.StringToCoTaskMemAuto metodi e Marshal.StringToHGlobalAuto .
Vedi anche
- StringToCoTaskMemAuto(String)
- StringToHGlobalAuto(String)
- PtrToStringUni(IntPtr, Int32)
- PtrToStringAnsi(IntPtr)
Si applica a
PtrToStringAuto(IntPtr, Int32)
- Origine:
- Marshal.Unix.cs
- Origine:
- Marshal.Unix.cs
- Origine:
- Marshal.Unix.cs
Alloca un oggetto String gestito e vi copia il numero di caratteri specificato da una stringa archiviata nella memoria non gestita.
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
Parametri
- ptr
-
IntPtr
nativeint
Per le piattaforme Unicode, l'indirizzo del primo carattere Unicode.
-oppure-
Per le piattaforme ANSI, l'indirizzo del primo carattere ANSI.
- len
- Int32
Numero di caratteri da copiare.
Restituisce
Stringa gestita che contiene una copia della stringa nativa se il valore del parametro ptr
non è null
; in caso contrario, questo metodo restituisce null
.
- Attributi
Eccezioni
len
è minore di zero.
Commenti
Nelle piattaforme Unicode, questo metodo chiama PtrToStringUni; nelle piattaforme ANSI chiama PtrToStringAnsi. Non vengono eseguite trasformazioni prima che questi metodi vengano chiamati.
PtrToStringAuto è utile per il marshalling personalizzato o quando si combina codice gestito e non gestito. Poiché questo metodo crea una copia del contenuto della stringa non gestita, è necessario liberare la stringa originale in base alle esigenze. PtrToStringAuto fornisce la funzionalità opposta di Marshal.StringToCoTaskMemAuto e Marshal.StringToHGlobalAuto.
Vedi anche
- StringToCoTaskMemAuto(String)
- StringToHGlobalAuto(String)
- PtrToStringUni(IntPtr, Int32)
- PtrToStringAnsi(IntPtr)