ReactOS 0.4.15-dev-7788-g1ad9096
wdftypes.h
Go to the documentation of this file.
1/*++
2
3Copyright (c) Microsoft Corporation. All rights reserved.
4
5_WdfVersionBuild_
6
7Module Name:
8
9 wdfypes.h
10
11Abstract:
12
13 This module contains contains the C driver frameworks basic types.
14
15Environment:
16
17 kernel mode only
18
19Revision 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__
57typedef 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//
86typedef enum _WDF_TRI_STATE {
91
92
93
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//
119DECLARE_HANDLE( WDFDRIVER );
120DECLARE_HANDLE( WDFDEVICE );
121
122DECLARE_HANDLE( WDFWMIPROVIDER );
123DECLARE_HANDLE( WDFWMIINSTANCE );
124
125DECLARE_HANDLE( WDFQUEUE );
126DECLARE_HANDLE( WDFREQUEST );
127DECLARE_HANDLE( WDFFILEOBJECT );
129DECLARE_HANDLE( WDFTIMER );
130DECLARE_HANDLE( WDFWORKITEM );
131DECLARE_HANDLE( WDFINTERRUPT );
132
133//
134// synch and lock handles
135//
136DECLARE_HANDLE( WDFWAITLOCK );
137DECLARE_HANDLE( WDFSPINLOCK );
138
139DECLARE_HANDLE( WDFMEMORY );
140DECLARE_HANDLE( WDFLOOKASIDE );
141
142//
143// i/o targets for different busses
144//
145DECLARE_HANDLE( WDFIOTARGET );
146DECLARE_HANDLE( WDFUSBDEVICE );
147DECLARE_HANDLE( WDFUSBINTERFACE );
148DECLARE_HANDLE( WDFUSBPIPE );
149
150// dma handles
151DECLARE_HANDLE( WDFDMAENABLER );
152DECLARE_HANDLE( WDFDMATRANSACTION );
153DECLARE_HANDLE( WDFCOMMONBUFFER );
154
155//
156// support handles
157//
159DECLARE_HANDLE( WDFSTRING );
160DECLARE_HANDLE( WDFCOLLECTION );
161DECLARE_HANDLE( WDFCHILDLIST );
162
163DECLARE_HANDLE( WDFIORESREQLIST );
164DECLARE_HANDLE( WDFIORESLIST );
165DECLARE_HANDLE( WDFCMRESLIST );
166
167
168
169#endif // (NTDDI_VERSION >= NTDDI_WIN2K)
170
171
173
174#endif // _WDFTYPES_H_
175
176
#define TRUE
Definition: types.h:120
#define FALSE
Definition: types.h:117
#define DECLARE_HANDLE(name)
Definition: mimeole.idl:23
_WDF_TRI_STATE
Definition: wdftypes.h:86
@ WdfTrue
Definition: wdftypes.h:88
@ WdfUseDefault
Definition: wdftypes.h:89
@ WdfFalse
Definition: wdftypes.h:87
struct WDFCXDEVICE_INIT * PWDFCXDEVICE_INIT
Definition: wdftypes.h:100
HANDLE * PWDFOBJECT
Definition: wdftypes.h:114
PVOID WDFCONTEXT
Definition: wdftypes.h:94
#define WDF_EXTERN_C_END
Definition: wdftypes.h:41
struct _WDF_OBJECT_ATTRIBUTES * PWDF_OBJECT_ATTRIBUTES
Definition: wdftypes.h:102
#define WDF_EXTERN_C_START
Definition: wdftypes.h:40
UCHAR BYTE
Definition: wdftypes.h:57
enum _WDF_TRI_STATE WDF_TRI_STATE
enum _WDF_TRI_STATE * PWDF_TRI_STATE
HANDLE WDFOBJECT
Definition: wdftypes.h:114
struct WDFDEVICE_INIT * PWDFDEVICE_INIT
Definition: wdftypes.h:99
unsigned char UCHAR
Definition: xmlstorage.h:181