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