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