ReactOS 0.4.16-dev-91-g764881a
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 kernel mode only
10
11--*/
12
13
14extern "C" {
15#include <ntddk.h>
16}
17#include "vfpriv.hpp"
18
19
20extern "C" {
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
475WDFAPI
477VFWDFEXPORT(WdfChildListCreate)(
478 _In_
480 _In_
481 WDFDEVICE Device,
482 _In_
486 _Out_
487 WDFCHILDLIST* ChildList
488 )
489{
492}
493
495WDFAPI
496WDFDEVICE
497VFWDFEXPORT(WdfChildListGetDevice)(
498 _In_
500 _In_
501 WDFCHILDLIST ChildList
502 )
503{
506}
507
510WDFAPI
511WDFDEVICE
512VFWDFEXPORT(WdfChildListRetrievePdo)(
513 _In_
515 _In_
516 WDFCHILDLIST ChildList,
517 _Inout_
519 )
520{
523}
524
527WDFAPI
529VFWDFEXPORT(WdfChildListRetrieveAddressDescription)(
530 _In_
532 _In_
533 WDFCHILDLIST ChildList,
534 _In_
536 _Inout_
538 )
539{
542}
543
545WDFAPI
546VOID
547VFWDFEXPORT(WdfChildListBeginScan)(
548 _In_
550 _In_
551 WDFCHILDLIST ChildList
552 )
553{
556}
557
559WDFAPI
560VOID
561VFWDFEXPORT(WdfChildListEndScan)(
562 _In_
564 _In_
565 WDFCHILDLIST ChildList
566 )
567{
570}
571
573WDFAPI
574VOID
575VFWDFEXPORT(WdfChildListBeginIteration)(
576 _In_
578 _In_
579 WDFCHILDLIST ChildList,
580 _In_
582 )
583{
586}
587
590WDFAPI
592VFWDFEXPORT(WdfChildListRetrieveNextDevice)(
593 _In_
595 _In_
596 WDFCHILDLIST ChildList,
597 _In_
599 _Out_
600 WDFDEVICE* Device,
603 )
604{
607}
608
610WDFAPI
611VOID
612VFWDFEXPORT(WdfChildListEndIteration)(
613 _In_
615 _In_
616 WDFCHILDLIST ChildList,
617 _In_
619 )
620{
623}
624
627WDFAPI
629VFWDFEXPORT(WdfChildListAddOrUpdateChildDescriptionAsPresent)(
630 _In_
632 _In_
633 WDFCHILDLIST ChildList,
634 _In_
638 )
639{
642}
643
646WDFAPI
648VFWDFEXPORT(WdfChildListUpdateChildDescriptionAsMissing)(
649 _In_
651 _In_
652 WDFCHILDLIST ChildList,
653 _In_
655 )
656{
659}
660
662WDFAPI
663VOID
664VFWDFEXPORT(WdfChildListUpdateAllChildDescriptionsAsPresent)(
665 _In_
667 _In_
668 WDFCHILDLIST ChildList
669 )
670{
672 ((PFN_WDFCHILDLISTUPDATEALLCHILDDESCRIPTIONSASPRESENT) WdfVersion.Functions.pfnWdfChildListUpdateAllChildDescriptionsAsPresent)(DriverGlobals, ChildList);
673}
674
676WDFAPI
678VFWDFEXPORT(WdfChildListRequestChildEject)(
679 _In_
681 _In_
682 WDFCHILDLIST ChildList,
683 _In_
685 )
686{
689}
690
693WDFAPI
695VFWDFEXPORT(WdfCollectionCreate)(
696 _In_
700 _Out_
701 WDFCOLLECTION* Collection
702 )
703{
706}
707
709WDFAPI
710ULONG
711VFWDFEXPORT(WdfCollectionGetCount)(
712 _In_
714 _In_
715 WDFCOLLECTION Collection
716 )
717{
720}
721
724WDFAPI
726VFWDFEXPORT(WdfCollectionAdd)(
727 _In_
729 _In_
730 WDFCOLLECTION Collection,
731 _In_
733 )
734{
737}
738
740WDFAPI
741VOID
742VFWDFEXPORT(WdfCollectionRemove)(
743 _In_
745 _In_
746 WDFCOLLECTION Collection,
747 _In_
749 )
750{
753}
754
756WDFAPI
757VOID
758VFWDFEXPORT(WdfCollectionRemoveItem)(
759 _In_
761 _In_
762 WDFCOLLECTION Collection,
763 _In_
765 )
766{
769}
770
772WDFAPI
774VFWDFEXPORT(WdfCollectionGetItem)(
775 _In_
777 _In_
778 WDFCOLLECTION Collection,
779 _In_
781 )
782{
785}
786
788WDFAPI
790VFWDFEXPORT(WdfCollectionGetFirstItem)(
791 _In_
793 _In_
794 WDFCOLLECTION Collection
795 )
796{
799}
800
802WDFAPI
804VFWDFEXPORT(WdfCollectionGetLastItem)(
805 _In_
807 _In_
808 WDFCOLLECTION Collection
809 )
810{
813}
814
817WDFAPI
819VFWDFEXPORT(WdfCommonBufferCreate)(
820 _In_
822 _In_
823 WDFDMAENABLER DmaEnabler,
824 _In_
825 _When_(Length == 0, __drv_reportError(Length cannot be zero))
826 size_t Length,
829 _Out_
830 WDFCOMMONBUFFER* CommonBuffer
831 )
832{
835}
836
839WDFAPI
841VFWDFEXPORT(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_
853 _Out_
854 WDFCOMMONBUFFER* CommonBuffer
855 )
856{
859}
860
862WDFAPI
863PVOID
864VFWDFEXPORT(WdfCommonBufferGetAlignedVirtualAddress)(
865 _In_
867 _In_
868 WDFCOMMONBUFFER CommonBuffer
869 )
870{
872 return ((PFN_WDFCOMMONBUFFERGETALIGNEDVIRTUALADDRESS) WdfVersion.Functions.pfnWdfCommonBufferGetAlignedVirtualAddress)(DriverGlobals, CommonBuffer);
873}
874
876WDFAPI
878VFWDFEXPORT(WdfCommonBufferGetAlignedLogicalAddress)(
879 _In_
881 _In_
882 WDFCOMMONBUFFER CommonBuffer
883 )
884{
886 return ((PFN_WDFCOMMONBUFFERGETALIGNEDLOGICALADDRESS) WdfVersion.Functions.pfnWdfCommonBufferGetAlignedLogicalAddress)(DriverGlobals, CommonBuffer);
887}
888
890WDFAPI
891size_t
892VFWDFEXPORT(WdfCommonBufferGetLength)(
893 _In_
895 _In_
896 WDFCOMMONBUFFER CommonBuffer
897 )
898{
901}
902
905WDFAPI
907VFWDFEXPORT(WdfControlDeviceInitAllocate)(
908 _In_
910 _In_
911 WDFDRIVER Driver,
912 _In_
914 )
915{
918}
919
921WDFAPI
922VOID
923VFWDFEXPORT(WdfControlDeviceInitSetShutdownNotification)(
924 _In_
926 _In_
928 _In_
930 _In_
932 )
933{
936}
937
939WDFAPI
940VOID
941VFWDFEXPORT(WdfControlFinishInitializing)(
942 _In_
944 _In_
945 WDFDEVICE Device
946 )
947{
950}
951
954WDFAPI
956VFWDFEXPORT(WdfCxDeviceInitAllocate)(
957 _In_
959 _In_
961 )
962{
965}
966
969WDFAPI
971VFWDFEXPORT(WdfCxDeviceInitAssignWdmIrpPreprocessCallback)(
972 _In_
974 _In_
976 _In_
978 _In_
983 _In_
985 )
986{
989}
990
992WDFAPI
993VOID
994VFWDFEXPORT(WdfCxDeviceInitSetIoInCallerContextCallback)(
995 _In_
997 _In_
999 _In_
1001 )
1002{
1005}
1006
1008WDFAPI
1009VOID
1010VFWDFEXPORT(WdfCxDeviceInitSetRequestAttributes)(
1011 _In_
1013 _In_
1015 _In_
1017 )
1018{
1021}
1022
1024WDFAPI
1025VOID
1026VFWDFEXPORT(WdfCxDeviceInitSetFileObjectConfig)(
1027 _In_
1029 _In_
1031 _In_
1033 _In_opt_
1035 )
1036{
1039}
1040
1041WDFAPI
1042VOID
1044 _In_
1046 _In_opt_
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
1065WDFAPI
1066VOID
1067VFWDFEXPORT(WdfDeviceGetDeviceState)(
1068 _In_
1070 _In_
1071 WDFDEVICE Device,
1072 _Out_
1074 )
1075{
1078}
1079
1081WDFAPI
1082VOID
1083VFWDFEXPORT(WdfDeviceSetDeviceState)(
1084 _In_
1086 _In_
1087 WDFDEVICE Device,
1088 _In_
1090 )
1091{
1094}
1095
1097WDFAPI
1098WDFDEVICE
1099VFWDFEXPORT(WdfWdmDeviceGetWdfDeviceHandle)(
1100 _In_
1102 _In_
1104 )
1105{
1108}
1109
1111WDFAPI
1113VFWDFEXPORT(WdfDeviceWdmGetDeviceObject)(
1114 _In_
1116 _In_
1117 WDFDEVICE Device
1118 )
1119{
1121 return ((PFN_WDFDEVICEWDMGETDEVICEOBJECT) WdfVersion.Functions.pfnWdfDeviceWdmGetDeviceObject)(DriverGlobals, Device);
1122}
1123
1125WDFAPI
1127VFWDFEXPORT(WdfDeviceWdmGetAttachedDevice)(
1128 _In_
1130 _In_
1131 WDFDEVICE Device
1132 )
1133{
1135 return ((PFN_WDFDEVICEWDMGETATTACHEDDEVICE) WdfVersion.Functions.pfnWdfDeviceWdmGetAttachedDevice)(DriverGlobals, Device);
1136}
1137
1139WDFAPI
1141VFWDFEXPORT(WdfDeviceWdmGetPhysicalDevice)(
1142 _In_
1144 _In_
1145 WDFDEVICE Device
1146 )
1147{
1149 return ((PFN_WDFDEVICEWDMGETPHYSICALDEVICE) WdfVersion.Functions.pfnWdfDeviceWdmGetPhysicalDevice)(DriverGlobals, Device);
1150}
1151
1154WDFAPI
1156VFWDFEXPORT(WdfDeviceWdmDispatchPreprocessedIrp)(
1157 _In_
1159 _In_
1160 WDFDEVICE Device,
1161 _In_
1163 )
1164{
1166 return ((PFN_WDFDEVICEWDMDISPATCHPREPROCESSEDIRP) WdfVersion.Functions.pfnWdfDeviceWdmDispatchPreprocessedIrp)(DriverGlobals, Device, Irp);
1167}
1168
1171WDFAPI
1173VFWDFEXPORT(WdfDeviceWdmDispatchIrp)(
1174 _In_
1176 _In_
1177 WDFDEVICE Device,
1178 _In_
1179 PIRP Irp,
1180 _In_
1182 )
1183{
1186}
1187
1190WDFAPI
1192VFWDFEXPORT(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
1211WDFAPI
1213VFWDFEXPORT(WdfDeviceAddDependentUsageDeviceObject)(
1214 _In_
1216 _In_
1217 WDFDEVICE Device,
1218 _In_
1220 )
1221{
1224}
1225
1227WDFAPI
1228VOID
1229VFWDFEXPORT(WdfDeviceRemoveDependentUsageDeviceObject)(
1230 _In_
1232 _In_
1233 WDFDEVICE Device,
1234 _In_
1236 )
1237{
1240}
1241
1244WDFAPI
1246VFWDFEXPORT(WdfDeviceAddRemovalRelationsPhysicalDevice)(
1247 _In_
1249 _In_
1250 WDFDEVICE Device,
1251 _In_
1253 )
1254{
1256 return ((PFN_WDFDEVICEADDREMOVALRELATIONSPHYSICALDEVICE) WdfVersion.Functions.pfnWdfDeviceAddRemovalRelationsPhysicalDevice)(DriverGlobals, Device, PhysicalDevice);
1257}
1258
1260WDFAPI
1261VOID
1262VFWDFEXPORT(WdfDeviceRemoveRemovalRelationsPhysicalDevice)(
1263 _In_
1265 _In_
1266 WDFDEVICE Device,
1267 _In_
1269 )
1270{
1273}
1274
1276WDFAPI
1277VOID
1278VFWDFEXPORT(WdfDeviceClearRemovalRelationsDevices)(
1279 _In_
1281 _In_
1282 WDFDEVICE Device
1283 )
1284{
1287}
1288
1290WDFAPI
1291WDFDRIVER
1292VFWDFEXPORT(WdfDeviceGetDriver)(
1293 _In_
1295 _In_
1296 WDFDEVICE Device
1297 )
1298{
1301}
1302
1305WDFAPI
1307VFWDFEXPORT(WdfDeviceRetrieveDeviceName)(
1308 _In_
1310 _In_
1311 WDFDEVICE Device,
1312 _In_
1313 WDFSTRING String
1314 )
1315{
1317 return ((PFN_WDFDEVICERETRIEVEDEVICENAME) WdfVersion.Functions.pfnWdfDeviceRetrieveDeviceName)(DriverGlobals, Device, String);
1318}
1319
1322WDFAPI
1324VFWDFEXPORT(WdfDeviceAssignMofResourceName)(
1325 _In_
1327 _In_
1328 WDFDEVICE Device,
1329 _In_
1331 )
1332{
1335}
1336
1338WDFAPI
1339WDFIOTARGET
1340VFWDFEXPORT(WdfDeviceGetIoTarget)(
1341 _In_
1343 _In_
1344 WDFDEVICE Device
1345 )
1346{
1348 return ((PFN_WDFDEVICEGETIOTARGET) WdfVersion.Functions.pfnWdfDeviceGetIoTarget)(DriverGlobals, Device);
1349}
1350
1352WDFAPI
1354VFWDFEXPORT(WdfDeviceGetDevicePnpState)(
1355 _In_
1357 _In_
1358 WDFDEVICE Device
1359 )
1360{
1362 return ((PFN_WDFDEVICEGETDEVICEPNPSTATE) WdfVersion.Functions.pfnWdfDeviceGetDevicePnpState)(DriverGlobals, Device);
1363}
1364
1366WDFAPI
1368VFWDFEXPORT(WdfDeviceGetDevicePowerState)(
1369 _In_
1371 _In_
1372 WDFDEVICE Device
1373 )
1374{
1376 return ((PFN_WDFDEVICEGETDEVICEPOWERSTATE) WdfVersion.Functions.pfnWdfDeviceGetDevicePowerState)(DriverGlobals, Device);
1377}
1378
1380WDFAPI
1382VFWDFEXPORT(WdfDeviceGetDevicePowerPolicyState)(
1383 _In_
1385 _In_
1386 WDFDEVICE Device
1387 )
1388{
1390 return ((PFN_WDFDEVICEGETDEVICEPOWERPOLICYSTATE) WdfVersion.Functions.pfnWdfDeviceGetDevicePowerPolicyState)(DriverGlobals, Device);
1391}
1392
1395WDFAPI
1397VFWDFEXPORT(WdfDeviceAssignS0IdleSettings)(
1398 _In_
1400 _In_
1401 WDFDEVICE Device,
1402 _In_
1404 )
1405{
1408}
1409
1412WDFAPI
1414VFWDFEXPORT(WdfDeviceAssignSxWakeSettings)(
1415 _In_
1417 _In_
1418 WDFDEVICE Device,
1419 _In_
1421 )
1422{
1425}
1426
1429WDFAPI
1431VFWDFEXPORT(WdfDeviceOpenRegistryKey)(
1432 _In_
1434 _In_
1435 WDFDEVICE Device,
1436 _In_
1438 _In_
1440 _In_opt_
1442 _Out_
1443 WDFKEY* Key
1444 )
1445{
1448}
1449
1452WDFAPI
1454VFWDFEXPORT(WdfDeviceOpenDevicemapKey)(
1455 _In_
1457 _In_
1458 WDFDEVICE Device,
1459 _In_
1461 _In_
1463 _In_opt_
1465 _Out_
1466 WDFKEY* Key
1467 )
1468{
1471}
1472
1474WDFAPI
1475VOID
1476VFWDFEXPORT(WdfDeviceSetSpecialFileSupport)(
1477 _In_
1479 _In_
1480 WDFDEVICE Device,
1481 _In_
1483 _In_
1485 )
1486{
1489}
1490
1492WDFAPI
1493VOID
1494VFWDFEXPORT(WdfDeviceSetCharacteristics)(
1495 _In_
1497 _In_
1498 WDFDEVICE Device,
1499 _In_
1501 )
1502{
1505}
1506
1508WDFAPI
1509ULONG
1510VFWDFEXPORT(WdfDeviceGetCharacteristics)(
1511 _In_
1513 _In_
1514 WDFDEVICE Device
1515 )
1516{
1518 return ((PFN_WDFDEVICEGETCHARACTERISTICS) WdfVersion.Functions.pfnWdfDeviceGetCharacteristics)(DriverGlobals, Device);
1519}
1520
1522WDFAPI
1523ULONG
1524VFWDFEXPORT(WdfDeviceGetAlignmentRequirement)(
1525 _In_
1527 _In_
1528 WDFDEVICE Device
1529 )
1530{
1532 return ((PFN_WDFDEVICEGETALIGNMENTREQUIREMENT) WdfVersion.Functions.pfnWdfDeviceGetAlignmentRequirement)(DriverGlobals, Device);
1533}
1534
1536WDFAPI
1537VOID
1538VFWDFEXPORT(WdfDeviceSetAlignmentRequirement)(
1539 _In_
1541 _In_
1542 WDFDEVICE Device,
1543 _In_
1545 )
1546{
1549}
1550
1552WDFAPI
1553VOID
1554VFWDFEXPORT(WdfDeviceInitFree)(
1555 _In_
1557 _In_
1559 )
1560{
1563}
1564
1566WDFAPI
1567VOID
1568VFWDFEXPORT(WdfDeviceInitSetPnpPowerEventCallbacks)(
1569 _In_
1571 _In_
1573 _In_
1575 )
1576{
1579}
1580
1582WDFAPI
1583VOID
1584VFWDFEXPORT(WdfDeviceInitSetPowerPolicyEventCallbacks)(
1585 _In_
1587 _In_
1589 _In_
1591 )
1592{
1595}
1596
1598WDFAPI
1599VOID
1600VFWDFEXPORT(WdfDeviceInitSetPowerPolicyOwnership)(
1601 _In_
1603 _In_
1605 _In_
1607 )
1608{
1611}
1612
1615WDFAPI
1617VFWDFEXPORT(WdfDeviceInitRegisterPnpStateChangeCallback)(
1618 _In_
1620 _In_
1622 _In_
1624 _In_
1626 _In_
1628 )
1629{
1632}
1633
1636WDFAPI
1638VFWDFEXPORT(WdfDeviceInitRegisterPowerStateChangeCallback)(
1639 _In_
1641 _In_
1643 _In_
1645 _In_
1647 _In_
1649 )
1650{
1653}
1654
1657WDFAPI
1659VFWDFEXPORT(WdfDeviceInitRegisterPowerPolicyStateChangeCallback)(
1660 _In_
1662 _In_
1664 _In_
1666 _In_
1668 _In_
1670 )
1671{
1674}
1675
1677WDFAPI
1678VOID
1679VFWDFEXPORT(WdfDeviceInitSetExclusive)(
1680 _In_
1682 _In_
1684 _In_
1686 )
1687{
1690}
1691
1693WDFAPI
1694VOID
1695VFWDFEXPORT(WdfDeviceInitSetIoType)(
1696 _In_
1698 _In_
1700 _In_
1702 )
1703{
1706}
1707
1709WDFAPI
1710VOID
1711VFWDFEXPORT(WdfDeviceInitSetPowerNotPageable)(
1712 _In_
1714 _In_
1716 )
1717{
1720}
1721
1723WDFAPI
1724VOID
1725VFWDFEXPORT(WdfDeviceInitSetPowerPageable)(
1726 _In_
1728 _In_
1730 )
1731{
1734}
1735
1737WDFAPI
1738VOID
1739VFWDFEXPORT(WdfDeviceInitSetPowerInrush)(
1740 _In_
1742 _In_
1744 )
1745{
1748}
1749
1751WDFAPI
1752VOID
1753VFWDFEXPORT(WdfDeviceInitSetDeviceType)(
1754 _In_
1756 _In_
1758 _In_
1760 )
1761{
1764}
1765
1768WDFAPI
1770VFWDFEXPORT(WdfDeviceInitAssignName)(
1771 _In_
1773 _In_
1775 _In_opt_
1777 )
1778{
1781}
1782
1785WDFAPI
1787VFWDFEXPORT(WdfDeviceInitAssignSDDLString)(
1788 _In_
1790 _In_
1792 _In_opt_
1794 )
1795{
1798}
1799
1801WDFAPI
1802VOID
1803VFWDFEXPORT(WdfDeviceInitSetDeviceClass)(
1804 _In_
1806 _In_
1808 _In_
1810 )
1811{
1814}
1815
1817WDFAPI
1818VOID
1819VFWDFEXPORT(WdfDeviceInitSetCharacteristics)(
1820 _In_
1822 _In_
1824 _In_
1826 _In_
1828 )
1829{
1832}
1833
1835WDFAPI
1836VOID
1837VFWDFEXPORT(WdfDeviceInitSetFileObjectConfig)(
1838 _In_
1840 _In_
1842 _In_
1844 _In_opt_
1846 )
1847{
1850}
1851
1853WDFAPI
1854VOID
1855VFWDFEXPORT(WdfDeviceInitSetRequestAttributes)(
1856 _In_
1858 _In_
1860 _In_
1862 )
1863{
1866}
1867
1870WDFAPI
1872VFWDFEXPORT(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
1894WDFAPI
1895VOID
1896VFWDFEXPORT(WdfDeviceInitSetIoInCallerContextCallback)(
1897 _In_
1899 _In_
1901 _In_
1903 )
1904{
1907}
1908
1910WDFAPI
1911VOID
1912VFWDFEXPORT(WdfDeviceInitSetRemoveLockOptions)(
1913 _In_
1915 _In_
1917 _In_
1919 )
1920{
1923}
1924
1927WDFAPI
1929VFWDFEXPORT(WdfDeviceCreate)(
1930 _In_
1932 _Inout_
1934 _In_opt_
1936 _Out_
1937 WDFDEVICE* Device
1938 )
1939{
1942
1945
1947 &hookInfo,
1949 DeviceInit,
1951 Device);
1952
1954
1955 if (hookInfo.DonotCallKmdfLib) {
1956 return hookInfo.DdiCallStatus;
1957 }
1958
1960}
1961
1963WDFAPI
1964VOID
1965VFWDFEXPORT(WdfDeviceSetStaticStopRemove)(
1966 _In_
1968 _In_
1969 WDFDEVICE Device,
1970 _In_
1972 )
1973{
1976}
1977
1980WDFAPI
1982VFWDFEXPORT(WdfDeviceCreateDeviceInterface)(
1983 _In_
1985 _In_
1986 WDFDEVICE Device,
1987 _In_
1989 _In_opt_
1991 )
1992{
1995}
1996
1998WDFAPI
1999VOID
2000VFWDFEXPORT(WdfDeviceSetDeviceInterfaceState)(
2001 _In_
2003 _In_
2004 WDFDEVICE Device,
2005 _In_
2007 _In_opt_
2009 _In_
2011 )
2012{
2015}
2016
2019WDFAPI
2021VFWDFEXPORT(WdfDeviceRetrieveDeviceInterfaceString)(
2022 _In_
2024 _In_
2025 WDFDEVICE Device,
2026 _In_
2028 _In_opt_
2030 _In_
2031 WDFSTRING String
2032 )
2033{
2036}
2037
2040WDFAPI
2042VFWDFEXPORT(WdfDeviceCreateSymbolicLink)(
2043 _In_
2045 _In_
2046 WDFDEVICE Device,
2047 _In_
2049 )
2050{
2053}
2054
2057WDFAPI
2059VFWDFEXPORT(WdfDeviceQueryProperty)(
2060 _In_
2062 _In_
2063 WDFDEVICE Device,
2064 _In_
2066 _In_
2070 _Out_
2072 )
2073{
2076}
2077
2080WDFAPI
2082VFWDFEXPORT(WdfDeviceAllocAndQueryProperty)(
2083 _In_
2085 _In_
2086 WDFDEVICE Device,
2087 _In_
2089 _In_
2092 _In_opt_
2094 _Out_
2096 )
2097{
2100}
2101
2103WDFAPI
2104VOID
2105VFWDFEXPORT(WdfDeviceSetPnpCapabilities)(
2106 _In_
2108 _In_
2109 WDFDEVICE Device,
2110 _In_
2112 )
2113{
2116}
2117
2119WDFAPI
2120VOID
2121VFWDFEXPORT(WdfDeviceSetPowerCapabilities)(
2122 _In_
2124 _In_
2125 WDFDEVICE Device,
2126 _In_
2128 )
2129{
2132}
2133
2135WDFAPI
2136VOID
2137VFWDFEXPORT(WdfDeviceSetBusInformationForChildren)(
2138 _In_
2140 _In_
2141 WDFDEVICE Device,
2142 _In_
2144 )
2145{
2148}
2149
2152WDFAPI
2154VFWDFEXPORT(WdfDeviceIndicateWakeStatus)(
2155 _In_
2157 _In_
2158 WDFDEVICE Device,
2159 _In_
2161 )
2162{
2165}
2166
2168WDFAPI
2169VOID
2170VFWDFEXPORT(WdfDeviceSetFailed)(
2171 _In_
2173 _In_
2174 WDFDEVICE Device,
2175 _In_
2177 )
2178{
2181}
2182
2186WDFAPI
2188VFWDFEXPORT(WdfDeviceStopIdleNoTrack)(
2189 _In_
2191 _In_
2192 WDFDEVICE Device,
2193 _In_
2195 )
2196{
2199}
2200
2202WDFAPI
2203VOID
2204VFWDFEXPORT(WdfDeviceResumeIdleNoTrack)(
2205 _In_
2207 _In_
2208 WDFDEVICE Device
2209 )
2210{
2213}
2214
2218WDFAPI
2220VFWDFEXPORT(WdfDeviceStopIdleActual)(
2221 _In_
2223 _In_
2224 WDFDEVICE Device,
2225 _In_
2227 _In_opt_
2229 _In_
2231 _In_z_
2233 )
2234{
2237}
2238
2240WDFAPI
2241VOID
2242VFWDFEXPORT(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{
2257}
2258
2260WDFAPI
2261WDFFILEOBJECT
2262VFWDFEXPORT(WdfDeviceGetFileObject)(
2263 _In_
2265 _In_
2266 WDFDEVICE Device,
2267 _In_
2269 )
2270{
2273}
2274
2277WDFAPI
2279VFWDFEXPORT(WdfDeviceEnqueueRequest)(
2280 _In_
2282 _In_
2283 WDFDEVICE Device,
2284 _In_
2285 WDFREQUEST Request
2286 )
2287{
2290}
2291
2293WDFAPI
2294WDFQUEUE
2295VFWDFEXPORT(WdfDeviceGetDefaultQueue)(
2296 _In_
2298 _In_
2299 WDFDEVICE Device
2300 )
2301{
2303 return ((PFN_WDFDEVICEGETDEFAULTQUEUE) WdfVersion.Functions.pfnWdfDeviceGetDefaultQueue)(DriverGlobals, Device);
2304}
2305
2308WDFAPI
2310VFWDFEXPORT(WdfDeviceConfigureRequestDispatching)(
2311 _In_
2313 _In_
2314 WDFDEVICE Device,
2315 _In_
2316 WDFQUEUE Queue,
2317 _In_
2320 )
2321{
2324}
2325
2328WDFAPI
2330VFWDFEXPORT(WdfDeviceConfigureWdmIrpDispatchCallback)(
2331 _In_
2333 _In_
2334 WDFDEVICE Device,
2335 _In_opt_
2336 WDFDRIVER Driver,
2337 _In_
2339 _In_
2341 _In_opt_
2343 )
2344{
2347}
2348
2350WDFAPI
2352VFWDFEXPORT(WdfDeviceGetSystemPowerAction)(
2353 _In_
2355 _In_
2356 WDFDEVICE Device
2357 )
2358{
2360 return ((PFN_WDFDEVICEGETSYSTEMPOWERACTION) WdfVersion.Functions.pfnWdfDeviceGetSystemPowerAction)(DriverGlobals, Device);
2361}
2362
2365WDFAPI
2367VFWDFEXPORT(WdfDeviceWdmAssignPowerFrameworkSettings)(
2368 _In_
2370 _In_
2371 WDFDEVICE Device,
2372 _In_
2374 )
2375{
2378}
2379
2381WDFAPI
2382VOID
2383VFWDFEXPORT(WdfDeviceInitSetReleaseHardwareOrderOnFailure)(
2384 _In_
2386 _In_
2388 _In_
2390 )
2391{
2394}
2395
2397WDFAPI
2398VOID
2399VFWDFEXPORT(WdfDeviceInitSetIoTypeEx)(
2400 _In_
2402 _In_
2404 _In_
2406 )
2407{
2410}
2411
2414WDFAPI
2416VFWDFEXPORT(WdfDeviceQueryPropertyEx)(
2417 _In_
2419 _In_
2420 WDFDEVICE Device,
2421 _In_
2423 _In_
2425 _Out_
2427 _Out_
2429 _Out_
2431 )
2432{
2435}
2436
2439WDFAPI
2441VFWDFEXPORT(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
2465WDFAPI
2467VFWDFEXPORT(WdfDeviceAssignProperty)(
2468 _In_
2470 _In_
2471 WDFDEVICE Device,
2472 _In_
2474 _In_
2476 _In_
2478 _In_opt_
2480 )
2481{
2484}
2485
2487WDFAPI
2488WDFIOTARGET
2489VFWDFEXPORT(WdfDeviceGetSelfIoTarget)(
2490 _In_
2492 _In_
2493 WDFDEVICE Device
2494 )
2495{
2498}
2499
2501WDFAPI
2502VOID
2503VFWDFEXPORT(WdfDeviceInitAllowSelfIoTarget)(
2504 _In_
2506 _In_
2508 )
2509{
2512}
2513
2516WDFAPI
2518VFWDFEXPORT(WdfDmaEnablerCreate)(
2519 _In_
2521 _In_
2522 WDFDEVICE Device,
2523 _In_
2525 _In_opt_
2527 _Out_
2528 WDFDMAENABLER* DmaEnablerHandle
2529 )
2530{
2533}
2534
2537WDFAPI
2539VFWDFEXPORT(WdfDmaEnablerConfigureSystemProfile)(
2540 _In_
2542 _In_
2543 WDFDMAENABLER DmaEnabler,
2544 _In_
2546 _In_
2548 )
2549{
2552}
2553
2555WDFAPI
2556size_t
2557VFWDFEXPORT(WdfDmaEnablerGetMaximumLength)(
2558 _In_
2560 _In_
2561 WDFDMAENABLER DmaEnabler
2562 )
2563{
2565 return ((PFN_WDFDMAENABLERGETMAXIMUMLENGTH) WdfVersion.Functions.pfnWdfDmaEnablerGetMaximumLength)(DriverGlobals, DmaEnabler);
2566}
2567
2569WDFAPI
2570size_t
2571VFWDFEXPORT(WdfDmaEnablerGetMaximumScatterGatherElements)(
2572 _In_
2574 _In_
2575 WDFDMAENABLER DmaEnabler
2576 )
2577{
2579 return ((PFN_WDFDMAENABLERGETMAXIMUMSCATTERGATHERELEMENTS) WdfVersion.Functions.pfnWdfDmaEnablerGetMaximumScatterGatherElements)(DriverGlobals, DmaEnabler);
2580}
2581
2583WDFAPI
2584VOID
2585VFWDFEXPORT(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
2600WDFAPI
2601size_t
2602VFWDFEXPORT(WdfDmaEnablerGetFragmentLength)(
2603 _In_
2605 _In_
2606 WDFDMAENABLER DmaEnabler,
2607 _In_
2609 )
2610{
2613}
2614
2616WDFAPI
2618VFWDFEXPORT(WdfDmaEnablerWdmGetDmaAdapter)(
2619 _In_
2621 _In_
2622 WDFDMAENABLER DmaEnabler,
2623 _In_
2625 )
2626{
2629}
2630
2633WDFAPI
2635VFWDFEXPORT(WdfDmaTransactionCreate)(
2636 _In_
2638 _In_
2639 WDFDMAENABLER DmaEnabler,
2640 _In_opt_
2642 _Out_
2643 WDFDMATRANSACTION* DmaTransaction
2644 )
2645{
2648}
2649
2652WDFAPI
2654VFWDFEXPORT(WdfDmaTransactionInitialize)(
2655 _In_
2657 _In_
2658 WDFDMATRANSACTION DmaTransaction,
2659 _In_
2661 _In_
2663 _In_
2665 _In_
2667 _In_
2669 size_t Length
2670 )
2671{
2674}
2675
2678WDFAPI
2680VFWDFEXPORT(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
2704WDFAPI
2706VFWDFEXPORT(WdfDmaTransactionInitializeUsingRequest)(
2707 _In_
2709 _In_
2710 WDFDMATRANSACTION DmaTransaction,
2711 _In_
2712 WDFREQUEST Request,
2713 _In_
2715 _In_
2717 )
2718{
2721}
2722
2725WDFAPI
2727VFWDFEXPORT(WdfDmaTransactionExecute)(
2728 _In_
2730 _In_
2731 WDFDMATRANSACTION DmaTransaction,
2732 _In_opt_
2734 )
2735{
2738}
2739
2742WDFAPI
2744VFWDFEXPORT(WdfDmaTransactionRelease)(
2745 _In_
2747 _In_
2748 WDFDMATRANSACTION DmaTransaction
2749 )
2750{
2753}
2754
2756WDFAPI
2757BOOLEAN
2758VFWDFEXPORT(WdfDmaTransactionDmaCompleted)(
2759 _In_
2761 _In_
2762 WDFDMATRANSACTION DmaTransaction,
2763 _Out_
2765 )
2766{
2769}
2770
2772WDFAPI
2773BOOLEAN
2774VFWDFEXPORT(WdfDmaTransactionDmaCompletedWithLength)(
2775 _In_
2777 _In_
2778 WDFDMATRANSACTION DmaTransaction,
2779 _In_
2781 _Out_
2783 )
2784{
2787}
2788
2790WDFAPI
2791BOOLEAN
2792VFWDFEXPORT(WdfDmaTransactionDmaCompletedFinal)(
2793 _In_
2795 _In_
2796 WDFDMATRANSACTION DmaTransaction,
2797 _In_
2799 _Out_
2801 )
2802{
2805}
2806
2808WDFAPI
2809size_t
2810VFWDFEXPORT(WdfDmaTransactionGetBytesTransferred)(
2811 _In_
2813 _In_
2814 WDFDMATRANSACTION DmaTransaction
2815 )
2816{
2818 return ((PFN_WDFDMATRANSACTIONGETBYTESTRANSFERRED) WdfVersion.Functions.pfnWdfDmaTransactionGetBytesTransferred)(DriverGlobals, DmaTransaction);
2819}
2820
2822WDFAPI
2823VOID
2824VFWDFEXPORT(WdfDmaTransactionSetMaximumLength)(
2825 _In_
2827 _In_
2828 WDFDMATRANSACTION DmaTransaction,
2829 _In_
2831 )
2832{
2835}
2836
2838WDFAPI
2839WDFREQUEST
2840VFWDFEXPORT(WdfDmaTransactionGetRequest)(
2841 _In_
2843 _In_
2844 WDFDMATRANSACTION DmaTransaction
2845 )
2846{
2849}
2850
2852WDFAPI
2853size_t
2854VFWDFEXPORT(WdfDmaTransactionGetCurrentDmaTransferLength)(
2855 _In_
2857 _In_
2858 WDFDMATRANSACTION DmaTransaction
2859 )
2860{
2862 return ((PFN_WDFDMATRANSACTIONGETCURRENTDMATRANSFERLENGTH) WdfVersion.Functions.pfnWdfDmaTransactionGetCurrentDmaTransferLength)(DriverGlobals, DmaTransaction);
2863}
2864
2866WDFAPI
2867WDFDEVICE
2868VFWDFEXPORT(WdfDmaTransactionGetDevice)(
2869 _In_
2871 _In_
2872 WDFDMATRANSACTION DmaTransaction
2873 )
2874{
2877}
2878
2880WDFAPI
2881VOID
2882VFWDFEXPORT(WdfDmaTransactionGetTransferInfo)(
2883 _In_
2885 _In_
2886 WDFDMATRANSACTION DmaTransaction,
2887 _Out_opt_
2889 _Out_opt_
2891 )
2892{
2895}
2896
2898WDFAPI
2899VOID
2900VFWDFEXPORT(WdfDmaTransactionSetChannelConfigurationCallback)(
2901 _In_
2903 _In_
2904 WDFDMATRANSACTION DmaTransaction,
2905 _In_opt_
2907 _In_opt_
2909 )
2910{
2913}
2914
2916WDFAPI
2917VOID
2918VFWDFEXPORT(WdfDmaTransactionSetTransferCompleteCallback)(
2919 _In_
2921 _In_
2922 WDFDMATRANSACTION DmaTransaction,
2923 _In_opt_
2925 _In_opt_
2927 )
2928{
2931}
2932
2934WDFAPI
2935VOID
2936VFWDFEXPORT(WdfDmaTransactionSetImmediateExecution)(
2937 _In_
2939 _In_
2940 WDFDMATRANSACTION DmaTransaction,
2941 _In_
2943 )
2944{
2947}
2948
2950WDFAPI
2952VFWDFEXPORT(WdfDmaTransactionAllocateResources)(
2953 _In_
2955 _In_
2956 WDFDMATRANSACTION DmaTransaction,
2957 _In_
2959 _In_
2961 _In_
2963 _In_
2965 )
2966{
2969}
2970
2972WDFAPI
2973VOID
2974VFWDFEXPORT(WdfDmaTransactionSetDeviceAddressOffset)(
2975 _In_
2977 _In_
2978 WDFDMATRANSACTION DmaTransaction,
2979 _In_
2981 )
2982{
2985}
2986
2988WDFAPI
2989VOID
2990VFWDFEXPORT(WdfDmaTransactionFreeResources)(
2991 _In_
2993 _In_
2994 WDFDMATRANSACTION DmaTransaction
2995 )
2996{
2999}
3000
3002WDFAPI
3003BOOLEAN
3004VFWDFEXPORT(WdfDmaTransactionCancel)(
3005 _In_
3007 _In_
3008 WDFDMATRANSACTION DmaTransaction
3009 )
3010{
3013}
3014
3016WDFAPI
3017PVOID
3018VFWDFEXPORT(WdfDmaTransactionWdmGetTransferContext)(
3019 _In_
3021 _In_
3022 WDFDMATRANSACTION DmaTransaction
3023 )
3024{
3026 return ((PFN_WDFDMATRANSACTIONWDMGETTRANSFERCONTEXT) WdfVersion.Functions.pfnWdfDmaTransactionWdmGetTransferContext)(DriverGlobals, DmaTransaction);
3027}
3028
3030WDFAPI
3031VOID
3032VFWDFEXPORT(WdfDmaTransactionStopSystemTransfer)(
3033 _In_
3035 _In_
3036 WDFDMATRANSACTION DmaTransaction
3037 )
3038{
3041}
3042
3045WDFAPI
3047VFWDFEXPORT(WdfDpcCreate)(
3048 _In_
3050 _In_
3052 _In_
3054 _Out_
3055 WDFDPC* Dpc
3056 )
3057{
3060}
3061
3063WDFAPI
3064BOOLEAN
3065VFWDFEXPORT(WdfDpcEnqueue)(
3066 _In_
3068 _In_
3069 WDFDPC Dpc
3070 )
3071{
3074}
3075
3078WDFAPI
3079BOOLEAN
3080VFWDFEXPORT(WdfDpcCancel)(
3081 _In_
3083 _In_
3084 WDFDPC Dpc,
3085 _In_
3087 )
3088{
3091}
3092
3094WDFAPI
3096VFWDFEXPORT(WdfDpcGetParentObject)(
3097 _In_
3099 _In_
3100 WDFDPC Dpc
3101 )
3102{
3104 return ((PFN_WDFDPCGETPARENTOBJECT) WdfVersion.Functions.pfnWdfDpcGetParentObject)(DriverGlobals, Dpc);
3105}
3106
3108WDFAPI
3109PKDPC
3110VFWDFEXPORT(WdfDpcWdmGetDpc)(
3111 _In_
3113 _In_
3114 WDFDPC Dpc
3115 )
3116{
3118 return ((PFN_WDFDPCWDMGETDPC) WdfVersion.Functions.pfnWdfDpcWdmGetDpc)(DriverGlobals, Dpc);
3119}
3120
3123WDFAPI
3125VFWDFEXPORT(WdfDriverCreate)(
3126 _In_
3128 _In_
3130 _In_
3132 _In_opt_
3134 _In_
3136 _Out_opt_
3137 WDFDRIVER* Driver
3138 )
3139{
3142}
3143
3145WDFAPI
3146PWSTR
3147VFWDFEXPORT(WdfDriverGetRegistryPath)(
3148 _In_
3150 _In_
3151 WDFDRIVER Driver
3152 )
3153{
3155 return ((PFN_WDFDRIVERGETREGISTRYPATH) WdfVersion.Functions.pfnWdfDriverGetRegistryPath)(DriverGlobals, Driver);
3156}
3157
3159WDFAPI
3161VFWDFEXPORT(WdfDriverWdmGetDriverObject)(
3162 _In_
3164 _In_
3165 WDFDRIVER Driver
3166 )
3167{
3169 return ((PFN_WDFDRIVERWDMGETDRIVEROBJECT) WdfVersion.Functions.pfnWdfDriverWdmGetDriverObject)(DriverGlobals, Driver);
3170}
3171
3174WDFAPI
3176VFWDFEXPORT(WdfDriverOpenParametersRegistryKey)(
3177 _In_
3179 _In_
3180 WDFDRIVER Driver,
3181 _In_
3183 _In_opt_
3185 _Out_
3186 WDFKEY* Key
3187 )
3188{
3191}
3192
3194WDFAPI
3195WDFDRIVER
3196VFWDFEXPORT(WdfWdmDriverGetWdfDriverHandle)(
3197 _In_
3199 _In_
3201 )
3202{
3205}
3206
3209WDFAPI
3211VFWDFEXPORT(WdfDriverRegisterTraceInfo)(
3212 _In_
3214 _In_
3216 _In_
3218 _In_
3220 )
3221{
3224}
3225
3228WDFAPI
3230VFWDFEXPORT(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
3245WDFAPI
3246BOOLEAN
3247VFWDFEXPORT(WdfDriverIsVersionAvailable)(
3248 _In_
3250 _In_
3251 WDFDRIVER Driver,
3252 _In_
3254 )
3255{
3258}
3259
3261WDFAPI
3263VFWDFEXPORT(WdfFdoInitWdmGetPhysicalDevice)(
3264 _In_
3266 _In_
3268 )
3269{
3271 return ((PFN_WDFFDOINITWDMGETPHYSICALDEVICE) WdfVersion.Functions.pfnWdfFdoInitWdmGetPhysicalDevice)(DriverGlobals, DeviceInit);
3272}
3273
3276WDFAPI
3278VFWDFEXPORT(WdfFdoInitOpenRegistryKey)(
3279 _In_
3281 _In_
3283 _In_
3285 _In_
3287 _In_opt_
3289 _Out_
3290 WDFKEY* Key
3291 )
3292{
3295}
3296
3299WDFAPI
3301VFWDFEXPORT(WdfFdoInitQueryProperty)(
3302 _In_
3304 _In_
3306 _In_
3308 _In_
3312 _Out_
3314 )
3315{
3318}
3319
3322WDFAPI
3324VFWDFEXPORT(WdfFdoInitAllocAndQueryProperty)(
3325 _In_
3327 _In_
3329 _In_
3331 _In_
3334 _In_opt_
3336 _Out_
3337 WDFMEMORY* PropertyMemory
3338 )
3339{
3342}
3343
3346WDFAPI
3348VFWDFEXPORT(WdfFdoInitQueryPropertyEx)(
3349 _In_
3351 _In_
3353 _In_
3355 _In_
3357 _Out_
3359 _Out_
3361 _Out_
3363 )
3364{
3367}
3368
3371WDFAPI
3373VFWDFEXPORT(WdfFdoInitAllocAndQueryPropertyEx)(
3374 _In_
3376 _In_
3378 _In_
3380 _In_
3383 _In_opt_
3385 _Out_
3386 WDFMEMORY* PropertyMemory,
3387 _Out_
3389 )
3390{
3393}
3394
3396WDFAPI
3397VOID
3398VFWDFEXPORT(WdfFdoInitSetEventCallbacks)(
3399 _In_
3401 _In_
3403 _In_
3405 )
3406{
3409}
3410
3412WDFAPI
3413VOID
3414VFWDFEXPORT(WdfFdoInitSetFilter)(
3415 _In_
3417 _In_
3419 )
3420{
3423}
3424
3426WDFAPI
3427VOID
3428VFWDFEXPORT(WdfFdoInitSetDefaultChildListConfig)(
3429 _In_
3431 _Inout_
3433 _In_
3435 _In_opt_
3437 )
3438{
3441}
3442
3445WDFAPI
3447VFWDFEXPORT(WdfFdoQueryForInterface)(
3448 _In_
3450 _In_
3451 WDFDEVICE Fdo,
3452 _In_
3454 _Out_
3456 _In_
3457 USHORT Size,
3458 _In_
3460 _In_opt_
3462 )
3463{
3466}
3467
3469WDFAPI
3470WDFCHILDLIST
3471VFWDFEXPORT(WdfFdoGetDefaultChildList)(
3472 _In_
3474 _In_
3475 WDFDEVICE Fdo
3476 )
3477{
3479 return ((PFN_WDFFDOGETDEFAULTCHILDLIST) WdfVersion.Functions.pfnWdfFdoGetDefaultChildList)(DriverGlobals, Fdo);
3480}
3481
3484WDFAPI
3486VFWDFEXPORT(WdfFdoAddStaticChild)(
3487 _In_
3489 _In_
3490 WDFDEVICE Fdo,
3491 _In_
3492 WDFDEVICE Child
3493 )
3494{
3496 return ((PFN_WDFFDOADDSTATICCHILD) WdfVersion.Functions.pfnWdfFdoAddStaticChild)(DriverGlobals, Fdo, Child);
3497}
3498
3500WDFAPI
3501VOID
3502VFWDFEXPORT(WdfFdoLockStaticChildListForIteration)(
3503 _In_
3505 _In_
3506 WDFDEVICE Fdo
3507 )
3508{
3510 ((PFN_WDFFDOLOCKSTATICCHILDLISTFORITERATION) WdfVersion.Functions.pfnWdfFdoLockStaticChildListForIteration)(DriverGlobals, Fdo);
3511}
3512
3515WDFAPI
3516WDFDEVICE
3517VFWDFEXPORT(WdfFdoRetrieveNextStaticChild)(
3518 _In_
3520 _In_
3521 WDFDEVICE Fdo,
3522 _In_opt_
3523 WDFDEVICE PreviousChild,
3524 _In_
3525 ULONG Flags
3526 )
3527{
3530}
3531
3533WDFAPI
3534VOID
3535VFWDFEXPORT(WdfFdoUnlockStaticChildListFromIteration)(
3536 _In_
3538 _In_
3539 WDFDEVICE Fdo
3540 )
3541{
3543 ((PFN_WDFFDOUNLOCKSTATICCHILDLISTFROMITERATION) WdfVersion.Functions.pfnWdfFdoUnlockStaticChildListFromIteration)(DriverGlobals, Fdo);
3544}
3545
3547WDFAPI
3549VFWDFEXPORT(WdfFileObjectGetFileName)(
3550 _In_
3552 _In_
3553 WDFFILEOBJECT FileObject
3554 )
3555{
3558}
3559
3561WDFAPI
3562ULONG
3563VFWDFEXPORT(WdfFileObjectGetFlags)(
3564 _In_
3566 _In_
3567 WDFFILEOBJECT FileObject
3568 )
3569{
3572}
3573
3575WDFAPI
3576WDFDEVICE
3577VFWDFEXPORT(WdfFileObjectGetDevice)(
3578 _In_
3580 _In_
3581 WDFFILEOBJECT FileObject
3582 )
3583{
3586}
3587
3589WDFAPI
3591VFWDFEXPORT(WdfFileObjectWdmGetFileObject)(
3592 _In_
3594 _In_
3595 WDFFILEOBJECT FileObject
3596 )
3597{
3599 return ((PFN_WDFFILEOBJECTWDMGETFILEOBJECT) WdfVersion.Functions.pfnWdfFileObjectWdmGetFileObject)(DriverGlobals, FileObject);
3600}
3601
3604WDFAPI
3606VFWDFEXPORT(WdfInterruptCreate)(
3607 _In_
3609 _In_
3610 WDFDEVICE Device,
3611 _In_
3613 _In_opt_
3615 _Out_
3616 WDFINTERRUPT* Interrupt
3617 )
3618{
3621}
3622
3623WDFAPI
3624BOOLEAN
3626 _In_
3628 _In_
3629 WDFINTERRUPT Interrupt
3630 )
3631{
3634}
3635
3636WDFAPI
3637BOOLEAN
3639 _In_
3641 _In_
3642 WDFINTERRUPT Interrupt
3643 )
3644{
3647}
3648
3650WDFAPI
3651BOOLEAN
3652VFWDFEXPORT(WdfInterruptSynchronize)(
3653 _In_
3655 _In_
3656 WDFINTERRUPT Interrupt,
3657 _In_
3659 _In_
3661 )
3662{
3665}
3666
3668WDFAPI
3669VOID
3670VFWDFEXPORT(WdfInterruptAcquireLock)(
3671 _In_
3673 _In_
3675 _Acquires_lock_(_Curr_)
3676 WDFINTERRUPT Interrupt
3677 )
3678{
3680 ((PFN_WDFINTERRUPTACQUIRELOCK) WdfVersion.Functions.pfnWdfInterruptAcquireLock)(DriverGlobals, Interrupt);
3681}
3682
3684WDFAPI
3685VOID
3686VFWDFEXPORT(WdfInterruptReleaseLock)(
3687 _In_
3689 _In_
3691 _Releases_lock_(_Curr_)
3692 WDFINTERRUPT Interrupt
3693 )
3694{
3696 ((PFN_WDFINTERRUPTRELEASELOCK) WdfVersion.Functions.pfnWdfInterruptReleaseLock)(DriverGlobals, Interrupt);
3697}
3698
3700WDFAPI
3701VOID
3702VFWDFEXPORT(WdfInterruptEnable)(
3703 _In_
3705 _In_
3706 WDFINTERRUPT Interrupt
3707 )
3708{
3711}
3712
3714WDFAPI
3715VOID
3716VFWDFEXPORT(WdfInterruptDisable)(
3717 _In_
3719 _In_
3720 WDFINTERRUPT Interrupt
3721 )
3722{
3725}
3726
3728WDFAPI
3731 _In_
3733 _In_
3734 WDFINTERRUPT Interrupt
3735 )
3736{
3739}
3740
3742WDFAPI
3743VOID
3744VFWDFEXPORT(WdfInterruptGetInfo)(
3745 _In_
3747 _In_
3748 WDFINTERRUPT Interrupt,
3749 _Out_
3751 )
3752{
3755}
3756
3758WDFAPI
3759VOID
3760VFWDFEXPORT(WdfInterruptSetPolicy)(
3761 _In_
3763 _In_
3764 WDFINTERRUPT Interrupt,
3765 _In_
3767 _In_
3769 _In_
3771 )
3772{
3775}
3776
3778WDFAPI
3779VOID
3780VFWDFEXPORT(WdfInterruptSetExtendedPolicy)(
3781 _In_
3783 _In_
3784 WDFINTERRUPT Interrupt,
3785 _In_
3787 )
3788{
3791}
3792
3793WDFAPI
3794WDFDEVICE
3796 _In_
3798 _In_
3799 WDFINTERRUPT Interrupt
3800 )
3801{
3804}
3805
3807_Post_satisfies_(return == 1 || return == 0)
3809WDFAPI
3810BOOLEAN
3811VFWDFEXPORT(WdfInterruptTryToAcquireLock)(
3812 _In_
3814 _In_
3817 WDFINTERRUPT Interrupt
3818 )
3819{
3821 return ((PFN_WDFINTERRUPTTRYTOACQUIRELOCK) WdfVersion.Functions.pfnWdfInterruptTryToAcquireLock)(DriverGlobals, Interrupt);
3822}
3823
3825WDFAPI
3826VOID
3827VFWDFEXPORT(WdfInterruptReportActive)(
3828 _In_
3830 _In_
3831 WDFINTERRUPT Interrupt
3832 )
3833{
3836}
3837
3839WDFAPI
3840VOID
3841VFWDFEXPORT(WdfInterruptReportInactive)(
3842 _In_
3844 _In_
3845 WDFINTERRUPT Interrupt
3846 )
3847{
3850}
3851
3854WDFAPI
3856VFWDFEXPORT(WdfIoQueueCreate)(
3857 _In_
3859 _In_
3860 WDFDEVICE Device,
3861 _In_
3863 _In_opt_
3865 _Out_opt_
3866 WDFQUEUE* Queue
3867 )
3868{
3871
3874
3876 &hookInfo,
3878 Device,
3879 Config,
3881 Queue);
3882
3884
3885 if (hookInfo.DonotCallKmdfLib) {
3886 return hookInfo.DdiCallStatus;
3887 }
3888
3890}
3891
3893WDFAPI
3895VFWDFEXPORT(WdfIoQueueGetState)(
3896 _In_
3898 _In_
3899 WDFQUEUE Queue,
3900 _Out_opt_
3902 _Out_opt_
3904 )
3905{
3908}
3909
3911WDFAPI
3912VOID
3913VFWDFEXPORT(WdfIoQueueStart)(
3914 _In_
3916 _In_
3917 WDFQUEUE Queue
3918 )
3919{
3922}
3923
3925WDFAPI
3926VOID
3927VFWDFEXPORT(WdfIoQueueStop)(
3928 _In_
3930 _In_
3931 WDFQUEUE Queue,
3933 _When_(Context == 0, _In_opt_)
3938 )
3939{
3942}
3943
3945WDFAPI
3946VOID
3947VFWDFEXPORT(WdfIoQueueStopSynchronously)(
3948 _In_
3950 _In_
3951 WDFQUEUE Queue
3952 )
3953{
3956}
3957
3959WDFAPI
3960WDFDEVICE
3961VFWDFEXPORT(WdfIoQueueGetDevice)(
3962 _In_
3964 _In_
3965 WDFQUEUE Queue
3966 )
3967{
3969 return ((PFN_WDFIOQUEUEGETDEVICE) WdfVersion.Functions.pfnWdfIoQueueGetDevice)(DriverGlobals, Queue);
3970}
3971
3974WDFAPI
3976VFWDFEXPORT(WdfIoQueueRetrieveNextRequest)(
3977 _In_
3979 _In_
3980 WDFQUEUE Queue,
3981 _Out_
3982 WDFREQUEST* OutRequest
3983 )
3984{
3989 }
3990 return rtn;
3991}
3992
3995WDFAPI
3997VFWDFEXPORT(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
4018WDFAPI
4020VFWDFEXPORT(WdfIoQueueFindRequest)(
4021 _In_
4023 _In_
4024 WDFQUEUE Queue,
4025 _In_opt_
4026 WDFREQUEST FoundRequest,
4027 _In_opt_
4028 WDFFILEOBJECT FileObject,
4031 _Out_
4032 WDFREQUEST* OutRequest
4033 )
4034{
4037}
4038
4041WDFAPI
4043VFWDFEXPORT(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
4063WDFAPI
4064VOID
4065VFWDFEXPORT(WdfIoQueueDrainSynchronously)(
4066 _In_
4068 _In_
4069 WDFQUEUE Queue
4070 )
4071{
4074}
4075
4077WDFAPI
4078VOID
4079VFWDFEXPORT(WdfIoQueueDrain)(
4080 _In_
4082 _In_
4083 WDFQUEUE Queue,
4084 _When_(Context != 0, _In_)
4085 _When_(Context == 0, _In_opt_)
4090 )
4091{
4094}
4095
4097WDFAPI
4098VOID
4099VFWDFEXPORT(WdfIoQueuePurgeSynchronously)(
4100 _In_
4102 _In_
4103 WDFQUEUE Queue
4104 )
4105{
4108}
4109
4111WDFAPI
4112VOID
4113VFWDFEXPORT(WdfIoQueuePurge)(
4114 _In_
4116 _In_
4117 WDFQUEUE Queue,
4118 _When_(Context != 0, _In_)
4119 _When_(Context == 0, _In_opt_)
4124 )
4125{
4128}
4129
4132WDFAPI
4134VFWDFEXPORT(WdfIoQueueReadyNotify)(
4135 _In_
4137 _In_
4138 WDFQUEUE Queue,
4139 _In_opt_
4141 _In_opt_
4143 )
4144{
4145 PAGED_COD