dregs
驱动小牛
驱动小牛
  • 注册日期2004-02-19
  • 最后登录2006-05-10
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望5点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
阅读:2078回复:5

我真是惊了,com1和com2有区别吗?晕

楼主#
更多 发布于:2004-05-21 10:35
设备:non-pnp serial smart card reader.
为了给设备换个串口,在注册表中添加了如下键。
key:Device   Value:com1
每次加载驱动时,读注册表:如:
com1表示设备插在com1口
                           然后IoGetDeviceObjectPointer获取Device\\Serial0串口指针。

单独安装设备在com1或者com2口都没有问题,
安装在com2口后,修改注册表为com1,重启加载驱动,读注册表,获取串口的指针,还是ok的。
但是,faint,把com1改成com2,IoGetDeviceObjectPointer返回c000000e,晕倒。此时的
IoGetDeviceObjectPointer的参数的确是L\"\\\\Device\\\\Serial1\",怎么会是报这个错?
每次注册表写com1 的时候是完全正常的,为什么com2就不行呢?
gloomy
哪位高人可以指点迷津。。。。
谢谢先。。。
------------------------------
btw,请问对于串口设备,驱动中如何支持把它切换串口?
大家都是如何实现的?


还是我
snowStart
驱动老牛
驱动老牛
  • 注册日期2004-04-06
  • 最后登录2011-06-02
  • 粉丝0
  • 关注0
  • 积分95分
  • 威望19点
  • 贡献值177点
  • 好评度1点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-05-21 13:45
没搞明白你到底操作出错的
学习,关注,交流中... [email=fengyu@163.com]Email:snowstarth@163.com[/email] [url]http://bbs.zndev.com/?a=snowStart[/url]
Shentu
驱动小牛
驱动小牛
  • 注册日期2004-04-05
  • 最后登录2011-01-24
  • 粉丝0
  • 关注0
  • 积分234分
  • 威望24点
  • 贡献值0点
  • 好评度20点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-05-21 17:56
不可能吧,这么奇怪的事情?
是不是你忘了把设备接到com2?

兄弟,搞清楚了吗?
要是明白了,告诉一声啊

[编辑 -  5/21/04 by  Shentu]
dregs
驱动小牛
驱动小牛
  • 注册日期2004-02-19
  • 最后登录2006-05-10
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望5点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-05-21 18:06
搞定了
我使用了IoRegisterPlugPlayNotification来等到串口驱动load进来。
原来是IoGetDeviceObjectPointer等到com1加载后,就把Notification给unregister掉了。
应该继续等 知道com2 也加载进来。

放分 不过不多奥 ^_^
 :D
还是我
Shentu
驱动小牛
驱动小牛
  • 注册日期2004-04-05
  • 最后登录2011-01-24
  • 粉丝0
  • 关注0
  • 积分234分
  • 威望24点
  • 贡献值0点
  • 好评度20点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-05-22 09:17
书上不是说IoRegisterPlugPlayNotification不能在98里用的吗?
从通用性上考虑,是不是不要用它比较好?
sinking
驱动牛犊
驱动牛犊
  • 注册日期2003-08-18
  • 最后登录2006-02-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2004-05-24 10:29
IoRegisterPlugPlayNotification在98se里可以用。
游客

返回顶部