Поделиться через


IOCTL_BIOMETRIC_GET_SUPPORTED_ALGORITHMS IOCTL (winbio_ioctl.h)

IOCTL_BIOMETRIC_GET_SUPPORTED_ALGORITHMS IOCTL извлекает список криптографических хэш-алгоритмов, поддерживаемых устройством. Этот IOCTL является необязательным.

Основной код

IRP_MJ_DEVICE_CONTROL

Входной буфер

Нет.

Длина входного буфера

Нет.

Выходной буфер

AssociatedIrp. Элемент SystemBuffer указывает на буфер, содержащий структуру WINBIO_SUPPORTED_ALGORITHMS.

Длина выходного буфера

Наименьший допустимый размер выходного буфера — это размер DWORD. Если драйвер получает выходной буфер размера DWORD, драйвер должен вернуть размер буфера, необходимый для запрошенной операции.

Блок состояния

Указывает, завершен ли вызов DeviceIoControl к драйверу и допустимы ли полезные данные OUT.

Для элемента Status задано одно из значений в следующей таблице.

Значение состояния Описание
S_OK, STATUS_SUCCESS Операция выполнена успешно. Если размер возвращаемых данных — DWORD, полезные данные содержат размер буфера, необходимый для вызова. В противном случае полезные данные содержат полный выходной буфер.
E_INVALIDARG Параметры указаны неправильно.
E_UNKNOWN Любой другой сбой, который препятствует заполнению полезных данных.
E_UNEXPECTED Любой другой сбой, который препятствует заполнению полезных данных.
E_FAIL Любой другой сбой, который препятствует заполнению полезных данных.

Комментарии

Алгоритмы задаются с помощью строк в кодировке UTF-8, заканчивающихся null. Строки идентификатора алгоритма 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"

IOCTL_BIOMETRIC_GET_SUPPORTED_ALGORITHMS необходимо реализовать, если устройство поддерживает WINBIO_CAPABILITY_SECURE_STORAGE. Для хранения шаблонов WinBio устройство должно поддерживать по крайней мере SHA-1 ("1.3.14.3.2.26").

Если предоставленный поставщиком драйвер передает все полезные данные, он должен заполнить элемент WinBioHresultWINBIO_SUPPORTED_ALGORITHMS состоянием биометрической операции.

Возможные значения:

Требования

Требование Значение
Минимальная версия клиента Доступно в Windows 7 и более поздних версиях Windows.
Верхняя часть winbio_ioctl.h