estructura USB_BUS_INTERFACE_USBDI_V2 (usbbusif.h)
El controlador del concentrador USB proporciona la estructura USB_BUS_INTERFACE_USBDI_V2 para permitir que los clientes USB realicen llamadas directas al controlador del concentrador sin asignar IRP.
Sintaxis
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;
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.
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 | Disponible en Microsoft Windows XP 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