(wdm.h) RtlInitializeBitMap 函式

RtlInitializeBitMap 例程會初始化點陣圖變數的標頭。

語法

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

參數

[out] BitMapHeader

RTL_BITMAP 結構的指標。

[in] BitMapBuffer

點陣圖本身呼叫端配置記憶體的指標。 這個緩衝區的基地址必須對齊 ULONG。 配置緩衝區的大小必須是 ( ULONG) 個字節的整數倍數。

[in] SizeOfBitMap

指定點陣圖中的位數。 這個值可以是任意數位,可放入為點陣圖配置的緩衝區中。

傳回值

備註

驅動程式可以使用位圖變數作為經濟的方式,來追蹤一組可重複使用的專案。 例如,文件系統會使用位圖變數來追蹤磁碟上已配置哪些叢集/扇區來保存檔案數據。 系統提供的 SCSI 埠驅動程式會使用位圖變數來追蹤哪些佇列標籤已指派給 SCSI 要求區塊, (SRB) 。

在點陣圖變數上運作的任何其他 RtlXxx 例程之前,必須先呼叫 RtlInitializeBitMapBitMapHeader 指標是後續所有 RtlXxx 呼叫中的輸入參數,可在 BitMapBuffer 上的呼叫端位圖變數上運作。 呼叫端負責同步處理位圖變數的存取。

RtlInitializeBitMap 藉由將呼叫端提供的 BitMapBufferSizeOfBitMap 值複製到其中,初始化呼叫者提供的RTL_BITMAP結構。 接著,結構可以傳遞至其他例程以操作位圖。 RtlInitializeBitMap 不會修改點圖的內容。

規格需求

需求
最低支援的用戶端 從 Windows 2000 開始提供。
目標平台 Universal
標頭 wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h)
程式庫 NtosKrnl.lib
Dll NtosKrnl.exe (核心模式) ;Ntdll.dll (使用者模式)
IRQL 如果 BitMapHeader 是記憶體駐留,則為任何 IRQL; <= 如果 BitMapHeader 可分頁或在 Windows 7 和更早版本上,則 = APC_LEVEL

另請參閱

RTL_BITMAP

RtlAreBitsClear

RtlAreBitsSet

RtlCheckBit

RtlClearAllBits

RtlClearBits

RtlFindClearBits

RtlFindClearBitsAndSet

RtlFindClearRuns

RtlFindFirstRunClear

RtlFindLastBackwardRunClear

RtlFindLongestRunClear

RtlFindNextForwardRunClear

RtlFindSetBits

RtlFindSetBitsAndClear

RtlNumberOfClearBits

RtlNumberOfSetBits

RtlSetAllBits

RtlSetBits