本文列出了编写 Windows 驱动程序模型 (WDM) USB 客户端驱动程序所需的标头和库。
To find the header and library for a specific device driver interface (DDI), consult the reference pages in the USB Reference.
Headers
| Header file | Path | Includes | Description |
|---|---|---|---|
| hubbusif.h | Include\km | 定义 USB 端口驱动程序导出的服务,并可供 USB 中心驱动程序使用。 | |
| usb.h | Include\shared | Defines URB structures for USB Request Blocks (URBs) required by a client driver to send requests to the USB driver stack. | |
| usb100.h | Include\shared | 根据官方 USB 1.0 规范定义 USB 描述符。 | |
| usb200.h | Include\shared | usb100.h | 根据官方 USB 2.0 规范定义 USB 描述符。 |
| usbbusif.h | Include\km | 定义为要直接链接到端口驱动程序的 USB 客户端驱动程序(FDO)定义的总线接口,而不是直接链接到 Usbd.sys。 | |
| usbdi.h | Include\shared | usb.h usbioctl.h |
定义用于设置特定类型请求 URL 格式的帮助程序宏。 |
| usbdlib.h | Include\km | 定义 USB 客户端驱动程序用于将请求发送到 USB 驱动程序堆栈的 DDI。 | |
| usbdrivr.h | Include\km | usb.h usbdlib.h usbioctl.h usbbusif.h |
Defines USB_KERNEL_IOCTL. |
| usbioctl.h | Include\shared | usbiodef.h usb200.h |
定义 USB 驱动程序堆栈支持的 IOCTL 代码。 包括客户端驱动程序的内核模式 IOCTL 代码;应用程序的用户模式 IOCTL 代码。 |
| usbiodef.h | Include\shared | 定义接口和 WMI GUID。 | |
| usbkern.h | Include\km | usbioctl.h | Deprecated. |
| usbrpmif.h | Include\um | usb100.h windef.h winapifamily.h |
定义应用程序注册自身的函数,以便为 USB 设备执行驱动程序重定向作。 |
| usbspec.h | Include\shared | 根据官方 USB 规范定义设备驱动程序接口。 | |
| usbuser.h | Include\um | 定义 USB 端口驱动程序支持的用户模式 IOCTL 代码。 | |
| winusb.h | Include\um | winapifamily.h winusbio.h |
Defines WinUSB functions exposed by Winusb.dll, which are used by applications that want to send requests to Winusb.sys that is installed as the function driver for a USB device. |
| winusbio.h | Include\shared | winapifamily.h usb.h |
Defines flags for WinUSB functions. |
Libraries
| Library | Path | Description |
|---|---|---|
| usbd.lib |
\Lib\win8\km \Lib\win7\km \Lib\winv6.3\km |
提供帮助程序例程,用于从 USB 驱动程序堆栈获取信息,并为请求设置 URL 格式。 |
| usbrpm.lib |
\Lib\win8\km \Lib\win7\km \Lib\winv6.3\km |
为应用程序提供函数,以便执行作,以便将Microsoft提供的驱动程序替换为第三方 RPM 驱动程序。 |
| usbdex.lib |
\Lib\win8\km \Lib\win7\km \Lib\winv6.3\km |
为客户端驱动程序提供帮助程序例程,以便将请求发送到基础 USB 驱动程序堆栈。 生成库时会加载并静态链接到客户端驱动程序模块。 调用这些例程的客户端驱动程序可以在 Windows Vista 和更高版本的 Windows 上运行。 |
| winusb.lib |
\Lib\win8\km \Lib\win8\um \Lib\win7\km \Lib\win7\um \Lib\winv6.3\km \Lib\winv6.3\um |
为用户模式客户端驱动程序或应用程序提供函数,以便与 Winusb.sys 作为其功能驱动程序加载的 USB 设备通信。 |
Windows 8 中的标头更改
从 Windows 8 的 Windows 驱动程序工具包(WDK)开始,头文件 usbspec.h 将替换 USBProtocolDefs.h。
根据官方 USB 规范,新的头文件 usbspec.h 为定义的 DDI 提供协议定义。 头文件包含 USB 3.0 规范的 DDI。