Assistant Débogage managé invalidVariant
Mise à jour : novembre 2007
L'Assistant Débogage managé (MDA, Managed Debugging Assistant) invalidVariant est activé lorsqu'une structure VARIANT non valide est rencontrée lors d'un appel du code natif ou non managé au code managé.
Symptômes
Comportement imprévisible lors d'une transition entre du code natif et managé impliquant le marshaling d'un VARIANT en objet.
Cause
Le code natif passe une structure VARIANT incorrecte au code managé. Le runtime tente de marshaler ce VARIANT en objet et active le MDA si le VARIANT n'est pas valide. Les VARIANTS non valides incluent, par exemple, un VARIANT avec VARTYPE VT_EMPTY | VT_BYREF ou un VARIANT avec VARTYPE VT_VARIANT.
Résolution
Le code natif ou non managé qui passe le VARIANT doit s'assurer que le VARIANT est correct et bien initialisé.
Effet sur le runtime
Le MDA n'a aucun effet sur le comportement du runtime.
Sortie
Un message du MDA indiquant que le runtime a détecté un VARIANT non valide passé au code managé par un module non managé.
Configuration
<mdaConfig>
<assistants>
<invalidVariant />
</assistants>
</mdaConfig>
Voir aussi
Concepts
Diagnostic d'erreurs avec les Assistants de débogage managés
Vue d'ensemble du marshaling d'interopérabilité