ReactOS  0.4.15-dev-3165-gdf6fff7
vffxdynamics.h
Go to the documentation of this file.
1 /*++
2 
3 Module Name: VfFxDynamics.h
4 
5 Abstract:
6  Generated header for WDF API Verifier hooks
7 
8 Environment:
9  kernel mode only
10 
11  Warning: manual changes to this file will be lost.
12 --*/
13 
14 #ifndef _VFFXDYNAMICS_H_
15 #define _VFFXDYNAMICS_H_
16 
17 
20 WDFAPI
22 VFWDFEXPORT(WdfChildListCreate)(
23  _In_
25  _In_
26  WDFDEVICE Device,
27  _In_
29  _In_opt_
31  _Out_
32  WDFCHILDLIST* ChildList
33  );
34 
36 WDFAPI
37 WDFDEVICE
38 VFWDFEXPORT(WdfChildListGetDevice)(
39  _In_
41  _In_
42  WDFCHILDLIST ChildList
43  );
44 
47 WDFAPI
48 WDFDEVICE
49 VFWDFEXPORT(WdfChildListRetrievePdo)(
50  _In_
52  _In_
53  WDFCHILDLIST ChildList,
54  _Inout_
56  );
57 
60 WDFAPI
62 VFWDFEXPORT(WdfChildListRetrieveAddressDescription)(
63  _In_
65  _In_
66  WDFCHILDLIST ChildList,
67  _In_
69  _Inout_
71  );
72 
74 WDFAPI
75 VOID
76 VFWDFEXPORT(WdfChildListBeginScan)(
77  _In_
79  _In_
80  WDFCHILDLIST ChildList
81  );
82 
84 WDFAPI
85 VOID
86 VFWDFEXPORT(WdfChildListEndScan)(
87  _In_
89  _In_
90  WDFCHILDLIST ChildList
91  );
92 
94 WDFAPI
95 VOID
96 VFWDFEXPORT(WdfChildListBeginIteration)(
97  _In_
99  _In_
100  WDFCHILDLIST ChildList,
101  _In_
103  );
104 
107 WDFAPI
108 NTSTATUS
109 VFWDFEXPORT(WdfChildListRetrieveNextDevice)(
110  _In_
112  _In_
113  WDFCHILDLIST ChildList,
114  _In_
116  _Out_
117  WDFDEVICE* Device,
120  );
121 
123 WDFAPI
124 VOID
125 VFWDFEXPORT(WdfChildListEndIteration)(
126  _In_
128  _In_
129  WDFCHILDLIST ChildList,
130  _In_
132  );
133 
136 WDFAPI
137 NTSTATUS
138 VFWDFEXPORT(WdfChildListAddOrUpdateChildDescriptionAsPresent)(
139  _In_
141  _In_
142  WDFCHILDLIST ChildList,
143  _In_
145  _In_opt_
147  );
148 
151 WDFAPI
152 NTSTATUS
153 VFWDFEXPORT(WdfChildListUpdateChildDescriptionAsMissing)(
154  _In_
156  _In_
157  WDFCHILDLIST ChildList,
158  _In_
160  );
161 
163 WDFAPI
164 VOID
165 VFWDFEXPORT(WdfChildListUpdateAllChildDescriptionsAsPresent)(
166  _In_
168  _In_
169  WDFCHILDLIST ChildList
170  );
171 
173 WDFAPI
174 BOOLEAN
175 VFWDFEXPORT(WdfChildListRequestChildEject)(
176  _In_
178  _In_
179  WDFCHILDLIST ChildList,
180  _In_
182  );
183 
186 WDFAPI
187 NTSTATUS
188 VFWDFEXPORT(WdfCollectionCreate)(
189  _In_
191  _In_opt_
193  _Out_
194  WDFCOLLECTION* Collection
195  );
196 
198 WDFAPI
199 ULONG
200 VFWDFEXPORT(WdfCollectionGetCount)(
201  _In_
203  _In_
204  WDFCOLLECTION Collection
205  );
206 
209 WDFAPI
210 NTSTATUS
211 VFWDFEXPORT(WdfCollectionAdd)(
212  _In_
214  _In_
215  WDFCOLLECTION Collection,
216  _In_
218  );
219 
221 WDFAPI
222 VOID
223 VFWDFEXPORT(WdfCollectionRemove)(
224  _In_
226  _In_
227  WDFCOLLECTION Collection,
228  _In_
230  );
231 
233 WDFAPI
234 VOID
235 VFWDFEXPORT(WdfCollectionRemoveItem)(
236  _In_
238  _In_
239  WDFCOLLECTION Collection,
240  _In_
241  ULONG Index
242  );
243 
245 WDFAPI
246 WDFOBJECT
247 VFWDFEXPORT(WdfCollectionGetItem)(
248  _In_
250  _In_
251  WDFCOLLECTION Collection,
252  _In_
253  ULONG Index
254  );
255 
257 WDFAPI
258 WDFOBJECT
259 VFWDFEXPORT(WdfCollectionGetFirstItem)(
260  _In_
262  _In_
263  WDFCOLLECTION Collection
264  );
265 
267 WDFAPI
268 WDFOBJECT
269 VFWDFEXPORT(WdfCollectionGetLastItem)(
270  _In_
272  _In_
273  WDFCOLLECTION Collection
274  );
275 
278 WDFAPI
279 NTSTATUS
280 VFWDFEXPORT(WdfCommonBufferCreate)(
281  _In_
283  _In_
284  WDFDMAENABLER DmaEnabler,
285  _In_
286  _When_(Length == 0, __drv_reportError(Length cannot be zero))
287  size_t Length,
288  _In_opt_
290  _Out_
291  WDFCOMMONBUFFER* CommonBuffer
292  );
293 
296 WDFAPI
297 NTSTATUS
298 VFWDFEXPORT(WdfCommonBufferCreateWithConfig)(
299  _In_
301  _In_
302  WDFDMAENABLER DmaEnabler,
303  _In_
304  _When_(Length == 0, __drv_reportError(Length cannot be zero))
305  size_t Length,
306  _In_
308  _In_opt_
310  _Out_
311  WDFCOMMONBUFFER* CommonBuffer
312  );
313 
315 WDFAPI
316 PVOID
317 VFWDFEXPORT(WdfCommonBufferGetAlignedVirtualAddress)(
318  _In_
320  _In_
321  WDFCOMMONBUFFER CommonBuffer
322  );
323 
325 WDFAPI
327 VFWDFEXPORT(WdfCommonBufferGetAlignedLogicalAddress)(
328  _In_
330  _In_
331  WDFCOMMONBUFFER CommonBuffer
332  );
333 
335 WDFAPI
336 size_t
337 VFWDFEXPORT(WdfCommonBufferGetLength)(
338  _In_
340  _In_
341  WDFCOMMONBUFFER CommonBuffer
342  );
343 
346 WDFAPI
348 VFWDFEXPORT(WdfControlDeviceInitAllocate)(
349  _In_
351  _In_
352  WDFDRIVER Driver,
353  _In_
355  );
356 
358 WDFAPI
359 VOID
360 VFWDFEXPORT(WdfControlDeviceInitSetShutdownNotification)(
361  _In_
363  _In_
365  _In_
367  _In_
368  UCHAR Flags
369  );
370 
372 WDFAPI
373 VOID
374 VFWDFEXPORT(WdfControlFinishInitializing)(
375  _In_
377  _In_
378  WDFDEVICE Device
379  );
380 
383 WDFAPI
385 VFWDFEXPORT(WdfCxDeviceInitAllocate)(
386  _In_
388  _In_
390  );
391 
394 WDFAPI
395 NTSTATUS
396 VFWDFEXPORT(WdfCxDeviceInitAssignWdmIrpPreprocessCallback)(
397  _In_
399  _In_
401  _In_
403  _In_
408  _In_
410  );
411 
413 WDFAPI
414 VOID
415 VFWDFEXPORT(WdfCxDeviceInitSetIoInCallerContextCallback)(
416  _In_
418  _In_
420  _In_
422  );
423 
425 WDFAPI
426 VOID
427 VFWDFEXPORT(WdfCxDeviceInitSetRequestAttributes)(
428  _In_
430  _In_
432  _In_
434  );
435 
437 WDFAPI
438 VOID
439 VFWDFEXPORT(WdfCxDeviceInitSetFileObjectConfig)(
440  _In_
442  _In_
444  _In_
446  _In_opt_
448  );
449 
450 WDFAPI
451 VOID
453  _In_
455  _In_opt_
457  _In_
458  ULONG BugCheckCode,
459  _In_
460  ULONG_PTR BugCheckParameter1,
461  _In_
462  ULONG_PTR BugCheckParameter2,
463  _In_
464  ULONG_PTR BugCheckParameter3,
465  _In_
466  ULONG_PTR BugCheckParameter4
467  );
468 
470 WDFAPI
471 VOID
472 VFWDFEXPORT(WdfDeviceGetDeviceState)(
473  _In_
475  _In_
476  WDFDEVICE Device,
477  _Out_
479  );
480 
482 WDFAPI
483 VOID
484 VFWDFEXPORT(WdfDeviceSetDeviceState)(
485  _In_
487  _In_
488  WDFDEVICE Device,
489  _In_
491  );
492 
494 WDFAPI
495 WDFDEVICE
496 VFWDFEXPORT(WdfWdmDeviceGetWdfDeviceHandle)(
497  _In_
499  _In_
501  );
502 
504 WDFAPI
506 VFWDFEXPORT(WdfDeviceWdmGetDeviceObject)(
507  _In_
509  _In_
510  WDFDEVICE Device
511  );
512 
514 WDFAPI
516 VFWDFEXPORT(WdfDeviceWdmGetAttachedDevice)(
517  _In_
519  _In_
520  WDFDEVICE Device
521  );
522 
524 WDFAPI
526 VFWDFEXPORT(WdfDeviceWdmGetPhysicalDevice)(
527  _In_
529  _In_
530  WDFDEVICE Device
531  );
532 
535 WDFAPI
536 NTSTATUS
537 VFWDFEXPORT(WdfDeviceWdmDispatchPreprocessedIrp)(
538  _In_
540  _In_
541  WDFDEVICE Device,
542  _In_
543  PIRP Irp
544  );
545 
548 WDFAPI
549 NTSTATUS
550 VFWDFEXPORT(WdfDeviceWdmDispatchIrp)(
551  _In_
553  _In_
554  WDFDEVICE Device,
555  _In_
556  PIRP Irp,
557  _In_
559  );
560 
563 WDFAPI
564 NTSTATUS
565 VFWDFEXPORT(WdfDeviceWdmDispatchIrpToIoQueue)(
566  _In_
568  _In_
569  WDFDEVICE Device,
570  _In_
571  PIRP Irp,
572  _In_
573  WDFQUEUE Queue,
574  _In_
575  ULONG Flags
576  );
577 
580 WDFAPI
581 NTSTATUS
582 VFWDFEXPORT(WdfDeviceAddDependentUsageDeviceObject)(
583  _In_
585  _In_
586  WDFDEVICE Device,
587  _In_
589  );
590 
592 WDFAPI
593 VOID
594 VFWDFEXPORT(WdfDeviceRemoveDependentUsageDeviceObject)(
595  _In_
597  _In_
598  WDFDEVICE Device,
599  _In_
601  );
602 
605 WDFAPI
606 NTSTATUS
607 VFWDFEXPORT(WdfDeviceAddRemovalRelationsPhysicalDevice)(
608  _In_
610  _In_
611  WDFDEVICE Device,
612  _In_
614  );
615 
617 WDFAPI
618 VOID
619 VFWDFEXPORT(WdfDeviceRemoveRemovalRelationsPhysicalDevice)(
620  _In_
622  _In_
623  WDFDEVICE Device,
624  _In_
626  );
627 
629 WDFAPI
630 VOID
631 VFWDFEXPORT(WdfDeviceClearRemovalRelationsDevices)(
632  _In_
634  _In_
635  WDFDEVICE Device
636  );
637 
639 WDFAPI
640 WDFDRIVER
641 VFWDFEXPORT(WdfDeviceGetDriver)(
642  _In_
644  _In_
645  WDFDEVICE Device
646  );
647 
650 WDFAPI
651 NTSTATUS
652 VFWDFEXPORT(WdfDeviceRetrieveDeviceName)(
653  _In_
655  _In_
656  WDFDEVICE Device,
657  _In_
658  WDFSTRING String
659  );
660 
663 WDFAPI
664 NTSTATUS
665 VFWDFEXPORT(WdfDeviceAssignMofResourceName)(
666  _In_
668  _In_
669  WDFDEVICE Device,
670  _In_
672  );
673 
675 WDFAPI
676 WDFIOTARGET
677 VFWDFEXPORT(WdfDeviceGetIoTarget)(
678  _In_
680  _In_
681  WDFDEVICE Device
682  );
683 
685 WDFAPI
687 VFWDFEXPORT(WdfDeviceGetDevicePnpState)(
688  _In_
690  _In_
691  WDFDEVICE Device
692  );
693 
695 WDFAPI
697 VFWDFEXPORT(WdfDeviceGetDevicePowerState)(
698  _In_
700  _In_
701  WDFDEVICE Device
702  );
703 
705 WDFAPI
707 VFWDFEXPORT(WdfDeviceGetDevicePowerPolicyState)(
708  _In_
710  _In_
711  WDFDEVICE Device
712  );
713 
716 WDFAPI
717 NTSTATUS
718 VFWDFEXPORT(WdfDeviceAssignS0IdleSettings)(
719  _In_
721  _In_
722  WDFDEVICE Device,
723  _In_
725  );
726 
729 WDFAPI
730 NTSTATUS
731 VFWDFEXPORT(WdfDeviceAssignSxWakeSettings)(
732  _In_
734  _In_
735  WDFDEVICE Device,
736  _In_
738  );
739 
742 WDFAPI
743 NTSTATUS
744 VFWDFEXPORT(WdfDeviceOpenRegistryKey)(
745  _In_
747  _In_
748  WDFDEVICE Device,
749  _In_
751  _In_
753  _In_opt_
755  _Out_
756  WDFKEY* Key
757  );
758 
761 WDFAPI
762 NTSTATUS
763 VFWDFEXPORT(WdfDeviceOpenDevicemapKey)(
764  _In_
766  _In_
767  WDFDEVICE Device,
768  _In_
770  _In_
772  _In_opt_
774  _Out_
775  WDFKEY* Key
776  );
777 
779 WDFAPI
780 VOID
781 VFWDFEXPORT(WdfDeviceSetSpecialFileSupport)(
782  _In_
784  _In_
785  WDFDEVICE Device,
786  _In_
788  _In_
790  );
791 
793 WDFAPI
794 VOID
795 VFWDFEXPORT(WdfDeviceSetCharacteristics)(
796  _In_
798  _In_
799  WDFDEVICE Device,
800  _In_
802  );
803 
805 WDFAPI
806 ULONG
807 VFWDFEXPORT(WdfDeviceGetCharacteristics)(
808  _In_
810  _In_
811  WDFDEVICE Device
812  );
813 
815 WDFAPI
816 ULONG
817 VFWDFEXPORT(WdfDeviceGetAlignmentRequirement)(
818  _In_
820  _In_
821  WDFDEVICE Device
822  );
823 
825 WDFAPI
826 VOID
827 VFWDFEXPORT(WdfDeviceSetAlignmentRequirement)(
828  _In_
830  _In_
831  WDFDEVICE Device,
832  _In_
834  );
835 
837 WDFAPI
838 VOID
839 VFWDFEXPORT(WdfDeviceInitFree)(
840  _In_
842  _In_
844  );
845 
847 WDFAPI
848 VOID
849 VFWDFEXPORT(WdfDeviceInitSetPnpPowerEventCallbacks)(
850  _In_
852  _In_
854  _In_
856  );
857 
859 WDFAPI
860 VOID
861 VFWDFEXPORT(WdfDeviceInitSetPowerPolicyEventCallbacks)(
862  _In_
864  _In_
866  _In_
868  );
869 
871 WDFAPI
872 VOID
873 VFWDFEXPORT(WdfDeviceInitSetPowerPolicyOwnership)(
874  _In_
876  _In_
878  _In_
880  );
881 
884 WDFAPI
885 NTSTATUS
886 VFWDFEXPORT(WdfDeviceInitRegisterPnpStateChangeCallback)(
887  _In_
889  _In_
891  _In_
893  _In_
895  _In_
897  );
898 
901 WDFAPI
902 NTSTATUS
903 VFWDFEXPORT(WdfDeviceInitRegisterPowerStateChangeCallback)(
904  _In_
906  _In_
908  _In_
910  _In_
912  _In_
914  );
915 
918 WDFAPI
919 NTSTATUS
920 VFWDFEXPORT(WdfDeviceInitRegisterPowerPolicyStateChangeCallback)(
921  _In_
923  _In_
925  _In_
927  _In_
929  _In_
931  );
932 
934 WDFAPI
935 VOID
936 VFWDFEXPORT(WdfDeviceInitSetExclusive)(
937  _In_
939  _In_
941  _In_
943  );
944 
946 WDFAPI
947 VOID
948 VFWDFEXPORT(WdfDeviceInitSetIoType)(
949  _In_
951  _In_
953  _In_
955  );
956 
958 WDFAPI
959 VOID
960 VFWDFEXPORT(WdfDeviceInitSetPowerNotPageable)(
961  _In_
963  _In_
965  );
966 
968 WDFAPI
969 VOID
970 VFWDFEXPORT(WdfDeviceInitSetPowerPageable)(
971  _In_
973  _In_
975  );
976 
978 WDFAPI
979 VOID
980 VFWDFEXPORT(WdfDeviceInitSetPowerInrush)(
981  _In_
983  _In_
985  );
986 
988 WDFAPI
989 VOID
990 VFWDFEXPORT(WdfDeviceInitSetDeviceType)(
991  _In_
993  _In_
995  _In_
997  );
998 
1001 WDFAPI
1002 NTSTATUS
1003 VFWDFEXPORT(WdfDeviceInitAssignName)(
1004  _In_
1006  _In_
1008  _In_opt_
1010  );
1011 
1014 WDFAPI
1015 NTSTATUS
1016 VFWDFEXPORT(WdfDeviceInitAssignSDDLString)(
1017  _In_
1019  _In_
1021  _In_opt_
1023  );
1024 
1026 WDFAPI
1027 VOID
1028 VFWDFEXPORT(WdfDeviceInitSetDeviceClass)(
1029  _In_
1031  _In_
1033  _In_
1035  );
1036 
1038 WDFAPI
1039 VOID
1040 VFWDFEXPORT(WdfDeviceInitSetCharacteristics)(
1041  _In_
1043  _In_
1045  _In_
1047  _In_
1049  );
1050 
1052 WDFAPI
1053 VOID
1054 VFWDFEXPORT(WdfDeviceInitSetFileObjectConfig)(
1055  _In_
1057  _In_
1059  _In_
1061  _In_opt_
1063  );
1064 
1066 WDFAPI
1067 VOID
1068 VFWDFEXPORT(WdfDeviceInitSetRequestAttributes)(
1069  _In_
1071  _In_
1073  _In_
1075  );
1076 
1079 WDFAPI
1080 NTSTATUS
1081 VFWDFEXPORT(WdfDeviceInitAssignWdmIrpPreprocessCallback)(
1082  _In_
1084  _In_
1086  _In_
1088  _In_
1093  _In_
1095  );
1096 
1098 WDFAPI
1099 VOID
1100 VFWDFEXPORT(WdfDeviceInitSetIoInCallerContextCallback)(
1101  _In_
1103  _In_
1105  _In_
1107  );
1108 
1110 WDFAPI
1111 VOID
1112 VFWDFEXPORT(WdfDeviceInitSetRemoveLockOptions)(
1113  _In_
1115  _In_
1117  _In_
1119  );
1120 
1123 WDFAPI
1124 NTSTATUS
1125 VFWDFEXPORT(WdfDeviceCreate)(
1126  _In_
1128  _Inout_
1130  _In_opt_
1132  _Out_
1133  WDFDEVICE* Device
1134  );
1135 
1137 WDFAPI
1138 VOID
1139 VFWDFEXPORT(WdfDeviceSetStaticStopRemove)(
1140  _In_
1142  _In_
1143  WDFDEVICE Device,
1144  _In_
1146  );
1147 
1150 WDFAPI
1151 NTSTATUS
1152 VFWDFEXPORT(WdfDeviceCreateDeviceInterface)(
1153  _In_
1155  _In_
1156  WDFDEVICE Device,
1157  _In_
1159  _In_opt_
1161  );
1162 
1164 WDFAPI
1165 VOID
1166 VFWDFEXPORT(WdfDeviceSetDeviceInterfaceState)(
1167  _In_
1169  _In_
1170  WDFDEVICE Device,
1171  _In_
1173  _In_opt_
1175  _In_
1177  );
1178 
1181 WDFAPI
1182 NTSTATUS
1183 VFWDFEXPORT(WdfDeviceRetrieveDeviceInterfaceString)(
1184  _In_
1186  _In_
1187  WDFDEVICE Device,
1188  _In_
1190  _In_opt_
1192  _In_
1193  WDFSTRING String
1194  );
1195 
1198 WDFAPI
1199 NTSTATUS
1200 VFWDFEXPORT(WdfDeviceCreateSymbolicLink)(
1201  _In_
1203  _In_
1204  WDFDEVICE Device,
1205  _In_
1207  );
1208 
1211 WDFAPI
1212 NTSTATUS
1213 VFWDFEXPORT(WdfDeviceQueryProperty)(
1214  _In_
1216  _In_
1217  WDFDEVICE Device,
1218  _In_
1220  _In_
1224  _Out_
1226  );
1227 
1230 WDFAPI
1231 NTSTATUS
1232 VFWDFEXPORT(WdfDeviceAllocAndQueryProperty)(
1233  _In_
1235  _In_
1236  WDFDEVICE Device,
1237  _In_
1239  _In_
1242  _In_opt_
1244  _Out_
1245  WDFMEMORY* PropertyMemory
1246  );
1247 
1249 WDFAPI
1250 VOID
1251 VFWDFEXPORT(WdfDeviceSetPnpCapabilities)(
1252  _In_
1254  _In_
1255  WDFDEVICE Device,
1256  _In_
1258  );
1259 
1261 WDFAPI
1262 VOID
1263 VFWDFEXPORT(WdfDeviceSetPowerCapabilities)(
1264  _In_
1266  _In_
1267  WDFDEVICE Device,
1268  _In_
1270  );
1271 
1273 WDFAPI
1274 VOID
1275 VFWDFEXPORT(WdfDeviceSetBusInformationForChildren)(
1276  _In_
1278  _In_
1279  WDFDEVICE Device,
1280  _In_
1282  );
1283 
1286 WDFAPI
1287 NTSTATUS
1288 VFWDFEXPORT(WdfDeviceIndicateWakeStatus)(
1289  _In_
1291  _In_
1292  WDFDEVICE Device,
1293  _In_
1295  );
1296 
1298 WDFAPI
1299 VOID
1300 VFWDFEXPORT(WdfDeviceSetFailed)(
1301  _In_
1303  _In_
1304  WDFDEVICE Device,
1305  _In_
1307  );
1308 
1312 WDFAPI
1313 NTSTATUS
1314 VFWDFEXPORT(WdfDeviceStopIdleNoTrack)(
1315  _In_
1317  _In_
1318  WDFDEVICE Device,
1319  _In_
1321  );
1322 
1324 WDFAPI
1325 VOID
1326 VFWDFEXPORT(WdfDeviceResumeIdleNoTrack)(
1327  _In_
1329  _In_
1330  WDFDEVICE Device
1331  );
1332 
1336 WDFAPI
1337 NTSTATUS
1338 VFWDFEXPORT(WdfDeviceStopIdleActual)(
1339  _In_
1341  _In_
1342  WDFDEVICE Device,
1343  _In_
1345  _In_opt_
1346  PVOID Tag,
1347  _In_
1348  LONG Line,
1349  _In_z_
1350  PCHAR File
1351  );
1352 
1354 WDFAPI
1355 VOID
1356 VFWDFEXPORT(WdfDeviceResumeIdleActual)(
1357  _In_
1359  _In_
1360  WDFDEVICE Device,
1361  _In_opt_
1362  PVOID Tag,
1363  _In_
1364  LONG Line,
1365  _In_z_
1366  PCHAR File
1367  );
1368 
1370 WDFAPI
1371 WDFFILEOBJECT
1372 VFWDFEXPORT(WdfDeviceGetFileObject)(
1373  _In_
1375  _In_
1376  WDFDEVICE Device,
1377  _In_
1379  );
1380 
1383 WDFAPI
1384 NTSTATUS
1385 VFWDFEXPORT(WdfDeviceEnqueueRequest)(
1386  _In_
1388  _In_
1389  WDFDEVICE Device,
1390  _In_
1391  WDFREQUEST Request
1392  );
1393 
1395 WDFAPI
1396 WDFQUEUE
1397 VFWDFEXPORT(WdfDeviceGetDefaultQueue)(
1398  _In_
1400  _In_
1401  WDFDEVICE Device
1402  );
1403 
1406 WDFAPI
1407 NTSTATUS
1408 VFWDFEXPORT(WdfDeviceConfigureRequestDispatching)(
1409  _In_
1411  _In_
1412  WDFDEVICE Device,
1413  _In_
1414  WDFQUEUE Queue,
1415  _In_
1418  );
1419 
1422 WDFAPI
1423 NTSTATUS
1424 VFWDFEXPORT(WdfDeviceConfigureWdmIrpDispatchCallback)(
1425  _In_
1427  _In_
1428  WDFDEVICE Device,
1429  _In_opt_
1430  WDFDRIVER Driver,
1431  _In_
1433  _In_
1435  _In_opt_
1437  );
1438 
1440 WDFAPI
1442 VFWDFEXPORT(WdfDeviceGetSystemPowerAction)(
1443  _In_
1445  _In_
1446  WDFDEVICE Device
1447  );
1448 
1451 WDFAPI
1452 NTSTATUS
1453 VFWDFEXPORT(WdfDeviceWdmAssignPowerFrameworkSettings)(
1454  _In_
1456  _In_
1457  WDFDEVICE Device,
1458  _In_
1460  );
1461 
1463 WDFAPI
1464 VOID
1465 VFWDFEXPORT(WdfDeviceInitSetReleaseHardwareOrderOnFailure)(
1466  _In_
1468  _In_
1470  _In_
1472  );
1473 
1475 WDFAPI
1476 VOID
1477 VFWDFEXPORT(WdfDeviceInitSetIoTypeEx)(
1478  _In_
1480  _In_
1482  _In_
1484  );
1485 
1488 WDFAPI
1489 NTSTATUS
1490 VFWDFEXPORT(WdfDeviceQueryPropertyEx)(
1491  _In_
1493  _In_
1494  WDFDEVICE Device,
1495  _In_
1497  _In_
1499  _Out_
1501  _Out_
1503  _Out_
1505  );
1506 
1509 WDFAPI
1510 NTSTATUS
1511 VFWDFEXPORT(WdfDeviceAllocAndQueryPropertyEx)(
1512  _In_
1514  _In_
1515  WDFDEVICE Device,
1516  _In_
1518  _In_
1521  _In_opt_
1523  _Out_
1524  WDFMEMORY* PropertyMemory,
1525  _Out_
1527  );
1528 
1531 WDFAPI
1532 NTSTATUS
1533 VFWDFEXPORT(WdfDeviceAssignProperty)(
1534  _In_
1536  _In_
1537  WDFDEVICE Device,
1538  _In_
1540  _In_
1541  DEVPROPTYPE Type,
1542  _In_
1543  ULONG Size,
1544  _In_opt_
1545  PVOID Data
1546  );
1547 
1549 WDFAPI
1550 WDFIOTARGET
1551 VFWDFEXPORT(WdfDeviceGetSelfIoTarget)(
1552  _In_
1554  _In_
1555  WDFDEVICE Device
1556  );
1557 
1559 WDFAPI
1560 VOID
1561 VFWDFEXPORT(WdfDeviceInitAllowSelfIoTarget)(
1562  _In_
1564  _In_
1566  );
1567 
1570 WDFAPI
1571 NTSTATUS
1572 VFWDFEXPORT(WdfDmaEnablerCreate)(
1573  _In_
1575  _In_
1576  WDFDEVICE Device,
1577  _In_
1579  _In_opt_
1581  _Out_
1582  WDFDMAENABLER* DmaEnablerHandle
1583  );
1584 
1587 WDFAPI
1588 NTSTATUS
1589 VFWDFEXPORT(WdfDmaEnablerConfigureSystemProfile)(
1590  _In_
1592  _In_
1593  WDFDMAENABLER DmaEnabler,
1594  _In_
1596  _In_
1598  );
1599 
1601 WDFAPI
1602 size_t
1603 VFWDFEXPORT(WdfDmaEnablerGetMaximumLength)(
1604  _In_
1606  _In_
1607  WDFDMAENABLER DmaEnabler
1608  );
1609 
1611 WDFAPI
1612 size_t
1613 VFWDFEXPORT(WdfDmaEnablerGetMaximumScatterGatherElements)(
1614  _In_
1616  _In_
1617  WDFDMAENABLER DmaEnabler
1618  );
1619 
1621 WDFAPI
1622 VOID
1623 VFWDFEXPORT(WdfDmaEnablerSetMaximumScatterGatherElements)(
1624  _In_
1626  _In_
1627  WDFDMAENABLER DmaEnabler,
1628  _In_
1629  _When_(MaximumFragments == 0, __drv_reportError(MaximumFragments cannot be zero))
1630  size_t MaximumFragments
1631  );
1632 
1634 WDFAPI
1635 size_t
1636 VFWDFEXPORT(WdfDmaEnablerGetFragmentLength)(
1637  _In_
1639  _In_
1640  WDFDMAENABLER DmaEnabler,
1641  _In_
1643  );
1644 
1646 WDFAPI
1648 VFWDFEXPORT(WdfDmaEnablerWdmGetDmaAdapter)(
1649  _In_
1651  _In_
1652  WDFDMAENABLER DmaEnabler,
1653  _In_
1655  );
1656 
1659 WDFAPI
1660 NTSTATUS
1661 VFWDFEXPORT(WdfDmaTransactionCreate)(
1662  _In_
1664  _In_
1665  WDFDMAENABLER DmaEnabler,
1666  _In_opt_
1668  _Out_
1669  WDFDMATRANSACTION* DmaTransaction
1670  );
1671 
1674 WDFAPI
1675 NTSTATUS
1676 VFWDFEXPORT(WdfDmaTransactionInitialize)(
1677  _In_
1679  _In_
1680  WDFDMATRANSACTION DmaTransaction,
1681  _In_
1683  _In_
1685  _In_
1686  PMDL Mdl,
1687  _In_
1689  _In_
1690  _When_(Length == 0, __drv_reportError(Length cannot be zero))
1691  size_t Length
1692  );
1693 
1696 WDFAPI
1697 NTSTATUS
1698 VFWDFEXPORT(WdfDmaTransactionInitializeUsingOffset)(
1699  _In_
1701  _In_
1702  WDFDMATRANSACTION DmaTransaction,
1703  _In_
1705  _In_
1707  _In_
1708  PMDL Mdl,
1709  _In_
1710  size_t Offset,
1711  _In_
1712  _When_(Length == 0, __drv_reportError(Length cannot be zero))
1713  size_t Length
1714  );
1715 
1718 WDFAPI
1719 NTSTATUS
1720 VFWDFEXPORT(WdfDmaTransactionInitializeUsingRequest)(
1721  _In_
1723  _In_
1724  WDFDMATRANSACTION DmaTransaction,
1725  _In_
1726  WDFREQUEST Request,
1727  _In_
1729  _In_
1731  );
1732 
1735 WDFAPI
1736 NTSTATUS
1737 VFWDFEXPORT(WdfDmaTransactionExecute)(
1738  _In_
1740  _In_
1741  WDFDMATRANSACTION DmaTransaction,
1742  _In_opt_
1744  );
1745 
1746 _Success_(TRUE)
1748 WDFAPI
1749 NTSTATUS
1750 VFWDFEXPORT(WdfDmaTransactionRelease)(
1751  _In_
1753  _In_
1754  WDFDMATRANSACTION DmaTransaction
1755  );
1756 
1758 WDFAPI
1759 BOOLEAN
1760 VFWDFEXPORT(WdfDmaTransactionDmaCompleted)(
1761  _In_
1763  _In_
1764  WDFDMATRANSACTION DmaTransaction,
1765  _Out_
1766  NTSTATUS* Status
1767  );
1768 
1770 WDFAPI
1771 BOOLEAN
1772 VFWDFEXPORT(WdfDmaTransactionDmaCompletedWithLength)(
1773  _In_
1775  _In_
1776  WDFDMATRANSACTION DmaTransaction,
1777  _In_
1778  size_t TransferredLength,
1779  _Out_
1780  NTSTATUS* Status
1781  );
1782 
1784 WDFAPI
1785 BOOLEAN
1786 VFWDFEXPORT(WdfDmaTransactionDmaCompletedFinal)(
1787  _In_
1789  _In_
1790  WDFDMATRANSACTION DmaTransaction,
1791  _In_
1792  size_t FinalTransferredLength,
1793  _Out_
1794  NTSTATUS* Status
1795  );
1796 
1798 WDFAPI
1799 size_t
1800 VFWDFEXPORT(WdfDmaTransactionGetBytesTransferred)(
1801  _In_
1803  _In_
1804  WDFDMATRANSACTION DmaTransaction
1805  );
1806 
1808 WDFAPI
1809 VOID
1810 VFWDFEXPORT(WdfDmaTransactionSetMaximumLength)(
1811  _In_
1813  _In_
1814  WDFDMATRANSACTION DmaTransaction,
1815  _In_
1816  size_t MaximumLength
1817  );
1818 
1820 WDFAPI
1821 WDFREQUEST
1822 VFWDFEXPORT(WdfDmaTransactionGetRequest)(
1823  _In_
1825  _In_
1826  WDFDMATRANSACTION DmaTransaction
1827  );
1828 
1830 WDFAPI
1831 size_t
1832 VFWDFEXPORT(WdfDmaTransactionGetCurrentDmaTransferLength)(
1833  _In_
1835  _In_
1836  WDFDMATRANSACTION DmaTransaction
1837  );
1838 
1840 WDFAPI
1841 WDFDEVICE
1842 VFWDFEXPORT(WdfDmaTransactionGetDevice)(
1843  _In_
1845  _In_
1846  WDFDMATRANSACTION DmaTransaction
1847  );
1848 
1850 WDFAPI
1851 VOID
1852 VFWDFEXPORT(WdfDmaTransactionGetTransferInfo)(
1853  _In_
1855  _In_
1856  WDFDMATRANSACTION DmaTransaction,
1857  _Out_opt_
1859  _Out_opt_
1861  );
1862 
1864 WDFAPI
1865 VOID
1866 VFWDFEXPORT(WdfDmaTransactionSetChannelConfigurationCallback)(
1867  _In_
1869  _In_
1870  WDFDMATRANSACTION DmaTransaction,
1871  _In_opt_
1873  _In_opt_
1875  );
1876 
1878 WDFAPI
1879 VOID
1880 VFWDFEXPORT(WdfDmaTransactionSetTransferCompleteCallback)(
1881  _In_
1883  _In_
1884  WDFDMATRANSACTION DmaTransaction,
1885  _In_opt_
1887  _In_opt_
1889  );
1890 
1892 WDFAPI
1893 VOID
1894 VFWDFEXPORT(WdfDmaTransactionSetImmediateExecution)(
1895  _In_
1897  _In_
1898  WDFDMATRANSACTION DmaTransaction,
1899  _In_
1901  );
1902 
1904 WDFAPI
1905 NTSTATUS
1906 VFWDFEXPORT(WdfDmaTransactionAllocateResources)(
1907  _In_
1909  _In_
1910  WDFDMATRANSACTION DmaTransaction,
1911  _In_
1913  _In_
1915  _In_
1917  _In_
1919  );
1920 
1922 WDFAPI
1923 VOID
1924 VFWDFEXPORT(WdfDmaTransactionSetDeviceAddressOffset)(
1925  _In_
1927  _In_
1928  WDFDMATRANSACTION DmaTransaction,
1929  _In_
1930  ULONG Offset
1931  );
1932 
1934 WDFAPI
1935 VOID
1936 VFWDFEXPORT(WdfDmaTransactionFreeResources)(
1937  _In_
1939  _In_
1940  WDFDMATRANSACTION DmaTransaction
1941  );
1942 
1944 WDFAPI
1945 BOOLEAN
1946 VFWDFEXPORT(WdfDmaTransactionCancel)(
1947  _In_
1949  _In_
1950  WDFDMATRANSACTION DmaTransaction
1951  );
1952 
1954 WDFAPI
1955 PVOID
1956 VFWDFEXPORT(WdfDmaTransactionWdmGetTransferContext)(
1957  _In_
1959  _In_
1960  WDFDMATRANSACTION DmaTransaction
1961  );
1962 
1964 WDFAPI
1965 VOID
1966 VFWDFEXPORT(WdfDmaTransactionStopSystemTransfer)(
1967  _In_
1969  _In_
1970  WDFDMATRANSACTION DmaTransaction
1971  );
1972 
1975 WDFAPI
1976 NTSTATUS
1977 VFWDFEXPORT(WdfDpcCreate)(
1978  _In_
1980  _In_
1982  _In_
1984  _Out_
1985  WDFDPC* Dpc
1986  );
1987 
1989 WDFAPI
1990 BOOLEAN
1991 VFWDFEXPORT(WdfDpcEnqueue)(
1992  _In_
1994  _In_
1995  WDFDPC Dpc
1996  );
1997 
2000 WDFAPI
2001 BOOLEAN
2002 VFWDFEXPORT(WdfDpcCancel)(
2003  _In_
2005  _In_
2006  WDFDPC Dpc,
2007  _In_
2008  BOOLEAN Wait
2009  );
2010 
2012 WDFAPI
2013 WDFOBJECT
2014 VFWDFEXPORT(WdfDpcGetParentObject)(
2015  _In_
2017  _In_
2018  WDFDPC Dpc
2019  );
2020 
2022 WDFAPI
2023 PKDPC
2024 VFWDFEXPORT(WdfDpcWdmGetDpc)(
2025  _In_
2027  _In_
2028  WDFDPC Dpc
2029  );
2030 
2033 WDFAPI
2034 NTSTATUS
2035 VFWDFEXPORT(WdfDriverCreate)(
2036  _In_
2038  _In_
2040  _In_
2042  _In_opt_
2044  _In_
2046  _Out_opt_
2047  WDFDRIVER* Driver
2048  );
2049 
2051 WDFAPI
2052 PWSTR
2053 VFWDFEXPORT(WdfDriverGetRegistryPath)(
2054  _In_
2056  _In_
2057  WDFDRIVER Driver
2058  );
2059 
2061 WDFAPI
2063 VFWDFEXPORT(WdfDriverWdmGetDriverObject)(
2064  _In_
2066  _In_
2067  WDFDRIVER Driver
2068  );
2069 
2072 WDFAPI
2073 NTSTATUS
2074 VFWDFEXPORT(WdfDriverOpenParametersRegistryKey)(
2075  _In_
2077  _In_
2078  WDFDRIVER Driver,
2079  _In_
2081  _In_opt_
2083  _Out_
2084  WDFKEY* Key
2085  );
2086 
2088 WDFAPI
2089 WDFDRIVER
2090 VFWDFEXPORT(WdfWdmDriverGetWdfDriverHandle)(
2091  _In_
2093  _In_
2095  );
2096 
2099 WDFAPI
2100 NTSTATUS
2101 VFWDFEXPORT(WdfDriverRegisterTraceInfo)(
2102  _In_
2104  _In_
2106  _In_
2108  _In_
2110  );
2111 
2114 WDFAPI
2115 NTSTATUS
2116 VFWDFEXPORT(WdfDriverRetrieveVersionString)(
2117  _In_
2119  _In_
2120  WDFDRIVER Driver,
2121  _In_
2122  WDFSTRING String
2123  );
2124 
2127 WDFAPI
2128 BOOLEAN
2129 VFWDFEXPORT(WdfDriverIsVersionAvailable)(
2130  _In_
2132  _In_
2133  WDFDRIVER Driver,
2134  _In_
2136  );
2137 
2139 WDFAPI
2141 VFWDFEXPORT(WdfFdoInitWdmGetPhysicalDevice)(
2142  _In_
2144  _In_
2146  );
2147 
2150 WDFAPI
2151 NTSTATUS
2152 VFWDFEXPORT(WdfFdoInitOpenRegistryKey)(
2153  _In_
2155  _In_
2157  _In_
2159  _In_
2161  _In_opt_
2163  _Out_
2164  WDFKEY* Key
2165  );
2166 
2169 WDFAPI
2170 NTSTATUS
2171 VFWDFEXPORT(WdfFdoInitQueryProperty)(
2172  _In_
2174  _In_
2176  _In_
2178  _In_
2182  _Out_
2184  );
2185 
2188 WDFAPI
2189 NTSTATUS
2190 VFWDFEXPORT(WdfFdoInitAllocAndQueryProperty)(
2191  _In_
2193  _In_
2195  _In_
2197  _In_
2200  _In_opt_
2202  _Out_
2203  WDFMEMORY* PropertyMemory
2204  );
2205 
2208 WDFAPI
2209 NTSTATUS
2210 VFWDFEXPORT(WdfFdoInitQueryPropertyEx)(
2211  _In_
2213  _In_
2215  _In_
2217  _In_
2219  _Out_
2221  _Out_
2223  _Out_
2225  );
2226 
2229 WDFAPI
2230 NTSTATUS
2231 VFWDFEXPORT(WdfFdoInitAllocAndQueryPropertyEx)(
2232  _In_
2234  _In_
2236  _In_
2238  _In_
2241  _In_opt_
2243  _Out_
2244  WDFMEMORY* PropertyMemory,
2245  _Out_
2247  );
2248 
2250 WDFAPI
2251 VOID
2252 VFWDFEXPORT(WdfFdoInitSetEventCallbacks)(
2253  _In_
2255  _In_
2257  _In_
2259  );
2260 
2262 WDFAPI
2263 VOID
2264 VFWDFEXPORT(WdfFdoInitSetFilter)(
2265  _In_
2267  _In_
2269  );
2270 
2272 WDFAPI
2273 VOID
2274 VFWDFEXPORT(WdfFdoInitSetDefaultChildListConfig)(
2275  _In_
2277  _Inout_
2279  _In_
2281  _In_opt_
2283  );
2284 
2287 WDFAPI
2288 NTSTATUS
2289 VFWDFEXPORT(WdfFdoQueryForInterface)(
2290  _In_
2292  _In_
2293  WDFDEVICE Fdo,
2294  _In_
2296  _Out_
2298  _In_
2299  USHORT Size,
2300  _In_
2301  USHORT Version,
2302  _In_opt_
2304  );
2305 
2307 WDFAPI
2308 WDFCHILDLIST
2309 VFWDFEXPORT(WdfFdoGetDefaultChildList)(
2310  _In_
2312  _In_
2313  WDFDEVICE Fdo
2314  );
2315 
2318 WDFAPI
2319 NTSTATUS
2320 VFWDFEXPORT(WdfFdoAddStaticChild)(
2321  _In_
2323  _In_
2324  WDFDEVICE Fdo,
2325  _In_
2326  WDFDEVICE Child
2327  );
2328 
2330 WDFAPI
2331 VOID
2332 VFWDFEXPORT(WdfFdoLockStaticChildListForIteration)(
2333  _In_
2335  _In_
2336  WDFDEVICE Fdo
2337  );
2338 
2341 WDFAPI
2342 WDFDEVICE
2343 VFWDFEXPORT(WdfFdoRetrieveNextStaticChild)(
2344  _In_
2346  _In_
2347  WDFDEVICE Fdo,
2348  _In_opt_
2349  WDFDEVICE PreviousChild,
2350  _In_
2351  ULONG Flags
2352  );
2353 
2355 WDFAPI
2356 VOID
2357 VFWDFEXPORT(WdfFdoUnlockStaticChildListFromIteration)(
2358  _In_
2360  _In_
2361  WDFDEVICE Fdo
2362  );
2363 
2365 WDFAPI
2367 VFWDFEXPORT(WdfFileObjectGetFileName)(
2368  _In_
2370  _In_
2371  WDFFILEOBJECT FileObject
2372  );
2373 
2375 WDFAPI
2376 ULONG
2377 VFWDFEXPORT(WdfFileObjectGetFlags)(
2378  _In_
2380  _In_
2381  WDFFILEOBJECT FileObject
2382  );
2383 
2385 WDFAPI
2386 WDFDEVICE
2387 VFWDFEXPORT(WdfFileObjectGetDevice)(
2388  _In_
2390  _In_
2391  WDFFILEOBJECT FileObject
2392  );
2393 
2395 WDFAPI
2397 VFWDFEXPORT(WdfFileObjectWdmGetFileObject)(
2398  _In_
2400  _In_
2401  WDFFILEOBJECT FileObject
2402  );
2403 
2406 WDFAPI
2407 NTSTATUS
2408 VFWDFEXPORT(WdfInterruptCreate)(
2409  _In_
2411  _In_
2412  WDFDEVICE Device,
2413  _In_
2415  _In_opt_
2417  _Out_
2418  WDFINTERRUPT* Interrupt
2419  );
2420 
2421 WDFAPI
2422 BOOLEAN
2424  _In_
2426  _In_
2427  WDFINTERRUPT Interrupt
2428  );
2429 
2430 WDFAPI
2431 BOOLEAN
2433  _In_
2435  _In_
2436  WDFINTERRUPT Interrupt
2437  );
2438 
2440 WDFAPI
2441 BOOLEAN
2442 VFWDFEXPORT(WdfInterruptSynchronize)(
2443  _In_
2445  _In_
2446  WDFINTERRUPT Interrupt,
2447  _In_
2449  _In_
2451  );
2452 
2454 WDFAPI
2455 VOID
2456 VFWDFEXPORT(WdfInterruptAcquireLock)(
2457  _In_
2459  _In_
2460  _Requires_lock_not_held_(_Curr_)
2461  _Acquires_lock_(_Curr_)
2462  WDFINTERRUPT Interrupt
2463  );
2464 
2466 WDFAPI
2467 VOID
2468 VFWDFEXPORT(WdfInterruptReleaseLock)(
2469  _In_
2471  _In_
2472  _Requires_lock_held_(_Curr_)
2473  _Releases_lock_(_Curr_)
2474  WDFINTERRUPT Interrupt
2475  );
2476 
2478 WDFAPI
2479 VOID
2480 VFWDFEXPORT(WdfInterruptEnable)(
2481  _In_
2483  _In_
2484  WDFINTERRUPT Interrupt
2485  );
2486 
2488 WDFAPI
2489 VOID
2490 VFWDFEXPORT(WdfInterruptDisable)(
2491  _In_
2493  _In_
2494  WDFINTERRUPT Interrupt
2495  );
2496 
2498 WDFAPI
2501  _In_
2503  _In_
2504  WDFINTERRUPT Interrupt
2505  );
2506 
2508 WDFAPI
2509 VOID
2510 VFWDFEXPORT(WdfInterruptGetInfo)(
2511  _In_
2513  _In_
2514  WDFINTERRUPT Interrupt,
2515  _Out_
2517  );
2518 
2520 WDFAPI
2521 VOID
2522 VFWDFEXPORT(WdfInterruptSetPolicy)(
2523  _In_
2525  _In_
2526  WDFINTERRUPT Interrupt,
2527  _In_
2529  _In_
2531  _In_
2533  );
2534 
2536 WDFAPI
2537 VOID
2538 VFWDFEXPORT(WdfInterruptSetExtendedPolicy)(
2539  _In_
2541  _In_
2542  WDFINTERRUPT Interrupt,
2543  _In_
2545  );
2546 
2547 WDFAPI
2548 WDFDEVICE
2550  _In_
2552  _In_
2553  WDFINTERRUPT Interrupt
2554  );
2555 
2557 _Post_satisfies_(return == 1 || return == 0)
2559 WDFAPI
2560 BOOLEAN
2561 VFWDFEXPORT(WdfInterruptTryToAcquireLock)(
2562  _In_
2564  _In_
2565  _Requires_lock_not_held_(_Curr_)
2566  _When_(return!=0, _Acquires_lock_(_Curr_))
2567  WDFINTERRUPT Interrupt
2568  );
2569 
2571 WDFAPI
2572 VOID
2573 VFWDFEXPORT(WdfInterruptReportActive)(
2574  _In_
2576  _In_
2577  WDFINTERRUPT Interrupt
2578  );
2579 
2581 WDFAPI
2582 VOID
2583 VFWDFEXPORT(WdfInterruptReportInactive)(
2584  _In_
2586  _In_
2587  WDFINTERRUPT Interrupt
2588  );
2589 
2592 WDFAPI
2593 NTSTATUS
2594 VFWDFEXPORT(WdfIoQueueCreate)(
2595  _In_
2597  _In_
2598  WDFDEVICE Device,
2599  _In_
2601  _In_opt_
2603  _Out_opt_
2604  WDFQUEUE* Queue
2605  );
2606 
2608 WDFAPI
2610 VFWDFEXPORT(WdfIoQueueGetState)(
2611  _In_
2613  _In_
2614  WDFQUEUE Queue,
2615  _Out_opt_
2617  _Out_opt_
2619  );
2620 
2622 WDFAPI
2623 VOID
2624 VFWDFEXPORT(WdfIoQueueStart)(
2625  _In_
2627  _In_
2628  WDFQUEUE Queue
2629  );
2630 
2632 WDFAPI
2633 VOID
2634 VFWDFEXPORT(WdfIoQueueStop)(
2635  _In_
2637  _In_
2638  WDFQUEUE Queue,
2639  _When_(Context != 0, _In_)
2640  _When_(Context == 0, _In_opt_)
2642  _When_(StopComplete != 0, _In_)
2645  );
2646 
2648 WDFAPI
2649 VOID
2650 VFWDFEXPORT(WdfIoQueueStopSynchronously)(
2651  _In_
2653  _In_
2654  WDFQUEUE Queue
2655  );
2656 
2658 WDFAPI
2659 WDFDEVICE
2660 VFWDFEXPORT(WdfIoQueueGetDevice)(
2661  _In_
2663  _In_
2664  WDFQUEUE Queue
2665  );
2666 
2669 WDFAPI
2670 NTSTATUS
2671 VFWDFEXPORT(WdfIoQueueRetrieveNextRequest)(
2672  _In_
2674  _In_
2675  WDFQUEUE Queue,
2676  _Out_
2677  WDFREQUEST* OutRequest
2678  );
2679 
2682 WDFAPI
2683 NTSTATUS
2684 VFWDFEXPORT(WdfIoQueueRetrieveRequestByFileObject)(
2685  _In_
2687  _In_
2688  WDFQUEUE Queue,
2689  _In_
2690  WDFFILEOBJECT FileObject,
2691  _Out_
2692  WDFREQUEST* OutRequest
2693  );
2694 
2697 WDFAPI
2698 NTSTATUS
2699 VFWDFEXPORT(WdfIoQueueFindRequest)(
2700  _In_
2702  _In_
2703  WDFQUEUE Queue,
2704  _In_opt_
2705  WDFREQUEST FoundRequest,
2706  _In_opt_
2707  WDFFILEOBJECT FileObject,
2708  _Inout_opt_
2710  _Out_
2711  WDFREQUEST* OutRequest
2712  );
2713 
2716 WDFAPI
2717 NTSTATUS
2718 VFWDFEXPORT(WdfIoQueueRetrieveFoundRequest)(
2719  _In_
2721  _In_
2722  WDFQUEUE Queue,
2723  _In_
2724  WDFREQUEST FoundRequest,
2725  _Out_
2726  WDFREQUEST* OutRequest
2727  );
2728 
2730 WDFAPI
2731 VOID
2732 VFWDFEXPORT(WdfIoQueueDrainSynchronously)(
2733  _In_
2735  _In_
2736  WDFQUEUE Queue
2737  );
2738 
2740 WDFAPI
2741 VOID
2742 VFWDFEXPORT(WdfIoQueueDrain)(
2743  _In_
2745  _In_
2746  WDFQUEUE Queue,
2747  _When_(Context != 0, _In_)
2748  _When_(Context == 0, _In_opt_)
2750  _When_(DrainComplete != 0, _In_)
2753  );
2754 
2756 WDFAPI
2757 VOID
2758 VFWDFEXPORT(WdfIoQueuePurgeSynchronously)(
2759  _In_
2761  _In_
2762  WDFQUEUE Queue
2763  );
2764 
2766 WDFAPI
2767 VOID
2768 VFWDFEXPORT(WdfIoQueuePurge)(
2769  _In_
2771  _In_
2772  WDFQUEUE Queue,
2773  _When_(Context != 0, _In_)
2774  _When_(Context == 0, _In_opt_)
2776  _When_(PurgeComplete != 0, _In_)
2779  );
2780 
2783 WDFAPI
2784 NTSTATUS
2785 VFWDFEXPORT(WdfIoQueueReadyNotify)(
2786  _In_
2788  _In_
2789  WDFQUEUE Queue,
2790  _In_opt_
2792  _In_opt_
2794  );
2795 
2798 WDFAPI
2799 NTSTATUS
2800 VFWDFEXPORT(WdfIoQueueAssignForwardProgressPolicy)(
2801  _In_
2803  _In_
2804  WDFQUEUE Queue,
2805  _In_
2807  );
2808 
2810 WDFAPI
2811 VOID
2812 VFWDFEXPORT(WdfIoQueueStopAndPurge)(
2813  _In_
2815  _In_
2816  WDFQUEUE Queue,
2817  _When_(Context != 0, _In_)
2818  _When_(Context == 0, _In_opt_)
2823  );
2824 
2826 WDFAPI
2827 VOID
2828 VFWDFEXPORT(WdfIoQueueStopAndPurgeSynchronously)(
2829  _In_
2831  _In_
2832  WDFQUEUE Queue
2833  );
2834 
2837 WDFAPI
2838 NTSTATUS
2839 VFWDFEXPORT(WdfIoTargetCreate)(
2840  _In_
2842  _In_
2843  WDFDEVICE Device,
2844  _In_opt_
2846  _Out_
2847  WDFIOTARGET* IoTarget
2848  );
2849 
2852 WDFAPI
2853 NTSTATUS
2854 VFWDFEXPORT(WdfIoTargetOpen)(
2855  _In_
2857  _In_
2858  WDFIOTARGET IoTarget,
2859  _In_
2861  );
2862 
2864 WDFAPI
2865 VOID
2866 VFWDFEXPORT(WdfIoTargetCloseForQueryRemove)(
2867  _In_
2869  _In_
2870  WDFIOTARGET IoTarget
2871  );
2872 
2874 WDFAPI
2875 VOID
2876 VFWDFEXPORT(WdfIoTargetClose)(
2877  _In_
2879  _In_
2880  WDFIOTARGET IoTarget
2881  );
2882 
2885 WDFAPI
2886 NTSTATUS
2887 VFWDFEXPORT(WdfIoTargetStart)(
2888  _In_
2890  _In_
2891  WDFIOTARGET IoTarget
2892  );
2893 
2896 WDFAPI
2897 VOID
2898 VFWDFEXPORT(WdfIoTargetStop)(
2899  _In_
2901  _In_
2902  WDFIOTARGET IoTarget,
2903  _In_
2906  );
2907 
2910 WDFAPI
2911 VOID
2912 VFWDFEXPORT(WdfIoTargetPurge)(
2913  _In_
2915  _In_
2916  WDFIOTARGET IoTarget,
2917  _In_
2920  );
2921 
2923 WDFAPI
2925 VFWDFEXPORT(WdfIoTargetGetState)(
2926  _In_
2928  _In_
2929  WDFIOTARGET IoTarget
2930  );
2931 
2933 WDFAPI
2934 WDFDEVICE
2935 VFWDFEXPORT(WdfIoTargetGetDevice)(
2936  _In_
2938  _In_
2939  WDFIOTARGET IoTarget
2940  );
2941 
2944 WDFAPI
2945 NTSTATUS
2946 VFWDFEXPORT(WdfIoTargetQueryTargetProperty)(
2947  _In_
2949  _In_
2950  WDFIOTARGET IoTarget,
2951  _In_
2953  _In_
2960  );
2961 
2964 WDFAPI
2965 NTSTATUS
2966 VFWDFEXPORT(WdfIoTargetAllocAndQueryTargetProperty)(
2967  _In_
2969  _In_
2970  WDFIOTARGET IoTarget,
2971  _In_
2973  _In_
2976  _In_opt_
2978  _Out_
2979  WDFMEMORY* PropertyMemory
2980  );
2981 
2984 WDFAPI
2985 NTSTATUS
2986 VFWDFEXPORT(WdfIoTargetQueryForInterface)(
2987  _In_
2989  _In_
2990  WDFIOTARGET IoTarget,
2991  _In_
2993  _Out_
2995  _In_
2996  USHORT Size,
2997  _In_
2998  USHORT Version,
2999  _In_opt_
3001  );
3002 
3004 WDFAPI
3006 VFWDFEXPORT(WdfIoTargetWdmGetTargetDeviceObject)(
3007  _In_
3009  _In_
3010  WDFIOTARGET IoTarget
3011  );
3012 
3014 WDFAPI
3016 VFWDFEXPORT(WdfIoTargetWdmGetTargetPhysicalDevice)(
3017  _In_
3019  _In_
3020  WDFIOTARGET IoTarget
3021  );
3022 
3024 WDFAPI
3026 VFWDFEXPORT(WdfIoTargetWdmGetTargetFileObject)(
3027  _In_
3029  _In_
3030  WDFIOTARGET IoTarget
3031  );
3032 
3034 WDFAPI
3035 HANDLE
3036 VFWDFEXPORT(WdfIoTargetWdmGetTargetFileHandle)(
3037  _In_
3039  _In_
3040  WDFIOTARGET IoTarget
3041  );
3042 
3045 WDFAPI
3046 NTSTATUS
3047 VFWDFEXPORT(WdfIoTargetSendReadSynchronously)(
3048  _In_
3050  _In_
3051  WDFIOTARGET IoTarget,
3052  _In_opt_
3053  WDFREQUEST Request,
3054  _In_opt_
3056  _In_opt_
3058  _In_opt_
3060  _Out_opt_
3062  );
3063 
3066 WDFAPI
3067 NTSTATUS
3068 VFWDFEXPORT(WdfIoTargetFormatRequestForRead)(
3069  _In_
3071  _In_
3072  WDFIOTARGET IoTarget,
3073  _In_
3074  WDFREQUEST Request,
3075  _In_opt_
3076  WDFMEMORY OutputBuffer,
3077  _In_opt_
3079  _In_opt_
3081  );
3082 
3085 WDFAPI
3086 NTSTATUS
3087 VFWDFEXPORT(WdfIoTargetSendWriteSynchronously)(
3088  _In_
3090  _In_
3091  WDFIOTARGET IoTarget,
3092  _In_opt_
3093  WDFREQUEST Request,
3094  _In_opt_
3096  _In_opt_
3098  _In_opt_
3100  _Out_opt_
3102  );
3103 
3106 WDFAPI
3107 NTSTATUS
3108 VFWDFEXPORT(WdfIoTargetFormatRequestForWrite)(
3109  _In_
3111  _In_
3112  WDFIOTARGET IoTarget,
3113  _In_
3114  WDFREQUEST Request,
3115  _In_opt_
3116  WDFMEMORY InputBuffer,
3117  _In_opt_
3119  _In_opt_
3121  );
3122 
3125 WDFAPI
3126 NTSTATUS
3127 VFWDFEXPORT(WdfIoTargetSendIoctlSynchronously)(
3128  _In_
3130  _In_
3131  WDFIOTARGET IoTarget,
3132  _In_opt_
3133  WDFREQUEST Request,
3134  _In_
3135  ULONG IoctlCode,
3136  _In_opt_
3138  _In_opt_
3140  _In_opt_
3142  _Out_opt_
3144  );
3145 
3148 WDFAPI
3149 NTSTATUS
3150 VFWDFEXPORT(WdfIoTargetFormatRequestForIoctl)(
3151  _In_
3153  _In_
3154  WDFIOTARGET IoTarget,
3155  _In_
3156  WDFREQUEST Request,
3157  _In_
3158  ULONG IoctlCode,
3159  _In_opt_
3160  WDFMEMORY InputBuffer,
3161  _In_opt_
3163  _In_opt_
3164  WDFMEMORY OutputBuffer,
3165  _In_opt_
3167  );
3168 
3171 WDFAPI
3172 NTSTATUS
3173 VFWDFEXPORT(WdfIoTargetSendInternalIoctlSynchronously)(
3174  _In_
3176  _In_
3177  WDFIOTARGET IoTarget,
3178  _In_opt_
3179  WDFREQUEST Request,
3180  _In_
3181  ULONG IoctlCode,
3182  _In_opt_
3184  _In_opt_
3186  _In_opt_
3188  _Out_opt_
3190  );
3191 
3194 WDFAPI
3195 NTSTATUS
3196 VFWDFEXPORT(WdfIoTargetFormatRequestForInternalIoctl)(
3197  _In_
3199  _In_
3200  WDFIOTARGET IoTarget,
3201  _In_
3202  WDFREQUEST Request,
3203  _In_
3204  ULONG IoctlCode,
3205  _In_opt_
3206  WDFMEMORY InputBuffer,
3207  _In_opt_
3209  _In_opt_
3210  WDFMEMORY OutputBuffer,
3211  _In_opt_
3213  );
3214 
3217 WDFAPI
3218 NTSTATUS
3219 VFWDFEXPORT(WdfIoTargetSendInternalIoctlOthersSynchronously)(
3220  _In_
3222  _In_
3223  WDFIOTARGET IoTarget,
3224  _In_opt_
3225  WDFREQUEST Request,
3226  _In_
3227  ULONG IoctlCode,
3228  _In_opt_
3230  _In_opt_
3232  _In_opt_
3234  _In_opt_
3236  _Out_opt_
3238  );
3239 
3242 WDFAPI
3243 NTSTATUS
3244 VFWDFEXPORT(WdfIoTargetFormatRequestForInternalIoctlOthers)(
3245  _In_
3247  _In_
3248  WDFIOTARGET IoTarget,
3249  _In_
3250  WDFREQUEST Request,
3251  _In_
3252  ULONG IoctlCode,
3253  _In_opt_
3254  WDFMEMORY OtherArg1,
3255  _In_opt_
3257  _In_opt_
3258  WDFMEMORY OtherArg2,
3259  _In_opt_
3261  _In_opt_
3262  WDFMEMORY OtherArg4,
3263  _In_opt_
3265  );
3266 
3268 WDFAPI
3269 NTSTATUS
3270 VFWDFEXPORT(WdfIoTargetSelfAssignDefaultIoQueue)(
3271  _In_
3273  _In_
3274  WDFIOTARGET IoTarget,
3275  _In_
3276  WDFQUEUE Queue
3277  );
3278 
3282 WDFAPI
3283 NTSTATUS
3284 VFWDFEXPORT(WdfMemoryCreate)(
3285  _In_
3287  _In_opt_
3289  _In_
3292  _In_opt_
3293  ULONG PoolTag,
3294  _In_
3296  size_t BufferSize,
3297  _Out_
3298  WDFMEMORY* Memory,
3300  PVOID* Buffer
3301  );
3302 
3305 WDFAPI
3306 NTSTATUS
3307 VFWDFEXPORT(WdfMemoryCreatePreallocated)(
3308  _In_
3310  _In_opt_
3313  PVOID Buffer,
3314  _In_
3316  size_t BufferSize,
3317  _Out_
3318  WDFMEMORY* Memory
3319  );
3320 
3322 WDFAPI
3323 PVOID
3324 VFWDFEXPORT(WdfMemoryGetBuffer)(
3325  _In_
3327  _In_
3328  WDFMEMORY Memory,
3329  _Out_opt_
3330  size_t* BufferSize
3331  );
3332 
3335 WDFAPI
3336 NTSTATUS
3337 VFWDFEXPORT(WdfMemoryAssignBuffer)(
3338  _In_
3340  _In_
3341  WDFMEMORY Memory,
3343  PVOID Buffer,
3344  _In_
3346  size_t BufferSize
3347  );
3348 
3351 WDFAPI
3352 NTSTATUS
3353 VFWDFEXPORT(WdfMemoryCopyToBuffer)(
3354  _In_
3356  _In_
3357  WDFMEMORY SourceMemory,
3358  _In_
3359  size_t SourceOffset,
3360  _Out_writes_bytes_( NumBytesToCopyTo )
3361  PVOID Buffer,
3362  _In_
3363  _When_(NumBytesToCopyTo == 0, __drv_reportError(NumBytesToCopyTo cannot be zero))
3364  size_t NumBytesToCopyTo
3365  );
3366 
3369 WDFAPI
3370 NTSTATUS
3371 VFWDFEXPORT(WdfMemoryCopyFromBuffer)(
3372  _In_
3374  _In_
3376  _In_
3377  size_t DestinationOffset,
3378  _In_
3379  PVOID Buffer,
3380  _In_
3381  _When_(NumBytesToCopyFrom == 0, __drv_reportError(NumBytesToCopyFrom cannot be zero))
3382  size_t NumBytesToCopyFrom
3383  );
3384 
3388 WDFAPI
3389 NTSTATUS
3390 VFWDFEXPORT(WdfLookasideListCreate)(
3391  _In_
3393  _In_opt_
3395  _In_
3397  size_t BufferSize,
3398  _In_
3401  _In_opt_
3403  _In_opt_
3404  ULONG PoolTag,
3405  _Out_
3406  WDFLOOKASIDE* Lookaside
3407  );
3408 
3411 WDFAPI
3412 NTSTATUS
3413 VFWDFEXPORT(WdfMemoryCreateFromLookaside)(
3414  _In_
3416  _In_
3417  WDFLOOKASIDE Lookaside,
3418  _Out_
3419  WDFMEMORY* Memory
3420  );
3421 
3424 WDFAPI
3425 NTSTATUS
3426 VFWDFEXPORT(WdfDeviceMiniportCreate)(
3427  _In_
3429  _In_
3430  WDFDRIVER Driver,
3431  _In_opt_
3433  _In_
3435  _In_opt_
3437  _In_opt_
3439  _Out_
3440  WDFDEVICE* Device
3441  );
3442 
3443 WDFAPI
3444 VOID
3446  _In_
3448  _In_
3449  WDFDRIVER Driver
3450  );
3451 
3452 WDFAPI
3453 PVOID
3454 FASTCALL
3456  _In_
3458  _In_
3459  WDFOBJECT Handle,
3460  _In_
3462  );
3463 
3464 WDFAPI
3465 NTSTATUS
3467  _In_
3469  _In_
3470  WDFOBJECT Handle,
3471  _In_
3472  PWDF_OBJECT_ATTRIBUTES ContextAttributes,
3473  _Outptr_opt_
3474  PVOID* Context
3475  );
3476 
3477 WDFAPI
3478 WDFOBJECT
3479 FASTCALL
3481  _In_
3483  _In_
3485  );
3486 
3487 WDFAPI
3488 VOID
3490  _In_
3492  _In_
3493  WDFOBJECT Handle,
3494  _In_opt_
3495  PVOID Tag,
3496  _In_
3497  LONG Line,
3498  _In_z_
3499  PCHAR File
3500  );
3501 
3502 WDFAPI
3503 VOID
3505  _In_
3507  _In_
3508  WDFOBJECT Handle,
3509  _In_opt_
3510  PVOID Tag,
3511  _In_
3512  LONG Line,
3513  _In_z_
3514  PCHAR File
3515  );
3516 
3519 WDFAPI
3520 NTSTATUS
3521 VFWDFEXPORT(WdfObjectCreate)(
3522  _In_
3524  _In_opt_
3526  _Out_
3527  WDFOBJECT* Object
3528  );
3529 
3531 WDFAPI
3532 VOID
3533 VFWDFEXPORT(WdfObjectDelete)(
3534  _In_
3536  _In_
3538  );
3539 
3542 WDFAPI
3543 NTSTATUS
3544 VFWDFEXPORT(WdfObjectQuery)(
3545  _In_
3547  _In_
3549  _In_
3550  CONST GUID* Guid,
3551  _In_
3554  PVOID QueryBuffer
3555  );
3556 
3559 WDFAPI
3561 VFWDFEXPORT(WdfPdoInitAllocate)(
3562  _In_
3564  _In_
3565  WDFDEVICE ParentDevice
3566  );
3567 
3569 WDFAPI
3570 VOID
3571 VFWDFEXPORT(WdfPdoInitSetEventCallbacks)(
3572  _In_
3574  _In_
3576  _In_
3578  );
3579 
3582 WDFAPI
3583 NTSTATUS
3584 VFWDFEXPORT(WdfPdoInitAssignDeviceID)(
3585  _In_
3587  _In_
3589  _In_
3591  );
3592 
3595 WDFAPI
3596 NTSTATUS
3597 VFWDFEXPORT(WdfPdoInitAssignInstanceID)(
3598  _In_
3600  _In_
3602  _In_
3604  );
3605 
3608 WDFAPI
3609 NTSTATUS
3610 VFWDFEXPORT(WdfPdoInitAddHardwareID)(
3611  _In_
3613  _In_
3615  _In_
3617  );
3618 
3621 WDFAPI
3622 NTSTATUS
3623 VFWDFEXPORT(WdfPdoInitAddCompatibleID)(
3624  _In_
3626  _In_
3628  _In_
3630  );
3631 
3634 WDFAPI
3635 NTSTATUS
3636 VFWDFEXPORT(WdfPdoInitAssignContainerID)(
3637  _In_
3639  _In_
3641  _In_
3643  );
3644 
3647 WDFAPI
3648 NTSTATUS
3649 VFWDFEXPORT(WdfPdoInitAddDeviceText)(
3650  _In_
3652  _In_
3654  _In_
3656  _In_
3658  _In_
3659  LCID LocaleId
3660  );
3661 
3663 WDFAPI
3664 VOID
3665 VFWDFEXPORT(WdfPdoInitSetDefaultLocale)(
3666  _In_
3668  _In_
3670  _In_
3671  LCID LocaleId
3672  );
3673 
3676 WDFAPI
3677 NTSTATUS
3678 VFWDFEXPORT(WdfPdoInitAssignRawDevice)(
3679  _In_
3681  _In_
3683  _In_
3685  );
3686 
3688 WDFAPI
3689 VOID
3690 VFWDFEXPORT(WdfPdoInitAllowForwardingRequestToParent)(
3691  _In_
3693  _In_
3695  );
3696 
3699 WDFAPI
3700 NTSTATUS
3701 VFWDFEXPORT(WdfPdoMarkMissing)(
3702  _In_
3704  _In_
3705  WDFDEVICE Device
3706  );
3707 
3709 WDFAPI
3710 VOID
3711 VFWDFEXPORT(WdfPdoRequestEject)(
3712  _In_
3714  _In_
3715  WDFDEVICE Device
3716  );
3717 
3719 WDFAPI
3720 WDFDEVICE
3721 VFWDFEXPORT(WdfPdoGetParent)(
3722  _In_
3724  _In_
3725  WDFDEVICE Device
3726  );
3727 
3730 WDFAPI
3731 NTSTATUS
3732 VFWDFEXPORT(WdfPdoRetrieveIdentificationDescription)(
3733  _In_
3735  _In_
3736  WDFDEVICE Device,
3737  _Inout_
3739  );
3740 
3743 WDFAPI
3744 NTSTATUS
3745 VFWDFEXPORT(WdfPdoRetrieveAddressDescription)(
3746  _In_
3748  _In_
3749  WDFDEVICE Device,
3750  _Inout_
3752  );
3753 
3756 WDFAPI
3757 NTSTATUS
3758 VFWDFEXPORT(WdfPdoUpdateAddressDescription)(
3759  _In_
3761  _In_
3762  WDFDEVICE Device,
3763  _Inout_
3765  );
3766 
3769 WDFAPI
3770 NTSTATUS
3771 VFWDFEXPORT(WdfPdoAddEjectionRelationsPhysicalDevice)(
3772  _In_
3774  _In_
3775  WDFDEVICE Device,
3776  _In_
3778  );
3779 
3781 WDFAPI
3782 VOID
3783 VFWDFEXPORT(WdfPdoRemoveEjectionRelationsPhysicalDevice)(
3784  _In_
3786  _In_
3787  WDFDEVICE Device,
3788  _In_
3790  );
3791 
3793 WDFAPI
3794 VOID
3795 VFWDFEXPORT(WdfPdoClearEjectionRelationsDevices)(
3796  _In_
3798  _In_
3799  WDFDEVICE Device
3800  );
3801 
3804 WDFAPI
3805 NTSTATUS
3806 VFWDFEXPORT(WdfDeviceAddQueryInterface)(
3807  _In_
3809  _In_
3810  WDFDEVICE Device,
3811  _In_
3813  );
3814 
3817 WDFAPI
3818 NTSTATUS
3819 VFWDFEXPORT(WdfRegistryOpenKey)(
3820  _In_
3822  _In_opt_
3823  WDFKEY ParentKey,
3824  _In_
3826  _In_
3828  _In_opt_
3830  _Out_
3831  WDFKEY* Key
3832  );
3833 
3836 WDFAPI
3837 NTSTATUS
3838 VFWDFEXPORT(WdfRegistryCreateKey)(
3839  _In_
3841  _In_opt_
3842  WDFKEY ParentKey,
3843  _In_
3845  _In_
3847  _In_
3849  _Out_opt_
3851  _In_opt_
3853  _Out_
3854  WDFKEY* Key
3855  );
3856 
3858 WDFAPI
3859 VOID
3860 VFWDFEXPORT(WdfRegistryClose)(
3861  _In_
3863  _In_
3864  WDFKEY Key
3865  );
3866 
3868 WDFAPI
3869 HANDLE
3870 VFWDFEXPORT(WdfRegistryWdmGetHandle)(
3871  _In_
3873  _In_
3874  WDFKEY Key
3875  );
3876 
3879 WDFAPI
3880 NTSTATUS
3881 VFWDFEXPORT(WdfRegistryRemoveKey)(
3882  _In_
3884  _In_
3885  WDFKEY Key
3886  );
3887 
3890 WDFAPI
3891 NTSTATUS
3892 VFWDFEXPORT(WdfRegistryRemoveValue)(
3893  _In_
3895  _In_
3896  WDFKEY Key,
3897  _In_
3899  );
3900 
3903 WDFAPI
3904 NTSTATUS
3905 VFWDFEXPORT(WdfRegistryQueryValue)(
3906  _In_
3908  _In_
3909  WDFKEY Key,
3910  _In_
3912  _In_
3915  PVOID Value,
3916  _Out_opt_
3918  _Out_opt_
3920  );
3921 
3924 WDFAPI
3925 NTSTATUS
3926 VFWDFEXPORT(WdfRegistryQueryMemory)(
3927  _In_
3929  _In_
3930  WDFKEY Key,
3931  _In_
3933  _In_
3936  _In_opt_
3938  _Out_
3939  WDFMEMORY* Memory,
3940  _Out_opt_
3942  );
3943 
3946 WDFAPI
3947 NTSTATUS
3948 VFWDFEXPORT(WdfRegistryQueryMultiString)(
3949  _In_
3951  _In_
3952  WDFKEY Key,
3953  _In_
3955  _In_opt_
3957  _In_
3958  WDFCOLLECTION Collection
3959  );
3960 
3963 WDFAPI
3964 NTSTATUS
3965 VFWDFEXPORT(WdfRegistryQueryUnicodeString)(
3966  _In_
3968  _In_
3969  WDFKEY Key,
3970  _In_
3972  _Out_opt_
3974  _Inout_opt_
3976  );
3977 
3980 WDFAPI
3981 NTSTATUS
3982 VFWDFEXPORT(WdfRegistryQueryString)(
3983  _In_
3985  _In_
3986  WDFKEY Key,
3987  _In_
3989  _In_
3990  WDFSTRING String
3991  );
3992 
3995 WDFAPI
3996 NTSTATUS
3997 VFWDFEXPORT(WdfRegistryQueryULong)(
3998  _In_
4000  _In_
4001  WDFKEY Key,
4002  _In_
4004  _Out_
4005  PULONG Value
4006  );
4007 
4010 WDFAPI
4011 NTSTATUS
4012 VFWDFEXPORT(WdfRegistryAssignValue)(
4013  _In_
4015  _In_
4016  WDFKEY Key,
4017  _In_
4019  _In_
4020  ULONG ValueType,
4021  _In_
4024  PVOID Value
4025  );
4026 
4029 WDFAPI
4030 NTSTATUS
4031 VFWDFEXPORT(WdfRegistryAssignMemory)(
4032  _In_
4034  _In_
4035  WDFKEY Key,
4036  _In_
4038  _In_
4039  ULONG ValueType,
4040  _In_
4041  WDFMEMORY Memory,
4042  _In_opt_
4044  );
4045 
4048 WDFAPI
4049 NTSTATUS
4050 VFWDFEXPORT(WdfRegistryAssignMultiString)(
4051  _In_
4053  _In_
4054  WDFKEY Key,
4055  _In_
4057  _In_
4058  WDFCOLLECTION StringsCollection
4059  );
4060 
4063 WDFAPI
4064 NTSTATUS
4065 VFWDFEXPORT(WdfRegistryAssignUnicodeString)(
4066  _In_
4068  _In_
4069  WDFKEY Key,
4070  _In_
4072  _In_
4074  );
4075 
4078 WDFAPI
4079 NTSTATUS
4080 VFWDFEXPORT(WdfRegistryAssignString)(
4081  _In_
4083  _In_
4084  WDFKEY Key,
4085  _In_
4087  _In_
4088  WDFSTRING String
4089  );
4090 
4093 WDFAPI
4094 NTSTATUS
4095 VFWDFEXPORT(WdfRegistryAssignULong)(
4096  _In_
4098  _In_
4099  WDFKEY Key,
4100  _In_
4102  _In_
4103  ULONG Value
4104  );
4105 
4108 WDFAPI
4109 NTSTATUS
4110 VFWDFEXPORT(WdfRequestCreate)(
4111  _In_
4113  _In_opt_
4115  _In_opt_
4116  WDFIOTARGET IoTarget,
4117  _Out_
4118  WDFREQUEST* Request
4119  );
4120 
4123 WDFAPI
4124 NTSTATUS
4125 VFWDFEXPORT(WdfRequestCreateFromIrp)(
4126  _In_
4128  _In_opt_
4130  _In_
4131  PIRP Irp,
4132  _In_
4134  _Out_
4135  WDFREQUEST* Request
4136  );
4137 
4139 WDFAPI
4140 NTSTATUS
4141 VFWDFEXPORT(WdfRequestReuse)(
4142  _In_
4144  _In_
4145  WDFREQUEST Request,
4146  _In_
4148  );
4149 
4152 WDFAPI
4153 NTSTATUS
4154 VFWDFEXPORT(WdfRequestChangeTarget)(
4155  _In_
4157  _In_
4158  WDFREQUEST Request,
4159  _In_
4160  WDFIOTARGET IoTarget
4161  );
4162 
4164 WDFAPI
4165 VOID
4166 VFWDFEXPORT(WdfRequestFormatRequestUsingCurrentType)(
4167  _In_
4169  _In_
4170  WDFREQUEST Request
4171  );
4172 
4174 WDFAPI
4175 VOID
4176 VFWDFEXPORT(WdfRequestWdmFormatUsingStackLocation)(
4177  _In_
4179  _In_
4180  WDFREQUEST Request,
4181  _In_
4183  );
4184 
4187 WDFAPI
4188 BOOLEAN
4190  _In_
4192  _In_
4193  WDFREQUEST Request,
4194  _In_
4195  WDFIOTARGET Target,
4196  _In_opt_
4198  );
4199 
4202 WDFAPI
4203 NTSTATUS
4204 VFWDFEXPORT(WdfRequestGetStatus)(
4205  _In_
4207  _In_
4208  WDFREQUEST Request
4209  );
4210 
4212 WDFAPI
4213 VOID
4214 VFWDFEXPORT(WdfRequestMarkCancelable)(
4215  _In_
4217  _In_
4218  WDFREQUEST Request,
4219  _In_
4221  );
4222 
4225 WDFAPI
4226 NTSTATUS
4227 VFWDFEXPORT(WdfRequestMarkCancelableEx)(
4228  _In_
4230  _In_
4231  WDFREQUEST Request,
4232  _In_
4234  );
4235 
4238 WDFAPI
4239 NTSTATUS
4240 VFWDFEXPORT(WdfRequestUnmarkCancelable)(
4241  _In_
4243  _In_
4244  WDFREQUEST Request
4245  );
4246 
4249 WDFAPI
4250 BOOLEAN
4251 VFWDFEXPORT(WdfRequestIsCanceled)(
4252  _In_
4254  _In_
4255  WDFREQUEST Request
4256  );
4257 
4259 WDFAPI
4260 BOOLEAN
4261 VFWDFEXPORT(WdfRequestCancelSentRequest)(
4262  _In_
4264  _In_
4265  WDFREQUEST Request
4266  );
4267 
4270 WDFAPI
4271 BOOLEAN
4272 VFWDFEXPORT(WdfRequestIsFrom32BitProcess)(
4273  _In_
4275  _In_
4276  WDFREQUEST Request
4277  );
4278 
4280 WDFAPI
4281 VOID
4282 VFWDFEXPORT(WdfRequestSetCompletionRoutine)(
4283  _In_
4285  _In_
4286  WDFREQUEST Request,
4287  _In_opt_
4291  );
4292 
4294 WDFAPI
4295 VOID
4296 VFWDFEXPORT(WdfRequestGetCompletionParams)(
4297  _In_
4299  _In_
4300  WDFREQUEST Request,
4301  _Out_
4303  );
4304 
4307 WDFAPI
4308 NTSTATUS
4309 VFWDFEXPORT(WdfRequestAllocateTimer)(
4310  _In_
4312  _In_
4313  WDFREQUEST Request
4314  );
4315 
4317 WDFAPI
4318 VOID
4319 VFWDFEXPORT(WdfRequestComplete)(
4320  _In_
4322  _In_
4323  WDFREQUEST Request,
4324  _In_
4326  );
4327 
4329 WDFAPI
4330 VOID
4331 VFWDFEXPORT(WdfRequestCompleteWithPriorityBoost)(
4332  _In_
4334  _In_
4335  WDFREQUEST Request,
4336  _In_
4337  NTSTATUS Status,
4338  _In_
4340  );
4341 
4343 WDFAPI
4344 VOID
4345 VFWDFEXPORT(WdfRequestCompleteWithInformation)(
4346  _In_
4348  _In_
4349  WDFREQUEST Request,
4350  _In_
4351  NTSTATUS Status,
4352  _In_
4354  );
4355 
4357 WDFAPI
4358 VOID
4359 VFWDFEXPORT(WdfRequestGetParameters)(
4360  _In_
4362  _In_
4363  WDFREQUEST Request,
4364  _Out_
4366  );
4367 
4370 WDFAPI
4371 NTSTATUS
4372 VFWDFEXPORT(WdfRequestRetrieveInputMemory)(
4373  _In_
4375  _In_
4376  WDFREQUEST Request,
4377  _Out_
4378  WDFMEMORY* Memory
4379  );
4380 
4383 WDFAPI
4384 NTSTATUS
4385 VFWDFEXPORT(WdfRequestRetrieveOutputMemory)(
4386  _In_
4388  _In_
4389  WDFREQUEST Request,
4390  _Out_
4391  WDFMEMORY* Memory
4392  );
4393 
4396 WDFAPI
4397 NTSTATUS
4398 VFWDFEXPORT(WdfRequestRetrieveInputBuffer)(
4399  _In_
4401  _In_
4402  WDFREQUEST Request,
4403  _In_
4404  size_t MinimumRequiredLength,
4406  PVOID* Buffer,
4407  _Out_opt_
4408  size_t* Length
4409  );
4410 
4413 WDFAPI
4414 NTSTATUS
4415 VFWDFEXPORT(WdfRequestRetrieveOutputBuffer)(
4416  _In_
4418  _In_
4419  WDFREQUEST Request,
4420  _In_
4421  size_t MinimumRequiredSize,
4423  PVOID* Buffer,
4424  _Out_opt_
4425  size_t* Length
4426  );
4427 
4430 WDFAPI
4431 NTSTATUS
4432 VFWDFEXPORT(WdfRequestRetrieveInputWdmMdl)(
4433  _In_
4435  _In_
4436  WDFREQUEST Request,
4437  _Outptr_
4438  PMDL* Mdl
4439  );
4440 
4443 WDFAPI
4444 NTSTATUS
4445 VFWDFEXPORT(WdfRequestRetrieveOutputWdmMdl)(
4446  _In_
4448  _In_
4449  WDFREQUEST Request,
4450  _Outptr_
4451  PMDL* Mdl
4452  );
4453 
4456 WDFAPI
4457 NTSTATUS
4458 VFWDFEXPORT(WdfRequestRetrieveUnsafeUserInputBuffer)(
4459  _In_
4461  _In_
4462  WDFREQUEST Request,
4463  _In_
4464  size_t MinimumRequiredLength,
4466  PVOID* InputBuffer,
4467  _Out_opt_
4468  size_t* Length
4469  );
4470 
4473 WDFAPI
4474 NTSTATUS
4475 VFWDFEXPORT(WdfRequestRetrieveUnsafeUserOutputBuffer)(
4476  _In_
4478  _In_
4479  WDFREQUEST Request,
4480  _In_
4481  size_t MinimumRequiredLength,
4484  _Out_opt_
4485  size_t* Length
4486  );
4487 
4489 WDFAPI
4490 VOID
4491 VFWDFEXPORT(WdfRequestSetInformation)(
4492  _In_
4494  _In_
4495  WDFREQUEST Request,
4496  _In_
4498  );
4499 
4501 WDFAPI
4502 ULONG_PTR
4503 VFWDFEXPORT(WdfRequestGetInformation)(
4504  _In_
4506  _In_
4507  WDFREQUEST Request
4508  );
4509 
4511 WDFAPI
4512 WDFFILEOBJECT
4513 VFWDFEXPORT(WdfRequestGetFileObject)(
4514  _In_
4516  _In_
4517  WDFREQUEST Request
4518  );
4519 
4522 WDFAPI
4523 NTSTATUS
4524 VFWDFEXPORT(WdfRequestProbeAndLockUserBufferForRead)(
4525  _In_
4527  _In_
4528  WDFREQUEST Request,
4530  PVOID Buffer,
4531  _In_
4532  size_t Length,
4533  _Out_
4534  WDFMEMORY* MemoryObject
4535  );
4536 
4539 WDFAPI
4540 NTSTATUS
4541 VFWDFEXPORT(WdfRequestProbeAndLockUserBufferForWrite)(
4542  _In_
4544  _In_
4545  WDFREQUEST Request,
4547  PVOID Buffer,
4548  _In_
4549  size_t Length,
4550  _Out_
4551  WDFMEMORY* MemoryObject
4552  );
4553 
4555 WDFAPI
4557 VFWDFEXPORT(WdfRequestGetRequestorMode)(
4558  _In_
4560  _In_
4561  WDFREQUEST Request
4562  );
4563 
4566 WDFAPI
4567 NTSTATUS
4568 VFWDFEXPORT(WdfRequestForwardToIoQueue)(
4569  _In_
4571  _In_
4572  WDFREQUEST Request,
4573  _In_
4574  WDFQUEUE DestinationQueue
4575  );
4576 
4578 WDFAPI
4579 WDFQUEUE
4580 VFWDFEXPORT(WdfRequestGetIoQueue)(
4581  _In_
4583  _In_
4584  WDFREQUEST Request
4585  );
4586 
4589 WDFAPI
4590 NTSTATUS
4591 VFWDFEXPORT(WdfRequestRequeue)(
4592  _In_
4594  _In_
4595  WDFREQUEST Request
4596  );
4597 
4599 WDFAPI
4600 VOID
4601 VFWDFEXPORT(WdfRequestStopAcknowledge)(
4602  _In_
4604  _In_
4605  WDFREQUEST Request,
4606  _In_
4608  );
4609 
4611 WDFAPI
4612 PIRP
4613 VFWDFEXPORT(WdfRequestWdmGetIrp)(
4614  _In_
4616  _In_
4617  WDFREQUEST Request
4618  );
4619 
4621 WDFAPI
4622 BOOLEAN
4623 VFWDFEXPORT(WdfRequestIsReserved)(
4624  _In_
4626  _In_
4627  WDFREQUEST Request
4628  );
4629 
4632 WDFAPI
4633 NTSTATUS
4634 VFWDFEXPORT(WdfRequestForwardToParentDeviceIoQueue)(
4635  _In_
4637  _In_
4638  WDFREQUEST Request,
4639  _In_
4640  WDFQUEUE ParentDeviceQueue,
4641  _In_
4643  );
4644 
4646 WDFAPI
4647 VOID
4648 VFWDFEXPORT(WdfIoResourceRequirementsListSetSlotNumber)(
4649  _In_
4651  _In_
4652  WDFIORESREQLIST RequirementsList,
4653  _In_
4655  );
4656 
4658 WDFAPI
4659 VOID
4660 VFWDFEXPORT(WdfIoResourceRequirementsListSetInterfaceType)(
4661  _In_
4663  _In_
4664  WDFIORESREQLIST RequirementsList,
4665  _In_
4668  );
4669 
4672 WDFAPI
4673 NTSTATUS
4674 VFWDFEXPORT(WdfIoResourceRequirementsListAppendIoResList)(
4675  _In_
4677  _In_
4678  WDFIORESREQLIST RequirementsList,
4679  _In_
4680  WDFIORESLIST IoResList
4681  );
4682 
4685 WDFAPI
4686 NTSTATUS
4687 VFWDFEXPORT(WdfIoResourceRequirementsListInsertIoResList)(
4688  _In_
4690  _In_
4691  WDFIORESREQLIST RequirementsList,
4692  _In_
4693  WDFIORESLIST IoResList,
4694  _In_
4695  ULONG Index
4696  );
4697 
4699 WDFAPI
4700 ULONG
4701 VFWDFEXPORT(WdfIoResourceRequirementsListGetCount)(
4702  _In_
4704  _In_
4705  WDFIORESREQLIST RequirementsList
4706  );
4707 
4709 WDFAPI
4710 WDFIORESLIST
4711 VFWDFEXPORT(WdfIoResourceRequirementsListGetIoResList)(
4712  _In_
4714  _In_
4715  WDFIORESREQLIST RequirementsList,
4716  _In_
4717  ULONG Index
4718  );
4719 
4721 WDFAPI
4722 VOID
4723 VFWDFEXPORT(WdfIoResourceRequirementsListRemove)(
4724  _In_
4726  _In_
4727  WDFIORESREQLIST RequirementsList,
4728  _In_
4729  ULONG Index
4730  );
4731 
4733 WDFAPI
4734 VOID
4735 VFWDFEXPORT(WdfIoResourceRequirementsListRemoveByIoResList)(
4736  _In_
4738  _In_
4739  WDFIORESREQLIST RequirementsList,
4740  _In_
4741  WDFIORESLIST IoResList
4742  );
4743 
4746 WDFAPI
4747 NTSTATUS
4748 VFWDFEXPORT(WdfIoResourceListCreate)(
4749  _In_
4751  _In_
4752  WDFIORESREQLIST RequirementsList,
4753  _In_opt_
4755  _Out_
4756  WDFIORESLIST* ResourceList
4757  );
4758 
4761 WDFAPI
4762 NTSTATUS
4763 VFWDFEXPORT(WdfIoResourceListAppendDescriptor)(
4764  _In_
4766  _In_
4767  WDFIORESLIST ResourceList,
4768  _In_
4770  );
4771 
4774 WDFAPI
4775 NTSTATUS
4776 VFWDFEXPORT(WdfIoResourceListInsertDescriptor)(
4777  _In_
4779  _In_
4780  WDFIORESLIST ResourceList,
4781  _In_
4783  _In_
4784  ULONG Index
4785  );
4786 
4788 WDFAPI
4789 VOID
4790 VFWDFEXPORT(WdfIoResourceListUpdateDescriptor)(
4791  _In_
4793  _In_
4794  WDFIORESLIST ResourceList,
4795  _In_
4797  _In_
4798  ULONG Index
4799  );
4800 
4802 WDFAPI
4803 ULONG
4804 VFWDFEXPORT(WdfIoResourceListGetCount)(
4805  _In_
4807  _In_
4808  WDFIORESLIST ResourceList
4809  );
4810 
4812 WDFAPI
4814 VFWDFEXPORT(WdfIoResourceListGetDescriptor)(
4815  _In_
4817  _In_
4818  WDFIORESLIST ResourceList,
4819  _In_
4820  ULONG Index
4821  );
4822 
4824 WDFAPI
4825 VOID
4826 VFWDFEXPORT(WdfIoResourceListRemove)(
4827  _In_
4829  _In_
4830  WDFIORESLIST ResourceList,
4831  _In_
4832  ULONG Index
4833  );
4834 
4836 WDFAPI
4837 VOID
4838 VFWDFEXPORT(WdfIoResourceListRemoveByDescriptor)(
4839  _In_
4841  _In_
4842  WDFIORESLIST ResourceList,
4843  _In_
4845  );
4846 
4849 WDFAPI
4850 NTSTATUS
4851 VFWDFEXPORT(WdfCmResourceListAppendDescriptor)(
4852  _In_
4854  _In_
4855  WDFCMRESLIST List,
4856  _In_
4858  );
4859 
4862 WDFAPI
4863 NTSTATUS
4864 VFWDFEXPORT(WdfCmResourceListInsertDescriptor)(
4865  _In_
4867  _In_
4868  WDFCMRESLIST List,
4869  _In_
4871  _In_
4872  ULONG Index
4873  );
4874 
4876 WDFAPI
4877 ULONG
4878 VFWDFEXPORT(WdfCmResourceListGetCount)(
4879  _In_
4881  _In_
4882  WDFCMRESLIST List
4883  );
4884 
4886 WDFAPI
4888 VFWDFEXPORT(WdfCmResourceListGetDescriptor)(
4889  _In_
4891  _In_
4892  WDFCMRESLIST List,
4893  _In_
4894  ULONG Index
4895  );
4896 
4898 WDFAPI
4899 VOID
4900 VFWDFEXPORT(WdfCmResourceListRemove)(
4901  _In_
4903  _In_
4904  WDFCMRESLIST List,
4905  _In_
4906  ULONG Index
4907  );
4908 
4910 WDFAPI
4911 VOID
4912 VFWDFEXPORT(WdfCmResourceListRemoveByDescriptor)(
4913  _In_
4915  _In_
4916  WDFCMRESLIST List,
4917  _In_
4919  );
4920 
4923 WDFAPI
4924 NTSTATUS
4925 VFWDFEXPORT(WdfStringCreate)(
4926  _In_
4928  _In_opt_
4930  _In_opt_
4932  _Out_
4933  WDFSTRING* String
4934  );
4935 
4937 WDFAPI
4938 VOID
4939 VFWDFEXPORT(WdfStringGetUnicodeString)(
4940  _In_
4942  _In_
4943  WDFSTRING String,
4944  _Out_
4946  );
4947 
4949 WDFAPI
4950 VOID
4951 VFWDFEXPORT(WdfObjectAcquireLock)(
4952  _In_
4954  _In_
4955  _Requires_lock_not_held_(_Curr_)
4956  _Acquires_lock_(_Curr_)
4958  );
4959 
4961 WDFAPI
4962 VOID
4963 VFWDFEXPORT(WdfObjectReleaseLock)(
4964  _In_
4966  _In_
4967  _Requires_lock_held_(_Curr_)
4968  _Releases_lock_(_Curr_)
4970  );
4971 
4974 WDFAPI
4975 NTSTATUS
4976 VFWDFEXPORT(WdfWaitLockCreate)(
4977  _In_
4978  PWDF_DRIVER_