IOCTL_BIOMETRIC_GET_SUPPORTED_ALGORITHMS IOCTL (winbio_ioctl.h)
IOCTL_BIOMETRIC_GET_SUPPORTED_ALGORITHMS IOCTL 检索设备支持的加密哈希算法列表。 此 IOCTL 是可选的。
主要代码
输入缓冲区
无。
输入缓冲区长度
无。
输出缓冲区
AssociatedIrp。SystemBuffer 成员指向包含 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_ALGORITHMS 的 WinBioHresult 成员。
可能的值包括:
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 在 Windows 7 和更高版本的 Windows 中可用。 |
标头 | winbio_ioctl.h |