Partager via


Marshal.StringToCoTaskMemUTF8(String) Méthode

Définition

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

public:
 static IntPtr StringToCoTaskMemUTF8(System::String ^ s);
public static IntPtr StringToCoTaskMemUTF8 (string? s);
[System.Security.SecurityCritical]
public static IntPtr StringToCoTaskMemUTF8 (string s);
public static IntPtr StringToCoTaskMemUTF8 (string s);
static member StringToCoTaskMemUTF8 : string -> nativeint
[<System.Security.SecurityCritical>]
static member StringToCoTaskMemUTF8 : string -> nativeint
Public Shared Function StringToCoTaskMemUTF8 (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 paramètre s dépasse la longueur maximale autorisée par le système d'exploitation.

Il n’y a pas suffisamment de mémoire disponible.

Remarques

StringToCoTaskMemUTF8 est utile pour le marshaling personnalisé ou pour une utilisation lors de la combinaison de code managé et non managé. Étant donné que cette méthode alloue la mémoire non managée requise pour une chaîne incluant un terminateur Null, libérez toujours la mémoire en appelant Marshal.FreeCoTaskMem. Cette méthode fournit les fonctionnalités opposées de Marshal.PtrToStringUTF8. Les caractères de la chaîne sont copiés en tant que caractères UTF-8.

S’applique à

Voir aussi