ReactOS 0.4.15-dev-7931-gfd331f1
wdf20.h
Go to the documentation of this file.
1//
2// Copyright (c) Microsoft. All rights reserved.
3//
4#ifndef _WDF_V2_0_TYPES_H_
5#define _WDF_V2_0_TYPES_H_
6
7
8typedef enum _WDFFUNCENUM_V2_0 {
11
28typedef struct _WDF_COMMON_BUFFER_CONFIG_V2_0 *PWDF_COMMON_BUFFER_CONFIG_V2_0;
29typedef const struct _WDF_COMMON_BUFFER_CONFIG_V2_0 *PCWDF_COMMON_BUFFER_CONFIG_V2_0;
32typedef struct _WDF_CLASS_EXTENSION_DESCRIPTOR_V2_0 *PWDF_CLASS_EXTENSION_DESCRIPTOR_V2_0;
33typedef const struct _WDF_CLASS_EXTENSION_DESCRIPTOR_V2_0 *PCWDF_CLASS_EXTENSION_DESCRIPTOR_V2_0;
72typedef struct _WDF_DMA_ENABLER_CONFIG_V2_0 *PWDF_DMA_ENABLER_CONFIG_V2_0;
73typedef const struct _WDF_DMA_ENABLER_CONFIG_V2_0 *PCWDF_DMA_ENABLER_CONFIG_V2_0;
74typedef struct _WDF_DMA_SYSTEM_PROFILE_CONFIG_V2_0 *PWDF_DMA_SYSTEM_PROFILE_CONFIG_V2_0;
75typedef const struct _WDF_DMA_SYSTEM_PROFILE_CONFIG_V2_0 *PCWDF_DMA_SYSTEM_PROFILE_CONFIG_V2_0;
76typedef struct _WDF_DPC_CONFIG_V2_0 *PWDF_DPC_CONFIG_V2_0;
77typedef const struct _WDF_DPC_CONFIG_V2_0 *PCWDF_DPC_CONFIG_V2_0;
166
167//
168// Versioning of structures for wdf.h
169//
170// End of versioning of structures for wdf.h
171
172//
173// Versioning of structures for wdfassert.h
174//
175// End of versioning of structures for wdfassert.h
176
177//
178// Versioning of structures for wdfbugcodes.h
179//
181 //
182 // Current power state associated with the timed out device
183 //
185
186 //
187 // Current power policy state associated with the timed out device
188 //
190
191 //
192 // The device object for the timed out device
193 //
195
196 //
197 // The handle for the timed out device
198 //
199 WDFDEVICE Device;
200
201 //
202 // The thread which is stuck
203 //
205
207
209 WDFREQUEST Request;
210
212
214
216
218
220
222 WDFQUEUE Queue;
223
224 WDFREQUEST Request;
225
227
229
230// End of versioning of structures for wdfbugcodes.h
231
232//
233// Versioning of structures for wdfchildlist.h
234//
236 //
237 // Size in bytes of the entire description, including this header.
238 //
239 // Same value as WDF_CHILD_LIST_CONFIG::IdentificationDescriptionSize
240 // Used as a sanity check.
241 //
243
245
247 //
248 // Size in bytes of the entire description, including this header.
249 //
250 // Same value as WDF_CHILD_LIST_CONFIG::AddressDescriptionSize
251 // Used as a sanity check.
252 //
254
256
258 //
259 // Size of the structure in bytes
260 //
262
263 //
264 // Must be a valid pointer when passed in, copied into upon success
265 //
267
268 //
269 // Optional pointer when passed in, copied into upon success
270 //
272
273 //
274 // Status of the returned device
275 //
277
278 //
279 // If provided, will be used for searching through the list of devices
280 // instead of the default list ID compare function
281 //
283
285
287 //
288 // Size of this structure in bytes
289 //
291
292 //
293 // The size in bytes of an identificaiton description to be used with the
294 // created WDFCHILDLIST handle
295 //
297
298 //
299 // Optional size in bytes of an address description to be used with the
300 // created WDFCHILDLIST handle.
301 //
303
304 //
305 // Required callback to be invoked when a description on the device list
306 // needs to be converted into a real WDFDEVICE handle.
307 //
309
310 //
311 // Optional callback to be invoked when the device list needs to be
312 // rescanned. This function will be called after the device has entered D0
313 // and been fully initialized but before I/O has started.
314 //
316
317 //
318 // Optional callback to be invoked when an identification description needs
319 // to be copied from one location to another.
320 //
321 // If left NULL, RtlCopyMemory will be used to copy the description.
322 //
324
325 //
326 // Optional callback to be invoked when an identification description needs
327 // to be duplicated. As opposed to EvtChildListIdentificationDescriptionCopy,
328 // EvtChildListIdentificationDescriptionDuplicate can fail.
329 //
331
332 //
333 // Optional callback to be invoked when an identification description needs
334 // to be cleaned up. This function should *NOT* free the description passed
335 // to it, just free any associated resources.
336 //
338
339 //
340 // Optional callback to be invoked when an identification description needs
341 // to be compared with another identificaiton description.
342 //
343 // If left NULL, RtlCompareMemory will be used to compare the two
344 // descriptions.
345 //
347
348 //
349 // Optional callback to be invoked when an address description needs
350 // to be copied from one location to another.
351 //
352 // If left NULL, RtlCopyMemory will be used to copy the description.
353 //
355
356 //
357 // Optional callback to be invoked when an address description needs to be
358 // duplicated. As opposed to EvtChildListAddressDescriptionCopy,
359 // EvtChildListAddressDescriptionDuplicate can fail.
360 //
362
363 //
364 // Optional callback to be invoked when an address description needs to be
365 // cleaned up. This function should *NOT* free the description passed to
366 // it, just free any associated resources.
367 //
369
370 //
371 // If provided, will be called when the child's stack requests that the
372 // child be reenumerated. Returning TRUE allows for the reenumeration to
373 // proceed. FALSE will no reenumerate the stack.
374 //
376
378
380 //
381 // Size of this structure in bytes
382 //
384
385 //
386 // What type of devices to return, see WDF_RETRIEVE_CHILD_FLAGS for
387 // flag values
388 //
389 //
391
392 //
393 // For internal use, treat this field as opaque
394 //
396
398
399// End of versioning of structures for wdfchildlist.h
400
401//
402// Versioning of structures for wdfcollection.h
403//
404// End of versioning of structures for wdfcollection.h
405
406//
407// Versioning of structures for wdfCommonBuffer.h
408//
409// End of versioning of structures for wdfCommonBuffer.h
410
411//
412// Versioning of structures for wdfcontrol.h
413//
414// End of versioning of structures for wdfcontrol.h
415
416//
417// Versioning of structures for wdfcore.h
418//
419// End of versioning of structures for wdfcore.h
420
421//
422// Versioning of structures for wdfcx.h
423//
425 //
426 // Size of this structure in bytes
427 //
429
430 //
431 // Event callback for create requests
432 //
434
435 //
436 // Event callback for close requests
437 //
439
440 //
441 // Event callback for cleanup requests
442 //
444
445 //
446 // If WdfTrue, create/cleanup/close file object related requests will be
447 // sent down the stack.
448 //
449 // If WdfFalse, create/cleanup/close will be completed at this location in
450 // the device stack.
451 //
452 // If WdfDefault, behavior depends on device type
453 // FDO, PDO, Control: use the WdfFalse behavior
454 // Filter: use the WdfTrue behavior
455 //
457
458 //
459 // Specify whether framework should create WDFFILEOBJECT and also
460 // whether it can FsContexts fields in the WDM fileobject to store
461 // WDFFILEOBJECT so that it can avoid table look up and improve perf.
462 //
464
466
467// End of versioning of structures for wdfcx.h
468
469//
470// Versioning of structures for wdfcxbase.h
471//
474
476
478
480
482 //
483 // Size of the structure in bytes
484 //
486
487 //
488 // Name of the class to bind to
489 //
491
492 //
493 // Version information for the class
494 //
496
497 //
498 // Function export table from the class driver to resolve on bind
499 //
501
502 //
503 // Number of entries in FunctionTable
504 //
506
507 //
508 // Optional field where the client specify additional information
509 // for the class driver to resolve
510 //
512
513 //
514 // Optional bind callback. If set, WdfVersionBindClass will not
515 // be called and it will be up to ClientClassBind to call this function
516 // if required.
517 //
519
520 //
521 // Optional unbind callback. If set, WdfVersionUnbindClass will not be
522 // called and it will be up to ClientClassUnbind to call this function
523 // if required.
524 //
526
527 //
528 // Diagnostic cookie to use during debugging
529 //
531
533
535 //
536 // Size of this structure in bytes
537 //
539
540 //
541 // Version of this class library
542 //
544
545 //
546 // Callback to be called by the loader to initialize the class library
547 //
549
550 //
551 // Callback to be called by the loader to deinitialize the class library
552 // after succesful initialization (immediately before the class library will
553 // be unloaded).
554 //
556
557 //
558 // Callback to be called by the loader when a client driver has request to
559 // be bound to this class library.
560 //
562
563 //
564 // Callback to be called by the loader when a previously bound client driver
565 // is being unloaded.
566 //
568
570
571// End of versioning of structures for wdfcxbase.h
572
573//
574// Versioning of structures for wdfDevice.h
575//
577 //
578 // Size of this structure in bytes
579 //
581
582 //
583 // Event callback for create requests
584 //
586
587 //
588 // Event callback for close requests
589 //
591
592 //
593 // Event callback for cleanup requests
594 //
596
597 //
598 // If WdfTrue, create/cleanup/close file object related requests will be
599 // sent down the stack.
600 //
601 // If WdfFalse, create/cleanup/close will be completed at this location in
602 // the device stack.
603 //
604 // If WdfDefault, behavior depends on device type
605 // FDO, PDO, Control: use the WdfFalse behavior
606 // Filter: use the WdfTrue behavior
607 //
609
610 //
611 // Specify whether framework should create WDFFILEOBJECT and also
612 // whether it can FsContexts fields in the WDM fileobject to store
613 // WDFFILEOBJECT so that it can avoid table look up and improve perf.
614 //
616
618
620 //
621 // Type of data
622 //
624
625 union {
626 struct {
627 //
628 // The current state that is about to be exited
629 //
631
632 //
633 // The new state that is about to be entered
634 //
636
638
639 struct {
640 //
641 // The current state
642 //
644
646
647 struct {
648 //
649 // The current state that is about to be exitted
650 //
652
653 //
654 // The state that is about to be entered
655 //
657
659
661
663
665 //
666 // Type of data
667 //
669
670 union {
671 struct {
672 //
673 // The current state that is about to be exitted
674 //
676
677 //
678 // The new state that is about to be entered
679 //
681
683
684 struct {
685 //
686 // The current state
687 //
689
691
692 struct {
693 //
694 // The current state that is about to be exitted
695 //
697
698 //
699 // The state that is about to be entered
700 //
702
704
706
708
710 //
711 // Type of data
712 //
714
715 union {
716 struct {
717 //
718 // The current state that is about to be exitted
719 //
721
722 //
723 // The new state that is about to be entered
724 //
726
728
729 struct {
730 //
731 // The current state
732 //
734
736
737 struct {
738 //
739 // The current state that is about to be exitted
740 //
742
743 //
744 // The state that is about to be entered
745 //
747
749
751
753
755 //
756 // Size of this structure in bytes
757 //
759
761
763
765
767
769
771
773
775
777
779
781
783
785
787
789
791
793
795
797 //
798 // Size of this structure in bytes
799 //
801
803
805
807
809
811
813
815
817
819 //
820 // Size of this structure in bytes
821 //
823
824 //
825 // Indicates whether the device can wake itself up while the machine is in
826 // S0.
827 //
829
830 //
831 // The low power state in which the device will be placed when it is idled
832 // out while the machine is in S0.
833 //
835
836 //
837 // Amount of time the device must be idle before idling out. Timeout is in
838 // milliseconds.
839 //
841
842 //
843 // Inidcates whether a user can control the idle policy of the device.
844 // By default, a user is allowed to change the policy.
845 //
847
848 //
849 // If WdfTrue, idling out while the machine is in S0 will be enabled.
850 //
851 // If WdfFalse, idling out will be disabled.
852 //
853 // If WdfUseDefault, the idling out will be enabled. If
854 // UserControlOfIdleSettings is set to IdleAllowUserControl, the user's
855 // settings will override the default.
856 //
858
859 //
860 // This field is applicable only when IdleCaps == IdleCannotWakeFromS0
861 // If WdfTrue,device is powered up on System Wake even if device is idle
862 // If WdfFalse, device is not powered up on system wake if it is idle
863 // If WdfUseDefault, the behavior is same as WdfFalse
864 //
866
867 //
868 // This field determines how the IdleTimeout field is used.
869 //
870 // If the value is DriverManagedIdleTimeout, then the idle timeout value
871 // is determined by the IdleTimeout field of this structure.
872 //
873 // If the value is SystemManagedIdleTimeout, then the timeout value is
874 // determined by the power framework (PoFx) on operating systems where
875 // the PoFx is available (i.e. Windows 8 and later). The IdleTimeout field
876 // is ignored on these operating systems. On operating systems where the
877 // PoFx is not available, the behavior is same as DriverManagedIdleTimeout.
878 //
879 // If the value is SystemManagedIdleTimeoutWithHint, then the timeout value
880 // is determined by the power framework (PoFx) on operating systems where
881 // the PoFx is available (i.e. Windows 8 and later). In addition, the value
882 // specified in the IdleTimeout field is provided as a hint to the PoFx in
883 // determining when the device should be allowed to enter a low-power state.
884 // Since it is only a hint, the actual duration after which the PoFx allows
885 // the device to enter a low-power state might be greater than or less than
886 // the IdleTimeout value. On operating systems where the PoFx is not
887 // available, the behavior is same as DriverManagedIdleTimeout.
888 //
890
891 //
892 // This field forces the device to avoid idling in the D3cold power state.
893 // WDF will ensure, with help from the bus drivers, that the device will
894 // idle in a D-state that can successfully generate a wake signal, if
895 // necessary. If the client specifies that DxState == PowerDeviceD3, this
896 // setting allows the client to distinguish betwen D3hot and D3cold. If
897 // the client sets DxState == PowerDeviceMaximum, then WDF will pick the
898 // deepest idle state identified by the bus driver. If that deepest state
899 // is D3cold, this field allows the client to override that and choose
900 // D3hot.
901 //
902 // If WdfTrue, device will not use D3cold in S0.
903 // If WdfFalse, device will use D3cold in S0 if the ACPI firmware indicates
904 // that the device can enter that state, if DxState above does not
905 // specify some other D-state and, if the device is armed for
906 // wake, that it can generate its wake signal from D3cold.
907 // If WdfUseDefault, this setting will be derived from the driver's INF,
908 // specifically the presence or absence of the following two lines in
909 // the DDInstall.HW section:
910 // Include=machine.inf
911 // Needs=PciD3ColdSupported
912 //
914
916
918 //
919 // Size of this structure in bytes
920 //
922
923 //
924 // The low power state in which the device will be placed when it is armed
925 // for wake from Sx.
926 //
928
929 //
930 // Inidcates whether a user can control the idle policy of the device.
931 // By default, a user is allowed to change the policy.
932 //
934
935 //
936 // If WdfTrue, arming the device for wake while the machine is in Sx is
937 // enabled.
938 //
939 // If WdfFalse, arming the device for wake while the machine is in Sx is
940 // disabled.
941 //
942 // If WdfUseDefault, arming will be enabled. If UserControlOfWakeSettings
943 // is set to WakeAllowUserControl, the user's settings will override the
944 // default.
945 //
947
948 //
949 // If set to TRUE, arming the parent device can depend on whether there
950 // is atleast one child device armed for wake.
951 //
952 // If set to FALSE, arming of the parent device will be independent of
953 // whether any of the child devices are armed for wake.
954 //
956
957 //
958 // Indicates that whenever the parent device completes the wake irp
959 // successfully, the status needs to be also propagated to the child
960 // devices. This helps in tracking which devices were responsible for
961 // waking the system.
962 //
964
966
968 //
969 // Size of this structure in bytes
970 //
972
973 //
974 // If set to WdfTrue, the device will be disabled
975 //
977
978 //
979 // If set to WdfTrue, the device will not be displayed in device manager.
980 // Once hidden, the device cannot be unhidden.
981 //
983
984 //
985 // If set to WdfTrue, the device is reporting itself as failed. If set
986 // in conjuction with ResourcesChanged to WdfTrue, the device will receive
987 // a PnP stop and then a new PnP start device.
988 //
990
991 //
992 // If set to WdfTrue, the device cannot be subsequently disabled.
993 //
995
996
997
998
999 //
1000 //
1001 // If set to WdfTrue, the device stack will be torn down.
1002 //
1004
1005 //
1006 // If set to WdfTrue, the device will be sent another PnP start. If the
1007 // Failed field is set to WdfTrue as well, a PnP stop will be sent before
1008 // the start.
1009 //
1011
1013
1015 //
1016 // Size of the structure in bytes
1017 //
1019
1020 //
1021 // NOTE: To mark a PDO as raw, call WdfPdoInitAssignRawDevice
1022 //
1023 //
1025
1027
1029
1031
1033
1035
1037
1039
1041
1042 //
1043 // Default values of -1 indicate not to set this value
1044 //
1046
1048
1050
1052 //
1053 // Size of the structure in bytes
1054 //
1056
1058
1060
1062
1064
1066
1068
1069 //
1070 // Default value PowerDeviceMaximum indicates not to set this value
1071 //
1073
1074 //
1075 // Default value PowerDeviceMaximum, PowerSystemMaximum indicates not to
1076 // set this value.
1077 //
1079
1081
1082 //
1083 // Default values of -1 indicate not to set this value
1084 //
1086
1088
1090
1091 //
1092 // Ideal Dx state for the device to be put into when the machine moves into
1093 // Sx and the device is not armed for wake. By default, the default will be
1094 // placed into D3. If IdealDxStateForSx is lighter then
1095 // DeviceState[Sx], then DeviceState[Sx] will be used as the Dx state.
1096 //
1098
1100
1102 //
1103 // Size of the structure in bytes
1104 //
1106
1107 //
1108 // Bit field combination of values from the WDF_REMOVE_LOCK_OPTIONS_FLAGS
1109 // enumeration
1110 //
1112
1114
1116 //
1117 // Size of the structure, in bytes.
1118 //
1120
1121 //
1122 // Client driver's callback function that is invoked after KMDF has
1123 // registered with the power framework. This field can be NULL if the
1124 // client driver does not wish to specify this callback.
1125 //
1127
1128 //
1129 // Client driver's callback function that is invoked before KMDF
1130 // unregisters with the power framework. This field can be NULL if the
1131 // client driver does not wish to specify this callback.
1132 //
1134
1135 //
1136 // Pointer to a PO_FX_COMPONENT structure that describes the only component
1137 // in the single-component device. This field can be NULL if the client
1138 // driver wants KMDF to use the default specification for this component
1139 // (i.e. support for F0 only).
1140 //
1142
1143 //
1144 // Client driver's PO_FX_COMPONENT_ACTIVE_CONDITION_CALLBACK callback
1145 // function. This field can be NULL if the client driver does not wish to
1146 // specify this callback.
1147 //
1149
1150 //
1151 // Client driver's PO_FX_COMPONENT_IDLE_CONDITION_CALLBACK callback
1152 // function. This field can be NULL if the client driver does not wish to
1153 // specify this callback.
1154 //
1156
1157 //
1158 // Client driver's PO_FX_COMPONENT_IDLE_STATE_CALLBACK callback function.
1159 // This field can be NULL if the client driver does not wish to specify
1160 // this callback.
1161 //
1163
1164 //
1165 // Client driver's PO_FX_POWER_CONTROL_CALLBACK callback function. This
1166 // field can be NULL if the client driver does not wish to specify this
1167 // callback.
1168 //
1170
1171 //
1172 // Context value that is passed in to the ComponentIdleStateCallback and
1173 // PowerControlCallback callback functions.
1174 //
1176
1178
1180 //
1181 // Size of this structure in bytes
1182 //
1184
1185 //
1186 // <KMDF_DOC/>
1187 // Identifies the method that the driver will use to access data buffers
1188 // that it receives for read and write requests.
1189 //
1190 // <UMDF_DOC/>
1191 // Identifies the method that the driver will "prefer" to use to access data
1192 // buffers that it receives for read and write requests. Note that UMDF
1193 // driver provides just a preference, and not a guarantee.Therefore,
1194 // even if a driver specified direct access method, UMDF might use the
1195 // buffered access method for one or more of the device's requests to
1196 // improve performance. For example, UMDF uses buffered access for small
1197 // buffers, if it can copy the data to the driver's buffer faster than it
1198 // can map the buffers for direct access.
1199 //
1201
1202 //
1203 // <UMDF_ONLY/>
1204 // Identifies the method that the driver will "prefer" to use to access data
1205 // buffers that it receives for IOCTL requests. Note that UMDF
1206 // driver provides just a preference, and not a guarantee. Therefore,
1207 // even if a driver specified direct access method, UMDF might use the
1208 // buffered access method for one or more of the device's requests to
1209 // improve performance. For example, UMDF uses buffered access for small
1210 // buffers, if it can copy the data to the driver's buffer faster than it
1211 // can map the buffers for direct access.
1212 //
1214
1215 //
1216 // <UMDF_ONLY/>
1217 // Optional, Provides the smallest buffer size (in bytes) for which
1218 // UMDF will use direct access for the buffers. For example, set
1219 // DirectTransferThreshold to "12288" to indicate that UMDF should use buffered
1220 // access for all buffers that are smaller than 12 kilobytes, and direct
1221 // access for buffers equal to or greater than that. Typically, you
1222 // do not need to provide this value because UMDF uses a value that provides
1223 // the best performance. Note that there are other requirements that must be
1224 // met in order to get direct access of buffers. See Docs for details.
1225 //
1227
1229
1232
1233 //
1234 // A pointer to a GUID that identifies the device interface class.
1235 //
1237
1238 //
1239 // A pointer to a UNICODE_STRING structure that describes a reference
1240 // string for the device interface. This parameter is optional and can
1241 // be NULL.
1243
1244 //
1245 // A pointer to a DEVPROPKEY structure that specifies the device
1246 // property key.
1247 //
1249
1250 //
1251 // A locale identifier. Set this parameter either to a language-specific
1252 // LCID value or to LOCALE_NEUTRAL. The LOCALE_NEUTRAL LCID specifies
1253 // that the property is language-neutral (that is, not specific to any
1254 // language). Do not set this parameter to LOCALE_SYSTEM_DEFAULT or
1255 // LOCALE_USER_DEFAULT. For more information about language-specific
1256 // LCID values, see LCID Structure.
1257 //
1259
1260 //
1261 // Set this parameter to PLUGPLAY_PROPERTY_PERSISTENT if the property
1262 // value set by this routine should persist across computer restarts.
1263 // Otherwise, set Flags to zero. Ignored for Query DDIs.
1264 //
1266
1268
1270 //
1271 // Size of this structure
1272 //
1274
1275 //
1276 // A pointer to a DEVPROPKEY structure that specifies the device
1277 // property key.
1278 //
1280
1281 //
1282 // A locale identifier. Set this parameter either to a language-specific
1283 // LCID value or to LOCALE_NEUTRAL. The LOCALE_NEUTRAL LCID specifies
1284 // that the property is language-neutral (that is, not specific to any
1285 // language). Do not set this parameter to LOCALE_SYSTEM_DEFAULT or
1286 // LOCALE_USER_DEFAULT. For more information about language-specific
1287 // LCID values, see LCID Structure.
1288 //
1290
1291 //
1292 // Set this parameter to PLUGPLAY_PROPERTY_PERSISTENT if the property
1293 // value set by this routine should persist across computer restarts.
1294 // Otherwise, set Flags to zero. Ignored for Query DDIs.
1295 //
1297
1299
1300// End of versioning of structures for wdfDevice.h
1301
1302//
1303// Versioning of structures for wdfDmaEnabler.h
1304//
1305// End of versioning of structures for wdfDmaEnabler.h
1306
1307//
1308// Versioning of structures for wdfDmaTransaction.h
1309//
1310// End of versioning of structures for wdfDmaTransaction.h
1311
1312//
1313// Versioning of structures for wdfdpc.h
1314//
1315// End of versioning of structures for wdfdpc.h
1316
1317//
1318// Versioning of structures for wdfdriver.h
1319//
1321 //
1322 // Size of this structure in bytes
1323 //
1325
1326 //
1327 // Event callbacks
1328 //
1330
1332
1333 //
1334 // Combination of WDF_DRIVER_INIT_FLAGS values
1335 //
1337
1338 //
1339 // Pool tag to use for all allocations made by the framework on behalf of
1340 // the client driver.
1341 //
1343
1345
1347 //
1348 // Size of the structure in bytes
1349 //
1351
1352 //
1353 // Major Version requested
1354 //
1356
1357 //
1358 // Minor Version requested
1359 //
1361
1363
1364// End of versioning of structures for wdfdriver.h
1365
1366//
1367// Versioning of structures for wdffdo.h
1368//
1370 //
1371 // Size of this structure in bytes
1372 //
1374
1376
1378
1380
1382
1383// End of versioning of structures for wdffdo.h
1384
1385//
1386// Versioning of structures for wdffileobject.h
1387//
1388// End of versioning of structures for wdffileobject.h
1389
1390//
1391// Versioning of structures for wdfGlobals.h
1392//
1394 // backpointer to the handle for this driver
1395 WDFDRIVER Driver;
1396
1397 // Flags indicated by the driver during create
1399
1400 // Tag generated by WDF for the driver. Tag used by allocations made on
1401 // behalf of the driver by WDF.
1403
1405
1406 // If TRUE, the stub code will capture DriverObject->DriverUnload and insert
1407 // itself first in the unload chain. If FALSE, DriverUnload is left alone
1408 // (but WDF will not be notified of unload and there will be no auto cleanup).
1410
1412
1413// End of versioning of structures for wdfGlobals.h
1414
1415//
1416// Versioning of structures for wdfhwaccess.h
1417//
1418// End of versioning of structures for wdfhwaccess.h
1419
1420//
1421// Versioning of structures for wdfinstaller.h
1422//
1423// End of versioning of structures for wdfinstaller.h
1424
1425//
1426// Versioning of structures for wdfinternal.h
1427//
1428// End of versioning of structures for wdfinternal.h
1429
1430//
1431// Versioning of structures for wdfinterrupt.h
1432//
1433//
1434// Interrupt Configuration Structure
1435//
1438
1439 //
1440 // If this interrupt is to be synchronized with other interrupt(s) assigned
1441 // to the same WDFDEVICE, create a WDFSPINLOCK and assign it to each of the
1442 // WDFINTERRUPTs config.
1443 //
1444 WDFSPINLOCK SpinLock;
1445
1447
1449
1450 //
1451 // DIRQL handling: automatic serialization of the DpcForIsr/WaitItemForIsr.
1452 // Passive-level handling: automatic serialization of all callbacks.
1453 //
1455
1456 //
1457 // Event Callbacks
1458 //
1460
1462
1464
1466
1468
1469 //
1470 // These fields are only used when interrupt is created in
1471 // EvtDevicePrepareHardware callback.
1472 //
1474
1476
1477 //
1478 // Optional passive lock for handling interrupts at passive-level.
1479 //
1480 WDFWAITLOCK WaitLock;
1481
1482 //
1483 // TRUE: handle interrupt at passive-level.
1484 // FALSE: handle interrupt at DIRQL level. This is the default.
1485 //
1487
1488 //
1489 // TRUE: Interrupt is reported inactive on explicit power down
1490 // instead of disconnecting it.
1491 // FALSE: Interrupt is disconnected instead of reporting inactive
1492 // on explicit power down.
1493 // DEFAULT: Framework decides the right value.
1494 //
1496
1497 //
1498 // TRUE: Interrupt is used to wake the device from low-power states
1499 // and when the device is armed for wake this interrupt should
1500 // remain connected.
1501 // FALSE: Interrupt is not used to wake the device from low-power states.
1502 // This is the default.
1503 //
1505
1507
1509 //
1510 // Size of this structure in bytes
1511 //
1513
1515
1517
1519
1521
1523
1525
1527
1529
1531
1532 // CM_SHARE_DISPOSITION
1534
1536
1538
1539//
1540// Interrupt Extended Policy Configuration Structure
1541//
1543 //
1544 // Size of this structure in bytes
1545 //
1547
1549
1551
1553
1555
1556// End of versioning of structures for wdfinterrupt.h
1557
1558//
1559// Versioning of structures for wdfio.h
1560//
1561//
1562// This is the structure used to configure an IoQueue and
1563// register callback events to it.
1564//
1565//
1568
1570
1572
1574
1576
1578
1580
1582
1584
1586
1588
1590
1592
1593 union {
1594 struct {
1596
1597 } Parallel;
1598
1600
1601 WDFDRIVER Driver;
1602
1604
1607
1609
1610 //
1611 // Specify the type of the policy here.
1612 //
1614
1615 //
1616 // Structure which contains the policy specific fields
1617 //
1619
1620 //
1621 // Callback for reserved request given at initialization time
1622 //
1624
1625 //
1626 // Callback for reserved request given at run time
1627 //
1629
1631
1632// End of versioning of structures for wdfio.h
1633
1634//
1635// Versioning of structures for wdfIoTarget.h
1636//
1638 //
1639 // Size of this structure in bytes
1640 //
1642
1643 //
1644 // Indicates which fields of this structure are going to be used in
1645 // creating the WDFIOTARGET.
1646 //
1648
1649 //
1650 // Notification when the target is being queried for removal.
1651 // If !NT_SUCCESS is returned, the query will fail and the target will
1652 // remain opened.
1653 //
1655
1656 //
1657 // The previous query remove has been canceled and the target can now be
1658 // reopened.
1659 //
1661
1662 //
1663 // The query remove has succeeded and the target is now removed from the
1664 // system.
1665 //
1667
1668 // <KMDF_ONLY/>
1669 // ========== WdfIoTargetOpenUseExistingDevice begin ==========
1670 //
1671 // The device object to send requests to
1672 //
1674
1675 // <KMDF_ONLY/>
1676 // File object representing the TargetDeviceObject. The PFILE_OBJECT will
1677 // be passed as a parameter in all requests sent to the resulting
1678 // WDFIOTARGET.
1679 //
1681
1682 // ========== WdfIoTargetOpenUseExistingDevice end ==========
1683 //
1684 // ========== WdfIoTargetOpenByName begin ==========
1685 //
1686 // Name of the device to open.
1687 //
1689
1690 // <KMDF_DOC>
1691 // The access desired on the device being opened up, ie WDM FILE_XXX_ACCESS
1692 // such as FILE_ANY_ACCESS, FILE_SPECIAL_ACCESS, FILE_READ_ACCESS, or
1693 // FILE_WRITE_ACCESS or you can use values such as GENERIC_READ,
1694 // GENERIC_WRITE, or GENERIC_ALL.
1695 // </KMDF_DOC>
1696 // <UMDF_DOC>
1697 // The requested access to the file or device, which can be summarized as
1698 // read, write, both or neither zero). For more information about
1699 // this member, see the dwDesiredAccess parameter of CreateFile in the
1700 // Windows SDK. Note that ACCESS_MASK data type is a DWORD value.
1701 // </UMDF_DOC>
1702 //
1704
1705 //
1706 // <KMDF_DOC>
1707 // Share access desired on the target being opened, ie WDM FILE_SHARE_XXX
1708 // values such as FILE_SHARE_READ, FILE_SHARE_WRITE, FILE_SHARE_DELETE.
1709 // A zero value means exclusive access to the target.
1710 //
1711 // </KMDF_DOC>
1712 // <UMDF_DOC>
1713 // The type of sharing to allow for the file. For more information about
1714 // this member, see the dwShareMode parameter of CreateFile in the
1715 // Windows SDK. A value of 0 means exclusive access.
1716 // </UMDF_DOC>
1717 //
1719
1720 //
1721 // <KMDF_DOC>
1722 // File attributes, see ZwCreateFile in the DDK for a list of valid
1723 // values and their meaning.
1724 // </KMDF_DOC>
1725 // <UMDF_DOC>
1726 // Additional flags and attributes for the file. For more information about
1727 // this member, see the dwFlagsAndAttributes parameter of CreateFile
1728 // in the Windows SDK.
1729 // </UMDF_DOC>
1730 //
1732
1733 //
1734 // <KMDF_DOC>
1735 // Create disposition, see ZwCreateFile in the DDK for a list of valid
1736 // values and their meaning.
1737 // </KMDF_DOC>
1738 // <UMDF_DOC>
1739 // The action to take if the file already exists. For more information
1740 // about this member, see the dwCreationDisposition parameter of
1741 // CreateFile in the Windows SDK.
1742 // </UMDF_DOC>
1743 //
1745
1746 //
1747 // <KMDF_ONLY/>
1748 // Options for opening the device, see CreateOptions for ZwCreateFile in the
1749 // DDK for a list of valid values and their meaning.
1750 //
1752
1753 //
1754 // <KMDF_ONLY/>
1755 //
1757
1758 //
1759 // <KMDF_ONLY/>
1760 //
1762
1763 //
1764 // <KMDF_ONLY/>
1765 //
1767
1768 // ========== WdfIoTargetOpenByName end ==========
1769 //
1770 //
1771 // <KMDF_ONLY/>
1772 //
1773 // On return for a create by name, this will contain one of the following
1774 // values: FILE_CREATED, FILE_OPENED, FILE_OVERWRITTEN, FILE_SUPERSEDED,
1775 // FILE_EXISTS, FILE_DOES_NOT_EXIST
1776 //
1778
1779 // ========== WdfIoTargetOpenLocalTargetByFile begin ==========
1780 //
1781 //
1782 // <UMDF_ONLY/> A UNICODE_STRING-formatted string that contains the
1783 // name of the file to create a file object from. This parameter is
1784 // optional, and is applicable only when Type parameter is
1785 // WdfIoTargetOpenLocalTargetByFile. The driver can leave this member
1786 // unchanged if the driver does not have to create the file object
1787 // from a file name. If the driver must supply a name, the string that
1788 // the driver passes must not contain any path separator characters
1789 // ("/" or "\").
1790 //
1792
1794
1795// End of versioning of structures for wdfIoTarget.h
1796
1797//
1798// Versioning of structures for wdfMemory.h
1799//
1801 //
1802 // Offset into the WDFMEMORY that the operation should start at.
1803 //
1805
1806 //
1807 // Number of bytes that the operation should access. If 0, the entire
1808 // length of the WDFMEMORY buffer will be used in the operation or ignored
1809 // depending on the API.
1810 //
1812
1814
1817
1818 union {
1819 struct {
1821
1823
1824 } BufferType;
1825
1826 struct {
1828
1830
1831 } MdlType;
1832
1833 struct {
1834 WDFMEMORY Memory;
1835
1837
1838 } HandleType;
1839
1840 } u;
1841
1843
1844// End of versioning of structures for wdfMemory.h
1845
1846//
1847// Versioning of structures for wdfMiniport.h
1848//
1849// End of versioning of structures for wdfMiniport.h
1850
1851//
1852// Versioning of structures for wdfObject.h
1853//
1855 //
1856 // Size in bytes of this structure
1857 //
1859
1860 //
1861 // Function to call when the object is deleted
1862 //
1864
1865 //
1866 // Function to call when the objects memory is destroyed when the
1867 // the last reference count goes to zero
1868 //
1870
1871 //
1872 // Execution level constraints for Object
1873 //
1875
1876 //
1877 // Synchronization level constraint for Object
1878 //
1880
1881 //
1882 // Optional Parent Object
1883 //
1885
1886 //
1887 // Overrides the size of the context allocated as specified by
1888 // ContextTypeInfo->ContextSize
1889 //
1891
1892 //
1893 // Pointer to the type information to be associated with the object
1894 //
1896
1898
1899//
1900// Since C does not have strong type checking we must invent our own
1901//
1903 //
1904 // The size of this structure in bytes
1905 //
1907
1908 //
1909 // String representation of the context's type name, i.e. "DEVICE_CONTEXT"
1910 //
1912
1913 //
1914 // The size of the context in bytes. This will be the size of the context
1915 // associated with the handle unless
1916 // WDF_OBJECT_ATTRIBUTES::ContextSizeOverride is specified.
1917 //
1919
1920 //
1921 // If NULL, this structure is the unique type identifier for the context
1922 // type. If != NULL, the UniqueType pointer value is the unique type id
1923 // for the context type.
1924 //
1926
1927 //
1928 // Function pointer to retrieve the context type information structure
1929 // pointer from the provider of the context type. This function is invoked
1930 // by the client driver's entry point by the KMDF stub after all class
1931 // drivers are loaded and before DriverEntry is invoked.
1932 //
1934
1936
1937//
1938// Core structure for supporting custom types, see macros below.
1939//
1942
1944
1946
1947// End of versioning of structures for wdfObject.h
1948
1949//
1950// Versioning of structures for wdfpdo.h
1951//
1953 //
1954 // The size of this structure in bytes
1955 //
1957
1958 //
1959 // Called in response to IRP_MN_QUERY_RESOURCES
1960 //
1962
1963 //
1964 // Called in response to IRP_MN_QUERY_RESOURCE_REQUIREMENTS
1965 //
1967
1968 //
1969 // Called in response to IRP_MN_EJECT
1970 //
1972
1973 //
1974 // Called in response to IRP_MN_SET_LOCK
1975 //
1977
1978 //
1979 // Called in response to the power policy owner sending a wait wake to the
1980 // PDO. Bus generic arming shoulding occur here.
1981 //
1983
1984 //
1985 // Called in response to the power policy owner sending a wait wake to the
1986 // PDO. Bus generic disarming shoulding occur here.
1987 //
1989
1990 //
1991 // Called when reporting the PDO missing to PnP manager in response to
1992 // IRP_MN_QUERY_DEVICE_RELATIONS for Bus Relations.
1993 //
1995
1997
1998// End of versioning of structures for wdfpdo.h
1999
2000//
2001// Versioning of structures for wdfpool.h
2002//
2003// End of versioning of structures for wdfpool.h
2004
2005//
2006// Versioning of structures for wdfqueryinterface.h
2007//
2009 //
2010 // Size of this structure in bytes.
2011 //
2013
2014 //
2015 // Interface to be returned to the caller. Optional if BehaviorType is set
2016 // to WdfQueryInterfaceTypePassThrough or ImportInterface is set to TRUE.
2017 //
2019
2020 //
2021 // The GUID identifying the interface
2022 //
2024
2025 //
2026 // Valid only for PDOs. The framework will allocate a new request and
2027 // forward it down the parent's device stack.
2028 //
2030
2031 //
2032 // Driver supplied callback which is called after some basic interface
2033 // validation has been performed (size, version, and guid checking). This
2034 // is an optional parameter and may be NULL unless ImportInterface is
2035 // specified.
2036 //
2037 // If the callback returns !NT_SUCCESS, this error will be returned to the
2038 // caller and the query interface will fail.
2039 //
2040 // In this callback, the caller is free to modify the ExposedInterface in
2041 // any manner of its choosing. For instance, the callback may change any
2042 // field in the interface. The callback may also alloate a dynamic context
2043 // to be associated with the interface; the InterfaceReference and
2044 // InterfaceDereference functions may also be overridden.
2045 //
2046 // If ImportInterface is set to TRUE, then this is a required field and the
2047 // callback must initialize the interface (the framework will leave the
2048 // ExposedInterface buffer exactly as it received it) since the framework
2049 // has no way of knowing which fields to fill in and which to leave alone.
2050 //
2052
2053 //
2054 // If TRUE, the interface provided by the caller contains data that the
2055 // driver is interested in. By setting to this field to TRUE, the
2056 // EvtDeviceProcessQueryInterfaceRequest callback must initialize the
2057 // ExposedInterface.
2058 //
2059 // If FALSE, the entire ExposedInterface is initialized through a memory
2060 // copy before the EvtDeviceProcessQueryInterfaceRequest is called.
2061 //
2063
2065
2066// End of versioning of structures for wdfqueryinterface.h
2067
2068//
2069// Versioning of structures for wdfregistry.h
2070//
2071// End of versioning of structures for wdfregistry.h
2072
2073//
2074// Versioning of structures for wdfrequest.h
2075//
2076//
2077// This parameters structure allows general access to a requests parameters
2078//
2081
2083
2085
2086 //
2087 // The following user parameters are based on the service that is being
2088 // invoked. Drivers and file systems can determine which set to use based
2089 // on the above major and minor function codes.
2090 //
2091 union {
2092 //
2093 // System service parameters for: Create
2094 //
2095 //
2096 struct {
2098
2100
2102
2104
2106
2108
2109 //
2110 // System service parameters for: Read
2111 //
2112 //
2113 struct {
2114 size_t Length;
2115
2117
2119
2121
2122 //
2123 // System service parameters for: Write
2124 //
2125 //
2126 struct {
2127 size_t Length;
2128
2130
2132
2134
2135 //
2136 // System service parameters for: Device Control
2137 //
2138 // Note that the user's output buffer is stored in the UserBuffer field
2139 // and the user's input buffer is stored in the SystemBuffer field.
2140 //
2141 //
2142 struct {
2144
2146
2148
2150
2152
2153 struct {
2155
2157
2159
2161
2162 } Others;
2163
2165
2167
2169 //
2170 // Size of the structure in bytes
2171 //
2173
2175
2177
2178 union {
2179 struct {
2180 WDFMEMORY Buffer;
2181
2182 size_t Length;
2183
2184 size_t Offset;
2185
2187
2188 struct {
2189 WDFMEMORY Buffer;
2190
2191 size_t Length;
2192
2193 size_t Offset;
2194
2196
2197 struct {
2199
2200 struct {
2201 WDFMEMORY Buffer;
2202
2203 size_t Offset;
2204
2206
2207 struct {
2208 WDFMEMORY Buffer;
2209
2210 size_t Offset;
2211
2212 size_t Length;
2213
2215
2217
2218 struct {
2219 union {
2221
2223
2225
2226 union {
2227 PVOID Ptr;
2228
2230
2232
2233 union {
2234 PVOID Ptr;
2235
2237
2238 } Argument3;
2239
2240 union {
2241 PVOID Ptr;
2242
2244
2246
2247 } Others;
2248
2249 struct {
2251
2252 } Usb;
2253
2255
2257
2259 //
2260 // Size of this structure in bytes
2261 //
2263
2264 //
2265 // Bit field combination of WDF_REQUEST_REUSE_Xxx values
2266 //
2268
2269 //
2270 // The new status of the request.
2271 //
2273
2274 //
2275 // New PIRP to be contained in the WDFREQUEST. Setting a new PIRP value
2276 // is only valid for WDFREQUESTs created by WdfRequestCreateFromIrp where
2277 // RequestFreesIrp == FALSE. No other WDFREQUESTs (presented by the
2278 // I/O queue for instance) may have their IRPs changed.
2279 //
2281
2283
2285 //
2286 // Size of the structure in bytes
2287 //
2289
2290 //
2291 // Bit field combination of values from the WDF_REQUEST_SEND_OPTIONS_FLAGS
2292 // enumeration
2293 //
2295
2296 //
2297 // Valid when WDF_REQUEST_SEND_OPTION_TIMEOUT is set
2298 //
2300
2302
2304 //
2305 // Size of the structure in bytes
2306 //
2308
2309 //
2310 // Bit field combination of values from the WDF_REQUEST_FORWARD_OPTIONS_FLAGS
2311 // enumeration
2312 //
2314
2316
2317// End of versioning of structures for wdfrequest.h
2318
2319//
2320// Versioning of structures for wdfresource.h
2321//
2322// End of versioning of structures for wdfresource.h
2323
2324//
2325// Versioning of structures for wdfroletypes.h
2326//
2327// End of versioning of structures for wdfroletypes.h
2328
2329//
2330// Versioning of structures for wdfstring.h
2331//
2332// End of versioning of structures for wdfstring.h
2333
2334//
2335// Versioning of structures for wdfsync.h
2336//
2337// End of versioning of structures for wdfsync.h
2338
2339//
2340// Versioning of structures for wdftimer.h
2341//
2344
2346
2348
2349 //
2350 // If this is TRUE, the Timer will automatically serialize
2351 // with the event callback handlers of its Parent Object.
2352 //
2353 // Parent Object's callback constraints should be compatible
2354 // with the Timer DPC (DISPATCH_LEVEL), or the request will fail.
2355 //
2357
2358 //
2359 // Optional tolerance for the timer in milliseconds.
2360 //
2362
2363 //
2364 // If this is TRUE, high resolution timers will be used. The default
2365 // value is FALSE
2366 //
2367 DECLSPEC_ALIGN(8) BOOLEAN UseHighResolutionTimer;
2368
2370
2371// End of versioning of structures for wdftimer.h
2372
2373//
2374// Versioning of structures for wdftriage.h
2375//
2377 // value
2379
2381
2383
2385
2387
2389
2391
2393
2395 // value
2397
2399
2401
2403
2405
2407
2409 // value
2411
2413
2415
2417
2419 // value
2421
2423
2425
2427
2429
2431
2433
2435
2438
2440
2442
2444
2446 // value
2448
2450
2452
2454
2456
2458 // value
2460
2462
2463 // WDF irp wrapper, see below.
2465
2467
2469
2471
2473
2475
2477 // value
2479
2481
2483
2485 // value
2487
2489
2491
2493 //
2494 // Version.
2495 //
2497
2499
2501
2503
2504 //
2505 // Reserved pointer.
2506 //
2508
2509 //
2510 // WDF objects triage info.
2511 //
2513
2515
2517
2519
2521
2523
2525
2527
2529
2531
2532// End of versioning of structures for wdftriage.h
2533
2534//
2535// Versioning of structures for wdftypes.h
2536//
2537// End of versioning of structures for wdftypes.h
2538
2539//
2540// Versioning of structures for wdfUsb.h
2541//
2544
2546
2547 union {
2548 struct {
2549 WDFMEMORY Buffer;
2550
2552
2554
2555 //
2556 // If STATUS_BUFFER_OVERFLOW is returned, this field will contain the
2557 // number of bytes required to retrieve the entire string.
2558 //
2560
2561 } DeviceString;
2562
2563 struct {
2564 WDFMEMORY Buffer;
2565
2567
2569
2570 } DeviceControlTransfer;
2571
2572 struct {
2573 WDFMEMORY Buffer;
2574
2575 } DeviceUrb;
2576
2577 struct {
2578 WDFMEMORY Buffer;
2579
2580 size_t Length;
2581
2582 size_t Offset;
2583
2584 } PipeWrite;
2585
2586 struct {
2587 WDFMEMORY Buffer;
2588
2589 size_t Length;
2590
2591 size_t Offset;
2592
2593 } PipeRead;
2594
2595 struct {
2596 WDFMEMORY Buffer;
2597
2598 } PipeUrb;
2599
2601
2603
2605 //
2606 // Size of the string in bytes
2607 //
2609
2610 //
2611 // Number of bytes to send ask for from the usb device.
2612 //
2614
2615 //
2616 // Number of bytes to allocate before the requested transfer length
2617 //
2619
2620 //
2621 // Number of bytes to allocate after the requested transfer length
2622 //
2624
2625 //
2626 // Number of reads to send to the device at once. If zero is specified, the
2627 // default will be used.
2628 //
2630
2631 //
2632 // Optional attributes to apply to each WDFMEMORY allocated for each read
2633 //
2635
2636 //
2637 // Event callback invoked when a read is completed
2638 //
2640
2641 //
2642 // Context to be passed to EvtUsbTargetPipeReadComplete
2643 //
2645
2646 //
2647 // Event callback invoked when a reader fails. If TRUE is returned, the
2648 // readers are restarted.
2649 //
2651
2653
2655 //
2656 // Size of this structure in bytes
2657 //
2659
2660 //
2661 // USBD version information
2662 //
2664
2665 //
2666 // Usb controller port capabilities
2667 //
2669
2670 //
2671 // Bitfield of WDF_USB_DEVICE_TRAITS values
2672 //
2674
2676
2678 //
2679 // Interface to select
2680 //
2681 WDFUSBINTERFACE UsbInterface;
2682
2683 //
2684 // Setting to select on UsbInterface
2685 //
2687
2689
2691 //
2692 // Size of the structure in bytes
2693 //
2695
2696 //
2697 // Type of select config, one of WdfUsbTargetDeviceSelectConfigType values
2698 //
2700
2701 union {
2702 struct {
2703 //
2704 // Configuration descriptor to use
2705 //
2707
2708 //
2709 // Array of interface descriptors pointers.
2710 //
2712
2713 //
2714 // Number of elements in the InterfaceDescrtiptors pointer array.
2715 //
2717
2719
2720 struct {
2721 //
2722 // Preallocated select config URB formatted by the caller.
2723 // Will be used, as supplied without modification, as the select
2724 // config request.
2725 //
2727
2728 } Urb;
2729
2730 struct {
2731 //
2732 // Number of pipes configured on the single after. This value is
2733 // returned to the caller after a succssful call.
2734 //
2736
2737 //
2738 // The interface which was configred. This value is returned to the
2739 // caller after a successful call.
2740 //
2741 WDFUSBINTERFACE ConfiguredUsbInterface;
2742
2743 } SingleInterface;
2744
2745 struct {
2746 //
2747 // Number of interface pairs in the Pairs array
2748 //
2750
2751 //
2752 // Array of interface + settings
2753 //
2755
2756 //
2757 // Number of interfaces which were configured after a successful call
2758 //
2760
2761 } MultiInterface;
2762
2764
2766
2768 //
2769 // Size of this data structure in bytes
2770 //
2772
2773 //
2774 // Type of select interface as indicated by one of the
2775 // WdfUsbTargetDeviceSelectSettingType values.
2776 //
2778
2779 union {
2780 struct {
2781 //
2782 // Interface descriptor that will be used in the interface selection
2783 //
2785
2787
2788 struct {
2789 //
2790 // The setting index of the WDFUSBINTERFACE to use
2791 //
2793
2795
2796 struct {
2797 //
2798 // Preformatted select interface URB which will be used in the
2799 // select interface request.
2800 //
2802
2803 } Urb;
2804
2806
2808
2810 //
2811 // Size of the structure in bytes
2812 //
2814
2815 //
2816 // Maximum packet size this device is capable of
2817 //
2819
2820 //
2821 // Raw endpoint address of the device as described by its descriptor
2822 //
2824
2825 //
2826 // Polling interval
2827 //
2829
2830 //
2831 // Which alternate setting this structure is relevant for
2832 //
2834
2835 //
2836 // The type of the pipe
2838
2839 //
2840 // Maximum size of one transfer which should be sent to the host controller
2841 //
2843
2845
2847 //
2848 // Size of this structure in bytes
2849 //
2851
2852 //
2853 // USBD Client Contraction of the Wdf Client
2854 //
2856
2858
2859// End of versioning of structures for wdfUsb.h
2860
2861//
2862// Versioning of structures for wdfverifier.h
2863//
2864// End of versioning of structures for wdfverifier.h
2865
2866//
2867// Versioning of structures for wdfWMI.h
2868//
2870 //
2871 // Size of this structure in bytes
2872 //
2874
2875 //
2876 // The GUID being registered
2877 //
2879
2880 //
2881 // Combination of values from the enum WDF_WMI_PROVIDER_FLAGS
2882 //
2884
2885 //
2886 // Minimum expected buffer size for query and set instance requests.
2887 // Ignored if WdfWmiProviderEventOnly is set in Flags.
2888 //
2890
2891 //
2892 // Callback when caller is opening a provider which ha been marked as
2893 // expensive or when a caller is interested in events.
2894 //
2896
2898
2900 //
2901 // Size of the structure in bytes
2902 //
2904
2905 //
2906 // Optional parameter. If NULL, ProviderConfig must be set to a valid pointer
2907 // value. If specified, indicates the provider to create an instance for.
2908 //
2909 WDFWMIPROVIDER Provider;
2910
2911 //
2912 // Optional parameter. If NULL, Provider must be set to a valid handle
2913 // value. If specifeid, indicates the configuration for a provider to be
2914 // created and for this instance to be associated with.
2915 //
2917
2918 //
2919 // If the Provider is configured as read only and this field is set to TRUE,
2920 // the EvtWmiInstanceQueryInstance is ignored and WDF will blindly copy the
2921 // context associated with this instance (using RtlCopyMemory, with no locks
2922 // held) into the query buffer.
2923 //
2925
2926 //
2927 // If TRUE, the instance will be registered as well as created.
2928 //
2930
2931 //
2932 // Callback when caller wants to query the entire data item's buffer.
2933 //
2935
2936 //
2937 // Callback when caller wants to set the entire data item's buffer.
2938 //
2940
2941 //
2942 // Callback when caller wants to set a single field in the data item's buffer
2943 //
2945
2946 //
2947 // Callback when caller wants to execute a method on the data item.
2948 //
2950
2952
2953// End of versioning of structures for wdfWMI.h
2954
2955//
2956// Versioning of structures for wdfworkitem.h
2957//
2960
2962
2963 //
2964 // If this is TRUE, the workitem will automatically serialize
2965 // with the event callback handlers of its Parent Object.
2966 //
2967 // Parent Object's callback constraints should be compatible
2968 // with the work item (PASSIVE_LEVEL), or the request will fail.
2969 //
2971
2973
2974// End of versioning of structures for wdfworkitem.h
2975
2976
2977#endif // _WDF_V2_0_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
#define _In_opt_
Definition: ms_sal.h:309
_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
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: wdf20.h:456
PFN_WDF_FILE_CLOSE EvtFileClose
Definition: wdf20.h:438
WDF_FILEOBJECT_CLASS FileObjectClass
Definition: wdf20.h:463
PFN_WDFCX_DEVICE_FILE_CREATE EvtCxDeviceFileCreate
Definition: wdf20.h:433
PFN_WDF_FILE_CLEANUP EvtFileCleanup
Definition: wdf20.h:443
PFN_WDF_CHILD_LIST_SCAN_FOR_CHILDREN EvtChildListScanForChildren
Definition: wdf20.h:315
PFN_WDF_CHILD_LIST_ADDRESS_DESCRIPTION_DUPLICATE EvtChildListAddressDescriptionDuplicate
Definition: wdf20.h:361
PFN_WDF_CHILD_LIST_ADDRESS_DESCRIPTION_COPY EvtChildListAddressDescriptionCopy
Definition: wdf20.h:354
PFN_WDF_CHILD_LIST_CREATE_DEVICE EvtChildListCreateDevice
Definition: wdf20.h:308
PFN_WDF_CHILD_LIST_IDENTIFICATION_DESCRIPTION_COMPARE EvtChildListIdentificationDescriptionCompare
Definition: wdf20.h:346
PFN_WDF_CHILD_LIST_IDENTIFICATION_DESCRIPTION_CLEANUP EvtChildListIdentificationDescriptionCleanup
Definition: wdf20.h:337
PFN_WDF_CHILD_LIST_IDENTIFICATION_DESCRIPTION_DUPLICATE EvtChildListIdentificationDescriptionDuplicate
Definition: wdf20.h:330
PFN_WDF_CHILD_LIST_DEVICE_REENUMERATED EvtChildListDeviceReenumerated
Definition: wdf20.h:375
ULONG IdentificationDescriptionSize
Definition: wdf20.h:296
PFN_WDF_CHILD_LIST_IDENTIFICATION_DESCRIPTION_COPY EvtChildListIdentificationDescriptionCopy
Definition: wdf20.h:323
PFN_WDF_CHILD_LIST_ADDRESS_DESCRIPTION_CLEANUP EvtChildListAddressDescriptionCleanup
Definition: wdf20.h:368
PWDF_CHILD_ADDRESS_DESCRIPTION_HEADER_V2_0 AddressDescription
Definition: wdf20.h:271
WDF_CHILD_LIST_RETRIEVE_DEVICE_STATUS Status
Definition: wdf20.h:276
PWDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER_V2_0 IdentificationDescription
Definition: wdf20.h:266
PFN_WDF_CHILD_LIST_IDENTIFICATION_DESCRIPTION_COMPARE EvtChildListIdentificationDescriptionCompare
Definition: wdf20.h:282
PFN_WDF_CLASS_EXPORT * FunctionTable
Definition: wdf20.h:500
PFN_WDF_CLIENT_BIND_CLASS ClientBindClass
Definition: wdf20.h:518
PFN_WDF_CLIENT_UNBIND_CLASS ClientUnbindClass
Definition: wdf20.h:525
WDF_CLASS_VERSION_V2_0 Version
Definition: wdf20.h:495
PFN_WDF_CLASS_LIBRARY_UNBIND_CLIENT ClassLibraryUnbindClient
Definition: wdf20.h:567
PFN_WDF_CLASS_LIBRARY_DEINITIALIZE ClassLibraryDeinitialize
Definition: wdf20.h:555
PFN_WDF_CLASS_LIBRARY_BIND_CLIENT ClassLibraryBindClient
Definition: wdf20.h:561
WDF_CLASS_VERSION_V2_0 Version
Definition: wdf20.h:543
PFN_WDF_CLASS_LIBRARY_INITIALIZE ClassLibraryInitialize
Definition: wdf20.h:548
WDF_MINOR_VERSION Minor
Definition: wdf20.h:475
WDF_MAJOR_VERSION Major
Definition: wdf20.h:473
WDF_BUILD_NUMBER Build
Definition: wdf20.h:477
_In_ const GUID * InterfaceClassGUID
Definition: wdf20.h:1236
_In_ const DEVPROPKEY * PropertyKey
Definition: wdf20.h:1248
_In_opt_ PCUNICODE_STRING ReferenceString
Definition: wdf20.h:1242
WDF_TRI_STATE SurpriseRemovalOK
Definition: wdf20.h:1036
WDF_TRI_STATE HardwareDisabled
Definition: wdf20.h:1038
struct _WDF_DEVICE_PNP_NOTIFICATION_DATA_V2_0::@4836::@4839 LeaveState
WDF_STATE_NOTIFICATION_TYPE Type
Definition: wdf20.h:623
struct _WDF_DEVICE_PNP_NOTIFICATION_DATA_V2_0::@4836::@4838 PostProcessState
struct _WDF_DEVICE_PNP_NOTIFICATION_DATA_V2_0::@4836::@4837 EnterState
WDF_DEVICE_PNP_STATE NewState
Definition: wdf20.h:635
WDF_DEVICE_PNP_STATE CurrentState
Definition: wdf20.h:630
union _WDF_DEVICE_PNP_NOTIFICATION_DATA_V2_0::@4836 Data
DEVICE_POWER_STATE IdealDxStateForSx
Definition: wdf20.h:1097
SYSTEM_POWER_STATE SystemWake
Definition: wdf20.h:1080
DEVICE_POWER_STATE DeviceWake
Definition: wdf20.h:1078
WDF_DEVICE_POWER_STATE CurrentState
Definition: wdf20.h:675
struct _WDF_DEVICE_POWER_NOTIFICATION_DATA_V2_0::@4840::@4842 PostProcessState
struct _WDF_DEVICE_POWER_NOTIFICATION_DATA_V2_0::@4840::@4841 EnterState
WDF_DEVICE_POWER_STATE NewState
Definition: wdf20.h:680
WDF_STATE_NOTIFICATION_TYPE Type
Definition: wdf20.h:668
union _WDF_DEVICE_POWER_NOTIFICATION_DATA_V2_0::@4840 Data
struct _WDF_DEVICE_POWER_NOTIFICATION_DATA_V2_0::@4840::@4843 LeaveState
WDF_POWER_POLICY_IDLE_TIMEOUT_TYPE IdleTimeoutType
Definition: wdf20.h:889
WDF_POWER_POLICY_S0_IDLE_CAPABILITIES IdleCaps
Definition: wdf20.h:828
WDF_POWER_POLICY_S0_IDLE_USER_CONTROL UserControlOfIdleSettings
Definition: wdf20.h:846
WDF_STATE_NOTIFICATION_TYPE Type
Definition: wdf20.h:713
union _WDF_DEVICE_POWER_POLICY_NOTIFICATION_DATA_V2_0::@4844 Data
struct _WDF_DEVICE_POWER_POLICY_NOTIFICATION_DATA_V2_0::@4844::@4846 PostProcessState
WDF_DEVICE_POWER_POLICY_STATE NewState
Definition: wdf20.h:725
WDF_DEVICE_POWER_POLICY_STATE CurrentState
Definition: wdf20.h:720
struct _WDF_DEVICE_POWER_POLICY_NOTIFICATION_DATA_V2_0::@4844::@4847 LeaveState
struct _WDF_DEVICE_POWER_POLICY_NOTIFICATION_DATA_V2_0::@4844::@4845 EnterState
WDF_POWER_POLICY_SX_WAKE_USER_CONTROL UserControlOfWakeSettings
Definition: wdf20.h:933
_In_ const DEVPROPKEY * PropertyKey
Definition: wdf20.h:1279
WDF_TRI_STATE Failed
Definition: wdf20.h:989
WDF_TRI_STATE Removed
Definition: wdf20.h:1003
WDF_TRI_STATE NotDisableable
Definition: wdf20.h:994
WDF_TRI_STATE Disabled
Definition: wdf20.h:976
WDF_TRI_STATE ResourcesChanged
Definition: wdf20.h:1010
WDF_TRI_STATE DontDisplayInUI
Definition: wdf20.h:982
PFN_WDF_DRIVER_UNLOAD EvtDriverUnload
Definition: wdf20.h:1331
PFN_WDF_DRIVER_DEVICE_ADD EvtDriverDeviceAdd
Definition: wdf20.h:1329
CHAR DriverName[WDF_DRIVER_GLOBALS_NAME_LEN]
Definition: wdf20.h:1404
BOOLEAN DisplaceDriverUnload
Definition: wdf20.h:1409
PFN_WDF_DEVICE_REMOVE_ADDED_RESOURCES EvtDeviceRemoveAddedResources
Definition: wdf20.h:1379
PFN_WDF_DEVICE_FILTER_RESOURCE_REQUIREMENTS EvtDeviceFilterRemoveResourceRequirements
Definition: wdf20.h:1377
PFN_WDF_DEVICE_FILTER_RESOURCE_REQUIREMENTS EvtDeviceFilterAddResourceRequirements
Definition: wdf20.h:1375
PFN_WDF_FILE_CLEANUP EvtFileCleanup
Definition: wdf20.h:595
PFN_WDF_FILE_CLOSE EvtFileClose
Definition: wdf20.h:590
WDF_TRI_STATE AutoForwardCleanupClose
Definition: wdf20.h:608
PFN_WDF_DEVICE_FILE_CREATE EvtDeviceFileCreate
Definition: wdf20.h:585
WDF_FILEOBJECT_CLASS FileObjectClass
Definition: wdf20.h:615
PFN_WDF_INTERRUPT_DISABLE EvtInterruptDisable
Definition: wdf20.h:1465
WDFSPINLOCK SpinLock
Definition: wdf20.h:1444
WDF_TRI_STATE ReportInactiveOnPowerDown
Definition: wdf20.h:1495
WDFWAITLOCK WaitLock
Definition: wdf20.h:1480
PFN_WDF_INTERRUPT_WORKITEM EvtInterruptWorkItem
Definition: wdf20.h:1467
WDF_TRI_STATE ShareVector
Definition: wdf20.h:1446
PCM_PARTIAL_RESOURCE_DESCRIPTOR InterruptRaw
Definition: wdf20.h:1473
PFN_WDF_INTERRUPT_DPC EvtInterruptDpc
Definition: wdf20.h:1461
PCM_PARTIAL_RESOURCE_DESCRIPTOR InterruptTranslated
Definition: wdf20.h:1475
PFN_WDF_INTERRUPT_ISR EvtInterruptIsr
Definition: wdf20.h:1459
PFN_WDF_INTERRUPT_ENABLE EvtInterruptEnable
Definition: wdf20.h:1463
BOOLEAN AutomaticSerialization
Definition: wdf20.h:1454
GROUP_AFFINITY TargetProcessorSetAndGroup
Definition: wdf20.h:1552
WDF_INTERRUPT_POLICY Policy
Definition: wdf20.h:1548
WDF_INTERRUPT_PRIORITY Priority
Definition: wdf20.h:1550
DECLSPEC_ALIGN(8) USHORT Group
WDF_INTERRUPT_POLARITY Polarity
Definition: wdf20.h:1528
KINTERRUPT_MODE Mode
Definition: wdf20.h:1526
KAFFINITY TargetProcessorSet
Definition: wdf20.h:1516
PFN_WDF_IO_QUEUE_IO_DEFAULT EvtIoDefault
Definition: wdf20.h:1577
PFN_WDF_IO_QUEUE_IO_DEVICE_CONTROL EvtIoDeviceControl
Definition: wdf20.h:1583
PFN_WDF_IO_QUEUE_IO_STOP EvtIoStop
Definition: wdf20.h:1587
PFN_WDF_IO_QUEUE_IO_RESUME EvtIoResume
Definition: wdf20.h:1589
WDF_IO_QUEUE_DISPATCH_TYPE DispatchType
Definition: wdf20.h:1569
BOOLEAN AllowZeroLengthRequests
Definition: wdf20.h:1573
PFN_WDF_IO_QUEUE_IO_READ EvtIoRead
Definition: wdf20.h:1579
PFN_WDF_IO_QUEUE_IO_INTERNAL_DEVICE_CONTROL EvtIoInternalDeviceControl
Definition: wdf20.h:1585
PFN_WDF_IO_QUEUE_IO_CANCELED_ON_QUEUE EvtIoCanceledOnQueue
Definition: wdf20.h:1591
PFN_WDF_IO_QUEUE_IO_WRITE EvtIoWrite
Definition: wdf20.h:1581
WDF_TRI_STATE PowerManaged
Definition: wdf20.h:1571
ULONG NumberOfPresentedRequests
Definition: wdf20.h:1595
WDF_IO_FORWARD_PROGRESS_RESERVED_POLICY ForwardProgressReservedPolicy
Definition: wdf20.h:1613
WDF_IO_FORWARD_PROGRESS_RESERVED_POLICY_SETTINGS ForwardProgressReservePolicySettings
Definition: wdf20.h:1618
PFN_WDF_IO_ALLOCATE_REQUEST_RESOURCES EvtIoAllocateRequestResources
Definition: wdf20.h:1628
PFN_WDF_IO_ALLOCATE_RESOURCES_FOR_RESERVED_REQUEST EvtIoAllocateResourcesForReservedRequest
Definition: wdf20.h:1623
PFN_WDF_IO_TARGET_QUERY_REMOVE EvtIoTargetQueryRemove
Definition: wdf20.h:1654
PDEVICE_OBJECT TargetDeviceObject
Definition: wdf20.h:1673
WDF_IO_TARGET_OPEN_TYPE Type
Definition: wdf20.h:1647
UNICODE_STRING TargetDeviceName
Definition: wdf20.h:1688
PFN_WDF_IO_TARGET_REMOVE_COMPLETE EvtIoTargetRemoveComplete
Definition: wdf20.h:1666
PFN_WDF_IO_TARGET_REMOVE_CANCELED EvtIoTargetRemoveCanceled
Definition: wdf20.h:1660
PFILE_OBJECT TargetFileObject
Definition: wdf20.h:1680
WDF_DEVICE_IO_TYPE DeviceControlIoType
Definition: wdf20.h:1213
WDF_DEVICE_IO_TYPE ReadWriteIoType
Definition: wdf20.h:1200
ULONG DirectTransferThreshold
Definition: wdf20.h:1226
WDF_MEMORY_DESCRIPTOR_TYPE Type
Definition: wdf20.h:1816
PWDFMEMORY_OFFSET_V2_0 Offsets
Definition: wdf20.h:1836
PFN_WDF_OBJECT_CONTEXT_CLEANUP EvtCleanupCallback
Definition: wdf20.h:1863
WDF_EXECUTION_LEVEL ExecutionLevel
Definition: wdf20.h:1874
PFN_WDF_OBJECT_CONTEXT_DESTROY EvtDestroyCallback
Definition: wdf20.h:1869
WDF_SYNCHRONIZATION_SCOPE SynchronizationScope
Definition: wdf20.h:1879
PCWDF_OBJECT_CONTEXT_TYPE_INFO_V2_0 ContextTypeInfo
Definition: wdf20.h:1895
PFN_GET_UNIQUE_CONTEXT_TYPE EvtDriverGetUniqueContextType
Definition: wdf20.h:1933
PCWDF_OBJECT_CONTEXT_TYPE_INFO_V2_0 UniqueType
Definition: wdf20.h:1925
PFN_WDF_DEVICE_SET_LOCK EvtDeviceSetLock
Definition: wdf20.h:1976
PFN_WDF_DEVICE_RESOURCES_QUERY EvtDeviceResourcesQuery
Definition: wdf20.h:1961
PFN_WDF_DEVICE_DISABLE_WAKE_AT_BUS EvtDeviceDisableWakeAtBus
Definition: wdf20.h:1988
PFN_WDF_DEVICE_RESOURCE_REQUIREMENTS_QUERY EvtDeviceResourceRequirementsQuery
Definition: wdf20.h:1966
PFN_WDF_DEVICE_EJECT EvtDeviceEject
Definition: wdf20.h:1971
PFN_WDF_DEVICE_REPORTED_MISSING EvtDeviceReportedMissing
Definition: wdf20.h:1994
PFN_WDF_DEVICE_ENABLE_WAKE_AT_BUS EvtDeviceEnableWakeAtBus
Definition: wdf20.h:1982
PFN_WDF_DEVICE_USAGE_NOTIFICATION_EX EvtDeviceUsageNotificationEx
Definition: wdf20.h:792
PFN_WDF_DEVICE_SELF_MANAGED_IO_FLUSH EvtDeviceSelfManagedIoFlush
Definition: wdf20.h:774
PFN_WDF_DEVICE_USAGE_NOTIFICATION EvtDeviceUsageNotification
Definition: wdf20.h:788
PFN_WDF_DEVICE_D0_ENTRY EvtDeviceD0Entry
Definition: wdf20.h:760
PFN_WDF_DEVICE_SELF_MANAGED_IO_INIT EvtDeviceSelfManagedIoInit
Definition: wdf20.h:776
PFN_WDF_DEVICE_D0_ENTRY_POST_INTERRUPTS_ENABLED EvtDeviceD0EntryPostInterruptsEnabled
Definition: wdf20.h:762
PFN_WDF_DEVICE_SELF_MANAGED_IO_CLEANUP EvtDeviceSelfManagedIoCleanup
Definition: wdf20.h:772
PFN_WDF_DEVICE_D0_EXIT EvtDeviceD0Exit
Definition: wdf20.h:764
PFN_WDF_DEVICE_QUERY_STOP EvtDeviceQueryStop
Definition: wdf20.h:786
PFN_WDF_DEVICE_SELF_MANAGED_IO_RESTART EvtDeviceSelfManagedIoRestart
Definition: wdf20.h:780
PFN_WDF_DEVICE_RELEASE_HARDWARE EvtDeviceReleaseHardware
Definition: wdf20.h:770
PFN_WDF_DEVICE_PREPARE_HARDWARE EvtDevicePrepareHardware
Definition: wdf20.h:768
PFN_WDF_DEVICE_QUERY_REMOVE EvtDeviceQueryRemove
Definition: wdf20.h:784
PFN_WDF_DEVICE_D0_EXIT_PRE_INTERRUPTS_DISABLED EvtDeviceD0ExitPreInterruptsDisabled
Definition: wdf20.h:766
PFN_WDF_DEVICE_RELATIONS_QUERY EvtDeviceRelationsQuery
Definition: wdf20.h:790
PFN_WDF_DEVICE_SURPRISE_REMOVAL EvtDeviceSurpriseRemoval
Definition: wdf20.h:782
PFN_WDF_DEVICE_SELF_MANAGED_IO_SUSPEND EvtDeviceSelfManagedIoSuspend
Definition: wdf20.h:778
PFN_WDFDEVICE_WDM_PRE_PO_FX_UNREGISTER_DEVICE EvtDeviceWdmPrePoFxUnregisterDevice
Definition: wdf20.h:1133
PPO_FX_COMPONENT_IDLE_STATE_CALLBACK ComponentIdleStateCallback
Definition: wdf20.h:1162
PPO_FX_COMPONENT_ACTIVE_CONDITION_CALLBACK ComponentActiveConditionCallback
Definition: wdf20.h:1148
PPO_FX_COMPONENT Component
Definition: wdf20.h:1141
PFN_WDFDEVICE_WDM_POST_PO_FX_REGISTER_DEVICE EvtDeviceWdmPostPoFxRegisterDevice
Definition: wdf20.h:1126
PPO_FX_COMPONENT_IDLE_CONDITION_CALLBACK ComponentIdleConditionCallback
Definition: wdf20.h:1155
PPO_FX_POWER_CONTROL_CALLBACK PowerControlCallback
Definition: wdf20.h:1169
PFN_WDF_DEVICE_ARM_WAKE_FROM_SX EvtDeviceArmWakeFromSx
Definition: wdf20.h:808
PFN_WDF_DEVICE_WAKE_FROM_SX_TRIGGERED EvtDeviceWakeFromSxTriggered
Definition: wdf20.h:812
PFN_WDF_DEVICE_DISARM_WAKE_FROM_SX EvtDeviceDisarmWakeFromSx
Definition: wdf20.h:810
PFN_WDF_DEVICE_DISARM_WAKE_FROM_S0 EvtDeviceDisarmWakeFromS0
Definition: wdf20.h:804
PFN_WDF_DEVICE_WAKE_FROM_S0_TRIGGERED EvtDeviceWakeFromS0Triggered
Definition: wdf20.h:806
PFN_WDF_DEVICE_ARM_WAKE_FROM_S0 EvtDeviceArmWakeFromS0
Definition: wdf20.h:802
PFN_WDF_DEVICE_ARM_WAKE_FROM_SX_WITH_REASON EvtDeviceArmWakeFromSxWithReason
Definition: wdf20.h:814
WDF_DEVICE_POWER_POLICY_STATE PowerPolicyState
Definition: wdf20.h:189
WDF_DEVICE_POWER_STATE PowerState
Definition: wdf20.h:184
PFN_WDF_DEVICE_PROCESS_QUERY_INTERFACE_REQUEST EvtDeviceProcessQueryInterfaceRequest
Definition: wdf20.h:2051
PWDF_USB_REQUEST_COMPLETION_PARAMS_V2_0 Completion
Definition: wdf20.h:2250
ULONG POINTER_ALIGNMENT IoControlCode
Definition: wdf20.h:2147
WDF_REQUEST_TYPE Type
Definition: wdf20.h:2084
USHORT POINTER_ALIGNMENT FileAttributes
Definition: wdf20.h:2101
size_t POINTER_ALIGNMENT InputBufferLength
Definition: wdf20.h:2145
ULONG POINTER_ALIGNMENT Key
Definition: wdf20.h:2116
ULONG POINTER_ALIGNMENT EaLength
Definition: wdf20.h:2105
PIO_SECURITY_CONTEXT SecurityContext
Definition: wdf20.h:2097
BOOLEAN AutomaticSerialization
Definition: wdf20.h:2356
DECLSPEC_ALIGN(8) BOOLEAN UseHighResolutionTimer
PFN_WDF_TIMER EvtTimerFunc
Definition: wdf20.h:2345
PWDFREQUEST_TRIAGE_INFO_V2_0 WdfRequestTriageInfo
Definition: wdf20.h:2524
PWDFFWDPROGRESS_TRIAGE_INFO_V2_0 WdfFwdProgressTriageInfo
Definition: wdf20.h:2520
PWDFIRP_TRIAGE_INFO_V2_0 WdfIrpTriageInfo
Definition: wdf20.h:2528
PWDFIRPQUEUE_TRIAGE_INFO_V2_0 WdfIrpQueueTriageInfo
Definition: wdf20.h:2522
PWDFQUEUE_TRIAGE_INFO_V2_0 WdfQueueTriageInfo
Definition: wdf20.h:2518
PWDFCONTEXTTYPE_TRIAGE_INFO_V2_0 WdfContextTypeTriageInfo
Definition: wdf20.h:2516
PWDFDEVICE_TRIAGE_INFO_V2_0 WdfDeviceTriageInfo
Definition: wdf20.h:2526
ULONG TriageInfoMinorVersion
Definition: wdf20.h:2502
ULONG TriageInfoMajorVersion
Definition: wdf20.h:2500
PWDFCONTEXT_TRIAGE_INFO_V2_0 WdfContextTriageInfo
Definition: wdf20.h:2514
PWDFOBJECT_TRIAGE_INFO_V2_0 WdfObjectTriageInfo
Definition: wdf20.h:2512
PFN_WDF_USB_READER_COMPLETION_ROUTINE EvtUsbTargetPipeReadComplete
Definition: wdf20.h:2639
PWDF_OBJECT_ATTRIBUTES_V2_0 BufferAttributes
Definition: wdf20.h:2634
WDFCONTEXT EvtUsbTargetPipeReadCompleteContext
Definition: wdf20.h:2644
PFN_WDF_USB_READERS_FAILED EvtUsbTargetPipeReadersFailed
Definition: wdf20.h:2650
USBD_VERSION_INFORMATION UsbdVersionInformation
Definition: wdf20.h:2663
PUSB_INTERFACE_DESCRIPTOR * InterfaceDescriptors
Definition: wdf20.h:2711
WdfUsbTargetDeviceSelectConfigType Type
Definition: wdf20.h:2699
PWDF_USB_INTERFACE_SETTING_PAIR_V2_0 Pairs
Definition: wdf20.h:2754
PUSB_CONFIGURATION_DESCRIPTOR ConfigurationDescriptor
Definition: wdf20.h:2706
PUSB_INTERFACE_DESCRIPTOR InterfaceDescriptor
Definition: wdf20.h:2784
WdfUsbTargetDeviceSelectSettingType Type
Definition: wdf20.h:2777
WDF_USB_PIPE_TYPE PipeType
Definition: wdf20.h:2837
WDF_USB_CONTROL_SETUP_PACKET SetupPacket
Definition: wdf20.h:2566
PFN_WDF_WMI_INSTANCE_QUERY_INSTANCE EvtWmiInstanceQueryInstance
Definition: wdf20.h:2934
PFN_WDF_WMI_INSTANCE_EXECUTE_METHOD EvtWmiInstanceExecuteMethod
Definition: wdf20.h:2949
PFN_WDF_WMI_INSTANCE_SET_ITEM EvtWmiInstanceSetItem
Definition: wdf20.h:2944
WDFWMIPROVIDER Provider
Definition: wdf20.h:2909
PFN_WDF_WMI_INSTANCE_SET_INSTANCE EvtWmiInstanceSetInstance
Definition: wdf20.h:2939
PWDF_WMI_PROVIDER_CONFIG_V2_0 ProviderConfig
Definition: wdf20.h:2916
PFN_WDF_WMI_PROVIDER_FUNCTION_CONTROL EvtWmiProviderFunctionControl
Definition: wdf20.h:2895
PFN_WDF_WORKITEM EvtWorkItemFunc
Definition: wdf20.h:2961
BOOLEAN AutomaticSerialization
Definition: wdf20.h:2970
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_CHILD_LIST_CONFIG_V2_0 WDF_CHILD_LIST_CONFIG_V2_0
struct _WDF_CHILD_RETRIEVE_INFO_V2_0 * PWDF_CHILD_RETRIEVE_INFO_V2_0
Definition: wdf20.h:22
struct _WDF_WMI_INSTANCE_CONFIG_V2_0 WDF_WMI_INSTANCE_CONFIG_V2_0
const struct _WDF_USB_INTERFACE_SETTING_PAIR_V2_0 * PCWDF_USB_INTERFACE_SETTING_PAIR_V2_0
Definition: wdf20.h:151
struct _WDF_CLASS_BIND_INFO_V2_0 * PWDF_CLASS_BIND_INFO_V2_0
Definition: wdf20.h:36
struct _WDF_CLASS_VERSION_V2_0 WDF_CLASS_VERSION_V2_0
struct _WDF_MEMORY_DESCRIPTOR_V2_0 WDF_MEMORY_DESCRIPTOR_V2_0
const struct _WDF_REQUEST_FATAL_ERROR_INFORMATION_LENGTH_MISMATCH_DATA_V2_0 * PCWDF_REQUEST_FATAL_ERROR_INFORMATION_LENGTH_MISMATCH_DATA_V2_0
Definition: wdf20.h:15
struct _WDFIRPQUEUE_TRIAGE_INFO_V2_0 WDFIRPQUEUE_TRIAGE_INFO_V2_0
struct _WDFFWDPROGRESS_TRIAGE_INFO_V2_0 WDFFWDPROGRESS_TRIAGE_INFO_V2_0
struct _WDF_REQUEST_SEND_OPTIONS_V2_0 WDF_REQUEST_SEND_OPTIONS_V2_0
const struct _WDF_DPC_CONFIG_V2_0 * PCWDF_DPC_CONFIG_V2_0
Definition: wdf20.h:77
struct _WDF_TRIAGE_INFO_V2_0 WDF_TRIAGE_INFO_V2_0
struct _WDF_TRIAGE_INFO_V2_0 * PWDF_TRIAGE_INFO_V2_0
Definition: wdf20.h:142
const struct _WDF_DEVICE_POWER_POLICY_IDLE_SETTINGS_V2_0 * PCWDF_DEVICE_POWER_POLICY_IDLE_SETTINGS_V2_0
Definition: wdf20.h:53
struct _WDFCX_FILEOBJECT_CONFIG_V2_0 * PWDFCX_FILEOBJECT_CONFIG_V2_0
Definition: wdf20.h:30
struct _WDFCONTEXT_TRIAGE_INFO_V2_0 * PWDFCONTEXT_TRIAGE_INFO_V2_0
Definition: wdf20.h:126
const struct _WDF_DEVICE_POWER_POLICY_NOTIFICATION_DATA_V2_0 * PCWDF_DEVICE_POWER_POLICY_NOTIFICATION_DATA_V2_0
Definition: wdf20.h:47
struct _WDFIRPQUEUE_TRIAGE_INFO_V2_0 * PWDFIRPQUEUE_TRIAGE_INFO_V2_0
Definition: wdf20.h:134
const struct _WDF_USB_DEVICE_CREATE_CONFIG_V2_0 * PCWDF_USB_DEVICE_CREATE_CONFIG_V2_0
Definition: wdf20.h:159
struct _WDF_CHILD_ADDRESS_DESCRIPTION_HEADER_V2_0 * PWDF_CHILD_ADDRESS_DESCRIPTION_HEADER_V2_0
Definition: wdf20.h:20
struct _WDF_REQUEST_PARAMETERS_V2_0 * PWDF_REQUEST_PARAMETERS_V2_0
Definition: wdf20.h:112
struct _WDF_DPC_CONFIG_V2_0 * PWDF_DPC_CONFIG_V2_0
Definition: wdf20.h:76
struct _WDF_DEVICE_STATE_V2_0 * PWDF_DEVICE_STATE_V2_0
Definition: wdf20.h:56
struct _WDF_CUSTOM_TYPE_CONTEXT_V2_0 WDF_CUSTOM_TYPE_CONTEXT_V2_0
struct _WDF_USB_CONTINUOUS_READER_CONFIG_V2_0 * PWDF_USB_CONTINUOUS_READER_CONFIG_V2_0
Definition: wdf20.h:146
struct _WDF_PNPPOWER_EVENT_CALLBACKS_V2_0 WDF_PNPPOWER_EVENT_CALLBACKS_V2_0
const struct _WDF_REQUEST_COMPLETION_PARAMS_V2_0 * PCWDF_REQUEST_COMPLETION_PARAMS_V2_0
Definition: wdf20.h:115
const struct _WDF_TIMER_CONFIG_V2_0 * PCWDF_TIMER_CONFIG_V2_0
Definition: wdf20.h:123
struct _WDF_DEVICE_PNP_NOTIFICATION_DATA_V2_0 WDF_DEVICE_PNP_NOTIFICATION_DATA_V2_0
const struct _WDF_IO_TARGET_OPEN_PARAMS_V2_0 * PCWDF_IO_TARGET_OPEN_PARAMS_V2_0
Definition: wdf20.h:97
const struct _WDF_DRIVER_CONFIG_V2_0 * PCWDF_DRIVER_CONFIG_V2_0
Definition: wdf20.h:79
const struct _WDF_USB_CONTINUOUS_READER_CONFIG_V2_0 * PCWDF_USB_CONTINUOUS_READER_CONFIG_V2_0
Definition: wdf20.h:147
enum _WDFFUNCENUM_V2_0 WDFFUNCENUM_V2_0
struct _WDF_INTERRUPT_INFO_V2_0 * PWDF_INTERRUPT_INFO_V2_0
Definition: wdf20.h:88
struct _WDFDEVICE_TRIAGE_INFO_V2_0 WDFDEVICE_TRIAGE_INFO_V2_0
struct _WDF_CUSTOM_TYPE_CONTEXT_V2_0 * PWDF_CUSTOM_TYPE_CONTEXT_V2_0
Definition: wdf20.h:106
const struct _WDF_CLASS_VERSION_V2_0 * PCWDF_CLASS_VERSION_V2_0
Definition: wdf20.h:35
const struct _WDFCX_FILEOBJECT_CONFIG_V2_0 * PCWDFCX_FILEOBJECT_CONFIG_V2_0
Definition: wdf20.h:31
const struct _WDF_IO_QUEUE_CONFIG_V2_0 * PCWDF_IO_QUEUE_CONFIG_V2_0
Definition: wdf20.h:93
const struct _WDF_QUERY_INTERFACE_CONFIG_V2_0 * PCWDF_QUERY_INTERFACE_CONFIG_V2_0
Definition: wdf20.h:111
const struct _WDF_DEVICE_STATE_V2_0 * PCWDF_DEVICE_STATE_V2_0
Definition: wdf20.h:57
struct _WDF_USB_DEVICE_SELECT_CONFIG_PARAMS_V2_0 WDF_USB_DEVICE_SELECT_CONFIG_PARAMS_V2_0
struct _WDFCONTEXTTYPE_TRIAGE_INFO_V2_0 WDFCONTEXTTYPE_TRIAGE_INFO_V2_0
const struct _WDF_CUSTOM_TYPE_CONTEXT_V2_0 * PCWDF_CUSTOM_TYPE_CONTEXT_V2_0
Definition: wdf20.h:107
const struct _WDF_USB_DEVICE_INFORMATION_V2_0 * PCWDF_USB_DEVICE_INFORMATION_V2_0
Definition: wdf20.h:149
struct _WDF_INTERRUPT_CONFIG_V2_0 * PWDF_INTERRUPT_CONFIG_V2_0
Definition: wdf20.h:86
struct _WDF_OBJECT_CONTEXT_TYPE_INFO_V2_0 * PWDF_OBJECT_CONTEXT_TYPE_INFO_V2_0
Definition: wdf20.h:104
struct _WDF_REMOVE_LOCK_OPTIONS_V2_0 WDF_REMOVE_LOCK_OPTIONS_V2_0
struct _WDF_POWER_FRAMEWORK_SETTINGS_V2_0 * PWDF_POWER_FRAMEWORK_SETTINGS_V2_0
Definition: wdf20.h:64
struct _WDF_REQUEST_COMPLETION_PARAMS_V2_0 * PWDF_REQUEST_COMPLETION_PARAMS_V2_0
Definition: wdf20.h:114
struct _WDF_DRIVER_VERSION_AVAILABLE_PARAMS_V2_0 WDF_DRIVER_VERSION_AVAILABLE_PARAMS_V2_0
struct _WDF_USB_PIPE_INFORMATION_V2_0 * PWDF_USB_PIPE_INFORMATION_V2_0
Definition: wdf20.h:156
struct _WDF_DRIVER_CONFIG_V2_0 WDF_DRIVER_CONFIG_V2_0
struct _WDF_POWER_FRAMEWORK_SETTINGS_V2_0 WDF_POWER_FRAMEWORK_SETTINGS_V2_0
struct _WDF_DEVICE_POWER_CAPABILITIES_V2_0 WDF_DEVICE_POWER_CAPABILITIES_V2_0
struct _WDFCONTEXT_TRIAGE_INFO_V2_0 WDFCONTEXT_TRIAGE_INFO_V2_0
const struct _WDF_DEVICE_PNP_CAPABILITIES_V2_0 * PCWDF_DEVICE_PNP_CAPABILITIES_V2_0
Definition: wdf20.h:59
const struct _WDF_FDO_EVENT_CALLBACKS_V2_0 * PCWDF_FDO_EVENT_CALLBACKS_V2_0
Definition: wdf20.h:83
const struct _WDFIRPQUEUE_TRIAGE_INFO_V2_0 * PCWDFIRPQUEUE_TRIAGE_INFO_V2_0
Definition: wdf20.h:135
struct _WDF_DRIVER_VERSION_AVAILABLE_PARAMS_V2_0 * PWDF_DRIVER_VERSION_AVAILABLE_PARAMS_V2_0
Definition: wdf20.h:80
struct _WDF_OBJECT_ATTRIBUTES_V2_0 * PWDF_OBJECT_ATTRIBUTES_V2_0
Definition: wdf20.h:102
struct _WDF_REQUEST_REUSE_PARAMS_V2_0 WDF_REQUEST_REUSE_PARAMS_V2_0
struct _WDF_USB_INTERFACE_SETTING_PAIR_V2_0 WDF_USB_INTERFACE_SETTING_PAIR_V2_0
const struct _WDFDEVICE_TRIAGE_INFO_V2_0 * PCWDFDEVICE_TRIAGE_INFO_V2_0
Definition: wdf20.h:139
const struct _WDF_OBJECT_ATTRIBUTES_V2_0 * PCWDF_OBJECT_ATTRIBUTES_V2_0
Definition: wdf20.h:103
const struct _WDF_DMA_ENABLER_CONFIG_V2_0 * PCWDF_DMA_ENABLER_CONFIG_V2_0
Definition: wdf20.h:73
struct _WDF_CHILD_LIST_ITERATOR_V2_0 WDF_CHILD_LIST_ITERATOR_V2_0
struct _WDF_OBJECT_CONTEXT_TYPE_INFO_V2_0 WDF_OBJECT_CONTEXT_TYPE_INFO_V2_0
struct _WDF_REQUEST_COMPLETION_PARAMS_V2_0 WDF_REQUEST_COMPLETION_PARAMS_V2_0
struct _WDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER_V2_0 WDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER_V2_0
const struct _WDF_DEVICE_POWER_CAPABILITIES_V2_0 * PCWDF_DEVICE_POWER_CAPABILITIES_V2_0
Definition: wdf20.h:61
struct _WDF_REMOVE_LOCK_OPTIONS_V2_0 * PWDF_REMOVE_LOCK_OPTIONS_V2_0
Definition: wdf20.h:62
struct _WDF_USB_DEVICE_CREATE_CONFIG_V2_0 * PWDF_USB_DEVICE_CREATE_CONFIG_V2_0
Definition: wdf20.h:158
const struct _WDF_POWER_POLICY_EVENT_CALLBACKS_V2_0 * PCWDF_POWER_POLICY_EVENT_CALLBACKS_V2_0
Definition: wdf20.h:51
struct _WDFMEMORY_OFFSET_V2_0 WDFMEMORY_OFFSET_V2_0
struct _WDF_DEVICE_POWER_POLICY_IDLE_SETTINGS_V2_0 WDF_DEVICE_POWER_POLICY_IDLE_SETTINGS_V2_0
const struct _WDF_DEVICE_PNP_NOTIFICATION_DATA_V2_0 * PCWDF_DEVICE_PNP_NOTIFICATION_DATA_V2_0
Definition: wdf20.h:43
const struct _WDF_CHILD_LIST_ITERATOR_V2_0 * PCWDF_CHILD_LIST_ITERATOR_V2_0
Definition: wdf20.h:27
struct _WDFREQUEST_TRIAGE_INFO_V2_0 * PWDFREQUEST_TRIAGE_INFO_V2_0
Definition: wdf20.h:136
struct _WDF_USB_PIPE_INFORMATION_V2_0 WDF_USB_PIPE_INFORMATION_V2_0
struct _WDF_DEVICE_POWER_NOTIFICATION_DATA_V2_0 * PWDF_DEVICE_POWER_NOTIFICATION_DATA_V2_0
Definition: wdf20.h:44
struct _WDF_CHILD_RETRIEVE_INFO_V2_0 WDF_CHILD_RETRIEVE_INFO_V2_0
const struct _WDF_WORKITEM_CONFIG_V2_0 * PCWDF_WORKITEM_CONFIG_V2_0
Definition: wdf20.h:165
struct _WDF_QUERY_INTERFACE_CONFIG_V2_0 WDF_QUERY_INTERFACE_CONFIG_V2_0
const struct _WDF_CLASS_BIND_INFO_V2_0 * PCWDF_CLASS_BIND_INFO_V2_0
Definition: wdf20.h:37
struct _WDF_INTERRUPT_CONFIG_V2_0 WDF_INTERRUPT_CONFIG_V2_0
struct _WDF_INTERRUPT_EXTENDED_POLICY_V2_0 WDF_INTERRUPT_EXTENDED_POLICY_V2_0
struct _WDF_DEVICE_PNP_NOTIFICATION_DATA_V2_0 * PWDF_DEVICE_PNP_NOTIFICATION_DATA_V2_0
Definition: wdf20.h:42
struct _WDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER_V2_0 * PWDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER_V2_0
Definition: wdf20.h:18
const struct _WDF_DEVICE_INTERFACE_PROPERTY_DATA_V2_0 * PCWDF_DEVICE_INTERFACE_PROPERTY_DATA_V2_0
Definition: wdf20.h:69
struct _WDF_USB_DEVICE_SELECT_CONFIG_PARAMS_V2_0 * PWDF_USB_DEVICE_SELECT_CONFIG_PARAMS_V2_0
Definition: wdf20.h:152
struct _WDF_DEVICE_INTERFACE_PROPERTY_DATA_V2_0 WDF_DEVICE_INTERFACE_PROPERTY_DATA_V2_0
struct _WDF_DRIVER_CONFIG_V2_0 * PWDF_DRIVER_CONFIG_V2_0
Definition: wdf20.h:78
const struct _WDF_OBJECT_CONTEXT_TYPE_INFO_V2_0 * PCWDF_OBJECT_CONTEXT_TYPE_INFO_V2_0
Definition: wdf20.h:105
struct _WDF_OBJECT_ATTRIBUTES_V2_0 WDF_OBJECT_ATTRIBUTES_V2_0
struct _WDFQUEUE_TRIAGE_INFO_V2_0 * PWDFQUEUE_TRIAGE_INFO_V2_0
Definition: wdf20.h:130
struct _WDF_DEVICE_PROPERTY_DATA_V2_0 * PWDF_DEVICE_PROPERTY_DATA_V2_0
Definition: wdf20.h:70
struct _WDFCONTEXTTYPE_TRIAGE_INFO_V2_0 * PWDFCONTEXTTYPE_TRIAGE_INFO_V2_0
Definition: wdf20.h:128
struct _WDFMEMORY_OFFSET_V2_0 * PWDFMEMORY_OFFSET_V2_0
Definition: wdf20.h:98
struct _WDF_PNPPOWER_EVENT_CALLBACKS_V2_0 * PWDF_PNPPOWER_EVENT_CALLBACKS_V2_0
Definition: wdf20.h:48
struct _WDF_USB_DEVICE_CREATE_CONFIG_V2_0 WDF_USB_DEVICE_CREATE_CONFIG_V2_0
struct _WDF_WMI_INSTANCE_CONFIG_V2_0 * PWDF_WMI_INSTANCE_CONFIG_V2_0
Definition: wdf20.h:162
const struct _WDF_TRIAGE_INFO_V2_0 * PCWDF_TRIAGE_INFO_V2_0
Definition: wdf20.h:143
struct _WDF_FDO_EVENT_CALLBACKS_V2_0 * PWDF_FDO_EVENT_CALLBACKS_V2_0
Definition: wdf20.h:82
struct _WDF_REQUEST_REUSE_PARAMS_V2_0 * PWDF_REQUEST_REUSE_PARAMS_V2_0
Definition: wdf20.h:116
struct _WDF_POWER_ROUTINE_TIMED_OUT_DATA_V2_0 * PWDF_POWER_ROUTINE_TIMED_OUT_DATA_V2_0
Definition: wdf20.h:12
const struct _WDFREQUEST_TRIAGE_INFO_V2_0 * PCWDFREQUEST_TRIAGE_INFO_V2_0
Definition: wdf20.h:137
const struct _WDFOBJECT_TRIAGE_INFO_V2_0 * PCWDFOBJECT_TRIAGE_INFO_V2_0
Definition: wdf20.h:125
struct _WDF_CLASS_LIBRARY_INFO_V2_0 WDF_CLASS_LIBRARY_INFO_V2_0
struct _WDF_DEVICE_POWER_POLICY_WAKE_SETTINGS_V2_0 WDF_DEVICE_POWER_POLICY_WAKE_SETTINGS_V2_0
const struct _WDF_DEVICE_POWER_POLICY_WAKE_SETTINGS_V2_0 * PCWDF_DEVICE_POWER_POLICY_WAKE_SETTINGS_V2_0
Definition: wdf20.h:55
struct _WDF_QUERY_INTERFACE_CONFIG_V2_0 * PWDF_QUERY_INTERFACE_CONFIG_V2_0
Definition: wdf20.h:110
const struct _WDF_USB_INTERFACE_SELECT_SETTING_PARAMS_V2_0 * PCWDF_USB_INTERFACE_SELECT_SETTING_PARAMS_V2_0
Definition: wdf20.h:155
const struct _WDF_QUEUE_FATAL_ERROR_DATA_V2_0 * PCWDF_QUEUE_FATAL_ERROR_DATA_V2_0
Definition: wdf20.h:17
const struct _WDF_DEVICE_PROPERTY_DATA_V2_0 * PCWDF_DEVICE_PROPERTY_DATA_V2_0
Definition: wdf20.h:71
struct _WDF_CLASS_VERSION_V2_0 * PWDF_CLASS_VERSION_V2_0
Definition: wdf20.h:34
struct _WDF_DRIVER_GLOBALS_V2_0 WDF_DRIVER_GLOBALS_V2_0
struct _WDF_DEVICE_POWER_POLICY_NOTIFICATION_DATA_V2_0 * PWDF_DEVICE_POWER_POLICY_NOTIFICATION_DATA_V2_0
Definition: wdf20.h:46
struct _WDFIRP_TRIAGE_INFO_V2_0 * PWDFIRP_TRIAGE_INFO_V2_0
Definition: wdf20.h:140
const struct _WDF_REQUEST_REUSE_PARAMS_V2_0 * PCWDF_REQUEST_REUSE_PARAMS_V2_0
Definition: wdf20.h:117
struct _WDFCX_FILEOBJECT_CONFIG_V2_0 WDFCX_FILEOBJECT_CONFIG_V2_0
const struct _WDF_CLASS_LIBRARY_INFO_V2_0 * PCWDF_CLASS_LIBRARY_INFO_V2_0
Definition: wdf20.h:39
const struct _WDF_REQUEST_PARAMETERS_V2_0 * PCWDF_REQUEST_PARAMETERS_V2_0
Definition: wdf20.h:113
const struct _WDFQUEUE_TRIAGE_INFO_V2_0 * PCWDFQUEUE_TRIAGE_INFO_V2_0
Definition: wdf20.h:131
struct _WDF_DEVICE_POWER_CAPABILITIES_V2_0 * PWDF_DEVICE_POWER_CAPABILITIES_V2_0
Definition: wdf20.h:60
struct _WDF_IO_QUEUE_FORWARD_PROGRESS_POLICY_V2_0 * PWDF_IO_QUEUE_FORWARD_PROGRESS_POLICY_V2_0
Definition: wdf20.h:94
struct _WDF_MEMORY_DESCRIPTOR_V2_0 * PWDF_MEMORY_DESCRIPTOR_V2_0
Definition: wdf20.h:100
struct _WDF_DEVICE_POWER_POLICY_NOTIFICATION_DATA_V2_0 WDF_DEVICE_POWER_POLICY_NOTIFICATION_DATA_V2_0
const struct _WDF_PNPPOWER_EVENT_CALLBACKS_V2_0 * PCWDF_PNPPOWER_EVENT_CALLBACKS_V2_0
Definition: wdf20.h:49
const struct _WDF_CHILD_RETRIEVE_INFO_V2_0 * PCWDF_CHILD_RETRIEVE_INFO_V2_0
Definition: wdf20.h:23
struct _WDF_REQUEST_FORWARD_OPTIONS_V2_0 WDF_REQUEST_FORWARD_OPTIONS_V2_0
struct _WDF_CLASS_EXTENSION_DESCRIPTOR_V2_0 * PWDF_CLASS_EXTENSION_DESCRIPTOR_V2_0
Definition: wdf20.h:32
struct _WDF_FILEOBJECT_CONFIG_V2_0 * PWDF_FILEOBJECT_CONFIG_V2_0
Definition: wdf20.h:40
struct _WDF_DEVICE_PNP_CAPABILITIES_V2_0 WDF_DEVICE_PNP_CAPABILITIES_V2_0
const struct _WDF_DEVICE_POWER_NOTIFICATION_DATA_V2_0 * PCWDF_DEVICE_POWER_NOTIFICATION_DATA_V2_0
Definition: wdf20.h:45
struct _WDFREQUEST_TRIAGE_INFO_V2_0 WDFREQUEST_TRIAGE_INFO_V2_0
const struct _WDF_MEMORY_DESCRIPTOR_V2_0 * PCWDF_MEMORY_DESCRIPTOR_V2_0
Definition: wdf20.h:101
struct _WDFIRP_TRIAGE_INFO_V2_0 WDFIRP_TRIAGE_INFO_V2_0
struct _WDF_DEVICE_INTERFACE_PROPERTY_DATA_V2_0 * PWDF_DEVICE_INTERFACE_PROPERTY_DATA_V2_0
Definition: wdf20.h:68
const struct _WDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER_V2_0 * PCWDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER_V2_0
Definition: wdf20.h:19
const struct _WDF_CHILD_ADDRESS_DESCRIPTION_HEADER_V2_0 * PCWDF_CHILD_ADDRESS_DESCRIPTION_HEADER_V2_0
Definition: wdf20.h:21
struct _WDF_DEVICE_PNP_CAPABILITIES_V2_0 * PWDF_DEVICE_PNP_CAPABILITIES_V2_0
Definition: wdf20.h:58
const struct _WDF_INTERRUPT_CONFIG_V2_0 * PCWDF_INTERRUPT_CONFIG_V2_0
Definition: wdf20.h:87
struct _WDF_COMMON_BUFFER_CONFIG_V2_0 * PWDF_COMMON_BUFFER_CONFIG_V2_0
Definition: wdf20.h:28
struct _WDF_CLASS_BIND_INFO_V2_0 WDF_CLASS_BIND_INFO_V2_0
struct _WDF_DMA_ENABLER_CONFIG_V2_0 * PWDF_DMA_ENABLER_CONFIG_V2_0
Definition: wdf20.h:72
struct _WDF_QUEUE_FATAL_ERROR_DATA_V2_0 WDF_QUEUE_FATAL_ERROR_DATA_V2_0
struct _WDF_DEVICE_POWER_NOTIFICATION_DATA_V2_0 WDF_DEVICE_POWER_NOTIFICATION_DATA_V2_0
const struct _WDF_IO_QUEUE_FORWARD_PROGRESS_POLICY_V2_0 * PCWDF_IO_QUEUE_FORWARD_PROGRESS_POLICY_V2_0
Definition: wdf20.h:95
struct _WDF_DRIVER_GLOBALS_V2_0 * PWDF_DRIVER_GLOBALS_V2_0
Definition: wdf20.h:84
struct _WDF_DEVICE_POWER_POLICY_IDLE_SETTINGS_V2_0 * PWDF_DEVICE_POWER_POLICY_IDLE_SETTINGS_V2_0
Definition: wdf20.h:52
const struct _WDF_INTERRUPT_EXTENDED_POLICY_V2_0 * PCWDF_INTERRUPT_EXTENDED_POLICY_V2_0
Definition: wdf20.h:91
const struct _WDFFWDPROGRESS_TRIAGE_INFO_V2_0 * PCWDFFWDPROGRESS_TRIAGE_INFO_V2_0
Definition: wdf20.h:133
struct _WDF_DEVICE_STATE_V2_0 WDF_DEVICE_STATE_V2_0
struct _WDF_POWER_ROUTINE_TIMED_OUT_DATA_V2_0 WDF_POWER_ROUTINE_TIMED_OUT_DATA_V2_0
struct _WDF_WORKITEM_CONFIG_V2_0 * PWDF_WORKITEM_CONFIG_V2_0
Definition: wdf20.h:164
struct _WDF_PDO_EVENT_CALLBACKS_V2_0 WDF_PDO_EVENT_CALLBACKS_V2_0
struct _WDF_IO_TYPE_CONFIG_V2_0 WDF_IO_TYPE_CONFIG_V2_0
struct _WDF_WMI_PROVIDER_CONFIG_V2_0 WDF_WMI_PROVIDER_CONFIG_V2_0
struct _WDF_TIMER_CONFIG_V2_0 * PWDF_TIMER_CONFIG_V2_0
Definition: wdf20.h:122
struct _WDF_REQUEST_FORWARD_OPTIONS_V2_0 * PWDF_REQUEST_FORWARD_OPTIONS_V2_0
Definition: wdf20.h:120
const struct _WDFCONTEXTTYPE_TRIAGE_INFO_V2_0 * PCWDFCONTEXTTYPE_TRIAGE_INFO_V2_0
Definition: wdf20.h:129
struct _WDF_DMA_SYSTEM_PROFILE_CONFIG_V2_0 * PWDF_DMA_SYSTEM_PROFILE_CONFIG_V2_0
Definition: wdf20.h:74
struct _WDFOBJECT_TRIAGE_INFO_V2_0 WDFOBJECT_TRIAGE_INFO_V2_0
struct _WDF_FILEOBJECT_CONFIG_V2_0 WDF_FILEOBJECT_CONFIG_V2_0
struct _WDF_IO_QUEUE_FORWARD_PROGRESS_POLICY_V2_0 WDF_IO_QUEUE_FORWARD_PROGRESS_POLICY_V2_0
struct _WDF_USB_REQUEST_COMPLETION_PARAMS_V2_0 WDF_USB_REQUEST_COMPLETION_PARAMS_V2_0
struct _WDF_USB_DEVICE_INFORMATION_V2_0 WDF_USB_DEVICE_INFORMATION_V2_0
struct _WDF_REQUEST_FATAL_ERROR_INFORMATION_LENGTH_MISMATCH_DATA_V2_0 WDF_REQUEST_FATAL_ERROR_INFORMATION_LENGTH_MISMATCH_DATA_V2_0
struct _WDF_POWER_POLICY_EVENT_CALLBACKS_V2_0 WDF_POWER_POLICY_EVENT_CALLBACKS_V2_0
const struct _WDFMEMORY_OFFSET_V2_0 * PCWDFMEMORY_OFFSET_V2_0
Definition: wdf20.h:99
struct _WDF_REQUEST_FATAL_ERROR_INFORMATION_LENGTH_MISMATCH_DATA_V2_0 * PWDF_REQUEST_FATAL_ERROR_INFORMATION_LENGTH_MISMATCH_DATA_V2_0
Definition: wdf20.h:14
struct _WDF_USB_REQUEST_COMPLETION_PARAMS_V2_0 * PWDF_USB_REQUEST_COMPLETION_PARAMS_V2_0
Definition: wdf20.h:144
struct _WDF_CHILD_LIST_ITERATOR_V2_0 * PWDF_CHILD_LIST_ITERATOR_V2_0
Definition: wdf20.h:26
struct _WDF_CHILD_ADDRESS_DESCRIPTION_HEADER_V2_0 WDF_CHILD_ADDRESS_DESCRIPTION_HEADER_V2_0
struct _WDF_IO_TYPE_CONFIG_V2_0 * PWDF_IO_TYPE_CONFIG_V2_0
Definition: wdf20.h:66
struct _WDF_POWER_POLICY_EVENT_CALLBACKS_V2_0 * PWDF_POWER_POLICY_EVENT_CALLBACKS_V2_0
Definition: wdf20.h:50
struct _WDF_REQUEST_PARAMETERS_V2_0 WDF_REQUEST_PARAMETERS_V2_0
struct _WDF_QUEUE_FATAL_ERROR_DATA_V2_0 * PWDF_QUEUE_FATAL_ERROR_DATA_V2_0
Definition: wdf20.h:16
const struct _WDF_POWER_ROUTINE_TIMED_OUT_DATA_V2_0 * PCWDF_POWER_ROUTINE_TIMED_OUT_DATA_V2_0
Definition: wdf20.h:13
const struct _WDF_POWER_FRAMEWORK_SETTINGS_V2_0 * PCWDF_POWER_FRAMEWORK_SETTINGS_V2_0
Definition: wdf20.h:65
struct _WDF_IO_TARGET_OPEN_PARAMS_V2_0 * PWDF_IO_TARGET_OPEN_PARAMS_V2_0
Definition: wdf20.h:96
const struct _WDF_FILEOBJECT_CONFIG_V2_0 * PCWDF_FILEOBJECT_CONFIG_V2_0
Definition: wdf20.h:41
struct _WDFFWDPROGRESS_TRIAGE_INFO_V2_0 * PWDFFWDPROGRESS_TRIAGE_INFO_V2_0
Definition: wdf20.h:132
const struct _WDF_REMOVE_LOCK_OPTIONS_V2_0 * PCWDF_REMOVE_LOCK_OPTIONS_V2_0
Definition: wdf20.h:63
struct _WDFDEVICE_TRIAGE_INFO_V2_0 * PWDFDEVICE_TRIAGE_INFO_V2_0
Definition: wdf20.h:138
const struct _WDF_WMI_INSTANCE_CONFIG_V2_0 * PCWDF_WMI_INSTANCE_CONFIG_V2_0
Definition: wdf20.h:163
struct _WDF_IO_TARGET_OPEN_PARAMS_V2_0 WDF_IO_TARGET_OPEN_PARAMS_V2_0
struct _WDF_USB_CONTINUOUS_READER_CONFIG_V2_0 WDF_USB_CONTINUOUS_READER_CONFIG_V2_0
const struct _WDF_USB_DEVICE_SELECT_CONFIG_PARAMS_V2_0 * PCWDF_USB_DEVICE_SELECT_CONFIG_PARAMS_V2_0
Definition: wdf20.h:153
_WDFFUNCENUM_V2_0
Definition: wdf20.h:8
@ WdfFunctionTableNumEntries_V2_0
Definition: wdf20.h:9
struct _WDF_DEVICE_PROPERTY_DATA_V2_0 WDF_DEVICE_PROPERTY_DATA_V2_0
const struct _WDF_PDO_EVENT_CALLBACKS_V2_0 * PCWDF_PDO_EVENT_CALLBACKS_V2_0
Definition: wdf20.h:109
const struct _WDF_DRIVER_VERSION_AVAILABLE_PARAMS_V2_0 * PCWDF_DRIVER_VERSION_AVAILABLE_PARAMS_V2_0
Definition: wdf20.h:81
const struct _WDFIRP_TRIAGE_INFO_V2_0 * PCWDFIRP_TRIAGE_INFO_V2_0
Definition: wdf20.h:141
struct _WDF_IO_QUEUE_CONFIG_V2_0 WDF_IO_QUEUE_CONFIG_V2_0
struct _WDFOBJECT_TRIAGE_INFO_V2_0 * PWDFOBJECT_TRIAGE_INFO_V2_0
Definition: wdf20.h:124
struct _WDF_FDO_EVENT_CALLBACKS_V2_0 WDF_FDO_EVENT_CALLBACKS_V2_0
struct _WDF_CLASS_LIBRARY_INFO_V2_0 * PWDF_CLASS_LIBRARY_INFO_V2_0
Definition: wdf20.h:38
const struct _WDF_CHILD_LIST_CONFIG_V2_0 * PCWDF_CHILD_LIST_CONFIG_V2_0
Definition: wdf20.h:25
struct _WDF_IO_QUEUE_CONFIG_V2_0 * PWDF_IO_QUEUE_CONFIG_V2_0
Definition: wdf20.h:92
struct _WDF_PDO_EVENT_CALLBACKS_V2_0 * PWDF_PDO_EVENT_CALLBACKS_V2_0
Definition: wdf20.h:108
struct _WDF_USB_DEVICE_INFORMATION_V2_0 * PWDF_USB_DEVICE_INFORMATION_V2_0
Definition: wdf20.h:148
const struct _WDF_CLASS_EXTENSION_DESCRIPTOR_V2_0 * PCWDF_CLASS_EXTENSION_DESCRIPTOR_V2_0
Definition: wdf20.h:33
struct _WDF_INTERRUPT_EXTENDED_POLICY_V2_0 * PWDF_INTERRUPT_EXTENDED_POLICY_V2_0
Definition: wdf20.h:90
struct _WDF_USB_INTERFACE_SELECT_SETTING_PARAMS_V2_0 WDF_USB_INTERFACE_SELECT_SETTING_PARAMS_V2_0
const struct _WDF_USB_REQUEST_COMPLETION_PARAMS_V2_0 * PCWDF_USB_REQUEST_COMPLETION_PARAMS_V2_0
Definition: wdf20.h:145
const struct _WDF_INTERRUPT_INFO_V2_0 * PCWDF_INTERRUPT_INFO_V2_0
Definition: wdf20.h:89
const struct _WDF_COMMON_BUFFER_CONFIG_V2_0 * PCWDF_COMMON_BUFFER_CONFIG_V2_0
Definition: wdf20.h:29
const struct _WDF_DRIVER_GLOBALS_V2_0 * PCWDF_DRIVER_GLOBALS_V2_0
Definition: wdf20.h:85
const struct _WDF_IO_TYPE_CONFIG_V2_0 * PCWDF_IO_TYPE_CONFIG_V2_0
Definition: wdf20.h:67
const struct _WDF_DMA_SYSTEM_PROFILE_CONFIG_V2_0 * PCWDF_DMA_SYSTEM_PROFILE_CONFIG_V2_0
Definition: wdf20.h:75
struct _WDF_CHILD_LIST_CONFIG_V2_0 * PWDF_CHILD_LIST_CONFIG_V2_0
Definition: wdf20.h:24
struct _WDF_WORKITEM_CONFIG_V2_0 WDF_WORKITEM_CONFIG_V2_0
struct _WDF_USB_INTERFACE_SETTING_PAIR_V2_0 * PWDF_USB_INTERFACE_SETTING_PAIR_V2_0
Definition: wdf20.h:150
struct _WDF_USB_INTERFACE_SELECT_SETTING_PARAMS_V2_0 * PWDF_USB_INTERFACE_SELECT_SETTING_PARAMS_V2_0
Definition: wdf20.h:154
const struct _WDF_USB_PIPE_INFORMATION_V2_0 * PCWDF_USB_PIPE_INFORMATION_V2_0
Definition: wdf20.h:157
const struct _WDF_WMI_PROVIDER_CONFIG_V2_0 * PCWDF_WMI_PROVIDER_CONFIG_V2_0
Definition: wdf20.h:161
struct _WDFQUEUE_TRIAGE_INFO_V2_0 WDFQUEUE_TRIAGE_INFO_V2_0
const struct _WDF_REQUEST_SEND_OPTIONS_V2_0 * PCWDF_REQUEST_SEND_OPTIONS_V2_0
Definition: wdf20.h:119
struct _WDF_DEVICE_POWER_POLICY_WAKE_SETTINGS_V2_0 * PWDF_DEVICE_POWER_POLICY_WAKE_SETTINGS_V2_0
Definition: wdf20.h:54
struct _WDF_WMI_PROVIDER_CONFIG_V2_0 * PWDF_WMI_PROVIDER_CONFIG_V2_0
Definition: wdf20.h:160
struct _WDF_REQUEST_SEND_OPTIONS_V2_0 * PWDF_REQUEST_SEND_OPTIONS_V2_0
Definition: wdf20.h:118
const struct _WDFCONTEXT_TRIAGE_INFO_V2_0 * PCWDFCONTEXT_TRIAGE_INFO_V2_0
Definition: wdf20.h:127
const struct _WDF_REQUEST_FORWARD_OPTIONS_V2_0 * PCWDF_REQUEST_FORWARD_OPTIONS_V2_0
Definition: wdf20.h:121
EVT_WDF_CHILD_LIST_ADDRESS_DESCRIPTION_COPY * PFN_WDF_CHILD_LIST_ADDRESS_DESCRIPTION_COPY
Definition: wdfchildlist.h:225
EVT_WDF_CHILD_LIST_SCAN_FOR_CHILDREN * PFN_WDF_CHILD_LIST_SCAN_FOR_CHILDREN
Definition: wdfchildlist.h:142
EVT_WDF_CHILD_LIST_CREATE_DEVICE * PFN_WDF_CHILD_LIST_CREATE_DEVICE
Definition: wdfchildlist.h:129
EVT_WDF_CHILD_LIST_IDENTIFICATION_DESCRIPTION_COPY * PFN_WDF_CHILD_LIST_IDENTIFICATION_DESCRIPTION_COPY
Definition: wdfchildlist.h:159
EVT_WDF_CHILD_LIST_ADDRESS_DESCRIPTION_CLEANUP * PFN_WDF_CHILD_LIST_ADDRESS_DESCRIPTION_CLEANUP
Definition: wdfchildlist.h:257
EVT_WDF_CHILD_LIST_IDENTIFICATION_DESCRIPTION_DUPLICATE * PFN_WDF_CHILD_LIST_IDENTIFICATION_DESCRIPTION_DUPLICATE
Definition: wdfchildlist.h:176
EVT_WDF_CHILD_LIST_IDENTIFICATION_DESCRIPTION_CLEANUP * PFN_WDF_CHILD_LIST_IDENTIFICATION_DESCRIPTION_CLEANUP
Definition: wdfchildlist.h:208
EVT_WDF_CHILD_LIST_ADDRESS_DESCRIPTION_DUPLICATE * PFN_WDF_CHILD_LIST_ADDRESS_DESCRIPTION_DUPLICATE
Definition: wdfchildlist.h:242
EVT_WDF_CHILD_LIST_DEVICE_REENUMERATED * PFN_WDF_CHILD_LIST_DEVICE_REENUMERATED
Definition: wdfchildlist.h:276
WDF_EXTERN_C_START enum _WDF_CHILD_LIST_RETRIEVE_DEVICE_STATUS WDF_CHILD_LIST_RETRIEVE_DEVICE_STATUS
EVT_WDF_CHILD_LIST_IDENTIFICATION_DESCRIPTION_COMPARE * PFN_WDF_CHILD_LIST_IDENTIFICATION_DESCRIPTION_COMPARE
Definition: wdfchildlist.h:193
BOOLEAN(STDCALL * PFN_WDFCX_DEVICE_FILE_CREATE)(_In_ WDFDEVICE Device, _In_ WDFREQUEST Request, _In_opt_ WDFFILEOBJECT FileObject)
Definition: wdfcx.h:12
EVT_WDF_DEVICE_QUERY_STOP * PFN_WDF_DEVICE_QUERY_STOP
Definition: wdfdevice.h:986
_In_ WDFDEVICE _Out_ PWDF_DEVICE_STATE DeviceState
Definition: wdfdevice.h:1999
EVT_WDFDEVICE_WDM_PRE_PO_FX_UNREGISTER_DEVICE * PFN_WDFDEVICE_WDM_PRE_PO_FX_UNREGISTER_DEVICE
Definition: wdfdevice.h:1758
enum _WDF_STATE_NOTIFICATION_TYPE WDF_STATE_NOTIFICATION_TYPE
EVT_WDF_DEVICE_SELF_MANAGED_IO_SUSPEND * PFN_WDF_DEVICE_SELF_MANAGED_IO_SUSPEND
Definition: wdfdevice.h:960
enum _WDF_REQUEST_TYPE WDF_REQUEST_TYPE
EVT_WDF_DEVICE_USAGE_NOTIFICATION_EX * PFN_WDF_DEVICE_USAGE_NOTIFICATION_EX
Definition: wdfdevice.h:1046
enum _WDF_POWER_POLICY_S0_IDLE_USER_CONTROL WDF_POWER_POLICY_S0_IDLE_USER_CONTROL
EVT_WDF_DEVICE_PREPARE_HARDWARE * PFN_WDF_DEVICE_PREPARE_HARDWARE
Definition: wdfdevice.h:893
enum _WDF_DEVICE_POWER_STATE WDF_DEVICE_POWER_STATE
EVT_WDF_DEVICE_ARM_WAKE_FROM_SX * PFN_WDF_DEVICE_ARM_WAKE_FROM_SX
Definition: wdfdevice.h:1087
enum _WDF_FILEOBJECT_CLASS WDF_FILEOBJECT_CLASS
EVT_WDF_DEVICE_DISARM_WAKE_FROM_S0 * PFN_WDF_DEVICE_DISARM_WAKE_FROM_S0
Definition: wdfdevice.h:1117
EVT_WDF_DEVICE_ARM_WAKE_FROM_S0 * PFN_WDF_DEVICE_ARM_WAKE_FROM_S0
Definition: wdfdevice.h:1074
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_POWER_POLICY_IDLE_SETTINGS Settings
Definition: wdfdevice.h:2595
EVT_WDF_DEVICE_WAKE_FROM_SX_TRIGGERED * PFN_WDF_DEVICE_WAKE_FROM_SX_TRIGGERED
Definition: wdfdevice.h:1156
EVT_WDF_DEVICE_D0_EXIT_PRE_INTERRUPTS_DISABLED * PFN_WDF_DEVICE_D0_EXIT_PRE_INTERRUPTS_DISABLED
Definition: wdfdevice.h:876
EVT_WDF_DEVICE_SELF_MANAGED_IO_INIT * PFN_WDF_DEVICE_SELF_MANAGED_IO_INIT
Definition: wdfdevice.h:947
EVT_WDFDEVICE_WDM_POST_PO_FX_REGISTER_DEVICE * PFN_WDFDEVICE_WDM_POST_PO_FX_REGISTER_DEVICE
Definition: wdfdevice.h:1743
EVT_WDF_DEVICE_RELATIONS_QUERY * PFN_WDF_DEVICE_RELATIONS_QUERY
Definition: wdfdevice.h:1061
EVT_WDF_DEVICE_D0_ENTRY_POST_INTERRUPTS_ENABLED * PFN_WDF_DEVICE_D0_ENTRY_POST_INTERRUPTS_ENABLED
Definition: wdfdevice.h:846
EVT_WDF_DEVICE_FILE_CREATE * PFN_WDF_DEVICE_FILE_CREATE
Definition: wdfdevice.h:552
EVT_WDF_DEVICE_ARM_WAKE_FROM_SX_WITH_REASON * PFN_WDF_DEVICE_ARM_WAKE_FROM_SX_WITH_REASON
Definition: wdfdevice.h:1104
enum _WDF_POWER_POLICY_IDLE_TIMEOUT_TYPE WDF_POWER_POLICY_IDLE_TIMEOUT_TYPE
EVT_WDF_DEVICE_SELF_MANAGED_IO_RESTART * PFN_WDF_DEVICE_SELF_MANAGED_IO_RESTART
Definition: wdfdevice.h:973
enum _WDF_DEVICE_POWER_POLICY_STATE WDF_DEVICE_POWER_POLICY_STATE
EVT_WDF_DEVICE_D0_ENTRY * PFN_WDF_DEVICE_D0_ENTRY
Definition: wdfdevice.h:831
EVT_WDF_DEVICE_SELF_MANAGED_IO_FLUSH * PFN_WDF_DEVICE_SELF_MANAGED_IO_FLUSH
Definition: wdfdevice.h:934
EVT_WDF_DEVICE_WAKE_FROM_S0_TRIGGERED * PFN_WDF_DEVICE_WAKE_FROM_S0_TRIGGERED
Definition: wdfdevice.h:1143
EVT_WDF_DEVICE_DISARM_WAKE_FROM_SX * PFN_WDF_DEVICE_DISARM_WAKE_FROM_SX
Definition: wdfdevice.h:1130
EVT_WDF_FILE_CLOSE * PFN_WDF_FILE_CLOSE
Definition: wdfdevice.h:565
enum _WDF_POWER_POLICY_SX_WAKE_USER_CONTROL WDF_POWER_POLICY_SX_WAKE_USER_CONTROL
enum _WDF_DEVICE_IO_TYPE WDF_DEVICE_IO_TYPE
enum _WDF_POWER_POLICY_S0_IDLE_CAPABILITIES WDF_POWER_POLICY_S0_IDLE_CAPABILITIES
enum _WDF_DEVICE_PNP_STATE WDF_DEVICE_PNP_STATE
EVT_WDF_FILE_CLEANUP * PFN_WDF_FILE_CLEANUP
Definition: wdfdevice.h:578
EVT_WDF_DEVICE_USAGE_NOTIFICATION * PFN_WDF_DEVICE_USAGE_NOTIFICATION
Definition: wdfdevice.h:1029
EVT_WDF_DEVICE_RELEASE_HARDWARE * PFN_WDF_DEVICE_RELEASE_HARDWARE
Definition: wdfdevice.h:908
EVT_WDF_DEVICE_SELF_MANAGED_IO_CLEANUP * PFN_WDF_DEVICE_SELF_MANAGED_IO_CLEANUP
Definition: wdfdevice.h:921
EVT_WDF_DEVICE_QUERY_REMOVE * PFN_WDF_DEVICE_QUERY_REMOVE
Definition: wdfdevice.h:999
EVT_WDF_DEVICE_D0_EXIT * PFN_WDF_DEVICE_D0_EXIT
Definition: wdfdevice.h:861
EVT_WDF_DEVICE_SURPRISE_REMOVAL * PFN_WDF_DEVICE_SURPRISE_REMOVAL
Definition: wdfdevice.h:1012
EVT_WDF_DRIVER_DEVICE_ADD * PFN_WDF_DRIVER_DEVICE_ADD
Definition: wdfdriver.h:78
EVT_WDF_DRIVER_UNLOAD * PFN_WDF_DRIVER_UNLOAD
Definition: wdfdriver.h:91
_Must_inspect_result_ _In_ WDFDEVICE _In_ LPCGUID _Out_ PINTERFACE Interface
Definition: wdffdo.h:465
EVT_WDF_DEVICE_REMOVE_ADDED_RESOURCES * PFN_WDF_DEVICE_REMOVE_ADDED_RESOURCES
Definition: wdffdo.h:83
EVT_WDF_DEVICE_FILTER_RESOURCE_REQUIREMENTS * PFN_WDF_DEVICE_FILTER_RESOURCE_REQUIREMENTS
Definition: wdffdo.h:66
#define WDF_DRIVER_GLOBALS_NAME_LEN
Definition: wdfglobals.h:51
EVT_WDF_INTERRUPT_DISABLE * PFN_WDF_INTERRUPT_DISABLE
Definition: wdfinterrupt.h:197
enum _WDF_INTERRUPT_PRIORITY WDF_INTERRUPT_PRIORITY
enum _WDF_INTERRUPT_POLICY WDF_INTERRUPT_POLICY
EVT_WDF_INTERRUPT_DPC * PFN_WDF_INTERRUPT_DPC
Definition: wdfinterrupt.h:134
EVT_WDF_INTERRUPT_ISR * PFN_WDF_INTERRUPT_ISR
Definition: wdfinterrupt.h:94
EVT_WDF_INTERRUPT_WORKITEM * PFN_WDF_INTERRUPT_WORKITEM
Definition: wdfinterrupt.h:153
EVT_WDF_INTERRUPT_ENABLE * PFN_WDF_INTERRUPT_ENABLE
Definition: wdfinterrupt.h:175
WDF_EXTERN_C_START enum _WDF_INTERRUPT_POLARITY WDF_INTERRUPT_POLARITY
_In_ WDFREQUEST _In_ size_t _In_ size_t _In_ ULONG IoControlCode
Definition: wdfio.h:325
EVT_WDF_IO_QUEUE_IO_INTERNAL_DEVICE_CONTROL * PFN_WDF_IO_QUEUE_IO_INTERNAL_DEVICE_CONTROL
Definition: wdfio.h:348
EVT_WDF_IO_QUEUE_IO_CANCELED_ON_QUEUE * PFN_WDF_IO_QUEUE_IO_CANCELED_ON_QUEUE
Definition: wdfio.h:364
EVT_WDF_IO_QUEUE_IO_DEVICE_CONTROL * PFN_WDF_IO_QUEUE_IO_DEVICE_CONTROL
Definition: wdfio.h:327
_Must_inspect_result_ _In_ WDFQUEUE _In_opt_ WDFREQUEST _In_opt_ WDFFILEOBJECT _Inout_opt_ PWDF_REQUEST_PARAMETERS Parameters
Definition: wdfio.h:869
EVT_WDF_IO_QUEUE_IO_READ * PFN_WDF_IO_QUEUE_IO_READ
Definition: wdfio.h:289
EVT_WDF_IO_QUEUE_IO_WRITE * PFN_WDF_IO_QUEUE_IO_WRITE
Definition: wdfio.h:306
EVT_WDF_IO_ALLOCATE_RESOURCES_FOR_RESERVED_REQUEST * PFN_WDF_IO_ALLOCATE_RESOURCES_FOR_RESERVED_REQUEST
Definition: wdfio.h:485
EVT_WDF_IO_QUEUE_IO_RESUME * PFN_WDF_IO_QUEUE_IO_RESUME
Definition: wdfio.h:272
EVT_WDF_IO_QUEUE_IO_STOP * PFN_WDF_IO_QUEUE_IO_STOP
Definition: wdfio.h:257
WDF_EXTERN_C_START enum _WDF_IO_QUEUE_DISPATCH_TYPE WDF_IO_QUEUE_DISPATCH_TYPE
enum _WDF_IO_FORWARD_PROGRESS_RESERVED_POLICY WDF_IO_FORWARD_PROGRESS_RESERVED_POLICY
EVT_WDF_IO_QUEUE_IO_DEFAULT * PFN_WDF_IO_QUEUE_IO_DEFAULT
Definition: wdfio.h:239
EVT_WDF_IO_ALLOCATE_REQUEST_RESOURCES * PFN_WDF_IO_ALLOCATE_REQUEST_RESOURCES
Definition: wdfio.h:500
enum _WDF_IO_TARGET_OPEN_TYPE WDF_IO_TARGET_OPEN_TYPE
EVT_WDF_IO_TARGET_REMOVE_CANCELED * PFN_WDF_IO_TARGET_REMOVE_CANCELED
Definition: wdfiotarget.h:108
EVT_WDF_IO_TARGET_REMOVE_COMPLETE * PFN_WDF_IO_TARGET_REMOVE_COMPLETE
Definition: wdfiotarget.h:121
EVT_WDF_IO_TARGET_QUERY_REMOVE * PFN_WDF_IO_TARGET_QUERY_REMOVE
Definition: wdfiotarget.h:95
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR _In_opt_ PLONGLONG DeviceOffset
Definition: wdfiotarget.h:865
WDF_EXTERN_C_START enum _WDF_MEMORY_DESCRIPTOR_TYPE WDF_MEMORY_DESCRIPTOR_TYPE
EVT_WDF_OBJECT_CONTEXT_DESTROY * PFN_WDF_OBJECT_CONTEXT_DESTROY
Definition: wdfobject.h:95
PCWDF_OBJECT_CONTEXT_TYPE_INFO(__cdecl * PFN_GET_UNIQUE_CONTEXT_TYPE)(VOID)
Definition: wdfobject.h:176
EVT_WDF_OBJECT_CONTEXT_CLEANUP * PFN_WDF_OBJECT_CONTEXT_CLEANUP
Definition: wdfobject.h:82
WDF_EXTERN_C_START enum _WDF_EXECUTION_LEVEL WDF_EXECUTION_LEVEL
enum _WDF_SYNCHRONIZATION_SCOPE WDF_SYNCHRONIZATION_SCOPE
EVT_WDF_DEVICE_SET_LOCK * PFN_WDF_DEVICE_SET_LOCK
Definition: wdfpdo.h:108
EVT_WDF_DEVICE_DISABLE_WAKE_AT_BUS * PFN_WDF_DEVICE_DISABLE_WAKE_AT_BUS
Definition: wdfpdo.h:136
EVT_WDF_DEVICE_RESOURCES_QUERY * PFN_WDF_DEVICE_RESOURCES_QUERY
Definition: wdfpdo.h:65
EVT_WDF_DEVICE_REPORTED_MISSING * PFN_WDF_DEVICE_REPORTED_MISSING
Definition: wdfpdo.h:149
EVT_WDF_DEVICE_RESOURCE_REQUIREMENTS_QUERY * PFN_WDF_DEVICE_RESOURCE_REQUIREMENTS_QUERY
Definition: wdfpdo.h:80
EVT_WDF_DEVICE_EJECT * PFN_WDF_DEVICE_EJECT
Definition: wdfpdo.h:93
EVT_WDF_DEVICE_ENABLE_WAKE_AT_BUS * PFN_WDF_DEVICE_ENABLE_WAKE_AT_BUS
Definition: wdfpdo.h:123
EVT_WDF_DEVICE_PROCESS_QUERY_INTERFACE_REQUEST * PFN_WDF_DEVICE_PROCESS_QUERY_INTERFACE_REQUEST
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _Out_opt_ PUSHORT _Inout_opt_ PUNICODE_STRING Value
Definition: wdfregistry.h:413
_Must_inspect_result_ _In_ WDFIORESLIST _In_ PIO_RESOURCE_DESCRIPTOR Descriptor
Definition: wdfresource.h:342
EVT_WDF_TIMER * PFN_WDF_TIMER
Definition: wdftimer.h:67
enum _WDF_TRI_STATE WDF_TRI_STATE
EVT_WDF_USB_READERS_FAILED * PFN_WDF_USB_READERS_FAILED
Definition: wdfusb.h:405
enum _WdfUsbTargetDeviceSelectConfigType WdfUsbTargetDeviceSelectConfigType
enum _WDF_USB_REQUEST_TYPE WDF_USB_REQUEST_TYPE
EVT_WDF_USB_READER_COMPLETION_ROUTINE * PFN_WDF_USB_READER_COMPLETION_ROUTINE
Definition: wdfusb.h:388
enum _WDF_USB_PIPE_TYPE WDF_USB_PIPE_TYPE
enum _WdfUsbTargetDeviceSelectSettingType WdfUsbTargetDeviceSelectSettingType
EVT_WDF_WMI_INSTANCE_EXECUTE_METHOD * PFN_WDF_WMI_INSTANCE_EXECUTE_METHOD
Definition: wdfwmi.h:154
EVT_WDF_WMI_INSTANCE_QUERY_INSTANCE * PFN_WDF_WMI_INSTANCE_QUERY_INSTANCE
Definition: wdfwmi.h:94
EVT_WDF_WMI_INSTANCE_SET_INSTANCE * PFN_WDF_WMI_INSTANCE_SET_INSTANCE
Definition: wdfwmi.h:111
EVT_WDF_WMI_INSTANCE_SET_ITEM * PFN_WDF_WMI_INSTANCE_SET_ITEM
Definition: wdfwmi.h:130
EVT_WDF_WMI_PROVIDER_FUNCTION_CONTROL * PFN_WDF_WMI_PROVIDER_FUNCTION_CONTROL
Definition: wdfwmi.h:171
EVT_WDF_WORKITEM * PFN_WDF_WORKITEM
Definition: wdfworkitem.h:64
#define POINTER_ALIGNMENT
_Reserved_ PVOID Reserved
Definition: winddi.h:3974
_IRQL_requires_same_ _In_opt_ PVOID Argument1
Definition: cmtypes.h:696
* PFILE_OBJECT
Definition: iotypes.h:1998
PO_FX_COMPONENT_ACTIVE_CONDITION_CALLBACK * PPO_FX_COMPONENT_ACTIVE_CONDITION_CALLBACK
Definition: potypes.h:498
PO_FX_COMPONENT_IDLE_CONDITION_CALLBACK * PPO_FX_COMPONENT_IDLE_CONDITION_CALLBACK
Definition: potypes.h:508
PO_FX_COMPONENT_IDLE_STATE_CALLBACK * PPO_FX_COMPONENT_IDLE_STATE_CALLBACK
Definition: potypes.h:519
PO_FX_POWER_CONTROL_CALLBACK * PPO_FX_POWER_CONTROL_CALLBACK
Definition: potypes.h:552
unsigned char UCHAR
Definition: xmlstorage.h:181
char CHAR
Definition: xmlstorage.h:175