ReactOS 0.4.15-dev-8061-g57b775e
precomp.h
Go to the documentation of this file.
1#ifndef _HIDCLASS_PCH_
2#define _HIDCLASS_PCH_
3
4#define _HIDPI_NO_FUNCTION_MACROS_
5#include <wdm.h>
6#include <hidpddi.h>
7#include <stdio.h>
8#include <hidport.h>
9
10#define HIDCLASS_TAG 'CdiH'
11
12typedef struct
13{
21
23
24typedef struct
25{
26 //
27 // hid device extension
28 //
30
31 //
32 // if it is a pdo
33 //
35
36 //
37 // driver extension
38 //
40
41 //
42 // device description
43 //
45
46 //
47 // hid attributes
48 //
50
52
53typedef struct
54{
55 //
56 // parts shared by fdo and pdo
57 //
59
60 //
61 // device capabilities
62 //
64
65 //
66 // hid descriptor
67 //
69
70 //
71 // report descriptor
72 //
74
75 //
76 // device relations
77 //
79
81
82typedef struct
83{
84 //
85 // parts shared by fdo and pdo
86 //
88
89 //
90 // device capabilities
91 //
93
94 //
95 // collection index
96 //
98
99 //
100 // device interface
101 //
103
104 //
105 // FDO device object
106 //
108
109 //
110 // fdo device extension
111 //
113
115
117{
118 //
119 // device extension
120 //
122
123 //
124 // spin lock
125 //
127
128 //
129 // read irp pending list
130 //
132
133 //
134 // completed irp list
135 //
137
138 //
139 // stop in progress indicator
140 //
142
143 //
144 // read complete event
145 //
147
149
150typedef struct
151{
152 //
153 // original request
154 //
156
157 //
158 // file op
159 //
161
162 //
163 // buffer for reading report
164 //
166
167 //
168 // buffer length
169 //
171
172 //
173 // work item
174 //
176
178
179/* fdo.c */
183 IN PIRP Irp);
184
188 IN PIRP Irp);
189
193 IN PIRP Irp);
194
195/* pdo.c */
199 OUT PDEVICE_RELATIONS *OutDeviceRelations);
200
204 IN PIRP Irp);
205
209 ULONG CollectionNumber);
210
214 ULONG CollectionNumber);
215
220
221#endif /* _HIDCLASS_PCH_ */
unsigned char BOOLEAN
LONG NTSTATUS
Definition: precomp.h:26
_In_ PIRP Irp
Definition: csq.h:116
PHIDP_REPORT_IDS HidClassPDO_GetReportDescriptionByReportID(PHIDP_DEVICE_DESC DeviceDescription, UCHAR ReportID)
Definition: pdo.c:71
struct HIDCLASS_COMMON_DEVICE_EXTENSION * PHIDCLASS_COMMON_DEVICE_EXTENSION
NTSTATUS HidClassPDO_PnP(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
Definition: pdo.c:379
struct HIDCLASS_IRP_CONTEXT * PHIDCLASS_IRP_CONTEXT
PHIDP_REPORT_IDS HidClassPDO_GetReportDescription(PHIDP_DEVICE_DESC DeviceDescription, ULONG CollectionNumber)
Definition: pdo.c:45
struct __HIDCLASS_FILEOP_CONTEXT__ HIDCLASS_FILEOP_CONTEXT
NTSTATUS HidClassPDO_CreatePDO(IN PDEVICE_OBJECT DeviceObject, OUT PDEVICE_RELATIONS *OutDeviceRelations)
Definition: pdo.c:660
NTSTATUS HidClassFDO_DispatchRequest(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
Definition: fdo.c:217
struct HIDCLASS_FDO_EXTENSION * PHIDCLASS_FDO_EXTENSION
PHIDP_COLLECTION_DESC HidClassPDO_GetCollectionDescription(PHIDP_DEVICE_DESC DeviceDescription, ULONG CollectionNumber)
Definition: pdo.c:19
NTSTATUS HidClassFDO_DispatchRequestSynchronous(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
Definition: fdo.c:147
struct HIDCLASS_PDO_DEVICE_EXTENSION * PHIDCLASS_PDO_DEVICE_EXTENSION
struct __HIDCLASS_FILEOP_CONTEXT__ * PHIDCLASS_FILEOP_CONTEXT
struct HIDCLASS_DRIVER_EXTENSION * PHIDCLASS_DRIVER_EXTENSION
NTSTATUS HidClassFDO_PnP(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
Definition: fdo.c:631
ULONG KSPIN_LOCK
Definition: env_spec_w32.h:72
_Must_inspect_result_ _In_ UCHAR ReportID
Definition: hidpi.h:482
HIDP_DEVICE_DESC DeviceDescription
Definition: precomp.h:44
PHIDCLASS_DRIVER_EXTENSION DriverExtension
Definition: precomp.h:39
HID_DEVICE_ATTRIBUTES Attributes
Definition: precomp.h:49
HID_DEVICE_EXTENSION HidDeviceExtension
Definition: precomp.h:29
PDRIVER_ADD_DEVICE AddDevice
Definition: precomp.h:18
PDRIVER_OBJECT DriverObject
Definition: precomp.h:14
PDRIVER_UNLOAD DriverUnload
Definition: precomp.h:19
PDEVICE_RELATIONS DeviceRelations
Definition: precomp.h:78
HIDCLASS_COMMON_DEVICE_EXTENSION Common
Definition: precomp.h:58
DEVICE_CAPABILITIES Capabilities
Definition: precomp.h:63
HID_DESCRIPTOR HidDescriptor
Definition: precomp.h:68
PUCHAR ReportDescriptor
Definition: precomp.h:73
PHIDCLASS_FILEOP_CONTEXT FileOp
Definition: precomp.h:160
PVOID InputReportBuffer
Definition: precomp.h:165
ULONG InputReportBufferLength
Definition: precomp.h:170
PIO_WORKITEM CompletionWorkItem
Definition: precomp.h:175
HIDCLASS_COMMON_DEVICE_EXTENSION Common
Definition: precomp.h:87
PDEVICE_OBJECT FDODeviceObject
Definition: precomp.h:107
PHIDCLASS_FDO_EXTENSION FDODeviceExtension
Definition: precomp.h:112
DEVICE_CAPABILITIES Capabilities
Definition: precomp.h:92
UNICODE_STRING DeviceInterface
Definition: precomp.h:102
Definition: typedefs.h:120
LIST_ENTRY ReadPendingIrpListHead
Definition: precomp.h:131
LIST_ENTRY IrpCompletedListHead
Definition: precomp.h:136
PHIDCLASS_PDO_DEVICE_EXTENSION DeviceExtension
Definition: precomp.h:121
#define IN
Definition: typedefs.h:39
unsigned char * PUCHAR
Definition: typedefs.h:53
uint32_t ULONG
Definition: typedefs.h:59
#define OUT
Definition: typedefs.h:40
_In_ PDEVICE_OBJECT DeviceObject
Definition: wdfdevice.h:2055
_In_ UCHAR MajorFunction
Definition: wdfdevice.h:1697
_Must_inspect_result_ _In_ PWDFDEVICE_INIT _In_ PCUNICODE_STRING DeviceDescription
Definition: wdfpdo.h:432
DEVICE_CAPABILITIES
Definition: iotypes.h:965
DRIVER_UNLOAD * PDRIVER_UNLOAD
Definition: iotypes.h:2253
DRIVER_ADD_DEVICE * PDRIVER_ADD_DEVICE
Definition: iotypes.h:2216
DRIVER_DISPATCH * PDRIVER_DISPATCH
Definition: iotypes.h:2262
#define IRP_MJ_MAXIMUM_FUNCTION
unsigned char UCHAR
Definition: xmlstorage.h:181