C ++中的ScardTransmission错误 [英] Scardtransmit error in c++

查看:159
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