USB 驱动程序参考

USB 驱动程序参考技术概述。

若要开发 USB 驱动程序参考,需要以下标头:

有关此技术的编程指南,请参阅:

IOCTL

 
IOCTL_GENERICUSBFN_ACTIVATE_USB_BUS

此 I/O 控制代码 (IOCTL) 由用户模式服务或应用程序发送,以通知 GenericUSBFn.sys 激活通用串行总线 (USB) 。 激活后,总线将准备好处理总线事件和处理流量。
IOCTL_GENERICUSBFN_BUS_EVENT_NOTIFICATION

此 I/O 控制代码 (IOCTL) 由用户模式服务或应用程序发送,用于注册通用串行总线 (USB) 事件。
IOCTL_GENERICUSBFN_CONTROL_STATUS_HANDSHAKE_IN

此 I/O 控制代码 (IOCTL) 由用户模式服务或应用程序发送,以请求在 IN 方向的终结点 0 上进行零长度控制状态握手。
IOCTL_GENERICUSBFN_CONTROL_STATUS_HANDSHAKE_OUT

此 I/O 控制代码 (IOCTL) 由用户模式服务或应用程序发送,以在终结点 0 上的 OUT 方向上完成零长度控制状态握手。
IOCTL_GENERICUSBFN_DEACTIVATE_USB_BUS

此 IOCTL 代码受 nevtot 支持。
IOCTL_GENERICUSBFN_GET_CLASS_INFO

此 I/O 控制代码 (IOCTL) 由用户模式服务或应用程序发送,以检索有关注册表中配置的设备的可用管道的信息。
IOCTL_GENERICUSBFN_GET_CLASS_INFO_EX

此 I/O 控制代码 (IOCTL) 由用户模式服务或应用程序发送,以检索有关注册表中配置的设备的可用管道的信息。
IOCTL_GENERICUSBFN_GET_INTERFACE_DESCRIPTOR_SET

此 I/O 控制代码 (IOCTL) 由用户模式服务或应用程序发送,以获取设备上函数的整个接口描述符集。此 IOCTL 请求不会检索整个设备的接口描述符集。通用串行总线 (USB) 接口描述符为设备上的函数设置。
IOCTL_GENERICUSBFN_GET_PIPE_STATE

此 I/O 控制代码 (IOCTL) 由用户模式服务或应用程序发送,以获取指定的通用串行总线的状态 (USB) 管道。
IOCTL_GENERICUSBFN_REGISTER_USB_STRING

此 I/O 控制代码 (IOCTL) 由用户模式服务或应用程序发送,用于注册字符串描述符。通用串行总线 (USB) 字符串描述符。
IOCTL_GENERICUSBFN_SET_PIPE_STATE

此 I/O 控制代码 (IOCTL) 由用户模式服务或应用程序发送,用于设置指定的通用串行总线的状态 (USB) 管道。
IOCTL_GENERICUSBFN_TRANSFER_IN

此 I/O 控制代码 (IOCTL) 由用户模式服务或应用程序发送,以在与输入缓冲区中的指定管道 ID 相对应的终结点上发出 IN 方向传输。 (IOCTL_GENERICUSBFN_TRANSFER_IN)
IOCTL_GENERICUSBFN_TRANSFER_IN_APPEND_ZERO_PKT

此 I/O 控制代码 (IOCTL) 由用户模式服务或应用程序发送,以在与输入缓冲区中的指定管道 ID 相对应的终结点上发出 IN 方向传输。 (IOCTL_GENERICUSBFN_TRANSFER_IN_APPEND_ZERO_PKT)
IOCTL_GENERICUSBFN_TRANSFER_OUT

此 I/O 控制代码 (IOCTL) 由用户模式服务或应用程序发送,以在与输入缓冲区中的指定管道 ID 相对应的终结点上发出 OUT 方向传输。
IOCTL_GET_HCD_DRIVERKEY_NAME

IOCTL_GET_HCD_DRIVERKEY_NAME I/O 控制请求在注册表中检索 USB 主机控制器驱动程序的驱动程序密钥名称。
IOCTL_USB_DIAGNOSTIC_MODE_OFF

IOCTL_USB_DIAGNOSTIC_MODE_OFF I/O 控件已弃用。 请勿使用。
IOCTL_USB_DIAGNOSTIC_MODE_ON

IOCTL_USB_DIAGNOSTIC_MODE_ON I/O 控件已弃用。 请勿使用。
IOCTL_USB_GET_ROOT_HUB_NAME

IOCTL_USB_GET_ROOT_HUB_NAME I/O 控制请求与 USB_ROOT_HUB_NAME 结构一起使用,以检索根中心的符号链接名称。IOCTL_USB_GET_ROOT_HUB_NAME是用户模式 I/O 控制请求。
IOCTL_USB_USER_REQUEST

