版块
论坛
喜欢
话题
应用
搜索
登录
注册
lovehunterboy的个人空间
访问量
1
新鲜事
帖子
资料
http://bbs3.driverdevelop.com/index.php?m=space&uid=191437
求助:共享内存+事件:驱动向应用程序通信,应用程序怎么不能读共享内存?
驱动这样写的: case GET_EVENT: { OBJECT_HANDLE_INFORMATION objHandleInfo; HANDLE hEvent = *(HANDLE *)inputBuffer; Irp->IoStatus.Status =Ob...
全文
回复
(
11
)
2008-12-29 12:25
来自版块 -
文件系统(过滤)驱动程序开发
◆
◆
表情
告诉我的粉丝
提 交
vipfengxiao
:
奇怪了 我在驱动给应用层发事件 编译 的是server2003版本 装在server2003机子上就蓝屏 装在XP上不蓝屏 不知道什么原因呢
(2010-03-15 16:21)
回复
vipfengxiao
:
我在驱动中给共享内存拷贝数据就蓝屏
(2010-03-13 09:53)
回复
lee922@gmail.co
:
应用程序使用共享内存的时候,需要在所使用的那个线程获得映射地址,然后再使用,如果在另一个线程使用共享内存还需要重新映射一次。
(2009-11-18 16:21)
回复
dreamsity
:
DDK的例子默认是不会安装的。需要选择完全安装。
(2008-12-30 18:34)
回复
lovehunterboy
:
按您的意思:那就是你没有正确把地址映射到app的空间吧,建议你把创建和映射共享内存在一个case里面处理。已修改。 我的outputBuffer=Irp->AssociatedIrp.SystemBuffer;IO方式是METHOD_BUFFERED; 通过显示:应用程序得...
(2008-12-30 12:20)
回复
troylees
:
那就是你没有正确把地址映射到app的空间吧,建议你把创建和映射共享内存在一个case里面处理。 *((PVOID *)outputBuffer)不清楚你的outputBuffer是什么,正确的应该系 *((PVOID *)(pIrp->AssociatedIrp.Syste...
(2008-12-29 23:04)
回复
lovehunterboy
:
出错的地方说的是非法访问地址
(2008-12-29 18:29)
回复
lovehunterboy
:
谢谢您们的指点啊!我没找到这个例子啊!
(2008-12-29 18:25)
回复
troylees
:
你的IOCTL使用什么缓冲方法,METHOD_BUFFERED? *((PVOID *)outputBuffer) = psharememory->UserBaseAddress; 确定正确返回给app? *((PVOID *)(pIrp->AssociatedIrp...
(2008-12-29 18:20)
回复
zhaock
:
1.基本方法没有错,但是在case GET_EVENT里映射一次就可以,返回用户态的指针,用不着每次映射。你现在碰到的是什么错误,指针非法,还是内容不对。 2.你要实现什么功能,用2楼说得常见的方法不能满足你的需要,再考虑你目前的方法。不然尽量用标准的方法
(2008-12-29 17:41)
回复
1
2
下一页 »
lovehunterboy
加关注
写私信
0
关注
2
粉丝
120
帖子
返回顶部