USB_BUS_INTERFACE_USBDI_V2 Struktur (usbbusif.h)
Die USB_BUS_INTERFACE_USBDI_V2 Struktur wird vom USB-Hubtreiber bereitgestellt, damit USB-Clients direkte Anrufe an den Hubtreiber tätigen können, ohne IRPs zu zuordnen.
Syntax
typedef struct _USB_BUS_INTERFACE_USBDI_V2 {
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;
PUSB_BUSIFFN_ENUM_LOG_ENTRY EnumLogEntry;
} USB_BUS_INTERFACE_USBDI_V2, *PUSB_BUS_INTERFACE_USBDI_V2;
Angehörige
Size
Gibt die Größe in Byte des Puffers an, der die Schnittstellenzeiger enthält.
Version
Gibt bei Eingabe die Version der Schnittstelle an. Die Werte, die dieses Element annehmen kann, sind wie folgt.
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
Zeigen Sie auf eine Routine, die die Anzahl der Verweise auf diese Schnittstelle erhöht. Weitere Informationen zu dieser Routine finden Sie unter InterfaceReference.
InterfaceDereference
Zeigen Sie 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 zurückgibt, die Versionsnummer der USB-Spezifikation, die die Schnittstelle definiert, zusammen mit Informationen zu Hostcontrollerfunktionen. 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 von usbd.sysbereitgestellte USBD_QueryBusTime-Funktion. Weitere Informationen zu dieser Routine finden Sie unter QueryBusTime.
SubmitIsoOutUrb
Reserviert. Nicht verwenden.
QueryBusInformation
Zeigen Sie auf eine Routine, die Informationen zum Bus abruft. Die zurückgegebenen Informationen hängen vom Wert des mitglieds der Ebene ab. Wenn Ebene 0 ist, gibt diese Routine Informationen zur Busbandbreite zurück. Wenn Ebene 1 ist, werden Busbandbreiteninformationen und der symbolische Name des Hostcontrollers zurückgegeben. Diese Routine ersetzt die von usbd.sysbereitgestellte USBD_QueryBusInformation-Funktion. Weitere Informationen zu dieser Routine finden Sie unter QueryBusInformation.
IsDeviceHighSpeed
Zeiger auf eine Routine, die bestimmt, ob das USB-Gerät mit hoher Geschwindigkeit arbeitet. Diese Routine gibt TRUE- zurück, wenn das USB-Gerät mit high speed USB 2.0-kompatiblem Gerät arbeitet. Gibt FALSE andernfalls zurück. Weitere Informationen zu dieser Routine finden Sie unter IsDeviceHighSpeed.
EnumLogEntry
Reserviert. Nicht verwenden.
Bemerkungen
Die IsDeviceHighSpeed Routine gibt nicht an, ob ein Gerät hochgeschwindigkeitsbetriebfähig ist, sondern ob es tatsächlich mit hoher Geschwindigkeit arbeitet.
Die Routinen in dieser Struktur müssen bei IRQL->= DISPATCH_LEVEL aufgerufen werden können.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Verfügbar in Microsoft Windows XP und höheren Betriebssystemen. |
Header- | usbbusif.h (include Usbbusif.h) |