none
pocket pc 读取 smartcard 的问题 RRS feed

  • 问题

  • 版主好。
    我用 smart card api读取 读取sim 卡内容,在pocket pc 手机(多普达p800)里运行过程中,当SCardConnect 连接设备的时候提示找不到设备。在pc(把smart card 服务打开)中运行,用pc/sc 读卡器连接电脑读取sim时可以成功读取。难道在 pocket pc 运行还需要smart card 的驱动程序?如果是的话,从哪儿可以得到这个驱动呢??? msdn里 写着这些个smart card api 支持wince5.0 的啊~~~
    2009年6月23日 3:50

答案

  • hi,
    现在大多数的PPC(注意不是说WindowsCE设备)从硬件基础上都不支持USB host, 所以你不能使用Smart Card Reader,即便是少数支持USB HOst的PPC,也需要你自己编写驱动程序,或者使用OEM提供的驱动,或者如果刚好是通用驱动(如USB Mass Storage)的话,你就可以直接用了.网上有些成功的sample也是基于特定设备的

    Goodluck
    I'm a device.
    2009年7月14日 1:36
    版主

全部回复

  • 可以使用 SIM Manager API,
    请参考:SIM Programming On Windows Mobile

    施炯
    2009年6月24日 5:06
    版主
  • 谢谢 dearsj001 的回答,我的问题好像没有描述清楚,我的程序需要和SIM卡 传送 APDU指令,SIM Manager API 好像不支持。查了下资料,winscard。dll 类库下的 SCardEstablishContext、SCardConnect、SCardListReaders 、SCardTransmit 等 几个方法可以实现APDU指令的传送和接受。  我试了下在PC上连上读卡器可以用APDU 访问SIM卡,但在VS2008 pocket pc 模拟器上无法实现,把程序移植到手机中也不行,都是在执行SCardConnect方法时提示相同的错误:“Cannot find a smart card reader.” 在MSDN介绍winscard.dll 是支持Wince5.0的。 是这些 API 不对路,还是手机上需要装什么驱动程序?


    2009年6月24日 6:29
  • 哦,这样的啊。
    找到了一个Windows CE Networking Web Blog,上面有个链接http://blogs.msdn.com/cenet/archive/2005/06/16/429844.aspx
    是关于你说的那个问题,不知道对你有没有用,可以看看。呵呵。
    施炯
    2009年6月24日 13:38
    版主
  • 链接中的问题和我遇到的问题一样,也没有说出确切的办法~~
    2009年6月26日 2:07
  • hi,
    现在大多数的PPC(注意不是说WindowsCE设备)从硬件基础上都不支持USB host, 所以你不能使用Smart Card Reader,即便是少数支持USB HOst的PPC,也需要你自己编写驱动程序,或者使用OEM提供的驱动,或者如果刚好是通用驱动(如USB Mass Storage)的话,你就可以直接用了.网上有些成功的sample也是基于特定设备的

    Goodluck
    I'm a device.
    2009年7月14日 1:36
    版主
  • 谢谢!
    看来我原先的方法是行不通了。通过OEM的驱动或许是个便利的方法,不过OEM驱动也不是很容易获得的 :-(
    2009年7月14日 5:39
  • 各个厂商不同吧, 有的有提供sdk有的要收费
    I'm a device.
    2009年7月15日 3:42
    版主
  • 请问下你的问题解决了吗?我们可以私下交流下。我的邮箱:xiaoqingbupt@gmail.com
    2010年3月9日 7:51