failedQI-MDA

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 failedQI-MDA (Managed Debugging Assistant, Assistent für verwaltetes Debuggen) wird aktiviert, wenn die CLR stellvertretend für einen RCW (Runtime Callable Wrapper) QueryInterface für einen COM-Schnittstellenzeiger aufruft und der Aufruf von QueryInterface fehlschlägt.

Symptome

Eine Umwandlung für einen RCW schlägt fehl, oder ein Aufruf von COM von einem RCW aus schlägt unerwartet fehl.

Ursache

  • Der Aufruf erfolgt im falschen Kontext.

  • Der registrierte Proxy kann den Aufruf von QueryInterface nicht ausführen, weil der Aufruf im falschen Kontext erfolgte.

  • Ein OLE zugehöriger Proxy hat einen falschen Wert für HRESULT zurückgegeben.

Lösung

Informationen hierzu finden Sie in der MSDN-Dokumentation zu COM-Regeln.

Auswirkungen auf die Laufzeit

Wenn ein Aufruf von QueryInterface fehlschlägt, erfolgt ein Kontextwechsel, und der Aufruf von QueryInterface wird erneut ausgeführt, um zu ermitteln, ob ein falscher Kontext für das Fehlschlagen verantwortlich war.

Ausgabe

Der verwaltete Name der Schnittstelle, die GUID der Schnittstelle und das HRESULT des Fehlers.

Konfiguration

<mdaConfig>
  <assistants>
    <failedQI/>
  </assistants>
</mdaConfig>

Siehe auch