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를 호출하여 프레임워크 세션을 엽니다.
비동기 생체 인식 세션 핸들을 사용하여 다음 작업을 비동기적으로 호출할 수 있습니다.
- WinBioCancel
- WinBioCaptureSample
- WinBioCloseSession
- WinBioControlUnit
- WinBioControlUnitPrivileged
- WinBioDeleteTemplate
- WinBioEnrollBegin
- WinBioEnrollCapture
- WinBioEnrollCommit
- WinBioEnrollDiscard
- WinBioEnumEnrollments
- 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 생체 인식 프레임워크는 지문 판독기만 지원합니다. 따라서 작업이 실패하고 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 |