Marshal.StringToHGlobalUni(String) Metodo

Definizione

Copia il contenuto di un oggetto String gestito nella memoria non gestita.

[System.Security.SecurityCritical]
public static IntPtr StringToHGlobalUni (string s);
public static IntPtr StringToHGlobalUni (string? s);
public static IntPtr StringToHGlobalUni (string s);

Parametri

s
String

Stringa gestita da copiare.

Restituisce

IntPtr

Indirizzo, nella memoria non gestita, in cui è stato copiato s, oppure 0 se s è null.

Attributi

Eccezioni

Il metodo non è riuscito ad allocare memoria dell'heap nativo sufficiente.

Il parametro s supera la lunghezza massima consentita dal sistema operativo.

Commenti

StringToHGlobalUni è utile per il marshalling personalizzato o per l'uso durante la combinazione di codice gestito e non gestito. Poiché questo metodo alloca la memoria non gestita necessaria per una stringa, libera sempre la memoria chiamando FreeHGlobal. Questo metodo fornisce la funzionalità opposta di Marshal.PtrToStringUni.

Questo metodo copia i caratteri Null incorporati e include un carattere Null terminante.

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.

Si applica a

Prodotto Versioni
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

Vedi anche