Compartilhar via


estrutura USB_BUS_INTERFACE_USBDI_V1 (usbbusif.h)

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

Sintaxe

typedef struct _USB_BUS_INTERFACE_USBDI_V1 {
  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;
} USB_BUS_INTERFACE_USBDI_V1, *PUSB_BUS_INTERFACE_USBDI_V1;

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 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 alta velocidade (dispositivo compatível com USB 2.0). Caso contrário, essa rotina retornará FALSE. Para obter mais informações sobre essa rotina, consulte IsDeviceHighSpeed.

Comentários

O membro IsDeviceHighSpeed não indica se um dispositivo é capaz de operação de alta velocidade, mas sim 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 da interface do driver de barramento para drivers de cliente USB

Estruturas USB