функция USBD_IsInterfaceVersionSupported (usbdlib.h)

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

Синтаксис

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