Installation d’un pilote biométrique
Les fournisseurs peuvent fournir un fichier INF pour installer un pilote WBDI.
Voici une liste des instructions relatives à l’installation des appareils biométriques. Les exemples de code de cet article sont extraits du fichier WudfBioUsbSample.inx du wudfBioUsbSample :
Les pilotes WBDI doivent spécifier une classe de « Biométrie ». Définissez ClassGuid sur la valeur qui correspond à GUID_DEVCLASS_BIOMETRIC dans Devguid.h :
[Version] ... Class=Biometric ClassGuid={53D29EF7-377C-4D14-864B-EB3A85769359} ...
Dans votre . La section HW fournit des directives AddReg pour spécifier trois sections qui contiennent des entrées à ajouter au Registre :
[Biometric_Install.NT.hw] AddReg=Biometric_Device_AddReg AddReg=DriverPlugInAddReg, DatabaseAddReg
Indiquez les sections nommées mentionnées dans le . Section HW. La section [Biometric_Device_AddReg] définit les valeurs de l’appareil biométrique, y compris l’indicateur exclusif et le réveil du système/l’inactivité de l’appareil. Pour être reconnu par Windows Biometric Framework, les pilotes WBDI basés sur UMDF doivent définir la valeur « Exclusive » sur 1. Les deux premières lignes de la section [Biometric_Device_AddReg] spécifient les droits de liste de contrôle d’accès (ACL) afin que l’appareil puisse uniquement être ouvert par un administrateur ou le compte système local. Lorsque vous spécifiez ces droits de liste de contrôle d’accès, les applications tierces ne peuvent pas ouvrir l’appareil et capturer les données d’empreinte digitale lorsque le service WinBio n’est pas en cours d’exécution. Par exemple :
[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 pilote WBDI qui expose les fonctionnalités à une pile biométrique héritée (non WBDI) doit définir la valeur exclusive sur zéro. Si cette valeur est définie sur zéro, l’infrastructure biométrique Windows ne tente pas de contrôler l’appareil et l’appareil n’est pas exposé via WBF.
Les fournisseurs peuvent avoir un seul binaire de pilote qui peut fonctionner avec des piles héritées et WBF, mais les deux ne peuvent pas fonctionner simultanément. WBF fonctionne uniquement si l’appareil peut être ouvert avec un accès exclusif.
La deuxième section nommée contient des valeurs de Registre pour les adaptateurs de plug-in. L’exemple utilise l’adaptateur de capteur fourni par Microsoft et l’adaptateur de stockage. Cette section active également la prise en charge des connexions Windows en définissant la valeur 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
Enfin, la troisième section définit les valeurs de Registre suivantes pour le service de base de données. Le GUID d’identification doit être unique pour chaque base de données fournisseur d’un certain format. Par exemple, dans cet exemple de code de l’exemple, remplacez 6E9D4C5A-55B4-4c52-90B7-DDDC75CA4D50 par votre propre GUID unique dans votre fichier 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,,""
Pour différencier les pilotes WBDI et hérités, les fournisseurs doivent définir un score de fonctionnalité pour le pilote dans le fichier INX. Le score de fonctionnalité n’est pas défini dans l’exemple WudfBioUsbSample . Pour plus d’informations sur la définition d’un score de fonctionnalité, consultez Classement d’un pilote biométrique sur Windows Update.
Pour plus d’informations sur les fichiers INX et la façon dont ils diffèrent des fichiers INF, consultez Utilisation de fichiers INX pour créer des fichiers INF.
Pour remplacer un pilote WBDI par un pilote hérité, procédez comme suit :
Fermez toutes les applications WBF actuellement actives.
Désinstallez le pilote WBDI.
Arrêtez le service WBF, redémarrez-le, puis arrêtez-le à nouveau.
Installez le pilote hérité.