共用方式為


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.2.26”)才能用於儲存 WinBio 範本。

如果廠商提供的驅動程式傳回整個承載,它應該填入 WinBioHresult 成員,WINBIO_SUPPORTED_ALGORITHMS 的狀態為生物特徵辨識作業。

可能的值包括:

要求

要求 價值
最低支援的用戶端 適用於 Windows 7 和更新版本的 Windows。
標頭 winbio_ioctl.h