Condividi tramite


Funzione RtlFindSetBits (wdm.h)

La routine RtlFindSetBits cerca un intervallo di bit set di dimensioni richieste all'interno di una bitmap.

Sintassi

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

[in] HintIndex

Specifica una posizione di bit in base zero intorno alla quale iniziare a cercare un intervallo di bit impostato delle dimensioni specificate.

Valore restituito

RtlFindSetBits restituisce l'indice di bit iniziale in base zero per un intervallo di bit impostato delle dimensioni richieste 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, RtlFindSetBits cerca nell'intera bitmap di individuare un intervallo di bit impostato delle dimensioni richieste. Tuttavia, inizia a cercare l'intervallo richiesto vicino a HintIndex, in modo che i chiamanti possano trovare più rapidamente un intervallo di questo tipo quando possono fornire suggerimenti appropriati su dove iniziare a cercare.

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

RtlAreBitsSet

RtlClearBits

RtlFindClearBits

RtlFindSetBitsAndClear

RtlInitializeBitMap

RtlNumberOfSetBits