RtlAreBitsSet - NtDoc

Native API online documentation, based on the System Informer (formerly Process Hacker) phnt headers
#ifndef _NTRTL_H

_Check_return_
NTSYSAPI
BOOLEAN
NTAPI
RtlAreBitsSet(
    _In_ PRTL_BITMAP BitMapHeader,
    _In_ ULONG StartingIndex,
    _In_ ULONG Length
    );

#endif

View code on GitHub
// wdm.h

NTSYSAPI BOOLEAN RtlAreBitsSet(
  [in] PRTL_BITMAP BitMapHeader,
  [in] ULONG       StartingIndex,
  [in] ULONG       Length
);
View the official Windows Driver Kit DDI reference

NtDoc

This function is documented in Windows Driver Kit.

Windows Driver Kit DDI reference (nf-wdm-rtlarebitsset)

RtlAreBitsSet function

Description

The RtlAreBitsSet routine determines whether a given range of bits within a bitmap variable is set.

Parameters

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]

Specifies the start of the bit range to be tested. This is a zero-based value indicating the position of the first bit in the range.

Length [in]

Specifies how many bits to test.

Return value

RtlAreBitsSet returns TRUE if Length consecutive bits beginning at StartingIndex are set (that is, all the bits from StartingIndex to (StartingIndex + Length)). It returns FALSE if any bit in the given range is clear, if the given range is not a proper subset of the bitmap, or if the given Length is zero.

Remarks

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

See also

RTL_BITMAP

RtlAreBitsClear

RtlCheckBit

RtlFindSetBits

RtlInitializeBitMap

RtlSetAllBits