以前开发过符合pc/sc规范的usb的ic卡读写器的应用程序,使用的是T=0协议的ic卡,现在使用T=1的ic卡,在把SCardConnect改成
lReturn = SCardConnect( hContext,rgscState[i].szReader,
                        SCARD_SHARE_EXCLUSIVE,//访问模式:独占,共享,直接。
                        SCARD_PROTOCOL_T1,//修改了卡的通讯协议。T0,T1,
                        &hCardHandle, //返回卡的句柄
                        &dwAP );
可以正常使用,可是在使用SCardTransmit是改为
SCardTransmit(hCardHandle, SCARD_PCI_T1,//修改协议
             (unsigned char*)send_cmd,
             len,NULL,(unsigned char*)receive_data,
             &dwRecvlen );
不管什么命令都返回0x0000045d的返回码,有人知道什么原因吗?是不是在修改了通讯协议后,命令的格式也有所不同?谢谢!