Proper UsageId definitions.
2 using System.Runtime.InteropServices;
7 static partial class Function
9 [DllImport("hid.dll", CharSet = CharSet.Unicode)]
10 public static extern HidStatus HidP_GetUsagesEx(HIDP_REPORT_TYPE ReportType, ushort LinkCollection, [Out, MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 3)] USAGE_AND_PAGE[] ButtonList, ref uint UsageLength, IntPtr PreparsedData, [MarshalAs(UnmanagedType.LPArray)] byte[] Report, uint ReportLength);
14 static partial class Macro
21 static partial class Const
28 public enum HIDP_REPORT_TYPE : ushort
36 public enum HidStatus : uint
38 HIDP_STATUS_SUCCESS = 0x110000,
39 HIDP_STATUS_NULL = 0x80110001,
40 HIDP_STATUS_INVALID_PREPARSED_DATA = 0xc0110001,
41 HIDP_STATUS_INVALID_REPORT_TYPE = 0xc0110002,
42 HIDP_STATUS_INVALID_REPORT_LENGTH = 0xc0110003,
43 HIDP_STATUS_USAGE_NOT_FOUND = 0xc0110004,
44 HIDP_STATUS_VALUE_OUT_OF_RANGE = 0xc0110005,
45 HIDP_STATUS_BAD_LOG_PHY_VALUES = 0xc0110006,
46 HIDP_STATUS_BUFFER_TOO_SMALL = 0xc0110007,
47 HIDP_STATUS_INTERNAL_ERROR = 0xc0110008,
48 HIDP_STATUS_I8042_TRANS_UNKNOWN = 0xc0110009,
49 HIDP_STATUS_INCOMPATIBLE_REPORT_ID = 0xc011000a,
50 HIDP_STATUS_NOT_VALUE_ARRAY = 0xc011000b,
51 HIDP_STATUS_IS_VALUE_ARRAY = 0xc011000c,
52 HIDP_STATUS_DATA_INDEX_NOT_FOUND = 0xc011000d,
53 HIDP_STATUS_DATA_INDEX_OUT_OF_RANGE = 0xc011000e,
54 HIDP_STATUS_BUTTON_NOT_PRESSED = 0xc011000f,
55 HIDP_STATUS_REPORT_DOES_NOT_EXIST = 0xc0110010,
56 HIDP_STATUS_NOT_IMPLEMENTED = 0xc0110020,
57 HIDP_STATUS_I8242_TRANS_UNKNOWN = 0xc0110009
61 [StructLayout(LayoutKind.Sequential)]
62 public struct USAGE_AND_PAGE
65 public ushort UsagePage;