Condividi tramite


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)

Vedi anche

RTL_BITMAP

RtlAreBitsClear

RtlFindClearBitsAndSet

RtlFindFirstRunClear

RtlFindLongestRunClear

RtlFindSetBits

RtlInitializeBitMap

RtlNumberOfClearBits