物理地址转换成虚拟地址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, 不需要把这个地址右移. 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章