Función JetGetDatabaseInfo
Se aplica a: Windows | Windows Server
Función JetGetDatabaseInfo
La función JetGetDatabaseInfo recupera varios tipos de información sobre la base de datos. Se puede llamar a esta API mientras una base de datos está adjunta o en línea (con JetGetDatabaseInfo) o mientras la base de datos o el motor de base de datos está sin conexión (con JetGetDatabaseFileInfo).
JET_ERR JET_API JetGetDatabaseInfo(
__in JET_SESID sesid,
__in JET_DBID dbid,
__out void* pvResult,
__in unsigned long cbMax,
__in unsigned long InfoLevel
);
Parámetros
sesid
Sesión que se va a usar para esta llamada.
dbid
La JET_DBID de la base de datos de la que se va a recuperar la información.
pvResult
Puntero a un búfer que recibirá la información especificada. El tamaño del búfer, en bytes, se pasa en cbMax.
En caso de error, el contenido de pvResult no está definido.
La información almacenada en pvResult depende de InfoLevel.
cbMax
Tamaño, en bytes, del búfer que se pasó en pvResult.
InfoLevel
InfoLevel especifica qué tipo de información se debe recuperar sobre la base de datos especificada. Afecta al modo en que se interpreta pvResult . Algunos InfoLevel solo están disponibles en la versión sin conexión (JetGetDatabaseFileInfo) o en línea (JetGetDatabaseInfo) de la API.
Si el búfer pvResult proporcionado es demasiado pequeño, JET_errInvalidBufferSize o JET_errBufferTooSmall se devolverá en función de InfoLevel.
Value |
Significado |
---|---|
JET_DbInfoCollate |
Todavía no se admiten y devuelven valores predeterminados. No debe usarse. |
JET_DbInfoConnect |
Estos InfoLevels están en desuso y no se admiten actualmente. No debe usarse. |
JET_DbInfoCountry |
Todavía no se admiten y devuelven valores predeterminados. No debe usarse. |
JET_DbInfoCp |
Todavía no se admiten y devuelven valores predeterminados. No debe usarse. |
JET_DbInfoFilename |
pvResult se interpretará como un búfer de cadena (char *). Se sugiere un búfer de MAX_PATH, pero no es necesario. Si el búfer no es lo suficientemente largo, se devolverá JET_errBufferTooSmall. La cadena se rellenará con la ruta de acceso de la base de datos para este DBID. |
JET_DbInfoFilesize |
pvResult se interpretará como DWORD (4 bytes). Devuelve el tamaño de la base de datos en páginas. |
JET_DbInfoIsam |
Estos InfoLevels están en desuso y no se admiten actualmente. No debe usarse. |
JET_DbInfoLCID |
(Windows XP y versiones posteriores) Este InfoLevel se especificó originalmente como: JET_DbInfoLangid (Windows 2000) pvResult se interpretará como un largo. Esto devuelve el identificador de configuración regional (LCID) asociado a esta base de datos. |
JET_DbInfoMisc |
pvResult se interpretará como un JET_DBINFOMISC. La estructura JET_DBINFOMISC se rellenará con información relativa a la base de datos especificada. |
JET_DbInfoOptions |
pvResult se interpretará como un JET_GRBIT (DWORD). Esto devuelve si la base de datos se abre en modo exclusivo. Si la base de datos está en modo exclusivo JET_bitDbExclusive se establecerá en el JET_GRBIT proporcionado, de lo contrario, se establece cero. Tenga en cuenta que no se devuelven otras opciones de grbit de base de datos para JetAttachDatabase y JetOpenDatabase . |
JET_DbInfoPageSize |
Solo está disponible en Windows XP y versiones posteriores. pvResult se interpretará como un long sin signo. Esto devolverá el tamaño de página de la base de datos en bytes. |
JET_DbInfoSpaceAvailable |
pvResult se interpretará como DWORD. Esto devuelve el espacio disponible para la base de datos en páginas. |
JET_DbInfoSpaceOwned |
pvResult se interpretará como DWORD. Esto devuelve el espacio de propiedad de la base de datos en páginas. |
JET_DbInfoTransactions |
pvResult se interpretará como un largo. Esto devolverá uno mayor que el nivel máximo al que se pueden anidar las transacciones. Si se llama a JetBeginTransaction (de forma anidada, es decir, en la misma sesión, sin confirmación o reversión) tantas veces como este valor, en la última llamada JET_errTransTooDeep se devolverá de JetBeginTransaction. Tenga en cuenta que el valor de Windows 2000, Windows XP y Windows Server 2003 es 7. |
JET_DbInfoVersion |
pvResult se interpretará como un largo. Esto devuelve la versión principal nativa del motor de base de datos. Este valor es 0x620 para Windows 2000, Windows XP y Windows Server 2003. |
Valor devuelto
Esta función devuelve el tipo de datos JET_ERR con uno de los siguientes códigos de retorno. Para obtener más información sobre los posibles errores de ESE, vea Extensible Storage Engine Errors and Error Handling Parameters.
Código devuelto |
Descripción |
---|---|
JET_errSuccess |
La operación se ha completado correctamente. |
JET_errBufferTooSmall |
El tamaño del búfer especificado en cbMax era demasiado pequeño (o no correcto) para contener la información deseada. |
JET_errFeatureNotAvailable |
Se solicitó InfoLevel JET_DbInfoIsam. Esto no se admite. |
JET_errInvalidBufferSize |
El tamaño del búfer especificado en cbMax era demasiado pequeño (o no correcto) para contener la información deseada. |
JET_errInvalidParameter |
Uno de los parámetros proporcionados contenía un valor inesperado o contenía un valor que no tenía sentido cuando se combinaba con el valor de otro parámetro. JetGetDatabaseInfo devolverá este error cuando el JET_DBID proporcionado no sea una base de datos válida (adjunta). JetGetDatabaseFileInfo y JetGetDatabaseInfo devolverán este error cuando no se admita una instancia de InfoLevel solicitada por esa versión de la función. |
Si se ejecuta correctamente, los datos solicitados se devolverán en el búfer de salida.
En caso de error, el búfer de salida estará en un estado indefinido.
Requisitos
Requisito | Value |
---|---|
Cliente |
Requiere Windows Vista, Windows XP o Windows 2000 Professional. |
Servidor |
Requiere Windows Server 2008, Windows Server 2003 o Windows 2000 Server. |
Encabezado |
Declarado en Esent.h. |
Library |
Use ESENT.lib. |
Archivo DLL |
Requiere ESENT.dll. |
Unicode |
Se implementa como JetGetDatabaseInfoW (Unicode) y JetGetDatabaseInfoA (ANSI). |
Consulte también
JET_DBID
JET_ERR
JET_GRBIT
JET_SESID
JET_DBINFOMISC
JET_DBINFOUPGRADE
JetGetDatabaseFileInfo