ReactOS 0.4.15-dev-7961-gdcf9eb0
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
11VOID
15{
16 //
17 // free collection
18 //
20}
21
22
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
62 IN PHIDP_REPORT_DESCRIPTOR ReportDesc,
63 IN ULONG DescLength,
66{
68
69 //
70 // get description;
71 //
74}
75
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
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
118HIDAPI
120NTAPI
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
145HIDAPI
147NTAPI
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
158HIDAPI
160NTAPI
162 IN HIDP_REPORT_TYPE ReportType,
167 IN PCHAR Report,
169{
171}
172
173HIDAPI
175NTAPI
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
186HIDAPI
188NTAPI
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
210HIDAPI
212NTAPI
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
235HIDAPI
237NTAPI
239 IN PUSAGE_AND_PAGE ChangedUsageList,
241 IN HIDP_KEYBOARD_DIRECTION KeyAction,
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
252HIDAPI
254NTAPI
256 HIDP_REPORT_TYPE ReportType,
260{
262}
263
264HIDAPI
266NTAPI
268 IN HIDP_REPORT_TYPE ReportType,
271 IN USAGE Usage,
275{
277 ASSERT(FALSE);
279}
280
281HIDAPI
283NTAPI
285 IN HIDP_REPORT_TYPE ReportType,
289 IN PCHAR Report,
291{
293 ASSERT(FALSE);
295}
296
297HIDAPI
299NTAPI
301 IN HIDP_REPORT_TYPE ReportType,
306{
308 ASSERT(FALSE);
310}
311
312HIDAPI
314NTAPI
316 OUT PHIDP_LINK_COLLECTION_NODE LinkCollectionNodes,
319{
321 ASSERT(FALSE);
323}
324
326NTAPI
328 IN PCHAR HidPacket,
329 IN USHORT HidPacketLength,
332{
334 ASSERT(FALSE);
336}
337
339NTAPI
343{
345 ASSERT(FALSE);
347}
348
349HIDAPI
351NTAPI
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);
366}
367
368
369HIDAPI
371NTAPI
373 IN HIDP_REPORT_TYPE ReportType,
376 IN PUSAGE UsageList,
379 IN OUT PCHAR Report,
381{
383 ASSERT(FALSE);
385}
386
387HIDAPI
389NTAPI
391 IN PUSAGE ChangedUsageList,
393 IN HIDP_KEYBOARD_DIRECTION KeyAction,
395 IN PHIDP_INSERT_SCANCODES InsertCodesProcedure,
396 IN PVOID InsertCodesContext)
397{
399 ASSERT(FALSE);
401}
402
403HIDAPI
405NTAPI
407 IN HIDP_REPORT_TYPE ReportType,
410 IN PUSAGE UsageList,
413 IN OUT PCHAR Report,
415{
417 ASSERT(FALSE);
419}
420
421HIDAPI
423NTAPI
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);
438}
439
440HIDAPI
442NTAPI
444 IN HIDP_REPORT_TYPE ReportType,
447 IN USAGE Usage,
448 IN ULONG UsageValue,
450 IN OUT PCHAR Report,
452{
454 ASSERT(FALSE);
456}
457
458HIDAPI
460NTAPI
462 IN HIDP_REPORT_TYPE ReportType,
465 IN USAGE Usage,
466 IN LONG UsageValue,
468 IN OUT PCHAR Report,
470{
472 ASSERT(FALSE);
474}
475
476HIDAPI
478NTAPI
480 IN HIDP_REPORT_TYPE ReportType,
484 IN OUT PCHAR Report,
486{
488 ASSERT(FALSE);
490}
491
492HIDAPI
493ULONG
494NTAPI
496 IN HIDP_REPORT_TYPE ReportType,
498{
500 ASSERT(FALSE);
502}
503
504HIDAPI
506NTAPI
508 IN HIDP_REPORT_TYPE ReportType,
511 IN OUT PCHAR Report,
513{
515 ASSERT(FALSE);
517}
518
519#undef HidP_GetValueCaps
520
521HIDAPI
523NTAPI
525 HIDP_REPORT_TYPE ReportType,
529{
530 return HidP_GetSpecificValueCaps(ReportType,
533 0,
534 ValueCaps,
537}
LONG NTSTATUS
Definition: precomp.h:26
_In_ ULONG _In_opt_ WDFREQUEST _In_opt_ PVOID _In_ size_t _In_ PVOID _In_ size_t _Out_ size_t * DataLength
Definition: cdrom.h:1444
#define FALSE
Definition: types.h:117
Status
Definition: gdiplustypes.h:25
_Must_inspect_result_ typedef _Out_ PHIDP_CAPS Capabilities
Definition: hidclass.h:103
NTSTATUS NTAPI HidP_SysPowerEvent(IN PCHAR HidPacket, IN USHORT HidPacketLength, IN PHIDP_PREPARSED_DATA Ppd, OUT PULONG OutputBuffer)
Definition: hidp.c:327
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_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
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 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 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_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
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_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
HIDAPI NTSTATUS NTAPI HidP_GetLinkCollectionNodes(OUT PHIDP_LINK_COLLECTION_NODE LinkCollectionNodes, IN OUT PULONG LinkCollectionNodesLength, IN PHIDP_PREPARSED_DATA PreparsedData)
Definition: hidp.c:315
#define UNIMPLEMENTED
Definition: hidp.c:9
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_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
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
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
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
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_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_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
NTSTATUS NTAPI HidP_SysPowerCaps(IN PHIDP_PREPARSED_DATA Ppd, OUT PULONG OutputBuffer)
Definition: hidp.c:340
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
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
VOID NTAPI HidP_FreeCollectionDescription(IN PHIDP_DEVICE_DESC DeviceDescription)
Definition: hidp.c:13
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
NTSTATUS TranslateStatusForUpperLayer(IN NTSTATUS Status)
Definition: hidp.c:37
HIDAPI NTSTATUS NTAPI HidParser_GetCaps(IN PVOID CollectionContext, OUT PHIDP_CAPS Capabilities)
Definition: hidparser.c:193
HIDAPI NTSTATUS NTAPI HidParser_UsageListDifference(IN PUSAGE PreviousUsageList, IN PUSAGE CurrentUsageList, OUT PUSAGE BreakUsageList, OUT PUSAGE MakeUsageList, IN ULONG UsageListLength)
Definition: hidparser.c:375
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
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
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 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
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
HIDAPI ULONG NTAPI HidParser_MaxUsageListLength(IN PVOID CollectionContext, IN HIDP_REPORT_TYPE ReportType, IN USAGE UsagePage OPTIONAL)
Definition: hidparser.c:253
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
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
VOID NTAPI HidParser_FreeCollectionDescription(IN PHIDP_DEVICE_DESC DeviceDescription)
Definition: hidparser.c:163
#define HIDP_STATUS_INVALID_REPORT_TYPE
Definition: hidpi.h:251
_Must_inspect_result_ _In_ UCHAR ReportID
Definition: hidpi.h:482
_Must_inspect_result_ _Out_writes_to_ DataLength PHIDP_DATA _Inout_ PULONG _In_ PHIDP_PREPARSED_DATA PreparsedData
Definition: hidpi.h:335
#define HIDP_STATUS_INTERNAL_ERROR
Definition: hidpi.h:257
_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
#define HIDP_LINK_COLLECTION_UNSPECIFIED
Definition: hidpi.h:185
_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_ _In_ USAGE _In_ USHORT _In_ USAGE _Out_ PHIDP_VALUE_CAPS _Inout_ PUSHORT ValueCapsLength
Definition: hidpi.h:400
_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_Input
Definition: hidpi.h:238
@ HidP_Feature
Definition: hidpi.h:240
@ HidP_Output
Definition: hidpi.h:239
#define HIDAPI
Definition: hidpi.h:35
_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_PREPARSED_DATA * PHIDP_PREPARSED_DATA
Definition: hidpi.h:39
_Must_inspect_result_ _In_ ULONG UsageListLength
Definition: hidpi.h:647
#define HidP_GetButtonCaps(_Type_, _Caps_, _Len_, _Data_)
Definition: hidpi.h:279
_Must_inspect_result_ _Out_writes_to_ DataLength PHIDP_DATA _Inout_ PULONG _In_ PHIDP_PREPARSED_DATA _In_ ULONG ReportLength
Definition: hidpi.h:337
enum _HIDP_KEYBOARD_DIRECTION HIDP_KEYBOARD_DIRECTION
enum _HIDP_REPORT_TYPE HIDP_REPORT_TYPE
#define HidP_GetValueCaps(_Type_, _Caps_, _Len_, _Data_)
Definition: hidpi.h:470
#define HIDP_STATUS_USAGE_NOT_FOUND
Definition: hidpi.h:253
#define HIDP_STATUS_BUFFER_TOO_SMALL
Definition: hidpi.h:256
PUCHAR PHIDP_REPORT_DESCRIPTOR
Definition: hidpi.h:38
_Must_inspect_result_ _Out_writes_to_ DataLength PHIDP_DATA DataList
Definition: hidpi.h:333
_Must_inspect_result_ _In_ USAGE _In_ USHORT LinkCollection
Definition: hidpi.h:383
_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 HID_USAGE_PAGE_UNDEFINED
Definition: hidusage.h:175
#define ASSERT(a)
Definition: mode.c:44
#define STATUS_NOT_IMPLEMENTED
Definition: ntstatus.h:239
long LONG
Definition: pedump.c:60
unsigned short USHORT
Definition: pedump.c:61
#define STATUS_BUFFER_TOO_SMALL
Definition: shellext.h:69
PULONG MinorVersion OPTIONAL
Definition: CrossNt.h:68
USAGE Usage
Definition: hidpi.h:79
uint32_t * PULONG
Definition: typedefs.h:59
INT POOL_TYPE
Definition: typedefs.h:78
#define NTAPI
Definition: typedefs.h:36
uint16_t * PUSHORT
Definition: typedefs.h:56
#define IN
Definition: typedefs.h:39
int32_t * PLONG
Definition: typedefs.h:58
uint32_t ULONG
Definition: typedefs.h:59
#define OUT
Definition: typedefs.h:40
char * PCHAR
Definition: typedefs.h:51
#define STATUS_NO_DATA_DETECTED
Definition: udferr_usr.h:131
#define STATUS_INSUFFICIENT_RESOURCES
Definition: udferr_usr.h:158
_Must_inspect_result_ _In_ WDFDMAENABLER _In_ _In_opt_ PWDF_OBJECT_ATTRIBUTES Attributes
_Must_inspect_result_ _In_ WDFDEVICE _In_ DEVICE_REGISTRY_PROPERTY _In_ _Strict_type_match_ POOL_TYPE PoolType
Definition: wdfdevice.h:3815
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR OutputBuffer
Definition: wdfiotarget.h:863
_Must_inspect_result_ _In_ PWDFDEVICE_INIT _In_ PCUNICODE_STRING DeviceDescription
Definition: wdfpdo.h:432
unsigned char UCHAR
Definition: xmlstorage.h:181