| Предыдущий | Следующий |
| SCARD_W_UNPOWERED_CARD | SCARD_W_REMOVED_CARD |
SCARD_W_RESET_CARD
Сброс аннулирует общее состояние
SCARD_W_RESET_CARD означает, что карта была сброшена, пока приложение сохраняло соединение. Это часто происходит при совместном использовании считывателя, когда другой процесс сбрасывает карту, или после слишком долгого простоя транзакции, из-за которого диспетчер ресурсов выполняет сброс. Код является предупреждением, поскольку восстановление возможно, но его нельзя игнорировать.
После сброса может исчезнуть всё, что связано со старым сеансом карты: выбранные приложения, среда безопасности, состояние проверки PIN, защищённый обмен и предположения о протоколе. PCSC-lite прямо указывает, что приложение при этом статусе должно вызвать SCardReconnect, чтобы подтвердить сброс соединения и вернуться в допустимое состояние.
Правильное восстановление
- Переподключитесь и заново получите активный протокол; не продолжайте использовать старое состояние транзакции.
- Повторно выберите нужное приложение и выполните только необходимые для нового сеанса этапы проверки подлинности.
- Проверьте конкурентность: держите транзакции короткими и не позволяйте независимым компонентам сбрасывать карту, используемую другим компонентом.
Ссылки
- Microsoft: SCardReconnect
- PCSC-lite: поведение SCardReconnect
- Microsoft: SCardBeginTransaction
- PCSC-lite: коды ошибок
Нужно найти другой код? Найти другой код состояния или ошибки.