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


IOCTL_BIOMETRIC_UPDATE_FIRMWARE IOCTL (winbio_ioctl.h)

IOCTL IOCTL_BIOMETRIC_UPDATE_FIRMWARE сообщает драйверу, что необходимо обновить встроенное ПО устройства с помощью заданного образа встроенного ПО. Этот IOCTL является необязательным.

Основной код

IRP_MJ_DEVICE_CONTROL

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

WINBIO_UPDATE_FIRMWARE

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

Длина структуры WINBIO_UPDATE_FIRMWARE .

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

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

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

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

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

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

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

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

Комментарии

Образ встроенного ПО зависит от каждого поставщика и может содержать как данные встроенного ПО, так и любые дополнительные данные, необходимые драйверу для проверки образа.

Если устройство имеет другой механизм обновления встроенного ПО, драйвер может вернуть E_NOTIMPL для этого IOCTL.

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

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

Требования

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