Что означает код HRESULT 0x80000019 (E_ASYNC_OPERATION_NOT_STARTED)?

 
Предыдущий Следующий
E_ILLEGAL_DELEGATE_ASSIGNMENT E_APPLICATION_EXITING

E_ASYNC_OPERATION_NOT_STARTED

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

E_ASYNC_OPERATION_NOT_STARTED (0x80000019) — Асинхронная операция не была корректно запущена.

При результате 0x80000019 граница диагностики проходит внутри подсистемы «COM/WinRT», в области «контракт вызываемого interface, аргументы и state объекта». Здесь сообщение «асинхронная операция не была корректно запущена» связано с темой «async, операция, не, started».

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

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

Перед повтором 0x80000019 зафиксируйте IID и method, thread/apartment, argument values, object state и исходный HRESULT; отдельно запишите HRESULT, ID, IDs, IAgileObject. Различия по теме «async, операция, не, started» для 0x80000019 покажут, изменился ли первый неуспешный этап.

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

Считайте исправление подтверждённым только после устойчивого повтора исходного сценария без результата 0x80000019 и без обхода штатных проверок.

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


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