Dela via


Installera en biometrisk drivrutin

Den här artikeln innehåller en riktlinje för installation av biometriska enheter. Kodexemplen i den här artikeln är hämtade från filen WudfBioUsbSample.inx i filen WudfBioUsbSample.

Notera

Leverantörer kan tillhandahålla en (.inf)-fil för att installera en WBDI-drivrutin.

  1. WBDI-drivrutiner bör ange en klass med "Biometrisk". Ange ClassGuid lika med värdet som motsvarar GUID_DEVCLASS_BIOMETRIC i Devguid.h:

    [Version]
    ...
    Class=Biometric
    ClassGuid={53D29EF7-377C-4D14-864B-EB3A85769359}
    ...
    
  2. I ditt .HW-avsnitt, ange AddReg-direktiv för tre avsnitt som innehåller poster som ska läggas till i registret:

    [Biometric_Install.NT.hw]
    AddReg=Biometric_Device_AddReg
    AddReg=DriverPlugInAddReg, DatabaseAddReg
    
  3. Ange de namngivna avsnitt som refereras till i . HW-avsnitt. Avsnittet [Biometric_Device_AddReg] anger värden för den biometriska enheten, inklusive flaggan för exklusivt läge och systemets väckning/inaktiv läge för enheten. För att kunna identifieras av Windows Biometric Framework måste UMDF-baserade WBDI-drivrutiner ange värdet "Exklusivt" till 1. De första två raderna i avsnittet [Biometric_Device_AddReg] anger behörigheter för åtkomstkontrollistan (ACL) så att enheten endast kan öppnas av en administratör eller det lokala systemkontot. När du anger dessa ACL-rättigheter kan program från tredje part inte öppna enheten och samla in fingeravtrycksdata när WinBio-tjänsten inte körs. Till exempel:

    [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
    

    En WBDI-drivrutin som exponerar funktioner för en äldre (icke-WBDI) biometrisk stack bör ange värdet Exklusivt till noll. Om det här värdet är inställt på noll, så försöker Windows Biometric Framework inte styra enheten, och enheten exponeras inte via WBF.

    Leverantörer kan ha en enda drivrutinsbinär fil som kan fungera med äldre teknikstackar och WBF, men de två kan inte användas samtidigt. WBF fungerar endast om enheten kan öppnas med exklusiv åtkomst.

  4. Det andra namngivna avsnittet innehåller registervärden för plugin-adaptrarna. Exemplet använder det Microsoft-tillhandahållna sensorkortet och lagringsadaptern. Det här avsnittet aktiverar även Stöd för Windows-inloggning genom att ange värdet 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. Slutligen anger det tredje avsnittet följande registervärden för databastjänsten. Det identifierande GUID:t måste vara unikt för varje leverantörsdatabas i ett visst format. I det här kodexemplet från exemplet ändrar du till exempel 6E9D4C5A-55B4-4c52-90B7-DDDC75CA4D50 till ditt eget unika GUID i INF-filen.

    [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. För att särskilja WBDI och äldre drivrutiner måste leverantörerna ange en funktionspoäng för drivrutinen i INX-filen. Funktionsbetyg anges inte i WudfBioUsbSample sample. Mer information om hur du anger en funktionspoäng finns i Rangordna en biometrisk drivrutin i Windows Update.

Information om INX-filer och hur de skiljer sig från INF-filer finns i Använda INX-filer för att skapa INF-filer.

Ersätta en WBDI-drivrutin med en äldre drivrutin

Använd följande procedur för att ersätta en WBDI-drivrutin med en äldre drivrutin:

  1. Stäng alla nuvarande aktiva WBF-program.

  2. Avinstallera WBDI-drivrutinen.

  3. Stoppa WBF-tjänsten, starta om den och stoppa den sedan igen.

  4. Installera den äldre drivrutinen.