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 设备驱动程序编程参考)