| Предыдущий | Следующий |
| EVT_WDSMCS_S_PARAMETERS_READ | E_BOUNDS |
E_PENDING
Что означает E_PENDING
E_PENDING (0x8000000A) — Данные, необходимые для завершения операции, ещё недоступны.
Результат 0x8000000A пришёл из подсистемы «COM/WinRT» при работе с областью «контракт вызываемого interface, аргументы и state объекта». Для сообщения «данные, необходимые для завершения операции, ещё недоступны» практический предмет проверки — «pending».
Что проверить и как подтвердить исправление
Сначала разделите ожидание очереди, работу компонента и зависимый ввод-вывод. Для 0x8000000A в условии «данные, необходимые для завершения операции, ещё недоступны» разделите ожидание очереди, работу компонента и зависимый ввод-вывод; повторяйте только после наблюдаемого изменения нагрузки или состояния.
Диагностика 0x8000000A должна включать IID и method, thread/apartment, argument values, object state и исходный HRESULT; отдельно запишите HRESULT, ID, IDs, IAgileObject. Для темы «pending» при 0x8000000A важны значения именно на первом отказе, а не после обработки ошибки верхним уровнем.
Практическое исправление для 0x8000000A: приведите аргументы и жизненный цикл объекта к контракту метода; неизменённый вызов после contract failure повторять не следует. В контексте условия «данные, необходимые для завершения операции, ещё недоступны» для 0x8000000A оно должно устранить подтверждённую причину, а не скрыть исходный HRESULT.
После исправления повторите тот же вызов на прежних данных; у результата 0x8000000A должен измениться первый неуспешный этап, а не только последующее сообщение.
Документация для результата 0x8000000A: C++/WinRT error handling · concurrency and asynchronous operations · WinMD files.
Нужно найти другой код? Найти другой код состояния или ошибки.