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 |