Что означает код HRESULT 0x8000000E (E_ILLEGAL_METHOD_CALL)?

 
Также может означать:
КонстантаТипОС
STATUS_DEVICE_PAPER_EMPTYNTSTATUSWindows
Предыдущий Следующий
E_ILLEGAL_STATE_CHANGE RO_E_METADATA_NAME_NOT_FOUND

E_ILLEGAL_METHOD_CALL

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

E_ILLEGAL_METHOD_CALL (0x8000000E) — Метод вызван в неподходящий момент.

Контекст результата 0x8000000E — подсистема «COM/WinRT» и область «контракт вызываемого interface, аргументы и state объекта». Условие «метод вызван в неподходящий момент» указывает на тему «illegal, method, call», а не на общий отказ всего компонента.

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

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

Для воспроизведения 0x8000000E сохраните IID и method, thread/apartment, argument values, object state и исходный HRESULT; отдельно запишите HRESULT, ID, IDs, IAgileObject. По теме «illegal, method, call» для 0x8000000E сравните эти данные с исправным запуском до очистки журналов или пересоздания объекта.

Для 0x8000000E применяйте исправление на границе первого отказа: приведите аргументы и жизненный цикл объекта к контракту метода; неизменённый вызов после contract failure повторять не следует. Сообщение «метод вызван в неподходящий момент» при 0x8000000E не следует подавлять общей обработкой исключения.

Подтвердите изменение повтором исходной операции: результат 0x8000000E не должен возникать на исправном объекте, но прежний отрицательный контроль обязан оставаться предсказуемым.

Документация для результата 0x8000000E: C++/WinRT error handling · concurrency and asynchronous operations · WinMD files.


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