Поделиться через


структура USB_BUS_INTERFACE_USBDI_V3 (usbbusif.h)

Структура USB_BUS_INTERFACE_USBDI_V3 предоставляется драйвером концентратора USB, чтобы позволить USB-клиентам выполнять прямые вызовы драйвера концентратора без выделения IRP.

Синтаксис

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;

Члены

Size

Указывает размер буфера в байтах, в котором содержатся указатели интерфейса.

Version

Указывает на входных данных версию интерфейса. Ниже приведены значения, которые может принимать этот элемент.

Значение Значение
USB_BUSIF_USBDI_VERSION_0 Версия 0 интерфейса.
USB_BUSIF_USBDI_VERSION_1 Версия 1 интерфейса.
USB_BUSIF_USBDI_VERSION_2 Версия 2 интерфейса.
USB_BUSIF_USBDI_VERSION_3 Версия 3 интерфейса.

BusContext

Содержит сведения, описывающие USB-шину и драйвер USB-шины, предоставляющий этот интерфейс. Это непрозрачная сущность, которую вызывающий объект должен передать в подпрограммы интерфейса.

InterfaceReference

Указатель на подпрограмму, которая увеличивает количество ссылок на этот интерфейс. Дополнительные сведения об этой подпрограмме см. в разделе InterfaceReference.

InterfaceDereference

Указатель на подпрограмму, уменьшающую количество ссылок на этот интерфейс. Дополнительные сведения об этой процедуре см. в разделе InterfaceDereference.

GetUSBDIVersion

Указатель на подпрограмму, которая возвращает номер версии USB-интерфейса, номер версии спецификации USB, которая определяет интерфейс, а также сведения о возможностях контроллера узла. Эта подпрограмма возвращает самую высокую версию интерфейса USBDI, поддерживаемую драйвером порта. Дополнительные сведения об этой процедуре см. в разделе GetUSBDIVersion.

QueryBusTime

Указатель на подпрограмму, которая возвращает текущий 32-разрядный номер кадра USB. Эта подпрограмма заменяет функцию USBD_QueryBusTime , предоставляемую usbd.sys. Дополнительные сведения об этой процедуре см. в разделе QueryBusTime.

SubmitIsoOutUrb

Зарезервировано. Не используется.

QueryBusInformation

Указатель на подпрограмму, которая получает сведения о автобусе. Возвращаемые сведения зависят от значения элемента Level . Если уровень равен 0, эта подпрограмма возвращает сведения о пропускной способности шины. Если уровень равен 1, возвращается информация о пропускной способности шины и символьное имя контроллера узла. Эта подпрограмма заменяет функцию USBD_QueryBusInformation , предоставляемую usbd.sys. Дополнительные сведения об этой процедуре см. в разделе QueryBusInformation.

IsDeviceHighSpeed

Указатель на подпрограмму, которая определяет, работает ли USB-устройство на высокой скорости. Эта подпрограмма возвращает значение TRUE , если USB-устройство работает на высокоскоростном устройстве, совместимом с USB 2.0. В противном случае возвращает значение FALSE . Дополнительные сведения об этой процедуре см. в разделе IsDeviceHighSpeed.

EnumLogEntry

Зарезервировано. Не используется.

QueryBusTimeEx

Эта подпрограмма не реализована.

QueryControllerType

Указатель на подпрограмму, которая возвращает сведения о хост-контроллере USB, к которому подключено USB-устройство. Дополнительные сведения об этой процедуре см. в разделе QueryControllerType.

Комментарии

Подпрограмма IsDeviceHighSpeed не указывает, может ли устройство выполнять высокоскоростную работу, но действительно ли оно работает на высокой скорости.

Подпрограммы в этой структуре должны вызываться в IRQL >= DISPATCH_LEVEL.

Требования

Требование Значение
Минимальная версия клиента Операционные системы Windows Vista и более поздних версий.
Верхняя часть usbbusif.h (включая Usbbusif.h)

См. также раздел

Подпрограммы интерфейса драйвера шины для драйверов USB-клиента

Структуры USB