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) |
库 | Usbd.lib |
IRQL | PASSIVE_LEVEL |