ReactOS 0.4.15-dev-5669-g09dde2c
wdf115.h
Go to the documentation of this file.
1#ifndef _WDF_V1_15_TYPES_H_
2#define _WDF_V1_15_TYPES_H_
3
4
5typedef enum _WDFFUNCENUM_V1_15 {
8
65typedef struct _WDF_DEVICE_INTERFACE_PROPERTY_DATA_V1_15 *PWDF_DEVICE_INTERFACE_PROPERTY_DATA_V1_15;
66typedef const struct _WDF_DEVICE_INTERFACE_PROPERTY_DATA_V1_15 *PCWDF_DEVICE_INTERFACE_PROPERTY_DATA_V1_15;
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 wdfDevicePri.h
1286//
1287// End of versioning of structures for wdfDevicePri.h
1288
1289//
1290// Versioning of structures for wdfDmaEnabler.h
1291//
1293 //
1294 // Size of this structure in bytes
1295 //
1297
1298 //
1299 // One of the above WDF_DMA_PROFILES
1300 //
1302
1303 //
1304 // Maximum DMA Transfer handled in bytes.
1305 //
1307
1308 //
1309 // The various DMA PnP/Power event callbacks
1310 //
1312
1314
1316
1318
1320
1322
1323 //
1324 // Overrides the address width specified by the DMA profile.
1325 //
1327
1328 //
1329 // Overrides the version of the WDM DMA interfaces that WDF uses
1330 // (0 for default).
1331 //
1333
1334 //
1335 // Bit field combination of values from the WDF_DMA_ENABLER_CONFIG_FLAGS
1336 // enumeration
1337 //
1339
1341
1343 //
1344 // The size of this structure in bytes
1345 //
1347
1348 //
1349 // Specifies that the transfer is controlled by the device's DMA
1350 // request line.
1351 //
1352 //
1354
1355 //
1356 // Specifies that the DMA engine will loop back to the beginning
1357 // of the buffer once it reaches the end.
1358 //
1359 //
1361
1362 //
1363 // Width of the register to DMA to/from
1364 //
1365 //
1367
1368 //
1369 // The adress at which to write to the device
1370 //
1372
1373 //
1374 // The translated resource descriptor for the DMA channel assigned
1375 // the device during EvtDevicePrepareHardware
1376 //
1378
1380
1381// End of versioning of structures for wdfDmaEnabler.h
1382
1383//
1384// Versioning of structures for wdfDmaTransaction.h
1385//
1386// End of versioning of structures for wdfDmaTransaction.h
1387
1388//
1389// Versioning of structures for wdfdpc.h
1390//
1393
1395
1396 //
1397 // If this is TRUE, the DPC will automatically serialize
1398 // with the event callback handlers of its Parent Object.
1399 //
1400 // Parent Object's callback constraints should be compatible
1401 // with the DPC (DISPATCH_LEVEL), or the request will fail.
1402 //
1404
1406
1407// End of versioning of structures for wdfdpc.h
1408
1409//
1410// Versioning of structures for wdfdriver.h
1411//
1413 //
1414 // Size of this structure in bytes
1415 //
1417
1418 //
1419 // Event callbacks
1420 //
1422
1424
1425 //
1426 // Combination of WDF_DRIVER_INIT_FLAGS values
1427 //
1429
1430 //
1431 // Pool tag to use for all allocations made by the framework on behalf of
1432 // the client driver.
1433 //
1435
1437
1439 //
1440 // Size of the structure in bytes
1441 //
1443
1444 //
1445 // Major Version requested
1446 //
1448
1449 //
1450 // Minor Version requested
1451 //
1453
1455
1456// End of versioning of structures for wdfdriver.h
1457
1458//
1459// Versioning of structures for wdffdo.h
1460//
1462 //
1463 // Size of this structure in bytes
1464 //
1466
1468
1470
1472
1474
1475// End of versioning of structures for wdffdo.h
1476
1477//
1478// Versioning of structures for wdffileobject.h
1479//
1480// End of versioning of structures for wdffileobject.h
1481
1482//
1483// Versioning of structures for wdfGlobals.h
1484//
1486 // backpointer to the handle for this driver
1487 WDFDRIVER Driver;
1488
1489 // Flags indicated by the driver during create
1491
1492 // Tag generated by WDF for the driver. Tag used by allocations made on
1493 // behalf of the driver by WDF.
1495
1497
1498 // If TRUE, the stub code will capture DriverObject->DriverUnload and insert
1499 // itself first in the unload chain. If FALSE, DriverUnload is left alone
1500 // (but WDF will not be notified of unload and there will be no auto cleanup).
1502
1504
1505// End of versioning of structures for wdfGlobals.h
1506
1507//
1508// Versioning of structures for wdfhid.h
1509//
1510// End of versioning of structures for wdfhid.h
1511
1512//
1513// Versioning of structures for wdfhwaccess.h
1514//
1515// End of versioning of structures for wdfhwaccess.h
1516
1517//
1518// Versioning of structures for wdfinstaller.h
1519//
1520// End of versioning of structures for wdfinstaller.h
1521
1522//
1523// Versioning of structures for wdfinternal.h
1524//
1525// End of versioning of structures for wdfinternal.h
1526
1527//
1528// Versioning of structures for wdfinterrupt.h
1529//
1530//
1531// Interrupt Configuration Structure
1532//
1535
1536 //
1537 // If this interrupt is to be synchronized with other interrupt(s) assigned
1538 // to the same WDFDEVICE, create a WDFSPINLOCK and assign it to each of the
1539 // WDFINTERRUPTs config.
1540 //
1541 WDFSPINLOCK SpinLock;
1542
1544
1546
1547 //
1548 // DIRQL handling: automatic serialization of the DpcForIsr/WaitItemForIsr.
1549 // Passive-level handling: automatic serialization of all callbacks.
1550 //
1552
1553 //
1554 // Event Callbacks
1555 //
1557
1559
1561
1563
1565
1566 //
1567 // These fields are only used when interrupt is created in
1568 // EvtDevicePrepareHardware callback.
1569 //
1571
1573
1574 //
1575 // Optional passive lock for handling interrupts at passive-level.
1576 //
1577 WDFWAITLOCK WaitLock;
1578
1579 //
1580 // TRUE: handle interrupt at passive-level.
1581 // FALSE: handle interrupt at DIRQL level. This is the default.
1582 //
1584
1585 //
1586 // TRUE: Interrupt is reported inactive on explicit power down
1587 // instead of disconnecting it.
1588 // FALSE: Interrupt is disconnected instead of reporting inactive
1589 // on explicit power down.
1590 // DEFAULT: Framework decides the right value.
1591 //
1593
1594 //
1595 // TRUE: Interrupt is used to wake the device from low-power states
1596 // and when the device is armed for wake this interrupt should
1597 // remain connected.
1598 // FALSE: Interrupt is not used to wake the device from low-power states.
1599 // This is the default.
1600 //
1602
1604
1606 //
1607 // Size of this structure in bytes
1608 //
1610
1612
1614
1616
1618
1620
1622
1624
1626
1628
1629 // CM_SHARE_DISPOSITION
1631
1633
1635
1636//
1637// Interrupt Extended Policy Configuration Structure
1638//
1640 //
1641 // Size of this structure in bytes
1642 //
1644
1646
1648
1650
1652
1653// End of versioning of structures for wdfinterrupt.h
1654
1655//
1656// Versioning of structures for wdfio.h
1657//
1658//
1659// This is the structure used to configure an IoQueue and
1660// register callback events to it.
1661//
1662//
1665
1667
1669
1671
1673
1675
1677
1679
1681
1683
1685
1687
1689
1690 union {
1691 struct {
1693
1694 } Parallel;
1695
1697
1698 WDFDRIVER Driver;
1699
1701
1704
1706
1707 //
1708 // Specify the type of the policy here.
1709 //
1711
1712 //
1713 // Structure which contains the policy specific fields
1714 //
1716
1717 //
1718 // Callback for reserved request given at initialization time
1719 //
1721
1722 //
1723 // Callback for reserved request given at run time
1724 //
1726
1728
1729// End of versioning of structures for wdfio.h
1730
1731//
1732// Versioning of structures for wdfIoTarget.h
1733//
1735 //
1736 // Size of this structure in bytes
1737 //
1739
1740 //
1741 // Indicates which fields of this structure are going to be used in
1742 // creating the WDFIOTARGET.
1743 //
1745
1746 //
1747 // Notification when the target is being queried for removal.
1748 // If !NT_SUCCESS is returned, the query will fail and the target will
1749 // remain opened.
1750 //
1752
1753 //
1754 // The previous query remove has been canceled and the target can now be
1755 // reopened.
1756 //
1758
1759 //
1760 // The query remove has succeeded and the target is now removed from the
1761 // system.
1762 //
1764
1765 // <KMDF_ONLY/>
1766 // ========== WdfIoTargetOpenUseExistingDevice begin ==========
1767 //
1768 // The device object to send requests to
1769 //
1771
1772 // <KMDF_ONLY/>
1773 // File object representing the TargetDeviceObject. The PFILE_OBJECT will
1774 // be passed as a parameter in all requests sent to the resulting
1775 // WDFIOTARGET.
1776 //
1778
1779 // ========== WdfIoTargetOpenUseExistingDevice end ==========
1780 //
1781 // ========== WdfIoTargetOpenByName begin ==========
1782 //
1783 // Name of the device to open.
1784 //
1786
1787 // <KMDF_DOC>
1788 // The access desired on the device being opened up, ie WDM FILE_XXX_ACCESS
1789 // such as FILE_ANY_ACCESS, FILE_SPECIAL_ACCESS, FILE_READ_ACCESS, or
1790 // FILE_WRITE_ACCESS or you can use values such as GENERIC_READ,
1791 // GENERIC_WRITE, or GENERIC_ALL.
1792 // </KMDF_DOC>
1793 // <UMDF_DOC>
1794 // The requested access to the file or device, which can be summarized as
1795 // read, write, both or neither zero). For more information about
1796 // this member, see the dwDesiredAccess parameter of CreateFile in the
1797 // Windows SDK. Note that ACCESS_MASK data type is a DWORD value.
1798 // </UMDF_DOC>
1799 //
1801
1802 //
1803 // <KMDF_DOC>
1804 // Share access desired on the target being opened, ie WDM FILE_SHARE_XXX
1805 // values such as FILE_SHARE_READ, FILE_SHARE_WRITE, FILE_SHARE_DELETE.
1806 // A zero value means exclusive access to the target.
1807 //
1808 // </KMDF_DOC>
1809 // <UMDF_DOC>
1810 // The type of sharing to allow for the file. For more information about
1811 // this member, see the dwShareMode parameter of CreateFile in the
1812 // Windows SDK. A value of 0 means exclusive access.
1813 // </UMDF_DOC>
1814 //
1816
1817 //
1818 // <KMDF_DOC>
1819 // File attributes, see ZwCreateFile in the DDK for a list of valid
1820 // values and their meaning.
1821 // </KMDF_DOC>
1822 // <UMDF_DOC>
1823 // Additional flags and attributes for the file. For more information about
1824 // this member, see the dwFlagsAndAttributes parameter of CreateFile
1825 // in the Windows SDK.
1826 // </UMDF_DOC>
1827 //
1829
1830 //
1831 // <KMDF_DOC>
1832 // Create disposition, see ZwCreateFile in the DDK for a list of valid
1833 // values and their meaning.
1834 // </KMDF_DOC>
1835 // <UMDF_DOC>
1836 // The action to take if the file already exists. For more information
1837 // about this member, see the dwCreationDisposition parameter of
1838 // CreateFile in the Windows SDK.
1839 // </UMDF_DOC>
1840 //
1842
1843 //
1844 // <KMDF_ONLY/>
1845 // Options for opening the device, see CreateOptions for ZwCreateFile in the
1846 // DDK for a list of valid values and their meaning.
1847 //
1849
1850 //
1851 // <KMDF_ONLY/>
1852 //
1854
1855 //
1856 // <KMDF_ONLY/>
1857 //
1859
1860 //
1861 // <KMDF_ONLY/>
1862 //
1864
1865 // ========== WdfIoTargetOpenByName end ==========
1866 //
1867 //
1868 // <KMDF_ONLY/>
1869 //
1870 // On return for a create by name, this will contain one of the following
1871 // values: FILE_CREATED, FILE_OPENED, FILE_OVERWRITTEN, FILE_SUPERSEDED,
1872 // FILE_EXISTS, FILE_DOES_NOT_EXIST
1873 //
1875
1876 // ========== WdfIoTargetOpenLocalTargetByFile begin ==========
1877 //
1878 //
1879 // <UMDF_ONLY/> A UNICODE_STRING-formatted string that contains the
1880 // name of the file to create a file object from. This parameter is
1881 // optional, and is applicable only when Type parameter is
1882 // WdfIoTargetOpenLocalTargetByFile. The driver can leave this member
1883 // unchanged if the driver does not have to create the file object
1884 // from a file name. If the driver must supply a name, the string that
1885 // the driver passes must not contain any path separator characters
1886 // ("/" or "\").
1887 //
1889
1891
1892// End of versioning of structures for wdfIoTarget.h
1893
1894//
1895// Versioning of structures for wdfIoTargetPri.h
1896//
1897// End of versioning of structures for wdfIoTargetPri.h
1898
1899//
1900// Versioning of structures for wdfMemory.h
1901//
1903 //
1904 // Offset into the WDFMEMORY that the operation should start at.
1905 //
1907
1908 //
1909 // Number of bytes that the operation should access. If 0, the entire
1910 // length of the WDFMEMORY buffer will be used in the operation or ignored
1911 // depending on the API.
1912 //
1914
1916
1919
1920 union {
1921 struct {
1923
1925
1926 } BufferType;
1927
1928 struct {
1930
1932
1933 } MdlType;
1934
1935 struct {
1936 WDFMEMORY Memory;
1937
1939
1940 } HandleType;
1941
1942 } u;
1943
1945
1946// End of versioning of structures for wdfMemory.h
1947
1948//
1949// Versioning of structures for wdfMiniport.h
1950//
1951// End of versioning of structures for wdfMiniport.h
1952
1953//
1954// Versioning of structures for wdfObject.h
1955//
1957 //
1958 // Size in bytes of this structure
1959 //
1961
1962 //
1963 // Function to call when the object is deleted
1964 //
1966
1967 //
1968 // Function to call when the objects memory is destroyed when the
1969 // the last reference count goes to zero
1970 //
1972
1973 //
1974 // Execution level constraints for Object
1975 //
1977
1978 //
1979 // Synchronization level constraint for Object
1980 //
1982
1983 //
1984 // Optional Parent Object
1985 //
1987
1988 //
1989 // Overrides the size of the context allocated as specified by
1990 // ContextTypeInfo->ContextSize
1991 //
1993
1994 //
1995 // Pointer to the type information to be associated with the object
1996 //
1998
2000
2001//
2002// Since C does not have strong type checking we must invent our own
2003//
2005 //
2006 // The size of this structure in bytes
2007 //
2009
2010 //
2011 // String representation of the context's type name, i.e. "DEVICE_CONTEXT"
2012 //
2014
2015 //
2016 // The size of the context in bytes. This will be the size of the context
2017 // associated with the handle unless
2018 // WDF_OBJECT_ATTRIBUTES::ContextSizeOverride is specified.
2019 //
2021
2022 //
2023 // If NULL, this structure is the unique type identifier for the context
2024 // type. If != NULL, the UniqueType pointer value is the unique type id
2025 // for the context type.
2026 //
2028
2029 //
2030 // Function pointer to retrieve the context type information structure
2031 // pointer from the provider of the context type. This function is invoked
2032 // by the client driver's entry point by the KMDF stub after all class
2033 // drivers are loaded and before DriverEntry is invoked.
2034 //
2036
2038
2039//
2040// Core structure for supporting custom types, see macros below.
2041//
2044
2046
2048
2049// End of versioning of structures for wdfObject.h
2050
2051//
2052// Versioning of structures for wdfpdo.h
2053//
2055 //
2056 // The size of this structure in bytes
2057 //
2059
2060 //
2061 // Called in response to IRP_MN_QUERY_RESOURCES
2062 //
2064
2065 //
2066 // Called in response to IRP_MN_QUERY_RESOURCE_REQUIREMENTS
2067 //
2069
2070 //
2071 // Called in response to IRP_MN_EJECT
2072 //
2074
2075 //
2076 // Called in response to IRP_MN_SET_LOCK
2077 //
2079
2080 //
2081 // Called in response to the power policy owner sending a wait wake to the
2082 // PDO. Bus generic arming shoulding occur here.
2083 //
2085
2086 //
2087 // Called in response to the power policy owner sending a wait wake to the
2088 // PDO. Bus generic disarming shoulding occur here.
2089 //
2091
2092 //
2093 // Called when reporting the PDO missing to PnP manager in response to
2094 // IRP_MN_QUERY_DEVICE_RELATIONS for Bus Relations.
2095 //
2097
2099
2100// End of versioning of structures for wdfpdo.h
2101
2102//
2103// Versioning of structures for wdfpool.h
2104//
2105// End of versioning of structures for wdfpool.h
2106
2107//
2108// Versioning of structures for wdfqueryinterface.h
2109//
2111 //
2112 // Size of this structure in bytes.
2113 //
2115
2116 //
2117 // Interface to be returned to the caller. Optional if BehaviorType is set
2118 // to WdfQueryInterfaceTypePassThrough or ImportInterface is set to TRUE.
2119 //
2121
2122 //
2123 // The GUID identifying the interface
2124 //
2126
2127 //
2128 // Valid only for PDOs. The framework will allocate a new request and
2129 // forward it down the parent's device stack.
2130 //
2132
2133 //
2134 // Driver supplied callback which is called after some basic interface
2135 // validation has been performed (size, version, and guid checking). This
2136 // is an optional parameter and may be NULL unless ImportInterface is
2137 // specified.
2138 //
2139 // If the callback returns !NT_SUCCESS, this error will be returned to the
2140 // caller and the query interface will fail.
2141 //
2142 // In this callback, the caller is free to modify the ExposedInterface in
2143 // any manner of its choosing. For instance, the callback may change any
2144 // field in the interface. The callback may also alloate a dynamic context
2145 // to be associated with the interface; the InterfaceReference and
2146 // InterfaceDereference functions may also be overridden.
2147 //
2148 // If ImportInterface is set to TRUE, then this is a required field and the
2149 // callback must initialize the interface (the framework will leave the
2150 // ExposedInterface buffer exactly as it received it) since the framework
2151 // has no way of knowing which fields to fill in and which to leave alone.
2152 //
2154
2155 //
2156 // If TRUE, the interface provided by the caller contains data that the
2157 // driver is interested in. By setting to this field to TRUE, the
2158 // EvtDeviceProcessQueryInterfaceRequest callback must initialize the
2159 // ExposedInterface.
2160 //
2161 // If FALSE, the entire ExposedInterface is initialized through a memory
2162 // copy before the EvtDeviceProcessQueryInterfaceRequest is called.
2163 //
2165
2167
2168// End of versioning of structures for wdfqueryinterface.h
2169
2170//
2171// Versioning of structures for wdfregistry.h
2172//
2173// End of versioning of structures for wdfregistry.h
2174
2175//
2176// Versioning of structures for wdfrequest.h
2177//
2178//
2179// This parameters structure allows general access to a requests parameters
2180//
2183
2185
2187
2188 //
2189 // The following user parameters are based on the service that is being
2190 // invoked. Drivers and file systems can determine which set to use based
2191 // on the above major and minor function codes.
2192 //
2193 union {
2194 //
2195 // System service parameters for: Create
2196 //
2197 //
2198 struct {
2200
2202
2204
2206
2208
2210
2211 //
2212 // System service parameters for: Read
2213 //
2214 //
2215 struct {
2216 size_t Length;
2217
2219
2221
2223
2224 //
2225 // System service parameters for: Write
2226 //
2227 //
2228 struct {
2229 size_t Length;
2230
2232
2234
2236
2237 //
2238 // System service parameters for: Device Control
2239 //
2240 // Note that the user's output buffer is stored in the UserBuffer field
2241 // and the user's input buffer is stored in the SystemBuffer field.
2242 //
2243 //
2244 struct {
2246
2248
2250
2252
2254
2255 struct {
2257
2259
2261
2263
2264 } Others;
2265
2267
2269
2271 //
2272 // Size of the structure in bytes
2273 //
2275
2277
2279
2280 union {
2281 struct {
2282 WDFMEMORY Buffer;
2283
2284 size_t Length;
2285
2286 size_t Offset;
2287
2289
2290 struct {
2291 WDFMEMORY Buffer;
2292
2293 size_t Length;
2294
2295 size_t Offset;
2296
2298
2299 struct {
2301
2302 struct {
2303 WDFMEMORY Buffer;
2304
2305 size_t Offset;
2306
2308
2309 struct {
2310 WDFMEMORY Buffer;
2311
2312 size_t Offset;
2313
2314 size_t Length;
2315
2317
2319
2320 struct {
2321 union {
2323
2325
2327
2328 union {
2329 PVOID Ptr;
2330
2332
2334
2335 union {
2336 PVOID Ptr;
2337
2339
2340 } Argument3;
2341
2342 union {
2343 PVOID Ptr;
2344
2346
2348
2349 } Others;
2350
2351 struct {
2353
2354 } Usb;
2355
2357
2359
2361 //
2362 // Size of this structure in bytes
2363 //
2365
2366 //
2367 // Bit field combination of WDF_REQUEST_REUSE_Xxx values
2368 //
2370
2371 //
2372 // The new status of the request.
2373 //
2375
2376 //
2377 // New PIRP to be contained in the WDFREQUEST. Setting a new PIRP value
2378 // is only valid for WDFREQUESTs created by WdfRequestCreateFromIrp where
2379 // RequestFreesIrp == FALSE. No other WDFREQUESTs (presented by the
2380 // I/O queue for instance) may have their IRPs changed.
2381 //
2383
2385
2387 //
2388 // Size of the structure in bytes
2389 //
2391
2392 //
2393 // Bit field combination of values from the WDF_REQUEST_SEND_OPTIONS_FLAGS
2394 // enumeration
2395 //
2397
2398 //
2399 // Valid when WDF_REQUEST_SEND_OPTION_TIMEOUT is set
2400 //
2402
2404
2406 //
2407 // Size of the structure in bytes
2408 //
2410
2411 //
2412 // Bit field combination of values from the WDF_REQUEST_FORWARD_OPTIONS_FLAGS
2413 // enumeration
2414 //
2416
2418
2419// End of versioning of structures for wdfrequest.h
2420
2421//
2422// Versioning of structures for wdfresource.h
2423//
2424// End of versioning of structures for wdfresource.h
2425
2426//
2427// Versioning of structures for wdfroletypes.h
2428//
2429// End of versioning of structures for wdfroletypes.h
2430
2431//
2432// Versioning of structures for wdfstring.h
2433//
2434// End of versioning of structures for wdfstring.h
2435
2436//
2437// Versioning of structures for wdfsync.h
2438//
2439// End of versioning of structures for wdfsync.h
2440
2441//
2442// Versioning of structures for wdftimer.h
2443//
2446
2448
2450
2451 //
2452 // If this is TRUE, the Timer will automatically serialize
2453 // with the event callback handlers of its Parent Object.
2454 //
2455 // Parent Object's callback constraints should be compatible
2456 // with the Timer DPC (DISPATCH_LEVEL), or the request will fail.
2457 //
2459
2460 //
2461 // Optional tolerance for the timer in milliseconds.
2462 //
2464
2465 //
2466 // If this is TRUE, high resolution timers will be used. The default
2467 // value is FALSE
2468 //
2469 DECLSPEC_ALIGN(8) BOOLEAN UseHighResolutionTimer;
2470
2472
2473// End of versioning of structures for wdftimer.h
2474
2475//
2476// Versioning of structures for wdftriage.h
2477//
2479 // value
2481
2483
2485
2487
2489
2491
2493
2495
2497 // value
2499
2501
2503
2505
2507
2509
2511 // value
2513
2515
2517
2519
2521 // value
2523
2525
2527
2529
2531
2533
2535
2537
2540
2542
2544
2546
2548 // value
2550
2552
2554
2556
2558
2560 // value
2562
2564
2565 // WDF irp wrapper, see below.
2567
2569
2571
2573
2575
2577
2579 // value
2581
2583
2585
2587 // value
2589
2591
2593
2595 //
2596 // Version.
2597 //
2599
2601
2603
2605
2606 //
2607 // Reserved pointer.
2608 //
2610
2611 //
2612 // WDF objects triage info.
2613 //
2615
2617
2619
2621
2623
2625
2627
2629
2631
2633
2634// End of versioning of structures for wdftriage.h
2635
2636//
2637// Versioning of structures for wdftypes.h
2638//
2639// End of versioning of structures for wdftypes.h
2640
2641//
2642// Versioning of structures for wdfUsb.h
2643//
2646
2648
2649 union {
2650 struct {
2651 WDFMEMORY Buffer;
2652
2654
2656
2657 //
2658 // If STATUS_BUFFER_OVERFLOW is returned, this field will contain the
2659 // number of bytes required to retrieve the entire string.
2660 //
2662
2663 } DeviceString;
2664
2665 struct {
2666 WDFMEMORY Buffer;
2667
2669
2671
2672 } DeviceControlTransfer;
2673
2674 struct {
2675 WDFMEMORY Buffer;
2676
2677 } DeviceUrb;
2678
2679 struct {
2680 WDFMEMORY Buffer;
2681
2682 size_t Length;
2683
2684 size_t Offset;
2685
2686 } PipeWrite;
2687
2688 struct {
2689 WDFMEMORY Buffer;
2690
2691 size_t Length;
2692
2693 size_t Offset;
2694
2695 } PipeRead;
2696
2697 struct {
2698 WDFMEMORY Buffer;
2699
2700 } PipeUrb;
2701
2703
2705
2707 //
2708 // Size of the string in bytes
2709 //
2711
2712 //
2713 // Number of bytes to send ask for from the usb device.
2714 //
2716
2717 //
2718 // Number of bytes to allocate before the requested transfer length
2719 //
2721
2722 //
2723 // Number of bytes to allocate after the requested transfer length
2724 //
2726
2727 //
2728 // Number of reads to send to the device at once. If zero is specified, the
2729 // default will be used.
2730 //
2732
2733 //
2734 // Optional attributes to apply to each WDFMEMORY allocated for each read
2735 //
2737
2738 //
2739 // Event callback invoked when a read is completed
2740 //
2742
2743 //
2744 // Context to be passed to EvtUsbTargetPipeReadComplete
2745 //
2747
2748 //
2749 // Event callback invoked when a reader fails. If TRUE is returned, the
2750 // readers are restarted.
2751 //
2753
2755
2757 //
2758 // Size of this structure in bytes
2759 //
2761
2762 //
2763 // USBD version information
2764 //
2766
2767 //
2768 // Usb controller port capabilities
2769 //
2771
2772 //
2773 // Bitfield of WDF_USB_DEVICE_TRAITS values
2774 //
2776
2778
2780 //
2781 // Interface to select
2782 //
2783 WDFUSBINTERFACE UsbInterface;
2784
2785 //
2786 // Setting to select on UsbInterface
2787 //
2789
2791
2793 //
2794 // Size of the structure in bytes
2795 //
2797
2798 //
2799 // Type of select config, one of WdfUsbTargetDeviceSelectConfigType values
2800 //
2802
2803 union {
2804 struct {
2805 //
2806 // Configuration descriptor to use
2807 //
2809
2810 //
2811 // Array of interface descriptors pointers.
2812 //
2814
2815 //
2816 // Number of elements in the InterfaceDescrtiptors pointer array.
2817 //
2819
2821
2822 struct {
2823 //
2824 // Preallocated select config URB formatted by the caller.
2825 // Will be used, as supplied without modification, as the select
2826 // config request.
2827 //
2829
2830 } Urb;
2831
2832 struct {
2833 //
2834 // Number of pipes configured on the single after. This value is
2835 // returned to the caller after a succssful call.
2836 //
2838
2839 //
2840 // The interface which was configred. This value is returned to the
2841 // caller after a successful call.
2842 //
2843 WDFUSBINTERFACE ConfiguredUsbInterface;
2844
2845 } SingleInterface;
2846
2847 struct {
2848 //
2849 // Number of interface pairs in the Pairs array
2850 //
2852
2853 //
2854 // Array of interface + settings
2855 //
2857
2858 //
2859 // Number of interfaces which were configured after a successful call
2860 //
2862
2863 } MultiInterface;
2864
2866
2868
2870 //
2871 // Size of this data structure in bytes
2872 //
2874
2875 //
2876 // Type of select interface as indicated by one of the
2877 // WdfUsbTargetDeviceSelectSettingType values.
2878 //
2880
2881 union {
2882 struct {
2883 //
2884 // Interface descriptor that will be used in the interface selection
2885 //
2887
2889
2890 struct {
2891 //
2892 // The setting index of the WDFUSBINTERFACE to use
2893 //
2895
2897
2898 struct {
2899 //
2900 // Preformatted select interface URB which will be used in the
2901 // select interface request.
2902 //
2904
2905 } Urb;
2906
2908
2910
2912 //
2913 // Size of the structure in bytes
2914 //
2916
2917 //
2918 // Maximum packet size this device is capable of
2919 //
2921
2922 //
2923 // Raw endpoint address of the device as described by its descriptor
2924 //
2926
2927 //
2928 // Polling interval
2929 //
2931
2932 //
2933 // Which alternate setting this structure is relevant for
2934 //
2936
2937 //
2938 // The type of the pipe
2940
2941 //
2942 // Maximum size of one transfer which should be sent to the host controller
2943 //
2945
2947
2949 //
2950 // Size of this structure in bytes
2951 //
2953
2954 //
2955 // USBD Client Contraction of the Wdf Client
2956 //
2958
2960
2961// End of versioning of structures for wdfUsb.h
2962
2963//
2964// Versioning of structures for wdfverifier.h
2965//
2966// End of versioning of structures for wdfverifier.h
2967
2968//
2969// Versioning of structures for wdfWMI.h
2970//
2972 //
2973 // Size of this structure in bytes
2974 //
2976
2977 //
2978 // The GUID being registered
2979 //
2981
2982 //
2983 // Combination of values from the enum WDF_WMI_PROVIDER_FLAGS
2984 //
2986
2987 //
2988 // Minimum expected buffer size for query and set instance requests.
2989 // Ignored if WdfWmiProviderEventOnly is set in Flags.
2990 //
2992
2993 //
2994 // Callback when caller is opening a provider which ha been marked as
2995 // expensive or when a caller is interested in events.
2996 //
2998
3000
3002 //
3003 // Size of the structure in bytes
3004 //
3006
3007 //
3008 // Optional parameter. If NULL, ProviderConfig must be set to a valid pointer
3009 // value. If specified, indicates the provider to create an instance for.
3010 //
3011 WDFWMIPROVIDER Provider;
3012
3013 //
3014 // Optional parameter. If NULL, Provider must be set to a valid handle
3015 // value. If specifeid, indicates the configuration for a provider to be
3016 // created and for this instance to be associated with.
3017 //
3019
3020 //
3021 // If the Provider is configured as read only and this field is set to TRUE,
3022 // the EvtWmiInstanceQueryInstance is ignored and WDF will blindly copy the
3023 // context associated with this instance (using RtlCopyMemory, with no locks
3024 // held) into the query buffer.
3025 //
3027
3028 //
3029 // If TRUE, the instance will be registered as well as created.
3030 //
3032
3033 //
3034 // Callback when caller wants to query the entire data item's buffer.
3035 //
3037
3038 //
3039 // Callback when caller wants to set the entire data item's buffer.
3040 //
3042
3043 //
3044 // Callback when caller wants to set a single field in the data item's buffer
3045 //
3047
3048 //
3049 // Callback when caller wants to execute a method on the data item.
3050 //
3052
3054
3055// End of versioning of structures for wdfWMI.h
3056
3057//
3058// Versioning of structures for wdfworkitem.h
3059//
3062
3064
3065 //
3066 // If this is TRUE, the workitem will automatically serialize
3067 // with the event callback handlers of its Parent Object.
3068 //
3069 // Parent Object's callback constraints should be compatible
3070 // with the work item (PASSIVE_LEVEL), or the request will fail.
3071 //
3073
3075
3076// End of versioning of structures for wdfworkitem.h
3077
3078
3079#endif // _WDF_V1_15_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:1646
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
PFN_WDFCX_DEVICE_FILE_CREATE EvtCxDeviceFileCreate
Definition: wdf115.h:443
PFN_WDF_FILE_CLOSE EvtFileClose
Definition: wdf115.h:448
PFN_WDF_FILE_CLEANUP EvtFileCleanup
Definition: wdf115.h:453
WDF_TRI_STATE AutoForwardCleanupClose
Definition: wdf115.h:466
WDF_FILEOBJECT_CLASS FileObjectClass
Definition: wdf115.h:473
PFN_WDF_CHILD_LIST_IDENTIFICATION_DESCRIPTION_COPY EvtChildListIdentificationDescriptionCopy
Definition: wdf115.h:320
PFN_WDF_CHILD_LIST_ADDRESS_DESCRIPTION_COPY EvtChildListAddressDescriptionCopy
Definition: wdf115.h:351
PFN_WDF_CHILD_LIST_DEVICE_REENUMERATED EvtChildListDeviceReenumerated
Definition: wdf115.h:372
PFN_WDF_CHILD_LIST_IDENTIFICATION_DESCRIPTION_DUPLICATE EvtChildListIdentificationDescriptionDuplicate
Definition: wdf115.h:327
PFN_WDF_CHILD_LIST_ADDRESS_DESCRIPTION_CLEANUP EvtChildListAddressDescriptionCleanup
Definition: wdf115.h:365
PFN_WDF_CHILD_LIST_CREATE_DEVICE EvtChildListCreateDevice
Definition: wdf115.h:305
PFN_WDF_CHILD_LIST_ADDRESS_DESCRIPTION_DUPLICATE EvtChildListAddressDescriptionDuplicate
Definition: wdf115.h:358
PFN_WDF_CHILD_LIST_IDENTIFICATION_DESCRIPTION_CLEANUP EvtChildListIdentificationDescriptionCleanup
Definition: wdf115.h:334
PFN_WDF_CHILD_LIST_SCAN_FOR_CHILDREN EvtChildListScanForChildren
Definition: wdf115.h:312
PFN_WDF_CHILD_LIST_IDENTIFICATION_DESCRIPTION_COMPARE EvtChildListIdentificationDescriptionCompare
Definition: wdf115.h:343
WDF_CHILD_LIST_RETRIEVE_DEVICE_STATUS Status
Definition: wdf115.h:273
PWDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER_V1_15 IdentificationDescription
Definition: wdf115.h:263
PWDF_CHILD_ADDRESS_DESCRIPTION_HEADER_V1_15 AddressDescription
Definition: wdf115.h:268
PFN_WDF_CHILD_LIST_IDENTIFICATION_DESCRIPTION_COMPARE EvtChildListIdentificationDescriptionCompare
Definition: wdf115.h:279
PFN_WDF_CLIENT_BIND_CLASS ClientBindClass
Definition: wdf115.h:539
WDF_CLASS_VERSION_V1_15 Version
Definition: wdf115.h:516
PFN_WDF_CLIENT_UNBIND_CLASS ClientUnbindClass
Definition: wdf115.h:546
PFN_WDF_CLASS_EXPORT * FunctionTable
Definition: wdf115.h:521
PCWDF_CLASS_EXTENSION_DESCRIPTOR_V1_15 Next
Definition: wdf115.h:483
PFN_WDF_CLASS_EXTENSIONIN_BIND Bind
Definition: wdf115.h:487
PFN_WDF_CLASS_EXTENSIONIN_UNBIND Unbind
Definition: wdf115.h:489
PFN_WDF_CLASS_LIBRARY_UNBIND_CLIENT ClassLibraryUnbindClient
Definition: wdf115.h:588
PFN_WDF_CLASS_LIBRARY_INITIALIZE ClassLibraryInitialize
Definition: wdf115.h:569
PFN_WDF_CLASS_LIBRARY_DEINITIALIZE ClassLibraryDeinitialize
Definition: wdf115.h:576
PFN_WDF_CLASS_LIBRARY_BIND_CLIENT ClassLibraryBindClient
Definition: wdf115.h:582
WDF_CLASS_VERSION_V1_15 Version
Definition: wdf115.h:564
WDF_MINOR_VERSION Minor
Definition: wdf115.h:496
WDF_MAJOR_VERSION Major
Definition: wdf115.h:494
WDF_BUILD_NUMBER Build
Definition: wdf115.h:498
union _WDF_DEVICE_PNP_NOTIFICATION_DATA_V1_15::@4326 Data
WDF_DEVICE_PNP_STATE CurrentState
Definition: wdf115.h:651
struct _WDF_DEVICE_PNP_NOTIFICATION_DATA_V1_15::@4326::@4328 PostProcessState
struct _WDF_DEVICE_PNP_NOTIFICATION_DATA_V1_15::@4326::@4327 EnterState
WDF_DEVICE_PNP_STATE NewState
Definition: wdf115.h:656
struct _WDF_DEVICE_PNP_NOTIFICATION_DATA_V1_15::@4326::@4329 LeaveState
WDF_STATE_NOTIFICATION_TYPE Type
Definition: wdf115.h:644
DEVICE_POWER_STATE DeviceWake
Definition: wdf115.h:1099
SYSTEM_POWER_STATE SystemWake
Definition: wdf115.h:1101
DEVICE_POWER_STATE IdealDxStateForSx
Definition: wdf115.h:1118
struct _WDF_DEVICE_POWER_NOTIFICATION_DATA_V1_15::@4330::@4332 PostProcessState
struct _WDF_DEVICE_POWER_NOTIFICATION_DATA_V1_15::@4330::@4333 LeaveState
union _WDF_DEVICE_POWER_NOTIFICATION_DATA_V1_15::@4330 Data
struct _WDF_DEVICE_POWER_NOTIFICATION_DATA_V1_15::@4330::@4331 EnterState
WDF_DEVICE_POWER_STATE CurrentState
Definition: wdf115.h:696
WDF_DEVICE_POWER_STATE NewState
Definition: wdf115.h:701
WDF_STATE_NOTIFICATION_TYPE Type
Definition: wdf115.h:689
WDF_POWER_POLICY_S0_IDLE_CAPABILITIES IdleCaps
Definition: wdf115.h:849
WDF_POWER_POLICY_IDLE_TIMEOUT_TYPE IdleTimeoutType
Definition: wdf115.h:910
WDF_POWER_POLICY_S0_IDLE_USER_CONTROL UserControlOfIdleSettings
Definition: wdf115.h:867
union _WDF_DEVICE_POWER_POLICY_NOTIFICATION_DATA_V1_15::@4334 Data
struct _WDF_DEVICE_POWER_POLICY_NOTIFICATION_DATA_V1_15::@4334::@4337 LeaveState
struct _WDF_DEVICE_POWER_POLICY_NOTIFICATION_DATA_V1_15::@4334::@4336 PostProcessState
WDF_STATE_NOTIFICATION_TYPE Type
Definition: wdf115.h:734
WDF_DEVICE_POWER_POLICY_STATE NewState
Definition: wdf115.h:746
WDF_DEVICE_POWER_POLICY_STATE CurrentState
Definition: wdf115.h:741
struct _WDF_DEVICE_POWER_POLICY_NOTIFICATION_DATA_V1_15::@4334::@4335 EnterState
WDF_POWER_POLICY_SX_WAKE_USER_CONTROL UserControlOfWakeSettings
Definition: wdf115.h:954
_In_ const DEVPROPKEY * PropertyKey
Definition: wdf115.h:1261
WDF_TRI_STATE Disabled
Definition: wdf115.h:997
WDF_TRI_STATE DontDisplayInUI
Definition: wdf115.h:1003
WDF_TRI_STATE NotDisableable
Definition: wdf115.h:1015
WDF_TRI_STATE Failed
Definition: wdf115.h:1010
WDF_TRI_STATE Removed
Definition: wdf115.h:1024
WDF_TRI_STATE ResourcesChanged
Definition: wdf115.h:1031
PFN_WDF_DMA_ENABLER_FLUSH EvtDmaEnablerFlush
Definition: wdf115.h:1313
WDF_DMA_PROFILE Profile
Definition: wdf115.h:1301
PFN_WDF_DMA_ENABLER_FILL EvtDmaEnablerFill
Definition: wdf115.h:1311
PFN_WDF_DMA_ENABLER_ENABLE EvtDmaEnablerEnable
Definition: wdf115.h:1317
PFN_WDF_DMA_ENABLER_DISABLE EvtDmaEnablerDisable
Definition: wdf115.h:1315
PFN_WDF_DMA_ENABLER_SELFMANAGED_IO_START EvtDmaEnablerSelfManagedIoStart
Definition: wdf115.h:1319
PFN_WDF_DMA_ENABLER_SELFMANAGED_IO_STOP EvtDmaEnablerSelfManagedIoStop
Definition: wdf115.h:1321
PCM_PARTIAL_RESOURCE_DESCRIPTOR DmaDescriptor
Definition: wdf115.h:1377
PFN_WDF_DPC EvtDpcFunc
Definition: wdf115.h:1394
BOOLEAN AutomaticSerialization
Definition: wdf115.h:1403
PFN_WDF_DRIVER_UNLOAD EvtDriverUnload
Definition: wdf115.h:1423
PFN_WDF_DRIVER_DEVICE_ADD EvtDriverDeviceAdd
Definition: wdf115.h:1421
CHAR DriverName[WDF_DRIVER_GLOBALS_NAME_LEN]
Definition: wdf115.h:1496
BOOLEAN DisplaceDriverUnload
Definition: wdf115.h:1501
PFN_WDF_DEVICE_REMOVE_ADDED_RESOURCES EvtDeviceRemoveAddedResources
Definition: wdf115.h:1471
PFN_WDF_DEVICE_FILTER_RESOURCE_REQUIREMENTS EvtDeviceFilterAddResourceRequirements
Definition: wdf115.h:1467
PFN_WDF_DEVICE_FILTER_RESOURCE_REQUIREMENTS EvtDeviceFilterRemoveResourceRequirements
Definition: wdf115.h:1469
WDF_TRI_STATE AutoForwardCleanupClose
Definition: wdf115.h:629
WDF_FILEOBJECT_CLASS FileObjectClass
Definition: wdf115.h:636
PFN_WDF_DEVICE_FILE_CREATE EvtDeviceFileCreate
Definition: wdf115.h:606
PFN_WDF_FILE_CLEANUP EvtFileCleanup
Definition: wdf115.h:616
PFN_WDF_FILE_CLOSE EvtFileClose
Definition: wdf115.h:611
PFN_WDF_INTERRUPT_DPC EvtInterruptDpc
Definition: wdf115.h:1558
PFN_WDF_INTERRUPT_ENABLE EvtInterruptEnable
Definition: wdf115.h:1560
WDF_TRI_STATE ShareVector
Definition: wdf115.h:1543
PFN_WDF_INTERRUPT_ISR EvtInterruptIsr
Definition: wdf115.h:1556
PFN_WDF_INTERRUPT_WORKITEM EvtInterruptWorkItem
Definition: wdf115.h:1564
PCM_PARTIAL_RESOURCE_DESCRIPTOR InterruptTranslated
Definition: wdf115.h:1572
PFN_WDF_INTERRUPT_DISABLE EvtInterruptDisable
Definition: wdf115.h:1562
PCM_PARTIAL_RESOURCE_DESCRIPTOR InterruptRaw
Definition: wdf115.h:1570
WDF_TRI_STATE ReportInactiveOnPowerDown
Definition: wdf115.h:1592
WDF_INTERRUPT_POLICY Policy
Definition: wdf115.h:1645
WDF_INTERRUPT_PRIORITY Priority
Definition: wdf115.h:1647
GROUP_AFFINITY TargetProcessorSetAndGroup
Definition: wdf115.h:1649
KAFFINITY TargetProcessorSet
Definition: wdf115.h:1613
DECLSPEC_ALIGN(8) USHORT Group
WDF_INTERRUPT_POLARITY Polarity
Definition: wdf115.h:1625
KINTERRUPT_MODE Mode
Definition: wdf115.h:1623
PFN_WDF_IO_QUEUE_IO_DEVICE_CONTROL EvtIoDeviceControl
Definition: wdf115.h:1680
WDF_TRI_STATE PowerManaged
Definition: wdf115.h:1668
PFN_WDF_IO_QUEUE_IO_CANCELED_ON_QUEUE EvtIoCanceledOnQueue
Definition: wdf115.h:1688
PFN_WDF_IO_QUEUE_IO_RESUME EvtIoResume
Definition: wdf115.h:1686
PFN_WDF_IO_QUEUE_IO_READ EvtIoRead
Definition: wdf115.h:1676
BOOLEAN AllowZeroLengthRequests
Definition: wdf115.h:1670
PFN_WDF_IO_QUEUE_IO_DEFAULT EvtIoDefault
Definition: wdf115.h:1674
WDF_IO_QUEUE_DISPATCH_TYPE DispatchType
Definition: wdf115.h:1666
PFN_WDF_IO_QUEUE_IO_INTERNAL_DEVICE_CONTROL EvtIoInternalDeviceControl
Definition: wdf115.h:1682
PFN_WDF_IO_QUEUE_IO_STOP EvtIoStop
Definition: wdf115.h:1684
PFN_WDF_IO_QUEUE_IO_WRITE EvtIoWrite
Definition: wdf115.h:1678
WDF_IO_FORWARD_PROGRESS_RESERVED_POLICY ForwardProgressReservedPolicy
Definition: wdf115.h:1710
PFN_WDF_IO_ALLOCATE_RESOURCES_FOR_RESERVED_REQUEST EvtIoAllocateResourcesForReservedRequest
Definition: wdf115.h:1720
PFN_WDF_IO_ALLOCATE_REQUEST_RESOURCES EvtIoAllocateRequestResources
Definition: wdf115.h:1725
WDF_IO_FORWARD_PROGRESS_RESERVED_POLICY_SETTINGS ForwardProgressReservePolicySettings
Definition: wdf115.h:1715
PDEVICE_OBJECT TargetDeviceObject
Definition: wdf115.h:1770
WDF_IO_TARGET_OPEN_TYPE Type
Definition: wdf115.h:1744
PFN_WDF_IO_TARGET_REMOVE_CANCELED EvtIoTargetRemoveCanceled
Definition: wdf115.h:1757
PFN_WDF_IO_TARGET_REMOVE_COMPLETE EvtIoTargetRemoveComplete
Definition: wdf115.h:1763
UNICODE_STRING TargetDeviceName
Definition: wdf115.h:1785
PFN_WDF_IO_TARGET_QUERY_REMOVE EvtIoTargetQueryRemove
Definition: wdf115.h:1751
WDF_DEVICE_IO_TYPE ReadWriteIoType
Definition: wdf115.h:1221
WDF_DEVICE_IO_TYPE DeviceControlIoType
Definition: wdf115.h:1234
WDF_MEMORY_DESCRIPTOR_TYPE Type
Definition: wdf115.h:1918
PWDFMEMORY_OFFSET_V1_15 Offsets
Definition: wdf115.h:1938
PFN_WDF_OBJECT_CONTEXT_CLEANUP EvtCleanupCallback
Definition: wdf115.h:1965
WDF_SYNCHRONIZATION_SCOPE SynchronizationScope
Definition: wdf115.h:1981
WDF_EXECUTION_LEVEL ExecutionLevel
Definition: wdf115.h:1976
PCWDF_OBJECT_CONTEXT_TYPE_INFO_V1_15 ContextTypeInfo
Definition: wdf115.h:1997
PFN_WDF_OBJECT_CONTEXT_DESTROY EvtDestroyCallback
Definition: wdf115.h:1971
PCWDF_OBJECT_CONTEXT_TYPE_INFO_V1_15 UniqueType
Definition: wdf115.h:2027
PFN_GET_UNIQUE_CONTEXT_TYPE EvtDriverGetUniqueContextType
Definition: wdf115.h:2035
PFN_WDF_DEVICE_REPORTED_MISSING EvtDeviceReportedMissing
Definition: wdf115.h:2096
PFN_WDF_DEVICE_EJECT EvtDeviceEject
Definition: wdf115.h:2073
PFN_WDF_DEVICE_DISABLE_WAKE_AT_BUS EvtDeviceDisableWakeAtBus
Definition: wdf115.h:2090
PFN_WDF_DEVICE_SET_LOCK EvtDeviceSetLock
Definition: wdf115.h:2078
PFN_WDF_DEVICE_ENABLE_WAKE_AT_BUS EvtDeviceEnableWakeAtBus
Definition: wdf115.h:2084
PFN_WDF_DEVICE_RESOURCE_REQUIREMENTS_QUERY EvtDeviceResourceRequirementsQuery
Definition: wdf115.h:2068
PFN_WDF_DEVICE_RESOURCES_QUERY EvtDeviceResourcesQuery
Definition: wdf115.h:2063
PFN_WDF_DEVICE_SELF_MANAGED_IO_RESTART EvtDeviceSelfManagedIoRestart
Definition: wdf115.h:801
PFN_WDF_DEVICE_RELEASE_HARDWARE EvtDeviceReleaseHardware
Definition: wdf115.h:791
PFN_WDF_DEVICE_D0_EXIT_PRE_INTERRUPTS_DISABLED EvtDeviceD0ExitPreInterruptsDisabled
Definition: wdf115.h:787
PFN_WDF_DEVICE_SELF_MANAGED_IO_CLEANUP EvtDeviceSelfManagedIoCleanup
Definition: wdf115.h:793
PFN_WDF_DEVICE_SELF_MANAGED_IO_FLUSH EvtDeviceSelfManagedIoFlush
Definition: wdf115.h:795
PFN_WDF_DEVICE_QUERY_REMOVE EvtDeviceQueryRemove
Definition: wdf115.h:805
PFN_WDF_DEVICE_D0_ENTRY EvtDeviceD0Entry
Definition: wdf115.h:781
PFN_WDF_DEVICE_SURPRISE_REMOVAL EvtDeviceSurpriseRemoval
Definition: wdf115.h:803
PFN_WDF_DEVICE_QUERY_STOP EvtDeviceQueryStop
Definition: wdf115.h:807
PFN_WDF_DEVICE_SELF_MANAGED_IO_INIT EvtDeviceSelfManagedIoInit
Definition: wdf115.h:797
PFN_WDF_DEVICE_D0_EXIT EvtDeviceD0Exit
Definition: wdf115.h:785
PFN_WDF_DEVICE_RELATIONS_QUERY EvtDeviceRelationsQuery
Definition: wdf115.h:811
PFN_WDF_DEVICE_SELF_MANAGED_IO_SUSPEND EvtDeviceSelfManagedIoSuspend
Definition: wdf115.h:799
PFN_WDF_DEVICE_D0_ENTRY_POST_INTERRUPTS_ENABLED EvtDeviceD0EntryPostInterruptsEnabled
Definition: wdf115.h:783
PFN_WDF_DEVICE_USAGE_NOTIFICATION EvtDeviceUsageNotification
Definition: wdf115.h:809
PFN_WDF_DEVICE_USAGE_NOTIFICATION_EX EvtDeviceUsageNotificationEx
Definition: wdf115.h:813
PFN_WDF_DEVICE_PREPARE_HARDWARE EvtDevicePrepareHardware
Definition: wdf115.h:789
PPO_FX_POWER_CONTROL_CALLBACK PowerControlCallback
Definition: wdf115.h:1190
PPO_FX_COMPONENT_IDLE_STATE_CALLBACK ComponentIdleStateCallback
Definition: wdf115.h:1183
PFN_WDFDEVICE_WDM_POST_PO_FX_REGISTER_DEVICE EvtDeviceWdmPostPoFxRegisterDevice
Definition: wdf115.h:1147
PPO_FX_COMPONENT_IDLE_CONDITION_CALLBACK ComponentIdleConditionCallback
Definition: wdf115.h:1176
PPO_FX_COMPONENT_ACTIVE_CONDITION_CALLBACK ComponentActiveConditionCallback
Definition: wdf115.h:1169
PFN_WDFDEVICE_WDM_PRE_PO_FX_UNREGISTER_DEVICE EvtDeviceWdmPrePoFxUnregisterDevice
Definition: wdf115.h:1154
PFN_WDF_DEVICE_ARM_WAKE_FROM_S0 EvtDeviceArmWakeFromS0
Definition: wdf115.h:823
PFN_WDF_DEVICE_DISARM_WAKE_FROM_S0 EvtDeviceDisarmWakeFromS0
Definition: wdf115.h:825
PFN_WDF_DEVICE_WAKE_FROM_SX_TRIGGERED EvtDeviceWakeFromSxTriggered
Definition: wdf115.h:833
PFN_WDF_DEVICE_DISARM_WAKE_FROM_SX EvtDeviceDisarmWakeFromSx
Definition: wdf115.h:831
PFN_WDF_DEVICE_WAKE_FROM_S0_TRIGGERED EvtDeviceWakeFromS0Triggered
Definition: wdf115.h:827
PFN_WDF_DEVICE_ARM_WAKE_FROM_SX EvtDeviceArmWakeFromSx
Definition: wdf115.h:829
PFN_WDF_DEVICE_ARM_WAKE_FROM_SX_WITH_REASON EvtDeviceArmWakeFromSxWithReason
Definition: wdf115.h:835
WDF_DEVICE_POWER_POLICY_STATE PowerPolicyState
Definition: wdf115.h:186
WDF_DEVICE_POWER_STATE PowerState
Definition: wdf115.h:181
PFN_WDF_DEVICE_PROCESS_QUERY_INTERFACE_REQUEST EvtDeviceProcessQueryInterfaceRequest
Definition: wdf115.h:2153
PWDF_USB_REQUEST_COMPLETION_PARAMS_V1_15 Completion
Definition: wdf115.h:2352
size_t POINTER_ALIGNMENT InputBufferLength
Definition: wdf115.h:2247
ULONG POINTER_ALIGNMENT EaLength
Definition: wdf115.h:2207
WDF_REQUEST_TYPE Type
Definition: wdf115.h:2186
ULONG POINTER_ALIGNMENT Key
Definition: wdf115.h:2218
PIO_SECURITY_CONTEXT SecurityContext
Definition: wdf115.h:2199
ULONG POINTER_ALIGNMENT IoControlCode
Definition: wdf115.h:2249
USHORT POINTER_ALIGNMENT FileAttributes
Definition: wdf115.h:2203
BOOLEAN AutomaticSerialization
Definition: wdf115.h:2458
PFN_WDF_TIMER EvtTimerFunc
Definition: wdf115.h:2447
DECLSPEC_ALIGN(8) BOOLEAN UseHighResolutionTimer
PWDFIRPQUEUE_TRIAGE_INFO_V1_15 WdfIrpQueueTriageInfo
Definition: wdf115.h:2624
PWDFDEVICE_TRIAGE_INFO_V1_15 WdfDeviceTriageInfo
Definition: wdf115.h:2628
PWDFOBJECT_TRIAGE_INFO_V1_15 WdfObjectTriageInfo
Definition: wdf115.h:2614
PWDFREQUEST_TRIAGE_INFO_V1_15 WdfRequestTriageInfo
Definition: wdf115.h:2626
PWDFFWDPROGRESS_TRIAGE_INFO_V1_15 WdfFwdProgressTriageInfo
Definition: wdf115.h:2622
ULONG TriageInfoMajorVersion
Definition: wdf115.h:2602
PWDFCONTEXTTYPE_TRIAGE_INFO_V1_15 WdfContextTypeTriageInfo
Definition: wdf115.h:2618
PWDFCONTEXT_TRIAGE_INFO_V1_15 WdfContextTriageInfo
Definition: wdf115.h:2616
ULONG TriageInfoMinorVersion
Definition: wdf115.h:2604
PWDFQUEUE_TRIAGE_INFO_V1_15 WdfQueueTriageInfo
Definition: wdf115.h:2620
PWDFIRP_TRIAGE_INFO_V1_15 WdfIrpTriageInfo
Definition: wdf115.h:2630
PWDF_OBJECT_ATTRIBUTES_V1_15 BufferAttributes
Definition: wdf115.h:2736
PFN_WDF_USB_READERS_FAILED EvtUsbTargetPipeReadersFailed
Definition: wdf115.h:2752
PFN_WDF_USB_READER_COMPLETION_ROUTINE EvtUsbTargetPipeReadComplete
Definition: wdf115.h:2741
USBD_VERSION_INFORMATION UsbdVersionInformation
Definition: wdf115.h:2765
WdfUsbTargetDeviceSelectConfigType Type
Definition: wdf115.h:2801
PUSB_INTERFACE_DESCRIPTOR * InterfaceDescriptors
Definition: wdf115.h:2813
PUSB_CONFIGURATION_DESCRIPTOR ConfigurationDescriptor
Definition: wdf115.h:2808
PWDF_USB_INTERFACE_SETTING_PAIR_V1_15 Pairs
Definition: wdf115.h:2856
WdfUsbTargetDeviceSelectSettingType Type
Definition: wdf115.h:2879
PUSB_INTERFACE_DESCRIPTOR InterfaceDescriptor
Definition: wdf115.h:2886
WDF_USB_PIPE_TYPE PipeType
Definition: wdf115.h:2939
WDF_USB_CONTROL_SETUP_PACKET SetupPacket
Definition: wdf115.h:2668
PFN_WDF_WMI_INSTANCE_SET_INSTANCE EvtWmiInstanceSetInstance
Definition: wdf115.h:3041
PFN_WDF_WMI_INSTANCE_QUERY_INSTANCE EvtWmiInstanceQueryInstance
Definition: wdf115.h:3036
PFN_WDF_WMI_INSTANCE_SET_ITEM EvtWmiInstanceSetItem
Definition: wdf115.h:3046
PWDF_WMI_PROVIDER_CONFIG_V1_15 ProviderConfig
Definition: wdf115.h:3018
PFN_WDF_WMI_INSTANCE_EXECUTE_METHOD EvtWmiInstanceExecuteMethod
Definition: wdf115.h:3051
PFN_WDF_WMI_PROVIDER_FUNCTION_CONTROL EvtWmiProviderFunctionControl
Definition: wdf115.h:2997
PFN_WDF_WORKITEM EvtWorkItemFunc
Definition: wdf115.h:3063
BOOLEAN AutomaticSerialization
Definition: wdf115.h:3072
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_IO_QUEUE_CONFIG_V1_15 WDF_IO_QUEUE_CONFIG_V1_15
struct _WDF_CHILD_RETRIEVE_INFO_V1_15 * PWDF_CHILD_RETRIEVE_INFO_V1_15
Definition: wdf115.h:19
struct _WDF_PDO_EVENT_CALLBACKS_V1_15 * PWDF_PDO_EVENT_CALLBACKS_V1_15
Definition: wdf115.h:105
const struct _WDF_CLASS_LIBRARY_INFO_V1_15 * PCWDF_CLASS_LIBRARY_INFO_V1_15
Definition: wdf115.h:36
struct _WDFFWDPROGRESS_TRIAGE_INFO_V1_15 * PWDFFWDPROGRESS_TRIAGE_INFO_V1_15
Definition: wdf115.h:129
const struct _WDFDEVICE_TRIAGE_INFO_V1_15 * PCWDFDEVICE_TRIAGE_INFO_V1_15
Definition: wdf115.h:136
const struct _WDF_REQUEST_FORWARD_OPTIONS_V1_15 * PCWDF_REQUEST_FORWARD_OPTIONS_V1_15
Definition: wdf115.h:118
struct _WDFMEMORY_OFFSET_V1_15 WDFMEMORY_OFFSET_V1_15
const struct _WDF_PDO_EVENT_CALLBACKS_V1_15 * PCWDF_PDO_EVENT_CALLBACKS_V1_15
Definition: wdf115.h:106
struct _WDF_FILEOBJECT_CONFIG_V1_15 WDF_FILEOBJECT_CONFIG_V1_15
struct _WDF_DEVICE_POWER_POLICY_WAKE_SETTINGS_V1_15 * PWDF_DEVICE_POWER_POLICY_WAKE_SETTINGS_V1_15
Definition: wdf115.h:51
struct _WDF_DEVICE_POWER_POLICY_NOTIFICATION_DATA_V1_15 WDF_DEVICE_POWER_POLICY_NOTIFICATION_DATA_V1_15
struct _WDF_IO_QUEUE_CONFIG_V1_15 * PWDF_IO_QUEUE_CONFIG_V1_15
Definition: wdf115.h:89
const struct _WDF_IO_QUEUE_CONFIG_V1_15 * PCWDF_IO_QUEUE_CONFIG_V1_15
Definition: wdf115.h:90
const struct _WDF_POWER_ROUTINE_TIMED_OUT_DATA_V1_15 * PCWDF_POWER_ROUTINE_TIMED_OUT_DATA_V1_15
Definition: wdf115.h:10
struct _WDFQUEUE_TRIAGE_INFO_V1_15 * PWDFQUEUE_TRIAGE_INFO_V1_15
Definition: wdf115.h:127
struct _WDF_PDO_EVENT_CALLBACKS_V1_15 WDF_PDO_EVENT_CALLBACKS_V1_15
const struct _WDF_REQUEST_REUSE_PARAMS_V1_15 * PCWDF_REQUEST_REUSE_PARAMS_V1_15
Definition: wdf115.h:114
struct _WDF_DRIVER_CONFIG_V1_15 WDF_DRIVER_CONFIG_V1_15
struct _WDF_INTERRUPT_INFO_V1_15 * PWDF_INTERRUPT_INFO_V1_15
Definition: wdf115.h:85
const struct _WDF_PNPPOWER_EVENT_CALLBACKS_V1_15 * PCWDF_PNPPOWER_EVENT_CALLBACKS_V1_15
Definition: wdf115.h:46
struct _WDF_WMI_PROVIDER_CONFIG_V1_15 * PWDF_WMI_PROVIDER_CONFIG_V1_15
Definition: wdf115.h:157
struct _WDFIRPQUEUE_TRIAGE_INFO_V1_15 WDFIRPQUEUE_TRIAGE_INFO_V1_15
struct _WDF_QUEUE_FATAL_ERROR_DATA_V1_15 WDF_QUEUE_FATAL_ERROR_DATA_V1_15
const struct _WDF_CHILD_RETRIEVE_INFO_V1_15 * PCWDF_CHILD_RETRIEVE_INFO_V1_15
Definition: wdf115.h:20
struct _WDF_IO_QUEUE_FORWARD_PROGRESS_POLICY_V1_15 WDF_IO_QUEUE_FORWARD_PROGRESS_POLICY_V1_15
struct _WDF_REQUEST_FATAL_ERROR_INFORMATION_LENGTH_MISMATCH_DATA_V1_15 WDF_REQUEST_FATAL_ERROR_INFORMATION_LENGTH_MISMATCH_DATA_V1_15
const struct _WDF_OBJECT_CONTEXT_TYPE_INFO_V1_15 * PCWDF_OBJECT_CONTEXT_TYPE_INFO_V1_15
Definition: wdf115.h:102
struct _WDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER_V1_15 WDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER_V1_15
struct _WDFIRP_TRIAGE_INFO_V1_15 WDFIRP_TRIAGE_INFO_V1_15
const struct _WDF_DRIVER_GLOBALS_V1_15 * PCWDF_DRIVER_GLOBALS_V1_15
Definition: wdf115.h:82
struct _WDF_CHILD_ADDRESS_DESCRIPTION_HEADER_V1_15 WDF_CHILD_ADDRESS_DESCRIPTION_HEADER_V1_15
const struct _WDF_INTERRUPT_CONFIG_V1_15 * PCWDF_INTERRUPT_CONFIG_V1_15
Definition: wdf115.h:84
struct _WDFOBJECT_TRIAGE_INFO_V1_15 WDFOBJECT_TRIAGE_INFO_V1_15
struct _WDF_CHILD_LIST_CONFIG_V1_15 * PWDF_CHILD_LIST_CONFIG_V1_15
Definition: wdf115.h:21
struct _WDF_DPC_CONFIG_V1_15 WDF_DPC_CONFIG_V1_15
const struct _WDF_CHILD_LIST_CONFIG_V1_15 * PCWDF_CHILD_LIST_CONFIG_V1_15
Definition: wdf115.h:22
const struct _WDF_DEVICE_INTERFACE_PROPERTY_DATA_V1_15 * PCWDF_DEVICE_INTERFACE_PROPERTY_DATA_V1_15
Definition: wdf115.h:66
struct _WDF_WMI_INSTANCE_CONFIG_V1_15 * PWDF_WMI_INSTANCE_CONFIG_V1_15
Definition: wdf115.h:159
struct _WDF_WMI_PROVIDER_CONFIG_V1_15 WDF_WMI_PROVIDER_CONFIG_V1_15
struct _WDF_DEVICE_PROPERTY_DATA_V1_15 WDF_DEVICE_PROPERTY_DATA_V1_15
const struct _WDF_CLASS_EXTENSION_DESCRIPTOR_V1_15 * PCWDF_CLASS_EXTENSION_DESCRIPTOR_V1_15
Definition: wdf115.h:30
const struct _WDF_USB_INTERFACE_SELECT_SETTING_PARAMS_V1_15 * PCWDF_USB_INTERFACE_SELECT_SETTING_PARAMS_V1_15
Definition: wdf115.h:152
struct _WDF_FDO_EVENT_CALLBACKS_V1_15 WDF_FDO_EVENT_CALLBACKS_V1_15
struct _WDF_DEVICE_POWER_POLICY_IDLE_SETTINGS_V1_15 * PWDF_DEVICE_POWER_POLICY_IDLE_SETTINGS_V1_15
Definition: wdf115.h:49
const struct _WDF_USB_INTERFACE_SETTING_PAIR_V1_15 * PCWDF_USB_INTERFACE_SETTING_PAIR_V1_15
Definition: wdf115.h:148
const struct _WDFCX_FILEOBJECT_CONFIG_V1_15 * PCWDFCX_FILEOBJECT_CONFIG_V1_15
Definition: wdf115.h:28
struct _WDF_USB_CONTINUOUS_READER_CONFIG_V1_15 WDF_USB_CONTINUOUS_READER_CONFIG_V1_15
struct _WDF_REQUEST_SEND_OPTIONS_V1_15 * PWDF_REQUEST_SEND_OPTIONS_V1_15
Definition: wdf115.h:115
const struct _WDF_DEVICE_POWER_POLICY_WAKE_SETTINGS_V1_15 * PCWDF_DEVICE_POWER_POLICY_WAKE_SETTINGS_V1_15
Definition: wdf115.h:52
const struct _WDF_POWER_FRAMEWORK_SETTINGS_V1_15 * PCWDF_POWER_FRAMEWORK_SETTINGS_V1_15
Definition: wdf115.h:62
struct _WDF_DPC_CONFIG_V1_15 * PWDF_DPC_CONFIG_V1_15
Definition: wdf115.h:73
struct _WDF_USB_INTERFACE_SETTING_PAIR_V1_15 WDF_USB_INTERFACE_SETTING_PAIR_V1_15
struct _WDF_USB_DEVICE_SELECT_CONFIG_PARAMS_V1_15 * PWDF_USB_DEVICE_SELECT_CONFIG_PARAMS_V1_15
Definition: wdf115.h:149
const struct _WDF_IO_TARGET_OPEN_PARAMS_V1_15 * PCWDF_IO_TARGET_OPEN_PARAMS_V1_15
Definition: wdf115.h:94
struct _WDF_TIMER_CONFIG_V1_15 * PWDF_TIMER_CONFIG_V1_15
Definition: wdf115.h:119
const struct _WDF_INTERRUPT_EXTENDED_POLICY_V1_15 * PCWDF_INTERRUPT_EXTENDED_POLICY_V1_15
Definition: wdf115.h:88
struct _WDF_CLASS_BIND_INFO_V1_15 * PWDF_CLASS_BIND_INFO_V1_15
Definition: wdf115.h:33
struct _WDF_DEVICE_POWER_NOTIFICATION_DATA_V1_15 * PWDF_DEVICE_POWER_NOTIFICATION_DATA_V1_15
Definition: wdf115.h:41
struct _WDFQUEUE_TRIAGE_INFO_V1_15 WDFQUEUE_TRIAGE_INFO_V1_15
struct _WDF_DEVICE_POWER_CAPABILITIES_V1_15 * PWDF_DEVICE_POWER_CAPABILITIES_V1_15
Definition: wdf115.h:57
const struct _WDF_REQUEST_COMPLETION_PARAMS_V1_15 * PCWDF_REQUEST_COMPLETION_PARAMS_V1_15
Definition: wdf115.h:112
const struct _WDF_REQUEST_PARAMETERS_V1_15 * PCWDF_REQUEST_PARAMETERS_V1_15
Definition: wdf115.h:110
struct _WDF_USB_PIPE_INFORMATION_V1_15 WDF_USB_PIPE_INFORMATION_V1_15
struct _WDF_IO_TYPE_CONFIG_V1_15 WDF_IO_TYPE_CONFIG_V1_15
struct _WDF_DRIVER_VERSION_AVAILABLE_PARAMS_V1_15 WDF_DRIVER_VERSION_AVAILABLE_PARAMS_V1_15
struct _WDF_CLASS_EXTENSION_DESCRIPTOR_V1_15 * PWDF_CLASS_EXTENSION_DESCRIPTOR_V1_15
Definition: wdf115.h:29
struct _WDF_PNPPOWER_EVENT_CALLBACKS_V1_15 * PWDF_PNPPOWER_EVENT_CALLBACKS_V1_15
Definition: wdf115.h:45
const struct _WDF_IO_TYPE_CONFIG_V1_15 * PCWDF_IO_TYPE_CONFIG_V1_15
Definition: wdf115.h:64
struct _WDF_DEVICE_STATE_V1_15 WDF_DEVICE_STATE_V1_15
const struct _WDF_FDO_EVENT_CALLBACKS_V1_15 * PCWDF_FDO_EVENT_CALLBACKS_V1_15
Definition: wdf115.h:80
struct _WDF_DMA_ENABLER_CONFIG_V1_15 * PWDF_DMA_ENABLER_CONFIG_V1_15
Definition: wdf115.h:69
const struct _WDF_COMMON_BUFFER_CONFIG_V1_15 * PCWDF_COMMON_BUFFER_CONFIG_V1_15
Definition: wdf115.h:26
const struct _WDF_USB_REQUEST_COMPLETION_PARAMS_V1_15 * PCWDF_USB_REQUEST_COMPLETION_PARAMS_V1_15
Definition: wdf115.h:142
const struct _WDF_DEVICE_POWER_CAPABILITIES_V1_15 * PCWDF_DEVICE_POWER_CAPABILITIES_V1_15
Definition: wdf115.h:58
struct _WDF_DEVICE_POWER_CAPABILITIES_V1_15 WDF_DEVICE_POWER_CAPABILITIES_V1_15
struct _WDFCONTEXTTYPE_TRIAGE_INFO_V1_15 * PWDFCONTEXTTYPE_TRIAGE_INFO_V1_15
Definition: wdf115.h:125
const struct _WDF_POWER_POLICY_EVENT_CALLBACKS_V1_15 * PCWDF_POWER_POLICY_EVENT_CALLBACKS_V1_15
Definition: wdf115.h:48
struct _WDF_DEVICE_POWER_POLICY_NOTIFICATION_DATA_V1_15 * PWDF_DEVICE_POWER_POLICY_NOTIFICATION_DATA_V1_15
Definition: wdf115.h:43
struct _WDF_DRIVER_CONFIG_V1_15 * PWDF_DRIVER_CONFIG_V1_15
Definition: wdf115.h:75
struct _WDF_REQUEST_COMPLETION_PARAMS_V1_15 * PWDF_REQUEST_COMPLETION_PARAMS_V1_15
Definition: wdf115.h:111
struct _WDF_DEVICE_PNP_NOTIFICATION_DATA_V1_15 WDF_DEVICE_PNP_NOTIFICATION_DATA_V1_15
struct _WDF_INTERRUPT_EXTENDED_POLICY_V1_15 * PWDF_INTERRUPT_EXTENDED_POLICY_V1_15
Definition: wdf115.h:87
struct _WDFCX_FILEOBJECT_CONFIG_V1_15 WDFCX_FILEOBJECT_CONFIG_V1_15
struct _WDF_USB_REQUEST_COMPLETION_PARAMS_V1_15 WDF_USB_REQUEST_COMPLETION_PARAMS_V1_15
const struct _WDF_FILEOBJECT_CONFIG_V1_15 * PCWDF_FILEOBJECT_CONFIG_V1_15
Definition: wdf115.h:38
struct _WDF_DEVICE_STATE_V1_15 * PWDF_DEVICE_STATE_V1_15
Definition: wdf115.h:53
struct _WDF_CLASS_VERSION_V1_15 WDF_CLASS_VERSION_V1_15
const struct _WDF_QUERY_INTERFACE_CONFIG_V1_15 * PCWDF_QUERY_INTERFACE_CONFIG_V1_15
Definition: wdf115.h:108
const struct _WDF_DEVICE_PNP_CAPABILITIES_V1_15 * PCWDF_DEVICE_PNP_CAPABILITIES_V1_15
Definition: wdf115.h:56
struct _WDF_USB_REQUEST_COMPLETION_PARAMS_V1_15 * PWDF_USB_REQUEST_COMPLETION_PARAMS_V1_15
Definition: wdf115.h:141
struct _WDFCONTEXTTYPE_TRIAGE_INFO_V1_15 WDFCONTEXTTYPE_TRIAGE_INFO_V1_15
struct _WDF_CUSTOM_TYPE_CONTEXT_V1_15 * PWDF_CUSTOM_TYPE_CONTEXT_V1_15
Definition: wdf115.h:103
struct _WDF_PNPPOWER_EVENT_CALLBACKS_V1_15 WDF_PNPPOWER_EVENT_CALLBACKS_V1_15
struct _WDF_WORKITEM_CONFIG_V1_15 WDF_WORKITEM_CONFIG_V1_15
const struct _WDF_WMI_INSTANCE_CONFIG_V1_15 * PCWDF_WMI_INSTANCE_CONFIG_V1_15
Definition: wdf115.h:160
struct _WDFOBJECT_TRIAGE_INFO_V1_15 * PWDFOBJECT_TRIAGE_INFO_V1_15
Definition: wdf115.h:121
const struct _WDF_CUSTOM_TYPE_CONTEXT_V1_15 * PCWDF_CUSTOM_TYPE_CONTEXT_V1_15
Definition: wdf115.h:104
struct _WDF_OBJECT_ATTRIBUTES_V1_15 WDF_OBJECT_ATTRIBUTES_V1_15
struct _WDF_USB_CONTINUOUS_READER_CONFIG_V1_15 * PWDF_USB_CONTINUOUS_READER_CONFIG_V1_15
Definition: wdf115.h:143
const struct _WDF_CLASS_VERSION_V1_15 * PCWDF_CLASS_VERSION_V1_15
Definition: wdf115.h:32
const struct _WDF_DRIVER_CONFIG_V1_15 * PCWDF_DRIVER_CONFIG_V1_15
Definition: wdf115.h:76
struct _WDF_DRIVER_VERSION_AVAILABLE_PARAMS_V1_15 * PWDF_DRIVER_VERSION_AVAILABLE_PARAMS_V1_15
Definition: wdf115.h:77
struct _WDF_CLASS_BIND_INFO_V1_15 WDF_CLASS_BIND_INFO_V1_15
const struct _WDF_DEVICE_PROPERTY_DATA_V1_15 * PCWDF_DEVICE_PROPERTY_DATA_V1_15
Definition: wdf115.h:68
struct _WDF_IO_TARGET_OPEN_PARAMS_V1_15 * PWDF_IO_TARGET_OPEN_PARAMS_V1_15
Definition: wdf115.h:93
struct _WDF_REQUEST_REUSE_PARAMS_V1_15 * PWDF_REQUEST_REUSE_PARAMS_V1_15
Definition: wdf115.h:113
struct _WDF_POWER_FRAMEWORK_SETTINGS_V1_15 * PWDF_POWER_FRAMEWORK_SETTINGS_V1_15
Definition: wdf115.h:61
struct _WDF_QUEUE_FATAL_ERROR_DATA_V1_15 * PWDF_QUEUE_FATAL_ERROR_DATA_V1_15
Definition: wdf115.h:13
struct _WDF_DRIVER_GLOBALS_V1_15 * PWDF_DRIVER_GLOBALS_V1_15
Definition: wdf115.h:81
struct _WDF_IO_TYPE_CONFIG_V1_15 * PWDF_IO_TYPE_CONFIG_V1_15
Definition: wdf115.h:63
const struct _WDF_DMA_ENABLER_CONFIG_V1_15 * PCWDF_DMA_ENABLER_CONFIG_V1_15
Definition: wdf115.h:70
const struct _WDF_REQUEST_FATAL_ERROR_INFORMATION_LENGTH_MISMATCH_DATA_V1_15 * PCWDF_REQUEST_FATAL_ERROR_INFORMATION_LENGTH_MISMATCH_DATA_V1_15
Definition: wdf115.h:12
const struct _WDF_CLASS_BIND_INFO_V1_15 * PCWDF_CLASS_BIND_INFO_V1_15
Definition: wdf115.h:34
struct _WDF_DEVICE_PNP_CAPABILITIES_V1_15 WDF_DEVICE_PNP_CAPABILITIES_V1_15
struct _WDF_OBJECT_CONTEXT_TYPE_INFO_V1_15 * PWDF_OBJECT_CONTEXT_TYPE_INFO_V1_15
Definition: wdf115.h:101
struct _WDF_DEVICE_POWER_POLICY_WAKE_SETTINGS_V1_15 WDF_DEVICE_POWER_POLICY_WAKE_SETTINGS_V1_15
struct _WDF_USB_DEVICE_CREATE_CONFIG_V1_15 WDF_USB_DEVICE_CREATE_CONFIG_V1_15
struct _WDF_DEVICE_INTERFACE_PROPERTY_DATA_V1_15 * PWDF_DEVICE_INTERFACE_PROPERTY_DATA_V1_15
Definition: wdf115.h:65
struct _WDF_REQUEST_PARAMETERS_V1_15 WDF_REQUEST_PARAMETERS_V1_15
struct _WDF_CHILD_ADDRESS_DESCRIPTION_HEADER_V1_15 * PWDF_CHILD_ADDRESS_DESCRIPTION_HEADER_V1_15
Definition: wdf115.h:17
const struct _WDF_QUEUE_FATAL_ERROR_DATA_V1_15 * PCWDF_QUEUE_FATAL_ERROR_DATA_V1_15
Definition: wdf115.h:14
struct _WDF_CLASS_LIBRARY_INFO_V1_15 * PWDF_CLASS_LIBRARY_INFO_V1_15
Definition: wdf115.h:35
struct _WDF_QUERY_INTERFACE_CONFIG_V1_15 WDF_QUERY_INTERFACE_CONFIG_V1_15
struct _WDF_CLASS_VERSION_V1_15 * PWDF_CLASS_VERSION_V1_15
Definition: wdf115.h:31
const struct _WDF_OBJECT_ATTRIBUTES_V1_15 * PCWDF_OBJECT_ATTRIBUTES_V1_15
Definition: wdf115.h:100
struct _WDFIRPQUEUE_TRIAGE_INFO_V1_15 * PWDFIRPQUEUE_TRIAGE_INFO_V1_15
Definition: wdf115.h:131
struct _WDF_POWER_FRAMEWORK_SETTINGS_V1_15 WDF_POWER_FRAMEWORK_SETTINGS_V1_15
struct _WDF_CLASS_LIBRARY_INFO_V1_15 WDF_CLASS_LIBRARY_INFO_V1_15
struct _WDF_REQUEST_SEND_OPTIONS_V1_15 WDF_REQUEST_SEND_OPTIONS_V1_15
struct _WDF_REMOVE_LOCK_OPTIONS_V1_15 * PWDF_REMOVE_LOCK_OPTIONS_V1_15
Definition: wdf115.h:59
enum _WDFFUNCENUM_V1_15 WDFFUNCENUM_V1_15
struct _WDF_USB_DEVICE_INFORMATION_V1_15 * PWDF_USB_DEVICE_INFORMATION_V1_15
Definition: wdf115.h:145
const struct _WDF_REMOVE_LOCK_OPTIONS_V1_15 * PCWDF_REMOVE_LOCK_OPTIONS_V1_15
Definition: wdf115.h:60
struct _WDF_USB_DEVICE_CREATE_CONFIG_V1_15 * PWDF_USB_DEVICE_CREATE_CONFIG_V1_15
Definition: wdf115.h:155
struct _WDF_USB_PIPE_INFORMATION_V1_15 * PWDF_USB_PIPE_INFORMATION_V1_15
Definition: wdf115.h:153
const struct _WDFCONTEXT_TRIAGE_INFO_V1_15 * PCWDFCONTEXT_TRIAGE_INFO_V1_15
Definition: wdf115.h:124
struct _WDFREQUEST_TRIAGE_INFO_V1_15 WDFREQUEST_TRIAGE_INFO_V1_15
struct _WDF_IO_QUEUE_FORWARD_PROGRESS_POLICY_V1_15 * PWDF_IO_QUEUE_FORWARD_PROGRESS_POLICY_V1_15
Definition: wdf115.h:91
struct _WDF_QUERY_INTERFACE_CONFIG_V1_15 * PWDF_QUERY_INTERFACE_CONFIG_V1_15
Definition: wdf115.h:107
struct _WDF_DEVICE_PROPERTY_DATA_V1_15 * PWDF_DEVICE_PROPERTY_DATA_V1_15
Definition: wdf115.h:67
struct _WDFCONTEXT_TRIAGE_INFO_V1_15 WDFCONTEXT_TRIAGE_INFO_V1_15
const struct _WDFQUEUE_TRIAGE_INFO_V1_15 * PCWDFQUEUE_TRIAGE_INFO_V1_15
Definition: wdf115.h:128
const struct _WDFREQUEST_TRIAGE_INFO_V1_15 * PCWDFREQUEST_TRIAGE_INFO_V1_15
Definition: wdf115.h:134
const struct _WDFIRP_TRIAGE_INFO_V1_15 * PCWDFIRP_TRIAGE_INFO_V1_15
Definition: wdf115.h:138
struct _WDF_MEMORY_DESCRIPTOR_V1_15 WDF_MEMORY_DESCRIPTOR_V1_15
const struct _WDF_DPC_CONFIG_V1_15 * PCWDF_DPC_CONFIG_V1_15
Definition: wdf115.h:74
struct _WDF_REQUEST_PARAMETERS_V1_15 * PWDF_REQUEST_PARAMETERS_V1_15
Definition: wdf115.h:109
const struct _WDFFWDPROGRESS_TRIAGE_INFO_V1_15 * PCWDFFWDPROGRESS_TRIAGE_INFO_V1_15
Definition: wdf115.h:130
const struct _WDF_INTERRUPT_INFO_V1_15 * PCWDF_INTERRUPT_INFO_V1_15
Definition: wdf115.h:86
struct _WDF_DMA_ENABLER_CONFIG_V1_15 WDF_DMA_ENABLER_CONFIG_V1_15
struct _WDF_OBJECT_ATTRIBUTES_V1_15 * PWDF_OBJECT_ATTRIBUTES_V1_15
Definition: wdf115.h:99
const struct _WDF_CHILD_ADDRESS_DESCRIPTION_HEADER_V1_15 * PCWDF_CHILD_ADDRESS_DESCRIPTION_HEADER_V1_15
Definition: wdf115.h:18
struct _WDFIRP_TRIAGE_INFO_V1_15 * PWDFIRP_TRIAGE_INFO_V1_15
Definition: wdf115.h:137
_WDFFUNCENUM_V1_15
Definition: wdf115.h:5
@ WdfFunctionTableNumEntries_V1_15
Definition: wdf115.h:6
struct _WDF_DMA_SYSTEM_PROFILE_CONFIG_V1_15 WDF_DMA_SYSTEM_PROFILE_CONFIG_V1_15
const struct _WDF_DMA_SYSTEM_PROFILE_CONFIG_V1_15 * PCWDF_DMA_SYSTEM_PROFILE_CONFIG_V1_15
Definition: wdf115.h:72
const struct _WDF_DEVICE_POWER_POLICY_NOTIFICATION_DATA_V1_15 * PCWDF_DEVICE_POWER_POLICY_NOTIFICATION_DATA_V1_15
Definition: wdf115.h:44
struct _WDF_DEVICE_POWER_POLICY_IDLE_SETTINGS_V1_15 WDF_DEVICE_POWER_POLICY_IDLE_SETTINGS_V1_15
const struct _WDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER_V1_15 * PCWDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER_V1_15
Definition: wdf115.h:16
const struct _WDF_DEVICE_PNP_NOTIFICATION_DATA_V1_15 * PCWDF_DEVICE_PNP_NOTIFICATION_DATA_V1_15
Definition: wdf115.h:40
struct _WDF_REQUEST_COMPLETION_PARAMS_V1_15 WDF_REQUEST_COMPLETION_PARAMS_V1_15
struct _WDF_POWER_POLICY_EVENT_CALLBACKS_V1_15 WDF_POWER_POLICY_