Compartir a través de


Uso del Registro en controladores UMDF 1.x

Advertencia

UMDF 2 es la versión más reciente de UMDF y sustituye a UMDF 1. Todos los controladores UMDF nuevos deben escribirse con UMDF 2. No se agregan nuevas características a UMDF 1 y hay compatibilidad limitada con UMDF 1 en versiones más recientes de Windows 10. Los controladores universales de Windows deben usar UMDF 2.

Los ejemplos de UMDF 1 archivados se pueden encontrar en la Windows 11, versión 22H2 : actualización de ejemplos de controladores de mayo de 2022.

Para obtener más información, consulta Introducción con UMDF.

Los controladores basados en UMDF pueden leer y escribir valores en el Registro mediante interfaces del objeto de almacén de propiedades.

Los controladores basados en UMDF pueden acceder a cuatro tipos de claves del Registro. Los controladores pueden crear, leer y escribir subclaves y valores en estas claves. Los siguientes tipos de claves del Registro están disponibles para los controladores basados en UMDF:

  • Claves de hardware

    El administrador de PnP crea una clave de hardware o clave de dispositivo para cada dispositivo, en el que almacena la información de identificación única del dispositivo.

    El controlador puede recuperar y modificar algunos de los valores de propiedad en la clave de hardware. La ubicación de los valores almacenados depende del método que use para acceder a ellos.

    Los valores de propiedad creados mediante métodos PropertyStore se almacenan en la subclave \Device Parameters , bajo la clave de hardware. Para acceder a estas propiedades, el controlador llama a uno de los métodos siguientes para obtener una interfaz de almacén de propiedades.

    IWDFDevice::RetrieveDevicePropertyStore
    Obtiene un puntero a una interfaz IWDFNamedPropertyStore .

    IWDFDeviceInitialize::RetrieveDevicePropertyStore
    Obtiene un puntero a una interfaz IWDFNamedPropertyStore .

    IWDFPropertyStoreFactory::RetrieveDevicePropertyStore
    Obtiene un puntero a una interfaz IWDFNamedPropertyStore2 . Puede usar el parámetro SubkeyPath para especificar valores en una subclave creada por el controlador, como \Device Parameters\DriverServiceName\subkey.

    Los controladores tienen acceso de solo lectura a los valores de la subclave \Device Parameters y no pueden acceder a \Device Parameters\WDF o \Device Parameters\WUDF.

    Los valores de propiedad creados mediante el modelo de propiedad de dispositivo unificado se almacenan en la subclave \Properties , bajo la clave de hardware.

    Para acceder a estas propiedades, el controlador llama a IWDFUnifiedPropertyStoreFactory::RetrieveUnifiedDevicePropertyStore para obtener una interfaz de almacén de propiedades. A continuación, el controlador puede usar la interfaz IWDFUnifiedPropertyStore para modificar y recuperar la configuración actual de las propiedades del dispositivo.

  • Claves de software

    La clave de software de un controlador también se denomina clave de controlador porque el Registro contiene una clave de software para cada controlador. El registro contiene una lista de todas las clases de dispositivo y la clave de software de cada controlador reside en su entrada de clase de dispositivo. El sistema almacena información sobre cada controlador bajo su clave de software.

    El controlador puede llamar a IWDFPropertyStoreFactory::RetrieveDevicePropertyStore para obtener acceso de lectura o escritura a los valores en su clave de software. El controlador puede leer y escribir información específica del controlador que no está asociada a dispositivos específicos.

  • Claves de interfaz de dispositivo

    El Registro contiene claves para todas las clases de interfaz de dispositivo que los controladores han creado. En cada una de estas claves es una entrada para cada instancia de la clase de interfaz de dispositivo que un controlador ha registrado.

    Si el controlador ha registrado una instancia de una clase de interfaz de dispositivo, puede leer y escribir valores en la entrada del Registro para esa instancia llamando a IWDFPropertyStoreFactory::RetrieveDevicePropertyStore. El controlador puede leer y escribir información específica de la instancia sobre la interfaz del dispositivo.

  • Clave DEVICEMAP

    El registro contiene una clave HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP que usan algunos controladores para tecnologías anteriores, como puertos serie y paralelos. Si el controlador admite una tecnología que usa la clave DEVICEMAP , el controlador puede acceder a subclaves y valores bajo la clave llamando a IWDFPropertyStoreFactory::RetrieveDevicePropertyStore.

Una vez que un controlador ha llamado a uno de los métodos RetrieveDevicePropertyStore para abrir una subclave del Registro, el controlador puede usar métodos expuestos por IWDFNamedPropertyStore, IWDFNamedPropertyStore2 o IWDFUnifiedPropertyStore para crear, leer y escribir valores en una subclave. La interfaz IWDFNamedPropertyStore2 también permite a los controladores eliminar valores.

Para obtener más información sobre las claves del Registro para controladores, consulte Información general sobre los árboles y las claves del Registro.