USB_BUS_INTERFACE_USBDI_V0 结构 (usbbusif.h)

USB_BUS_INTERFACE_USBDI_V0结构由 USB 集线器驱动程序提供,允许 USB 客户端直接调用集线器驱动程序,而无需分配 IRP。

语法

typedef struct _USB_BUS_INTERFACE_USBDI_V0 {
  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;
} USB_BUS_INTERFACE_USBDI_V0, *PUSB_BUS_INTERFACE_USBDI_V0;

成员

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

注解

有关如何查询这些接口的信息,请参阅 查询 USB 接口。 此结构中例程的调用方可以在 IRQL <= DISPATCH_LEVEL 运行。

要求

要求
Header usbbusif.h (包括 Usbbusif.h)

另请参阅

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

USB 结构