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 :
-
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.
-
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.
-
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