HidP_GetCollectionDescription函式 (hidpddi.h)

使用集合描述和指定之報表描述元的對應報表標識符資訊填入裝置描述區塊。 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_REPORT_IDSHIDP_DEVICE_DESC的陣列元素。

[out] DeviceDescription

HIDP_DEVICE_DESC 結構的指標 ,該結構會填入裝置描述區塊,並以連結清單形式填入集合描述項。 這是呼叫端配置的結構。 不過,此函式會配置其 HIDP_COLLECTION_DESC 陣列元素和 HIDP_REPORT_IDS 陣列元素。

傳回值

HidP_GetCollectionDescription 可以傳回下列其中一個值:如果成功填滿裝置描述區塊, 則為TRUE 。 否則會傳回 FALSE

傳回值 描述
STATUS_SUCCESS
成功剖析報表描述元,並配置描述裝置所需的記憶體區塊。
STATUS_NO_DATA_DETECTED
在報表描述元中找不到最上層集合。
STATUS_COULD_NOT_INTERPRET
在報表描述元中偵測到錯誤。 請參閱 HIDP_DEVICE_DESC 結構的 Dbg 欄位中的錯誤碼。
STATUS_BUFFER_TOO_SMALL
在預期更多數據時,找到報表描述元的結尾。
STATUS_INSUFFICIENT_RESOURCES
無法配置記憶體。
STATUS_ILLEGAL_INSTRUCTION
無法剖析報表描述元中的專案。
HIDP_STATUS_INVALID_REPORT_TYPE
在描述項中找到報告標識碼 0。

備註

若為 ReportDesc 參數所指定的原始報表描述元, HidP_GetCollectionDescription 填入 DeviceDescription 區塊,其中包含集合描述元的呼叫端配置連結清單,以及指定報表描述元所描述的對應報表標識符資訊。 集合資訊和 ReportID 資訊的記憶體會根據 PoolType 值來配置。

規格需求

需求
最低支援的用戶端 可在 Windows 2000 和更新版本的 Windows 中使用。
目標平台 Universal
標頭 hidpddi.h (包含 Hidpddi.h)
程式庫 Hidparse.lib
IRQL <= DISPATCH_LEVEL