Reactos
at master 101 lines 2.8 kB view raw
1#ifndef _HIDPDDI_H 2#define _HIDPDDI_H 3 4#include "hidusage.h" 5#include "hidpi.h" 6 7typedef struct _HIDP_COLLECTION_DESC 8{ 9 USAGE UsagePage; 10 USAGE Usage; 11 UCHAR CollectionNumber; 12 UCHAR Reserved [15]; 13 USHORT InputLength; 14 USHORT OutputLength; 15 USHORT FeatureLength; 16 USHORT PreparsedDataLength; 17 PHIDP_PREPARSED_DATA PreparsedData; 18}HIDP_COLLECTION_DESC, *PHIDP_COLLECTION_DESC; 19 20typedef struct _HIDP_REPORT_IDS 21{ 22 UCHAR ReportID; 23 UCHAR CollectionNumber; 24 USHORT InputLength; 25 USHORT OutputLength; 26 USHORT FeatureLength; 27}HIDP_REPORT_IDS, *PHIDP_REPORT_IDS; 28 29typedef struct _HIDP_GETCOLDESC_DBG 30{ 31 ULONG BreakOffset; 32 ULONG ErrorCode; 33 ULONG Args[6]; 34}HIDP_GETCOLDESC_DBG, *PHIDP_GETCOLDESC_DBG; 35 36typedef struct _HIDP_DEVICE_DESC 37{ 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; 44 45NTSTATUS 46NTAPI 47HidP_GetCollectionDescription( 48 IN PHIDP_REPORT_DESCRIPTOR ReportDesc, 49 IN ULONG DescLength, 50 IN POOL_TYPE PoolType, 51 OUT PHIDP_DEVICE_DESC DeviceDescription 52); 53 54VOID 55NTAPI 56HidP_FreeCollectionDescription ( 57 IN PHIDP_DEVICE_DESC DeviceDescription 58); 59 60NTSTATUS 61NTAPI 62HidP_SysPowerEvent ( 63 IN PCHAR HidPacket, 64 IN USHORT HidPacketLength, 65 IN PHIDP_PREPARSED_DATA Ppd, 66 OUT PULONG OutputBuffer 67); 68 69NTSTATUS 70NTAPI 71HidP_SysPowerCaps ( 72 IN PHIDP_PREPARSED_DATA Ppd, 73 OUT PULONG OutputBuffer 74); 75 76#define HIDP_GETCOLDESC_SUCCESS 0x00 77#define HIDP_GETCOLDESC_RESOURCES 0x01 78#define HIDP_GETCOLDESC_BUFFER 0x02 79#define HIDP_GETCOLDESC_LINK_RESOURCES 0x03 80#define HIDP_GETCOLDESC_UNEXP_END_COL 0x04 81#define HIDP_GETCOLDESC_PREPARSE_RESOURCES 0x05 82#define HIDP_GETCOLDESC_ONE_BYTE 0x06 83#define HIDP_GETCOLDESC_TWO_BYTE 0x07 84#define HIDP_GETCOLDESC_FOUR_BYTE 0x08 85#define HIDP_GETCOLDESC_BYTE_ALLIGN 0x09 86#define HIDP_GETCOLDESC_MAIN_ITEM_NO_USAGE 0x0A 87#define HIDP_GETCOLDESC_TOP_COLLECTION_USAGE 0x0B 88#define HIDP_GETCOLDESC_PUSH_RESOURCES 0x10 89#define HIDP_GETCOLDESC_ITEM_UNKNOWN 0x12 90#define HIDP_GETCOLDESC_REPORT_ID 0x13 91#define HIDP_GETCOLDESC_BAD_REPORT_ID 0x14 92#define HIDP_GETCOLDESC_NO_REPORT_ID 0x15 93#define HIDP_GETCOLDESC_DEFAULT_ID_ERROR 0x16 94#define HIDP_GETCOLDESC_NO_DATA 0x1A 95#define HIDP_GETCOLDESC_INVALID_MAIN_ITEM 0x1B 96#define HIDP_GETCOLDESC_NO_CLOSE_DELIMITER 0x20 97#define HIDP_GETCOLDESC_NOT_VALID_DELIMITER 0x21 98#define HIDP_GETCOLDESC_MISMATCH_OC_DELIMITER 0x22 99#define HIDP_GETCOLDESC_UNSUPPORTED 0x40 100 101#endif