Compartilhar via


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.