USB_BUS_INTERFACE_USBDI_V3 结构 (usbbusif.h)
USB_BUS_INTERFACE_USBDI_V3结构由 USB 集线器驱动程序提供,允许 USB 客户端在不分配 IRP 的情况下直接调用中心驱动程序。
语法
typedef struct _USB_BUS_INTERFACE_USBDI_V3 {
USHORT Size;
USHORT Version;
PVOID BusContext;
PINTERFACE_REFERENCE InterfaceReference;
PINTERFACE_DEREFERENCE InterfaceDereference;
PUSB_BUSIFFN_GETUSBDI_VERSION GetUSBDIVersion;
PUSB_BUSIFFN_QUERY_BUS_TIME QueryBusTime;
PUSB_BUSIFFN_SUBMIT_ISO_OUT_URB SubmitIsoOutUrb;
PUSB_BUSIFFN_QUERY_BUS_INFORMATION QueryBusInformation;
PUSB_BUSIFFN_IS_DEVICE_HIGH_SPEED IsDeviceHighSpeed;
PUSB_BUSIFFN_ENUM_LOG_ENTRY EnumLogEntry;
PUSB_BUSIFFN_QUERY_BUS_TIME_EX QueryBusTimeEx;
PUSB_BUSIFFN_QUERY_CONTROLLER_TYPE QueryControllerType;
} USB_BUS_INTERFACE_USBDI_V3, *PUSB_BUS_INTERFACE_USBDI_V3;
成员
Size
指定保存接口指针的缓冲区的大小(以字节为单位)。
Version
在输入时指示接口的版本。 此成员可以采用的值如下所示。
值 | 含义 |
---|---|
USB_BUSIF_USBDI_VERSION_0 | 接口的版本 0。 |
USB_BUSIF_USBDI_VERSION_1 | 接口的版本 1。 |
USB_BUSIF_USBDI_VERSION_2 | 接口的版本 2。 |
USB_BUSIF_USBDI_VERSION_3 | 接口的版本 3。 |
BusContext
包含描述 USB 总线和公开此接口的 USB 总线驱动程序的信息。 这是调用方必须传递给接口例程的不透明实体。
InterfaceReference
指向一个例程的指针,该例程递增对此接口的引用数。 有关此例程的详细信息,请参阅 InterfaceReference。
InterfaceDereference
指向一个例程的指针,该例程递减对此接口的引用数。 有关此例程的详细信息,请参阅 InterfaceDereference。
GetUSBDIVersion
指向一个例程的指针,该例程返回 USB 接口版本号、定义接口的 USB 规范的版本号以及主机控制器功能信息。 此例程返回端口驱动程序支持的最高 USBDI 接口版本。 有关此例程的详细信息,请参阅 GetUSBDIVersion。
QueryBusTime
指向返回当前 32 位 USB 帧编号的例程的指针。 此例程替换 usbd.sys 提供的 USBD_QueryBusTime 函数。 有关此例程的详细信息,请参阅 QueryBusTime。
SubmitIsoOutUrb
保留。 请勿使用。
QueryBusInformation
指向检索有关总线信息的例程的指针。 返回的信息取决于 Level 成员的值。 如果 Level 为 0,则此例程返回总线带宽信息。 如果 Level 为 1,则返回总线带宽信息和主机控制器的符号名称。 此例程替换 usbd.sys 提供的 USBD_QueryBusInformation 函数。 有关此例程的详细信息,请参阅 QueryBusInformation。
IsDeviceHighSpeed
指向确定 USB 设备是否高速运行的例程的指针。 如果 USB 设备在符合 USB 2.0 的高速设备下运行,则此例程返回 TRUE 。 否则返回 FALSE 。 有关此例程的详细信息,请参阅 IsDeviceHighSpeed。
EnumLogEntry
保留。 请勿使用。
QueryBusTimeEx
此例程未实现。
QueryControllerType
指向一个例程的指针,该例程返回有关 USB 设备连接到的 USB 主机控制器的信息。 有关此例程的详细信息,请参阅 QueryControllerType。
注解
IsDeviceHighSpeed 例程并不指示设备是否能够高速运行,而是指示它是否实际上以高速运行。
此结构中的例程必须可在 IRQL >= DISPATCH_LEVEL调用。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows Vista 和更高版本的操作系统。 |
标头 | usbbusif.h (包括 Usbbusif.h) |