7 typedef struct _HIDP_COLLECTION_DESC
11 UCHAR CollectionNumber
;
16 USHORT PreparsedDataLength
;
17 PHIDP_PREPARSED_DATA PreparsedData
;
18 }HIDP_COLLECTION_DESC
, *PHIDP_COLLECTION_DESC
;
20 typedef struct _HIDP_REPORT_IDS
23 UCHAR CollectionNumber
;
27 }HIDP_REPORT_IDS
, *PHIDP_REPORT_IDS
;
29 typedef struct _HIDP_GETCOLDESC_DBG
34 }HIDP_GETCOLDESC_DBG
, *PHIDP_GETCOLDESC_DBG
;
36 typedef struct _HIDP_DEVICE_DESC
38 PHIDP_COLLECTION_DESC CollectionDesc
;
39 ULONG CollectionDescLength
;
40 PHIDP_REPORT_IDS ReportIDs
;
41 ULONG ReportIDsLength
;
42 HIDP_GETCOLDESC_DBG Dbg
;
43 }HIDP_DEVICE_DESC
, *PHIDP_DEVICE_DESC
;
47 HidP_GetCollectionDescription(
48 IN PHIDP_REPORT_DESCRIPTOR ReportDesc
,
50 IN POOL_TYPE PoolType
,
51 OUT PHIDP_DEVICE_DESC DeviceDescription
55 HidP_FreeCollectionDescription (
56 IN PHIDP_DEVICE_DESC DeviceDescription
62 IN USHORT HidPacketLength
,
63 IN PHIDP_PREPARSED_DATA Ppd
,
64 OUT PULONG OutputBuffer
69 IN PHIDP_PREPARSED_DATA Ppd
,
70 OUT PULONG OutputBuffer
73 #define HIDP_GETCOLDESC_SUCCESS 0x00
74 #define HIDP_GETCOLDESC_RESOURCES 0x01
75 #define HIDP_GETCOLDESC_BUFFER 0x02
76 #define HIDP_GETCOLDESC_LINK_RESOURCES 0x03
77 #define HIDP_GETCOLDESC_UNEXP_END_COL 0x04
78 #define HIDP_GETCOLDESC_PREPARSE_RESOURCES 0x05
79 #define HIDP_GETCOLDESC_ONE_BYTE 0x06
80 #define HIDP_GETCOLDESC_TWO_BYTE 0x07
81 #define HIDP_GETCOLDESC_FOUR_BYTE 0x08
82 #define HIDP_GETCOLDESC_BYTE_ALLIGN 0x09
83 #define HIDP_GETCOLDESC_MAIN_ITEM_NO_USAGE 0x0A
84 #define HIDP_GETCOLDESC_TOP_COLLECTION_USAGE 0x0B
85 #define HIDP_GETCOLDESC_PUSH_RESOURCES 0x10
86 #define HIDP_GETCOLDESC_ITEM_UNKNOWN 0x12
87 #define HIDP_GETCOLDESC_REPORT_ID 0x13
88 #define HIDP_GETCOLDESC_BAD_REPORT_ID 0x14
89 #define HIDP_GETCOLDESC_NO_REPORT_ID 0x15
90 #define HIDP_GETCOLDESC_DEFAULT_ID_ERROR 0x16
91 #define HIDP_GETCOLDESC_NO_DATA 0x1A
92 #define HIDP_GETCOLDESC_INVALID_MAIN_ITEM 0x1B
93 #define HIDP_GETCOLDESC_NO_CLOSE_DELIMITER 0x20
94 #define HIDP_GETCOLDESC_NOT_VALID_DELIMITER 0x21
95 #define HIDP_GETCOLDESC_MISMATCH_OC_DELIMITER 0x22
96 #define HIDP_GETCOLDESC_UNSUPPORTED 0x40