Partager via


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 VARIANTS 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>

Voir aussi