Expand Minimize

RtlFindClearBits routine

The RtlFindClearBits routine searches for a range of clear bits of a requested size within a bitmap.

Syntax


ULONG RtlFindClearBits(
  _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 clear bits will satisfy this request.

HintIndex [in]

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

Return value

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

Remarks

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

Callers of RtlFindClearBits 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, RtlFindClearBits can be called at any IRQL.

Requirements

Version

Available starting with Windows 2000.

Header

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

Library

Ntoskrnl.lib

IRQL

<= APC_LEVEL (See Remarks section)

See also

RtlAreBitsClear
RTL_BITMAP
RtlFindClearBitsAndSet
RtlFindFirstRunClear
RtlFindLongestRunClear
RtlInitializeBitMap
RtlNumberOfClearBits
RtlFindSetBits

 

 

Send comments about this topic to Microsoft

Show:
© 2014 Microsoft