Ejemplo n.º 1
0
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)
Ejemplo n.º 2
0
    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 []
Ejemplo n.º 3
0
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)
Ejemplo n.º 4
0
 def close(self):
     SCardDisconnect(self._card, SCARD_UNPOWER_CARD)
     SCardReleaseContext(self._context)
Ejemplo n.º 5
0
        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.")
Ejemplo n.º 6
0
 def __releaseContext(self):
     hresult = SCardReleaseContext(self.hcontext)
     if hresult != SCARD_S_SUCCESS:
         raise CardConnectionException('Failed to release context: ' + SCardGetErrorMessage(hresult))
     self.hcontext = None