| Anterior | Siguiente |
| STG_E_ACCESSDENIED | STG_E_INSUFFICIENTMEMORY |
STG_E_INVALIDHANDLE
Qué significa STG_E_INVALIDHANDLE
STG_E_INVALIDHANDLE corresponde al HRESULT 0x80030006. El handle u objeto de almacenamiento ya no es válido. La descripción de Windows para este valor es «Se intentó realizar una operación sobre un objeto no válido.» y su origen se clasifica como winerror.h.
Puede tratarse de un handle cerrado, una interfaz COM liberada o una referencia invalidada por revert/reopen. Usarlo de nuevo puede ocultar un problema de lifetime. Structured Storage separa errores de formato, acceso, locking, transacción y backing device. Mantener esa frontera evita diagnosticar todos los STG_* como un simple “error de archivo”.
Datos que conviene capturar
- Traza creación, AddRef/Release y cierre del objeto hasta la llamada que falla.
- Comprueba si otro hilo ejecutó Revert, cerró el backing file o reemplazó el objeto compartido.
- Evita validar únicamente el valor numérico del handle; su generación y propietario importan.
Tratamiento seguro
Corrige el ciclo de vida y vuelve a adquirir un objeto válido. No intentes revivir una interfaz cerrada ni copies handles entre propietarios sin contrato explícito.
Referencias técnicas
¿Buscas un código diferente? Buscar otro código de estado o error.