(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 例程之前,必須先呼叫 RtlInitializeBitMap。 BitMapHeader 指標是後續所有 RtlXxx 呼叫中的輸入參數,可在 BitMapBuffer 上的呼叫端位圖變數上運作。 呼叫端負責同步處理位圖變數的存取。
RtlInitializeBitMap 藉由將呼叫端提供的 BitMapBuffer 和 SizeOfBitMap 值複製到其中,初始化呼叫者提供的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 |