Condividi tramite


Installazione di un driver biometrico

I fornitori possono fornire un file INF per installare un driver WBDI.

Di seguito è riportato un elenco di linee guida per l'installazione di dispositivi biometrici. Gli esempi di codice in questo articolo sono tratti dal file WudfBioUsbSample.inx del wudfBioUsbSample:

  • I driver WBDI devono specificare una classe "Biometric". Impostare ClassGuid uguale al valore che corrisponde a GUID_DEVCLASS_BIOMETRIC in Devguid.h:

    [Version]
    ...
    Class=Biometric
    ClassGuid={53D29EF7-377C-4D14-864B-EB3A85769359}
    ...
    
  • In . La sezione HW specifica le direttive AddReg per specificare tre sezioni che contengono voci da aggiungere al Registro di sistema:

    [Biometric_Install.NT.hw]
    AddReg=Biometric_Device_AddReg
    AddReg=DriverPlugInAddReg, DatabaseAddReg
    
  • Specificare le sezioni denominate a cui si fa riferimento in . Sezione HW. La sezione [Biometric_Device_AddReg] imposta i valori per il dispositivo biometrico, inclusi il flag esclusivo e la riattivazione del sistema/inattività del dispositivo. Per essere riconosciuto da Windows Biometric Framework, i driver WBDI basati su UMDF devono impostare il valore "Esclusivo" su 1. Le prime due righe della sezione [Biometric_Device_AddReg] specificano i diritti dell'elenco di controllo di accesso (ACL) in modo che il dispositivo possa essere aperto solo da un amministratore o dall'account di sistema locale. Quando specifichi questi diritti ACL, le applicazioni di terze parti non possono aprire il dispositivo e acquisire i dati delle impronte digitali quando il servizio WinBio non è in esecuzione. Ad esempio:

    [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
    

    Un driver WBDI che espone la funzionalità a uno stack biometrico legacy (non WBDI) deve impostare il valore esclusivo su zero. Se questo valore è impostato su zero, Windows Biometric Framework non tenta di controllare il dispositivo e il dispositivo non viene esposto tramite WBF.

    I fornitori possono avere un singolo binario driver che può funzionare con stack legacy e WBF, ma i due non possono funzionare contemporaneamente. WBF funzionerà solo se il dispositivo può essere aperto con accesso esclusivo.

  • La seconda sezione denominata contiene i valori del Registro di sistema per gli adattatori plug-in. L'esempio usa l'adattatore del sensore e l'adattatore di archiviazione forniti da Microsoft. Questa sezione abilita anche il supporto per l'accesso di Windows impostando il valore SystemSensor:

    [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
    
  • Infine, la terza sezione imposta i valori del Registro di sistema seguenti per il servizio di database. Il GUID di identificazione deve essere univoco per ogni database fornitore di un determinato formato. Ad esempio, in questo esempio di codice dell'esempio modificare 6E9D4C5A-55B4-4c52-90B7-DDDC75CA4D50 in un GUID univoco nel file INF.

    [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,,""
    
  • Per distinguere I driver WBDI e legacy, i fornitori devono impostare un punteggio di funzionalità per il driver nel file INX. Il punteggio di funzionalità non è impostato nell'esempio WudfBioUsbSample . Per altre informazioni sull'impostazione di un punteggio di funzionalità, vedere Classificazione di un driver biometrico in Windows Update.

Per informazioni sui file INX e su come differiscono dai file INF, vedere Uso di file INX per la creazione di file INF.

Per sostituire un driver WBDI con un driver legacy, seguire questa procedura:

  1. Chiudere tutte le applicazioni WBF attualmente attive.

  2. Disinstallare il driver WBDI.

  3. Arrestare il servizio WBF, riavviarlo e quindi arrestarlo di nuovo.

  4. Installare il driver legacy.