MmGetSystemAddressForMdl 宏 (wdm.h)
MmGetSystemAddressForMdl 例程已過時。 請改用 MmGetSystemAddressForMdlSafe 。
MmGetSystemAddressForMdl 是一個宏,會傳回 MDL 所描述之緩衝區的非分頁系統空間虛擬位址。 如果指定的 MDL 尚未對應至系統空間,它會將指定的 MDL 所描述的實體頁面對應至系統空間。
語法
PVOID MmGetSystemAddressForMdl(
MDL
);
參數
[in] MDL
緩衝區的指標,其對應的基底虛擬位址要對應。
傳回值
無
備註
MmGetSystemAddressForMdl 會傳回基底系統空間虛擬位址,對應指定 MDL 所描述的實體頁面。
PIO 裝置的驅動程式會呼叫此例程,將 Irp-MdlAddress> 上的 MDL 所描述的虛擬位址範圍轉譯為系統空間位址範圍。
MDL 必須描述不可分頁的記憶體。 換句話說,輸入 MDL 必須描述 MmProbeAndLockPages 所傳回的已鎖定使用者空間緩衝區、 MmBuildMdlForNonPagedPool 所傳回的鎖定緩衝區,或配置自非分頁集區、連續記憶體或非快取記憶體的系統空間記憶體。
傳回的基位址與 MDL 中的虛擬位址位移相同。
視窗會發出錯誤檢查,如果嘗試對應至系統空間失敗。 因此,您應該改用 MmGetSystemAddressForMdlSafe) 。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 已過時。 請改用 MmGetSystemAddressForMdlSafe。 |
目標平台 | 桌面 |
標頭 | wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h) |
IRQL | IRQL <= DISPATCH_LEVEL |