ReactOS 0.4.16-dev-112-g52265ae
wdf113.h
Go to the documentation of this file.
1#ifndef _WDF_V1_13_TYPES_H_
2#define _WDF_V1_13_TYPES_H_
3
4
5typedef enum _WDFFUNCENUM_V1_13 {
8
65typedef struct _WDF_DEVICE_INTERFACE_PROPERTY_DATA_V1_13 *PWDF_DEVICE_INTERFACE_PROPERTY_DATA_V1_13;
66typedef const struct _WDF_DEVICE_INTERFACE_PROPERTY_DATA_V1_13 *PCWDF_DEVICE_INTERFACE_PROPERTY_DATA_V1_13;
163
164//
165// Versioning of structures for wdf.h
166//
167// End of versioning of structures for wdf.h
168
169//
170// Versioning of structures for wdfassert.h
171//
172// End of versioning of structures for wdfassert.h
173
174//
175// Versioning of structures for wdfbugcodes.h
176//
178 //
179 // Current power state associated with the timed out device
180 //
182
183 //
184 // Current power policy state associated with the timed out device
185 //
187
188 //
189 // The device object for the timed out device
190 //
192
193 //
194 // The handle for the timed out device
195 //
196 WDFDEVICE Device;
197
198 //
199 // The thread which is stuck
200 //
202
204
206 WDFREQUEST Request;
207
209
211
213
215
217
219 WDFQUEUE Queue;
220
221 WDFREQUEST Request;
222
224
226
227// End of versioning of structures for wdfbugcodes.h
228
229//
230// Versioning of structures for wdfchildlist.h
231//
233 //
234 // Size in bytes of the entire description, including this header.
235 //
236 // Same value as WDF_CHILD_LIST_CONFIG::IdentificationDescriptionSize
237 // Used as a sanity check.
238 //
240
242
244 //
245 // Size in bytes of the entire description, including this header.
246 //
247 // Same value as WDF_CHILD_LIST_CONFIG::AddressDescriptionSize
248 // Used as a sanity check.
249 //
251
253
255 //
256 // Size of the structure in bytes
257 //
259
260 //
261 // Must be a valid pointer when passed in, copied into upon success
262 //
264
265 //
266 // Optional pointer when passed in, copied into upon success
267 //
269
270 //
271 // Status of the returned device
272 //
274
275 //
276 // If provided, will be used for searching through the list of devices
277 // instead of the default list ID compare function
278 //
280
282
284 //
285 // Size of this structure in bytes
286 //
288
289 //
290 // The size in bytes of an identificaiton description to be used with the
291 // created WDFCHILDLIST handle
292 //
294
295 //
296 // Optional size in bytes of an address description to be used with the
297 // created WDFCHILDLIST handle.
298 //
300
301 //
302 // Required callback to be invoked when a description on the device list
303 // needs to be converted into a real WDFDEVICE handle.
304 //
306
307 //
308 // Optional callback to be invoked when the device list needs to be
309 // rescanned. This function will be called after the device has entered D0
310 // and been fully initialized but before I/O has started.
311 //
313
314 //
315 // Optional callback to be invoked when an identification description needs
316 // to be copied from one location to another.
317 //
318 // If left NULL, RtlCopyMemory will be used to copy the description.
319 //
321
322 //
323 // Optional callback to be invoked when an identification description needs
324 // to be duplicated. As opposed to EvtChildListIdentificationDescriptionCopy,
325 // EvtChildListIdentificationDescriptionDuplicate can fail.
326 //
328
329 //
330 // Optional callback to be invoked when an identification description needs
331 // to be cleaned up. This function should *NOT* free the description passed
332 // to it, just free any associated resources.
333 //
335
336 //
337 // Optional callback to be invoked when an identification description needs
338 // to be compared with another identificaiton description.
339 //
340 // If left NULL, RtlCompareMemory will be used to compare the two
341 // descriptions.
342 //
344
345 //
346 // Optional callback to be invoked when an address description needs
347 // to be copied from one location to another.
348 //
349 // If left NULL, RtlCopyMemory will be used to copy the description.
350 //
352
353 //
354 // Optional callback to be invoked when an address description needs to be
355 // duplicated. As opposed to EvtChildListAddressDescriptionCopy,
356 // EvtChildListAddressDescriptionDuplicate can fail.
357 //
359
360 //
361 // Optional callback to be invoked when an address description needs to be
362 // cleaned up. This function should *NOT* free the description passed to
363 // it, just free any associated resources.
364 //
366
367 //
368 // If provided, will be called when the child's stack requests that the
369 // child be reenumerated. Returning TRUE allows for the reenumeration to
370 // proceed. FALSE will no reenumerate the stack.
371 //
373
375
377 //
378 // Size of this structure in bytes
379 //
381
382 //
383 // What type of devices to return, see WDF_RETRIEVE_CHILD_FLAGS for
384 // flag values
385 //
386 //
388
389 //
390 // For internal use, treat this field as opaque
391 //
393
395
396// End of versioning of structures for wdfchildlist.h
397
398//
399// Versioning of structures for wdfcollection.h
400//
401// End of versioning of structures for wdfcollection.h
402
403//
404// Versioning of structures for wdfCommonBuffer.h
405//
407 //
408 // Size of this structure in bytes
409 //
411
412 //
413 // Alignment requirement of the buffer address
414 //
416
418
419// End of versioning of structures for wdfCommonBuffer.h
420
421//
422// Versioning of structures for wdfcontrol.h
423//
424// End of versioning of structures for wdfcontrol.h
425
426//
427// Versioning of structures for wdfcore.h
428//
429// End of versioning of structures for wdfcore.h
430
431//
432// Versioning of structures for wdfcx.h
433//
435 //
436 // Size of this structure in bytes
437 //
439
440 //
441 // Event callback for create requests
442 //
444
445 //
446 // Event callback for close requests
447 //
449
450 //
451 // Event callback for cleanup requests
452 //
454
455 //
456 // If WdfTrue, create/cleanup/close file object related requests will be
457 // sent down the stack.
458 //
459 // If WdfFalse, create/cleanup/close will be completed at this location in
460 // the device stack.
461 //
462 // If WdfDefault, behavior depends on device type
463 // FDO, PDO, Control: use the WdfFalse behavior
464 // Filter: use the WdfTrue behavior
465 //
467
468 //
469 // Specify whether framework should create WDFFILEOBJECT and also
470 // whether it can FsContexts fields in the WDM fileobject to store
471 // WDFFILEOBJECT so that it can avoid table look up and improve perf.
472 //
474
476
477// End of versioning of structures for wdfcx.h
478
479//
480// Versioning of structures for wdfcxbase.h
481//
484
486
488
490
492
495
497
499
501
503 //
504 // Size of the structure in bytes
505 //
507
508 //
509 // Name of the class to bind to
510 //
512
513 //
514 // Version information for the class
515 //
517
518 //
519 // Function export table from the class driver to resolve on bind
520 //
522
523 //
524 // Number of entries in FunctionTable
525 //
527
528 //
529 // Optional field where the client specify additional information
530 // for the class driver to resolve
531 //
533
534 //
535 // Optional bind callback. If set, WdfVersionBindClass will not
536 // be called and it will be up to ClientClassBind to call this function
537 // if required.
538 //
540
541 //
542 // Optional unbind callback. If set, WdfVersionUnbindClass will not be
543 // called and it will be up to ClientClassUnbind to call this function
544 // if required.
545 //
547
548 //
549 // Diagnostic cookie to use during debugging
550 //
552
554
556 //
557 // Size of this structure in bytes
558 //
560
561 //
562 // Version of this class library
563 //
565
566 //
567 // Callback to be called by the loader to initialize the class library
568 //
570
571 //
572 // Callback to be called by the loader to deinitialize the class library
573 // after succesful initialization (immediately before the class library will
574 // be unloaded).
575 //
577
578 //
579 // Callback to be called by the loader when a client driver has request to
580 // be bound to this class library.
581 //
583
584 //
585 // Callback to be called by the loader when a previously bound client driver
586 // is being unloaded.
587 //
589
591
592// End of versioning of structures for wdfcxbase.h
593
594//
595// Versioning of structures for wdfDevice.h
596//
598 //
599 // Size of this structure in bytes
600 //
602
603 //
604 // Event callback for create requests
605 //
607
608 //
609 // Event callback for close requests
610 //
612
613 //
614 // Event callback for cleanup requests
615 //
617
618 //
619 // If WdfTrue, create/cleanup/close file object related requests will be
620 // sent down the stack.
621 //
622 // If WdfFalse, create/cleanup/close will be completed at this location in
623 // the device stack.
624 //
625 // If WdfDefault, behavior depends on device type
626 // FDO, PDO, Control: use the WdfFalse behavior
627 // Filter: use the WdfTrue behavior
628 //
630
631 //
632 // Specify whether framework should create WDFFILEOBJECT and also
633 // whether it can FsContexts fields in the WDM fileobject to store
634 // WDFFILEOBJECT so that it can avoid table look up and improve perf.
635 //
637
639
641 //
642 // Type of data
643 //
645
646 union {
647 struct {
648 //
649 // The current state that is about to be exited
650 //
652
653 //
654 // The new state that is about to be entered
655 //
657
659
660 struct {
661 //
662 // The current state
663 //
665
667
668 struct {
669 //
670 // The current state that is about to be exitted
671 //
673
674 //
675 // The state that is about to be entered
676 //
678
680
682
684
686 //
687 // Type of data
688 //
690
691 union {
692 struct {
693 //
694 // The current state that is about to be exitted
695 //
697
698 //
699 // The new state that is about to be entered
700 //
702
704
705 struct {
706 //
707 // The current state
708 //
710
712
713 struct {
714 //
715 // The current state that is about to be exitted
716 //
718
719 //
720 // The state that is about to be entered
721 //
723
725
727
729
731 //
732 // Type of data
733 //
735
736 union {
737 struct {
738 //
739 // The current state that is about to be exitted
740 //
742
743 //
744 // The new state that is about to be entered
745 //
747
749
750 struct {
751 //
752 // The current state
753 //
755
757
758 struct {
759 //
760 // The current state that is about to be exitted
761 //
763
764 //
765 // The state that is about to be entered
766 //
768
770
772
774
776 //
777 // Size of this structure in bytes
778 //
780
782
784
786
788
790
792
794
796
798
800
802
804
806
808
810
812
814
816
818 //
819 // Size of this structure in bytes
820 //
822
824
826
828
830
832
834
836
838
840 //
841 // Size of this structure in bytes
842 //
844
845 //
846 // Indicates whether the device can wake itself up while the machine is in
847 // S0.
848 //
850
851 //
852 // The low power state in which the device will be placed when it is idled
853 // out while the machine is in S0.
854 //
856
857 //
858 // Amount of time the device must be idle before idling out. Timeout is in
859 // milliseconds.
860 //
862
863 //
864 // Inidcates whether a user can control the idle policy of the device.
865 // By default, a user is allowed to change the policy.
866 //
868
869 //
870 // If WdfTrue, idling out while the machine is in S0 will be enabled.
871 //
872 // If WdfFalse, idling out will be disabled.
873 //
874 // If WdfUseDefault, the idling out will be enabled. If
875 // UserControlOfIdleSettings is set to IdleAllowUserControl, the user's
876 // settings will override the default.
877 //
879
880 //
881 // This field is applicable only when IdleCaps == IdleCannotWakeFromS0
882 // If WdfTrue,device is powered up on System Wake even if device is idle
883 // If WdfFalse, device is not powered up on system wake if it is idle
884 // If WdfUseDefault, the behavior is same as WdfFalse
885 //
887
888 //
889 // This field determines how the IdleTimeout field is used.
890 //
891 // If the value is DriverManagedIdleTimeout, then the idle timeout value
892 // is determined by the IdleTimeout field of this structure.
893 //
894 // If the value is SystemManagedIdleTimeout, then the timeout value is
895 // determined by the power framework (PoFx) on operating systems where
896 // the PoFx is available (i.e. Windows 8 and later). The IdleTimeout field
897 // is ignored on these operating systems. On operating systems where the
898 // PoFx is not available, the behavior is same as DriverManagedIdleTimeout.
899 //
900 // If the value is SystemManagedIdleTimeoutWithHint, then the timeout value
901 // is determined by the power framework (PoFx) on operating systems where
902 // the PoFx is available (i.e. Windows 8 and later). In addition, the value
903 // specified in the IdleTimeout field is provided as a hint to the PoFx in
904 // determining when the device should be allowed to enter a low-power state.
905 // Since it is only a hint, the actual duration after which the PoFx allows
906 // the device to enter a low-power state might be greater than or less than
907 // the IdleTimeout value. On operating systems where the PoFx is not
908 // available, the behavior is same as DriverManagedIdleTimeout.
909 //
911
912 //
913 // This field forces the device to avoid idling in the D3cold power state.
914 // WDF will ensure, with help from the bus drivers, that the device will
915 // idle in a D-state that can successfully generate a wake signal, if
916 // necessary. If the client specifies that DxState == PowerDeviceD3, this
917 // setting allows the client to distinguish betwen D3hot and D3cold. If
918 // the client sets DxState == PowerDeviceMaximum, then WDF will pick the
919 // deepest idle state identified by the bus driver. If that deepest state
920 // is D3cold, this field allows the client to override that and choose
921 // D3hot.
922 //
923 // If WdfTrue, device will not use D3cold in S0.
924 // If WdfFalse, device will use D3cold in S0 if the ACPI firmware indicates
925 // that the device can enter that state, if DxState above does not
926 // specify some other D-state and, if the device is armed for
927 // wake, that it can generate its wake signal from D3cold.
928 // If WdfUseDefault, this setting will be derived from the driver's INF,
929 // specifically the presence or absence of the following two lines in
930 // the DDInstall.HW section:
931 // Include=machine.inf
932 // Needs=PciD3ColdSupported
933 //
935
937
939 //
940 // Size of this structure in bytes
941 //
943
944 //
945 // The low power state in which the device will be placed when it is armed
946 // for wake from Sx.
947 //
949
950 //
951 // Inidcates whether a user can control the idle policy of the device.
952 // By default, a user is allowed to change the policy.
953 //
955
956 //
957 // If WdfTrue, arming the device for wake while the machine is in Sx is
958 // enabled.
959 //
960 // If WdfFalse, arming the device for wake while the machine is in Sx is
961 // disabled.
962 //
963 // If WdfUseDefault, arming will be enabled. If UserControlOfWakeSettings
964 // is set to WakeAllowUserControl, the user's settings will override the
965 // default.
966 //
968
969 //
970 // If set to TRUE, arming the parent device can depend on whether there
971 // is atleast one child device armed for wake.
972 //
973 // If set to FALSE, arming of the parent device will be independent of
974 // whether any of the child devices are armed for wake.
975 //
977
978 //
979 // Indicates that whenever the parent device completes the wake irp
980 // successfully, the status needs to be also propagated to the child
981 // devices. This helps in tracking which devices were responsible for
982 // waking the system.
983 //
985
987
989 //
990 // Size of this structure in bytes
991 //
993
994 //
995 // If set to WdfTrue, the device will be disabled
996 //
998
999 //
1000 // If set to WdfTrue, the device will not be displayed in device manager.
1001 // Once hidden, the device cannot be unhidden.
1002 //
1004
1005 //
1006 // If set to WdfTrue, the device is reporting itself as failed. If set
1007 // in conjuction with ResourcesChanged to WdfTrue, the device will receive
1008 // a PnP stop and then a new PnP start device.
1009 //
1011
1012 //
1013 // If set to WdfTrue, the device cannot be subsequently disabled.
1014 //
1016
1017
1018
1019
1020 //
1021 //
1022 // If set to WdfTrue, the device stack will be torn down.
1023 //
1025
1026 //
1027 // If set to WdfTrue, the device will be sent another PnP start. If the
1028 // Failed field is set to WdfTrue as well, a PnP stop will be sent before
1029 // the start.
1030 //
1032
1034
1036 //
1037 // Size of the structure in bytes
1038 //
1040
1041 //
1042 // NOTE: To mark a PDO as raw, call WdfPdoInitAssignRawDevice
1043 //
1044 //
1046
1048
1050
1052
1054
1056
1058
1060
1062
1063 //
1064 // Default values of -1 indicate not to set this value
1065 //
1067
1069
1071
1073 //
1074 // Size of the structure in bytes
1075 //
1077
1079
1081
1083
1085
1087
1089
1090 //
1091 // Default value PowerDeviceMaximum indicates not to set this value
1092 //
1094
1095 //
1096 // Default value PowerDeviceMaximum, PowerSystemMaximum indicates not to
1097 // set this value.
1098 //
1100
1102
1103 //
1104 // Default values of -1 indicate not to set this value
1105 //
1107
1109
1111
1112 //
1113 // Ideal Dx state for the device to be put into when the machine moves into
1114 // Sx and the device is not armed for wake. By default, the default will be
1115 // placed into D3. If IdealDxStateForSx is lighter then
1116 // DeviceState[Sx], then DeviceState[Sx] will be used as the Dx state.
1117 //
1119
1121
1123 //
1124 // Size of the structure in bytes
1125 //
1127
1128 //
1129 // Bit field combination of values from the WDF_REMOVE_LOCK_OPTIONS_FLAGS
1130 // enumeration
1131 //
1133
1135
1137 //
1138 // Size of the structure, in bytes.
1139 //
1141
1142 //
1143 // Client driver's callback function that is invoked after KMDF has
1144 // registered with the power framework. This field can be NULL if the
1145 // client driver does not wish to specify this callback.
1146 //
1148
1149 //
1150 // Client driver's callback function that is invoked before KMDF
1151 // unregisters with the power framework. This field can be NULL if the
1152 // client driver does not wish to specify this callback.
1153 //
1155
1156 //
1157 // Pointer to a PO_FX_COMPONENT structure that describes the only component
1158 // in the single-component device. This field can be NULL if the client
1159 // driver wants KMDF to use the default specification for this component
1160 // (i.e. support for F0 only).
1161 //
1163
1164 //
1165 // Client driver's PO_FX_COMPONENT_ACTIVE_CONDITION_CALLBACK callback
1166 // function. This field can be NULL if the client driver does not wish to
1167 // specify this callback.
1168 //
1170
1171 //
1172 // Client driver's PO_FX_COMPONENT_IDLE_CONDITION_CALLBACK callback
1173 // function. This field can be NULL if the client driver does not wish to
1174 // specify this callback.
1175 //
1177
1178 //
1179 // Client driver's PO_FX_COMPONENT_IDLE_STATE_CALLBACK callback function.
1180 // This field can be NULL if the client driver does not wish to specify
1181 // this callback.
1182 //
1184
1185 //
1186 // Client driver's PO_FX_POWER_CONTROL_CALLBACK callback function. This
1187 // field can be NULL if the client driver does not wish to specify this
1188 // callback.
1189 //
1191
1192 //
1193 // Context value that is passed in to the ComponentIdleStateCallback and
1194 // PowerControlCallback callback functions.
1195 //
1197
1199
1201 //
1202 // Size of this structure in bytes
1203 //
1205
1206 //
1207 // <KMDF_DOC/>
1208 // Identifies the method that the driver will use to access data buffers
1209 // that it receives for read and write requests.
1210 //
1211 // <UMDF_DOC/>
1212 // Identifies the method that the driver will "prefer" to use to access data
1213 // buffers that it receives for read and write requests. Note that UMDF
1214 // driver provides just a preference, and not a guarantee.Therefore,
1215 // even if a driver specified direct access method, UMDF might use the
1216 // buffered access method for one or more of the device's requests to
1217 // improve performance. For example, UMDF uses buffered access for small
1218 // buffers, if it can copy the data to the driver's buffer faster than it
1219 // can map the buffers for direct access.
1220 //
1222
1223 //
1224 // <UMDF_ONLY/>
1225 // Identifies the method that the driver will "prefer" to use to access data
1226 // buffers that it receives for IOCTL requests. Note that UMDF
1227 // driver provides just a preference, and not a guarantee. Therefore,
1228 // even if a driver specified direct access method, UMDF might use the
1229 // buffered access method for one or more of the device's requests to
1230 // improve performance. For example, UMDF uses buffered access for small
1231 // buffers, if it can copy the data to the driver's buffer faster than it
1232 // can map the buffers for direct access.
1233 //
1235
1236 //
1237 // <UMDF_ONLY/>
1238 // Optional, Provides the smallest buffer size (in bytes) for which
1239 // UMDF will use direct access for the buffers. For example, set
1240 // DirectTransferThreshold to "12288" to indicate that UMDF should use buffered
1241 // access for all buffers that are smaller than 12 kilobytes, and direct
1242 // access for buffers equal to or greater than that. Typically, you
1243 // do not need to provide this value because UMDF uses a value that provides
1244 // the best performance. Note that there are other requirements that must be
1245 // met in order to get direct access of buffers. See Docs for details.
1246 //
1248
1250
1252 //
1253 // Size of this structure
1254 //
1256
1257 //
1258 // A pointer to a DEVPROPKEY structure that specifies the device
1259 // property key.
1260 //
1262
1263 //
1264 // A locale identifier. Set this parameter either to a language-specific
1265 // LCID value or to LOCALE_NEUTRAL. The LOCALE_NEUTRAL LCID specifies
1266 // that the property is language-neutral (that is, not specific to any
1267 // language). Do not set this parameter to LOCALE_SYSTEM_DEFAULT or
1268 // LOCALE_USER_DEFAULT. For more information about language-specific
1269 // LCID values, see LCID Structure.
1270 //
1272
1273 //
1274 // Set this parameter to PLUGPLAY_PROPERTY_PERSISTENT if the property
1275 // value set by this routine should persist across computer restarts.
1276 // Otherwise, set Flags to zero. Ignored for Query DDIs.
1277 //
1279
1281
1282// End of versioning of structures for wdfDevice.h
1283
1284//
1285// Versioning of structures for wdfDmaEnabler.h
1286//
1288 //
1289 // Size of this structure in bytes
1290 //
1292
1293 //
1294 // One of the above WDF_DMA_PROFILES
1295 //
1297
1298 //
1299 // Maximum DMA Transfer handled in bytes.
1300 //
1302
1303 //
1304 // The various DMA PnP/Power event callbacks
1305 //
1307
1309
1311
1313
1315
1317
1318 //
1319 // Overrides the address width specified by the DMA profile.
1320 //
1322
1323 //
1324 // Overrides the version of the WDM DMA interfaces that WDF uses
1325 // (0 for default).
1326 //
1328
1329 //
1330 // Bit field combination of values from the WDF_DMA_ENABLER_CONFIG_FLAGS
1331 // enumeration
1332 //
1334
1336
1338 //
1339 // The size of this structure in bytes
1340 //
1342
1343 //
1344 // Specifies that the transfer is controlled by the device's DMA
1345 // request line.
1346 //
1347 //
1349
1350 //
1351 // Specifies that the DMA engine will loop back to the beginning
1352 // of the buffer once it reaches the end.
1353 //
1354 //
1356
1357 //
1358 // Width of the register to DMA to/from
1359 //
1360 //
1362
1363 //
1364 // The adress at which to write to the device
1365 //
1367
1368 //
1369 // The translated resource descriptor for the DMA channel assigned
1370 // the device during EvtDevicePrepareHardware
1371 //
1373
1375
1376// End of versioning of structures for wdfDmaEnabler.h
1377
1378//
1379// Versioning of structures for wdfDmaTransaction.h
1380//
1381// End of versioning of structures for wdfDmaTransaction.h
1382
1383//
1384// Versioning of structures for wdfdpc.h
1385//
1388
1390
1391 //
1392 // If this is TRUE, the DPC will automatically serialize
1393 // with the event callback handlers of its Parent Object.
1394 //
1395 // Parent Object's callback constraints should be compatible
1396 // with the DPC (DISPATCH_LEVEL), or the request will fail.
1397 //
1399
1401
1402// End of versioning of structures for wdfdpc.h
1403
1404//
1405// Versioning of structures for wdfdriver.h
1406//
1408 //
1409 // Size of this structure in bytes
1410 //
1412
1413 //
1414 // Event callbacks
1415 //
1417
1419
1420 //
1421 // Combination of WDF_DRIVER_INIT_FLAGS values
1422 //
1424
1425 //
1426 // Pool tag to use for all allocations made by the framework on behalf of
1427 // the client driver.
1428 //
1430
1432
1434 //
1435 // Size of the structure in bytes
1436 //
1438
1439 //
1440 // Major Version requested
1441 //
1443
1444 //
1445 // Minor Version requested
1446 //
1448
1450
1451// End of versioning of structures for wdfdriver.h
1452
1453//
1454// Versioning of structures for wdffdo.h
1455//
1457 //
1458 // Size of this structure in bytes
1459 //
1461
1463
1465
1467
1469
1470// End of versioning of structures for wdffdo.h
1471
1472//
1473// Versioning of structures for wdffileobject.h
1474//
1475// End of versioning of structures for wdffileobject.h
1476
1477//
1478// Versioning of structures for wdfGlobals.h
1479//
1481 // backpointer to the handle for this driver
1482 WDFDRIVER Driver;
1483
1484 // Flags indicated by the driver during create
1486
1487 // Tag generated by WDF for the driver. Tag used by allocations made on
1488 // behalf of the driver by WDF.
1490
1492
1493 // If TRUE, the stub code will capture DriverObject->DriverUnload and insert
1494 // itself first in the unload chain. If FALSE, DriverUnload is left alone
1495 // (but WDF will not be notified of unload and there will be no auto cleanup).
1497
1499
1500// End of versioning of structures for wdfGlobals.h
1501
1502//
1503// Versioning of structures for wdfhwaccess.h
1504//
1505// End of versioning of structures for wdfhwaccess.h
1506
1507//
1508// Versioning of structures for wdfinstaller.h
1509//
1510// End of versioning of structures for wdfinstaller.h
1511
1512//
1513// Versioning of structures for wdfinternal.h
1514//
1515// End of versioning of structures for wdfinternal.h
1516
1517//
1518// Versioning of structures for wdfinterrupt.h
1519//
1520//
1521// Interrupt Configuration Structure
1522//
1525
1526 //
1527 // If this interrupt is to be synchronized with other interrupt(s) assigned
1528 // to the same WDFDEVICE, create a WDFSPINLOCK and assign it to each of the
1529 // WDFINTERRUPTs config.
1530 //
1531 WDFSPINLOCK SpinLock;
1532
1534
1536
1537 //
1538 // DIRQL handling: automatic serialization of the DpcForIsr/WaitItemForIsr.
1539 // Passive-level handling: automatic serialization of all callbacks.
1540 //
1542
1543 //
1544 // Event Callbacks
1545 //
1547
1549
1551
1553
1555
1556 //
1557 // These fields are only used when interrupt is created in
1558 // EvtDevicePrepareHardware callback.
1559 //
1561
1563
1564 //
1565 // Optional passive lock for handling interrupts at passive-level.
1566 //
1567 WDFWAITLOCK WaitLock;
1568
1569 //
1570 // TRUE: handle interrupt at passive-level.
1571 // FALSE: handle interrupt at DIRQL level. This is the default.
1572 //
1574
1575 //
1576 // TRUE: Interrupt is reported inactive on explicit power down
1577 // instead of disconnecting it.
1578 // FALSE: Interrupt is disconnected instead of reporting inactive
1579 // on explicit power down.
1580 // DEFAULT: Framework decides the right value.
1581 //
1583
1584 //
1585 // TRUE: Interrupt is used to wake the device from low-power states
1586 // and when the device is armed for wake this interrupt should
1587 // remain connected.
1588 // FALSE: Interrupt is not used to wake the device from low-power states.
1589 // This is the default.
1590 //
1592
1594
1596 //
1597 // Size of this structure in bytes
1598 //
1600
1602
1604
1606
1608
1610
1612
1614
1616
1618
1619 // CM_SHARE_DISPOSITION
1621
1623
1625
1626//
1627// Interrupt Extended Policy Configuration Structure
1628//
1630 //
1631 // Size of this structure in bytes
1632 //
1634
1636
1638
1640
1642
1643// End of versioning of structures for wdfinterrupt.h
1644
1645//
1646// Versioning of structures for wdfio.h
1647//
1648//
1649// This is the structure used to configure an IoQueue and
1650// register callback events to it.
1651//
1652//
1655
1657
1659
1661
1663
1665
1667
1669
1671
1673
1675
1677
1679
1680 union {
1681 struct {
1683
1684 } Parallel;
1685
1687
1688 WDFDRIVER Driver;
1689
1691
1694
1696
1697 //
1698 // Specify the type of the policy here.
1699 //
1701
1702 //
1703 // Structure which contains the policy specific fields
1704 //
1706
1707 //
1708 // Callback for reserved request given at initialization time
1709 //
1711
1712 //
1713 // Callback for reserved request given at run time
1714 //
1716
1718
1719// End of versioning of structures for wdfio.h
1720
1721//
1722// Versioning of structures for wdfIoTarget.h
1723//
1725 //
1726 // Size of this structure in bytes
1727 //
1729
1730 //
1731 // Indicates which fields of this structure are going to be used in
1732 // creating the WDFIOTARGET.
1733 //
1735
1736 //
1737 // Notification when the target is being queried for removal.
1738 // If !NT_SUCCESS is returned, the query will fail and the target will
1739 // remain opened.
1740 //
1742
1743 //
1744 // The previous query remove has been canceled and the target can now be
1745 // reopened.
1746 //
1748
1749 //
1750 // The query remove has succeeded and the target is now removed from the
1751 // system.
1752 //
1754
1755 // <KMDF_ONLY/>
1756 // ========== WdfIoTargetOpenUseExistingDevice begin ==========
1757 //
1758 // The device object to send requests to
1759 //
1761
1762 // <KMDF_ONLY/>
1763 // File object representing the TargetDeviceObject. The PFILE_OBJECT will
1764 // be passed as a parameter in all requests sent to the resulting
1765 // WDFIOTARGET.
1766 //
1768
1769 // ========== WdfIoTargetOpenUseExistingDevice end ==========
1770 //
1771 // ========== WdfIoTargetOpenByName begin ==========
1772 //
1773 // Name of the device to open.
1774 //
1776
1777 // <KMDF_DOC>
1778 // The access desired on the device being opened up, ie WDM FILE_XXX_ACCESS
1779 // such as FILE_ANY_ACCESS, FILE_SPECIAL_ACCESS, FILE_READ_ACCESS, or
1780 // FILE_WRITE_ACCESS or you can use values such as GENERIC_READ,
1781 // GENERIC_WRITE, or GENERIC_ALL.
1782 // </KMDF_DOC>
1783 // <UMDF_DOC>
1784 // The requested access to the file or device, which can be summarized as
1785 // read, write, both or neither zero). For more information about
1786 // this member, see the dwDesiredAccess parameter of CreateFile in the
1787 // Windows SDK. Note that ACCESS_MASK data type is a DWORD value.
1788 // </UMDF_DOC>
1789 //
1791
1792 //
1793 // <KMDF_DOC>
1794 // Share access desired on the target being opened, ie WDM FILE_SHARE_XXX
1795 // values such as FILE_SHARE_READ, FILE_SHARE_WRITE, FILE_SHARE_DELETE.
1796 // A zero value means exclusive access to the target.
1797 //
1798 // </KMDF_DOC>
1799 // <UMDF_DOC>
1800 // The type of sharing to allow for the file. For more information about
1801 // this member, see the dwShareMode parameter of CreateFile in the
1802 // Windows SDK. A value of 0 means exclusive access.
1803 // </UMDF_DOC>
1804 //
1806
1807 //
1808 // <KMDF_DOC>
1809 // File attributes, see ZwCreateFile in the DDK for a list of valid
1810 // values and their meaning.
1811 // </KMDF_DOC>
1812 // <UMDF_DOC>
1813 // Additional flags and attributes for the file. For more information about
1814 // this member, see the dwFlagsAndAttributes parameter of CreateFile
1815 // in the Windows SDK.
1816 // </UMDF_DOC>
1817 //
1819
1820 //
1821 // <KMDF_DOC>
1822 // Create disposition, see ZwCreateFile in the DDK for a list of valid
1823 // values and their meaning.
1824 // </KMDF_DOC>
1825 // <UMDF_DOC>
1826 // The action to take if the file already exists. For more information
1827 // about this member, see the dwCreationDisposition parameter of
1828 // CreateFile in the Windows SDK.
1829 // </UMDF_DOC>
1830 //
1832
1833 //
1834 // <KMDF_ONLY/>
1835 // Options for opening the device, see CreateOptions for ZwCreateFile in the
1836 // DDK for a list of valid values and their meaning.
1837 //
1839
1840 //
1841 // <KMDF_ONLY/>
1842 //
1844
1845 //
1846 // <KMDF_ONLY/>
1847 //
1849
1850 //
1851 // <KMDF_ONLY/>
1852 //
1854
1855 // ========== WdfIoTargetOpenByName end ==========
1856 //
1857 //
1858 // <KMDF_ONLY/>
1859 //
1860 // On return for a create by name, this will contain one of the following
1861 // values: FILE_CREATED, FILE_OPENED, FILE_OVERWRITTEN, FILE_SUPERSEDED,
1862 // FILE_EXISTS, FILE_DOES_NOT_EXIST
1863 //
1865
1866 // ========== WdfIoTargetOpenLocalTargetByFile begin ==========
1867 //
1868 //
1869 // <UMDF_ONLY/> A UNICODE_STRING-formatted string that contains the
1870 // name of the file to create a file object from. This parameter is
1871 // optional, and is applicable only when Type parameter is
1872 // WdfIoTargetOpenLocalTargetByFile. The driver can leave this member
1873 // unchanged if the driver does not have to create the file object
1874 // from a file name. If the driver must supply a name, the string that
1875 // the driver passes must not contain any path separator characters
1876 // ("/" or "\").
1877 //
1879
1881
1882// End of versioning of structures for wdfIoTarget.h
1883
1884//
1885// Versioning of structures for wdfMemory.h
1886//
1888 //
1889 // Offset into the WDFMEMORY that the operation should start at.
1890 //
1892
1893 //
1894 // Number of bytes that the operation should access. If 0, the entire
1895 // length of the WDFMEMORY buffer will be used in the operation or ignored
1896 // depending on the API.
1897 //
1899
1901
1904
1905 union {
1906 struct {
1908
1910
1911 } BufferType;
1912
1913 struct {
1915
1917
1918 } MdlType;
1919
1920 struct {
1921 WDFMEMORY Memory;
1922
1924
1925 } HandleType;
1926
1927 } u;
1928
1930
1931// End of versioning of structures for wdfMemory.h
1932
1933//
1934// Versioning of structures for wdfMiniport.h
1935//
1936// End of versioning of structures for wdfMiniport.h
1937
1938//
1939// Versioning of structures for wdfObject.h
1940//
1942 //
1943 // Size in bytes of this structure
1944 //
1946
1947 //
1948 // Function to call when the object is deleted
1949 //
1951
1952 //
1953 // Function to call when the objects memory is destroyed when the
1954 // the last reference count goes to zero
1955 //
1957
1958 //
1959 // Execution level constraints for Object
1960 //
1962
1963 //
1964 // Synchronization level constraint for Object
1965 //
1967
1968 //
1969 // Optional Parent Object
1970 //
1972
1973 //
1974 // Overrides the size of the context allocated as specified by
1975 // ContextTypeInfo->ContextSize
1976 //
1978
1979 //
1980 // Pointer to the type information to be associated with the object
1981 //
1983
1985
1986//
1987// Since C does not have strong type checking we must invent our own
1988//
1990 //
1991 // The size of this structure in bytes
1992 //
1994
1995 //
1996 // String representation of the context's type name, i.e. "DEVICE_CONTEXT"
1997 //
1999
2000 //
2001 // The size of the context in bytes. This will be the size of the context
2002 // associated with the handle unless
2003 // WDF_OBJECT_ATTRIBUTES::ContextSizeOverride is specified.
2004 //
2006
2007 //
2008 // If NULL, this structure is the unique type identifier for the context
2009 // type. If != NULL, the UniqueType pointer value is the unique type id
2010 // for the context type.
2011 //
2013
2014 //
2015 // Function pointer to retrieve the context type information structure
2016 // pointer from the provider of the context type. This function is invoked
2017 // by the client driver's entry point by the KMDF stub after all class
2018 // drivers are loaded and before DriverEntry is invoked.
2019 //
2021
2023
2024//
2025// Core structure for supporting custom types, see macros below.
2026//
2029
2031
2033
2034// End of versioning of structures for wdfObject.h
2035
2036//
2037// Versioning of structures for wdfpdo.h
2038//
2040 //
2041 // The size of this structure in bytes
2042 //
2044
2045 //
2046 // Called in response to IRP_MN_QUERY_RESOURCES
2047 //
2049
2050 //
2051 // Called in response to IRP_MN_QUERY_RESOURCE_REQUIREMENTS
2052 //
2054
2055 //
2056 // Called in response to IRP_MN_EJECT
2057 //
2059
2060 //
2061 // Called in response to IRP_MN_SET_LOCK
2062 //
2064
2065 //
2066 // Called in response to the power policy owner sending a wait wake to the
2067 // PDO. Bus generic arming shoulding occur here.
2068 //
2070
2071 //
2072 // Called in response to the power policy owner sending a wait wake to the
2073 // PDO. Bus generic disarming shoulding occur here.
2074 //
2076
2077 //
2078 // Called when reporting the PDO missing to PnP manager in response to
2079 // IRP_MN_QUERY_DEVICE_RELATIONS for Bus Relations.
2080 //
2082
2084
2085// End of versioning of structures for wdfpdo.h
2086
2087//
2088// Versioning of structures for wdfpool.h
2089//
2090// End of versioning of structures for wdfpool.h
2091
2092//
2093// Versioning of structures for wdfqueryinterface.h
2094//
2096 //
2097 // Size of this structure in bytes.
2098 //
2100
2101 //
2102 // Interface to be returned to the caller. Optional if BehaviorType is set
2103 // to WdfQueryInterfaceTypePassThrough or ImportInterface is set to TRUE.
2104 //
2106
2107 //
2108 // The GUID identifying the interface
2109 //
2111
2112 //
2113 // Valid only for PDOs. The framework will allocate a new request and
2114 // forward it down the parent's device stack.
2115 //
2117
2118 //
2119 // Driver supplied callback which is called after some basic interface
2120 // validation has been performed (size, version, and guid checking). This
2121 // is an optional parameter and may be NULL unless ImportInterface is
2122 // specified.
2123 //
2124 // If the callback returns !NT_SUCCESS, this error will be returned to the
2125 // caller and the query interface will fail.
2126 //
2127 // In this callback, the caller is free to modify the ExposedInterface in
2128 // any manner of its choosing. For instance, the callback may change any
2129 // field in the interface. The callback may also alloate a dynamic context
2130 // to be associated with the interface; the InterfaceReference and
2131 // InterfaceDereference functions may also be overridden.
2132 //
2133 // If ImportInterface is set to TRUE, then this is a required field and the
2134 // callback must initialize the interface (the framework will leave the
2135 // ExposedInterface buffer exactly as it received it) since the framework
2136 // has no way of knowing which fields to fill in and which to leave alone.
2137 //
2139
2140 //
2141 // If TRUE, the interface provided by the caller contains data that the
2142 // driver is interested in. By setting to this field to TRUE, the
2143 // EvtDeviceProcessQueryInterfaceRequest callback must initialize the
2144 // ExposedInterface.
2145 //
2146 // If FALSE, the entire ExposedInterface is initialized through a memory
2147 // copy before the EvtDeviceProcessQueryInterfaceRequest is called.
2148 //
2150
2152
2153// End of versioning of structures for wdfqueryinterface.h
2154
2155//
2156// Versioning of structures for wdfregistry.h
2157//
2158// End of versioning of structures for wdfregistry.h
2159
2160//
2161// Versioning of structures for wdfrequest.h
2162//
2163//
2164// This parameters structure allows general access to a requests parameters
2165//
2168
2170
2172
2173 //
2174 // The following user parameters are based on the service that is being
2175 // invoked. Drivers and file systems can determine which set to use based
2176 // on the above major and minor function codes.
2177 //
2178 union {
2179 //
2180 // System service parameters for: Create
2181 //
2182 //
2183 struct {
2185
2187
2189
2191
2193
2195
2196 //
2197 // System service parameters for: Read
2198 //
2199 //
2200 struct {
2201 size_t Length;
2202
2204
2206
2208
2209 //
2210 // System service parameters for: Write
2211 //
2212 //
2213 struct {
2214 size_t Length;
2215
2217
2219
2221
2222 //
2223 // System service parameters for: Device Control
2224 //
2225 // Note that the user's output buffer is stored in the UserBuffer field
2226 // and the user's input buffer is stored in the SystemBuffer field.
2227 //
2228 //
2229 struct {
2231
2233
2235
2237
2239
2240 struct {
2242
2244
2246
2248
2249 } Others;
2250
2252
2254
2256 //
2257 // Size of the structure in bytes
2258 //
2260
2262
2264
2265 union {
2266 struct {
2267 WDFMEMORY Buffer;
2268
2269 size_t Length;
2270
2271 size_t Offset;
2272
2274
2275 struct {
2276 WDFMEMORY Buffer;
2277
2278 size_t Length;
2279
2280 size_t Offset;
2281
2283
2284 struct {
2286
2287 struct {
2288 WDFMEMORY Buffer;
2289
2290 size_t Offset;
2291
2293
2294 struct {
2295 WDFMEMORY Buffer;
2296
2297 size_t Offset;
2298
2299 size_t Length;
2300
2302
2304
2305 struct {
2306 union {
2308
2310
2312
2313 union {
2314 PVOID Ptr;
2315
2317
2319
2320 union {
2321 PVOID Ptr;
2322
2324
2325 } Argument3;
2326
2327 union {
2328 PVOID Ptr;
2329
2331
2333
2334 } Others;
2335
2336 struct {
2338
2339 } Usb;
2340
2342
2344
2346 //
2347 // Size of this structure in bytes
2348 //
2350
2351 //
2352 // Bit field combination of WDF_REQUEST_REUSE_Xxx values
2353 //
2355
2356 //
2357 // The new status of the request.
2358 //
2360
2361 //
2362 // New PIRP to be contained in the WDFREQUEST. Setting a new PIRP value
2363 // is only valid for WDFREQUESTs created by WdfRequestCreateFromIrp where
2364 // RequestFreesIrp == FALSE. No other WDFREQUESTs (presented by the
2365 // I/O queue for instance) may have their IRPs changed.
2366 //
2368
2370
2372 //
2373 // Size of the structure in bytes
2374 //
2376
2377 //
2378 // Bit field combination of values from the WDF_REQUEST_SEND_OPTIONS_FLAGS
2379 // enumeration
2380 //
2382
2383 //
2384 // Valid when WDF_REQUEST_SEND_OPTION_TIMEOUT is set
2385 //
2387
2389
2391 //
2392 // Size of the structure in bytes
2393 //
2395
2396 //
2397 // Bit field combination of values from the WDF_REQUEST_FORWARD_OPTIONS_FLAGS
2398 // enumeration
2399 //
2401
2403
2404// End of versioning of structures for wdfrequest.h
2405
2406//
2407// Versioning of structures for wdfresource.h
2408//
2409// End of versioning of structures for wdfresource.h
2410
2411//
2412// Versioning of structures for wdfroletypes.h
2413//
2414// End of versioning of structures for wdfroletypes.h
2415
2416//
2417// Versioning of structures for wdfstring.h
2418//
2419// End of versioning of structures for wdfstring.h
2420
2421//
2422// Versioning of structures for wdfsync.h
2423//
2424// End of versioning of structures for wdfsync.h
2425
2426//
2427// Versioning of structures for wdftimer.h
2428//
2431
2433
2435
2436 //
2437 // If this is TRUE, the Timer will automatically serialize
2438 // with the event callback handlers of its Parent Object.
2439 //
2440 // Parent Object's callback constraints should be compatible
2441 // with the Timer DPC (DISPATCH_LEVEL), or the request will fail.
2442 //
2444
2445 //
2446 // Optional tolerance for the timer in milliseconds.
2447 //
2449
2450 //
2451 // If this is TRUE, high resolution timers will be used. The default
2452 // value is FALSE
2453 //
2454 DECLSPEC_ALIGN(8) BOOLEAN UseHighResolutionTimer;
2455
2457
2458// End of versioning of structures for wdftimer.h
2459
2460//
2461// Versioning of structures for wdftriage.h
2462//
2464 // value
2466
2468
2470
2472
2474
2476
2478
2480
2482 // value
2484
2486
2488
2490
2492
2494
2496 // value
2498
2500
2502
2504
2506 // value
2508
2510
2512
2514
2516
2518
2520
2522
2525
2527
2529
2531
2533 // value
2535
2537
2539
2541
2543
2545 // value
2547
2549
2550 // WDF irp wrapper, see below.
2552
2554
2556
2558
2560
2562
2564 // value
2566
2568
2570
2572 // value
2574
2576
2578
2580 //
2581 // Version.
2582 //
2584
2586
2588
2590
2591 //
2592 // Reserved pointer.
2593 //
2595
2596 //
2597 // WDF objects triage info.
2598 //
2600
2602
2604
2606
2608
2610
2612
2614
2616
2618
2619// End of versioning of structures for wdftriage.h
2620
2621//
2622// Versioning of structures for wdftypes.h
2623//
2624// End of versioning of structures for wdftypes.h
2625
2626//
2627// Versioning of structures for wdfUsb.h
2628//
2631
2633
2634 union {
2635 struct {
2636 WDFMEMORY Buffer;
2637
2639
2641
2642 //
2643 // If STATUS_BUFFER_OVERFLOW is returned, this field will contain the
2644 // number of bytes required to retrieve the entire string.
2645 //
2647
2648 } DeviceString;
2649
2650 struct {
2651 WDFMEMORY Buffer;
2652
2654
2656
2657 } DeviceControlTransfer;
2658
2659 struct {
2660 WDFMEMORY Buffer;
2661
2662 } DeviceUrb;
2663
2664 struct {
2665 WDFMEMORY Buffer;
2666
2667 size_t Length;
2668
2669 size_t Offset;
2670
2671 } PipeWrite;
2672
2673 struct {
2674 WDFMEMORY Buffer;
2675
2676 size_t Length;
2677
2678 size_t Offset;
2679
2680 } PipeRead;
2681
2682 struct {
2683 WDFMEMORY Buffer;
2684
2685 } PipeUrb;
2686
2688
2690
2692 //
2693 // Size of the string in bytes
2694 //
2696
2697 //
2698 // Number of bytes to send ask for from the usb device.
2699 //
2701
2702 //
2703 // Number of bytes to allocate before the requested transfer length
2704 //
2706
2707 //
2708 // Number of bytes to allocate after the requested transfer length
2709 //
2711
2712 //
2713 // Number of reads to send to the device at once. If zero is specified, the
2714 // default will be used.
2715 //
2717
2718 //
2719 // Optional attributes to apply to each WDFMEMORY allocated for each read
2720 //
2722
2723 //
2724 // Event callback invoked when a read is completed
2725 //
2727
2728 //
2729 // Context to be passed to EvtUsbTargetPipeReadComplete
2730 //
2732
2733 //
2734 // Event callback invoked when a reader fails. If TRUE is returned, the
2735 // readers are restarted.
2736 //
2738
2740
2742 //
2743 // Size of this structure in bytes
2744 //
2746
2747 //
2748 // USBD version information
2749 //
2751
2752 //
2753 // Usb controller port capabilities
2754 //
2756
2757 //
2758 // Bitfield of WDF_USB_DEVICE_TRAITS values
2759 //
2761
2763
2765 //
2766 // Interface to select
2767 //
2768 WDFUSBINTERFACE UsbInterface;
2769
2770 //
2771 // Setting to select on UsbInterface
2772 //
2774
2776
2778 //
2779 // Size of the structure in bytes
2780 //
2782
2783 //
2784 // Type of select config, one of WdfUsbTargetDeviceSelectConfigType values
2785 //
2787
2788 union {
2789 struct {
2790 //
2791 // Configuration descriptor to use
2792 //
2794
2795 //
2796 // Array of interface descriptors pointers.
2797 //
2799
2800 //
2801 // Number of elements in the InterfaceDescrtiptors pointer array.
2802 //
2804
2806
2807 struct {
2808 //
2809 // Preallocated select config URB formatted by the caller.
2810 // Will be used, as supplied without modification, as the select
2811 // config request.
2812 //
2814
2815 } Urb;
2816
2817 struct {
2818 //
2819 // Number of pipes configured on the single after. This value is
2820 // returned to the caller after a succssful call.
2821 //
2823
2824 //
2825 // The interface which was configred. This value is returned to the
2826 // caller after a successful call.
2827 //
2828 WDFUSBINTERFACE ConfiguredUsbInterface;
2829
2830 } SingleInterface;
2831
2832 struct {
2833 //
2834 // Number of interface pairs in the Pairs array
2835 //
2837
2838 //
2839 // Array of interface + settings
2840 //
2842
2843 //
2844 // Number of interfaces which were configured after a successful call
2845 //
2847
2848 } MultiInterface;
2849
2851
2853
2855 //
2856 // Size of this data structure in bytes
2857 //
2859
2860 //
2861 // Type of select interface as indicated by one of the
2862 // WdfUsbTargetDeviceSelectSettingType values.
2863 //
2865
2866 union {
2867 struct {
2868 //
2869 // Interface descriptor that will be used in the interface selection
2870 //
2872
2874
2875 struct {
2876 //
2877 // The setting index of the WDFUSBINTERFACE to use
2878 //
2880
2882
2883 struct {
2884 //
2885 // Preformatted select interface URB which will be used in the
2886 // select interface request.
2887 //
2889
2890 } Urb;
2891
2893
2895
2897 //
2898 // Size of the structure in bytes
2899 //
2901
2902 //
2903 // Maximum packet size this device is capable of
2904 //
2906
2907 //
2908 // Raw endpoint address of the device as described by its descriptor
2909 //
2911
2912 //
2913 // Polling interval
2914 //
2916
2917 //
2918 // Which alternate setting this structure is relevant for
2919 //
2921
2922 //
2923 // The type of the pipe
2925
2926 //
2927 // Maximum size of one transfer which should be sent to the host controller
2928 //
2930
2932
2934 //
2935 // Size of this structure in bytes
2936 //
2938
2939 //
2940 // USBD Client Contraction of the Wdf Client
2941 //
2943
2945
2946// End of versioning of structures for wdfUsb.h
2947
2948//
2949// Versioning of structures for wdfverifier.h
2950//
2951// End of versioning of structures for wdfverifier.h
2952
2953//
2954// Versioning of structures for wdfWMI.h
2955//
2957 //
2958 // Size of this structure in bytes
2959 //
2961
2962 //
2963 // The GUID being registered
2964 //
2966
2967 //
2968 // Combination of values from the enum WDF_WMI_PROVIDER_FLAGS
2969 //
2971
2972 //
2973 // Minimum expected buffer size for query and set instance requests.
2974 // Ignored if WdfWmiProviderEventOnly is set in Flags.
2975 //
2977
2978 //
2979 // Callback when caller is opening a provider which ha been marked as
2980 // expensive or when a caller is interested in events.
2981 //
2983
2985
2987 //
2988 // Size of the structure in bytes
2989 //
2991
2992 //
2993 // Optional parameter. If NULL, ProviderConfig must be set to a valid pointer
2994 // value. If specified, indicates the provider to create an instance for.
2995 //
2996 WDFWMIPROVIDER Provider;
2997
2998 //
2999 // Optional parameter. If NULL, Provider must be set to a valid handle
3000 // value. If specifeid, indicates the configuration for a provider to be
3001 // created and for this instance to be associated with.
3002 //
3004
3005 //
3006 // If the Provider is configured as read only and this field is set to TRUE,
3007 // the EvtWmiInstanceQueryInstance is ignored and WDF will blindly copy the
3008 // context associated with this instance (using RtlCopyMemory, with no locks
3009 // held) into the query buffer.
3010 //
3012
3013 //
3014 // If TRUE, the instance will be registered as well as created.
3015 //
3017
3018 //
3019 // Callback when caller wants to query the entire data item's buffer.
3020 //
3022
3023 //
3024 // Callback when caller wants to set the entire data item's buffer.
3025 //
3027
3028 //
3029 // Callback when caller wants to set a single field in the data item's buffer
3030 //
3032
3033 //
3034 // Callback when caller wants to execute a method on the data item.
3035 //
3037
3039
3040// End of versioning of structures for wdfWMI.h
3041
3042//
3043// Versioning of structures for wdfworkitem.h
3044//
3047
3049
3050 //
3051 // If this is TRUE, the workitem will automatically serialize
3052 // with the event callback handlers of its Parent Object.
3053 //
3054 // Parent Object's callback constraints should be compatible
3055 // with the work item (PASSIVE_LEVEL), or the request will fail.
3056 //
3058
3060
3061// End of versioning of structures for wdfworkitem.h
3062
3063
3064#endif // _WDF_V1_13_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
#define _In_
Definition: ms_sal.h:308
_In_opt_ PSID Group
Definition: rtlfuncs.h:1658
ULONG ACCESS_MASK
Definition: nt_native.h:40
__GNU_EXTENSION typedef __int64 * PLONGLONG
Definition: ntbasedef.h:382
_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
enum _DMA_WIDTH DMA_WIDTH
DWORD LCID
Definition: nls.h:13
@ Input
Definition: arc.h:84
@ Output
Definition: arc.h:85
_In_ BOOLEAN Read
Definition: strmini.h:479
Definition: usb.h:529
WDF_TRI_STATE AutoForwardCleanupClose
Definition: wdf113.h:466
PFN_WDFCX_DEVICE_FILE_CREATE EvtCxDeviceFileCreate
Definition: wdf113.h:443
PFN_WDF_FILE_CLOSE EvtFileClose
Definition: wdf113.h:448
WDF_FILEOBJECT_CLASS FileObjectClass
Definition: wdf113.h:473
PFN_WDF_FILE_CLEANUP EvtFileCleanup
Definition: wdf113.h:453
PFN_WDF_CHILD_LIST_IDENTIFICATION_DESCRIPTION_DUPLICATE EvtChildListIdentificationDescriptionDuplicate
Definition: wdf113.h:327
PFN_WDF_CHILD_LIST_ADDRESS_DESCRIPTION_CLEANUP EvtChildListAddressDescriptionCleanup
Definition: wdf113.h:365
PFN_WDF_CHILD_LIST_IDENTIFICATION_DESCRIPTION_COMPARE EvtChildListIdentificationDescriptionCompare
Definition: wdf113.h:343
PFN_WDF_CHILD_LIST_SCAN_FOR_CHILDREN EvtChildListScanForChildren
Definition: wdf113.h:312
PFN_WDF_CHILD_LIST_IDENTIFICATION_DESCRIPTION_CLEANUP EvtChildListIdentificationDescriptionCleanup
Definition: wdf113.h:334
PFN_WDF_CHILD_LIST_ADDRESS_DESCRIPTION_COPY EvtChildListAddressDescriptionCopy
Definition: wdf113.h:351
PFN_WDF_CHILD_LIST_ADDRESS_DESCRIPTION_DUPLICATE EvtChildListAddressDescriptionDuplicate
Definition: wdf113.h:358
PFN_WDF_CHILD_LIST_CREATE_DEVICE EvtChildListCreateDevice
Definition: wdf113.h:305
PFN_WDF_CHILD_LIST_DEVICE_REENUMERATED EvtChildListDeviceReenumerated
Definition: wdf113.h:372
PFN_WDF_CHILD_LIST_IDENTIFICATION_DESCRIPTION_COPY EvtChildListIdentificationDescriptionCopy
Definition: wdf113.h:320
PFN_WDF_CHILD_LIST_IDENTIFICATION_DESCRIPTION_COMPARE EvtChildListIdentificationDescriptionCompare
Definition: wdf113.h:279
PWDF_CHILD_ADDRESS_DESCRIPTION_HEADER_V1_13 AddressDescription
Definition: wdf113.h:268
PWDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER_V1_13 IdentificationDescription
Definition: wdf113.h:263
WDF_CHILD_LIST_RETRIEVE_DEVICE_STATUS Status
Definition: wdf113.h:273
PFN_WDF_CLASS_EXPORT * FunctionTable
Definition: wdf113.h:521
PFN_WDF_CLIENT_BIND_CLASS ClientBindClass
Definition: wdf113.h:539
PFN_WDF_CLIENT_UNBIND_CLASS ClientUnbindClass
Definition: wdf113.h:546
WDF_CLASS_VERSION_V1_13 Version
Definition: wdf113.h:516
PFN_WDF_CLASS_EXTENSIONIN_UNBIND Unbind
Definition: wdf113.h:489
PCWDF_CLASS_EXTENSION_DESCRIPTOR_V1_13 Next
Definition: wdf113.h:483
PFN_WDF_CLASS_EXTENSIONIN_BIND Bind
Definition: wdf113.h:487
WDF_CLASS_VERSION_V1_13 Version
Definition: wdf113.h:564
PFN_WDF_CLASS_LIBRARY_DEINITIALIZE ClassLibraryDeinitialize
Definition: wdf113.h:576
PFN_WDF_CLASS_LIBRARY_BIND_CLIENT ClassLibraryBindClient
Definition: wdf113.h:582
PFN_WDF_CLASS_LIBRARY_UNBIND_CLIENT ClassLibraryUnbindClient
Definition: wdf113.h:588
PFN_WDF_CLASS_LIBRARY_INITIALIZE ClassLibraryInitialize
Definition: wdf113.h:569
WDF_MINOR_VERSION Minor
Definition: wdf113.h:496
WDF_MAJOR_VERSION Major
Definition: wdf113.h:494
WDF_BUILD_NUMBER Build
Definition: wdf113.h:498
struct _WDF_DEVICE_PNP_NOTIFICATION_DATA_V1_13::@4490::@4493 LeaveState
union _WDF_DEVICE_PNP_NOTIFICATION_DATA_V1_13::@4490 Data
WDF_STATE_NOTIFICATION_TYPE Type
Definition: wdf113.h:644
struct _WDF_DEVICE_PNP_NOTIFICATION_DATA_V1_13::@4490::@4492 PostProcessState
WDF_DEVICE_PNP_STATE NewState
Definition: wdf113.h:656
WDF_DEVICE_PNP_STATE CurrentState
Definition: wdf113.h:651
struct _WDF_DEVICE_PNP_NOTIFICATION_DATA_V1_13::@4490::@4491 EnterState
DEVICE_POWER_STATE DeviceWake
Definition: wdf113.h:1099
SYSTEM_POWER_STATE SystemWake
Definition: wdf113.h:1101
DEVICE_POWER_STATE IdealDxStateForSx
Definition: wdf113.h:1118
struct _WDF_DEVICE_POWER_NOTIFICATION_DATA_V1_13::@4494::@4497 LeaveState
union _WDF_DEVICE_POWER_NOTIFICATION_DATA_V1_13::@4494 Data
struct _WDF_DEVICE_POWER_NOTIFICATION_DATA_V1_13::@4494::@4496 PostProcessState
WDF_DEVICE_POWER_STATE CurrentState
Definition: wdf113.h:696
WDF_STATE_NOTIFICATION_TYPE Type
Definition: wdf113.h:689
WDF_DEVICE_POWER_STATE NewState
Definition: wdf113.h:701
struct _WDF_DEVICE_POWER_NOTIFICATION_DATA_V1_13::@4494::@4495 EnterState
WDF_POWER_POLICY_S0_IDLE_USER_CONTROL UserControlOfIdleSettings
Definition: wdf113.h:867
WDF_POWER_POLICY_IDLE_TIMEOUT_TYPE IdleTimeoutType
Definition: wdf113.h:910
WDF_POWER_POLICY_S0_IDLE_CAPABILITIES IdleCaps
Definition: wdf113.h:849
union _WDF_DEVICE_POWER_POLICY_NOTIFICATION_DATA_V1_13::@4498 Data
WDF_DEVICE_POWER_POLICY_STATE CurrentState
Definition: wdf113.h:741
struct _WDF_DEVICE_POWER_POLICY_NOTIFICATION_DATA_V1_13::@4498::@4501 LeaveState
struct _WDF_DEVICE_POWER_POLICY_NOTIFICATION_DATA_V1_13::@4498::@4499 EnterState
WDF_DEVICE_POWER_POLICY_STATE NewState
Definition: wdf113.h:746
struct _WDF_DEVICE_POWER_POLICY_NOTIFICATION_DATA_V1_13::@4498::@4500 PostProcessState
WDF_STATE_NOTIFICATION_TYPE Type
Definition: wdf113.h:734
WDF_POWER_POLICY_SX_WAKE_USER_CONTROL UserControlOfWakeSettings
Definition: wdf113.h:954
_In_ const DEVPROPKEY * PropertyKey
Definition: wdf113.h:1261
WDF_TRI_STATE DontDisplayInUI
Definition: wdf113.h:1003
WDF_TRI_STATE NotDisableable
Definition: wdf113.h:1015
WDF_TRI_STATE Failed
Definition: wdf113.h:1010
WDF_TRI_STATE Removed
Definition: wdf113.h:1024
WDF_TRI_STATE ResourcesChanged
Definition: wdf113.h:1031
WDF_TRI_STATE Disabled
Definition: wdf113.h:997
PFN_WDF_DMA_ENABLER_SELFMANAGED_IO_START EvtDmaEnablerSelfManagedIoStart
Definition: wdf113.h:1314
PFN_WDF_DMA_ENABLER_SELFMANAGED_IO_STOP EvtDmaEnablerSelfManagedIoStop
Definition: wdf113.h:1316
PFN_WDF_DMA_ENABLER_ENABLE EvtDmaEnablerEnable
Definition: wdf113.h:1312
WDF_DMA_PROFILE Profile
Definition: wdf113.h:1296
PFN_WDF_DMA_ENABLER_DISABLE EvtDmaEnablerDisable
Definition: wdf113.h:1310
PFN_WDF_DMA_ENABLER_FILL EvtDmaEnablerFill
Definition: wdf113.h:1306
PFN_WDF_DMA_ENABLER_FLUSH EvtDmaEnablerFlush
Definition: wdf113.h:1308
PCM_PARTIAL_RESOURCE_DESCRIPTOR DmaDescriptor
Definition: wdf113.h:1372
BOOLEAN AutomaticSerialization
Definition: wdf113.h:1398
PFN_WDF_DPC EvtDpcFunc
Definition: wdf113.h:1389
PFN_WDF_DRIVER_DEVICE_ADD EvtDriverDeviceAdd
Definition: wdf113.h:1416
PFN_WDF_DRIVER_UNLOAD EvtDriverUnload
Definition: wdf113.h:1418
BOOLEAN DisplaceDriverUnload
Definition: wdf113.h:1496
CHAR DriverName[WDF_DRIVER_GLOBALS_NAME_LEN]
Definition: wdf113.h:1491
PFN_WDF_DEVICE_REMOVE_ADDED_RESOURCES EvtDeviceRemoveAddedResources
Definition: wdf113.h:1466
PFN_WDF_DEVICE_FILTER_RESOURCE_REQUIREMENTS EvtDeviceFilterAddResourceRequirements
Definition: wdf113.h:1462
PFN_WDF_DEVICE_FILTER_RESOURCE_REQUIREMENTS EvtDeviceFilterRemoveResourceRequirements
Definition: wdf113.h:1464
PFN_WDF_FILE_CLEANUP EvtFileCleanup
Definition: wdf113.h:616
PFN_WDF_DEVICE_FILE_CREATE EvtDeviceFileCreate
Definition: wdf113.h:606
WDF_TRI_STATE AutoForwardCleanupClose
Definition: wdf113.h:629
WDF_FILEOBJECT_CLASS FileObjectClass
Definition: wdf113.h:636
PFN_WDF_FILE_CLOSE EvtFileClose
Definition: wdf113.h:611
PFN_WDF_INTERRUPT_ISR EvtInterruptIsr
Definition: wdf113.h:1546
PFN_WDF_INTERRUPT_ENABLE EvtInterruptEnable
Definition: wdf113.h:1550
PCM_PARTIAL_RESOURCE_DESCRIPTOR InterruptRaw
Definition: wdf113.h:1560
WDF_TRI_STATE ReportInactiveOnPowerDown
Definition: wdf113.h:1582
PFN_WDF_INTERRUPT_DISABLE EvtInterruptDisable
Definition: wdf113.h:1552
PFN_WDF_INTERRUPT_WORKITEM EvtInterruptWorkItem
Definition: wdf113.h:1554
PCM_PARTIAL_RESOURCE_DESCRIPTOR InterruptTranslated
Definition: wdf113.h:1562
WDF_TRI_STATE ShareVector
Definition: wdf113.h:1533
PFN_WDF_INTERRUPT_DPC EvtInterruptDpc
Definition: wdf113.h:1548
WDF_INTERRUPT_PRIORITY Priority
Definition: wdf113.h:1637
GROUP_AFFINITY TargetProcessorSetAndGroup
Definition: wdf113.h:1639
WDF_INTERRUPT_POLICY Policy
Definition: wdf113.h:1635
DECLSPEC_ALIGN(8) USHORT Group
WDF_INTERRUPT_POLARITY Polarity
Definition: wdf113.h:1615
KINTERRUPT_MODE Mode
Definition: wdf113.h:1613
KAFFINITY TargetProcessorSet
Definition: wdf113.h:1603
WDF_TRI_STATE PowerManaged
Definition: wdf113.h:1658
PFN_WDF_IO_QUEUE_IO_CANCELED_ON_QUEUE EvtIoCanceledOnQueue
Definition: wdf113.h:1678
BOOLEAN AllowZeroLengthRequests
Definition: wdf113.h:1660
PFN_WDF_IO_QUEUE_IO_INTERNAL_DEVICE_CONTROL EvtIoInternalDeviceControl
Definition: wdf113.h:1672
PFN_WDF_IO_QUEUE_IO_STOP EvtIoStop
Definition: wdf113.h:1674
PFN_WDF_IO_QUEUE_IO_DEVICE_CONTROL EvtIoDeviceControl
Definition: wdf113.h:1670
PFN_WDF_IO_QUEUE_IO_DEFAULT EvtIoDefault
Definition: wdf113.h:1664
PFN_WDF_IO_QUEUE_IO_WRITE EvtIoWrite
Definition: wdf113.h:1668
PFN_WDF_IO_QUEUE_IO_RESUME EvtIoResume
Definition: wdf113.h:1676
WDF_IO_QUEUE_DISPATCH_TYPE DispatchType
Definition: wdf113.h:1656
PFN_WDF_IO_QUEUE_IO_READ EvtIoRead
Definition: wdf113.h:1666
WDF_IO_FORWARD_PROGRESS_RESERVED_POLICY_SETTINGS ForwardProgressReservePolicySettings
Definition: wdf113.h:1705
PFN_WDF_IO_ALLOCATE_RESOURCES_FOR_RESERVED_REQUEST EvtIoAllocateResourcesForReservedRequest
Definition: wdf113.h:1710
WDF_IO_FORWARD_PROGRESS_RESERVED_POLICY ForwardProgressReservedPolicy
Definition: wdf113.h:1700
PFN_WDF_IO_ALLOCATE_REQUEST_RESOURCES EvtIoAllocateRequestResources
Definition: wdf113.h:1715
PFN_WDF_IO_TARGET_REMOVE_COMPLETE EvtIoTargetRemoveComplete
Definition: wdf113.h:1753
PFN_WDF_IO_TARGET_REMOVE_CANCELED EvtIoTargetRemoveCanceled
Definition: wdf113.h:1747
PFN_WDF_IO_TARGET_QUERY_REMOVE EvtIoTargetQueryRemove
Definition: wdf113.h:1741
UNICODE_STRING TargetDeviceName
Definition: wdf113.h:1775
WDF_IO_TARGET_OPEN_TYPE Type
Definition: wdf113.h:1734
PDEVICE_OBJECT TargetDeviceObject
Definition: wdf113.h:1760
WDF_DEVICE_IO_TYPE DeviceControlIoType
Definition: wdf113.h:1234
WDF_DEVICE_IO_TYPE ReadWriteIoType
Definition: wdf113.h:1221
WDF_MEMORY_DESCRIPTOR_TYPE Type
Definition: wdf113.h:1903
PWDFMEMORY_OFFSET_V1_13 Offsets
Definition: wdf113.h:1923
WDF_EXECUTION_LEVEL ExecutionLevel
Definition: wdf113.h:1961
PFN_WDF_OBJECT_CONTEXT_DESTROY EvtDestroyCallback
Definition: wdf113.h:1956
PCWDF_OBJECT_CONTEXT_TYPE_INFO_V1_13 ContextTypeInfo
Definition: wdf113.h:1982
PFN_WDF_OBJECT_CONTEXT_CLEANUP EvtCleanupCallback
Definition: wdf113.h:1950
WDF_SYNCHRONIZATION_SCOPE SynchronizationScope
Definition: wdf113.h:1966
PFN_GET_UNIQUE_CONTEXT_TYPE EvtDriverGetUniqueContextType
Definition: wdf113.h:2020
PCWDF_OBJECT_CONTEXT_TYPE_INFO_V1_13 UniqueType
Definition: wdf113.h:2012
PFN_WDF_DEVICE_REPORTED_MISSING EvtDeviceReportedMissing
Definition: wdf113.h:2081
PFN_WDF_DEVICE_ENABLE_WAKE_AT_BUS EvtDeviceEnableWakeAtBus
Definition: wdf113.h:2069
PFN_WDF_DEVICE_RESOURCES_QUERY EvtDeviceResourcesQuery
Definition: wdf113.h:2048
PFN_WDF_DEVICE_SET_LOCK EvtDeviceSetLock
Definition: wdf113.h:2063
PFN_WDF_DEVICE_EJECT EvtDeviceEject
Definition: wdf113.h:2058
PFN_WDF_DEVICE_RESOURCE_REQUIREMENTS_QUERY EvtDeviceResourceRequirementsQuery
Definition: wdf113.h:2053
PFN_WDF_DEVICE_DISABLE_WAKE_AT_BUS EvtDeviceDisableWakeAtBus
Definition: wdf113.h:2075
PFN_WDF_DEVICE_RELATIONS_QUERY EvtDeviceRelationsQuery
Definition: wdf113.h:811
PFN_WDF_DEVICE_PREPARE_HARDWARE EvtDevicePrepareHardware
Definition: wdf113.h:789
PFN_WDF_DEVICE_SURPRISE_REMOVAL EvtDeviceSurpriseRemoval
Definition: wdf113.h:803
PFN_WDF_DEVICE_SELF_MANAGED_IO_INIT EvtDeviceSelfManagedIoInit
Definition: wdf113.h:797
PFN_WDF_DEVICE_D0_ENTRY EvtDeviceD0Entry
Definition: wdf113.h:781
PFN_WDF_DEVICE_QUERY_STOP EvtDeviceQueryStop
Definition: wdf113.h:807
PFN_WDF_DEVICE_D0_EXIT EvtDeviceD0Exit
Definition: wdf113.h:785
PFN_WDF_DEVICE_USAGE_NOTIFICATION_EX EvtDeviceUsageNotificationEx
Definition: wdf113.h:813
PFN_WDF_DEVICE_D0_EXIT_PRE_INTERRUPTS_DISABLED EvtDeviceD0ExitPreInterruptsDisabled
Definition: wdf113.h:787
PFN_WDF_DEVICE_QUERY_REMOVE EvtDeviceQueryRemove
Definition: wdf113.h:805
PFN_WDF_DEVICE_SELF_MANAGED_IO_SUSPEND EvtDeviceSelfManagedIoSuspend
Definition: wdf113.h:799
PFN_WDF_DEVICE_USAGE_NOTIFICATION EvtDeviceUsageNotification
Definition: wdf113.h:809
PFN_WDF_DEVICE_SELF_MANAGED_IO_FLUSH EvtDeviceSelfManagedIoFlush
Definition: wdf113.h:795
PFN_WDF_DEVICE_RELEASE_HARDWARE EvtDeviceReleaseHardware
Definition: wdf113.h:791
PFN_WDF_DEVICE_D0_ENTRY_POST_INTERRUPTS_ENABLED EvtDeviceD0EntryPostInterruptsEnabled
Definition: wdf113.h:783
PFN_WDF_DEVICE_SELF_MANAGED_IO_RESTART EvtDeviceSelfManagedIoRestart
Definition: wdf113.h:801
PFN_WDF_DEVICE_SELF_MANAGED_IO_CLEANUP EvtDeviceSelfManagedIoCleanup
Definition: wdf113.h:793
PPO_FX_COMPONENT_ACTIVE_CONDITION_CALLBACK ComponentActiveConditionCallback
Definition: wdf113.h:1169
PPO_FX_COMPONENT_IDLE_STATE_CALLBACK ComponentIdleStateCallback
Definition: wdf113.h:1183
PPO_FX_POWER_CONTROL_CALLBACK PowerControlCallback
Definition: wdf113.h:1190
PPO_FX_COMPONENT_IDLE_CONDITION_CALLBACK ComponentIdleConditionCallback
Definition: wdf113.h:1176
PFN_WDFDEVICE_WDM_PRE_PO_FX_UNREGISTER_DEVICE EvtDeviceWdmPrePoFxUnregisterDevice
Definition: wdf113.h:1154
PFN_WDFDEVICE_WDM_POST_PO_FX_REGISTER_DEVICE EvtDeviceWdmPostPoFxRegisterDevice
Definition: wdf113.h:1147
PFN_WDF_DEVICE_WAKE_FROM_SX_TRIGGERED EvtDeviceWakeFromSxTriggered
Definition: wdf113.h:833
PFN_WDF_DEVICE_ARM_WAKE_FROM_S0 EvtDeviceArmWakeFromS0
Definition: wdf113.h:823
PFN_WDF_DEVICE_DISARM_WAKE_FROM_SX EvtDeviceDisarmWakeFromSx
Definition: wdf113.h:831
PFN_WDF_DEVICE_ARM_WAKE_FROM_SX_WITH_REASON EvtDeviceArmWakeFromSxWithReason
Definition: wdf113.h:835
PFN_WDF_DEVICE_WAKE_FROM_S0_TRIGGERED EvtDeviceWakeFromS0Triggered
Definition: wdf113.h:827
PFN_WDF_DEVICE_DISARM_WAKE_FROM_S0 EvtDeviceDisarmWakeFromS0
Definition: wdf113.h:825
PFN_WDF_DEVICE_ARM_WAKE_FROM_SX EvtDeviceArmWakeFromSx
Definition: wdf113.h:829
WDF_DEVICE_POWER_POLICY_STATE PowerPolicyState
Definition: wdf113.h:186
WDF_DEVICE_POWER_STATE PowerState
Definition: wdf113.h:181
PFN_WDF_DEVICE_PROCESS_QUERY_INTERFACE_REQUEST EvtDeviceProcessQueryInterfaceRequest
Definition: wdf113.h:2138
PWDF_USB_REQUEST_COMPLETION_PARAMS_V1_13 Completion
Definition: wdf113.h:2337
ULONG POINTER_ALIGNMENT EaLength
Definition: wdf113.h:2192
PIO_SECURITY_CONTEXT SecurityContext
Definition: wdf113.h:2184
size_t POINTER_ALIGNMENT InputBufferLength
Definition: wdf113.h:2232
WDF_REQUEST_TYPE Type
Definition: wdf113.h:2171
ULONG POINTER_ALIGNMENT Key
Definition: wdf113.h:2203
ULONG POINTER_ALIGNMENT IoControlCode
Definition: wdf113.h:2234
USHORT POINTER_ALIGNMENT FileAttributes
Definition: wdf113.h:2188
BOOLEAN AutomaticSerialization
Definition: wdf113.h:2443
PFN_WDF_TIMER EvtTimerFunc
Definition: wdf113.h:2432
DECLSPEC_ALIGN(8) BOOLEAN UseHighResolutionTimer
ULONG TriageInfoMinorVersion
Definition: wdf113.h:2589
PWDFFWDPROGRESS_TRIAGE_INFO_V1_13 WdfFwdProgressTriageInfo
Definition: wdf113.h:2607
PWDFCONTEXT_TRIAGE_INFO_V1_13 WdfContextTriageInfo
Definition: wdf113.h:2601
PWDFDEVICE_TRIAGE_INFO_V1_13 WdfDeviceTriageInfo
Definition: wdf113.h:2613
PWDFOBJECT_TRIAGE_INFO_V1_13 WdfObjectTriageInfo
Definition: wdf113.h:2599
PWDFREQUEST_TRIAGE_INFO_V1_13 WdfRequestTriageInfo
Definition: wdf113.h:2611
PWDFQUEUE_TRIAGE_INFO_V1_13 WdfQueueTriageInfo
Definition: wdf113.h:2605
PWDFIRPQUEUE_TRIAGE_INFO_V1_13 WdfIrpQueueTriageInfo
Definition: wdf113.h:2609
ULONG TriageInfoMajorVersion
Definition: wdf113.h:2587
PWDFIRP_TRIAGE_INFO_V1_13 WdfIrpTriageInfo
Definition: wdf113.h:2615
PWDFCONTEXTTYPE_TRIAGE_INFO_V1_13 WdfContextTypeTriageInfo
Definition: wdf113.h:2603
PFN_WDF_USB_READER_COMPLETION_ROUTINE EvtUsbTargetPipeReadComplete
Definition: wdf113.h:2726
PWDF_OBJECT_ATTRIBUTES_V1_13 BufferAttributes
Definition: wdf113.h:2721
PFN_WDF_USB_READERS_FAILED EvtUsbTargetPipeReadersFailed
Definition: wdf113.h:2737
USBD_VERSION_INFORMATION UsbdVersionInformation
Definition: wdf113.h:2750
WdfUsbTargetDeviceSelectConfigType Type
Definition: wdf113.h:2786
PUSB_CONFIGURATION_DESCRIPTOR ConfigurationDescriptor
Definition: wdf113.h:2793
PUSB_INTERFACE_DESCRIPTOR * InterfaceDescriptors
Definition: wdf113.h:2798
PWDF_USB_INTERFACE_SETTING_PAIR_V1_13 Pairs
Definition: wdf113.h:2841
WdfUsbTargetDeviceSelectSettingType Type
Definition: wdf113.h:2864
PUSB_INTERFACE_DESCRIPTOR InterfaceDescriptor
Definition: wdf113.h:2871
WDF_USB_PIPE_TYPE PipeType
Definition: wdf113.h:2924
WDF_USB_CONTROL_SETUP_PACKET SetupPacket
Definition: wdf113.h:2653
PWDF_WMI_PROVIDER_CONFIG_V1_13 ProviderConfig
Definition: wdf113.h:3003
PFN_WDF_WMI_INSTANCE_EXECUTE_METHOD EvtWmiInstanceExecuteMethod
Definition: wdf113.h:3036
PFN_WDF_WMI_INSTANCE_QUERY_INSTANCE EvtWmiInstanceQueryInstance
Definition: wdf113.h:3021
PFN_WDF_WMI_INSTANCE_SET_INSTANCE EvtWmiInstanceSetInstance
Definition: wdf113.h:3026
PFN_WDF_WMI_INSTANCE_SET_ITEM EvtWmiInstanceSetItem
Definition: wdf113.h:3031
PFN_WDF_WMI_PROVIDER_FUNCTION_CONTROL EvtWmiProviderFunctionControl
Definition: wdf113.h:2982
PFN_WDF_WORKITEM EvtWorkItemFunc
Definition: wdf113.h:3048
BOOLEAN AutomaticSerialization
Definition: wdf113.h:3057
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 _WDFFWDPROGRESS_TRIAGE_INFO_V1_13 WDFFWDPROGRESS_TRIAGE_INFO_V1_13
const struct _WDF_USB_INTERFACE_SETTING_PAIR_V1_13 * PCWDF_USB_INTERFACE_SETTING_PAIR_V1_13
Definition: wdf113.h:148
struct _WDFOBJECT_TRIAGE_INFO_V1_13 * PWDFOBJECT_TRIAGE_INFO_V1_13
Definition: wdf113.h:121
const struct _WDF_DEVICE_POWER_NOTIFICATION_DATA_V1_13 * PCWDF_DEVICE_POWER_NOTIFICATION_DATA_V1_13
Definition: wdf113.h:42
const struct _WDFIRP_TRIAGE_INFO_V1_13 * PCWDFIRP_TRIAGE_INFO_V1_13
Definition: wdf113.h:138
const struct _WDFCONTEXT_TRIAGE_INFO_V1_13 * PCWDFCONTEXT_TRIAGE_INFO_V1_13
Definition: wdf113.h:124
const struct _WDF_TRIAGE_INFO_V1_13 * PCWDF_TRIAGE_INFO_V1_13
Definition: wdf113.h:140
struct _WDF_POWER_POLICY_EVENT_CALLBACKS_V1_13 * PWDF_POWER_POLICY_EVENT_CALLBACKS_V1_13
Definition: wdf113.h:47
struct _WDF_IO_TYPE_CONFIG_V1_13 WDF_IO_TYPE_CONFIG_V1_13
struct _WDF_DEVICE_POWER_NOTIFICATION_DATA_V1_13 WDF_DEVICE_POWER_NOTIFICATION_DATA_V1_13
const struct _WDF_DRIVER_GLOBALS_V1_13 * PCWDF_DRIVER_GLOBALS_V1_13
Definition: wdf113.h:82
struct _WDF_IO_TARGET_OPEN_PARAMS_V1_13 WDF_IO_TARGET_OPEN_PARAMS_V1_13
struct _WDF_DMA_SYSTEM_PROFILE_CONFIG_V1_13 WDF_DMA_SYSTEM_PROFILE_CONFIG_V1_13
struct _WDF_FILEOBJECT_CONFIG_V1_13 * PWDF_FILEOBJECT_CONFIG_V1_13
Definition: wdf113.h:37
struct _WDF_POWER_FRAMEWORK_SETTINGS_V1_13 * PWDF_POWER_FRAMEWORK_SETTINGS_V1_13
Definition: wdf113.h:61
struct _WDF_WORKITEM_CONFIG_V1_13 WDF_WORKITEM_CONFIG_V1_13
struct _WDF_DEVICE_POWER_POLICY_NOTIFICATION_DATA_V1_13 * PWDF_DEVICE_POWER_POLICY_NOTIFICATION_DATA_V1_13
Definition: wdf113.h:43
struct _WDF_REQUEST_FATAL_ERROR_INFORMATION_LENGTH_MISMATCH_DATA_V1_13 * PWDF_REQUEST_FATAL_ERROR_INFORMATION_LENGTH_MISMATCH_DATA_V1_13
Definition: wdf113.h:11
struct _WDF_WORKITEM_CONFIG_V1_13 * PWDF_WORKITEM_CONFIG_V1_13
Definition: wdf113.h:161
_WDFFUNCENUM_V1_13
Definition: wdf113.h:5
@ WdfFunctionTableNumEntries_V1_13
Definition: wdf113.h:6
const struct _WDF_DEVICE_POWER_POLICY_NOTIFICATION_DATA_V1_13 * PCWDF_DEVICE_POWER_POLICY_NOTIFICATION_DATA_V1_13
Definition: wdf113.h:44
const struct _WDF_DEVICE_INTERFACE_PROPERTY_DATA_V1_13 * PCWDF_DEVICE_INTERFACE_PROPERTY_DATA_V1_13
Definition: wdf113.h:66
struct _WDF_CLASS_BIND_INFO_V1_13 WDF_CLASS_BIND_INFO_V1_13
struct _WDF_USB_DEVICE_INFORMATION_V1_13 * PWDF_USB_DEVICE_INFORMATION_V1_13
Definition: wdf113.h:145
struct _WDFDEVICE_TRIAGE_INFO_V1_13 WDFDEVICE_TRIAGE_INFO_V1_13
enum _WDFFUNCENUM_V1_13 WDFFUNCENUM_V1_13
struct _WDF_POWER_ROUTINE_TIMED_OUT_DATA_V1_13 * PWDF_POWER_ROUTINE_TIMED_OUT_DATA_V1_13
Definition: wdf113.h:9
struct _WDF_INTERRUPT_CONFIG_V1_13 WDF_INTERRUPT_CONFIG_V1_13
struct _WDF_REQUEST_REUSE_PARAMS_V1_13 WDF_REQUEST_REUSE_PARAMS_V1_13
const struct _WDF_DMA_SYSTEM_PROFILE_CONFIG_V1_13 * PCWDF_DMA_SYSTEM_PROFILE_CONFIG_V1_13
Definition: wdf113.h:72
const struct _WDF_PNPPOWER_EVENT_CALLBACKS_V1_13 * PCWDF_PNPPOWER_EVENT_CALLBACKS_V1_13
Definition: wdf113.h:46
struct _WDFFWDPROGRESS_TRIAGE_INFO_V1_13 * PWDFFWDPROGRESS_TRIAGE_INFO_V1_13
Definition: wdf113.h:129
struct _WDF_USB_INTERFACE_SELECT_SETTING_PARAMS_V1_13 * PWDF_USB_INTERFACE_SELECT_SETTING_PARAMS_V1_13
Definition: wdf113.h:151
struct _WDF_CLASS_EXTENSION_DESCRIPTOR_V1_13 * PWDF_CLASS_EXTENSION_DESCRIPTOR_V1_13
Definition: wdf113.h:29
struct _WDF_CHILD_LIST_ITERATOR_V1_13 WDF_CHILD_LIST_ITERATOR_V1_13
struct _WDF_DEVICE_POWER_POLICY_WAKE_SETTINGS_V1_13 * PWDF_DEVICE_POWER_POLICY_WAKE_SETTINGS_V1_13
Definition: wdf113.h:51
struct _WDF_QUERY_INTERFACE_CONFIG_V1_13 * PWDF_QUERY_INTERFACE_CONFIG_V1_13
Definition: wdf113.h:107
const struct _WDF_CLASS_EXTENSION_DESCRIPTOR_V1_13 * PCWDF_CLASS_EXTENSION_DESCRIPTOR_V1_13
Definition: wdf113.h:30
struct _WDF_PDO_EVENT_CALLBACKS_V1_13 * PWDF_PDO_EVENT_CALLBACKS_V1_13
Definition: wdf113.h:105
const struct _WDF_IO_QUEUE_FORWARD_PROGRESS_POLICY_V1_13 * PCWDF_IO_QUEUE_FORWARD_PROGRESS_POLICY_V1_13
Definition: wdf113.h:92
struct _WDF_DRIVER_GLOBALS_V1_13 * PWDF_DRIVER_GLOBALS_V1_13
Definition: wdf113.h:81
const struct _WDF_CHILD_RETRIEVE_INFO_V1_13 * PCWDF_CHILD_RETRIEVE_INFO_V1_13
Definition: wdf113.h:20
struct _WDF_REQUEST_COMPLETION_PARAMS_V1_13 * PWDF_REQUEST_COMPLETION_PARAMS_V1_13
Definition: wdf113.h:111
struct _WDF_REQUEST_COMPLETION_PARAMS_V1_13 WDF_REQUEST_COMPLETION_PARAMS_V1_13
struct _WDF_PNPPOWER_EVENT_CALLBACKS_V1_13 * PWDF_PNPPOWER_EVENT_CALLBACKS_V1_13
Definition: wdf113.h:45
const struct _WDF_DEVICE_PROPERTY_DATA_V1_13 * PCWDF_DEVICE_PROPERTY_DATA_V1_13
Definition: wdf113.h:68
const struct _WDF_POWER_POLICY_EVENT_CALLBACKS_V1_13 * PCWDF_POWER_POLICY_EVENT_CALLBACKS_V1_13
Definition: wdf113.h:48
struct _WDF_DEVICE_POWER_POLICY_IDLE_SETTINGS_V1_13 WDF_DEVICE_POWER_POLICY_IDLE_SETTINGS_V1_13
const struct _WDFMEMORY_OFFSET_V1_13 * PCWDFMEMORY_OFFSET_V1_13
Definition: wdf113.h:96
const struct _WDF_REMOVE_LOCK_OPTIONS_V1_13 * PCWDF_REMOVE_LOCK_OPTIONS_V1_13
Definition: wdf113.h:60
const struct _WDF_CHILD_LIST_CONFIG_V1_13 * PCWDF_CHILD_LIST_CONFIG_V1_13
Definition: wdf113.h:22
const struct _WDF_REQUEST_REUSE_PARAMS_V1_13 * PCWDF_REQUEST_REUSE_PARAMS_V1_13
Definition: wdf113.h:114
struct _WDF_PNPPOWER_EVENT_CALLBACKS_V1_13 WDF_PNPPOWER_EVENT_CALLBACKS_V1_13
struct _WDF_CLASS_EXTENSION_DESCRIPTOR_V1_13 WDF_CLASS_EXTENSION_DESCRIPTOR_V1_13
struct _WDF_REMOVE_LOCK_OPTIONS_V1_13 WDF_REMOVE_LOCK_OPTIONS_V1_13
struct _WDF_INTERRUPT_EXTENDED_POLICY_V1_13 WDF_INTERRUPT_EXTENDED_POLICY_V1_13
const struct _WDF_FDO_EVENT_CALLBACKS_V1_13 * PCWDF_FDO_EVENT_CALLBACKS_V1_13
Definition: wdf113.h:80
struct _WDF_POWER_FRAMEWORK_SETTINGS_V1_13 WDF_POWER_FRAMEWORK_SETTINGS_V1_13
const struct _WDF_REQUEST_FORWARD_OPTIONS_V1_13 * PCWDF_REQUEST_FORWARD_OPTIONS_V1_13
Definition: wdf113.h:118
struct _WDF_IO_QUEUE_CONFIG_V1_13 * PWDF_IO_QUEUE_CONFIG_V1_13
Definition: wdf113.h:89
const struct _WDF_CHILD_LIST_ITERATOR_V1_13 * PCWDF_CHILD_LIST_ITERATOR_V1_13
Definition: wdf113.h:24
struct _WDF_DEVICE_PNP_CAPABILITIES_V1_13 WDF_DEVICE_PNP_CAPABILITIES_V1_13
const struct _WDF_CLASS_BIND_INFO_V1_13 * PCWDF_CLASS_BIND_INFO_V1_13
Definition: wdf113.h:34
struct _WDFCX_FILEOBJECT_CONFIG_V1_13 WDFCX_FILEOBJECT_CONFIG_V1_13
const struct _WDF_DEVICE_STATE_V1_13 * PCWDF_DEVICE_STATE_V1_13
Definition: wdf113.h:54
struct _WDF_USB_DEVICE_CREATE_CONFIG_V1_13 * PWDF_USB_DEVICE_CREATE_CONFIG_V1_13
Definition: wdf113.h:155
struct _WDF_REQUEST_PARAMETERS_V1_13 * PWDF_REQUEST_PARAMETERS_V1_13
Definition: wdf113.h:109
const struct _WDFCX_FILEOBJECT_CONFIG_V1_13 * PCWDFCX_FILEOBJECT_CONFIG_V1_13
Definition: wdf113.h:28
struct _WDF_DRIVER_VERSION_AVAILABLE_PARAMS_V1_13 * PWDF_DRIVER_VERSION_AVAILABLE_PARAMS_V1_13
Definition: wdf113.h:77
const struct _WDFREQUEST_TRIAGE_INFO_V1_13 * PCWDFREQUEST_TRIAGE_INFO_V1_13
Definition: wdf113.h:134
struct _WDFIRPQUEUE_TRIAGE_INFO_V1_13 * PWDFIRPQUEUE_TRIAGE_INFO_V1_13
Definition: wdf113.h:131
struct _WDF_DRIVER_CONFIG_V1_13 WDF_DRIVER_CONFIG_V1_13
struct _WDF_TRIAGE_INFO_V1_13 * PWDF_TRIAGE_INFO_V1_13
Definition: wdf113.h:139
const struct _WDF_USB_DEVICE_CREATE_CONFIG_V1_13 * PCWDF_USB_DEVICE_CREATE_CONFIG_V1_13
Definition: wdf113.h:156
struct _WDF_INTERRUPT_EXTENDED_POLICY_V1_13 * PWDF_INTERRUPT_EXTENDED_POLICY_V1_13
Definition: wdf113.h:87
const struct _WDF_REQUEST_SEND_OPTIONS_V1_13 * PCWDF_REQUEST_SEND_OPTIONS_V1_13
Definition: wdf113.h:116
const struct _WDFOBJECT_TRIAGE_INFO_V1_13 * PCWDFOBJECT_TRIAGE_INFO_V1_13
Definition: wdf113.h:122
struct _WDFMEMORY_OFFSET_V1_13 * PWDFMEMORY_OFFSET_V1_13
Definition: wdf113.h:95
struct _WDF_WMI_PROVIDER_CONFIG_V1_13 * PWDF_WMI_PROVIDER_CONFIG_V1_13
Definition: wdf113.h:157
struct _WDF_USB_PIPE_INFORMATION_V1_13 WDF_USB_PIPE_INFORMATION_V1_13
struct _WDF_REQUEST_SEND_OPTIONS_V1_13 * PWDF_REQUEST_SEND_OPTIONS_V1_13
Definition: wdf113.h:115
struct _WDF_POWER_POLICY_EVENT_CALLBACKS_V1_13 WDF_POWER_POLICY_EVENT_CALLBACKS_V1_13
struct _WDF_USB_PIPE_INFORMATION_V1_13 * PWDF_USB_PIPE_INFORMATION_V1_13
Definition: wdf113.h:153
struct _WDF_CHILD_LIST_ITERATOR_V1_13 * PWDF_CHILD_LIST_ITERATOR_V1_13
Definition: wdf113.h:23
const struct _WDFFWDPROGRESS_TRIAGE_INFO_V1_13 * PCWDFFWDPROGRESS_TRIAGE_INFO_V1_13
Definition: wdf113.h:130
const struct _WDF_OBJECT_CONTEXT_TYPE_INFO_V1_13 * PCWDF_OBJECT_CONTEXT_TYPE_INFO_V1_13
Definition: wdf113.h:102
const struct _WDF_IO_QUEUE_CONFIG_V1_13 * PCWDF_IO_QUEUE_CONFIG_V1_13
Definition: wdf113.h:90
const struct _WDF_WMI_PROVIDER_CONFIG_V1_13 * PCWDF_WMI_PROVIDER_CONFIG_V1_13
Definition: wdf113.h:158
struct _WDF_WMI_INSTANCE_CONFIG_V1_13 * PWDF_WMI_INSTANCE_CONFIG_V1_13
Definition: wdf113.h:159
struct _WDFIRP_TRIAGE_INFO_V1_13 WDFIRP_TRIAGE_INFO_V1_13
struct _WDF_MEMORY_DESCRIPTOR_V1_13 WDF_MEMORY_DESCRIPTOR_V1_13
struct _WDF_USB_INTERFACE_SELECT_SETTING_PARAMS_V1_13 WDF_USB_INTERFACE_SELECT_SETTING_PARAMS_V1_13
struct _WDF_COMMON_BUFFER_CONFIG_V1_13 WDF_COMMON_BUFFER_CONFIG_V1_13
const struct _WDF_DEVICE_POWER_POLICY_WAKE_SETTINGS_V1_13 * PCWDF_DEVICE_POWER_POLICY_WAKE_SETTINGS_V1_13
Definition: wdf113.h:52
struct _WDF_DEVICE_PROPERTY_DATA_V1_13 WDF_DEVICE_PROPERTY_DATA_V1_13
struct _WDF_DEVICE_POWER_POLICY_NOTIFICATION_DATA_V1_13 WDF_DEVICE_POWER_POLICY_NOTIFICATION_DATA_V1_13
struct _WDF_CLASS_LIBRARY_INFO_V1_13 * PWDF_CLASS_LIBRARY_INFO_V1_13
Definition: wdf113.h:35
const struct _WDF_USB_PIPE_INFORMATION_V1_13 * PCWDF_USB_PIPE_INFORMATION_V1_13
Definition: wdf113.h:154
struct _WDF_IO_QUEUE_CONFIG_V1_13 WDF_IO_QUEUE_CONFIG_V1_13
struct _WDF_DEVICE_PNP_CAPABILITIES_V1_13 * PWDF_DEVICE_PNP_CAPABILITIES_V1_13
Definition: wdf113.h:55
const struct _WDF_INTERRUPT_EXTENDED_POLICY_V1_13 * PCWDF_INTERRUPT_EXTENDED_POLICY_V1_13
Definition: wdf113.h:88
const struct _WDF_INTERRUPT_CONFIG_V1_13 * PCWDF_INTERRUPT_CONFIG_V1_13
Definition: wdf113.h:84
const struct _WDF_DMA_ENABLER_CONFIG_V1_13 * PCWDF_DMA_ENABLER_CONFIG_V1_13
Definition: wdf113.h:70
const struct _WDF_USB_INTERFACE_SELECT_SETTING_PARAMS_V1_13 * PCWDF_USB_INTERFACE_SELECT_SETTING_PARAMS_V1_13
Definition: wdf113.h:152
struct _WDF_DEVICE_PNP_NOTIFICATION_DATA_V1_13 * PWDF_DEVICE_PNP_NOTIFICATION_DATA_V1_13
Definition: wdf113.h:39
struct _WDF_CHILD_RETRIEVE_INFO_V1_13 * PWDF_CHILD_RETRIEVE_INFO_V1_13
Definition: wdf113.h:19
struct _WDFCONTEXTTYPE_TRIAGE_INFO_V1_13 * PWDFCONTEXTTYPE_TRIAGE_INFO_V1_13
Definition: wdf113.h:125
struct _WDFREQUEST_TRIAGE_INFO_V1_13 * PWDFREQUEST_TRIAGE_INFO_V1_13
Definition: wdf113.h:133
struct _WDF_COMMON_BUFFER_CONFIG_V1_13 * PWDF_COMMON_BUFFER_CONFIG_V1_13
Definition: wdf113.h:25
const struct _WDF_QUEUE_FATAL_ERROR_DATA_V1_13 * PCWDF_QUEUE_FATAL_ERROR_DATA_V1_13
Definition: wdf113.h:14
struct _WDF_IO_QUEUE_FORWARD_PROGRESS_POLICY_V1_13 WDF_IO_QUEUE_FORWARD_PROGRESS_POLICY_V1_13
const struct _WDFQUEUE_TRIAGE_INFO_V1_13 * PCWDFQUEUE_TRIAGE_INFO_V1_13
Definition: wdf113.h:128
struct _WDF_DEVICE_POWER_NOTIFICATION_DATA_V1_13 * PWDF_DEVICE_POWER_NOTIFICATION_DATA_V1_13
Definition: wdf113.h:41
struct _WDF_DEVICE_POWER_POLICY_WAKE_SETTINGS_V1_13 WDF_DEVICE_POWER_POLICY_WAKE_SETTINGS_V1_13
struct _WDFCONTEXT_TRIAGE_INFO_V1_13 WDFCONTEXT_TRIAGE_INFO_V1_13
struct _WDFDEVICE_TRIAGE_INFO_V1_13 * PWDFDEVICE_TRIAGE_INFO_V1_13
Definition: wdf113.h:135
struct _WDF_DPC_CONFIG_V1_13 WDF_DPC_CONFIG_V1_13
struct _WDF_USB_DEVICE_INFORMATION_V1_13 WDF_USB_DEVICE_INFORMATION_V1_13
const struct _WDFDEVICE_TRIAGE_INFO_V1_13 * PCWDFDEVICE_TRIAGE_INFO_V1_13
Definition: wdf113.h:136
struct _WDF_DEVICE_PROPERTY_DATA_V1_13 * PWDF_DEVICE_PROPERTY_DATA_V1_13
Definition: wdf113.h:67
const struct _WDF_DEVICE_PNP_NOTIFICATION_DATA_V1_13 * PCWDF_DEVICE_PNP_NOTIFICATION_DATA_V1_13
Definition: wdf113.h:40
struct _WDF_WMI_INSTANCE_CONFIG_V1_13 WDF_WMI_INSTANCE_CONFIG_V1_13
struct _WDF_CLASS_BIND_INFO_V1_13 * PWDF_CLASS_BIND_INFO_V1_13
Definition: wdf113.h:33
struct _WDF_FILEOBJECT_CONFIG_V1_13 WDF_FILEOBJECT_CONFIG_V1_13
struct _WDF_TIMER_CONFIG_V1_13 * PWDF_TIMER_CONFIG_V1_13
Definition: wdf113.h:119
struct _WDF_USB_INTERFACE_SETTING_PAIR_V1_13 WDF_USB_INTERFACE_SETTING_PAIR_V1_13
struct _WDF_IO_TYPE_CONFIG_V1_13 * PWDF_IO_TYPE_CONFIG_V1_13
Definition: wdf113.h:63
const struct _WDF_WORKITEM_CONFIG_V1_13 * PCWDF_WORKITEM_CONFIG_V1_13
Definition: wdf113.h:162
struct _WDFQUEUE_TRIAGE_INFO_V1_13 WDFQUEUE_TRIAGE_INFO_V1_13
const struct _WDF_CLASS_VERSION_V1_13 * PCWDF_CLASS_VERSION_V1_13
Definition: wdf113.h:32
const struct _WDF_OBJECT_ATTRIBUTES_V1_13 * PCWDF_OBJECT_ATTRIBUTES_V1_13
Definition: wdf113.h:100
const struct _WDF_DEVICE_PNP_CAPABILITIES_V1_13 * PCWDF_DEVICE_PNP_CAPABILITIES_V1_13
Definition: wdf113.h:56
const struct _WDF_IO_TYPE_CONFIG_V1_13 * PCWDF_IO_TYPE_CONFIG_V1_13
Definition: wdf113.h:64
const struct _WDF_IO_TARGET_OPEN_PARAMS_V1_13 * PCWDF_IO_TARGET_OPEN_PARAMS_V1_13
Definition: wdf113.h:94
struct _WDF_DEVICE_POWER_CAPABILITIES_V1_13 WDF_DEVICE_POWER_CAPABILITIES_V1_13
struct _WDF_MEMORY_DESCRIPTOR_V1_13 * PWDF_MEMORY_DESCRIPTOR_V1_13
Definition: wdf113.h:97
struct _WDFQUEUE_TRIAGE_INFO_V1_13 * PWDFQUEUE_TRIAGE_INFO_V1_13
Definition: wdf113.h:127
struct _WDF_CHILD_LIST_CONFIG_V1_13 WDF_CHILD_LIST_CONFIG_V1_13
const struct _WDF_PDO_EVENT_CALLBACKS_V1_13 * PCWDF_PDO_EVENT_CALLBACKS_V1_13
Definition: wdf113.h:106
struct _WDF_OBJECT_ATTRIBUTES_V1_13 WDF_OBJECT_ATTRIBUTES_V1_13
struct _WDFCONTEXT_TRIAGE_INFO_V1_13 * PWDFCONTEXT_TRIAGE_INFO_V1_13
Definition: wdf113.h:123
struct _WDF_REQUEST_PARAMETERS_V1_13 WDF_REQUEST_PARAMETERS_V1_13
struct _WDF_DRIVER_GLOBALS_V1_13 WDF_DRIVER_GLOBALS_V1_13
struct _WDF_CLASS_LIBRARY_INFO_V1_13 WDF_CLASS_LIBRARY_INFO_V1_13
struct _WDF_OBJECT_ATTRIBUTES_V1_13 * PWDF_OBJECT_ATTRIBUTES_V1_13
Definition: wdf113.h:99
struct _WDF_IO_QUEUE_FORWARD_PROGRESS_POLICY_V1_13 * PWDF_IO_QUEUE_FORWARD_PROGRESS_POLICY_V1_13
Definition: wdf113.h:91
const struct _WDF_MEMORY_DESCRIPTOR_V1_13 * PCWDF_MEMORY_DESCRIPTOR_V1_13
Definition: wdf113.h:98
const struct _WDF_POWER_FRAMEWORK_SETTINGS_V1_13 * PCWDF_POWER_FRAMEWORK_SETTINGS_V1_13
Definition: wdf113.h:62
const struct _WDF_USB_DEVICE_INFORMATION_V1_13 * PCWDF_USB_DEVICE_INFORMATION_V1_13
Definition: wdf113.h:146
struct _WDF_DEVICE_INTERFACE_PROPERTY_DATA_V1_13 * PWDF_DEVICE_INTERFACE_PROPERTY_DATA_V1_13
Definition: wdf113.h:65
const struct _WDF_COMMON_BUFFER_CONFIG_V1_13 * PCWDF_COMMON_BUFFER_CONFIG_V1_13
Definition: wdf113.h:26
struct _WDF_INTERRUPT_CONFIG_V1_13 * PWDF_INTERRUPT_CONFIG_V1_13
Definition: wdf113.h:83
struct _WDF_REQUEST_FORWARD_OPTIONS_V1_13 WDF_REQUEST_FORWARD_OPTIONS_V1_13
const struct _WDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER_V1_13 * PCWDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER_V1_13
Definition: wdf113.h:16
const struct _WDF_FILEOBJECT_CONFIG_V1_13 * PCWDF_FILEOBJECT_CONFIG_V1_13
Definition: wdf113.h:38
const struct _WDF_REQUEST_PARAMETERS_V1_13 * PCWDF_REQUEST_PARAMETERS_V1_13
Definition: wdf113.h:110
const struct _WDF_CLASS_LIBRARY_INFO_V1_13 * PCWDF_CLASS_LIBRARY_INFO_V1_13
Definition: wdf113.h:36
const struct _WDF_DEVICE_POWER_POLICY_IDLE_SETTINGS_V1_13 * PCWDF_DEVICE_POWER_POLICY_IDLE_SETTINGS_V1_13
Definition: wdf113.h:50
struct _WDF_TRIAGE_INFO_V1_13 WDF_TRIAGE_INFO_V1_13
const struct _WDF_INTERRUPT_INFO_V1_13 * PCWDF_INTERRUPT_INFO_V1_13
Definition: wdf113.h:86
struct _WDF_CLASS_VERSION_V1_13 * PWDF_CLASS_VERSION_V1_13
Definition: wdf113.h:31
const struct _WDF_QUERY_INTERFACE_CONFIG_V1_13 * PCWDF_QUERY_INTERFACE_CONFIG_V1_13
Definition: wdf113.h:108
const struct _WDFCONTEXTTYPE_TRIAGE_INFO_V1_13 * PCWDFCONTEXTTYPE_TRIAGE_INFO_V1_13
Definition: wdf113.h:126
struct _WDF_USB_DEVICE_CREATE_CONFIG_V1_13 WDF_USB_DEVICE_CREATE_CONFIG_V1_13
struct _WDF_USB_REQUEST_COMPLETION_PARAMS_V1_13 * PWDF_USB_REQUEST_COMPLETION_PARAMS_V1_13
Definition: wdf113.h:141
struct _WDF_REQUEST_FORWARD_OPTIONS_V1_13 * PWDF_REQUEST_FORWARD_OPTIONS_V1_13
Definition: wdf113.h:117
struct _WDF_USB_DEVICE_SELECT_CONFIG_PARAMS_V1_13 WDF_USB_DEVICE_SELECT_CONFIG_PARAMS_V1_13