ReactOS 0.4.16-dev-306-g647d351
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
29extern "C" {
30#endif
31
32#if defined(_HIDPI_)
33 #define HIDAPI
34#else
35 #define HIDAPI DECLSPEC_IMPORT
36#endif
37
39typedef struct _HIDP_PREPARSED_DATA * PHIDP_PREPARSED_DATA;
40
41typedef struct _HIDP_UNKNOWN_TOKEN {
46
51
53 _ANONYMOUS_UNION union {
54 _ANONYMOUS_STRUCT struct {
71
72typedef BOOLEAN
75 _In_reads_bytes_(Length) PCHAR NewScanCodes,
77
78typedef struct _USAGE_AND_PAGE {
82
83typedef struct _HIDD_ATTRIBUTES {
89
90typedef struct _HIDD_CONFIGURATION {
95
105 _In_ PHIDP_INSERT_SCANCODES InsertCodesProcedure,
106 _In_opt_ PVOID InsertCodesContext);
107
109HIDAPI
111NTAPI
113 _In_reads_(UsageListLength) PUSAGE ChangedUsageList,
117 _In_ PHIDP_INSERT_SCANCODES InsertCodesProcedure,
118 _In_opt_ PVOID InsertCodesContext);
119
120typedef struct _HIDP_BUTTON_CAPS {
133 _ANONYMOUS_UNION union {
134 struct {
140 struct {
148
149typedef struct _HIDP_CAPS {
167
168typedef struct _HIDP_DATA {
171 _ANONYMOUS_UNION union {
176
183
184#define HIDP_LINK_COLLECTION_ROOT ((USHORT) -1)
185#define HIDP_LINK_COLLECTION_UNSPECIFIED ((USHORT) 0)
186
199
200typedef struct _HIDP_VALUE_CAPS {
221 _ANONYMOUS_UNION union {
222 struct {
228 struct {
236
237typedef 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
319HIDAPI
321NTAPI
325
328HIDAPI
330NTAPI
332 _In_ HIDP_REPORT_TYPE ReportType,
338
341HIDAPI
343NTAPI
345 _In_ HIDP_REPORT_TYPE ReportType,
350
353HIDAPI
355NTAPI
357 _Out_ PHIDP_LINK_COLLECTION_NODE LinkCollectionNodes,
360
362HIDAPI
364NTAPI
366 _In_ HIDP_REPORT_TYPE ReportType,
370 _Out_ PLONG UsageValue,
374
377HIDAPI
379NTAPI
381 _In_ HIDP_REPORT_TYPE ReportType,
388
391HIDAPI
393NTAPI
395 _In_ HIDP_REPORT_TYPE ReportType,
402
404HIDAPI
406NTAPI
408 _In_ HIDP_REPORT_TYPE ReportType,
416
419HIDAPI
421NTAPI
423 _In_ HIDP_REPORT_TYPE ReportType,
430
432HIDAPI
434NTAPI
436 _In_ HIDP_REPORT_TYPE ReportType,
440 _Out_ PULONG UsageValue,
444
446HIDAPI
448NTAPI
450 _In_ HIDP_REPORT_TYPE ReportType,
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
477HIDAPI
479NTAPI
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
500HIDAPI
501ULONG
502NTAPI
504 _In_ HIDP_REPORT_TYPE ReportType,
506
508HIDAPI
509ULONG
510NTAPI
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
536HIDAPI
538NTAPI
540 _In_ HIDP_REPORT_TYPE ReportType,
546
548HIDAPI
550NTAPI
552 _In_ HIDP_REPORT_TYPE ReportType,
556 _In_ LONG UsageValue,
560
562HIDAPI
564NTAPI
566 _In_ HIDP_REPORT_TYPE ReportType,
568 _In_ USHORT LinkCollection, /* Optional */
574
576HIDAPI
578NTAPI
580 _In_ HIDP_REPORT_TYPE ReportType,
584 _In_ ULONG UsageValue,
588
590HIDAPI
592NTAPI
594 _In_ HIDP_REPORT_TYPE ReportType,
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
624HIDAPI
626NTAPI
628 _In_ HIDP_REPORT_TYPE ReportType,
636
639HIDAPI
641NTAPI
643 _In_reads_(UsageListLength) PUSAGE_AND_PAGE PreviousUsageList,
648
651HIDAPI
653NTAPI
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__ */
unsigned char BOOLEAN
LONG NTSTATUS
Definition: precomp.h:26
#define _IRQL_requires_max_(irql)
Definition: driverspecs.h:230
#define PASSIVE_LEVEL
Definition: env_spec_w32.h:693
#define DISPATCH_LEVEL
Definition: env_spec_w32.h:696
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:267
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:507
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:284
HIDAPI NTSTATUS NTAPI HidP_GetLinkCollectionNodes(OUT PHIDP_LINK_COLLECTION_NODE LinkCollectionNodes, IN OUT PULONG LinkCollectionNodesLength, IN PHIDP_PREPARSED_DATA PreparsedData)
Definition: hidp.c:315
HIDAPI NTSTATUS NTAPI HidP_UsageListDifference(IN PUSAGE PreviousUsageList, IN PUSAGE CurrentUsageList, OUT PUSAGE BreakUsageList, OUT PUSAGE MakeUsageList, IN ULONG UsageListLength)
Definition: hidp.c:148
HIDAPI NTSTATUS NTAPI HidP_GetCaps(IN PHIDP_PREPARSED_DATA PreparsedData, OUT PHIDP_CAPS Capabilities)
Definition: hidp.c:26
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:300
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:176
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:98
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:161
HIDAPI ULONG NTAPI HidP_MaxDataListLength(IN HIDP_REPORT_TYPE ReportType, IN PHIDP_PREPARSED_DATA PreparsedData)
Definition: hidp.c:495
HIDAPI ULONG NTAPI HidP_MaxUsageListLength(IN HIDP_REPORT_TYPE ReportType, IN USAGE UsagePage OPTIONAL, IN PHIDP_PREPARSED_DATA PreparsedData)
Definition: hidp.c:79
struct _HIDP_CAPS HIDP_CAPS
_Must_inspect_result_ _In_ UCHAR ReportID
Definition: hidpi.h:482
_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)
_Must_inspect_result_ _Out_writes_to_ DataLength PHIDP_DATA _Inout_ PULONG _In_ PHIDP_PREPARSED_DATA PreparsedData
Definition: hidpi.h:335
_Must_inspect_result_ _Inout_ PULONG LinkCollectionNodesLength
Definition: hidpi.h:358
_Must_inspect_result_ _In_ USAGE _In_ USHORT _In_ USAGE _Out_ PHIDP_BUTTON_CAPS _Inout_ PUSHORT ButtonCapsLength
Definition: hidpi.h:386
struct _HIDP_BUTTON_CAPS * PHIDP_BUTTON_CAPS
struct _USAGE_AND_PAGE USAGE_AND_PAGE
_Must_inspect_result_ _Out_ PHIDP_CAPS Capabilities
Definition: hidpi.h:324
_Must_inspect_result_ _In_ USAGE UsagePage
Definition: hidpi.h:382
_Must_inspect_result_ _In_ USAGE _In_ USHORT _In_ USAGE _Out_ PHIDP_BUTTON_CAPS ButtonCaps
Definition: hidpi.h:385
BOOLEAN(NTAPI * PHIDP_INSERT_SCANCODES)(_In_opt_ PVOID Context, _In_reads_bytes_(Length) PCHAR NewScanCodes, _In_ ULONG Length)
Definition: hidpi.h:73
_Must_inspect_result_ _In_ USHORT _Inout_updates_to_ UsageLength PUSAGE_AND_PAGE ButtonList
Definition: hidpi.h:425
_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)
_Must_inspect_result_ _In_ USAGE _In_ USHORT _In_ USAGE _Out_ PHIDP_VALUE_CAPS _Inout_ PUSHORT ValueCapsLength
Definition: hidpi.h:400
struct _HIDP_UNKNOWN_TOKEN * PHIDP_UNKNOWN_TOKEN
_Must_inspect_result_ _In_ USHORT _In_ PHIDP_PREPARSED_DATA _Out_writes_to_ LengthAttributes PHIDP_EXTENDED_ATTRIBUTES _Inout_ OUT PULONG LengthAttributes
Definition: hidpi.h:349
_HIDP_REPORT_TYPE
Definition: hidpi.h:237
@ HidP_Input
Definition: hidpi.h:238
@ HidP_Feature
Definition: hidpi.h:240
@ HidP_Output
Definition: hidpi.h:239
_HIDP_KEYBOARD_DIRECTION
Definition: hidpi.h:47
@ HidP_Keyboard_Break
Definition: hidpi.h:48
@ HidP_Keyboard_Make
Definition: hidpi.h:49
_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 _HIDD_ATTRIBUTES * PHIDD_ATTRIBUTES
_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)
_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)
_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)
struct _HIDP_VALUE_CAPS * PHIDP_VALUE_CAPS
struct _HIDD_CONFIGURATION * PHIDD_CONFIGURATION
#define HIDAPI
Definition: hidpi.h:35
struct _HIDP_KEYBOARD_MODIFIER_STATE * PHIDP_KEYBOARD_MODIFIER_STATE
_Must_inspect_result_ _In_ USHORT _Inout_updates_to_ UsageLength PUSAGE_AND_PAGE _Inout_ ULONG * UsageLength
Definition: hidpi.h:426
_Must_inspect_result_ _In_ USAGE _In_ USHORT _In_ USAGE _Out_ PHIDP_VALUE_CAPS ValueCaps
Definition: hidpi.h:399
struct _HIDP_EXTENDED_ATTRIBUTES * PHIDP_EXTENDED_ATTRIBUTES
struct _HIDP_PREPARSED_DATA * PHIDP_PREPARSED_DATA
Definition: hidpi.h:39
struct _HIDD_CONFIGURATION HIDD_CONFIGURATION
_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)
_Must_inspect_result_ _In_ ULONG UsageListLength
Definition: hidpi.h:647
_Must_inspect_result_ _Out_writes_to_ DataLength PHIDP_DATA _Inout_ PULONG _In_ PHIDP_PREPARSED_DATA _In_ ULONG ReportLength
Definition: hidpi.h:337
struct _HIDP_LINK_COLLECTION_NODE * PHIDP_LINK_COLLECTION_NODE
struct _HIDP_VALUE_CAPS HIDP_VALUE_CAPS
_Must_inspect_result_ _Out_writes_to_ DataLength PHIDP_DATA _Inout_ PULONG DataLength
Definition: hidpi.h:334
_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_LINK_COLLECTION_NODE HIDP_LINK_COLLECTION_NODE
enum _HIDP_KEYBOARD_DIRECTION HIDP_KEYBOARD_DIRECTION
enum _HIDP_REPORT_TYPE HIDP_REPORT_TYPE
struct _HIDP_KEYBOARD_MODIFIER_STATE HIDP_KEYBOARD_MODIFIER_STATE
struct _HIDP_BUTTON_CAPS HIDP_BUTTON_CAPS
struct _HIDP_UNKNOWN_TOKEN HIDP_UNKNOWN_TOKEN
struct _HIDD_ATTRIBUTES HIDD_ATTRIBUTES
_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)
struct _HIDP_CAPS * PHIDP_CAPS
PUCHAR PHIDP_REPORT_DESCRIPTOR
Definition: hidpi.h:38
_Must_inspect_result_ _Out_writes_to_ DataLength PHIDP_DATA DataList
Definition: hidpi.h:333
struct _HIDP_DATA HIDP_DATA
_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)
struct _USAGE_AND_PAGE * PUSAGE_AND_PAGE
struct _HIDP_EXTENDED_ATTRIBUTES HIDP_EXTENDED_ATTRIBUTES
struct _HIDP_DATA * PHIDP_DATA
_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)
_Must_inspect_result_ _In_ USAGE _In_ USHORT LinkCollection
Definition: hidpi.h:383
_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)
_Must_inspect_result_ _In_ USHORT DataIndex
Definition: hidpi.h:346
_Must_inspect_result_ _In_ USAGE _In_ USHORT _In_ USAGE Usage
Definition: hidpi.h:384
USHORT USAGE
Definition: hidusage.h:30
USHORT * PUSAGE
Definition: hidusage.h:30
#define _In_reads_bytes_(s)
Definition: no_sal2.h:170
#define _In_reads_(s)
Definition: no_sal2.h:168
#define _Inout_
Definition: no_sal2.h:162
#define _Must_inspect_result_
Definition: no_sal2.h:62
#define _Out_writes_(s)
Definition: no_sal2.h:176
#define _Out_
Definition: no_sal2.h:160
#define _In_
Definition: no_sal2.h:158
#define _Inout_updates_to_(s, c)
Definition: no_sal2.h:196
#define _In_opt_
Definition: no_sal2.h:212
#define _Out_writes_to_(s, c)
Definition: no_sal2.h:188
#define _Inout_updates_bytes_(s)
Definition: no_sal2.h:184
#define _Out_writes_bytes_(s)
Definition: no_sal2.h:178
#define _ANONYMOUS_UNION
Definition: ntbasedef.h:30
#define _ANONYMOUS_STRUCT
Definition: ntbasedef.h:56
_In_ ULONG _In_ ULONG _In_ ULONG Length
Definition: ntddpcm.h:102
#define BOOLEAN
Definition: pedump.c:73
long LONG
Definition: pedump.c:60
unsigned short USHORT
Definition: pedump.c:61
ULONG Size
Definition: hidpi.h:84
USHORT VendorID
Definition: hidpi.h:85
USHORT ProductID
Definition: hidpi.h:86
USHORT VersionNumber
Definition: hidpi.h:87
ULONG RingBufferSize
Definition: hidpi.h:93
_ANONYMOUS_UNION union _HIDP_BUTTON_CAPS::@2970 DUMMYUNIONNAME
USHORT DataIndexMin
Definition: hidpi.h:138
BOOLEAN IsAbsolute
Definition: hidpi.h:131
USHORT DataIndexMax
Definition: hidpi.h:138
USAGE LinkUsagePage
Definition: hidpi.h:127
USHORT StringIndex
Definition: hidpi.h:142
USHORT LinkCollection
Definition: hidpi.h:125
USAGE UsageMin
Definition: hidpi.h:135
USHORT Reserved3
Definition: hidpi.h:143
struct _HIDP_BUTTON_CAPS::@2970::@2972 NotRange
struct _HIDP_BUTTON_CAPS::@2970::@2971 Range
USHORT StringMin
Definition: hidpi.h:136
USHORT DesignatorMax
Definition: hidpi.h:137
BOOLEAN IsRange
Definition: hidpi.h:128
BOOLEAN IsAlias
Definition: hidpi.h:123
UCHAR ReportID
Definition: hidpi.h:122
USHORT BitField
Definition: hidpi.h:124
USAGE Reserved1
Definition: hidpi.h:141
USHORT DataIndex
Definition: hidpi.h:144
USAGE UsageMax
Definition: hidpi.h:135
USHORT DesignatorMin
Definition: hidpi.h:137
USHORT Reserved4
Definition: hidpi.h:144
BOOLEAN IsStringRange
Definition: hidpi.h:129
USAGE LinkUsage
Definition: hidpi.h:126
USHORT Reserved2
Definition: hidpi.h:142
USHORT StringMax
Definition: hidpi.h:136
USHORT DesignatorIndex
Definition: hidpi.h:143
BOOLEAN IsDesignatorRange
Definition: hidpi.h:130
USAGE UsagePage
Definition: hidpi.h:121
USHORT NumberLinkCollectionNodes
Definition: hidpi.h:156
USHORT NumberInputButtonCaps
Definition: hidpi.h:157
USHORT NumberOutputButtonCaps
Definition: hidpi.h:160
USHORT NumberFeatureButtonCaps
Definition: hidpi.h:163
USAGE UsagePage
Definition: hidpi.h:151
USHORT NumberInputValueCaps
Definition: hidpi.h:158
USHORT FeatureReportByteLength
Definition: hidpi.h:154
USHORT NumberOutputValueCaps
Definition: hidpi.h:161
USHORT OutputReportByteLength
Definition: hidpi.h:153
USHORT InputReportByteLength
Definition: hidpi.h:152
USHORT NumberFeatureDataIndices
Definition: hidpi.h:165
USHORT NumberInputDataIndices
Definition: hidpi.h:159
USHORT NumberFeatureValueCaps
Definition: hidpi.h:164
USHORT NumberOutputDataIndices
Definition: hidpi.h:162
USAGE Usage
Definition: hidpi.h:150
BOOLEAN On
Definition: hidpi.h:173
ULONG RawValue
Definition: hidpi.h:172
_ANONYMOUS_UNION union _HIDP_DATA::@2973 DUMMYUNIONNAME
USHORT DataIndex
Definition: hidpi.h:169
USHORT Reserved
Definition: hidpi.h:170
PHIDP_UNKNOWN_TOKEN GlobalUnknowns
Definition: hidpi.h:180
_ANONYMOUS_UNION union _HIDP_KEYBOARD_MODIFIER_STATE::@2968 DUMMYUNIONNAME
_ANONYMOUS_STRUCT struct _HIDP_KEYBOARD_MODIFIER_STATE::@2968::@2969 DUMMYSTRUCTNAME
ULONG BitField
Definition: hidpi.h:44
struct _HIDP_VALUE_CAPS::@2974::@2975 Range
USAGE Usage
Definition: hidpi.h:229
_ANONYMOUS_UNION union _HIDP_VALUE_CAPS::@2974 DUMMYUNIONNAME
USAGE LinkUsagePage
Definition: hidpi.h:207
USHORT BitSize
Definition: hidpi.h:214
USHORT StringMin
Definition: hidpi.h:224
USAGE UsageMin
Definition: hidpi.h:223
LONG LogicalMin
Definition: hidpi.h:219
USAGE Reserved1
Definition: hidpi.h:229
LONG PhysicalMax
Definition: hidpi.h:220
USHORT BitField
Definition: hidpi.h:204
USHORT DataIndexMin
Definition: hidpi.h:226
USHORT Reserved3
Definition: hidpi.h:231
USHORT Reserved2[5]
Definition: hidpi.h:216
USHORT DesignatorMin
Definition: hidpi.h:225
USHORT DesignatorIndex
Definition: hidpi.h:231
USHORT ReportCount
Definition: hidpi.h:215
USAGE UsagePage
Definition: hidpi.h:201
USHORT Reserved4
Definition: hidpi.h:232
BOOLEAN IsRange
Definition: hidpi.h:208
LONG PhysicalMin
Definition: hidpi.h:220
UCHAR Reserved
Definition: hidpi.h:213
UCHAR ReportID
Definition: hidpi.h:202
USAGE UsageMax
Definition: hidpi.h:223
USHORT DesignatorMax
Definition: hidpi.h:225
USHORT StringIndex
Definition: hidpi.h:230
BOOLEAN IsAbsolute
Definition: hidpi.h:211
USHORT StringMax
Definition: hidpi.h:224
ULONG UnitsExp
Definition: hidpi.h:217
struct _HIDP_VALUE_CAPS::@2974::@2976 NotRange
ULONG Units
Definition: hidpi.h:218
BOOLEAN IsStringRange
Definition: hidpi.h:209
USHORT DataIndexMax
Definition: hidpi.h:226
LONG LogicalMax
Definition: hidpi.h:219
BOOLEAN IsAlias
Definition: hidpi.h:203
BOOLEAN IsDesignatorRange
Definition: hidpi.h:210
USHORT DataIndex
Definition: hidpi.h:232
BOOLEAN HasNull
Definition: hidpi.h:212
USAGE LinkUsage
Definition: hidpi.h:206
USHORT LinkCollection
Definition: hidpi.h:205
USAGE UsagePage
Definition: hidpi.h:80
USAGE Usage
Definition: hidpi.h:79
uint32_t * PULONG
Definition: typedefs.h:59
#define NTAPI
Definition: typedefs.h:36
uint16_t * PUSHORT
Definition: typedefs.h:56
int32_t * PLONG
Definition: typedefs.h:58
unsigned char * PUCHAR
Definition: typedefs.h:53
uint32_t ULONG
Definition: typedefs.h:59
#define OUT
Definition: typedefs.h:40
char * PCHAR
Definition: typedefs.h:51
_Must_inspect_result_ _In_ WDFDMAENABLER _In_ _In_opt_ PWDF_OBJECT_ATTRIBUTES Attributes
_Reserved_ PVOID Reserved
Definition: winddi.h:3974
unsigned char UCHAR
Definition: xmlstorage.h:181