Smart Card Modules
This topic is not current. For the most current information about the Smart Card API, see Smart Card Minidriver Specification.
Smart card modules act as card-specific plug-ins for the Microsoft Base Smart Card Cryptographic Service Provider. A smart card module communicates to a specific type of smart card through the Smart Card Resource Manager.
A smart card module is implemented as a dynamic-link library. A card module must implement the CardAcquireContext function. A card module must also implement the functions DllMain, DllRegisterServer, and DllUnregisterServer. A card module can also implement any or all of the functions described in Smart Card API Functions.
The Microsoft Base Smart Card Cryptographic Service Provider initiates communication to a smart card module by calling the CardAcquireContext function implemented by that card module. State information and function pointers that enable communication between a smart card module and the Microsoft Base Smart Card Cryptographic Service Provider are contained in a CARD_DATA structure.
Registering Card Types
The DllRegisterServer function implemented by a smart card module must call the SCardIntroduceCardType and SCardSetCardTypeProviderName functions to register the types of smart cards that the smart card module supports.
The DllUnregisterServer function implemented by a smart card module must call the SCardForgetCardType function to unregister the types of smart cards that the smart card module supports.