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 |