Fonction RtlFindClearBits (wdm.h)

La routine RtlFindClearBits recherche une plage de bits clairs d’une taille demandée dans une bitmap.

Syntaxe

NTSYSAPI ULONG RtlFindClearBits(
  [in] PRTL_BITMAP BitMapHeader,
  [in] ULONG       NumberToFind,
  [in] ULONG       HintIndex
);

Paramètres

[in] BitMapHeader

Pointeur vers la structure RTL_BITMAP qui décrit la bitmap. Cette structure doit avoir été initialisée par la routine RtlInitializeBitMap .

[in] NumberToFind

Spécifie le nombre de bits clairs contigus qui répondront à cette demande.

[in] HintIndex

Spécifie une position de bit de base zéro à partir de laquelle commencer à rechercher une plage de bits claire de la taille donnée.

Valeur retournée

RtlFindClearBits retourne l’index de bits de départ de base zéro pour une plage de bits claires d’au moins la taille demandée, ou renvoie 0xFFFFFFFF s’il ne parvient pas à trouver une telle plage dans l’image bitmap donnée.

Remarques

Pour un appel réussi, la position de bits retournée n’est pas nécessairement équivalente à la valeur HintIndex donnée. Si nécessaire, RtlFindClearBits recherche l’ensemble de l’image bitmap pour rechercher une plage de bits claire de la taille demandée. Les appelants peuvent trouver une telle plage plus rapidement lorsqu’ils peuvent fournir des conseils appropriés sur l’endroit où commencer à rechercher.

Si aucune plage correspondante n’est trouvée entre l’index d’indicateur et la fin de la bitmap, RtlFindClearBits continue la recherche depuis le début de la bitmap jusqu’à l’index d’indicateur.

Si vous souhaitez uniquement retourner un index supérieur ou égal à une valeur, utilisez plutôt RtlFindNextForwardRunClear .

Les appelants de RtlFindClearBits doivent être en cours d’exécution dans IRQL <= APC_LEVEL si la mémoire qui contient la variable bitmap est paginable ou si la mémoire de BitMapHeader est paginable. Sinon, RtlFindClearBits peut être appelé à n’importe quel IRQL.

Configuration requise

Condition requise Valeur
Plateforme cible Universal
En-tête wdm.h (inclure Wdm.h, Ntddk.h, Ntifs.h)
Bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe
IRQL IRQL <= APC_LEVEL (voir la section Remarques)

Voir aussi

RTL_BITMAP

RtlAreBitsClear

RtlFindClearBitsAndSet

RtlFindFirstRunClear

RtlFindLongestRunClear

RtlFindSetBits

RtlInitializeBitMap

RtlNumberOfClearBits