Что означает код HRESULT 0x800401E7 (MK_E_INTERMEDIATEINTERFACENOTSUPPORTED)?

 
Предыдущий Следующий
MK_E_INVALIDEXTENSION MK_E_NOTBINDABLE

MK_E_INTERMEDIATEINTERFACENOTSUPPORTED

Что означает MK_E_INTERMEDIATEINTERFACENOTSUPPORTED

MK_E_INTERMEDIATEINTERFACENOTSUPPORTED (0x800401E7) — Промежуточная операция завершилась ошибкой.

Код 0x800401E7 относится не ко всему компоненту «COM/WinRT», а к операции в области «контракт вызываемого interface, аргументы и state объекта». Сообщение «промежуточная операция завершилась ошибкой» позволяет начать с темы «mk, intermediateinterfacenotsupported».

Что проверить и как подтвердить исправление

Сначала сверьте запрос с возможностями фактически установленной версии компонента. Для 0x800401E7 в условии «промежуточная операция завершилась ошибкой» проверьте возможности фактически установленной версии и свойства, реально предоставленные объектом; неизменённый запрос к неподдерживаемой функции повторять бессмысленно.

Для воспроизведения 0x800401E7 сохраните IID и method, thread/apartment, argument values, object state и исходный HRESULT; отдельно запишите HRESULT, IMoniker, IBindCtx, IErrorInfo, IID. По теме «mk, intermediateinterfacenotsupported» для 0x800401E7 сравните эти данные с исправным запуском до очистки журналов или пересоздания объекта.

После локализации 0x800401E7 действуйте по контракту подсистемы: исправьте параметры и жизненный цикл объекта в соответствии с контрактом первого неуспешного метода. Для 0x800401E7 и условия «промежуточная операция завершилась ошибкой» неизменённый повтор без нового состояния не считается исправлением.

Повторите операцию в том же окружении и сравните первый отличающийся вызов; для результата 0x800401E7 это надёжнее единичного успеха на других данных.

Документация для результата 0x800401E7: generic COM error codes · HRESULT values · IMoniker.


Нужно найти другой код? Найти другой код состояния или ошибки.