Marshal.PtrToStringUni Metodo

Definizione

Alloca un oggetto String gestito e vi copia tutta o parte di una stringa Unicode non gestita.

Overload

PtrToStringUni(IntPtr)

Alloca un oggetto String gestito e vi copia tutti i caratteri fino al primo carattere Null da una stringa Unicode non gestita.

PtrToStringUni(IntPtr, Int32)

Alloca un oggetto String gestito e vi copia un numero di caratteri specificato da una stringa Unicode non gestita.

PtrToStringUni(IntPtr)

Alloca un oggetto String gestito e vi copia tutti i caratteri fino al primo carattere Null da una stringa Unicode non gestita.

public:
 static System::String ^ PtrToStringUni(IntPtr ptr);
[System.Security.SecurityCritical]
public static string PtrToStringUni (IntPtr ptr);
public static string? PtrToStringUni (IntPtr ptr);
public static string PtrToStringUni (IntPtr ptr);
[<System.Security.SecurityCritical>]
static member PtrToStringUni : nativeint -> string
static member PtrToStringUni : nativeint -> string
Public Shared Function PtrToStringUni (ptr As IntPtr) As String

Parametri

ptr
IntPtr

nativeint

L'indirizzo del primo carattere della stringa non gestita.

Restituisce

String

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

PtrToStringUni è utile per il marshalling personalizzato o per l'uso durante la combinazione di 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. Questo metodo fornisce la funzionalità opposta dei Marshal.StringToCoTaskMemUni metodi e Marshal.StringToHGlobalUni .

Questa API riflette la definizione di Windows di Unicode, ovvero una codifica UTF-16 a 2 byte. In molte piattaforme non Windows, il wchar_t tipo di dati è di 4 byte, non 2 byte. Consultare il compilatore per confermare se wchar_t può essere usato o char16_t deve essere usato.

Vedi anche

Si applica a

PtrToStringUni(IntPtr, Int32)

Alloca un oggetto String gestito e vi copia un numero di caratteri specificato da una stringa Unicode non gestita.

public:
 static System::String ^ PtrToStringUni(IntPtr ptr, int len);
[System.Security.SecurityCritical]
public static string PtrToStringUni (IntPtr ptr, int len);
public static string PtrToStringUni (IntPtr ptr, int len);
[<System.Security.SecurityCritical>]
static member PtrToStringUni : nativeint * int -> string
static member PtrToStringUni : nativeint * int -> string
Public Shared Function PtrToStringUni (ptr As IntPtr, len As Integer) As String

Parametri

ptr
IntPtr

nativeint

L'indirizzo del primo carattere della stringa non gestita.

len
Int32

Numero di caratteri Unicode da copiare.

Restituisce

String

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

PtrToStringUni è 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. Questo metodo fornisce la funzionalità opposta dei Marshal.StringToCoTaskMemUni metodi e Marshal.StringToHGlobalUni .

Questa API riflette la definizione di Windows di Unicode, ovvero una codifica UTF-16 a 2 byte. In molte piattaforme non Windows, il wchar_t tipo di dati è di 4 byte, non 2 byte. Consultare il compilatore per confermare se wchar_t può essere usato o char16_t deve essere usato.

Vedi anche

Si applica a