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