Overview of developing Windows drivers for USB function controllers
This section describes support in the Windows operating system, for developing a Universal Serial Bus (USB) function controller driver that communicates with the Microsoft-provided USB function controller extension (UFX).
Development tools and Microsoft-provided binaries
The Windows Driver Kit (WDK) contains resources that are required for driver development, such as headers, libraries, tools, and samples.
To write a function controller driver, you need:
To send requests from user mode, you need:
To send requests from your USB class driver, you need:
Architecture of UFX
Familiarize yourself with the Microsoft-provided USB driver stack:USB device-side drivers in Windows
Familiarize yourself with UFX objects and handles
UFX extends the WDF object functionality to define its own USB-specific UCX objects. For more details on WDF objects, see Introduction to Framework Objects.
For queuing requests, UFX uses USB-specific objects. For more information, UFX objects and handles used by a USB function client driver.
Writing a function controller client driver
Understand the behavior of UFX, how it interacts with the client driver, and the features that the client driver is expected to implement.
Programming reference sections