ReactOS  0.4.15-dev-2991-g632fa1c
vfwdfdynamics.cpp
Go to the documentation of this file.
1 /*++
2 
3 Module Name: VfWdfDynamics.cpp
4 
5 Abstract:
6  Generated implementation for WDF API Verifier hooks
7 
8 Environment:
9  kernel mode only
10 
11 --*/
12 
13 
14 extern "C" {
15 #include <ntddk.h>
16 }
17 #include "vfpriv.hpp"
18 
19 
20 extern "C" {
21 extern WDFVERSION WdfVersion;
22 }
23 
24 #ifdef ALLOC_PRAGMA
25 #pragma alloc_text(FX_ENHANCED_VERIFIER_SECTION_NAME, \
26  VFWDFEXPORT(WdfChildListCreate), \
27  VFWDFEXPORT(WdfChildListGetDevice), \
28  VFWDFEXPORT(WdfChildListRetrievePdo), \
29  VFWDFEXPORT(WdfChildListRetrieveAddressDescription), \
30  VFWDFEXPORT(WdfChildListBeginScan), \
31  VFWDFEXPORT(WdfChildListEndScan), \
32  VFWDFEXPORT(WdfChildListBeginIteration), \
33  VFWDFEXPORT(WdfChildListRetrieveNextDevice), \
34  VFWDFEXPORT(WdfChildListEndIteration), \
35  VFWDFEXPORT(WdfChildListAddOrUpdateChildDescriptionAsPresent), \
36  VFWDFEXPORT(WdfChildListUpdateChildDescriptionAsMissing), \
37  VFWDFEXPORT(WdfChildListUpdateAllChildDescriptionsAsPresent), \
38  VFWDFEXPORT(WdfChildListRequestChildEject), \
39  VFWDFEXPORT(WdfCollectionCreate), \
40  VFWDFEXPORT(WdfCollectionGetCount), \
41  VFWDFEXPORT(WdfCollectionAdd), \
42  VFWDFEXPORT(WdfCollectionRemove), \
43  VFWDFEXPORT(WdfCollectionRemoveItem), \
44  VFWDFEXPORT(WdfCollectionGetItem), \
45  VFWDFEXPORT(WdfCollectionGetFirstItem), \
46  VFWDFEXPORT(WdfCollectionGetLastItem), \
47  VFWDFEXPORT(WdfCommonBufferCreate), \
48  VFWDFEXPORT(WdfCommonBufferCreateWithConfig), \
49  VFWDFEXPORT(WdfCommonBufferGetAlignedVirtualAddress), \
50  VFWDFEXPORT(WdfCommonBufferGetAlignedLogicalAddress), \
51  VFWDFEXPORT(WdfCommonBufferGetLength), \
52  VFWDFEXPORT(WdfControlDeviceInitAllocate), \
53  VFWDFEXPORT(WdfControlDeviceInitSetShutdownNotification), \
54  VFWDFEXPORT(WdfControlFinishInitializing), \
55  VFWDFEXPORT(WdfCxDeviceInitAllocate), \
56  VFWDFEXPORT(WdfCxDeviceInitAssignWdmIrpPreprocessCallback), \
57  VFWDFEXPORT(WdfCxDeviceInitSetIoInCallerContextCallback), \
58  VFWDFEXPORT(WdfCxDeviceInitSetRequestAttributes), \
59  VFWDFEXPORT(WdfCxDeviceInitSetFileObjectConfig), \
60  VFWDFEXPORT(WdfCxVerifierKeBugCheck), \
61  VFWDFEXPORT(WdfDeviceGetDeviceState), \
62  VFWDFEXPORT(WdfDeviceSetDeviceState), \
63  VFWDFEXPORT(WdfWdmDeviceGetWdfDeviceHandle), \
64  VFWDFEXPORT(WdfDeviceWdmGetDeviceObject), \
65  VFWDFEXPORT(WdfDeviceWdmGetAttachedDevice), \
66  VFWDFEXPORT(WdfDeviceWdmGetPhysicalDevice), \
67  VFWDFEXPORT(WdfDeviceWdmDispatchPreprocessedIrp), \
68  VFWDFEXPORT(WdfDeviceWdmDispatchIrp), \
69  VFWDFEXPORT(WdfDeviceWdmDispatchIrpToIoQueue), \
70  VFWDFEXPORT(WdfDeviceAddDependentUsageDeviceObject), \
71  VFWDFEXPORT(WdfDeviceRemoveDependentUsageDeviceObject), \
72  VFWDFEXPORT(WdfDeviceAddRemovalRelationsPhysicalDevice), \
73  VFWDFEXPORT(WdfDeviceRemoveRemovalRelationsPhysicalDevice), \
74  VFWDFEXPORT(WdfDeviceClearRemovalRelationsDevices), \
75  VFWDFEXPORT(WdfDeviceGetDriver), \
76  VFWDFEXPORT(WdfDeviceRetrieveDeviceName), \
77  VFWDFEXPORT(WdfDeviceAssignMofResourceName), \
78  VFWDFEXPORT(WdfDeviceGetIoTarget), \
79  VFWDFEXPORT(WdfDeviceGetDevicePnpState), \
80  VFWDFEXPORT(WdfDeviceGetDevicePowerState), \
81  VFWDFEXPORT(WdfDeviceGetDevicePowerPolicyState), \
82  VFWDFEXPORT(WdfDeviceAssignS0IdleSettings), \
83  VFWDFEXPORT(WdfDeviceAssignSxWakeSettings), \
84  VFWDFEXPORT(WdfDeviceOpenRegistryKey), \
85  VFWDFEXPORT(WdfDeviceOpenDevicemapKey), \
86  VFWDFEXPORT(WdfDeviceSetSpecialFileSupport), \
87  VFWDFEXPORT(WdfDeviceSetCharacteristics), \
88  VFWDFEXPORT(WdfDeviceGetCharacteristics), \
89  VFWDFEXPORT(WdfDeviceGetAlignmentRequirement), \
90  VFWDFEXPORT(WdfDeviceSetAlignmentRequirement), \
91  VFWDFEXPORT(WdfDeviceInitFree), \
92  VFWDFEXPORT(WdfDeviceInitSetPnpPowerEventCallbacks), \
93  VFWDFEXPORT(WdfDeviceInitSetPowerPolicyEventCallbacks), \
94  VFWDFEXPORT(WdfDeviceInitSetPowerPolicyOwnership), \
95  VFWDFEXPORT(WdfDeviceInitRegisterPnpStateChangeCallback), \
96  VFWDFEXPORT(WdfDeviceInitRegisterPowerStateChangeCallback), \
97  VFWDFEXPORT(WdfDeviceInitRegisterPowerPolicyStateChangeCallback), \
98  VFWDFEXPORT(WdfDeviceInitSetExclusive), \
99  VFWDFEXPORT(WdfDeviceInitSetIoType), \
100  VFWDFEXPORT(WdfDeviceInitSetPowerNotPageable), \
101  VFWDFEXPORT(WdfDeviceInitSetPowerPageable), \
102  VFWDFEXPORT(WdfDeviceInitSetPowerInrush), \
103  VFWDFEXPORT(WdfDeviceInitSetDeviceType), \
104  VFWDFEXPORT(WdfDeviceInitAssignName), \
105  VFWDFEXPORT(WdfDeviceInitAssignSDDLString), \
106  VFWDFEXPORT(WdfDeviceInitSetDeviceClass), \
107  VFWDFEXPORT(WdfDeviceInitSetCharacteristics), \
108  VFWDFEXPORT(WdfDeviceInitSetFileObjectConfig), \
109  VFWDFEXPORT(WdfDeviceInitSetRequestAttributes), \
110  VFWDFEXPORT(WdfDeviceInitAssignWdmIrpPreprocessCallback), \
111  VFWDFEXPORT(WdfDeviceInitSetIoInCallerContextCallback), \
112  VFWDFEXPORT(WdfDeviceInitSetRemoveLockOptions), \
113  VFWDFEXPORT(WdfDeviceCreate), \
114  VFWDFEXPORT(WdfDeviceSetStaticStopRemove), \
115  VFWDFEXPORT(WdfDeviceCreateDeviceInterface), \
116  VFWDFEXPORT(WdfDeviceSetDeviceInterfaceState), \
117  VFWDFEXPORT(WdfDeviceRetrieveDeviceInterfaceString), \
118  VFWDFEXPORT(WdfDeviceCreateSymbolicLink), \
119  VFWDFEXPORT(WdfDeviceQueryProperty), \
120  VFWDFEXPORT(WdfDeviceAllocAndQueryProperty), \
121  VFWDFEXPORT(WdfDeviceSetPnpCapabilities), \
122  VFWDFEXPORT(WdfDeviceSetPowerCapabilities), \
123  VFWDFEXPORT(WdfDeviceSetBusInformationForChildren), \
124  VFWDFEXPORT(WdfDeviceIndicateWakeStatus), \
125  VFWDFEXPORT(WdfDeviceSetFailed), \
126  VFWDFEXPORT(WdfDeviceStopIdleNoTrack), \
127  VFWDFEXPORT(WdfDeviceResumeIdleNoTrack), \
128  VFWDFEXPORT(WdfDeviceStopIdleActual), \
129  VFWDFEXPORT(WdfDeviceResumeIdleActual), \
130  VFWDFEXPORT(WdfDeviceGetFileObject), \
131  VFWDFEXPORT(WdfDeviceEnqueueRequest), \
132  VFWDFEXPORT(WdfDeviceGetDefaultQueue), \
133  VFWDFEXPORT(WdfDeviceConfigureRequestDispatching), \
134  VFWDFEXPORT(WdfDeviceConfigureWdmIrpDispatchCallback), \
135  VFWDFEXPORT(WdfDeviceGetSystemPowerAction), \
136  VFWDFEXPORT(WdfDeviceWdmAssignPowerFrameworkSettings), \
137  VFWDFEXPORT(WdfDeviceInitSetReleaseHardwareOrderOnFailure), \
138  VFWDFEXPORT(WdfDeviceInitSetIoTypeEx), \
139  VFWDFEXPORT(WdfDeviceQueryPropertyEx), \
140  VFWDFEXPORT(WdfDeviceAllocAndQueryPropertyEx), \
141  VFWDFEXPORT(WdfDeviceAssignProperty), \
142  VFWDFEXPORT(WdfDeviceGetSelfIoTarget), \
143  VFWDFEXPORT(WdfDeviceInitAllowSelfIoTarget), \
144  VFWDFEXPORT(WdfDmaEnablerCreate), \
145  VFWDFEXPORT(WdfDmaEnablerConfigureSystemProfile), \
146  VFWDFEXPORT(WdfDmaEnablerGetMaximumLength), \
147  VFWDFEXPORT(WdfDmaEnablerGetMaximumScatterGatherElements), \
148  VFWDFEXPORT(WdfDmaEnablerSetMaximumScatterGatherElements), \
149  VFWDFEXPORT(WdfDmaEnablerGetFragmentLength), \
150  VFWDFEXPORT(WdfDmaEnablerWdmGetDmaAdapter), \
151  VFWDFEXPORT(WdfDmaTransactionCreate), \
152  VFWDFEXPORT(WdfDmaTransactionInitialize), \
153  VFWDFEXPORT(WdfDmaTransactionInitializeUsingOffset), \
154  VFWDFEXPORT(WdfDmaTransactionInitializeUsingRequest), \
155  VFWDFEXPORT(WdfDmaTransactionExecute), \
156  VFWDFEXPORT(WdfDmaTransactionRelease), \
157  VFWDFEXPORT(WdfDmaTransactionDmaCompleted), \
158  VFWDFEXPORT(WdfDmaTransactionDmaCompletedWithLength), \
159  VFWDFEXPORT(WdfDmaTransactionDmaCompletedFinal), \
160  VFWDFEXPORT(WdfDmaTransactionGetBytesTransferred), \
161  VFWDFEXPORT(WdfDmaTransactionSetMaximumLength), \
162  VFWDFEXPORT(WdfDmaTransactionGetRequest), \
163  VFWDFEXPORT(WdfDmaTransactionGetCurrentDmaTransferLength), \
164  VFWDFEXPORT(WdfDmaTransactionGetDevice), \
165  VFWDFEXPORT(WdfDmaTransactionGetTransferInfo), \
166  VFWDFEXPORT(WdfDmaTransactionSetChannelConfigurationCallback), \
167  VFWDFEXPORT(WdfDmaTransactionSetTransferCompleteCallback), \
168  VFWDFEXPORT(WdfDmaTransactionSetImmediateExecution), \
169  VFWDFEXPORT(WdfDmaTransactionAllocateResources), \
170  VFWDFEXPORT(WdfDmaTransactionSetDeviceAddressOffset), \
171  VFWDFEXPORT(WdfDmaTransactionFreeResources), \
172  VFWDFEXPORT(WdfDmaTransactionCancel), \
173  VFWDFEXPORT(WdfDmaTransactionWdmGetTransferContext), \
174  VFWDFEXPORT(WdfDmaTransactionStopSystemTransfer), \
175  VFWDFEXPORT(WdfDpcCreate), \
176  VFWDFEXPORT(WdfDpcEnqueue), \
177  VFWDFEXPORT(WdfDpcCancel), \
178  VFWDFEXPORT(WdfDpcGetParentObject), \
179  VFWDFEXPORT(WdfDpcWdmGetDpc), \
180  VFWDFEXPORT(WdfDriverCreate), \
181  VFWDFEXPORT(WdfDriverGetRegistryPath), \
182  VFWDFEXPORT(WdfDriverWdmGetDriverObject), \
183  VFWDFEXPORT(WdfDriverOpenParametersRegistryKey), \
184  VFWDFEXPORT(WdfWdmDriverGetWdfDriverHandle), \
185  VFWDFEXPORT(WdfDriverRegisterTraceInfo), \
186  VFWDFEXPORT(WdfDriverRetrieveVersionString), \
187  VFWDFEXPORT(WdfDriverIsVersionAvailable), \
188  VFWDFEXPORT(WdfFdoInitWdmGetPhysicalDevice), \
189  VFWDFEXPORT(WdfFdoInitOpenRegistryKey), \
190  VFWDFEXPORT(WdfFdoInitQueryProperty), \
191  VFWDFEXPORT(WdfFdoInitAllocAndQueryProperty), \
192  VFWDFEXPORT(WdfFdoInitQueryPropertyEx), \
193  VFWDFEXPORT(WdfFdoInitAllocAndQueryPropertyEx), \
194  VFWDFEXPORT(WdfFdoInitSetEventCallbacks), \
195  VFWDFEXPORT(WdfFdoInitSetFilter), \
196  VFWDFEXPORT(WdfFdoInitSetDefaultChildListConfig), \
197  VFWDFEXPORT(WdfFdoQueryForInterface), \
198  VFWDFEXPORT(WdfFdoGetDefaultChildList), \
199  VFWDFEXPORT(WdfFdoAddStaticChild), \
200  VFWDFEXPORT(WdfFdoLockStaticChildListForIteration), \
201  VFWDFEXPORT(WdfFdoRetrieveNextStaticChild), \
202  VFWDFEXPORT(WdfFdoUnlockStaticChildListFromIteration), \
203  VFWDFEXPORT(WdfFileObjectGetFileName), \
204  VFWDFEXPORT(WdfFileObjectGetFlags), \
205  VFWDFEXPORT(WdfFileObjectGetDevice), \
206  VFWDFEXPORT(WdfFileObjectWdmGetFileObject), \
207  VFWDFEXPORT(WdfInterruptCreate), \
208  VFWDFEXPORT(WdfInterruptQueueDpcForIsr), \
209  VFWDFEXPORT(WdfInterruptQueueWorkItemForIsr), \
210  VFWDFEXPORT(WdfInterruptSynchronize), \
211  VFWDFEXPORT(WdfInterruptAcquireLock), \
212  VFWDFEXPORT(WdfInterruptReleaseLock), \
213  VFWDFEXPORT(WdfInterruptEnable), \
214  VFWDFEXPORT(WdfInterruptDisable), \
215  VFWDFEXPORT(WdfInterruptWdmGetInterrupt), \
216  VFWDFEXPORT(WdfInterruptGetInfo), \
217  VFWDFEXPORT(WdfInterruptSetPolicy), \
218  VFWDFEXPORT(WdfInterruptSetExtendedPolicy), \
219  VFWDFEXPORT(WdfInterruptGetDevice), \
220  VFWDFEXPORT(WdfInterruptTryToAcquireLock), \
221  VFWDFEXPORT(WdfInterruptReportActive), \
222  VFWDFEXPORT(WdfInterruptReportInactive), \
223  VFWDFEXPORT(WdfIoQueueCreate), \
224  VFWDFEXPORT(WdfIoQueueGetState), \
225  VFWDFEXPORT(WdfIoQueueStart), \
226  VFWDFEXPORT(WdfIoQueueStop), \
227  VFWDFEXPORT(WdfIoQueueStopSynchronously), \
228  VFWDFEXPORT(WdfIoQueueGetDevice), \
229  VFWDFEXPORT(WdfIoQueueRetrieveNextRequest), \
230  VFWDFEXPORT(WdfIoQueueRetrieveRequestByFileObject), \
231  VFWDFEXPORT(WdfIoQueueFindRequest), \
232  VFWDFEXPORT(WdfIoQueueRetrieveFoundRequest), \
233  VFWDFEXPORT(WdfIoQueueDrainSynchronously), \
234  VFWDFEXPORT(WdfIoQueueDrain), \
235  VFWDFEXPORT(WdfIoQueuePurgeSynchronously), \
236  VFWDFEXPORT(WdfIoQueuePurge), \
237  VFWDFEXPORT(WdfIoQueueReadyNotify), \
238  VFWDFEXPORT(WdfIoQueueAssignForwardProgressPolicy), \
239  VFWDFEXPORT(WdfIoQueueStopAndPurge), \
240  VFWDFEXPORT(WdfIoQueueStopAndPurgeSynchronously), \
241  VFWDFEXPORT(WdfIoTargetCreate), \
242  VFWDFEXPORT(WdfIoTargetOpen), \
243  VFWDFEXPORT(WdfIoTargetCloseForQueryRemove), \
244  VFWDFEXPORT(WdfIoTargetClose), \
245  VFWDFEXPORT(WdfIoTargetStart), \
246  VFWDFEXPORT(WdfIoTargetStop), \
247  VFWDFEXPORT(WdfIoTargetPurge), \
248  VFWDFEXPORT(WdfIoTargetGetState), \
249  VFWDFEXPORT(WdfIoTargetGetDevice), \
250  VFWDFEXPORT(WdfIoTargetQueryTargetProperty), \
251  VFWDFEXPORT(WdfIoTargetAllocAndQueryTargetProperty), \
252  VFWDFEXPORT(WdfIoTargetQueryForInterface), \
253  VFWDFEXPORT(WdfIoTargetWdmGetTargetDeviceObject), \
254  VFWDFEXPORT(WdfIoTargetWdmGetTargetPhysicalDevice), \
255  VFWDFEXPORT(WdfIoTargetWdmGetTargetFileObject), \
256  VFWDFEXPORT(WdfIoTargetWdmGetTargetFileHandle), \
257  VFWDFEXPORT(WdfIoTargetSendReadSynchronously), \
258  VFWDFEXPORT(WdfIoTargetFormatRequestForRead), \
259  VFWDFEXPORT(WdfIoTargetSendWriteSynchronously), \
260  VFWDFEXPORT(WdfIoTargetFormatRequestForWrite), \
261  VFWDFEXPORT(WdfIoTargetSendIoctlSynchronously), \
262  VFWDFEXPORT(WdfIoTargetFormatRequestForIoctl), \
263  VFWDFEXPORT(WdfIoTargetSendInternalIoctlSynchronously), \
264  VFWDFEXPORT(WdfIoTargetFormatRequestForInternalIoctl), \
265  VFWDFEXPORT(WdfIoTargetSendInternalIoctlOthersSynchronously), \
266  VFWDFEXPORT(WdfIoTargetFormatRequestForInternalIoctlOthers), \
267  VFWDFEXPORT(WdfIoTargetSelfAssignDefaultIoQueue), \
268  VFWDFEXPORT(WdfMemoryCreate), \
269  VFWDFEXPORT(WdfMemoryCreatePreallocated), \
270  VFWDFEXPORT(WdfMemoryGetBuffer), \
271  VFWDFEXPORT(WdfMemoryAssignBuffer), \
272  VFWDFEXPORT(WdfMemoryCopyToBuffer), \
273  VFWDFEXPORT(WdfMemoryCopyFromBuffer), \
274  VFWDFEXPORT(WdfLookasideListCreate), \
275  VFWDFEXPORT(WdfMemoryCreateFromLookaside), \
276  VFWDFEXPORT(WdfDeviceMiniportCreate), \
277  VFWDFEXPORT(WdfDriverMiniportUnload), \
278  VFWDFEXPORT(WdfObjectGetTypedContextWorker), \
279  VFWDFEXPORT(WdfObjectAllocateContext), \
280  VFWDFEXPORT(WdfObjectContextGetObject), \
281  VFWDFEXPORT(WdfObjectReferenceActual), \
282  VFWDFEXPORT(WdfObjectDereferenceActual), \
283  VFWDFEXPORT(WdfObjectCreate), \
284  VFWDFEXPORT(WdfObjectDelete), \
285  VFWDFEXPORT(WdfObjectQuery), \
286  VFWDFEXPORT(WdfPdoInitAllocate), \
287  VFWDFEXPORT(WdfPdoInitSetEventCallbacks), \
288  VFWDFEXPORT(WdfPdoInitAssignDeviceID), \
289  VFWDFEXPORT(WdfPdoInitAssignInstanceID), \
290  VFWDFEXPORT(WdfPdoInitAddHardwareID), \
291  VFWDFEXPORT(WdfPdoInitAddCompatibleID), \
292  VFWDFEXPORT(WdfPdoInitAssignContainerID), \
293  VFWDFEXPORT(WdfPdoInitAddDeviceText), \
294  VFWDFEXPORT(WdfPdoInitSetDefaultLocale), \
295  VFWDFEXPORT(WdfPdoInitAssignRawDevice), \
296  VFWDFEXPORT(WdfPdoInitAllowForwardingRequestToParent), \
297  VFWDFEXPORT(WdfPdoMarkMissing), \
298  VFWDFEXPORT(WdfPdoRequestEject), \
299  VFWDFEXPORT(WdfPdoGetParent), \
300  VFWDFEXPORT(WdfPdoRetrieveIdentificationDescription), \
301  VFWDFEXPORT(WdfPdoRetrieveAddressDescription), \
302  VFWDFEXPORT(WdfPdoUpdateAddressDescription), \
303  VFWDFEXPORT(WdfPdoAddEjectionRelationsPhysicalDevice), \
304  VFWDFEXPORT(WdfPdoRemoveEjectionRelationsPhysicalDevice), \
305  VFWDFEXPORT(WdfPdoClearEjectionRelationsDevices), \
306  VFWDFEXPORT(WdfDeviceAddQueryInterface), \
307  VFWDFEXPORT(WdfRegistryOpenKey), \
308  VFWDFEXPORT(WdfRegistryCreateKey), \
309  VFWDFEXPORT(WdfRegistryClose), \
310  VFWDFEXPORT(WdfRegistryWdmGetHandle), \
311  VFWDFEXPORT(WdfRegistryRemoveKey), \
312  VFWDFEXPORT(WdfRegistryRemoveValue), \
313  VFWDFEXPORT(WdfRegistryQueryValue), \
314  VFWDFEXPORT(WdfRegistryQueryMemory), \
315  VFWDFEXPORT(WdfRegistryQueryMultiString), \
316  VFWDFEXPORT(WdfRegistryQueryUnicodeString), \
317  VFWDFEXPORT(WdfRegistryQueryString), \
318  VFWDFEXPORT(WdfRegistryQueryULong), \
319  VFWDFEXPORT(WdfRegistryAssignValue), \
320  VFWDFEXPORT(WdfRegistryAssignMemory), \
321  VFWDFEXPORT(WdfRegistryAssignMultiString), \
322  VFWDFEXPORT(WdfRegistryAssignUnicodeString), \
323  VFWDFEXPORT(WdfRegistryAssignString), \
324  VFWDFEXPORT(WdfRegistryAssignULong), \
325  VFWDFEXPORT(WdfRequestCreate), \
326  VFWDFEXPORT(WdfRequestCreateFromIrp), \
327  VFWDFEXPORT(WdfRequestReuse), \
328  VFWDFEXPORT(WdfRequestChangeTarget), \
329  VFWDFEXPORT(WdfRequestFormatRequestUsingCurrentType), \
330  VFWDFEXPORT(WdfRequestWdmFormatUsingStackLocation), \
331  VFWDFEXPORT(WdfRequestSend), \
332  VFWDFEXPORT(WdfRequestGetStatus), \
333  VFWDFEXPORT(WdfRequestMarkCancelable), \
334  VFWDFEXPORT(WdfRequestMarkCancelableEx), \
335  VFWDFEXPORT(WdfRequestUnmarkCancelable), \
336  VFWDFEXPORT(WdfRequestIsCanceled), \
337  VFWDFEXPORT(WdfRequestCancelSentRequest), \
338  VFWDFEXPORT(WdfRequestIsFrom32BitProcess), \
339  VFWDFEXPORT(WdfRequestSetCompletionRoutine), \
340  VFWDFEXPORT(WdfRequestGetCompletionParams), \
341  VFWDFEXPORT(WdfRequestAllocateTimer), \
342  VFWDFEXPORT(WdfRequestComplete), \
343  VFWDFEXPORT(WdfRequestCompleteWithPriorityBoost), \
344  VFWDFEXPORT(WdfRequestCompleteWithInformation), \
345  VFWDFEXPORT(WdfRequestGetParameters), \
346  VFWDFEXPORT(WdfRequestRetrieveInputMemory), \
347  VFWDFEXPORT(WdfRequestRetrieveOutputMemory), \
348  VFWDFEXPORT(WdfRequestRetrieveInputBuffer), \
349  VFWDFEXPORT(WdfRequestRetrieveOutputBuffer), \
350  VFWDFEXPORT(WdfRequestRetrieveInputWdmMdl), \
351  VFWDFEXPORT(WdfRequestRetrieveOutputWdmMdl), \
352  VFWDFEXPORT(WdfRequestRetrieveUnsafeUserInputBuffer), \
353  VFWDFEXPORT(WdfRequestRetrieveUnsafeUserOutputBuffer), \
354  VFWDFEXPORT(WdfRequestSetInformation), \
355  VFWDFEXPORT(WdfRequestGetInformation), \
356  VFWDFEXPORT(WdfRequestGetFileObject), \
357  VFWDFEXPORT(WdfRequestProbeAndLockUserBufferForRead), \
358  VFWDFEXPORT(WdfRequestProbeAndLockUserBufferForWrite), \
359  VFWDFEXPORT(WdfRequestGetRequestorMode), \
360  VFWDFEXPORT(WdfRequestForwardToIoQueue), \
361  VFWDFEXPORT(WdfRequestGetIoQueue), \
362  VFWDFEXPORT(WdfRequestRequeue), \
363  VFWDFEXPORT(WdfRequestStopAcknowledge), \
364  VFWDFEXPORT(WdfRequestWdmGetIrp), \
365  VFWDFEXPORT(WdfRequestIsReserved), \
366  VFWDFEXPORT(WdfRequestForwardToParentDeviceIoQueue), \
367  VFWDFEXPORT(WdfIoResourceRequirementsListSetSlotNumber), \
368  VFWDFEXPORT(WdfIoResourceRequirementsListSetInterfaceType), \
369  VFWDFEXPORT(WdfIoResourceRequirementsListAppendIoResList), \
370  VFWDFEXPORT(WdfIoResourceRequirementsListInsertIoResList), \
371  VFWDFEXPORT(WdfIoResourceRequirementsListGetCount), \
372  VFWDFEXPORT(WdfIoResourceRequirementsListGetIoResList), \
373  VFWDFEXPORT(WdfIoResourceRequirementsListRemove), \
374  VFWDFEXPORT(WdfIoResourceRequirementsListRemoveByIoResList), \
375  VFWDFEXPORT(WdfIoResourceListCreate), \
376  VFWDFEXPORT(WdfIoResourceListAppendDescriptor), \
377  VFWDFEXPORT(WdfIoResourceListInsertDescriptor), \
378  VFWDFEXPORT(WdfIoResourceListUpdateDescriptor), \
379  VFWDFEXPORT(WdfIoResourceListGetCount), \
380  VFWDFEXPORT(WdfIoResourceListGetDescriptor), \
381  VFWDFEXPORT(WdfIoResourceListRemove), \
382  VFWDFEXPORT(WdfIoResourceListRemoveByDescriptor), \
383  VFWDFEXPORT(WdfCmResourceListAppendDescriptor), \
384  VFWDFEXPORT(WdfCmResourceListInsertDescriptor), \
385  VFWDFEXPORT(WdfCmResourceListGetCount), \
386  VFWDFEXPORT(WdfCmResourceListGetDescriptor), \
387  VFWDFEXPORT(WdfCmResourceListRemove), \
388  VFWDFEXPORT(WdfCmResourceListRemoveByDescriptor), \
389  VFWDFEXPORT(WdfStringCreate), \
390  VFWDFEXPORT(WdfStringGetUnicodeString), \
391  VFWDFEXPORT(WdfObjectAcquireLock), \
392  VFWDFEXPORT(WdfObjectReleaseLock), \
393  VFWDFEXPORT(WdfWaitLockCreate), \
394  VFWDFEXPORT(WdfWaitLockAcquire), \
395  VFWDFEXPORT(WdfWaitLockRelease), \
396  VFWDFEXPORT(WdfSpinLockCreate), \
397  VFWDFEXPORT(WdfSpinLockAcquire), \
398  VFWDFEXPORT(WdfSpinLockRelease), \
399  VFWDFEXPORT(WdfTimerCreate), \
400  VFWDFEXPORT(WdfTimerStart), \
401  VFWDFEXPORT(WdfTimerStop), \
402  VFWDFEXPORT(WdfTimerGetParentObject), \
403  VFWDFEXPORT(WdfUsbTargetDeviceCreate), \
404  VFWDFEXPORT(WdfUsbTargetDeviceCreateWithParameters), \
405  VFWDFEXPORT(WdfUsbTargetDeviceRetrieveInformation), \
406  VFWDFEXPORT(WdfUsbTargetDeviceGetDeviceDescriptor), \
407  VFWDFEXPORT(WdfUsbTargetDeviceRetrieveConfigDescriptor), \
408  VFWDFEXPORT(WdfUsbTargetDeviceQueryString), \
409  VFWDFEXPORT(WdfUsbTargetDeviceAllocAndQueryString), \
410  VFWDFEXPORT(WdfUsbTargetDeviceFormatRequestForString), \
411  VFWDFEXPORT(WdfUsbTargetDeviceGetNumInterfaces), \
412  VFWDFEXPORT(WdfUsbTargetDeviceSelectConfig), \
413  VFWDFEXPORT(WdfUsbTargetDeviceWdmGetConfigurationHandle), \
414  VFWDFEXPORT(WdfUsbTargetDeviceRetrieveCurrentFrameNumber), \
415  VFWDFEXPORT(WdfUsbTargetDeviceSendControlTransferSynchronously), \
416  VFWDFEXPORT(WdfUsbTargetDeviceFormatRequestForControlTransfer), \
417  VFWDFEXPORT(WdfUsbTargetDeviceIsConnectedSynchronous), \
418  VFWDFEXPORT(WdfUsbTargetDeviceResetPortSynchronously), \
419  VFWDFEXPORT(WdfUsbTargetDeviceCyclePortSynchronously), \
420  VFWDFEXPORT(WdfUsbTargetDeviceFormatRequestForCyclePort), \
421  VFWDFEXPORT(WdfUsbTargetDeviceSendUrbSynchronously), \
422  VFWDFEXPORT(WdfUsbTargetDeviceFormatRequestForUrb), \
423  VFWDFEXPORT(WdfUsbTargetDeviceQueryUsbCapability), \
424  VFWDFEXPORT(WdfUsbTargetDeviceCreateUrb), \
425  VFWDFEXPORT(WdfUsbTargetDeviceCreateIsochUrb), \
426  VFWDFEXPORT(WdfUsbTargetPipeGetInformation), \
427  VFWDFEXPORT(WdfUsbTargetPipeIsInEndpoint), \
428  VFWDFEXPORT(WdfUsbTargetPipeIsOutEndpoint), \
429  VFWDFEXPORT(WdfUsbTargetPipeGetType), \
430  VFWDFEXPORT(WdfUsbTargetPipeSetNoMaximumPacketSizeCheck), \
431  VFWDFEXPORT(WdfUsbTargetPipeWriteSynchronously), \
432  VFWDFEXPORT(WdfUsbTargetPipeFormatRequestForWrite), \
433  VFWDFEXPORT(WdfUsbTargetPipeReadSynchronously), \
434  VFWDFEXPORT(WdfUsbTargetPipeFormatRequestForRead), \
435  VFWDFEXPORT(WdfUsbTargetPipeConfigContinuousReader), \
436  VFWDFEXPORT(WdfUsbTargetPipeAbortSynchronously), \
437  VFWDFEXPORT(WdfUsbTargetPipeFormatRequestForAbort), \
438  VFWDFEXPORT(WdfUsbTargetPipeResetSynchronously), \
439  VFWDFEXPORT(WdfUsbTargetPipeFormatRequestForReset), \
440  VFWDFEXPORT(WdfUsbTargetPipeSendUrbSynchronously), \
441  VFWDFEXPORT(WdfUsbTargetPipeFormatRequestForUrb), \
442  VFWDFEXPORT(WdfUsbInterfaceGetInterfaceNumber), \
443  VFWDFEXPORT(WdfUsbInterfaceGetNumEndpoints), \
444  VFWDFEXPORT(WdfUsbInterfaceGetDescriptor), \
445  VFWDFEXPORT(WdfUsbInterfaceGetNumSettings), \
446  VFWDFEXPORT(WdfUsbInterfaceSelectSetting), \
447  VFWDFEXPORT(WdfUsbInterfaceGetEndpointInformation), \
448  VFWDFEXPORT(WdfUsbTargetDeviceGetInterface), \
449  VFWDFEXPORT(WdfUsbInterfaceGetConfiguredSettingIndex), \
450  VFWDFEXPORT(WdfUsbInterfaceGetNumConfiguredPipes), \
451  VFWDFEXPORT(WdfUsbInterfaceGetConfiguredPipe), \
452  VFWDFEXPORT(WdfUsbTargetPipeWdmGetPipeHandle), \
453  VFWDFEXPORT(WdfVerifierDbgBreakPoint), \
454  VFWDFEXPORT(WdfVerifierKeBugCheck), \
455  VFWDFEXPORT(WdfGetTriageInfo), \
456  VFWDFEXPORT(WdfWmiProviderCreate), \
457  VFWDFEXPORT(WdfWmiProviderGetDevice), \
458  VFWDFEXPORT(WdfWmiProviderIsEnabled), \
459  VFWDFEXPORT(WdfWmiProviderGetTracingHandle), \
460  VFWDFEXPORT(WdfWmiInstanceCreate), \
461  VFWDFEXPORT(WdfWmiInstanceRegister), \
462  VFWDFEXPORT(WdfWmiInstanceDeregister), \
463  VFWDFEXPORT(WdfWmiInstanceGetDevice), \
464  VFWDFEXPORT(WdfWmiInstanceGetProvider), \
465  VFWDFEXPORT(WdfWmiInstanceFireEvent), \
466  VFWDFEXPORT(WdfWorkItemCreate), \
467  VFWDFEXPORT(WdfWorkItemEnqueue), \
468  VFWDFEXPORT(WdfWorkItemGetParentObject), \
469  VFWDFEXPORT(WdfWorkItemFlush), \
470  )
471 #endif // #pragma alloc_text
472 
475 WDFAPI
476 NTSTATUS
477 VFWDFEXPORT(WdfChildListCreate)(
478  _In_
480  _In_
481  WDFDEVICE Device,
482  _In_
484  _In_opt_
486  _Out_
487  WDFCHILDLIST* ChildList
488  )
489 {
492 }
493 
495 WDFAPI
496 WDFDEVICE
497 VFWDFEXPORT(WdfChildListGetDevice)(
498  _In_
500  _In_
501  WDFCHILDLIST ChildList
502  )
503 {
505  return ((PFN_WDFCHILDLISTGETDEVICE) WdfVersion.Functions.pfnWdfChildListGetDevice)(DriverGlobals, ChildList);
506 }
507 
510 WDFAPI
511 WDFDEVICE
512 VFWDFEXPORT(WdfChildListRetrievePdo)(
513  _In_
515  _In_
516  WDFCHILDLIST ChildList,
517  _Inout_
519  )
520 {
522  return ((PFN_WDFCHILDLISTRETRIEVEPDO) WdfVersion.Functions.pfnWdfChildListRetrievePdo)(DriverGlobals, ChildList, RetrieveInfo);
523 }
524 
527 WDFAPI
528 NTSTATUS
529 VFWDFEXPORT(WdfChildListRetrieveAddressDescription)(
530  _In_
532  _In_
533  WDFCHILDLIST ChildList,
534  _In_
536  _Inout_
538  )
539 {
542 }
543 
545 WDFAPI
546 VOID
547 VFWDFEXPORT(WdfChildListBeginScan)(
548  _In_
550  _In_
551  WDFCHILDLIST ChildList
552  )
553 {
555  ((PFN_WDFCHILDLISTBEGINSCAN) WdfVersion.Functions.pfnWdfChildListBeginScan)(DriverGlobals, ChildList);
556 }
557 
559 WDFAPI
560 VOID
561 VFWDFEXPORT(WdfChildListEndScan)(
562  _In_
564  _In_
565  WDFCHILDLIST ChildList
566  )
567 {
569  ((PFN_WDFCHILDLISTENDSCAN) WdfVersion.Functions.pfnWdfChildListEndScan)(DriverGlobals, ChildList);
570 }
571 
573 WDFAPI
574 VOID
575 VFWDFEXPORT(WdfChildListBeginIteration)(
576  _In_
578  _In_
579  WDFCHILDLIST ChildList,
580  _In_
582  )
583 {
586 }
587 
590 WDFAPI
591 NTSTATUS
592 VFWDFEXPORT(WdfChildListRetrieveNextDevice)(
593  _In_
595  _In_
596  WDFCHILDLIST ChildList,
597  _In_
599  _Out_
600  WDFDEVICE* Device,
603  )
604 {
606  return ((PFN_WDFCHILDLISTRETRIEVENEXTDEVICE) WdfVersion.Functions.pfnWdfChildListRetrieveNextDevice)(DriverGlobals, ChildList, Iterator, Device, Info);
607 }
608 
610 WDFAPI
611 VOID
612 VFWDFEXPORT(WdfChildListEndIteration)(
613  _In_
615  _In_
616  WDFCHILDLIST ChildList,
617  _In_
619  )
620 {
623 }
624 
627 WDFAPI
628 NTSTATUS
629 VFWDFEXPORT(WdfChildListAddOrUpdateChildDescriptionAsPresent)(
630  _In_
632  _In_
633  WDFCHILDLIST ChildList,
634  _In_
636  _In_opt_
638  )
639 {
642 }
643 
646 WDFAPI
647 NTSTATUS
648 VFWDFEXPORT(WdfChildListUpdateChildDescriptionAsMissing)(
649  _In_
651  _In_
652  WDFCHILDLIST ChildList,
653  _In_
655  )
656 {
658  return ((PFN_WDFCHILDLISTUPDATECHILDDESCRIPTIONASMISSING) WdfVersion.Functions.pfnWdfChildListUpdateChildDescriptionAsMissing)(DriverGlobals, ChildList, IdentificationDescription);
659 }
660 
662 WDFAPI
663 VOID
664 VFWDFEXPORT(WdfChildListUpdateAllChildDescriptionsAsPresent)(
665  _In_
667  _In_
668  WDFCHILDLIST ChildList
669  )
670 {
672  ((PFN_WDFCHILDLISTUPDATEALLCHILDDESCRIPTIONSASPRESENT) WdfVersion.Functions.pfnWdfChildListUpdateAllChildDescriptionsAsPresent)(DriverGlobals, ChildList);
673 }
674 
676 WDFAPI
677 BOOLEAN
678 VFWDFEXPORT(WdfChildListRequestChildEject)(
679  _In_
681  _In_
682  WDFCHILDLIST ChildList,
683  _In_
685  )
686 {
689 }
690 
693 WDFAPI
694 NTSTATUS
695 VFWDFEXPORT(WdfCollectionCreate)(
696  _In_
698  _In_opt_
700  _Out_
701  WDFCOLLECTION* Collection
702  )
703 {
706 }
707 
709 WDFAPI
710 ULONG
711 VFWDFEXPORT(WdfCollectionGetCount)(
712  _In_
714  _In_
715  WDFCOLLECTION Collection
716  )
717 {
719  return ((PFN_WDFCOLLECTIONGETCOUNT) WdfVersion.Functions.pfnWdfCollectionGetCount)(DriverGlobals, Collection);
720 }
721 
724 WDFAPI
725 NTSTATUS
726 VFWDFEXPORT(WdfCollectionAdd)(
727  _In_
729  _In_
730  WDFCOLLECTION Collection,
731  _In_
733  )
734 {
736  return ((PFN_WDFCOLLECTIONADD) WdfVersion.Functions.pfnWdfCollectionAdd)(DriverGlobals, Collection, Object);
737 }
738 
740 WDFAPI
741 VOID
742 VFWDFEXPORT(WdfCollectionRemove)(
743  _In_
745  _In_
746  WDFCOLLECTION Collection,
747  _In_
749  )
750 {
753 }
754 
756 WDFAPI
757 VOID
758 VFWDFEXPORT(WdfCollectionRemoveItem)(
759  _In_
761  _In_
762  WDFCOLLECTION Collection,
763  _In_
764  ULONG Index
765  )
766 {
769 }
770 
772 WDFAPI
773 WDFOBJECT
774 VFWDFEXPORT(WdfCollectionGetItem)(
775  _In_
777  _In_
778  WDFCOLLECTION Collection,
779  _In_
780  ULONG Index
781  )
782 {
784  return ((PFN_WDFCOLLECTIONGETITEM) WdfVersion.Functions.pfnWdfCollectionGetItem)(DriverGlobals, Collection, Index);
785 }
786 
788 WDFAPI
789 WDFOBJECT
790 VFWDFEXPORT(WdfCollectionGetFirstItem)(
791  _In_
793  _In_
794  WDFCOLLECTION Collection
795  )
796 {
798  return ((PFN_WDFCOLLECTIONGETFIRSTITEM) WdfVersion.Functions.pfnWdfCollectionGetFirstItem)(DriverGlobals, Collection);
799 }
800 
802 WDFAPI
803 WDFOBJECT
804 VFWDFEXPORT(WdfCollectionGetLastItem)(
805  _In_
807  _In_
808  WDFCOLLECTION Collection
809  )
810 {
812  return ((PFN_WDFCOLLECTIONGETLASTITEM) WdfVersion.Functions.pfnWdfCollectionGetLastItem)(DriverGlobals, Collection);
813 }
814 
817 WDFAPI
818 NTSTATUS
819 VFWDFEXPORT(WdfCommonBufferCreate)(
820  _In_
822  _In_
823  WDFDMAENABLER DmaEnabler,
824  _In_
825  _When_(Length == 0, __drv_reportError(Length cannot be zero))
826  size_t Length,
827  _In_opt_
829  _Out_
830  WDFCOMMONBUFFER* CommonBuffer
831  )
832 {
835 }
836 
839 WDFAPI
840 NTSTATUS
841 VFWDFEXPORT(WdfCommonBufferCreateWithConfig)(
842  _In_
844  _In_
845  WDFDMAENABLER DmaEnabler,
846  _In_
847  _When_(Length == 0, __drv_reportError(Length cannot be zero))
848  size_t Length,
849  _In_
851  _In_opt_
853  _Out_
854  WDFCOMMONBUFFER* CommonBuffer
855  )
856 {
859 }
860 
862 WDFAPI
863 PVOID
864 VFWDFEXPORT(WdfCommonBufferGetAlignedVirtualAddress)(
865  _In_
867  _In_
868  WDFCOMMONBUFFER CommonBuffer
869  )
870 {
872  return ((PFN_WDFCOMMONBUFFERGETALIGNEDVIRTUALADDRESS) WdfVersion.Functions.pfnWdfCommonBufferGetAlignedVirtualAddress)(DriverGlobals, CommonBuffer);
873 }
874 
876 WDFAPI
878 VFWDFEXPORT(WdfCommonBufferGetAlignedLogicalAddress)(
879  _In_
881  _In_
882  WDFCOMMONBUFFER CommonBuffer
883  )
884 {
886  return ((PFN_WDFCOMMONBUFFERGETALIGNEDLOGICALADDRESS) WdfVersion.Functions.pfnWdfCommonBufferGetAlignedLogicalAddress)(DriverGlobals, CommonBuffer);
887 }
888 
890 WDFAPI
891 size_t
892 VFWDFEXPORT(WdfCommonBufferGetLength)(
893  _In_
895  _In_
896  WDFCOMMONBUFFER CommonBuffer
897  )
898 {
900  return ((PFN_WDFCOMMONBUFFERGETLENGTH) WdfVersion.Functions.pfnWdfCommonBufferGetLength)(DriverGlobals, CommonBuffer);
901 }
902 
905 WDFAPI
907 VFWDFEXPORT(WdfControlDeviceInitAllocate)(
908  _In_
910  _In_
911  WDFDRIVER Driver,
912  _In_
914  )
915 {
917  return ((PFN_WDFCONTROLDEVICEINITALLOCATE) WdfVersion.Functions.pfnWdfControlDeviceInitAllocate)(DriverGlobals, Driver, SDDLString);
918 }
919 
921 WDFAPI
922 VOID
923 VFWDFEXPORT(WdfControlDeviceInitSetShutdownNotification)(
924  _In_
926  _In_
928  _In_
930  _In_
931  UCHAR Flags
932  )
933 {
935  ((PFN_WDFCONTROLDEVICEINITSETSHUTDOWNNOTIFICATION) WdfVersion.Functions.pfnWdfControlDeviceInitSetShutdownNotification)(DriverGlobals, DeviceInit, Notification, Flags);
936 }
937 
939 WDFAPI
940 VOID
941 VFWDFEXPORT(WdfControlFinishInitializing)(
942  _In_
944  _In_
945  WDFDEVICE Device
946  )
947 {
949  ((PFN_WDFCONTROLFINISHINITIALIZING) WdfVersion.Functions.pfnWdfControlFinishInitializing)(DriverGlobals, Device);
950 }
951 
954 WDFAPI
956 VFWDFEXPORT(WdfCxDeviceInitAllocate)(
957  _In_
959  _In_
961  )
962 {
965 }
966 
969 WDFAPI
970 NTSTATUS
971 VFWDFEXPORT(WdfCxDeviceInitAssignWdmIrpPreprocessCallback)(
972  _In_
974  _In_
976  _In_
978  _In_
983  _In_
985  )
986 {
989 }
990 
992 WDFAPI
993 VOID
994 VFWDFEXPORT(WdfCxDeviceInitSetIoInCallerContextCallback)(
995  _In_
997  _In_
999  _In_
1001  )
1005 }
1006 
1008 WDFAPI
1009 VOID
1010 VFWDFEXPORT(WdfCxDeviceInitSetRequestAttributes)(
1011  _In_
1013  _In_
1015  _In_
1017  )
1021 }
1022 
1024 WDFAPI
1025 VOID
1026 VFWDFEXPORT(WdfCxDeviceInitSetFileObjectConfig)(
1027  _In_
1029  _In_
1031  _In_
1033  _In_opt_
1035  )
1039 }
1040 
1041 WDFAPI
1042 VOID
1044  _In_
1046  _In_opt_
1047  WDFOBJECT Object,
1048  _In_
1049  ULONG BugCheckCode,
1050  _In_
1051  ULONG_PTR BugCheckParameter1,
1052  _In_
1053  ULONG_PTR BugCheckParameter2,
1054  _In_
1055  ULONG_PTR BugCheckParameter3,
1056  _In_
1057  ULONG_PTR BugCheckParameter4
1058  )
1059 {
1061  ((PFN_WDFCXVERIFIERKEBUGCHECK) WdfVersion.Functions.pfnWdfCxVerifierKeBugCheck)(DriverGlobals, Object, BugCheckCode, BugCheckParameter1, BugCheckParameter2, BugCheckParameter3, BugCheckParameter4);
1062 }
1063 
1065 WDFAPI
1066 VOID
1067 VFWDFEXPORT(WdfDeviceGetDeviceState)(
1068  _In_
1070  _In_
1071  WDFDEVICE Device,
1072  _Out_
1074  )
1078 }
1079 
1081 WDFAPI
1082 VOID
1083 VFWDFEXPORT(WdfDeviceSetDeviceState)(
1084  _In_
1086  _In_
1087  WDFDEVICE Device,
1088  _In_
1090  )
1091 {
1094 }
1095 
1097 WDFAPI
1098 WDFDEVICE
1099 VFWDFEXPORT(WdfWdmDeviceGetWdfDeviceHandle)(
1100  _In_
1102  _In_
1104  )
1107  return ((PFN_WDFWDMDEVICEGETWDFDEVICEHANDLE) WdfVersion.Functions.pfnWdfWdmDeviceGetWdfDeviceHandle)(DriverGlobals, DeviceObject);
1108 }
1109 
1111 WDFAPI
1113 VFWDFEXPORT(WdfDeviceWdmGetDeviceObject)(
1114  _In_
1116  _In_
1117  WDFDEVICE Device
1118  )
1119 {
1121  return ((PFN_WDFDEVICEWDMGETDEVICEOBJECT) WdfVersion.Functions.pfnWdfDeviceWdmGetDeviceObject)(DriverGlobals, Device);
1122 }
1123 
1125 WDFAPI
1127 VFWDFEXPORT(WdfDeviceWdmGetAttachedDevice)(
1128  _In_
1130  _In_
1131  WDFDEVICE Device
1132  )
1133 {
1135  return ((PFN_WDFDEVICEWDMGETATTACHEDDEVICE) WdfVersion.Functions.pfnWdfDeviceWdmGetAttachedDevice)(DriverGlobals, Device);
1136 }
1137 
1139 WDFAPI
1141 VFWDFEXPORT(WdfDeviceWdmGetPhysicalDevice)(
1142  _In_
1144  _In_
1145  WDFDEVICE Device
1146  )
1147 {
1149  return ((PFN_WDFDEVICEWDMGETPHYSICALDEVICE) WdfVersion.Functions.pfnWdfDeviceWdmGetPhysicalDevice)(DriverGlobals, Device);
1150 }
1151 
1154 WDFAPI
1155 NTSTATUS
1156 VFWDFEXPORT(WdfDeviceWdmDispatchPreprocessedIrp)(
1157  _In_
1159  _In_
1160  WDFDEVICE Device,
1161  _In_
1162  PIRP Irp
1163  )
1166  return ((PFN_WDFDEVICEWDMDISPATCHPREPROCESSEDIRP) WdfVersion.Functions.pfnWdfDeviceWdmDispatchPreprocessedIrp)(DriverGlobals, Device, Irp);
1167 }
1168 
1171 WDFAPI
1172 NTSTATUS
1173 VFWDFEXPORT(WdfDeviceWdmDispatchIrp)(
1174  _In_
1176  _In_
1177  WDFDEVICE Device,
1178  _In_
1179  PIRP Irp,
1180  _In_
1182  )
1185  return ((PFN_WDFDEVICEWDMDISPATCHIRP) WdfVersion.Functions.pfnWdfDeviceWdmDispatchIrp)(DriverGlobals, Device, Irp, DispatchContext);
1186 }
1187 
1190 WDFAPI
1191 NTSTATUS
1192 VFWDFEXPORT(WdfDeviceWdmDispatchIrpToIoQueue)(
1193  _In_
1195  _In_
1196  WDFDEVICE Device,
1197  _In_
1198  PIRP Irp,
1199  _In_
1200  WDFQUEUE Queue,
1201  _In_
1202  ULONG Flags
1203  )
1204 {
1206  return ((PFN_WDFDEVICEWDMDISPATCHIRPTOIOQUEUE) WdfVersion.Functions.pfnWdfDeviceWdmDispatchIrpToIoQueue)(DriverGlobals, Device, Irp, Queue, Flags);
1207 }
1208 
1211 WDFAPI
1212 NTSTATUS
1213 VFWDFEXPORT(WdfDeviceAddDependentUsageDeviceObject)(
1214  _In_
1216  _In_
1217  WDFDEVICE Device,
1218  _In_
1220  )
1223  return ((PFN_WDFDEVICEADDDEPENDENTUSAGEDEVICEOBJECT) WdfVersion.Functions.pfnWdfDeviceAddDependentUsageDeviceObject)(DriverGlobals, Device, DependentDevice);
1224 }
1225 
1227 WDFAPI
1228 VOID
1229 VFWDFEXPORT(WdfDeviceRemoveDependentUsageDeviceObject)(
1230  _In_
1232  _In_
1233  WDFDEVICE Device,
1234  _In_
1236  )
1237 {
1239  ((PFN_WDFDEVICEREMOVEDEPENDENTUSAGEDEVICEOBJECT) WdfVersion.Functions.pfnWdfDeviceRemoveDependentUsageDeviceObject)(DriverGlobals, Device, DependentDevice);
1240 }
1241 
1244 WDFAPI
1245 NTSTATUS
1246 VFWDFEXPORT(WdfDeviceAddRemovalRelationsPhysicalDevice)(
1247  _In_
1249  _In_
1250  WDFDEVICE Device,
1251  _In_
1253  )
1256  return ((PFN_WDFDEVICEADDREMOVALRELATIONSPHYSICALDEVICE) WdfVersion.Functions.pfnWdfDeviceAddRemovalRelationsPhysicalDevice)(DriverGlobals, Device, PhysicalDevice);
1257 }
1258 
1260 WDFAPI
1261 VOID
1262 VFWDFEXPORT(WdfDeviceRemoveRemovalRelationsPhysicalDevice)(
1263  _In_
1265  _In_
1266  WDFDEVICE Device,
1267  _In_
1269  )
1270 {
1272  ((PFN_WDFDEVICEREMOVEREMOVALRELATIONSPHYSICALDEVICE) WdfVersion.Functions.pfnWdfDeviceRemoveRemovalRelationsPhysicalDevice)(DriverGlobals, Device, PhysicalDevice);
1273 }
1274 
1276 WDFAPI
1277 VOID
1278 VFWDFEXPORT(WdfDeviceClearRemovalRelationsDevices)(
1279  _In_
1281  _In_
1282  WDFDEVICE Device
1283  )
1284 {
1286  ((PFN_WDFDEVICECLEARREMOVALRELATIONSDEVICES) WdfVersion.Functions.pfnWdfDeviceClearRemovalRelationsDevices)(DriverGlobals, Device);
1287 }
1288 
1290 WDFAPI
1291 WDFDRIVER
1292 VFWDFEXPORT(WdfDeviceGetDriver)(
1293  _In_
1295  _In_
1296  WDFDEVICE Device
1297  )
1298 {
1300  return ((PFN_WDFDEVICEGETDRIVER) WdfVersion.Functions.pfnWdfDeviceGetDriver)(DriverGlobals, Device);
1301 }
1302 
1305 WDFAPI
1306 NTSTATUS
1307 VFWDFEXPORT(WdfDeviceRetrieveDeviceName)(
1308  _In_
1310  _In_
1311  WDFDEVICE Device,
1312  _In_
1313  WDFSTRING String
1314  )
1317  return ((PFN_WDFDEVICERETRIEVEDEVICENAME) WdfVersion.Functions.pfnWdfDeviceRetrieveDeviceName)(DriverGlobals, Device, String);
1318 }
1319 
1322 WDFAPI
1323 NTSTATUS
1324 VFWDFEXPORT(WdfDeviceAssignMofResourceName)(
1325  _In_
1327  _In_
1328  WDFDEVICE Device,
1329  _In_
1331  )
1334  return ((PFN_WDFDEVICEASSIGNMOFRESOURCENAME) WdfVersion.Functions.pfnWdfDeviceAssignMofResourceName)(DriverGlobals, Device, MofResourceName);
1335 }
1336 
1338 WDFAPI
1339 WDFIOTARGET
1340 VFWDFEXPORT(WdfDeviceGetIoTarget)(
1341  _In_
1343  _In_
1344  WDFDEVICE Device
1345  )
1346 {
1348  return ((PFN_WDFDEVICEGETIOTARGET) WdfVersion.Functions.pfnWdfDeviceGetIoTarget)(DriverGlobals, Device);
1349 }
1350 
1352 WDFAPI
1354 VFWDFEXPORT(WdfDeviceGetDevicePnpState)(
1355  _In_
1357  _In_
1358  WDFDEVICE Device
1359  )
1360 {
1362  return ((PFN_WDFDEVICEGETDEVICEPNPSTATE) WdfVersion.Functions.pfnWdfDeviceGetDevicePnpState)(DriverGlobals, Device);
1363 }
1364 
1366 WDFAPI
1368 VFWDFEXPORT(WdfDeviceGetDevicePowerState)(
1369  _In_
1371  _In_
1372  WDFDEVICE Device
1373  )
1374 {
1376  return ((PFN_WDFDEVICEGETDEVICEPOWERSTATE) WdfVersion.Functions.pfnWdfDeviceGetDevicePowerState)(DriverGlobals, Device);
1377 }
1378 
1380 WDFAPI
1382 VFWDFEXPORT(WdfDeviceGetDevicePowerPolicyState)(
1383  _In_
1385  _In_
1386  WDFDEVICE Device
1387  )
1388 {
1390  return ((PFN_WDFDEVICEGETDEVICEPOWERPOLICYSTATE) WdfVersion.Functions.pfnWdfDeviceGetDevicePowerPolicyState)(DriverGlobals, Device);
1391 }
1392 
1395 WDFAPI
1396 NTSTATUS
1397 VFWDFEXPORT(WdfDeviceAssignS0IdleSettings)(
1398  _In_
1400  _In_
1401  WDFDEVICE Device,
1402  _In_
1404  )
1407  return ((PFN_WDFDEVICEASSIGNS0IDLESETTINGS) WdfVersion.Functions.pfnWdfDeviceAssignS0IdleSettings)(DriverGlobals, Device, Settings);
1408 }
1409 
1412 WDFAPI
1413 NTSTATUS
1414 VFWDFEXPORT(WdfDeviceAssignSxWakeSettings)(
1415  _In_
1417  _In_
1418  WDFDEVICE Device,
1419  _In_
1421  )
1422 {
1424  return ((PFN_WDFDEVICEASSIGNSXWAKESETTINGS) WdfVersion.Functions.pfnWdfDeviceAssignSxWakeSettings)(DriverGlobals, Device, Settings);
1425 }
1426 
1429 WDFAPI
1430 NTSTATUS
1431 VFWDFEXPORT(WdfDeviceOpenRegistryKey)(
1432  _In_
1434  _In_
1435  WDFDEVICE Device,
1436  _In_
1438  _In_
1440  _In_opt_
1442  _Out_
1443  WDFKEY* Key
1444  )
1448 }
1449 
1452 WDFAPI
1453 NTSTATUS
1454 VFWDFEXPORT(WdfDeviceOpenDevicemapKey)(
1455  _In_
1457  _In_
1458  WDFDEVICE Device,
1459  _In_
1461  _In_
1463  _In_opt_
1465  _Out_
1466  WDFKEY* Key
1467  )
1468 {
1471 }
1472 
1474 WDFAPI
1475 VOID
1476 VFWDFEXPORT(WdfDeviceSetSpecialFileSupport)(
1477  _In_
1479  _In_
1480  WDFDEVICE Device,
1481  _In_
1483  _In_
1485  )
1489 }
1490 
1492 WDFAPI
1493 VOID
1494 VFWDFEXPORT(WdfDeviceSetCharacteristics)(
1495  _In_
1497  _In_
1498  WDFDEVICE Device,
1499  _In_
1501  )
1505 }
1506 
1508 WDFAPI
1509 ULONG
1510 VFWDFEXPORT(WdfDeviceGetCharacteristics)(
1511  _In_
1513  _In_
1514  WDFDEVICE Device
1515  )
1516 {
1518  return ((PFN_WDFDEVICEGETCHARACTERISTICS) WdfVersion.Functions.pfnWdfDeviceGetCharacteristics)(DriverGlobals, Device);
1519 }
1520 
1522 WDFAPI
1523 ULONG
1524 VFWDFEXPORT(WdfDeviceGetAlignmentRequirement)(
1525  _In_
1527  _In_
1528  WDFDEVICE Device
1529  )
1530 {
1532  return ((PFN_WDFDEVICEGETALIGNMENTREQUIREMENT) WdfVersion.Functions.pfnWdfDeviceGetAlignmentRequirement)(DriverGlobals, Device);
1533 }
1534 
1536 WDFAPI
1537 VOID
1538 VFWDFEXPORT(WdfDeviceSetAlignmentRequirement)(
1539  _In_
1541  _In_
1542  WDFDEVICE Device,
1543  _In_
1545  )
1549 }
1550 
1552 WDFAPI
1553 VOID
1554 VFWDFEXPORT(WdfDeviceInitFree)(
1555  _In_
1557  _In_
1559  )
1560 {
1563 }
1564 
1566 WDFAPI
1567 VOID
1568 VFWDFEXPORT(WdfDeviceInitSetPnpPowerEventCallbacks)(
1569  _In_
1571  _In_
1573  _In_
1575  )
1579 }
1580 
1582 WDFAPI
1583 VOID
1584 VFWDFEXPORT(WdfDeviceInitSetPowerPolicyEventCallbacks)(
1585  _In_
1587  _In_
1589  _In_
1591  )
1595 }
1596 
1598 WDFAPI
1599 VOID
1600 VFWDFEXPORT(WdfDeviceInitSetPowerPolicyOwnership)(
1601  _In_
1603  _In_
1605  _In_
1607  )
1611 }
1612 
1615 WDFAPI
1616 NTSTATUS
1617 VFWDFEXPORT(WdfDeviceInitRegisterPnpStateChangeCallback)(
1618  _In_
1620  _In_
1622  _In_
1624  _In_
1626  _In_
1628  )
1632 }
1633 
1636 WDFAPI
1637 NTSTATUS
1638 VFWDFEXPORT(WdfDeviceInitRegisterPowerStateChangeCallback)(
1639  _In_
1641  _In_
1643  _In_
1645  _In_
1647  _In_
1649  )
1650 {
1653 }
1654 
1657 WDFAPI
1658 NTSTATUS
1659 VFWDFEXPORT(WdfDeviceInitRegisterPowerPolicyStateChangeCallback)(
1660  _In_
1662  _In_
1664  _In_
1666  _In_
1668  _In_
1670  )
1671 {
1674 }
1675 
1677 WDFAPI
1678 VOID
1679 VFWDFEXPORT(WdfDeviceInitSetExclusive)(
1680  _In_
1682  _In_
1684  _In_
1686  )
1690 }
1691 
1693 WDFAPI
1694 VOID
1695 VFWDFEXPORT(WdfDeviceInitSetIoType)(
1696  _In_
1698  _In_
1700  _In_
1702  )
1706 }
1707 
1709 WDFAPI
1710 VOID
1711 VFWDFEXPORT(WdfDeviceInitSetPowerNotPageable)(
1712  _In_
1714  _In_
1716  )
1717 {
1719  ((PFN_WDFDEVICEINITSETPOWERNOTPAGEABLE) WdfVersion.Functions.pfnWdfDeviceInitSetPowerNotPageable)(DriverGlobals, DeviceInit);
1720 }
1721 
1723 WDFAPI
1724 VOID
1725 VFWDFEXPORT(WdfDeviceInitSetPowerPageable)(
1726  _In_
1728  _In_
1730  )
1731 {
1733  ((PFN_WDFDEVICEINITSETPOWERPAGEABLE) WdfVersion.Functions.pfnWdfDeviceInitSetPowerPageable)(DriverGlobals, DeviceInit);
1734 }
1735 
1737 WDFAPI
1738 VOID
1739 VFWDFEXPORT(WdfDeviceInitSetPowerInrush)(
1740  _In_
1742  _In_
1744  )
1745 {
1747  ((PFN_WDFDEVICEINITSETPOWERINRUSH) WdfVersion.Functions.pfnWdfDeviceInitSetPowerInrush)(DriverGlobals, DeviceInit);
1748 }
1749 
1751 WDFAPI
1752 VOID
1753 VFWDFEXPORT(WdfDeviceInitSetDeviceType)(
1754  _In_
1756  _In_
1758  _In_
1760  )
1764 }
1765 
1768 WDFAPI
1769 NTSTATUS
1770 VFWDFEXPORT(WdfDeviceInitAssignName)(
1771  _In_
1773  _In_
1775  _In_opt_
1777  )
1780  return ((PFN_WDFDEVICEINITASSIGNNAME) WdfVersion.Functions.pfnWdfDeviceInitAssignName)(DriverGlobals, DeviceInit, DeviceName);
1781 }
1782 
1785 WDFAPI
1786 NTSTATUS
1787 VFWDFEXPORT(WdfDeviceInitAssignSDDLString)(
1788  _In_
1790  _In_
1792  _In_opt_
1794  )
1795 {
1797  return ((PFN_WDFDEVICEINITASSIGNSDDLSTRING) WdfVersion.Functions.pfnWdfDeviceInitAssignSDDLString)(DriverGlobals, DeviceInit, SDDLString);
1798 }
1799 
1801 WDFAPI
1802 VOID
1803 VFWDFEXPORT(WdfDeviceInitSetDeviceClass)(
1804  _In_
1806  _In_
1808  _In_
1810  )
1814 }
1815 
1817 WDFAPI
1818 VOID
1819 VFWDFEXPORT(WdfDeviceInitSetCharacteristics)(
1820  _In_
1822  _In_
1824  _In_
1826  _In_
1828  )
1832 }
1833 
1835 WDFAPI
1836 VOID
1837 VFWDFEXPORT(WdfDeviceInitSetFileObjectConfig)(
1838  _In_
1840  _In_
1842  _In_
1844  _In_opt_
1846  )
1847 {
1850 }
1851 
1853 WDFAPI
1854 VOID
1855 VFWDFEXPORT(WdfDeviceInitSetRequestAttributes)(
1856  _In_
1858  _In_
1860  _In_
1862  )
1863 {
1866 }
1867 
1870 WDFAPI
1871 NTSTATUS
1872 VFWDFEXPORT(WdfDeviceInitAssignWdmIrpPreprocessCallback)(
1873  _In_
1875  _In_
1877  _In_
1879  _In_
1884  _In_
1886  )
1887 {
1889 #pragma prefast(suppress: __WARNING_INVALID_PARAM_VALUE_3,"This is a verifier DDI hook routine. It just passes the caller parameters to original routine")
1891 }
1892 
1894 WDFAPI
1895 VOID
1896 VFWDFEXPORT(WdfDeviceInitSetIoInCallerContextCallback)(
1897  _In_
1899  _In_
1901  _In_
1903  )
1904 {
1907 }
1908 
1910 WDFAPI
1911 VOID
1912 VFWDFEXPORT(WdfDeviceInitSetRemoveLockOptions)(
1913  _In_
1915  _In_
1917  _In_
1919  )
1922  ((PFN_WDFDEVICEINITSETREMOVELOCKOPTIONS) WdfVersion.Functions.pfnWdfDeviceInitSetRemoveLockOptions)(DriverGlobals, DeviceInit, Options);
1923 }
1924 
1927 WDFAPI
1928 NTSTATUS
1929 VFWDFEXPORT(WdfDeviceCreate)(
1930  _In_
1932  _Inout_
1934  _In_opt_
1936  _Out_
1937  WDFDEVICE* Device
1938  )
1939 {
1942 
1945 
1947  &hookInfo,
1948  DriverGlobals,
1949  DeviceInit,
1951  Device);
1952 
1954 
1955  if (hookInfo.DonotCallKmdfLib) {
1956  return hookInfo.DdiCallStatus;
1957  }
1958 
1960 }
1961 
1963 WDFAPI
1964 VOID
1965 VFWDFEXPORT(WdfDeviceSetStaticStopRemove)(
1966  _In_
1968  _In_
1969  WDFDEVICE Device,
1970  _In_
1972  )
1975  ((PFN_WDFDEVICESETSTATICSTOPREMOVE) WdfVersion.Functions.pfnWdfDeviceSetStaticStopRemove)(DriverGlobals, Device, Stoppable);
1976 }
1977 
1980 WDFAPI
1981 NTSTATUS
1982 VFWDFEXPORT(WdfDeviceCreateDeviceInterface)(
1983  _In_
1985  _In_
1986  WDFDEVICE Device,
1987  _In_
1989  _In_opt_
1991  )
1995 }
1996 
1998 WDFAPI
1999 VOID
2000 VFWDFEXPORT(WdfDeviceSetDeviceInterfaceState)(
2001  _In_
2003  _In_
2004  WDFDEVICE Device,
2005  _In_
2007  _In_opt_
2009  _In_
2011  )
2015 }
2016 
2019 WDFAPI
2020 NTSTATUS
2021 VFWDFEXPORT(WdfDeviceRetrieveDeviceInterfaceString)(
2022  _In_
2024  _In_
2025  WDFDEVICE Device,
2026  _In_
2028  _In_opt_
2030  _In_
2031  WDFSTRING String
2032  )
2033 {
2036 }
2037 
2040 WDFAPI
2041 NTSTATUS
2042 VFWDFEXPORT(WdfDeviceCreateSymbolicLink)(
2043  _In_
2045  _In_
2046  WDFDEVICE Device,
2047  _In_
2049  )
2052  return ((PFN_WDFDEVICECREATESYMBOLICLINK) WdfVersion.Functions.pfnWdfDeviceCreateSymbolicLink)(DriverGlobals, Device, SymbolicLinkName);
2053 }
2054 
2057 WDFAPI
2058 NTSTATUS
2059 VFWDFEXPORT(WdfDeviceQueryProperty)(
2060  _In_
2062  _In_
2063  WDFDEVICE Device,
2064  _In_
2066  _In_
2070  _Out_
2072  )
2076 }
2077 
2080 WDFAPI
2081 NTSTATUS
2082 VFWDFEXPORT(WdfDeviceAllocAndQueryProperty)(
2083  _In_
2085  _In_
2086  WDFDEVICE Device,
2087  _In_
2089  _In_
2092  _In_opt_
2094  _Out_
2095  WDFMEMORY* PropertyMemory
2096  )
2100 }
2101 
2103 WDFAPI
2104 VOID
2105 VFWDFEXPORT(WdfDeviceSetPnpCapabilities)(
2106  _In_
2108  _In_
2109  WDFDEVICE Device,
2110  _In_
2112  )
2116 }
2117 
2119 WDFAPI
2120 VOID
2121 VFWDFEXPORT(WdfDeviceSetPowerCapabilities)(
2122  _In_
2124  _In_
2125  WDFDEVICE Device,
2126  _In_
2128  )
2132 }
2133 
2135 WDFAPI
2136 VOID
2137 VFWDFEXPORT(WdfDeviceSetBusInformationForChildren)(
2138  _In_
2140  _In_
2141  WDFDEVICE Device,
2142  _In_
2144  )
2147  ((PFN_WDFDEVICESETBUSINFORMATIONFORCHILDREN) WdfVersion.Functions.pfnWdfDeviceSetBusInformationForChildren)(DriverGlobals, Device, BusInformation);
2148 }
2149 
2152 WDFAPI
2153 NTSTATUS
2154 VFWDFEXPORT(WdfDeviceIndicateWakeStatus)(
2155  _In_
2157  _In_
2158  WDFDEVICE Device,
2159  _In_
2161  )
2164  return ((PFN_WDFDEVICEINDICATEWAKESTATUS) WdfVersion.Functions.pfnWdfDeviceIndicateWakeStatus)(DriverGlobals, Device, WaitWakeStatus);
2165 }
2166 
2168 WDFAPI
2169 VOID
2170 VFWDFEXPORT(WdfDeviceSetFailed)(
2171  _In_
2173  _In_
2174  WDFDEVICE Device,
2175  _In_
2177  )
2181 }
2182 
2186 WDFAPI
2187 NTSTATUS
2188 VFWDFEXPORT(WdfDeviceStopIdleNoTrack)(
2189  _In_
2191  _In_
2192  WDFDEVICE Device,
2193  _In_
2195  )
2198  return ((PFN_WDFDEVICESTOPIDLENOTRACK) WdfVersion.Functions.pfnWdfDeviceStopIdleNoTrack)(DriverGlobals, Device, WaitForD0);
2199 }
2200 
2202 WDFAPI
2203 VOID
2204 VFWDFEXPORT(WdfDeviceResumeIdleNoTrack)(
2205  _In_
2207  _In_
2208  WDFDEVICE Device
2209  )
2210 {
2212  ((PFN_WDFDEVICERESUMEIDLENOTRACK) WdfVersion.Functions.pfnWdfDeviceResumeIdleNoTrack)(DriverGlobals, Device);
2213 }
2214 
2218 WDFAPI
2219 NTSTATUS
2220 VFWDFEXPORT(WdfDeviceStopIdleActual)(
2221  _In_
2223  _In_
2224  WDFDEVICE Device,
2225  _In_
2227  _In_opt_
2228  PVOID Tag,
2229  _In_
2230  LONG Line,
2231  _In_z_
2232  PCHAR File
2233  )
2236  return ((PFN_WDFDEVICESTOPIDLEACTUAL) WdfVersion.Functions.pfnWdfDeviceStopIdleActual)(DriverGlobals, Device, WaitForD0, Tag, Line, File);
2237 }
2238 
2240 WDFAPI
2241 VOID
2242 VFWDFEXPORT(WdfDeviceResumeIdleActual)(
2243  _In_
2245  _In_
2246  WDFDEVICE Device,
2247  _In_opt_
2248  PVOID Tag,
2249  _In_
2250  LONG Line,
2251  _In_z_
2252  PCHAR File
2253  )
2254 {
2256  ((PFN_WDFDEVICERESUMEIDLEACTUAL) WdfVersion.Functions.pfnWdfDeviceResumeIdleActual)(DriverGlobals, Device, Tag, Line, File);
2257 }
2258 
2260 WDFAPI
2261 WDFFILEOBJECT
2262 VFWDFEXPORT(WdfDeviceGetFileObject)(
2263  _In_
2265  _In_
2266  WDFDEVICE Device,
2267  _In_
2269  )
2272  return ((PFN_WDFDEVICEGETFILEOBJECT) WdfVersion.Functions.pfnWdfDeviceGetFileObject)(DriverGlobals, Device, FileObject);
2273 }
2274 
2277 WDFAPI
2278 NTSTATUS
2279 VFWDFEXPORT(WdfDeviceEnqueueRequest)(
2280  _In_
2282  _In_
2283  WDFDEVICE Device,
2284  _In_
2285  WDFREQUEST Request
2286  )
2289  return ((PFN_WDFDEVICEENQUEUEREQUEST) WdfVersion.Functions.pfnWdfDeviceEnqueueRequest)(DriverGlobals, Device, Request);
2290 }
2291 
2293 WDFAPI
2294 WDFQUEUE
2295 VFWDFEXPORT(WdfDeviceGetDefaultQueue)(
2296  _In_
2298  _In_
2299  WDFDEVICE Device
2300  )
2301 {
2303  return ((PFN_WDFDEVICEGETDEFAULTQUEUE) WdfVersion.Functions.pfnWdfDeviceGetDefaultQueue)(DriverGlobals, Device);
2304 }
2305 
2308 WDFAPI
2309 NTSTATUS
2310 VFWDFEXPORT(WdfDeviceConfigureRequestDispatching)(
2311  _In_
2313  _In_
2314  WDFDEVICE Device,
2315  _In_
2316  WDFQUEUE Queue,
2317  _In_
2320  )
2323  return ((PFN_WDFDEVICECONFIGUREREQUESTDISPATCHING) WdfVersion.Functions.pfnWdfDeviceConfigureRequestDispatching)(DriverGlobals, Device, Queue, RequestType);
2324 }
2325 
2328 WDFAPI
2329 NTSTATUS
2330 VFWDFEXPORT(WdfDeviceConfigureWdmIrpDispatchCallback)(
2331  _In_
2333  _In_
2334  WDFDEVICE Device,
2335  _In_opt_
2336  WDFDRIVER Driver,
2337  _In_
2339  _In_
2341  _In_opt_
2343  )
2347 }
2348 
2350 WDFAPI
2352 VFWDFEXPORT(WdfDeviceGetSystemPowerAction)(
2353  _In_
2355  _In_
2356  WDFDEVICE Device
2357  )
2358 {
2360  return ((PFN_WDFDEVICEGETSYSTEMPOWERACTION) WdfVersion.Functions.pfnWdfDeviceGetSystemPowerAction)(DriverGlobals, Device);
2361 }
2362 
2365 WDFAPI
2366 NTSTATUS
2367 VFWDFEXPORT(WdfDeviceWdmAssignPowerFrameworkSettings)(
2368  _In_
2370  _In_
2371  WDFDEVICE Device,
2372  _In_
2374  )
2377  return ((PFN_WDFDEVICEWDMASSIGNPOWERFRAMEWORKSETTINGS) WdfVersion.Functions.pfnWdfDeviceWdmAssignPowerFrameworkSettings)(DriverGlobals, Device, PowerFrameworkSettings);
2378 }
2379 
2381 WDFAPI
2382 VOID
2383 VFWDFEXPORT(WdfDeviceInitSetReleaseHardwareOrderOnFailure)(
2384  _In_
2386  _In_
2388  _In_
2390  )
2394 }
2395 
2397 WDFAPI
2398 VOID
2399 VFWDFEXPORT(WdfDeviceInitSetIoTypeEx)(
2400  _In_
2402  _In_
2404  _In_
2406  )
2410 }
2411 
2414 WDFAPI
2415 NTSTATUS
2416 VFWDFEXPORT(WdfDeviceQueryPropertyEx)(
2417  _In_
2419  _In_
2420  WDFDEVICE Device,
2421  _In_
2423  _In_
2425  _Out_
2427  _Out_
2429  _Out_
2431  )
2435 }
2436 
2439 WDFAPI
2440 NTSTATUS
2441 VFWDFEXPORT(WdfDeviceAllocAndQueryPropertyEx)(
2442  _In_
2444  _In_
2445  WDFDEVICE Device,
2446  _In_
2448  _In_
2451  _In_opt_
2453  _Out_
2454  WDFMEMORY* PropertyMemory,
2455  _Out_
2457  )
2458 {
2461 }
2462 
2465 WDFAPI
2466 NTSTATUS
2467 VFWDFEXPORT(WdfDeviceAssignProperty)(
2468  _In_
2470  _In_
2471  WDFDEVICE Device,
2472  _In_
2474  _In_
2475  DEVPROPTYPE Type,
2476  _In_
2477  ULONG Size,
2478  _In_opt_
2479  PVOID Data
2480  )
2483  return ((PFN_WDFDEVICEASSIGNPROPERTY) WdfVersion.Functions.pfnWdfDeviceAssignProperty)(DriverGlobals, Device, DeviceProperty, Type, Size, Data);
2484 }
2485 
2487 WDFAPI
2488 WDFIOTARGET
2489 VFWDFEXPORT(WdfDeviceGetSelfIoTarget)(
2490  _In_
2492  _In_
2493  WDFDEVICE Device
2494  )
2495 {
2498 }
2499 
2501 WDFAPI
2502 VOID
2503 VFWDFEXPORT(WdfDeviceInitAllowSelfIoTarget)(
2504  _In_
2506  _In_
2508  )
2509 {
2512 }
2513 
2516 WDFAPI
2517 NTSTATUS
2518 VFWDFEXPORT(WdfDmaEnablerCreate)(
2519  _In_
2521  _In_
2522  WDFDEVICE Device,
2523  _In_
2525  _In_opt_
2527  _Out_
2528  WDFDMAENABLER* DmaEnablerHandle
2529  )
2533 }
2534 
2537 WDFAPI
2538 NTSTATUS
2539 VFWDFEXPORT(WdfDmaEnablerConfigureSystemProfile)(
2540  _In_
2542  _In_
2543  WDFDMAENABLER DmaEnabler,
2544  _In_
2546  _In_
2548  )
2552 }
2553 
2555 WDFAPI
2556 size_t
2557 VFWDFEXPORT(WdfDmaEnablerGetMaximumLength)(
2558  _In_
2560  _In_
2561  WDFDMAENABLER DmaEnabler
2562  )
2563 {
2565  return ((PFN_WDFDMAENABLERGETMAXIMUMLENGTH) WdfVersion.Functions.pfnWdfDmaEnablerGetMaximumLength)(DriverGlobals, DmaEnabler);
2566 }
2567 
2569 WDFAPI
2570 size_t
2571 VFWDFEXPORT(WdfDmaEnablerGetMaximumScatterGatherElements)(
2572  _In_
2574  _In_
2575  WDFDMAENABLER DmaEnabler
2576  )
2577 {
2579  return ((PFN_WDFDMAENABLERGETMAXIMUMSCATTERGATHERELEMENTS) WdfVersion.Functions.pfnWdfDmaEnablerGetMaximumScatterGatherElements)(DriverGlobals, DmaEnabler);
2580 }
2581 
2583 WDFAPI
2584 VOID
2585 VFWDFEXPORT(WdfDmaEnablerSetMaximumScatterGatherElements)(
2586  _In_
2588  _In_
2589  WDFDMAENABLER DmaEnabler,
2590  _In_
2591  _When_(MaximumFragments == 0, __drv_reportError(MaximumFragments cannot be zero))
2592  size_t MaximumFragments
2593  )
2594 {
2596  ((PFN_WDFDMAENABLERSETMAXIMUMSCATTERGATHERELEMENTS) WdfVersion.Functions.pfnWdfDmaEnablerSetMaximumScatterGatherElements)(DriverGlobals, DmaEnabler, MaximumFragments);
2597 }
2598 
2600 WDFAPI
2601 size_t
2602 VFWDFEXPORT(WdfDmaEnablerGetFragmentLength)(
2603  _In_
2605  _In_
2606  WDFDMAENABLER DmaEnabler,
2607  _In_
2609  )
2612  return ((PFN_WDFDMAENABLERGETFRAGMENTLENGTH) WdfVersion.Functions.pfnWdfDmaEnablerGetFragmentLength)(DriverGlobals, DmaEnabler, DmaDirection);
2613 }
2614 
2616 WDFAPI
2618 VFWDFEXPORT(WdfDmaEnablerWdmGetDmaAdapter)(
2619  _In_
2621  _In_
2622  WDFDMAENABLER DmaEnabler,
2623  _In_
2625  )
2626 {
2628  return ((PFN_WDFDMAENABLERWDMGETDMAADAPTER) WdfVersion.Functions.pfnWdfDmaEnablerWdmGetDmaAdapter)(DriverGlobals, DmaEnabler, DmaDirection);
2629 }
2630 
2633 WDFAPI
2634 NTSTATUS
2635 VFWDFEXPORT(WdfDmaTransactionCreate)(
2636  _In_
2638  _In_
2639  WDFDMAENABLER DmaEnabler,
2640  _In_opt_
2642  _Out_
2643  WDFDMATRANSACTION* DmaTransaction
2644  )
2648 }
2649 
2652 WDFAPI
2653 NTSTATUS
2654 VFWDFEXPORT(WdfDmaTransactionInitialize)(
2655  _In_
2657  _In_
2658  WDFDMATRANSACTION DmaTransaction,
2659  _In_
2661  _In_
2663  _In_
2664  PMDL Mdl,
2665  _In_
2667  _In_
2669  size_t Length
2670  )
2671 {
2674 }
2675 
2678 WDFAPI
2679 NTSTATUS
2680 VFWDFEXPORT(WdfDmaTransactionInitializeUsingOffset)(
2681  _In_
2683  _In_
2684  WDFDMATRANSACTION DmaTransaction,
2685  _In_
2687  _In_
2689  _In_
2690  PMDL Mdl,
2691  _In_
2692  size_t Offset,
2693  _In_
2694  _When_(Length == 0, __drv_reportError(Length cannot be zero))
2695  size_t Length
2696  )
2697 {
2700 }
2701 
2704 WDFAPI
2705 NTSTATUS
2706 VFWDFEXPORT(WdfDmaTransactionInitializeUsingRequest)(
2707  _In_
2709  _In_
2710  WDFDMATRANSACTION DmaTransaction,
2711  _In_
2712  WDFREQUEST Request,
2713  _In_
2715  _In_
2717  )
2718 {
2721 }
2722 
2725 WDFAPI
2726 NTSTATUS
2727 VFWDFEXPORT(WdfDmaTransactionExecute)(
2728  _In_
2730  _In_
2731  WDFDMATRANSACTION DmaTransaction,
2732  _In_opt_
2734  )
2737  return ((PFN_WDFDMATRANSACTIONEXECUTE) WdfVersion.Functions.pfnWdfDmaTransactionExecute)(DriverGlobals, DmaTransaction, Context);
2738 }
2739 
2740 _Success_(TRUE)
2742 WDFAPI
2743 NTSTATUS
2744 VFWDFEXPORT(WdfDmaTransactionRelease)(
2745  _In_
2747  _In_
2748  WDFDMATRANSACTION DmaTransaction
2749  )
2750 {
2752  return ((PFN_WDFDMATRANSACTIONRELEASE) WdfVersion.Functions.pfnWdfDmaTransactionRelease)(DriverGlobals, DmaTransaction);
2753 }
2754 
2756 WDFAPI
2757 BOOLEAN
2758 VFWDFEXPORT(WdfDmaTransactionDmaCompleted)(
2759  _In_
2761  _In_
2762  WDFDMATRANSACTION DmaTransaction,
2763  _Out_
2764  NTSTATUS* Status
2765  )
2768  return ((PFN_WDFDMATRANSACTIONDMACOMPLETED) WdfVersion.Functions.pfnWdfDmaTransactionDmaCompleted)(DriverGlobals, DmaTransaction, Status);
2769 }
2770 
2772 WDFAPI
2773 BOOLEAN
2774 VFWDFEXPORT(WdfDmaTransactionDmaCompletedWithLength)(
2775  _In_
2777  _In_
2778  WDFDMATRANSACTION DmaTransaction,
2779  _In_
2780  size_t TransferredLength,
2781  _Out_
2782  NTSTATUS* Status
2783  )
2784 {
2786  return ((PFN_WDFDMATRANSACTIONDMACOMPLETEDWITHLENGTH) WdfVersion.Functions.pfnWdfDmaTransactionDmaCompletedWithLength)(DriverGlobals, DmaTransaction, TransferredLength, Status);
2787 }
2788 
2790 WDFAPI
2791 BOOLEAN
2792 VFWDFEXPORT(WdfDmaTransactionDmaCompletedFinal)(
2793  _In_
2795  _In_
2796  WDFDMATRANSACTION DmaTransaction,
2797  _In_
2798  size_t FinalTransferredLength,
2799  _Out_
2800  NTSTATUS* Status
2801  )
2802 {
2805 }
2806 
2808 WDFAPI
2809 size_t
2810 VFWDFEXPORT(WdfDmaTransactionGetBytesTransferred)(
2811  _In_
2813  _In_
2814  WDFDMATRANSACTION DmaTransaction
2815  )
2816 {
2818  return ((PFN_WDFDMATRANSACTIONGETBYTESTRANSFERRED) WdfVersion.Functions.pfnWdfDmaTransactionGetBytesTransferred)(DriverGlobals, DmaTransaction);
2819 }
2820 
2822 WDFAPI
2823 VOID
2824 VFWDFEXPORT(WdfDmaTransactionSetMaximumLength)(
2825  _In_
2827  _In_
2828  WDFDMATRANSACTION DmaTransaction,
2829  _In_
2830  size_t MaximumLength
2831  )
2835 }
2836 
2838 WDFAPI
2839 WDFREQUEST
2840 VFWDFEXPORT(WdfDmaTransactionGetRequest)(
2841  _In_
2843  _In_
2844  WDFDMATRANSACTION DmaTransaction
2845  )
2846 {
2848  return ((PFN_WDFDMATRANSACTIONGETREQUEST) WdfVersion.Functions.pfnWdfDmaTransactionGetRequest)(DriverGlobals, DmaTransaction);
2849 }
2850 
2852 WDFAPI
2853 size_t
2854 VFWDFEXPORT(WdfDmaTransactionGetCurrentDmaTransferLength)(
2855  _In_
2857  _In_
2858  WDFDMATRANSACTION DmaTransaction
2859  )
2860 {
2862  return ((PFN_WDFDMATRANSACTIONGETCURRENTDMATRANSFERLENGTH) WdfVersion.Functions.pfnWdfDmaTransactionGetCurrentDmaTransferLength)(DriverGlobals, DmaTransaction);
2863 }
2864 
2866 WDFAPI
2867 WDFDEVICE
2868 VFWDFEXPORT(WdfDmaTransactionGetDevice)(
2869  _In_
2871  _In_
2872  WDFDMATRANSACTION DmaTransaction
2873  )
2874 {
2876  return ((PFN_WDFDMATRANSACTIONGETDEVICE) WdfVersion.Functions.pfnWdfDmaTransactionGetDevice)(DriverGlobals, DmaTransaction);
2877 }
2878 
2880 WDFAPI
2881 VOID
2882 VFWDFEXPORT(WdfDmaTransactionGetTransferInfo)(
2883  _In_
2885  _In_
2886  WDFDMATRANSACTION DmaTransaction,
2887  _Out_opt_
2889  _Out_opt_
2891  )
2895 }
2896 
2898 WDFAPI
2899 VOID
2900 VFWDFEXPORT(WdfDmaTransactionSetChannelConfigurationCallback)(
2901  _In_
2903  _In_
2904  WDFDMATRANSACTION DmaTransaction,
2905  _In_opt_
2907  _In_opt_
2909  )
2913 }
2914 
2916 WDFAPI
2917 VOID
2918 VFWDFEXPORT(WdfDmaTransactionSetTransferCompleteCallback)(
2919  _In_
2921  _In_
2922  WDFDMATRANSACTION DmaTransaction,
2923  _In_opt_
2925  _In_opt_
2927  )
2931 }
2932 
2934 WDFAPI
2935 VOID
2936 VFWDFEXPORT(WdfDmaTransactionSetImmediateExecution)(
2937  _In_
2939  _In_
2940  WDFDMATRANSACTION DmaTransaction,
2941  _In_
2943  )
2947 }
2948 
2950 WDFAPI
2951 NTSTATUS
2952 VFWDFEXPORT(WdfDmaTransactionAllocateResources)(
2953  _In_
2955  _In_
2956  WDFDMATRANSACTION DmaTransaction,
2957  _In_
2959  _In_
2961  _In_
2963  _In_
2965  )
2969 }
2970 
2972 WDFAPI
2973 VOID
2974 VFWDFEXPORT(WdfDmaTransactionSetDeviceAddressOffset)(
2975  _In_
2977  _In_
2978  WDFDMATRANSACTION DmaTransaction,
2979  _In_
2980  ULONG Offset
2981  )
2982 {
2984  ((PFN_WDFDMATRANSACTIONSETDEVICEADDRESSOFFSET) WdfVersion.Functions.pfnWdfDmaTransactionSetDeviceAddressOffset)(DriverGlobals, DmaTransaction, Offset);
2985 }
2986 
2988 WDFAPI
2989 VOID
2990 VFWDFEXPORT(WdfDmaTransactionFreeResources)(
2991  _In_
2993  _In_
2994  WDFDMATRANSACTION DmaTransaction
2995  )
2996 {
2998  ((PFN_WDFDMATRANSACTIONFREERESOURCES) WdfVersion.Functions.pfnWdfDmaTransactionFreeResources)(DriverGlobals, DmaTransaction);
2999 }
3000 
3002 WDFAPI
3003 BOOLEAN
3004 VFWDFEXPORT(WdfDmaTransactionCancel)(
3005  _In_
3007  _In_
3008  WDFDMATRANSACTION DmaTransaction
3009  )
3010 {
3012  return ((PFN_WDFDMATRANSACTIONCANCEL) WdfVersion.Functions.pfnWdfDmaTransactionCancel)(DriverGlobals, DmaTransaction);
3013 }
3014 
3016 WDFAPI
3017 PVOID
3018 VFWDFEXPORT(WdfDmaTransactionWdmGetTransferContext)(
3019  _In_
3021  _In_
3022  WDFDMATRANSACTION DmaTransaction
3023  )
3024 {
3026  return ((PFN_WDFDMATRANSACTIONWDMGETTRANSFERCONTEXT) WdfVersion.Functions.pfnWdfDmaTransactionWdmGetTransferContext)(DriverGlobals, DmaTransaction);
3027 }
3028 
3030 WDFAPI
3031 VOID
3032 VFWDFEXPORT(WdfDmaTransactionStopSystemTransfer)(
3033  _In_
3035  _In_
3036  WDFDMATRANSACTION DmaTransaction
3037  )
3038 {
3040  ((PFN_WDFDMATRANSACTIONSTOPSYSTEMTRANSFER) WdfVersion.Functions.pfnWdfDmaTransactionStopSystemTransfer)(DriverGlobals, DmaTransaction);
3041 }
3042 
3045 WDFAPI
3046 NTSTATUS
3047 VFWDFEXPORT(WdfDpcCreate)(
3048  _In_
3050  _In_
3052  _In_
3054  _Out_
3055  WDFDPC* Dpc
3056  )
3059  return ((PFN_WDFDPCCREATE) WdfVersion.Functions.pfnWdfDpcCreate)(DriverGlobals, Config, Attributes, Dpc);
3060 }
3061 
3063 WDFAPI
3064 BOOLEAN
3065 VFWDFEXPORT(WdfDpcEnqueue)(
3066  _In_
3068  _In_
3069  WDFDPC Dpc
3070  )
3071 {
3073  return ((PFN_WDFDPCENQUEUE) WdfVersion.Functions.pfnWdfDpcEnqueue)(DriverGlobals, Dpc);
3074 }
3075 
3078 WDFAPI
3079 BOOLEAN
3080 VFWDFEXPORT(WdfDpcCancel)(
3081  _In_
3083  _In_
3084  WDFDPC Dpc,
3085  _In_
3086  BOOLEAN Wait
3087  )
3090  return ((PFN_WDFDPCCANCEL) WdfVersion.Functions.pfnWdfDpcCancel)(DriverGlobals, Dpc, Wait);
3091 }
3092 
3094 WDFAPI
3095 WDFOBJECT
3096 VFWDFEXPORT(WdfDpcGetParentObject)(
3097  _In_
3099  _In_
3100  WDFDPC Dpc
3101  )
3102 {
3104  return ((PFN_WDFDPCGETPARENTOBJECT) WdfVersion.Functions.pfnWdfDpcGetParentObject)(DriverGlobals, Dpc);
3105 }
3106 
3108 WDFAPI
3109 PKDPC
3110 VFWDFEXPORT(WdfDpcWdmGetDpc)(
3111  _In_
3113  _In_
3114  WDFDPC Dpc
3115  )
3116 {
3118  return ((PFN_WDFDPCWDMGETDPC) WdfVersion.Functions.pfnWdfDpcWdmGetDpc)(DriverGlobals, Dpc);
3119 }
3120 
3123 WDFAPI
3124 NTSTATUS
3125 VFWDFEXPORT(WdfDriverCreate)(
3126  _In_
3128  _In_
3130  _In_
3132  _In_opt_
3134  _In_
3136  _Out_opt_
3137  WDFDRIVER* Driver
3138  )
3139 {
3142 }
3143 
3145 WDFAPI
3146 PWSTR
3147 VFWDFEXPORT(WdfDriverGetRegistryPath)(
3148  _In_
3150  _In_
3151  WDFDRIVER Driver
3152  )
3153 {
3155  return ((PFN_WDFDRIVERGETREGISTRYPATH) WdfVersion.Functions.pfnWdfDriverGetRegistryPath)(DriverGlobals, Driver);
3156 }
3157 
3159 WDFAPI
3161 VFWDFEXPORT(WdfDriverWdmGetDriverObject)(
3162  _In_
3164  _In_
3165  WDFDRIVER Driver
3166  )
3167 {
3169  return ((PFN_WDFDRIVERWDMGETDRIVEROBJECT) WdfVersion.Functions.pfnWdfDriverWdmGetDriverObject)(DriverGlobals, Driver);
3170 }
3171 
3174 WDFAPI
3175 NTSTATUS
3176 VFWDFEXPORT(WdfDriverOpenParametersRegistryKey)(
3177  _In_
3179  _In_
3180  WDFDRIVER Driver,
3181  _In_
3183  _In_opt_
3185  _Out_
3186  WDFKEY* Key
3187  )
3188 {
3190  return ((PFN_WDFDRIVEROPENPARAMETERSREGISTRYKEY) WdfVersion.Functions.pfnWdfDriverOpenParametersRegistryKey)(DriverGlobals, Driver, DesiredAccess, KeyAttributes, Key);
3191 }
3192 
3194 WDFAPI
3195 WDFDRIVER
3196 VFWDFEXPORT(WdfWdmDriverGetWdfDriverHandle)(
3197  _In_
3199  _In_
3201  )
3202 {
3204  return ((PFN_WDFWDMDRIVERGETWDFDRIVERHANDLE) WdfVersion.Functions.pfnWdfWdmDriverGetWdfDriverHandle)(DriverGlobals, DriverObject);
3205 }
3206 
3209 WDFAPI
3210 NTSTATUS
3211 VFWDFEXPORT(WdfDriverRegisterTraceInfo)(
3212  _In_
3214  _In_
3216  _In_
3218  _In_
3220  )
3224 }
3225 
3228 WDFAPI
3229 NTSTATUS
3230 VFWDFEXPORT(WdfDriverRetrieveVersionString)(
3231  _In_
3233  _In_
3234  WDFDRIVER Driver,
3235  _In_
3236  WDFSTRING String
3237  )
3238 {
3240  return ((PFN_WDFDRIVERRETRIEVEVERSIONSTRING) WdfVersion.Functions.pfnWdfDriverRetrieveVersionString)(DriverGlobals, Driver, String);
3241 }
3242 
3245 WDFAPI
3246 BOOLEAN
3247 VFWDFEXPORT(WdfDriverIsVersionAvailable)(
3248  _In_
3250  _In_
3251  WDFDRIVER Driver,
3252  _In_
3254  )
3257  return ((PFN_WDFDRIVERISVERSIONAVAILABLE) WdfVersion.Functions.pfnWdfDriverIsVersionAvailable)(DriverGlobals, Driver, VersionAvailableParams);
3258 }
3259 
3261 WDFAPI
3263 VFWDFEXPORT(WdfFdoInitWdmGetPhysicalDevice)(
3264  _In_
3266  _In_
3268  )
3269 {
3271  return ((PFN_WDFFDOINITWDMGETPHYSICALDEVICE) WdfVersion.Functions.pfnWdfFdoInitWdmGetPhysicalDevice)(DriverGlobals, DeviceInit);
3272 }
3273 
3276 WDFAPI
3277 NTSTATUS
3278 VFWDFEXPORT(WdfFdoInitOpenRegistryKey)(
3279  _In_
3281  _In_
3283  _In_
3285  _In_
3287  _In_opt_
3289  _Out_
3290  WDFKEY* Key
3291  )
3292 {
3295 }
3296 
3299 WDFAPI
3300 NTSTATUS
3301 VFWDFEXPORT(WdfFdoInitQueryProperty)(
3302  _In_
3304  _In_
3306  _In_
3308  _In_
3312  _Out_
3314  )
3315 {
3318 }
3319 
3322 WDFAPI
3323 NTSTATUS
3324 VFWDFEXPORT(WdfFdoInitAllocAndQueryProperty)(
3325  _In_
3327  _In_
3329  _In_
3331  _In_
3334  _In_opt_
3336  _Out_
3337  WDFMEMORY* PropertyMemory
3338  )
3339 {
3342 }
3343 
3346 WDFAPI
3347 NTSTATUS
3348 VFWDFEXPORT(WdfFdoInitQueryPropertyEx)(
3349  _In_
3351  _In_
3353  _In_
3355  _In_
3357  _Out_
3359  _Out_
3361  _Out_
3363  )
3364 {
3367 }
3368 
3371 WDFAPI
3372 NTSTATUS
3373 VFWDFEXPORT(WdfFdoInitAllocAndQueryPropertyEx)(
3374  _In_
3376  _In_
3378  _In_
3380  _In_
3383  _In_opt_
3385  _Out_
3386  WDFMEMORY* PropertyMemory,
3387  _Out_
3389  )
3390 {
3393 }
3394 
3396 WDFAPI
3397 VOID
3398 VFWDFEXPORT(WdfFdoInitSetEventCallbacks)(
3399  _In_
3401  _In_
3403  _In_
3405  )
3409 }
3410 
3412 WDFAPI
3413 VOID
3414 VFWDFEXPORT(WdfFdoInitSetFilter)(
3415  _In_
3417  _In_
3419  )
3420 {
3422  ((PFN_WDFFDOINITSETFILTER) WdfVersion.Functions.pfnWdfFdoInitSetFilter)(DriverGlobals, DeviceInit);
3423 }
3424 
3426 WDFAPI
3427 VOID
3428 VFWDFEXPORT(WdfFdoInitSetDefaultChildListConfig)(
3429  _In_
3431  _Inout_
3433  _In_
3435  _In_opt_
3437  )
3441 }
3442 
3445 WDFAPI
3446 NTSTATUS
3447 VFWDFEXPORT(WdfFdoQueryForInterface)(
3448  _In_
3450  _In_
3451  WDFDEVICE Fdo,
3452  _In_
3454  _Out_
3456  _In_
3457  USHORT Size,
3458  _In_
3459  USHORT Version,
3460  _In_opt_
3462  )
3466 }
3467 
3469 WDFAPI
3470 WDFCHILDLIST
3471 VFWDFEXPORT(WdfFdoGetDefaultChildList)(
3472  _In_
3474  _In_
3475  WDFDEVICE Fdo
3476  )
3477 {
3479  return ((PFN_WDFFDOGETDEFAULTCHILDLIST) WdfVersion.Functions.pfnWdfFdoGetDefaultChildList)(DriverGlobals, Fdo);
3480 }
3481 
3484 WDFAPI
3485 NTSTATUS
3486 VFWDFEXPORT(WdfFdoAddStaticChild)(
3487  _In_
3489  _In_
3490  WDFDEVICE Fdo,
3491  _In_
3492  WDFDEVICE Child
3493  )
3496  return ((PFN_WDFFDOADDSTATICCHILD) WdfVersion.Functions.pfnWdfFdoAddStaticChild)(DriverGlobals, Fdo, Child);
3497 }
3498 
3500 WDFAPI
3501 VOID
3502 VFWDFEXPORT(WdfFdoLockStaticChildListForIteration)(
3503  _In_
3505  _In_
3506  WDFDEVICE Fdo
3507  )
3508 {
3510  ((PFN_WDFFDOLOCKSTATICCHILDLISTFORITERATION) WdfVersion.Functions.pfnWdfFdoLockStaticChildListForIteration)(DriverGlobals, Fdo);
3511 }
3512 
3515 WDFAPI
3516 WDFDEVICE
3517 VFWDFEXPORT(WdfFdoRetrieveNextStaticChild)(
3518  _In_
3520  _In_
3521  WDFDEVICE Fdo,
3522  _In_opt_
3523  WDFDEVICE PreviousChild,
3524  _In_
3525  ULONG Flags
3526  )
3527 {
3529  return ((PFN_WDFFDORETRIEVENEXTSTATICCHILD) WdfVersion.Functions.pfnWdfFdoRetrieveNextStaticChild)(DriverGlobals, Fdo, PreviousChild, Flags);
3530 }
3531 
3533 WDFAPI
3534 VOID
3535 VFWDFEXPORT(WdfFdoUnlockStaticChildListFromIteration)(
3536  _In_
3538  _In_
3539  WDFDEVICE Fdo
3540  )
3541 {
3543  ((PFN_WDFFDOUNLOCKSTATICCHILDLISTFROMITERATION) WdfVersion.Functions.pfnWdfFdoUnlockStaticChildListFromIteration)(DriverGlobals, Fdo);
3544 }
3545 
3547 WDFAPI
3549 VFWDFEXPORT(WdfFileObjectGetFileName)(
3550  _In_
3552  _In_
3553  WDFFILEOBJECT FileObject
3554  )
3555 {
3557  return ((PFN_WDFFILEOBJECTGETFILENAME) WdfVersion.Functions.pfnWdfFileObjectGetFileName)(DriverGlobals, FileObject);
3558 }
3559 
3561 WDFAPI
3562 ULONG
3563 VFWDFEXPORT(WdfFileObjectGetFlags)(
3564  _In_
3566  _In_
3567  WDFFILEOBJECT FileObject
3568  )
3569 {
3571  return ((PFN_WDFFILEOBJECTGETFLAGS) WdfVersion.Functions.pfnWdfFileObjectGetFlags)(DriverGlobals, FileObject);
3572 }
3573 
3575 WDFAPI
3576 WDFDEVICE
3577 VFWDFEXPORT(WdfFileObjectGetDevice)(
3578  _In_
3580  _In_
3581  WDFFILEOBJECT FileObject
3582  )
3583 {
3585  return ((PFN_WDFFILEOBJECTGETDEVICE) WdfVersion.Functions.pfnWdfFileObjectGetDevice)(DriverGlobals, FileObject);
3586 }
3587 
3589 WDFAPI
3591 VFWDFEXPORT(WdfFileObjectWdmGetFileObject)(
3592  _In_
3594  _In_
3595  WDFFILEOBJECT FileObject
3596  )
3597 {
3599  return ((PFN_WDFFILEOBJECTWDMGETFILEOBJECT) WdfVersion.Functions.pfnWdfFileObjectWdmGetFileObject)(DriverGlobals, FileObject);
3600 }
3601 
3604 WDFAPI
3605 NTSTATUS
3606 VFWDFEXPORT(WdfInterruptCreate)(
3607  _In_
3609  _In_
3610  WDFDEVICE Device,
3611  _In_
3613  _In_opt_
3615  _Out_
3616  WDFINTERRUPT* Interrupt
3617  )
3621 }
3622 
3623 WDFAPI
3624 BOOLEAN
3626  _In_
3628  _In_
3629  WDFINTERRUPT Interrupt
3630  )
3631 {
3634 }
3635 
3636 WDFAPI
3637 BOOLEAN
3639  _In_
3641  _In_
3642  WDFINTERRUPT Interrupt
3643  )
3644 {
3647 }
3648 
3650 WDFAPI
3651 BOOLEAN
3652 VFWDFEXPORT(WdfInterruptSynchronize)(
3653  _In_
3655  _In_
3656  WDFINTERRUPT Interrupt,
3657  _In_
3659  _In_
3661  )
3662 {
3664  return ((PFN_WDFINTERRUPTSYNCHRONIZE) WdfVersion.Functions.pfnWdfInterruptSynchronize)(DriverGlobals, Interrupt, Callback, Context);
3665 }
3666 
3668 WDFAPI
3669 VOID
3670 VFWDFEXPORT(WdfInterruptAcquireLock)(
3671  _In_
3673  _In_
3675  _Acquires_lock_(_Curr_)
3676  WDFINTERRUPT Interrupt
3677  )
3678 {
3680  ((PFN_WDFINTERRUPTACQUIRELOCK) WdfVersion.Functions.pfnWdfInterruptAcquireLock)(DriverGlobals, Interrupt);
3681 }
3682 
3684 WDFAPI
3685 VOID
3686 VFWDFEXPORT(WdfInterruptReleaseLock)(
3687  _In_
3689  _In_
3691  _Releases_lock_(_Curr_)
3692  WDFINTERRUPT Interrupt
3693  )
3694 {
3696  ((PFN_WDFINTERRUPTRELEASELOCK) WdfVersion.Functions.pfnWdfInterruptReleaseLock)(DriverGlobals, Interrupt);
3697 }
3698 
3700 WDFAPI
3701 VOID
3702 VFWDFEXPORT(WdfInterruptEnable)(
3703  _In_
3705  _In_
3706  WDFINTERRUPT Interrupt
3707  )
3708 {
3710  ((PFN_WDFINTERRUPTENABLE) WdfVersion.Functions.pfnWdfInterruptEnable)(DriverGlobals, Interrupt);
3711 }
3712 
3714 WDFAPI
3715 VOID
3716 VFWDFEXPORT(WdfInterruptDisable)(
3717  _In_
3719  _In_
3720  WDFINTERRUPT Interrupt
3721  )
3722 {
3724  ((PFN_WDFINTERRUPTDISABLE) WdfVersion.Functions.pfnWdfInterruptDisable)(DriverGlobals, Interrupt);
3725 }
3726 
3728 WDFAPI
3731  _In_
3733  _In_
3734  WDFINTERRUPT Interrupt
3735  )
3736 {
3739 }
3740 
3742 WDFAPI
3743 VOID
3744 VFWDFEXPORT(WdfInterruptGetInfo)(
3745  _In_
3747  _In_
3748  WDFINTERRUPT Interrupt,
3749  _Out_
3751  )
3752 {
3754  ((PFN_WDFINTERRUPTGETINFO) WdfVersion.Functions.pfnWdfInterruptGetInfo)(DriverGlobals, Interrupt, Info);
3755 }
3756 
3758 WDFAPI
3759 VOID
3760 VFWDFEXPORT(WdfInterruptSetPolicy)(
3761  _In_
3763  _In_
3764  WDFINTERRUPT Interrupt,
3765  _In_
3767  _In_
3769  _In_
3771  )
3775 }
3776 
3778 WDFAPI
3779 VOID
3780 VFWDFEXPORT(WdfInterruptSetExtendedPolicy)(
3781  _In_
3783  _In_
3784  WDFINTERRUPT Interrupt,
3785  _In_
3787  )
3791 }
3792 
3793 WDFAPI
3794 WDFDEVICE
3796  _In_
3798  _In_
3799  WDFINTERRUPT Interrupt
3800  )
3801 {
3804 }
3805 
3807 _Post_satisfies_(return == 1 || return == 0)
3809 WDFAPI
3810 BOOLEAN
3811 VFWDFEXPORT(WdfInterruptTryToAcquireLock)(
3812  _In_
3814  _In_
3815  _Requires_lock_not_held_(_Curr_)
3817  WDFINTERRUPT Interrupt
3818  )
3819 {
3821  return ((PFN_WDFINTERRUPTTRYTOACQUIRELOCK) WdfVersion.Functions.pfnWdfInterruptTryToAcquireLock)(DriverGlobals, Interrupt);
3822 }
3823 
3825 WDFAPI
3826 VOID
3827 VFWDFEXPORT(WdfInterruptReportActive)(
3828  _In_
3830  _In_
3831  WDFINTERRUPT Interrupt
3832  )
3833 {
3835  ((PFN_WDFINTERRUPTREPORTACTIVE) WdfVersion.Functions.pfnWdfInterruptReportActive)(DriverGlobals, Interrupt);
3836 }
3837 
3839 WDFAPI
3840 VOID
3841 VFWDFEXPORT(WdfInterruptReportInactive)(
3842  _In_
3844  _In_
3845  WDFINTERRUPT Interrupt
3846  )
3847 {
3849  ((PFN_WDFINTERRUPTREPORTINACTIVE) WdfVersion.Functions.pfnWdfInterruptReportInactive)(DriverGlobals, Interrupt);
3850 }
3851 
3854 WDFAPI
3855 NTSTATUS
3856 VFWDFEXPORT(WdfIoQueueCreate)(
3857  _In_
3859  _In_
3860  WDFDEVICE Device,
3861  _In_
3863  _In_opt_
3865  _Out_opt_
3866  WDFQUEUE* Queue
3867  )
3868 {
3870  NTSTATUS status;
3871 
3874 
3876  &hookInfo,
3877  DriverGlobals,
3878  Device,
3879  Config,
3881  Queue);
3882 
3884 
3885  if (hookInfo.DonotCallKmdfLib) {
3886  return hookInfo.DdiCallStatus;
3887  }
3888 
3890 }
3891 
3893 WDFAPI
3895 VFWDFEXPORT(WdfIoQueueGetState)(
3896  _In_
3898  _In_
3899  WDFQUEUE Queue,
3900  _Out_opt_
3902  _Out_opt_
3904  )
3908 }
3909 
3911 WDFAPI
3912 VOID
3913 VFWDFEXPORT(WdfIoQueueStart)(
3914  _In_
3916  _In_
3917  WDFQUEUE Queue
3918  )
3919 {
3921  ((PFN_WDFIOQUEUESTART) WdfVersion.Functions.pfnWdfIoQueueStart)(DriverGlobals, Queue);
3922 }
3923 
3925 WDFAPI
3926 VOID
3927 VFWDFEXPORT(WdfIoQueueStop)(
3928  _In_
3930  _In_
3931  WDFQUEUE Queue,
3932  _When_(Context != 0, _In_)
3933  _When_(Context == 0, _In_opt_)
3935  _When_(StopComplete != 0, _In_)
3938  )
3939 {
3942 }
3943 
3945 WDFAPI
3946 VOID
3947 VFWDFEXPORT(WdfIoQueueStopSynchronously)(
3948  _In_
3950  _In_
3951  WDFQUEUE Queue
3952  )
3953 {
3955  ((PFN_WDFIOQUEUESTOPSYNCHRONOUSLY) WdfVersion.Functions.pfnWdfIoQueueStopSynchronously)(DriverGlobals, Queue);
3956 }
3957 
3959 WDFAPI
3960 WDFDEVICE
3961 VFWDFEXPORT(WdfIoQueueGetDevice)(
3962  _In_
3964  _In_
3965  WDFQUEUE Queue
3966  )
3967 {
3969  return ((PFN_WDFIOQUEUEGETDEVICE) WdfVersion.Functions.pfnWdfIoQueueGetDevice)(DriverGlobals, Queue);
3970 }
3971 
3974 WDFAPI
3975 NTSTATUS
3976 VFWDFEXPORT(WdfIoQueueRetrieveNextRequest)(
3977  _In_
3979  _In_
3980  WDFQUEUE Queue,
3981  _Out_
3982  WDFREQUEST* OutRequest
3983  )
3989  }
3990  return rtn;
3991 }
3992 
3995 WDFAPI
3996 NTSTATUS
3997 VFWDFEXPORT(WdfIoQueueRetrieveRequestByFileObject)(
3998  _In_
4000  _In_
4001  WDFQUEUE Queue,
4002  _In_
4003  WDFFILEOBJECT FileObject,
4004  _Out_
4005  WDFREQUEST* OutRequest
4006  )
4007 {
4010  if (rtn == STATUS_SUCCESS) {
4012  }
4013  return rtn;
4014 }
4015 
4018 WDFAPI
4019 NTSTATUS
4020 VFWDFEXPORT(WdfIoQueueFindRequest)(
4021  _In_
4023  _In_
4024  WDFQUEUE Queue,
4025  _In_opt_
4026  WDFREQUEST FoundRequest,
4027  _In_opt_
4028  WDFFILEOBJECT FileObject,
4029  _Inout_opt_
4031  _Out_
4032  WDFREQUEST* OutRequest
4033  )
4034 {
4037 }
4038 
4041 WDFAPI
4042 NTSTATUS
4043 VFWDFEXPORT(WdfIoQueueRetrieveFoundRequest)(
4044  _In_
4046  _In_
4047  WDFQUEUE Queue,
4048  _In_
4049  WDFREQUEST FoundRequest,
4050  _Out_
4051  WDFREQUEST* OutRequest
4052  )
4053 {
4056  if (rtn == STATUS_SUCCESS) {
4058  }
4059  return rtn;
4060 }
4061 
4063 WDFAPI
4064 VOID
4065 VFWDFEXPORT(WdfIoQueueDrainSynchronously)(
4066  _In_
4068  _In_
4069  WDFQUEUE Queue
4070  )
4071 {
4073  ((PFN_WDFIOQUEUEDRAINSYNCHRONOUSLY) WdfVersion.Functions.pfnWdfIoQueueDrainSynchronously)(DriverGlobals, Queue);
4074 }
4075 
4077 WDFAPI
4078 VOID
4079 VFWDFEXPORT(WdfIoQueueDrain)(
4080  _In_
4082  _In_
4083  WDFQUEUE Queue,
4084  _When_(Context != 0, _In_)
4085  _When_(Context == 0, _In_opt_)
4087  _When_(DrainComplete != 0, _In_)
4090  )
4091 {
4094 }
4095 
4097 WDFAPI
4098 VOID
4099 VFWDFEXPORT(WdfIoQueuePurgeSynchronously)(
4100  _In_
4102  _In_
4103  WDFQUEUE Queue
4104  )
4105 {
4107  ((PFN_WDFIOQUEUEPURGESYNCHRONOUSLY) WdfVersion.Functions.pfnWdfIoQueuePurgeSynchronously)(DriverGlobals, Queue);
4108 }
4109 
4111 WDFAPI
4112 VOID
4113 VFWDFEXPORT(WdfIoQueuePurge)(
4114  _In_
4116  _In_
4117  WDFQUEUE Queue,
4118  _When_(Context != 0, _In_)
4119  _When_(Context == 0, _In_opt_)
4121  _When_(PurgeComplete != 0, _In_)
4124  )
4125 {
4128 }
4129 
4132 WDFAPI
4133 NTSTATUS
4134 VFWDFEXPORT(WdfIoQueueReadyNotify)(
4135  _In_
4137  _In_
4138  WDFQUEUE Queue,
4139  _In_opt_
4141  _In_opt_
4143  )
4144 {
4146  return ((PFN_WDFIOQUEUEREADYNOTIFY) WdfVersion.Functions.pfnWdfIoQueueReadyNotify)(DriverGlobals, Queue, QueueReady, Context);
4147 }
4148 
4151 WDFAPI
4152 NTSTATUS
4153 VFWDFEXPORT(WdfIoQueueAssignForwardProgressPolicy)(
4154  _In_
4156  _In_
4157  WDFQUEUE Queue,
4158  _In_
4160  )
4163  return ((PFN_WDFIOQUEUEASSIGNFORWARDPROGRESSPOLICY) WdfVersion.Functions.pfnWdfIoQueueAssignForwardProgressPolicy)(DriverGlobals, Queue, ForwardProgressPolicy);
4164 }
4165 
4167 WDFAPI
4168 VOID
4169 VFWDFEXPORT(WdfIoQueueStopAndPurge)(
4170  _In_
4172  _In_
4173  WDFQUEUE Queue,
4174  _When_(Context != 0, _In_)
4175  _When_(Context == 0, _In_opt_)
4180  )
4181 {
4184 }
4185 
4187 WDFAPI
4188 VOID
4189 VFWDFEXPORT(WdfIoQueueStopAndPurgeSynchronously)(
4190  _In_
4192  _In_
4193  WDFQUEUE Queue
4194  )
4195 {
4197  ((PFN_WDFIOQUEUESTOPANDPURGESYNCHRONOUSLY) WdfVersion.Functions.pfnWdfIoQueueStopAndPurgeSynchronously)(DriverGlobals, Queue);
4198 }
4199 
4202 WDFAPI
4203 NTSTATUS
4204 VFWDFEXPORT(WdfIoTargetCreate)(
4205  _In_
4207  _In_
4208  WDFDEVICE Device,
4209  _In_opt_
4211  _Out_
4212  WDFIOTARGET* IoTarget
4213  )
4217 }
4218 
4221 WDFAPI
4222 NTSTATUS
4223 VFWDFEXPORT(WdfIoTargetOpen)(
4224  _In_
4226  _In_
4227  WDFIOTARGET IoTarget,
4228  _In_
4230  )
4233  return ((PFN_WDFIOTARGETOPEN) WdfVersion.Functions.pfnWdfIoTargetOpen)(DriverGlobals, IoTarget, OpenParams);
4234 }
4235 
4237 WDFAPI
4238 VOID
4239 VFWDFEXPORT(WdfIoTargetCloseForQueryRemove)(
4240  _In_
4242  _In_
4243  WDFIOTARGET IoTarget
4244  )
4245 {
4247  ((PFN_WDFIOTARGETCLOSEFORQUERYREMOVE) WdfVersion.Functions.pfnWdfIoTargetCloseForQueryRemove)(DriverGlobals, IoTarget);
4248 }
4249 
4251 WDFAPI
4252 VOID
4253 VFWDFEXPORT(WdfIoTargetClose)(
4254  _In_
4256  _In_
4257  WDFIOTARGET IoTarget
4258  )
4259 {
4261  ((PFN_WDFIOTARGETCLOSE) WdfVersion.Functions.pfnWdfIoTargetClose)(DriverGlobals, IoTarget);
4262 }
4263 
4266 WDFAPI
4267 NTSTATUS
4268 VFWDFEXPORT(WdfIoTargetStart)(
4269  _In_
4271  _In_
4272  WDFIOTARGET IoTarget
4273  )
4274 {
4276  return ((PFN_WDFIOTARGETSTART) WdfVersion.Functions.pfnWdfIoTargetStart)(DriverGlobals, IoTarget);
4277 }
4278 
4281 WDFAPI
4282 VOID
4283 VFWDFEXPORT(WdfIoTargetStop)(
4284  _In_
4286  _In_
4287  WDFIOTARGET IoTarget,
4288  _In_
4291  )
4295 }
4296 
4299 WDFAPI
4300 VOID
4301 VFWDFEXPORT(WdfIoTargetPurge)(
4302  _In_
4304  _In_
4305  WDFIOTARGET IoTarget,
4306  _In_
4309  )
4310 {
4313 }
4314 
4316 WDFAPI
4318 VFWDFEXPORT(WdfIoTargetGetState)(
4319  _In_
4321  _In_
4322  WDFIOTARGET IoTarget
4323  )
4324 {
4326  return ((PFN_WDFIOTARGETGETSTATE) WdfVersion.Functions.pfnWdfIoTargetGetState)(DriverGlobals, IoTarget);
4327 }
4328 
4330 WDFAPI
4331 WDFDEVICE
4332 VFWDFEXPORT(WdfIoTargetGetDevice)(
4333  _In_
4335  _In_
4336  WDFIOTARGET IoTarget
4337  )
4338 {
4340  return ((PFN_WDFIOTARGETGETDEVICE) WdfVersion.Functions.pfnWdfIoTargetGetDevice)(DriverGlobals, IoTarget);
4341 }
4342 
4345 WDFAPI
4346 NTSTATUS
4347 VFWDFEXPORT(WdfIoTargetQueryTargetProperty)(
4348  _In_
4350  _In_
4351  WDFIOTARGET IoTarget,
4352  _In_
4354  _In_
4361  )
4362 {
4364 #pragma prefast(suppress: __WARNING_HIGH_PRIORITY_OVERFLOW_POSTCONDITION, "This is a verifier DDI hook routine and all it does is call original routine.")
4366 }
4367 
4370 WDFAPI
4371 NTSTATUS
4372 VFWDFEXPORT(WdfIoTargetAllocAndQueryTargetProperty)(
4373  _In_
4375  _In_
4376  WDFIOTARGET IoTarget,
4377  _In_
4379  _In_
4382  _In_opt_
4384  _Out_
4385  WDFMEMORY* PropertyMemory
4386  )
4387 {
4390 }
4391 
4394 WDFAPI
4395 NTSTATUS
4396 VFWDFEXPORT(WdfIoTargetQueryForInterface)(
4397  _In_
4399  _In_
4400  WDFIOTARGET IoTarget,
4401  _In_
4403  _Out_
4405  _In_
4406  USHORT Size,
4407  _In_
4408  USHORT Version,
4409  _In_opt_
4411  )
4412 {
4415 }
4416 
4418 WDFAPI
4420 VFWDFEXPORT(WdfIoTargetWdmGetTargetDeviceObject)(
4421  _In_
4423  _In_
4424  WDFIOTARGET IoTarget
4425  )
4426 {
4428  return ((PFN_WDFIOTARGETWDMGETTARGETDEVICEOBJECT) WdfVersion.Functions.pfnWdfIoTargetWdmGetTargetDeviceObject)(DriverGlobals, IoTarget);
4429 }
4430 
4432 WDFAPI
4434 VFWDFEXPORT(WdfIoTargetWdmGetTargetPhysicalDevice)(
4435  _In_
4437  _In_
4438  WDFIOTARGET IoTarget
4439  )
4440 {
4442  return ((PFN_WDFIOTARGETWDMGETTARGETPHYSICALDEVICE) WdfVersion.Functions.pfnWdfIoTargetWdmGetTargetPhysicalDevice)(DriverGlobals, IoTarget);
4443 }
4444 
4446 WDFAPI
4448 VFWDFEXPORT(WdfIoTargetWdmGetTargetFileObject)(
4449  _In_
4451  _In_
4452  WDFIOTARGET IoTarget
4453  )
4454 {
4456  return ((PFN_WDFIOTARGETWDMGETTARGETFILEOBJECT) WdfVersion.Functions.pfnWdfIoTargetWdmGetTargetFileObject)(DriverGlobals, IoTarget);
4457 }
4458 
4460 WDFAPI
4461 HANDLE
4462 VFWDFEXPORT(WdfIoTargetWdmGetTargetFileHandle)(
4463  _In_
4465  _In_
4466  WDFIOTARGET IoTarget
4467  )
4468 {
4470  return ((PFN_WDFIOTARGETWDMGETTARGETFILEHANDLE) WdfVersion.Functions.pfnWdfIoTargetWdmGetTargetFileHandle)(DriverGlobals, IoTarget);
4471 }
4472 
4475 WDFAPI
4476 NTSTATUS
4477 VFWDFEXPORT(WdfIoTargetSendReadSynchronously)(
4478  _In_
4480  _In_
4481  WDFIOTARGET IoTarget,
4482  _In_opt_
4483  WDFREQUEST Request,
4484  _In_opt_
4486  _In_opt_
4488  _In_opt_
4490  _Out_opt_
4492  )
4496 }
4497 
4500 WDFAPI
4501 NTSTATUS
4502 VFWDFEXPORT(WdfIoTargetFormatRequestForRead)(
4503  _In_
4505  _In_
4506  WDFIOTARGET IoTarget,
4507  _In_
4508  WDFREQUEST Request,
4509  _In_opt_
4510  WDFMEMORY OutputBuffer,
4511  _In_opt_
4513  _In_opt_
4515  )
4516 {
4519 }
4520 
4523 WDFAPI
4524 NTSTATUS
4525 VFWDFEXPORT(WdfIoTargetSendWriteSynchronously)(
4526  _In_
4528  _In_
4529  WDFIOTARGET IoTarget,
4530  _In_opt_
4531  WDFREQUEST Request,
4532  _In_opt_
4534  _In_opt_
4536  _In_opt_
4538  _Out_opt_
4540  )
4544 }
4545 
4548 WDFAPI
4549 NTSTATUS
4550 VFWDFEXPORT(WdfIoTargetFormatRequestForWrite)(
4551  _In_
4553  _In_
4554  WDFIOTARGET IoTarget,
4555  _In_
4556  WDFREQUEST Request,
4557  _In_opt_
4558  WDFMEMORY InputBuffer,
4559  _In_opt_
4561  _In_opt_
4563  )
4564 {
4567 }
4568 
4570 <