다음을 통해 공유


WinBioSetProperty 함수(winbio.h)

생체 인식 세션, 단위, 템플릿 또는 계정과 연결된 표준 속성의 값을 설정합니다. Windows 10 빌드 1607부터 이 함수를 모바일 이미지와 함께 사용할 수 있습니다.

구문

HRESULT WinBioSetProperty(
  [in]           WINBIO_SESSION_HANDLE    SessionHandle,
  [in]           WINBIO_PROPERTY_TYPE     PropertyType,
  [in]           WINBIO_PROPERTY_ID       PropertyId,
  [in, optional] WINBIO_UNIT_ID           UnitId,
  [in, optional] WINBIO_IDENTITY          *Identity,
  [in, optional] WINBIO_BIOMETRIC_SUBTYPE SubFactor,
  [in]           PVOID                    PropertyBuffer,
  [in]           SIZE_T                   PropertyBufferSize
);

매개 변수

[in] SessionHandle

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

[in] PropertyType

설정할 속성의 형식을 지정하는 WINBIO_PROPERTY_TYPE 값입니다. 현재 이 WINBIO_PROPERTY_TYPE_ACCOUNT 합니다.

[in] PropertyId

설정할 속성을 지정하는 WINBIO_PROPERTY_ID 값입니다. 현재는 WINBIO_PROPERTY_ANTI_SPOOF_POLICY 합니다. 다른 모든 속성은 읽기 전용입니다.

[in, optional] UnitId

생체 인식 단위를 식별하는 WINBIO_UNIT_ID 값입니다. WINBIO_PROPERTY_ANTI_SPOOF_POLICY 속성의 경우 이 값은 0이어야 합니다.

[in, optional] Identity

속성을 설정할 계정을 지정하는 WINBIO_IDENTITY 구조체의 주소입니다.

[in, optional] SubFactor

예약되어 있습니다. WINBIO_SUBTYPE_NO_INFORMATION 합니다.

[in] PropertyBuffer

속성의 새 값을 지정하는 구조체에 대한 포인터입니다. 이 값은 NULL일 수 없습니다. WINBIO_PROPERTY_ANTI_SPOOF_POLICY 속성을 설정하려면 구조체가 WINBIO_ANTI_SPOOF_POLICY 구조체여야 합니다.

[in] PropertyBufferSize

PropertyBuffer 매개 변수가 가리키는 구조체의 크기(바이트)입니다. 이 값은 0일 수 없습니다.

반환 값

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

반환 코드 설명
E_HANDLE
SessionHandle 매개 변수로 지정된 세션 핸들이 잘못되었습니다.
E_POINTER
IdentityPropertyBuffer 매개 변수는 NULL일 수 없습니다.
E_INVALIDARG
PropertyType, PropertyId 또는 PropertyBufferSize 매개 변수는 0일 수 없습니다.
WINBIO_E_INVALID_PROPERTY_TYPE
PropertyType 인수의 값이 잘못되었습니다.
WINBIO_E_INVALID_PROPERTY_ID
PropertyId 인수의 값이 잘못되었습니다.
WINBIO_E_LOCK_VIOLATION
호출자가 잠긴 지역 내에 있는 속성을 설정하려고 했습니다.
WINBIO_E_UNSUPPORTED_PROPERTY
개체는 지정된 속성을 지원하지 않습니다.
WINBIO_E_ENROLLMENT_IN_PROGRESS
지정된 생체 인식 단위가 현재 등록 트랜잭션에 사용 중이므로 작업을 완료할 수 없습니다(시스템 풀에만 해당).

설명

WinBioSetProperty를 동기적으로 사용하려면 WinBioOpenSession을 호출하여 만든 세션 핸들을 사용하여 함수를 호출합니다. 함수는 작업이 완료되거나 오류가 발생할 때까지 차단됩니다. 메모리 누수를 방지하려면 버퍼에 포함된 데이터 사용을 마치면 WinBioFree 를 호출하여 PropertyBuffer 매개 변수가 가리키는 메모리를 해제해야 합니다.

WinBioSetProperty를 비동기적으로 사용하려면 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 10 [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2016 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 winbio.h
라이브러리 Winbio.lib
DLL Winbio.dll

추가 정보

WinBioFree

WinBioGetProperty