USBD_IsInterfaceVersionSupported 函数 (usbdlib.h)

USBD_ISINTERFACEVERSIONSUPPORTED例程由 USB 客户端驱动程序调用,以检查基础 USB 驱动程序堆栈是否支持特定的 USBD 接口版本。

语法

BOOLEAN USBD_IsInterfaceVersionSupported(
  [in] USBD_HANDLE USBDHandle,
  [in] ULONG       USBDInterfaceVersion
);

参数

[in] USBDHandle

客户端驱动程序在上一次调用 USBD_CreateHandle 例程时检索的 USBD 句柄。

[in] USBDInterfaceVersion

一个 LONG 值,该值表示要针对 USB 驱动程序堆栈检查的 USBD 接口版本。 可能的值包括USBD_INTERFACE_VERSION_602或USBD_INTERFACE_VERSION_600。 有关详细信息,请参阅“备注”。

返回值

如果 USB 驱动程序堆栈支持指定的 USBD 接口版本,USBD_IsInterfaceVersionSupported返回 TRUE;否则为 FALSE。 有关详细信息,请参阅“备注”。

注解

为设备加载的 USB 驱动程序堆栈取决于 Windows 版本、主机控制器硬件和 USB 设备。 Windows 7 及更早版本的 Windows 支持USBD_INTERFACE_VERSION_600。 Windows 8驱动程序堆栈支持的 USBD 接口版本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

要求

要求
最低受支持的客户端 Windows 8需要 WDK。 面向 Windows Vista 和更高版本的 Windows 操作系统。
目标平台 桌面
标头 usbdlib.h
Library Usbdex.lib
IRQL PASSIVE_LEVEL