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 |