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

另请参阅

USB 设备驱动程序编程参考