IOCTL_USB_USER_REQUEST I/O 控制请求可用于用户模式应用程序和内核模式驱动程序。

枚举

 
USB_USER_ERROR_CODE

USB_USER_ERROR_CODE枚举列出了 USB 用户模式请求失败时报告的错误代码。
WDMUSB_POWER_STATE

WDMUSB_POWER_STATE枚举指示主机控制器或根集线器的电源状态。

函数

 
WinUsb_AbortPipe

WinUsb_AbortPipe函数中止管道的所有挂起传输。 这是一个同步操作。
WinUsb_ControlTransfer

WinUsb_ControlTransfer函数通过默认控制终结点传输控制数据。
WinUsb_FlushPipe

WinUsb_FlushPipe 函数放弃在管道中缓存的任何数据。 这是一个同步操作。
WinUsb_Free

WinUsb_Free 函数释放WinUsb_Initialize分配的所有资源。 这是一个同步操作。
WinUsb_GetAdjustedFrameNumber

WinUsb_GetAdjustedFrameNumber函数根据帧号值和时间戳计算当前 USB 帧编号。
WinUsb_GetAssociatedInterface

WinUsb_GetAssociatedInterface 函数检索关联接口的句柄。 这是一个同步操作。
WinUsb_GetCurrentAlternateSetting

WinUsb_GetCurrentAlternateSetting 函数获取接口的当前备用接口设置。 这是一个同步操作。
WinUsb_GetCurrentFrameNumber

WinUsb_GetCurrentFrameNumber函数获取总线的当前帧编号。
WinUsb_GetCurrentFrameNumberAndQpc

WinUsb_GetCurrentFrameNumberAndQpc函数检索系统查询性能计数器 (QPC) 与帧和微帧同步的值。
WinUsb_GetDescriptor

WinUsb_GetDescriptor 函数返回请求的描述符。 这是一个同步操作。
WinUsb_GetOverlappedResult

WinUsb_GetOverlappedResult 函数检索对指定文件执行重叠操作的结果。
WinUsb_GetPipePolicy

WinUsb_GetPipePolicy 函数检索与设备上的终结点关联的特定管道的策略。 这是一个同步操作。
WinUsb_GetPowerPolicy

WinUsb_GetPowerPolicy 函数检索设备的电源策略。 这是一个同步操作。
WinUsb_Initialize

WinUsb_Initialize 函数为文件句柄指定的设备创建 WinUSB 句柄。
WinUsb_QueryDeviceInformation

WinUsb_QueryDeviceInformation 函数获取有关与 WinUSB 接口句柄关联的物理设备的信息。
WinUsb_QueryInterfaceSettings

WinUsb_QueryInterfaceSettings 函数检索特定接口句柄的指定备用接口设置的接口描述符。
WinUsb_QueryPipe

WinUsb_QueryPipe函数检索有关接口的指定终结点和关联管道的信息。
WinUsb_QueryPipeEx

WinUsb_QueryPipeEx函数检索有关接口的指定终结点和关联管道的扩展信息。
WinUsb_ReadIsochPipe

WinUsb_ReadIsochPipe函数从常时等量 OUT 终结点读取数据。
WinUsb_ReadIsochPipeAsap

WinUsb_ReadIsochPipeAsap函数提交从常时等量 OUT 终结点读取数据的请求。
WinUsb_ReadPipe

WinUsb_ReadPipe函数从指定的管道读取数据。
WinUsb_RegisterIsochBuffer

WinUsb_RegisterIsochBuffer函数注册要用于常时等量传输的缓冲区。
WinUsb_ResetPipe

WinUsb_ResetPipe函数重置数据切换并清除管道上的停止条件。
WinUsb_SetCurrentAlternateSetting

WinUsb_SetCurrentAlternateSetting 函数设置接口的备用设置。
WinUsb_SetPipePolicy

WinUsb_SetPipePolicy 函数为与设备上的终结点关联的特定管道设置策略。 这是一个同步操作。
WinUsb_SetPowerPolicy

WinUsb_SetPowerPolicy 函数设置设备的电源策略。
WinUsb_StartTrackingForTimeSync

WinUsb_StartTrackingForTimeSync 函数启动 USB 驱动程序堆栈中的时间同步功能,该功能可获取 USB 总线帧和微帧的关联系统 QPC 时间。
WinUsb_StopTrackingForTimeSync

WinUsb_StopTrackingForTimeSync函数是 USB 驱动程序堆栈中时间同步功能的首要功能,用于获取 USB 总线帧和微帧的关联系统 QPC 时间。
WinUsb_UnregisterIsochBuffer

