Função JetGetDatabaseInfo
Aplica-se a: Windows | Windows Server
Função JetGetDatabaseInfo
A função JetGetDatabaseInfo recupera vários tipos de informações sobre o banco de dados. Essa API pode ser chamada enquanto um banco de dados está anexado ou online (com JetGetDatabaseInfo) ou enquanto o banco de dados ou mecanismo de banco de dados está offline (com 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
A sessão a ser usada para essa chamada.
dbid
O JET_DBID do banco de dados do qual recuperar as informações.
pvResult
Ponteiro para um buffer que receberá as informações especificadas. O tamanho do buffer, em bytes, é passado em cbMax.
Em caso de falha, o conteúdo de pvResult é indefinido.
As informações armazenadas em pvResult dependem do InfoLevel.
cbMax
O tamanho, em bytes, do buffer que foi passado em pvResult.
InfoLevel
InfoLevel especifica qual tipo de informação deve ser recuperada sobre o banco de dados especificado. Isso afeta a forma como o pvResult é interpretado. Alguns InfoLevel estão disponíveis apenas na versão offline (JetGetDatabaseFileInfo) ou online (JetGetDatabaseInfo) da API.
Se o buffer pvResult fornecido for muito pequeno, JET_errInvalidBufferSize ou JET_errBufferTooSmall serão retornados dependendo do InfoLevel.
Valor |
Significado |
---|---|
JET_DbInfoCollate |
Ainda não há suporte e retornam valores padrão. Não use. |
JET_DbInfoConnect |
Esses InfoLevels foram preteridos e não têm suporte no momento. Não use. |
JET_DbInfoCountry |
Ainda não há suporte e retornam valores padrão. Não use. |
JET_DbInfoCp |
Ainda não há suporte e retornam valores padrão. Não use. |
JET_DbInfoFilename |
pvResult será interpretado como um buffer de cadeia de caracteres (char *). Um buffer de MAX_PATH é sugerido, no entanto, não é necessário. Se o buffer não for longo o suficiente, JET_errBufferTooSmall será retornado. A cadeia de caracteres será preenchida com o caminho do banco de dados para esse DBID. |
JET_DbInfoFilesize |
pvResult será interpretado como um DWORD (4 bytes). Retorna o tamanho do banco de dados em páginas. |
JET_DbInfoIsam |
Esses InfoLevels foram preteridos e não têm suporte no momento. Não use. |
JET_DbInfoLCID |
(Windows XP e posterior) Este InfoLevel foi originalmente especificado como: JET_DbInfoLangid (Windows 2000) pvResult será interpretado como um long. Isso retorna o LCID (identificador de localidade) associado a esse banco de dados. |
JET_DbInfoMisc |
pvResult será interpretado como um JET_DBINFOMISC. A estrutura JET_DBINFOMISC será preenchida com informações relativas ao banco de dados especificado. |
JET_DbInfoOptions |
pvResult será interpretado como um JET_GRBIT (DWORD). Isso retorna se o banco de dados é aberto no modo exclusivo. Se o banco de dados estiver no modo exclusivo JET_bitDbExclusive será definido no JET_GRBIT fornecido, caso contrário, zero será definido. Observe que outras opções de grbit de banco de dados para JetAttachDatabase e JetOpenDatabase não são retornadas . |
JET_DbInfoPageSize |
Disponível somente no Windows XP e posterior. pvResult será interpretado como um long sem sinal. Isso retornará o tamanho da página do banco de dados em bytes. |
JET_DbInfoSpaceAvailable |
pvResult será interpretado como um DWORD. Isso retorna o espaço disponível para o banco de dados em páginas. |
JET_DbInfoSpaceOwned |
pvResult será interpretado como um DWORD. Isso retorna o espaço de propriedade do banco de dados em páginas. |
JET_DbInfoTransactions |
pvResult será interpretado como um long. Isso retornará um maior que o nível máximo para o qual as transações podem ser aninhadas. Se JetBeginTransaction for chamado (de maneira aninhada, ou seja, na mesma sessão, sem confirmação ou reversão) quantas vezes esse valor, na última chamada JET_errTransTooDeep será retornado de JetBeginTransaction. Observe que o valor no Windows 2000, Windows XP e Windows Server 2003 é 7. |
JET_DbInfoVersion |
pvResult será interpretado como um long. Isso retorna a versão principal nativa do mecanismo de banco de dados. Esse valor é 0x620 para Windows 2000, Windows XP e Windows Server 2003. |
Valor Retornado
Essa função retorna o tipo de dados JET_ERR com um dos seguintes códigos de retorno. Para obter mais informações sobre os possíveis erros de ESE, consulte Erros extensíveis do mecanismo de armazenamento e parâmetros de tratamento de erros.
Código de retorno |
Descrição |
---|---|
JET_errSuccess |
A operação foi concluída com sucesso. |
JET_errBufferTooSmall |
O tamanho do buffer fornecido em cbMax era muito pequeno (ou não correto) para conter as informações desejadas. |
JET_errFeatureNotAvailable |
O InfoLevel solicitado foi JET_DbInfoIsam. Isso não tem suporte. |
JET_errInvalidBufferSize |
O tamanho do buffer fornecido em cbMax era muito pequeno (ou não correto) para conter as informações desejadas. |
JET_errInvalidParameter |
Um dos parâmetros fornecidos continha um valor inesperado ou continha um valor que não fazia sentido quando combinado com o valor de outro parâmetro. Esse erro será retornado por JetGetDatabaseInfo quando o JET_DBID fornecido não for um banco de dados válido (anexado). Esse erro será retornado por JetGetDatabaseFileInfo e JetGetDatabaseInfo quando um InfoLevel solicitado não tiver suporte nessa versão da função. |
Em caso de êxito, os dados solicitados serão retornados no buffer de saída.
Em caso de falha, o buffer de saída estará em um estado indefinido.
Requisitos
Requisito | Valor |
---|---|
Cliente |
Requer Windows Vista, Windows XP ou Windows 2000 Professional. |
Servidor |
Requer o Windows Server 2008, o Windows Server 2003 ou o Windows 2000 Server. |
Cabeçalho |
Declarado em Esent.h. |
Biblioteca |
Use ESENT.lib. |
DLL |
Requer ESENT.dll. |
Unicode |
Implementado como JetGetDatabaseInfoW (Unicode) e JetGetDatabaseInfoA (ANSI). |
Consulte Também
JET_DBID
JET_ERR
JET_GRBIT
JET_SESID
JET_DBINFOMISC
JET_DBINFOUPGRADE
JetGetDatabaseFileInfo