failedQI MDA

Note

この記事は .NET Framework に固有のものです。 .NET 6 以降のバージョンを含む、.NET の新しい実装には適用されません。

failedQIマネージド デバッグ アシスタント (MDA) は、ランタイムがランタイム呼び出し可能ラッパー (RCW) に代わって COM インターフェイス ポインターでQueryInterfaceを呼び出し、QueryInterface呼び出しが失敗したときにアクティブ化されます。

Symptoms

RCW でのキャストが失敗するか、RCW からの COM の呼び出しが予期せず失敗します。

原因

  • 呼び出しは間違ったコンテキストから行われます。

  • 登録されたプロキシは、間違ったコンテキストで呼び出しが試行されたため、 QueryInterface 呼び出しに失敗しています。

  • OLE 所有のプロキシがエラー HRESULT を返しました。

Resolution

COM ルールについては、MSDN のドキュメントを参照してください。

ランタイムへの影響

QueryInterface呼び出しが失敗した場合、コンテキストが切り替わると、QueryInterface呼び出しが再度試行され、正しくないコンテキストに障害が発生したかどうかを確認します。

アウトプット

インターフェイスのマネージド名、インターフェイスの GUID、およびエラーの HRESULT。

コンフィギュレーション

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

こちらも参照ください