USBD_ParseDescriptors 函数 (usbdlib.h)

USBD_ParseDescriptors例程搜索给定的配置描述符,并返回指向与搜索条件匹配的第一个描述符的指针。

语法

PUSB_COMMON_DESCRIPTOR USBD_ParseDescriptors(
  [in] PVOID DescriptorBuffer,
  [in] ULONG TotalLength,
  [in] PVOID StartPosition,
  [in] LONG  DescriptorType
);

参数

[in] DescriptorBuffer

指向包含要搜索其描述符的配置描述符的指针。

[in] TotalLength

指定 DescriptorBuffer 指向的缓冲区的大小(以字节为单位)。

[in] StartPosition

指向配置描述符中的地址的指针,该地址在 DescriptorBuffer 中提供,以便从中开始搜索。 若要从配置描述符的开头进行搜索,参数 DescriptorBufferStartPosition 必须是相同的地址。

[in] DescriptorType

指定由 USB 分配的描述符类型代码。 以下值对 USB 定义的描述符类型有效:

USB_STRING_DESCRIPTOR_TYPE

指定要搜索的描述符是字符串描述符。

USB_INTERFACE_DESCRIPTOR_TYPE

指定要搜索的描述符是接口描述符。

USB_ENDPOINT_DESCRIPTOR_TYPE

指定要搜索的描述符是终结点描述符。

返回值

USBD_ParseDescriptors 返回指向 USB_COMMON_DESCRIPTOR 结构的指针,该结构是与给定搜索条件匹配的第一个描述符的头部,如果未找到匹配项,则返回 NULL

注解

此结构用于保存描述符的一部分,以便 USBD_ParseDescriptors 的调用方可以确定用于访问描述符中剩余数据的正确结构。 每个描述符类型在数据的开头都有这些字段,调用方可以使用 bLengthbDescriptorType 成员来正确标识此描述符的类型。

当此例程分析配置描述符以查找与搜索条件匹配的描述符时,它将返回第一个匹配项,从而终止搜索。

要求

要求
目标平台 通用
标头 usbdlib.h (包括 Usbdlib.h)
Library Usbd.lib
IRQL < DISPATCH_LEVEL

另请参阅

USB device driver programming reference(USB 设备驱动程序编程参考)