Condividi tramite


MDA failedQI

Aggiornamento: novembre 2007

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 in questione non riesce.

Sintomi

Mancata riuscita di un cast su un RCW oppure errore imprevisto di una chiamata a COM da parte di un RCW.

Causa

  • La chiamata viene effettuata da un contesto errato.

  • Il proxy registrato non riesce a chiamare QueryInterface perché il tentativo di chiamata è stato effettuato nel contesto errato.

  • Un proxy di proprietà di OLE ha restituito un HRESULT di errore.

Risoluzione

Vedere la documentazione MSDN relativa alle regole COM.

Effetto sul runtime

Se una chiamata a QueryInterface ha esito negativo, viene cambiato il contesto e viene tentata di nuovo la chiamata per verificare se l'errore è stato causato da un contesto errato.

Output

Il nome gestito e il GUID dell'interfaccia e l'oggetto HRESULT dell'errore.

Configurazione

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

Vedere anche

Concetti

Diagnostica degli errori tramite gli assistenti al debug gestito

Cenni preliminari sul marshalling di interoperabilità

Riferimenti

MarshalAsAttribute

Altre risorse

Interoperabilità