failedQI MDA
注意
本文特定于 .NET Framework。 它不适用于 .NET 的较新版本实现,包括 .NET 6 及更高版本。
当运行时代表运行时可调用包装器 (RCW) 在 COM 接口指针上调用 QueryInterface
且 QueryInterface
调用失败时,将激活 failedQI
托管调试助手 (MDA)。
症状
对 RCW 的强制转换失败,或从 RCW 调用 COM 意外失败。
原因
从错误的上下文进行调用。
注册的代理将无法进行
QueryInterface
调用,因为尝试在错误的上下文中进行调用。OLE 拥有的代理返回失败 HRESULT。
解决方法
请参阅 MSDN 文档的 COM 规则部分。
对运行时的影响
如果 QueryInterface
调用失败,将切换上下文并再次尝试调用QueryInterface
,以确定是否因上下文错误而引起。
输出
接口的托管名称、接口的 GUID 和失败的 HRESULT。
Configuration
<mdaConfig>
<assistants>
<failedQI/>
</assistants>
</mdaConfig>