ReactOS 0.4.15-dev-7842-g558ab78
fxdmaenablercallbacks.hpp
Go to the documentation of this file.
1/*++
2
3Copyright (c) Microsoft Corporation
4
5Module Name:
6
7 FxDmaEnablerCallbacks.hpp
8
9Abstract:
10
11 This module implements the FxDmaEnabler object callbacks
12
13Environment:
14
15 kernel mode only
16
17Revision History:
18
19--*/
20
21#ifndef _FXDMAENABLERCALLBACKS_HPP
22#define _FXDMAENABLERCALLBACKS_HPP
23
25
33
34};
35
36//
37// EvtDmaEnablerFill callback delegate
38//
40
41public:
43
45
47 VOID
48 ) :
49 FxCallback(),
52 {
53 }
54
57 __in WDFDMAENABLER Handle
58 )
59 {
60 if (m_Method) {
64 }
65 else {
67 }
68 return m_Status;
69 }
70};
71
72//
73// EvtDmaEnablerFlush callback delegate
74//
76
77public:
79
81
83 VOID
84 ) :
85 FxCallback(),
88 {
89 }
90
93 __in WDFDMAENABLER Handle
94 )
95 {
96 if (m_Method) {
100 }
101 else {
103 }
104 return m_Status;
105 }
106};
107
108//
109// EvtDmaEnablerEnable callback delegate
110//
112
113public:
115
117
119 VOID
120 ) :
121 FxCallback(),
122 m_Method(NULL),
124 {
125 }
126
129 __in WDFDMAENABLER Handle
130 )
131 {
132 if (m_Method) {
135 CallbackEnd();
136 }
137 else {
139 }
140 return m_Status;
141 }
142};
143
144//
145// EvtDmaEnablerDisable callback delegate
146//
148
149public:
151
153
155 VOID
156 ) :
157 FxCallback(),
158 m_Method(NULL),
160 {
161 }
162
165 __in WDFDMAENABLER Handle
166 )
167 {
168 if (m_Method) {
171 CallbackEnd();
172 }
173 else {
175 }
176 return m_Status;
177 }
178};
179
180//
181// EvtDmaEnablerSelfManagedIoStart callback delegate
182//
184
185public:
187
189
191 VOID
192 ) :
193 FxCallback(),
194 m_Method(NULL),
196 {
197 }
198
201 __in WDFDMAENABLER Handle
202 )
203 {
204 if (m_Method) {
207 CallbackEnd();
208 }
209 else {
211 }
212 return m_Status;
213 }
214};
215
216
217//
218// EvtDmaEnablerSelfManagedIoStop callback delegate
219//
221
222public:
224
226
228 VOID
229 ) :
230 FxCallback(),
231 m_Method(NULL),
233 {
234 }
235
238 __in WDFDMAENABLER Handle
239 )
240 {
241 if (m_Method) {
244 CallbackEnd();
245 }
246 else {
248 }
249 return m_Status;
250 }
251};
252
253
254#endif // _FXDMAENABLERCALLBACKS_HPP
LONG NTSTATUS
Definition: precomp.h:26
void __inline CallbackStart(VOID)
Definition: fxcallback.hpp:64
void __inline CallbackEnd(VOID)
Definition: fxcallback.hpp:74
PFN_WDF_DMA_ENABLER_DISABLE m_Method
NTSTATUS Invoke(__in WDFDMAENABLER Handle)
PFN_WDF_DMA_ENABLER_ENABLE m_Method
NTSTATUS Invoke(__in WDFDMAENABLER Handle)
PFN_WDF_DMA_ENABLER_FILL m_Method
NTSTATUS Invoke(__in WDFDMAENABLER Handle)
PFN_WDF_DMA_ENABLER_FLUSH m_Method
NTSTATUS Invoke(__in WDFDMAENABLER Handle)
NTSTATUS Invoke(__in WDFDMAENABLER Handle)
PFN_WDF_DMA_ENABLER_SELFMANAGED_IO_START m_Method
PFN_WDF_DMA_ENABLER_SELFMANAGED_IO_STOP m_Method
NTSTATUS Invoke(__in WDFDMAENABLER Handle)
#define __in
Definition: dbghelp.h:35
#define NULL
Definition: types.h:112
FxDmaEnablerCallbacks
@ FxEvtDmaEnablerDisable
@ FxEvtDmaEnablerSelfManagedIoStart
@ FxEvtDmaEnablerFlush
@ FxEvtDmaEnablerEnable
@ FxEvtDmaEnablerSelfManagedIoStop
@ FxEvtDmaEnablerInvalid
@ FxEvtDmaEnablerFill
ULONG Handle
Definition: gdb_input.c:15
#define STATUS_SUCCESS
Definition: shellext.h:65
EVT_WDF_DMA_ENABLER_DISABLE * PFN_WDF_DMA_ENABLER_DISABLE
EVT_WDF_DMA_ENABLER_ENABLE * PFN_WDF_DMA_ENABLER_ENABLE
EVT_WDF_DMA_ENABLER_SELFMANAGED_IO_STOP * PFN_WDF_DMA_ENABLER_SELFMANAGED_IO_STOP
EVT_WDF_DMA_ENABLER_SELFMANAGED_IO_START * PFN_WDF_DMA_ENABLER_SELFMANAGED_IO_START
EVT_WDF_DMA_ENABLER_FILL * PFN_WDF_DMA_ENABLER_FILL
Definition: wdfdmaenabler.h:85
EVT_WDF_DMA_ENABLER_FLUSH * PFN_WDF_DMA_ENABLER_FLUSH
Definition: wdfdmaenabler.h:98