¿Qué significa el código HRESULT 0xC8000404 (hrInvalidDatabase)?

 
Anterior Siguiente
hrTooManyOpenDatabases hrNotInitialized

hrInvalidDatabase

hrInvalidDatabase: qué cambia este hresult

En el flujo legacy ESE/Directory Service, hrInvalidDatabase describe que el archivo seleccionado no es una base ESE válida para esta operación.

El valor publicado es 0xC8000404; la condición JET correspondiente es JET_errInvalidDatabase. No es equivalente a hrDatabaseCorrupted: ese valor indica que la base no puede considerarse un archivo ESE coherente y fiable sin recovery o análisis. También se distingue de hrDatabaseNotFound, donde la base indicada no existe, no está attached o no puede resolverse en el contexto actual.

Aislamiento de la causa

Registra la primera llamada donde se cumple la condición concreta: el archivo seleccionado no es una base ESE válida para esta operación.

  1. Conserva el contexto de archivo de base, attachment state, JET_DBID y ownership de sesión; para esta página las APIs/estructuras observadas en la referencia incluyen JET_DBID, JetCreateDatabase, JetAttachDatabase, JetOpenDatabase, JetCloseDatabase, JetDetachDatabase.
  2. Antes del retry, captura el valor exacto rechazado y compáralo con el contrato de la API antes de sustituirlo o regenerarlo.

Códigos cercanos que conviene separar en logs: hrDatabaseCorrupted, hrDatabaseNotFound, hrInvalidDatabaseId.

Referencias técnicas


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