Функция RtlFindSetBitsAndClear (wdm.h)
Подпрограмма RtlFindSetBitsAndClear ищет диапазон заданных битов запрошенного размера в растровом рисунке и очищает все биты в диапазоне при его обнаружении.
Синтаксис
NTSYSAPI ULONG RtlFindSetBitsAndClear(
[in] PRTL_BITMAP BitMapHeader,
[in] ULONG NumberToFind,
[in] ULONG HintIndex
);
Параметры
[in] BitMapHeader
Указатель на структуру RTL_BITMAP , описывающую растровое изображение. Эта структура должна быть инициализирована подпрограммой RtlInitializeBitMap .
[in] NumberToFind
Указывает, сколько битов непрерывного набора будет удовлетворять этому запросу.
[in] HintIndex
Задает отсчитываемую от нуля позицию бита, вокруг которой начинается поиск заданного битового диапазона заданного размера.
Возвращаемое значение
RtlFindSetBitsAndClear либо возвращает отсчитываемый от нуля начальный битовый индекс для заданного битового диапазона запрошенного размера, который он очищен, либо возвращает 0xFFFFFFFF, если не удается найти такой диапазон в заданной переменной растрового изображения.
Комментарии
Для успешного вызова возвращаемое битовое положение не обязательно эквивалентно заданному элементу HintIndex. При необходимости RtlFindSetBitsAndClear выполняет поиск всего растрового изображения, чтобы найти заданный диапазон битов запрошенного размера. Тем не менее, он начинает поиск запрошенного диапазона рядом с HintIndex, поэтому вызывающие пользователи могут быстрее очистить такой диапазон, когда они могут предоставить соответствующие подсказки о том, с чего начать поиск.
Вызывающие элементы RtlFindSetBitsAndClear должны выполняться в среде IRQL <= APC_LEVEL, если память, содержащая переменную растрового изображения, доступна для страниц или память BitMapHeader является страничной. В противном случае RtlFindSetBitsAndClear можно вызвать в любом IRQL.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Доступно начиная с Windows 2000. |
Целевая платформа | Универсальное |
Верхняя часть | wdm.h (включая Wdm.h, Ntddk.h, Ntifs.h) |
Библиотека | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= APC_LEVEL (см. раздел "Примечания") |