libin2309
驱动大牛
驱动大牛
  • 注册日期2002-11-20
  • 最后登录2005-12-29
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:902回复:2

DS中的映射函数的使用

楼主#
更多 发布于:2003-02-26 16:36
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是也是映射到系统地址空间
他们之间有什么区别??

我是一只小小鸟,永远也飞也飞不高,但我永远在飞!
edgesoul
驱动牛犊
驱动牛犊
  • 注册日期2002-11-06
  • 最后登录2007-09-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-02-26 20:34
前者,是映射到系统区,此时用户态程序不能对它进行访问;
后者,是映射到一个进程的内存区,此时此用户态程序可以对它进行访问。
edgesoul
驱动牛犊
驱动牛犊
  • 注册日期2002-11-06
  • 最后登录2007-09-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-02-26 20:54
看了一下,是没有区别的。在KMemoryToProcessMap的初始化函数中,除了一些设置外,它最终还是调用了它父类的初始化函数。
游客

返回顶部