Información general sobre el desarrollo de controladores de Windows para controladores de funciones USB
En este artículo se describe la compatibilidad con el sistema operativo Windows para desarrollar un controlador de controlador de funciones de Bus serie universal (USB) que se comunica con la extensión del controlador de funciones USB (UFX) proporcionada por Microsoft.
Herramientas de desarrollo y archivos binarios proporcionados por Microsoft
El Kit de controladores de Windows (WDK) contiene recursos necesarios para el desarrollo de controladores, como encabezados, bibliotecas, herramientas y ejemplos.
Descargar kits y herramientas para Windows
Windows proporciona controladores de controlador de funciones USB de bandeja de entrada, como UfxSynopsys.sys para el hardware del controlador de la dirección IP de Synopsys. Por lo general, requieren cambios de nivel de plataforma y validación que normalmente realizan los asociados de hardware o los OEM al mostrar una plataforma. Este proceso de puesta al día puede incluir la integración con ACPI para notificar a los controladores del sistema los eventos de conexión o desasociación USB y realizar una validación adicional mediante pruebas HLK proporcionadas por Microsoft. Para escribir su propio controlador de controlador, necesita:
- UFX (Ufx01000.sys) cargado como FDO. Este controlador se incluye en Windows.
- Vínculo a la biblioteca de código auxiliar (Ufx01000.lib). La biblioteca de código auxiliar está en el WDK. La biblioteca traduce las llamadas realizadas por el controlador del controlador de función y las pasa a UFX.
- Incluya Ufxclient.h proporcionado en el WDK.
Para enviar solicitudes desde el modo de usuario, necesita:
- GenericUSBFn.sys cargado como controlador de clase de función USB. Este controlador se incluye en Windows.
- Incluya Genericusbfnioctl.h proporcionado en el WDK.
Para enviar solicitudes desde el controlador de clase USB, necesita:
- UFX (Ufx01000.sys) cargado como FDO. Este controlador se incluye en Windows.
- Incluya Usbfnioctl.h proporcionado en el WDK.
Para escribir un controlador de filtro que controle la carga a través de cargadores propietarios, necesita:
- Ya sea UfxChipidea.sys o Ufxsynopsys.sys cargado como controlador de cliente en UFX.
- Incluya Ufxproprietarycharger.h proporcionado en el WDK.
Arquitectura de UFX
Familiarícese con la pila de controladores USB proporcionada por Microsoft:
Controladores del dispositivo USB en Windows
Familiarícese con objetos y identificadores UFX
UFX amplía la funcionalidad del objeto WDF para definir sus propios objetos UCX específicos de USB. Para obtener más información sobre los objetos WDF, vea Introduction to Framework Objects.
Para las solicitudes de puesta en cola, UFX usa objetos específicos de USB. Para obtener más información, los objetos UFX y los identificadores usados por un controlador cliente de funciones USB.
Escritura de un controlador de cliente de controlador de función
Comprenda el comportamiento de UFX, cómo interactúa con el controlador de cliente y las características que se espera que implemente el controlador cliente.
Tareas para un controlador cliente de controlador de función
Secciones de referencia de programación
Referencia de programación del controlador de clase de función USB a UFX
Referencia de programación del controlador de cliente del controlador de función USB
Controlador de filtro USB para admitir cargadores propietarios