SpringCore in PC/SC Mode
In PC/SC Mode, the SpringCore device acts as a gateway for the communication between an application running in the host computer and an application running in the smart card (or the smart card’s operating system itself).
Technically speaking, this is known as coupling the smart card to the computer, and let both peers exchange APDUs (application-level protocol datagram units). The structure of the APDUs and the typical command-set is defined by the ISO/IEC 7816-4 standard.
This exchange is implemented through the standard SCardTransmit function call. The SpringCore device, as any other PC/SC-compliant reader, does not take any active part in the transaction with the card, being limited to this pass-through role.
Of course, different types of smart cards will support different commands, and provide different responses.
Dealing with a particular type of card is out of the scope of the documentation of a smart card reader. Application developers shall always refer to the documentation of the smart card itself to know how to operate it.
The only exception to the above statement is when the card is not a smart card, featuring its own command processor and (more or less) compliant with 7816-4, but a wired-logic-only memory card.
In this case, the card will not understand any standard APDU.
To support such cards, the reader features and embedded APDU processor that implements a few 7816-4 commands (read and write namely) and “translates” them into the equivalent card’s proprietary commands, and transmit them over the card’s proprietary protocol.
This is the subject of chapter APDU Interpreter.
SCardControl and Direct protocol
PC/SC also supports a way of sending direct (or “Escape”) commands to a device through the SCardControl function call. The format and the content of such commands, and of their related responses, are fully vendor-specific.
As for SpringCore device, the SCardControl function call gives access to all the features of the Direct protocol.
The encapsulation of the Direct protocol in the SCardControl function is documented in section Direct protocol through PC/SC.