ReactOS 0.4.16-dev-340-g0540c21
wdf19.h
Go to the documentation of this file.
1//
2// Copyright (C) Microsoft. All rights reserved.
3//
4#ifndef _WDF_V1_9_TYPES_H_
5#define _WDF_V1_9_TYPES_H_
6
7
8typedef enum _WDFFUNCENUM_V1_9 {
11
128
129//
130// Versioning of structures for wdf.h
131//
132// End of versioning of structures for wdf.h
133
134//
135// Versioning of structures for wdfassert.h
136//
137// End of versioning of structures for wdfassert.h
138
139//
140// Versioning of structures for wdfbugcodes.h
141//
143 //
144 // Current power state associated with the timed out device
145 //
147
148 //
149 // Current power policy state associated with the timed out device
150 //
152
153 //
154 // The device object for the timed out device
155 //
157
158 //
159 // The handle for the timed out device
160 //
161 WDFDEVICE Device;
162
163 //
164 // The thread which is stuck
165 //
167
169
171 WDFREQUEST Request;
172
174
176
178
180
182
184 WDFQUEUE Queue;
185
186 WDFREQUEST Request;
187
189
191
192// End of versioning of structures for wdfbugcodes.h
193
194//
195// Versioning of structures for wdfchildlist.h
196//
198 //
199 // Size in bytes of the entire description, including this header.
200 //
201 // Same value as WDF_CHILD_LIST_CONFIG::IdentificationDescriptionSize
202 // Used as a sanity check.
203 //
205
207
209 //
210 // Size in bytes of the entire description, including this header.
211 //
212 // Same value as WDF_CHILD_LIST_CONFIG::AddressDescriptionSize
213 // Used as a sanity check.
214 //
216
218
220 //
221 // Size of the structure in bytes
222 //
224
225 //
226 // Must be a valid pointer when passed in, copied into upon success
227 //
229
230 //
231 // Optional pointer when passed in, copied into upon success
232 //
234
235 //
236 // Status of the returned device
237 //
239
240 //
241 // If provided, will be used for searching through the list of devices
242 // instead of the default list ID compare function
243 //
245
247
249 //
250 // Size of this structure in bytes
251 //
253
254 //
255 // The size in bytes of an identificaiton description to be used with the
256 // created WDFCHILDLIST handle
257 //
259
260 //
261 // Optional size in bytes of an address description to be used with the
262 // created WDFCHILDLIST handle.
263 //
265
266 //
267 // Required callback to be invoked when a description on the device list
268 // needs to be converted into a real WDFDEVICE handle.
269 //
271
272 //
273 // Optional callback to be invoked when the device list needs to be
274 // rescanned. This function will be called after the device has entered D0
275 // and been fully initialized but before I/O has started.
276 //
278
279 //
280 // Optional callback to be invoked when an identification description needs
281 // to be copied from one location to another.
282 //
283 // If left NULL, RtlCopyMemory will be used to copy the description.
284 //
286
287 //
288 // Optional callback to be invoked when an identification description needs
289 // to be duplicated. As opposed to EvtChildListIdentificationDescriptionCopy,
290 // EvtChildListIdentificationDescriptionDuplicate can fail.
291 //
293
294 //
295 // Optional callback to be invoked when an identification description needs
296 // to be cleaned up. This function should *NOT* free the description passed
297 // to it, just free any associated resources.
298 //
300
301 //
302 // Optional callback to be invoked when an identification description needs
303 // to be compared with another identificaiton description.
304 //
305 // If left NULL, RtlCompareMemory will be used to compare the two
306 // descriptions.
307 //
309
310 //
311 // Optional callback to be invoked when an address description needs
312 // to be copied from one location to another.
313 //
314 // If left NULL, RtlCopyMemory will be used to copy the description.
315 //
317
318 //
319 // Optional callback to be invoked when an address description needs to be
320 // duplicated. As opposed to EvtChildListAddressDescriptionCopy,
321 // EvtChildListAddressDescriptionDuplicate can fail.
322 //
324
325 //
326 // Optional callback to be invoked when an address description needs to be
327 // cleaned up. This function should *NOT* free the description passed to
328 // it, just free any associated resources.
329 //
331
332 //
333 // If provided, will be called when the child's stack requests that the
334 // child be reenumerated. Returning TRUE allows for the reenumeration to
335 // proceed. FALSE will no reenumerate the stack.
336 //
338
340
342 //
343 // Size of this structure in bytes
344 //
346
347 //
348 // What type of devices to return, see WDF_RETRIEVE_CHILD_FLAGS for
349 // flag values
350 //
351 //
353
354 //
355 // For internal use, treat this field as opaque
356 //
358
360
361// End of versioning of structures for wdfchildlist.h
362
363//
364// Versioning of structures for wdfClassExtension.h
365//
368
370
372
374
376
379
381
383
385
387 //
388 // Size of the structure in bytes
389 //
391
392 //
393 // Name of the class to bind to
394 //
396
397 //
398 // Version information for the class
399 //
401
402 //
403 // Function export table from the class driver to resolve on bind
404 //
406
407 //
408 // Number of entries in FunctionTable
409 //
411
412 //
413 // Optional field where the client specify additional information
414 // for the class driver to resolve
415 //
417
418 //
419 // Optional bind callback. If set, WdfVersionBindClass will not
420 // be called and it will be up to ClientClassBind to call this function
421 // if required.
422 //
424
425 //
426 // Optional unbind callback. If set, WdfVersionUnbindClass will not be
427 // called and it will be up to ClientClassUnbind to call this function
428 // if required.
429 //
431
432 //
433 // Diagnostic cookie to use during debugging
434 //
436
438
440 //
441 // Size of this structure in bytes
442 //
444
445 //
446 // Version of this class library
447 //
449
450 //
451 // Callback to be called by the loader to initialize the class library
452 //
454
455 //
456 // Callback to be called by the loader to deinitialize the class library
457 // after succesful initialization (immediately before the class library will
458 // be unloaded).
459 //
461
462 //
463 // Callback to be called by the loader when a client driver has request to
464 // be bound to this class library.
465 //
467
468 //
469 // Callback to be called by the loader when a previously bound client driver
470 // is being unloaded.
471 //
473
475
476// End of versioning of structures for wdfClassExtension.h
477
478//
479// Versioning of structures for wdfClassExtensionList.h
480//
481// End of versioning of structures for wdfClassExtensionList.h
482
483//
484// Versioning of structures for wdfcollection.h
485//
486// End of versioning of structures for wdfcollection.h
487
488//
489// Versioning of structures for wdfCommonBuffer.h
490//
492 //
493 // Size of this structure in bytes
494 //
496
497 //
498 // Alignment requirement of the buffer address
499 //
501
503
504// End of versioning of structures for wdfCommonBuffer.h
505
506//
507// Versioning of structures for wdfcontrol.h
508//
509// End of versioning of structures for wdfcontrol.h
510
511//
512// Versioning of structures for wdfcore.h
513//
514// End of versioning of structures for wdfcore.h
515
516//
517// Versioning of structures for wdfDevice.h
518//
520 //
521 // Size of this structure in bytes
522 //
524
525 //
526 // Event callback for create requests
527 //
529
530 //
531 // Event callback for close requests
532 //
534
535 //
536 // Event callback for cleanup requests
537 //
539
540 //
541 // If WdfTrue, create/cleanup/close file object related requests will be
542 // sent down the stack.
543 //
544 // If WdfFalse, create/cleanup/close will be completed at this location in
545 // the device stack.
546 //
547 // If WdfDefault, behavior depends on device type
548 // FDO, PDO, Control: use the WdfFalse behavior
549 // Filter: use the WdfTrue behavior
550 //
552
553 //
554 // Specify whether framework should create WDFFILEOBJECT and also
555 // whether it can FsContexts fields in the WDM fileobject to store
556 // WDFFILEOBJECT so that it can avoid table look up and improve perf.
557 //
559
561
563 //
564 // Type of data
565 //
567
568 union {
569 struct {
570 //
571 // The current state that is about to be exited
572 //
574
575 //
576 // The new state that is about to be entered
577 //
579
581
582 struct {
583 //
584 // The current state
585 //
587
589
590 struct {
591 //
592 // The current state that is about to be exitted
593 //
595
596 //
597 // The state that is about to be entered
598 //
600
602
604
606
608 //
609 // Type of data
610 //
612
613 union {
614 struct {
615 //
616 // The current state that is about to be exitted
617 //
619
620 //
621 // The new state that is about to be entered
622 //
624
626
627 struct {
628 //
629 // The current state
630 //
632
634
635 struct {
636 //
637 // The current state that is about to be exitted
638 //
640
641 //
642 // The state that is about to be entered
643 //
645
647
649
651
653 //
654 // Type of data
655 //
657
658 union {
659 struct {
660 //
661 // The current state that is about to be exitted
662 //
664
665 //
666 // The new state that is about to be entered
667 //
669
671
672 struct {
673 //
674 // The current state
675 //
677
679
680 struct {
681 //
682 // The current state that is about to be exitted
683 //
685
686 //
687 // The state that is about to be entered
688 //
690
692
694
696
698 //
699 // Size of this structure in bytes
700 //
702
704
706
708
710
712
714
716
718
720
722
724
726
728
730
732
734
736
738 //
739 // Size of this structure in bytes
740 //
742
744
746
748
750
752
754
756
758
760 //
761 // Size of this structure in bytes
762 //
764
765 //
766 // Indicates whether the device can wake itself up while the machine is in
767 // S0.
768 //
770
771 //
772 // The low power state in which the device will be placed when it is idled
773 // out while the machine is in S0.
774 //
776
777 //
778 // Amount of time the device must be idle before idling out. Timeout is in
779 // milliseconds.
780 //
782
783 //
784 // Inidcates whether a user can control the idle policy of the device.
785 // By default, a user is allowed to change the policy.
786 //
788
789 //
790 // If WdfTrue, idling out while the machine is in S0 will be enabled.
791 //
792 // If WdfFalse, idling out will be disabled.
793 //
794 // If WdfUseDefault, the idling out will be enabled. If
795 // UserControlOfIdleSettings is set to IdleAllowUserControl, the user's
796 // settings will override the default.
797 //
799
800 //
801 // This field is applicable only when IdleCaps == IdleCannotWakeFromS0
802 // If WdfTrue,device is powered up on System Wake even if device is idle
803 // If WdfFalse, device is not powered up on system wake if it is idle
804 // If WdfUseDefault, the behavior is same as WdfFalse
805 //
807
809
811 //
812 // Size of this structure in bytes
813 //
815
816 //
817 // The low power state in which the device will be placed when it is armed
818 // for wake from Sx.
819 //
821
822 //
823 // Inidcates whether a user can control the idle policy of the device.
824 // By default, a user is allowed to change the policy.
825 //
827
828 //
829 // If WdfTrue, arming the device for wake while the machine is in Sx is
830 // enabled.
831 //
832 // If WdfFalse, arming the device for wake while the machine is in Sx is
833 // disabled.
834 //
835 // If WdfUseDefault, arming will be enabled. If UserControlOfWakeSettings
836 // is set to WakeAllowUserControl, the user's settings will override the
837 // default.
838 //
840
841 //
842 // If set to TRUE, arming the parent device can depend on whether there
843 // is atleast one child device armed for wake.
844 //
845 // If set to FALSE, arming of the parent device will be independent of
846 // whether any of the child devices are armed for wake.
847 //
849
850 //
851 // Indicates that whenever the parent device completes the wake irp
852 // successfully, the status needs to be also propagated to the child
853 // devices. This helps in tracking which devices were responsible for
854 // waking the system.
855 //
857
859
861 //
862 // Size of this structure in bytes
863 //
865
866 //
867 // If set to WdfTrue, the device will be disabled
868 //
870
871 //
872 // If set to WdfTrue, the device will not be displayed in device manager.
873 // Once hidden, the device cannot be unhidden.
874 //
876
877 //
878 // If set to WdfTrue, the device is reporting itself as failed. If set
879 // in conjuction with ResourcesChanged to WdfTrue, the device will receive
880 // a PnP stop and then a new PnP start device.
881 //
883
884 //
885 // If set to WdfTrue, the device cannot be subsequently disabled.
886 //
888
889
890
891
892 //
893 //
894 // If set to WdfTrue, the device stack will be torn down.
895 //
897
898 //
899 // If set to WdfTrue, the device will be sent another PnP start. If the
900 // Failed field is set to WdfTrue as well, a PnP stop will be sent before
901 // the start.
902 //
904
906
908 //
909 // Size of the structure in bytes
910 //
912
913 //
914 // NOTE: To mark a PDO as raw, call WdfPdoInitAssignRawDevice
915 //
916 //
918
920
922
924
926
928
930
932
934
935 //
936 // Default values of -1 indicate not to set this value
937 //
939
941
943
945 //
946 // Size of the structure in bytes
947 //
949
951
953
955
957
959
961
962 //
963 // Default value PowerDeviceMaximum indicates not to set this value
964 //
966
967 //
968 // Default value PowerDeviceMaximum, PowerSystemMaximum indicates not to
969 // set this value.
970 //
972
974
975 //
976 // Default values of -1 indicate not to set this value
977 //
979
981
983
984 //
985 // Ideal Dx state for the device to be put into when the machine moves into
986 // Sx and the device is not armed for wake. By default, the default will be
987 // placed into D3. If IdealDxStateForSx is lighter then
988 // DeviceState[Sx], then DeviceState[Sx] will be used as the Dx state.
989 //
991
993
994// End of versioning of structures for wdfDevice.h
995
996//
997// Versioning of structures for wdfDmaEnabler.h
998//
1000 //
1001 // Size of this structure in bytes
1002 //
1004
1005 //
1006 // One of the above WDF_DMA_PROFILES
1007 //
1009
1010 //
1011 // Maximum DMA Transfer handled in bytes.
1012 //
1014
1015 //
1016 // The various DMA PnP/Power event callbacks
1017 //
1019
1021
1023
1025
1027
1029
1031
1032// End of versioning of structures for wdfDmaEnabler.h
1033
1034//
1035// Versioning of structures for wdfDmaTransaction.h
1036//
1037// End of versioning of structures for wdfDmaTransaction.h
1038
1039//
1040// Versioning of structures for wdfdpc.h
1041//
1042typedef struct _WDF_DPC_CONFIG_V1_9 {
1044
1046
1047 //
1048 // If this is TRUE, the DPC will automatically serialize
1049 // with the event callback handlers of its Parent Object.
1050 //
1051 // Parent Object's callback constraints should be compatible
1052 // with the DPC (DISPATCH_LEVEL), or the request will fail.
1053 //
1055
1057
1058// End of versioning of structures for wdfdpc.h
1059
1060//
1061// Versioning of structures for wdfdriver.h
1062//
1064 //
1065 // Size of this structure in bytes
1066 //
1068
1069 //
1070 // Event callbacks
1071 //
1073
1075
1076 //
1077 // Combination of WDF_DRIVER_INIT_FLAGS values
1078 //
1080
1081 //
1082 // Pool tag to use for all allocations made by the framework on behalf of
1083 // the client driver.
1084 //
1086
1088
1090 //
1091 // Size of the structure in bytes
1092 //
1094
1095 //
1096 // Major Version requested
1097 //
1099
1100 //
1101 // Minor Version requested
1102 //
1104
1106
1107// End of versioning of structures for wdfdriver.h
1108
1109//
1110// Versioning of structures for wdffdo.h
1111//
1113 //
1114 // Size of this structure in bytes
1115 //
1117
1119
1121
1123
1125
1126// End of versioning of structures for wdffdo.h
1127
1128//
1129// Versioning of structures for wdffileobject.h
1130//
1131// End of versioning of structures for wdffileobject.h
1132
1133//
1134// Versioning of structures for wdfGlobals.h
1135//
1137 // backpointer to the handle for this driver
1138 WDFDRIVER Driver;
1139
1140 // Flags indicated by the driver during create
1142
1143 // Tag generated by WDF for the driver. Tag used by allocations made on
1144 // behalf of the driver by WDF.
1146
1148
1149 // If TRUE, the stub code will capture DriverObject->DriverUnload and insert
1150 // itself first in the unload chain. If FALSE, DriverUnload is left alone
1151 // (but WDF will not be notified of unload and there will be no auto cleanup).
1153
1155
1156// End of versioning of structures for wdfGlobals.h
1157
1158//
1159// Versioning of structures for wdfinstaller.h
1160//
1161// End of versioning of structures for wdfinstaller.h
1162
1163//
1164// Versioning of structures for wdfinterrupt.h
1165//
1166//
1167// Interrupt Configuration Structure
1168//
1171
1172 //
1173 // If this interrupt is to be synchronized with other interrupt(s) assigned
1174 // to the same WDFDEVICE, create a WDFSPINLOCK and assign it to each of the
1175 // WDFINTERRUPTs config.
1176 //
1177 WDFSPINLOCK SpinLock;
1178
1180
1182
1183 //
1184 // Automatic Serialization of the DpcForIsr
1185 //
1187
1188 // Event Callbacks
1190
1192
1194
1196
1198
1200 //
1201 // Size of this structure in bytes
1202 //
1204
1206
1208
1210
1212
1214
1216
1218
1220
1222
1223 // CM_SHARE_DISPOSITION
1225
1227
1229
1230//
1231// Interrupt Extended Policy Configuration Structure
1232//
1234 //
1235 // Size of this structure in bytes
1236 //
1238
1240
1242
1244
1246
1247// End of versioning of structures for wdfinterrupt.h
1248
1249//
1250// Versioning of structures for wdfio.h
1251//
1252//
1253// This is the structure used to configure an IoQueue and
1254// register callback events to it.
1255//
1256//
1259
1261
1263
1265
1267
1269
1271
1273
1275
1277
1279
1281
1283
1284 union {
1285 struct {
1287
1288 } Parallel;
1289
1291
1293
1296
1298
1299 //
1300 // Specify the type of the policy here.
1301 //
1303
1304 //
1305 // Structure which contains the policy specific fields
1306 //
1308
1309 //
1310 // Callback for reserved request given at initialization time
1311 //
1313
1314 //
1315 // Callback for reserved request given at run time
1316 //
1318
1320
1321// End of versioning of structures for wdfio.h
1322
1323//
1324// Versioning of structures for wdfIoTarget.h
1325//
1327 //
1328 // Size of this structure in bytes
1329 //
1331
1332 //
1333 // Indicates which fields of this structure are going to be used in
1334 // creating the WDFIOTARGET.
1335 //
1337
1338 //
1339 // Notification when the target is being queried for removal.
1340 // If !NT_SUCCESS is returned, the query will fail and the target will
1341 // remain opened.
1342 //
1344
1345 //
1346 // The previous query remove has been canceled and the target can now be
1347 // reopened.
1348 //
1350
1351 //
1352 // The query remove has succeeded and the target is now removed from the
1353 // system.
1354 //
1356
1357 // ========== WdfIoTargetOpenUseExistingDevice begin ==========
1358 //
1359 // The device object to send requests to
1360 //
1362
1363 //
1364 // File object representing the TargetDeviceObject. The PFILE_OBJECT will
1365 // be passed as a parameter in all requests sent to the resulting
1366 // WDFIOTARGET.
1367 //
1369
1370 // ========== WdfIoTargetOpenUseExistingDevice end ==========
1371 //
1372 // ========== WdfIoTargetOpenByName begin ==========
1373 //
1374 // Name of the device to open.
1375 //
1377
1378 //
1379 // The access desired on the device being opened up, ie WDM FILE_XXX_ACCESS
1380 // such as FILE_ANY_ACCESS, FILE_SPECIAL_ACCESS, FILE_READ_ACCESS, or
1381 // FILE_WRITE_ACCESS or you can use values such as GENERIC_READ,
1382 // GENERIC_WRITE, or GENERIC_ALL.
1383 //
1385
1386 //
1387 // Share access desired on the target being opened, ie WDM FILE_SHARE_XXX
1388 // values such as FILE_SHARE_READ, FILE_SHARE_WRITE, FILE_SHARE_DELETE.
1389 //
1390 // A zero value means exclusive access to the target.
1391 //
1393
1394 //
1395 // File attributes, see ZwCreateFile in the DDK for a list of valid
1396 // values and their meaning.
1397 //
1399
1400 //
1401 // Create disposition, see ZwCreateFile in the DDK for a list of valid
1402 // values and their meaning.
1403 //
1405
1406 //
1407 // Options for opening the device, see CreateOptions for ZwCreateFile in the
1408 // DDK for a list of valid values and their meaning.
1409 //
1411
1413
1415
1417
1418 // ========== WdfIoTargetOpenByName end ==========
1419 //
1420 //
1421 // On return for a create by name, this will contain one of the following
1422 // values: FILE_CREATED, FILE_OPENED, FILE_OVERWRITTEN, FILE_SUPERSEDED,
1423 // FILE_EXISTS, FILE_DOES_NOT_EXIST
1424 //
1426
1428
1429// End of versioning of structures for wdfIoTarget.h
1430
1431//
1432// Versioning of structures for wdfMemory.h
1433//
1435 //
1436 // Offset into the WDFMEMORY that the operation should start at.
1437 //
1439
1440 //
1441 // Number of bytes that the operation should access. If 0, the entire
1442 // length of the WDFMEMORY buffer will be used in the operation or ignored
1443 // depending on the API.
1444 //
1446
1448
1451
1452 union {
1453 struct {
1455
1457
1458 } BufferType;
1459
1460 struct {
1462
1464
1465 } MdlType;
1466
1467 struct {
1468 WDFMEMORY Memory;
1469
1471
1472 } HandleType;
1473
1474 } u;
1475
1477
1478// End of versioning of structures for wdfMemory.h
1479
1480//
1481// Versioning of structures for wdfMiniport.h
1482//
1483// End of versioning of structures for wdfMiniport.h
1484
1485//
1486// Versioning of structures for wdfObject.h
1487//
1489 //
1490 // Size in bytes of this structure
1491 //
1493
1494 //
1495 // Function to call when the object is deleted
1496 //
1498
1499 //
1500 // Function to call when the objects memory is destroyed when the
1501 // the last reference count goes to zero
1502 //
1504
1505 //
1506 // Execution level constraints for Object
1507 //
1509
1510 //
1511 // Synchronization level constraint for Object
1512 //
1514
1515 //
1516 // Optional Parent Object
1517 //
1519
1520 //
1521 // Overrides the size of the context allocated as specified by
1522 // ContextTypeInfo->ContextSize
1523 //
1525
1526 //
1527 // Pointer to the type information to be associated with the object
1528 //
1530
1532
1533//
1534// Since C does not have strong type checking we must invent our own
1535//
1537 //
1538 // The size of this structure in bytes
1539 //
1541
1542 //
1543 // String representation of the context's type name, i.e. "DEVICE_CONTEXT"
1544 //
1546
1547 //
1548 // The size of the context in bytes. This will be the size of the context
1549 // associated with the handle unless
1550 // WDF_OBJECT_ATTRIBUTES::ContextSizeOverride is specified.
1551 //
1553
1554 //
1555 // If NULL, this structure is the unique type identifier for the context
1556 // type. If != NULL, the UniqueType pointer value is the unique type id
1557 // for the context type.
1558 //
1560
1561 //
1562 // Function pointer to retrieve the context type information structure
1563 // pointer from the provider of the context type. This function is invoked
1564 // by the client driver's entry point by the KMDF stub after all class
1565 // drivers are loaded and before DriverEntry is invoked.
1566 //
1568
1570
1571// End of versioning of structures for wdfObject.h
1572
1573//
1574// Versioning of structures for wdfpdo.h
1575//
1577 //
1578 // The size of this structure in bytes
1579 //
1581
1582 //
1583 // Called in response to IRP_MN_QUERY_RESOURCES
1584 //
1586
1587 //
1588 // Called in response to IRP_MN_QUERY_RESOURCE_REQUIREMENTS
1589 //
1591
1592 //
1593 // Called in response to IRP_MN_EJECT
1594 //
1596
1597 //
1598 // Called in response to IRP_MN_SET_LOCK
1599 //
1601
1602 //
1603 // Called in response to the power policy owner sending a wait wake to the
1604 // PDO. Bus generic arming shoulding occur here.
1605 //
1607
1608 //
1609 // Called in response to the power policy owner sending a wait wake to the
1610 // PDO. Bus generic disarming shoulding occur here.
1611 //
1613
1615
1616// End of versioning of structures for wdfpdo.h
1617
1618//
1619// Versioning of structures for wdfpool.h
1620//
1621// End of versioning of structures for wdfpool.h
1622
1623//
1624// Versioning of structures for wdfqueryinterface.h
1625//
1627 //
1628 // Size of this structure in bytes.
1629 //
1631
1632 //
1633 // Interface to be returned to the caller. Optional if BehaviorType is set
1634 // to WdfQueryInterfaceTypePassThrough or ImportInterface is set to TRUE.
1635 //
1637
1638 //
1639 // The GUID identifying the interface
1640 //
1642
1643 //
1644 // Valid only for PDOs. The framework will allocate a new request and
1645 // forward it down the parent's device stack.
1646 //
1648
1649 //
1650 // Driver supplied callback which is called after some basic interface
1651 // validation has been performed (size, version, and guid checking). This
1652 // is an optional parameter and may be NULL unless ImportInterface is
1653 // specified.
1654 //
1655 // If the callback returns !NT_SUCCESS, this error will be returned to the
1656 // caller and the query interface will fail.
1657 //
1658 // In this callback, the caller is free to modify the ExposedInterface in
1659 // any manner of its choosing. For instance, the callback may change any
1660 // field in the interface. The callback may also alloate a dynamic context
1661 // to be associated with the interface; the InterfaceReference and
1662 // InterfaceDereference functions may also be overridden.
1663 //
1664 // If ImportInterface is set to TRUE, then this is a required field and the
1665 // callback must initialize the interface (the framework will leave the
1666 // ExposedInterface buffer exactly as it received it) since the framework
1667 // has no way of knowing which fields to fill in and which to leave alone.
1668 //
1670
1671 //
1672 // If TRUE, the interface provided by the caller contains data that the
1673 // driver is interested in. By setting to this field to TRUE, the
1674 // EvtDeviceProcessQueryInterfaceRequest callback must initialize the
1675 // ExposedInterface.
1676 //
1677 // If FALSE, the entire ExposedInterface is initialized through a memory
1678 // copy before the EvtDeviceProcessQueryInterfaceRequest is called.
1679 //
1681
1683
1684// End of versioning of structures for wdfqueryinterface.h
1685
1686//
1687// Versioning of structures for wdfregistry.h
1688//
1689// End of versioning of structures for wdfregistry.h
1690
1691//
1692// Versioning of structures for wdfrequest.h
1693//
1694//
1695// This parameters structure allows general access to a requests parameters
1696//
1699
1701
1703
1704 //
1705 // The following user parameters are based on the service that is being
1706 // invoked. Drivers and file systems can determine which set to use based
1707 // on the above major and minor function codes.
1708 //
1709 union {
1710 //
1711 // System service parameters for: Create
1712 //
1713 //
1714 struct {
1716
1718
1720
1722
1724
1726
1727 //
1728 // System service parameters for: Read
1729 //
1730 //
1731 struct {
1732 size_t Length;
1733
1735
1737
1739
1740 //
1741 // System service parameters for: Write
1742 //
1743 //
1744 struct {
1745 size_t Length;
1746
1748
1750
1752
1753 //
1754 // System service parameters for: Device Control
1755 //
1756 // Note that the user's output buffer is stored in the UserBuffer field
1757 // and the user's input buffer is stored in the SystemBuffer field.
1758 //
1759 //
1760 struct {
1762
1764
1766
1768
1770
1771 struct {
1773
1775
1777
1779
1780 } Others;
1781
1783
1785
1787 //
1788 // Size of the structure in bytes
1789 //
1791
1793
1795
1796 union {
1797 struct {
1798 WDFMEMORY Buffer;
1799
1800 size_t Length;
1801
1802 size_t Offset;
1803
1805
1806 struct {
1807 WDFMEMORY Buffer;
1808
1809 size_t Length;
1810
1811 size_t Offset;
1812
1814
1815 struct {
1817
1818 struct {
1819 WDFMEMORY Buffer;
1820
1821 size_t Offset;
1822
1824
1825 struct {
1826 WDFMEMORY Buffer;
1827
1828 size_t Offset;
1829
1830 size_t Length;
1831
1833
1835
1836 struct {
1837 union {
1839
1841
1843
1844 union {
1845 PVOID Ptr;
1846
1848
1850
1851 union {
1852 PVOID Ptr;
1853
1855
1856 } Argument3;
1857
1858 union {
1859 PVOID Ptr;
1860
1862
1864
1865 } Others;
1866
1867 struct {
1869
1870 } Usb;
1871
1873
1875
1877 //
1878 // Size of this structure in bytes
1879 //
1881
1882 //
1883 // Bit field combination of WDF_REQUEST_REUSE_Xxx values
1884 //
1886
1887 //
1888 // The new status of the request.
1889 //
1891
1892 //
1893 // New PIRP to be contained in the WDFREQUEST. Setting a new PIRP value
1894 // is only valid for WDFREQUESTs created by WdfRequestCreateFromIrp where
1895 // RequestFreesIrp == FALSE. No other WDFREQUESTs (presented by the
1896 // I/O queue for instance) may have their IRPs changed.
1897 //
1899
1901
1903 //
1904 // Size of the structure in bytes
1905 //
1907
1908 //
1909 // Bit field combination of values from the WDF_REQUEST_SEND_OPTIONS_FLAGS
1910 // enumeration
1911 //
1913
1914 //
1915 // Valid when WDF_REQUEST_SEND_OPTION_TIMEOUT is set
1916 //
1918
1920
1922 //
1923 // Size of the structure in bytes
1924 //
1926
1927 //
1928 // Bit field combination of values from the WDF_REQUEST_FORWARD_OPTIONS_FLAGS
1929 // enumeration
1930 //
1932
1934
1935// End of versioning of structures for wdfrequest.h
1936
1937//
1938// Versioning of structures for wdfresource.h
1939//
1940// End of versioning of structures for wdfresource.h
1941
1942//
1943// Versioning of structures for wdfstring.h
1944//
1945// End of versioning of structures for wdfstring.h
1946
1947//
1948// Versioning of structures for wdfsync.h
1949//
1950// End of versioning of structures for wdfsync.h
1951
1952//
1953// Versioning of structures for wdftimer.h
1954//
1957
1959
1961
1962 //
1963 // If this is TRUE, the Timer will automatically serialize
1964 // with the event callback handlers of its Parent Object.
1965 //
1966 // Parent Object's callback constraints should be compatible
1967 // with the Timer DPC (DISPATCH_LEVEL), or the request will fail.
1968 //
1970
1971 //
1972 // Optional tolerance for the timer in milliseconds.
1973 //
1975
1977
1978// End of versioning of structures for wdftimer.h
1979
1980//
1981// Versioning of structures for wdftypes.h
1982//
1983// End of versioning of structures for wdftypes.h
1984
1985//
1986// Versioning of structures for wdfUsb.h
1987//
1990
1992
1993 union {
1994 struct {
1995 WDFMEMORY Buffer;
1996
1998
2000
2001 //
2002 // If STATUS_BUFFER_OVERFLOW is returned, this field will contain the
2003 // number of bytes required to retrieve the entire string.
2004 //
2006
2007 } DeviceString;
2008
2009 struct {
2010 WDFMEMORY Buffer;
2011
2013
2015
2016 } DeviceControlTransfer;
2017
2018 struct {
2019 WDFMEMORY Buffer;
2020
2021 } DeviceUrb;
2022
2023 struct {
2024 WDFMEMORY Buffer;
2025
2026 size_t Length;
2027
2028 size_t Offset;
2029
2030 } PipeWrite;
2031
2032 struct {
2033 WDFMEMORY Buffer;
2034
2035 size_t Length;
2036
2037 size_t Offset;
2038
2039 } PipeRead;
2040
2041 struct {
2042 WDFMEMORY Buffer;
2043
2044 } PipeUrb;
2045
2047
2049
2051 //
2052 // Size of the string in bytes
2053 //
2055
2056 //
2057 // Number of bytes to send ask for from the usb device.
2058 //
2060
2061 //
2062 // Number of bytes to allocate before the requested transfer length
2063 //
2065
2066 //
2067 // Number of bytes to allocate after the requested transfer length
2068 //
2070
2071 //
2072 // Number of reads to send to the device at once. If zero is specified, the
2073 // default will be used.
2074 //
2076
2077 //
2078 // Optional attributes to apply to each WDFMEMORY allocated for each read
2079 //
2081
2082 //
2083 // Event callback invoked when a read is completed
2084 //
2086
2087 //
2088 // Context to be passed to EvtUsbTargetPipeReadComplete
2089 //
2091
2092 //
2093 // Event callback invoked when a reader fails. If TRUE is returned, the
2094 // readers are restarted.
2095 //
2097
2099
2101 //
2102 // Size of this structure in bytes
2103 //
2105
2106 //
2107 // USBD version information
2108 //
2110
2111 //
2112 // Usb controller port capabilities
2113 //
2115
2116 //
2117 // Bitfield of WDF_USB_DEVICE_TRAITS values
2118 //
2120
2122
2124 //
2125 // Interface to select
2126 //
2127 WDFUSBINTERFACE UsbInterface;
2128
2129 //
2130 // Setting to select on UsbInterface
2131 //
2133
2135
2137 //
2138 // Size of the structure in bytes
2139 //
2141
2142 //
2143 // Type of select config, one of WdfUsbTargetDeviceSelectConfigType values
2144 //
2146
2147 union {
2148 struct {
2149 //
2150 // Configuration descriptor to use
2151 //
2153
2154 //
2155 // Array of interface descriptors pointers.
2156 //
2158
2159 //
2160 // Number of elements in the InterfaceDescrtiptors pointer array.
2161 //
2163
2165
2166 struct {
2167 //
2168 // Preallocated select config URB formatted by the caller.
2169 // Will be used, as supplied without modification, as the select
2170 // config request.
2171 //
2173
2174 } Urb;
2175
2176 struct {
2177 //
2178 // Number of pipes configured on the single after. This value is
2179 // returned to the caller after a succssful call.
2180 //
2182
2183 //
2184 // The interface which was configred. This value is returned to the
2185 // caller after a successful call.
2186 //
2187 WDFUSBINTERFACE ConfiguredUsbInterface;
2188
2189 } SingleInterface;
2190
2191 struct {
2192 //
2193 // Number of interface pairs in the Pairs array
2194 //
2196
2197 //
2198 // Array of interface + settings
2199 //
2201
2202 //
2203 // Number of interfaces which were configured after a successful call
2204 //
2206
2207 } MultiInterface;
2208
2210
2212
2214 //
2215 // Size of this data structure in bytes
2216 //
2218
2219 //
2220 // Type of select interface as indicated by one of the
2221 // WdfUsbTargetDeviceSelectSettingType values.
2222 //
2224
2225 union {
2226 struct {
2227 //
2228 // Interface descriptor that will be used in the interface selection
2229 //
2231
2233
2234 struct {
2235 //
2236 // The setting index of the WDFUSBINTERFACE to use
2237 //
2239
2241
2242 struct {
2243 //
2244 // Preformatted select interface URB which will be used in the
2245 // select interface request.
2246 //
2248
2249 } Urb;
2250
2252
2254
2256 //
2257 // Size of the structure in bytes
2258 //
2260
2261 //
2262 // Maximum packet size this device is capable of
2263 //
2265
2266 //
2267 // Raw endpoint address of the device as described by its descriptor
2268 //
2270
2271 //
2272 // Polling interval
2273 //
2275
2276 //
2277 // Which alternate setting this structure is relevant for
2278 //
2280
2281 //
2282 // The type of the pipe
2284
2285 //
2286 // Maximum size of one transfer which should be sent to the host controller
2287 //
2289
2291
2292// End of versioning of structures for wdfUsb.h
2293
2294//
2295// Versioning of structures for wdfverifier.h
2296//
2297// End of versioning of structures for wdfverifier.h
2298
2299//
2300// Versioning of structures for wdfWMI.h
2301//
2303 //
2304 // Size of this structure in bytes
2305 //
2307
2308 //
2309 // The GUID being registered
2310 //
2312
2313 //
2314 // Combination of values from the enum WDF_WMI_PROVIDER_FLAGS
2315 //
2317
2318 //
2319 // Minimum expected buffer size for query and set instance requests.
2320 // Ignored if WdfWmiProviderEventOnly is set in Flags.
2321 //
2323
2324 //
2325 // Callback when caller is opening a provider which ha been marked as
2326 // expensive or when a caller is interested in events.
2327 //
2329
2331
2333 //
2334 // Size of the structure in bytes
2335 //
2337
2338 //
2339 // Optional parameter. If NULL, ProviderConfig must be set to a valid pointer
2340 // value. If specified, indicates the provider to create an instance for.
2341 //
2342 WDFWMIPROVIDER Provider;
2343
2344 //
2345 // Optional parameter. If NULL, Provider must be set to a valid handle
2346 // value. If specifeid, indicates the configuration for a provider to be
2347 // created and for this instance to be associated with.
2348 //
2350
2351 //
2352 // If the Provider is configured as read only and this field is set to TRUE,
2353 // the EvtWmiInstanceQueryInstance is ignored and WDF will blindly copy the
2354 // context associated with this instance (using RtlCopyMemory, with no locks
2355 // held) into the query buffer.
2356 //
2358
2359 //
2360 // If TRUE, the instance will be registered as well as created.
2361 //
2363
2364 //
2365 // Callback when caller wants to query the entire data item's buffer.
2366 //
2368
2369 //
2370 // Callback when caller wants to set the entire data item's buffer.
2371 //
2373
2374 //
2375 // Callback when caller wants to set a single field in the data item's buffer
2376 //
2378
2379 //
2380 // Callback when caller wants to execute a method on the data item.
2381 //
2383
2385
2386// End of versioning of structures for wdfWMI.h
2387
2388//
2389// Versioning of structures for wdfworkitem.h
2390//
2393
2395
2396 //
2397 // If this is TRUE, the workitem will automatically serialize
2398 // with the event callback handlers of its Parent Object.
2399 //
2400 // Parent Object's callback constraints should be compatible
2401 // with the work item (PASSIVE_LEVEL), or the request will fail.
2402 //
2404
2406
2407// End of versioning of structures for wdfworkitem.h
2408
2409
2410#endif // _WDF_V1_9_TYPES_H_
unsigned char BOOLEAN
char ACPI_OBJECT_TYPE * Types
Definition: acdebug.h:354
LONG NTSTATUS
Definition: precomp.h:26
@ Create
Definition: registry.c:563
Definition: bufpool.h:45
_In_ PVOID Argument2
Definition: classpnp.h:721
BOOL WINAPI DeviceIoControl(IN HANDLE hDevice, IN DWORD dwIoControlCode, IN LPVOID lpInBuffer OPTIONAL, IN DWORD nInBufferSize OPTIONAL, OUT LPVOID lpOutBuffer OPTIONAL, IN DWORD nOutBufferSize OPTIONAL, OUT LPDWORD lpBytesReturned OPTIONAL, IN LPOVERLAPPED lpOverlapped OPTIONAL)
Definition: deviceio.c:136
ULONG_PTR KAFFINITY
Definition: compat.h:85
UCHAR KIRQL
Definition: env_spec_w32.h:591
_Must_inspect_result_ _In_ PFSRTL_PER_STREAM_CONTEXT Ptr
Definition: fsrtlfuncs.h:898
InternalIoctlParams Argument4
_Must_inspect_result_ __in WDFIOTARGET __in_opt WDFREQUEST __in ULONG Ioctl
ULONG WDF_MINOR_VERSION
Definition: fxldrum.h:27
ULONG WDF_MAJOR_VERSION
Definition: fxldrum.h:26
ULONG WDF_BUILD_NUMBER
Definition: fxldrum.h:28
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble * u
Definition: glfuncs.h:240
unsigned __int64 ULONG64
Definition: imports.h:198
_In_opt_ PSID Group
Definition: rtlfuncs.h:1658
ULONG ACCESS_MASK
Definition: nt_native.h:40
__GNU_EXTENSION typedef __int64 * PLONGLONG
Definition: ntbasedef.h:390
_In_ ULONG _In_ ULONG Offset
Definition: ntddpcm.h:101
_In_ ULONG _In_ ULONG _In_ ULONG Length
Definition: ntddpcm.h:102
@ PowerSystemMaximum
Definition: ntpoapi.h:42
enum _DEVICE_POWER_STATE DEVICE_POWER_STATE
enum _SYSTEM_POWER_STATE SYSTEM_POWER_STATE
#define CONST
Definition: pedump.c:81
unsigned short USHORT
Definition: pedump.c:61
enum _KINTERRUPT_MODE KINTERRUPT_MODE
@ Input
Definition: arc.h:84
@ Output
Definition: arc.h:85
_In_ BOOLEAN Read
Definition: strmini.h:479
Definition: usb.h:529
PFN_WDF_CHILD_LIST_ADDRESS_DESCRIPTION_DUPLICATE EvtChildListAddressDescriptionDuplicate
Definition: wdf19.h:323
PFN_WDF_CHILD_LIST_IDENTIFICATION_DESCRIPTION_CLEANUP EvtChildListIdentificationDescriptionCleanup
Definition: wdf19.h:299
PFN_WDF_CHILD_LIST_IDENTIFICATION_DESCRIPTION_COMPARE EvtChildListIdentificationDescriptionCompare
Definition: wdf19.h:308
PFN_WDF_CHILD_LIST_ADDRESS_DESCRIPTION_COPY EvtChildListAddressDescriptionCopy
Definition: wdf19.h:316
PFN_WDF_CHILD_LIST_IDENTIFICATION_DESCRIPTION_COPY EvtChildListIdentificationDescriptionCopy
Definition: wdf19.h:285
PFN_WDF_CHILD_LIST_CREATE_DEVICE EvtChildListCreateDevice
Definition: wdf19.h:270
PFN_WDF_CHILD_LIST_SCAN_FOR_CHILDREN EvtChildListScanForChildren
Definition: wdf19.h:277
PFN_WDF_CHILD_LIST_DEVICE_REENUMERATED EvtChildListDeviceReenumerated
Definition: wdf19.h:337
PFN_WDF_CHILD_LIST_IDENTIFICATION_DESCRIPTION_DUPLICATE EvtChildListIdentificationDescriptionDuplicate
Definition: wdf19.h:292
PFN_WDF_CHILD_LIST_ADDRESS_DESCRIPTION_CLEANUP EvtChildListAddressDescriptionCleanup
Definition: wdf19.h:330
ULONG IdentificationDescriptionSize
Definition: wdf19.h:258
PWDF_CHILD_ADDRESS_DESCRIPTION_HEADER_V1_9 AddressDescription
Definition: wdf19.h:233
WDF_CHILD_LIST_RETRIEVE_DEVICE_STATUS Status
Definition: wdf19.h:238
PFN_WDF_CHILD_LIST_IDENTIFICATION_DESCRIPTION_COMPARE EvtChildListIdentificationDescriptionCompare
Definition: wdf19.h:244
PWDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER_V1_9 IdentificationDescription
Definition: wdf19.h:228
WDF_CLASS_VERSION_V1_9 Version
Definition: wdf19.h:400
PFN_WDF_CLIENT_BIND_CLASS ClientBindClass
Definition: wdf19.h:423
PFN_WDF_CLASS_EXPORT * FunctionTable
Definition: wdf19.h:405
PFN_WDF_CLIENT_UNBIND_CLASS ClientUnbindClass
Definition: wdf19.h:430
PCWDF_CLASS_EXTENSION_DESCRIPTOR_V1_9 Next
Definition: wdf19.h:367
PFN_WDF_CLASS_EXTENSIONIN_UNBIND Unbind
Definition: wdf19.h:373
PFN_WDF_CLASS_EXTENSIONIN_BIND Bind
Definition: wdf19.h:371
PFN_WDF_CLASS_LIBRARY_BIND_CLIENT ClassLibraryBindClient
Definition: wdf19.h:466
WDF_CLASS_VERSION_V1_9 Version
Definition: wdf19.h:448
PFN_WDF_CLASS_LIBRARY_INITIALIZE ClassLibraryInitialize
Definition: wdf19.h:453
PFN_WDF_CLASS_LIBRARY_UNBIND_CLIENT ClassLibraryUnbindClient
Definition: wdf19.h:472
PFN_WDF_CLASS_LIBRARY_DEINITIALIZE ClassLibraryDeinitialize
Definition: wdf19.h:460
WDF_MINOR_VERSION Minor
Definition: wdf19.h:380
WDF_BUILD_NUMBER Build
Definition: wdf19.h:382
WDF_MAJOR_VERSION Major
Definition: wdf19.h:378
WDF_TRI_STATE SurpriseRemovalOK
Definition: wdf19.h:929
WDF_TRI_STATE EjectSupported
Definition: wdf19.h:919
WDF_TRI_STATE HardwareDisabled
Definition: wdf19.h:931
WDF_DEVICE_PNP_STATE CurrentState
Definition: wdf19.h:573
union _WDF_DEVICE_PNP_NOTIFICATION_DATA_V1_9::@4698 Data
WDF_DEVICE_PNP_STATE NewState
Definition: wdf19.h:578
struct _WDF_DEVICE_PNP_NOTIFICATION_DATA_V1_9::@4698::@4701 LeaveState
struct _WDF_DEVICE_PNP_NOTIFICATION_DATA_V1_9::@4698::@4700 PostProcessState
struct _WDF_DEVICE_PNP_NOTIFICATION_DATA_V1_9::@4698::@4699 EnterState
WDF_STATE_NOTIFICATION_TYPE Type
Definition: wdf19.h:566
DEVICE_POWER_STATE IdealDxStateForSx
Definition: wdf19.h:990
DEVICE_POWER_STATE DeviceWake
Definition: wdf19.h:971
SYSTEM_POWER_STATE SystemWake
Definition: wdf19.h:973
WDF_DEVICE_POWER_STATE NewState
Definition: wdf19.h:623
WDF_STATE_NOTIFICATION_TYPE Type
Definition: wdf19.h:611
WDF_DEVICE_POWER_STATE CurrentState
Definition: wdf19.h:618
struct _WDF_DEVICE_POWER_NOTIFICATION_DATA_V1_9::@4702::@4705 LeaveState
union _WDF_DEVICE_POWER_NOTIFICATION_DATA_V1_9::@4702 Data
struct _WDF_DEVICE_POWER_NOTIFICATION_DATA_V1_9::@4702::@4703 EnterState
struct _WDF_DEVICE_POWER_NOTIFICATION_DATA_V1_9::@4702::@4704 PostProcessState
WDF_POWER_POLICY_S0_IDLE_CAPABILITIES IdleCaps
Definition: wdf19.h:769
WDF_POWER_POLICY_S0_IDLE_USER_CONTROL UserControlOfIdleSettings
Definition: wdf19.h:787
WDF_DEVICE_POWER_POLICY_STATE NewState
Definition: wdf19.h:668
WDF_DEVICE_POWER_POLICY_STATE CurrentState
Definition: wdf19.h:663
WDF_STATE_NOTIFICATION_TYPE Type
Definition: wdf19.h:656
union _WDF_DEVICE_POWER_POLICY_NOTIFICATION_DATA_V1_9::@4706 Data
struct _WDF_DEVICE_POWER_POLICY_NOTIFICATION_DATA_V1_9::@4706::@4707 EnterState
struct _WDF_DEVICE_POWER_POLICY_NOTIFICATION_DATA_V1_9::@4706::@4709 LeaveState
struct _WDF_DEVICE_POWER_POLICY_NOTIFICATION_DATA_V1_9::@4706::@4708 PostProcessState
WDF_POWER_POLICY_SX_WAKE_USER_CONTROL UserControlOfWakeSettings
Definition: wdf19.h:826
WDF_TRI_STATE Disabled
Definition: wdf19.h:869
WDF_TRI_STATE DontDisplayInUI
Definition: wdf19.h:875
WDF_TRI_STATE Removed
Definition: wdf19.h:896
WDF_TRI_STATE NotDisableable
Definition: wdf19.h:887
WDF_TRI_STATE Failed
Definition: wdf19.h:882
WDF_TRI_STATE ResourcesChanged
Definition: wdf19.h:903
PFN_WDF_DMA_ENABLER_DISABLE EvtDmaEnablerDisable
Definition: wdf19.h:1022
PFN_WDF_DMA_ENABLER_SELFMANAGED_IO_STOP EvtDmaEnablerSelfManagedIoStop
Definition: wdf19.h:1028
PFN_WDF_DMA_ENABLER_SELFMANAGED_IO_START EvtDmaEnablerSelfManagedIoStart
Definition: wdf19.h:1026
PFN_WDF_DMA_ENABLER_ENABLE EvtDmaEnablerEnable
Definition: wdf19.h:1024
PFN_WDF_DMA_ENABLER_FILL EvtDmaEnablerFill
Definition: wdf19.h:1018
WDF_DMA_PROFILE Profile
Definition: wdf19.h:1008
PFN_WDF_DMA_ENABLER_FLUSH EvtDmaEnablerFlush
Definition: wdf19.h:1020
BOOLEAN AutomaticSerialization
Definition: wdf19.h:1054
PFN_WDF_DPC EvtDpcFunc
Definition: wdf19.h:1045
PFN_WDF_DRIVER_DEVICE_ADD EvtDriverDeviceAdd
Definition: wdf19.h:1072
PFN_WDF_DRIVER_UNLOAD EvtDriverUnload
Definition: wdf19.h:1074
BOOLEAN DisplaceDriverUnload
Definition: wdf19.h:1152
CHAR DriverName[WDF_DRIVER_GLOBALS_NAME_LEN]
Definition: wdf19.h:1147
PFN_WDF_DEVICE_FILTER_RESOURCE_REQUIREMENTS EvtDeviceFilterRemoveResourceRequirements
Definition: wdf19.h:1120
PFN_WDF_DEVICE_FILTER_RESOURCE_REQUIREMENTS EvtDeviceFilterAddResourceRequirements
Definition: wdf19.h:1118
PFN_WDF_DEVICE_REMOVE_ADDED_RESOURCES EvtDeviceRemoveAddedResources
Definition: wdf19.h:1122
PFN_WDF_FILE_CLEANUP EvtFileCleanup
Definition: wdf19.h:538
WDF_TRI_STATE AutoForwardCleanupClose
Definition: wdf19.h:551
PFN_WDF_FILE_CLOSE EvtFileClose
Definition: wdf19.h:533
WDF_FILEOBJECT_CLASS FileObjectClass
Definition: wdf19.h:558
PFN_WDF_DEVICE_FILE_CREATE EvtDeviceFileCreate
Definition: wdf19.h:528
PFN_WDF_INTERRUPT_DISABLE EvtInterruptDisable
Definition: wdf19.h:1195
PFN_WDF_INTERRUPT_DPC EvtInterruptDpc
Definition: wdf19.h:1191
WDFSPINLOCK SpinLock
Definition: wdf19.h:1177
WDF_TRI_STATE ShareVector
Definition: wdf19.h:1179
PFN_WDF_INTERRUPT_ENABLE EvtInterruptEnable
Definition: wdf19.h:1193
BOOLEAN AutomaticSerialization
Definition: wdf19.h:1186
PFN_WDF_INTERRUPT_ISR EvtInterruptIsr
Definition: wdf19.h:1189
GROUP_AFFINITY TargetProcessorSetAndGroup
Definition: wdf19.h:1243
WDF_INTERRUPT_POLICY Policy
Definition: wdf19.h:1239
WDF_INTERRUPT_PRIORITY Priority
Definition: wdf19.h:1241
KAFFINITY TargetProcessorSet
Definition: wdf19.h:1207
DECLSPEC_ALIGN(8) USHORT Group
WDF_INTERRUPT_POLARITY Polarity
Definition: wdf19.h:1219
KINTERRUPT_MODE Mode
Definition: wdf19.h:1217
PFN_WDF_IO_QUEUE_IO_RESUME EvtIoResume
Definition: wdf19.h:1280
PFN_WDF_IO_QUEUE_IO_STOP EvtIoStop
Definition: wdf19.h:1278
PFN_WDF_IO_QUEUE_IO_DEFAULT EvtIoDefault
Definition: wdf19.h:1268
PFN_WDF_IO_QUEUE_IO_WRITE EvtIoWrite
Definition: wdf19.h:1272
ULONG NumberOfPresentedRequests
Definition: wdf19.h:1286
BOOLEAN AllowZeroLengthRequests
Definition: wdf19.h:1264
WDF_IO_QUEUE_DISPATCH_TYPE DispatchType
Definition: wdf19.h:1260
PFN_WDF_IO_QUEUE_IO_CANCELED_ON_QUEUE EvtIoCanceledOnQueue
Definition: wdf19.h:1282
PFN_WDF_IO_QUEUE_IO_INTERNAL_DEVICE_CONTROL EvtIoInternalDeviceControl
Definition: wdf19.h:1276
PFN_WDF_IO_QUEUE_IO_READ EvtIoRead
Definition: wdf19.h:1270
PFN_WDF_IO_QUEUE_IO_DEVICE_CONTROL EvtIoDeviceControl
Definition: wdf19.h:1274
WDF_TRI_STATE PowerManaged
Definition: wdf19.h:1262
WDF_IO_FORWARD_PROGRESS_RESERVED_POLICY_SETTINGS ForwardProgressReservePolicySettings
Definition: wdf19.h:1307
WDF_IO_FORWARD_PROGRESS_RESERVED_POLICY ForwardProgressReservedPolicy
Definition: wdf19.h:1302
PFN_WDF_IO_ALLOCATE_REQUEST_RESOURCES EvtIoAllocateRequestResources
Definition: wdf19.h:1317
PFN_WDF_IO_ALLOCATE_RESOURCES_FOR_RESERVED_REQUEST EvtIoAllocateResourcesForReservedRequest
Definition: wdf19.h:1312
PDEVICE_OBJECT TargetDeviceObject
Definition: wdf19.h:1361
PFILE_OBJECT TargetFileObject
Definition: wdf19.h:1368
PFN_WDF_IO_TARGET_REMOVE_CANCELED EvtIoTargetRemoveCanceled
Definition: wdf19.h:1349
PFN_WDF_IO_TARGET_QUERY_REMOVE EvtIoTargetQueryRemove
Definition: wdf19.h:1343
PFN_WDF_IO_TARGET_REMOVE_COMPLETE EvtIoTargetRemoveComplete
Definition: wdf19.h:1355
UNICODE_STRING TargetDeviceName
Definition: wdf19.h:1376
WDF_IO_TARGET_OPEN_TYPE Type
Definition: wdf19.h:1336
WDF_MEMORY_DESCRIPTOR_TYPE Type
Definition: wdf19.h:1450
PWDFMEMORY_OFFSET_V1_9 Offsets
Definition: wdf19.h:1470
WDF_EXECUTION_LEVEL ExecutionLevel
Definition: wdf19.h:1508
PFN_WDF_OBJECT_CONTEXT_CLEANUP EvtCleanupCallback
Definition: wdf19.h:1497
WDF_SYNCHRONIZATION_SCOPE SynchronizationScope
Definition: wdf19.h:1513
PFN_WDF_OBJECT_CONTEXT_DESTROY EvtDestroyCallback
Definition: wdf19.h:1503
PCWDF_OBJECT_CONTEXT_TYPE_INFO_V1_9 ContextTypeInfo
Definition: wdf19.h:1529
PCWDF_OBJECT_CONTEXT_TYPE_INFO_V1_9 UniqueType
Definition: wdf19.h:1559
PFN_GET_UNIQUE_CONTEXT_TYPE EvtDriverGetUniqueContextType
Definition: wdf19.h:1567
PFN_WDF_DEVICE_EJECT EvtDeviceEject
Definition: wdf19.h:1595
PFN_WDF_DEVICE_DISABLE_WAKE_AT_BUS EvtDeviceDisableWakeAtBus
Definition: wdf19.h:1612
PFN_WDF_DEVICE_SET_LOCK EvtDeviceSetLock
Definition: wdf19.h:1600
PFN_WDF_DEVICE_RESOURCES_QUERY EvtDeviceResourcesQuery
Definition: wdf19.h:1585
PFN_WDF_DEVICE_ENABLE_WAKE_AT_BUS EvtDeviceEnableWakeAtBus
Definition: wdf19.h:1606
PFN_WDF_DEVICE_RESOURCE_REQUIREMENTS_QUERY EvtDeviceResourceRequirementsQuery
Definition: wdf19.h:1590
PFN_WDF_DEVICE_QUERY_REMOVE EvtDeviceQueryRemove
Definition: wdf19.h:727
PFN_WDF_DEVICE_QUERY_STOP EvtDeviceQueryStop
Definition: wdf19.h:729
PFN_WDF_DEVICE_SELF_MANAGED_IO_FLUSH EvtDeviceSelfManagedIoFlush
Definition: wdf19.h:717
PFN_WDF_DEVICE_SURPRISE_REMOVAL EvtDeviceSurpriseRemoval
Definition: wdf19.h:725
PFN_WDF_DEVICE_SELF_MANAGED_IO_SUSPEND EvtDeviceSelfManagedIoSuspend
Definition: wdf19.h:721
PFN_WDF_DEVICE_D0_ENTRY_POST_INTERRUPTS_ENABLED EvtDeviceD0EntryPostInterruptsEnabled
Definition: wdf19.h:705
PFN_WDF_DEVICE_D0_EXIT EvtDeviceD0Exit
Definition: wdf19.h:707
PFN_WDF_DEVICE_PREPARE_HARDWARE EvtDevicePrepareHardware
Definition: wdf19.h:711
PFN_WDF_DEVICE_RELEASE_HARDWARE EvtDeviceReleaseHardware
Definition: wdf19.h:713
PFN_WDF_DEVICE_USAGE_NOTIFICATION EvtDeviceUsageNotification
Definition: wdf19.h:731
PFN_WDF_DEVICE_RELATIONS_QUERY EvtDeviceRelationsQuery
Definition: wdf19.h:733
PFN_WDF_DEVICE_D0_ENTRY EvtDeviceD0Entry
Definition: wdf19.h:703
PFN_WDF_DEVICE_D0_EXIT_PRE_INTERRUPTS_DISABLED EvtDeviceD0ExitPreInterruptsDisabled
Definition: wdf19.h:709
PFN_WDF_DEVICE_SELF_MANAGED_IO_CLEANUP EvtDeviceSelfManagedIoCleanup
Definition: wdf19.h:715
PFN_WDF_DEVICE_SELF_MANAGED_IO_RESTART EvtDeviceSelfManagedIoRestart
Definition: wdf19.h:723
PFN_WDF_DEVICE_SELF_MANAGED_IO_INIT EvtDeviceSelfManagedIoInit
Definition: wdf19.h:719
PFN_WDF_DEVICE_DISARM_WAKE_FROM_S0 EvtDeviceDisarmWakeFromS0
Definition: wdf19.h:745
PFN_WDF_DEVICE_ARM_WAKE_FROM_SX_WITH_REASON EvtDeviceArmWakeFromSxWithReason
Definition: wdf19.h:755
PFN_WDF_DEVICE_ARM_WAKE_FROM_SX EvtDeviceArmWakeFromSx
Definition: wdf19.h:749
PFN_WDF_DEVICE_WAKE_FROM_S0_TRIGGERED EvtDeviceWakeFromS0Triggered
Definition: wdf19.h:747
PFN_WDF_DEVICE_ARM_WAKE_FROM_S0 EvtDeviceArmWakeFromS0
Definition: wdf19.h:743
PFN_WDF_DEVICE_WAKE_FROM_SX_TRIGGERED EvtDeviceWakeFromSxTriggered
Definition: wdf19.h:753
PFN_WDF_DEVICE_DISARM_WAKE_FROM_SX EvtDeviceDisarmWakeFromSx
Definition: wdf19.h:751
WDF_DEVICE_POWER_STATE PowerState
Definition: wdf19.h:146
WDF_DEVICE_POWER_POLICY_STATE PowerPolicyState
Definition: wdf19.h:151
PFN_WDF_DEVICE_PROCESS_QUERY_INTERFACE_REQUEST EvtDeviceProcessQueryInterfaceRequest
Definition: wdf19.h:1669
PWDF_USB_REQUEST_COMPLETION_PARAMS_V1_9 Completion
Definition: wdf19.h:1868
size_t POINTER_ALIGNMENT InputBufferLength
Definition: wdf19.h:1763
ULONG POINTER_ALIGNMENT IoControlCode
Definition: wdf19.h:1765
ULONG POINTER_ALIGNMENT Key
Definition: wdf19.h:1734
PIO_SECURITY_CONTEXT SecurityContext
Definition: wdf19.h:1715
USHORT POINTER_ALIGNMENT FileAttributes
Definition: wdf19.h:1719
WDF_REQUEST_TYPE Type
Definition: wdf19.h:1702
ULONG POINTER_ALIGNMENT EaLength
Definition: wdf19.h:1723
BOOLEAN AutomaticSerialization
Definition: wdf19.h:1969
PFN_WDF_TIMER EvtTimerFunc
Definition: wdf19.h:1958
WDFCONTEXT EvtUsbTargetPipeReadCompleteContext
Definition: wdf19.h:2090
PFN_WDF_USB_READER_COMPLETION_ROUTINE EvtUsbTargetPipeReadComplete
Definition: wdf19.h:2085
PWDF_OBJECT_ATTRIBUTES_V1_9 BufferAttributes
Definition: wdf19.h:2080
PFN_WDF_USB_READERS_FAILED EvtUsbTargetPipeReadersFailed
Definition: wdf19.h:2096
USBD_VERSION_INFORMATION UsbdVersionInformation
Definition: wdf19.h:2109
WdfUsbTargetDeviceSelectConfigType Type
Definition: wdf19.h:2145
PWDF_USB_INTERFACE_SETTING_PAIR_V1_9 Pairs
Definition: wdf19.h:2200
PUSB_CONFIGURATION_DESCRIPTOR ConfigurationDescriptor
Definition: wdf19.h:2152
PUSB_INTERFACE_DESCRIPTOR * InterfaceDescriptors
Definition: wdf19.h:2157
PUSB_INTERFACE_DESCRIPTOR InterfaceDescriptor
Definition: wdf19.h:2230
WdfUsbTargetDeviceSelectSettingType Type
Definition: wdf19.h:2223
WDF_USB_PIPE_TYPE PipeType
Definition: wdf19.h:2283
WDF_USB_CONTROL_SETUP_PACKET SetupPacket
Definition: wdf19.h:2012
PFN_WDF_WMI_INSTANCE_EXECUTE_METHOD EvtWmiInstanceExecuteMethod
Definition: wdf19.h:2382
PFN_WDF_WMI_INSTANCE_SET_INSTANCE EvtWmiInstanceSetInstance
Definition: wdf19.h:2372
PFN_WDF_WMI_INSTANCE_QUERY_INSTANCE EvtWmiInstanceQueryInstance
Definition: wdf19.h:2367
PFN_WDF_WMI_INSTANCE_SET_ITEM EvtWmiInstanceSetItem
Definition: wdf19.h:2377
WDFWMIPROVIDER Provider
Definition: wdf19.h:2342
PWDF_WMI_PROVIDER_CONFIG_V1_9 ProviderConfig
Definition: wdf19.h:2349
PFN_WDF_WMI_PROVIDER_FUNCTION_CONTROL EvtWmiProviderFunctionControl
Definition: wdf19.h:2328
PFN_WDF_WORKITEM EvtWorkItemFunc
Definition: wdf19.h:2394
BOOLEAN AutomaticSerialization
Definition: wdf19.h:2403
uint16_t * PWSTR
Definition: typedefs.h:56
int64_t LONGLONG
Definition: typedefs.h:68
uint32_t ULONG_PTR
Definition: typedefs.h:65
uint32_t ULONG
Definition: typedefs.h:59
char * PCHAR
Definition: typedefs.h:51
LONG USBD_STATUS
Definition: usb.h:165
static BOOL Write(PBYTE Address, PBYTE Data, SIZE_T Size)
Definition: vmhorizon.c:15
struct _WDF_REQUEST_FATAL_ERROR_INFORMATION_LENGTH_MISMATCH_DATA_V1_9 * PWDF_REQUEST_FATAL_ERROR_INFORMATION_LENGTH_MISMATCH_DATA_V1_9
Definition: wdf19.h:14
const struct _WDF_QUERY_INTERFACE_CONFIG_V1_9 * PCWDF_QUERY_INTERFACE_CONFIG_V1_9
Definition: wdf19.h:95
const struct _WDF_COMMON_BUFFER_CONFIG_V1_9 * PCWDF_COMMON_BUFFER_CONFIG_V1_9
Definition: wdf19.h:37
struct _WDF_OBJECT_ATTRIBUTES_V1_9 * PWDF_OBJECT_ATTRIBUTES_V1_9
Definition: wdf19.h:88
struct _WDF_CHILD_RETRIEVE_INFO_V1_9 WDF_CHILD_RETRIEVE_INFO_V1_9
struct _WDF_TIMER_CONFIG_V1_9 WDF_TIMER_CONFIG_V1_9
struct _WDF_FDO_EVENT_CALLBACKS_V1_9 WDF_FDO_EVENT_CALLBACKS_V1_9
struct _WDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER_V1_9 * PWDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER_V1_9
Definition: wdf19.h:18
struct _WDF_DPC_CONFIG_V1_9 * PWDF_DPC_CONFIG_V1_9
Definition: wdf19.h:62
const struct _WDF_INTERRUPT_INFO_V1_9 * PCWDF_INTERRUPT_INFO_V1_9
Definition: wdf19.h:75
struct _WDF_INTERRUPT_CONFIG_V1_9 * PWDF_INTERRUPT_CONFIG_V1_9
Definition: wdf19.h:72
struct _WDF_DEVICE_POWER_POLICY_WAKE_SETTINGS_V1_9 * PWDF_DEVICE_POWER_POLICY_WAKE_SETTINGS_V1_9
Definition: wdf19.h:52
struct _WDF_USB_DEVICE_INFORMATION_V1_9 WDF_USB_DEVICE_INFORMATION_V1_9
const struct _WDF_CLASS_BIND_INFO_V1_9 * PCWDF_CLASS_BIND_INFO_V1_9
Definition: wdf19.h:33
struct _WDF_USB_DEVICE_INFORMATION_V1_9 * PWDF_USB_DEVICE_INFORMATION_V1_9
Definition: wdf19.h:112
const struct _WDF_DEVICE_POWER_POLICY_WAKE_SETTINGS_V1_9 * PCWDF_DEVICE_POWER_POLICY_WAKE_SETTINGS_V1_9
Definition: wdf19.h:53
const struct _WDF_CLASS_VERSION_V1_9 * PCWDF_CLASS_VERSION_V1_9
Definition: wdf19.h:31
struct _WDF_DRIVER_CONFIG_V1_9 WDF_DRIVER_CONFIG_V1_9
struct _WDF_USB_INTERFACE_SELECT_SETTING_PARAMS_V1_9 * PWDF_USB_INTERFACE_SELECT_SETTING_PARAMS_V1_9
Definition: wdf19.h:118
struct _WDF_CHILD_ADDRESS_DESCRIPTION_HEADER_V1_9 * PWDF_CHILD_ADDRESS_DESCRIPTION_HEADER_V1_9
Definition: wdf19.h:20
struct _WDF_IO_QUEUE_CONFIG_V1_9 * PWDF_IO_QUEUE_CONFIG_V1_9
Definition: wdf19.h:78
struct _WDF_WORKITEM_CONFIG_V1_9 * PWDF_WORKITEM_CONFIG_V1_9
Definition: wdf19.h:126
struct _WDF_IO_QUEUE_FORWARD_PROGRESS_POLICY_V1_9 * PWDF_IO_QUEUE_FORWARD_PROGRESS_POLICY_V1_9
Definition: wdf19.h:80
struct _WDF_FILEOBJECT_CONFIG_V1_9 WDF_FILEOBJECT_CONFIG_V1_9
struct _WDF_USB_PIPE_INFORMATION_V1_9 WDF_USB_PIPE_INFORMATION_V1_9
struct _WDF_INTERRUPT_EXTENDED_POLICY_V1_9 * PWDF_INTERRUPT_EXTENDED_POLICY_V1_9
Definition: wdf19.h:76
const struct _WDF_USB_DEVICE_SELECT_CONFIG_PARAMS_V1_9 * PCWDF_USB_DEVICE_SELECT_CONFIG_PARAMS_V1_9
Definition: wdf19.h:117
struct _WDF_CLASS_EXTENSION_DESCRIPTOR_V1_9 WDF_CLASS_EXTENSION_DESCRIPTOR_V1_9
struct _WDF_CHILD_ADDRESS_DESCRIPTION_HEADER_V1_9 WDF_CHILD_ADDRESS_DESCRIPTION_HEADER_V1_9
struct _WDF_DEVICE_POWER_CAPABILITIES_V1_9 * PWDF_DEVICE_POWER_CAPABILITIES_V1_9
Definition: wdf19.h:58
struct _WDF_DEVICE_POWER_NOTIFICATION_DATA_V1_9 WDF_DEVICE_POWER_NOTIFICATION_DATA_V1_9
struct _WDF_CLASS_LIBRARY_INFO_V1_9 * PWDF_CLASS_LIBRARY_INFO_V1_9
Definition: wdf19.h:34
struct _WDF_DEVICE_PNP_CAPABILITIES_V1_9 WDF_DEVICE_PNP_CAPABILITIES_V1_9
const struct _WDF_WMI_INSTANCE_CONFIG_V1_9 * PCWDF_WMI_INSTANCE_CONFIG_V1_9
Definition: wdf19.h:125
struct _WDF_REQUEST_COMPLETION_PARAMS_V1_9 * PWDF_REQUEST_COMPLETION_PARAMS_V1_9
Definition: wdf19.h:98
const struct _WDF_POWER_POLICY_EVENT_CALLBACKS_V1_9 * PCWDF_POWER_POLICY_EVENT_CALLBACKS_V1_9
Definition: wdf19.h:49
struct _WDF_REQUEST_COMPLETION_PARAMS_V1_9 WDF_REQUEST_COMPLETION_PARAMS_V1_9
const struct _WDF_DEVICE_STATE_V1_9 * PCWDF_DEVICE_STATE_V1_9
Definition: wdf19.h:55
struct _WDF_IO_QUEUE_FORWARD_PROGRESS_POLICY_V1_9 WDF_IO_QUEUE_FORWARD_PROGRESS_POLICY_V1_9
struct _WDF_DEVICE_POWER_POLICY_NOTIFICATION_DATA_V1_9 * PWDF_DEVICE_POWER_POLICY_NOTIFICATION_DATA_V1_9
Definition: wdf19.h:44
struct _WDF_USB_INTERFACE_SETTING_PAIR_V1_9 WDF_USB_INTERFACE_SETTING_PAIR_V1_9
struct _WDF_CHILD_LIST_ITERATOR_V1_9 * PWDF_CHILD_LIST_ITERATOR_V1_9
Definition: wdf19.h:26
const struct _WDF_DRIVER_GLOBALS_V1_9 * PCWDF_DRIVER_GLOBALS_V1_9
Definition: wdf19.h:71
const struct _WDF_TIMER_CONFIG_V1_9 * PCWDF_TIMER_CONFIG_V1_9
Definition: wdf19.h:107
const struct _WDF_DEVICE_POWER_CAPABILITIES_V1_9 * PCWDF_DEVICE_POWER_CAPABILITIES_V1_9
Definition: wdf19.h:59
const struct _WDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER_V1_9 * PCWDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER_V1_9
Definition: wdf19.h:19
struct _WDF_REQUEST_FORWARD_OPTIONS_V1_9 WDF_REQUEST_FORWARD_OPTIONS_V1_9
struct _WDF_CHILD_LIST_CONFIG_V1_9 * PWDF_CHILD_LIST_CONFIG_V1_9
Definition: wdf19.h:24
struct _WDF_POWER_POLICY_EVENT_CALLBACKS_V1_9 * PWDF_POWER_POLICY_EVENT_CALLBACKS_V1_9
Definition: wdf19.h:48
struct _WDF_DEVICE_PNP_CAPABILITIES_V1_9 * PWDF_DEVICE_PNP_CAPABILITIES_V1_9
Definition: wdf19.h:56
struct _WDF_DEVICE_PNP_NOTIFICATION_DATA_V1_9 * PWDF_DEVICE_PNP_NOTIFICATION_DATA_V1_9
Definition: wdf19.h:40
struct _WDF_WMI_INSTANCE_CONFIG_V1_9 WDF_WMI_INSTANCE_CONFIG_V1_9
struct _WDF_QUERY_INTERFACE_CONFIG_V1_9 WDF_QUERY_INTERFACE_CONFIG_V1_9
struct _WDF_REQUEST_FATAL_ERROR_INFORMATION_LENGTH_MISMATCH_DATA_V1_9 WDF_REQUEST_FATAL_ERROR_INFORMATION_LENGTH_MISMATCH_DATA_V1_9
const struct _WDF_CLASS_LIBRARY_INFO_V1_9 * PCWDF_CLASS_LIBRARY_INFO_V1_9
Definition: wdf19.h:35
struct _WDF_CHILD_LIST_CONFIG_V1_9 WDF_CHILD_LIST_CONFIG_V1_9
struct _WDF_REQUEST_SEND_OPTIONS_V1_9 WDF_REQUEST_SEND_OPTIONS_V1_9
struct _WDF_REQUEST_REUSE_PARAMS_V1_9 WDF_REQUEST_REUSE_PARAMS_V1_9
struct _WDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER_V1_9 WDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER_V1_9
struct _WDF_MEMORY_DESCRIPTOR_V1_9 WDF_MEMORY_DESCRIPTOR_V1_9
const struct _WDF_DEVICE_PNP_NOTIFICATION_DATA_V1_9 * PCWDF_DEVICE_PNP_NOTIFICATION_DATA_V1_9
Definition: wdf19.h:41
struct _WDF_IO_TARGET_OPEN_PARAMS_V1_9 * PWDF_IO_TARGET_OPEN_PARAMS_V1_9
Definition: wdf19.h:82
struct _WDF_CHILD_RETRIEVE_INFO_V1_9 * PWDF_CHILD_RETRIEVE_INFO_V1_9
Definition: wdf19.h:22
struct _WDF_MEMORY_DESCRIPTOR_V1_9 * PWDF_MEMORY_DESCRIPTOR_V1_9
Definition: wdf19.h:86
struct _WDF_OBJECT_ATTRIBUTES_V1_9 WDF_OBJECT_ATTRIBUTES_V1_9
const struct _WDF_CHILD_LIST_ITERATOR_V1_9 * PCWDF_CHILD_LIST_ITERATOR_V1_9
Definition: wdf19.h:27
const struct _WDF_USB_PIPE_INFORMATION_V1_9 * PCWDF_USB_PIPE_INFORMATION_V1_9
Definition: wdf19.h:121
struct _WDF_DRIVER_VERSION_AVAILABLE_PARAMS_V1_9 WDF_DRIVER_VERSION_AVAILABLE_PARAMS_V1_9
struct _WDF_POWER_ROUTINE_TIMED_OUT_DATA_V1_9 WDF_POWER_ROUTINE_TIMED_OUT_DATA_V1_9
struct _WDF_TIMER_CONFIG_V1_9 * PWDF_TIMER_CONFIG_V1_9
Definition: wdf19.h:106
const struct _WDF_REQUEST_FATAL_ERROR_INFORMATION_LENGTH_MISMATCH_DATA_V1_9 * PCWDF_REQUEST_FATAL_ERROR_INFORMATION_LENGTH_MISMATCH_DATA_V1_9
Definition: wdf19.h:15
const struct _WDF_CHILD_RETRIEVE_INFO_V1_9 * PCWDF_CHILD_RETRIEVE_INFO_V1_9
Definition: wdf19.h:23
const struct _WDF_REQUEST_SEND_OPTIONS_V1_9 * PCWDF_REQUEST_SEND_OPTIONS_V1_9
Definition: wdf19.h:103
const struct _WDF_INTERRUPT_EXTENDED_POLICY_V1_9 * PCWDF_INTERRUPT_EXTENDED_POLICY_V1_9
Definition: wdf19.h:77
struct _WDF_PDO_EVENT_CALLBACKS_V1_9 WDF_PDO_EVENT_CALLBACKS_V1_9
struct _WDF_CLASS_VERSION_V1_9 * PWDF_CLASS_VERSION_V1_9
Definition: wdf19.h:30
const struct _WDF_CHILD_ADDRESS_DESCRIPTION_HEADER_V1_9 * PCWDF_CHILD_ADDRESS_DESCRIPTION_HEADER_V1_9
Definition: wdf19.h:21
struct _WDF_DEVICE_POWER_CAPABILITIES_V1_9 WDF_DEVICE_POWER_CAPABILITIES_V1_9
struct _WDF_USB_DEVICE_SELECT_CONFIG_PARAMS_V1_9 * PWDF_USB_DEVICE_SELECT_CONFIG_PARAMS_V1_9
Definition: wdf19.h:116
struct _WDF_IO_QUEUE_CONFIG_V1_9 WDF_IO_QUEUE_CONFIG_V1_9
struct _WDF_USB_DEVICE_SELECT_CONFIG_PARAMS_V1_9 WDF_USB_DEVICE_SELECT_CONFIG_PARAMS_V1_9
const struct _WDF_DRIVER_VERSION_AVAILABLE_PARAMS_V1_9 * PCWDF_DRIVER_VERSION_AVAILABLE_PARAMS_V1_9
Definition: wdf19.h:67
struct _WDF_DEVICE_POWER_POLICY_IDLE_SETTINGS_V1_9 WDF_DEVICE_POWER_POLICY_IDLE_SETTINGS_V1_9
const struct _WDF_DMA_ENABLER_CONFIG_V1_9 * PCWDF_DMA_ENABLER_CONFIG_V1_9
Definition: wdf19.h:61
_WDFFUNCENUM_V1_9
Definition: wdf19.h:8
@ WdfFunctionTableNumEntries_V1_9
Definition: wdf19.h:9
const struct _WDF_PNPPOWER_EVENT_CALLBACKS_V1_9 * PCWDF_PNPPOWER_EVENT_CALLBACKS_V1_9
Definition: wdf19.h:47
struct _WDF_USB_INTERFACE_SELECT_SETTING_PARAMS_V1_9 WDF_USB_INTERFACE_SELECT_SETTING_PARAMS_V1_9
const struct _WDF_WORKITEM_CONFIG_V1_9 * PCWDF_WORKITEM_CONFIG_V1_9
Definition: wdf19.h:127
const struct _WDF_CHILD_LIST_CONFIG_V1_9 * PCWDF_CHILD_LIST_CONFIG_V1_9
Definition: wdf19.h:25
struct _WDF_USB_INTERFACE_SETTING_PAIR_V1_9 * PWDF_USB_INTERFACE_SETTING_PAIR_V1_9
Definition: wdf19.h:114
struct _WDF_DEVICE_POWER_POLICY_IDLE_SETTINGS_V1_9 * PWDF_DEVICE_POWER_POLICY_IDLE_SETTINGS_V1_9
Definition: wdf19.h:50
struct _WDF_FILEOBJECT_CONFIG_V1_9 * PWDF_FILEOBJECT_CONFIG_V1_9
Definition: wdf19.h:38
const struct _WDF_USB_REQUEST_COMPLETION_PARAMS_V1_9 * PCWDF_USB_REQUEST_COMPLETION_PARAMS_V1_9
Definition: wdf19.h:109
struct _WDF_CLASS_BIND_INFO_V1_9 * PWDF_CLASS_BIND_INFO_V1_9
Definition: wdf19.h:32
struct _WDF_REQUEST_PARAMETERS_V1_9 WDF_REQUEST_PARAMETERS_V1_9
struct _WDF_PNPPOWER_EVENT_CALLBACKS_V1_9 WDF_PNPPOWER_EVENT_CALLBACKS_V1_9
const struct _WDF_WMI_PROVIDER_CONFIG_V1_9 * PCWDF_WMI_PROVIDER_CONFIG_V1_9
Definition: wdf19.h:123
struct _WDF_COMMON_BUFFER_CONFIG_V1_9 WDF_COMMON_BUFFER_CONFIG_V1_9
const struct _WDF_REQUEST_FORWARD_OPTIONS_V1_9 * PCWDF_REQUEST_FORWARD_OPTIONS_V1_9
Definition: wdf19.h:105
struct _WDF_WMI_PROVIDER_CONFIG_V1_9 WDF_WMI_PROVIDER_CONFIG_V1_9
const struct _WDF_REQUEST_COMPLETION_PARAMS_V1_9 * PCWDF_REQUEST_COMPLETION_PARAMS_V1_9
Definition: wdf19.h:99
struct _WDF_USB_CONTINUOUS_READER_CONFIG_V1_9 * PWDF_USB_CONTINUOUS_READER_CONFIG_V1_9
Definition: wdf19.h:110
struct _WDF_CLASS_LIBRARY_INFO_V1_9 WDF_CLASS_LIBRARY_INFO_V1_9
const struct _WDF_IO_QUEUE_FORWARD_PROGRESS_POLICY_V1_9 * PCWDF_IO_QUEUE_FORWARD_PROGRESS_POLICY_V1_9
Definition: wdf19.h:81
struct _WDF_QUERY_INTERFACE_CONFIG_V1_9 * PWDF_QUERY_INTERFACE_CONFIG_V1_9
Definition: wdf19.h:94
struct _WDF_DMA_ENABLER_CONFIG_V1_9 * PWDF_DMA_ENABLER_CONFIG_V1_9
Definition: wdf19.h:60
struct _WDF_POWER_ROUTINE_TIMED_OUT_DATA_V1_9 * PWDF_POWER_ROUTINE_TIMED_OUT_DATA_V1_9
Definition: wdf19.h:12
struct _WDF_PNPPOWER_EVENT_CALLBACKS_V1_9 * PWDF_PNPPOWER_EVENT_CALLBACKS_V1_9
Definition: wdf19.h:46
struct _WDF_IO_TARGET_OPEN_PARAMS_V1_9 WDF_IO_TARGET_OPEN_PARAMS_V1_9
const struct _WDF_INTERRUPT_CONFIG_V1_9 * PCWDF_INTERRUPT_CONFIG_V1_9
Definition: wdf19.h:73
const struct _WDF_DEVICE_POWER_NOTIFICATION_DATA_V1_9 * PCWDF_DEVICE_POWER_NOTIFICATION_DATA_V1_9
Definition: wdf19.h:43
struct _WDF_INTERRUPT_INFO_V1_9 * PWDF_INTERRUPT_INFO_V1_9
Definition: wdf19.h:74
const struct _WDF_USB_DEVICE_INFORMATION_V1_9 * PCWDF_USB_DEVICE_INFORMATION_V1_9
Definition: wdf19.h:113
const struct _WDF_REQUEST_PARAMETERS_V1_9 * PCWDF_REQUEST_PARAMETERS_V1_9
Definition: wdf19.h:97
const struct _WDF_CLASS_EXTENSION_DESCRIPTOR_V1_9 * PCWDF_CLASS_EXTENSION_DESCRIPTOR_V1_9
Definition: wdf19.h:29
struct _WDF_QUEUE_FATAL_ERROR_DATA_V1_9 WDF_QUEUE_FATAL_ERROR_DATA_V1_9
struct _WDF_DRIVER_VERSION_AVAILABLE_PARAMS_V1_9 * PWDF_DRIVER_VERSION_AVAILABLE_PARAMS_V1_9
Definition: wdf19.h:66
struct _WDF_CLASS_BIND_INFO_V1_9 WDF_CLASS_BIND_INFO_V1_9
struct _WDF_DEVICE_POWER_POLICY_WAKE_SETTINGS_V1_9 WDF_DEVICE_POWER_POLICY_WAKE_SETTINGS_V1_9
const struct _WDF_OBJECT_CONTEXT_TYPE_INFO_V1_9 * PCWDF_OBJECT_CONTEXT_TYPE_INFO_V1_9
Definition: wdf19.h:91
const struct _WDF_USB_CONTINUOUS_READER_CONFIG_V1_9 * PCWDF_USB_CONTINUOUS_READER_CONFIG_V1_9
Definition: wdf19.h:111
struct _WDF_COMMON_BUFFER_CONFIG_V1_9 * PWDF_COMMON_BUFFER_CONFIG_V1_9
Definition: wdf19.h:36
const struct _WDF_FILEOBJECT_CONFIG_V1_9 * PCWDF_FILEOBJECT_CONFIG_V1_9
Definition: wdf19.h:39
struct _WDF_USB_REQUEST_COMPLETION_PARAMS_V1_9 WDF_USB_REQUEST_COMPLETION_PARAMS_V1_9
struct _WDF_QUEUE_FATAL_ERROR_DATA_V1_9 * PWDF_QUEUE_FATAL_ERROR_DATA_V1_9
Definition: wdf19.h:16
struct _WDF_POWER_POLICY_EVENT_CALLBACKS_V1_9 WDF_POWER_POLICY_EVENT_CALLBACKS_V1_9
const struct _WDF_QUEUE_FATAL_ERROR_DATA_V1_9 * PCWDF_QUEUE_FATAL_ERROR_DATA_V1_9
Definition: wdf19.h:17
struct _WDF_DRIVER_GLOBALS_V1_9 WDF_DRIVER_GLOBALS_V1_9
struct _WDF_DEVICE_STATE_V1_9 WDF_DEVICE_STATE_V1_9
struct _WDF_USB_CONTINUOUS_READER_CONFIG_V1_9 WDF_USB_CONTINUOUS_READER_CONFIG_V1_9
struct _WDF_DPC_CONFIG_V1_9 WDF_DPC_CONFIG_V1_9
const struct _WDF_IO_QUEUE_CONFIG_V1_9 * PCWDF_IO_QUEUE_CONFIG_V1_9
Definition: wdf19.h:79
struct _WDF_DMA_ENABLER_CONFIG_V1_9 WDF_DMA_ENABLER_CONFIG_V1_9
struct _WDF_USB_PIPE_INFORMATION_V1_9 * PWDF_USB_PIPE_INFORMATION_V1_9
Definition: wdf19.h:120
const struct _WDF_IO_TARGET_OPEN_PARAMS_V1_9 * PCWDF_IO_TARGET_OPEN_PARAMS_V1_9
Definition: wdf19.h:83
struct _WDF_REQUEST_SEND_OPTIONS_V1_9 * PWDF_REQUEST_SEND_OPTIONS_V1_9
Definition: wdf19.h:102
struct _WDFMEMORY_OFFSET_V1_9 * PWDFMEMORY_OFFSET_V1_9
Definition: wdf19.h:84
const struct _WDF_DPC_CONFIG_V1_9 * PCWDF_DPC_CONFIG_V1_9
Definition: wdf19.h:63
struct _WDF_DEVICE_POWER_NOTIFICATION_DATA_V1_9 * PWDF_DEVICE_POWER_NOTIFICATION_DATA_V1_9
Definition: wdf19.h:42
struct _WDF_WORKITEM_CONFIG_V1_9 WDF_WORKITEM_CONFIG_V1_9
struct _WDF_REQUEST_FORWARD_OPTIONS_V1_9 * PWDF_REQUEST_FORWARD_OPTIONS_V1_9
Definition: wdf19.h:104
const struct _WDF_PDO_EVENT_CALLBACKS_V1_9 * PCWDF_PDO_EVENT_CALLBACKS_V1_9
Definition: wdf19.h:93
const struct _WDF_DEVICE_POWER_POLICY_NOTIFICATION_DATA_V1_9 * PCWDF_DEVICE_POWER_POLICY_NOTIFICATION_DATA_V1_9
Definition: wdf19.h:45
const struct _WDF_POWER_ROUTINE_TIMED_OUT_DATA_V1_9 * PCWDF_POWER_ROUTINE_TIMED_OUT_DATA_V1_9
Definition: wdf19.h:13
struct _WDF_OBJECT_CONTEXT_TYPE_INFO_V1_9 * PWDF_OBJECT_CONTEXT_TYPE_INFO_V1_9
Definition: wdf19.h:90
struct _WDF_FDO_EVENT_CALLBACKS_V1_9 * PWDF_FDO_EVENT_CALLBACKS_V1_9
Definition: wdf19.h:68
struct _WDF_OBJECT_CONTEXT_TYPE_INFO_V1_9 WDF_OBJECT_CONTEXT_TYPE_INFO_V1_9
struct _WDF_INTERRUPT_EXTENDED_POLICY_V1_9 WDF_INTERRUPT_EXTENDED_POLICY_V1_9
const struct _WDF_USB_INTERFACE_SETTING_PAIR_V1_9 * PCWDF_USB_INTERFACE_SETTING_PAIR_V1_9
Definition: wdf19.h:115
const struct _WDF_MEMORY_DESCRIPTOR_V1_9 * PCWDF_MEMORY_DESCRIPTOR_V1_9
Definition: wdf19.h:87
const struct _WDF_REQUEST_REUSE_PARAMS_V1_9 * PCWDF_REQUEST_REUSE_PARAMS_V1_9
Definition: wdf19.h:101
struct _WDF_DRIVER_GLOBALS_V1_9 * PWDF_DRIVER_GLOBALS_V1_9
Definition: wdf19.h:70
const struct _WDF_DRIVER_CONFIG_V1_9 * PCWDF_DRIVER_CONFIG_V1_9
Definition: wdf19.h:65
const struct _WDF_DEVICE_PNP_CAPABILITIES_V1_9 * PCWDF_DEVICE_PNP_CAPABILITIES_V1_9
Definition: wdf19.h:57
const struct _WDF_DEVICE_POWER_POLICY_IDLE_SETTINGS_V1_9 * PCWDF_DEVICE_POWER_POLICY_IDLE_SETTINGS_V1_9
Definition: wdf19.h:51
const struct _WDF_USB_INTERFACE_SELECT_SETTING_PARAMS_V1_9 * PCWDF_USB_INTERFACE_SELECT_SETTING_PARAMS_V1_9
Definition: wdf19.h:119
struct _WDF_PDO_EVENT_CALLBACKS_V1_9 * PWDF_PDO_EVENT_CALLBACKS_V1_9
Definition: wdf19.h:92
struct _WDF_WMI_INSTANCE_CONFIG_V1_9 * PWDF_WMI_INSTANCE_CONFIG_V1_9
Definition: wdf19.h:124
struct _WDF_DEVICE_PNP_NOTIFICATION_DATA_V1_9 WDF_DEVICE_PNP_NOTIFICATION_DATA_V1_9
struct _WDF_INTERRUPT_CONFIG_V1_9 WDF_INTERRUPT_CONFIG_V1_9
struct _WDF_USB_REQUEST_COMPLETION_PARAMS_V1_9 * PWDF_USB_REQUEST_COMPLETION_PARAMS_V1_9
Definition: wdf19.h:108
const struct _WDF_FDO_EVENT_CALLBACKS_V1_9 * PCWDF_FDO_EVENT_CALLBACKS_V1_9
Definition: wdf19.h:69
struct _WDF_REQUEST_PARAMETERS_V1_9 * PWDF_REQUEST_PARAMETERS_V1_9
Definition: wdf19.h:96
struct _WDF_CHILD_LIST_ITERATOR_V1_9 WDF_CHILD_LIST_ITERATOR_V1_9
const struct _WDFMEMORY_OFFSET_V1_9 * PCWDFMEMORY_OFFSET_V1_9
Definition: wdf19.h:85
const struct _WDF_OBJECT_ATTRIBUTES_V1_9 * PCWDF_OBJECT_ATTRIBUTES_V1_9
Definition: wdf19.h:89
struct _WDF_WMI_PROVIDER_CONFIG_V1_9 * PWDF_WMI_PROVIDER_CONFIG_V1_9
Definition: wdf19.h:122
enum _WDFFUNCENUM_V1_9 WDFFUNCENUM_V1_9
struct _WDF_CLASS_EXTENSION_DESCRIPTOR_V1_9 * PWDF_CLASS_EXTENSION_DESCRIPTOR_V1_9
Definition: wdf19.h:28
struct _WDF_DEVICE_POWER_POLICY_NOTIFICATION_DATA_V1_9 WDF_DEVICE_POWER_POLICY_NOTIFICATION_DATA_V1_9
struct _WDF_DEVICE_STATE_V1_9 * PWDF_DEVICE_STATE_V1_9
Definition: wdf19.h:54
struct _WDF_CLASS_VERSION_V1_9 WDF_CLASS_VERSION_V1_9
struct _WDF_DRIVER_CONFIG_V1_9 * PWDF_DRIVER_CONFIG_V1_9
Definition: wdf19.h:64
struct _WDF_REQUEST_REUSE_PARAMS_V1_9 * PWDF_REQUEST_REUSE_PARAMS_V1_9
Definition: wdf19.h:100
struct _WDFMEMORY_OFFSET_V1_9 WDFMEMORY_OFFSET_V1_9
EVT_WDF_CHILD_LIST_ADDRESS_DESCRIPTION_COPY * PFN_WDF_CHILD_LIST_ADDRESS_DESCRIPTION_COPY
Definition: wdfchildlist.h:225
EVT_WDF_CHILD_LIST_SCAN_FOR_CHILDREN * PFN_WDF_CHILD_LIST_SCAN_FOR_CHILDREN
Definition: wdfchildlist.h:142
EVT_WDF_CHILD_LIST_CREATE_DEVICE * PFN_WDF_CHILD_LIST_CREATE_DEVICE
Definition: wdfchildlist.h:129
EVT_WDF_CHILD_LIST_IDENTIFICATION_DESCRIPTION_COPY * PFN_WDF_CHILD_LIST_IDENTIFICATION_DESCRIPTION_COPY
Definition: wdfchildlist.h:159
EVT_WDF_CHILD_LIST_ADDRESS_DESCRIPTION_CLEANUP * PFN_WDF_CHILD_LIST_ADDRESS_DESCRIPTION_CLEANUP
Definition: wdfchildlist.h:257
EVT_WDF_CHILD_LIST_IDENTIFICATION_DESCRIPTION_DUPLICATE * PFN_WDF_CHILD_LIST_IDENTIFICATION_DESCRIPTION_DUPLICATE
Definition: wdfchildlist.h:176
EVT_WDF_CHILD_LIST_IDENTIFICATION_DESCRIPTION_CLEANUP * PFN_WDF_CHILD_LIST_IDENTIFICATION_DESCRIPTION_CLEANUP
Definition: wdfchildlist.h:208
EVT_WDF_CHILD_LIST_ADDRESS_DESCRIPTION_DUPLICATE * PFN_WDF_CHILD_LIST_ADDRESS_DESCRIPTION_DUPLICATE
Definition: wdfchildlist.h:242
EVT_WDF_CHILD_LIST_DEVICE_REENUMERATED * PFN_WDF_CHILD_LIST_DEVICE_REENUMERATED
Definition: wdfchildlist.h:276
WDF_EXTERN_C_START enum _WDF_CHILD_LIST_RETRIEVE_DEVICE_STATUS WDF_CHILD_LIST_RETRIEVE_DEVICE_STATUS
EVT_WDF_CHILD_LIST_IDENTIFICATION_DESCRIPTION_COMPARE * PFN_WDF_CHILD_LIST_IDENTIFICATION_DESCRIPTION_COMPARE
Definition: wdfchildlist.h:193
EVT_WDF_DEVICE_QUERY_STOP * PFN_WDF_DEVICE_QUERY_STOP
Definition: wdfdevice.h:986
_In_ WDFDEVICE _Out_ PWDF_DEVICE_STATE DeviceState
Definition: wdfdevice.h:1999
enum _WDF_STATE_NOTIFICATION_TYPE WDF_STATE_NOTIFICATION_TYPE
EVT_WDF_DEVICE_SELF_MANAGED_IO_SUSPEND * PFN_WDF_DEVICE_SELF_MANAGED_IO_SUSPEND
Definition: wdfdevice.h:960
enum _WDF_REQUEST_TYPE WDF_REQUEST_TYPE
enum _WDF_POWER_POLICY_S0_IDLE_USER_CONTROL WDF_POWER_POLICY_S0_IDLE_USER_CONTROL
EVT_WDF_DEVICE_PREPARE_HARDWARE * PFN_WDF_DEVICE_PREPARE_HARDWARE
Definition: wdfdevice.h:893
enum _WDF_DEVICE_POWER_STATE WDF_DEVICE_POWER_STATE
EVT_WDF_DEVICE_ARM_WAKE_FROM_SX * PFN_WDF_DEVICE_ARM_WAKE_FROM_SX
Definition: wdfdevice.h:1087
enum _WDF_FILEOBJECT_CLASS WDF_FILEOBJECT_CLASS
EVT_WDF_DEVICE_DISARM_WAKE_FROM_S0 * PFN_WDF_DEVICE_DISARM_WAKE_FROM_S0
Definition: wdfdevice.h:1117
EVT_WDF_DEVICE_ARM_WAKE_FROM_S0 * PFN_WDF_DEVICE_ARM_WAKE_FROM_S0
Definition: wdfdevice.h:1074
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_POWER_POLICY_IDLE_SETTINGS Settings
Definition: wdfdevice.h:2595
EVT_WDF_DEVICE_WAKE_FROM_SX_TRIGGERED * PFN_WDF_DEVICE_WAKE_FROM_SX_TRIGGERED
Definition: wdfdevice.h:1156
EVT_WDF_DEVICE_D0_EXIT_PRE_INTERRUPTS_DISABLED * PFN_WDF_DEVICE_D0_EXIT_PRE_INTERRUPTS_DISABLED
Definition: wdfdevice.h:876
EVT_WDF_DEVICE_SELF_MANAGED_IO_INIT * PFN_WDF_DEVICE_SELF_MANAGED_IO_INIT
Definition: wdfdevice.h:947
EVT_WDF_DEVICE_RELATIONS_QUERY * PFN_WDF_DEVICE_RELATIONS_QUERY
Definition: wdfdevice.h:1061
EVT_WDF_DEVICE_D0_ENTRY_POST_INTERRUPTS_ENABLED * PFN_WDF_DEVICE_D0_ENTRY_POST_INTERRUPTS_ENABLED
Definition: wdfdevice.h:846
EVT_WDF_DEVICE_FILE_CREATE * PFN_WDF_DEVICE_FILE_CREATE
Definition: wdfdevice.h:552
EVT_WDF_DEVICE_ARM_WAKE_FROM_SX_WITH_REASON * PFN_WDF_DEVICE_ARM_WAKE_FROM_SX_WITH_REASON
Definition: wdfdevice.h:1104
EVT_WDF_DEVICE_SELF_MANAGED_IO_RESTART * PFN_WDF_DEVICE_SELF_MANAGED_IO_RESTART
Definition: wdfdevice.h:973
enum _WDF_DEVICE_POWER_POLICY_STATE WDF_DEVICE_POWER_POLICY_STATE
EVT_WDF_DEVICE_D0_ENTRY * PFN_WDF_DEVICE_D0_ENTRY
Definition: wdfdevice.h:831
EVT_WDF_DEVICE_SELF_MANAGED_IO_FLUSH * PFN_WDF_DEVICE_SELF_MANAGED_IO_FLUSH
Definition: wdfdevice.h:934
EVT_WDF_DEVICE_WAKE_FROM_S0_TRIGGERED * PFN_WDF_DEVICE_WAKE_FROM_S0_TRIGGERED
Definition: wdfdevice.h:1143
EVT_WDF_DEVICE_DISARM_WAKE_FROM_SX * PFN_WDF_DEVICE_DISARM_WAKE_FROM_SX
Definition: wdfdevice.h:1130
EVT_WDF_FILE_CLOSE * PFN_WDF_FILE_CLOSE
Definition: wdfdevice.h:565
enum _WDF_POWER_POLICY_SX_WAKE_USER_CONTROL WDF_POWER_POLICY_SX_WAKE_USER_CONTROL
enum _WDF_POWER_POLICY_S0_IDLE_CAPABILITIES WDF_POWER_POLICY_S0_IDLE_CAPABILITIES
enum _WDF_DEVICE_PNP_STATE WDF_DEVICE_PNP_STATE
EVT_WDF_FILE_CLEANUP * PFN_WDF_FILE_CLEANUP
Definition: wdfdevice.h:578
EVT_WDF_DEVICE_USAGE_NOTIFICATION * PFN_WDF_DEVICE_USAGE_NOTIFICATION
Definition: wdfdevice.h:1029
EVT_WDF_DEVICE_RELEASE_HARDWARE * PFN_WDF_DEVICE_RELEASE_HARDWARE
Definition: wdfdevice.h:908
EVT_WDF_DEVICE_SELF_MANAGED_IO_CLEANUP * PFN_WDF_DEVICE_SELF_MANAGED_IO_CLEANUP
Definition: wdfdevice.h:921
EVT_WDF_DEVICE_QUERY_REMOVE * PFN_WDF_DEVICE_QUERY_REMOVE
Definition: wdfdevice.h:999
EVT_WDF_DEVICE_D0_EXIT * PFN_WDF_DEVICE_D0_EXIT
Definition: wdfdevice.h:861
EVT_WDF_DEVICE_SURPRISE_REMOVAL * PFN_WDF_DEVICE_SURPRISE_REMOVAL
Definition: wdfdevice.h:1012
EVT_WDF_DMA_ENABLER_DISABLE * PFN_WDF_DMA_ENABLER_DISABLE
EVT_WDF_DMA_ENABLER_ENABLE * PFN_WDF_DMA_ENABLER_ENABLE
EVT_WDF_DMA_ENABLER_SELFMANAGED_IO_STOP * PFN_WDF_DMA_ENABLER_SELFMANAGED_IO_STOP
EVT_WDF_DMA_ENABLER_SELFMANAGED_IO_START * PFN_WDF_DMA_ENABLER_SELFMANAGED_IO_START
EVT_WDF_DMA_ENABLER_FILL * PFN_WDF_DMA_ENABLER_FILL
Definition: wdfdmaenabler.h:85
EVT_WDF_DMA_ENABLER_FLUSH * PFN_WDF_DMA_ENABLER_FLUSH
Definition: wdfdmaenabler.h:98
WDF_EXTERN_C_START enum _WDF_DMA_PROFILE WDF_DMA_PROFILE
EVT_WDF_DPC * PFN_WDF_DPC
Definition: wdfdpc.h:64
EVT_WDF_DRIVER_DEVICE_ADD * PFN_WDF_DRIVER_DEVICE_ADD
Definition: wdfdriver.h:78
EVT_WDF_DRIVER_UNLOAD * PFN_WDF_DRIVER_UNLOAD
Definition: wdfdriver.h:91
_Must_inspect_result_ _In_ WDFDEVICE _In_ LPCGUID _Out_ PINTERFACE Interface
Definition: wdffdo.h:465
EVT_WDF_DEVICE_REMOVE_ADDED_RESOURCES * PFN_WDF_DEVICE_REMOVE_ADDED_RESOURCES
Definition: wdffdo.h:83
EVT_WDF_DEVICE_FILTER_RESOURCE_REQUIREMENTS * PFN_WDF_DEVICE_FILTER_RESOURCE_REQUIREMENTS
Definition: wdffdo.h:66
#define WDF_DRIVER_GLOBALS_NAME_LEN
Definition: wdfglobals.h:51
EVT_WDF_INTERRUPT_DISABLE * PFN_WDF_INTERRUPT_DISABLE
Definition: wdfinterrupt.h:197
enum _WDF_INTERRUPT_PRIORITY WDF_INTERRUPT_PRIORITY
enum _WDF_INTERRUPT_POLICY WDF_INTERRUPT_POLICY
EVT_WDF_INTERRUPT_DPC * PFN_WDF_INTERRUPT_DPC
Definition: wdfinterrupt.h:134
EVT_WDF_INTERRUPT_ISR * PFN_WDF_INTERRUPT_ISR
Definition: wdfinterrupt.h:94
EVT_WDF_INTERRUPT_ENABLE * PFN_WDF_INTERRUPT_ENABLE
Definition: wdfinterrupt.h:175
WDF_EXTERN_C_START enum _WDF_INTERRUPT_POLARITY WDF_INTERRUPT_POLARITY
_In_ WDFREQUEST _In_ size_t _In_ size_t _In_ ULONG IoControlCode
Definition: wdfio.h:325
EVT_WDF_IO_QUEUE_IO_INTERNAL_DEVICE_CONTROL * PFN_WDF_IO_QUEUE_IO_INTERNAL_DEVICE_CONTROL
Definition: wdfio.h:348
EVT_WDF_IO_QUEUE_IO_CANCELED_ON_QUEUE * PFN_WDF_IO_QUEUE_IO_CANCELED_ON_QUEUE
Definition: wdfio.h:364
EVT_WDF_IO_QUEUE_IO_DEVICE_CONTROL * PFN_WDF_IO_QUEUE_IO_DEVICE_CONTROL
Definition: wdfio.h:327
_Must_inspect_result_ _In_ WDFQUEUE _In_opt_ WDFREQUEST _In_opt_ WDFFILEOBJECT _Inout_opt_ PWDF_REQUEST_PARAMETERS Parameters
Definition: wdfio.h:869
EVT_WDF_IO_QUEUE_IO_READ * PFN_WDF_IO_QUEUE_IO_READ
Definition: wdfio.h:289
EVT_WDF_IO_QUEUE_IO_WRITE * PFN_WDF_IO_QUEUE_IO_WRITE
Definition: wdfio.h:306
EVT_WDF_IO_ALLOCATE_RESOURCES_FOR_RESERVED_REQUEST * PFN_WDF_IO_ALLOCATE_RESOURCES_FOR_RESERVED_REQUEST
Definition: wdfio.h:485
EVT_WDF_IO_QUEUE_IO_RESUME * PFN_WDF_IO_QUEUE_IO_RESUME
Definition: wdfio.h:272
EVT_WDF_IO_QUEUE_IO_STOP * PFN_WDF_IO_QUEUE_IO_STOP
Definition: wdfio.h:257
WDF_EXTERN_C_START enum _WDF_IO_QUEUE_DISPATCH_TYPE WDF_IO_QUEUE_DISPATCH_TYPE
enum _WDF_IO_FORWARD_PROGRESS_RESERVED_POLICY WDF_IO_FORWARD_PROGRESS_RESERVED_POLICY
EVT_WDF_IO_QUEUE_IO_DEFAULT * PFN_WDF_IO_QUEUE_IO_DEFAULT
Definition: wdfio.h:239
EVT_WDF_IO_ALLOCATE_REQUEST_RESOURCES * PFN_WDF_IO_ALLOCATE_REQUEST_RESOURCES
Definition: wdfio.h:500
enum _WDF_IO_TARGET_OPEN_TYPE WDF_IO_TARGET_OPEN_TYPE
EVT_WDF_IO_TARGET_REMOVE_CANCELED * PFN_WDF_IO_TARGET_REMOVE_CANCELED
Definition: wdfiotarget.h:108
EVT_WDF_IO_TARGET_REMOVE_COMPLETE * PFN_WDF_IO_TARGET_REMOVE_COMPLETE
Definition: wdfiotarget.h:121
EVT_WDF_IO_TARGET_QUERY_REMOVE * PFN_WDF_IO_TARGET_QUERY_REMOVE
Definition: wdfiotarget.h:95
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR _In_opt_ PLONGLONG DeviceOffset
Definition: wdfiotarget.h:865
WDF_EXTERN_C_START enum _WDF_MEMORY_DESCRIPTOR_TYPE WDF_MEMORY_DESCRIPTOR_TYPE
EVT_WDF_OBJECT_CONTEXT_DESTROY * PFN_WDF_OBJECT_CONTEXT_DESTROY
Definition: wdfobject.h:95
PCWDF_OBJECT_CONTEXT_TYPE_INFO(__cdecl * PFN_GET_UNIQUE_CONTEXT_TYPE)(VOID)
Definition: wdfobject.h:176
EVT_WDF_OBJECT_CONTEXT_CLEANUP * PFN_WDF_OBJECT_CONTEXT_CLEANUP
Definition: wdfobject.h:82
WDF_EXTERN_C_START enum _WDF_EXECUTION_LEVEL WDF_EXECUTION_LEVEL
enum _WDF_SYNCHRONIZATION_SCOPE WDF_SYNCHRONIZATION_SCOPE
EVT_WDF_DEVICE_SET_LOCK * PFN_WDF_DEVICE_SET_LOCK
Definition: wdfpdo.h:108
EVT_WDF_DEVICE_DISABLE_WAKE_AT_BUS * PFN_WDF_DEVICE_DISABLE_WAKE_AT_BUS
Definition: wdfpdo.h:136
EVT_WDF_DEVICE_RESOURCES_QUERY * PFN_WDF_DEVICE_RESOURCES_QUERY
Definition: wdfpdo.h:65
EVT_WDF_DEVICE_RESOURCE_REQUIREMENTS_QUERY * PFN_WDF_DEVICE_RESOURCE_REQUIREMENTS_QUERY
Definition: wdfpdo.h:80
EVT_WDF_DEVICE_EJECT * PFN_WDF_DEVICE_EJECT
Definition: wdfpdo.h:93
EVT_WDF_DEVICE_ENABLE_WAKE_AT_BUS * PFN_WDF_DEVICE_ENABLE_WAKE_AT_BUS
Definition: wdfpdo.h:123
EVT_WDF_DEVICE_PROCESS_QUERY_INTERFACE_REQUEST * PFN_WDF_DEVICE_PROCESS_QUERY_INTERFACE_REQUEST
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _Out_opt_ PUSHORT _Inout_opt_ PUNICODE_STRING Value
Definition: wdfregistry.h:413
_Must_inspect_result_ _In_ WDFIORESLIST _In_ PIO_RESOURCE_DESCRIPTOR Descriptor
Definition: wdfresource.h:342
EVT_WDF_TIMER * PFN_WDF_TIMER
Definition: wdftimer.h:67
enum _WDF_TRI_STATE WDF_TRI_STATE
EVT_WDF_USB_READERS_FAILED * PFN_WDF_USB_READERS_FAILED
Definition: wdfusb.h:405
enum _WdfUsbTargetDeviceSelectConfigType WdfUsbTargetDeviceSelectConfigType
enum _WDF_USB_REQUEST_TYPE WDF_USB_REQUEST_TYPE
EVT_WDF_USB_READER_COMPLETION_ROUTINE * PFN_WDF_USB_READER_COMPLETION_ROUTINE
Definition: wdfusb.h:388
enum _WDF_USB_PIPE_TYPE WDF_USB_PIPE_TYPE
enum _WdfUsbTargetDeviceSelectSettingType WdfUsbTargetDeviceSelectSettingType
EVT_WDF_WMI_INSTANCE_EXECUTE_METHOD * PFN_WDF_WMI_INSTANCE_EXECUTE_METHOD
Definition: wdfwmi.h:154
EVT_WDF_WMI_INSTANCE_QUERY_INSTANCE * PFN_WDF_WMI_INSTANCE_QUERY_INSTANCE
Definition: wdfwmi.h:94
EVT_WDF_WMI_INSTANCE_SET_INSTANCE * PFN_WDF_WMI_INSTANCE_SET_INSTANCE
Definition: wdfwmi.h:111
EVT_WDF_WMI_INSTANCE_SET_ITEM * PFN_WDF_WMI_INSTANCE_SET_ITEM
Definition: wdfwmi.h:130
EVT_WDF_WMI_PROVIDER_FUNCTION_CONTROL * PFN_WDF_WMI_PROVIDER_FUNCTION_CONTROL
Definition: wdfwmi.h:171
EVT_WDF_WORKITEM * PFN_WDF_WORKITEM
Definition: wdfworkitem.h:64
#define POINTER_ALIGNMENT
_Reserved_ PVOID Reserved
Definition: winddi.h:3974
_IRQL_requires_same_ _In_opt_ PVOID Argument1
Definition: cmtypes.h:696
* PFILE_OBJECT
Definition: iotypes.h:1998
unsigned char UCHAR
Definition: xmlstorage.h:181
char CHAR
Definition: xmlstorage.h:175