Função JetPrereadKeys
Aplica-se a: Windows | Windows Server
Função JetPrereadKeys
A função JetPrereadKeys lê os principais valores para melhorar o desempenho da limpeza do repositório de versão.
Windows 7: a função PrereadKeys é introduzida no Windows 7.
JET_ERR JET_API JetPrereadKeys(
__in JET_SESID sesid,
__in JET_TABLEID tableid,
__in_ecount(ckeys) const void ** rgpvKeys,
__in_ecount(ckeys) const unsigned long * rgcbKeys,
__in long ckeys,
__out_opt long * pckeysPreread,
__in JET_GRBIT grbit
);
Parâmetros
sesid
O contexto de sessão do banco de dados a ser usado para a chamada à API.
Tableid
O cursor a ser usado para essa chamada.
rgpvKeys
Uma matriz de ponteiros para chaves. As chaves podem ser feitas com JetMakeKey ou recuperadas com JetGetBookmark. As chaves devem ser classificadas em ordem crescente ou decrescente, dependendo do grbit passado. As chaves podem ser classificadas com memcmp.
rgcbKeys
Uma matriz de comprimentos de chave. rgpvKeys[n] deve apontar para uma chave de comprimento rgcbKeys[n]
ckeys
O número de chaves. rgpvKeys e rgcbKeys devem apontar para uma matriz com pelo menos elementos ckeys.
pckeysPreread
Retorna o número de chaves para as quais as pré-leituras foram realmente emitidas. Este parâmetro pode ser NULL.
grbit
Isso deve ser JET_bitPrereadForward ou JET_bitPrereadBackward. Se grbit for JET_bitPrereadForward, as chaves deverão ser classificadas em ordem crescente. Se grbit for JET_bitPrereadBackward, as chaves deverão ser classificadas em ordem decrescente.
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.
Vários erros de E/S podem ser retornados junto com estes erros de uso da API:
Código de retorno |
Descrição |
---|---|
JET_errInvalidGrbit |
Grbit não era nem JET_bitPrereadForward nem JET_bitPrereadBackward. |
JET_errInvalidBufferSize |
Um tamanho de chave incorreto foi passado. As chaves não podem ser 0 nem mais longas do que o comprimento máximo da chave para a tabela. |
JET_errInvalidParameter |
Um parâmetro inválido foi passado. Isso pode ser causado por um valor nulo para um parâmetro necessário ou pode indicar que a matriz de chaves não está classificada corretamente. |
JetPrereadKeys percorre as páginas internas da árvore b para determinar quais páginas folha contêm as chaves especificadas por rgpvKeys/rgcbKeys. A lista de páginas folha é classificada e, em seguida, as pré-leituras são emitidas para os intervalos de páginas. O número de páginas que podem ser pré-lidas é limitado, portanto, é possível que nem todas as chaves possam ser pré-lidas. Nesse caso, o número de chaves realmente pré-lidas é retornado em pckeysPreread.
Requisitos
Requisito | Valor |
---|---|
Cliente |
Requer o Windows 7. |
Servidor |
Requer o Windows Server 2008 R2. |
Cabeçalho |
Declarado em Esent.h. |
Biblioteca |
Use ESENT.lib. |
DLL |
Requer ESENT.dll. |