What does HRESULT 0x80100016 (SCARD_E_NOT_TRANSACTED) mean?

 
Previous Next
SCARD_E_INVALID_ATR SCARD_E_READER_UNAVAILABLE

SCARD_E_NOT_TRANSACTED

SCARD_E_NOT_TRANSACTED The caller tried to end a smart-card transaction that does not exist. This usually indicates unbalanced SCardBeginTransaction/SCardEndTransaction calls, a reset, or a reconnect that invalidated the earlier transaction state.

What to check

  • Pair every successful begin operation with exactly one end operation in the same card-handle lifetime.
  • After card reset, disconnect, reconnect, or cancellation, do not assume a previous transaction is still active.
  • Keep transactions short: Microsoft notes that an idle transaction may be reset after several seconds.

Microsoft: SCardBeginTransaction

Microsoft: SCardEndTransaction

Microsoft: SCardStatus


Looking for a different code? Search another status or error code.