USBD_ValidateConfigurationDescriptor 函数 (usbdlib.h)
USBD_ValidateConfigurationDescriptor例程验证设备在响应配置描述符请求时返回的所有描述符。
语法
USBD_STATUS USBD_ValidateConfigurationDescriptor(
[in] PUSB_CONFIGURATION_DESCRIPTOR ConfigDesc,
[in] ULONG BufferLength,
[in] USHORT Level,
[out] PUCHAR *Offset,
[in, optional] ULONG Tag
);
参数
[in] ConfigDesc
指向配置描述符的指针,该描述符包括从 USB 设备检索到的所有接口、终结点、供应商和特定于类的描述符。
[in] BufferLength
要验证的配置描述符的大小(以字节为单位)。
[in] Level
要执行的验证级别。 下面是有效的值:
- 1 - 配置描述符标头的基本验证。
- 2-配置描述符的完整验证,包括检查无效终结点地址、接口号、描述符结构、接口备用设置、接口数和所有描述符的 bLength 字段。
- 3- 除了验证级别 1 和级别 2 外,级别 3 还会验证每个接口中的终结点数,强制执行 USB 规范的描述符 bLength 大小,并验证所有接口编号是否按顺序排列。
[out] Offset
验证失败的配置描述符中的偏移量。 仅当返回USBD_STATUS_SUCCESS以外的状态时有效。
[in, optional] Tag
分配内存时 USBD_ValidateConfigurationDescriptor 使用的池标记。
返回值
如果验证失败,USBD_STATUS_SUCCESS或相应的 USBD 错误代码。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 在 Windows Vista 和更高版本的操作系统中可用。 |
目标平台 | 通用 |
标头 | usbdlib.h (包括 Usbdlib.h) |
Library | Usbd.lib |
IRQL | PASSIVE_LEVEL |
另请参阅
USB device driver programming reference(USB 设备驱动程序编程参考)