Compartilhar via


MDA failedQI

Observação

Este artigo é específico para aplicativos .NET Framework. Ele não se aplica a implementações mais recentes do .NET, incluindo o .NET 6 e versões posteriores.

O MDA (assistente para depuração gerenciada) failedQI é ativado quando o tempo de execução chama QueryInterface em um ponteiro de interface COM em nome de um RCW (Runtime Callable Wrapper) e a chamada QueryInterface falha.

Sintomas

Uma conversão em um RCW falha ou uma chamada ao COM em um RCW falha inesperadamente.

Causa

  • A chamada é feita do contexto incorreto.

  • O proxy registrado está falhando a chamada QueryInterface porque houve uma tentativa de realizar a chamada no contexto incorreto.

  • Um proxy de propriedade do OLE retornou uma falha HRESULT.

Resolução

Consulte a documentação do MSDN sobre as regras do COM.

Efeito sobre o runtime

Se uma chamada QueryInterface falhar, o contexto será alternado e haverá uma tentativa de realizar a chamada QueryInterface novamente para ver se um contexto incorreto estava com uma falha.

Saída

O nome gerenciado da interface, o GUID da interface e o HRESULT da falha.

Configuração

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

Confira também