다음을 통해 공유


WinBioControlUnit 함수(winbio.h)

호출자가 생체 인식 단위에서 공급업체 정의 제어 작업을 수행할 수 있도록 허용합니다. Windows 10 빌드 1607부터 이 함수를 모바일 이미지와 함께 사용할 수 있습니다. 이 함수는 상승된 권한이 필요하지 않은 확장 공급업체 작업에 액세스하기 위해 제공됩니다. 액세스 권한이 필요한 경우 WinBioControlUnitPrivileged 함수를 호출합니다.

구문

HRESULT WinBioControlUnit(
  [in]            WINBIO_SESSION_HANDLE SessionHandle,
  [in]            WINBIO_UNIT_ID        UnitId,
  [in]            WINBIO_COMPONENT      Component,
  [in]            ULONG                 ControlCode,
                  PUCHAR                SendBuffer,
  [in]            SIZE_T                SendBufferSize,
                  PUCHAR                ReceiveBuffer,
  [in]            SIZE_T                ReceiveBufferSize,
                  SIZE_T                *ReceiveDataSize,
  [out, optional] ULONG                 *OperationStatus
);

매개 변수

[in] SessionHandle

열린 생체 인식 세션을 식별하는 WINBIO_SESSION_HANDLE 값입니다. WinBioOpenSession을 호출하여 동기 세션 핸들을 엽니다. WinBioAsyncOpenSession을 호출하여 비동기 세션 핸들을 엽니다.

[in] UnitId

생체 인식 단위를 식별하는 WINBIO_UNIT_ID 값입니다. 이 값은 WinBioLockUnit 함수에서 이전에 사용된 단위 ID에 해당해야 합니다.

[in] Component

작업을 수행해야 하는 생체 인식 단위 내의 구성 요소를 지정하는 WINBIO_COMPONENT 값입니다. 다음 값 중 하나일 수 있습니다.

의미
WINBIO_COMPONENT_SENSOR
명령을 센서 어댑터로 보냅니다.
WINBIO_COMPONENT_ENGINE
명령을 엔진 어댑터로 보냅니다.
WINBIO_COMPONENT_STORAGE
스토리지 어댑터에 명령을 보냅니다.

[in] ControlCode

UnitId 매개 변수로 지정된 생체 인식 단위 및 Component 매개 변수로 지정된 어댑터에서 인식되는 공급업체 정의 코드입니다.

SendBuffer

Component 매개 변수로 지정된 어댑터로 보낼 컨트롤 정보가 들어 있는 버퍼의 주소입니다. 버퍼의 형식과 콘텐츠는 공급업체에서 정의합니다.

[in] SendBufferSize

SendBuffer 매개 변수로 지정된 버퍼의 크기(바이트)입니다.

ReceiveBuffer

Component 매개 변수로 지정된 어댑터에서 보낸 정보를 수신하는 버퍼의 주소입니다. 버퍼의 형식과 콘텐츠는 공급업체에서 정의합니다.

[in] ReceiveBufferSize

ReceiveBuffer 매개 변수로 지정된 버퍼의 크기(바이트)입니다.

ReceiveDataSize

ReceiveBuffer 매개 변수로 지정된 버퍼에 기록된 데이터의 크기(바이트)를 포함하는 SIZE_T 값에 대한 포인터입니다.

[out, optional] OperationStatus

제어 작업의 결과를 지정하는 공급업체 정의 상태 코드가 포함된 정수에 대한 포인터입니다.

반환 값

함수가 성공하면 S_OK를 반환합니다. 함수가 실패하면 오류를 나타내는 HRESULT 값을 반환합니다. 가능한 값에는 다음 표에 있는 값이 포함되지만, 이에 국한되는 것은 아닙니다. 일반적인 오류 코드 목록은 일반 HRESULT 값을 참조하세요.

반환 코드 설명
E_HANDLE
세션 핸들이 잘못되었습니다.
E_INVALIDARG
ControlCode 매개 변수에 지정된 값이 인식되지 않습니다.
E_POINTER
SendBuffer, ReceiveBuffer, ReceiveDataSize, OperationStatus 매개 변수는 NULL일 수 없습니다.
WINBIO_E_INVALID_CONTROL_CODE
ControlCode 매개 변수에 지정된 값이 인식되지 않습니다.
WINBIO_E_LOCK_VIOLATION
제어 작업을 수행하려면 UnitId 매개 변수로 지정된 생체 인식 단위를 잠가야 합니다.

설명

WinBioControlUnit을 호출하기 전에 WinBioLockUnit을 호출해야 합니다. WinBioLockUnit 함수는 공급업체 정의 작업을 안전하게 수행할 수 있는 잠긴 지역을 만듭니다.

플러그 인을 만드는 공급업체는 권한이 있는 확장 작업과 모든 클라이언트에서 사용할 수 있는 확장 작업을 결정해야 합니다. 권한 있는 작업을 수행하려면 클라이언트 애플리케이션이 WinBioControlUnitPrivileged 함수를 호출해야 합니다. Windows 생체 인식 프레임워크를 사용하면 적절한 액세스 권한이 있는 클라이언트만 WinBioControlUnitPrivileged를 호출할 수 있습니다.

WinBioControlUnit을 동기적으로 사용하려면 WinBioOpenSession을 호출하여 만든 세션 핸들을 사용하여 함수를 호출합니다. 함수는 작업이 완료되거나 오류가 발생할 때까지 차단됩니다.

WinBioControlUnit을 비동기적으로 사용하려면 WinBioAsyncOpenSession을 호출하여 만든 세션 핸들을 사용하여 함수를 호출합니다. 프레임워크는 WINBIO_ASYNC_RESULT 구조를 할당하고 이를 사용하여 작업 성공 또는 실패에 대한 정보를 반환합니다. WINBIO_ASYNC_RESULT 구조체는 WinBioAsyncOpenSession 함수의 NotificationMethod 매개 변수에 설정한 값에 따라 애플리케이션 콜백 또는 애플리케이션 메시지 큐에 반환됩니다.

  • 콜백을 사용하여 완료 알림을 수신하도록 선택하는 경우 PWINBIO_ASYNC_COMPLETION_CALLBACK 함수를 구현하고 NotificationMethod 매개 변수를 WINBIO_ASYNC_NOTIFY_CALLBACK 설정해야 합니다.
  • 애플리케이션 메시지 큐를 사용하여 완료 알림을 수신하도록 선택하는 경우 NotificationMethod 매개 변수를 WINBIO_ASYNC_NOTIFY_MESSAGE 설정해야 합니다. 프레임워크는 창 메시지의 LPARAM 필드에 대한 WINBIO_ASYNC_RESULT 포인터를 반환합니다.
메모리 누수 방지를 위해 WinBioFree 를 호출하여 사용이 완료된 후 WINBIO_ASYNC_RESULT 구조를 해제해야 합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 7 [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2008 R2 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 winbio.h(Winbio.h 포함)
라이브러리 Winbio.lib
DLL Winbio.dll

추가 정보

WinBioControlUnitPrivileged

WinBioLockUnit