本主题面向 IT 专业人员和智能卡开发人员介绍了 Windows 智能卡服务 (以前称为智能卡资源管理器) 如何管理读取器和应用程序交互。
Windows 智能卡服务为所有其他智能卡组件提供基本基础结构,因为它管理计算机上的智能卡读取器和应用程序交互。 它完全符合 PC/SC 工作组设置的规范。 有关这些规范的信息,请参阅 PC/SC 工作组规范网站。
适用于 Windows 的智能卡服务在本地服务的上下文中运行,它作为服务主机 (svchost) 进程的共享服务实现。 适用于 Windows 的智能卡服务 Scardsvr 具有以下服务说明:
默认情况下,服务配置为手动模式。 智能卡读取器驱动程序的创建者必须配置其 INF,以便自动启动服务,winscard.dll 文件调用预定义的入口点以在安装期间启动服务。 入口点定义为 SmartCardReader 类的一部分,不会直接调用它。 如果设备作为此类的一部分播发自身,则插入设备时会自动调用入口点以启动服务。 使用此方法可确保在需要时启用服务,但对不使用智能卡的用户也禁用该服务。
服务启动时,它会执行多个功能:
- 它自行注册服务通知
- 它注册与设备删除和添加相关的即插即用 (PnP) 通知
- 它初始化其数据缓存和一个全局事件,以指示服务已启动
适用于 Windows 的智能卡服务将每个智能卡读取器槽分类为唯一的读取器,并且每个插槽也单独管理,而不管设备的物理特征如何。 适用于 Windows 的智能卡服务处理以下高级操作:
- 设备简介
- 读取器初始化
- 通知客户端新读取者
- 序列化对读取器的访问权限
- 智能卡访问
- 特定于读取器的命令的隧道
Windows 中智能卡登录的工作原理