| Anterior | Siguiente |
| ERROR_NOT_LOCKED | ERROR_BAD_ARGUMENTS |
ERROR_BAD_THREADID_ADDR
Qué significa ERROR_BAD_THREADID_ADDR
ERROR_BAD_THREADID_ADDR (159) señala un contrato de memoria inválido alrededor de un parámetro de thread ID. En APIs legacy el caller puede entregar un puntero donde el runtime escribe el identificador; un puntero nulo, dangling, read-only, mal alineado o de tamaño incorrecto produce el fallo.
Qué comprobar
- Registre dirección, tamaño y allocation owner del buffer.
- Revise diferencias de layout entre 32 y 64 bits.
- Compruebe que otro thread no libera el buffer antes de tiempo.
- Use page heap o diagnósticos de memoria si sospecha use-after-free.
Resolución
Mantenga el buffer válido y escribible durante toda la llamada y use el tipo exacto exigido por la ABI. Reintentar con el mismo puntero corrupto no es una recuperación segura.
Referencias técnicas
¿Buscas un código diferente? Buscar otro código de estado o error.
