
UDE client driver manages the hardware, interacting with both the WDF and UDE APIs.The class extension provides routines for client driver to create UDE objects and manage them. UDE class extension (UdeCx) is calls into the UDE client driver through client-implemented callback functions.USB host controller extension (Ucx01000.sys) is an abstraction layer to the hub driver above in the stack, and provides a generic mechanism for queuing requests to the underlying host controller driver.The hub driver is responsible for managing USB hubs and their ports, enumeration and creating physical device objects (PDOs) of USB devices and other hubs that may be attached to their downstream ports. USB hub driver (Usbhub3.sys) is a KMDF driver.

By using UDE, a non-USB hardware can communicate with the upper layers by using the USB host-side drivers in Windows. The section describes architecture of USB Device Emulation(UDE) that emulates the behavior of a USB host controller and a connected device.
