次の方法で共有


RtlFindFirstRunClear 関数 (wdm.h)

RtlFindFirstRunClear ルーチンは、特定のビットマップ内のクリア ビットの最初の連続した範囲を検索します。

構文

NTSYSAPI ULONG RtlFindFirstRunClear(
  [in]  PRTL_BITMAP BitMapHeader,
  [out] PULONG      StartingIndex
);

パラメーター

[in] BitMapHeader

ビットマップを記述する RTL_BITMAP 構造体へのポインター。 この構造体は 、RtlInitializeBitMap ルーチンによって初期化されている必要があります。

[out] StartingIndex

ビットマップ内の最初のクリア実行の開始インデックスが返される変数へのポインター。 これは、返される範囲内の最初のクリア ビットのビット位置を示す 0 から始まる値です。 RtlFindFirstRunClear でクリア ビットの実行が見つからない場合、その値は意味がありません。

戻り値

RtlFindFirstRunClear は、 StartingIndex で始まる実行のビット数を返し、ビットマップ内でクリア ビットの実行が見つからない場合は 0 を返します。

注釈

返される実行は、1 つのクリア ビットを持つことができます。 つまり、クリア ビットが見つかったら、 RtlFindFirstRunClear は、次のセット ビットが見つかるまで検索を続け、検出された実行でクリア ビットの数を返します。

ビットマップ変数を含むメモリがページング可能であるか、BitMapHeader のメモリがページング可能な場合、RtlFindFirstRunClear の呼び出し元は IRQL <= APC_LEVELで実行されている必要があります。 それ以外の場合は、任意の IRQL で RtlFindFirstRunClear を呼び出すことができます。

要件

要件
サポートされている最小のクライアント Windows 2000 以降で使用できます。
対象プラットフォーム ユニバーサル
Header wdm.h (Wdm.h、Ntddk.h、Ntifs.h を含む)
Library NtosKrnl.lib
[DLL] NtosKrnl.exe
IRQL <= APC_LEVEL (「解説」セクションを参照)

こちらもご覧ください

RTL_BITMAP

RtlAreBitsClear

RtlFindClearBits

RtlFindClearRuns

RtlFindFirstRunClear

RtlFindLastBackwardRunClear

RtlFindLongestRunClear

RtlFindNextForwardRunClear

RtlInitializeBitMap

RtlNumberOfClearBits

RtlSetBits