阅读:902回复:2
DS中的映射函数的使用
DS中的KMemoryRange::Initialize
NTSTATUS Initialize( INTERFACE_TYPE IntfType, ULONG BusNumber , ULONGLONG BaseBusAddress, ULONG Count, BOOLEAN MapToSystemVirtual=TRUE ); BOOLEAN MapToSystemVirtual=TRUE 表示把外围地址空间映射到系统地址空间,而 KMemoryToProcessMap::KMemoryToProcessMap KMemoryToProcessMap( INTERFACE_TYPE IntfType, ULONG BusNumber, ULONGLONG BaseBusAddress, ULONG Size, HANDLE hProcess, BOOLEAN MapToSystemSpace=FALSE, PVOID PreferredAddress=NULL, SECTION_INHERIT Inherit=ViewShare ); BOOLEAN MapToSystemSpace=FALSE 当次项为TRUE是也是映射到系统地址空间 他们之间有什么区别?? |
|
|
沙发#
发布于:2003-02-26 20:34
前者,是映射到系统区,此时用户态程序不能对它进行访问;
后者,是映射到一个进程的内存区,此时此用户态程序可以对它进行访问。 |
|
板凳#
发布于:2003-02-26 20:54
看了一下,是没有区别的。在KMemoryToProcessMap的初始化函数中,除了一些设置外,它最终还是调用了它父类的初始化函数。
|
|