3423|4

62

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

WinCE 5.0 流驱动的访问问题 [复制链接]

大家好:

现在有这样的一个疑问:
写了一个流驱动:
在其AAA_Read()中有WaitforSingleObject();
那么在应用程序的一个单独线程A通过文件系统函数ReadFile调用时,会访问AAA_Read()从而发生阻塞。这时,在WaitforSingleObject()没有返回,就是ReadFile没有返回,单独线程A发生阻塞。
如果这时对同一个驱动调用DeveiceIOControl(), 会不会成功?

如果用IOCTL_CODE_CMD_1是在调用DeviceIOControl()没有返回,发生阻塞(就是在驱动的IOCTL_CODE_CMD_1处理中有WaitforSingleObject())时,再用IOCTL_CODE_CMD_1是在调用DeviceIOControl(),有没有问题?

希望知道的朋友给个解答。

此帖出自WindowsCE论坛

最新回复

实验表明,问题2 也会成功执行!! 不过: 发送命令字1和发送命令字2的是两个独立的线程,发送命令字2的线程被阻塞,不影响发送命令字1的线程继续发送命令字1. 如果发送命令字1和发送命令字2不是分开单独的线程,当然送命令字2时线程被阻塞,也就没法再发出命令字1了。这不是驱动的问题。而是应用程序的问题。   详情 回复 发表于 2007-9-5 16:53
点赞 关注
 

回复
举报

79

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
第一个问号会的,我的一个驱动程序的XXX_Read()里面用WaitforSingleObject()来等待数据,用DeviceIOControl()指定一个代码来取消XXX_Read()的阻塞操作的。
第二个问号可能不行,我也没有试过,MSND上说“The operating system, in turn, invokes the XXX_IOControl function”
此帖出自WindowsCE论坛
 
 
 

回复

82

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
谢谢fengwx() 的回答。

第二个问号,应该是
如果用IOCTL_CODE_CMD_1是在调用DeviceIOControl()没有返回,发生阻塞(就是在驱动的IOCTL_CODE_CMD_1处理中有WaitforSingleObject())时,再用IOCTL_CODE_CMD_2是在调用DeviceIOControl(),有没有问题?  

『IOCTL_CODE_CMD_2』!!抱歉
此帖出自WindowsCE论坛
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

4
 
实验中... 敬请等待...
此帖出自WindowsCE论坛
 
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

5
 
实验表明,问题2 也会成功执行!!

不过:
发送命令字1和发送命令字2的是两个独立的线程,发送命令字2的线程被阻塞,不影响发送命令字1的线程继续发送命令字1.
如果发送命令字1和发送命令字2不是分开单独的线程,当然送命令字2时线程被阻塞,也就没法再发出命令字1了。这不是驱动的问题。而是应用程序的问题。
此帖出自WindowsCE论坛
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表