ReactOS 0.4.15-dev-7674-gc0b4db1
fx.hpp
Go to the documentation of this file.
1/*++
2
3Copyright (c) Microsoft Corporation. All rights reserved.
4
5Module Name:
6
7 Fx.hpp
8
9Abstract:
10
11 This is the main driver framework include file.
12
13Author:
14 WDF team
15
16Environment:
17
18 kernel mode only
19
20Revision History:
21
22--*/
23
24#ifndef _FX_H
25#define _FX_H
26
27extern "C" {
28#include "mx.h"
29}
30
31#include "fxmacros.hpp"
32
33extern "C" {
34#include "wdf.h"
35// #include "wdmsec.h"
36#include "wdmguid.h"
37
38// #include "wdfdevicepri.h"
39// #include "wdfiotargetpri.h"
40#include "wdfcx.h"
41#include "wdfldr.h"
42
43#include <fxdynamicswrapper.h>
44
45#include "wdf10.h"
46#include "wdf11.h"
47#include "wdf15.h"
48#include "wdf17.h"
49#include "wdf19.h"
50#include "wdf111.h"
51#include "wdf113.h"
52#include "wdf115.h"
53}
54
55#define KMDF_ONLY_CODE_PATH_ASSERT()
56
57// Integer overflow functions
58#include "ntintsafe.h"
59
60#include "fxforward.hpp"
61
62//KMDF defines for shared type names
63#include "fxtypedefskm.hpp"
64
65// #include "fxwmicompat.h"
66// #include "fxtrace.h"
67#if defined(EVENT_TRACING)
68#include "fxwmicompat.h"
69#include "fxtrace.h"
70#else
71#include "dbgtrace.h"
72#endif // EVENT_TRACING
73#include "fxtypes.h"
75#include "fxpool.h"
76#include "fxglobalskm.h"
77#include "fxpoolinlines.hpp"
78#include "fxverifier.h"
79#include "fxverifierkm.h"
80#include "fxmdl.h"
81#include "fxprobeandlock.h"
82
83#include "fxperftracekm.hpp"
84// #include "DriverFrameworks-KernelMode-KmEvents.h"
85
86#include <ntstrsafe.h>
87
88#include "fxstump.hpp"
89
90#include "fxrequestbuffer.hpp"
91
92#include "fxtagtracker.hpp"
93
94// internal locks
95#include "fxverifierlock.hpp"
96#include "fxlock.hpp"
97
98// base objects
99#include "fxobject.hpp"
100#include "fxpagedobject.hpp"
101#include "fxnonpagedobject.hpp"
102
103#include "fxhandle.h"
104
105// external locks
106#include "fxwaitlock.hpp"
107#include "fxspinlock.hpp"
108
109// utitilty classes and functions
112#include "fxdisposelist.hpp"
113#include "fxcollection.hpp"
114#include "stringutil.hpp"
115
116// abstract classes
117#include "ifxhascallbacks.hpp"
118
119// callback delegation and locking
120#include "fxsystemthread.hpp"
121#include "fxsystemworkitem.hpp"
122#include "fxcallbacklock.hpp"
123#include "fxcallbackspinlock.hpp"
125#include "fxcallback.hpp"
126#include "fxsystemthread.hpp"
127
128#include "ifxmemory.hpp"
129#include "fxlookasidelist.hpp"
132#include "fxmemoryobject.hpp"
133#include "fxmemorybuffer.hpp"
137#include "fxrequestmemory.hpp"
138#include "fxregkey.hpp"
139#include "fxautoregistry.hpp"
140#include "fxautostring.hpp"
141#include "fxstring.hpp"
142
145
146#include "fxresource.hpp"
147#include "fxrelateddevice.hpp"
148#include "fxdeviceinterface.hpp"
149#include "fxqueryinterface.hpp"
150#include "fxdevicetext.hpp"
151
152#include "fxirp.hpp"
153#include "fxdriver.hpp"
154
155// generic package interface
156#include "fxpackage.hpp"
157#include "fxpkggeneral.hpp"
159#include "fxpkgpnp.hpp"
160#include "fxwatchdog.hpp"
161
162// Device support
163#include "fxchildlist.hpp"
164#include "fxcxdeviceinfo.hpp"
165#include "fxdevice.hpp"
166
167#include "fxpkgio.hpp"
168
170
171#include "fxirpqueue.hpp"
172#include "fxrequestcontext.hpp"
173#include "fxrequestcallbacks.hpp"
174#include "fxrequestbase.hpp"
175#include "fxrequest.hpp"
176#include "fxsyncrequest.hpp"
177
178// specialized irp handlers (ie packages)
179#include "fxpkgfdo.hpp"
180#include "fxpkgpdo.hpp"
181#include "fxwmiirphandler.hpp"
182#include "fxwmiprovider.hpp"
183#include "fxwmiinstance.hpp"
184
185// queus for read, write, (internal) IOCTL
186#include "fxioqueue.hpp"
187#include "fxfileobject.hpp"
190
191#include "fxdpc.hpp"
192#include "fxworkitem.hpp"
193#include "fxtimer.hpp"
194#include "fxinterruptkm.hpp"
195
196// IO targets (device lower edge interface)
197#include "fxiotarget.hpp"
198#include "fxiotargetremote.hpp"
199#include "fxiotargetself.hpp"
200
201#include "fxusbdevice.hpp"
202#include "fxusbinterface.hpp"
203#include "fxusbpipe.hpp"
204
205// DMA support
206#include "fxdmaenabler.hpp"
207#include "fxdmatransaction.hpp"
208#include "fxcommonbuffer.hpp"
209
210// Triage info.
211// #include "wdftriage.h"
212
213#include "fxtelemetry.hpp"
214#endif // _FX_H