Fonction RtlFindSetBitsAndClear (wdm.h)
La routine RtlFindSetBitsAndClear recherche une plage de bits définis d’une taille demandée dans une bitmap et efface tous les bits de la plage lorsqu’elle a été localisée.
Syntaxe
NTSYSAPI ULONG RtlFindSetBitsAndClear(
[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 set contigus qui répondront à cette demande.
[in] HintIndex
Spécifie une position de bits de base zéro autour de laquelle commencer à rechercher une plage de bits définie de la taille donnée.
Valeur retournée
RtlFindSetBitsAndClear retourne l’index de bits de départ de base zéro pour une plage de bits définie de la taille demandée qu’il a effacée, ou retourne 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, RtlFindSetBitsAndClear recherche l’intégralité de la bitmap pour localiser une plage de bits définie de la taille demandée. Toutefois, il commence à rechercher la plage demandée près de HintIndex, de sorte que les appelants peuvent effacer une telle plage plus rapidement lorsqu’ils peuvent fournir des conseils appropriés sur l’endroit où commencer à rechercher.
Les appelants de RtlFindSetBitsAndClear 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, RtlFindSetBitsAndClear 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) |