Condividi tramite


Funzione JetPrereadKeys

Si applica a: Windows | Windows Server

Funzione JetPrereadKeys

La funzione JetPrereadKeys legge i valori chiave per migliorare le prestazioni della pulizia dell'archivio versioni.

Windows 7: La funzione PrereadKeys viene introdotta in 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
     );

Parametri

sesid

Contesto della sessione di database da usare per la chiamata API.

tableid

Cursore da usare per questa chiamata.

rgpvKeys

Matrice di puntatori a chiavi. Le chiavi possono essere eseguite con JetMakeKey o recuperate con JetGetBookmark. Le chiavi devono essere ordinate in ordine crescente o decrescente, a seconda del grbit passato. Le chiavi possono essere ordinate con memcmp.

rgcbKeys

Matrice di lunghezze chiave. rgpvKeys[n] deve puntare a una chiave di lunghezza rgcbKeys[n]

ckeys

Numero di chiavi. rgpvKeys e rgcbKeys devono ogni punto a una matrice con almeno elementi ckeys.

pckeysPreread

Restituisce il numero di chiavi che sono state effettivamente rilasciate per i preread. Questo parametro può essere NULL.

grbit

Deve essere JET_bitPrereadForward o JET_bitPrereadBackward. Se grbit è JET_bitPrereadForward, le chiavi devono essere ordinate in ordine crescente. Se grbit è JET_bitPrereadBackward, le chiavi devono essere ordinate in ordine decrescente.

Valore restituito

Questa funzione restituisce il tipo di dati JET_ERR con uno dei codici restituiti seguenti. Per altre informazioni sugli errori ESE possibili, vedere Errori del motore di archiviazione estendibili e parametri di gestione degli errori.

È possibile restituire vari errori di I/O insieme a questi errori di utilizzo dell'API:

Codice restituito

Descrizione

JET_errInvalidGrbit

Grbit non era JET_bitPrereadForward né JET_bitPrereadBackward.

JET_errInvalidBufferSize

Le dimensioni della chiave non corrette sono state passate. Le chiavi non possono essere 0 né più lunghe della lunghezza massima della chiave per la tabella.

JET_errInvalidParameter

È stato passato un parametro non valido. Ciò può essere causato da un valore Null per un parametro obbligatorio o può indicare che la matrice di chiavi non è ordinata correttamente.

JetPrereadKeys attraversa le pagine interne dell'albero b per determinare quali pagine foglia contengono le chiavi specificate da rgpvKeys/rgcbKeys. L'elenco delle pagine foglia viene ordinato e quindi vengono rilasciate preread per gli intervalli di pagine. Il numero di pagine che possono essere preread è limitato in modo che non tutte le chiavi possano essere preread. In questo caso, il numero di chiavi effettivamente preread viene restituito in pckeysPreread.

Requisiti

Requisito Valore

Client

Richiede Windows 7.

Server

Richiede Windows Server 2008 R2.

Intestazione

Dichiarato in Esent.h.

Libreria

Usare ESENT.lib.

DLL

Richiede ESENT.dll.