The smart card driver library supports a driver in performing the following actions:
The smart card driver library is implemented as a single VxD. To call the library functions, use the interface that is implemented in the smcvxd.h header file.
Every driver needs the DriverName_DeviceIoControl VxD routine; it is the main entry point for smart card requests.
The library offers functionality that is common for all smart card drivers. The principle of the library is based on callbacks. This means when the driver's DriverName_DeviceIoControl routine is called, it calls the library function SmartcardDeviceControl (VxD) using VxDCall. This routine does parameter checking and returns either if the call is invalid or if the library can handle the call without the driver. Otherwise, it calls back one of the driver's functions.