Export (0) Print
Expand All
Expand Minimize

RtlFindClearBitsAndSet routine

The RtlFindClearBitsAndSet routine searches for a range of clear bits of a requested size within a bitmap and sets all bits in the range when it has been located.

Syntax


ULONG RtlFindClearBitsAndSet(
  _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

RtlFindClearBitsAndSet either returns the zero-based starting bit index for a clear bit range of the requested size that it set, 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, RtlFindClearBitsAndSet 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 have such a range reset more quickly when they can supply appropriate hints about where to start looking.

Callers of RtlFindClearBitsAndSet 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, RtlFindClearBitsAndSet 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

IRQL

<= APC_LEVEL (See Remarks section)

See also

RtlAreBitsClear
RTL_BITMAP
RtlFindClearBits
RtlFindClearRuns
RtlFindFirstRunClear
RtlFindLastBackwardRunClear
RtlFindLongestRunClear
RtlFindNextForwardRunClear
RtlInitializeBitMap
RtlNumberOfClearBits
RtlSetAllBits
RtlSetBits

 

 

Send comments about this topic to Microsoft

Show:
© 2015 Microsoft