Principios de diseño y procedimientos recomendados de DCH

En esta página se describen los principios de diseño y los procedimientos recomendados para los paquetes de controladores compatibles con DCH.

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 (D): instale el paquete de controladores mediante solo directivas INF declarativas. No incluya coins instaladores ni funciones RegisterDll.

  • Componentes (C): las personalizaciones opcionales, específicas de OEM y específicas de edición para el paquete de controladores son independientes del paquete de controladores base. Como resultado, el paquete de controladores base, que proporciona solo la funcionalidad básica del dispositivo, se puede destinar, volar y atender independientemente de las personalizaciones.

  • Aplicación de soporte de hardware (H):cualquier componente de interfaz de usuario (UI) asociado a un paquete de controladores debe empaquetarse como una aplicación de soporte técnico de hardware (HSA) o preinstalada en el dispositivo OEM. Un HSA es una aplicación opcional específica del dispositivo que está emparejada con un paquete de controladores. La aplicación puede ser una aplicación Plataforma universal de Windows (UWP) o Puente de dispositivo de escritorio. Debes distribuir y actualizar un HSA a través de Microsoft Store. Para más información, consulte Aplicación de soporte técnico de hardware (HSA): pasos para desarrolladores de controladores y aplicación de soporte técnico de hardware (HSA): pasos para desarrolladores de aplicaciones.

El acrónimo "DCH" hace referencia a los principios enumerados anteriormente. Consulte la página Ejemplo de paquete de controladores compatibles con DCH para ver cómo un ejemplo de controlador puede aplicar los principios de diseño de DCH.

Información general

Los paquetes de controladores compatibles con DCH contienen un archivo INF y archivos binarios que se instalan y ejecutan en ediciones basadas en Plataforma universal de Windows (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 KMDF, UMDF 2 o el modelo de controlador de Windows (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 configuraciones adicionales.

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

Después de que un IHV haya certificado 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 el paquete de controladores base ampliamente a través de 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

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

  • 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). Debe pasar infverif /k.
  • 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.
  • Las aplicaciones de soporte técnico de hardware asociadas al paquete de controladores deben distribuirse a través de Microsoft Store.

Procedimientos recomendados

  • Si usa el Kit de controladores de Windows (WDK) con la versión más reciente disponible de Visual Studio, establezca el valor plataforma de destino en las propiedades Universaldel proyecto de controlador en . Esto agrega automáticamente las bibliotecas correctas y ejecuta la validación INF adecuada y ApiValidator como parte de la compilación. Para hacerlo:

    1. Abra las propiedades del proyecto de controlador.
    2. Seleccione Configuración del controlador.
    3. Use el menú desplegable para establecer Plataforma de destino en Universal.
  • Si inf realiza cualquier acción de configuración personalizada que dependa de la plataforma de destino, considere la posibilidad de separarlas en un INF de extensión. 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 desea proporcionar una aplicación que funcione con el dispositivo, incluya una aplicación de soporte técnico de hardware. Para obtener más información, consulte Aplicación de soporte técnico de hardware (HSA): pasos para desarrolladores de controladores. Un OEM puede cargar previamente esta aplicación mediante DISM: administración y mantenimiento de imágenes de implementación. O bien, los usuarios pueden descargar manualmente la aplicación desde Microsoft Store.