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.
WBDI-drivrutiner bör ange en klass med "Biometrisk". Ange
ClassGuid
lika med värdet som motsvararGUID_DEVCLASS_BIOMETRIC
i Devguid.h:[Version] ... Class=Biometric ClassGuid={53D29EF7-377C-4D14-864B-EB3A85769359} ...
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
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.
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
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,,""
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:
Stäng alla nuvarande aktiva WBF-program.
Avinstallera WBDI-drivrutinen.
Stoppa WBF-tjänsten, starta om den och stoppa den sedan igen.
Installera den äldre drivrutinen.