共用方式為


failedQI MDA

當執行階段代表執行階段可呼叫包裝函式 (RCW),呼叫 COM 介面指標上的 QueryInterface,但 QueryInterface 呼叫失敗時,failedQI Managed 偵錯助理 (MDA) 就會啟動。

症狀

RCW 上的轉型 (Cast) 失敗,或是從 RCW 到 COM 的呼叫未預期地失敗。

原因

  • 從錯誤的內容發出呼叫。

  • 由於在錯誤的內容中嘗試呼叫,註冊的 Proxy 就會使 QueryInterface 呼叫失敗。

  • OLE 擁有的 Proxy 已傳回失敗 HRESULT。

解決方式

請參閱有關 COM 規則的 MSDN 文件。

對執行階段的影響

如果 QueryInterface 呼叫失敗,就會切換內容,並且會再次嘗試 QueryInterface 呼叫,以查看不正確的內容是否造成錯誤。

Output

介面的 Managed 名稱、介面的 GUID,以及失敗的 HRESULT。

組態

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

請參閱

參考

MarshalAsAttribute

概念

診斷 Managed 偵錯助理的錯誤

Interop 封送處理

其他資源

互通性