structure USB_NODE_CONNECTION_INFORMATION (usbioctl.h)
La structure USB_NODE_CONNECTION_INFORMATION est utilisée avec la demande de IOCTL_USB_GET_NODE_CONNECTION_INFORMATION pour récupérer des informations sur un port USB et un appareil connecté.
Syntaxe
typedef struct _USB_NODE_CONNECTION_INFORMATION {
ULONG ConnectionIndex;
USB_DEVICE_DESCRIPTOR DeviceDescriptor;
UCHAR CurrentConfigurationValue;
BOOLEAN LowSpeed;
BOOLEAN DeviceIsHub;
USHORT DeviceAddress;
ULONG NumberOfOpenPipes;
USB_CONNECTION_STATUS ConnectionStatus;
USB_PIPE_INFO PipeList[0];
} USB_NODE_CONNECTION_INFORMATION, *PUSB_NODE_CONNECTION_INFORMATION;
Membres
ConnectionIndex
Valeur supérieure ou égale à 1 qui spécifie le nombre du port.
DeviceDescriptor
Structure USB_DEVICE_DESCRIPTOR qui signale le descripteur de périphérique USB retourné par l’appareil attaché pendant l’énumération.
CurrentConfigurationValue
Contient l’ID utilisé avec la demande SetConfiguration pour spécifier cette configuration actuelle de l’appareil connecté au port indiqué. Pour obtenir une explication de cette valeur, consultez la section 9.4.7 dans la spécification Universal Serial Bus 3.1 disponible à bibliothèque de documents USB.
LowSpeed
Valeur booléenne qui indique si le port et son appareil connecté fonctionnent à faible vitesse. TRUE indique que le port et son appareil connecté fonctionnent actuellement à faible vitesse. FALSE indique sinon.
DeviceIsHub
Valeur booléenne qui indique si l’appareil attaché au port est un hub. Si TRUE, l’appareil attaché au port est un hub. Si FAUX, l’appareil n’est pas un hub.
DeviceAddress
Adresse relative usb affectée par le bus de l’appareil attaché au port.
NumberOfOpenPipes
Nombre de canaux USB ouverts associés au port.
ConnectionStatus
Énumérateur USB_CONNECTION_STATUS-typé qui indique l’état de la connexion.
PipeList[0]
Tableau de structures USB_PIPE_INFO qui décrivent les canaux ouverts associés au port. Les descriptions de canal incluent le décalage de planification du canal et le descripteur de point de terminaison associé. Ces informations peuvent être utilisées pour calculer l’utilisation de la bande passante.
Remarques
S’il n’existe aucun appareil connecté au port USB, IOCTL_USB_GET_NODE_CONNECTION_INFORMATION retourne uniquement des informations sur le port. Si un appareil est connecté au port, IOCTL_USB_GET_NODE_CONNECTION_INFORMATION retourne des informations sur le port et l’appareil connecté.
La structure USB_NODE_CONNECTION_INFORMATION_EX est une version étendue de USB_NODE_CONNECTION_INFORMATION. Les deux structures sont identiques, à l’exception d’un membre. Dans USB_NODE_CONNECTION_INFORMATION_EX, le membre LowSpeed est remplacé par le membre Speed. LowSpeed est une valeur booléenne. Par conséquent, lorsqu’il est TRUE, l’appareil est à faible vitesse. Lorsqu’il est FAUX, l’appareil est à haute vitesse ou à pleine vitesse. Ainsi, la structure USB_NODE_CONNECTION_INFORMATION ne peut pas différencier les vitesses élevées et pleines.
Le membre Speed de la structure USB_NODE_CONNECTION_INFORMATION_EX est un UCHAR et peut spécifier l’une des valeurs de l’énumérateur USB_DEVICE_SPEED.
Exigences
Exigence | Valeur |
---|---|
d’en-tête | usbioctl.h (include Usbioctl.h) |
Voir aussi
IOCTL_USB_GET_NODE_CONNECTION_INFORMATION
IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX