2010-02-21 19:43:09 -05:00
|
|
|
! Copyright (C) 2010 Erik Charlebois.
|
|
|
|
! See http://factorcode.org/license.txt for BSD license.
|
2010-04-11 16:00:54 -04:00
|
|
|
USING: alien alien.c-types alien.libraries alien.syntax
|
|
|
|
classes.struct kernel math windows.types windows.ole32 ;
|
2010-02-21 19:43:09 -05:00
|
|
|
IN: windows.ddk.hid
|
|
|
|
|
2010-03-31 22:29:04 -04:00
|
|
|
<< "hid" "hid.dll" stdcall add-library >>
|
2010-02-21 19:43:09 -05:00
|
|
|
LIBRARY: hid
|
|
|
|
|
|
|
|
TYPEDEF: LONG NTSTATUS
|
|
|
|
TYPEDEF: USHORT USAGE
|
|
|
|
TYPEDEF: USAGE* PUSAGE
|
|
|
|
|
|
|
|
CONSTANT: HID_USAGE_PAGE_UNDEFINED HEX: 00
|
|
|
|
CONSTANT: HID_USAGE_PAGE_GENERIC HEX: 01
|
|
|
|
CONSTANT: HID_USAGE_PAGE_SIMULATION HEX: 02
|
|
|
|
CONSTANT: HID_USAGE_PAGE_VR HEX: 03
|
|
|
|
CONSTANT: HID_USAGE_PAGE_SPORT HEX: 04
|
|
|
|
CONSTANT: HID_USAGE_PAGE_GAME HEX: 05
|
|
|
|
CONSTANT: HID_USAGE_PAGE_KEYBOARD HEX: 07
|
|
|
|
CONSTANT: HID_USAGE_PAGE_LED HEX: 08
|
|
|
|
CONSTANT: HID_USAGE_PAGE_BUTTON HEX: 09
|
|
|
|
CONSTANT: HID_USAGE_PAGE_ORDINAL HEX: 0A
|
|
|
|
CONSTANT: HID_USAGE_PAGE_TELEPHONY HEX: 0B
|
|
|
|
CONSTANT: HID_USAGE_PAGE_CONSUMER HEX: 0C
|
|
|
|
CONSTANT: HID_USAGE_PAGE_DIGITIZER HEX: 0D
|
|
|
|
CONSTANT: HID_USAGE_PAGE_UNICODE HEX: 10
|
|
|
|
CONSTANT: HID_USAGE_PAGE_ALPHANUMERIC HEX: 14
|
|
|
|
|
|
|
|
CONSTANT: HID_USAGE_PAGE_MICROSOFT_BLUETOOTH_HANDSFREE HEX: FFF3
|
|
|
|
|
|
|
|
CONSTANT: HID_USAGE_GENERIC_POINTER HEX: 01
|
|
|
|
CONSTANT: HID_USAGE_GENERIC_MOUSE HEX: 02
|
|
|
|
CONSTANT: HID_USAGE_GENERIC_JOYSTICK HEX: 04
|
|
|
|
CONSTANT: HID_USAGE_GENERIC_GAMEPAD HEX: 05
|
|
|
|
CONSTANT: HID_USAGE_GENERIC_KEYBOARD HEX: 06
|
|
|
|
CONSTANT: HID_USAGE_GENERIC_KEYPAD HEX: 07
|
|
|
|
CONSTANT: HID_USAGE_GENERIC_SYSTEM_CTL HEX: 80
|
|
|
|
|
|
|
|
CONSTANT: HID_USAGE_GENERIC_X HEX: 30
|
|
|
|
CONSTANT: HID_USAGE_GENERIC_Y HEX: 31
|
|
|
|
CONSTANT: HID_USAGE_GENERIC_Z HEX: 32
|
|
|
|
CONSTANT: HID_USAGE_GENERIC_RX HEX: 33
|
|
|
|
CONSTANT: HID_USAGE_GENERIC_RY HEX: 34
|
|
|
|
CONSTANT: HID_USAGE_GENERIC_RZ HEX: 35
|
|
|
|
CONSTANT: HID_USAGE_GENERIC_SLIDER HEX: 36
|
|
|
|
CONSTANT: HID_USAGE_GENERIC_DIAL HEX: 37
|
|
|
|
CONSTANT: HID_USAGE_GENERIC_WHEEL HEX: 38
|
|
|
|
CONSTANT: HID_USAGE_GENERIC_HATSWITCH HEX: 39
|
|
|
|
CONSTANT: HID_USAGE_GENERIC_COUNTED_BUFFER HEX: 3A
|
|
|
|
CONSTANT: HID_USAGE_GENERIC_BYTE_COUNT HEX: 3B
|
|
|
|
CONSTANT: HID_USAGE_GENERIC_MOTION_WAKEUP HEX: 3C
|
|
|
|
CONSTANT: HID_USAGE_GENERIC_VX HEX: 40
|
|
|
|
CONSTANT: HID_USAGE_GENERIC_VY HEX: 41
|
|
|
|
CONSTANT: HID_USAGE_GENERIC_VZ HEX: 42
|
|
|
|
CONSTANT: HID_USAGE_GENERIC_VBRX HEX: 43
|
|
|
|
CONSTANT: HID_USAGE_GENERIC_VBRY HEX: 44
|
|
|
|
CONSTANT: HID_USAGE_GENERIC_VBRZ HEX: 45
|
|
|
|
CONSTANT: HID_USAGE_GENERIC_VNO HEX: 46
|
|
|
|
CONSTANT: HID_USAGE_GENERIC_SYSCTL_POWER HEX: 81
|
|
|
|
CONSTANT: HID_USAGE_GENERIC_SYSCTL_SLEEP HEX: 82
|
|
|
|
CONSTANT: HID_USAGE_GENERIC_SYSCTL_WAKE HEX: 83
|
|
|
|
CONSTANT: HID_USAGE_GENERIC_SYSCTL_CONTEXT_MENU HEX: 84
|
|
|
|
CONSTANT: HID_USAGE_GENERIC_SYSCTL_MAIN_MENU HEX: 85
|
|
|
|
CONSTANT: HID_USAGE_GENERIC_SYSCTL_APP_MENU HEX: 86
|
|
|
|
CONSTANT: HID_USAGE_GENERIC_SYSCTL_HELP_MENU HEX: 87
|
|
|
|
CONSTANT: HID_USAGE_GENERIC_SYSCTL_MENU_EXIT HEX: 88
|
|
|
|
CONSTANT: HID_USAGE_GENERIC_SYSCTL_MENU_SELECT HEX: 89
|
|
|
|
CONSTANT: HID_USAGE_GENERIC_SYSCTL_MENU_RIGHT HEX: 8A
|
|
|
|
CONSTANT: HID_USAGE_GENERIC_SYSCTL_MENU_LEFT HEX: 8B
|
|
|
|
CONSTANT: HID_USAGE_GENERIC_SYSCTL_MENU_UP HEX: 8C
|
|
|
|
CONSTANT: HID_USAGE_GENERIC_SYSCTL_MENU_DOWN HEX: 8D
|
|
|
|
|
|
|
|
CONSTANT: HID_USAGE_SIMULATION_RUDDER HEX: BA
|
|
|
|
CONSTANT: HID_USAGE_SIMULATION_THROTTLE HEX: BB
|
|
|
|
|
|
|
|
CONSTANT: HID_USAGE_KEYBOARD_NOEVENT HEX: 00
|
|
|
|
CONSTANT: HID_USAGE_KEYBOARD_ROLLOVER HEX: 01
|
|
|
|
CONSTANT: HID_USAGE_KEYBOARD_POSTFAIL HEX: 02
|
|
|
|
CONSTANT: HID_USAGE_KEYBOARD_UNDEFINED HEX: 03
|
|
|
|
|
|
|
|
CONSTANT: HID_USAGE_KEYBOARD_aA HEX: 04
|
|
|
|
CONSTANT: HID_USAGE_KEYBOARD_zZ HEX: 1D
|
|
|
|
CONSTANT: HID_USAGE_KEYBOARD_ONE HEX: 1E
|
|
|
|
CONSTANT: HID_USAGE_KEYBOARD_ZERO HEX: 27
|
|
|
|
CONSTANT: HID_USAGE_KEYBOARD_LCTRL HEX: E0
|
|
|
|
CONSTANT: HID_USAGE_KEYBOARD_LSHFT HEX: E1
|
|
|
|
CONSTANT: HID_USAGE_KEYBOARD_LALT HEX: E2
|
|
|
|
CONSTANT: HID_USAGE_KEYBOARD_LGUI HEX: E3
|
|
|
|
CONSTANT: HID_USAGE_KEYBOARD_RCTRL HEX: E4
|
|
|
|
CONSTANT: HID_USAGE_KEYBOARD_RSHFT HEX: E5
|
|
|
|
CONSTANT: HID_USAGE_KEYBOARD_RALT HEX: E6
|
|
|
|
CONSTANT: HID_USAGE_KEYBOARD_RGUI HEX: E7
|
|
|
|
CONSTANT: HID_USAGE_KEYBOARD_SCROLL_LOCK HEX: 47
|
|
|
|
CONSTANT: HID_USAGE_KEYBOARD_NUM_LOCK HEX: 53
|
|
|
|
CONSTANT: HID_USAGE_KEYBOARD_CAPS_LOCK HEX: 39
|
|
|
|
CONSTANT: HID_USAGE_KEYBOARD_F1 HEX: 3A
|
|
|
|
CONSTANT: HID_USAGE_KEYBOARD_F12 HEX: 45
|
|
|
|
CONSTANT: HID_USAGE_KEYBOARD_RETURN HEX: 28
|
|
|
|
CONSTANT: HID_USAGE_KEYBOARD_ESCAPE HEX: 29
|
|
|
|
CONSTANT: HID_USAGE_KEYBOARD_DELETE HEX: 2A
|
|
|
|
CONSTANT: HID_USAGE_KEYBOARD_PRINT_SCREEN HEX: 46
|
|
|
|
|
|
|
|
CONSTANT: HID_USAGE_LED_NUM_LOCK HEX: 01
|
|
|
|
CONSTANT: HID_USAGE_LED_CAPS_LOCK HEX: 02
|
|
|
|
CONSTANT: HID_USAGE_LED_SCROLL_LOCK HEX: 03
|
|
|
|
CONSTANT: HID_USAGE_LED_COMPOSE HEX: 04
|
|
|
|
CONSTANT: HID_USAGE_LED_KANA HEX: 05
|
|
|
|
CONSTANT: HID_USAGE_LED_POWER HEX: 06
|
|
|
|
CONSTANT: HID_USAGE_LED_SHIFT HEX: 07
|
|
|
|
CONSTANT: HID_USAGE_LED_DO_NOT_DISTURB HEX: 08
|
|
|
|
CONSTANT: HID_USAGE_LED_MUTE HEX: 09
|
|
|
|
CONSTANT: HID_USAGE_LED_TONE_ENABLE HEX: 0A
|
|
|
|
CONSTANT: HID_USAGE_LED_HIGH_CUT_FILTER HEX: 0B
|
|
|
|
CONSTANT: HID_USAGE_LED_LOW_CUT_FILTER HEX: 0C
|
|
|
|
CONSTANT: HID_USAGE_LED_EQUALIZER_ENABLE HEX: 0D
|
|
|
|
CONSTANT: HID_USAGE_LED_SOUND_FIELD_ON HEX: 0E
|
|
|
|
CONSTANT: HID_USAGE_LED_SURROUND_FIELD_ON HEX: 0F
|
|
|
|
CONSTANT: HID_USAGE_LED_REPEAT HEX: 10
|
|
|
|
CONSTANT: HID_USAGE_LED_STEREO HEX: 11
|
|
|
|
CONSTANT: HID_USAGE_LED_SAMPLING_RATE_DETECT HEX: 12
|
|
|
|
CONSTANT: HID_USAGE_LED_SPINNING HEX: 13
|
|
|
|
CONSTANT: HID_USAGE_LED_CAV HEX: 14
|
|
|
|
CONSTANT: HID_USAGE_LED_CLV HEX: 15
|
|
|
|
CONSTANT: HID_USAGE_LED_RECORDING_FORMAT_DET HEX: 16
|
|
|
|
CONSTANT: HID_USAGE_LED_OFF_HOOK HEX: 17
|
|
|
|
CONSTANT: HID_USAGE_LED_RING HEX: 18
|
|
|
|
CONSTANT: HID_USAGE_LED_MESSAGE_WAITING HEX: 19
|
|
|
|
CONSTANT: HID_USAGE_LED_DATA_MODE HEX: 1A
|
|
|
|
CONSTANT: HID_USAGE_LED_BATTERY_OPERATION HEX: 1B
|
|
|
|
CONSTANT: HID_USAGE_LED_BATTERY_OK HEX: 1C
|
|
|
|
CONSTANT: HID_USAGE_LED_BATTERY_LOW HEX: 1D
|
|
|
|
CONSTANT: HID_USAGE_LED_SPEAKER HEX: 1E
|
|
|
|
CONSTANT: HID_USAGE_LED_HEAD_SET HEX: 1F
|
|
|
|
CONSTANT: HID_USAGE_LED_HOLD HEX: 20
|
|
|
|
CONSTANT: HID_USAGE_LED_MICROPHONE HEX: 21
|
|
|
|
CONSTANT: HID_USAGE_LED_COVERAGE HEX: 22
|
|
|
|
CONSTANT: HID_USAGE_LED_NIGHT_MODE HEX: 23
|
|
|
|
CONSTANT: HID_USAGE_LED_SEND_CALLS HEX: 24
|
|
|
|
CONSTANT: HID_USAGE_LED_CALL_PICKUP HEX: 25
|
|
|
|
CONSTANT: HID_USAGE_LED_CONFERENCE HEX: 26
|
|
|
|
CONSTANT: HID_USAGE_LED_STAND_BY HEX: 27
|
|
|
|
CONSTANT: HID_USAGE_LED_CAMERA_ON HEX: 28
|
|
|
|
CONSTANT: HID_USAGE_LED_CAMERA_OFF HEX: 29
|
|
|
|
CONSTANT: HID_USAGE_LED_ON_LINE HEX: 2A
|
|
|
|
CONSTANT: HID_USAGE_LED_OFF_LINE HEX: 2B
|
|
|
|
CONSTANT: HID_USAGE_LED_BUSY HEX: 2C
|
|
|
|
CONSTANT: HID_USAGE_LED_READY HEX: 2D
|
|
|
|
CONSTANT: HID_USAGE_LED_PAPER_OUT HEX: 2E
|
|
|
|
CONSTANT: HID_USAGE_LED_PAPER_JAM HEX: 2F
|
|
|
|
CONSTANT: HID_USAGE_LED_REMOTE HEX: 30
|
|
|
|
CONSTANT: HID_USAGE_LED_FORWARD HEX: 31
|
|
|
|
CONSTANT: HID_USAGE_LED_REVERSE HEX: 32
|
|
|
|
CONSTANT: HID_USAGE_LED_STOP HEX: 33
|
|
|
|
CONSTANT: HID_USAGE_LED_REWIND HEX: 34
|
|
|
|
CONSTANT: HID_USAGE_LED_FAST_FORWARD HEX: 35
|
|
|
|
CONSTANT: HID_USAGE_LED_PLAY HEX: 36
|
|
|
|
CONSTANT: HID_USAGE_LED_PAUSE HEX: 37
|
|
|
|
CONSTANT: HID_USAGE_LED_RECORD HEX: 38
|
|
|
|
CONSTANT: HID_USAGE_LED_ERROR HEX: 39
|
|
|
|
CONSTANT: HID_USAGE_LED_SELECTED_INDICATOR HEX: 3A
|
|
|
|
CONSTANT: HID_USAGE_LED_IN_USE_INDICATOR HEX: 3B
|
|
|
|
CONSTANT: HID_USAGE_LED_MULTI_MODE_INDICATOR HEX: 3C
|
|
|
|
CONSTANT: HID_USAGE_LED_INDICATOR_ON HEX: 3D
|
|
|
|
CONSTANT: HID_USAGE_LED_INDICATOR_FLASH HEX: 3E
|
|
|
|
CONSTANT: HID_USAGE_LED_INDICATOR_SLOW_BLINK HEX: 3F
|
|
|
|
CONSTANT: HID_USAGE_LED_INDICATOR_FAST_BLINK HEX: 40
|
|
|
|
CONSTANT: HID_USAGE_LED_INDICATOR_OFF HEX: 41
|
|
|
|
CONSTANT: HID_USAGE_LED_FLASH_ON_TIME HEX: 42
|
|
|
|
CONSTANT: HID_USAGE_LED_SLOW_BLINK_ON_TIME HEX: 43
|
|
|
|
CONSTANT: HID_USAGE_LED_SLOW_BLINK_OFF_TIME HEX: 44
|
|
|
|
CONSTANT: HID_USAGE_LED_FAST_BLINK_ON_TIME HEX: 45
|
|
|
|
CONSTANT: HID_USAGE_LED_FAST_BLINK_OFF_TIME HEX: 46
|
|
|
|
CONSTANT: HID_USAGE_LED_INDICATOR_COLOR HEX: 47
|
|
|
|
CONSTANT: HID_USAGE_LED_RED HEX: 48
|
|
|
|
CONSTANT: HID_USAGE_LED_GREEN HEX: 49
|
|
|
|
CONSTANT: HID_USAGE_LED_AMBER HEX: 4A
|
|
|
|
CONSTANT: HID_USAGE_LED_GENERIC_INDICATOR HEX: 4B
|
|
|
|
|
|
|
|
CONSTANT: HID_USAGE_TELEPHONY_PHONE HEX: 01
|
|
|
|
CONSTANT: HID_USAGE_TELEPHONY_ANSWERING_MACHINE HEX: 02
|
|
|
|
CONSTANT: HID_USAGE_TELEPHONY_MESSAGE_CONTROLS HEX: 03
|
|
|
|
CONSTANT: HID_USAGE_TELEPHONY_HANDSET HEX: 04
|
|
|
|
CONSTANT: HID_USAGE_TELEPHONY_HEADSET HEX: 05
|
|
|
|
CONSTANT: HID_USAGE_TELEPHONY_KEYPAD HEX: 06
|
|
|
|
CONSTANT: HID_USAGE_TELEPHONY_PROGRAMMABLE_BUTTON HEX: 07
|
|
|
|
CONSTANT: HID_USAGE_TELEPHONY_REDIAL HEX: 24
|
|
|
|
CONSTANT: HID_USAGE_TELEPHONY_TRANSFER HEX: 25
|
|
|
|
CONSTANT: HID_USAGE_TELEPHONY_DROP HEX: 26
|
|
|
|
CONSTANT: HID_USAGE_TELEPHONY_LINE HEX: 2A
|
|
|
|
CONSTANT: HID_USAGE_TELEPHONY_RING_ENABLE HEX: 2D
|
|
|
|
CONSTANT: HID_USAGE_TELEPHONY_SEND HEX: 31
|
|
|
|
CONSTANT: HID_USAGE_TELEPHONY_KEYPAD_0 HEX: B0
|
|
|
|
CONSTANT: HID_USAGE_TELEPHONY_KEYPAD_D HEX: BF
|
|
|
|
CONSTANT: HID_USAGE_TELEPHONY_HOST_AVAILABLE HEX: F1
|
|
|
|
|
|
|
|
CONSTANT: HID_USAGE_MS_BTH_HF_DIALNUMBER HEX: 21
|
|
|
|
CONSTANT: HID_USAGE_MS_BTH_HF_DIALMEMORY HEX: 22
|
|
|
|
|
|
|
|
CONSTANT: HID_USAGE_CONSUMERCTRL HEX: 01
|
|
|
|
CONSTANT: HID_USAGE_DIGITIZER_PEN HEX: 02
|
|
|
|
CONSTANT: HID_USAGE_DIGITIZER_IN_RANGE HEX: 32
|
|
|
|
CONSTANT: HID_USAGE_DIGITIZER_TIP_SWITCH HEX: 42
|
|
|
|
CONSTANT: HID_USAGE_DIGITIZER_BARREL_SWITCH HEX: 44
|
|
|
|
|
|
|
|
CONSTANT: HIDP_LINK_COLLECTION_ROOT -1
|
|
|
|
CONSTANT: HIDP_LINK_COLLECTION_UNSPECIFIED 0
|
|
|
|
|
2010-04-10 03:12:59 -04:00
|
|
|
C-ENUM: HIDP_REPORT_TYPE
|
2010-02-21 19:43:09 -05:00
|
|
|
HidP_Input
|
|
|
|
HidP_Output
|
|
|
|
HidP_Feature ;
|
|
|
|
|
|
|
|
STRUCT: USAGE_AND_PAGE
|
|
|
|
{ Usage USAGE }
|
|
|
|
{ UsagePage USAGE } ;
|
|
|
|
TYPEDEF: USAGE_AND_PAGE* PUSAGE_AND_PAGE
|
|
|
|
|
|
|
|
: HidP_IsSameUsageAndPage ( u1 u2 -- ? ) = ; inline
|
|
|
|
|
|
|
|
STRUCT: HIDP_BUTTONS_CAPS_range
|
|
|
|
{ UsageMin USAGE }
|
|
|
|
{ UsageMax USAGE }
|
|
|
|
{ StringMin USHORT }
|
|
|
|
{ StringMax USHORT }
|
|
|
|
{ DesignatorMin USHORT }
|
|
|
|
{ DesignatorMax USHORT }
|
|
|
|
{ DataIndexMin USHORT }
|
|
|
|
{ DataIndexMax USHORT } ;
|
|
|
|
|
|
|
|
STRUCT: HIDP_BUTTONS_CAPS_not_range
|
|
|
|
{ Usage USAGE }
|
|
|
|
{ Reserved1 USAGE }
|
|
|
|
{ StringIndex USHORT }
|
|
|
|
{ Reserved2 USHORT }
|
|
|
|
{ DesignatorIndex USHORT }
|
|
|
|
{ Reserved3 USHORT }
|
|
|
|
{ DataIndex USHORT }
|
|
|
|
{ Reserved4 USHORT } ;
|
|
|
|
|
|
|
|
UNION-STRUCT: HIDP_BUTTONS_CAPS_union
|
|
|
|
{ Range HIDP_BUTTONS_CAPS_range }
|
|
|
|
{ NotRange HIDP_BUTTONS_CAPS_not_range } ;
|
|
|
|
|
|
|
|
STRUCT: HIDP_BUTTON_CAPS
|
|
|
|
{ UsagePage USAGE }
|
|
|
|
{ ReportID UCHAR }
|
|
|
|
{ IsAlias BOOLEAN }
|
|
|
|
{ BitField USHORT }
|
|
|
|
{ LinkCollection USHORT }
|
|
|
|
{ LinkUsage USAGE }
|
|
|
|
{ LinkUsagePage USAGE }
|
|
|
|
{ IsRange BOOLEAN }
|
|
|
|
{ IsStringRange BOOLEAN }
|
|
|
|
{ IsDesignatorRange BOOLEAN }
|
|
|
|
{ IsAbsolute BOOLEAN }
|
|
|
|
{ Reserved ULONG[10] }
|
|
|
|
{ Union HIDP_BUTTONS_CAPS_union } ;
|
|
|
|
TYPEDEF: HIDP_BUTTON_CAPS* PHIDP_BUTTON_CAPS
|
|
|
|
|
|
|
|
STRUCT: HIDP_VALUE_CAPS_range
|
|
|
|
{ UsageMin USAGE }
|
|
|
|
{ UsageMax USAGE }
|
|
|
|
{ StringMin USHORT }
|
|
|
|
{ StringMax USHORT }
|
|
|
|
{ DesignatorMin USHORT }
|
|
|
|
{ DesignatorMax USHORT }
|
|
|
|
{ DataIndexMin USHORT }
|
|
|
|
{ DataIndexMax USHORT } ;
|
|
|
|
|
|
|
|
STRUCT: HIDP_VALUE_CAPS_not_range
|
|
|
|
{ Usage USAGE }
|
|
|
|
{ Reserved1 USAGE }
|
|
|
|
{ StringIndex USHORT }
|
|
|
|
{ Reserved2 USHORT }
|
|
|
|
{ DesignatorIndex USHORT }
|
|
|
|
{ Reserved3 USHORT }
|
|
|
|
{ DataIndex USHORT }
|
|
|
|
{ Reserved4 USHORT } ;
|
|
|
|
|
|
|
|
UNION-STRUCT: HIDP_VALUE_CAPS_union
|
|
|
|
{ Range HIDP_VALUE_CAPS_range }
|
|
|
|
{ NotRange HIDP_VALUE_CAPS_not_range } ;
|
|
|
|
|
|
|
|
STRUCT: HIDP_VALUE_CAPS
|
|
|
|
{ UsagePage USAGE }
|
|
|
|
{ ReportID UCHAR }
|
|
|
|
{ IsAlias BOOLEAN }
|
|
|
|
{ BitField USHORT }
|
|
|
|
{ LinkCollection USHORT }
|
|
|
|
{ LinkUsage USAGE }
|
|
|
|
{ LinkUsagePage USAGE }
|
|
|
|
{ IsRange BOOLEAN }
|
|
|
|
{ IsStringRange BOOLEAN }
|
|
|
|
{ IsDesignatorRange BOOLEAN }
|
|
|
|
{ IsAbsolute BOOLEAN }
|
|
|
|
{ HasNull BOOLEAN }
|
|
|
|
{ Reserved UCHAR }
|
|
|
|
{ BitSize USHORT }
|
|
|
|
{ ReportCount USHORT }
|
|
|
|
{ Reserved2 USHORT[5] }
|
|
|
|
{ UnitsExp ULONG }
|
|
|
|
{ Units ULONG }
|
|
|
|
{ LogicalMin LONG }
|
|
|
|
{ LogicalMax LONG }
|
|
|
|
{ PhysicalMin LONG }
|
|
|
|
{ PhysicalMax LONG }
|
|
|
|
{ Union HIDP_VALUE_CAPS_union } ;
|
|
|
|
TYPEDEF: HIDP_VALUE_CAPS* PHIDP_VALUE_CAPS
|
|
|
|
|
|
|
|
STRUCT: HIDP_LINK_COLLECTION_NODE
|
|
|
|
{ LinkUsage USAGE }
|
|
|
|
{ LinkUsagePage USAGE }
|
|
|
|
{ Parent USHORT }
|
|
|
|
{ NumberOfChildren USHORT }
|
|
|
|
{ NextSibling USHORT }
|
|
|
|
{ FirstChild USHORT }
|
|
|
|
{ CollectionTypeIsAliasBitfield ULONG }
|
|
|
|
{ UserContext PVOID } ;
|
|
|
|
TYPEDEF: HIDP_LINK_COLLECTION_NODE* PHIDP_LINK_COLLECTION_NODE
|
|
|
|
|
|
|
|
TYPEDEF: PUCHAR PHIDP_REPORT_DESCRIPTOR
|
|
|
|
C-TYPE: HIDP_PREPARSED_DATA
|
|
|
|
TYPEDEF: HIDP_PREPARSED_DATA* PHIDP_PREPARSED_DATA
|
|
|
|
|
|
|
|
STRUCT: HIDP_CAPS
|
|
|
|
{ Usage USAGE }
|
|
|
|
{ UsagePage USAGE }
|
|
|
|
{ InputReportByteLength USHORT }
|
|
|
|
{ OutputReportByteLength USHORT }
|
|
|
|
{ FeatureReportByteLength USHORT }
|
|
|
|
{ Reserved USHORT[17] }
|
|
|
|
{ NumberLinkCollectionNodes USHORT }
|
|
|
|
{ NumberInputButtonCaps USHORT }
|
|
|
|
{ NumberInputValueCaps USHORT }
|
|
|
|
{ NumberInputDataIndices USHORT }
|
|
|
|
{ NumberOutputButtonCaps USHORT }
|
|
|
|
{ NumberOutputValueCaps USHORT }
|
|
|
|
{ NumberOutputDataIndices USHORT }
|
|
|
|
{ NumberFeatureButtonCaps USHORT }
|
|
|
|
{ NumberFeatureValueCaps USHORT }
|
|
|
|
{ NumberFeatureDataIndices USHORT } ;
|
|
|
|
TYPEDEF: HIDP_CAPS* PHIDP_CAPS
|
|
|
|
|
|
|
|
STRUCT: HIDP_DATA
|
|
|
|
{ DataIndex USHORT }
|
|
|
|
{ Reserved USHORT }
|
|
|
|
{ RawValue ULONG } ;
|
|
|
|
TYPEDEF: HIDP_DATA* PHIDP_DATA
|
|
|
|
|
|
|
|
STRUCT: HIDP_UNKNOWN_TOKEN
|
|
|
|
{ Token UCHAR }
|
|
|
|
{ Reserved UCHAR[3] }
|
|
|
|
{ BitField ULONG } ;
|
|
|
|
TYPEDEF: HIDP_UNKNOWN_TOKEN* PHIDP_UNKNOWN_TOKEN
|
|
|
|
|
|
|
|
STRUCT: HIDP_EXTENDED_ATTRIBUTES
|
|
|
|
{ NumGlobalUnknowns UCHAR }
|
|
|
|
{ Reserved UCHAR[3] }
|
|
|
|
{ GlobalUnknowns PHIDP_UNKNOWN_TOKEN }
|
|
|
|
{ Data ULONG[1] } ;
|
|
|
|
TYPEDEF: HIDP_EXTENDED_ATTRIBUTES* PHIDP_EXTENDED_ATTRIBUTES
|
|
|
|
|
|
|
|
FUNCTION: NTSTATUS
|
|
|
|
HidP_GetCaps (
|
|
|
|
PHIDP_PREPARSED_DATA PreparsedData,
|
|
|
|
PHIDP_CAPS Capabilities
|
|
|
|
) ;
|
|
|
|
|
|
|
|
FUNCTION: NTSTATUS
|
|
|
|
HidP_GetLinkCollectionNodes (
|
|
|
|
PHIDP_LINK_COLLECTION_NODE LinkCollectionNodes,
|
|
|
|
PULONG LinkCollectionNodesLength,
|
|
|
|
PHIDP_PREPARSED_DATA PreparsedData
|
|
|
|
) ;
|
|
|
|
|
|
|
|
FUNCTION: NTSTATUS
|
|
|
|
HidP_GetSpecificButtonCaps (
|
|
|
|
HIDP_REPORT_TYPE ReportType,
|
|
|
|
USAGE UsagePage,
|
|
|
|
USHORT LinkCollection,
|
|
|
|
USAGE Usage,
|
|
|
|
PHIDP_BUTTON_CAPS ButtonCaps,
|
|
|
|
PUSHORT ButtonCapsLength,
|
|
|
|
PHIDP_PREPARSED_DATA PreparsedData
|
|
|
|
) ;
|
|
|
|
|
|
|
|
FUNCTION: NTSTATUS
|
|
|
|
HidP_GetButtonCaps (
|
|
|
|
HIDP_REPORT_TYPE ReportType,
|
|
|
|
PHIDP_BUTTON_CAPS ButtonCaps,
|
|
|
|
PUSHORT ButtonCapsLength,
|
|
|
|
PHIDP_PREPARSED_DATA PreparsedData
|
|
|
|
) ;
|
|
|
|
|
|
|
|
FUNCTION: NTSTATUS
|
|
|
|
HidP_GetSpecificValueCaps (
|
|
|
|
HIDP_REPORT_TYPE ReportType,
|
|
|
|
USAGE UsagePage,
|
|
|
|
USHORT LinkCollection,
|
|
|
|
USAGE Usage,
|
|
|
|
PHIDP_VALUE_CAPS ValueCaps,
|
|
|
|
PUSHORT ValueCapsLength,
|
|
|
|
PHIDP_PREPARSED_DATA PreparsedData
|
|
|
|
) ;
|
|
|
|
|
|
|
|
FUNCTION: NTSTATUS
|
|
|
|
HidP_GetValueCaps (
|
|
|
|
HIDP_REPORT_TYPE ReportType,
|
|
|
|
PHIDP_VALUE_CAPS ValueCaps,
|
|
|
|
PUSHORT ValueCapsLength,
|
|
|
|
PHIDP_PREPARSED_DATA PreparsedData
|
|
|
|
) ;
|
|
|
|
|
|
|
|
FUNCTION: NTSTATUS
|
|
|
|
HidP_GetExtendedAttributes (
|
|
|
|
HIDP_REPORT_TYPE ReportType,
|
|
|
|
USHORT DataIndex,
|
|
|
|
PHIDP_PREPARSED_DATA PreparsedData,
|
|
|
|
PHIDP_EXTENDED_ATTRIBUTES Attributes,
|
|
|
|
PULONG LengthAttributes
|
|
|
|
) ;
|
|
|
|
|
|
|
|
FUNCTION: NTSTATUS
|
|
|
|
HidP_InitializeReportForID (
|
|
|
|
HIDP_REPORT_TYPE ReportType,
|
|
|
|
UCHAR ReportID,
|
|
|
|
PHIDP_PREPARSED_DATA PreparsedData,
|
|
|
|
PCHAR Report,
|
|
|
|
ULONG ReportLength
|
|
|
|
) ;
|
|
|
|
|
|
|
|
FUNCTION: NTSTATUS
|
|
|
|
HidP_SetData (
|
|
|
|
HIDP_REPORT_TYPE ReportType,
|
|
|
|
PHIDP_DATA DataList,
|
|
|
|
PULONG DataLength,
|
|
|
|
PHIDP_PREPARSED_DATA PreparsedData,
|
|
|
|
PCHAR Report,
|
|
|
|
ULONG ReportLength
|
|
|
|
) ;
|
|
|
|
|
|
|
|
FUNCTION: NTSTATUS
|
|
|
|
HidP_GetData (
|
|
|
|
HIDP_REPORT_TYPE ReportType,
|
|
|
|
PHIDP_DATA DataList,
|
|
|
|
PULONG DataLength,
|
|
|
|
PHIDP_PREPARSED_DATA PreparsedData,
|
|
|
|
PCHAR Report,
|
|
|
|
ULONG ReportLength
|
|
|
|
) ;
|
|
|
|
|
|
|
|
FUNCTION: ULONG
|
|
|
|
HidP_MaxDataListLength (
|
|
|
|
HIDP_REPORT_TYPE ReportType,
|
|
|
|
PHIDP_PREPARSED_DATA PreparsedData
|
|
|
|
) ;
|
|
|
|
|
|
|
|
FUNCTION: NTSTATUS
|
|
|
|
HidP_SetUsages (
|
|
|
|
HIDP_REPORT_TYPE ReportType,
|
|
|
|
USAGE UsagePage,
|
|
|
|
USHORT LinkCollection,
|
|
|
|
PUSAGE UsageList,
|
|
|
|
PULONG UsageLength,
|
|
|
|
PHIDP_PREPARSED_DATA PreparsedData,
|
|
|
|
PCHAR Report,
|
|
|
|
ULONG ReportLength
|
|
|
|
) ;
|
|
|
|
ALIAS: HidP_SetButtons HidP_SetUsages
|
|
|
|
|
|
|
|
FUNCTION: NTSTATUS
|
|
|
|
HidP_UnsetUsages (
|
|
|
|
HIDP_REPORT_TYPE ReportType,
|
|
|
|
USAGE UsagePage,
|
|
|
|
USHORT LinkCollection,
|
|
|
|
PUSAGE UsageList,
|
|
|
|
PULONG UsageLength,
|
|
|
|
PHIDP_PREPARSED_DATA PreparsedData,
|
|
|
|
PCHAR Report,
|
|
|
|
ULONG ReportLength
|
|
|
|
) ;
|
|
|
|
ALIAS: HidP_UnsetButtons HidP_UnsetUsages
|
|
|
|
|
|
|
|
FUNCTION: NTSTATUS
|
|
|
|
HidP_GetUsages (
|
|
|
|
HIDP_REPORT_TYPE ReportType,
|
|
|
|
USAGE UsagePage,
|
|
|
|
USHORT LinkCollection,
|
|
|
|
PUSAGE UsageList,
|
|
|
|
PULONG UsageLength,
|
|
|
|
PHIDP_PREPARSED_DATA PreparsedData,
|
|
|
|
PCHAR Report,
|
|
|
|
ULONG ReportLength
|
|
|
|
) ;
|
|
|
|
ALIAS: HidP_GetButtons HidP_GetUsages
|
|
|
|
|
|
|
|
FUNCTION: NTSTATUS
|
|
|
|
HidP_GetUsagesEx (
|
|
|
|
HIDP_REPORT_TYPE ReportType,
|
|
|
|
USHORT LinkCollection,
|
|
|
|
PUSAGE_AND_PAGE ButtonList,
|
|
|
|
ULONG* UsageLength,
|
|
|
|
PHIDP_PREPARSED_DATA PreparsedData,
|
|
|
|
PCHAR Report,
|
|
|
|
ULONG ReportLength
|
|
|
|
) ;
|
|
|
|
ALIAS: HidP_GetButtonsEx HidP_GetUsagesEx
|
|
|
|
|
|
|
|
FUNCTION: ULONG
|
|
|
|
HidP_MaxUsageListLength (
|
|
|
|
HIDP_REPORT_TYPE ReportType,
|
|
|
|
USAGE UsagePage,
|
|
|
|
PHIDP_PREPARSED_DATA PreparsedData
|
|
|
|
) ;
|
|
|
|
|
|
|
|
FUNCTION: NTSTATUS
|
|
|
|
HidP_SetUsageValue (
|
|
|
|
HIDP_REPORT_TYPE ReportType,
|
|
|
|
USAGE UsagePage,
|
|
|
|
USHORT LinkCollection,
|
|
|
|
USAGE Usage,
|
|
|
|
ULONG UsageValue,
|
|
|
|
PHIDP_PREPARSED_DATA PreparsedData,
|
|
|
|
PCHAR Report,
|
|
|
|
ULONG ReportLength
|
|
|
|
) ;
|
|
|
|
|
|
|
|
FUNCTION: NTSTATUS
|
|
|
|
HidP_SetScaledUsageValue (
|
|
|
|
HIDP_REPORT_TYPE ReportType,
|
|
|
|
USAGE UsagePage,
|
|
|
|
USHORT LinkCollection,
|
|
|
|
USAGE Usage,
|
|
|
|
LONG UsageValue,
|
|
|
|
PHIDP_PREPARSED_DATA PreparsedData,
|
|
|
|
PCHAR Report,
|
|
|
|
ULONG ReportLength
|
|
|
|
) ;
|
|
|
|
|
|
|
|
FUNCTION: NTSTATUS
|
|
|
|
HidP_SetUsageValueArray (
|
|
|
|
HIDP_REPORT_TYPE ReportType,
|
|
|
|
USAGE UsagePage,
|
|
|
|
USHORT LinkCollection,
|
|
|
|
USAGE Usage,
|
|
|
|
PCHAR UsageValue,
|
|
|
|
USHORT UsageValueByteLength,
|
|
|
|
PHIDP_PREPARSED_DATA PreparsedData,
|
|
|
|
PCHAR Report,
|
|
|
|
ULONG ReportLength
|
|
|
|
) ;
|
|
|
|
|
|
|
|
|
|
|
|
FUNCTION: NTSTATUS
|
|
|
|
HidP_GetUsageValue (
|
|
|
|
HIDP_REPORT_TYPE ReportType,
|
|
|
|
USAGE UsagePage,
|
|
|
|
USHORT LinkCollection,
|
|
|
|
USAGE Usage,
|
|
|
|
PULONG UsageValue,
|
|
|
|
PHIDP_PREPARSED_DATA PreparsedData,
|
|
|
|
PCHAR Report,
|
|
|
|
ULONG ReportLength
|
|
|
|
) ;
|
|
|
|
|
|
|
|
FUNCTION: NTSTATUS
|
|
|
|
HidP_GetScaledUsageValue (
|
|
|
|
HIDP_REPORT_TYPE ReportType,
|
|
|
|
USAGE UsagePage,
|
|
|
|
USHORT LinkCollection,
|
|
|
|
USAGE Usage,
|
|
|
|
PLONG UsageValue,
|
|
|
|
PHIDP_PREPARSED_DATA PreparsedData,
|
|
|
|
PCHAR Report,
|
|
|
|
ULONG ReportLength
|
|
|
|
) ;
|
|
|
|
|
|
|
|
FUNCTION: NTSTATUS
|
|
|
|
HidP_GetUsageValueArray (
|
|
|
|
HIDP_REPORT_TYPE ReportType,
|
|
|
|
USAGE UsagePage,
|
|
|
|
USHORT LinkCollection,
|
|
|
|
USAGE Usage,
|
|
|
|
PCHAR UsageValue,
|
|
|
|
USHORT UsageValueByteLength,
|
|
|
|
PHIDP_PREPARSED_DATA PreparsedData,
|
|
|
|
PCHAR Report,
|
|
|
|
ULONG ReportLength
|
|
|
|
) ;
|
|
|
|
|
|
|
|
FUNCTION: NTSTATUS
|
|
|
|
HidP_UsageListDifference (
|
|
|
|
PUSAGE PreviousUsageList,
|
|
|
|
PUSAGE CurrentUsageList,
|
|
|
|
PUSAGE BreakUsageList,
|
|
|
|
PUSAGE MakeUsageList,
|
|
|
|
ULONG UsageListLength
|
|
|
|
) ;
|
|
|
|
|
|
|
|
FUNCTION: NTSTATUS
|
|
|
|
HidP_UsageAndPageListDifference (
|
|
|
|
PUSAGE_AND_PAGE PreviousUsageList,
|
|
|
|
PUSAGE_AND_PAGE CurrentUsageList,
|
|
|
|
PUSAGE_AND_PAGE BreakUsageList,
|
|
|
|
PUSAGE_AND_PAGE MakeUsageList,
|
|
|
|
ULONG UsageListLength
|
|
|
|
) ;
|
|
|
|
|
2010-04-10 03:12:59 -04:00
|
|
|
C-ENUM: HIDP_KEYBOARD_DIRECTION
|
2010-02-21 19:43:09 -05:00
|
|
|
HidP_Keyboard_Break
|
|
|
|
HidP_Keyboard_Make ;
|
|
|
|
|
|
|
|
STRUCT: HIDP_KEYBOARD_MODIFIER_STATE
|
|
|
|
{ ul ULONG } ;
|
|
|
|
TYPEDEF: HIDP_KEYBOARD_MODIFIER_STATE* PHIDP_KEYBOARD_MODIFIER_STATE
|
|
|
|
|
|
|
|
CALLBACK: BOOLEAN PHIDP_INSERT_SCANCODES (
|
|
|
|
PVOID Context,
|
|
|
|
PCHAR NewScanCodes,
|
|
|
|
ULONG Length ) ;
|
|
|
|
|
|
|
|
FUNCTION: NTSTATUS
|
|
|
|
HidP_TranslateUsageAndPagesToI8042ScanCodes (
|
|
|
|
PUSAGE_AND_PAGE ChangedUsageList,
|
|
|
|
ULONG UsageListLength,
|
|
|
|
HIDP_KEYBOARD_DIRECTION KeyAction,
|
|
|
|
PHIDP_KEYBOARD_MODIFIER_STATE ModifierState,
|
|
|
|
PHIDP_INSERT_SCANCODES InsertCodesProcedure,
|
|
|
|
PVOID InsertCodesContext
|
|
|
|
) ;
|
|
|
|
|
|
|
|
|
|
|
|
FUNCTION: NTSTATUS
|
|
|
|
HidP_TranslateUsagesToI8042ScanCodes (
|
|
|
|
PUSAGE ChangedUsageList,
|
|
|
|
ULONG UsageListLength,
|
|
|
|
HIDP_KEYBOARD_DIRECTION KeyAction,
|
|
|
|
PHIDP_KEYBOARD_MODIFIER_STATE ModifierState,
|
|
|
|
PHIDP_INSERT_SCANCODES InsertCodesProcedure,
|
|
|
|
PVOID InsertCodesContext
|
|
|
|
) ;
|
|
|
|
|
|
|
|
CONSTANT: FACILITY_HID_ERROR_CODE HEX: 11
|
|
|
|
: HIDP_ERROR_CODES ( SEV CODE -- HRESULT )
|
|
|
|
[ 28 shift ] dip bitor FACILITY_HID_ERROR_CODE 16 shift bitor ; inline
|
|
|
|
: HIDP_STATUS_SUCCESS ( -- HRESULT ) HEX: 0 HEX: 0 HIDP_ERROR_CODES ; inline
|
|
|
|
: HIDP_STATUS_NULL ( -- HRESULT ) HEX: 8 HEX: 1 HIDP_ERROR_CODES ; inline
|
|
|
|
: HIDP_STATUS_INVALID_PREPARSED_DATA ( -- HRESULT ) HEX: C HEX: 1 HIDP_ERROR_CODES ; inline
|
|
|
|
: HIDP_STATUS_INVALID_REPORT_TYPE ( -- HRESULT ) HEX: C HEX: 2 HIDP_ERROR_CODES ; inline
|
|
|
|
: HIDP_STATUS_INVALID_REPORT_LENGTH ( -- HRESULT ) HEX: C HEX: 3 HIDP_ERROR_CODES ; inline
|
|
|
|
: HIDP_STATUS_USAGE_NOT_FOUND ( -- HRESULT ) HEX: C HEX: 4 HIDP_ERROR_CODES ; inline
|
|
|
|
: HIDP_STATUS_VALUE_OUT_OF_RANGE ( -- HRESULT ) HEX: C HEX: 5 HIDP_ERROR_CODES ; inline
|
|
|
|
: HIDP_STATUS_BAD_LOG_PHY_VALUES ( -- HRESULT ) HEX: C HEX: 6 HIDP_ERROR_CODES ; inline
|
|
|
|
: HIDP_STATUS_BUFFER_TOO_SMALL ( -- HRESULT ) HEX: C HEX: 7 HIDP_ERROR_CODES ; inline
|
|
|
|
: HIDP_STATUS_INTERNAL_ERROR ( -- HRESULT ) HEX: C HEX: 8 HIDP_ERROR_CODES ; inline
|
|
|
|
: HIDP_STATUS_I8042_TRANS_UNKNOWN ( -- HRESULT ) HEX: C HEX: 9 HIDP_ERROR_CODES ; inline
|
|
|
|
: HIDP_STATUS_INCOMPATIBLE_REPORT_ID ( -- HRESULT ) HEX: C HEX: A HIDP_ERROR_CODES ; inline
|
|
|
|
: HIDP_STATUS_NOT_VALUE_ARRAY ( -- HRESULT ) HEX: C HEX: B HIDP_ERROR_CODES ; inline
|
|
|
|
: HIDP_STATUS_IS_VALUE_ARRAY ( -- HRESULT ) HEX: C HEX: C HIDP_ERROR_CODES ; inline
|
|
|
|
: HIDP_STATUS_DATA_INDEX_NOT_FOUND ( -- HRESULT ) HEX: C HEX: D HIDP_ERROR_CODES ; inline
|
|
|
|
: HIDP_STATUS_DATA_INDEX_OUT_OF_RANGE ( -- HRESULT ) HEX: C HEX: E HIDP_ERROR_CODES ; inline
|
|
|
|
: HIDP_STATUS_BUTTON_NOT_PRESSED ( -- HRESULT ) HEX: C HEX: F HIDP_ERROR_CODES ; inline
|
|
|
|
: HIDP_STATUS_REPORT_DOES_NOT_EXIST ( -- HRESULT ) HEX: C HEX: 10 HIDP_ERROR_CODES ; inline
|
|
|
|
: HIDP_STATUS_NOT_IMPLEMENTED ( -- HRESULT ) HEX: C HEX: 20 HIDP_ERROR_CODES ; inline
|
|
|
|
: HIDP_STATUS_I8242_TRANS_UNKNOWN ( -- HRESULT ) HIDP_STATUS_I8042_TRANS_UNKNOWN ; inline
|
|
|
|
|
|
|
|
STRUCT: HIDD_CONFIGURATION
|
|
|
|
{ cookie PVOID }
|
|
|
|
{ size ULONG }
|
|
|
|
{ RingBufferSize ULONG } ;
|
|
|
|
TYPEDEF: HIDD_CONFIGURATION* PHIDD_CONFIGURATION
|
|
|
|
|
|
|
|
STRUCT: HIDD_ATTRIBUTES
|
|
|
|
{ Size ULONG }
|
|
|
|
{ VendorID USHORT }
|
|
|
|
{ ProductID USHORT }
|
|
|
|
{ VersionNumber USHORT } ;
|
|
|
|
TYPEDEF: HIDD_ATTRIBUTES* PHIDD_ATTRIBUTES
|
|
|
|
|
|
|
|
FUNCTION: BOOLEAN
|
|
|
|
HidD_GetAttributes (
|
|
|
|
HANDLE HidDeviceObject,
|
|
|
|
PHIDD_ATTRIBUTES Attributes
|
|
|
|
) ;
|
|
|
|
|
|
|
|
FUNCTION: void
|
|
|
|
HidD_GetHidGuid (
|
|
|
|
LPGUID HidGuid
|
|
|
|
) ;
|
|
|
|
|
|
|
|
FUNCTION: BOOLEAN
|
|
|
|
HidD_GetPreparsedData (
|
|
|
|
HANDLE HidDeviceObject,
|
|
|
|
PHIDP_PREPARSED_DATA* PreparsedData
|
|
|
|
) ;
|
|
|
|
|
|
|
|
FUNCTION: BOOLEAN
|
|
|
|
HidD_FreePreparsedData (
|
|
|
|
PHIDP_PREPARSED_DATA PreparsedData
|
|
|
|
) ;
|
|
|
|
|
|
|
|
FUNCTION: BOOLEAN
|
|
|
|
HidD_FlushQueue (
|
|
|
|
HANDLE HidDeviceObject
|
|
|
|
) ;
|
|
|
|
|
|
|
|
FUNCTION: BOOLEAN
|
|
|
|
HidD_GetConfiguration (
|
|
|
|
HANDLE HidDeviceObject,
|
|
|
|
PHIDD_CONFIGURATION Configuration,
|
|
|
|
ULONG ConfigurationLength
|
|
|
|
) ;
|
|
|
|
|
|
|
|
FUNCTION: BOOLEAN
|
|
|
|
HidD_SetConfiguration (
|
|
|
|
HANDLE HidDeviceObject,
|
|
|
|
PHIDD_CONFIGURATION Configuration,
|
|
|
|
ULONG ConfigurationLength
|
|
|
|
) ;
|
|
|
|
|
|
|
|
FUNCTION: BOOLEAN
|
|
|
|
HidD_GetFeature (
|
|
|
|
HANDLE HidDeviceObject,
|
|
|
|
PVOID ReportBuffer,
|
|
|
|
ULONG ReportBufferLength
|
|
|
|
) ;
|
|
|
|
|
|
|
|
FUNCTION: BOOLEAN
|
|
|
|
HidD_SetFeature (
|
|
|
|
HANDLE HidDeviceObject,
|
|
|
|
PVOID ReportBuffer,
|
|
|
|
ULONG ReportBufferLength
|
|
|
|
) ;
|
|
|
|
|
|
|
|
FUNCTION: BOOLEAN
|
|
|
|
HidD_GetInputReport (
|
|
|
|
HANDLE HidDeviceObject,
|
|
|
|
PVOID ReportBuffer,
|
|
|
|
ULONG ReportBufferLength
|
|
|
|
) ;
|
|
|
|
|
|
|
|
FUNCTION: BOOLEAN
|
|
|
|
HidD_SetOutputReport (
|
|
|
|
HANDLE HidDeviceObject,
|
|
|
|
PVOID ReportBuffer,
|
|
|
|
ULONG ReportBufferLength
|
|
|
|
) ;
|
|
|
|
|
|
|
|
FUNCTION: BOOLEAN
|
|
|
|
HidD_GetNumInputBuffers (
|
|
|
|
HANDLE HidDeviceObject,
|
|
|
|
PULONG NumberBuffers
|
|
|
|
) ;
|
|
|
|
|
|
|
|
FUNCTION: BOOLEAN
|
|
|
|
HidD_SetNumInputBuffers (
|
|
|
|
HANDLE HidDeviceObject,
|
|
|
|
ULONG NumberBuffers
|
|
|
|
) ;
|
|
|
|
|
|
|
|
FUNCTION: BOOLEAN
|
|
|
|
HidD_GetPhysicalDescriptor (
|
|
|
|
HANDLE HidDeviceObject,
|
|
|
|
PVOID Buffer,
|
|
|
|
ULONG BufferLength
|
|
|
|
) ;
|
|
|
|
|
|
|
|
FUNCTION: BOOLEAN
|
|
|
|
HidD_GetManufacturerString (
|
|
|
|
HANDLE HidDeviceObject,
|
|
|
|
PVOID Buffer,
|
|
|
|
ULONG BufferLength
|
|
|
|
) ;
|
|
|
|
|
|
|
|
FUNCTION: BOOLEAN
|
|
|
|
HidD_GetProductString (
|
|
|
|
HANDLE HidDeviceObject,
|
|
|
|
PVOID Buffer,
|
|
|
|
ULONG BufferLength
|
|
|
|
) ;
|
|
|
|
|
|
|
|
FUNCTION: BOOLEAN
|
|
|
|
HidD_GetIndexedString (
|
|
|
|
HANDLE HidDeviceObject,
|
|
|
|
ULONG StringIndex,
|
|
|
|
PVOID Buffer,
|
|
|
|
ULONG BufferLength
|
|
|
|
) ;
|
|
|
|
|
|
|
|
FUNCTION: BOOLEAN
|
|
|
|
HidD_GetSerialNumberString (
|
|
|
|
HANDLE HidDeviceObject,
|
|
|
|
PVOID Buffer,
|
|
|
|
ULONG BufferLength
|
|
|
|
) ;
|
|
|
|
|
|
|
|
FUNCTION: BOOLEAN
|
|
|
|
HidD_GetMsGenreDescriptor (
|
|
|
|
HANDLE HidDeviceObject,
|
|
|
|
PVOID Buffer,
|
|
|
|
ULONG BufferLength
|
|
|
|
) ;
|