Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Mise à jour : novembre 2007
Vous pouvez utiliser l'attribut MarshalAsAttribute pour personnaliser le comportement de marshaling. Par exemple, il est possible de réaliser les tâches suivantes :
Marshaler les tableaux et les chaînes dans une structure.
Fournir la souplesse nécessaire pour prendre en charge des scénarios COM Interop communs.
Fournir une cohérence pour les types de marshaling par le biais de l'appel de plate-forme et du marshaleur vtable, par rapport au marshaleur IDispatch.
Le tableau suivant décrit la prise en charge du marshaling pour les valeurs de l'énumération UnmanagedType.
Type non managé |
Types valides pour |
Pris en charge dans les structures |
|---|---|---|
BStr, TBStr |
||
LPWStr, LPStr, LPTStr |
Oui |
|
IUnknown |
Oui |
|
IDispatch |
Oui |
|
ByValTStr |
String (dans les structures uniquement) |
Oui |
ByValArray |
Tout tableau |
Oui |
SafeArray |
Tout tableau |
Oui |
VBByRefStr |
||
Bool |
Types entiers |
|
I1, I2, I4 |
Types entiers de longueur appropriée |
|
U1, U2, U4 |
Types entiers non signés de longueur appropriée |
|
I8 |
N/A |
|
U8 |
N/A |
|
R4 |
Nombres réels de 4 octets |
|
R8 |
Nombres réels de 8 octets |
|
Struct |
||
Interface |
||
SysInt, SysUInt |
Types entiers de longueur et de signe appropriés |
|
AnsiBStr |
N/A |
|
VariantBool |
||
FunctionPtr |
N/A |
|
AsAny |
N/A |
|
LPArray |
N/A |
|
LPStruct |
N/A |
|
Error |
Entiers de 4 octets |
|
Currency |
Voir aussi
Autres ressources
Prise en charge du marshaling dans le .NET Compact Framework