Share via


estructura USB_BUS_INTERFACE_USBDI_V1 (usbbusif.h)

El controlador del concentrador USB proporciona la estructura USB_BUS_INTERFACE_USBDI_V1 para permitir que los clientes USB realicen llamadas directas al controlador del concentrador sin asignar IRP.

Sintaxis

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;

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 la 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 actual de marco USB de 32 bits. 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 (dispositivo compatible con USB 2.0). De lo contrario, esta rutina devuelve FALSE. Para obtener más información sobre esta rutina, consulte IsDeviceHighSpeed.

Comentarios

El miembro IsDeviceHighSpeed no indica si un dispositivo es capaz de funcionar de alta velocidad, sino si está funcionando de hecho 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 en sistemas operativos posteriores.
Encabezado usbbusif.h (incluye Usbbusif.h)

Consulte también

Rutinas de interfaz del controlador de Bus para controladores de cliente USB

Estructuras USB