WinBioAsyncOpenFramework 함수(winbio.h)
생체 인식 프레임워크에 대한 핸들을 엽니다. Windows 10 빌드 1607부터 이 함수를 모바일 이미지와 함께 사용할 수 있습니다. 이 핸들을 사용하여 생체 인식 단위, 데이터베이스 및 서비스 공급자를 비동기적으로 열거하고 생체 인식 단위가 컴퓨터에 연결되거나 제거될 때 비동기 알림을 받을 수 있습니다.
구문
HRESULT WinBioAsyncOpenFramework(
[in] WINBIO_ASYNC_NOTIFICATION_METHOD NotificationMethod,
[in, optional] HWND TargetWindow,
[in, optional] UINT MessageCode,
[in, optional] PWINBIO_ASYNC_COMPLETION_CALLBACK CallbackRoutine,
[in, optional] PVOID UserData,
[in] BOOL AsynchronousOpen,
[out] WINBIO_FRAMEWORK_HANDLE *FrameworkHandle
);
매개 변수
[in] NotificationMethod
이 프레임워크 세션의 비동기 작업에 대한 완료 알림을 클라이언트 애플리케이션에 전달하는 방법을 지정합니다. 다음 값 중 하나여야 합니다.
값 | 의미 |
---|---|
|
프레임워크는 애플리케이션에서 정의한 콜백 함수를 호출합니다. |
|
프레임워크는 창 메시지를 애플리케이션의 메시지 큐에 게시합니다. |
[in, optional] TargetWindow
완료 알림을 받을 창의 핸들입니다. NotificationMethod 매개 변수를 WINBIO_ASYNC_NOTIFY_MESSAGE 설정하지 않으면 이 값은 무시됩니다.
[in, optional] MessageCode
완료 알림을 나타내기 위해 프레임워크에서 보내야 하는 창 메시지 코드입니다. NotificationMethod 매개 변수를 WINBIO_ASYNC_NOTIFY_MESSAGE 설정하지 않으면 이 값은 무시됩니다. 값은 0xBFFF 범위 WM_APP (0x8000) 내에 있어야 합니다.
Windows 생체 인식 프레임워크는 메시지의 LPARAM 값을 작업 결과를 포함하는 WINBIO_ASYNC_RESULT 구조체의 주소로 설정합니다. WinBioFree를 호출하여 구조를 사용한 후 해제해야 합니다.
[in, optional] CallbackRoutine
완료 알림을 위해 호출할 콜백 루틴의 주소입니다. NotificationMethod 매개 변수를 WINBIO_ASYNC_NOTIFY_CALLBACK 설정하지 않으면 이 값은 무시됩니다.
[in, optional] UserData
호출자가 제공하는 버퍼의 주소입니다. 버퍼는 프레임워크 또는 생체 인식 단위에 의해 수정되지 않습니다. WINBIO_ASYNC_RESULT 구조체에서 반환됩니다. 애플리케이션은 데이터를 사용하여 완료 알림을 수신할 때 수행할 작업을 결정하거나 요청된 작업에 대한 추가 정보를 유지 관리할 수 있습니다.
[in] AsynchronousOpen
프레임워크 세션이 열릴 때까지 차단할지 여부를 지정합니다. FALSE를 지정하면 프로세스가 차단됩니다. TRUE를 지정하면 세션이 비동기적으로 열립니다.
FALSE를 지정하여 프레임워크 세션을 동기적으로 열면 성공 또는 실패가 HRESULT 반환 값의 이 함수에 의해 호출자에게 직접 반환됩니다. 세션이 성공적으로 열리면 애플리케이션이 수신하는 첫 번째 비동기 완료 이벤트는 프레임워크가 열린 후 요청된 비동기 작업에 대한 것입니다.
TRUE를 지정하여 프레임워크 세션을 비동기적으로 여는 경우 수신된 첫 번째 비동기 완료 알림은 프레임워크를 여는 것입니다. NotificationMethod 매개 변수를 WINBIO_ASYNC_NOTIFY_CALLBACK 설정하면 작업 결과가 CallbackRoutine 매개 변수로 지정된 콜백 함수의 WINBIO_ASYNC_RESULT 구조로 전달됩니다. NotificationMethod 매개 변수를 WINBIO_ASYNC_NOTIFY_MESSAGE 설정하면 작업 결과가 창 메시지의 LPARAM 필드가 가리키는 WINBIO_ASYNC_RESULT 구조로 전달됩니다.
[out] FrameworkHandle
함수가 성공하지 못하면 이 매개 변수는 NULL이 됩니다.
세션이 동기적으로 성공적으로 열리면 이 매개 변수에는 세션 핸들에 대한 포인터가 포함됩니다.
세션을 비동기적으로 열도록 지정하면 이 메서드는 즉시 반환되고 세션 핸들은 NULL이 되며 WINBIO_ASYNC_RESULT 구조를 검사하여 세션이 성공적으로 열렸는지 확인해야 합니다.
반환 값
함수가 성공하면 S_OK를 반환합니다. 함수가 실패하면 오류를 나타내는 HRESULT 값을 반환합니다. 가능한 값에는 다음 표에 있는 값이 포함되지만, 이에 국한되는 것은 아닙니다. 일반적인 오류 코드 목록은 일반적인 HRESULT 값을 참조하세요.
반환 코드 | 설명 |
---|---|
|
프레임워크 세션을 만드는 데 사용할 수 있는 메모리가 부족합니다. |
|
알림 메서드를 WINBIO_ASYNC_NOTIFY_MESSAGE 설정하면 TargetWindow 매개 변수는 NULL 이거나 HWND_BROADCAST 수 없으며 MessageCode 매개 변수는 0일 수 없습니다. |
|
FrameworkHandle 매개 변수와 AsynchronousOpen 매개 변수를 설정해야 합니다.
알림 메서드를 WINBIO_ASYNC_NOTIFY_CALLBACK 설정하는 경우 CallbackRoutine 매개 변수에서 콜백 함수의 주소도 지정해야 합니다. |
설명
WinBioAsyncOpenFramework 함수에서 반환된 프레임워크 핸들을 사용하여 다음 함수에 대한 비동기 완료 알림을 생성할 수 있습니다.
- WinBioAsyncEnumBiometricUnits
- WinBioAsyncEnumDatabases
- WinBioAsyncEnumServiceProviders
- WinBioAsyncMonitorFrameworkChanges
AsynchronousOpen 매개 변수를 TRUE로 설정하면 이 함수는 인수의 초기 유효성 검사를 수행하는 즉시 S_OK 반환합니다. 해당 시점을 초과하여 검색된 오류는 NotificationMethod 매개 변수로 지정된 메서드를 사용하여 호출자에게 보고됩니다. 즉, 반환 값이 성공하면 WinBioAsyncOpenFramework 매개 변수가 정상이고 열린 작업이 성공하지 못했음을 나타냅니다. 열린 작업이 성공했는지 여부를 확인하려면 WINBIO_ASYNC_RESULT 구조를 검사해야 합니다.
요구 사항
지원되는 최소 클라이언트 | Windows 8 [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2012 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | winbio.h(Winbio.h 포함) |
라이브러리 | Winbio.lib |
DLL | Winbio.dll |