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) |