Smart Card Driver Architecture (Windows CE 5.0)
Smart card readers are opened using the CreateFile API, passing in the device name as a parameter. Most smart card readers have a device name of the form PSCn:, where n is a digit from 0 through 9.
The smart card driver libraries supports a driver in performing the following actions:
- Creation of device names needed by the Smart Card Resource Manager
- Parameter checking and error detection for IOCTL calls
- ATR parsing and parameter conversion
- Support for the ISO protocols T=0 and T=1
- Support for inverse convention
- Synchronizing access to the driver
The smart card driver library consists of the following files.
File | Description |
---|---|
%_WINCEROOT%\Public\Common\DDK\Inc\Smclib.h | Contains driver-specific definitions. |
%_WINCEROOT%\Public\Common\DDK\Inc\Smcce.h | Contains Microsoft® Windows CE® .NET operating system-specific definitions. |
%_WINCEROOT%\Public\Common\SDK\Inc\Winsmcrd.h | Global include file for smart card reader driver's interface definitions. |
Smclib.lib | The smart card driver library for Windows CE drivers. |
The smart card resource manager calls the driver. The driver calls the smart card driver library. The library checks the parameters of the call. If the driver's help is not needed to satisfy the call, the library returns the requested data, or an error code, to the caller. If the driver's help is needed to satisfy the call, for example for I/O and for vendor-specific calls, the library calls the driver with all parameters set up correctly. The driver performs I/O and uses support functions of the library to complete the request. The driver returns to the resource manager.
The smart card library synchronizes access to your driver. No two callback functions will be called at the same time. However, card insertion and removal event handling must be processed asynchronously.
See Also
Smart Card Driver Debugging | Smart Card Driver Registry Settings
Send Feedback on this topic to the authors