This project
is a typical PC/SC driver, tested on WIN2K.
List
of files, included in the project can be found here. The
most important function is SendSmdReader().This function should
be implemented in an external hardware (smartcard reader, secure
token). In order to simulate insertion and removal of the virtual
smartcard I create additional WORKER thread (function VdVendorIOCTL)
where I create named event (IoCreateSynchronizationEvent, name
is SC_INSERT_REMOVE). User application (ins_rem.exe) switches
this event and driver simulates insertion and removal of the
virtual smartcard. Second user application (sc_mon.exe) reports
about current state of the virtual smartcard.Additionally it
is possible to use any other tools to check the presence of
virt. smartcard like PCSCInf.exe.
This driver supports SYSTEM EVENT LOG, putting there correspondent
messages about it current state and errors. All this information
can be viewed with usage of standard EVENT VIEWER.
The ATR data, the path to the binary file which emulates the
smartcard memory are stored in the driver's code. It can be
easily changed and be set up through the Registry, for example.
The name of the virtual reader is "COMRAD 000001 0"
The driver supports 3 ISO 7816 commands: