C ++中的ScardTransmission错误 [英] Scardtransmit error in c++
本文介绍了C ++中的ScardTransmission错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
嗨
我已经实现了Scardtransmit函数来发送APDU命令,但是它给出了错误14.我 dnt 不 knw 知道 wat 什么 dat 表示...代码为:-
以前所有的功能,例如scard Establishment context n scardconnect都可以正常工作.
我 dnt 不知道 knw 错误.... pls 请帮助..
Hi
I have implemented a scardtransmit function to send a APDU command but its giving error 14. i dnt don''t knw know wat what dat that means ...code is:-
all the previous functions like scardestablish context n scardconnect are working fine.
i dnt don''t knw know the error.... pls please help..
DWORD dwActiveProtocol, dwSendLength, dwRecvLength;
SCARD_IO_REQUEST pioRecvPci;
BYTE pbRecvBuffer[256];
BYTE pbSendBuffer[] = { (BYTE)0x60,(BYTE) 0x00,(BYTE) 0x02, (BYTE)0x6C, (BYTE)0x35, (BYTE)0x3B, (BYTE)0x03 };
dwSendLength = sizeof(pbSendBuffer);
dwRecvLength = sizeof(pbRecvBuffer);
long result =com(phCard, 0, pbSendBuffer, dwSendLength,&pioRecvPci, pbRecvBuffer, &dwRecvLength);
if(result!=SCARD_S_SUCCESS){
cout<<"unable to transmit the command\n";
}
如果我从pbSendBuffer中删除(BYTE),则错误为22 ...
帮助...
if i remove the (BYTE) from pbSendBuffer then the error is 22...
help...
推荐答案
SCard特定的错误代码在这里:
http://msdn.microsoft.com/zh-CN -us/library/windows/desktop/aa374738(v = vs.85).aspx#smart_card_return_values [ http://msdn.microsoft.com/en-us/library/ms681382 (v = vs.85).aspx [ http://msdn.microsoft.com/zh-CN /library/windows/desktop/aa379804(v=vs.85).aspx [ http://msdn.microsoft.com/zh-CN /library/windows/desktop/aa379807(v=vs.85).aspx [
SCard specific error codes are here:
http://msdn.microsoft.com/en-us/library/windows/desktop/aa374738(v=vs.85).aspx#smart_card_return_values[^]
Generic system error codes are here:
http://msdn.microsoft.com/en-us/library/ms681382(v=vs.85).aspx[^]
14 = ERROR_OUTOFMEMORY
22 = ERROR_BAD_COMMAND
I suspect that your problem has to do with the pioRecvPci structure. The second element of that structure is a length field which you aren''t initializing. It should be initialized to a valid length.
Relevant documentation:
http://msdn.microsoft.com/en-us/library/windows/desktop/aa379804(v=vs.85).aspx[^]
and
http://msdn.microsoft.com/en-us/library/windows/desktop/aa379807(v=vs.85).aspx[^]
这篇关于C ++中的ScardTransmission错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文