Assistant Débogage managé invalidVariant
Remarque
Cet article est spécifique au .NET Framework. Elle ne s’applique pas aux implémentations plus récentes de .NET, notamment .NET 6 et versions ultérieures.
L'Assistant Débogage managé (MDA) invalidVariant
est activé quand une structure VARIANT
non valide est rencontrée lors d'un appel du code natif ou non managé au code managé.
Symptômes
Comportement inattendu pendant une transition entre du code natif et managé impliquant le marshaling d’une VARIANT
en objet.
Cause
Le code natif passe une structure VARIANT
incorrecte au code managé. Le runtime tente de marshaler cette VARIANT
en objet et active l'Assistant Débogage managé si la VARIANT
n'est pas valide. Exemples de VARIANT
S non valides comprennent un VARIANT
avec VARTYPE
VT_EMPTY | VT_BYREF pu un VARIANT
avec VARTYPE
VT_VARIANT.
Résolution
Le code natif ou non managé qui passe la structure VARIANT
doit s'assurer que la VARIANT
est correcte et bien initialisée.
Effet sur le runtime
Cet Assistant Débogage managé n'a aucun effet sur le comportement du runtime.
Sortie
Message de l'Assistant Débogage managé indiquant que le runtime a détecté qu'une structure VARIANT
incorrecte a été passée au code managé par un module non managé.
Configuration
<mdaConfig>
<assistants>
<invalidVariant />
</assistants>
</mdaConfig>