Поделиться через


Помощник по отладке управляемого кода failedQI

Примечание.

Эта статья относится к .NET Framework. Он не применяется к более новым реализациям .NET, включая .NET 6 и более поздние версии.

Помощник по отладке управляемого кода (MDA) failedQI активируется, когда среда выполнения вызывает QueryInterfaceв указателе интерфейса СОМ от имени вызываемой оболочки времени выполнения (RCW), и вызов QueryInterface завершается с ошибкой.

Симптомы

Произошел сбой приведения в RCW, или вызов COM из RCW неожиданно завершается ошибкой.

Причина

  • Вызов выполняется из неправильного контекста.

  • Зарегистрированному прокси-серверу не удается выполнить вызов QueryInterface, поскольку вызов выполнялся из неправильного контекста.

  • Прокси-сервер, принадлежащий OLE, возвратил значение HRESULT, указывающее на сбой.

Разрешение

Правила COM см. в документации MSDN.

Влияние на среду выполнения

Если вызов QueryInterface завершается с ошибкой, контекст переключается и предпринимается попытка повторно выполнить вызов QueryInterface, чтобы увидеть, не использовался ли при сбое неправильный контекст.

Выходные данные

Управляемое имя интерфейса, идентификатор GUID интерфейса и значение HRESULT ошибки.

Настройка

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

См. также