Marshal.StringToCoTaskMemUni(String) Méthode

Définition

Copie le contenu d’un bloc de mémoire géré String alloué à partir de l’allocateur de tâche COM non managé.

public:
 static IntPtr StringToCoTaskMemUni(System::String ^ s);
[System.Security.SecurityCritical]
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

Paramètres

s
String

Chaîne managée à copier.

Retours

IntPtr

nativeint

Entier représentant un pointeur vers le bloc de mémoire alloué pour la chaîne, ou 0 si s est null.

Attributs

Exceptions

Le s paramètre dépasse la longueur maximale autorisée par le système d’exploitation.

La mémoire est insuffisante.

Remarques

StringToCoTaskMemUni est utile pour le marshaling personnalisé ou pour une utilisation lors du mélange de code managé et non managé. Étant donné que cette méthode alloue la mémoire non managée requise pour une chaîne, libérez toujours la mémoire en appelant Marshal.FreeCoTaskMem. Cette méthode fournit les fonctionnalités opposées de Marshal.PtrToStringUni. Les caractères de la chaîne sont copiés en tant que caractères Unicode.

Cette API reflète la définition Windows d’Unicode, qui est un encodage de 2 octets UTF-16. Sur de nombreuses plateformes non Windows, le type de données wchar_t est de 4 octets, et non 2 octets. Consultez votre compilateur pour confirmer s’il wchar_t peut être utilisé ou char16_t doit être utilisé à la place.

S’applique à

Voir aussi