Share via


Marshaling de chaînes

L'appel de plateforme copie des paramètres de chaînes, en les convertissant du format .NET Framework (Unicode) au format non managé (ANSI), si nécessaire. Comme les chaînes managées sont immuables, l'appel de plateforme ne les recopie pas à partir de la mémoire non managée vers la mémoire managée au retour de fonction.

Le tableau suivant répertorie les options de marshaling pour les chaînes, décrit leur usage et fournit un lien vers l'exemple correspondant du .NET Framework.

Chaîne Description Exemple

Par valeur

Passe des chaînes en tant que paramètres en entrée.

MsgBox

Comme résultat.

Retourne des chaînes à partir du code non managé.

Chaînes

Par référence.

Passe des chaînes en tant que paramètres en entrée/sortie à l'aide de StringBuilder.

Buffers

Dans une structure par valeur.

Passe des chaînes dans une structure qui est un paramètre en entrée.

Structures

Dans une structure par référence (char*).

Passe des chaînes dans une structure qui est un paramètre en entrée/sortie. La fonction non managée nécessite un pointeur vers une mémoire tampon de caractères et la taille de la mémoire tampon fait partie de la structure.

Chaînes

Dans une structure par référence (char[]).

Passe des chaînes dans une structure qui est un paramètre en entrée/sortie. La fonction non managée nécessite une mémoire tampon de caractères incorporée.

OSInfo

Dans une classe par valeur (char*).

Passe des chaînes dans une classe (une classe est un paramètre en entrée/sortie). La fonction non managée nécessite un pointeur vers une mémoire tampon de caractères.

OpenFileDlg

Dans une classe par valeur (char[]).

Passe des chaînes dans une classe (une classe est un paramètre en entrée/sortie). La fonction non managée nécessite une mémoire tampon de caractères incorporée.

OSInfo

Comme tableau de chaînes par valeur.

Crée un tableau de chaînes passé par valeur.

Tableaux

Comme tableau de structures qui contient des chaînes par valeur.

Crée un tableau de structures qui contient des chaînes. Le tableau est passé par valeur.

Tableaux

Voir aussi

Concepts

Types de données d'appel de plate-forme
Marshaling de classes, de structures, et d'unions
Marshaling des tableaux de types
Exemples divers de marshaling

Autres ressources

Marshaling de données à l'aide de l'appel de plate-forme