Связь ближнего действия (NFC)

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

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

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

Функции 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.