Condividi tramite


Installazione di un driver biometrico

Questo articolo fornisce linee guida per l'installazione biometrica del dispositivo. Gli esempi di codice in questo articolo sono tratti dal file WudfBioUsbSample.inx del WudfBioUsbSample.

Nota

I fornitori possono fornire un file (con estensione inf) per installare un driver WBDI.

  1. 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}
    ...
    
  2. Nella sezione .HW, fornire direttive AddReg per specificare tre sezioni contenenti voci da aggiungere al Registro di sistema.

    [Biometric_Install.NT.hw]
    AddReg=Biometric_Device_AddReg
    AddReg=DriverPlugInAddReg, DatabaseAddReg
    
  3. Fornire le sezioni denominate a cui si fa riferimento nella 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. Per 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 di Esclusivo a 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 unico file binario del driver che può funzionare con le stack legacy e WBF, ma i due non possono operare contemporaneamente. WBF funzionerà solo se il dispositivo può essere aperto con accesso esclusivo.

  4. 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
    
  5. 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, 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,,""
    
  6. Per distinguere I driver WBDI e legacy, i fornitori devono impostare un punteggio di funzionalità per il driver nel file INX. Il punteggio delle funzionalità non è impostato nel campione 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 creare file INF.

Sostituzione di un driver WBDI con un driver legacy

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.