Description: 'This topic highlights the new features and improvements for Universal Serial Bus (USB) in Windows 10.' MS-HAID: 'buses.windows_10__what_s_new_for_usb' MSHAttr:
title: 'Windows 10: What's new for USB'
Windows 10: What's new for USB
This topic highlights the new features and improvements for Universal Serial Bus (USB) in Windows 10.
USB Dual Role support.
USB Dual Role controllers are now supported in Windows. Windows includes in-box client drivers for ChipIdea and Synopsys controllers. For other controllers, Microsoft provides a set of programming interfaces that allow the dual-role class extension (UrsCx) and its client driver to communicate with each other to handle the role-switching capability of a dual-role controller.
For more information about this feature, see:
New set of programming interfaces for developing a USB Type-C connector driver.
This version introduces native support for USB Type-C as defined in the USB 3.1 specification. The feature allows devices to use a reversible connector, a symmetric cable, faster charging, and Alternate Modes running over the USB cable. These programming interfaces allow you to write a driver for the connector (called the client driver in this section) that communicates with the Microsoft-provided class extension module: UcmCx to handle scenarios related to Type-C connectors such as, which ports support Type-C, which ports support power delivery.
New set of programming interfaces for developing an emulated host controller and a connected virtual device.
Windows 10 introduces support for emulated devices. Now you can develop an emulated Universal Serial Bus (USB) host controller driver and a connected virtual USB device. Both components are combined into a single KMDF driver that communicates with the Microsoft-provided USB device emulation class extension (UdeCx).
New set of programming interfaces for developing a USB host controller driver.
You can develop a host controller if your hardware is not xHCI specification-compliant or your are writing a virtual host controller, such as a controller that routes USB traffic over a TCP connection to the peripherals attached to a device. Your host controller driver is a client to the USB host controller extension, which is a system-supplied driver that follows the framework class extension model. Within the Microsoft USB 3.0 Driver Stack, UCX provides functionality to assist the host controller driver in managing a USB host controller device.
New set of programming interfaces for developing a USB function controller driver.
You can write a client driver that communicates with the USB function class extension (UFX) and implements controller-specific operations. UFX handles USB function logic that is common to all USB function controllers.
Improved experience for USB CDC (serial) devices.
Allows devices that are compliant with the USB communication devices Class (Class_02 & SubClass_02) to work with Windows 10 by using the Usbser.sys driver. Device manufacturers are no longer required to write a custom INF to install that driver.