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