RtlFindClearRuns 函数 (wdm.h)

RtlFindClearRuns 例程在给定位图中查找指定数量的清除位。

语法

NTSYSAPI ULONG RtlFindClearRuns(
  [in]  PRTL_BITMAP     BitMapHeader,
  [out] PRTL_BITMAP_RUN RunArray,
  [in]  ULONG           SizeOfRunArray,
  [in]  BOOLEAN         LocateLongestRuns
);

参数

[in] BitMapHeader

指向描述位图 的RTL_BITMAP 结构的指针。 此结构必须已由 RtlInitializeBitMap 例程初始化。

[out] RunArray

指向调用方分配的数组中的第一个元素的指针,该元素用于在给定位图变量中找到的每个清除运行的位位置和长度。

[in] SizeOfRunArray

指定满足此请求的最大清除运行数。

[in] LocateLongestRuns

如果 为 TRUE,则指定例程是在整个位图中搜索它可以找到的最长清除运行。 否则,例程在找到 SizeOfRunArray 指定的清除运行数时停止搜索。

返回值

RtlFindClearRuns 返回找到的清除运行数。

注解

如果 LocateLongestRuns TRUE,则 RunArray 中指示的清除运行将从最长到最短进行排序。 清除运行可以包含单个位。

如果包含位图变量的内存可分页或 BitMapHeader 上的内存可分页,则 RtlFindClearRuns 的调用方必须在 IRQL <= APC_LEVEL 运行。 否则,可以在任何 IRQL 中调用 RtlFindClearRuns

要求

要求
最低受支持的客户端 从 Windows 2000 开始可用。
目标平台 通用
标头 wdm.h(包括 Wdm.h、Ntddk.h、Ntifs.h)
Library NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL (请参阅备注部分)

另请参阅

RTL_BITMAP

RtlAreBitsClear

RtlFindClearBits

RtlFindFirstRunClear

RtlFindLastBackwardRunClear

RtlFindLongestRunClear

RtlFindNextForwardRunClear

RtlInitializeBitMap