Funzione RtlFindClearBits (wdm.h)
La routine RtlFindClearBits cerca un intervallo di bit chiari di dimensioni richieste all'interno di una bitmap.
Sintassi
NTSYSAPI ULONG RtlFindClearBits(
[in] PRTL_BITMAP BitMapHeader,
[in] ULONG NumberToFind,
[in] ULONG HintIndex
);
Parametri
[in] BitMapHeader
Puntatore alla struttura RTL_BITMAP che descrive la bitmap. Questa struttura deve essere stata inizializzata dalla routine RtlInitializeBitMap .
[in] NumberToFind
Specifica il numero di bit di cancellazione contigui che soddisfano questa richiesta.
[in] HintIndex
Specifica una posizione a bit zero da cui iniziare a cercare un intervallo di bit chiaro delle dimensioni specificate.
Valore restituito
RtlFindClearBits restituisce l'indice di bit iniziale in base zero per un intervallo di bit chiaro di almeno le dimensioni richieste oppure restituisce 0xFFFFFFFF se non riesce a trovare un intervallo all'interno della bitmap specificata.
Commenti
Per una chiamata riuscita, la posizione del bit restituita non è necessariamente equivalente all'hintIndex specificato. Se necessario, RtlFindClearBits cerca l'intera bitmap per individuare un intervallo di bit chiaro delle dimensioni richieste. I chiamanti possono trovare un intervallo di questo tipo più rapidamente quando possono fornire suggerimenti appropriati su dove iniziare a cercare.
Se non viene trovato un intervallo di corrispondenza tra l'indice hint e la fine della bitmap, RtlFindClearBits continua la ricerca dall'inizio della bitmap all'indice hint.
Se si desidera che un indice restituito sia maggiore o uguale a un valore, usare invece RtlFindNextForwardRunClear .
I chiamanti di RtlFindClearBits devono essere in esecuzione in IRQL <= APC_LEVEL se la memoria contenente la variabile bitmap è paginabile o la memoria in BitMapHeader è paginabile. In caso contrario, RtlFindClearBits può essere chiamato in qualsiasi IRQL.
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Universale |
Intestazione | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
Libreria | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | IRQL <= APC_LEVEL (vedere la sezione Osservazioni) |