ReactOS  0.4.14-dev-608-gd495a4f
hidpi.h
Go to the documentation of this file.
1 /*
2  * hidpi.h
3  *
4  * Public Interface for HID parsing library.
5  *
6  * This file is part of the w32api package.
7  *
8  * Contributors:
9  * Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
10  *
11  * THIS SOFTWARE IS NOT COPYRIGHTED
12  *
13  * This source code is offered for use in the public domain. You may
14  * use, modify or distribute it freely.
15  *
16  * This code is distributed in the hope that it will be useful but
17  * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
18  * DISCLAIMED. This includes but is not limited to warranties of
19  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
20  *
21  */
22 
23 #ifndef __HIDPI_H__
24 #define __HIDPI_H__
25 
26 #include "hidusage.h"
27 
28 #ifdef __cplusplus
29 extern "C" {
30 #endif
31 
32 #if defined(_HIDPI_)
33  #define HIDAPI
34 #else
35  #define HIDAPI DECLSPEC_IMPORT
36 #endif
37 
39 typedef struct _HIDP_PREPARSED_DATA * PHIDP_PREPARSED_DATA;
40 
41 typedef struct _HIDP_UNKNOWN_TOKEN {
46 
51 
53  _ANONYMOUS_UNION union {
54  _ANONYMOUS_STRUCT struct {
71 
72 typedef BOOLEAN
75  _In_reads_bytes_(Length) PCHAR NewScanCodes,
76  _In_ ULONG Length);
77 
78 typedef struct _USAGE_AND_PAGE {
82 
83 typedef struct _HIDD_ATTRIBUTES {
89 
90 typedef struct _HIDD_CONFIGURATION {
95 
97 HIDAPI
99 NTAPI
101  _In_reads_(UsageListLength) PUSAGE_AND_PAGE ChangedUsageList,
103  _In_ HIDP_KEYBOARD_DIRECTION KeyAction,
105  _In_ PHIDP_INSERT_SCANCODES InsertCodesProcedure,
106  _In_opt_ PVOID InsertCodesContext);
107 
109 HIDAPI
110 NTSTATUS
111 NTAPI
113  _In_reads_(UsageListLength) PUSAGE ChangedUsageList,
115  _In_ HIDP_KEYBOARD_DIRECTION KeyAction,
117  _In_ PHIDP_INSERT_SCANCODES InsertCodesProcedure,
118  _In_opt_ PVOID InsertCodesContext);
119 
120 typedef struct _HIDP_BUTTON_CAPS {
133  _ANONYMOUS_UNION union {
134  struct {
139  } Range;
140  struct {
145  } NotRange;
146  } DUMMYUNIONNAME;
148 
149 typedef struct _HIDP_CAPS {
167 
168 typedef struct _HIDP_DATA {
171  _ANONYMOUS_UNION union {
174  } DUMMYUNIONNAME;
176 
183 
184 #define HIDP_LINK_COLLECTION_ROOT ((USHORT) -1)
185 #define HIDP_LINK_COLLECTION_UNSPECIFIED ((USHORT) 0)
186 
199 
200 typedef struct _HIDP_VALUE_CAPS {
221  _ANONYMOUS_UNION union {
222  struct {
227  } Range;
228  struct {
233  } NotRange;
234  } DUMMYUNIONNAME;
236 
237 typedef enum _HIDP_REPORT_TYPE {
242 
243 #define FACILITY_HID_ERROR_CODE 0x11
244 
245 #define HIDP_ERROR_CODES(SEV, CODE) \
246  ((NTSTATUS) (((SEV) << 28) | (FACILITY_HID_ERROR_CODE << 16) | (CODE)))
247 
248 #define HIDP_STATUS_SUCCESS (HIDP_ERROR_CODES(0x0, 0))
249 #define HIDP_STATUS_NULL (HIDP_ERROR_CODES(0x8, 1))
250 #define HIDP_STATUS_INVALID_PREPARSED_DATA (HIDP_ERROR_CODES(0xC, 1))
251 #define HIDP_STATUS_INVALID_REPORT_TYPE (HIDP_ERROR_CODES(0xC, 2))
252 #define HIDP_STATUS_INVALID_REPORT_LENGTH (HIDP_ERROR_CODES(0xC, 3))
253 #define HIDP_STATUS_USAGE_NOT_FOUND (HIDP_ERROR_CODES(0xC, 4))
254 #define HIDP_STATUS_VALUE_OUT_OF_RANGE (HIDP_ERROR_CODES(0xC, 5))
255 #define HIDP_STATUS_BAD_LOG_PHY_VALUES (HIDP_ERROR_CODES(0xC, 6))
256 #define HIDP_STATUS_BUFFER_TOO_SMALL (HIDP_ERROR_CODES(0xC, 7))
257 #define HIDP_STATUS_INTERNAL_ERROR (HIDP_ERROR_CODES(0xC, 8))
258 #define HIDP_STATUS_I8042_TRANS_UNKNOWN (HIDP_ERROR_CODES(0xC, 9))
259 #define HIDP_STATUS_INCOMPATIBLE_REPORT_ID (HIDP_ERROR_CODES(0xC, 0xA))
260 #define HIDP_STATUS_NOT_VALUE_ARRAY (HIDP_ERROR_CODES(0xC, 0xB))
261 #define HIDP_STATUS_IS_VALUE_ARRAY (HIDP_ERROR_CODES(0xC, 0xC))
262 #define HIDP_STATUS_DATA_INDEX_NOT_FOUND (HIDP_ERROR_CODES(0xC, 0xD))
263 #define HIDP_STATUS_DATA_INDEX_OUT_OF_RANGE (HIDP_ERROR_CODES(0xC, 0xE))
264 #define HIDP_STATUS_BUTTON_NOT_PRESSED (HIDP_ERROR_CODES(0xC, 0xF))
265 #define HIDP_STATUS_REPORT_DOES_NOT_EXIST (HIDP_ERROR_CODES(0xC, 0x10))
266 #define HIDP_STATUS_NOT_IMPLEMENTED (HIDP_ERROR_CODES(0xC, 0x20))
267 #define HIDP_STATUS_I8242_TRANS_UNKNOWN HIDP_STATUS_I8042_TRANS_UNKNOWN
268 
269 
270 #if !defined(_HIDPI_NO_FUNCTION_MACROS_)
271 /*
272  * NTSTATUS
273  * HidP_GetButtonCaps(
274  * IN HIDP_REPORT_TYPE ReportType,
275  * OUT PHIDP_BUTTON_CAPS ButtonCaps,
276  * IN OUT PULONG ButtonCapsLength,
277  * IN PHIDP_PREPARSED_DATA PreparsedData);
278  */
279 #define HidP_GetButtonCaps(_Type_, _Caps_, _Len_, _Data_) \
280  HidP_GetSpecificButtonCaps(_Type_, 0, 0, 0, _Caps_, _Len_, _Data_)
281 
282 /*
283  * NTSTATUS
284  * HidP_GetButtons(
285  * IN HIDP_REPORT_TYPE ReportType,
286  * IN USAGE UsagePage,
287  * IN USHORT LinkCollection,
288  * OUT USAGE *UsageList,
289  * IN OUT ULONG *UsageLength,
290  * IN PHIDP_PREPARSED_DATA PreparsedData,
291  * IN PCHAR Report,
292  * IN ULONG ReportLength);
293  */
294 #define HidP_GetButtons(Rty, UPa, LCo, ULi, ULe, Ppd, Rep, RLe) \
295  HidP_GetUsages(Rty, UPa, LCo, ULi, ULe, Ppd, Rep, RLe)
296 
297 #define HidP_GetButtonListLength(RTy, UPa, Ppd) \
298  HidP_GetUsageListLength(Rty, UPa, Ppd)
299 
300 
301 /*
302  * NTSTATUS
303  * HidP_GetButtonsEx(
304  * IN HIDP_REPORT_TYPE ReportType,
305  * IN USHORT LinkCollection,
306  * OUT PUSAGE_AND_PAGE ButtonList,
307  * IN OUT ULONG *UsageLength,
308  * IN PHIDP_PREPARSED_DATA PreparsedData,
309  * IN PCHAR Report,
310  * IN ULONG ReportLength);
311  */
312 #define HidP_GetButtonsEx(RT, LC, BL, UL, PD, R, RL) \
313  HidP_GetUsagesEx(RT, LC, BL, UL, PD, R, RL)
314 
315 #endif /* _HIDPI_NO_FUNCTION_MACROS_ */
316 
319 HIDAPI
320 NTSTATUS
321 NTAPI
325 
328 HIDAPI
329 NTSTATUS
330 NTAPI
332  _In_ HIDP_REPORT_TYPE ReportType,
338 
341 HIDAPI
342 NTSTATUS
343 NTAPI
345  _In_ HIDP_REPORT_TYPE ReportType,
350 
353 HIDAPI
354 NTSTATUS
355 NTAPI
357  _Out_ PHIDP_LINK_COLLECTION_NODE LinkCollectionNodes,
360 
362 HIDAPI
363 NTSTATUS
364 NTAPI
366  _In_ HIDP_REPORT_TYPE ReportType,
369  _In_ USAGE Usage,
370  _Out_ PLONG UsageValue,
374 
377 HIDAPI
378 NTSTATUS
379 NTAPI
381  _In_ HIDP_REPORT_TYPE ReportType,
384  _In_ USAGE Usage,
388 
391 HIDAPI
392 NTSTATUS
393 NTAPI
395  _In_ HIDP_REPORT_TYPE ReportType,
398  _In_ USAGE Usage,
402 
404 HIDAPI
405 NTSTATUS
406 NTAPI
408  _In_ HIDP_REPORT_TYPE ReportType,
416 
419 HIDAPI
420 NTSTATUS
421 NTAPI
423  _In_ HIDP_REPORT_TYPE ReportType,
430 
432 HIDAPI
433 NTSTATUS
434 NTAPI
436  _In_ HIDP_REPORT_TYPE ReportType,
439  _In_ USAGE Usage,
440  _Out_ PULONG UsageValue,
444 
446 HIDAPI
447 NTSTATUS
448 NTAPI
450  _In_ HIDP_REPORT_TYPE ReportType,
453  _In_ USAGE Usage,
454  _Inout_updates_bytes_(UsageValueByteLength) PCHAR UsageValue,
455  _In_ USHORT UsageValueByteLength,
459 
460 #if !defined(_HIDPI_NO_FUNCTION_MACROS_)
461 
462 /*
463  * NTSTATUS
464  * HidP_GetValueCaps(
465  * IN HIDP_REPORT_TYPE ReportType,
466  * OUT PHIDP_VALUE_CAPS ValueCaps,
467  * IN OUT PULONG ValueCapsLength,
468  * IN PHIDP_PREPARSED_DATA PreparsedData);
469  */
470 #define HidP_GetValueCaps(_Type_, _Caps_, _Len_, _Data_) \
471  HidP_GetSpecificValueCaps (_Type_, 0, 0, 0, _Caps_, _Len_, _Data_)
472 
473 #endif /* _HIDPI_NO_FUNCTION_MACROS_ */
474 
477 HIDAPI
478 NTSTATUS
479 NTAPI
481  _In_ HIDP_REPORT_TYPE ReportType,
486 
487 #if !defined(_HIDPI_NO_FUNCTION_MACROS_)
488 
489 /*
490  * BOOLEAN
491  * HidP_IsSameUsageAndPage(
492  * USAGE_AND_PAGE u1,
493  * USAGE_AND_PAGE u2);
494  */
495 #define HidP_IsSameUsageAndPage(u1, u2) ((* (PULONG) &u1) == (* (PULONG) &u2))
496 
497 #endif /* _HIDPI_NO_FUNCTION_MACROS_ */
498 
500 HIDAPI
501 ULONG
502 NTAPI
504  _In_ HIDP_REPORT_TYPE ReportType,
506 
508 HIDAPI
509 ULONG
510 NTAPI
512  _In_ HIDP_REPORT_TYPE ReportType,
515 
516 #if !defined(_HIDPI_NO_FUNCTION_MACROS_)
517 
518 /*
519  * NTSTATUS
520  * HidP_SetButtons(
521  * IN HIDP_REPORT_TYPE ReportType,
522  * IN USAGE UsagePage,
523  * IN USHORT LinkCollection,
524  * IN PUSAGE UsageList,
525  * IN OUT PULONG UsageLength,
526  * IN PHIDP_PREPARSED_DATA PreparsedData,
527  * IN OUT PCHAR Report,
528  * IN ULONG ReportLength);
529  */
530 #define HidP_SetButtons(RT, UP, LC, UL1, UL2, PD, R, RL) \
531  HidP_SetUsages(RT, UP, LC, UL1, UL2, PD, R, RL)
532 
533 #endif /* _HIDPI_NO_FUNCTION_MACROS_ */
534 
536 HIDAPI
537 NTSTATUS
538 NTAPI
540  _In_ HIDP_REPORT_TYPE ReportType,
546 
548 HIDAPI
549 NTSTATUS
550 NTAPI
552  _In_ HIDP_REPORT_TYPE ReportType,
555  _In_ USAGE Usage,
556  _In_ LONG UsageValue,
560 
562 HIDAPI
563 NTSTATUS
564 NTAPI
566  _In_ HIDP_REPORT_TYPE ReportType,
568  _In_ USHORT LinkCollection, /* Optional */
574 
576 HIDAPI
577 NTSTATUS
578 NTAPI
580  _In_ HIDP_REPORT_TYPE ReportType,
583  _In_ USAGE Usage,
584  _In_ ULONG UsageValue,
588 
590 HIDAPI
591 NTSTATUS
592 NTAPI
594  _In_ HIDP_REPORT_TYPE ReportType,
597  _In_ USAGE Usage,
598  _In_reads_bytes_(UsageValueByteLength) PCHAR UsageValue,
599  _In_ USHORT UsageValueByteLength,
603 
604 #if !defined(_HIDPI_NO_FUNCTION_MACROS_)
605 
606 /*
607  * NTSTATUS
608  * HidP_UnsetButtons(
609  * IN HIDP_REPORT_TYPE ReportType,
610  * IN USAGE UsagePage,
611  * IN USHORT LinkCollection,
612  * IN PUSAGE UsageList,
613  * IN OUT PULONG UsageLength,
614  * IN PHIDP_PREPARSED_DATA PreparsedData,
615  * IN OUT PCHAR Report,
616  * IN ULONG ReportLength);
617  */
618 #define HidP_UnsetButtons(RT, UP, LC, UL1, UL2, PD, R, RL) \
619  HidP_UnsetUsages(RT, UP, LC, UL1, UL2, PD, R, RL)
620 
621 #endif /* _HIDPI_NO_FUNCTION_MACROS_ */
622 
624 HIDAPI
625 NTSTATUS
626 NTAPI
628  _In_ HIDP_REPORT_TYPE ReportType,
636 
639 HIDAPI
640 NTSTATUS
641 NTAPI
643  _In_reads_(UsageListLength) PUSAGE_AND_PAGE PreviousUsageList,
644  _In_reads_(UsageListLength) PUSAGE_AND_PAGE CurrentUsageList,
648 
651 HIDAPI
652 NTSTATUS
653 NTAPI
655  _In_reads_(UsageListLength) PUSAGE PreviousUsageList,
656  _In_reads_(UsageListLength) PUSAGE CurrentUsageList,
657  _Out_writes_(UsageListLength) PUSAGE BreakUsageList,
658  _Out_writes_(UsageListLength) PUSAGE MakeUsageList,
660 
661 #ifdef __cplusplus
662 }
663 #endif
664 
665 #endif /* __HIDPI_H__ */
#define _Inout_updates_bytes_(size)
Definition: no_sal2.h:287
signed char * PCHAR
Definition: retypes.h:7
USAGE UsageMax
Definition: hidpi.h:223
USHORT LinkCollection
Definition: hidpi.h:125
USHORT NumberInputButtonCaps
Definition: hidpi.h:157
USHORT DataIndexMax
Definition: hidpi.h:226
USAGE UsageMin
Definition: hidpi.h:135
USAGE LinkUsagePage
Definition: hidpi.h:207
USAGE Usage
Definition: hidpi.h:229
#define _Must_inspect_result_
Definition: no_sal2.h:314
USHORT NumberInputValueCaps
Definition: hidpi.h:158
_Must_inspect_result_ _Out_writes_to_ DataLength PHIDP_DATA _Inout_ PULONG _In_ PHIDP_PREPARSED_DATA _Out_writes_bytes_(ReportLength) PCHAR Report
UCHAR ReportID
Definition: hidpi.h:122
USHORT Reserved4
Definition: hidpi.h:144
USHORT DesignatorMin
Definition: hidpi.h:137
struct _HIDP_BUTTON_CAPS * PHIDP_BUTTON_CAPS
USAGE UsagePage
Definition: hidpi.h:80
BOOLEAN IsStringRange
Definition: hidpi.h:209
_Must_inspect_result_ _Out_writes_to_ DataLength PHIDP_DATA _Inout_ PULONG _In_ PHIDP_PREPARSED_DATA PreparsedData
Definition: hidpi.h:333
USHORT DesignatorIndex
Definition: hidpi.h:143
BOOLEAN(NTAPI * PHIDP_INSERT_SCANCODES)(_In_opt_ PVOID Context, _In_reads_bytes_(Length) PCHAR NewScanCodes, _In_ ULONG Length)
Definition: hidpi.h:73
BOOLEAN IsAbsolute
Definition: hidpi.h:211
USHORT ReportCount
Definition: hidpi.h:215
_Must_inspect_result_ _IRQL_requires_max_(PASSIVE_LEVEL) HIDAPI NTSTATUS NTAPI HidP_GetCaps(_In_ PHIDP_PREPARSED_DATA PreparsedData
Definition: Messaging.c:64
USHORT NumberOutputButtonCaps
Definition: hidpi.h:160
USHORT DataIndexMin
Definition: hidpi.h:138
_ANONYMOUS_UNION union _HIDP_KEYBOARD_MODIFIER_STATE::@2865 DUMMYUNIONNAME
USHORT OutputReportByteLength
Definition: hidpi.h:153
_Must_inspect_result_ _Out_ PHIDP_CAPS Capabilities
Definition: hidpi.h:324
USHORT NumberLinkCollectionNodes
Definition: hidpi.h:156
_HIDP_REPORT_TYPE
Definition: hidpi.h:237
ULONG RingBufferSize
Definition: hidpi.h:93
HIDAPI ULONG NTAPI HidP_MaxUsageListLength(IN HIDP_REPORT_TYPE ReportType, IN USAGE UsagePage OPTIONAL, IN PHIDP_PREPARSED_DATA PreparsedData)
Definition: hidp.c:99
BOOLEAN HasNull
Definition: hidpi.h:212
_Must_inspect_result_ _In_reads_(UsageListLength) PUSAGE_AND_PAGE CurrentUsageList
_Must_inspect_result_ HIDAPI NTSTATUS NTAPI HidP_SetUsages(_In_ HIDP_REPORT_TYPE ReportType, _In_ USAGE UsagePage, _In_ USHORT LinkCollection, _Inout_updates_to_(*UsageLength, *UsageLength) PUSAGE UsageList, _Inout_ PULONG UsageLength, _In_ PHIDP_PREPARSED_DATA PreparsedData, _In_reads_bytes_(ReportLength) PCHAR Report, _In_ ULONG ReportLength)
ULONG Units
Definition: hidpi.h:218
_Must_inspect_result_ _In_ USAGE _In_ USHORT _In_ USAGE _Out_ PHIDP_BUTTON_CAPS _Inout_ PUSHORT ButtonCapsLength
Definition: hidpi.h:382
#define _ANONYMOUS_UNION
Definition: ntbasedef.h:30
USHORT StringMin
Definition: hidpi.h:224
_Must_inspect_result_ _In_ USAGE _In_ USHORT _In_ USAGE Usage
Definition: hidpi.h:382
ULONG RawValue
Definition: hidpi.h:172
unsigned char * PUCHAR
Definition: retypes.h:3
USAGE UsagePage
Definition: hidpi.h:201
USHORT DataIndexMax
Definition: hidpi.h:138
USAGE Usage
Definition: hidpi.h:79
_Must_inspect_result_ HIDAPI NTSTATUS NTAPI HidP_GetUsageValue(_In_ HIDP_REPORT_TYPE ReportType, _In_ USAGE UsagePage, _In_ USHORT LinkCollection, _In_ USAGE Usage, _Out_ PULONG UsageValue, _In_ PHIDP_PREPARSED_DATA PreparsedData, _In_reads_bytes_(ReportLength) PCHAR Report, _In_ ULONG ReportLength)
LONG NTSTATUS
Definition: precomp.h:26
USAGE Reserved1
Definition: hidpi.h:141
USHORT BitSize
Definition: hidpi.h:214
_Must_inspect_result_ HIDAPI NTSTATUS NTAPI HidP_GetScaledUsageValue(_In_ HIDP_REPORT_TYPE ReportType, _In_ USAGE UsagePage, _In_ USHORT LinkCollection, _In_ USAGE Usage, _Out_ PLONG UsageValue, _In_ PHIDP_PREPARSED_DATA PreparsedData, _In_reads_bytes_(ReportLength) PCHAR Report, _In_ ULONG ReportLength)
BOOLEAN IsAlias
Definition: hidpi.h:203
BOOLEAN IsAlias
Definition: hidpi.h:123
USHORT NumberFeatureButtonCaps
Definition: hidpi.h:163
_Must_inspect_result_ _In_ USHORT _Inout_updates_to_ UsageLength PUSAGE_AND_PAGE _Inout_ ULONG * UsageLength
Definition: hidpi.h:425
PUCHAR PHIDP_REPORT_DESCRIPTOR
Definition: hidpi.h:38
_Must_inspect_result_ HIDAPI NTSTATUS NTAPI HidP_SetUsageValue(_In_ HIDP_REPORT_TYPE ReportType, _In_ USAGE UsagePage, _In_ USHORT LinkCollection, _In_ USAGE Usage, _In_ ULONG UsageValue, _In_ PHIDP_PREPARSED_DATA PreparsedData, _Inout_updates_bytes_(ReportLength) PCHAR Report, _In_ ULONG ReportLength)
LONG PhysicalMin
Definition: hidpi.h:220
ULONG Size
Definition: hidpi.h:84
USHORT VersionNumber
Definition: hidpi.h:87
enum _HIDP_KEYBOARD_DIRECTION HIDP_KEYBOARD_DIRECTION
HIDAPI NTSTATUS NTAPI HidP_GetLinkCollectionNodes(OUT PHIDP_LINK_COLLECTION_NODE LinkCollectionNodes, IN OUT PULONG LinkCollectionNodesLength, IN PHIDP_PREPARSED_DATA PreparsedData)
Definition: hidp.c:378
USHORT Reserved2
Definition: hidpi.h:142
#define _Out_writes_to_(size, count)
Definition: no_sal2.h:378
_Must_inspect_result_ _In_ USAGE _In_ USHORT _In_ USAGE _Out_ PHIDP_VALUE_CAPS ValueCaps
Definition: hidpi.h:396
_ANONYMOUS_UNION union _HIDP_VALUE_CAPS::@2871 DUMMYUNIONNAME
USAGE UsageMin
Definition: hidpi.h:223
#define _In_opt_
Definition: no_sal2.h:213
struct _HIDP_EXTENDED_ATTRIBUTES * PHIDP_EXTENDED_ATTRIBUTES
BOOLEAN IsDesignatorRange
Definition: hidpi.h:210
#define _Inout_updates_to_(size, count)
Definition: no_sal2.h:295
_ANONYMOUS_STRUCT struct _HIDP_KEYBOARD_MODIFIER_STATE::@2865::@2866 DUMMYSTRUCTNAME
HIDAPI NTSTATUS NTAPI HidP_GetExtendedAttributes(IN HIDP_REPORT_TYPE ReportType, IN USHORT DataIndex, IN PHIDP_PREPARSED_DATA PreparsedData, OUT PHIDP_EXTENDED_ATTRIBUTES Attributes, IN OUT PULONG LengthAttributes)
Definition: hidp.c:363
_Must_inspect_result_ HIDAPI NTSTATUS NTAPI HidP_SetScaledUsageValue(_In_ HIDP_REPORT_TYPE ReportType, _In_ USAGE UsagePage, _In_ USHORT LinkCollection, _In_ USAGE Usage, _In_ LONG UsageValue, _In_ PHIDP_PREPARSED_DATA PreparsedData, _Inout_updates_bytes_(ReportLength) PCHAR Report, _In_ ULONG ReportLength)
struct _HIDP_EXTENDED_ATTRIBUTES HIDP_EXTENDED_ATTRIBUTES
struct _HIDD_CONFIGURATION * PHIDD_CONFIGURATION
HIDAPI NTSTATUS NTAPI HidP_GetSpecificValueCaps(IN HIDP_REPORT_TYPE ReportType, IN USAGE UsagePage, IN USHORT LinkCollection, IN USAGE Usage, OUT PHIDP_VALUE_CAPS ValueCaps, IN OUT PUSHORT ValueCapsLength, IN PHIDP_PREPARSED_DATA PreparsedData)
Definition: hidp.c:126
UCHAR ReportID
Definition: hidpi.h:202
USHORT Reserved3
Definition: hidpi.h:231
HIDAPI NTSTATUS NTAPI HidP_UsageListDifference(IN PUSAGE PreviousUsageList, IN PUSAGE CurrentUsageList, OUT PUSAGE BreakUsageList, OUT PUSAGE MakeUsageList, IN ULONG UsageListLength)
Definition: hidp.c:190
USHORT VendorID
Definition: hidpi.h:85
_Must_inspect_result_ HIDAPI NTSTATUS NTAPI HidP_GetUsageValueArray(_In_ HIDP_REPORT_TYPE ReportType, _In_ USAGE UsagePage, _In_ USHORT LinkCollection, _In_ USAGE Usage, _Inout_updates_bytes_(UsageValueByteLength) PCHAR UsageValue, _In_ USHORT UsageValueByteLength, _In_ PHIDP_PREPARSED_DATA PreparsedData, _In_reads_bytes_(ReportLength) PCHAR Report, _In_ ULONG ReportLength)
NTSTATUS(* NTAPI)(IN PFILE_FULL_EA_INFORMATION EaBuffer, IN ULONG EaLength, OUT PULONG ErrorOffset)
Definition: IoEaTest.cpp:117
USAGE UsageMax
Definition: hidpi.h:135
USHORT BitField
Definition: hidpi.h:124
USHORT StringIndex
Definition: hidpi.h:142
long LONG
Definition: pedump.c:60
_Must_inspect_result_ HIDAPI NTSTATUS NTAPI HidP_UnsetUsages(_In_ HIDP_REPORT_TYPE ReportType, _In_ USAGE UsagePage, _In_opt_ USHORT LinkCollection, _Inout_updates_to_(*UsageLength, *UsageLength) PUSAGE UsageList, _Inout_ PULONG UsageLength, _In_ PHIDP_PREPARSED_DATA PreparsedData, _In_reads_bytes_(ReportLength) PCHAR Report, _In_ ULONG ReportLength)
_HIDP_KEYBOARD_DIRECTION
Definition: hidpi.h:47
struct _HIDD_ATTRIBUTES * PHIDD_ATTRIBUTES
HIDAPI ULONG NTAPI HidP_MaxDataListLength(IN HIDP_REPORT_TYPE ReportType, IN PHIDP_PREPARSED_DATA PreparsedData)
Definition: hidp.c:558
HIDAPI NTSTATUS NTAPI HidP_InitializeReportForID(IN HIDP_REPORT_TYPE ReportType, IN UCHAR ReportID, IN PHIDP_PREPARSED_DATA PreparsedData, IN OUT PCHAR Report, IN ULONG ReportLength)
Definition: hidp.c:570
USHORT StringIndex
Definition: hidpi.h:230
struct _HIDP_UNKNOWN_TOKEN HIDP_UNKNOWN_TOKEN
#define HIDAPI
Definition: hidpi.h:35
unsigned char BOOLEAN
USHORT StringMax
Definition: hidpi.h:224
#define _Out_
Definition: no_sal2.h:323
enum _HIDP_REPORT_TYPE HIDP_REPORT_TYPE
_Must_inspect_result_ _Out_writes_to_ DataLength PHIDP_DATA DataList
Definition: hidpi.h:333
USHORT Reserved
Definition: hidpi.h:170
LONG LogicalMin
Definition: hidpi.h:219
_Reserved_ PVOID Reserved
Definition: winddi.h:3974
_Must_inspect_result_ HIDAPI NTSTATUS NTAPI HidP_SetData(_In_ HIDP_REPORT_TYPE ReportType, _Inout_updates_to_(*DataLength, *DataLength) PHIDP_DATA DataList, _Inout_ PULONG DataLength, _In_ PHIDP_PREPARSED_DATA PreparsedData, _In_reads_bytes_(ReportLength) PCHAR Report, _In_ ULONG ReportLength)
struct _HIDP_UNKNOWN_TOKEN * PHIDP_UNKNOWN_TOKEN
USHORT NumberFeatureDataIndices
Definition: hidpi.h:165
USHORT Reserved4
Definition: hidpi.h:232
struct _HIDP_BUTTON_CAPS::@2867::@2869 NotRange
HIDAPI NTSTATUS NTAPI HidP_GetCaps(IN PHIDP_PREPARSED_DATA PreparsedData, OUT PHIDP_CAPS Capabilities)
Definition: hidp.c:33
USHORT NumberOutputValueCaps
Definition: hidpi.h:161
PHIDP_UNKNOWN_TOKEN GlobalUnknowns
Definition: hidpi.h:180
_Must_inspect_result_ _In_ USAGE UsagePage
Definition: hidpi.h:382
struct _HIDP_VALUE_CAPS * PHIDP_VALUE_CAPS
USHORT DataIndex
Definition: hidpi.h:232
USHORT ProductID
Definition: hidpi.h:86
struct _USAGE_AND_PAGE USAGE_AND_PAGE
ULONG UnitsExp
Definition: hidpi.h:217
USHORT StringMin
Definition: hidpi.h:136
USHORT * PUSAGE
Definition: hidusage.h:30
BOOLEAN IsDesignatorRange
Definition: hidpi.h:130
USAGE UsagePage
Definition: hidpi.h:151
USHORT FeatureReportByteLength
Definition: hidpi.h:154
USHORT NumberFeatureValueCaps
Definition: hidpi.h:164
struct _HIDP_PREPARSED_DATA * PHIDP_PREPARSED_DATA
Definition: hidpi.h:39
USHORT NumberOutputDataIndices
Definition: hidpi.h:162
LONG PhysicalMax
Definition: hidpi.h:220
#define _Inout_
Definition: no_sal2.h:244
struct _HIDP_DATA * PHIDP_DATA
_In_ ULONG _In_ ULONG _In_ ULONG Length
Definition: ntddpcm.h:101
USHORT USAGE
Definition: hidusage.h:30
BOOLEAN On
Definition: hidpi.h:173
_Must_inspect_result_ HIDAPI NTSTATUS NTAPI HidP_TranslateUsageAndPagesToI8042ScanCodes(_In_reads_(UsageListLength) PUSAGE_AND_PAGE ChangedUsageList, _In_ ULONG UsageListLength, _In_ HIDP_KEYBOARD_DIRECTION KeyAction, _Inout_ PHIDP_KEYBOARD_MODIFIER_STATE ModifierState, _In_ PHIDP_INSERT_SCANCODES InsertCodesProcedure, _In_opt_ PVOID InsertCodesContext)
_Must_inspect_result_ _In_ USHORT _Inout_updates_to_ UsageLength PUSAGE_AND_PAGE ButtonList
Definition: hidpi.h:425
BOOLEAN IsRange
Definition: hidpi.h:208
ULONG BitField
Definition: hidpi.h:44
BOOLEAN IsStringRange
Definition: hidpi.h:129
struct _HIDP_KEYBOARD_MODIFIER_STATE HIDP_KEYBOARD_MODIFIER_STATE
unsigned char UCHAR
Definition: xmlstorage.h:181
BOOLEAN IsAbsolute
Definition: hidpi.h:131
UCHAR Reserved
Definition: hidpi.h:213
struct _HIDD_ATTRIBUTES HIDD_ATTRIBUTES
USHORT DesignatorIndex
Definition: hidpi.h:231
_Must_inspect_result_ _Out_writes_(UsageListLength) PUSAGE_AND_PAGE BreakUsageList
_Must_inspect_result_ HIDAPI NTSTATUS NTAPI HidP_GetUsages(_In_ HIDP_REPORT_TYPE ReportType, _In_ USAGE UsagePage, _In_ USHORT LinkCollection, _Out_writes_to_(*UsageLength, *UsageLength) USAGE *UsageList, _Inout_ ULONG *UsageLength, _In_ PHIDP_PREPARSED_DATA PreparsedData, _Out_writes_bytes_(ReportLength) PCHAR Report, _In_ ULONG ReportLength)
_Must_inspect_result_ _In_ USHORT _Inout_updates_to_ UsageLength PUSAGE_AND_PAGE _Inout_ ULONG _In_ PHIDP_PREPARSED_DATA _In_reads_bytes_(ReportLength) PCHAR Report
_Must_inspect_result_ _Out_writes_to_ DataLength PHIDP_DATA _Inout_ PULONG _In_ PHIDP_PREPARSED_DATA _In_ ULONG ReportLength
Definition: hidpi.h:337
_Must_inspect_result_ _In_ ULONG UsageListLength
Definition: hidpi.h:647
USHORT StringMax
Definition: hidpi.h:136
struct _HIDP_LINK_COLLECTION_NODE * PHIDP_LINK_COLLECTION_NODE
#define PASSIVE_LEVEL
Definition: env_spec_w32.h:693
USAGE UsagePage
Definition: hidpi.h:121
USHORT DesignatorMin
Definition: hidpi.h:225
USHORT BitField
Definition: hidpi.h:204
#define _ANONYMOUS_STRUCT
Definition: ntbasedef.h:56
_Must_inspect_result_ _Inout_ PULONG LinkCollectionNodesLength
Definition: hidpi.h:358
struct _HIDP_DATA HIDP_DATA
#define DISPATCH_LEVEL
Definition: env_spec_w32.h:696
#define _In_
Definition: no_sal2.h:204
_Must_inspect_result_ _In_ USAGE _In_ USHORT LinkCollection
Definition: hidpi.h:382
USHORT DataIndex
Definition: hidpi.h:144
_Must_inspect_result_ _In_ USAGE _In_ USHORT _In_ USAGE _Out_ PHIDP_BUTTON_CAPS ButtonCaps
Definition: hidpi.h:382
_Must_inspect_result_ _In_ UCHAR ReportID
Definition: hidpi.h:482
_Must_inspect_result_ _In_ USHORT _In_ PHIDP_PREPARSED_DATA _Out_writes_to_ LengthAttributes PHIDP_EXTENDED_ATTRIBUTES Attributes
Definition: hidpi.h:348
LONG LogicalMax
Definition: hidpi.h:219
struct _HIDP_VALUE_CAPS::@2871::@2872 Range
HIDAPI NTSTATUS NTAPI HidP_GetSpecificButtonCaps(IN HIDP_REPORT_TYPE ReportType, IN USAGE UsagePage, IN USHORT LinkCollection, IN USAGE Usage, OUT PHIDP_BUTTON_CAPS ButtonCaps, IN OUT PUSHORT ButtonCapsLength, IN PHIDP_PREPARSED_DATA PreparsedData)
Definition: hidp.c:330
_ANONYMOUS_UNION union _HIDP_BUTTON_CAPS::@2867 DUMMYUNIONNAME
USHORT DataIndexMin
Definition: hidpi.h:226
USAGE Usage
Definition: hidpi.h:150
unsigned short USHORT
Definition: pedump.c:61
_Must_inspect_result_ HIDAPI NTSTATUS NTAPI HidP_TranslateUsagesToI8042ScanCodes(_In_reads_(UsageListLength) PUSAGE ChangedUsageList, _In_ ULONG UsageListLength, _In_ HIDP_KEYBOARD_DIRECTION KeyAction, _Inout_ PHIDP_KEYBOARD_MODIFIER_STATE ModifierState, _In_ PHIDP_INSERT_SCANCODES InsertCodesProcedure, _In_opt_ PVOID InsertCodesContext)
USHORT LinkCollection
Definition: hidpi.h:205
HIDAPI NTSTATUS NTAPI HidP_GetData(IN HIDP_REPORT_TYPE ReportType, OUT PHIDP_DATA DataList, IN OUT PULONG DataLength, IN PHIDP_PREPARSED_DATA PreparsedData, IN PCHAR Report, IN ULONG ReportLength)
Definition: hidp.c:347
unsigned int * PULONG
Definition: retypes.h:1
struct _HIDP_KEYBOARD_MODIFIER_STATE * PHIDP_KEYBOARD_MODIFIER_STATE
_Must_inspect_result_ _In_ USHORT DataIndex
Definition: hidpi.h:346
USAGE Reserved1
Definition: hidpi.h:229
USAGE LinkUsage
Definition: hidpi.h:126
USHORT DataIndex
Definition: hidpi.h:169
struct _USAGE_AND_PAGE * PUSAGE_AND_PAGE
struct _HIDP_VALUE_CAPS::@2871::@2873 NotRange
USHORT DesignatorMax
Definition: hidpi.h:225
_Must_inspect_result_ _In_ USHORT _In_ PHIDP_PREPARSED_DATA _Out_writes_to_ LengthAttributes PHIDP_EXTENDED_ATTRIBUTES _Inout_ OUT PULONG LengthAttributes
Definition: hidpi.h:348
struct _HIDP_BUTTON_CAPS HIDP_BUTTON_CAPS
#define BOOLEAN
Definition: pedump.c:73
USAGE LinkUsagePage
Definition: hidpi.h:127
#define OUT
Definition: typedefs.h:39
struct _HIDP_VALUE_CAPS HIDP_VALUE_CAPS
USHORT NumberInputDataIndices
Definition: hidpi.h:159
USHORT Reserved3
Definition: hidpi.h:143
struct tagContext Context
Definition: acpixf.h:1030
unsigned int ULONG
Definition: retypes.h:1
_ANONYMOUS_UNION union _HIDP_DATA::@2870 DUMMYUNIONNAME
USAGE LinkUsage
Definition: hidpi.h:206
struct _HIDD_CONFIGURATION HIDD_CONFIGURATION
HIDAPI NTSTATUS NTAPI HidP_GetUsagesEx(IN HIDP_REPORT_TYPE ReportType, IN USHORT LinkCollection, OUT PUSAGE_AND_PAGE ButtonList, IN OUT ULONG *UsageLength, IN PHIDP_PREPARSED_DATA PreparsedData, IN PCHAR Report, IN ULONG ReportLength)
Definition: hidp.c:203
struct _HIDP_CAPS HIDP_CAPS
USHORT Reserved2[5]
Definition: hidpi.h:216
_Must_inspect_result_ _Out_writes_to_ DataLength PHIDP_DATA _Inout_ PULONG DataLength
Definition: hidpi.h:333
_Must_inspect_result_ HIDAPI NTSTATUS NTAPI HidP_SetUsageValueArray(_In_ HIDP_REPORT_TYPE ReportType, _In_ USAGE UsagePage, _In_ USHORT LinkCollection, _In_ USAGE Usage, _In_reads_bytes_(UsageValueByteLength) PCHAR UsageValue, _In_ USHORT UsageValueByteLength, _In_ PHIDP_PREPARSED_DATA PreparsedData, _Inout_updates_bytes_(ReportLength) PCHAR Report, _In_ ULONG ReportLength)
struct _HIDP_BUTTON_CAPS::@2867::@2868 Range
BOOLEAN IsRange
Definition: hidpi.h:128
signed int * PLONG
Definition: retypes.h:5
USHORT DesignatorMax
Definition: hidpi.h:137
struct _HIDP_CAPS * PHIDP_CAPS
unsigned short * PUSHORT
Definition: retypes.h:2
USHORT InputReportByteLength
Definition: hidpi.h:152
HIDAPI NTSTATUS NTAPI HidP_UsageAndPageListDifference(IN PUSAGE_AND_PAGE PreviousUsageList, IN PUSAGE_AND_PAGE CurrentUsageList, OUT PUSAGE_AND_PAGE BreakUsageList, OUT PUSAGE_AND_PAGE MakeUsageList, IN ULONG UsageListLength)
Definition: hidp.c:218
_Must_inspect_result_ _In_ USAGE _In_ USHORT _In_ USAGE _Out_ PHIDP_VALUE_CAPS _Inout_ PUSHORT ValueCapsLength
Definition: hidpi.h:396
struct _HIDP_LINK_COLLECTION_NODE HIDP_LINK_COLLECTION_NODE