首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

智能卡编程,执行SCardTransmit失败。该怎么解决

2012-03-29 
智能卡编程,执行SCardTransmit失败。一个读卡器,符合微软的PSCS标准一个卡,符合通讯协议ISO同步协议,接触式

智能卡编程,执行SCardTransmit失败。
一个读卡器,符合微软的PSCS标准
一个卡,符合通讯协议ISO同步协议,接触式卡。
连接读卡器成功,但是往里面发命令时就失败。
hCardHandle 句柄已得到。

BYTE command[256]={0x--,0x--}; //发送命令
DWORD commandLength=15; //发送命令长度
BYTE m_ReturnData[260]; //返回值
DWORD m_resultLength; //返回长度
LONG lReturn = SCardTransmit(hCardHandle, SCARD_PCI_T0, command, commandLength,
NULL, m_ReturnData, &m_resultLength);


返回错误: lReturn =87 。。
请各位大虾帮忙解决。。

[解决办法]

C/C++ code
ERROR_BROKEN_PIPE The client attempted a smart card operation in a remote session, such as a client session running on a terminal server, and the operating system in use does not support smart card redirection. SCARD_E_BAD_SEEK An error occurred in setting the smart card file object pointer. SCARD_E_CANCELLED The action was canceled by an SCardCancel request. SCARD_E_CANT_DISPOSE The system could not dispose of the media in the requested manner. SCARD_E_CARD_UNSUPPORTED The smart card does not meet minimal requirements for support. SCARD_E_CERTIFICATE_UNAVAILABLE The requested certificate could not be obtained. SCARD_E_COMM_DATA_LOST A communications error with the smart card has been detected. SCARD_E_DIR_NOT_FOUND The specified directory does not exist in the smart card. SCARD_E_DUPLICATE_READER The reader driver did not produce a unique reader name. SCARD_E_FILE_NOT_FOUND The specified file does not exist in the smart card. SCARD_E_ICC_CREATEORDER The requested order of object creation is not supported. SCARD_E_ICC_INSTALLATION No primary provider can be found for the smart card. SCARD_E_INSUFFICIENT_BUFFER The data buffer for returned data is too small for the returned data. SCARD_E_INVALID_ATR An ATR string obtained from the registry is not a valid ATR string. SCARD_E_INVALID_CHV The supplied PIN is incorrect. SCARD_E_INVALID_HANDLE The supplied handle was not valid. SCARD_E_INVALID_PARAMETER One or more of the supplied parameters could not be properly interpreted. SCARD_E_INVALID_TARGET Registry startup information is missing or not valid. SCARD_E_INVALID_VALUE One or more of the supplied parameter values could not be properly interpreted. SCARD_E_NO_ACCESS Access is denied to the file. SCARD_E_NO_DIR The supplied path does not represent a smart card directory. SCARD_E_NO_FILE The supplied path does not represent a smart card file. SCARD_E_NO_MEMORY Not enough memory available to complete this command. SCARD_E_NO_READERS_AVAILABLE No smart card reader is available. SCARD_E_NO_SERVICE The smart card resource manager is not running. SCARD_E_NO_SMARTCARD The operation requires a smart card, but no smart card is currently in the device. SCARD_E_NO_SUCH_CERTIFICATE The requested certificate does not exist. SCARD_E_NOT_READY The reader or card is not ready to accept commands. SCARD_E_NOT_TRANSACTED An attempt was made to end a nonexistent transaction. SCARD_E_PCI_TOO_SMALL The PCI receive buffer was too small. SCARD_E_PROTO_MISMATCH The requested protocols are incompatible with the protocol currently in use with the card. SCARD_E_READER_UNAVAILABLE The specified reader is not currently available for use. SCARD_E_READER_UNSUPPORTED The reader driver does not meet minimal requirements for support. SCARD_E_SERVICE_STOPPED The smart card resource manager has shut down. SCARD_E_SHARING_VIOLATION The smart card cannot be accessed because of other outstanding connections. SCARD_E_SYSTEM_CANCELLED The action was canceled by the system, presumably to log off or shut down. SCARD_E_TIMEOUT The user-specified time-out value has expired. SCARD_E_UNEXPECTED An unexpected card error has occurred. SCARD_E_UNKNOWN_CARD The specified smart card name is not recognized. SCARD_E_UNKNOWN_READER The specified reader name is not recognized. SCARD_E_UNKNOWN_RES_MNG An unrecognized error code was returned from a layered component. SCARD_E_UNSUPPORTED_FEATURE This smart card does not support the requested feature. SCARD_E_WRITE_TOO_MANY An attempt was made to write more data than would fit in the target object. SCARD_F_COMM_ERROR An internal communications error has been detected. SCARD_F_INTERNAL_ERROR An internal consistency check failed. SCARD_F_UNKNOWN_ERROR An internal error has been detected, but the source is unknown. SCARD_F_WAITED_TOO_LONG An internal consistency timer has expired. SCARD_P_SHUTDOWN The operation has been aborted to allow the server application to exit. SCARD_S_SUCCESS No error was encountered. SCARD_W_CANCELLED_BY_USER The action was canceled by the user. SCARD_W_CHV_BLOCKED The card cannot be accessed because the maximum number of PIN entry attempts has been reached. SCARD_W_EOF The end of the smart card file has been reached. SCARD_W_REMOVED_CARD The smart card has been removed, so further communication is not possible. SCARD_W_RESET_CARD The smart card has been reset, so any shared state information is not valid. SCARD_W_SECURITY_VIOLATION Access was denied because of a security violation. SCARD_W_UNPOWERED_CARD Power has been removed from the smart card, so that further communication is not possible. SCARD_W_UNRESPONSIVE_CARD The smart card is not responding to a reset. SCARD_W_UNSUPPORTED_CARD The reader cannot communicate with the card, due to ATR string configuration conflicts. SCARD_W_WRONG_CHV The card cannot be accessed because the wrong PIN was presented. 


[解决办法]
m_resultLength 没赋值

热点排行