智能卡 DDI 允许使用者通过 NFC 设备驱动程序在 NFC 无接触智能卡上执行低级别的智能卡操作。 这包括监听卡片到达/离开通知,读取智能卡的元数据,例如 ATR、UID 和历史字节,以及使用 APDU 对特定 NFC 卡执行读/写操作。 对于不符合 ISO14443-4 标准的卡(称为存储卡),第 4.3.7 节记录了将 APDU 转换为存储卡支持的低级基元命令。 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 包括获取和设置属性的 IOCTL 请求。 为了满足支持 NFC 非接触式读卡器的最低要求,我们只支持 GET_ATTRIBUTE 用于读卡器和 ICC 状态的最低设置。 有关详细信息,请参阅 支持的智能卡属性。