Partager via


Marshaling de chaînes

L’appel de plateforme copie les paramètres de chaîne, en les convertissant du format .NET Framework (Unicode) au format non managé (ANSI), si nécessaire. Étant donné que les chaînes managées sont immuables, l’appel de plateforme ne les copie pas de la mémoire non managée vers la mémoire managée lorsque la fonction retourne.

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

Chaîne Descriptif Échantillon
Par valeur. Passe des chaînes en tant que paramètres d'entrée. MsgBox
Comme résultat. Retourne les chaînes à partir du code non managé. Chaînes
Par référence. Transmet des chaînes en tant que paramètres In/Out à l’aide de StringBuilder. tampons
Dans une structure par valeur. Passe des chaînes dans une structure qui est un paramètre entrant. Structures
Dans une structure par référence (char*). Transmet des chaînes dans une structure qui est un paramètre In/Out. La fonction non managée attend un pointeur vers une mémoire tampon de caractères et la taille de la mémoire tampon est membre de la structure. Chaînes
Dans une structure par référence (char[]). Transmet des chaînes dans une structure qui est un paramètre In/Out. La fonction non managée attend une mémoire tampon de caractères incorporée. OSInfo
Dans une classe par valeur (char*). Transmet des chaînes dans une classe (une classe est un paramètre In/Out). La fonction non managée attend un pointeur vers une mémoire tampon de caractères. OpenFileDlg
Dans une classe par valeur (char[]). Transmet des chaînes dans une classe (une classe est un paramètre In/Out). La fonction non managée attend une mémoire tampon de caractères incorporée. OSInfo
Comme tableau de chaînes par valeur. Crée un tableau de chaînes qui est passé par valeur. Tableaux
Comme un tableau de structures qui contiennent des chaînes par valeur. Crée un tableau de structures contenant des chaînes, et ce tableau est transmis par valeur. Tableaux

Voir aussi