| Anterior | Siguiente |
| MILERR_ALREADYLOCKED | MILERR_DEVICECANNOTRENDERTEXT |
MILERR_NOTLOCKED
Qué significa MILERR_NOTLOCKED
MILERR_NOTLOCKED (-2003304313, 0x88980087) — Se intentó desbloquear un objeto que no estaba bloqueado.
MIL usa locks internos y recursos compartidos; un lock duplicado, ausente o un objeto ocupado indica lifecycle/concurrencia. Añadir sleeps puede mover la carrera sin corregir ownership.
Qué demuestra este HRESULT
La condición específica es unlock solicitado sobre un recurso que no está bloqueado. Traza acquire/release con IDs de scope y thread. Corrige dobles unlocks y rutas que transfieren ownership; ignorar el resultado puede ocultar un lifecycle roto que luego cause data races.
Instrumenta ownership del recurso
Registra acquire/release, thread y scope con un identificador estable. Busca reentrancia y rutas de excepción; la validación final debe mostrar una única secuencia de ownership sin locks acumulados ni releases duplicados.
No confundir con un resultado cercano
MILERR_ALREADYLOCKED se aísla por recurso MIL que ya tiene un lock activo. Aquí debe demostrarse unlock solicitado sobre un recurso que no está bloqueado; aunque ambos puedan aparecer en la misma fase de composición, exigen correcciones distintas.
Referencias técnicas
- Microsoft Learn: documentación oficial de WPF/MIL relacionada con este resultado
- Microsoft Learn: documentación oficial de WPF/MIL relacionada con este resultado
- Microsoft Learn: documentación oficial de WPF/MIL relacionada con este resultado
- Microsoft Learn: documentación oficial de WPF/MIL relacionada con este resultado
¿Buscas un código diferente? Buscar otro código de estado o error.
