MmGetMdlVirtualAddress 宏 (wdm.h)
MmGetMdlVirtualAddress 宏會傳回 MDL 所描述之緩衝區的基底虛擬位址。
語法
PVOID
MmGetMdlVirtualAddress (
_In_ PMDL Mdl
)
參數
[in] Mdl
描述要傳回初始虛擬位址之緩衝區的 MDL 指標。
傳回值
無
備註
MmGetMdlVirtualAddress 會傳回 MDL 的起始虛擬位址。
MmGetMdlVirtualAddress 會傳回在目前線程內容中不一定有效的虛擬位址。 較低層級的驅動程式不應嘗試使用傳回的虛擬位址來存取記憶體,特別是用戶記憶體空間。
傳回的位址可作為 MDL 中實體地址專案的索引,可以輸入 MapTransfer。
MmGetMdlVirtualAddress 的呼叫端可以在任何 IRQL 上執行。 呼叫端通常會在 IRQL = DISPATCH_LEVEL執行,因為通常會呼叫這個例程,以取得 MapTransfer 的 CurrentVa 參數。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 2000 |
標頭 | wdm.h |
IRQL | 任何層級 (請參閱備註) |
DDI 合規性規則 | MdlAfterReqCompletedIntIoctlA (kmdf) 、 MdlAfterReqCompletedIoctlA (kmdf) 、 MdlAfterReqCompletedReadA (kmdf) 、 MdlAfterReqCompletedWriteA (kmdf) |