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) |