133{
138
142
144
145
146
147
149
150
151
152
154 pDpc,
156 this
157 );
158
159
160
161
162
163
164
165
166
167
168
169
171
172
173
174
175
177
180 }
181
182
183
184
186 ParentObject,
187 pCallbacks,
188 Config->AutomaticSerialization,
192 );
193
196
197
198
199
200
201
204 "ParentObject %p can not automatically synchronize callbacks "
205 "with a DPC since it is configured for passive level callback "
206 "constraints. Set AutomaticSerialization to FALSE. %!STATUS!",
208 }
209
211 }
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242 ParentObject->ADDREF(this);
243
244
246
247
248
249
250
252
255 }
256
258}
static FxDeviceBase * _SearchForDevice(__in FxObject *Object, __out_opt IFxHasCallbacks **Callbacks)
static KDEFERRED_ROUTINE FxDpcThunk
static _Must_inspect_result_ NTSTATUS _GetEffectiveLock(__in FxObject *Object, __in_opt IFxHasCallbacks *Callbacks, __in BOOLEAN AutomaticLocking, __in BOOLEAN PassiveCallbacks, __out FxCallbackLock **CallbackLock, __out_opt FxObject **CallbackLockObject)
CfxDeviceBase * m_DeviceBase
_Must_inspect_result_ NTSTATUS Commit(__in_opt PWDF_OBJECT_ATTRIBUTES Attributes, __out_opt WDFOBJECT *ObjectHandle, __in_opt FxObject *Parent=NULL, __in BOOLEAN AssignDriverAsDefaultParent=TRUE)
VOID NTAPI KeInitializeDpc(IN PKDPC Dpc, IN PKDEFERRED_ROUTINE DeferredRoutine, IN PVOID DeferredContext)
PFX_DRIVER_GLOBALS pFxDriverGlobals
#define STATUS_INVALID_DEVICE_REQUEST
#define STATUS_WDF_INCOMPATIBLE_EXECUTION_LEVEL