Поделиться через


Ближнее полевое взаимодействие (NFC)

Общие сведения о технологии nfc.

Для разработки nfc-подключений вам потребуются следующие заголовки:

Руководство по программированию см. в разделе Nfc.

Функции IOCTL

 
IOCTL_NFCRM_QUERY_RADIO_STATE

Этот IOCTL используется приложением или службой управления радио для запроса текущего состояния радиосвязи устройства близкого взаимодействия.
IOCTL_NFCRM_SET_RADIO_STATE

Этот IOCTL используется приложением или службой управления радиосвязями для установки состояния питания радиоустройства близкого взаимодействия.
IOCTL_NFCSE_ENUM_ENDPOINTS

Возвращает сведения о списке всех защищенных элементов, подключенных к контроллеру NFC.
IOCTL_NFCSE_GET_NEXT_EVENT

Управляющий код IOCTL_NFCSE_GET_NEXT_EVENT возвращает следующее событие, доступное в буфере, или, если буферизация событий больше отсутствует, остается в состоянии ожидания до тех пор, пока не будет доступно событие защищенного элемента. Затем сведения о событии должны быть возвращены вызывающей объекту.
IOCTL_NFCSE_GET_NFCC_CAPABILITIES

Код элемента управления IOCTL_NFCSE_GET_NFCC_CAPABILITIES возвращает сведения о текущих возможностях nfc-контроллера, включая максимальный размер таблицы маршрутизации в режиме прослушивания (определенный в разделе 4.2 технической спецификации интерфейса контроллера NFC (NCI) версии 1.1) и поддерживаемые режимы маршрутизации.
IOCTL_NFCSE_GET_ROUTING_TABLE

Возвращает сведения о текущей конфигурации таблицы маршрутизации режима прослушивания.
IOCTL_NFCSE_HCE_REMOTE_RECV

Либо возвращает следующий доступный буфер данных, либо если буферизация данных больше отсутствует, запрос будет оставаться в ожидании, пока буфер APDU не будет доступен для чтения.
IOCTL_NFCSE_HCE_REMOTE_SEND

Передает ответ APDU от DeviceHost NFCEE на удаленное устройство. Вызывающий объект должен быть уверен, что APDU ответа соответствует стандарту ISO-IEC 7816-4.
IOCTL_NFCSE_SET_CARD_EMULATION_MODE

Код элемента управления IOCTL_NFCSE_SET_CARD_EMULATION_MODE задает, предоставляется ли указанный защищенный элемент в режиме эмуляции карты.
IOCTL_NFCSE_SET_ROUTING_TABLE

Настраивает таблицу маршрутизации режима прослушивания nfc-контроллера.
IOCTL_NFCSE_SUBSCRIBE_FOR_EVENT

Клиент выдает код элемента управления IOCTL_NFCSE_SUBSCRIBE_FOR_EVENT для подписки на определенное событие.
IOCTL_NFCSERM_QUERY_RADIO_STATE

IOCTL_NFCSERM_QUERY_RADIO_STATE используется приложением или службой управления радиосвязями SE для запроса текущего состояния радиосвязи устройства близкого взаимодействия.
IOCTL_NFCSERM_SET_RADIO_STATE

IOCTL_NFCSERM_SET_RADIO_STATE используется приложением или службой управления радиосвязи SE для установки текущего состояния питания радиоустройства близкого взаимодействия.
IOCTL_NFP_DISABLE

Клиент отправляет IOCTL_NFP_DISABLE запрос на временное отключение подписок, публикаций и событий присутствия.
IOCTL_NFP_ENABLE

Клиент отправляет IOCTL_NFP_ENABLE запрос на повторное включение ранее отключенных подписок, публикаций и событий присутствия.
IOCTL_NFP_GET_KILO_BYTES_PER_SECOND

Клиент отправляет запрос IOCTL_NFP_GET_KILO_BYTES_PER_SECOND на любой универсальный дескриптор, который не опубликован и не подписан, на устройство поставщика.
IOCTL_NFP_GET_MAX_MESSAGE_BYTES

Клиент отправляет запрос IOCTL_NFP_GET_MAX_MESSAGE_BYTES на любой универсальный дескриптор, который не опубликован и не подписан, на устройство поставщика, чтобы определить максимальный поддерживаемый размер сообщения.
IOCTL_NFP_GET_NEXT_SUBSCRIBED_MESSAGE

Клиент отправляет запрос IOCTL_NFP_GET_NEXT_SUBSCRIBED_MESSAGE дескриптору подписки несколько раз, чтобы получать подписанные сообщения по мере их поступления.
IOCTL_NFP_GET_NEXT_TRANSMITTED_MESSAGE

Клиент, заинтересованный в получении уведомлений о том, что сообщение было передано, отправит IOCTL_NFP_GET_NEXT_TRANSMITTED_MESSAGE запрос драйверу близкого взаимодействия.
IOCTL_NFP_SET_PAYLOAD

Клиентское приложение отправляет данные сообщения и подтверждает публикацию с помощью запроса IOCTL_NFP_SET_PAYLOAD.
IOCTL_SMARTCARD_GET_ATTRIBUTE

