MDA failedQIfailedQI MDA

L'assistente al debug gestito failedQI viene attivato quando il runtime chiama QueryInterface su un puntatore a interfaccia COM per conto di un Runtime Callable Wrapper (RWC) e la chiamata QueryInterface non riesce.The failedQI managed debugging assistant (MDA) is activated when the runtime calls QueryInterface on a COM interface pointer on behalf of a runtime callable wrapper (RCW), and the QueryInterface call fails.

SintomiSymptoms

Mancata riuscita di un cast su un RCW oppure errore imprevisto di una chiamata a COM da parte di un RCW.A cast on an RCW fails, or a call to COM from an RCW fails unexpectedly.

CausaCause

  • La chiamata viene effettuata da un contesto errato.The call is made from the wrong context.

  • Il proxy registrato non riesce a chiamare QueryInterface perché il tentativo di chiamata è stato effettuato nel contesto errato.The registered proxy is failing the QueryInterface call because the call was attempted in the wrong context.

  • Un proxy di proprietà di OLE ha restituito un HRESULT di errore.An OLE-owned proxy returned a failure HRESULT.

RisoluzioneResolution

Vedere la documentazione MSDN relativa alle regole COM.See the MSDN documentation on COM rules.

Effetto sull'ambiente di esecuzioneEffect on the Runtime

Se una chiamata a QueryInterface non riesce, viene cambiato il contesto e viene tentata di nuovo la chiamata a QueryInterface per verificare se l'errore è stato causato da un contesto errato.If a QueryInterface call fails, the context is switched and the QueryInterface call is attempted again to see if an incorrect context was at fault.

OutputOutput

Il nome gestito e il GUID dell'interfaccia e l'oggetto HRESULT dell'errore.The managed name of the interface, the GUID of the interface, and the HRESULT of the failure.

ConfigurazioneConfiguration

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

Vedere ancheSee Also

MarshalAsAttribute
Diagnostica degli errori tramite gli assistenti al debug gestitoDiagnosing Errors with Managed Debugging Assistants
Marshalling di interoperabilitàInterop Marshaling