IOCTL_BIOMETRIC_GET_SUPPORTED_ALGORITHMS IOCTL (winbio_ioctl.h)

IOCTL_BIOMETRIC_GET_SUPPORTED_ALGORITHMS IOCTL 检索设备支持的加密哈希算法列表。 此 IOCTL 是可选的。

主要代码

IRP_MJ_DEVICE_CONTROL

输入缓冲区

无。

输入缓冲区长度

无。

输出缓冲区

AssociatedIrpSystemBuffer 成员指向包含 WINBIO_SUPPORTED_ALGORITHMS 结构的缓冲区。

输出缓冲区长度

最小的有效输出缓冲区大小是 DWORD 的大小。 如果驱动程序收到 DWORD 大小的输出缓冲区,则驱动程序应返回所请求操作所需的缓冲区大小。

状态块

指示对驱动程序的 DeviceIoControl 调用是否已完成,并且 OUT 有效负载是否有效。

Status 成员设置为下表中的值之一。

状态值 说明
S_OK、STATUS_SUCCESS 操作已成功完成。 如果返回的数据大小为 DWORD,则有效负载包含调用所需的缓冲区大小。 否则,有效负载包含完整的输出缓冲区。
E_INVALIDARG 未正确指定参数。
E_UNKNOWN 阻止填充有效负载的任何其他故障。
E_UNEXPECTED 阻止填充有效负载的任何其他故障。
E_FAIL 阻止填充有效负载的任何其他故障。

注解

使用以 NULL 结尾的 UTF-8 编码字符串指定算法。 算法标识符“OID”字符串在 RFC 3279 RFC 3278 中定义

下面是哈希算法的 OID 字符串示例。

算法 算法标识符字符串
SHA-1 "1.3.14.3.2.26"
SHA-256 "2.16.840.1.101.3.4.2.1"
SHA-384 "2.16.840.1.101.3.4.2.2"
SHA-512 "2.16.840.1.101.3.4.2.3"

如果设备支持WINBIO_CAPABILITY_SECURE_STORAGE,则必须实现IOCTL_BIOMETRIC_GET_SUPPORTED_ALGORITHMS。 设备必须至少支持 SHA-1 (“1.3.14.3.26”) 用于存储 WinBio 模板。

如果供应商提供的驱动程序传回整个有效负载,则应使用生物识别操作的状态填充 WINBIO_SUPPORTED_ALGORITHMSWinBioHresult 成员。

可能的值包括:

要求

要求
最低受支持的客户端 在 Windows 7 和更高版本的 Windows 中可用。
标头 winbio_ioctl.h