USB_NODE_CONNECTION_INFORMATION structure (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 numéro 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 la configuration actuelle de l’appareil connecté au port indiqué. Pour une explication de cette valeur, consultez la section 9.4.7 de la spécification Universal Serial Bus 3.1 disponible dans la 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 le contraire.
DeviceIsHub
Valeur booléenne qui indique si l’appareil attaché au port est un hub. Si la valeur est TRUE, l’appareil attaché au port est un hub. Si la valeur est FALSE, l’appareil n’est pas un hub.
DeviceAddress
Adresse relative au bus affectée par USB de l’appareil qui est attaché au port.
NumberOfOpenPipes
Nombre de canaux USB ouverts associés au port.
ConnectionStatus
Énumérateur USB_CONNECTION_STATUS qui indique la connexion status.
PipeList[0]
Tableau de structures USB_PIPE_INFO qui décrit 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
Si aucun appareil n’est 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’elle a la valeur TRUE, l’appareil est à faible vitesse. Lorsqu’il a la valeur FALSE, l’appareil est à haute vitesse ou à pleine vitesse. Ainsi, la structure USB_NODE_CONNECTION_INFORMATION ne peut pas faire la différence entre les vitesses élevées et les vitesses complètes.
Le membre Speed de la structure USB_NODE_CONNECTION_INFORMATION_EX est un UCHAR et peut spécifier n’importe quelle valeur de l’énumérateur USB_DEVICE_SPEED .
Configuration requise
Condition requise | Valeur |
---|---|
En-tête | usbioctl.h (include Usbioctl.h) |
Voir aussi
IOCTL_USB_GET_NODE_CONNECTION_INFORMATION
IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX