usbbusif.h) (USB_BUS_INTERFACE_USBDI_V1 结构
USB_BUS_INTERFACE_USBDI_V1结构由 USB 集线器驱动程序提供,允许 USB 客户端在不分配 IRP 的情况下直接调用集线器驱动程序。
语法
typedef struct _USB_BUS_INTERFACE_USBDI_V1 {
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;
} USB_BUS_INTERFACE_USBDI_V1, *PUSB_BUS_INTERFACE_USBDI_V1;
成员
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。
注解
IsDeviceHighSpeed 成员并不指示设备是否能够高速运行,而是指示它是否实际上正在高速运行。
此结构中的例程必须可在 IRQL >= DISPATCH_LEVEL调用。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 在 Microsoft Windows XP 和更高版本的操作系统中可用。 |
标头 | usbbusif.h (包括 Usbbusif.h) |