WinUsb_UnregisterIsochBuffer函数释放WinUsb_RegisterIsochBuffer为常量传输分配的所有资源。 这是一个同步操作。
WinUsb_WriteIsochPipe

WinUsb_WriteIsochPipe 函数从指定的帧编号开始,将调用方提供的缓冲区的内容写入常时等量 OUT 终结点。
WinUsb_WriteIsochPipeAsap

WinUsb_WriteIsochPipeAsap提交将缓冲区内容写入常时常量 OUT 终结点的请求。
WinUsb_ReadPipe

WinUsb_WritePipe函数将数据写入管道。

结构

 
USB_BANDWIDTH_INFO

USB_BANDWIDTH_INFO 结构与 IOCTL_USB_USER_REQUEST I/O 控制请求一起使用,以检索有关已分配带宽的信息。
USB_BUS_STATISTICS_0

USB_BUS_STATISTICS_0 结构与 IOCTL_USB_USER_REQUEST I/O 控制请求一起使用,以检索总线统计信息。
USB_CLOSE_RAW_DEVICE_PARAMETERS

不支持此结构。 USB_CLOSE_RAW_DEVICE_PARAMETERS结构与IOCTL_USB_USER_REQUEST I/O 控制请求一起使用,以关闭对总线上设备的原始访问。
USB_CONTROLLER_INFO_0

USB_CONTROLLER_INFO_0 结构与 IOCTL_USB_USER_REQUEST I/O 控制请求一起使用,以检索有关 USB 主控制器的信息。
USB_DRIVER_VERSION_PARAMETERS

USB_DRIVER_VERSION_PARAMETERS 结构与 IOCTL_USB_USER_REQUEST I/O 控制请求一起使用,以检索版本信息。
USB_PASS_THRU_PARAMETERS

USB_PASS_THRU_PARAMETERS 结构与 IOCTL_USB_USER_REQUEST I/O 控制请求一起使用,以将特定于供应商的命令传递给主机控制器微型端口驱动程序。
USB_POWER_INFO

USB_POWER_INFO结构与IOCTL_USB_USER_REQUEST I/O 控制请求一起使用,以检索主机控制器电源策略为指示的系统电源状态指定的设备电源状态。
USB_UNICODE_NAME

USB_UNICODE_NAME 结构包含一个 Unicode 字符串,该字符串指定符号链接名称。
USBUSER_BANDWIDTH_INFO_REQUEST

USBUSER_BANDWIDTH_INFO_REQUEST结构与IOCTL_USB_USER_REQUEST I/O 控制请求一起使用,以检索有关已分配带宽的信息。
USBUSER_BUS_STATISTICS_0_REQUEST

USBUSER_BUS_STATISTICS_0_REQUEST 结构与 IOCTL_USB_USER_REQUEST I/O 控制请求一起使用,以检索总线统计信息。
USBUSER_CONTROLLER_UNICODE_NAME

USBUSER_CONTROLLER_UNICODE_NAME 结构与 IOCTL_USB_USER_REQUEST I/O 控制请求结合使用,以检索 USB 主机控制器驱动程序密钥名称。
USBUSER_GET_DRIVER_VERSION

USBUSER_GET_DRIVER_VERSION 结构与 IOCTL_USB_USER_REQUEST I/O 控制请求一起使用,以读取驱动程序和接口版本信息。
USBUSER_PASS_THRU_REQUEST

USBUSER_PASS_THRU_REQUEST 结构与 IOCTL_USB_USER_REQUEST I/O 控制请求结合使用,以将特定于供应商的命令发送到主机控制器微型端口驱动程序。
USBUSER_POWER_INFO_REQUEST

USBUSER_POWER_INFO_REQUEST 结构与 IOCTL_USB_USER_REQUEST I/O 控制请求结合使用,以检索有关特定系统状态与主机控制器和根集线器电源状态的关系的电源策略信息。
USBUSER_REQUEST_HEADER

USBUSER_REQUEST_HEADER结构与IOCTL_USB_USER_REQUEST I/O 控制请求一起使用,以将用户模式请求发送到 USB 主控制器驱动程序。
WINUSB_PIPE_INFORMATION

WINUSB_PIPE_INFORMATION 结构包含WinUsb_QueryPipe例程检索的管道信息。
WINUSB_PIPE_INFORMATION_EX

WINUSB_PIPE_INFORMATION_EX 结构包含WinUsb_QueryPipeEx例程检索的管道信息。
WINUSB_SETUP_PACKET

WINUSB_SETUP_PACKET 结构描述 USB 设置数据包。