Smart Card Resource Manager

The smart card resource manager manages the access to readers and to smart cards. To manage these resources, it performs the following three functions.

  • Identifies and tracks resources.
  • Allocates readers and resources across multiple applications.
  • Supports transaction primitives for accessing services available on a given card.

Note  This is an important point because current cards are single-threaded devices that often require the execution of multiple commands to complete a single function. Transactions allow multiple commands to be executed without interruption, ensuring that intermediate state information is not corrupted.

The resource manager can be accessed directly by way of the resource manager API or indirectly through any smart card service provider.

The resource manager API is a set of Win32® functions that provide direct access to the resource manager’s services. (For an overview of the Win32 functions provided by the API, see Smart Card Resource Manager API.) In comparison, smart card service providers use COM interfaces.

Many of the Win32 functions in the resource manager API have equivalents in the properties and methods of the smart card service providers’ COM interfaces. And although most application developers will find the COM model easier to work with, some applications will still need to use the Win32 functions to perform certain tasks. For example, applications that need to manipulate the list of readers or reader groups in the smart card database, and those that need direct control of a reader must use the resource manager API. The services that provide these capabilities are available only in the Win32 functions, not in the COM model provided by the service providers.

For information on how the resource manager is implemented in Microsoft® Windows®, see Resource Manager Implementation.