ReactOS 0.4.15-dev-6644-g539123c
vfwdfdynamics.cpp
Go to the documentation of this file.
1/*++
2
3Module Name: VfWdfDynamics.cpp
4
5Abstract:
6 Generated implementation for WDF API Verifier hooks
7
8Environment:
9 user mode only
10
11--*/
12
13#include "fxmin.hpp"
14#include "vfpriv.hpp"
15
16extern "C" {
17#include "FxDynamics.h"
18}
19
20
21extern "C" {
23}
24
25#ifdef ALLOC_PRAGMA
26#pragma alloc_text(FX_ENHANCED_VERIFIER_SECTION_NAME, \
27 VFWDFEXPORT(WdfCollectionCreate), \
28 VFWDFEXPORT(WdfCollectionGetCount), \
29 VFWDFEXPORT(WdfCollectionAdd), \
30 VFWDFEXPORT(WdfCollectionRemove), \
31 VFWDFEXPORT(WdfCollectionRemoveItem), \
32 VFWDFEXPORT(WdfCollectionGetItem), \
33 VFWDFEXPORT(WdfCollectionGetFirstItem), \
34 VFWDFEXPORT(WdfCollectionGetLastItem), \
35 VFWDFEXPORT(WdfCxDeviceInitAllocate), \
36 VFWDFEXPORT(WdfCxDeviceInitSetRequestAttributes), \
37 VFWDFEXPORT(WdfCxDeviceInitSetFileObjectConfig), \
38 VFWDFEXPORT(WdfCxVerifierKeBugCheck), \
39 VFWDFEXPORT(WdfDeviceGetDeviceState), \
40 VFWDFEXPORT(WdfDeviceSetDeviceState), \
41 VFWDFEXPORT(WdfDeviceWdmDispatchIrp), \
42 VFWDFEXPORT(WdfDeviceWdmDispatchIrpToIoQueue), \
43 VFWDFEXPORT(WdfDeviceGetDriver), \
44 VFWDFEXPORT(WdfDeviceGetIoTarget), \
45 VFWDFEXPORT(WdfDeviceAssignS0IdleSettings), \
46 VFWDFEXPORT(WdfDeviceAssignSxWakeSettings), \
47 VFWDFEXPORT(WdfDeviceOpenRegistryKey), \
48 VFWDFEXPORT(WdfDeviceOpenDevicemapKey), \
49 VFWDFEXPORT(WdfDeviceInitSetPnpPowerEventCallbacks), \
50 VFWDFEXPORT(WdfDeviceInitSetPowerPolicyEventCallbacks), \
51 VFWDFEXPORT(WdfDeviceInitSetPowerPolicyOwnership), \
52 VFWDFEXPORT(WdfDeviceInitSetIoType), \
53 VFWDFEXPORT(WdfDeviceInitSetFileObjectConfig), \
54 VFWDFEXPORT(WdfDeviceInitSetRequestAttributes), \
55 VFWDFEXPORT(WdfDeviceCreate), \
56 VFWDFEXPORT(WdfDeviceSetStaticStopRemove), \
57 VFWDFEXPORT(WdfDeviceCreateDeviceInterface), \
58 VFWDFEXPORT(WdfDeviceSetDeviceInterfaceState), \
59 VFWDFEXPORT(WdfDeviceRetrieveDeviceInterfaceString), \
60 VFWDFEXPORT(WdfDeviceCreateSymbolicLink), \
61 VFWDFEXPORT(WdfDeviceQueryProperty), \
62 VFWDFEXPORT(WdfDeviceAllocAndQueryProperty), \
63 VFWDFEXPORT(WdfDeviceSetPnpCapabilities), \
64 VFWDFEXPORT(WdfDeviceSetPowerCapabilities), \
65 VFWDFEXPORT(WdfDeviceSetFailed), \
66 VFWDFEXPORT(WdfDeviceStopIdleNoTrack), \
67 VFWDFEXPORT(WdfDeviceResumeIdleNoTrack), \
68 VFWDFEXPORT(WdfDeviceStopIdleActual), \
69 VFWDFEXPORT(WdfDeviceResumeIdleActual), \
70 VFWDFEXPORT(WdfDeviceGetFileObject), \
71 VFWDFEXPORT(WdfDeviceGetDefaultQueue), \
72 VFWDFEXPORT(WdfDeviceConfigureRequestDispatching), \
73 VFWDFEXPORT(WdfDeviceConfigureWdmIrpDispatchCallback), \
74 VFWDFEXPORT(WdfDeviceGetSystemPowerAction), \
75 VFWDFEXPORT(WdfDeviceInitSetReleaseHardwareOrderOnFailure), \
76 VFWDFEXPORT(WdfDeviceInitSetIoTypeEx), \
77 VFWDFEXPORT(WdfDevicePostEvent), \
78 VFWDFEXPORT(WdfDeviceMapIoSpace), \
79 VFWDFEXPORT(WdfDeviceUnmapIoSpace), \
80 VFWDFEXPORT(WdfDeviceGetHardwareRegisterMappedAddress), \
81 VFWDFEXPORT(WdfDeviceReadFromHardware), \
82 VFWDFEXPORT(WdfDeviceWriteToHardware), \
83 VFWDFEXPORT(WdfDeviceAssignInterfaceProperty), \
84 VFWDFEXPORT(WdfDeviceAllocAndQueryInterfaceProperty), \
85 VFWDFEXPORT(WdfDeviceQueryInterfaceProperty), \
86 VFWDFEXPORT(WdfDeviceGetDeviceStackIoType), \
87 VFWDFEXPORT(WdfDeviceQueryPropertyEx), \
88 VFWDFEXPORT(WdfDeviceAllocAndQueryPropertyEx), \
89 VFWDFEXPORT(WdfDeviceAssignProperty), \
90 VFWDFEXPORT(WdfDeviceGetSelfIoTarget), \
91 VFWDFEXPORT(WdfDeviceInitAllowSelfIoTarget), \
92 VFWDFEXPORT(WdfDriverCreate), \
93 VFWDFEXPORT(WdfDriverGetRegistryPath), \
94 VFWDFEXPORT(WdfDriverOpenParametersRegistryKey), \
95 VFWDFEXPORT(WdfDriverRetrieveVersionString), \
96 VFWDFEXPORT(WdfDriverIsVersionAvailable), \
97 VFWDFEXPORT(WdfFdoInitOpenRegistryKey), \
98 VFWDFEXPORT(WdfFdoInitQueryProperty), \
99 VFWDFEXPORT(WdfFdoInitAllocAndQueryProperty), \
100 VFWDFEXPORT(WdfFdoInitQueryPropertyEx), \
101 VFWDFEXPORT(WdfFdoInitAllocAndQueryPropertyEx), \
102 VFWDFEXPORT(WdfFdoInitSetFilter), \
103 VFWDFEXPORT(WdfFileObjectGetFileName), \
104 VFWDFEXPORT(WdfFileObjectGetDevice), \
105 VFWDFEXPORT(WdfFileObjectGetInitiatorProcessId), \
106 VFWDFEXPORT(WdfFileObjectGetRelatedFileObject), \
107 VFWDFEXPORT(WdfDeviceInitEnableHidInterface), \
108 VFWDFEXPORT(WdfDeviceHidNotifyPresence), \
109 VFWDFEXPORT(WdfInterruptCreate), \
110 VFWDFEXPORT(WdfInterruptQueueDpcForIsr), \
111 VFWDFEXPORT(WdfInterruptQueueWorkItemForIsr), \
112 VFWDFEXPORT(WdfInterruptSynchronize), \
113 VFWDFEXPORT(WdfInterruptAcquireLock), \
114 VFWDFEXPORT(WdfInterruptReleaseLock), \
115 VFWDFEXPORT(WdfInterruptEnable), \
116 VFWDFEXPORT(WdfInterruptDisable), \
117 VFWDFEXPORT(WdfInterruptGetInfo), \
118 VFWDFEXPORT(WdfInterruptSetPolicy), \
119 VFWDFEXPORT(WdfInterruptSetExtendedPolicy), \
120 VFWDFEXPORT(WdfInterruptGetDevice), \
121 VFWDFEXPORT(WdfInterruptTryToAcquireLock), \
122 VFWDFEXPORT(WdfIoQueueCreate), \
123 VFWDFEXPORT(WdfIoQueueGetState), \
124 VFWDFEXPORT(WdfIoQueueStart), \
125 VFWDFEXPORT(WdfIoQueueStop), \
126 VFWDFEXPORT(WdfIoQueueStopSynchronously), \
127 VFWDFEXPORT(WdfIoQueueGetDevice), \
128 VFWDFEXPORT(WdfIoQueueRetrieveNextRequest), \
129 VFWDFEXPORT(WdfIoQueueRetrieveRequestByFileObject), \
130 VFWDFEXPORT(WdfIoQueueFindRequest), \
131 VFWDFEXPORT(WdfIoQueueRetrieveFoundRequest), \
132 VFWDFEXPORT(WdfIoQueueDrainSynchronously), \
133 VFWDFEXPORT(WdfIoQueueDrain), \
134 VFWDFEXPORT(WdfIoQueuePurgeSynchronously), \
135 VFWDFEXPORT(WdfIoQueuePurge), \
136 VFWDFEXPORT(WdfIoQueueReadyNotify), \
137 VFWDFEXPORT(WdfIoQueueStopAndPurge), \
138 VFWDFEXPORT(WdfIoQueueStopAndPurgeSynchronously), \
139 VFWDFEXPORT(WdfIoTargetCreate), \
140 VFWDFEXPORT(WdfIoTargetOpen), \
141 VFWDFEXPORT(WdfIoTargetCloseForQueryRemove), \
142 VFWDFEXPORT(WdfIoTargetClose), \
143 VFWDFEXPORT(WdfIoTargetStart), \
144 VFWDFEXPORT(WdfIoTargetStop), \
145 VFWDFEXPORT(WdfIoTargetPurge), \
146 VFWDFEXPORT(WdfIoTargetGetState), \
147 VFWDFEXPORT(WdfIoTargetGetDevice), \
148 VFWDFEXPORT(WdfIoTargetWdmGetTargetFileHandle), \
149 VFWDFEXPORT(WdfIoTargetSendReadSynchronously), \
150 VFWDFEXPORT(WdfIoTargetFormatRequestForRead), \
151 VFWDFEXPORT(WdfIoTargetSendWriteSynchronously), \
152 VFWDFEXPORT(WdfIoTargetFormatRequestForWrite), \
153 VFWDFEXPORT(WdfIoTargetSendIoctlSynchronously), \
154 VFWDFEXPORT(WdfIoTargetFormatRequestForIoctl), \
155 VFWDFEXPORT(WdfIoTargetSelfAssignDefaultIoQueue), \
156 VFWDFEXPORT(WdfMemoryCreate), \
157 VFWDFEXPORT(WdfMemoryCreatePreallocated), \
158 VFWDFEXPORT(WdfMemoryGetBuffer), \
159 VFWDFEXPORT(WdfMemoryAssignBuffer), \
160 VFWDFEXPORT(WdfMemoryCopyToBuffer), \
161 VFWDFEXPORT(WdfMemoryCopyFromBuffer), \
162 VFWDFEXPORT(WdfObjectGetTypedContextWorker), \
163 VFWDFEXPORT(WdfObjectAllocateContext), \
164 VFWDFEXPORT(WdfObjectContextGetObject), \
165 VFWDFEXPORT(WdfObjectReferenceActual), \
166 VFWDFEXPORT(WdfObjectDereferenceActual), \
167 VFWDFEXPORT(WdfObjectCreate), \
168 VFWDFEXPORT(WdfObjectDelete), \
169 VFWDFEXPORT(WdfObjectQuery), \
170 VFWDFEXPORT(WdfRegistryOpenKey), \
171 VFWDFEXPORT(WdfRegistryCreateKey), \
172 VFWDFEXPORT(WdfRegistryClose), \
173 VFWDFEXPORT(WdfRegistryWdmGetHandle), \
174 VFWDFEXPORT(WdfRegistryRemoveKey), \
175 VFWDFEXPORT(WdfRegistryRemoveValue), \
176 VFWDFEXPORT(WdfRegistryQueryValue), \
177 VFWDFEXPORT(WdfRegistryQueryMemory), \
178 VFWDFEXPORT(WdfRegistryQueryMultiString), \
179 VFWDFEXPORT(WdfRegistryQueryUnicodeString), \
180 VFWDFEXPORT(WdfRegistryQueryString), \
181 VFWDFEXPORT(WdfRegistryQueryULong), \
182 VFWDFEXPORT(WdfRegistryAssignValue), \
183 VFWDFEXPORT(WdfRegistryAssignMemory), \
184 VFWDFEXPORT(WdfRegistryAssignMultiString), \
185 VFWDFEXPORT(WdfRegistryAssignUnicodeString), \
186 VFWDFEXPORT(WdfRegistryAssignString), \
187 VFWDFEXPORT(WdfRegistryAssignULong), \
188 VFWDFEXPORT(WdfRequestCreate), \
189 VFWDFEXPORT(WdfRequestReuse), \
190 VFWDFEXPORT(WdfRequestChangeTarget), \
191 VFWDFEXPORT(WdfRequestFormatRequestUsingCurrentType), \
192 VFWDFEXPORT(WdfRequestSend), \
193 VFWDFEXPORT(WdfRequestGetStatus), \
194 VFWDFEXPORT(WdfRequestMarkCancelable), \
195 VFWDFEXPORT(WdfRequestMarkCancelableEx), \
196 VFWDFEXPORT(WdfRequestUnmarkCancelable), \
197 VFWDFEXPORT(WdfRequestIsCanceled), \
198 VFWDFEXPORT(WdfRequestCancelSentRequest), \
199 VFWDFEXPORT(WdfRequestIsFrom32BitProcess), \
200 VFWDFEXPORT(WdfRequestSetCompletionRoutine), \
201 VFWDFEXPORT(WdfRequestGetCompletionParams), \
202 VFWDFEXPORT(WdfRequestAllocateTimer), \
203 VFWDFEXPORT(WdfRequestComplete), \
204 VFWDFEXPORT(WdfRequestCompleteWithInformation), \
205 VFWDFEXPORT(WdfRequestGetParameters), \
206 VFWDFEXPORT(WdfRequestRetrieveInputMemory), \
207 VFWDFEXPORT(WdfRequestRetrieveOutputMemory), \
208 VFWDFEXPORT(WdfRequestRetrieveInputBuffer), \
209 VFWDFEXPORT(WdfRequestRetrieveOutputBuffer), \
210 VFWDFEXPORT(WdfRequestSetInformation), \
211 VFWDFEXPORT(WdfRequestGetInformation), \
212 VFWDFEXPORT(WdfRequestGetFileObject), \
213 VFWDFEXPORT(WdfRequestGetRequestorMode), \
214 VFWDFEXPORT(WdfRequestForwardToIoQueue), \
215 VFWDFEXPORT(WdfRequestGetIoQueue), \
216 VFWDFEXPORT(WdfRequestRequeue), \
217 VFWDFEXPORT(WdfRequestStopAcknowledge), \
218 VFWDFEXPORT(WdfRequestImpersonate), \
219 VFWDFEXPORT(WdfRequestGetRequestorProcessId), \
220 VFWDFEXPORT(WdfRequestIsFromUserModeDriver), \
221 VFWDFEXPORT(WdfRequestSetUserModeDriverInitiatedIo), \
222 VFWDFEXPORT(WdfRequestGetUserModeDriverInitiatedIo), \
223 VFWDFEXPORT(WdfRequestSetActivityId), \
224 VFWDFEXPORT(WdfRequestRetrieveActivityId), \
225 VFWDFEXPORT(WdfRequestGetEffectiveIoType), \
226 VFWDFEXPORT(WdfCmResourceListGetCount), \
227 VFWDFEXPORT(WdfCmResourceListGetDescriptor), \
228 VFWDFEXPORT(WdfStringCreate), \
229 VFWDFEXPORT(WdfStringGetUnicodeString), \
230 VFWDFEXPORT(WdfObjectAcquireLock), \
231 VFWDFEXPORT(WdfObjectReleaseLock), \
232 VFWDFEXPORT(WdfWaitLockCreate), \
233 VFWDFEXPORT(WdfWaitLockAcquire), \
234 VFWDFEXPORT(WdfWaitLockRelease), \
235 VFWDFEXPORT(WdfSpinLockCreate), \
236 VFWDFEXPORT(WdfSpinLockAcquire), \
237 VFWDFEXPORT(WdfSpinLockRelease), \
238 VFWDFEXPORT(WdfTimerCreate), \
239 VFWDFEXPORT(WdfTimerStart), \
240 VFWDFEXPORT(WdfTimerStop), \
241 VFWDFEXPORT(WdfTimerGetParentObject), \
242 VFWDFEXPORT(WdfUsbTargetDeviceCreate), \
243 VFWDFEXPORT(WdfUsbTargetDeviceCreateWithParameters), \
244 VFWDFEXPORT(WdfUsbTargetDeviceRetrieveInformation), \
245 VFWDFEXPORT(WdfUsbTargetDeviceGetDeviceDescriptor), \
246 VFWDFEXPORT(WdfUsbTargetDeviceRetrieveConfigDescriptor), \
247 VFWDFEXPORT(WdfUsbTargetDeviceQueryString), \
248 VFWDFEXPORT(WdfUsbTargetDeviceAllocAndQueryString), \
249 VFWDFEXPORT(WdfUsbTargetDeviceFormatRequestForString), \
250 VFWDFEXPORT(WdfUsbTargetDeviceGetNumInterfaces), \
251 VFWDFEXPORT(WdfUsbTargetDeviceSelectConfig), \
252 VFWDFEXPORT(WdfUsbTargetDeviceSendControlTransferSynchronously), \
253 VFWDFEXPORT(WdfUsbTargetDeviceFormatRequestForControlTransfer), \
254 VFWDFEXPORT(WdfUsbTargetDeviceResetPortSynchronously), \
255 VFWDFEXPORT(WdfUsbTargetDeviceQueryUsbCapability), \
256 VFWDFEXPORT(WdfUsbTargetPipeGetInformation), \
257 VFWDFEXPORT(WdfUsbTargetPipeIsInEndpoint), \
258 VFWDFEXPORT(WdfUsbTargetPipeIsOutEndpoint), \
259 VFWDFEXPORT(WdfUsbTargetPipeGetType), \
260 VFWDFEXPORT(WdfUsbTargetPipeSetNoMaximumPacketSizeCheck), \
261 VFWDFEXPORT(WdfUsbTargetPipeWriteSynchronously), \
262 VFWDFEXPORT(WdfUsbTargetPipeFormatRequestForWrite), \
263 VFWDFEXPORT(WdfUsbTargetPipeReadSynchronously), \
264 VFWDFEXPORT(WdfUsbTargetPipeFormatRequestForRead), \
265 VFWDFEXPORT(WdfUsbTargetPipeConfigContinuousReader), \
266 VFWDFEXPORT(WdfUsbTargetPipeAbortSynchronously), \
267 VFWDFEXPORT(WdfUsbTargetPipeFormatRequestForAbort), \
268 VFWDFEXPORT(WdfUsbTargetPipeResetSynchronously), \
269 VFWDFEXPORT(WdfUsbTargetPipeFormatRequestForReset), \
270 VFWDFEXPORT(WdfUsbInterfaceGetInterfaceNumber), \
271 VFWDFEXPORT(WdfUsbInterfaceGetNumEndpoints), \
272 VFWDFEXPORT(WdfUsbInterfaceGetDescriptor), \
273 VFWDFEXPORT(WdfUsbInterfaceGetNumSettings), \
274 VFWDFEXPORT(WdfUsbInterfaceSelectSetting), \
275 VFWDFEXPORT(WdfUsbInterfaceGetEndpointInformation), \
276 VFWDFEXPORT(WdfUsbTargetDeviceGetInterface), \
277 VFWDFEXPORT(WdfUsbInterfaceGetConfiguredSettingIndex), \
278 VFWDFEXPORT(WdfUsbInterfaceGetNumConfiguredPipes), \
279 VFWDFEXPORT(WdfUsbInterfaceGetConfiguredPipe), \
280 VFWDFEXPORT(WdfVerifierDbgBreakPoint), \
281 VFWDFEXPORT(WdfVerifierKeBugCheck), \
282 VFWDFEXPORT(WdfGetTriageInfo), \
283 VFWDFEXPORT(WdfWorkItemCreate), \
284 VFWDFEXPORT(WdfWorkItemEnqueue), \
285 VFWDFEXPORT(WdfWorkItemGetParentObject), \
286 VFWDFEXPORT(WdfWorkItemFlush), \
287 )
288#endif // #pragma alloc_text
289
292WDFAPI
294VFWDFEXPORT(WdfCollectionCreate)(
295 _In_
299 _Out_
300 WDFCOLLECTION* Collection
301 )
302{
305}
306
308WDFAPI
309ULONG
310VFWDFEXPORT(WdfCollectionGetCount)(
311 _In_
313 _In_
314 WDFCOLLECTION Collection
315 )
316{
319}
320
323WDFAPI
325VFWDFEXPORT(WdfCollectionAdd)(
326 _In_
328 _In_
329 WDFCOLLECTION Collection,
330 _In_
332 )
333{
336}
337
339WDFAPI
340VOID
341VFWDFEXPORT(WdfCollectionRemove)(
342 _In_
344 _In_
345 WDFCOLLECTION Collection,
346 _In_
348 )
349{
352}
353
355WDFAPI
356VOID
357VFWDFEXPORT(WdfCollectionRemoveItem)(
358 _In_
360 _In_
361 WDFCOLLECTION Collection,
362 _In_
364 )
365{
368}
369
371WDFAPI
373VFWDFEXPORT(WdfCollectionGetItem)(
374 _In_
376 _In_
377 WDFCOLLECTION Collection,
378 _In_
380 )
381{
384}
385
387WDFAPI
389VFWDFEXPORT(WdfCollectionGetFirstItem)(
390 _In_
392 _In_
393 WDFCOLLECTION Collection
394 )
395{
398}
399
401WDFAPI
403VFWDFEXPORT(WdfCollectionGetLastItem)(
404 _In_
406 _In_
407 WDFCOLLECTION Collection
408 )
409{
412}
413
416WDFAPI
418VFWDFEXPORT(WdfCxDeviceInitAllocate)(
419 _In_
421 _In_
423 )
424{
427}
428
430WDFAPI
431VOID
432VFWDFEXPORT(WdfCxDeviceInitSetRequestAttributes)(
433 _In_
435 _In_
437 _In_
439 )
440{
443}
444
446WDFAPI
447VOID
448VFWDFEXPORT(WdfCxDeviceInitSetFileObjectConfig)(
449 _In_
451 _In_
453 _In_
457 )
458{
461}
462
463WDFAPI
464VOID
466 _In_
470 _In_
471 ULONG BugCheckCode,
472 _In_
473 ULONG_PTR BugCheckParameter1,
474 _In_
475 ULONG_PTR BugCheckParameter2,
476 _In_
477 ULONG_PTR BugCheckParameter3,
478 _In_
479 ULONG_PTR BugCheckParameter4
480 )
481{
483 ((PFN_WDFCXVERIFIERKEBUGCHECK) WdfVersion.Functions.pfnWdfCxVerifierKeBugCheck)(DriverGlobals, Object, BugCheckCode, BugCheckParameter1, BugCheckParameter2, BugCheckParameter3, BugCheckParameter4);
484}
485
487WDFAPI
488VOID
489VFWDFEXPORT(WdfDeviceGetDeviceState)(
490 _In_
492 _In_
493 WDFDEVICE Device,
494 _Out_
496 )
497{
500}
501
503WDFAPI
504VOID
505VFWDFEXPORT(WdfDeviceSetDeviceState)(
506 _In_
508 _In_
509 WDFDEVICE Device,
510 _In_
512 )
513{
516}
517
520WDFAPI
522VFWDFEXPORT(WdfDeviceWdmDispatchIrp)(
523 _In_
525 _In_
526 WDFDEVICE Device,
527 _In_
529 _In_
531 )
532{
535}
536
539WDFAPI
541VFWDFEXPORT(WdfDeviceWdmDispatchIrpToIoQueue)(
542 _In_
544 _In_
545 WDFDEVICE Device,
546 _In_
547 PIRP Irp,
548 _In_
549 WDFQUEUE Queue,
550 _In_
552 )
553{
555 return ((PFN_WDFDEVICEWDMDISPATCHIRPTOIOQUEUE) WdfVersion.Functions.pfnWdfDeviceWdmDispatchIrpToIoQueue)(DriverGlobals, Device, Irp, Queue, Flags);
556}
557
559WDFAPI
560WDFDRIVER
561VFWDFEXPORT(WdfDeviceGetDriver)(
562 _In_
564 _In_
565 WDFDEVICE Device
566 )
567{
569 return ((PFN_WDFDEVICEGETDRIVER) WdfVersion.Functions.pfnWdfDeviceGetDriver)(DriverGlobals, Device);
570}
571
573WDFAPI
574WDFIOTARGET
575VFWDFEXPORT(WdfDeviceGetIoTarget)(
576 _In_
578 _In_
579 WDFDEVICE Device
580 )
581{
583 return ((PFN_WDFDEVICEGETIOTARGET) WdfVersion.Functions.pfnWdfDeviceGetIoTarget)(DriverGlobals, Device);
584}
585
588WDFAPI
590VFWDFEXPORT(WdfDeviceAssignS0IdleSettings)(
591 _In_
593 _In_
594 WDFDEVICE Device,
595 _In_
597 )
598{
600 return ((PFN_WDFDEVICEASSIGNS0IDLESETTINGS) WdfVersion.Functions.pfnWdfDeviceAssignS0IdleSettings)(DriverGlobals, Device, Settings);
601}
602
605WDFAPI
607VFWDFEXPORT(WdfDeviceAssignSxWakeSettings)(
608 _In_
610 _In_
611 WDFDEVICE Device,
612 _In_
614 )
615{
617 return ((PFN_WDFDEVICEASSIGNSXWAKESETTINGS) WdfVersion.Functions.pfnWdfDeviceAssignSxWakeSettings)(DriverGlobals, Device, Settings);
618}
619
622WDFAPI
624VFWDFEXPORT(WdfDeviceOpenRegistryKey)(
625 _In_
627 _In_
628 WDFDEVICE Device,
629 _In_
631 _In_
635 _Out_
636 WDFKEY* Key
637 )
638{
641}
642
645WDFAPI
647VFWDFEXPORT(WdfDeviceOpenDevicemapKey)(
648 _In_
650 _In_
651 WDFDEVICE Device,
652 _In_
654 _In_
658 _Out_
659 WDFKEY* Key
660 )
661{
664}
665
667WDFAPI
668VOID
669VFWDFEXPORT(WdfDeviceInitSetPnpPowerEventCallbacks)(
670 _In_
672 _In_
674 _In_
676 )
677{
680}
681
683WDFAPI
684VOID
685VFWDFEXPORT(WdfDeviceInitSetPowerPolicyEventCallbacks)(
686 _In_
688 _In_
690 _In_
692 )
693{
696}
697
699WDFAPI
700VOID
701VFWDFEXPORT(WdfDeviceInitSetPowerPolicyOwnership)(
702 _In_
704 _In_
706 _In_
708 )
709{
712}
713
715WDFAPI
716VOID
717VFWDFEXPORT(WdfDeviceInitSetIoType)(
718 _In_
720 _In_
722 _In_
724 )
725{
728}
729
731WDFAPI
732VOID
733VFWDFEXPORT(WdfDeviceInitSetFileObjectConfig)(
734 _In_
736 _In_
738 _In_
742 )
743{
746}
747
749WDFAPI
750VOID
751VFWDFEXPORT(WdfDeviceInitSetRequestAttributes)(
752 _In_
754 _In_
756 _In_
758 )
759{
762}
763
766WDFAPI
768VFWDFEXPORT(WdfDeviceCreate)(
769 _In_
771 _Inout_
775 _Out_
776 WDFDEVICE* Device
777 )
778{
781
784
786 &hookInfo,
790 Device);
791
793
794 if (hookInfo.DonotCallKmdfLib) {
795 return hookInfo.DdiCallStatus;
796 }
797
799}
800
802WDFAPI
803VOID
804VFWDFEXPORT(WdfDeviceSetStaticStopRemove)(
805 _In_
807 _In_
808 WDFDEVICE Device,
809 _In_
811 )
812{
815}
816
819WDFAPI
821VFWDFEXPORT(WdfDeviceCreateDeviceInterface)(
822 _In_
824 _In_
825 WDFDEVICE Device,
826 _In_
830 )
831{
834}
835
837WDFAPI
838VOID
839VFWDFEXPORT(WdfDeviceSetDeviceInterfaceState)(
840 _In_
842 _In_
843 WDFDEVICE Device,
844 _In_
848 _In_
850 )
851{
854}
855
858WDFAPI
860VFWDFEXPORT(WdfDeviceRetrieveDeviceInterfaceString)(
861 _In_
863 _In_
864 WDFDEVICE Device,
865 _In_
869 _In_
870 WDFSTRING String
871 )
872{
875}
876
879WDFAPI
881VFWDFEXPORT(WdfDeviceCreateSymbolicLink)(
882 _In_
884 _In_
885 WDFDEVICE Device,
886 _In_
888 )
889{
892}
893
896WDFAPI
898VFWDFEXPORT(WdfDeviceQueryProperty)(
899 _In_
901 _In_
902 WDFDEVICE Device,
903 _In_
905 _In_
909 _Out_
911 )
912{
915}
916
919WDFAPI
921VFWDFEXPORT(WdfDeviceAllocAndQueryProperty)(
922 _In_
924 _In_
925 WDFDEVICE Device,
926 _In_
928 _In_
933 _Out_
934 WDFMEMORY* PropertyMemory
935 )
936{
939}
940
942WDFAPI
943VOID
944VFWDFEXPORT(WdfDeviceSetPnpCapabilities)(
945 _In_
947 _In_
948 WDFDEVICE Device,
949 _In_
951 )
952{
955}
956
958WDFAPI
959VOID
960VFWDFEXPORT(WdfDeviceSetPowerCapabilities)(
961 _In_
963 _In_
964 WDFDEVICE Device,
965 _In_
967 )
968{
971}
972
974WDFAPI
975VOID
976VFWDFEXPORT(WdfDeviceSetFailed)(
977 _In_
979 _In_
980 WDFDEVICE Device,
981 _In_
983 )
984{
987}
988
992WDFAPI
994VFWDFEXPORT(WdfDeviceStopIdleNoTrack)(
995 _In_
997 _In_
998 WDFDEVICE Device,
999 _In_
1001 )
1002{
1005}
1006
1008WDFAPI
1009VOID
1010VFWDFEXPORT(WdfDeviceResumeIdleNoTrack)(
1011 _In_
1013 _In_
1014 WDFDEVICE Device
1015 )
1016{
1019}
1020
1024WDFAPI
1026VFWDFEXPORT(WdfDeviceStopIdleActual)(
1027 _In_
1029 _In_
1030 WDFDEVICE Device,
1031 _In_
1033 _In_opt_
1035 _In_
1037 _In_z_
1039 )
1040{
1043}
1044
1046WDFAPI
1047VOID
1048VFWDFEXPORT(WdfDeviceResumeIdleActual)(
1049 _In_
1051 _In_
1052 WDFDEVICE Device,
1053 _In_opt_
1054 PVOID Tag,
1055 _In_
1056 LONG Line,
1057 _In_z_
1058 PCHAR File
1059 )
1060{
1063}
1064
1066WDFAPI
1067WDFFILEOBJECT
1068VFWDFEXPORT(WdfDeviceGetFileObject)(
1069 _In_
1071 _In_
1072 WDFDEVICE Device,
1073 _In_
1075 )
1076{
1079}
1080
1082WDFAPI
1083WDFQUEUE
1084VFWDFEXPORT(WdfDeviceGetDefaultQueue)(
1085 _In_
1087 _In_
1088 WDFDEVICE Device
1089 )
1090{
1092 return ((PFN_WDFDEVICEGETDEFAULTQUEUE) WdfVersion.Functions.pfnWdfDeviceGetDefaultQueue)(DriverGlobals, Device);
1093}
1094
1097WDFAPI
1099VFWDFEXPORT(WdfDeviceConfigureRequestDispatching)(
1100 _In_
1102 _In_
1103 WDFDEVICE Device,
1104 _In_
1105 WDFQUEUE Queue,
1106 _In_
1109 )
1110{
1113}
1114
1117WDFAPI
1119VFWDFEXPORT(WdfDeviceConfigureWdmIrpDispatchCallback)(
1120 _In_
1122 _In_
1123 WDFDEVICE Device,
1124 _In_opt_
1125 WDFDRIVER Driver,
1126 _In_
1128 _In_
1130 _In_opt_
1132 )
1133{
1136}
1137
1139WDFAPI
1141VFWDFEXPORT(WdfDeviceGetSystemPowerAction)(
1142 _In_
1144 _In_
1145 WDFDEVICE Device
1146 )
1147{
1149 return ((PFN_WDFDEVICEGETSYSTEMPOWERACTION) WdfVersion.Functions.pfnWdfDeviceGetSystemPowerAction)(DriverGlobals, Device);
1150}
1151
1153WDFAPI
1154VOID
1155VFWDFEXPORT(WdfDeviceInitSetReleaseHardwareOrderOnFailure)(
1156 _In_
1158 _In_
1160 _In_
1162 )
1163{
1166}
1167
1169WDFAPI
1170VOID
1171VFWDFEXPORT(WdfDeviceInitSetIoTypeEx)(
1172 _In_
1174 _In_
1176 _In_
1178 )
1179{
1182}
1183
1185WDFAPI
1187VFWDFEXPORT(WdfDevicePostEvent)(
1188 _In_
1190 _In_
1191 WDFDEVICE Device,
1192 _In_
1194 _In_
1197 BYTE* Data,
1198 _In_
1200 )
1201{
1204}
1205
1208WDFAPI
1210VFWDFEXPORT(WdfDeviceMapIoSpace)(
1211 _In_
1213 _In_
1214 WDFDEVICE Device,
1215 _In_
1217 _In_
1219 _In_
1221 _Out_
1223 )
1224{
1227}
1228
1230WDFAPI
1231VOID
1232VFWDFEXPORT(WdfDeviceUnmapIoSpace)(
1233 _In_
1235 _In_
1236 WDFDEVICE Device,
1237 _In_
1239 _In_
1241 )
1242{
1245}
1246
1248WDFAPI
1249PVOID
1250VFWDFEXPORT(WdfDeviceGetHardwareRegisterMappedAddress)(
1251 _In_
1253 _In_
1254 WDFDEVICE Device,
1255 _In_
1257 )
1258{
1261}
1262
1264WDFAPI
1265SIZE_T
1266VFWDFEXPORT(WdfDeviceReadFromHardware)(
1267 _In_
1269 _In_
1270 WDFDEVICE Device,
1271 _In_
1272 WDF_DEVICE_HWACCESS_TARGET_TYPE Type,
1273 _In_
1274 WDF_DEVICE_HWACCESS_TARGET_SIZE Size,
1275 _In_
1278 PVOID Buffer,
1279 _In_opt_
1281 )
1282{
1285}
1286
1288WDFAPI
1289VOID
1290VFWDFEXPORT(WdfDeviceWriteToHardware)(
1291 _In_
1293 _In_
1294 WDFDEVICE Device,
1295 _In_
1296 WDF_DEVICE_HWACCESS_TARGET_TYPE Type,
1297 _In_
1298 WDF_DEVICE_HWACCESS_TARGET_SIZE Size,
1299 _In_
1301 _In_
1304 PVOID Buffer,
1305 _In_opt_
1306 ULONG Count
1307 )
1308{
1311}
1312
1314WDFAPI
1316VFWDFEXPORT(WdfDeviceAssignInterfaceProperty)(
1317 _In_
1319 _In_
1320 WDFDEVICE Device,
1321 _In_
1322 PWDF_DEVICE_INTERFACE_PROPERTY_DATA PropertyData,
1323 _In_
1325 _In_
1329 )
1330{
1333}
1334
1336WDFAPI
1338VFWDFEXPORT(WdfDeviceAllocAndQueryInterfaceProperty)(
1339 _In_
1341 _In_
1342 WDFDEVICE Device,
1343 _In_
1344 PWDF_DEVICE_INTERFACE_PROPERTY_DATA PropertyData,
1345 _In_
1347 _In_opt_
1349 _Out_
1350 WDFMEMORY* PropertyMemory,
1351 _Out_
1353 )
1354{
1357}
1358
1360WDFAPI
1362VFWDFEXPORT(WdfDeviceQueryInterfaceProperty)(
1363 _In_
1365 _In_
1366 WDFDEVICE Device,
1367 _In_
1368 PWDF_DEVICE_INTERFACE_PROPERTY_DATA PropertyData,
1369 _In_
1373 _Out_
1375 _Out_
1377 )
1378{
1381}
1382
1384WDFAPI
1385VOID
1386VFWDFEXPORT(WdfDeviceGetDeviceStackIoType)(
1387 _In_
1389 _In_
1390 WDFDEVICE Device,
1391 _Out_
1393 _Out_
1395 )
1396{
1399}
1400
1403WDFAPI
1405VFWDFEXPORT(WdfDeviceQueryPropertyEx)(
1406 _In_
1408 _In_
1409 WDFDEVICE Device,
1410 _In_
1412 _In_
1414 _Out_
1416 _Out_
1418 _Out_
1420 )
1421{
1424}
1425
1428WDFAPI
1430VFWDFEXPORT(WdfDeviceAllocAndQueryPropertyEx)(
1431 _In_
1433 _In_
1434 WDFDEVICE Device,
1435 _In_
1437 _In_
1440 _In_opt_
1442 _Out_
1443 WDFMEMORY* PropertyMemory,
1444 _Out_
1446 )
1447{
1450}
1451
1454WDFAPI
1456VFWDFEXPORT(WdfDeviceAssignProperty)(
1457 _In_
1459 _In_
1460 WDFDEVICE Device,
1461 _In_
1463 _In_
1465 _In_
1466 ULONG Size,
1467 _In_opt_
1468 PVOID Data
1469 )
1470{
1473}
1474
1476WDFAPI
1477WDFIOTARGET
1478VFWDFEXPORT(WdfDeviceGetSelfIoTarget)(
1479 _In_
1481 _In_
1482 WDFDEVICE Device
1483 )
1484{
1487}
1488
1490WDFAPI
1491VOID
1492VFWDFEXPORT(WdfDeviceInitAllowSelfIoTarget)(
1493 _In_
1495 _In_
1497 )
1498{
1501}
1502
1505WDFAPI
1507VFWDFEXPORT(WdfDriverCreate)(
1508 _In_
1510 _In_
1512 _In_
1514 _In_opt_
1516 _In_
1518 _Out_opt_
1519 WDFDRIVER* Driver
1520 )
1521{
1524}
1525
1527WDFAPI
1528PWSTR
1529VFWDFEXPORT(WdfDriverGetRegistryPath)(
1530 _In_
1532 _In_
1533 WDFDRIVER Driver
1534 )
1535{
1537 return ((PFN_WDFDRIVERGETREGISTRYPATH) WdfVersion.Functions.pfnWdfDriverGetRegistryPath)(DriverGlobals, Driver);
1538}
1539
1542WDFAPI
1544VFWDFEXPORT(WdfDriverOpenParametersRegistryKey)(
1545 _In_
1547 _In_
1548 WDFDRIVER Driver,
1549 _In_
1551 _In_opt_
1553 _Out_
1554 WDFKEY* Key
1555 )
1556{
1559}
1560
1563WDFAPI
1565VFWDFEXPORT(WdfDriverRetrieveVersionString)(
1566 _In_
1568 _In_
1569 WDFDRIVER Driver,
1570 _In_
1571 WDFSTRING String
1572 )
1573{
1575 return ((PFN_WDFDRIVERRETRIEVEVERSIONSTRING) WdfVersion.Functions.pfnWdfDriverRetrieveVersionString)(DriverGlobals, Driver, String);
1576}
1577
1580WDFAPI
1581BOOLEAN
1582VFWDFEXPORT(WdfDriverIsVersionAvailable)(
1583 _In_
1585 _In_
1586 WDFDRIVER Driver,
1587 _In_
1589 )
1590{
1593}
1594
1597WDFAPI
1599VFWDFEXPORT(WdfFdoInitOpenRegistryKey)(
1600 _In_
1602 _In_
1604 _In_
1606 _In_
1608 _In_opt_
1610 _Out_
1611 WDFKEY* Key
1612 )
1613{
1616}
1617
1620WDFAPI
1622VFWDFEXPORT(WdfFdoInitQueryProperty)(
1623 _In_
1625 _In_
1627 _In_
1629 _In_
1633 _Out_
1635 )
1636{
1639}
1640
1643WDFAPI
1645VFWDFEXPORT(WdfFdoInitAllocAndQueryProperty)(
1646 _In_
1648 _In_
1650 _In_
1652 _In_
1655 _In_opt_
1657 _Out_
1658 WDFMEMORY* PropertyMemory
1659 )
1660{
1663}
1664
1667WDFAPI
1669VFWDFEXPORT(WdfFdoInitQueryPropertyEx)(
1670 _In_
1672 _In_
1674 _In_
1676 _In_
1678 _Out_
1680 _Out_
1682 _Out_
1684 )
1685{
1688}
1689
1692WDFAPI
1694VFWDFEXPORT(WdfFdoInitAllocAndQueryPropertyEx)(
1695 _In_
1697 _In_
1699 _In_
1701 _In_
1704 _In_opt_
1706 _Out_
1707 WDFMEMORY* PropertyMemory,
1708 _Out_
1710 )
1711{
1714}
1715
1717WDFAPI
1718VOID
1719VFWDFEXPORT(WdfFdoInitSetFilter)(
1720 _In_
1722 _In_
1724 )
1725{
1728}
1729
1731WDFAPI
1733VFWDFEXPORT(WdfFileObjectGetFileName)(
1734 _In_
1736 _In_
1737 WDFFILEOBJECT FileObject
1738 )
1739{
1742}
1743
1745WDFAPI
1746WDFDEVICE
1747VFWDFEXPORT(WdfFileObjectGetDevice)(
1748 _In_
1750 _In_
1751 WDFFILEOBJECT FileObject
1752 )
1753{
1756}
1757
1759WDFAPI
1760ULONG
1761VFWDFEXPORT(WdfFileObjectGetInitiatorProcessId)(
1762 _In_
1764 _In_
1765 WDFFILEOBJECT FileObject
1766 )
1767{
1769 return ((PFN_WDFFILEOBJECTGETINITIATORPROCESSID) WdfVersion.Functions.pfnWdfFileObjectGetInitiatorProcessId)(DriverGlobals, FileObject);
1770}
1771
1773WDFAPI
1774WDFFILEOBJECT
1775VFWDFEXPORT(WdfFileObjectGetRelatedFileObject)(
1776 _In_
1778 _In_
1779 WDFFILEOBJECT FileObject
1780 )
1781{
1783 return ((PFN_WDFFILEOBJECTGETRELATEDFILEOBJECT) WdfVersion.Functions.pfnWdfFileObjectGetRelatedFileObject)(DriverGlobals, FileObject);
1784}
1785
1787WDFAPI
1788VOID
1789VFWDFEXPORT(WdfDeviceInitEnableHidInterface)(
1790 _In_
1792 _In_
1794 )
1795{
1798}
1799
1802WDFAPI
1804VFWDFEXPORT(WdfDeviceHidNotifyPresence)(
1805 _In_
1807 _In_
1808 WDFDEVICE Device,
1809 _In_
1811 )
1812{
1815}
1816
1819WDFAPI
1821VFWDFEXPORT(WdfInterruptCreate)(
1822 _In_
1824 _In_
1825 WDFDEVICE Device,
1826 _In_
1828 _In_opt_
1830 _Out_
1831 WDFINTERRUPT* Interrupt
1832 )
1833{
1836}
1837
1838WDFAPI
1839BOOLEAN
1841 _In_
1843 _In_
1844 WDFINTERRUPT Interrupt
1845 )
1846{
1849}
1850
1851WDFAPI
1852BOOLEAN
1854 _In_
1856 _In_
1857 WDFINTERRUPT Interrupt
1858 )
1859{
1862}
1863
1865WDFAPI
1866BOOLEAN
1867VFWDFEXPORT(WdfInterruptSynchronize)(
1868 _In_
1870 _In_
1871 WDFINTERRUPT Interrupt,
1872 _In_
1874 _In_
1876 )
1877{
1880}
1881
1883WDFAPI
1884VOID
1885VFWDFEXPORT(WdfInterruptAcquireLock)(
1886 _In_
1888 _In_
1890 _Acquires_lock_(_Curr_)
1891 WDFINTERRUPT Interrupt
1892 )
1893{
1895 ((PFN_WDFINTERRUPTACQUIRELOCK) WdfVersion.Functions.pfnWdfInterruptAcquireLock)(DriverGlobals, Interrupt);
1896}
1897
1899WDFAPI
1900VOID
1901VFWDFEXPORT(WdfInterruptReleaseLock)(
1902 _In_
1904 _In_
1906 _Releases_lock_(_Curr_)
1907 WDFINTERRUPT Interrupt
1908 )
1909{
1911 ((PFN_WDFINTERRUPTRELEASELOCK) WdfVersion.Functions.pfnWdfInterruptReleaseLock)(DriverGlobals, Interrupt);
1912}
1913
1915WDFAPI
1916VOID
1917VFWDFEXPORT(WdfInterruptEnable)(
1918 _In_
1920 _In_
1921 WDFINTERRUPT Interrupt
1922 )
1923{
1926}
1927
1929WDFAPI
1930VOID
1931VFWDFEXPORT(WdfInterruptDisable)(
1932 _In_
1934 _In_
1935 WDFINTERRUPT Interrupt
1936 )
1937{
1940}
1941
1943WDFAPI
1944VOID
1945VFWDFEXPORT(WdfInterruptGetInfo)(
1946 _In_
1948 _In_
1949 WDFINTERRUPT Interrupt,
1950 _Out_
1952 )
1953{
1956}
1957
1959WDFAPI
1960VOID
1961VFWDFEXPORT(WdfInterruptSetPolicy)(
1962 _In_
1964 _In_
1965 WDFINTERRUPT Interrupt,
1966 _In_
1968 _In_
1970 _In_
1972 )
1973{
1976}
1977
1979WDFAPI
1980VOID
1981VFWDFEXPORT(WdfInterruptSetExtendedPolicy)(
1982 _In_
1984 _In_
1985 WDFINTERRUPT Interrupt,
1986 _In_
1988 )
1989{
1992}
1993
1994WDFAPI
1995WDFDEVICE
1997 _In_
1999 _In_
2000 WDFINTERRUPT Interrupt
2001 )
2002{
2005}
2006
2008_Post_satisfies_(return == 1 || return == 0)
2010WDFAPI
2011BOOLEAN
2012VFWDFEXPORT(WdfInterruptTryToAcquireLock)(
2013 _In_
2015 _In_
2018 WDFINTERRUPT Interrupt
2019 )
2020{
2022 return ((PFN_WDFINTERRUPTTRYTOACQUIRELOCK) WdfVersion.Functions.pfnWdfInterruptTryToAcquireLock)(DriverGlobals, Interrupt);
2023}
2024
2027WDFAPI
2029VFWDFEXPORT(WdfIoQueueCreate)(
2030 _In_
2032 _In_
2033 WDFDEVICE Device,
2034 _In_
2036 _In_opt_
2038 _Out_opt_
2039 WDFQUEUE* Queue
2040 )
2041{
2044
2047
2049 &hookInfo,
2051 Device,
2052 Config,
2054 Queue);
2055
2057
2058 if (hookInfo.DonotCallKmdfLib) {
2059 return hookInfo.DdiCallStatus;
2060 }
2061
2063}
2064
2066WDFAPI
2068VFWDFEXPORT(WdfIoQueueGetState)(
2069 _In_
2071 _In_
2072 WDFQUEUE Queue,
2073 _Out_opt_
2075 _Out_opt_
2077 )
2078{
2081}
2082
2084WDFAPI
2085VOID
2086VFWDFEXPORT(WdfIoQueueStart)(
2087 _In_
2089 _In_
2090 WDFQUEUE Queue
2091 )
2092{
2095}
2096
2098WDFAPI
2099VOID
2100VFWDFEXPORT(WdfIoQueueStop)(
2101 _In_
2103 _In_
2104 WDFQUEUE Queue,
2106 _When_(Context == 0, _In_opt_)
2111 )
2112{
2115}
2116
2118WDFAPI
2119VOID
2120VFWDFEXPORT(WdfIoQueueStopSynchronously)(
2121 _In_
2123 _In_
2124 WDFQUEUE Queue
2125 )
2126{
2129}
2130
2132WDFAPI
2133WDFDEVICE
2134VFWDFEXPORT(WdfIoQueueGetDevice)(
2135 _In_
2137 _In_
2138 WDFQUEUE Queue
2139 )
2140{
2142 return ((PFN_WDFIOQUEUEGETDEVICE) WdfVersion.Functions.pfnWdfIoQueueGetDevice)(DriverGlobals, Queue);
2143}
2144
2147WDFAPI
2149VFWDFEXPORT(WdfIoQueueRetrieveNextRequest)(
2150 _In_
2152 _In_
2153 WDFQUEUE Queue,
2154 _Out_
2155 WDFREQUEST* OutRequest
2156 )
2157{
2162 }
2163 return rtn;
2164}
2165
2168WDFAPI
2170VFWDFEXPORT(WdfIoQueueRetrieveRequestByFileObject)(
2171 _In_
2173 _In_
2174 WDFQUEUE Queue,
2175 _In_
2176 WDFFILEOBJECT FileObject,
2177 _Out_
2178 WDFREQUEST* OutRequest
2179 )
2180{
2183 if (rtn == STATUS_SUCCESS) {
2185 }
2186 return rtn;
2187}
2188
2191WDFAPI
2193VFWDFEXPORT(WdfIoQueueFindRequest)(
2194 _In_
2196 _In_
2197 WDFQUEUE Queue,
2198 _In_opt_
2199 WDFREQUEST FoundRequest,
2200 _In_opt_
2201 WDFFILEOBJECT FileObject,
2204 _Out_
2205 WDFREQUEST* OutRequest
2206 )
2207{
2210}
2211
2214WDFAPI
2216VFWDFEXPORT(WdfIoQueueRetrieveFoundRequest)(
2217 _In_
2219 _In_
2220 WDFQUEUE Queue,
2221 _In_
2222 WDFREQUEST FoundRequest,
2223 _Out_
2224 WDFREQUEST* OutRequest
2225 )
2226{
2229 if (rtn == STATUS_SUCCESS) {
2231 }
2232 return rtn;
2233}
2234
2236WDFAPI
2237VOID
2238VFWDFEXPORT(WdfIoQueueDrainSynchronously)(
2239 _In_
2241 _In_
2242 WDFQUEUE Queue
2243 )
2244{
2247}
2248
2250WDFAPI
2251VOID
2252VFWDFEXPORT(WdfIoQueueDrain)(
2253 _In_
2255 _In_
2256 WDFQUEUE Queue,
2257 _When_(Context != 0, _In_)
2258 _When_(Context == 0, _In_opt_)
2263 )
2264{
2267}
2268
2270WDFAPI
2271VOID
2272VFWDFEXPORT(WdfIoQueuePurgeSynchronously)(
2273 _In_
2275 _In_
2276 WDFQUEUE Queue
2277 )
2278{
2281}
2282
2284WDFAPI
2285VOID
2286VFWDFEXPORT(WdfIoQueuePurge)(
2287 _In_
2289 _In_
2290 WDFQUEUE Queue,
2291 _When_(Context != 0, _In_)
2292 _When_(Context == 0, _In_opt_)
2297 )
2298{
2301}
2302
2305WDFAPI
2307VFWDFEXPORT(WdfIoQueueReadyNotify)(
2308 _In_
2310 _In_
2311 WDFQUEUE Queue,
2312 _In_opt_
2314 _In_opt_
2316 )
2317{
2320}
2321
2323WDFAPI
2324VOID
2325VFWDFEXPORT(WdfIoQueueStopAndPurge)(
2326 _In_
2328 _In_
2329 WDFQUEUE Queue,
2330 _When_(Context != 0, _In_)
2331 _When_(Context == 0, _In_opt_)
2336 )
2337{
2340}
2341
2343WDFAPI
2344VOID
2345VFWDFEXPORT(WdfIoQueueStopAndPurgeSynchronously)(
2346 _In_
2348 _In_
2349 WDFQUEUE Queue
2350 )
2351{
2354}
2355
2358WDFAPI
2360VFWDFEXPORT(WdfIoTargetCreate)(
2361 _In_
2363 _In_
2364 WDFDEVICE Device,
2365 _In_opt_
2367 _Out_
2368 WDFIOTARGET* IoTarget
2369 )
2370{
2373}
2374
2377WDFAPI
2379VFWDFEXPORT(WdfIoTargetOpen)(
2380 _In_
2382 _In_
2383 WDFIOTARGET IoTarget,
2384 _In_
2386 )
2387{
2390}
2391
2393WDFAPI
2394VOID
2395VFWDFEXPORT(WdfIoTargetCloseForQueryRemove)(
2396 _In_
2398 _In_
2399 WDFIOTARGET IoTarget
2400 )
2401{
2404}
2405
2407WDFAPI
2408VOID
2409VFWDFEXPORT(WdfIoTargetClose)(
2410 _In_
2412 _In_
2413 WDFIOTARGET IoTarget
2414 )
2415{
2418}
2419
2422WDFAPI
2424VFWDFEXPORT(WdfIoTargetStart)(
2425 _In_
2427 _In_
2428 WDFIOTARGET IoTarget
2429 )
2430{
2433}
2434
2437WDFAPI
2438VOID
2439VFWDFEXPORT(WdfIoTargetStop)(
2440 _In_
2442 _In_
2443 WDFIOTARGET IoTarget,
2444 _In_
2447 )
2448{
2451}
2452
2455WDFAPI
2456VOID
2457VFWDFEXPORT(WdfIoTargetPurge)(
2458 _In_
2460 _In_
2461 WDFIOTARGET IoTarget,
2462 _In_
2465 )
2466{
2469}
2470
2472WDFAPI
2474VFWDFEXPORT(WdfIoTargetGetState)(
2475 _In_
2477 _In_
2478 WDFIOTARGET IoTarget
2479 )
2480{
2483}
2484
2486WDFAPI
2487WDFDEVICE
2488VFWDFEXPORT(WdfIoTargetGetDevice)(
2489 _In_
2491 _In_
2492 WDFIOTARGET IoTarget
2493 )
2494{
2497}
2498
2500WDFAPI
2501HANDLE
2502VFWDFEXPORT(WdfIoTargetWdmGetTargetFileHandle)(
2503 _In_
2505 _In_
2506 WDFIOTARGET IoTarget
2507 )
2508{
2510 return ((PFN_WDFIOTARGETWDMGETTARGETFILEHANDLE) WdfVersion.Functions.pfnWdfIoTargetWdmGetTargetFileHandle)(DriverGlobals, IoTarget);
2511}
2512
2515WDFAPI
2517VFWDFEXPORT(WdfIoTargetSendReadSynchronously)(
2518 _In_
2520 _In_
2521 WDFIOTARGET IoTarget,
2522 _In_opt_
2523 WDFREQUEST Request,
2524 _In_opt_
2526 _In_opt_
2528 _In_opt_
2530 _Out_opt_
2532 )
2533{
2536}
2537
2540WDFAPI
2542VFWDFEXPORT(WdfIoTargetFormatRequestForRead)(
2543 _In_
2545 _In_
2546 WDFIOTARGET IoTarget,
2547 _In_
2548 WDFREQUEST Request,
2549 _In_opt_
2550 WDFMEMORY OutputBuffer,
2551 _In_opt_
2553 _In_opt_
2555 )
2556{
2559}
2560
2563WDFAPI
2565VFWDFEXPORT(WdfIoTargetSendWriteSynchronously)(
2566 _In_
2568 _In_
2569 WDFIOTARGET IoTarget,
2570 _In_opt_
2571 WDFREQUEST Request,
2572 _In_opt_
2574 _In_opt_
2576 _In_opt_
2578 _Out_opt_
2580 )
2581{
2584}
2585
2588WDFAPI
2590VFWDFEXPORT(WdfIoTargetFormatRequestForWrite)(
2591 _In_
2593 _In_
2594 WDFIOTARGET IoTarget,
2595 _In_
2596 WDFREQUEST Request,
2597 _In_opt_
2598 WDFMEMORY InputBuffer,
2599 _In_opt_
2601 _In_opt_
2603 )
2604{
2607}
2608
2611WDFAPI
2613VFWDFEXPORT(WdfIoTargetSendIoctlSynchronously)(
2614 _In_
2616 _In_
2617 WDFIOTARGET IoTarget,
2618 _In_opt_
2619 WDFREQUEST Request,
2620 _In_
2622 _In_opt_
2624 _In_opt_
2626 _In_opt_
2628 _Out_opt_
2630 )
2631{
2634}
2635
2638WDFAPI
2640VFWDFEXPORT(WdfIoTargetFormatRequestForIoctl)(
2641 _In_
2643 _In_
2644 WDFIOTARGET IoTarget,
2645 _In_
2646 WDFREQUEST Request,
2647 _In_
2649 _In_opt_
2650 WDFMEMORY InputBuffer,
2651 _In_opt_
2653 _In_opt_
2654 WDFMEMORY OutputBuffer,
2655 _In_opt_
2657 )
2658{
2661}
2662
2664WDFAPI
2666VFWDFEXPORT(WdfIoTargetSelfAssignDefaultIoQueue)(
2667 _In_
2669 _In_
2670 WDFIOTARGET IoTarget,
2671 _In_
2672 WDFQUEUE Queue
2673 )
2674{
2677}
2678
2682WDFAPI
2684VFWDFEXPORT(WdfMemoryCreate)(
2685 _In_
2687 _In_opt_
2689 _In_
2692 _In_opt_
2694 _In_
2696 size_t BufferSize,
2697 _Out_
2698 WDFMEMORY* Memory,
2700 PVOID* Buffer
2701 )
2702{
2705}
2706
2709WDFAPI
2711VFWDFEXPORT(WdfMemoryCreatePreallocated)(
2712 _In_
2714 _In_opt_
2717 PVOID Buffer,
2718 _In_
2720 size_t BufferSize,
2721 _Out_
2722 WDFMEMORY* Memory
2723 )
2724{
2727}
2728
2730WDFAPI
2731PVOID
2732VFWDFEXPORT(WdfMemoryGetBuffer)(
2733 _In_
2735 _In_
2736 WDFMEMORY Memory,
2737 _Out_opt_
2738 size_t* BufferSize
2739 )
2740{
2743}
2744
2747WDFAPI
2749VFWDFEXPORT(WdfMemoryAssignBuffer)(
2750 _In_
2752 _In_
2753 WDFMEMORY Memory,
2755 PVOID Buffer,
2756 _In_
2758 size_t BufferSize
2759 )
2760{
2762 return ((PFN_WDFMEMORYASSIGNBUFFER) WdfVersion.Functions.pfnWdfMemoryAssignBuffer)(DriverGlobals, Memory, Buffer, BufferSize);
2763}
2764
2767WDFAPI
2769VFWDFEXPORT(WdfMemoryCopyToBuffer)(
2770 _In_
2772 _In_
2773 WDFMEMORY SourceMemory,
2774 _In_
2776 _Out_writes_bytes_( NumBytesToCopyTo )
2777 PVOID Buffer,
2778 _In_
2779 _When_(NumBytesToCopyTo == 0, __drv_reportError(NumBytesToCopyTo cannot be zero))
2780 size_t NumBytesToCopyTo
2781 )
2782{
2784 return ((PFN_WDFMEMORYCOPYTOBUFFER) WdfVersion.Functions.pfnWdfMemoryCopyToBuffer)(DriverGlobals, SourceMemory, SourceOffset, Buffer, NumBytesToCopyTo);
2785}
2786
2789WDFAPI
2791VFWDFEXPORT(WdfMemoryCopyFromBuffer)(
2792 _In_
2794 _In_
2796 _In_
2798 _In_
2799 PVOID Buffer,
2800 _In_
2801 _When_(NumBytesToCopyFrom == 0, __drv_reportError(NumBytesToCopyFrom cannot be zero))
2802 size_t NumBytesToCopyFrom
2803 )
2804{
2806 return ((PFN_WDFMEMORYCOPYFROMBUFFER) WdfVersion.Functions.pfnWdfMemoryCopyFromBuffer)(DriverGlobals, DestinationMemory, DestinationOffset, Buffer, NumBytesToCopyFrom);
2807}
2808
2809WDFAPI
2810PVOID
2813 _In_
2815 _In_
2817 _In_
2819 )
2820{
2823}
2824
2825WDFAPI
2828 _In_
2830 _In_
2832 _In_
2833 PWDF_OBJECT_ATTRIBUTES ContextAttributes,
2835 PVOID* Context
2836 )
2837{
2840}
2841
2842WDFAPI
2846 _In_
2848 _In_
2850 )
2851{
2854}
2855
2856WDFAPI
2857VOID
2859 _In_
2861 _In_
2863 _In_opt_
2864 PVOID Tag,
2865 _In_
2866 LONG Line,
2867 _In_z_
2868 PCHAR File
2869 )
2870{
2873}
2874
2875WDFAPI
2876VOID
2878 _In_
2880 _In_
2882 _In_opt_
2883 PVOID Tag,
2884 _In_
2885 LONG Line,
2886 _In_z_
2887 PCHAR File
2888 )
2889{
2892}
2893
2896WDFAPI
2898VFWDFEXPORT(WdfObjectCreate)(
2899 _In_
2901 _In_opt_
2903 _Out_
2905 )
2906{
2909}
2910
2912WDFAPI
2913VOID
2914VFWDFEXPORT(WdfObjectDelete)(
2915 _In_
2917 _In_
2919 )
2920{
2923}
2924
2927WDFAPI
2929VFWDFEXPORT(WdfObjectQuery)(
2930 _In_
2932 _In_
2934 _In_
2936 _In_
2939 PVOID QueryBuffer
2940 )
2941{
2943 return ((PFN_WDFOBJECTQUERY) WdfVersion.Functions.pfnWdfObjectQuery)(DriverGlobals, Object, Guid, QueryBufferLength, QueryBuffer);
2944}
2945
2948WDFAPI
2950VFWDFEXPORT(WdfRegistryOpenKey)(
2951 _In_
2953 _In_opt_
2955 _In_
2957 _In_
2959 _In_opt_
2961 _Out_
2962 WDFKEY* Key
2963 )
2964{
2967}
2968
2971WDFAPI
2973VFWDFEXPORT(WdfRegistryCreateKey)(
2974 _In_
2976 _In_opt_
2977 WDFKEY ParentKey,
2978 _In_
2980 _In_
2982 _In_
2984 _Out_opt_
2986 _In_opt_
2988 _Out_
2989 WDFKEY* Key
2990 )
2991{
2994}
2995
2997WDFAPI
2998VOID
2999VFWDFEXPORT(WdfRegistryClose)(
3000 _In_
3002 _In_
3003 WDFKEY Key
3004 )
3005{
3008}
3009
3011WDFAPI
3012HANDLE
3013VFWDFEXPORT(WdfRegistryWdmGetHandle)(
3014 _In_
3016 _In_
3017 WDFKEY Key
3018 )
3019{
3021 return ((PFN_WDFREGISTRYWDMGETHANDLE) WdfVersion.Functions.pfnWdfRegistryWdmGetHandle)(DriverGlobals, Key);
3022}
3023
3026WDFAPI
3028VFWDFEXPORT(WdfRegistryRemoveKey)(
3029 _In_
3031 _In_
3032 WDFKEY Key
3033 )
3034{
3036 return ((PFN_WDFREGISTRYREMOVEKEY) WdfVersion.Functions.pfnWdfRegistryRemoveKey)(DriverGlobals, Key);
3037}
3038
3041WDFAPI
3043VFWDFEXPORT(WdfRegistryRemoveValue)(
3044 _In_
3046 _In_
3047 WDFKEY Key,
3048 _In_
3050 )
3051{
3054}
3055
3058WDFAPI
3060VFWDFEXPORT(WdfRegistryQueryValue)(
3061 _In_
3063 _In_
3064 WDFKEY Key,
3065 _In_
3067 _In_
3070 PVOID Value,
3071 _Out_opt_
3073 _Out_opt_
3075 )
3076{
3079}
3080
3083WDFAPI
3085VFWDFEXPORT(WdfRegistryQueryMemory)(
3086 _In_
3088 _In_
3089 WDFKEY Key,
3090 _In_
3092 _In_
3095 _In_opt_
3097 _Out_
3098 WDFMEMORY* Memory,
3099 _Out_opt_
3101 )
3102{
3105}
3106
3109WDFAPI
3111VFWDFEXPORT(WdfRegistryQueryMultiString)(
3112 _In_
3114 _In_
3115 WDFKEY Key,
3116 _In_
3118 _In_opt_
3120 _In_
3121 WDFCOLLECTION Collection
3122 )
3123{
3126}
3127
3130WDFAPI
3132VFWDFEXPORT(WdfRegistryQueryUnicodeString)(
3133 _In_
3135 _In_
3136 WDFKEY Key,
3137 _In_
3139 _Out_opt_
3143 )
3144{
3147}
3148
3151WDFAPI
3153VFWDFEXPORT(WdfRegistryQueryString)(
3154 _In_
3156 _In_
3157 WDFKEY Key,
3158 _In_
3160 _In_
3161 WDFSTRING String
3162 )
3163{
3166}
3167
3170WDFAPI
3172VFWDFEXPORT(WdfRegistryQueryULong)(
3173 _In_
3175 _In_
3176 WDFKEY Key,
3177 _In_
3179 _Out_
3181 )
3182{
3185}
3186
3189WDFAPI
3191VFWDFEXPORT(WdfRegistryAssignValue)(
3192 _In_
3194 _In_
3195 WDFKEY Key,
3196 _In_
3198 _In_
3200 _In_
3203 PVOID Value
3204 )
3205{
3208}
3209
3212WDFAPI
3214VFWDFEXPORT(WdfRegistryAssignMemory)(
3215 _In_
3217 _In_
3218 WDFKEY Key,
3219 _In_
3221 _In_
3223 _In_
3224 WDFMEMORY Memory,
3225 _In_opt_
3227 )
3228{
3231}
3232
3235WDFAPI
3237VFWDFEXPORT(WdfRegistryAssignMultiString)(
3238 _In_
3240 _In_
3241 WDFKEY Key,
3242 _In_
3244 _In_
3245 WDFCOLLECTION StringsCollection
3246 )
3247{
3250}
3251
3254WDFAPI
3256VFWDFEXPORT(WdfRegistryAssignUnicodeString)(
3257 _In_
3259 _In_
3260 WDFKEY Key,
3261 _In_
3263 _In_
3265 )
3266{
3268 return ((PFN_WDFREGISTRYASSIGNUNICODESTRING) WdfVersion.Functions.pfnWdfRegistryAssignUnicodeString)(DriverGlobals, Key, ValueName, Value);
3269}
3270
3273WDFAPI
3275VFWDFEXPORT(WdfRegistryAssignString)(
3276 _In_
3278 _In_
3279 WDFKEY Key,
3280 _In_
3282 _In_
3283 WDFSTRING String
3284 )
3285{
3288}
3289
3292WDFAPI
3294VFWDFEXPORT(WdfRegistryAssignULong)(
3295 _In_
3297 _In_
3298 WDFKEY Key,
3299 _In_
3301 _In_
3302 ULONG Value
3303 )
3304{
3307}
3308
3311WDFAPI
3313VFWDFEXPORT(WdfRequestCreate)(
3314 _In_
3316 _In_opt_
3318 _In_opt_
3319 WDFIOTARGET IoTarget,
3320 _Out_
3321 WDFREQUEST* Request
3322 )
3323{
3326}
3327
3329WDFAPI
3331VFWDFEXPORT(WdfRequestReuse)(
3332 _In_
3334 _In_
3335 WDFREQUEST Request,
3336 _In_
3338 )
3339{
3342}
3343
3346WDFAPI
3348VFWDFEXPORT(WdfRequestChangeTarget)(
3349 _In_
3351 _In_
3352 WDFREQUEST Request,
3353 _In_
3354 WDFIOTARGET IoTarget
3355 )
3356{
3359}
3360
3362WDFAPI
3363VOID
3364VFWDFEXPORT(WdfRequestFormatRequestUsingCurrentType)(
3365 _In_
3367 _In_
3368 WDFREQUEST Request
3369 )
3370{
3373}
3374
3377WDFAPI
3378BOOLEAN
3380 _In_
3382 _In_
3383 WDFREQUEST Request,
3384 _In_
3385 WDFIOTARGET Target,
3386 _In_opt_
3388 )
3389{
3392}
3393
3396WDFAPI
3398VFWDFEXPORT(WdfRequestGetStatus)(
3399 _In_
3401 _In_
3402 WDFREQUEST Request
3403 )
3404{
3407}
3408
3410WDFAPI
3411VOID
3412VFWDFEXPORT(WdfRequestMarkCancelable)(
3413 _In_
3415 _In_
3416 WDFREQUEST Request,
3417 _In_
3419 )
3420{
3423}
3424
3427WDFAPI
3429VFWDFEXPORT(WdfRequestMarkCancelableEx)(
3430 _In_
3432 _In_
3433 WDFREQUEST Request,
3434 _In_
3436 )
3437{
3440}
3441
3444WDFAPI
3446VFWDFEXPORT(WdfRequestUnmarkCancelable)(
3447 _In_
3449 _In_
3450 WDFREQUEST Request
3451 )
3452{
3454 return ((PFN_WDFREQUESTUNMARKCANCELABLE) WdfVersion.Functions.pfnWdfRequestUnmarkCancelable)(DriverGlobals, Request);
3455}
3456
3459WDFAPI
3460BOOLEAN
3461VFWDFEXPORT(WdfRequestIsCanceled)(
3462 _In_
3464 _In_
3465 WDFREQUEST Request
3466 )
3467{
3470}
3471
3473WDFAPI
3474BOOLEAN
3475VFWDFEXPORT(WdfRequestCancelSentRequest)(
3476 _In_
3478 _In_
3479 WDFREQUEST Request
3480 )
3481{
3483 return ((PFN_WDFREQUESTCANCELSENTREQUEST) WdfVersion.Functions.pfnWdfRequestCancelSentRequest)(DriverGlobals, Request);
3484}
3485
3488WDFAPI
3489BOOLEAN
3490VFWDFEXPORT(WdfRequestIsFrom32BitProcess)(
3491 _In_
3493 _In_
3494 WDFREQUEST Request
3495 )
3496{
3498 return ((PFN_WDFREQUESTISFROM32BITPROCESS) WdfVersion.Functions.pfnWdfRequestIsFrom32BitProcess)(DriverGlobals, Request);
3499}
3500
3502WDFAPI
3503VOID
3504VFWDFEXPORT(WdfRequestSetCompletionRoutine)(
3505 _In_
3507 _In_
3508 WDFREQUEST Request,
3509 _In_opt_
3513 )
3514{
3517}
3518
3520WDFAPI
3521VOID
3522VFWDFEXPORT(WdfRequestGetCompletionParams)(
3523 _In_
3525 _In_
3526 WDFREQUEST Request,
3527 _Out_
3529 )
3530{
3533}
3534
3537WDFAPI
3539VFWDFEXPORT(WdfRequestAllocateTimer)(
3540 _In_
3542 _In_
3543 WDFREQUEST Request
3544 )
3545{
3547 return ((PFN_WDFREQUESTALLOCATETIMER) WdfVersion.Functions.pfnWdfRequestAllocateTimer)(DriverGlobals, Request);
3548}
3549
3551WDFAPI
3552VOID
3553VFWDFEXPORT(WdfRequestComplete)(
3554 _In_
3556 _In_
3557 WDFREQUEST Request,
3558 _In_
3560 )
3561{
3565}
3566
3568WDFAPI
3569VOID
3570VFWDFEXPORT(WdfRequestCompleteWithInformation)(
3571 _In_
3573 _In_
3574 WDFREQUEST Request,
3575 _In_
3577 _In_
3579 )
3580{
3584}
3585
3587WDFAPI
3588VOID
3589VFWDFEXPORT(WdfRequestGetParameters)(
3590 _In_
3592 _In_
3593 WDFREQUEST Request,
3594 _Out_
3596 )
3597{
3600}
3601
3604WDFAPI
3606VFWDFEXPORT(WdfRequestRetrieveInputMemory)(
3607 _In_
3609 _In_
3610 WDFREQUEST Request,
3611 _Out_
3612 WDFMEMORY* Memory
3613 )
3614{
3616 return ((PFN_WDFREQUESTRETRIEVEINPUTMEMORY) WdfVersion.Functions.pfnWdfRequestRetrieveInputMemory)(DriverGlobals, Request, Memory);
3617}
3618
3621WDFAPI
3623VFWDFEXPORT(WdfRequestRetrieveOutputMemory)(
3624 _In_
3626 _In_
3627 WDFREQUEST Request,
3628 _Out_
3629 WDFMEMORY* Memory
3630 )
3631{
3633 return ((PFN_WDFREQUESTRETRIEVEOUTPUTMEMORY) WdfVersion.Functions.pfnWdfRequestRetrieveOutputMemory)(DriverGlobals, Request, Memory);
3634}
3635
3638WDFAPI
3640VFWDFEXPORT(WdfRequestRetrieveInputBuffer)(
3641 _In_
3643 _In_
3644 WDFREQUEST Request,
3645 _In_
3648 PVOID* Buffer,
3649 _Out_opt_
3650 size_t* Length
3651 )
3652{
3655}
3656
3659WDFAPI
3661VFWDFEXPORT(WdfRequestRetrieveOutputBuffer)(
3662 _In_
3664 _In_
3665 WDFREQUEST Request,
3666 _In_
3669 PVOID* Buffer,
3670 _Out_opt_
3671 size_t* Length
3672 )
3673{
3676}
3677
3679WDFAPI
3680VOID
3681VFWDFEXPORT(WdfRequestSetInformation)(
3682 _In_
3684 _In_
3685 WDFREQUEST Request,
3686 _In_
3688 )
3689{
3692}
3693
3695WDFAPI
3697VFWDFEXPORT(WdfRequestGetInformation)(
3698 _In_
3700 _In_
3701 WDFREQUEST Request
3702 )
3703{
3705 return ((PFN_WDFREQUESTGETINFORMATION) WdfVersion.Functions.pfnWdfRequestGetInformation)(DriverGlobals, Request);
3706}
3707
3709WDFAPI
3710WDFFILEOBJECT
3711VFWDFEXPORT(WdfRequestGetFileObject)(
3712 _In_
3714 _In_
3715 WDFREQUEST Request
3716 )
3717{
3719 return ((PFN_WDFREQUESTGETFILEOBJECT) WdfVersion.Functions.pfnWdfRequestGetFileObject)(DriverGlobals, Request);
3720}
3721
3723WDFAPI
3725VFWDFEXPORT(WdfRequestGetRequestorMode)(
3726 _In_
3728 _In_
3729 WDFREQUEST Request
3730 )
3731{
3733 return ((PFN_WDFREQUESTGETREQUESTORMODE) WdfVersion.Functions.pfnWdfRequestGetRequestorMode)(DriverGlobals, Request);
3734}
3735
3738WDFAPI
3740VFWDFEXPORT(WdfRequestForwardToIoQueue)(
3741 _In_
3743 _In_
3744 WDFREQUEST Request,
3745 _In_
3747 )
3748{
3751}
3752
3754WDFAPI
3755WDFQUEUE
3756VFWDFEXPORT(WdfRequestGetIoQueue)(
3757 _In_
3759 _In_
3760 WDFREQUEST Request
3761 )
3762{
3765}
3766
3769WDFAPI
3771VFWDFEXPORT(WdfRequestRequeue)(
3772 _In_
3774 _In_
3775 WDFREQUEST Request
3776 )
3777{
3780}
3781
3783WDFAPI
3784VOID
3785VFWDFEXPORT(WdfRequestStopAcknowledge)(
3786 _In_
3788 _In_
3789 WDFREQUEST Request,
3790 _In_
3792 )
3793{
3796}
3797
3800WDFAPI
3802VFWDFEXPORT(WdfRequestImpersonate)(
3803 _In_
3805 _In_
3806 WDFREQUEST Request,
3807 _In_
3809 _In_
3810 PFN_WDF_REQUEST_IMPERSONATE EvtRequestImpersonate,
3811 _In_opt_
3813 )
3814{
3817}
3818
3820WDFAPI
3821ULONG
3822VFWDFEXPORT(WdfRequestGetRequestorProcessId)(
3823 _In_
3825 _In_
3826 WDFREQUEST Request
3827 )
3828{
3830 return ((PFN_WDFREQUESTGETREQUESTORPROCESSID) WdfVersion.Functions.pfnWdfRequestGetRequestorProcessId)(DriverGlobals, Request);
3831}
3832
3834WDFAPI
3835BOOLEAN
3836VFWDFEXPORT(WdfRequestIsFromUserModeDriver)(
3837 _In_
3839 _In_
3840 WDFREQUEST Request
3841 )
3842{
3844 return ((PFN_WDFREQUESTISFROMUSERMODEDRIVER) WdfVersion.Functions.pfnWdfRequestIsFromUserModeDriver)(DriverGlobals, Request);
3845}
3846
3848WDFAPI
3849VOID
3850VFWDFEXPORT(WdfRequestSetUserModeDriverInitiatedIo)(
3851 _In_
3853 _In_
3854 WDFREQUEST Request,
3855 _In_
3857 )
3858{
3861}
3862
3864WDFAPI
3865BOOLEAN
3866VFWDFEXPORT(WdfRequestGetUserModeDriverInitiatedIo)(
3867 _In_
3869 _In_
3870 WDFREQUEST Request
3871 )
3872{
3874 return ((PFN_WDFREQUESTGETUSERMODEDRIVERINITIATEDIO) WdfVersion.Functions.pfnWdfRequestGetUserModeDriverInitiatedIo)(DriverGlobals, Request);
3875}
3876
3878WDFAPI
3879VOID
3880VFWDFEXPORT(WdfRequestSetActivityId)(
3881 _In_
3883 _In_
3884 WDFREQUEST Request,
3885 _In_
3887 )
3888{
3891}
3892
3894WDFAPI
3896VFWDFEXPORT(WdfRequestRetrieveActivityId)(
3897 _In_
3899 _In_
3900 WDFREQUEST Request,
3901 _Out_
3903 )
3904{
3907}
3908
3910WDFAPI
3912VFWDFEXPORT(WdfRequestGetEffectiveIoType)(
3913 _In_
3915 _In_
3916 WDFREQUEST Request
3917 )
3918{
3920 return ((PFN_WDFREQUESTGETEFFECTIVEIOTYPE) WdfVersion.Functions.pfnWdfRequestGetEffectiveIoType)(DriverGlobals, Request);
3921}
3922
3924WDFAPI
3925ULONG
3926VFWDFEXPORT(WdfCmResourceListGetCount)(
3927 _In_
3929 _In_
3930 WDFCMRESLIST List
3931 )
3932{
3934 return ((PFN_WDFCMRESOURCELISTGETCOUNT) WdfVersion.Functions.pfnWdfCmResourceListGetCount)(DriverGlobals, List);
3935}
3936
3938WDFAPI
3940VFWDFEXPORT(WdfCmResourceListGetDescriptor)(
3941 _In_
3943 _In_
3944 WDFCMRESLIST List,
3945 _In_
3946 ULONG Index
3947 )
3948{
3950 return ((PFN_WDFCMRESOURCELISTGETDESCRIPTOR) WdfVersion.Functions.pfnWdfCmResourceListGetDescriptor)(DriverGlobals, List, Index);
3951}
3952
3955WDFAPI
3957VFWDFEXPORT(WdfStringCreate)(
3958 _In_
3960 _In_opt_
3962 _In_opt_
3964 _Out_
3965 WDFSTRING* String
3966 )
3967{
3970}
3971
3973WDFAPI
3974VOID
3975VFWDFEXPORT(WdfStringGetUnicodeString)(
3976 _In_
3978 _In_
3979 WDFSTRING String,
3980 _Out_
3982 )
3983{
3986}
3987
3989WDFAPI
3990VOID
3991VFWDFEXPORT(WdfObjectAcquireLock)(
3992 _In_
3994 _In_
3996 _Acquires_lock_(_Curr_)
3998 )
3999{
4001 ((PFN_WDFOBJECTACQUIRELOCK) WdfVersion.Functions.pfnWdfObjectAcquireLock)(DriverGlobals, Object);
4002}
4003
4005WDFAPI
4006VOID
4007VFWDFEXPORT(WdfObjectReleaseLock)(
4008 _In_
4010 _In_
4011 _Requires_lock_held_(_Curr_)
4012 _Releases_lock_(_Curr_)
4014 )
4015{
4017 ((PFN_WDFOBJECTRELEASELOCK) WdfVersion.Functions.pfnWdfObjectReleaseLock)(DriverGlobals, Object);
4018}
4019
4022WDFAPI
4024VFWDFEXPORT(WdfWaitLockCreate)(
4025 _In_
4027 _In_opt_
4029 _Out_
4030 WDFWAITLOCK* Lock
4031 )
4032{
4035}
4036
4043WDFAPI
4046 _In_
4048 _In_