| 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.