次の方法で共有


failedQI MDA

Note

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

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>

関連項目