структура 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-клиента