Smart Card Subsystem (Windows CE 5.0)
The Windows CE smart card subsystem consists of the following:
Smart Card Service Providers
Smart card service providers are base service providers (DLLs) that enable access to specific services. The service providers access specific capabilities of their target smart cards. They are aware of the services that are provided within specific smart cards and ease access to these services by applications. The service providers can build on the services of other providers to accomplish their tasks. Examples of service providers that can be invoked by other providers are the ISO 7816-4 File System and APDU providers.
Note that Windows CE does not include a service provider. Typically, the same vendor that supplied the target smart card supplies its provider.
The resource manager uses a Microsoft Win32® API to manage access to multiple readers and smart cards. The resource manager coordinates application access to specific smart cards and provides the service providers with what appears to be a direct connection to the target smart card. In particular, it maintains security by preventing unauthorized access to smart cards or readers and by coordinating which cards are in which readers.
Specific Smart Card Reader Driver
The specific drivers map the conceptual driver services to the specific hardware reader device. There may be hierarchies of specific drivers, too, such as generic serial port drivers that communicate with specific port drivers. The specific reader driver must communicate any card-insertion and removal events to the smart card class driver for forwarding to the resource manager. The driver also must provide data-exchange capabilities to the card by using any or all of the raw, T=0, or T=1 protocols.
Smart Card Reader Helper Library
The smart card helper library provides common smart card driver support routines and provides additional T=0 and T=1 protocol support to specific drivers as needed.
For more information about smart cards, see the PC/SC Workgroup Web site.
The following table shows the files that implement the smart card subsystem.
|Scard.dll||Smart card resource manager, uses the Win32 APIs to manage access to multiple readers and smart cards.|
|Smclib.lib||Smart card reader helper library, provides common smart card driver support routines and additional T=0 and T=1 protocol support to specific drivers as needed.|
|Winscard.dll||Smart card resource manager helper library; this file is part of the Coredll.dll file, exposes PC/SC services for using smart cards and smart card readers.|
The following table shows several of the sample PC Card smart card readers that are included in this software development kit (SDK).
|Bulltlp3.dll||Serial reader driver|
|Pscr.dll||SwapSmart PC Card reader driver|
|Stcusb.dll||USB reader driver|
These sample readers and their source code are located in the %_WINCEROOT%\Public\Common\Oak\Drivers\Pscr directory.
Send Feedback on this topic to the authors