Nemesis2k
驱动牛犊
驱动牛犊
  • 注册日期2002-03-29
  • 最后登录2004-10-27
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1284回复:1

2000下应用程序如何同NDIS IM 驱动程序共享内存?

楼主#
更多 发布于:2002-05-02 13:02
2000下应用程序如何同NDIS IM 驱动程序共享内存?

我参考一个NT4下面的IM例子,他用的是NDIS 3.0的库。
在它的MacAddAdapter里面驱动程序调用NdisAllocateSharedMemory,
然后通过DeviceIoControl获得应用程序的进程句柄,然后调用
ZwOpenSection和ZwMapViewOfSection来将申请到的内存
映射到应用程序的地址空间。
但是在2000下,NdisAllocateSharedMemory已经被取消,取而代之的
是NdisMAllocateSharedMemory,并且似乎只有NIC Miniport才可以
调用这个函数。那么,我用NdisAllocateMemory申请内存,
然后用MmGetPhysicalAddress获得相应的物理地址,然后用
ZwOpenSection和ZwMapViewOfSection来将申请到的内存
映射到应用程序的地址空间可以吗?
我在坛子上也看到关于应用程序和驱动程序共享内存的方法,
但是,这些方法适用于NDIS IM驱动吗?微软的Knowledge Base
里也介绍过这些方法,但是无一例外都说这些方法要求该
驱动运行在要与它共享内存的进程上下文中,对于NDIS IM,
这能够得到保证吗?
谢谢各位的帮助
Nemesis2k
驱动牛犊
驱动牛犊
  • 注册日期2002-03-29
  • 最后登录2004-10-27
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-05-06 00:29
现在有分了:)
游客

返回顶部