다음을 통해 공유


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

캡처된 샘플이 사용자 ID와 일치하는지 여부를 지정합니다.

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 구조체의 크기(바이트)입니다.

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

WinBioControlUnit 또는 WinBioControlUnitPrivileged 함수의 UnitId 매개 변수 및 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 생체 인식 프레임워크는 지문 판독기만 지원합니다. 따라서 작업이 실패하고 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