Funzione RtlFindClearBitsAndSet (wdm.h)

La routine RtlFindClearBitsAndSet cerca un intervallo di bit chiari di dimensioni richieste all'interno di una bitmap e imposta tutti i bit nell'intervallo quando si trova.

Sintassi

NTSYSAPI ULONG RtlFindClearBitsAndSet(
  [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 non contigui che soddisfano questa richiesta.

[in] HintIndex

Specifica una posizione di bit in base zero da cui iniziare a cercare un intervallo di bit chiaro delle dimensioni specificate.

Valore restituito

RtlFindClearBitsAndSet restituisce l'indice di bit iniziale in base zero per un intervallo di bit chiaro delle dimensioni richieste impostate 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, RtlFindClearBitsAndSet cerca nell'intera bitmap di individuare un intervallo di bit chiaro delle dimensioni richieste. Tuttavia, inizia a cercare l'intervallo richiesto da HintIndex, in modo che i chiamanti possano avere una reimpostazione di tale intervallo più rapidamente quando possono fornire suggerimenti appropriati su dove iniziare a cercare.

I chiamanti di RtlFindClearBitsAndSet devono essere in esecuzione in IRQL <= APC_LEVEL se la memoria che contiene la variabile bitmap è paging o la memoria in BitMapHeader è paginabile. In caso contrario, RtlFindClearBitsAndSet 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)

Vedi anche

RTL_BITMAP

RtlAreBitsClear

RtlFindClearBits

RtlFindClearRuns

RtlFindFirstRunClear

RtlFindLastBackwardRunClear

RtlFindLongestRunClear

RtlFindNextForwardRunClear

RtlInitializeBitMap

RtlNumberOfClearBits

RtlSetAllBits

RtlSetBits