wy_t29
驱动牛犊
驱动牛犊
  • 注册日期2002-03-06
  • 最后登录2009-01-07
  • 粉丝0
  • 关注0
  • 积分3分
  • 威望10点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
阅读:2170回复:7

串口非即插即用智能卡PC/SC驱动问题?

楼主#
更多 发布于:2003-12-23 09:25
    我使用普通非即插即串口cpu卡读写器,主要是通过在内核态访问串口驱动来实现PC/SC,现在已经基本完成,只是在跟踪卡片插拔出现一些问题:
    我使用的读写器使用的是串口CTS线来检测卡片插拔状态的,在完成串口初始化后立即使用自定义的函数开始跟踪,用softice调试也发现能正确检测到卡状态,检测函数中设置SmartcardExtension->ReaderCapabilities.CurrentState,但是使用用户态软件测试时却不能正确发现卡片插拔状态,不知Smart Card Functions是通过内核中的什么元素来辨别卡插拔状态的?

最新喜欢:

dregsdregs
wy_t29
驱动牛犊
驱动牛犊
  • 注册日期2002-03-06
  • 最后登录2009-01-07
  • 粉丝0
  • 关注0
  • 积分3分
  • 威望10点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-02-17 09:36
我已经成功解决了。 :D :D :D :D :D :D :D :D
xj137
驱动牛犊
驱动牛犊
  • 注册日期2003-05-12
  • 最后登录2005-04-13
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-03-17 18:33
请问你是如何注册SMARTCARD RESOURCE MANANGER 服务的,调用IoRegisterDeivceInterface(),我调用此函数,显示注册成功,设备管理器其中也有SMARTCARD READERS,但是用sCardListReaders却找不到读卡器。
非常感谢!
注:我是在2000下
wy_t29
驱动牛犊
驱动牛犊
  • 注册日期2002-03-06
  • 最后登录2009-01-07
  • 粉丝0
  • 关注0
  • 积分3分
  • 威望10点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-03-18 19:41
应该可以发现的,如果你有启动系统的智能卡服务的话?
我已经成功开发出了基于PNP串口的PC/SC驱动 :D :D :D :D
xj137
驱动牛犊
驱动牛犊
  • 注册日期2003-05-12
  • 最后登录2005-04-13
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-03-19 11:37
智能卡服务已经起来了。USB的读卡器就没问题。
与你的读卡器不同,我的串口读卡器不是PNP的,也就是插到串口后,系统不会发现新硬件;我用EZDRIVERINSTALLER强制安装,在ADDDEVICE中创建FDO,把FDO ATTACH到PDO上,并且注册设备接口【智能卡服务】,我检测PDO类型是BUS_CONTROLLER;
运行有以下现象
1)系统也会向我的驱动发送PNP请求,如START_DEVICE,QUERY_RELATIONS等
2)系统夜能够向驱动发送SMARTCARD请求,如SMARTCARD_GET_ATTRIBUTE,SMARTCARD_IS_PRESENT等。
3)但是用SCardListReaders列出读卡器时,却找不到读卡器。

请大侠不吝赐教,帮忙分析以下原因,不胜感激。
 :( :( :( :( :( :(
dregs
驱动小牛
驱动小牛
  • 注册日期2004-02-19
  • 最后登录2006-05-10
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望5点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2004-03-26 10:27
   我使用普通非即插即串口cpu卡读写器,主要是通过在内核态访问串口驱动来实现PC/SC,现在已经基本完成,只是在跟踪卡片插拔出现一些问题:
    我使用的读写器使用的是串口CTS线来检测卡片插拔状态的,在完成串口初始化后立即使用自定义的函数开始跟踪,用softice调试也发现能正确检测到卡状态,检测函数中设置SmartcardExtension->ReaderCapabilities.CurrentState,但是使用用户态软件测试时却不能正确发现卡片插拔状态,不知Smart Card Functions是通过内核中的什么元素来辨别卡插拔状态的?


我想请教一下这位兄台:
你的 通过在内核态访问串口驱动来实现PC/SC
是不是在 StartDevice中利用IoGetDeviceObjectPointer来得到serial。sys的指针来实现的?

你的驱动是挂在root下的吗?
对于irp_mj_pnp的处理是怎样的呢?

请指点小弟~~
还是我
wy_t29
驱动牛犊
驱动牛犊
  • 注册日期2002-03-06
  • 最后登录2009-01-07
  • 粉丝0
  • 关注0
  • 积分3分
  • 威望10点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2004-03-29 12:51
非即插即用串口用的是非即插即用驱动;
即插即用串口用的是即插即用驱动。
dregs
驱动小牛
驱动小牛
  • 注册日期2004-02-19
  • 最后登录2006-05-10
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望5点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2004-03-29 14:08
非即插即用串口用的是非即插即用驱动;
即插即用串口用的是即插即用驱动。
 

嗯?能不能详细的说说?什么意思?

非即插即用串口 就不需要支持pnp了吗?

my qq 271144583

希望和大侠多多讨教讨教
还是我
游客

返回顶部