estructura USB_BUS_INTERFACE_USBDI_V3 (usbbusif.h)
El controlador del concentrador USB proporciona la estructura USB_BUS_INTERFACE_USBDI_V3 para permitir que los clientes USB realicen llamadas directas al controlador del concentrador sin asignar IRP.
Sintaxis
typedef struct _USB_BUS_INTERFACE_USBDI_V3 {
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;
PUSB_BUSIFFN_QUERY_BUS_TIME_EX QueryBusTimeEx;
PUSB_BUSIFFN_QUERY_CONTROLLER_TYPE QueryControllerType;
} USB_BUS_INTERFACE_USBDI_V3, *PUSB_BUS_INTERFACE_USBDI_V3;
Miembros
Size
Especifica el tamaño en bytes del búfer que contiene los punteros de interfaz.
Version
Indica, en la entrada, la versión de la interfaz. Los valores que este miembro puede tomar son los siguientes.
Valor | Significado |
---|---|
USB_BUSIF_USBDI_VERSION_0 | Versión 0 de la interfaz. |
USB_BUSIF_USBDI_VERSION_1 | Versión 1 de la interfaz. |
USB_BUSIF_USBDI_VERSION_2 | Versión 2 de la interfaz. |
USB_BUSIF_USBDI_VERSION_3 | Versión 3 de la interfaz. |
BusContext
Contiene información que describe el bus USB y el controlador de bus USB que expone esta interfaz. Se trata de una entidad opaca que el autor de la llamada debe pasar a las rutinas de interfaz.
InterfaceReference
Puntero a una rutina que incrementa el número de referencias a esta interfaz. Para obtener más información sobre esta rutina, vea InterfaceReference.
InterfaceDereference
Puntero a una rutina que disminuye el número de referencias a esta interfaz. Para obtener más información sobre esta rutina, vea InterfaceDereference.
GetUSBDIVersion
Puntero a una rutina que devuelve el número de versión de la interfaz USB, el número de versión de especificación USB que define la interfaz, junto con la información de funcionalidades del controlador de host. Esta rutina devuelve la versión de interfaz USBDI más alta compatible con el controlador de puerto. Para obtener más información sobre esta rutina, vea GetUSBDIVersion.
QueryBusTime
Puntero a una rutina que devuelve el número de fotograma USB de 32 bits actual. Esta rutina reemplaza la función USBD_QueryBusTime proporcionada por usbd.sys. Para obtener más información sobre esta rutina, vea QueryBusTime.
SubmitIsoOutUrb
Reservado. No utilizar.
QueryBusInformation
Puntero a una rutina que recupera información sobre el bus. La información que se devuelve depende del valor del miembro Level . Si Level es 0, esta rutina devuelve información de ancho de banda de bus. Si Level es 1, devuelve información de ancho de banda de bus y el nombre simbólico del controlador host. Esta rutina reemplaza la función USBD_QueryBusInformation proporcionada por usbd.sys. Para obtener más información sobre esta rutina, vea QueryBusInformation.
IsDeviceHighSpeed
Puntero a una rutina que determina si el dispositivo USB funciona a alta velocidad. Esta rutina devuelve TRUE si el dispositivo USB funciona a alta velocidad compatible con USB 2.0. Devuelve FALSE de lo contrario. Para obtener más información sobre esta rutina, consulte IsDeviceHighSpeed.
EnumLogEntry
Reservado. No utilizar.
QueryBusTimeEx
Esta rutina no se implementa.
QueryControllerType
Puntero a una rutina que devuelve información sobre el controlador de host USB al que está conectado el dispositivo USB. Para obtener más información sobre esta rutina, vea QueryControllerType.
Comentarios
La rutina IsDeviceHighSpeed no indica si un dispositivo es capaz de funcionar de alta velocidad, pero si de hecho funciona a alta velocidad.
Las rutinas de esta estructura deben poder llamarse en IRQL >= DISPATCH_LEVEL.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows Vista y sistemas operativos posteriores. |
Encabezado | usbbusif.h (incluya Usbbusif.h) |
Consulte también
Rutinas de interfaz de controlador de bus para controladores de cliente USB