RtlFindSetBits routine

The RtlFindSetBits routine searches for a range of set bits of a requested size within a bitmap.

Syntax


ULONG RtlFindSetBits(
  _In_ PRTL_BITMAP BitMapHeader,
  _In_ ULONG       NumberToFind,
  _In_ ULONG       HintIndex
);

Parameters

BitMapHeader [in]

A pointer to the RTL_BITMAP structure that describes the bitmap. This structure must have been initialized by the RtlInitializeBitMap routine.

NumberToFind [in]

Specifies how many contiguous set bits will satisfy this request.

HintIndex [in]

Specifies a zero-based bit position around which to start looking for a set bit range of the given size.

Return value

RtlFindSetBits either returns the zero-based starting bit index for a set bit range of the requested size, or it returns 0xFFFFFFFF if it cannot find such a range within the given bitmap variable.

Remarks

For a successful call, the returned bit position is not necessarily equivalent to the given HintIndex. If necessary, RtlFindSetBits searches the whole bitmap to locate a set bit range of the requested size. However, it starts searching for the requested range near HintIndex, so callers can find such a range more quickly when they can supply appropriate hints about where to start looking.

Callers of RtlFindSetBits must be running at IRQL <= APC_LEVEL if the memory that contains the bitmap variable is pageable or the memory at BitMapHeader is pageable. Otherwise, RtlFindSetBits can be called at any IRQL.

Requirements

Target platform

Universal

Version

Available starting with Windows 2000.

Header

Wdm.h (include Wdm.h, Ntddk.h, or Ntifs.h)

Library

NtosKrnl.lib

DLL

NtosKrnl.exe

IRQL

<= APC_LEVEL (See Remarks section)

See also

RtlAreBitsSet
RTL_BITMAP
RtlClearBits
RtlFindClearBits
RtlFindSetBitsAndClear
RtlInitializeBitMap
RtlNumberOfSetBits

 

 

Send comments about this topic to Microsoft

Show: