Compartir a través de


Instalación de un controlador biométrico

Los proveedores pueden proporcionar un archivo INF para instalar un controlador WBDI.

A continuación se muestra una lista de directrices para la instalación de dispositivos biométricos. Los ejemplos de código de este artículo se toman del archivo WudfBioUsbSample.inx del wudfBioUsbSample:

  • Los controladores WBDI deben especificar una clase de "Biométrica". Establezca ClassGuid igual al valor que corresponde a GUID_DEVCLASS_BIOMETRIC en Devguid.h:

    [Version]
    ...
    Class=Biometric
    ClassGuid={53D29EF7-377C-4D14-864B-EB3A85769359}
    ...
    
  • En . En la sección HW, proporcione directivas AddReg para especificar tres secciones que contienen entradas que se van a agregar al Registro:

    [Biometric_Install.NT.hw]
    AddReg=Biometric_Device_AddReg
    AddReg=DriverPlugInAddReg, DatabaseAddReg
    
  • Proporcione las secciones con nombre a las que se hace referencia en . Sección HW. La sección [Biometric_Device_AddReg] establece valores para el dispositivo biométrico, incluida la marca exclusiva y la activación del sistema o el dispositivo inactivo. Para ser reconocido por Windows Biometric Framework, los controladores WBDI basados en UMDF deben establecer el valor "Exclusivo" en 1. Las dos primeras líneas de la sección [Biometric_Device_AddReg] especifican derechos de lista de control de acceso (ACL) para que un administrador o la cuenta del sistema local solo puedan abrir el dispositivo. Al especificar estos derechos de ACL, las aplicaciones de terceros no pueden abrir el dispositivo ni capturar datos de huellas digitales cuando el servicio WinBio no se está ejecutando. Por ejemplo:

    [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 controlador WBDI que expone la funcionalidad a una pila biométrica heredada (no WBDI) debe establecer el valor Exclusivo en cero. Si este valor se establece en cero, Windows Biometric Framework no intenta controlar el dispositivo y el dispositivo no se expone a través de WBF.

    Los proveedores pueden tener un único archivo binario de controladores que pueda funcionar con pilas heredadas y WBF, pero los dos no pueden funcionar simultáneamente. WBF solo funcionará si el dispositivo se puede abrir con acceso exclusivo.

  • La segunda sección con nombre contiene valores del Registro para los adaptadores del complemento. En el ejemplo se usa el adaptador de sensor y el adaptador de almacenamiento proporcionados por Microsoft. En esta sección también se habilita la compatibilidad con el inicio de sesión de Windows estableciendo el valor de 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
    
  • Por último, la tercera sección establece los siguientes valores del Registro para el servicio de base de datos. El GUID de identificación debe ser único para cada base de datos de proveedor de un formato determinado. Por ejemplo, en este ejemplo de código del ejemplo, cambie 6E9D4C5A-55B4-4c52-90B7-DDDC75CA4D50 a su propio GUID único en el archivo 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,,""
    
  • Para diferenciar los controladores WBDI y heredados, los proveedores deben establecer una puntuación de características para el controlador en el archivo INX. La puntuación de características no se establece en el ejemplo WudfBioUsbSample . Para obtener más información sobre cómo establecer una puntuación de características, consulta Clasificación de un controlador biométrico en Windows Update.

Para obtener información sobre los archivos INX y cómo difieren de los archivos INF, vea Uso de archivos INX para crear archivos INF.

Para reemplazar un controlador WBDI por un controlador heredado, use el procedimiento siguiente:

  1. Cierre todas las aplicaciones WBF activas actualmente.

  2. Desinstale el controlador WBDI.

  3. Detenga el servicio WBF, reinícielo y vuelva a detenerlo.

  4. Instale el controlador heredado.