Compartir a través de


Principios de diseño y procedimientos recomendados de DCH

En este artículo se describen los principios de diseño y los procedimientos recomendados para paquetes de controladores compatibles con DCH. DCH significa Declarative (D), Componentized (C) y Hardware Support App (H).

Principios de diseño de DCH

Hay tres principios de diseño que se deben tener en cuenta para que un paquete de controladores sea compatible con DCH:

  • Declarativo: instale el paquete de controladores solo mediante directivas INF declarativas. No incluya coinstaladores ni funciones de RegisterDll.

  • Modularizado: las personalizaciones específicas de la edición, específicas del OEM y opcionales para el paquete de drivers son independientes del paquete de drivers base. Como resultado, el paquete de controladores base, que proporciona solo la funcionalidad principal del dispositivo, se puede destinar, volar y atender independientemente de las personalizaciones.

  • Aplicación de soporte técnico de hardware (HSA): cualquier componente de interfaz de usuario (UI) asociado a un paquete de controladores debe empaquetarse como un HSA o preinstalado en el dispositivo OEM. Un HSA es una aplicación opcional específica del dispositivo emparejada con un paquete de controladores. La aplicación puede ser una aplicación de la Plataforma universal de Windows (UWP) o una aplicación de Desktop Bridge compilada con un paquete MSIX a partir de tu código. Debes distribuir y actualizar un HSA a través de Microsoft Store. Para obtener más información, consulte HSA: Pasos para desarrolladores de controladores y HSA: Pasos para desarrolladores de aplicaciones.

Para ver cómo un ejemplo de controlador puede aplicar los principios de diseño de DCH, consulte ejemplo de paquete de controladores compatibles con DCH.

Introducción a DCH

Los paquetes de controladores compatibles con DCH contienen un archivo INF y archivos binarios que instalan y ejecutan en ediciones basadas en UWP de Windows. También instalan y ejecutan en otras ediciones de Windows 10 y 11 que comparten un conjunto común de interfaces.

Los archivos binarios de controladores compatibles con DCH pueden usar Kernel-Mode Driver Framework (KMDF), User-Mode Driver Framework 2 (UMDF) o windows Driver Model (WDM).

Los paquetes de controladores compatibles con DCH constan de las siguientes partes:

  • Un paquete de controladores base
  • Paquetes de componentes opcionales
  • Una aplicación de soporte técnico de hardware opcional

El paquete de controladores base contiene toda la funcionalidad básica y el código compartido. Los paquetes de componentes opcionales pueden contener personalizaciones y otras configuraciones.

Normalmente, un fabricante de dispositivos o un proveedor de hardware independiente (IHV), escribe el paquete de controladores base. A continuación, un integrador de sistemas o un fabricante de equipos originales (OEM) proporciona los paquetes de componentes opcionales.

Después de que un IHV certifique el paquete de controladores base, se puede implementar en todos los sistemas OEM. Dado que un paquete de controladores base se puede usar en todos los sistemas que comparten una parte de hardware, Microsoft puede probar ampliamente el paquete de controladores base. Microsoft puede usar paquetes piloto de Windows Insider, en lugar de limitar la distribución a máquinas específicas.

El OEM valida solo las personalizaciones opcionales que proporciona para el sistema OEM.

Requisitos de DCH

Para crear un paquete de controladores que siga los principios de diseño de DCH, siga estos pasos:

  1. Cree un archivo INF para el paquete de controladores:

    1. Revise la lista de secciones y directivas INF que son válidas en paquetes de controladores universales.

    2. Use la herramienta InfVerif para comprobar que el archivo INF del paquete de controladores sigue los requisitos declarativos (D). El paquete debe pasar la comprobación usando el comando infverif /k.

  2. Asegúrese de que los paquetes de componentes opcionales que no contengan la funcionalidad del controlador principal estén separados del paquete de controladores base.

  3. Las aplicaciones de soporte técnico de hardware asociadas al paquete de controladores deben distribuirse a través de Microsoft Store.

Procedimientos recomendados de DCH

Al desarrollar para el cumplimiento de DCH, siga estas mejores prácticas:

  • Si usa el Kit de controladores de Windows (WDK) con la versión más reciente de Visual Studio, establezca el valor plataforma de destino en las propiedades Universaldel proyecto de controlador en . Esta configuración agrega automáticamente las bibliotecas correctas y ejecuta la validación inf adecuada y ApiValidator como parte de la compilación. Para completar esta tarea, siga estos pasos:

    1. Abra las propiedades del proyecto de controlador.
    2. Seleccione Configuración del controlador.
    3. Usa el menú desplegable para establecer el valor de la plataforma objetivo en Universal.
  • Si el INF realiza acciones de configuración personalizadas que dependen de la plataforma de destino, considere la posibilidad de separar las acciones en una extensión INF. Puede actualizar una extensión INF independientemente del paquete de controladores base para que sea más sólida y fácil de usar. Para obtener más información, consulte Uso de un archivo INF de extensión.

  • Si quiere proporcionar una aplicación que funcione con el dispositivo, incluya un HSA. Para obtener más información, consulte HSA: Pasos para desarrolladores de controladores. Un OEM puede cargar previamente una aplicación de HSA mediante Deployment Image Servicing and Management (DISM) o bien, los usuarios pueden descargar manualmente la aplicación desde Microsoft Store.