ReactOS  0.4.15-dev-1632-g4e289ce
wdftypes.h
Go to the documentation of this file.
1 /*++
2 
3 Copyright (c) Microsoft Corporation. All rights reserved.
4 
5 _WdfVersionBuild_
6 
7 Module Name:
8 
9  wdfypes.h
10 
11 Abstract:
12 
13  This module contains contains the C driver frameworks basic types.
14 
15 Environment:
16 
17  kernel mode only
18 
19 Revision History:
20 
21 
22 --*/
23 
24 //
25 // NOTE: This header is generated by stubwork. Please make any
26 // modifications to the corresponding template files
27 // (.x or .y) and use stubwork to regenerate the header
28 //
29 
30 #ifndef _WDFTYPES_H_
31 #define _WDFTYPES_H_
32 
33 #ifndef WDF_EXTERN_C
34  #ifdef __cplusplus
35  #define WDF_EXTERN_C extern "C"
36  #define WDF_EXTERN_C_START extern "C" {
37  #define WDF_EXTERN_C_END }
38  #else
39  #define WDF_EXTERN_C
40  #define WDF_EXTERN_C_START
41  #define WDF_EXTERN_C_END
42  #endif
43 #endif
44 
46 
47 
48 
49 #if (NTDDI_VERSION >= NTDDI_WIN2K)
50 
51 
52 
53 #define WDFAPI
54 
55 #ifndef __WDF_BYTE_DEFINED__
56 #define __WDF_BYTE_DEFINED__
57 typedef UCHAR BYTE;
58 #endif // __WDF_BYTE_DEFINED__
59 
60 //
61 // Windows 2000 does not define FORCEINLINE, so define it if needed
62 //
63 #ifndef FORCEINLINE
64 #if (_MSC_VER >= 1200)
65 #define FORCEINLINE __forceinline
66 #else
67 #define FORCEINLINE __inline
68 #endif
69 #endif
70 
71 
72 //
73 // WDF_WPP_KMDF_DRIVER define is used by the WPP trace template file
74 // (km-init.tpl) to call the framework to register the KMDF provider
75 // if the WppInit and WppCleanup functions are executed in the
76 // Windows 2000 system.
77 //
78 #ifndef WDF_WPP_KMDF_DRIVER
79 #define WDF_WPP_KMDF_DRIVER
80 #endif // WDF_WPP_KMDF_DRIVER
81 
82 //
83 // Do not create an invalid value for this enum in case driver writers mix up
84 // the usage of WdfFalse/FALSE and WdfTrue/TRUE.
85 //
86 typedef enum _WDF_TRI_STATE {
91 
92 
93 
94 typedef PVOID WDFCONTEXT;
95 
96 //
97 // Forward declare structures needed later header files
98 //
101 
103 
104 
105 #define WDF_NO_OBJECT_ATTRIBUTES (NULL)
106 #define WDF_NO_EVENT_CALLBACK (NULL)
107 #define WDF_NO_HANDLE (NULL)
108 #define WDF_NO_CONTEXT (NULL)
109 #define WDF_NO_SEND_OPTIONS (NULL)
110 
111 //
112 // General Handle Type, should always be typeless
113 //
115 
116 //
117 // core handles
118 //
119 DECLARE_HANDLE( WDFDRIVER );
120 DECLARE_HANDLE( WDFDEVICE );
121 
122 DECLARE_HANDLE( WDFWMIPROVIDER );
123 DECLARE_HANDLE( WDFWMIINSTANCE );
124 
125 DECLARE_HANDLE( WDFQUEUE );
126 DECLARE_HANDLE( WDFREQUEST );
127 DECLARE_HANDLE( WDFFILEOBJECT );
128 DECLARE_HANDLE( WDFDPC );
129 DECLARE_HANDLE( WDFTIMER );
130 DECLARE_HANDLE( WDFWORKITEM );
131 DECLARE_HANDLE( WDFINTERRUPT );
132 
133 //
134 // synch and lock handles
135 //
136 DECLARE_HANDLE( WDFWAITLOCK );
137 DECLARE_HANDLE( WDFSPINLOCK );
138 
139 DECLARE_HANDLE( WDFMEMORY );
140 DECLARE_HANDLE( WDFLOOKASIDE );
141 
142 //
143 // i/o targets for different busses
144 //
145 DECLARE_HANDLE( WDFIOTARGET );
146 DECLARE_HANDLE( WDFUSBDEVICE );
147 DECLARE_HANDLE( WDFUSBINTERFACE );
148 DECLARE_HANDLE( WDFUSBPIPE );
149 
150 // dma handles
151 DECLARE_HANDLE( WDFDMAENABLER );
152 DECLARE_HANDLE( WDFDMATRANSACTION );
153 DECLARE_HANDLE( WDFCOMMONBUFFER );
154 
155 //
156 // support handles
157 //
158 DECLARE_HANDLE( WDFKEY );
159 DECLARE_HANDLE( WDFSTRING );
160 DECLARE_HANDLE( WDFCOLLECTION );
161 DECLARE_HANDLE( WDFCHILDLIST );
162 
163 DECLARE_HANDLE( WDFIORESREQLIST );
164 DECLARE_HANDLE( WDFIORESLIST );
165 DECLARE_HANDLE( WDFCMRESLIST );
166 
167 
168 
169 #endif // (NTDDI_VERSION >= NTDDI_WIN2K)
170 
171 
173 
174 #endif // _WDFTYPES_H_
175 
176 
struct WDFCXDEVICE_INIT * PWDFCXDEVICE_INIT
Definition: wdftypes.h:100
struct WDFDEVICE_INIT * PWDFDEVICE_INIT
Definition: wdftypes.h:99
#define TRUE
Definition: types.h:120
enum _WDF_TRI_STATE WDF_TRI_STATE
_WDF_TRI_STATE
Definition: wdftypes.h:86
struct _WDF_OBJECT_ATTRIBUTES * PWDF_OBJECT_ATTRIBUTES
Definition: wdftypes.h:102
enum _WDF_TRI_STATE * PWDF_TRI_STATE
#define FALSE
Definition: types.h:117
#define WDF_EXTERN_C_END
Definition: wdftypes.h:41
PVOID WDFCONTEXT
Definition: wdftypes.h:94
unsigned char UCHAR
Definition: xmlstorage.h:181
DECLARE_HANDLE(WDFDRIVER)
UCHAR BYTE
Definition: wdftypes.h:57
HANDLE WDFOBJECT
Definition: wdftypes.h:114
HANDLE * PWDFOBJECT
Definition: wdftypes.h:114
#define WDF_EXTERN_C_START
Definition: wdftypes.h:40