ReactOS  0.4.15-dev-1386-g5cb9f87
hidp.c
Go to the documentation of this file.
1 #define _HIDPI_
2 #define _HIDPI_NO_FUNCTION_MACROS_
3 #include <ntddk.h>
4 #include <hidpddi.h>
5 
6 #include "hidparser.h"
7 #include "hidp.h"
8 
9 #define UNIMPLEMENTED DebugFunction("%s is UNIMPLEMENTED\n", __FUNCTION__)
10 
11 VOID
12 NTAPI
15 {
16  //
17  // free collection
18  //
20 }
21 
22 
23 HIDAPI
25 NTAPI
29 {
30  //
31  // get caps
32  //
34 }
35 
39 {
40  //
41  // now we are handling only this values, for others just return
42  // status as it is.
43  //
44  switch (Status)
45  {
54  default:
55  return Status;
56  }
57 }
58 
60 NTAPI
62  IN PHIDP_REPORT_DESCRIPTOR ReportDesc,
63  IN ULONG DescLength,
66 {
68 
69  //
70  // get description;
71  //
74 }
75 
76 HIDAPI
77 ULONG
78 NTAPI
80  IN HIDP_REPORT_TYPE ReportType,
83 {
84  //
85  // sanity check
86  //
87  ASSERT(ReportType == HidP_Input || ReportType == HidP_Output || ReportType == HidP_Feature);
88 
89  //
90  // get usage length
91  //
93 }
94 
95 HIDAPI
97 NTAPI
99  IN HIDP_REPORT_TYPE ReportType,
102  IN USAGE Usage,
106 {
107  //
108  // sanity check
109  //
110  ASSERT(ReportType == HidP_Input || ReportType == HidP_Output || ReportType == HidP_Feature);
111 
112  //
113  // get value caps
114  //
116 }
117 
118 HIDAPI
119 NTSTATUS
120 NTAPI
122  IN HIDP_REPORT_TYPE ReportType,
125  OUT PUSAGE UsageList,
128  IN PCHAR Report,
130 {
131  //
132  // sanity check
133  //
134  ASSERT(ReportType == HidP_Input || ReportType == HidP_Output || ReportType == HidP_Feature);
135 
136  //
137  // get usages
138  //
139  return HidParser_GetUsages(PreparsedData, ReportType, UsagePage, LinkCollection, UsageList, UsageLength, Report, ReportLength);
140 }
141 
142 
143 #undef HidP_GetButtonCaps
144 
145 HIDAPI
146 NTSTATUS
147 NTAPI
149  IN PUSAGE PreviousUsageList,
150  IN PUSAGE CurrentUsageList,
151  OUT PUSAGE BreakUsageList,
152  OUT PUSAGE MakeUsageList,
154 {
155  return HidParser_UsageListDifference(PreviousUsageList, CurrentUsageList, BreakUsageList, MakeUsageList, UsageListLength);
156 }
157 
158 HIDAPI
159 NTSTATUS
160 NTAPI
162  IN HIDP_REPORT_TYPE ReportType,
167  IN PCHAR Report,
169 {
171 }
172 
173 HIDAPI
174 NTSTATUS
175 NTAPI
177  IN PUSAGE_AND_PAGE PreviousUsageList,
178  IN PUSAGE_AND_PAGE CurrentUsageList,
179  OUT PUSAGE_AND_PAGE BreakUsageList,
180  OUT PUSAGE_AND_PAGE MakeUsageList,
182 {
183  return HidParser_UsageAndPageListDifference(PreviousUsageList, CurrentUsageList, BreakUsageList, MakeUsageList, UsageListLength);
184 }
185 
186 HIDAPI
187 NTSTATUS
188 NTAPI
190  IN HIDP_REPORT_TYPE ReportType,
193  IN USAGE Usage,
194  OUT PLONG UsageValue,
196  IN PCHAR Report,
198 {
199  //
200  // sanity check
201  //
202  ASSERT(ReportType == HidP_Input || ReportType == HidP_Output || ReportType == HidP_Feature);
203 
204  //
205  // get scaled usage value
206  //
207  return HidParser_GetScaledUsageValue(PreparsedData, ReportType, UsagePage, LinkCollection, Usage, UsageValue, Report, ReportLength);
208 }
209 
210 HIDAPI
211 NTSTATUS
212 NTAPI
214  IN HIDP_REPORT_TYPE ReportType,
217  IN USAGE Usage,
218  OUT PULONG UsageValue,
220  IN PCHAR Report,
222 {
223  //
224  // sanity check
225  //
226  ASSERT(ReportType == HidP_Input || ReportType == HidP_Output || ReportType == HidP_Feature);
227 
228  //
229  // get scaled usage value
230  //
231  return HidParser_GetUsageValue(PreparsedData, ReportType, UsagePage, LinkCollection, Usage, UsageValue, Report, ReportLength);
232 }
233 
234 
235 HIDAPI
236 NTSTATUS
237 NTAPI
239  IN PUSAGE_AND_PAGE ChangedUsageList,
241  IN HIDP_KEYBOARD_DIRECTION KeyAction,
242  IN OUT PHIDP_KEYBOARD_MODIFIER_STATE ModifierState,
243  IN PHIDP_INSERT_SCANCODES InsertCodesProcedure,
244  IN PVOID InsertCodesContext)
245 {
246  //
247  // translate usage pages
248  //
249  return HidParser_TranslateUsageAndPagesToI8042ScanCodes(ChangedUsageList, UsageListLength, KeyAction, ModifierState, InsertCodesProcedure, InsertCodesContext);
250 }
251 
252 HIDAPI
253 NTSTATUS
254 NTAPI
256  HIDP_REPORT_TYPE ReportType,
260 {
262 }
263 
264 HIDAPI
265 NTSTATUS
266 NTAPI
268  IN HIDP_REPORT_TYPE ReportType,
271  IN USAGE Usage,
275 {
277  ASSERT(FALSE);
278  return STATUS_NOT_IMPLEMENTED;
279 }
280 
281 HIDAPI
282 NTSTATUS
283 NTAPI
285  IN HIDP_REPORT_TYPE ReportType,
289  IN PCHAR Report,
291 {
293  ASSERT(FALSE);
294  return STATUS_NOT_IMPLEMENTED;
295 }
296 
297 HIDAPI
298 NTSTATUS
299 NTAPI
301  IN HIDP_REPORT_TYPE ReportType,
306 {
308  ASSERT(FALSE);
309  return STATUS_NOT_IMPLEMENTED;
310 }
311 
312 HIDAPI
313 NTSTATUS
314 NTAPI
316  OUT PHIDP_LINK_COLLECTION_NODE LinkCollectionNodes,
319 {
321  ASSERT(FALSE);
322  return STATUS_NOT_IMPLEMENTED;
323 }
324 
325 NTSTATUS
326 NTAPI
328  IN PCHAR HidPacket,
329  IN USHORT HidPacketLength,
332 {
334  ASSERT(FALSE);
335  return STATUS_NOT_IMPLEMENTED;
336 }
337 
338 NTSTATUS
339 NTAPI
343 {
345  ASSERT(FALSE);
346  return STATUS_NOT_IMPLEMENTED;
347 }
348 
349 HIDAPI
350 NTSTATUS
351 NTAPI
353  IN HIDP_REPORT_TYPE ReportType,
356  IN USAGE Usage,
357  OUT PCHAR UsageValue,
358  IN USHORT UsageValueByteLength,
360  IN PCHAR Report,
362 {
364  ASSERT(FALSE);
365  return STATUS_NOT_IMPLEMENTED;
366 }
367 
368 
369 HIDAPI
370 NTSTATUS
371 NTAPI
373  IN HIDP_REPORT_TYPE ReportType,
376  IN PUSAGE UsageList,
379  IN OUT PCHAR Report,
381 {
383  ASSERT(FALSE);
384  return STATUS_NOT_IMPLEMENTED;
385 }
386 
387 HIDAPI
388 NTSTATUS
389 NTAPI
391  IN PUSAGE ChangedUsageList,
393  IN HIDP_KEYBOARD_DIRECTION KeyAction,
394  IN OUT PHIDP_KEYBOARD_MODIFIER_STATE ModifierState,
395  IN PHIDP_INSERT_SCANCODES InsertCodesProcedure,
396  IN PVOID InsertCodesContext)
397 {
399  ASSERT(FALSE);
400  return STATUS_NOT_IMPLEMENTED;
401 }
402 
403 HIDAPI
404 NTSTATUS
405 NTAPI
407  IN HIDP_REPORT_TYPE ReportType,
410  IN PUSAGE UsageList,
413  IN OUT PCHAR Report,
415 {
417  ASSERT(FALSE);
418  return STATUS_NOT_IMPLEMENTED;
419 }
420 
421 HIDAPI
422 NTSTATUS
423 NTAPI
425  IN HIDP_REPORT_TYPE ReportType,
428  IN USAGE Usage,
429  IN PCHAR UsageValue,
430  IN USHORT UsageValueByteLength,
432  OUT PCHAR Report,
434 {
436  ASSERT(FALSE);
437  return STATUS_NOT_IMPLEMENTED;
438 }
439 
440 HIDAPI
441 NTSTATUS
442 NTAPI
444  IN HIDP_REPORT_TYPE ReportType,
447  IN USAGE Usage,
448  IN ULONG UsageValue,
450  IN OUT PCHAR Report,
452 {
454  ASSERT(FALSE);
455  return STATUS_NOT_IMPLEMENTED;
456 }
457 
458 HIDAPI
459 NTSTATUS
460 NTAPI
462  IN HIDP_REPORT_TYPE ReportType,
465  IN USAGE Usage,
466  IN LONG UsageValue,
468  IN OUT PCHAR Report,
470 {
472  ASSERT(FALSE);
473  return STATUS_NOT_IMPLEMENTED;
474 }
475 
476 HIDAPI
477 NTSTATUS
478 NTAPI
480  IN HIDP_REPORT_TYPE ReportType,
484  IN OUT PCHAR Report,
486 {
488  ASSERT(FALSE);
489  return STATUS_NOT_IMPLEMENTED;
490 }
491 
492 HIDAPI
493 ULONG
494 NTAPI
496  IN HIDP_REPORT_TYPE ReportType,
498 {
500  ASSERT(FALSE);
501  return STATUS_NOT_IMPLEMENTED;
502 }
503 
504 HIDAPI
505 NTSTATUS
506 NTAPI
508  IN HIDP_REPORT_TYPE ReportType,
509  IN UCHAR ReportID,
511  IN OUT PCHAR Report,
513 {
515  ASSERT(FALSE);
516  return STATUS_NOT_IMPLEMENTED;
517 }
518 
519 #undef HidP_GetValueCaps
520 
521 HIDAPI
522 NTSTATUS
523 NTAPI
525  HIDP_REPORT_TYPE ReportType,
529 {
530  return HidP_GetSpecificValueCaps(ReportType,
533  0,
534  ValueCaps,
536  PreparsedData);
537 }
NTSTATUS NTAPI HidP_SysPowerEvent(IN PCHAR HidPacket, IN USHORT HidPacketLength, IN PHIDP_PREPARSED_DATA Ppd, OUT PULONG OutputBuffer)
Definition: hidp.c:327
signed char * PCHAR
Definition: retypes.h:7
#define HIDP_STATUS_USAGE_NOT_FOUND
Definition: hidpi.h:253
VOID NTAPI HidParser_FreeCollectionDescription(IN PHIDP_DEVICE_DESC DeviceDescription)
Definition: hidparser.c:163
#define IN
Definition: typedefs.h:39
NTSTATUS TranslateStatusForUpperLayer(IN NTSTATUS Status)
Definition: hidp.c:37
#define STATUS_INSUFFICIENT_RESOURCES
Definition: udferr_usr.h:158
HIDAPI NTSTATUS NTAPI HidP_GetUsages(IN HIDP_REPORT_TYPE ReportType, IN USAGE UsagePage, IN USHORT LinkCollection OPTIONAL, OUT PUSAGE UsageList, IN OUT PULONG UsageLength, IN PHIDP_PREPARSED_DATA PreparsedData, IN PCHAR Report, IN ULONG ReportLength)
Definition: hidp.c:121
_Must_inspect_result_ _Out_writes_to_ DataLength PHIDP_DATA _Inout_ PULONG _In_ PHIDP_PREPARSED_DATA PreparsedData
Definition: hidpi.h:333
HIDAPI NTSTATUS NTAPI HidP_SetScaledUsageValue(IN HIDP_REPORT_TYPE ReportType, IN USAGE UsagePage, IN USHORT LinkCollection OPTIONAL, IN USAGE Usage, IN LONG UsageValue, IN PHIDP_PREPARSED_DATA PreparsedData, IN OUT PCHAR Report, IN ULONG ReportLength)
Definition: hidp.c:461
BOOLEAN(NTAPI * PHIDP_INSERT_SCANCODES)(_In_opt_ PVOID Context, _In_reads_bytes_(Length) PCHAR NewScanCodes, _In_ ULONG Length)
Definition: hidpi.h:73
HIDAPI NTSTATUS NTAPI HidP_GetScaledUsageValue(IN HIDP_REPORT_TYPE ReportType, IN USAGE UsagePage, IN USHORT LinkCollection OPTIONAL, IN USAGE Usage, OUT PLONG UsageValue, IN PHIDP_PREPARSED_DATA PreparsedData, IN PCHAR Report, IN ULONG ReportLength)
Definition: hidp.c:189
HIDAPI NTSTATUS NTAPI HidParser_UsageListDifference(IN PUSAGE PreviousUsageList, IN PUSAGE CurrentUsageList, OUT PUSAGE BreakUsageList, OUT PUSAGE MakeUsageList, IN ULONG UsageListLength)
Definition: hidparser.c:375
NTSTATUS NTAPI HidParser_GetCollectionDescription(IN PHIDP_REPORT_DESCRIPTOR ReportDesc, IN ULONG DescLength, IN POOL_TYPE PoolType, OUT PHIDP_DEVICE_DESC DeviceDescription)
Definition: hidparser.c:18
HIDAPI NTSTATUS NTAPI HidP_UnsetUsages(IN HIDP_REPORT_TYPE ReportType, IN USAGE UsagePage, IN USHORT LinkCollection, IN PUSAGE UsageList, IN OUT PULONG UsageLength, IN PHIDP_PREPARSED_DATA PreparsedData, IN OUT PCHAR Report, IN ULONG ReportLength)
Definition: hidp.c:372
HIDAPI NTSTATUS NTAPI HidP_TranslateUsagesToI8042ScanCodes(IN PUSAGE ChangedUsageList, IN ULONG UsageListLength, IN HIDP_KEYBOARD_DIRECTION KeyAction, IN OUT PHIDP_KEYBOARD_MODIFIER_STATE ModifierState, IN PHIDP_INSERT_SCANCODES InsertCodesProcedure, IN PVOID InsertCodesContext)
Definition: hidp.c:390
HIDAPI ULONG NTAPI HidP_MaxUsageListLength(IN HIDP_REPORT_TYPE ReportType, IN USAGE UsagePage OPTIONAL, IN PHIDP_PREPARSED_DATA PreparsedData)
Definition: hidp.c:79
_Must_inspect_result_ _In_ USAGE _In_ USHORT _In_ USAGE _Out_ PHIDP_BUTTON_CAPS _Inout_ PUSHORT ButtonCapsLength
Definition: hidpi.h:382
HIDAPI NTSTATUS NTAPI HidP_SetUsageValueArray(IN HIDP_REPORT_TYPE ReportType, IN USAGE UsagePage, IN USHORT LinkCollection OPTIONAL, IN USAGE Usage, IN PCHAR UsageValue, IN USHORT UsageValueByteLength, IN PHIDP_PREPARSED_DATA PreparsedData, OUT PCHAR Report, IN ULONG ReportLength)
Definition: hidp.c:424
_Must_inspect_result_ _In_ USAGE _In_ USHORT _In_ USAGE Usage
Definition: hidpi.h:382
USAGE Usage
Definition: hidpi.h:79
#define HIDP_STATUS_BUFFER_TOO_SMALL
Definition: hidpi.h:256
LONG NTSTATUS
Definition: precomp.h:26
VOID NTAPI HidP_FreeCollectionDescription(IN PHIDP_DEVICE_DESC DeviceDescription)
Definition: hidp.c:13
HIDAPI NTSTATUS NTAPI HidParser_GetUsages(IN PVOID CollectionContext, IN HIDP_REPORT_TYPE ReportType, IN USAGE UsagePage, IN USHORT LinkCollection OPTIONAL, OUT USAGE *UsageList, IN OUT PULONG UsageLength, IN PCHAR Report, IN ULONG ReportLength)
Definition: hidparser.c:504
_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
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:315
HIDAPI NTSTATUS NTAPI HidParser_GetUsageValue(IN PVOID CollectionContext, IN HIDP_REPORT_TYPE ReportType, IN USAGE UsagePage, IN USHORT LinkCollection, IN USAGE Usage, OUT PULONG UsageValue, IN PCHAR Report, IN ULONG ReportLength)
Definition: hidparser.c:880
_Must_inspect_result_ _In_ USAGE _In_ USHORT _In_ USAGE _Out_ PHIDP_VALUE_CAPS ValueCaps
Definition: hidpi.h:396
#define STATUS_BUFFER_TOO_SMALL
Definition: shellext.h:69
NTSTATUS NTAPI HidP_SysPowerCaps(IN PHIDP_PREPARSED_DATA Ppd, OUT PULONG OutputBuffer)
Definition: hidp.c:340
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_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
return STATUS_NOT_IMPLEMENTED
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 PCHAR Report, IN ULONG ReportLength)
Definition: hidp.c:213
HIDAPI NTSTATUS NTAPI HidP_UsageListDifference(IN PUSAGE PreviousUsageList, IN PUSAGE CurrentUsageList, OUT PUSAGE BreakUsageList, OUT PUSAGE MakeUsageList, IN ULONG UsageListLength)
Definition: hidp.c:148
_Must_inspect_result_ _In_ PWDFDEVICE_INIT _In_ PCUNICODE_STRING DeviceDescription
Definition: wdfpdo.h:430
NTSTATUS(* NTAPI)(IN PFILE_FULL_EA_INFORMATION EaBuffer, IN ULONG EaLength, OUT PULONG ErrorOffset)
Definition: IoEaTest.cpp:117
#define FALSE
Definition: types.h:117
_Must_inspect_result_ typedef _Out_ PHIDP_CAPS Capabilities
Definition: hidclass.h:103
HIDAPI NTSTATUS NTAPI HidParser_GetScaledUsageValue(IN PVOID CollectionContext, IN HIDP_REPORT_TYPE ReportType, IN USAGE UsagePage, IN USHORT LinkCollection OPTIONAL, IN USAGE Usage, OUT PLONG UsageValue, IN PCHAR Report, IN ULONG ReportLength)
Definition: hidparser.c:559
long LONG
Definition: pedump.c:60
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, IN OUT PCHAR Report, IN ULONG ReportLength)
Definition: hidp.c:443
HIDAPI ULONG NTAPI HidP_MaxDataListLength(IN HIDP_REPORT_TYPE ReportType, IN PHIDP_PREPARSED_DATA PreparsedData)
Definition: hidp.c:495
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
#define HIDAPI
Definition: hidpi.h:35
enum _HIDP_REPORT_TYPE HIDP_REPORT_TYPE
_Must_inspect_result_ _Out_writes_to_ DataLength PHIDP_DATA DataList
Definition: hidpi.h:333
_In_ ULONG _In_opt_ WDFREQUEST _In_opt_ PVOID _In_ size_t _In_ PVOID _In_ size_t _Out_ size_t * DataLength
Definition: cdrom.h:1437
#define HIDP_STATUS_INTERNAL_ERROR
Definition: hidpi.h:257
HIDAPI NTSTATUS NTAPI HidP_GetCaps(IN PHIDP_PREPARSED_DATA PreparsedData, OUT PHIDP_CAPS Capabilities)
Definition: hidp.c:26
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR OutputBuffer
Definition: wdfiotarget.h:859
_Must_inspect_result_ _In_ USAGE UsagePage
Definition: hidpi.h:382
Status
Definition: gdiplustypes.h:24
HIDAPI NTSTATUS NTAPI HidP_SetUsages(IN HIDP_REPORT_TYPE ReportType, IN USAGE UsagePage, IN USHORT LinkCollection, IN PUSAGE UsageList, IN OUT PULONG UsageLength, IN PHIDP_PREPARSED_DATA PreparsedData, IN OUT PCHAR Report, IN ULONG ReportLength)
Definition: hidp.c:406
USHORT * PUSAGE
Definition: hidusage.h:30
#define ASSERT(a)
Definition: mode.c:45
HIDAPI ULONG NTAPI HidParser_MaxUsageListLength(IN PVOID CollectionContext, IN HIDP_REPORT_TYPE ReportType, IN USAGE UsagePage OPTIONAL)
Definition: hidparser.c:253
INT POOL_TYPE
Definition: typedefs.h:78
struct _HIDP_PREPARSED_DATA * PHIDP_PREPARSED_DATA
Definition: hidpi.h:39
#define HIDP_STATUS_INVALID_REPORT_TYPE
Definition: hidpi.h:251
USHORT USAGE
Definition: hidusage.h:30
HIDAPI NTSTATUS NTAPI HidP_GetUsageValueArray(IN HIDP_REPORT_TYPE ReportType, IN USAGE UsagePage, IN USHORT LinkCollection OPTIONAL, IN USAGE Usage, OUT PCHAR UsageValue, IN USHORT UsageValueByteLength, IN PHIDP_PREPARSED_DATA PreparsedData, IN PCHAR Report, IN ULONG ReportLength)
Definition: hidp.c:352
_Must_inspect_result_ _In_ USHORT _Inout_updates_to_ UsageLength PUSAGE_AND_PAGE ButtonList
Definition: hidpi.h:425
HIDAPI NTSTATUS NTAPI HidP_GetButtonCaps(HIDP_REPORT_TYPE ReportType, PHIDP_BUTTON_CAPS ButtonCaps, PUSHORT ButtonCapsLength, PHIDP_PREPARSED_DATA PreparsedData)
Definition: hidp.c:255
HIDAPI NTSTATUS NTAPI HidParser_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: hidparser.c:689
unsigned char UCHAR
Definition: xmlstorage.h:181
_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
HIDAPI NTSTATUS NTAPI HidParser_GetSpecificValueCaps(IN PVOID CollectionContext, IN HIDP_REPORT_TYPE ReportType, IN USAGE UsagePage, IN USHORT LinkCollection, IN USAGE Usage, OUT PHIDP_VALUE_CAPS ValueCaps, IN OUT PUSHORT ValueCapsLength)
Definition: hidparser.c:321
#define STATUS_NO_DATA_DETECTED
Definition: udferr_usr.h:131
#define UNIMPLEMENTED
Definition: hidp.c:9
_Must_inspect_result_ _Inout_ PULONG LinkCollectionNodesLength
Definition: hidpi.h:358
_Must_inspect_result_ _In_ USAGE _In_ USHORT LinkCollection
Definition: hidpi.h:382
#define HIDP_LINK_COLLECTION_UNSPECIFIED
Definition: hidpi.h:185
HIDAPI NTSTATUS NTAPI HidP_GetValueCaps(HIDP_REPORT_TYPE ReportType, PHIDP_VALUE_CAPS ValueCaps, PUSHORT ValueCapsLength, PHIDP_PREPARSED_DATA PreparsedData)
Definition: hidp.c:524
_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
#define HID_USAGE_PAGE_UNDEFINED
Definition: hidusage.h:175
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
unsigned short USHORT
Definition: pedump.c:61
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
unsigned int * PULONG
Definition: retypes.h:1
_Must_inspect_result_ _In_ USHORT DataIndex
Definition: hidpi.h:346
HIDAPI NTSTATUS NTAPI HidParser_TranslateUsageAndPagesToI8042ScanCodes(IN PUSAGE_AND_PAGE ChangedUsageList, IN ULONG UsageListLength, IN HIDP_KEYBOARD_DIRECTION KeyAction, IN OUT PHIDP_KEYBOARD_MODIFIER_STATE ModifierState, IN PHIDP_INSERT_SCANCODES InsertCodesProcedure, IN PVOID InsertCodesContext)
Definition: hidparser.c:614
NTSTATUS NTAPI HidP_GetCollectionDescription(IN PHIDP_REPORT_DESCRIPTOR ReportDesc, IN ULONG DescLength, IN POOL_TYPE PoolType, OUT PHIDP_DEVICE_DESC DeviceDescription)
Definition: hidp.c:61
_Must_inspect_result_ _In_ USHORT _In_ PHIDP_PREPARSED_DATA _Out_writes_to_ LengthAttributes PHIDP_EXTENDED_ATTRIBUTES _Inout_ OUT PULONG LengthAttributes
Definition: hidpi.h:348
#define OUT
Definition: typedefs.h:40
HIDAPI NTSTATUS NTAPI HidP_SetData(IN HIDP_REPORT_TYPE ReportType, IN PHIDP_DATA DataList, IN OUT PULONG DataLength, IN PHIDP_PREPARSED_DATA PreparsedData, IN OUT PCHAR Report, IN ULONG ReportLength)
Definition: hidp.c:479
_Must_inspect_result_ _In_ WDFDEVICE _In_ DEVICE_REGISTRY_PROPERTY _In_ _Strict_type_match_ POOL_TYPE PoolType
Definition: wdfdevice.h:3810
unsigned int ULONG
Definition: retypes.h:1
HIDAPI NTSTATUS NTAPI HidParser_GetCaps(IN PVOID CollectionContext, OUT PHIDP_CAPS Capabilities)
Definition: hidparser.c:193
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
signed int * PLONG
Definition: retypes.h:5
HIDAPI NTSTATUS NTAPI HidP_TranslateUsageAndPagesToI8042ScanCodes(IN PUSAGE_AND_PAGE ChangedUsageList, IN ULONG UsageListLength, IN HIDP_KEYBOARD_DIRECTION KeyAction, IN OUT PHIDP_KEYBOARD_MODIFIER_STATE ModifierState, IN PHIDP_INSERT_SCANCODES InsertCodesProcedure, IN PVOID InsertCodesContext)
Definition: hidp.c:238
unsigned short * PUSHORT
Definition: retypes.h:2
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
_Must_inspect_result_ _In_ USAGE _In_ USHORT _In_ USAGE _Out_ PHIDP_VALUE_CAPS _Inout_ PUSHORT ValueCapsLength
Definition: hidpi.h:396
_Must_inspect_result_ _In_ WDFDMAENABLER _In_ _In_opt_ PWDF_OBJECT_ATTRIBUTES Attributes
PULONG MinorVersion OPTIONAL
Definition: CrossNt.h:68