структура WINBIO_ASYNC_RESULT (winbio.h)
Структура WINBIO_ASYNC_RESULT содержит результаты асинхронной операции.
Синтаксис
typedef struct _WINBIO_ASYNC_RESULT {
WINBIO_SESSION_HANDLE SessionHandle;
WINBIO_OPERATION_TYPE Operation;
ULONGLONG SequenceNumber;
LONGLONG TimeStamp;
HRESULT ApiStatus;
WINBIO_UNIT_ID UnitId;
PVOID UserData;
union {
struct {
BOOLEAN Match;
WINBIO_REJECT_DETAIL RejectDetail;
} Verify;
struct {
WINBIO_IDENTITY Identity;
WINBIO_BIOMETRIC_SUBTYPE SubFactor;
WINBIO_REJECT_DETAIL RejectDetail;
} Identify;
struct {
WINBIO_BIOMETRIC_SUBTYPE SubFactor;
} EnrollBegin;
struct {
WINBIO_REJECT_DETAIL RejectDetail;
} EnrollCapture;
struct {
WINBIO_IDENTITY Identity;
BOOLEAN IsNewTemplate;
} EnrollCommit;
struct {
WINBIO_IDENTITY Identity;
SIZE_T SubFactorCount;
WINBIO_BIOMETRIC_SUBTYPE *SubFactorArray;
} EnumEnrollments;
struct {
PWINBIO_BIR Sample;
SIZE_T SampleSize;
WINBIO_REJECT_DETAIL RejectDetail;
} CaptureSample;
struct {
WINBIO_IDENTITY Identity;
WINBIO_BIOMETRIC_SUBTYPE SubFactor;
} DeleteTemplate;
struct {
WINBIO_PROPERTY_TYPE PropertyType;
WINBIO_PROPERTY_ID PropertyId;
WINBIO_IDENTITY Identity;
WINBIO_BIOMETRIC_SUBTYPE SubFactor;
SIZE_T PropertyBufferSize;
PVOID PropertyBuffer;
} GetProperty;
struct {
WINBIO_PROPERTY_TYPE PropertyType;
WINBIO_PROPERTY_ID PropertyId;
WINBIO_IDENTITY Identity;
WINBIO_BIOMETRIC_SUBTYPE SubFactor;
SIZE_T PropertyBufferSize;
PVOID PropertyBuffer;
} SetProperty;
struct {
WINBIO_EVENT Event;
} GetEvent;
struct {
WINBIO_COMPONENT Component;
ULONG ControlCode;
ULONG OperationStatus;
PUCHAR SendBuffer;
SIZE_T SendBufferSize;
PUCHAR ReceiveBuffer;
SIZE_T ReceiveBufferSize;
SIZE_T ReceiveDataSize;
} ControlUnit;
struct {
SIZE_T BspCount;
WINBIO_BSP_SCHEMA *BspSchemaArray;
} EnumServiceProviders;
struct {
SIZE_T UnitCount;
WINBIO_UNIT_SCHEMA *UnitSchemaArray;
} EnumBiometricUnits;
struct {
SIZE_T StorageCount;
WINBIO_STORAGE_SCHEMA *StorageSchemaArray;
} EnumDatabases;
struct {
BOOLEAN Match;
WINBIO_REJECT_DETAIL RejectDetail;
WINBIO_PROTECTION_TICKET Ticket;
} VerifyAndReleaseTicket;
struct {
WINBIO_IDENTITY Identity;
WINBIO_BIOMETRIC_SUBTYPE SubFactor;
WINBIO_REJECT_DETAIL RejectDetail;
WINBIO_PROTECTION_TICKET Ticket;
} IdentifyAndReleaseTicket;
struct {
ULONGLONG SelectorValue;
} EnrollSelect;
struct {
WINBIO_PRESENCE_CHANGE ChangeType;
SIZE_T PresenceCount;
WINBIO_PRESENCE *PresenceArray;
} MonitorPresence;
struct {
WINBIO_IDENTITY Identity;
WINBIO_PROTECTION_POLICY Policy;
} GetProtectionPolicy;
struct {
WINBIO_EXTENDED_UNIT_STATUS ExtendedStatus;
} NotifyUnitStatusChange;
} Parameters;
} WINBIO_ASYNC_RESULT, *PWINBIO_ASYNC_RESULT;
Члены
SessionHandle
Дескриптор асинхронного сеанса, запущенного путем вызова функции WinBioAsyncOpenSession или Функции WinBioAsyncOpenFramework .
Operation
Тип асинхронной операции. Дополнительные сведения см. в разделе Константы WINBIO_OPERATION_TYPE.
SequenceNumber
Порядковый номер асинхронной операции. Целые числа назначаются последовательно для каждой операции в биометрическом сеансе, начиная с одного (1). Для любого сеанса операции открытия всегда назначается первый порядковый номер, а операции закрытия — последний порядковый номер. Если приложение помещает в очередь несколько операций, можно использовать порядковые номера для обработки ошибок. Например, результаты операции можно игнорировать, пока в приложение не будет отправлен определенный порядковый номер.
TimeStamp
Системная дата и время начала биометрической операции. Дополнительные сведения см. в разделе Функция GetSystemTimeAsFileTime .
ApiStatus
Код ошибки, возвращенный операцией.
UnitId
Числовой идентификатор биометрической единицы, которая выполнила операцию.
UserData
Адрес необязательного буфера, предоставленного вызывающим объектом. Буфер не изменяется платформой или биометрической единицей. Приложение может использовать эти данные, чтобы определить, какие действия следует выполнить после получения уведомления о завершении, или для сохранения дополнительных сведений о запрошенной операции.
Parameters
Объединение, включающее вложенные структуры, содержащие дополнительные сведения об успешном или неудачном выполнении асинхронных операций, начатых клиентским приложением.
Parameters.Verify
Содержит результаты асинхронного вызова WinBioVerify.
Parameters.Verify.Match
Указывает, соответствует ли захваченный пример удостоверению пользователя.
Parameters.Verify.RejectDetail
Дополнительные сведения о сбое проверки. Дополнительные сведения см. в подразделе "Примечания".
Parameters.Identify
Содержит результаты асинхронного вызова WinBioIdentify.
Parameters.Identify.Identity
Guid или SID пользователя, предоставляющего биометрический образец.
Parameters.Identify.SubFactor
Подфактор, связанный с биометрической выборкой. Дополнительные сведения см. в подразделе "Примечания".
Parameters.Identify.RejectDetail
Дополнительные сведения о сбое , если таковой имеется, для записи и идентификации биометрической выборки. Дополнительные сведения см. в подразделе "Примечания".
Parameters.EnrollBegin
Содержит результаты асинхронного вызова WinBioEnrollBegin.
Parameters.EnrollBegin.SubFactor
Дополнительные сведения о регистрации. Дополнительные сведения см. в подразделе "Примечания".
Parameters.EnrollCapture
Содержит результаты асинхронного вызова WinBioEnrollCapture.
Parameters.EnrollCapture.RejectDetail
Дополнительные сведения о невозможности захвата биометрической выборки. Дополнительные сведения см. в подразделе "Примечания".
Parameters.EnrollCommit
Содержит результаты асинхронного вызова WinBioEnrollCommit.
Parameters.EnrollCommit.Identity
Guid или SID сохраняемого шаблона.
Parameters.EnrollCommit.IsNewTemplate
Указывает, является ли шаблон, добавляемый в базу данных, новым.
Parameters.EnumEnrollments
Содержит результаты асинхронного вызова WinBioEnumEnrollments.
Parameters.EnumEnrollments.Identity
GUID или SID шаблона, из которого были получены под-факторы.
Parameters.EnumEnrollments.SubFactorCount
Количество элементов в массиве, на которые указывает элемент SubFactorArray .
Parameters.EnumEnrollments.SubFactorArray
Указатель на массив под-факторов. Дополнительные сведения см. в подразделе "Примечания".
Parameters.CaptureSample
Содержит результаты асинхронного вызова WinBioCaptureSample.
Parameters.CaptureSample.Sample
Указатель на WINBIO_BIR структуру, содержащую пример.
Parameters.CaptureSample.SampleSize
Размер в байтах структуры WINBIO_BIR , возвращаемой в элементе Sample .
Parameters.CaptureSample.RejectDetail
Дополнительные сведения о невозможности захвата биометрической выборки. Дополнительные сведения см. в подразделе "Примечания".
Parameters.DeleteTemplate
Содержит результаты асинхронного вызова WinBioDeleteTemplate.
Parameters.DeleteTemplate.Identity
GUID или SID удаленного шаблона.
Parameters.DeleteTemplate.SubFactor
Дополнительные сведения о шаблоне.
Parameters.GetProperty
Содержит результаты асинхронного вызова WinBioGetProperty.
Parameters.GetProperty.PropertyType
Источник сведений о свойстве. В настоящее время это будет WINBIO_PROPERTY_TYPE_UNIT.
Parameters.GetProperty.PropertyId
Свойство, которое было запрошено. В настоящее время это будет WINBIO_PROPERTY_SAMPLE_HINT.
Parameters.GetProperty.Identity
Это зарезервированное значение, которое будет иметь значение NULL.
Parameters.GetProperty.SubFactor
Он зарезервирован и будет WINBIO_SUBTYPE_NO_INFORMATION.
Parameters.GetProperty.PropertyBufferSize
Размер (в байтах) значения свойства, на которое указывает элемент PropertyBuffer .
Parameters.GetProperty.PropertyBuffer
Указатель на значение свойства.
Parameters.SetProperty
Содержит результаты асинхронного вызова WinBioSetProperty. Этот элемент поддерживается начиная с Windows 10.
SetProperty.PropretyBufferSize
Размер (в байтах) структуры, на которую указывает параметр PropertyBuffer .
Parameters.SetProperty.PropertyType
Значение WINBIO_PROPERTY_TYPE , указывающее тип заданного свойства. В настоящее время это можно только WINBIO_PROPERTY_TYPE_ACCOUNT.
Parameters.SetProperty.PropertyId
Значение WINBIO_PROPERTY_ID , указывающее заданное свойство. В настоящее время это значение может быть только WINBIO_PROPERTY_ANTI_SPOOF_POLICY. Все остальные свойства доступны только для чтения.
Parameters.SetProperty.Identity
Структура WINBIO_IDENTITY , указывающая учетную запись, для которой было задано свойство.
Parameters.SetProperty.SubFactor
Зарезервировано. В настоящее время это значение всегда будет WINBIO_SUBTYPE_NO_INFORMATION.
Parameters.SetProperty.PropertyBufferSize
Parameters.SetProperty.PropertyBuffer
Указатель на структуру , задающую значение, для которого было задано свойство. Для свойства WINBIO_PROPERTY_ANTI_SPOOF_POLICY структура является WINBIO_ANTI_SPOOF_POLICY структурой.
Parameters.GetEvent
Содержит сведения о состоянии события, которое было создано.
Parameters.GetEvent.Event
Содержит сведения о событии.
Parameters.ControlUnit
Содержит результаты асинхронного вызова WinBioControlUnit или WinBioControlUnitPrivileged.
Parameters.ControlUnit.Component
Компонент в биометрической единице, которая выполнила операцию.
Parameters.ControlUnit.ControlCode
Код, определяемый поставщиком, распознается биометрической единицей, заданной параметром UnitId функции WinBioControlUnit или WinBioControlUnitPrivileged , и адаптером, указанным параметром Component .
Parameters.ControlUnit.OperationStatus
Определенный поставщиком код состояния, указывающий результат операции управления.
Parameters.ControlUnit.SendBuffer
Указатель на буфер, содержащий сведения об управлении, отправляемые в адаптер компонентом. Формат и содержимое буфера определяются поставщиком.
Parameters.ControlUnit.SendBufferSize
Размер буфера, заданного членом SendBuffer , в байтах.
Parameters.ControlUnit.ReceiveBuffer
Указатель на буфер, который получает сведения, отправляемые адаптером, указанным элементом Компонента . Формат и содержимое буфера определяются поставщиком.
Parameters.ControlUnit.ReceiveBufferSize
Размер (в байтах) буфера, указанного элементом ReceiveBuffer .
Parameters.ControlUnit.ReceiveDataSize
Размер в байтах данных, записанных в буфер, указанный элементом ReceiveBuffer .
Parameters.EnumServiceProviders
Содержит результаты асинхронного вызова WinBioEnumServiceProviders или WinBioAsyncEnumServiceProviders.
Parameters.EnumServiceProviders.BspCount
Количество структур, на которые указывает элемент BspSchemaArray .
Parameters.EnumServiceProviders.BspSchemaArray
Указатель на массив WINBIO_BSP_SCHEMA структур, содержащих сведения о каждом из доступных поставщиков услуг.
Parameters.EnumBiometricUnits
Содержит результаты асинхронного вызова WinBioEnumBiometricUnits или WinBioAsyncEnumBiometricUnits.
Parameters.EnumBiometricUnits.UnitCount
Число структур, на которые указывает элемент UnitSchemaArray .
Parameters.EnumBiometricUnits.UnitSchemaArray
Массив WINBIO_UNIT_SCHEMA структур, содержащих сведения о каждой перечисляемой биометрической единице.
Parameters.EnumDatabases
Содержит результаты асинхронного вызова WinBioEnumDatabases или WinBioAsyncEnumDatabases.
Parameters.EnumDatabases.StorageCount
Число структур, на которые указывает элемент StorageSchemaArray .
Parameters.EnumDatabases.StorageSchemaArray
Массив WINBIO_STORAGE_SCHEMA структур, содержащих сведения о каждой базе данных.
Parameters.VerifyAndReleaseTicket
Зарезервировано. Этот элемент поддерживается начиная с Windows 10.
Parameters.VerifyAndReleaseTicket.Match
Зарезервировано.
Parameters.VerifyAndReleaseTicket.RejectDetail
Зарезервировано.
Parameters.VerifyAndReleaseTicket.Ticket
Зарезервировано.
Parameters.IdentifyAndReleaseTicket
Зарезервировано. Этот элемент поддерживается начиная с Windows 10.
Parameters.IdentifyAndReleaseTicket.Identity
Зарезервировано.
Parameters.IdentifyAndReleaseTicket.SubFactor
Зарезервировано.
Parameters.IdentifyAndReleaseTicket.RejectDetail
Зарезервировано.
Parameters.IdentifyAndReleaseTicket.Ticket
Зарезервировано.
Parameters.EnrollSelect
Содержит результаты асинхронного вызова WinBioEnrollSelect. Этот элемент поддерживается начиная с Windows 10.
Parameters.EnrollSelect.SelectorValue
Значение типа , определяющее человека, выбранного для регистрации.
Parameters.MonitorPresence
Содержит результаты асинхронного вызова WinBioMonitorPresence. Этот элемент поддерживается начиная с Windows 10.
Parameters.MonitorPresence.ChangeType
Значение WINBIO_PRESENCE_CHANGE , указывающее тип произошедшего события.
Parameters.MonitorPresence.PresenceCount
Размер массива, на который указывает элемент MonitorPresence.PresenceArray .
Parameters.MonitorPresence.PresenceArray
Адрес массива WINBIO_PRESENCE структур, по одному для каждого отдельного отслеживаемого объекта.
Parameters.GetProtectionPolicy
Parameters.GetProtectionPolicy.Identity
Parameters.GetProtectionPolicy.Policy
Parameters.NotifyUnitStatusChange
Parameters.NotifyUnitStatusChange.ExtendedStatus
Комментарии
Асинхронные операции начинаются с открытия биометрического сеанса или сеанса платформы. Вызовите WinBioAsyncOpenSession , чтобы открыть биометрический сеанс. Вызовите WinBioAsyncOpenFramework , чтобы открыть сеанс платформы.
Вы можете использовать асинхронный биометрический дескриптор сеанса для асинхронного вызова любой из следующих операций:
- WinBioCancel
- WinBioCaptureSample
- WinBioCloseSession
- WinBioControlUnit
- WinBioControlUnitPrivileged
- WinBioDeleteTemplate
- WinBioEnrollBegin
- WinBioEnrollCapture
- WinBioEnrollCommit
- WinBioEnrollDiscard
- WinBioEnumEnumEnrollments
- WinBioGetProperty
- WinBioIdentify
- WinBioLocateSensor
- WinBioLockUnit
- WinBioLogonIdentifiedUser
- WinBioRegisterEventMonitor
- WinBioUnlockUnit
- WinBioUnregisterEventMonitor
- WinBioVerify
- WinBioWait
- WinBioSetProperty
- WinBioEnrollSelect
- WinBioMonitorPresence
Асинхронный дескриптор платформы можно использовать для асинхронного вызова следующих операций:
- WinBioAsyncEnumBiometricUnits
- WinBioAsyncEnumDatabases
- WinBioAsyncOpenFramework
- WinBioAsyncEnumServiceProviders
- WinBioAsyncMonitorFrameworkChanges
Структура WINBIO_ASYNC_RESULT выделяется внутренне с помощью Платформы биометрических данных Windows. Поэтому, когда вы используете его, вызовите WinBioFree , чтобы освободить выделенную память и избежать утечек. Так как при этом также освобождаются все вложенные структуры данных, не следует хранить копию указателей, возвращаемых в WINBIO_ASYNC_RESULT структуре. Если вы хотите сохранить данные, возвращаемые во вложенной структуре, создайте закрытую копию этих данных перед вызовом WinBioFree.
Windows 8, Windows Server 2012, Windows 8.1 и Windows Server 2012 R2. Windows Biometric Framework поддерживает только сканер отпечатков пальцев. Таким образом, если операция завершается сбоем и возвращает дополнительные сведения в константе WINBIO_REJECT_DETAIL , это будет одно из следующих значений:
- WINBIO_FP_TOO_HIGH
- WINBIO_FP_TOO_LOW
- WINBIO_FP_TOO_LEFT
- WINBIO_FP_TOO_RIGHT
- WINBIO_FP_TOO_FAST
- WINBIO_FP_TOO_SLOW
- WINBIO_FP_POOR_QUALITY
- WINBIO_FP_TOO_SKEWED
- WINBIO_FP_TOO_SHORT
- WINBIO_FP_MERGE_FAILURE
Кроме того, если операция использует WINBIO_BIOMETRIC_SUBTYPE тип данных, это будет одно из следующих значений:
- WINBIO_ANSI_381_POS_UNKNOWN
- WINBIO_ANSI_381_POS_RH_THUMB
- WINBIO_ANSI_381_POS_RH_INDEX_FINGER
- WINBIO_ANSI_381_POS_RH_MIDDLE_FINGER
- WINBIO_ANSI_381_POS_RH_RING_FINGER
- WINBIO_ANSI_381_POS_RH_LITTLE_FINGER
- WINBIO_ANSI_381_POS_LH_THUMB
- WINBIO_ANSI_381_POS_LH_INDEX_FINGER
- WINBIO_ANSI_381_POS_LH_MIDDLE_FINGER
- WINBIO_ANSI_381_POS_LH_RING_FINGER
- WINBIO_ANSI_381_POS_LH_LITTLE_FINGER
- WINBIO_ANSI_381_POS_RH_FOUR_FINGERS
- WINBIO_ANSI_381_POS_LH_FOUR_FINGERS
- WINBIO_ANSI_381_POS_TWO_THUMBS
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 8 [только классические приложения] |
Минимальная версия сервера | Windows Server 2012 [только классические приложения] |
Верхняя часть | winbio.h |