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

Estruturas USB

USB_CONNECTION_STATUS

USB_DEVICE_DESCRIPTOR

USB_DEVICE_SPEED

USB_NODE_CONNECTION_INFORMATION_EX

USB_PIPE_INFO