IOCTL_SMARTCARD_GET_ATTRIBUTE управляющий код запрашивает атрибуты смарт-карты.
IOCTL_SMARTCARD_GET_STATE

Код элемента управления IOCTL_SMARTCARD_GET_STATE получает текущее состояние смарт-карты.
IOCTL_SMARTCARD_IS_ABSENT

Код элемента управления IOCTL_SMARTCARD_IS_ABSENT возвращается немедленно с STATUS_SUCCESS, если смарт-карта в настоящее время не обнаружена.
IOCTL_SMARTCARD_IS_PRESENT

Управляющий код IOCTL_SMARTCARD_IS_PRESENT определяет, обнаружена ли в настоящее время смарт-карта.
IOCTL_SMARTCARD_POWER

Для Windows может потребоваться драйвер, чтобы этот IOCTL был NOP и возвращал успешное выполнение.
IOCTL_SMARTCARD_SET_ATTRIBUTE

Код элемента управления IOCTL_SMARTCARD_SET_ATTRIBUTE задает атрибут и возвращает STATUS_SUCCESS для SCARD_ATTR_DEVICE_IN_USE; в противном случае возвращается STATUS_NOT_SUPPORTED.
IOCTL_SMARTCARD_SET_PROTOCOL

Задает прокотол, с которым драйвер взаимодействует со смарт-картой после обнаружения карты.
IOCTL_SMARTCARD_TRANSMIT

Передает данные от клиента на обнаруженную смарт-карту в apdu, совместимом с ISO7816-4.

Перечисления

 
NFC_CX_CE_MODE_CONFIG

Это перечисление задает флаги режима прослушивания CE.
NFC_CX_DEVICE_MODE

Задает флаги режима устройства.
NFC_CX_DRIVER_FLAGS

Задает флаги драйвера времени выполнения.
NFC_CX_HOST_ACTION

Перечисление NFC_CX_HOST_ACTION указывает действия узла.
NFC_CX_NFCIP_MODE_CONFIG

Перечисление NFC_CX_NFCIP_MODE_CONFIG указывает режим инициатора NFC-IP.
NFC_CX_NFCIP_TGT_MODE_CONFIG

Перечисление NFC_CX_NFCIP_TGT_MODE_CONFIG указывает целевой режим NFC-IP.
NFC_CX_POLL_BAILOUT_CONFIG

Перечисление NFC_CX_POLL_BAILOUT_CONFIG определяет выход режима опроса.
NFC_CX_POLL_MODE_CONFIG

Перечисление NFC_CX_POLL_MODE_CONFIG указывает режим опроса.
NFC_CX_SEQUENCE

Перечисление NFC_CX_SEQUENCE указывает последовательности.
NFC_CX_TRANSPORT_TYPE

Перечисление NFC_CX_TRANSPORT_TYPE указывает типы транспорта.
SECURE_ELEMENT_CARD_EMULATION_MODE

Это перечисление указывает режим эмуляции карты защищенного элемента.
SECURE_ELEMENT_EVENT_TYPE

Указывает тип событий защищенного элемента.
SECURE_ELEMENT_ROUTING_TYPE

SECURE_ELEMENT_ROUTING_TYPE является членом SECURE_ELEMENT_ROUTING_TABLE_ENTRY.
SECURE_ELEMENT_TYPE

Указывает тип защищенного элемента.

Функции

 
EVT_NFC_CX_DEVICE_IO_CONTROL

Вызывается NFC CX для отправки необработанного IOCTL драйверу клиента.
EVT_NFC_CX_SEQUENCE_HANDLER

Вызывается NFC CX для уведомления драйвера клиента об обработке определенной зарегистрированной последовательности.
EVT_NFC_CX_WRITE_NCI_PACKET

Вызывается NFC CX для отправки пакета записи драйверу клиента.
NFC_CX_CLIENT_CONFIG_INIT

Функция NFC_CX_CLIENT_CONFIG_INIT инициализирует структуру NFC_CX_CLIENT_CONFIG.
NFC_CX_LLCP_CONFIG_INIT

Функция NFC_CX_LLCP_CONFIG_INIT инициализирует структуру NFC_CX_LLCP_CONFIG.
NFC_CX_RF_DISCOVERY_CONFIG_INIT

Функция NFC_CX_RF_DISCOVERY_CONFIG_INIT инициализирует структуру NFC_CX_RF_DISCOVERY_CONFIG.
NfcCxDeviceDeinitialize

Функция NfcCxDeviceDeinitialize (nfccx.h) деинициализирует устройство WDF, созданное во время процедуры AddDevice.
NfcCxDeviceInitConfig

Вызывается драйвером клиента во время процедуры AddDevice для выполнения функций DeviceInit. В ходе этого процесса также выполняется обмен следующими функциями обратного вызова ввода-вывода.
NfcCxDeviceInitialize

Функция NfcCxDeviceInitialize (nfccx.h) инициализирует устройство WDF, созданное во время процедуры AddDevice.
NfcCxHardwareEvent

Вызывается драйвером клиента при возникновении аппаратного события, такого как обратные вызовы D0Entry и D0Exit, для запуска или остановки устройства. Для драйверов, требующих загрузки встроенного ПО при инициализации или загрузке, рекомендуется переместить этот вызов в отдельный рабочий элемент. Однако драйвер клиента отвечает за следующее.
NfcCxNciReadNotification

Вызывается драйвером клиента, когда доступен пакет для чтения.
NfcCxRegisterSequenceHandler

Вызывается драйвером клиента во время инициализации для регистрации для обработки определенных последовательностей.
NfcCxSetLlcpConfig

Вызывается драйвером клиента для настройки параметров LLCP.
NfcCxSetRfDiscoveryConfig

Вызывается драйвером клиента для настройки параметров обнаружения RF.
NfcCxUnregisterSequenceHandler

Вызывается драйвером клиента во время завершения работы устройства для отмены регистрации для обратного вызова ранее зарегистрированного обработчика последовательности.

Структуры

 
NFC_CX_CLIENT_CONFIG

Структура NFC_CX_CLIENT_CONFIG является входным параметром для NfcCxDeviceInitConfig.
NFC_CX_HARDWARE_EVENT

Структура NFC_CX_HARDWARE_EVENT является входным параметром для NfcCxHardwareEvent.
NFC_CX_LLCP_CONFIG

Структура NFC_CX_LLCP_CONFIG является входным параметром для NfcCxSetLlcpConfig.
NFC_CX_RF_DISCOVERY_CONFIG

Структура NFC_CX_RF_DISCOVERY_CONFIG содержит параметры конфигурации обнаружения rf. Настройка обнаружения должна быть завершена во время инициализации после вызова NfcDxDeviceInitialize, в противном случае возвращается ошибка.
NFCCX_DRIVER_GLOBALS

Структура _NFCCX_DRIVER_GLOBALS содержит глобальные значения для драйвера CX Near Field Communications (NFC).
NFCRM_RADIO_STATE

Эта структура используется для указания состояния радиосвязи.
NFCRM_SET_RADIO_STATE

Эта структура используется для задания состояния радиосвязи. В случае режима "в самолете" водитель должен сохранить состояние радио и восстановить его при отключении режима "в самолете".
SCARD_IO_REQUEST

Эта структура используется для идентификации запроса ввода-вывода смарт-карты.
SECURE_ELEMENT_AID_ROUTING_INFO

SECURE_ELEMENT_AID_ROUTING_INFO является членом SECURE_ELEMENT_ROUTING_TABLE_ENTRY.
SECURE_ELEMENT_ENDPOINT_INFO

SECURE_ELEMENT_ENDPOINT_INFO является членом SECURE_ELEMENT_ENDPOINT_LIST.
SECURE_ELEMENT_ENDPOINT_LIST

Выходной параметр для IOCTL_NFCSE_ENUM_ENDPOINTS.
SECURE_ELEMENT_EVENT_INFO

Эта структура предоставляет сведения о событии защищенного элемента.
SECURE_ELEMENT_EVENT_SUBSCRIPTION_INFO

Структура SECURE_ELEMENT_EVENT_SUBSCRIPTION_INFO является входным параметром для IOCTL_NFCSE_SUBSCRIBE_FOR_EVENT.
SECURE_ELEMENT_HCE_ACTIVATION_PAYLOAD

Структура _SECURE_ELEMENT_HCE_ACTIVATION_PAYLOAD содержит уникальный идентификатор подключения, технологию и типы протоколов NFC Forum RF.
SECURE_ELEMENT_HCE_DATA_PACKET

SECURE_ELEMENT_HCE_DATA_PACKET — это входной буфер для IOCTL_NFCSE_HCE_REMOTE_SEND и выходной буфер для IOCTL_NFCSE_HCE_REMOTE_RECV.
SECURE_ELEMENT_NFCC_CAPABILITIES

SECURE_ELEMENT_NFCC_CAPABILITIES содержит возможности контроллера NFC.
SECURE_ELEMENT_PROTO_ROUTING_INFO

SECURE_ELEMENT_PROTO_ROUTING_INFO является членом SECURE_ELEMENT_ROUTING_TABLE_ENTRY.
SECURE_ELEMENT_ROUTING_TABLE

SECURE_ELEMENT_ROUTING_TABLE является входным параметром для IOCTL_NFCSE_SET_ROUTING_TABLE.
SECURE_ELEMENT_ROUTING_TABLE_ENTRY

SECURE_ELEMENT_ROUTING_TABLE_ENTRY является членом SECURE_ELEMENT_ROUTING_TABLE.
SECURE_ELEMENT_SET_CARD_EMULATION_MODE_INFO

SECURE_ELEMENT_SET_CARD_EMULATION_MODE_INFO является входным параметром для IOCTL_NFCSE_SET_CARD_EMULATION_MODE.
SECURE_ELEMENT_TECH_ROUTING_INFO

SECURE_ELEMENT_TECH_ROUTING_INFO является членом SECURE_ELEMENT_ROUTING_TABLE_ENTRY.