Marshal.StringToHGlobalUni(String) 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.
Copia il contenuto di un oggetto gestito String in memoria non gestita.
public:
static IntPtr StringToHGlobalUni(System::String ^ s);
[System.Security.SecurityCritical]
public static IntPtr StringToHGlobalUni(string s);
public static IntPtr StringToHGlobalUni(string? s);
public static IntPtr StringToHGlobalUni(string s);
[<System.Security.SecurityCritical>]
static member StringToHGlobalUni : string -> nativeint
static member StringToHGlobalUni : string -> nativeint
Public Shared Function StringToHGlobalUni (s As String) As IntPtr
Parametri
- s
- String
Stringa gestita da copiare.
Valori restituiti
nativeint
Indirizzo, in memoria non gestita, in cui s è stato copiato o 0 se s è null.
- Attributi
Eccezioni
Il metodo non è riuscito ad allocare memoria heap nativa sufficiente.
Il s parametro 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 di terminazione.
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 .