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