Функция WinBioSetProperty (winbio.h)
Задает значение стандартного свойства, связанного с биометрическим сеансом, единицей измерения, шаблоном или учетной записью. Начиная с Windows 10 сборки 1607 эта функция доступна для использования с мобильным образом.
Синтаксис
HRESULT WinBioSetProperty(
[in] WINBIO_SESSION_HANDLE SessionHandle,
[in] WINBIO_PROPERTY_TYPE PropertyType,
[in] WINBIO_PROPERTY_ID PropertyId,
[in, optional] WINBIO_UNIT_ID UnitId,
[in, optional] WINBIO_IDENTITY *Identity,
[in, optional] WINBIO_BIOMETRIC_SUBTYPE SubFactor,
[in] PVOID PropertyBuffer,
[in] SIZE_T PropertyBufferSize
);
Параметры
[in] SessionHandle
Значение WINBIO_SESSION_HANDLE, определяющее открытый биометрический сеанс. Откройте синхронный дескриптор сеанса, вызвав WinBioOpenSession. Откройте асинхронный дескриптор сеанса, вызвав WinBioAsyncOpenSession.
[in] PropertyType
Значение WINBIO_PROPERTY_TYPE , указывающее тип свойства, которое требуется задать. В настоящее время это должно быть WINBIO_PROPERTY_TYPE_ACCOUNT.
[in] PropertyId
Значение WINBIO_PROPERTY_ID , указывающее свойство для задания. В настоящее время это должно быть WINBIO_PROPERTY_ANTI_SPOOF_POLICY. Все остальные свойства доступны только для чтения.
[in, optional] UnitId
Значение WINBIO_UNIT_ID, идентифицирующее биометрическую единицу. Для свойства WINBIO_PROPERTY_ANTI_SPOOF_POLICY это значение должно быть равно 0.
[in, optional] Identity
Адрес структуры WINBIO_IDENTITY , указывающей учетную запись, для которой требуется задать свойство .
[in, optional] SubFactor
Зарезервировано. Это должно быть WINBIO_SUBTYPE_NO_INFORMATION.
[in] PropertyBuffer
Указатель на структуру, указывающую новое значение свойства . Это значение не может иметь значение NULL. Для задания свойства WINBIO_PROPERTY_ANTI_SPOOF_POLICY структура должна быть WINBIO_ANTI_SPOOF_POLICY .
[in] PropertyBufferSize
Размер (в байтах) структуры, на которую указывает параметр PropertyBuffer . Это значение не может быть равно 0.
Возвращаемое значение
Если функция выполняется успешно, она возвращает S_OK. Если функция завершается сбоем, она возвращает значение HRESULT , указывающее на ошибку. Допустимые значения включают, но не ограничиваются, значения, приведенные в следующей таблице. Список распространенных кодов ошибок см. в разделе Общие значения HRESULT.
Код возврата | Описание |
---|---|
|
Дескриптор сеанса, указанный параметром SessionHandle , недопустим. |
|
Параметры Identity и PropertyBuffer не могут иметь значение NULL. |
|
Параметр PropertyType, PropertyId или PropertyBufferSize не может иметь значение 0. |
|
Неверное значение аргумента PropertyType . |
|
Неверное значение аргумента PropertyId . |
|
Вызывающий объект попытался задать свойство, которое находится в заблокированной области. |
|
Объект не поддерживает указанное свойство. |
|
Не удалось завершить операцию, так как указанная биометрическая единица в настоящее время используется для транзакции регистрации (только системный пул). |
Комментарии
Чтобы использовать WinBioSetProperty синхронно, вызовите функцию с дескриптором сеанса, созданным путем вызова WinBioOpenSession. Функция блокируется, пока операция не завершится или не возникнет ошибка. Чтобы предотвратить утечку памяти, необходимо вызвать WinBioFree , чтобы освободить память, на которую указывает параметр PropertyBuffer , после завершения использования данных, содержащихся в буфере.
Чтобы использовать WinBioSetProperty асинхронно, вызовите функцию с дескриптором сеанса, созданным путем вызова WinBioAsyncOpenSession. Платформа выделяет структуру WINBIO_ASYNC_RESULT и использует ее для возврата сведений об успешном или неудачном выполнении операции. Структура WINBIO_ASYNC_RESULT возвращается в обратный вызов приложения или в очередь сообщений приложения в зависимости от значения, заданного в параметре NotificationMethod функции WinBioAsyncOpenSession :
- Если вы решили получать уведомления о завершении с помощью обратного вызова, необходимо реализовать функцию PWINBIO_ASYNC_COMPLETION_CALLBACK и задать для параметра NotificationMethodзначение WINBIO_ASYNC_NOTIFY_CALLBACK.
- Если вы решили получать уведомления о завершении с помощью очереди сообщений приложения, необходимо задать для параметра NotificationMethodзначение WINBIO_ASYNC_NOTIFY_MESSAGE. Платформа возвращает указатель WINBIO_ASYNC_RESULT на поле LPARAM сообщения окна.
Требования
Минимальная версия клиента | Windows 10 [только классические приложения] |
Минимальная версия сервера | Windows Server 2016 [только классические приложения] |
Целевая платформа | Windows |
Header | winbio.h |
Библиотека | Winbio.lib |
DLL | Winbio.dll |