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