USBD_IsInterfaceVersionSupported 函数 (usbdlib.h)

USB 客户端驱动程序调用 USBD_IsInterfaceVersionSupported 例程,以检查基础 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 8 的 Windows 驱动程序工具包(WDK),才能成功调用例程。 USBD_IsInterfaceVersionSupported 替换 USBD_GetUSBDIVersion 例程。

USBD 接口版本不指示 USB 驱动程序堆栈支持的功能。 例如,由于基础驱动程序堆栈支持USBD_INTERFACE_VERSION_602,客户端驱动程序 不得 假定驱动程序可以使用静态流功能。 这是因为,即使驱动程序堆栈支持该功能,主机控制器硬件或 USB 设备可能不支持流。 若要确定 USB 驱动程序堆栈是否支持特定功能,请调用 USBD_QueryUsbCapability

要求

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