estructura USB_NODE_CONNECTION_INFORMATION (usbioctl.h)
La estructura USB_NODE_CONNECTION_INFORMATION se usa con la solicitud IOCTL_USB_GET_NODE_CONNECTION_INFORMATION para recuperar información sobre un puerto USB y un dispositivo conectado.
Sintaxis
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;
Miembros
ConnectionIndex
Valor mayor o igual que 1 que especifica el número del puerto.
DeviceDescriptor
Estructura USB_DEVICE_DESCRIPTOR que informa del descriptor de dispositivo USB devuelto por el dispositivo conectado durante la enumeración.
CurrentConfigurationValue
Contiene el identificador usado con la solicitud SetConfiguration para especificar la configuración actual del dispositivo conectado al puerto indicado. Para obtener una explicación de este valor, vea la sección 9.4.7 en la especificación universal de Bus serie 3.1 disponible en la biblioteca de documentos USB.
LowSpeed
Valor booleano que indica si el puerto y su dispositivo conectado funcionan a baja velocidad. TRUE indica que el puerto y su dispositivo conectado funcionan actualmente a una velocidad baja. FALSE indica lo contrario.
DeviceIsHub
Valor booleano que indica si el dispositivo que está conectado al puerto es un concentrador. Si es TRUE, el dispositivo que está conectado al puerto es un concentrador. Si es FALSE, el dispositivo no es un centro.
DeviceAddress
Dirección relativa de bus asignada por USB del dispositivo que está conectado al puerto.
NumberOfOpenPipes
Número de canalizaciones USB abiertas asociadas al puerto.
ConnectionStatus
Enumerador con tipo USB_CONNECTION_STATUS que indica el estado de conexión.
PipeList[0]
Matriz de USB_PIPE_INFO estructuras que describen las canalizaciones abiertas asociadas al puerto. Las descripciones de canalización incluyen el desplazamiento de programación de la canalización y el descriptor de punto de conexión asociado. Esta información se puede usar para calcular el uso del ancho de banda.
Comentarios
Si no hay ningún dispositivo conectado al puerto USB, IOCTL_USB_GET_NODE_CONNECTION_INFORMATION solo devuelve información sobre el puerto. Si un dispositivo está conectado al puerto, IOCTL_USB_GET_NODE_CONNECTION_INFORMATION devuelve información sobre el puerto y el dispositivo conectado.
La estructura USB_NODE_CONNECTION_INFORMATION_EX es una versión extendida de USB_NODE_CONNECTION_INFORMATION. Las dos estructuras son idénticas, excepto para un miembro. En USB_NODE_CONNECTION_INFORMATION_EX, el miembro LowSpeed se reemplaza por el miembro Speed . LowSpeed es un valor booleano, por lo que cuando es TRUE, el dispositivo es de baja velocidad. Cuando es FALSE, el dispositivo es de alta velocidad o velocidad completa. Por lo tanto, la estructura USB_NODE_CONNECTION_INFORMATION no puede diferenciar entre velocidades altas y completas.
El miembro Speed de la estructura USB_NODE_CONNECTION_INFORMATION_EX es un UCHAR y puede especificar cualquiera de los valores del enumerador USB_DEVICE_SPEED .
Requisitos
Requisito | Valor |
---|---|
Header | usbioctl.h (incluya Usbioctl.h) |
Consulte también
IOCTL_USB_GET_NODE_CONNECTION_INFORMATION
IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX