Fonction RtlFindClearBitsAndSet (wdm.h)

La routine RtlFindClearBitsAndSet recherche une plage de bits clairs d’une taille demandée dans une bitmap et définit tous les bits de la plage lorsqu’elle a été localisée.

Syntaxe

NTSYSAPI ULONG RtlFindClearBitsAndSet(
  [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 bits de base zéro à partir de laquelle commencer à rechercher une plage de bits claire de la taille donnée.

Valeur retournée

RtlFindClearBitsAndSet renvoie l’index de bits de départ de base zéro pour une plage de bits claire de la taille demandée qu’il a définie, ou renvoie 0xFFFFFFFF s’il ne trouve pas une telle plage dans la variable bitmap donnée.

Remarques

Pour un appel réussi, la position de bit retournée n’est pas nécessairement équivalente à la valeur HintIndex donnée. Si nécessaire, RtlFindClearBitsAndSet recherche l’intégralité de la bitmap pour trouver une plage de bits claire de la taille demandée. Toutefois, il commence à rechercher la plage demandée à partir de HintIndex, de sorte que les appelants peuvent avoir une telle plage réinitialisée plus rapidement lorsqu’ils peuvent fournir des conseils appropriés sur l’endroit où commencer à rechercher.

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

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible à partir de Windows 2000.
Plateforme cible Universal
En-tête wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
Bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL (voir la section Notes)

Voir aussi

RTL_BITMAP

RtlAreBitsClear

RtlFindClearBits

RtlFindClearRuns

RtlFindFirstRunClear

RtlFindLastBackwardRunClear

RtlFindLongestRunClear

RtlFindNextForwardRunClear

RtlInitializeBitMap

RtlNumberOfClearBits

RtlSetAllBits

RtlSetBits