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