HidP_GetCollectionDescription 函数 (hidpddi.h)
使用集合说明和指定报表描述符的相应报表 ID 信息填充设备说明块。 HID 微型驱动程序通常不需要调用此函数。 相反,它将报告描述符返回给 Hidclass 驱动程序以响应 IOCTL_HID_GET_REPORT_DESCRIPTOR。
语法
NTSTATUS HidP_GetCollectionDescription(
[in] PHIDP_REPORT_DESCRIPTOR ReportDesc,
[in] ULONG DescLength,
[in] POOL_TYPE PoolType,
[out] PHIDP_DEVICE_DESC DeviceDescription
);
参数
[in] ReportDesc
指向包含原始报表描述符的 UCHAR 数组的指针。
[in] DescLength
报表描述符数组的长度。
[in] PoolType
一个POOL_TYPE值,指示从中为链接列表分配内存的池类型。 这包括HIDP_DEVICE_DESC的每个HIDP_COLLECTION_DESC数组元素、每个HIDP_COLLECTION_DESC中的每个HIDP_PREPARSED_DATA、HIDP_DEVICE_DESC的每个HIDP_REPORT_IDS数组元素。
[out] DeviceDescription
指向 HIDP_DEVICE_DESC 结构的指针,该结构由作为链接列表的集合描述符填充的设备描述块填充。 这是调用方分配的结构。 但是,此函数分配其 HIDP_COLLECTION_DESC 数组元素和 HIDP_REPORT_IDS 数组元素。
返回值
HidP_GetCollectionDescription 可以返回以下值之一:如果成功填充设备说明块,则返回 TRUE 。 否则,它将返回 FALSE。
返回值 | 说明 |
---|---|
|
已成功分析报告描述符并分配描述设备所需的内存块。 |
|
未能在报表描述符中找到顶级集合。 |
|
在报告描述符中检测到错误。 请参阅 HIDP_DEVICE_DESC 结构的 Dbg 字段中的错误代码。 |
|
在需要更多数据时找到报表描述符的末尾。 |
|
未能分配内存。 |
|
无法分析报表描述符中的项。 |
|
在描述符中找到报表 ID 为 0。 |
注解
对于 由 ReportDesc 参数指定的原始报表描述符, HidP_GetCollectionDescription 使用调用方分配的集合描述符的链接列表以及给定报表描述符描述的相应报表 ID 信息填充 DeviceDescription 块。 集合信息和 ReportID 信息的内存是根据 PoolType 值分配的。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 在 Windows 2000 和更高版本的 Windows 中可用。 |
目标平台 | 通用 |
标头 | hidpddi.h (包括 Hidpddi.h) |
Library | Hidparse.lib |
IRQL | <= DISPATCH_LEVEL |