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)

另请参阅

USB 客户端驱动程序的总线驱动程序接口例程

USB 结构