¿Qué significa el código HRESULT 0x80030107 (STG_E_NOTFILEBASEDSTORAGE)?

 
Anterior Siguiente
STG_E_SHAREREQUIRED STG_E_EXTANTMARSHALLINGS

STG_E_NOTFILEBASEDSTORAGE

Qué significa STG_E_NOTFILEBASEDSTORAGE

STG_E_NOTFILEBASEDSTORAGE corresponde al HRESULT 0x80030107. La operación solo es válida para storage respaldado por archivo y el objeto actual no lo es. La descripción de Windows para este valor es «Se llamó a una operación no válida sobre un almacenamiento que no está basado en archivos.» y su origen se clasifica como winerror.h.

Structured Storage puede construirse sobre otras abstracciones; funciones que necesitan path o file handle no se aplican a todos los backings. El dato decisivo no es solo el bit de severidad del HRESULT, sino el contrato de la llamada que lo devolvió y el estado del objeto en ese instante.

Diagnóstico práctico

  • Identifica el tipo real de ILockBytes/backing.
  • Comprueba si la llamada requiere file-based storage por contrato.
  • No inventes una ruta temporal si la semántica del objeto depende de un provider no basado en archivo.

Tratamiento seguro

Usa una API compatible con el backing o materializa una copia de archivo de forma explícita cuando el diseño lo permita.

Referencias técnicas


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