阅读:1284回复:1
2000下应用程序如何同NDIS IM 驱动程序共享内存?
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, 这能够得到保证吗? 谢谢各位的帮助 |
|
沙发#
发布于:2002-05-06 00:29
现在有分了:)
|
|