PCSC 对卡片进展复位操作
PCSC 对卡片进行复位操作
之前对卡片进行复位操作,我一直都是用是wincard.dll中的
SCardGetAttrib((SCARDHANDLE)m_hReader, SCARD_ATTR_ATR_STRING, cATR, &dwATRBufferLen);
但是MSDN上对 SCardGetAttrib此函数的说明为:
The SCardGetAttrib function gets the current reader attributes for the given handle. It does not affect the state of the reader, driver, or card.
我想对卡片进行复位操作(将卡片中所有状态复位),能否使用此函数? 如果不是,麻烦各位大侠给出提示。。感激不尽。。(个人理解卡片复位是 卡片下电然后再上电,愚笨。。。)
------解决方案--------------------
SCardGetAttrib 不能复位的,只能取得atr.复位可以使用 reconnect 函数.
------解决方案--------------------
我使用的时候用这个函数复位
lReturn = SCardStatus(hCardHandle[index],
NULL,
&cch,
&dwState,
&dwProtocol,
bAttr,
&cByte);
------解决方案--------------------
lReturn = SCardStatus(hCardHandle[index],
NULL,
&cch,
&dwState,
&dwProtocol,
bAttr,
&cByte);
------解决方案--------------------
为保证兼容性,建立断开连接,重新连接。
之前对卡片进行复位操作,我一直都是用是wincard.dll中的
SCardGetAttrib((SCARDHANDLE)m_hReader, SCARD_ATTR_ATR_STRING, cATR, &dwATRBufferLen);
但是MSDN上对 SCardGetAttrib此函数的说明为:
The SCardGetAttrib function gets the current reader attributes for the given handle. It does not affect the state of the reader, driver, or card.
我想对卡片进行复位操作(将卡片中所有状态复位),能否使用此函数? 如果不是,麻烦各位大侠给出提示。。感激不尽。。(个人理解卡片复位是 卡片下电然后再上电,愚笨。。。)
------解决方案--------------------
SCardGetAttrib 不能复位的,只能取得atr.复位可以使用 reconnect 函数.
------解决方案--------------------
我使用的时候用这个函数复位
lReturn = SCardStatus(hCardHandle[index],
NULL,
&cch,
&dwState,
&dwProtocol,
bAttr,
&cByte);
------解决方案--------------------
lReturn = SCardStatus(hCardHandle[index],
NULL,
&cch,
&dwState,
&dwProtocol,
bAttr,
&cByte);
------解决方案--------------------
为保证兼容性,建立断开连接,重新连接。