| Anterior | Siguiente |
| ERROR_ACCESS_DENIED | ERROR_ARENA_TRASHED |
ERROR_INVALID_HANDLE
Qué significa ERROR_INVALID_HANDLE
ERROR_INVALID_HANDLE (6) significa que una API recibió un valor de handle que no identifica un objeto válido y compatible en el proceso actual. Las causas habituales son cierres dobles, campos sin inicializar, errores de ownership, handles caducados y uso del tipo de handle equivocado.
Cómo depurarlo
- Siga el recorrido del handle desde su creación hasta cada transferencia, duplicación y cierre.
- Inicialice las variables con el valor inválido documentado y restablézcalas después de cerrar el recurso.
- Compruebe que el tipo de objeto asociado al handle coincide con la API que lo recibe.
- Busque carreras en las que un hilo cierra el objeto mientras otro todavía intenta usarlo.
Prevención y recuperación
Asigne a cada handle un propietario claro; en C++ es preferible usar wrappers de vida ligada al scope. Reintentar con el mismo handle no tiene sentido: hay que corregir su ciclo de vida y, cuando proceda, volver a crear el objeto subyacente.
Referencias técnicas
¿Buscas un código diferente? Buscar otro código de estado o error.