Export (0) Print
Expand All
IRP
MDL
Expand Minimize

RTL_BITMAP

The RTL_BITMAP structure is an opaque structure that describes a bitmap.

typedef struct _RTL_BITMAP {
  // opaque
} RTL_BITMAP, *PRTL_BITMAP;

Members

All members of this structure are opaque.

Remarks

Do not directly access the members of this structure. Drivers that have dependencies on member locations or that access member values directly might not remain compatible with future versions of the Windows operating system.

The RTL_BITMAP structure serves as a header for a general-purpose, one-dimensional bitmap of arbitrary length. A driver can use such a bitmap as an economical way to keep track of a set of reusable items. For example, a file system can use bitmaps to track which clusters and sectors on a hard disk have already been allocated to hold file data.

For a list of the RtlXxx routines that use RTL_BITMAP structures, see the following See Also section. The caller of these RtlXxx routines is responsible for allocating the storage for the RTL_BITMAP structure and for the buffer that contains the bitmap. This buffer must begin on a four-byte boundary in memory and must be a multiple of four bytes in length. The bitmap begins at the start of the buffer but can contain any number of bits that will fit in the allocated buffer.

Before supplying an RTL_BITMAP structure as a parameter to an RtlXxx routine, call the RtlInitializeBitMap routine to initialize the structure. The input parameters to this routine are a pointer to a buffer that contains the bitmap, and the size, in bits, of the bitmap. RtlInitializeBitMap does not change the contents of this buffer.

If the caller allocates the storage for the RTL_BITMAP structure and bitmap in paged memory, the caller must be running at IRQL <= APC_LEVEL when it passes a pointer to this structure as a parameter to any of the RtlXxx routines that are listed in the See Also section. If the caller allocates the storage from nonpaged memory (or, equivalently, from paged memory that is locked), the caller can be running at any IRQL when it calls the RtlXxx routine.

Requirements

Version

Supported in Windows 2000 and later versions of Windows.

Header

Wdm.h (include Wdm.h, Ntddk.h, or Ntifs.h)

See also

RtlAreBitsClear
RtlAreBitsSet
RtlCheckBit
RtlClearAllBits
RtlClearBit
RtlClearBits
RtlFindClearBits
RtlFindClearBitsAndSet
RtlFindClearRuns
RtlFindFirstRunClear
RtlFindLastBackwardRunClear
RtlFindLongestRunClear
RtlFindNextForwardRunClear
RtlFindSetBits
RtlFindSetBitsAndClear
RtlInitializeBitMap
RtlNumberOfClearBits
RtlNumberOfSetBits
RtlSetAllBits
RtlSetBit
RtlSetBits
RtlTestBit

 

 

Send comments about this topic to Microsoft

Show:
© 2014 Microsoft