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