近场通信(NFC)

近场通信(NFC)技术的概述。

若要开发近场通信(NFC),需要以下标头:

有关编程指南,请参阅 近场通信(NFC)

IOCTLs

 
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 的第 4.2 节中定义)和支持的路由模式。
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

NfcCxDeviceDeinitialize 函数 (nfccx.h) deinitialize 在 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_RECV的IOCTL_NFCSE_HCE_REMOTE_SEND和输出缓冲区的输入缓冲区。
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的成员。