JetPrereadKeys-Funktion
Gilt für: Windows | Windows Server
JetPrereadKeys-Funktion
Die JetPrereadKeys-Funktion liest Schlüsselwerte, um die Leistung der Versionsspeicherbereinigung zu verbessern.
Windows 7: PrereadKeys-Funktion wird in Windows 7 eingeführt.
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
);
Parameter
sesid
Der Datenbanksitzungskontext, der für den API-Aufruf verwendet werden soll.
tableid
Der Cursor, der für diesen Aufruf verwendet werden soll.
rgpvKeys
Ein Array von Zeigern auf Schlüssel. Schlüssel können mit JetMakeKey erstellt oder mit JetGetBookmark abgerufen werden. Die Schlüssel müssen je nach übergebenem Grbit in aufsteigender oder absteigender Reihenfolge sortiert werden. Schlüssel können mit memcmp sortiert werden.
rgcbKeys
Ein Array von Schlüssellängen. rgpvKeys[n] sollte auf einen Schlüssel der Länge rgcbKeys[n] verweisen.
ckeys
Die Anzahl der Schlüssel. rgpvKeys und rgcbKeys müssen jeweils auf ein Array mit mindestens ckeys-Elementen zeigen.
pckeysPreread
Gibt die Anzahl der Schlüssel zurück, für die Prereads tatsächlich ausgestellt wurden. Dieser Parameter kann NULL sein.
grbit
Dies muss entweder JET_bitPrereadForward oder JET_bitPrereadBackward sein. Wenn grbit JET_bitPrereadForward ist, müssen die Schlüssel in aufsteigender Reihenfolge sortiert werden. Wenn grbit JET_bitPrereadBackward ist, müssen die Schlüssel in absteigender Reihenfolge sortiert werden.
Rückgabewert
Diese Funktion gibt den Datentyp JET_ERR mit einem der folgenden Rückgabecodes zurück. Weitere Informationen zu möglichen ESE-Fehlern finden Sie unter Erweiterbare Speichermodulfehler und Fehlerbehandlungsparameter.
Verschiedene E/A-Fehler können zusammen mit den folgenden API-Verwendungsfehlern zurückgegeben werden:
Rückgabecode |
Beschreibung |
---|---|
JET_errInvalidGrbit |
Grbit war weder JET_bitPrereadForward noch JET_bitPrereadBackward. |
JET_errInvalidBufferSize |
Eine falsche Schlüsselgröße wurde übergeben. Schlüssel dürfen weder 0 noch länger als die maximale Schlüssellänge für die Tabelle sein. |
JET_errInvalidParameter |
Ein ungültiger Parameter wurde übergeben. Dies kann durch einen NULL-Wert für einen erforderlichen Parameter verursacht werden oder darauf hinweisen, dass das Schlüsselarray nicht ordnungsgemäß sortiert ist. |
JetPrereadKeys durchläuft die internen Seiten der b-Struktur, um zu bestimmen, welche Blattseiten die durch rgpvKeys/rgcbKeys angegebenen Schlüssel enthalten. Die Liste der Blattseiten wird sortiert, und dann werden Vorablese für die Seitenbereiche ausgegeben. Die Anzahl der Seiten, die vorab gelesen werden können, ist begrenzt, sodass möglicherweise nicht alle Schlüssel vorab gelesen werden. In diesem Fall wird die Anzahl der tatsächlich vorgelesenen Schlüssel in pckeysPreread zurückgegeben.
Anforderungen
Anforderung | Wert |
---|---|
Client |
Erfordert Windows 7. |
Server |
Erfordert Windows Server 2008 R2. |
Kopfzeile |
Deklariert in Esent.h. |
Bibliothek |
Verwenden Sie ESENT.lib. |
DLL |
Erfordert ESENT.dll. |