structure USB_BUS_INTERFACE_USBDI_V2 (usbbusif.h)
La structure USB_BUS_INTERFACE_USBDI_V2 est fournie par le pilote du hub USB pour permettre aux clients USB d’effectuer des appels directs au pilote du hub sans allouer d’IRPs.
Syntaxe
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;
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 d’interface USBDI la plus élevée 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 frame 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é. N’utilisez pas.
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 niveau est 0, cette routine retourne des informations de bande passante de bus. Si niveau est 1, il retourne des informations de bande passante de 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 l’appareil USB fonctionne à haute vitesse sur un appareil compatible USB 2.0. Retourne FALSE sinon. Pour plus d’informations sur cette routine, consultez IsDeviceHighSpeed.
EnumLogEntry
Réservé. N’utilisez pas.
Remarques
La routine IsDeviceHighSpeed n’indique pas si un appareil est capable de fonctionner à grande vitesse, mais s’il fonctionne en fait à grande vitesse.
Les routines de cette structure doivent être appelées au >IRQL = DISPATCH_LEVEL.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Disponible dans Microsoft Windows XP et les systèmes d’exploitation ultérieurs. |
d’en-tête | usbbusif.h (include Usbbusif.h) |
Voir aussi
routines d’interface de pilote bus pour les pilotes clients USB