RtlClearBits function (wdm.h)

The RtlClearBits routine sets all bits in the specified range of bits in the bitmap to zero.

Syntax

NTSYSAPI VOID RtlClearBits(
  [in] PRTL_BITMAP BitMapHeader,
  [in] ULONG       StartingIndex,
  [in] ULONG       NumberToClear
);

Parameters

[in] BitMapHeader

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

[in] StartingIndex

The index of the first bit in the bit range that is to be cleared. If the bitmap contains N bits, the bits are numbered from 0 to N-1.

[in] NumberToClear

Specifies how many bits to clear. If the bitmap contains N bits, this parameter can be a value in the range 1 to (N - StartingIndex).

Return value

This routine does not return a value.

Remarks

If the NumberToClear parameter is zero, RtlClearBits simply returns control without clearing any bits.

The sum (StartingIndex + NumberToClear) must not exceed the SizeOfBitMap parameter value specified in the RtlInitializeBitMap call that initialized the bitmap.

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

Requirements

Requirement Value
Minimum supported client Available starting with Windows 2000.
Target Platform Universal
Header wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
Library NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL (See Remarks section.)

See also

RTL_BITMAP

RtlAreBitsSet

RtlClearAllBits

RtlFindSetBits

RtlFindSetBitsAndClear

RtlInitializeBitMap

RtlNumberOfSetBits