USB_BUS_INTERFACE_USBDI_V1 Struktur (usbbusif.h)
Die USB_BUS_INTERFACE_USBDI_V1-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_V1 {
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;
} USB_BUS_INTERFACE_USBDI_V1, *PUSB_BUS_INTERFACE_USBDI_V1;
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. Die Werte, die dieser Member 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
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 abruft. 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.
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 hoher Geschwindigkeit (USB 2.0-kompatibles Gerät) arbeitet. Andernfalls gibt diese Routine FALSE zurück. Weitere Informationen zu dieser Routine finden Sie unter IsDeviceHighSpeed.
Hinweise
Das IsDeviceHighSpeed-Element gibt nicht an, ob ein Gerät in der Lage ist, hochgeschwindigkeits zu arbeiten, sondern vielmehr, ob es tatsächlich mit hoher Geschwindigkeit arbeitet.
Die Routinen in dieser Struktur müssen unter IRQL >= DISPATCH_LEVEL aufgerufen werden können.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Verfügbar in Microsoft Windows XP und höheren Betriebssystemen. |
Kopfzeile | usbbusif.h (include Usbbusif.h) |