6 #define _HIDPI_NO_FUNCTION_MACROS_ 17 #define HID_REPORT_TYPE_ANY 0x07 20 #define ITEM_TYPE_MAIN 0x0 21 #define ITEM_TYPE_GLOBAL 0x1 22 #define ITEM_TYPE_LOCAL 0x2 23 #define ITEM_TYPE_LONG 0x3 25 #define ITEM_TAG_MAIN_INPUT 0x8 26 #define ITEM_TAG_MAIN_OUTPUT 0x9 27 #define ITEM_TAG_MAIN_FEATURE 0xb 28 #define ITEM_TAG_MAIN_COLLECTION 0xa 29 #define ITEM_TAG_MAIN_END_COLLECTION 0xc 31 #define ITEM_TAG_GLOBAL_USAGE_PAGE 0x0 32 #define ITEM_TAG_GLOBAL_LOGICAL_MINIMUM 0x1 33 #define ITEM_TAG_GLOBAL_LOGICAL_MAXIMUM 0x2 34 #define ITEM_TAG_GLOBAL_PHYSICAL_MINIMUM 0x3 35 #define ITEM_TAG_GLOBAL_PHYSICAL_MAXIMUM 0x4 36 #define ITEM_TAG_GLOBAL_UNIT_EXPONENT 0x5 37 #define ITEM_TAG_GLOBAL_UNIT 0x6 38 #define ITEM_TAG_GLOBAL_REPORT_SIZE 0x7 39 #define ITEM_TAG_GLOBAL_REPORT_ID 0x8 40 #define ITEM_TAG_GLOBAL_REPORT_COUNT 0x9 41 #define ITEM_TAG_GLOBAL_PUSH 0xa 42 #define ITEM_TAG_GLOBAL_POP 0xb 44 #define ITEM_TAG_LOCAL_USAGE 0x0 45 #define ITEM_TAG_LOCAL_USAGE_MINIMUM 0x1 46 #define ITEM_TAG_LOCAL_USAGE_MAXIMUM 0x2 47 #define ITEM_TAG_LOCAL_DESIGNATOR_INDEX 0x3 48 #define ITEM_TAG_LOCAL_DESIGNATOR_MINIMUM 0x4 49 #define ITEM_TAG_LOCAL_DESIGNATOR_MAXIMUM 0x5 50 #define ITEM_TAG_LOCAL_STRING_INDEX 0x7 51 #define ITEM_TAG_LOCAL_STRING_MINIMUM 0x8 52 #define ITEM_TAG_LOCAL_STRING_MAXIMUM 0x9 53 #define ITEM_TAG_LOCAL_DELIMITER 0xa 55 #define ITEM_TAG_LONG 0xf 57 #define COLLECTION_PHYSICAL 0x00 58 #define COLLECTION_APPLICATION 0x01 59 #define COLLECTION_LOGICAL 0x02 60 #define COLLECTION_REPORT 0x03 61 #define COLLECTION_NAMED_ARRAY 0x04 62 #define COLLECTION_USAGE_SWITCH 0x05 63 #define COLLECTION_USAGE_MODIFIER 0x06 64 #define COLLECTION_ALL 0xff 66 #define UNIT_SYSTEM 0x0 67 #define UNIT_LENGTH 0x1 70 #define UNIT_TEMPERATURE 0x4 71 #define UNIT_CURRENT 0x5 72 #define UNIT_LUMINOUS_INTENSITY 0x6 74 #define USAGE_PAGE_SHIFT 16 75 #define USAGE_PAGE_MASK 0xffff 76 #define USAGE_ID_SHIFT 0 77 #define USAGE_ID_MASK 0xffff 114 #define LBITFIELD9(b1,b2,b3,b4,b5,b6,b7,b8,b9) USHORT b9,b8,b7,b6,b5,b4,b3,b2,b1 142 struct __GLOBAL_ITEM_STATE__ *
Next;
261 #define HID_REPORT_TYPE_INPUT 0x01 262 #define HID_REPORT_TYPE_OUTPUT 0x02 263 #define HID_REPORT_TYPE_FEATURE 0x04 316 IN ULONG ReportDescriptorLength);
326 IN ULONG ReportDescriptorLength);
336 IN ULONG ReportDescriptorLength);
struct _HID_REPORT * PHID_REPORT
NTSTATUS HidParser_GetSpecificValueCapsWithReport(IN PVOID CollectionContext, IN UCHAR ReportType, IN USHORT UsagePage, IN USHORT Usage, OUT PHIDP_VALUE_CAPS ValueCaps, IN OUT PUSHORT ValueCapsLength)
struct _HID_REPORT HID_REPORT
struct __GLOBAL_ITEM_STATE__ * Next
struct HID_PARSER_CONTEXT * PHID_PARSER_CONTEXT
ULONG UsageStackAllocated
_Must_inspect_result_ _In_ USAGE _In_ USHORT _In_ USAGE Usage
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _In_opt_ PWDF_OBJECT_ATTRIBUTES _In_ WDFCOLLECTION Collection
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_PROPERTY_DATA _In_ DEVPROPTYPE _In_ ULONG _In_opt_ PVOID Data
struct __GLOBAL_ITEM_STATE_ * PGLOBAL_ITEM_STATE
_Must_inspect_result_ _In_ USHORT _Inout_updates_to_ UsageLength PUSAGE_AND_PAGE _Inout_ ULONG * UsageLength
NTSTATUS HidParser_BuildContext(IN PVOID ParserContext, IN ULONG CollectionIndex, IN ULONG ContextSize, OUT PVOID *CollectionContext)
ULONG HidParser_GetReportItemCountFromReportType(IN PVOID CollectionContext, IN UCHAR ReportType)
_Must_inspect_result_ _In_ FLT_CONTEXT_TYPE _In_ SIZE_T ContextSize
_Must_inspect_result_ _In_ USAGE _In_ USHORT _In_ USAGE _Out_ PHIDP_VALUE_CAPS ValueCaps
struct MAIN_ITEM_DATA * PMAIN_ITEM_DATA
ULONG HidParser_GetTotalCollectionCount(IN PVOID CollectionContext)
PHID_COLLECTION RootCollection
struct SHORT_ITEM * PSHORT_ITEM
ULONG HidParser_GetContextSize(IN PVOID ParserContext, IN ULONG CollectionNumber)
union usage_value::@4082 u
struct usage_value * PUSAGE_VALUE
_Must_inspect_result_ _In_ USAGE UsagePage
struct ITEM_PREFIX * PITEM_PREFIX
NTSTATUS HidParser_GetUsageValueWithReport(IN PVOID CollectionContext, IN UCHAR ReportType, IN USAGE UsagePage, IN USAGE Usage, OUT PULONG UsageValue, IN PCHAR ReportDescriptor, IN ULONG ReportDescriptorLength)
struct usage_value USAGE_VALUE
PHID_COLLECTION HidParser_GetCollectionFromContext(IN PVOID Context)
struct __HID_COLLECTION__ HID_COLLECTION
struct __HID_COLLECTION__ ** Nodes
ULONG HidParser_GetMaxUsageListLengthWithReportAndPage(IN PVOID CollectionContext, IN UCHAR ReportType, IN USAGE UsagePage OPTIONAL)
ULONG HidParser_CalculateContextSize(IN PHID_COLLECTION Collection)
NTSTATUS HidParser_BuildCollectionContext(IN PHID_COLLECTION RootCollection, IN PVOID Context, IN ULONG ContextSize)
NTSTATUS HidParser_GetCollectionUsagePage(IN PVOID CollectionContext, OUT PUSHORT Usage, OUT PUSHORT UsagePage)
struct usage_value::@4082::@4083 s
struct HID_REPORT_ITEM * PHID_REPORT_ITEM
NTSTATUS HidParser_GetUsagesWithReport(IN PVOID CollectionContext, IN UCHAR ReportType, IN USAGE UsagePage, OUT USAGE *UsageList, IN OUT PULONG UsageLength, IN PCHAR ReportDescriptor, IN ULONG ReportDescriptorLength)
NTSTATUS HidParser_GetScaledUsageValueWithReport(IN PVOID CollectionContext, IN UCHAR ReportType, IN USAGE UsagePage, IN USAGE Usage, OUT PLONG UsageValue, IN PCHAR ReportDescriptor, IN ULONG ReportDescriptorLength)
PHID_REPORT HidParser_GetReportInCollection(IN PVOID Context, IN UCHAR ReportType)
struct __HID_COLLECTION__ * PHID_COLLECTION
LOCAL_ITEM_STATE LocalItemState
ULONG HidParser_UsesReportId(IN PVOID CollectionContext, IN UCHAR ReportType)
GLOBAL_ITEM_STATE GlobalItemState
struct LONG_ITEM * PLONG_ITEM
struct __HID_COLLECTION__ * Root
struct __GLOBAL_ITEM_STATE_ GLOBAL_ITEM_STATE
ULONG HidParser_NumberOfTopCollections(IN PVOID ParserContext)
ULONG HidParser_GetReportItemTypeCountFromReportType(IN PVOID CollectionContext, IN UCHAR ReportType, IN ULONG bData)
ULONG HidParser_GetReportLength(IN PVOID CollectionContext, IN UCHAR ReportType)
struct LOCAL_ITEM_STATE * PLOCAL_ITEM_STATE
struct _HID_REPORT ** Reports
NTSTATUS HidParser_ParseReportDescriptor(PUCHAR Report, ULONG ReportSize, OUT PVOID *ParserContext)
_Must_inspect_result_ _In_ USAGE _In_ USHORT _In_ USAGE _Out_ PHIDP_VALUE_CAPS _Inout_ PUSHORT ValueCapsLength
PULONG MinorVersion OPTIONAL