Поделиться через


Функция RtlFindClearBits (wdm.h)

Подпрограмма RtlFindClearBits выполняет поиск диапазона четких битов запрошенного размера в растровом рисунке.

Синтаксис

NTSYSAPI ULONG RtlFindClearBits(
  [in] PRTL_BITMAP BitMapHeader,
  [in] ULONG       NumberToFind,
  [in] ULONG       HintIndex
);

Параметры

[in] BitMapHeader

Указатель на структуру RTL_BITMAP , описывающую растровое изображение. Эта структура должна быть инициализирована подпрограммой RtlInitializeBitMap .

[in] NumberToFind

Указывает, сколько непрерывных чистых битов будет удовлетворять этому запросу.

[in] HintIndex

Задает отсчитываемую от нуля позицию бита, с которой начинается поиск четкого битового диапазона заданного размера.

Возвращаемое значение

RtlFindClearBits либо возвращает отсчитываемый от нуля начальный битовый индекс для четкого битового диапазона по крайней мере запрошенного размера, либо возвращает 0xFFFFFFFF, если не удается найти такой диапазон в заданном растровом рисунке.

Комментарии

Для успешного вызова возвращаемая битовая позиция не обязательно эквивалентна заданному элементу HintIndex. При необходимости RtlFindClearBits выполняет поиск всего растрового изображения, чтобы найти четкий битовый диапазон запрошенного размера. Абоненты могут найти такой диапазон быстрее, когда они могут предоставить соответствующие подсказки о том, где начать поиск.

Если соответствующий диапазон не найден между индексом подсказки и концом растрового изображения, RtlFindClearBits продолжает поиск от начала растрового изображения до индекса подсказки.

Если требуется возвращать только индекс, который больше или равен некоторому значению, используйте вместо него RtlFindNextForwardRunClear .

Вызывающие элементы RtlFindClearBits должны выполняться по адресу IRQL <= APC_LEVEL если память, содержащая переменную растрового изображения, является страничной или память BitMapHeader является страничной. В противном случае RtlFindClearBits можно вызвать в любом IRQL.

Требования

Требование Значение
Целевая платформа Универсальное
Верхняя часть wdm.h (включая Wdm.h, Ntddk.h, Ntifs.h)
Библиотека NtosKrnl.lib
DLL NtosKrnl.exe
IRQL IRQL <= APC_LEVEL (см. раздел "Примечания")

См. также раздел

RTL_BITMAP

RtlAreBitsClear

RtlFindClearBitsAndSet

RtlFindFirstRunClear

RtlFindLongestRunClear

RtlFindSetBits

RtlInitializeBitMap

RtlNumberOfClearBits