Funzione RtlInitializeBitMap (wdm.h)

La routine RtlInitializeBitMap inizializza l'intestazione di una variabile bitmap.

Sintassi

NTSYSAPI VOID RtlInitializeBitMap(
  [out] PRTL_BITMAP             BitMapHeader,
  [in]  __drv_aliasesMem PULONG BitMapBuffer,
  [in]  ULONG                   SizeOfBitMap
);

Parametri

[out] BitMapHeader

Puntatore a una struttura di RTL_BITMAP vuota.

[in] BitMapBuffer

Puntatore alla memoria allocata dal chiamante per la bitmap stessa. L'indirizzo di base di questo buffer deve essere allineato a ULONG. Le dimensioni del buffer allocato devono essere un numero intero di byte sizeof(ULONG).

[in] SizeOfBitMap

Specifica il numero di bit nella bitmap. Questo valore può essere qualsiasi numero di bit che si adattano al buffer allocato per la bitmap.

Valore restituito

nessuno

Osservazioni

Un driver può usare una variabile bitmap come modo economico per tenere traccia di un set di elementi riutilizzabili. Ad esempio, i file system usano una variabile bitmap per tenere traccia dei cluster/settori in un disco già allocati per contenere i dati dei file. Il driver di porta SCSI fornito dal sistema usa una variabile bitmap per tenere traccia dei tag di coda assegnati ai blocchi di richiesta SCSI .

RtlInitializeBitMap deve essere chiamato prima di qualsiasi altra routine RtlXxx che opera su una variabile bitmap. Il puntatore BitMapHeader è un parametro di input in tutte le chiamate RtlXxx successive che operano sulla variabile bitmap del chiamante in BitMapBuffer. Il chiamante è responsabile della sincronizzazione dell'accesso alla variabile bitmap.

RtlInitializeBitMap inizializza la struttura di RTL_BITMAP fornita dal chiamante copiando i valori BitMapBuffer e SizeOfBitMap forniti dal chiamante. Successivamente, la struttura può essere passata ad altre routine per modificare la bitmap. RtlInitializeBitMap non modifica il contenuto della bitmap.

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 (modalità kernel); Ntdll.dll (modalità utente)
IRQL Qualsiasi IRQL se BitMapHeader è residente in memoria; <= APC_LEVEL se BitMapHeader è paginabile o in Windows 7 e versioni precedenti

Vedi anche

RTL_BITMAP

RtlAreBitsClear

RtlAreBitsSet

RtlCheckBit

RtlClearAllBits

RtlClearBits

RtlFindClearBits

RtlFindClearBitsAndSet

RtlFindClearRuns

RtlFindFirstRunClear

RtlFindLastBackwardRunClear

RtlFindLongestRunClear

RtlFindNextForwardRunClear

RtlFindSetBits

RtlFindSetBitsAndClear

RtlNumberOfClearBits

RtlNumberOfSetBits

RtlSetAllBits

RtlSetBits