def stress(*args): """ stress method """ thread = args[0] for j in range(0, MAX_ITER): print(thread, end=' ') hresult, hcontext = SCardEstablishContext(SCARD_SCOPE_USER) if hresult != SCARD_S_SUCCESS: raise EstablishContextException(hresult) hresult = SCardReleaseContext(hcontext) # print("SCardReleaseContext()", SCardGetErrorMessage(hresult)) if hresult != SCARD_S_SUCCESS: raise ReleaseContextException(hresult)
def _list(self): try: hresult, hcontext = SCardEstablishContext(SCARD_SCOPE_USER) if hresult != SCARD_S_SUCCESS: raise Exception('Failed to establish context : ' + SCardGetErrorMessage(hresult)) try: hresult, readers = SCardListReaders(hcontext, []) if hresult != SCARD_S_SUCCESS: raise Exception('Failed to list readers: ' + SCardGetErrorMessage(hresult)) return readers finally: hresult = SCardReleaseContext(hcontext) if hresult != SCARD_S_SUCCESS: raise Exception('Failed to release context: ' + SCardGetErrorMessage(hresult)) except: # noqa: E722 return []
def stress(*args): """ stress method """ thread = args[0] print("Starting thread:", thread) hresult, hcontext = SCardEstablishContext(SCARD_SCOPE_USER) if hresult != SCARD_S_SUCCESS: raise EstablishContextException(hresult) hresult, readers = SCardListReaders(hcontext, []) if hresult != SCARD_S_SUCCESS: raise ListReadersException(hresult) for j in range(0, MAX_ITER): # Connect in SCARD_SHARE_SHARED mode hresult, hcard, dwActiveProtocol = SCardConnect( hcontext, readers[0], SCARD_SHARE_SHARED, SCARD_PROTOCOL_ANY) if hresult != SCARD_S_SUCCESS: raise BaseSCardException(hresult) log = "%d:%d" % (thread, j) print(log, end=' ') hresult = SCardDisconnect(hcard, SCARD_LEAVE_CARD) if hresult != SCARD_S_SUCCESS: raise BaseSCardException(hresult) print() hresult = SCardReleaseContext(hcontext) if hresult != SCARD_S_SUCCESS: raise ReleaseContextException(hresult) print("Exiting thread:", thread)
def close(self): SCardDisconnect(self._card, SCARD_UNPOWER_CARD) SCardReleaseContext(self._context)
print("select reader:", reader) try: # connect to card hresult, hcard, dwActiveProtocol = SCardConnect( hcontext, reader, SCARD_SHARE_SHARED, SCARD_PROTOCOL_T0 | SCARD_PROTOCOL_T1, ) if hresult != SCARD_S_SUCCESS: raise error("Unable to connect: " + SCardGetErrorMessage(hresult)) print("Connected with active protocol", dwActiveProtocol) # select ARA application transmit_command(SELECT_ARA) # load new rule to ARA transmit_command(LOAD) finally: hresult = SCardDisconnect(hcard, SCARD_UNPOWER_CARD) if hresult != SCARD_S_SUCCESS: raise error("Failed to disconnect: " + SCardGetErrorMessage(hresult)) print("Disconnected") finally: hresult = SCardReleaseContext(hcontext) if hresult != SCARD_S_SUCCESS: raise error("Failed to release context: " + SCardGetErrorMessage(hresult)) print("Released context.")
def __releaseContext(self): hresult = SCardReleaseContext(self.hcontext) if hresult != SCARD_S_SUCCESS: raise CardConnectionException('Failed to release context: ' + SCardGetErrorMessage(hresult)) self.hcontext = None