物理地址轉換成虛擬地址MmMapIoSpace

PVOID MmMapIoSpace(
PHYSICAL_ADDRESS PhysicalAddress,
ULONG NumberOfBytes,
BOOLEAN CacheEnable
);
如果參數PhysicalAddress用的是OEMAddressTable的Physical Address,則要把這個地址右移8位.
如果參數PhysicalAddress用的是OEMAddressTable的Virtual Address,則不需要右移.


BOOL VirtualCopy(
LPVOID lpvDest,
LPVOID lpvSrc,
DWORD cbSize,
DWORD fdwProtect
);
如果參數fdwProtect 用的是PAGE_PHYSICAL, 則lpvSrc可以用OEMAddressTable的Physical Address, 並需要把這個地址右移8位.
如果參數fdwProtect 沒有PAGE_PHYSICAL, 則lpvSrc可以用OEMAddressTable的Virtual Address, 不需要把這個地址右移. 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章