| Предыдущий | Следующий |
| CO_E_CLRNOTAVAILABLE | CO_E_SERVER_INIT_TIMEOUT |
CO_E_ASYNC_WORK_REJECTED
Что означает результат
CO_E_ASYNC_WORK_REJECTED: COM не принял новую асинхронную работу в текущем состоянии исполнительной среды. Это отказ постановки конкретной работы, а не доказательство повреждения COM-регистрации или самого вызываемого объекта.
Что проверить
- Зафиксируйте API, которым ставится работа, состояние apartment и момент относительно завершения или остановки объекта.
- Проверьте, не идёт ли уже shutdown, cancellation или teardown пула, из-за которого новые задания больше не принимаются.
- Сохраните длину очереди и первый HRESULT до повторов; серия немедленных повторов может скрыть переход состояния.
- Убедитесь, что объект и callback остаются действительными на всё время асинхронной операции.
Диагностика и исправление
Повторяйте постановку только если исполнитель снова находится в состоянии, допускающем новые задания. Если отказ связан с завершением, корректное действие — закончить жизненный цикл, а не создавать бесконечный цикл повторов.
Технические ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.