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


структура 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 , чтобы открыть сеанс платформы.

Вы можете использовать асинхронный биометрический дескриптор сеанса для асинхронного вызова любой из следующих операций:

Асинхронный дескриптор платформы можно использовать для асинхронного вызова следующих операций:

Структура 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

См. также раздел

Константы WINBIO_REJECT_DETAIL

WinBioAsyncOpenFramework

WinBioAsyncOpenSession