Freigeben über


RtlInitializeBitMap-Funktion (wdm.h)

Die RtlInitializeBitMap-Routine initialisiert den Header einer Bitmapvariablen.

Syntax

NTSYSAPI VOID RtlInitializeBitMap(
  [out] PRTL_BITMAP             BitMapHeader,
  [in]  __drv_aliasesMem PULONG BitMapBuffer,
  [in]  ULONG                   SizeOfBitMap
);

Parameter

[out] BitMapHeader

Zeiger auf eine leere RTL_BITMAP-Struktur .

[in] BitMapBuffer

Zeiger auf den vom Aufrufer zugewiesenen Speicher für die Bitmap selbst. Die Basisadresse dieses Puffers muss ULONG-ausgerichtet sein. Die Größe des zugeordneten Puffers muss ein ganzzahliges Vielfaches von Sizeof(ULONG)-Bytes sein.

[in] SizeOfBitMap

Gibt die Anzahl der Bits in der Bitmap an. Dieser Wert kann eine beliebige Anzahl von Bits sein, die in den Puffer passen, der der Bitmap zugeordnet ist.

Rückgabewert

Keine

Bemerkungen

Ein Treiber kann eine Bitmapvariable als wirtschaftliche Möglichkeit verwenden, um eine Reihe wiederverwendbarer Elemente nachzuverfolgen. Dateisysteme verwenden beispielsweise eine Bitmapvariable, um nachzuverfolgen, welche Cluster/Sektoren auf einem Datenträger bereits zugeordnet wurden, um Dateidaten zu speichern. Der vom System bereitgestellte SCSI-Porttreiber verwendet eine Bitmapvariable, um nachzuverfolgen, welche Warteschlangentags SCSI-Anforderungsblöcken (SRBs) zugewiesen wurden.

RtlInitializeBitMap muss vor jeder anderen RtlXxx-Routine aufgerufen werden, die mit einer Bitmapvariablen arbeitet. Der BitMapHeader-Zeiger ist ein Eingabeparameter in allen nachfolgenden RtlXxx-Aufrufen , die mit der Bitmapvariablen des Aufrufers in BitMapBuffer arbeiten. Der Aufrufer ist für die Synchronisierung des Zugriffs auf die Bitmapvariable verantwortlich.

RtlInitializeBitMap initialisiert die vom Aufrufer bereitgestellte RTL_BITMAP-Struktur , indem die vom Aufrufer bereitgestellten BitMapBuffer - und SizeOfBitMap-Werte in sie kopiert werden. Anschließend kann die Struktur an andere Routinen übergeben werden, um die Bitmap zu bearbeiten. RtlInitializeBitMap ändert den Inhalt der Bitmap nicht.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Verfügbar ab Windows 2000.
Zielplattform Universell
Header wdm.h (einschließlich Wdm.h, Ntddk.h, Ntifs.h)
Bibliothek NtosKrnl.lib
DLL NtosKrnl.exe (Kernelmodus); Ntdll.dll (Benutzermodus)
IRQL Beliebige IRQL, wenn BitMapHeader speicherresident ist; <= APC_LEVEL, wenn BitMapHeader ausgelagert werden kann oder unter Windows 7 und früher

Weitere Informationen

RTL_BITMAP

RtlAreBitsClear

RtlAreBitsSet

RtlCheckBit

RtlClearAllBits

RtlClearBits

RtlFindClearBits

RtlFindClearBitsAndSet

RtlFindClearRuns

RtlFindFirstRunClear

RtlFindLastBackwardRunClear

RtlFindLongestRunClear

RtlFindNextForwardRunClear

RtlFindSetBits

RtlFindSetBitsAndClear

RtlNumberOfClearBits

RtlNumberOfSetBits

RtlSetAllBits

RtlSetBits