IOCTL_NFCSE_ENUM_ENDPOINTS IOCTL (nfcsedev.h)

返回有关附加到 NFC 控制器的所有安全元素的列表的信息。 请注意,调用方必须分配足够大的输出缓冲区,以便保存驱动程序枚举的所有安全元素(即 SE 终结点信息的 SEs 枚举 x 大小总数)的信息,否则驱动程序应向客户端返回包含枚举安全元素数的 NumberOfEndpoints 字段的STATUS_BUFFER_OVERFLOW错误代码。 标识可能用于引用特定安全元素的安全元素的 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 终结点信息的大小。 如果未分配适当的缓冲区,驱动程序会将STATUS_BUFFER_OVERFLOW错误代码返回到客户端,其中包含枚举的安全元素数的 NumberOfEndpoints 字段。

要求

要求 价值
标头 nfcsedev.h