Partager via


USB_BUS_INTERFACE_USBDI_V3 structure (usbbusif.h)

La structure USB_BUS_INTERFACE_USBDI_V3 est fournie par le pilote de hub USB pour permettre aux clients USB d’effectuer des appels directs vers le pilote de hub sans allouer des IRP.

Syntaxe

typedef struct _USB_BUS_INTERFACE_USBDI_V3 {
  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;
  PUSB_BUSIFFN_QUERY_BUS_TIME_EX     QueryBusTimeEx;
  PUSB_BUSIFFN_QUERY_CONTROLLER_TYPE QueryControllerType;
} USB_BUS_INTERFACE_USBDI_V3, *PUSB_BUS_INTERFACE_USBDI_V3;

Membres

Size

Spécifie la taille en octets de la mémoire tampon qui contient les pointeurs d’interface.

Version

Indique, lors de l’entrée, la version de l’interface. Les valeurs que ce membre peut prendre sont les suivantes.

Valeur Signification
USB_BUSIF_USBDI_VERSION_0 Version 0 de l’interface.
USB_BUSIF_USBDI_VERSION_1 Version 1 de l’interface.
USB_BUSIF_USBDI_VERSION_2 Version 2 de l’interface.
USB_BUSIF_USBDI_VERSION_3 Version 3 de l’interface.

BusContext

Contient des informations qui décrivent le bus USB et le pilote de bus USB qui expose cette interface. Il s’agit d’une entité opaque que l’appelant doit passer aux routines d’interface.

InterfaceReference

Pointeur vers une routine qui incrémente le nombre de références à cette interface. Pour plus d’informations sur cette routine, consultez InterfaceReference.

InterfaceDereference

Pointeur vers une routine qui décrémente le nombre de références à cette interface. Pour plus d’informations sur cette routine, consultez InterfaceDereference.

GetUSBDIVersion

Pointeur vers une routine qui retourne le numéro de version de l’interface USB, le numéro de version de la spécification USB qui définit l’interface, ainsi que les informations sur les fonctionnalités du contrôleur hôte. Cette routine retourne la version la plus élevée de l’interface USBDI prise en charge par le pilote de port. Pour plus d’informations sur cette routine, consultez GetUSBDIVersion.

QueryBusTime

Pointeur vers une routine qui retourne le numéro de cadre USB 32 bits actuel. Cette routine remplace la fonction USBD_QueryBusTime fournie par usbd.sys. Pour plus d’informations sur cette routine, consultez QueryBusTime.

SubmitIsoOutUrb

Réservé. Ne pas utiliser.

QueryBusInformation

Pointeur vers une routine qui récupère des informations sur le bus. Les informations retournées dépendent de la valeur du membre Level . Si Level a la valeur 0, cette routine retourne des informations sur la bande passante du bus. Si Level a la valeur 1, il retourne des informations sur la bande passante du bus et le nom symbolique du contrôleur hôte. Cette routine remplace la fonction USBD_QueryBusInformation fournie par usbd.sys. Pour plus d’informations sur cette routine, consultez QueryBusInformation.

IsDeviceHighSpeed

Pointeur vers une routine qui détermine si le périphérique USB fonctionne à grande vitesse. Cette routine retourne TRUE si le périphérique USB fonctionne à haut débit compatible USB 2.0. Retourne FALSE dans le cas contraire. Pour plus d’informations sur cette routine, consultez IsDeviceHighSpeed.

EnumLogEntry

Réservé. Ne pas utiliser.

QueryBusTimeEx

Cette routine n’est pas implémentée.

QueryControllerType

Pointeur vers une routine qui retourne des informations sur le contrôleur hôte USB auquel le périphérique USB est attaché. Pour plus d’informations sur cette routine, consultez QueryControllerType.

Remarques

La routine IsDeviceHighSpeed n’indique pas si un appareil est capable de fonctionner à grande vitesse, mais s’il fonctionne effectivement à grande vitesse.

Les routines de cette structure doivent pouvoir être appelées dans IRQL >= DISPATCH_LEVEL.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Vista et systèmes d’exploitation ultérieurs.
En-tête usbbusif.h (inclure Usbbusif.h)

Voir aussi

Routines d’interface de pilote de bus pour les pilotes clients USB

USB Structures