estrutura USB_NODE_CONNECTION_INFORMATION (usbioctl.h)
A estrutura USB_NODE_CONNECTION_INFORMATION é usada com a solicitação IOCTL_USB_GET_NODE_CONNECTION_INFORMATION para recuperar informações sobre uma porta USB e dispositivo conectado.
Sintaxe
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;
Membros
ConnectionIndex
Um valor maior ou igual a 1 que especifica o número da porta.
DeviceDescriptor
Uma estrutura USB_DEVICE_DESCRIPTOR que relata o descritor de dispositivo USB retornado pelo dispositivo anexado durante a enumeração.
CurrentConfigurationValue
Contém a ID usada com a solicitação SetConfiguration para especificar a configuração atual do dispositivo conectado à porta indicada. Para obter uma explicação desse valor, consulte a seção 9.4.7 na Especificação universal do Barramento Serial 3.1 disponível na Biblioteca de Documentos USB.
LowSpeed
Um valor booliano que indica se a porta e seu dispositivo conectado estão operando em baixa velocidade. TRUE indica que a porta e seu dispositivo conectado estão atualmente operando em baixa velocidade. FALSE indica o contrário.
DeviceIsHub
Um valor booliano que indica se o dispositivo anexado à porta é um hub. Se TRUE, o dispositivo anexado à porta será um hub. Se FALSE, o dispositivo não será um hub.
DeviceAddress
O endereço relativo ao barramento atribuído por USB do dispositivo anexado à porta.
NumberOfOpenPipes
O número de pipes USB abertos associados à porta.
ConnectionStatus
Um enumerador do tipo USB_CONNECTION_STATUS que indica a conexão status.
PipeList[0]
Uma matriz de estruturas de USB_PIPE_INFO que descreve os pipes abertos associados à porta. As descrições de pipe incluem o deslocamento de agendamento do pipe e o descritor de ponto de extremidade associado. Essas informações podem ser usadas para calcular o uso da largura de banda.
Comentários
Se não houver nenhum dispositivo conectado à porta USB, IOCTL_USB_GET_NODE_CONNECTION_INFORMATION retornará apenas informações sobre a porta. Se um dispositivo estiver conectado à porta, IOCTL_USB_GET_NODE_CONNECTION_INFORMATION retornará informações sobre a porta e o dispositivo conectado.
A estrutura USB_NODE_CONNECTION_INFORMATION_EX é uma versão estendida do USB_NODE_CONNECTION_INFORMATION. As duas estruturas são idênticas, exceto por um membro. Em USB_NODE_CONNECTION_INFORMATION_EX, o membro LowSpeed é substituído pelo membro Speed . LowSpeed é um valor booliano, portanto, quando é TRUE, o dispositivo é de baixa velocidade. Quando é FALSE, o dispositivo é de alta velocidade ou velocidade total. Portanto, a estrutura USB_NODE_CONNECTION_INFORMATION não pode diferenciar entre velocidades altas e completas.
O membro Speed da estrutura USB_NODE_CONNECTION_INFORMATION_EX é um UCHAR e pode especificar qualquer um dos valores do enumerador USB_DEVICE_SPEED .
Requisitos
Requisito | Valor |
---|---|
Cabeçalho | usbioctl.h (inclua Usbioctl.h) |
Confira também
IOCTL_USB_GET_NODE_CONNECTION_INFORMATION
IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX