Ближнее полевое взаимодействие (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. |