一般参考书上都告诉我,WDM与应用程序通信,都是只有事件和DEVICEIOCTRL,能不能用共享内存的方式来实现通信呢?驱动往应用层发数据时,每次都先用事件告诉应用程序,然后应用程序再用DEVICEIOCTRL回过头来读数据。能不能让驱动程序划一个专门的内存区,存放数据,当然数据...
全文
回复(4) 2003-12-23 15:34 来自版块 - 内核编程
表情
wangyupup可以先用DDK函数:MmAllocateContiguousMemory()分配物理连续内存,然后将物理地址映射(map)成虚拟地址使用,DMA操作时使用物理地址,应用程序使用虚拟地址。可参考DDK文档或PLX SDK中的程序。(2003-12-24 10:23)
hummingbird天,晕哦,不过还是得仔细看,谢谢老大先(2003-12-24 09:52)
reayi另外可以用APC 机制让驱动程序调用应用程序的函数,参考代码: #include \"ntddk.h\" #include \"apc.h\" NTSTATUS DriverDispatch( IN PDEVI...(2003-12-24 00:24)
reayi可以参考一下文章:应用程序和驱动之间的共享 Sharing Memory Between Drivers and Applications Ó 2000 OSR Open Systems Resources, Inc. Updated: 2002 ...(2003-12-24 00:20)

返回顶部