Я пишу код C++, используя winscard. Я заметил, что если я отправляю команду с помощью Scardtransmit, когда отправляются или только принимаются данные, проблем не возникает. Я могу отправить данные или получить правильный ответ. Однако, когда команда отправляет данные и ожидает ответа, я всегда получаю 61xx. Я знаю, что код ошибки 61xx означает, что есть ответ xx байт, где Le неверен, и проверил все возможные Le, включая возвращаемое значение xx, но ничего не изменилось. Например, пусть Apdu будет в виде CLA INS P1 P2 Lc Data Le, и я получаю 61XX, затем я отправляю CLA INS P1 P2 Lc Data XX, снова получаю 61XX.
Я проверил карту с помощью java и других инструментов и убедился, что с картой ничего нет.
Насколько я понимаю, для Lc и Le выделяется один байт P3. Есть ли способ получить ответы (кроме SW1SW2) от команд DATADATA?