RtlIsGenericTableEmpty ルーチンは、ジェネリック テーブルが空かどうかを判断します。
構文
NTSYSAPI BOOLEAN RtlIsGenericTableEmpty(
[in] PRTL_GENERIC_TABLE Table
);
パラメーター
[in] Table
ジェネリック テーブル (RTL_GENERIC_TABLE) へのポインター。 テーブルは、RtlInitializeGenericTable 呼び出すことによって初期化されている必要があります。
戻り値
RtlIsGenericTableEmpty 、テーブル に 1 つ以上の要素が含まれている場合は FALSE を返 、それ以外の場合は TRUE 返します。
備考
既定では、オペレーティング システムは splay ツリーを使用して汎用テーブルを実装します。 状況によっては、スプレイ ツリーを操作すると、ツリーが深く狭く、直線に変わる場合もあります。 非常に深いツリーでは、検索のパフォーマンスが低下します。 Adelson-Velsky/Landis (AVL) ツリーを使用して、汎用テーブルのよりバランスの取れた浅いツリー実装を確保できます。 ドライバーでツリーを再生するのではなく AVL ツリーを使用するように汎用テーブル ルーチンを構成する場合は、Ntddk.h を含める前に、共通ヘッダー ファイルに次の define ステートメント挿入します。
#define RTL_USE_AVL_TABLES 0
RTL_USE_AVL_TABLESが定義されていない場合は、汎用表ルーチンの AVL 形式を使用する必要があります。 たとえば、RtlIsGenericTableEmpty の代わりに 、 RtlIsGenericTableEmptyAvl構造体ルーチンを使用します。 RtlIsGenericTableEmptyAvl をする呼び出しでは、呼び出し元は RTL_GENERIC_TABLEではなく、RTL_AVL_TABLE テーブル構造を渡す必要があります。
呼び出し元によって割り当てられたメモリがページング可能な場合、RtlIsGenericTableEmpty 呼び出し元が≤ APC_LEVELで実行されている必要があります。
必要条件
| 要件 | 価値 |
|---|---|
| サポートされる最小クライアント | このルーチンは、Microsoft Windows 2000 以降で使用できます。 |
| ターゲット プラットフォーム の | 万国 |
| ヘッダー | ntddk.h (Ntddk.h、Ntifs.h を含む) |
| ライブラリ | NtosKrnl.lib |
| DLL | NtosKrnl.exe |
| IRQL | <= APC_LEVEL (「解説」セクションを参照) |
関連項目
RtlInitializeGenericTable の