Table of contents
TOC
Collapse the table of content
Expand the table of content

Developing Windows drivers for emulated USB devices (UDE)

Last Updated: 2/15/2017

Purpose

This section describes USB emulated device (UDE) support in the Windows operating system, for developing 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).

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.

Download kits and tools for Windows

To write a function controller driver, you need:

  • UdeCx: (udecx.sys) a WDF extension used by the function driver. This extension is included in Windows.
  • Link to the stub library (Udecxstub.lib). The stub library is in the WDK.
  • Include Udecx.h provided in the WDK.

Version history

Windows 10

UDE version 1.0.

KMDF version 1.15.

UMDF is not supported.

Architecture of UDE

Architecture: USB Device Emulation (UDE)USB host-side drivers in Windows

Writing drivers for emulated host controller and devices

Familiarize yourself with UDE objects and handles. For details on WDF objects, see Introduction to Framework Objects.

Understand the behavior of UDE, how it interacts with the client driver, and the features that the client driver is expected to implement.

Write a UDE client driver

Programming reference sections

Emulated USB host controller driver programming reference

WDF Reference


Universal Serial Bus (USB)

Send comments about this topic to Microsoft

© 2017 Microsoft