Please be sure to read the notes on use in the included installation guide. Aug 21, 2. Mar 30, 2. Apr 19, 2.
May 28, 2. Jan 09, 2. Feb 17, 2. Note: Users are strongly recommended to use the upgraded version 2. Aug 23, 2. This is improved and fixed in the new version. Jul 11, 2. Apr 08, 2. Dec 05, 2. Apr 09, 2. Nov 04, 2. Sep 01, 2. Jan 20, 2. Jan 19, 2. Aug 31, 2. The library gets loaded and statically linked to the client driver module when it is built.
A client driver that calls these routines can run on Windows Vista and later versions of Windows. Developing Windows client drivers for USB devices. A USB driver for a dual-role controller can behave as a host controller or a function controller depending on the hardware to which it is connected. These controllers are common on mobile devices and allow for connections to PCs, as well as USB peripherals like keyboards and mice.
A mobile device can behave as a peripheral when it is connected to a PC, allowing you to transfer files between your PC and the mobile device.
In that scenario, the controller on the device operates in the function role. Conversely, the controller can operate in the host role when connected to USB peripherals like storage drives, keyboard, mice.
One of the main responsibilities of a driver for a dual-role controller is to switch between those two roles, tearing down the previous role's device node and loading the device node for the new role. When writing the driver, use the WDF class extension-client driver model. For more information about the WDF class extension-client driver model, see Ursdevice. The class extension and the client driver represent an emulated host controller with a root hub that is capable of presenting an attached device to the system as an USB device.
The driver pair loads as the FDO in the host controller device stack. The UDE client driver communicates with Udecx by using a set of methods and event callback functions to handle device requests and notify the class extension about various events. A USB function class driver implements the functionality of a specific interface or group of interfaces on the USB device. The class driver handle requests issued by user mode services, or it can forwards requests to USB function class extension UFX and its function client driver.
If a particular interface or functionality is not provided by a system-supplied driver, you might need write a function class driver. Alternatively, you may implement it as a user-mode service. For example, the MTP class driver runs as a user-mode service that transferring files to and from the device. The USB function client driver is responsible for implementing a function controller-specific operations. The client driver is also responsible for handling power management, and PnP events. Write a USB function controller client driver.
Write a filter driver that supports detection of chargers, if the function controller uses the in-box Synopsys and ChipIdea drivers. The client driver handles hardware operations and events, power management, and PnP events. If you are developing an xHCI host controller that is not compliant with the specification or developing a custom non-xHCI hardware such as a virtual host controller , you can write a host controller driver that communicates with the UCX class extension.
Developing Windows drivers for USB host controllers. You can write a driver for these scenarios:. Skip to main content. This browser is no longer supported. Download Microsoft Edge More info. Contents Exit focus mode.
Please rate your experience Yes No. Any additional feedback? Submit and view feedback for This product This page.
View all page feedback. In this article. Write a UCSI client driver. Do not use. The request retrieves the highest port number on the hub. Do not send this request to the root hub.
0コメント