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 String gestito nella 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.
Restituisce
nativeint
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.