estrutura USB_BUS_INTERFACE_USBDI_V2 (usbbusif.h)

A estrutura USB_BUS_INTERFACE_USBDI_V2 é fornecida pelo driver do hub USB para permitir que os clientes USB façam chamadas diretas para o driver do hub sem alocar IRPs.

Sintaxe

typedef struct _USB_BUS_INTERFACE_USBDI_V2 {
  USHORT                             Size;
  USHORT                             Version;
  PVOID                              BusContext;
  PINTERFACE_REFERENCE               InterfaceReference;
  PINTERFACE_DEREFERENCE             InterfaceDereference;
  PUSB_BUSIFFN_GETUSBDI_VERSION      GetUSBDIVersion;
  PUSB_BUSIFFN_QUERY_BUS_TIME        QueryBusTime;
  PUSB_BUSIFFN_SUBMIT_ISO_OUT_URB    SubmitIsoOutUrb;
  PUSB_BUSIFFN_QUERY_BUS_INFORMATION QueryBusInformation;
  PUSB_BUSIFFN_IS_DEVICE_HIGH_SPEED  IsDeviceHighSpeed;
  PUSB_BUSIFFN_ENUM_LOG_ENTRY        EnumLogEntry;
} USB_BUS_INTERFACE_USBDI_V2, *PUSB_BUS_INTERFACE_USBDI_V2;

Membros

Size

Especifica o tamanho em bytes do buffer que contém os ponteiros da interface.

Version

Indica, na entrada, a versão da interface. Os valores que esse membro pode levar são os seguintes.

Valor Significado
USB_BUSIF_USBDI_VERSION_0 Versão 0 da interface.
USB_BUSIF_USBDI_VERSION_1 Versão 1 da interface.
USB_BUSIF_USBDI_VERSION_2 Versão 2 da interface.
USB_BUSIF_USBDI_VERSION_3 Versão 3 da interface.

BusContext

Contém informações que descrevem o barramento USB e o driver de barramento USB que expõe essa interface. Essa é uma entidade opaca que o chamador deve passar para as rotinas de interface.

InterfaceReference

Ponteiro para uma rotina que incrementa o número de referências a essa interface. Para obter mais informações sobre essa rotina, consulte InterfaceReference.

InterfaceDereference

Ponteiro para uma rotina que diminui o número de referências a essa interface. Para obter mais informações sobre essa rotina, consulte InterfaceDereference.

GetUSBDIVersion

Ponteiro para uma rotina que retorna o número de versão da interface USB, o número de versão da especificação USB que define a interface, juntamente com as informações de funcionalidades do controlador de host. Essa rotina retorna a versão mais alta da interface USBDI compatível com o driver de porta. Para obter mais informações sobre essa rotina, consulte GetUSBDIVersion.

QueryBusTime

Ponteiro para uma rotina que retorna o número de quadro USB atual de 32 bits. Essa rotina substitui a função USBD_QueryBusTime fornecida por usbd.sys. Para obter mais informações sobre essa rotina, consulte QueryBusTime.

SubmitIsoOutUrb

Reservado. Não use.

QueryBusInformation

Ponteiro para uma rotina que recupera informações sobre o ônibus. As informações retornadas dependem do valor do membro Level . Se Level for 0, essa rotina retornará informações de largura de banda do barramento. Se Level for 1, ele retornará informações de largura de banda do barramento e o nome simbólico do controlador de host. Essa rotina substitui a função USBD_QueryBusInformation fornecida por usbd.sys. Para obter mais informações sobre essa rotina, consulte QueryBusInformation.

IsDeviceHighSpeed

Ponteiro para uma rotina que determina se o dispositivo USB está operando em alta velocidade. Essa rotina retornará TRUE se o dispositivo USB estiver operando em dispositivo compatível com USB 2.0 de alta velocidade. Retorna FALSE caso contrário. Para obter mais informações sobre essa rotina, consulte IsDeviceHighSpeed.

EnumLogEntry

Reservado. Não use.

Comentários

A rotina IsDeviceHighSpeed não indica se um dispositivo é capaz de operação de alta velocidade, mas se ele está de fato operando em alta velocidade.

As rotinas nessa estrutura devem ser chamáveis em IRQL >= DISPATCH_LEVEL.

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível no Microsoft Windows XP e em sistemas operacionais posteriores.
Cabeçalho usbbusif.h (inclua Usbbusif.h)

Confira também

Rotinas de interface do motorista de barramento para drivers cliente USB

Estruturas USB