RtlFindFirstRunClear-Funktion (wdm.h)

Die RtlFindFirstRunClear-Routine sucht nach dem anfänglichen zusammenhängenden Bereich von klaren Bits innerhalb einer bestimmten Bitmap.

Syntax

NTSYSAPI ULONG RtlFindFirstRunClear(
  [in]  PRTL_BITMAP BitMapHeader,
  [out] PULONG      StartingIndex
);

Parameter

[in] BitMapHeader

Ein Zeiger auf die RTL_BITMAP-Struktur , die die Bitmap beschreibt. Diese Struktur muss von der RtlInitializeBitMap-Routine initialisiert worden sein.

[out] StartingIndex

Zeiger auf eine Variable, in der der Startindex der anfänglichen Clear-Ausführung in der Bitmap zurückgegeben wird. Dies ist ein nullbasierter Wert, der die Bitposition des ersten leeren Bits im zurückgegebenen Bereich angibt. Sein Wert ist bedeutungslos, wenn RtlFindFirstRunClear keine Ausführung von clear Bits finden kann.

Rückgabewert

RtlFindFirstRunClear gibt entweder die Anzahl der Bits in der Ausführung ab StartingIndex zurück, oder null, wenn keine Ausführung von leeren Bits innerhalb der Bitmap gefunden werden kann.

Hinweise

Eine zurückgegebene Ausführung kann ein einzelnes Clear Bit aufweisen. Das heißt, sobald ein eindeutiges Bit gefunden wurde, setzt RtlFindFirstRunClear die Suche fort, bis das nächste festgelegte Bit gefunden wird, und gibt dann die Anzahl der eindeutigen Bits in der gefundenen Ausführung zurück.

Aufrufer von RtlFindFirstRunClear müssen unter IRQL <= APC_LEVEL ausgeführt werden, wenn der Speicher, der die Bitmapvariable enthält, ausgelagert werden kann oder der Speicher bei BitMapHeader ausgelagert werden kann. Andernfalls kann RtlFindFirstRunClear in jedem IRQL aufgerufen werden.

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
IRQL <= APC_LEVEL (siehe Abschnitt "Hinweise")

Weitere Informationen

RTL_BITMAP

RtlAreBitsClear

RtlFindClearBits

RtlFindClearRuns

RtlFindFirstRunClear

RtlFindLastBackwardRunClear

RtlFindLongestRunClear

RtlFindNextForwardRunClear

RtlInitializeBitMap

RtlNumberOfClearBits

RtlSetBits