Freigeben über


RtlFindClearRuns-Funktion (wdm.h)

Die RtlFindClearRuns-Routine ermittelt die angegebene Anzahl von Ausführungen von eindeutigen Bits innerhalb einer bestimmten Bitmap.

Syntax

NTSYSAPI ULONG RtlFindClearRuns(
  [in]  PRTL_BITMAP     BitMapHeader,
  [out] PRTL_BITMAP_RUN RunArray,
  [in]  ULONG           SizeOfRunArray,
  [in]  BOOLEAN         LocateLongestRuns
);

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] RunArray

Zeiger auf das erste Element in einem aufruferseitig zugewiesenen Array für die Bitposition und Länge jeder clear Run in der angegebenen Bitmapvariablen.

[in] SizeOfRunArray

Gibt die maximale Anzahl von Löschausführungen an, um diese Anforderung zu erfüllen.

[in] LocateLongestRuns

Wenn TRUE, gibt an, dass die Routine darin besteht, die gesamte Bitmap nach den längsten Freilaufausführungen zu durchsuchen, die sie finden kann. Andernfalls beendet die Routine die Suche, wenn sie die anzahl der durch SizeOfRunArray angegebenen Clear runs gefunden hat.

Rückgabewert

RtlFindClearRuns gibt die Anzahl der gefundenen Eindeutigkeitsausführungen zurück.

Hinweise

Wenn LocateLongestRuns TRUE ist, werden die unter RunArray angegebenen klaren Ausführungen von längsten bis kürzesten sortiert. Eine klare Ausführung kann aus einem einzelnen Bit bestehen.

Aufrufer von RtlFindClearRuns müssen unter IRQL <= APC_LEVEL ausgeführt werden, wenn der Arbeitsspeicher, der die Bitmapvariable enthält, auslagerungsfähig ist oder der Arbeitsspeicher bei BitMapHeader ausgelagert werden kann. Andernfalls kann RtlFindClearRuns 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

RtlFindFirstRunClear

RtlFindLastBackwardRunClear

RtlFindLongestRunClear

RtlFindNextForwardRunClear

RtlInitializeBitMap