Freigeben über


USB_BUS_INTERFACE_USBDI_V0-Struktur (usbbusif.h)

Die USB_BUS_INTERFACE_USBDI_V0-Struktur wird vom USB-Hubtreiber bereitgestellt, damit USB-Clients direkte Anrufe an den Hubtreiber tätigen können, ohne IRPs zuzuweisen.

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;

Member

Size

Gibt die Größe des Puffers in Bytes an, der die Schnittstellenzeiger enthält.

Version

Gibt bei der Eingabe die Version der Schnittstelle an. Dieser Member sollte über einen der folgenden Werte verfügen:

Wert Bedeutung
USB_BUSIF_USBDI_VERSION_0 Version 0 der Schnittstelle.
USB_BUSIF_USBDI_VERSION_1 Version 1 der Schnittstelle.
USB_BUSIF_USBDI_VERSION_2 Version 2 der Schnittstelle.
USB_BUSIF_USBDI_VERSION_3 Version 3 der Schnittstelle.

BusContext

Enthält Informationen, die den USB-Bus und den USB-Bustreiber beschreiben, der diese Schnittstelle verfügbar macht. Dies ist eine undurchsichtige Entität, die der Aufrufer an die Schnittstellenroutinen übergeben muss.

InterfaceReference

Zeiger auf eine Routine, die die Anzahl der Verweise auf diese Schnittstelle erhöht. Weitere Informationen zu dieser Routine finden Sie unter InterfaceReference.

InterfaceDereference

Zeiger auf eine Routine, die die Anzahl der Verweise auf diese Schnittstelle erhöht. Weitere Informationen zu dieser Routine finden Sie unter InterfaceDereference.

GetUSBDIVersion

Zeiger auf eine Routine, die die Versionsnummer der USB-Schnittstelle, die Versionsnummer der USB-Spezifikation, die die Schnittstelle definiert, sowie Informationen zu Hostcontrollerfunktionen zurückgibt. Diese Routine gibt die höchste USBDI-Schnittstellenversion zurück, die vom Porttreiber unterstützt wird. Weitere Informationen zu dieser Routine finden Sie unter GetUSBDIVersion.

QueryBusTime

Zeiger auf eine Routine, die die aktuelle 32-Bit-USB-Framenummer zurückgibt. Diese Routine ersetzt die USBD_QueryBusTime-Funktion , die von usbd.sys bereitgestellt wird. Weitere Informationen zu dieser Routine finden Sie unter QueryBusTime.

SubmitIsoOutUrb

Reserviert. Darf nicht verwendet werden.

QueryBusInformation

Zeiger auf eine Routine, die Informationen zum Bus zurückgibt. Die zurückgegebenen Informationen hängen vom Wert des Members Level ab. Wenn Ebene 0 ist, gibt diese Routine Informationen zur Busbandbreite zurück. Wenn Ebene 1 ist, werden Informationen zur Busbandbreite und den symbolischen Namen des Hostcontrollers zurückgegeben. Diese Routine ersetzt die von usbd.sys bereitgestellte USBD_QueryBusInformation-Funktion. Weitere Informationen zu dieser Routine finden Sie unter QueryBusInformation.

Hinweise

Informationen zum Abfragen dieser Schnittstellen finden Sie unter Abfragen für USB-Schnittstellen. Aufrufer der Routinen in dieser Struktur können unter IRQL <= DISPATCH_LEVEL ausgeführt werden.

Anforderungen

Anforderung Wert
Header usbbusif.h (include Usbbusif.h)

Weitere Informationen

Bustreiberschnittstellenroutinen für USB-Clienttreiber

USB-Strukturen