JetPrereadKeys 関数
適用対象: Windows |Windows Server
JetPrereadKeys 関数
JetPrereadKeys 関数は、バージョン ストアのクリーンアップのパフォーマンスを向上させるためにキー値を読み取ります。
Windows 7: PrereadKeys 関数が 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
);
パラメーター
sesid
API 呼び出しに使用するデータベース セッション コンテキスト。
tableid
この呼び出しに使用するカーソル。
rgpvKeys
キーへのポインターの配列。 キーは、 JetMakeKey を使用して作成することも、 JetGetBookmark を使用して取得することもできます。 渡される grbit に応じて、キーを昇順または降順で並べ替える必要があります。 キーは memcmp で並べ替えることができます。
rgcbKeys
キーの長さの配列。 rgpvKeys[n] は長さのキーを指す必要があります rgcbKeys[n]
ckeys
キーの数。 rgpvKeys と rgcbKeys は、少なくとも ckeys 要素を持つ配列を指す必要があります。
pckeysPreread
プリスレッドが実際に発行されたキーの数を返します。 このパラメーターは、NULL でもかまいません。
grbit
これは、JET_bitPrereadForwardまたはJET_bitPrereadBackwardである必要があります。 grbit がJET_bitPrereadForward場合は、キーを昇順で並べ替える必要があります。 grbit がJET_bitPrereadBackward場合は、キーを降順で並べ替える必要があります。
戻り値
この関数は、次のいずれかのリターン コードを使用して 、JET_ERR データ型を返します。 考えられる ESE エラーの詳細については、「 拡張可能ストレージ エンジン エラー 」および「 エラー処理パラメーター」を参照してください。
次の API 使用エラーと共に、さまざまな I/O エラーを返すことができます。
リターン コード |
説明 |
---|---|
JET_errInvalidGrbit |
Grbit はJET_bitPrereadForwardでもJET_bitPrereadBackwardでもありません。 |
JET_errInvalidBufferSize |
正しくないキー サイズが渡されました。 キーは、テーブルの最大キー長を 0 以上にすることはできません。 |
JET_errInvalidParameter |
無効なパラメーターが渡されました。 これは、必要なパラメーターの null 値が原因で発生する可能性があります。または、キー配列が正しく並べ替えされていないことを示している可能性があります。 |
JetPrereadKeys は、b ツリーの内部ページを走査して、rgpvKeys/rgcbKeys で指定されたキーを含むリーフ ページを決定します。 リーフ ページの一覧が並べ替えられた後、ページの範囲に対してプリスレッドが発行されます。 プレ読み取り可能なページの数は限られているため、すべてのキーがプレ読み取りできるわけではありません。 その場合、実際にプリスレッドされるキーの数は pckeysPreread で返されます。
要件
要件 | 値 |
---|---|
Client |
Windows 7 が必要です。 |
[サーバー] |
Windows Server 2008 R2 が必要です。 |
Header |
Esent.h で宣言されています。 |
Library |
ESENT.lib を使用します。 |
[DLL] |
ESENT.dllが必要です。 |