IOCTL_NFCSE_ENUM_ENDPOINTS IOCTL (nfcsedev.h)

返回有关附加到 NFC 控制器的所有安全元素列表的信息。 请注意,调用方必须分配一个足够大的输出缓冲区,以保存有关驱动程序枚举的所有安全元素的信息,即,枚举的 SE 总数 x SE 终结点信息的大小,否则驱动程序应向客户端返回一个STATUS_BUFFER_OVERFLOW错误代码,其中包含 NumberOfEndpoints 字段,其中包含枚举的安全元素数。 标识可能用于引用特定安全元素的安全元素的 GUID。

主要代码

IRP_MJ_DEVICE_CONTROL

输入缓冲区

输入缓冲区长度

输出缓冲区

枚举的每个设备的 SECURE_ELEMENT_ENDPOINT_LIST

状态块

Irp->如果请求成功,IoStatus.Status 设置为 STATUS_SUCCESS 。 可能的错误代码包括:

返回代码 说明
STATUS_INVALID_PARAMETER 当输出缓冲区为非零时,将返回此代码。
STATUS_BUFFER_OVERFLOW 提供的缓冲区太小,无法接收路由表配置。

注解

以下是驱动程序必须遵守的要求。

  • 对于集成安全元素,GUID 应是派生自序列号和/或安全元素的其他唯一标识的唯一标识符。
  • 对于外部安全元素,GUID 可能是一个固定常量,仅标识安全元素连接到其中的“套接字”。
  • 对于设备主机安全元素,驱动程序应仅在支持主机卡仿真时将其枚举为 SE 终结点。 用于 DH 的 GUID 可能是驱动程序定义的固定常量。
  • 调用方需要分配一个足够大的输出缓冲区,以保存驱动程序枚举的所有安全元素的相关信息。 缓冲区必须等于驱动程序枚举的 SE 总数乘以 SE 终结点信息的大小。 如果未分配适当的缓冲区,驱动程序会将包含枚举的安全元素数的 NumberOfEndpoints 字段的STATUS_BUFFER_OVERFLOW错误代码返回给客户端。

要求

要求
Header nfcsedev.h