共用方式為


MmGetSystemAddressForMdl 巨集 (wdm.h)

MmGetSystemAddressForMdl 例程已經過時。 請改用 mmGetSystemAddressForMdlSafe

MmGetSystemAddressForMdl 是一個巨集,會傳回 MDL 所描述之緩衝區的非分頁系統空間虛擬位址。 如果指定的 MDL 所描述的實體頁面尚未對應至系統空間,則會將其對應至系統空間。

語法

PVOID MmGetSystemAddressForMdl(
   MDL
);

參數

[in] MDL

對應基底虛擬位址要對應的緩衝區指標。

傳回值

沒有

言論

MmGetSystemAddressForMdl 會傳回對應指定 MDL 所描述之實體頁面的基底系統空間虛擬位址。

PIO 裝置的驅動程式會呼叫此例程來轉譯虛擬位址範圍,由 MDL 在 Irp->MdlAddress,以將使用者緩衝區轉譯為系統空間位址範圍。

MDL 必須描述不可分頁的記憶體。 換句話說,輸入 MDL 必須描述 MmProbeAndLockPages傳回的已鎖定使用者空間緩衝區、MmBuildMdlForNonPagedPool 所傳回的鎖定緩衝區,或從非分頁集區、連續記憶體或非快取記憶體配置的系統空間記憶體。

傳回的基位址與 MDL 中的虛擬位址位移相同。

視窗會發出錯誤檢查,如果嘗試對應至系統空間失敗。 因此,您應該改用 MmGetSystemAddressForMdlSafe)。

要求

要求 價值
最低支援的用戶端 過時。 請改用 MmGetSystemAddressForMdlSafe。
目標平臺 桌面
標頭 wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h)
IRQL IRQL <= DISPATCH_LEVEL

另請參閱

mmBuildMdlForNonPagedPool

mmGetSystemAddressForMdlSafe

mmProbeAndLockPages