| Предыдущий | Следующий |
| SCARD_E_INVALID_ATR | SCARD_E_READER_UNAVAILABLE |
SCARD_E_NOT_TRANSACTED
Что означает SCARD_E_NOT_TRANSACTED
SCARD_E_NOT_TRANSACTED: Код пытается завершить smart-card transaction, которой уже нет или которая не была начата для текущего handle.
Что проверить
- Сопоставьте каждый SCardBeginTransaction с ровно одним SCardEndTransaction.
- Проверьте reset/reconnect: они могут сделать прежнее состояние транзакции недействительным.
- При исключениях и нескольких cleanup paths исключите двойной SCardEndTransaction.
Что делать
Исправьте баланс begin/end и храните состояние транзакции вместе с generation card handle. Не подавляйте ошибку бесконечным EndTransaction: это признак сбоя lifecycle в приложении.
Технические ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.