智能卡设计指南
智能卡 DDI 允许 NFC 设备驱动程序的调用方在 NFC 接触智能卡上执行低级别的智能卡操作。 这包括侦听卡到达/离开通知、读取智能卡的元数据(如 ATR、UID 和历史字节信息),以及使用 APDU 在特定 NFC 卡上执行读/写操作。 对于不符合 ISO14443-4 的卡 (称为存储卡) ,第 4.3.7 节介绍了将 APTU 转换为存储卡支持的低级别基元命令。 IOCTL 组成 SMARTCARD 设备驱动程序接口,并且它们都使用FILE_ANY_ACCESS和METHOD_BUFFERED。 下面的智能卡 DDI 是 Windows [1] 指定的智能卡驱动程序 IOCTL 的最小子集,用于支持访问 NFC 无接触智能卡。
GUID_DEVINTERFACE_SMARTCARD_READER
"{50DD5230-BA8A-11D1-BF5D-0000F805F530}"
不支持的 IOCTL
NFC 智能卡操作不支持以下 IOCTL,因为它们不适用于无接触智能卡操作,因此驱动程序可能会返回不受支持的错误代码:
- IOCTL_SMARTCARD_EJECT
- IOCTL_SMARTCARD_GET_LAST_ERROR
- IOCTL_SMARTCARD_SWALLOW
智能卡属性
Windows 智能卡 DDI 包括对 Get 和 Set 属性的 IOCTL 请求。 为了满足支持 NFC 无接触读卡器的最低要求,我们仅支持最小读取器和 ICC 状态集的GET_ATTRIBUTE。 有关详细信息,请参阅支持的智能卡属性。