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


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

Структура USB_BUS_INTERFACE_USBDI_V1 предоставляется драйвером КОНЦЕНТРАТОРа USB, чтобы позволить USB-клиентам совершать прямые вызовы драйвера концентратора без выделения irP.

Синтаксис

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;

Члены

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.

Комментарии

Элемент IsDeviceHighSpeed не указывает, может ли устройство работать на высокой скорости, а указывает, действительно ли оно работает на высокой скорости.

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

Требования

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

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

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

Структуры USB