RtlSetBits - NtDoc

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

NTSYSAPI
VOID
NTAPI
RtlSetBits(
    _In_ PRTL_BITMAP BitMapHeader,
    _In_range_(0, BitMapHeader->SizeOfBitMap - NumberToSet) ULONG StartingIndex,
    _In_range_(0, BitMapHeader->SizeOfBitMap - StartingIndex) ULONG NumberToSet
    );

#endif

View code on GitHub
// wdm.h

NTSYSAPI VOID RtlSetBits(
  [in] PRTL_BITMAP BitMapHeader,
  [in] ULONG       StartingIndex,
  [in] ULONG       NumberToSet
);
View the official Windows Driver Kit DDI reference

NtDoc

This function is documented in Windows Driver Kit.

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

RtlSetBits function

Description

The RtlSetBits routine sets all bits in a given range of a given bitmap variable.

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 set. This is a zero-based value indicating the position of the first bit in the range.

NumberToSet [in]

Specifies how many bits to set.

Return value

None

Remarks

RtlSetBits simply returns control if the input NumberToSet is zero. StartingIndex plus NumberToSet must be less than or equal to BitMapHeader->SizeOfBitMap.

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

See also

RTL_BITMAP

RtlAreBitsClear

RtlFindClearBitsAndSet

RtlFindClearRuns

RtlFindFirstRunClear

RtlFindLastBackwardRunClear

RtlFindLongestRunClear

RtlFindNextForwardRunClear

RtlInitializeBitMap

RtlNumberOfClearBits

RtlSetAllBits