近场通信 (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 控制器功能的信息,包括 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 SE 无线电管理应用程序或服务使用IOCTL_NFCSERM_QUERY_RADIO_STATE来查询邻近设备的当前无线电电源状态。 |
IOCTL_NFCSERM_SET_RADIO_STATE SE 无线电管理应用程序或服务使用IOCTL_NFCSERM_SET_RADIO_STATE来设置邻近设备的当前无线电电源状态。 |
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控制代码设置属性,并在SCARD_ATTR_DEVICE_IN_USE上返回STATUS_SUCCESS;否则,它将返回STATUS_NOT_SUPPORTED。 |
IOCTL_SMARTCARD_SET_PROTOCOL 设置检测到卡后驱动程序与智能卡通信的 procotol。 |
IOCTL_SMARTCARD_TRANSMIT 将数据从客户端传输到符合 ISO7816-4 标准的 APDU 中检测到的智能卡。 |
枚举
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 nfccx.h (NfcCxDeviceDeinitialize 函数) 取消初始化在 AddDevice 例程期间创建的 WDF 设备。 |
NfcCxDeviceInitConfig 由客户端驱动程序在其 AddDevice 例程期间调用以执行 DeviceInit 函数。 在此过程中,还会交换以下 I/O 回调函数。 |
NfcCxDeviceInitialize nfcCxDeviceInitialize 函数 (nfccx.h) 初始化在 AddDevice 例程期间创建的 WDF 设备。 |
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 结构包含近场通信 (NFC) CX 驱动程序的全局值。 |
NFCRM_RADIO_STATE 此结构用于指示无线电状态。 |
NFCRM_SET_RADIO_STATE 此结构用于设置单选状态。 对于飞行模式,驱动程序必须保留无线电状态,并在禁用飞行模式时还原它。 |
SCARD_IO_REQUEST 此结构用于标识智能卡 I/O 请求。 |
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 论坛 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 的成员。 |