Installieren eines biometrischen Treibers
Anbieter können eine INF-Datei bereitstellen, um einen WBDI-Treiber zu installieren.
Es folgt eine Liste der Richtlinien für die Installation biometrischer Geräte. Die Codebeispiele in diesem Artikel stammen aus der Datei WudfBioUsbSample.inx des WudfBioUsbSample:
WBDI-Treiber sollten eine Klasse von "Biometrie" angeben. Legen Sie "ClassGuid" auf den Wert fest, der GUID_DEVCLASS_BIOMETRIC in Devguid.h entspricht:
[Version] ... Class=Biometric ClassGuid={53D29EF7-377C-4D14-864B-EB3A85769359} ...
In Ihrem . HW-Abschnitt: Stellen Sie AddReg-Direktiven bereit, um drei Abschnitte anzugeben, die Einträge enthalten, die der Registrierung hinzugefügt werden sollen:
[Biometric_Install.NT.hw] AddReg=Biometric_Device_AddReg AddReg=DriverPlugInAddReg, DatabaseAddReg
Geben Sie die benannten Abschnitte an, auf die in der Datei verwiesen wird. HW-Abschnitt. Der Abschnitt [Biometric_Device_AddReg] legt Werte für das biometrische Gerät fest, einschließlich der exklusiven Kennzeichnung und des Systemaktivierungs-/Geräte-Leerlaufs. Um von Windows Biometric Framework erkannt zu werden, müssen UMDF-basierte WBDI-Treiber den Wert "Exklusiv" auf 1 festlegen. In den ersten beiden Zeilen des Abschnitts [Biometric_Device_AddReg] werden Zugriffssteuerungslistenrechte (Access Control List, ACL) angegeben, sodass das Gerät nur von einem Administrator oder dem lokalen Systemkonto geöffnet werden kann. Wenn Sie diese ACL-Rechte angeben, können Anwendungen von Drittanbietern das Gerät nicht öffnen und Fingerabdruckdaten erfassen, wenn der WinBio-Dienst nicht ausgeführt wird. Zum Beispiel:
[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
Ein WBDI-Treiber, der Funktionen für einen älteren biometrischen Stapel (nicht WBDI) verfügbar macht, sollte den Exklusiven Wert auf Null festlegen. Wenn dieser Wert auf Null festgelegt ist, versucht das Windows Biometric Framework nicht, das Gerät zu steuern, und das Gerät wird nicht über WBF verfügbar gemacht.
Anbieter können über eine einzelne Treiber-Binärdatei verfügen, die mit Legacystapeln und WBF arbeiten kann, aber die beiden können nicht gleichzeitig ausgeführt werden. WBF wird nur ausgeführt, wenn das Gerät mit exklusivem Zugriff geöffnet werden kann.
Der zweite benannte Abschnitt enthält Registrierungswerte für die Plug-In-Adapter. Im Beispiel werden der von Microsoft bereitgestellte Sensoradapter und der Speicheradapter verwendet. In diesem Abschnitt wird auch die Unterstützung der Windows-Anmeldung aktiviert, indem der SystemSensor-Wert festgelegt wird:
[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
Schließlich legt der dritte Abschnitt die folgenden Registrierungswerte für den Datenbankdienst fest. Die identifizierende GUID muss für jede Anbieterdatenbank eines bestimmten Formats eindeutig sein. Ändern Sie beispielsweise in diesem Codebeispiel aus dem Beispiel 6E9D4C5A-55B4-4c52-90B7-DDDC75CA4D50 in Ihre eigene eindeutige GUID in Ihrer INF-Datei.
[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,,""
Um WBDI- und Legacytreiber zu unterscheiden, müssen Anbieter eine Featurebewertung für den Treiber in der INX-Datei festlegen. Die Featurebewertung wird im WudfBioUsbSample-Beispiel nicht festgelegt. Weitere Informationen zum Festlegen einer Featurebewertung finden Sie unter Rangfolge eines biometrischen Treibers unter Windows Update.
Informationen zu INX-Dateien und deren Unterschiede von INF-Dateien finden Sie unter Verwenden von INX-Dateien zum Erstellen von INF-Dateien.
Um einen WBDI-Treiber durch einen Legacytreiber zu ersetzen, gehen Sie wie folgt vor:
Schließen Sie alle derzeit aktiven WBF-Anwendungen.
Deinstallieren Sie den WBDI-Treiber.
Beenden Sie den WBF-Dienst, starten Sie ihn neu, und beenden Sie ihn erneut.
Installieren Sie den Legacytreiber.