SCardTransmit()返回801000002

时间:2015-04-08 13:08:46

标签: smartcard rfid smartcard-reader contactless-smartcard

我在Windows XP中有一个非接触式系统。但是当我尝试在Win7下运行它时,即使它运行连接功能,它在sCardTransmit函数中也会失败:

UCHAR ucAnswerL[255];
DWORD ucAnswerSizeL = 0;
BYTE            m_send[256];

ucAnswerSizeL = 255;
m_send[0] = 0x00;
m_send[1] = 0x12;
m_send[2] = 0x00;
m_send[3] = 0x00;
m_send[4] = 0x00;
m_ls = 5; 
uiRc = SCardTransmit(m_hSmartCardHandle, (m_dwAP==SCARD_PROTOCOL_T0?SCARD_PCI_T0:SCARD_PCI_T1), m_send, m_ls, NULL, ucAnswerL, &ucAnswerSizeL);

uiRc设置为801000002,表示:

public const uint E_CANCELLED = 0x80100002;

XP系统中的相同代码返回0(成功)。

应该是什么问题?

顺便说一下。我在哪里可以找到这里提到的pbSendBuffer中发送的指令代码:

official website of winscard.h

0 个答案:

没有答案