RtlFindClearBitsAndSet 関数 (wdm.h)
RtlFindClearBitsAndSet ルーチンは、ビットマップ内の要求されたサイズのクリア ビットの範囲を検索し、その範囲内のすべてのビットを設定します。
構文
NTSYSAPI ULONG RtlFindClearBitsAndSet(
[in] PRTL_BITMAP BitMapHeader,
[in] ULONG NumberToFind,
[in] ULONG HintIndex
);
パラメーター
[in] BitMapHeader
ビットマップを記述する RTL_BITMAP 構造体へのポインター。 この構造体は 、RtlInitializeBitMap ルーチンによって初期化されている必要があります。
[in] NumberToFind
この要求を満たす連続するクリア ビットの数を指定します。
[in] HintIndex
指定したサイズの明確なビット範囲の検索を開始する 0 から始まるビット位置を指定します。
戻り値
RtlFindClearBitsAndSet は、設定した要求されたサイズのクリア ビット範囲の 0 から始まるビット インデックスを返すか、指定されたビットマップ変数内でそのような範囲が見つからない場合は0xFFFFFFFFを返します。
注釈
呼び出しが成功した場合、返されるビット位置は、必ずしも指定された HintIndex と等しいとは限りません。 必要に応じて、 RtlFindClearBitsAndSet はビットマップ全体を検索して、要求されたサイズの明確なビット範囲を見つけます。 ただし、 HintIndex から要求された範囲の検索を開始するため、呼び出し元は、検索を開始する場所に関する適切なヒントを提供できる場合に、このような範囲をより迅速にリセットできます。
ビットマップ変数を含むメモリがページング可能であるか、BitMapHeader のメモリがページング可能な場合、RtlFindClearBitsAndSet の呼び出し元は IRQL <= APC_LEVEL で実行されている必要があります。 それ以外の場合は、任意の IRQL で RtlFindClearBitsAndSet を呼び出すことができます。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 以降で使用できます。 |
対象プラットフォーム | ユニバーサル |
Header | wdm.h (Wdm.h、Ntddk.h、Ntifs.h を含む) |
Library | NtosKrnl.lib |
[DLL] | NtosKrnl.exe |
IRQL | <= APC_LEVEL (「解説」セクションを参照) |