Compartir a través de


Arquitectura: emulación de dispositivos USB (UDE)

En la sección se describe la arquitectura de emulación de dispositivos USB (UDE) que emula el comportamiento de un controlador de host USB y un dispositivo conectado. Mediante el uso de UDE, un hardware que no es USB puede comunicarse con las capas superiores mediante los controladores del lado host USB en Windows.

Controladores UDE

emulación de dispositivo usb (ude).

En la imagen anterior,

  • El controlador del concentrador USB (Usbhub3.sys) es un controlador KMDF. El controlador del concentrador es responsable de administrar los concentradores USB y sus puertos, enumeración y creación de objetos de dispositivo físico (PPO) de dispositivos USB y otros concentradores que se pueden conectar a sus puertos de bajada.
  • La extensión del controlador de host USB (Ucx01000.sys) es una capa de abstracción para el controlador de concentrador anterior en la pila y proporciona un mecanismo genérico para las solicitudes de puesta en cola al controlador del controlador de host subyacente.
  • La extensión de clase UDE (UdeCx) se llama al controlador de cliente UDE a través de funciones de devolución de llamada implementadas por el cliente. La extensión de clase proporciona rutinas para que el controlador cliente cree objetos UDE y los administre.
  • El controlador cliente UDE administra el hardware, interactuando con las API de WDF y UDE. El borde superior se comunica con la extensión de clase WDF y UDE mediante construcciones USB. Su borde inferior se comunica con el hardware mediante la interfaz del hardware.
  • Hardware personalizado: por ejemplo, un hardware PCI se puede emular para funcionar como un dispositivo USB.

Nodos de dispositivo UDE

Estas son las pilas de dispositivos cargadas para el controlador de cliente UDE:

Nodos de dispositivo de emulación de dispositivo usb (ude).