Partager via


Types blittables du .NET Compact Framework

Mise à jour : novembre 2007

Un type est considéré comme blittable s'il a une représentation commune dans la mémoire managée et la mémoire non managée, si bien qu'il ne requiert du marshaler aucun traitement particulier pour le convertir en code non managé ou en code managé.

Types blittables dans le .NET Framework et le .NET Compact Framework

Les types suivants, définis dans l'espace de noms System, sont des types blittables à la fois dans le .NET Framework complet et le .NET Compact Framework :

Les types complexes suivants sont également blittables :

  • Tableaux unidimensionnels de types blittables.

  • Types valeur mis en forme qui ne contiennent que des types blittables. Comme toutes les structures et les classes ont toujours une disposition séquentielle dans le .NET Compact Framework, le type valeur managé a la même disposition en mémoire que la structure non managée.

Types blittables propres au .NET Compact Framework

Le .NET Compact Framework fournit les types blittables suivants du fait de leur implémentation dans le Common Language Runtime :

  • Boolean

    Il s'agit d'une valeur entière codée sur un octet. Dans le .NET Framework complet, le marshaling par défaut pour Boolean correspond à l'attribut MarshalAsAttribute(UnmanagedType.Bool), qui utilise une valeur entière codée sur 4 octets.

  • Char

    Il s'agit toujours d'un caractère Unicode (2 octets), tandis que le .NET Framework complet peut le traiter soit comme caractère Unicode, soit comme caractère ANSI, selon l'attribut MarshalAsAttribute ou le champ DllImportAttribute.CharSet.

  • String

    Ce type est toujours traité comme un tableau Unicode, tandis que le .NET Framework peut le traiter soit comme un tableau Unicode ou ANSI, soit comme un type BSTR, selon l'attribut MarshalAsAttribute ou le champ DllImportAttribute.CharSet.

Voir aussi

Autres ressources

Prise en charge du marshaling dans le .NET Compact Framework