Для связи со смарт-картой я использую WINSCARD.DLL в качестве API для отправки команд APDU на смарт-карты. Для пары картридеров это работает, как и ожидалось, но почему-то я получаю неизвестный возврат (его нет на http://msdn.microsoft.com/en-us/library/ms936965.aspx) из метода SCardTransmit
, если я отправлю команду на устройство чтения O2Micro.
Что работает: если я отправлю команду (значения в шестнадцатеричном формате):
CLA: 00, INS: A4, P1: 02, P2: 04, Lc: 02, Data: "4401", Le: (not present)
Я получаю ответ SW1: 61. SW2: 1F
В ответе сообщается, что доступно 0x1F
байт. Итак, я посылаю команду:
CLA: 00, INS: A4, P1: 02, P2: 04, Lc: 02, Data: "4401", Le: 1F
Но по этой команде я не получаю данных и возвращаю значение 0x57
.
Мой вопрос: знает ли кто-нибудь, о чем говорит возвращаемое значение 0x57
, и, возможно, как его решить или обойти.