¿Qué significa el código HRESULT 0x80030101 (STG_E_NOTCURRENT)?

 
Anterior Siguiente
STG_E_INUSE STG_E_REVERTED

STG_E_NOTCURRENT

Qué significa STG_E_NOTCURRENT

STG_E_NOTCURRENT corresponde al HRESULT 0x80030101. La copia o vista del storage ya no representa la generación actual. La descripción de Windows para este valor es «El almacenamiento ha cambiado desde la última confirmación.» y su origen se clasifica como winerror.h.

En modo transacted o con varias aperturas, otro commit puede dejar obsoleta la vista del caller. Continuar con ella puede sobrescribir cambios más recientes. 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

  • Registra cuándo se abrió el objeto y qué commit/revert ocurrió después.
  • Compara timestamps/generación o metadata relevante con una reapertura fresca.
  • Evita mezclar objetos hijos obtenidos antes y después de un commit externo.

Acción correctiva

Descarta la vista obsoleta, vuelve a abrir y reconcilia los cambios antes de escribir. No conviertas un conflicto de generación en last-writer-wins sin política.

Referencias técnicas


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