Marshal.StringToCoTaskMemUni(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 in un blocco di memoria allocato dall'allocatore di memoria delle attività COM non gestite.
public:
static IntPtr StringToCoTaskMemUni(System::String ^ s);
[System.Security.SecurityCritical]
public static IntPtr StringToCoTaskMemUni (string s);
public static IntPtr StringToCoTaskMemUni (string? s);
public static IntPtr StringToCoTaskMemUni (string s);
[<System.Security.SecurityCritical>]
static member StringToCoTaskMemUni : string -> nativeint
static member StringToCoTaskMemUni : string -> nativeint
Public Shared Function StringToCoTaskMemUni (s As String) As IntPtr
Parametri
- s
- String
Stringa gestita da copiare.
Restituisce
nativeint
Intero che rappresenta un puntatore al blocco di memoria allocato per la stringa oppure 0 se s è null
.
- Attributi
Eccezioni
Il parametro s
supera la lunghezza massima consentita dal sistema operativo.
La memoria disponibile è insufficiente.
Commenti
StringToCoTaskMemUni è 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 Marshal.FreeCoTaskMem. Questo metodo fornisce la funzionalità opposta di Marshal.PtrToStringUni. I caratteri della stringa vengono copiati come caratteri Unicode.
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.