Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Hinweis
Dieser Artikel gilt für das .NET Framework. Sie gilt nicht für neuere Implementierungen von .NET, einschließlich .NET 6 und höherer Versionen.
Der Assistent für verwaltetes Debugging (MDA) invalidVariant wird aktiviert, wenn während eines Aufrufs aus systemeigenem oder unverwaltetem Code an verwalteten Code eine ungültige VARIANT-Struktur erkannt wird.
Symptome
Unerwartetes Verhalten während eines Übergangs zwischen nativem und verwaltetem Code, das das Marshalling eines VARIANT an ein Objekt einbezieht.
Ursache
Systemeigener Code übergibt eine fehlerhafte VARIANT-Struktur an verwalteten Code. Zur Laufzeit wird versucht, diesen VARIANT an ein Objekt zu marshallen, und der MDA wird aktiviert, wenn der VARIANT ungültig ist. Beispiele für ungültige VARIANTS enthalten eine VARIANT mit VARTYPE VT_EMPTY | VT_BYREF oder eine VARIANT mit VARTYPE VT_VARIANT.
Lösung
Der systemeigene oder unverwaltete Code, der den VARIANT übergibt, muss sicherstellen, dass der VARIANT korrekt geformt und initialisiert ist.
Auswirkungen auf die Laufzeit
Dieser MDA hat keine Auswirkungen auf die Laufzeit.
Output
Eine MDA-Meldung, die angibt, dass zur Laufzeit ein ungültiger VARIANT erkannt wurde, der von einem unverwalteten Modul an verwalteten Code übergeben wurde.
Konfiguration
<mdaConfig>
<assistants>
<invalidVariant />
</assistants>
</mdaConfig>