社区导航

 

搜索
查看: 4305|回复: 12

底层如何接收应用层的消息?

[复制链接]

113

TA的帖子

0

TA的资源

纯净的硅(初级)

Rank: 4

发表于 2009-7-20 09:56 | 显示全部楼层 |阅读模式
我在底层发了个消息给应用层(sendmessage),应用层处理完后想向底层发个消息,怎么发?底层怎么接收?如果用sendmessage的返回值传给底层消息怎么做?

101

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2009-7-20 10:28 | 显示全部楼层
晕,没有这样做驱动的。。。

回复

使用道具 举报

103

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2009-7-20 10:35 | 显示全部楼层
IOCTL

回复

使用道具 举报

110

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2009-7-20 14:40 | 显示全部楼层
楼上两位该说的全说了~

另外驱动里很少有用sendmessage的
应用卡住了,驱动也废废了~

回复

使用道具 举报

85

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2009-7-20 14:51 | 显示全部楼层
如果要发消息,也要用PostMessage()

回复

使用道具 举报

99

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2009-7-20 15:20 | 显示全部楼层
怎么这么搞呢?
1楼2楼说的是,再加个命名事件,驱动向应用可以用消息队列,应用到驱动不建议。。还是老老实实的用IOCTL//

回复

使用道具 举报

88

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2009-7-20 15:35 | 显示全部楼层
ioctl

应要向驱动层接口请求,驱动层向内核层请求!

回复

使用道具 举报

103

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2009-7-23 09:49 | 显示全部楼层
我是要在底层等待应用层的命令再执行下一步的动作,sendmessage可以等待,而PostMessage后底层会继续往下走。。。

回复

使用道具 举报

117

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2009-7-23 17:58 | 显示全部楼层
自己顶!!!

回复

使用道具 举报

65

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2009-7-23 18:04 | 显示全部楼层
有没有人回答一下啊???

回复

使用道具 举报

106

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2009-7-23 22:54 | 显示全部楼层
应用程序和驱动之间可以通过CreateEvent(NULL, FALSE, FALSE, eventname)同一个eventname实现同步,
即应用中HANDLE1 = CreateEvent(NULL, FALSE, FALSE, “eventtest”);
驱动中HANDLE2 = CreateEvent(NULL, FALSE, FALSE, “eventtest”);
此时HANDLE1 和HANDLE2指向同一个事件,应用中wait事件,驱动setevent以后,应用中将触发该事件。

回复

使用道具 举报

108

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2009-7-24 09:24 | 显示全部楼层
引用 10 楼 xunjingzhpu 的回复:
应用程序和驱动之间可以通过CreateEvent(NULL, FALSE, FALSE, eventname)同一个eventname实现同步,
即应用中HANDLE1 = CreateEvent(NULL, FALSE, FALSE, “eventtest”);
驱动中HANDLE2 = CreateEvent(NULL, FALSE, FALSE, “eventtest”);
此时HANDLE1 和HANDLE2指向同一个事件,应用中wait事件,驱动setevent以后,应用中将触发该事件。

真的吗?试一下先

回复

使用道具 举报

126

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2009-7-24 19:33 | 显示全部楼层
引用 11 楼 jeanszu 的回复:
引用 10 楼 xunjingzhpu 的回复:
应用程序和驱动之间可以通过CreateEvent(NULL, FALSE, FALSE, eventname)同一个eventname实现同步,
即应用中HANDLE1 = CreateEvent(NULL, FALSE, FALSE, “eventtest”);
驱动中HANDLE2 = CreateEvent(NULL, FALSE, FALSE, “eventtest”);
此时HANDLE1 和HANDLE2指向同一个事件,应用中wait事件,驱动setevent以后,应用中将触发该事件。


真的吗?试一下先

实行三包,不行换新的

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

关闭

站长推荐上一条 /5 下一条

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

Archiver|手机版|小黑屋|电子工程世界 ( 京ICP证 060456 )

GMT+8, 2020-2-23 03:56 , Processed in 0.368738 second(s), 19 queries , Gzip On, MemCache On.

快速回复 返回顶部 返回列表