USB 客户端驱动程序所需的标头和库

本文列出了将 Windows 驱动程序模型 (WDM) USB 客户端驱动程序编写所需的标头和库。

若要查找特定设备驱动程序接口的标头和库 (DDI) ,请参阅 USB 参考中的参考页。

标头

头文件 路径 包括 说明
hubbusif.h Include\km 定义由 USB 端口驱动程序导出并可供 USB 集线器驱动程序使用的服务。
usb.h Include\shared 定义 USB 请求块的 URB 结构 (URB,) 客户端驱动程序需要将请求发送到 USB 驱动程序堆栈。
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
定义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 已弃用。
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
定义由 Winusb.dll 公开的 WinUSB 函数 ,这些函数由希望将请求发送到安装为 USB 设备的函数驱动程序 Winusb.sys 的应用程序使用。
winusbio.h Include\shared winapifamily.h
usb.h
定义 WinUSB 函数的标志。

路径 说明
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 驱动程序工具包 (适用于 Windows 8 的 WDK) 开始,头文件 usbspec.h 将替换 USBProtocolDefs.h。

新的头文件 usbspec.h 根据官方 USB 规范为定义的 DDI 提供协议定义。 头文件包含 USB 3.0 规范的 DDI。