#ifndef _NTRTL_H
NTSYSAPI
VOID
NTAPI
RtlClearBits(
_In_ PRTL_BITMAP BitMapHeader,
_In_range_(0, BitMapHeader->SizeOfBitMap - NumberToClear) ULONG StartingIndex,
_In_range_(0, BitMapHeader->SizeOfBitMap - StartingIndex) ULONG NumberToClear
);
View code on GitHub// wdm.h
NTSYSAPI VOID RtlClearBits(
[in] PRTL_BITMAP BitMapHeader,
[in] ULONG StartingIndex,
[in] ULONG NumberToClear
);
View the official Windows Driver Kit DDI referenceThis function is documented in Windows Driver Kit.
The RtlClearBits routine sets all bits in the specified range of bits in the bitmap to zero.
BitMapHeader [in]A pointer to the RTL_BITMAP structure that describes the bitmap. This structure must have been initialized by the RtlInitializeBitMap routine.
StartingIndex [in]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.
NumberToClear [in]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).
This routine does not return a value.
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.