¿Qué significa el código HRESULT 0x80030100 (STG_E_INUSE)?

 
Anterior Siguiente
STG_E_INVALIDFLAG STG_E_NOTCURRENT

STG_E_INUSE

Qué significa STG_E_INUSE

STG_E_INUSE corresponde al HRESULT 0x80030100. El storage está en uso de una forma que impide la transición solicitada. La descripción de Windows para este valor es «Se intentó utilizar un objeto que está ocupado.» y su origen se clasifica como winerror.h.

Suele indicar una dependencia activa sobre el objeto, no solo un archivo abierto. Streams hijos, enumeradores o transacciones pueden mantener vivo el estado que la operación intenta cambiar. 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 objetos hijos y referencias COM aún activas.
  • Comprueba si otro hilo mantiene stream/storage abierto dentro del mismo compound file.
  • Registra la operación que requiere exclusividad, por ejemplo commit/revert/replacement.

Recuperación recomendada

Cierra o coordina los usuarios activos y vuelve a adquirir el storage. No fuerces la transición mientras existan objetos que dependen de la generación anterior.

Referencias técnicas


¿Buscas un código diferente? Buscar otro código de estado o error.