RtlFindSetBits-Funktion (wdm.h)
Die RtlFindSetBits-Routine sucht nach einem Bereich von festgelegten Bits einer angeforderten Größe innerhalb einer Bitmap.
Syntax
NTSYSAPI ULONG RtlFindSetBits(
[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 Setbits diese Anforderung erfüllen.
[in] HintIndex
Gibt eine nullbasierte Bitposition an, um die nach einem bestimmten Bitbereich der angegebenen Größe gesucht werden soll.
Rückgabewert
RtlFindSetBits gibt entweder den nullbasierten Startbitindex für einen festgelegten Bitbereich der angeforderten Größe zurück, oder es gibt 0xFFFFFFFF zurück, wenn ein solcher Bereich innerhalb der angegebenen Bitmapvariable nicht gefunden werden kann.
Hinweise
Bei einem erfolgreichen Aufruf entspricht die zurückgegebene Bitposition nicht unbedingt der angegebenen HintIndex-Position. Bei Bedarf durchsucht RtlFindSetBits die gesamte Bitmap, um einen bestimmten Bitbereich der angeforderten Größe zu suchen. Es beginnt jedoch mit der Suche nach dem angeforderten Bereich in der Nähe von HintIndex, sodass Anrufer einen solchen Bereich schneller finden können, wenn sie geeignete Hinweise geben können, wo sie suchen sollten.
Aufrufer von RtlFindSetBits müssen unter IRQL <= APC_LEVEL ausgeführt werden, wenn der Arbeitsspeicher, der die Bitmapvariablen enthält, auslagerungsfähig ist oder der Arbeitsspeicher bei BitMapHeader ausgelagert werden kann. Andernfalls kann RtlFindSetBits an einem beliebigen 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) |