Compartilhar via


Função JetGetTableInfo

Aplica-se a: Windows | Windows Server

Função JetGetTableInfo

A função JetGetTableInfo recupera várias informações sobre uma tabela em um banco de dados.

    JET_ERR JET_API JetGetTableInfo(
      __in          JET_SESID sesid,
      __in          JET_TABLEID tableid,
      __out         void* pvResult,
      __in          unsigned long cbMax,
      __in          unsigned long InfoLevel
    );

Parâmetros

sesid

O contexto de sessão do banco de dados a ser usado para a chamada à API.

Tableid

A tabela à qual as informações se aplicam.

pvResult

Ponteiro para um buffer que receberá as informações. O tipo do buffer depende do InfoLevel. É responsabilidade do chamador alinhar o buffer adequadamente.

cbMax

O tamanho, em bytes, do buffer que foi passado em pvResult.

InfoLevel

O tipo de informação que será recuperada para a tabela especificada por tableid. O formato dos dados armazenados no pvResult depende do InfoLevel.

As seguintes opções podem ser definidas para este parâmetro:

Valor

Significado

JET_TblInfo

pvResult é interpretado como uma estrutura JET_OBJECTINFO . Se o método for bem-sucedido, a estrutura JET_OBJECTINFO será preenchida com os dados apropriados. Se falhar, o conteúdo será indefinido.

JET_TblInfoDbid

pvResult é tratado como uma matriz de dois objetos JET_DBID . O identificador de banco de dados do banco de dados que possui a tabela é armazenado nessa matriz duas vezes.

JET_TblInfoDumpTable

JET_TblInfoDumpTable foi preterido. A API retornará JET_errFeatureNotAvailable.

JET_TblInfoName

JET_TblInfoName recupera o nome da tabela e a armazena em pvResult. Se o buffer for muito pequeno, o comportamento será indefinido.

JET_TblInfoMostMany

JET_TblInfoMostMany recupera o nome da tabela e a armazena em pvResult. Se o buffer for muito pequeno, o comportamento será indefinido.

JET_TblInfoOLC

JET_TblInfoOLC foi preterido. A API retornará JET_errFeatureNotAvailable.

JET_TblInfoRvt

JET_TblInfoRvt foi preterido. A API retornará JET_errQueryNotSupported.

JET_TblInfoResetOLC

JET_TblInfoResetOLC foi preterido. A API retornará JET_errFeatureNotAvailable.

JET_TblInfoSpaceAlloc

pvResult é interpretado como uma matriz de dois ULONGs:

  • O primeiro ULONG é o número de páginas na tabela.

  • O segundo ULONG é a densidade de destino de páginas para a tabela.

JET_TblInfoSpaceAvailable

pvResult é interpretado como um ULONG. O ULONG é a soma do número de páginas disponíveis na tabela, seus índices e a árvore de valor longo.

JET_TblInfoSpaceOwned

pvResult é interpretado como um ULONG. O ULONG é a soma do número de páginas que pertencem à tabela (incluindo seus índices e a árvore de valor longo e quaisquer páginas disponíveis nela).

JET_TblInfoSpaceUsage

O comportamento da API depende do tamanho do buffer passado para a API. Dois valores cbMax devem ser pelo menos ( 2 * sizeof( ULONG ) ).

  • Se cbMax for ( 2 * sizeof( ULONG ) ), pvResult será interpretado como uma matriz de dois ULONGs:

    • O primeiro ULONG é o número de Extensões De Propriedade da tabela.

    • O segundo ULONG é o número de Extensões Disponíveis da tabela.

  • pvResult é interpretado como uma matriz de:

    • O primeiro ULONG é o número de Extensões De Propriedade da tabela.

    • O segundo ULONG é o número de Extensões Disponíveis da tabela.

JET_TblInfoTemplateTableName

pvResult é interpretado como um buffer de cadeia de caracteres. O buffer deve ser pelo menos JET_cbNameMost + 1, incluindo o nulo de terminação. Se a tabela for uma tabela derivada, o buffer será preenchido com o nome da tabela da qual a tabela derivada herdou sua DDL. Se a tabela não for uma tabela derivada, o buffer será uma cadeia de caracteres vazia.

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 buffer era muito pequeno.

JET_errFeatureNotAvailable

Um InfoLevel preterido foi especificado.

JET_errInvalidBufferSize

O buffer não era do tamanho certo.

JET_errInvalidOperation

A tabela passada era uma tabela temporária e o InfoLevel solicitado não pode ser recuperado para uma tabela temporária.

JET_errObjectNotFound

A tabela passada era uma tabela temporária e o InfoLevel solicitado não pode ser recuperado para uma tabela temporária.

JET_errQueryNotSupported

Não há suporte para o InfoLevel .

JET_errTableInUse

A tabela está sendo usada por outra operação de banco de dados.

JET_errTableLocked

A tabela é bloqueada por outra operação de banco de dados.

JET_wrnTableInUseBySystem

A tabela está sendo usada pelo sistema. Esse aviso não é fatal.

Comentários

Algumas informações não são válidas para tabelas temporárias (consulte JetOpenTempTable).

As estatísticas da tabela incluem o número de registros e o número de páginas no índice clusterizado (ou seja, o índice que contém os dados do registro). As estatísticas de índice são acessadas separadamente pelo nome, usando JetGetIndexInfo ou JetGetTableIndexInfo.

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 JetGetTableInfoW (Unicode) e JetGetTableInfoA (ANSI).

Consulte Também

JET_ERR
JET_GRBIT
JET_SESID
JET_TABLEID
JET_OBJECTINFO
JetGetIndexInfo
JetGetObjectInfo
JetGetTableIndexInfo
JetOpenTempTable