| Anterior | Siguiente |
| ERROR_WX86_ERROR | ERROR_UNWIND |
ERROR_TIMER_NOT_CANCELED
Qué significa ERROR_TIMER_NOT_CANCELED
ERROR_TIMER_NOT_CANCELED (541) — La operación sobre un timer APC se realizó desde un thread distinto del que lo creó.
La restricción no depende solo del handle del timer: la relación con el APC pertenece al thread que la estableció. Un worker puede crear el timer y un coordinador intentar cancelarlo durante cleanup, provocando un conflicto de ownership aunque ambos compartan el objeto.
Qué comprobar
- Registre creator thread ID, caller thread ID, handle, APC routine y transiciones de lifecycle.
- Compruebe si thread-pool reuse oculta qué thread creó el estado APC.
- Revise shutdown y cleanup duplicado para asegurar que el propietario sigue vivo cuando se cancela.
Tratamiento recomendado
Envíe la cancelación al thread propietario mediante una cola o evento, o encapsule creación y destrucción en un objeto con afinidad explícita. Si se necesita cancelar desde cualquier thread, evite un diseño basado en APC. No libere recursos relacionados antes de completar el cleanup.
Referencias técnicas
¿Buscas un código diferente? Buscar otro código de estado o error.
