Marshal.PtrToStringUni Metodo

Definizione

Alloca una stringa Unicode gestita String e copia tutto o parte di una stringa Unicode non gestita.

Overload

Nome Descrizione
PtrToStringUni(IntPtr)

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

PtrToStringUni(IntPtr, Int32)

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

PtrToStringUni(IntPtr)

Alloca un oggetto gestito String e 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);
[<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

Indirizzo del primo carattere della stringa non gestita.

Valori restituiti

Stringa gestita che contiene una copia della stringa non gestita se il valore del ptr parametro 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 Windows di Unicode, ovvero una codifica UTF-16 a 2 byte. In molte piattaforme non Windows, il tipo di dati wchar_t è di 4 byte e non di 2 byte. Consultare il compilatore per verificare se wchar_t è possibile usare o char16_t usare invece .

Vedi anche

Si applica a

PtrToStringUni(IntPtr, Int32)

Alloca un oggetto gestito String e copia un numero specificato di caratteri 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

Indirizzo del primo carattere della stringa non gestita.

len
Int32

Numero di caratteri Unicode da copiare.

Valori restituiti

Stringa gestita che contiene una copia della stringa non gestita se il valore del ptr parametro 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 Windows di Unicode, ovvero una codifica UTF-16 a 2 byte. In molte piattaforme non Windows, il tipo di dati wchar_t è di 4 byte e non di 2 byte. Consultare il compilatore per verificare se wchar_t è possibile usare o char16_t usare invece .

Vedi anche

Si applica a