HJZ
HJZ
驱动牛犊
驱动牛犊
  • 注册日期2002-01-14
  • 最后登录2005-01-31
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1407回复:4

大虾救命,如何共享内存,即在应用程序和VXD交换数据??详情建内。谢谢!!!

楼主#
更多 发布于:2003-08-03 20:58
    毕业需要,需作一个挂接中断的驱动程序,但需要传输数据,
也就是应用程序传递数据给VXD,然后 VXD 需要传回另外的数据,
该如何实现?请大虾指教,先谢谢!!!

最新喜欢:

aasa2aasa2
RED_spring
驱动中牛
驱动中牛
  • 注册日期2002-07-28
  • 最后登录2016-11-06
  • 粉丝0
  • 关注0
  • 积分3分
  • 威望19点
  • 贡献值0点
  • 好评度17点
  • 原创分0分
  • 专家分0分
  • 社区居民
沙发#
发布于:2003-08-09 20:07
在98DDK的src目录里搜“W32_DEVICEIOCONTROL”,例子一大堆。不用到处问 :D :D

咦! 你怎么现在做毕业设计啊?
ASD916
驱动牛犊
驱动牛犊
  • 注册日期2003-05-03
  • 最后登录2007-02-21
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-08-10 16:11
用这个

#define   MEM_TOP_2TO3G  0x08000000
BYTE    *Buffer;
// 分配4k内存
Buffer = VirtualAlloc(NULL,4096,MEM_TOP_2TO3G+MEM_COMMIT,PAGE_READWRITE);

本来VirtualAlloc不能分配共享内存,

但在Win9x中使用未公开的标志 MEM_TOP_2TO3G

就能分配线性地址在0x80000000以上的共享内存了。
arthurtu
驱动巨牛
驱动巨牛
  • 注册日期2001-11-08
  • 最后登录2020-12-19
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望161点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
  • 社区居民
地板#
发布于:2003-08-10 18:38
app分配内存,把地址用DeviceIoControl传给vxd,vxd lock这块内存(使之在ISR也能访问)。ISR里面直接赋值给这块内存。最后unlock。
HJZ
HJZ
驱动牛犊
驱动牛犊
  • 注册日期2002-01-14
  • 最后登录2005-01-31
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-08-12 12:18
谢谢各位大侠,在读研究生。
游客

返回顶部