MmGetMdlVirtualAddress 宏 (wdm.h)

MmGetMdlVirtualAddress 宏會傳回 MDL 所描述之緩衝區的基底虛擬位址。

語法

PVOID
MmGetMdlVirtualAddress (
    _In_ PMDL Mdl
    )

參數

[in] Mdl

描述要傳回初始虛擬位址之緩衝區的 MDL 指標。

傳回值

備註

MmGetMdlVirtualAddress 會傳回 MDL 的起始虛擬位址。

MmGetMdlVirtualAddress 會傳回在目前線程內容中不一定有效的虛擬位址。 較低層級的驅動程式不應嘗試使用傳回的虛擬位址來存取記憶體,特別是用戶記憶體空間。

傳回的位址可作為 MDL 中實體地址專案的索引,可以輸入 MapTransfer

MmGetMdlVirtualAddress 的呼叫端可以在任何 IRQL 上執行。 呼叫端通常會在 IRQL = DISPATCH_LEVEL執行,因為通常會呼叫這個例程,以取得 MapTransferCurrentVa 參數。

規格需求

需求
最低支援的用戶端 Windows 2000
標頭 wdm.h
IRQL 任何層級 (請參閱備註)
DDI 合規性規則 MdlAfterReqCompletedIntIoctlA (kmdf) MdlAfterReqCompletedIoctlA (kmdf) MdlAfterReqCompletedReadA (kmdf) MdlAfterReqCompletedWriteA (kmdf)