функция USBD_IsInterfaceVersionSupported (usbdlib.h)
Подпрограмма USBD_IsInterfaceVersionSupported вызывается драйвером USB-клиента, чтобы проверка, поддерживает ли базовый стек USB-драйверов определенную версию интерфейса USBD.
Синтаксис
BOOLEAN USBD_IsInterfaceVersionSupported(
[in] USBD_HANDLE USBDHandle,
[in] ULONG USBDInterfaceVersion
);
Параметры
[in] USBDHandle
Дескриптор USBD, полученный драйвером клиента при предыдущем вызове процедуры USBD_CreateHandle .
[in] USBDInterfaceVersion
Значение LONG, представляющее версию интерфейса USBD для проверка в стеке драйверов USB. Возможные значения: USBD_INTERFACE_VERSION_602 или USBD_INTERFACE_VERSION_600. Дополнительные сведения см. в подразделе "Примечания".
Возвращаемое значение
USBD_IsInterfaceVersionSupported возвращает значение TRUE, если указанная версия интерфейса USBD поддерживается стеком драйверов USB; Значение FALSE в противном случае. Дополнительные сведения см. в подразделе "Примечания".
Комментарии
Стек USB-драйверов, загруженный для устройства, зависит от версии Windows, оборудования хост-контроллера и USB-устройства. Windows 7 и более ранние версии Windows поддерживают USBD_INTERFACE_VERSION_600. Версии интерфейса USBD, поддерживаемые стеком драйверов Windows 8, USBD_INTERFACE_VERSION_602 и USBD_INTERFACE_VERSION_600. Драйверу USB-клиента редко требуется знать о версии интерфейса базового стека драйверов. В случаях, когда такие сведения требуются, драйвер клиента может вызвать подпрограмму USBD_IsInterfaceVersionSupported, чтобы проверка, поддерживается ли определенная версия интерфейса базовым стеком драйверов. Например, клиентский драйвер вызывает USBD_IsInterfaceVersionSupported , чтобы определить, поддерживает ли стек драйверов USBD_INTERFACE_VERSION_602. Если она поддерживает такую версию, подпрограмма возвращает значение TRUE.
Подпрограмме требуется действительный дескриптор USBD (полученный в предыдущем вызове USBD_CreateHandle). USBD_IsInterfaceVersionSupported могут вызываться только клиентскими драйверами, предназначенными для Windows Vista и более поздних версий Windows. Чтобы успешно вызывать подпрограммы, эти клиентские драйверы должны получить комплект драйверов Windows (WDK) для Windows 8. USBD_IsInterfaceVersionSupported заменяет подпрограмму USBD_GetUSBDIVersion .
Версия интерфейса USBD не указывает на возможности, поддерживаемые стеком драйверов USB. Например, так как базовый стек драйверов поддерживает USBD_INTERFACE_VERSION_602, драйвер клиента не должен предполагать, что драйвер может использовать возможность статических потоков. Это связано с тем, что, несмотря на то, что стек драйверов поддерживает эти возможности, оборудование хост-контроллера или USB-устройство могут не поддерживать потоки. Чтобы определить, поддерживает ли стек usb-драйверов определенную возможность, вызовите USBD_QueryUsbCapability.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Требуется WDK для Windows 8. Предназначен для Windows Vista и более поздних версий операционной системы Windows. |
Целевая платформа | Персональный компьютер |
Верхняя часть | usbdlib.h |
Библиотека | Usbdex.lib |
IRQL | PASSIVE_LEVEL |