Что означает код HRESULT 0x80004029 (CO_E_ASYNC_WORK_REJECTED)?

 
Предыдущий Следующий
CO_E_CLRNOTAVAILABLE CO_E_SERVER_INIT_TIMEOUT

CO_E_ASYNC_WORK_REJECTED

Где искать первичный отказ

Штатный смысл CO_E_ASYNC_WORK_REJECTEDПул потоков отклонил переданную асинхронную работу. Этот результат относится к COM/DCOM, а диагностически важная граница здесь — планирование и синхронизация COM runtime.

Параметры первого сбоя

  • соберите для сравнения thread/apartment, work item identity, cancellation state, tracker/thread-pool config и timestamps. Для условия «Пул потоков отклонил переданную асинхронную работу» это позволяет восстановить исходный объект и не спутать его с последующим состоянием.
  • снимите в трассировку технические маркеры CoInitializeEx, HRESULT с теми значениями, которые были видны до очистки/rollback; они привязывают «Пул потоков отклонил переданную асинхронную работу» к реальному вызову.
  • соберите для сравнения момент первого результата и один исправный запуск, сохранив одинаковыми входные данные; различие должно появиться именно на стадии планирование и синхронизация COM runtime.

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

проверьте одной переменной воспроизвести тот же переход состояния на одном apartment и проверить очередь до отправки нового work item. Изменяйте только предпосылку, связанную с «Пул потоков отклонил переданную асинхронную работу», а регистрацию, identity, входной объект и окружение по возможности оставляйте прежними.

не превращать отказ планировщика в бесконечный retry loop без backoff и проверки состояния; для результата «Пул потоков отклонил переданную асинхронную работу» широкая переустановка, очистка каталога или ослабление безопасности не считается доказательством причины.

Для соседних результатов HRESULT_FROM_WIN32, ERROR_NOT_ENOUGH_QUOTA сравнивайте первую различающуюся операцию. Исправление подтверждено только тогда, когда исходная граница проходит при прежних входах и следующий ожидаемый шаг получает корректное состояние.

Технические ссылки


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