Site icon EfmSoft

Что означает код ошибки Windows 541 (ERROR_TIMER_NOT_CANCELED)?

 
Предыдущий Следующий
ERROR_WX86_ERROR ERROR_UNWIND

ERROR_TIMER_NOT_CANCELED

description[таймер с APC изменён из потока, который его не создавал.]

Операция с таймером выполнена из неправильного потока

ERROR_TIMER_NOT_CANCELED указывает, что код попытался отменить или изменить таймер, связанный с APC, из потока, отличного от того, который изначально установил эту связь APC. Ограничение относится к владению потоком, а не только к идентификатору таймера.

Распространённые причины

Диагностика

Запишите идентификаторы создавшего и вызывающего потоков, дескриптор таймера, процедуру APC и переходы жизненного цикла. Убедитесь, что создавший поток ещё существует и может выполнить очистку.

Правильная архитектура

Передавайте запрос отмены владеющему потоку через управляющую очередь или событие. Инкапсулируйте создание и уничтожение таймера в одном объекте с привязкой к потоку. Не используйте архитектуру на основе APC, если работу требуется свободно отменять из произвольных потоков.

Поведение при завершении

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

Ссылки


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

Exit mobile version