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:
|
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 ) ).
|
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