| Предыдущий | Следующий |
| SCARD_E_SYSTEM_CANCELLED | SCARD_F_UNKNOWN_ERROR |
SCARD_F_COMM_ERROR
Где может произойти сбой обмена
SCARD_F_COMM_ERROR означает, что стек PC/SC обнаружил внутренний сбой обмена. Его не следует считать ошибкой PIN-кода, сертификата или ответом уровня приложения от карты. Сбойный путь может включать диспетчер ресурсов смарт-карт, драйвер считывателя, транспорт к считывателю, управление питанием и сбросом карты либо сам обмен с картой.
До повторной попытки зафиксируйте имя считывателя, активный протокол, ATR, сообщённый считывателем, и последний вызов API. SCardStatus может сообщить, присутствует ли карта, подано ли питание, возможен ли выбор протокола и готова ли карта; SCardGetStatusChange полезен, когда состояние считывателя или карты может меняться во время работы приложения.
Восстановление без потери данных
- Повторно подключайтесь только после проверки, не была ли карта удалена, сброшена или перестала отвечать.
- До замены карты попробуйте другой считыватель и кабель; повторяемый сбой, следующий за считывателем, относится к другому уровню, чем сбой, следующий за картой.
- Не отправляйте повторно изменяющую состояние APDU вслепую. До повтора определите, дошла ли команда до карты.
Ссылки
- Microsoft: возвращаемые значения смарт-карт
- PCSC-lite: коды ошибок
- Microsoft: SCardStatus
- PC/SC Workgroup: архитектура и спецификации
Нужно найти другой код? Найти другой код состояния или ошибки.