failedQI MDA

更新 : 2007 年 11 月

failedQI マネージ デバッグ アシスタント (MDA: Managed Debugging Asssitant) は、ランタイムがランタイム呼び出し可能ラッパー (RCW: Runtime Callable Wrapper) の代わりに COM インターフェイス ポインタ上の QueryInterface を呼び出し、その QueryInterface 呼び出しに失敗するとアクティブ化されます。

症状

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

原因

  • 呼び出しが正しくないコンテキストから行われました。

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

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

解決策

COM 規則についての MSDN ドキュメントを参照してください。

ランタイムへの影響

QueryInterface 呼び出しに失敗すると、コンテキストが切り替えられ、エラー時に正しくないコンテキストであったことを確認するために、QueryInterface 呼び出しが再試行されます。

出力

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

構成

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

参照

概念

マネージ デバッグ アシスタントによるエラーの診断

相互運用マーシャリングの概要

参照

MarshalAsAttribute

その他の技術情報

相互運用性