생체 인식 드라이버 설치

공급업체는 INF 파일을 제공하여 WBDI 드라이버를 설치할 수 있습니다.

다음은 생체 인식 디바이스 설치에 대한 지침 목록입니다. 이 문서의 코드 예제는 WudfBioUsbSample의 WudfBioUsbSample.inx 파일에서 가져옵니다.

  • WBDI 드라이버는 "생체 인식" 클래스를 지정해야 합니다. ClassGuid를 Devguid.h의 GUID_DEVCLASS_BIOMETRIC 해당하는 값과 동일하게 설정합니다.

    [Version]
    ...
    Class=Biometric
    ClassGuid={53D29EF7-377C-4D14-864B-EB3A85769359}
    ...
    
  • 에 있습니다. HW 섹션에서는 AddReg 지시문을 제공하여 레지스트리에 추가할 항목을 포함하는 세 개의 섹션을 지정합니다.

    [Biometric_Install.NT.hw]
    AddReg=Biometric_Device_AddReg
    AddReg=DriverPlugInAddReg, DatabaseAddReg
    
  • 에 참조된 명명된 섹션을 제공합니다. HW 섹션입니다. [Biometric_Device_AddReg] 섹션에서는 배타적 플래그 및 시스템 절전 모드 해제/디바이스 유휴를 포함하여 생체 인식 디바이스에 대한 값을 설정합니다. Windows 생체 인식 프레임워크에서 인식하려면 UMDF 기반 WBDI 드라이버가 "배타적" 값을 1로 설정해야 합니다. [Biometric_Device_AddReg] 섹션의 처음 두 줄은 관리자 또는 로컬 시스템 계정에서만 디바이스를 열 수 있도록 ACL(액세스 제어 목록) 권한을 지정합니다. 이러한 ACL 권한을 지정하면 타사 애플리케이션은 WinBio 서비스가 실행되고 있지 않을 때 디바이스를 열고 지문 데이터를 캡처할 수 없습니다. 예시:

    [Biometric_Device_AddReg]
    HKR,,"DeviceCharacteristics",0x10001,0x0100     ; Use same security checks on relative opens
    HKR,,"Security",,"D:P(A;;GA;;;BA)(A;;GA;;;SY)"  ; Allow generic-all access to Built-in administrators and Local system
    HKR,,"LowerFilters",0x00010008,"WinUsb" ; FLG_ADDREG_TYPE_MULTI_SZ | FLG_ADDREG_APPEND
    HKR,,"Exclusive",0x10001,1
    HKR,,"SystemWakeEnabled",0x00010001,1
    HKR,,"DeviceIdleEnabled",0x00010001,1
    HKR,,"UserSetDeviceIdleEnabled",0x00010001,1
    HKR,,"DefaultIdleState",0x00010001,1
    HKR,,"DefaultIdleTimeout",0x00010001,5000
    

    레거시(비 WBDI) 생체 인식 스택에 기능을 노출하는 WBDI 드라이버는 배타적 값을 0으로 설정해야 합니다. 이 값을 0으로 설정하면 Windows 생체 인식 프레임워크는 디바이스를 제어하려고 시도하지 않으며 디바이스가 WBF를 통해 노출되지 않습니다.

    공급업체에는 레거시 스택 및 WBF와 함께 사용할 수 있는 단일 드라이버 이진 파일이 있을 수 있지만 두 드라이버가 동시에 작동할 수는 없습니다. WBF는 단독 액세스 권한으로 디바이스를 열 수 있는 경우에만 작동합니다.

  • 두 번째 명명된 섹션에는 플러그 인 어댑터에 대한 레지스트리 값이 포함되어 있습니다. 이 샘플에서는 Microsoft에서 제공하는 센서 어댑터 및 스토리지 어댑터를 사용합니다. 또한 이 섹션에서는 SystemSensor 값을 설정하여 Windows 로그인을 지원할 수 있습니다.

    [DriverPlugInAddReg]
    HKR,WinBio\Configurations,DefaultConfiguration,,"0"
    HKR,WinBio\Configurations\0,SensorMode,0x10001,1                                ; Basic - 1, Advanced - 2
    HKR,WinBio\Configurations\0,SystemSensor,0x10001,1                              ; UAC/Winlogon - 1
    HKR,WinBio\Configurations\0,SensorAdapterBinary,,"WinBioSensorAdapter.DLL"      ; Windows built-in WBDI sensor adapter.
    HKR,WinBio\Configurations\0,EngineAdapterBinary,,"EngineAdapter.DLL"            ; Vendor engine
    HKR,WinBio\Configurations\0,StorageAdapterBinary,,"WinBioStorageAdapter.DLL"    ; Windows built-in storage adapter
    HKR,WinBio\Configurations\0,DatabaseId,,"6E9D4C5A-55B4-4c52-90B7-DDDC75CA4D50"  ; Unique database GUID
    
  • 마지막으로, 세 번째 섹션에서는 데이터베이스 서비스에 대해 다음 레지스트리 값을 설정합니다. 식별 GUID는 특정 형식의 각 공급업체 데이터베이스에 대해 고유해야 합니다. 예를 들어 샘플의 이 코드 예제에서 6E9D4C5A-55B4-4c52-90B7-DDDC75CA4D50 INF 파일의 고유한 GUID로 변경합니다.

    [DatabaseAddReg]
    HKLM,System\CurrentControlSet\Services\WbioSrvc\Databases\{6E9D4C5A-55B4-4c52-90B7-DDDC75CA4D50},BiometricType,0x00010001,0x00000008
    HKLM,System\CurrentControlSet\Services\WbioSrvc\Databases\{6E9D4C5A-55B4-4c52-90B7-DDDC75CA4D50},Attributes,0x00010001,0x00000001
    HKLM,System\CurrentControlSet\Services\WbioSrvc\Databases\{6E9D4C5A-55B4-4c52-90B7-DDDC75CA4D50},Format,,"00000000-0000-0000-0000-000000000000"
    HKLM,System\CurrentControlSet\Services\WbioSrvc\Databases\{6E9D4C5A-55B4-4c52-90B7-DDDC75CA4D50},InitialSize,0x00010001,0x00000020
    HKLM,System\CurrentControlSet\Services\WbioSrvc\Databases\{6E9D4C5A-55B4-4c52-90B7-DDDC75CA4D50},AutoCreate,0x00010001,0x00000001
    HKLM,System\CurrentControlSet\Services\WbioSrvc\Databases\{6E9D4C5A-55B4-4c52-90B7-DDDC75CA4D50},AutoName,0x00010001,0x00000001
    HKLM,System\CurrentControlSet\Services\WbioSrvc\Databases\{6E9D4C5A-55B4-4c52-90B7-DDDC75CA4D50},FilePath,,""
    HKLM,System\CurrentControlSet\Services\WbioSrvc\Databases\{6E9D4C5A-55B4-4c52-90B7-DDDC75CA4D50},ConnectionString,,""
    
  • WBDI 및 레거시 드라이버를 구분하려면 공급업체는 INX 파일에서 드라이버에 대한 기능 점수를 설정해야 합니다. 기능 점수는 WudfBioUsbSample 샘플에서 설정되지 않습니다. 기능 점수 설정에 대한 자세한 내용은 Windows 업데이트 생체 인식 드라이버 순위를 참조하세요.

INX 파일과 INF 파일의 차이점에 대한 자세한 내용은 INX 파일을 사용하여 INF 파일 만들기를 참조 하세요.

WBDI 드라이버를 레거시 드라이버로 바꾸려면 다음 절차를 사용합니다.

  1. 현재 활성 상태인 모든 WBF 애플리케이션을 닫습니다.

  2. WBDI 드라이버를 제거합니다.

  3. WBF 서비스를 중지하고 다시 시작한 다음 다시 중지합니다.

  4. 레거시 드라이버를 설치합니다.