USB_BUS_INTERFACE_USBDI_V0 structure (usbbusif.h)
The USB_BUS_INTERFACE_USBDI_V0 structure is provided by the USB hub driver to allow USB clients to make direct calls to the hub driver without allocating IRPs.
Syntax
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;
Members
Size
Specifies the size in bytes of the buffer that holds the interface pointers.
Version
Indicates, on input, the version of the interface. This member should have one of the following values:
Value | Meaning |
---|---|
USB_BUSIF_USBDI_VERSION_0 | Version 0 of the interface. |
USB_BUSIF_USBDI_VERSION_1 | Version 1 of the interface. |
USB_BUSIF_USBDI_VERSION_2 | Version 2 of the interface. |
USB_BUSIF_USBDI_VERSION_3 | Version 3 of the interface. |
BusContext
Contains information that describes the USB bus and the USB bus driver that exposes this interface. This is an opaque entity that the caller must pass to the interface routines.
InterfaceReference
Pointer to a routine that increments the number of references to this interface. For more information about this routine, see InterfaceReference.
InterfaceDereference
Pointer to a routine that decrements the number of references to this interface. For more information about this routine, see InterfaceDereference.
GetUSBDIVersion
Pointer to a routine that returns the USB interface version number, the version number of USB specification that defines the interface, along with host controller capabilities information. This routine returns the highest USBDI interface version that is supported by the port driver. For more information about this routine, see GetUSBDIVersion.
QueryBusTime
Pointer to a routine that returns the current 32-bit USB frame number. This routine replaces the USBD_QueryBusTime function provided by usbd.sys. For more information about this routine, see QueryBusTime.
SubmitIsoOutUrb
Reserved. Do not use.
QueryBusInformation
Pointer to a routine that returns information about the bus. The information that is returned depends on the value of the Level member. If Level is 0, this routine returns bus bandwidth information. If Level is 1, it returns bus bandwidth information and the host controller's symbolic name. This routine replaces the USBD_QueryBusInformation function provided by usbd.sys. For more information about this routine, see QueryBusInformation.
Remarks
For information about how to query for these interfaces, see Querying for USB Interfaces. Callers of the routines in this structure can be running at IRQL <= DISPATCH_LEVEL.
Requirements
Requirement | Value |
---|---|
Header | usbbusif.h (include Usbbusif.h) |