Funzione RtlFindSetBitsAndClear (wdm.h)
La routine RtlFindSetBitsAndClear cerca un intervallo di bit set di dimensioni richieste all'interno di una bitmap e cancella tutti i bit nell'intervallo quando si trova.
Sintassi
NTSYSAPI ULONG RtlFindSetBitsAndClear(
[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 set contigui che soddisfano questa richiesta.
[in] HintIndex
Specifica una posizione a bit zero intorno a cui iniziare a cercare un intervallo di bit impostato delle dimensioni specificate.
Valore restituito
RtlFindSetBitsAndClear restituisce l'indice di bit iniziale in base zero per un intervallo di bit impostato delle dimensioni richieste cancellate oppure restituisce 0xFFFFFFFF se non riesce a trovare tale intervallo all'interno della variabile bitmap specificata.
Commenti
Per una chiamata riuscita, la posizione del bit restituita non è necessariamente equivalente all'hintIndex specificato. Se necessario, RtlFindSetBitsAndClear cerca l'intera bitmap per individuare un intervallo di bit impostato delle dimensioni richieste. Tuttavia, inizia a cercare l'intervallo richiesto vicino a HintIndex, quindi i chiamanti possono cancellare più rapidamente tale intervallo quando possono fornire hint appropriati su dove iniziare a cercare.
I chiamanti di RtlFindSetBitsAndClear 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, RtlFindSetBitsAndClear può essere chiamato in qualsiasi IRQL.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Disponibile a partire da Windows 2000. |
Piattaforma di destinazione | Universale |
Intestazione | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
Libreria | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= APC_LEVEL (vedere la sezione Osservazioni) |