How do I communicate with a card supporting the T=1 protocol?

I try to send a SELECT command to the card, but I get an I/O error in SCardTransmit(). When I use the the T=0 protocol (second parameter SCARD_PCI_T0 instead of SCARD_PCI_T1) everything works fine.

...
        sendBufferLength = 5 + AIDLength;
        sendBuffer = (LPBYTE)malloc(sizeof(BYTE)*sendBufferLength);
        sendBuffer[i++] = 0x00;
        sendBuffer[i++] = 0xA4;
        sendBuffer[i++] = 0x04;
        sendBuffer[i++] = 0x00;
        sendBuffer[i++] = (BYTE)AIDLength;
        memcpy(sendBuffer+i, AID, AIDLength);
        i+=AIDLength;
        result = SCardTransmit( cardHandle,
                                SCARD_PCI_T1,
                                sendBuffer,
                                sendBufferLength,
                                NULL,
                                recvBuffer,
                                &recvBufferLength
                                );
        if ( SCARD_S_SUCCESS != result) {
                errorMessage(result, "SCardTransmit");
                return result;
        }
...

Thanks, Karsten
_______________________________________________
Muscle mailing list
[EMAIL PROTECTED]
http://lists.drizzle.com/mailman/listinfo/muscle

Reply via email to