RtlFindClearBits-Funktion (wdm.h)
Die RtlFindClearBits-Routine sucht nach einem Bereich von klaren Bits einer angeforderten Größe innerhalb einer Bitmap.
Syntax
NTSYSAPI ULONG RtlFindClearBits(
[in] PRTL_BITMAP BitMapHeader,
[in] ULONG NumberToFind,
[in] ULONG HintIndex
);
Parameter
[in] BitMapHeader
Ein Zeiger auf die RTL_BITMAP-Struktur , die die Bitmap beschreibt. Diese Struktur muss von der RtlInitializeBitMap-Routine initialisiert worden sein.
[in] NumberToFind
Gibt an, wie viele zusammenhängende eindeutige Bits diese Anforderung erfüllen.
[in] HintIndex
Gibt eine nullbasierte Bitposition an, von der aus nach einem eindeutigen Bitbereich der angegebenen Größe gesucht werden soll.
Rückgabewert
RtlFindClearBits gibt entweder den nullbasierten Anfangsbitindex für einen eindeutigen Bitbereich von mindestens der angeforderten Größe zurück, oder es wird 0xFFFFFFFF zurückgegeben, wenn ein solcher Bereich innerhalb der angegebenen Bitmap nicht gefunden werden kann.
Hinweise
Bei einem erfolgreichen Aufruf entspricht die zurückgegebene Bitposition nicht unbedingt der angegebenen HintIndex-Position. Bei Bedarf durchsucht RtlFindClearBits die gesamte Bitmap, um einen eindeutigen Bitbereich der angeforderten Größe zu finden. Anrufer können einen solchen Bereich schneller finden, wenn sie entsprechende Hinweise dazu geben können, wo sie suchen sollten.
Wenn zwischen dem Hinweisindex und dem Ende der Bitmap kein übereinstimmender Bereich gefunden wird, setzt RtlFindClearBits die Suche vom Anfang der Bitmap zurück zum Hinweisindex fort.
Wenn Nur ein Index zurückgegeben werden soll, der größer oder gleich einem Wert ist, verwenden Sie stattdessen RtlFindNextForwardRunClear .
Aufrufer von RtlFindClearBits müssen unter IRQL <= APC_LEVEL ausgeführt werden, wenn der Speicher, der die Bitmapvariable enthält, ausgelagert oder der Speicher bei BitMapHeader ausgelagert werden kann. Andernfalls kann RtlFindClearBits in jedem IRQL aufgerufen werden.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Universell |
Header | wdm.h (einschließlich Wdm.h, Ntddk.h, Ntifs.h) |
Bibliothek | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | IRQL <= APC_LEVEL (siehe Abschnitt "Hinweise") |