Руководство по проектированию смарт-карт

Интерфейс DDI смарт-карты позволяет вызывателям драйвера устройства NFC выполнять низкоуровневые операции с бесконтактными смарт-картами NFC. Это включает в себя прослушивание уведомлений о прибытии и отъезде карты, чтение метаданных смарт-карты, таких как ATR, UID и исторические байты, а также выполнение операций чтения и записи на конкретной карточке NFC с помощью API. Для карточек, несовместимых с ISO14443-4 (известных как карточки хранения), перевод APDU в примитивные команды низкого уровня, поддерживаемые картой хранения, описан в разделе 4.3.7. IOCTLs составляют интерфейс драйвера устройства SMARTCARD, и все они используют FILE_ANY_ACCESS и METHOD_BUFFERED. Приведенные ниже DDI смарт-карты представляют собой минимальное подмножество кодов ввода-вывода (IOCTL) драйвера смарт-карт, определенных в спецификациях Windows [1] для поддержки доступа к бесконтактной смарт-карте NFC.

GUID_DEVINTERFACE_SMARTCARD_READER
"{50DD5230-BA8A-11D1-BF5D-0000F805F530}"

Неподдерживаемые ioCTLs

Следующие IOCTLs не поддерживаются для работы со смарт-картами NFC, так как они не применимы для бесконтактной работы смарт-карт, поэтому драйвер может вернуть код ошибки 'не поддерживается':

  • IOCTL_SMARTCARD_EJECT
  • IOCTL_SMARTCARD_GET_LAST_ERROR
  • IOCTL_SMARTCARD_SWALLOW

Атрибуты смарт-карты

DDI смарт-карты Windows включает запросы IOCTL для атрибутов Get и Set. Чтобы соответствовать минимальному требованию для поддержки NFC-считывателя, мы поддерживаем только GET_ATTRIBUTE для минимального набора состояний считывателя и ICC. Дополнительные сведения см. в разделе "Поддерживаемые атрибуты смарт-карты".

В этом разделе