public static extern HidProtocolStatus GetUsageValue(HidProtocolReportType type, HIDPage usage_page, short link_collection, short usage, ref uint usage_value, [In] byte[] preparsed_data, IntPtr report, int report_length);
public static extern HidProtocolStatus GetSpecificButtonCaps(HidProtocolReportType ReportType, HIDPage UsagePage, ushort LinkCollection, ushort Usage, [Out] HidProtocolButtonCaps[] ButtonCaps, ref ushort ButtonCapsLength, [In] byte[] PreparsedData);
unsafe public static extern HidProtocolStatus GetUsages(HidProtocolReportType type, HIDPage usage_page, short link_collection, short *usage_list, ref int usage_length, [In] byte[] preparsed_data, IntPtr report, int report_length);
public static extern HidProtocolStatus GetButtonCaps(HidProtocolReportType hidProtocolReportType, [Out] HidProtocolButtonCaps[] button_caps, ref ushort p, [In] byte[] preparsed_data);
public static extern HidProtocolStatus GetData(HidProtocolReportType type, [Out] HidProtocolData[] data, ref int data_length, [In] byte[] preparsed_data, IntPtr report, int report_length);
public static extern HidProtocolStatus GetValueCaps(HidProtocolReportType type, [Out] HidProtocolValueCaps[] caps, ref ushort caps_length, [In] byte[] preparsed_data);
public static extern int MaxDataListLength(HidProtocolReportType type, [In] byte[] preparsed_data);
unsafe public static extern HidProtocolStatus GetUsages(HidProtocolReportType type, HIDPage usage_page, short link_collection, short* usage_list, ref int usage_length, [In] byte[] preparsed_data, IntPtr report, int report_length);