ReactOS 0.4.15-dev-8408-g466a198
wdf215.h
Go to the documentation of this file.
1#ifndef _WDF_V2_15_TYPES_H_
2#define _WDF_V2_15_TYPES_H_
3
4
5typedef enum _WDFFUNCENUM_V2_15 {
8
25typedef struct _WDF_COMMON_BUFFER_CONFIG_V2_15 *PWDF_COMMON_BUFFER_CONFIG_V2_15;
26typedef const struct _WDF_COMMON_BUFFER_CONFIG_V2_15 *PCWDF_COMMON_BUFFER_CONFIG_V2_15;
29typedef struct _WDF_CLASS_EXTENSION_DESCRIPTOR_V2_15 *PWDF_CLASS_EXTENSION_DESCRIPTOR_V2_15;
30typedef const struct _WDF_CLASS_EXTENSION_DESCRIPTOR_V2_15 *PCWDF_CLASS_EXTENSION_DESCRIPTOR_V2_15;
69typedef struct _WDF_DMA_ENABLER_CONFIG_V2_15 *PWDF_DMA_ENABLER_CONFIG_V2_15;
70typedef const struct _WDF_DMA_ENABLER_CONFIG_V2_15 *PCWDF_DMA_ENABLER_CONFIG_V2_15;
71typedef struct _WDF_DMA_SYSTEM_PROFILE_CONFIG_V2_15 *PWDF_DMA_SYSTEM_PROFILE_CONFIG_V2_15;
72typedef const struct _WDF_DMA_SYSTEM_PROFILE_CONFIG_V2_15 *PCWDF_DMA_SYSTEM_PROFILE_CONFIG_V2_15;
73typedef struct _WDF_DPC_CONFIG_V2_15 *PWDF_DPC_CONFIG_V2_15;
74typedef const struct _WDF_DPC_CONFIG_V2_15 *PCWDF_DPC_CONFIG_V2_15;
163
164//
165// Versioning of structures for wdf.h
166//
167// End of versioning of structures for wdf.h
168
169//
170// Versioning of structures for wdfassert.h
171//
172// End of versioning of structures for wdfassert.h
173
174//
175// Versioning of structures for wdfbugcodes.h
176//
178 //
179 // Current power state associated with the timed out device
180 //
182
183 //
184 // Current power policy state associated with the timed out device
185 //
187
188 //
189 // The device object for the timed out device
190 //
192
193 //
194 // The handle for the timed out device
195 //
196 WDFDEVICE Device;
197
198 //
199 // The thread which is stuck
200 //
202
204
206 WDFREQUEST Request;
207
209
211
213
215
217
219 WDFQUEUE Queue;
220
221 WDFREQUEST Request;
222
224
226
227// End of versioning of structures for wdfbugcodes.h
228
229//
230// Versioning of structures for wdfchildlist.h
231//
233 //
234 // Size in bytes of the entire description, including this header.
235 //
236 // Same value as WDF_CHILD_LIST_CONFIG::IdentificationDescriptionSize
237 // Used as a sanity check.
238 //
240
242
244 //
245 // Size in bytes of the entire description, including this header.
246 //
247 // Same value as WDF_CHILD_LIST_CONFIG::AddressDescriptionSize
248 // Used as a sanity check.
249 //
251
253
255 //
256 // Size of the structure in bytes
257 //
259
260 //
261 // Must be a valid pointer when passed in, copied into upon success
262 //
264
265 //
266 // Optional pointer when passed in, copied into upon success
267 //
269
270 //
271 // Status of the returned device
272 //
274
275 //
276 // If provided, will be used for searching through the list of devices
277 // instead of the default list ID compare function
278 //
280
282
284 //
285 // Size of this structure in bytes
286 //
288
289 //
290 // The size in bytes of an identificaiton description to be used with the
291 // created WDFCHILDLIST handle
292 //
294
295 //
296 // Optional size in bytes of an address description to be used with the
297 // created WDFCHILDLIST handle.
298 //
300
301 //
302 // Required callback to be invoked when a description on the device list
303 // needs to be converted into a real WDFDEVICE handle.
304 //
306
307 //
308 // Optional callback to be invoked when the device list needs to be
309 // rescanned. This function will be called after the device has entered D0
310 // and been fully initialized but before I/O has started.
311 //
313
314 //
315 // Optional callback to be invoked when an identification description needs
316 // to be copied from one location to another.
317 //
318 // If left NULL, RtlCopyMemory will be used to copy the description.
319 //
321
322 //
323 // Optional callback to be invoked when an identification description needs
324 // to be duplicated. As opposed to EvtChildListIdentificationDescriptionCopy,
325 // EvtChildListIdentificationDescriptionDuplicate can fail.
326 //
328
329 //
330 // Optional callback to be invoked when an identification description needs
331 // to be cleaned up. This function should *NOT* free the description passed
332 // to it, just free any associated resources.
333 //
335
336 //
337 // Optional callback to be invoked when an identification description needs
338 // to be compared with another identificaiton description.
339 //
340 // If left NULL, RtlCompareMemory will be used to compare the two
341 // descriptions.
342 //
344
345 //
346 // Optional callback to be invoked when an address description needs
347 // to be copied from one location to another.
348 //
349 // If left NULL, RtlCopyMemory will be used to copy the description.
350 //
352
353 //
354 // Optional callback to be invoked when an address description needs to be
355 // duplicated. As opposed to EvtChildListAddressDescriptionCopy,
356 // EvtChildListAddressDescriptionDuplicate can fail.
357 //
359
360 //
361 // Optional callback to be invoked when an address description needs to be
362 // cleaned up. This function should *NOT* free the description passed to
363 // it, just free any associated resources.
364 //
366
367 //
368 // If provided, will be called when the child's stack requests that the
369 // child be reenumerated. Returning TRUE allows for the reenumeration to
370 // proceed. FALSE will no reenumerate the stack.
371 //
373
375
377 //
378 // Size of this structure in bytes
379 //
381
382 //
383 // What type of devices to return, see WDF_RETRIEVE_CHILD_FLAGS for
384 // flag values
385 //
386 //
388
389 //
390 // For internal use, treat this field as opaque
391 //
393
395
396// End of versioning of structures for wdfchildlist.h
397
398//
399// Versioning of structures for wdfcollection.h
400//
401// End of versioning of structures for wdfcollection.h
402
403//
404// Versioning of structures for wdfCommonBuffer.h
405//
406// End of versioning of structures for wdfCommonBuffer.h
407
408//
409// Versioning of structures for wdfcontrol.h
410//
411// End of versioning of structures for wdfcontrol.h
412
413//
414// Versioning of structures for wdfcore.h
415//
416// End of versioning of structures for wdfcore.h
417
418//
419// Versioning of structures for wdfcx.h
420//
422 //
423 // Size of this structure in bytes
424 //
426
427 //
428 // Event callback for create requests
429 //
431
432 //
433 // Event callback for close requests
434 //
436
437 //
438 // Event callback for cleanup requests
439 //
441
442 //
443 // If WdfTrue, create/cleanup/close file object related requests will be
444 // sent down the stack.
445 //
446 // If WdfFalse, create/cleanup/close will be completed at this location in
447 // the device stack.
448 //
449 // If WdfDefault, behavior depends on device type
450 // FDO, PDO, Control: use the WdfFalse behavior
451 // Filter: use the WdfTrue behavior
452 //
454
455 //
456 // Specify whether framework should create WDFFILEOBJECT and also
457 // whether it can FsContexts fields in the WDM fileobject to store
458 // WDFFILEOBJECT so that it can avoid table look up and improve perf.
459 //
461
463
464// End of versioning of structures for wdfcx.h
465
466//
467// Versioning of structures for wdfcxbase.h
468//
471
473
475
477
479 //
480 // Size of the structure in bytes
481 //
483
484 //
485 // Name of the class to bind to
486 //
488
489 //
490 // Version information for the class
491 //
493
494 //
495 // Function export table from the class driver to resolve on bind
496 //
498
499 //
500 // Number of entries in FunctionTable
501 //
503
504 //
505 // Optional field where the client specify additional information
506 // for the class driver to resolve
507 //
509
510 //
511 // Optional bind callback. If set, WdfVersionBindClass will not
512 // be called and it will be up to ClientClassBind to call this function
513 // if required.
514 //
516
517 //
518 // Optional unbind callback. If set, WdfVersionUnbindClass will not be
519 // called and it will be up to ClientClassUnbind to call this function
520 // if required.
521 //
523
524 //
525 // Diagnostic cookie to use during debugging
526 //
528
530
532 //
533 // Size of this structure in bytes
534 //
536
537 //
538 // Version of this class library
539 //
541
542 //
543 // Callback to be called by the loader to initialize the class library
544 //
546
547 //
548 // Callback to be called by the loader to deinitialize the class library
549 // after succesful initialization (immediately before the class library will
550 // be unloaded).
551 //
553
554 //
555 // Callback to be called by the loader when a client driver has request to
556 // be bound to this class library.
557 //
559
560 //
561 // Callback to be called by the loader when a previously bound client driver
562 // is being unloaded.
563 //
565
567
568// End of versioning of structures for wdfcxbase.h
569
570//
571// Versioning of structures for wdfDevice.h
572//
574 //
575 // Size of this structure in bytes
576 //
578
579 //
580 // Event callback for create requests
581 //
583
584 //
585 // Event callback for close requests
586 //
588
589 //
590 // Event callback for cleanup requests
591 //
593
594 //
595 // If WdfTrue, create/cleanup/close file object related requests will be
596 // sent down the stack.
597 //
598 // If WdfFalse, create/cleanup/close will be completed at this location in
599 // the device stack.
600 //
601 // If WdfDefault, behavior depends on device type
602 // FDO, PDO, Control: use the WdfFalse behavior
603 // Filter: use the WdfTrue behavior
604 //
606
607 //
608 // Specify whether framework should create WDFFILEOBJECT and also
609 // whether it can FsContexts fields in the WDM fileobject to store
610 // WDFFILEOBJECT so that it can avoid table look up and improve perf.
611 //
613
615
617 //
618 // Type of data
619 //
621
622 union {
623 struct {
624 //
625 // The current state that is about to be exited
626 //
628
629 //
630 // The new state that is about to be entered
631 //
633
635
636 struct {
637 //
638 // The current state
639 //
641
643
644 struct {
645 //
646 // The current state that is about to be exitted
647 //
649
650 //
651 // The state that is about to be entered
652 //
654
656
658
660
662 //
663 // Type of data
664 //
666
667 union {
668 struct {
669 //
670 // The current state that is about to be exitted
671 //
673
674 //
675 // The new state that is about to be entered
676 //
678
680
681 struct {
682 //
683 // The current state
684 //
686
688
689 struct {
690 //
691 // The current state that is about to be exitted
692 //
694
695 //
696 // The state that is about to be entered
697 //
699
701
703
705
707 //
708 // Type of data
709 //
711
712 union {
713 struct {
714 //
715 // The current state that is about to be exitted
716 //
718
719 //
720 // The new state that is about to be entered
721 //
723
725
726 struct {
727 //
728 // The current state
729 //
731
733
734 struct {
735 //
736 // The current state that is about to be exitted
737 //
739
740 //
741 // The state that is about to be entered
742 //
744
746
748
750
752 //
753 // Size of this structure in bytes
754 //
756
758
760
762
764
766
768
770
772
774
776
778
780
782
784
786
788
790
792
794 //
795 // Size of this structure in bytes
796 //
798
800
802
804
806
808
810
812
814
816 //
817 // Size of this structure in bytes
818 //
820
821 //
822 // Indicates whether the device can wake itself up while the machine is in
823 // S0.
824 //
826
827 //
828 // The low power state in which the device will be placed when it is idled
829 // out while the machine is in S0.
830 //
832
833 //
834 // Amount of time the device must be idle before idling out. Timeout is in
835 // milliseconds.
836 //
838
839 //
840 // Inidcates whether a user can control the idle policy of the device.
841 // By default, a user is allowed to change the policy.
842 //
844
845 //
846 // If WdfTrue, idling out while the machine is in S0 will be enabled.
847 //
848 // If WdfFalse, idling out will be disabled.
849 //
850 // If WdfUseDefault, the idling out will be enabled. If
851 // UserControlOfIdleSettings is set to IdleAllowUserControl, the user's
852 // settings will override the default.
853 //
855
856 //
857 // This field is applicable only when IdleCaps == IdleCannotWakeFromS0
858 // If WdfTrue,device is powered up on System Wake even if device is idle
859 // If WdfFalse, device is not powered up on system wake if it is idle
860 // If WdfUseDefault, the behavior is same as WdfFalse
861 //
863
864 //
865 // This field determines how the IdleTimeout field is used.
866 //
867 // If the value is DriverManagedIdleTimeout, then the idle timeout value
868 // is determined by the IdleTimeout field of this structure.
869 //
870 // If the value is SystemManagedIdleTimeout, then the timeout value is
871 // determined by the power framework (PoFx) on operating systems where
872 // the PoFx is available (i.e. Windows 8 and later). The IdleTimeout field
873 // is ignored on these operating systems. On operating systems where the
874 // PoFx is not available, the behavior is same as DriverManagedIdleTimeout.
875 //
876 // If the value is SystemManagedIdleTimeoutWithHint, then the timeout value
877 // is determined by the power framework (PoFx) on operating systems where
878 // the PoFx is available (i.e. Windows 8 and later). In addition, the value
879 // specified in the IdleTimeout field is provided as a hint to the PoFx in
880 // determining when the device should be allowed to enter a low-power state.
881 // Since it is only a hint, the actual duration after which the PoFx allows
882 // the device to enter a low-power state might be greater than or less than
883 // the IdleTimeout value. On operating systems where the PoFx is not
884 // available, the behavior is same as DriverManagedIdleTimeout.
885 //
887
888 //
889 // This field forces the device to avoid idling in the D3cold power state.
890 // WDF will ensure, with help from the bus drivers, that the device will
891 // idle in a D-state that can successfully generate a wake signal, if
892 // necessary. If the client specifies that DxState == PowerDeviceD3, this
893 // setting allows the client to distinguish betwen D3hot and D3cold. If
894 // the client sets DxState == PowerDeviceMaximum, then WDF will pick the
895 // deepest idle state identified by the bus driver. If that deepest state
896 // is D3cold, this field allows the client to override that and choose
897 // D3hot.
898 //
899 // If WdfTrue, device will not use D3cold in S0.
900 // If WdfFalse, device will use D3cold in S0 if the ACPI firmware indicates
901 // that the device can enter that state, if DxState above does not
902 // specify some other D-state and, if the device is armed for
903 // wake, that it can generate its wake signal from D3cold.
904 // If WdfUseDefault, this setting will be derived from the driver's INF,
905 // specifically the presence or absence of the following two lines in
906 // the DDInstall.HW section:
907 // Include=machine.inf
908 // Needs=PciD3ColdSupported
909 //
911
913
915 //
916 // Size of this structure in bytes
917 //
919
920 //
921 // The low power state in which the device will be placed when it is armed
922 // for wake from Sx.
923 //
925
926 //
927 // Inidcates whether a user can control the idle policy of the device.
928 // By default, a user is allowed to change the policy.
929 //
931
932 //
933 // If WdfTrue, arming the device for wake while the machine is in Sx is
934 // enabled.
935 //
936 // If WdfFalse, arming the device for wake while the machine is in Sx is
937 // disabled.
938 //
939 // If WdfUseDefault, arming will be enabled. If UserControlOfWakeSettings
940 // is set to WakeAllowUserControl, the user's settings will override the
941 // default.
942 //
944
945 //
946 // If set to TRUE, arming the parent device can depend on whether there
947 // is atleast one child device armed for wake.
948 //
949 // If set to FALSE, arming of the parent device will be independent of
950 // whether any of the child devices are armed for wake.
951 //
953
954 //
955 // Indicates that whenever the parent device completes the wake irp
956 // successfully, the status needs to be also propagated to the child
957 // devices. This helps in tracking which devices were responsible for
958 // waking the system.
959 //
961
963
965 //
966 // Size of this structure in bytes
967 //
969
970 //
971 // If set to WdfTrue, the device will be disabled
972 //
974
975 //
976 // If set to WdfTrue, the device will not be displayed in device manager.
977 // Once hidden, the device cannot be unhidden.
978 //
980
981 //
982 // If set to WdfTrue, the device is reporting itself as failed. If set
983 // in conjuction with ResourcesChanged to WdfTrue, the device will receive
984 // a PnP stop and then a new PnP start device.
985 //
987
988 //
989 // If set to WdfTrue, the device cannot be subsequently disabled.
990 //
992
993
994
995
996 //
997 //
998 // If set to WdfTrue, the device stack will be torn down.
999 //
1001
1002 //
1003 // If set to WdfTrue, the device will be sent another PnP start. If the
1004 // Failed field is set to WdfTrue as well, a PnP stop will be sent before
1005 // the start.
1006 //
1008
1010
1012 //
1013 // Size of the structure in bytes
1014 //
1016
1017 //
1018 // NOTE: To mark a PDO as raw, call WdfPdoInitAssignRawDevice
1019 //
1020 //
1022
1024
1026
1028
1030
1032
1034
1036
1038
1039 //
1040 // Default values of -1 indicate not to set this value
1041 //
1043
1045
1047
1049 //
1050 // Size of the structure in bytes
1051 //
1053
1055
1057
1059
1061
1063
1065
1066 //
1067 // Default value PowerDeviceMaximum indicates not to set this value
1068 //
1070
1071 //
1072 // Default value PowerDeviceMaximum, PowerSystemMaximum indicates not to
1073 // set this value.
1074 //
1076
1078
1079 //
1080 // Default values of -1 indicate not to set this value
1081 //
1083
1085
1087
1088 //
1089 // Ideal Dx state for the device to be put into when the machine moves into
1090 // Sx and the device is not armed for wake. By default, the default will be
1091 // placed into D3. If IdealDxStateForSx is lighter then
1092 // DeviceState[Sx], then DeviceState[Sx] will be used as the Dx state.
1093 //
1095
1097
1099 //
1100 // Size of the structure in bytes
1101 //
1103
1104 //
1105 // Bit field combination of values from the WDF_REMOVE_LOCK_OPTIONS_FLAGS
1106 // enumeration
1107 //
1109
1111
1113 //
1114 // Size of the structure, in bytes.
1115 //
1117
1118 //
1119 // Client driver's callback function that is invoked after KMDF has
1120 // registered with the power framework. This field can be NULL if the
1121 // client driver does not wish to specify this callback.
1122 //
1124
1125 //
1126 // Client driver's callback function that is invoked before KMDF
1127 // unregisters with the power framework. This field can be NULL if the
1128 // client driver does not wish to specify this callback.
1129 //
1131
1132 //
1133 // Pointer to a PO_FX_COMPONENT structure that describes the only component
1134 // in the single-component device. This field can be NULL if the client
1135 // driver wants KMDF to use the default specification for this component
1136 // (i.e. support for F0 only).
1137 //
1139
1140 //
1141 // Client driver's PO_FX_COMPONENT_ACTIVE_CONDITION_CALLBACK callback
1142 // function. This field can be NULL if the client driver does not wish to
1143 // specify this callback.
1144 //
1146
1147 //
1148 // Client driver's PO_FX_COMPONENT_IDLE_CONDITION_CALLBACK callback
1149 // function. This field can be NULL if the client driver does not wish to
1150 // specify this callback.
1151 //
1153
1154 //
1155 // Client driver's PO_FX_COMPONENT_IDLE_STATE_CALLBACK callback function.
1156 // This field can be NULL if the client driver does not wish to specify
1157 // this callback.
1158 //
1160
1161 //
1162 // Client driver's PO_FX_POWER_CONTROL_CALLBACK callback function. This
1163 // field can be NULL if the client driver does not wish to specify this
1164 // callback.
1165 //
1167
1168 //
1169 // Context value that is passed in to the ComponentIdleStateCallback and
1170 // PowerControlCallback callback functions.
1171 //
1173
1175
1177 //
1178 // Size of this structure in bytes
1179 //
1181
1182 //
1183 // <KMDF_DOC/>
1184 // Identifies the method that the driver will use to access data buffers
1185 // that it receives for read and write requests.
1186 //
1187 // <UMDF_DOC/>
1188 // Identifies the method that the driver will "prefer" to use to access data
1189 // buffers that it receives for read and write requests. Note that UMDF
1190 // driver provides just a preference, and not a guarantee.Therefore,
1191 // even if a driver specified direct access method, UMDF might use the
1192 // buffered access method for one or more of the device's requests to
1193 // improve performance. For example, UMDF uses buffered access for small
1194 // buffers, if it can copy the data to the driver's buffer faster than it
1195 // can map the buffers for direct access.
1196 //
1198
1199 //
1200 // <UMDF_ONLY/>
1201 // Identifies the method that the driver will "prefer" to use to access data
1202 // buffers that it receives for IOCTL requests. Note that UMDF
1203 // driver provides just a preference, and not a guarantee. Therefore,
1204 // even if a driver specified direct access method, UMDF might use the
1205 // buffered access method for one or more of the device's requests to
1206 // improve performance. For example, UMDF uses buffered access for small
1207 // buffers, if it can copy the data to the driver's buffer faster than it
1208 // can map the buffers for direct access.
1209 //
1211
1212 //
1213 // <UMDF_ONLY/>
1214 // Optional, Provides the smallest buffer size (in bytes) for which
1215 // UMDF will use direct access for the buffers. For example, set
1216 // DirectTransferThreshold to "12288" to indicate that UMDF should use buffered
1217 // access for all buffers that are smaller than 12 kilobytes, and direct
1218 // access for buffers equal to or greater than that. Typically, you
1219 // do not need to provide this value because UMDF uses a value that provides
1220 // the best performance. Note that there are other requirements that must be
1221 // met in order to get direct access of buffers. See Docs for details.
1222 //
1224
1226
1229
1230 //
1231 // A pointer to a GUID that identifies the device interface class.
1232 //
1234
1235 //
1236 // A pointer to a UNICODE_STRING structure that describes a reference
1237 // string for the device interface. This parameter is optional and can
1238 // be NULL.
1240
1241 //
1242 // A pointer to a DEVPROPKEY structure that specifies the device
1243 // property key.
1244 //
1246
1247 //
1248 // A locale identifier. Set this parameter either to a language-specific
1249 // LCID value or to LOCALE_NEUTRAL. The LOCALE_NEUTRAL LCID specifies
1250 // that the property is language-neutral (that is, not specific to any
1251 // language). Do not set this parameter to LOCALE_SYSTEM_DEFAULT or
1252 // LOCALE_USER_DEFAULT. For more information about language-specific
1253 // LCID values, see LCID Structure.
1254 //
1256
1257 //
1258 // Set this parameter to PLUGPLAY_PROPERTY_PERSISTENT if the property
1259 // value set by this routine should persist across computer restarts.
1260 // Otherwise, set Flags to zero. Ignored for Query DDIs.
1261 //
1263
1265
1267 //
1268 // Size of this structure
1269 //
1271
1272 //
1273 // A pointer to a DEVPROPKEY structure that specifies the device
1274 // property key.
1275 //
1277
1278 //
1279 // A locale identifier. Set this parameter either to a language-specific
1280 // LCID value or to LOCALE_NEUTRAL. The LOCALE_NEUTRAL LCID specifies
1281 // that the property is language-neutral (that is, not specific to any
1282 // language). Do not set this parameter to LOCALE_SYSTEM_DEFAULT or
1283 // LOCALE_USER_DEFAULT. For more information about language-specific
1284 // LCID values, see LCID Structure.
1285 //
1287
1288 //
1289 // Set this parameter to PLUGPLAY_PROPERTY_PERSISTENT if the property
1290 // value set by this routine should persist across computer restarts.
1291 // Otherwise, set Flags to zero. Ignored for Query DDIs.
1292 //
1294
1296
1297// End of versioning of structures for wdfDevice.h
1298
1299//
1300// Versioning of structures for wdfDevicePri.h
1301//
1302// End of versioning of structures for wdfDevicePri.h
1303
1304//
1305// Versioning of structures for wdfDmaEnabler.h
1306//
1307// End of versioning of structures for wdfDmaEnabler.h
1308
1309//
1310// Versioning of structures for wdfDmaTransaction.h
1311//
1312// End of versioning of structures for wdfDmaTransaction.h
1313
1314//
1315// Versioning of structures for wdfdpc.h
1316//
1317// End of versioning of structures for wdfdpc.h
1318
1319//
1320// Versioning of structures for wdfdriver.h
1321//
1323 //
1324 // Size of this structure in bytes
1325 //
1327
1328 //
1329 // Event callbacks
1330 //
1332
1334
1335 //
1336 // Combination of WDF_DRIVER_INIT_FLAGS values
1337 //
1339
1340 //
1341 // Pool tag to use for all allocations made by the framework on behalf of
1342 // the client driver.
1343 //
1345
1347
1349 //
1350 // Size of the structure in bytes
1351 //
1353
1354 //
1355 // Major Version requested
1356 //
1358
1359 //
1360 // Minor Version requested
1361 //
1363
1365
1366// End of versioning of structures for wdfdriver.h
1367
1368//
1369// Versioning of structures for wdffdo.h
1370//
1372 //
1373 // Size of this structure in bytes
1374 //
1376
1378
1380
1382
1384
1385// End of versioning of structures for wdffdo.h
1386
1387//
1388// Versioning of structures for wdffileobject.h
1389//
1390// End of versioning of structures for wdffileobject.h
1391
1392//
1393// Versioning of structures for wdfGlobals.h
1394//
1396 // backpointer to the handle for this driver
1397 WDFDRIVER Driver;
1398
1399 // Flags indicated by the driver during create
1401
1402 // Tag generated by WDF for the driver. Tag used by allocations made on
1403 // behalf of the driver by WDF.
1405
1407
1408 // If TRUE, the stub code will capture DriverObject->DriverUnload and insert
1409 // itself first in the unload chain. If FALSE, DriverUnload is left alone
1410 // (but WDF will not be notified of unload and there will be no auto cleanup).
1412
1414
1415// End of versioning of structures for wdfGlobals.h
1416
1417//
1418// Versioning of structures for wdfhid.h
1419//
1420// End of versioning of structures for wdfhid.h
1421
1422//
1423// Versioning of structures for wdfhwaccess.h
1424//
1425// End of versioning of structures for wdfhwaccess.h
1426
1427//
1428// Versioning of structures for wdfinstaller.h
1429//
1430// End of versioning of structures for wdfinstaller.h
1431
1432//
1433// Versioning of structures for wdfinternal.h
1434//
1435// End of versioning of structures for wdfinternal.h
1436
1437//
1438// Versioning of structures for wdfinterrupt.h
1439//
1440//
1441// Interrupt Configuration Structure
1442//
1445
1446 //
1447 // If this interrupt is to be synchronized with other interrupt(s) assigned
1448 // to the same WDFDEVICE, create a WDFSPINLOCK and assign it to each of the
1449 // WDFINTERRUPTs config.
1450 //
1451 WDFSPINLOCK SpinLock;
1452
1454
1456
1457 //
1458 // DIRQL handling: automatic serialization of the DpcForIsr/WaitItemForIsr.
1459 // Passive-level handling: automatic serialization of all callbacks.
1460 //
1462
1463 //
1464 // Event Callbacks
1465 //
1467
1469
1471
1473
1475
1476 //
1477 // These fields are only used when interrupt is created in
1478 // EvtDevicePrepareHardware callback.
1479 //
1481
1483
1484 //
1485 // Optional passive lock for handling interrupts at passive-level.
1486 //
1487 WDFWAITLOCK WaitLock;
1488
1489 //
1490 // TRUE: handle interrupt at passive-level.
1491 // FALSE: handle interrupt at DIRQL level. This is the default.
1492 //
1494
1495 //
1496 // TRUE: Interrupt is reported inactive on explicit power down
1497 // instead of disconnecting it.
1498 // FALSE: Interrupt is disconnected instead of reporting inactive
1499 // on explicit power down.
1500 // DEFAULT: Framework decides the right value.
1501 //
1503
1504 //
1505 // TRUE: Interrupt is used to wake the device from low-power states
1506 // and when the device is armed for wake this interrupt should
1507 // remain connected.
1508 // FALSE: Interrupt is not used to wake the device from low-power states.
1509 // This is the default.
1510 //
1512
1514
1516 //
1517 // Size of this structure in bytes
1518 //
1520
1522
1524
1526
1528
1530
1532
1534
1536
1538
1539 // CM_SHARE_DISPOSITION
1541
1543
1545
1546//
1547// Interrupt Extended Policy Configuration Structure
1548//
1550 //
1551 // Size of this structure in bytes
1552 //
1554
1556
1558
1560
1562
1563// End of versioning of structures for wdfinterrupt.h
1564
1565//
1566// Versioning of structures for wdfio.h
1567//
1568//
1569// This is the structure used to configure an IoQueue and
1570// register callback events to it.
1571//
1572//
1575
1577
1579
1581
1583
1585
1587
1589
1591
1593
1595
1597
1599
1600 union {
1601 struct {
1603
1604 } Parallel;
1605
1607
1608 WDFDRIVER Driver;
1609
1611
1614
1616
1617 //
1618 // Specify the type of the policy here.
1619 //
1621
1622 //
1623 // Structure which contains the policy specific fields
1624 //
1626
1627 //
1628 // Callback for reserved request given at initialization time
1629 //
1631
1632 //
1633 // Callback for reserved request given at run time
1634 //
1636
1638
1639// End of versioning of structures for wdfio.h
1640
1641//
1642// Versioning of structures for wdfIoTarget.h
1643//
1645 //
1646 // Size of this structure in bytes
1647 //
1649
1650 //
1651 // Indicates which fields of this structure are going to be used in
1652 // creating the WDFIOTARGET.
1653 //
1655
1656 //
1657 // Notification when the target is being queried for removal.
1658 // If !NT_SUCCESS is returned, the query will fail and the target will
1659 // remain opened.
1660 //
1662
1663 //
1664 // The previous query remove has been canceled and the target can now be
1665 // reopened.
1666 //
1668
1669 //
1670 // The query remove has succeeded and the target is now removed from the
1671 // system.
1672 //
1674
1675 // <KMDF_ONLY/>
1676 // ========== WdfIoTargetOpenUseExistingDevice begin ==========
1677 //
1678 // The device object to send requests to
1679 //
1681
1682 // <KMDF_ONLY/>
1683 // File object representing the TargetDeviceObject. The PFILE_OBJECT will
1684 // be passed as a parameter in all requests sent to the resulting
1685 // WDFIOTARGET.
1686 //
1688
1689 // ========== WdfIoTargetOpenUseExistingDevice end ==========
1690 //
1691 // ========== WdfIoTargetOpenByName begin ==========
1692 //
1693 // Name of the device to open.
1694 //
1696
1697 // <KMDF_DOC>
1698 // The access desired on the device being opened up, ie WDM FILE_XXX_ACCESS
1699 // such as FILE_ANY_ACCESS, FILE_SPECIAL_ACCESS, FILE_READ_ACCESS, or
1700 // FILE_WRITE_ACCESS or you can use values such as GENERIC_READ,
1701 // GENERIC_WRITE, or GENERIC_ALL.
1702 // </KMDF_DOC>
1703 // <UMDF_DOC>
1704 // The requested access to the file or device, which can be summarized as
1705 // read, write, both or neither zero). For more information about
1706 // this member, see the dwDesiredAccess parameter of CreateFile in the
1707 // Windows SDK. Note that ACCESS_MASK data type is a DWORD value.
1708 // </UMDF_DOC>
1709 //
1711
1712 //
1713 // <KMDF_DOC>
1714 // Share access desired on the target being opened, ie WDM FILE_SHARE_XXX
1715 // values such as FILE_SHARE_READ, FILE_SHARE_WRITE, FILE_SHARE_DELETE.
1716 // A zero value means exclusive access to the target.
1717 //
1718 // </KMDF_DOC>
1719 // <UMDF_DOC>
1720 // The type of sharing to allow for the file. For more information about
1721 // this member, see the dwShareMode parameter of CreateFile in the
1722 // Windows SDK. A value of 0 means exclusive access.
1723 // </UMDF_DOC>
1724 //
1726
1727 //
1728 // <KMDF_DOC>
1729 // File attributes, see ZwCreateFile in the DDK for a list of valid
1730 // values and their meaning.
1731 // </KMDF_DOC>
1732 // <UMDF_DOC>
1733 // Additional flags and attributes for the file. For more information about
1734 // this member, see the dwFlagsAndAttributes parameter of CreateFile
1735 // in the Windows SDK.
1736 // </UMDF_DOC>
1737 //
1739
1740 //
1741 // <KMDF_DOC>
1742 // Create disposition, see ZwCreateFile in the DDK for a list of valid
1743 // values and their meaning.
1744 // </KMDF_DOC>
1745 // <UMDF_DOC>
1746 // The action to take if the file already exists. For more information
1747 // about this member, see the dwCreationDisposition parameter of
1748 // CreateFile in the Windows SDK.
1749 // </UMDF_DOC>
1750 //
1752
1753 //
1754 // <KMDF_ONLY/>
1755 // Options for opening the device, see CreateOptions for ZwCreateFile in the
1756 // DDK for a list of valid values and their meaning.
1757 //
1759
1760 //
1761 // <KMDF_ONLY/>
1762 //
1764
1765 //
1766 // <KMDF_ONLY/>
1767 //
1769
1770 //
1771 // <KMDF_ONLY/>
1772 //
1774
1775 // ========== WdfIoTargetOpenByName end ==========
1776 //
1777 //
1778 // <KMDF_ONLY/>
1779 //
1780 // On return for a create by name, this will contain one of the following
1781 // values: FILE_CREATED, FILE_OPENED, FILE_OVERWRITTEN, FILE_SUPERSEDED,
1782 // FILE_EXISTS, FILE_DOES_NOT_EXIST
1783 //
1785
1786 // ========== WdfIoTargetOpenLocalTargetByFile begin ==========
1787 //
1788 //
1789 // <UMDF_ONLY/> A UNICODE_STRING-formatted string that contains the
1790 // name of the file to create a file object from. This parameter is
1791 // optional, and is applicable only when Type parameter is
1792 // WdfIoTargetOpenLocalTargetByFile. The driver can leave this member
1793 // unchanged if the driver does not have to create the file object
1794 // from a file name. If the driver must supply a name, the string that
1795 // the driver passes must not contain any path separator characters
1796 // ("/" or "\").
1797 //
1799
1801
1802// End of versioning of structures for wdfIoTarget.h
1803
1804//
1805// Versioning of structures for wdfIoTargetPri.h
1806//
1807// End of versioning of structures for wdfIoTargetPri.h
1808
1809//
1810// Versioning of structures for wdfMemory.h
1811//
1813 //
1814 // Offset into the WDFMEMORY that the operation should start at.
1815 //
1817
1818 //
1819 // Number of bytes that the operation should access. If 0, the entire
1820 // length of the WDFMEMORY buffer will be used in the operation or ignored
1821 // depending on the API.
1822 //
1824
1826
1829
1830 union {
1831 struct {
1833
1835
1836 } BufferType;
1837
1838 struct {
1840
1842
1843 } MdlType;
1844
1845 struct {
1846 WDFMEMORY Memory;
1847
1849
1850 } HandleType;
1851
1852 } u;
1853
1855
1856// End of versioning of structures for wdfMemory.h
1857
1858//
1859// Versioning of structures for wdfMiniport.h
1860//
1861// End of versioning of structures for wdfMiniport.h
1862
1863//
1864// Versioning of structures for wdfObject.h
1865//
1867 //
1868 // Size in bytes of this structure
1869 //
1871
1872 //
1873 // Function to call when the object is deleted
1874 //
1876
1877 //
1878 // Function to call when the objects memory is destroyed when the
1879 // the last reference count goes to zero
1880 //
1882
1883 //
1884 // Execution level constraints for Object
1885 //
1887
1888 //
1889 // Synchronization level constraint for Object
1890 //
1892
1893 //
1894 // Optional Parent Object
1895 //
1897
1898 //
1899 // Overrides the size of the context allocated as specified by
1900 // ContextTypeInfo->ContextSize
1901 //
1903
1904 //
1905 // Pointer to the type information to be associated with the object
1906 //
1908
1910
1911//
1912// Since C does not have strong type checking we must invent our own
1913//
1915 //
1916 // The size of this structure in bytes
1917 //
1919
1920 //
1921 // String representation of the context's type name, i.e. "DEVICE_CONTEXT"
1922 //
1924
1925 //
1926 // The size of the context in bytes. This will be the size of the context
1927 // associated with the handle unless
1928 // WDF_OBJECT_ATTRIBUTES::ContextSizeOverride is specified.
1929 //
1931
1932 //
1933 // If NULL, this structure is the unique type identifier for the context
1934 // type. If != NULL, the UniqueType pointer value is the unique type id
1935 // for the context type.
1936 //
1938
1939 //
1940 // Function pointer to retrieve the context type information structure
1941 // pointer from the provider of the context type. This function is invoked
1942 // by the client driver's entry point by the KMDF stub after all class
1943 // drivers are loaded and before DriverEntry is invoked.
1944 //
1946
1948
1949//
1950// Core structure for supporting custom types, see macros below.
1951//
1954
1956
1958
1959// End of versioning of structures for wdfObject.h
1960
1961//
1962// Versioning of structures for wdfpdo.h
1963//
1965 //
1966 // The size of this structure in bytes
1967 //
1969
1970 //
1971 // Called in response to IRP_MN_QUERY_RESOURCES
1972 //
1974
1975 //
1976 // Called in response to IRP_MN_QUERY_RESOURCE_REQUIREMENTS
1977 //
1979
1980 //
1981 // Called in response to IRP_MN_EJECT
1982 //
1984
1985 //
1986 // Called in response to IRP_MN_SET_LOCK
1987 //
1989
1990 //
1991 // Called in response to the power policy owner sending a wait wake to the
1992 // PDO. Bus generic arming shoulding occur here.
1993 //
1995
1996 //
1997 // Called in response to the power policy owner sending a wait wake to the
1998 // PDO. Bus generic disarming shoulding occur here.
1999 //
2001
2002 //
2003 // Called when reporting the PDO missing to PnP manager in response to
2004 // IRP_MN_QUERY_DEVICE_RELATIONS for Bus Relations.
2005 //
2007
2009
2010// End of versioning of structures for wdfpdo.h
2011
2012//
2013// Versioning of structures for wdfpool.h
2014//
2015// End of versioning of structures for wdfpool.h
2016
2017//
2018// Versioning of structures for wdfqueryinterface.h
2019//
2021 //
2022 // Size of this structure in bytes.
2023 //
2025
2026 //
2027 // Interface to be returned to the caller. Optional if BehaviorType is set
2028 // to WdfQueryInterfaceTypePassThrough or ImportInterface is set to TRUE.
2029 //
2031
2032 //
2033 // The GUID identifying the interface
2034 //
2036
2037 //
2038 // Valid only for PDOs. The framework will allocate a new request and
2039 // forward it down the parent's device stack.
2040 //
2042
2043 //
2044 // Driver supplied callback which is called after some basic interface
2045 // validation has been performed (size, version, and guid checking). This
2046 // is an optional parameter and may be NULL unless ImportInterface is
2047 // specified.
2048 //
2049 // If the callback returns !NT_SUCCESS, this error will be returned to the
2050 // caller and the query interface will fail.
2051 //
2052 // In this callback, the caller is free to modify the ExposedInterface in
2053 // any manner of its choosing. For instance, the callback may change any
2054 // field in the interface. The callback may also alloate a dynamic context
2055 // to be associated with the interface; the InterfaceReference and
2056 // InterfaceDereference functions may also be overridden.
2057 //
2058 // If ImportInterface is set to TRUE, then this is a required field and the
2059 // callback must initialize the interface (the framework will leave the
2060 // ExposedInterface buffer exactly as it received it) since the framework
2061 // has no way of knowing which fields to fill in and which to leave alone.
2062 //
2064
2065 //
2066 // If TRUE, the interface provided by the caller contains data that the
2067 // driver is interested in. By setting to this field to TRUE, the
2068 // EvtDeviceProcessQueryInterfaceRequest callback must initialize the
2069 // ExposedInterface.
2070 //
2071 // If FALSE, the entire ExposedInterface is initialized through a memory
2072 // copy before the EvtDeviceProcessQueryInterfaceRequest is called.
2073 //
2075
2077
2078// End of versioning of structures for wdfqueryinterface.h
2079
2080//
2081// Versioning of structures for wdfregistry.h
2082//
2083// End of versioning of structures for wdfregistry.h
2084
2085//
2086// Versioning of structures for wdfrequest.h
2087//
2088//
2089// This parameters structure allows general access to a requests parameters
2090//
2093
2095
2097
2098 //
2099 // The following user parameters are based on the service that is being
2100 // invoked. Drivers and file systems can determine which set to use based
2101 // on the above major and minor function codes.
2102 //
2103 union {
2104 //
2105 // System service parameters for: Create
2106 //
2107 //
2108 struct {
2110
2112
2114
2116
2118
2120
2121 //
2122 // System service parameters for: Read
2123 //
2124 //
2125 struct {
2126 size_t Length;
2127
2129
2131
2133
2134 //
2135 // System service parameters for: Write
2136 //
2137 //
2138 struct {
2139 size_t Length;
2140
2142
2144
2146
2147 //
2148 // System service parameters for: Device Control
2149 //
2150 // Note that the user's output buffer is stored in the UserBuffer field
2151 // and the user's input buffer is stored in the SystemBuffer field.
2152 //
2153 //
2154 struct {
2156
2158
2160
2162
2164
2165 struct {
2167
2169
2171
2173
2174 } Others;
2175
2177
2179
2181 //
2182 // Size of the structure in bytes
2183 //
2185
2187
2189
2190 union {
2191 struct {
2192 WDFMEMORY Buffer;
2193
2194 size_t Length;
2195
2196 size_t Offset;
2197
2199
2200 struct {
2201 WDFMEMORY Buffer;
2202
2203 size_t Length;
2204
2205 size_t Offset;
2206
2208
2209 struct {
2211
2212 struct {
2213 WDFMEMORY Buffer;
2214
2215 size_t Offset;
2216
2218
2219 struct {
2220 WDFMEMORY Buffer;
2221
2222 size_t Offset;
2223
2224 size_t Length;
2225
2227
2229
2230 struct {
2231 union {
2233
2235
2237
2238 union {
2239 PVOID Ptr;
2240
2242
2244
2245 union {
2246 PVOID Ptr;
2247
2249
2250 } Argument3;
2251
2252 union {
2253 PVOID Ptr;
2254
2256
2258
2259 } Others;
2260
2261 struct {
2263
2264 } Usb;
2265
2267
2269
2271 //
2272 // Size of this structure in bytes
2273 //
2275
2276 //
2277 // Bit field combination of WDF_REQUEST_REUSE_Xxx values
2278 //
2280
2281 //
2282 // The new status of the request.
2283 //
2285
2286 //
2287 // New PIRP to be contained in the WDFREQUEST. Setting a new PIRP value
2288 // is only valid for WDFREQUESTs created by WdfRequestCreateFromIrp where
2289 // RequestFreesIrp == FALSE. No other WDFREQUESTs (presented by the
2290 // I/O queue for instance) may have their IRPs changed.
2291 //
2293
2295
2297 //
2298 // Size of the structure in bytes
2299 //
2301
2302 //
2303 // Bit field combination of values from the WDF_REQUEST_SEND_OPTIONS_FLAGS
2304 // enumeration
2305 //
2307
2308 //
2309 // Valid when WDF_REQUEST_SEND_OPTION_TIMEOUT is set
2310 //
2312
2314
2316 //
2317 // Size of the structure in bytes
2318 //
2320
2321 //
2322 // Bit field combination of values from the WDF_REQUEST_FORWARD_OPTIONS_FLAGS
2323 // enumeration
2324 //
2326
2328
2329// End of versioning of structures for wdfrequest.h
2330
2331//
2332// Versioning of structures for wdfresource.h
2333//
2334// End of versioning of structures for wdfresource.h
2335
2336//
2337// Versioning of structures for wdfroletypes.h
2338//
2339// End of versioning of structures for wdfroletypes.h
2340
2341//
2342// Versioning of structures for wdfstring.h
2343//
2344// End of versioning of structures for wdfstring.h
2345
2346//
2347// Versioning of structures for wdfsync.h
2348//
2349// End of versioning of structures for wdfsync.h
2350
2351//
2352// Versioning of structures for wdftimer.h
2353//
2356
2358
2360
2361 //
2362 // If this is TRUE, the Timer will automatically serialize
2363 // with the event callback handlers of its Parent Object.
2364 //
2365 // Parent Object's callback constraints should be compatible
2366 // with the Timer DPC (DISPATCH_LEVEL), or the request will fail.
2367 //
2369
2370 //
2371 // Optional tolerance for the timer in milliseconds.
2372 //
2374
2375 //
2376 // If this is TRUE, high resolution timers will be used. The default
2377 // value is FALSE
2378 //
2379 DECLSPEC_ALIGN(8) BOOLEAN UseHighResolutionTimer;
2380
2382
2383// End of versioning of structures for wdftimer.h
2384
2385//
2386// Versioning of structures for wdftriage.h
2387//
2389 // value
2391
2393
2395
2397
2399
2401
2403
2405
2407 // value
2409
2411
2413
2415
2417
2419
2421 // value
2423
2425
2427
2429
2431 // value
2433
2435
2437
2439
2441
2443
2445
2447
2450
2452
2454
2456
2458 // value
2460
2462
2464
2466
2468
2470 // value
2472
2474
2475 // WDF irp wrapper, see below.
2477
2479
2481
2483
2485
2487
2489 // value
2491
2493
2495
2497 // value
2499
2501
2503
2505 //
2506 // Version.
2507 //
2509
2511
2513
2515
2516 //
2517 // Reserved pointer.
2518 //
2520
2521 //
2522 // WDF objects triage info.
2523 //
2525
2527
2529
2531
2533
2535
2537
2539
2541
2543
2544// End of versioning of structures for wdftriage.h
2545
2546//
2547// Versioning of structures for wdftypes.h
2548//
2549// End of versioning of structures for wdftypes.h
2550
2551//
2552// Versioning of structures for wdfUsb.h
2553//
2556
2558
2559 union {
2560 struct {
2561 WDFMEMORY Buffer;
2562
2564
2566
2567 //
2568 // If STATUS_BUFFER_OVERFLOW is returned, this field will contain the
2569 // number of bytes required to retrieve the entire string.
2570 //
2572
2573 } DeviceString;
2574
2575 struct {
2576 WDFMEMORY Buffer;
2577
2579
2581
2582 } DeviceControlTransfer;
2583
2584 struct {
2585 WDFMEMORY Buffer;
2586
2587 } DeviceUrb;
2588
2589 struct {
2590 WDFMEMORY Buffer;
2591
2592 size_t Length;
2593
2594 size_t Offset;
2595
2596 } PipeWrite;
2597
2598 struct {
2599 WDFMEMORY Buffer;
2600
2601 size_t Length;
2602
2603 size_t Offset;
2604
2605 } PipeRead;
2606
2607 struct {
2608 WDFMEMORY Buffer;
2609
2610 } PipeUrb;
2611
2613
2615
2617 //
2618 // Size of the string in bytes
2619 //
2621
2622 //
2623 // Number of bytes to send ask for from the usb device.
2624 //
2626
2627 //
2628 // Number of bytes to allocate before the requested transfer length
2629 //
2631
2632 //
2633 // Number of bytes to allocate after the requested transfer length
2634 //
2636
2637 //
2638 // Number of reads to send to the device at once. If zero is specified, the
2639 // default will be used.
2640 //
2642
2643 //
2644 // Optional attributes to apply to each WDFMEMORY allocated for each read
2645 //
2647
2648 //
2649 // Event callback invoked when a read is completed
2650 //
2652
2653 //
2654 // Context to be passed to EvtUsbTargetPipeReadComplete
2655 //
2657
2658 //
2659 // Event callback invoked when a reader fails. If TRUE is returned, the
2660 // readers are restarted.
2661 //
2663
2665
2667 //
2668 // Size of this structure in bytes
2669 //
2671
2672 //
2673 // USBD version information
2674 //
2676
2677 //
2678 // Usb controller port capabilities
2679 //
2681
2682 //
2683 // Bitfield of WDF_USB_DEVICE_TRAITS values
2684 //
2686
2688
2690 //
2691 // Interface to select
2692 //
2693 WDFUSBINTERFACE UsbInterface;
2694
2695 //
2696 // Setting to select on UsbInterface
2697 //
2699
2701
2703 //
2704 // Size of the structure in bytes
2705 //
2707
2708 //
2709 // Type of select config, one of WdfUsbTargetDeviceSelectConfigType values
2710 //
2712
2713 union {
2714 struct {
2715 //
2716 // Configuration descriptor to use
2717 //
2719
2720 //
2721 // Array of interface descriptors pointers.
2722 //
2724
2725 //
2726 // Number of elements in the InterfaceDescrtiptors pointer array.
2727 //
2729
2731
2732 struct {
2733 //
2734 // Preallocated select config URB formatted by the caller.
2735 // Will be used, as supplied without modification, as the select
2736 // config request.
2737 //
2739
2740 } Urb;
2741
2742 struct {
2743 //
2744 // Number of pipes configured on the single after. This value is
2745 // returned to the caller after a succssful call.
2746 //
2748
2749 //
2750 // The interface which was configred. This value is returned to the
2751 // caller after a successful call.
2752 //
2753 WDFUSBINTERFACE ConfiguredUsbInterface;
2754
2755 } SingleInterface;
2756
2757 struct {
2758 //
2759 // Number of interface pairs in the Pairs array
2760 //
2762
2763 //
2764 // Array of interface + settings
2765 //
2767
2768 //
2769 // Number of interfaces which were configured after a successful call
2770 //
2772
2773 } MultiInterface;
2774
2776
2778
2780 //
2781 // Size of this data structure in bytes
2782 //
2784
2785 //
2786 // Type of select interface as indicated by one of the
2787 // WdfUsbTargetDeviceSelectSettingType values.
2788 //
2790
2791 union {
2792 struct {
2793 //
2794 // Interface descriptor that will be used in the interface selection
2795 //
2797
2799
2800 struct {
2801 //
2802 // The setting index of the WDFUSBINTERFACE to use
2803 //
2805
2807
2808 struct {
2809 //
2810 // Preformatted select interface URB which will be used in the
2811 // select interface request.
2812 //
2814
2815 } Urb;
2816
2818
2820
2822 //
2823 // Size of the structure in bytes
2824 //
2826
2827 //
2828 // Maximum packet size this device is capable of
2829 //
2831
2832 //
2833 // Raw endpoint address of the device as described by its descriptor
2834 //
2836
2837 //
2838 // Polling interval
2839 //
2841
2842 //
2843 // Which alternate setting this structure is relevant for
2844 //
2846
2847 //
2848 // The type of the pipe
2850
2851 //
2852 // Maximum size of one transfer which should be sent to the host controller
2853 //
2855
2857
2859 //
2860 // Size of this structure in bytes
2861 //
2863
2864 //
2865 // USBD Client Contraction of the Wdf Client
2866 //
2868
2870
2871// End of versioning of structures for wdfUsb.h
2872
2873//
2874// Versioning of structures for wdfverifier.h
2875//
2876// End of versioning of structures for wdfverifier.h
2877
2878//
2879// Versioning of structures for wdfWMI.h
2880//
2882 //
2883 // Size of this structure in bytes
2884 //
2886
2887 //
2888 // The GUID being registered
2889 //
2891
2892 //
2893 // Combination of values from the enum WDF_WMI_PROVIDER_FLAGS
2894 //
2896
2897 //
2898 // Minimum expected buffer size for query and set instance requests.
2899 // Ignored if WdfWmiProviderEventOnly is set in Flags.
2900 //
2902
2903 //
2904 // Callback when caller is opening a provider which ha been marked as
2905 // expensive or when a caller is interested in events.
2906 //
2908
2910
2912 //
2913 // Size of the structure in bytes
2914 //
2916
2917 //
2918 // Optional parameter. If NULL, ProviderConfig must be set to a valid pointer
2919 // value. If specified, indicates the provider to create an instance for.
2920 //
2921 WDFWMIPROVIDER Provider;
2922
2923 //
2924 // Optional parameter. If NULL, Provider must be set to a valid handle
2925 // value. If specifeid, indicates the configuration for a provider to be
2926 // created and for this instance to be associated with.
2927 //
2929
2930 //
2931 // If the Provider is configured as read only and this field is set to TRUE,
2932 // the EvtWmiInstanceQueryInstance is ignored and WDF will blindly copy the
2933 // context associated with this instance (using RtlCopyMemory, with no locks
2934 // held) into the query buffer.
2935 //
2937
2938 //
2939 // If TRUE, the instance will be registered as well as created.
2940 //
2942
2943 //
2944 // Callback when caller wants to query the entire data item's buffer.
2945 //
2947
2948 //
2949 // Callback when caller wants to set the entire data item's buffer.
2950 //
2952
2953 //
2954 // Callback when caller wants to set a single field in the data item's buffer
2955 //
2957
2958 //
2959 // Callback when caller wants to execute a method on the data item.
2960 //
2962
2964
2965// End of versioning of structures for wdfWMI.h
2966
2967//
2968// Versioning of structures for wdfworkitem.h
2969//
2972
2974
2975 //
2976 // If this is TRUE, the workitem will automatically serialize
2977 // with the event callback handlers of its Parent Object.
2978 //
2979 // Parent Object's callback constraints should be compatible
2980 // with the work item (PASSIVE_LEVEL), or the request will fail.
2981 //
2983
2985
2986// End of versioning of structures for wdfworkitem.h
2987
2988
2989#endif // _WDF_V2_15_TYPES_H_
unsigned char BOOLEAN
char ACPI_OBJECT_TYPE * Types
Definition: acdebug.h:354
LONG NTSTATUS
Definition: precomp.h:26
@ Create
Definition: registry.c:563
Definition: bufpool.h:45
_In_ PVOID Argument2
Definition: classpnp.h:721
BOOL WINAPI DeviceIoControl(IN HANDLE hDevice, IN DWORD dwIoControlCode, IN LPVOID lpInBuffer OPTIONAL, IN DWORD nInBufferSize OPTIONAL, OUT LPVOID lpOutBuffer OPTIONAL, IN DWORD nOutBufferSize OPTIONAL, OUT LPDWORD lpBytesReturned OPTIONAL, IN LPOVERLAPPED lpOverlapped OPTIONAL)
Definition: deviceio.c:136
ULONG_PTR KAFFINITY
Definition: compat.h:85
UCHAR KIRQL
Definition: env_spec_w32.h:591
_Must_inspect_result_ _In_ PFSRTL_PER_STREAM_CONTEXT Ptr
Definition: fsrtlfuncs.h:898
InternalIoctlParams Argument4
_Must_inspect_result_ __in WDFIOTARGET __in_opt WDFREQUEST __in ULONG Ioctl
ULONG WDF_MINOR_VERSION
Definition: fxldrum.h:27
ULONG WDF_MAJOR_VERSION
Definition: fxldrum.h:26
ULONG WDF_BUILD_NUMBER
Definition: fxldrum.h:28
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble * u
Definition: glfuncs.h:240
unsigned __int64 ULONG64
Definition: imports.h:198
#define _In_
Definition: ms_sal.h:308
#define _In_opt_
Definition: ms_sal.h:309
_In_opt_ PSID Group
Definition: rtlfuncs.h:1658
ULONG ACCESS_MASK
Definition: nt_native.h:40
__GNU_EXTENSION typedef __int64 * PLONGLONG
Definition: ntbasedef.h:382
_In_ ULONG _In_ ULONG Offset
Definition: ntddpcm.h:101
_In_ ULONG _In_ ULONG _In_ ULONG Length
Definition: ntddpcm.h:102
@ PowerSystemMaximum
Definition: ntpoapi.h:42
enum _DEVICE_POWER_STATE DEVICE_POWER_STATE
enum _SYSTEM_POWER_STATE SYSTEM_POWER_STATE
#define CONST
Definition: pedump.c:81
unsigned short USHORT
Definition: pedump.c:61
enum _KINTERRUPT_MODE KINTERRUPT_MODE
DWORD LCID
Definition: nls.h:13
@ Input
Definition: arc.h:84
@ Output
Definition: arc.h:85
_In_ BOOLEAN Read
Definition: strmini.h:479
Definition: usb.h:529
PFN_WDFCX_DEVICE_FILE_CREATE EvtCxDeviceFileCreate
Definition: wdf215.h:430
WDF_FILEOBJECT_CLASS FileObjectClass
Definition: wdf215.h:460
PFN_WDF_FILE_CLEANUP EvtFileCleanup
Definition: wdf215.h:440
PFN_WDF_FILE_CLOSE EvtFileClose
Definition: wdf215.h:435
WDF_TRI_STATE AutoForwardCleanupClose
Definition: wdf215.h:453
PFN_WDF_CHILD_LIST_IDENTIFICATION_DESCRIPTION_DUPLICATE EvtChildListIdentificationDescriptionDuplicate
Definition: wdf215.h:327
PFN_WDF_CHILD_LIST_ADDRESS_DESCRIPTION_DUPLICATE EvtChildListAddressDescriptionDuplicate
Definition: wdf215.h:358
PFN_WDF_CHILD_LIST_ADDRESS_DESCRIPTION_CLEANUP EvtChildListAddressDescriptionCleanup
Definition: wdf215.h:365
PFN_WDF_CHILD_LIST_ADDRESS_DESCRIPTION_COPY EvtChildListAddressDescriptionCopy
Definition: wdf215.h:351
PFN_WDF_CHILD_LIST_SCAN_FOR_CHILDREN EvtChildListScanForChildren
Definition: wdf215.h:312
PFN_WDF_CHILD_LIST_IDENTIFICATION_DESCRIPTION_COPY EvtChildListIdentificationDescriptionCopy
Definition: wdf215.h:320
PFN_WDF_CHILD_LIST_DEVICE_REENUMERATED EvtChildListDeviceReenumerated
Definition: wdf215.h:372
PFN_WDF_CHILD_LIST_CREATE_DEVICE EvtChildListCreateDevice
Definition: wdf215.h:305
PFN_WDF_CHILD_LIST_IDENTIFICATION_DESCRIPTION_CLEANUP EvtChildListIdentificationDescriptionCleanup
Definition: wdf215.h:334
PFN_WDF_CHILD_LIST_IDENTIFICATION_DESCRIPTION_COMPARE EvtChildListIdentificationDescriptionCompare
Definition: wdf215.h:343
PWDF_CHILD_ADDRESS_DESCRIPTION_HEADER_V2_15 AddressDescription
Definition: wdf215.h:268
PFN_WDF_CHILD_LIST_IDENTIFICATION_DESCRIPTION_COMPARE EvtChildListIdentificationDescriptionCompare
Definition: wdf215.h:279
PWDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER_V2_15 IdentificationDescription
Definition: wdf215.h:263
WDF_CHILD_LIST_RETRIEVE_DEVICE_STATUS Status
Definition: wdf215.h:273
WDF_CLASS_VERSION_V2_15 Version
Definition: wdf215.h:492
PFN_WDF_CLASS_EXPORT * FunctionTable
Definition: wdf215.h:497
PFN_WDF_CLIENT_BIND_CLASS ClientBindClass
Definition: wdf215.h:515
PFN_WDF_CLIENT_UNBIND_CLASS ClientUnbindClass
Definition: wdf215.h:522
PFN_WDF_CLASS_LIBRARY_UNBIND_CLIENT ClassLibraryUnbindClient
Definition: wdf215.h:564
PFN_WDF_CLASS_LIBRARY_DEINITIALIZE ClassLibraryDeinitialize
Definition: wdf215.h:552
WDF_CLASS_VERSION_V2_15 Version
Definition: wdf215.h:540
PFN_WDF_CLASS_LIBRARY_BIND_CLIENT ClassLibraryBindClient
Definition: wdf215.h:558
PFN_WDF_CLASS_LIBRARY_INITIALIZE ClassLibraryInitialize
Definition: wdf215.h:545
WDF_MINOR_VERSION Minor
Definition: wdf215.h:472
WDF_MAJOR_VERSION Major
Definition: wdf215.h:470
WDF_BUILD_NUMBER Build
Definition: wdf215.h:474
_In_ const DEVPROPKEY * PropertyKey
Definition: wdf215.h:1245
_In_opt_ PCUNICODE_STRING ReferenceString
Definition: wdf215.h:1239
struct _WDF_DEVICE_PNP_NOTIFICATION_DATA_V2_15::@4884::@4885 EnterState
struct _WDF_DEVICE_PNP_NOTIFICATION_DATA_V2_15::@4884::@4886 PostProcessState
WDF_DEVICE_PNP_STATE CurrentState
Definition: wdf215.h:627
WDF_STATE_NOTIFICATION_TYPE Type
Definition: wdf215.h:620
union _WDF_DEVICE_PNP_NOTIFICATION_DATA_V2_15::@4884 Data
struct _WDF_DEVICE_PNP_NOTIFICATION_DATA_V2_15::@4884::@4887 LeaveState
WDF_DEVICE_PNP_STATE NewState
Definition: wdf215.h:632
DEVICE_POWER_STATE DeviceWake
Definition: wdf215.h:1075
DEVICE_POWER_STATE IdealDxStateForSx
Definition: wdf215.h:1094
SYSTEM_POWER_STATE SystemWake
Definition: wdf215.h:1077
WDF_DEVICE_POWER_STATE CurrentState
Definition: wdf215.h:672
WDF_STATE_NOTIFICATION_TYPE Type
Definition: wdf215.h:665
struct _WDF_DEVICE_POWER_NOTIFICATION_DATA_V2_15::@4888::@4890 PostProcessState
struct _WDF_DEVICE_POWER_NOTIFICATION_DATA_V2_15::@4888::@4889 EnterState
struct _WDF_DEVICE_POWER_NOTIFICATION_DATA_V2_15::@4888::@4891 LeaveState
union _WDF_DEVICE_POWER_NOTIFICATION_DATA_V2_15::@4888 Data
WDF_DEVICE_POWER_STATE NewState
Definition: wdf215.h:677
WDF_POWER_POLICY_IDLE_TIMEOUT_TYPE IdleTimeoutType
Definition: wdf215.h:886
WDF_POWER_POLICY_S0_IDLE_CAPABILITIES IdleCaps
Definition: wdf215.h:825
WDF_POWER_POLICY_S0_IDLE_USER_CONTROL UserControlOfIdleSettings
Definition: wdf215.h:843
struct _WDF_DEVICE_POWER_POLICY_NOTIFICATION_DATA_V2_15::@4892::@4893 EnterState
union _WDF_DEVICE_POWER_POLICY_NOTIFICATION_DATA_V2_15::@4892 Data
struct _WDF_DEVICE_POWER_POLICY_NOTIFICATION_DATA_V2_15::@4892::@4894 PostProcessState
struct _WDF_DEVICE_POWER_POLICY_NOTIFICATION_DATA_V2_15::@4892::@4895 LeaveState
WDF_DEVICE_POWER_POLICY_STATE NewState
Definition: wdf215.h:722
WDF_STATE_NOTIFICATION_TYPE Type
Definition: wdf215.h:710
WDF_DEVICE_POWER_POLICY_STATE CurrentState
Definition: wdf215.h:717
WDF_POWER_POLICY_SX_WAKE_USER_CONTROL UserControlOfWakeSettings
Definition: wdf215.h:930
_In_ const DEVPROPKEY * PropertyKey
Definition: wdf215.h:1276
WDF_TRI_STATE NotDisableable
Definition: wdf215.h:991
WDF_TRI_STATE DontDisplayInUI
Definition: wdf215.h:979
WDF_TRI_STATE Removed
Definition: wdf215.h:1000
WDF_TRI_STATE ResourcesChanged
Definition: wdf215.h:1007
WDF_TRI_STATE Failed
Definition: wdf215.h:986
WDF_TRI_STATE Disabled
Definition: wdf215.h:973
PFN_WDF_DRIVER_UNLOAD EvtDriverUnload
Definition: wdf215.h:1333
PFN_WDF_DRIVER_DEVICE_ADD EvtDriverDeviceAdd
Definition: wdf215.h:1331
CHAR DriverName[WDF_DRIVER_GLOBALS_NAME_LEN]
Definition: wdf215.h:1406
BOOLEAN DisplaceDriverUnload
Definition: wdf215.h:1411
PFN_WDF_DEVICE_FILTER_RESOURCE_REQUIREMENTS EvtDeviceFilterAddResourceRequirements
Definition: wdf215.h:1377
PFN_WDF_DEVICE_REMOVE_ADDED_RESOURCES EvtDeviceRemoveAddedResources
Definition: wdf215.h:1381
PFN_WDF_DEVICE_FILTER_RESOURCE_REQUIREMENTS EvtDeviceFilterRemoveResourceRequirements
Definition: wdf215.h:1379
PFN_WDF_DEVICE_FILE_CREATE EvtDeviceFileCreate
Definition: wdf215.h:582
PFN_WDF_FILE_CLEANUP EvtFileCleanup
Definition: wdf215.h:592
WDF_TRI_STATE AutoForwardCleanupClose
Definition: wdf215.h:605
WDF_FILEOBJECT_CLASS FileObjectClass
Definition: wdf215.h:612
PFN_WDF_FILE_CLOSE EvtFileClose
Definition: wdf215.h:587
PFN_WDF_INTERRUPT_DPC EvtInterruptDpc
Definition: wdf215.h:1468
WDF_TRI_STATE ShareVector
Definition: wdf215.h:1453
PFN_WDF_INTERRUPT_ISR EvtInterruptIsr
Definition: wdf215.h:1466
WDF_TRI_STATE ReportInactiveOnPowerDown
Definition: wdf215.h:1502
PCM_PARTIAL_RESOURCE_DESCRIPTOR InterruptTranslated
Definition: wdf215.h:1482
PCM_PARTIAL_RESOURCE_DESCRIPTOR InterruptRaw
Definition: wdf215.h:1480
PFN_WDF_INTERRUPT_WORKITEM EvtInterruptWorkItem
Definition: wdf215.h:1474
PFN_WDF_INTERRUPT_ENABLE EvtInterruptEnable
Definition: wdf215.h:1470
PFN_WDF_INTERRUPT_DISABLE EvtInterruptDisable
Definition: wdf215.h:1472
WDF_INTERRUPT_PRIORITY Priority
Definition: wdf215.h:1557
GROUP_AFFINITY TargetProcessorSetAndGroup
Definition: wdf215.h:1559
WDF_INTERRUPT_POLICY Policy
Definition: wdf215.h:1555
DECLSPEC_ALIGN(8) USHORT Group
KAFFINITY TargetProcessorSet
Definition: wdf215.h:1523
KINTERRUPT_MODE Mode
Definition: wdf215.h:1533
WDF_INTERRUPT_POLARITY Polarity
Definition: wdf215.h:1535
BOOLEAN AllowZeroLengthRequests
Definition: wdf215.h:1580
WDF_IO_QUEUE_DISPATCH_TYPE DispatchType
Definition: wdf215.h:1576
WDF_TRI_STATE PowerManaged
Definition: wdf215.h:1578
PFN_WDF_IO_QUEUE_IO_INTERNAL_DEVICE_CONTROL EvtIoInternalDeviceControl
Definition: wdf215.h:1592
PFN_WDF_IO_QUEUE_IO_READ EvtIoRead
Definition: wdf215.h:1586
PFN_WDF_IO_QUEUE_IO_DEVICE_CONTROL EvtIoDeviceControl
Definition: wdf215.h:1590
PFN_WDF_IO_QUEUE_IO_CANCELED_ON_QUEUE EvtIoCanceledOnQueue
Definition: wdf215.h:1598
PFN_WDF_IO_QUEUE_IO_DEFAULT EvtIoDefault
Definition: wdf215.h:1584
PFN_WDF_IO_QUEUE_IO_RESUME EvtIoResume
Definition: wdf215.h:1596
PFN_WDF_IO_QUEUE_IO_STOP EvtIoStop
Definition: wdf215.h:1594
PFN_WDF_IO_QUEUE_IO_WRITE EvtIoWrite
Definition: wdf215.h:1588
PFN_WDF_IO_ALLOCATE_REQUEST_RESOURCES EvtIoAllocateRequestResources
Definition: wdf215.h:1635
WDF_IO_FORWARD_PROGRESS_RESERVED_POLICY_SETTINGS ForwardProgressReservePolicySettings
Definition: wdf215.h:1625
PFN_WDF_IO_ALLOCATE_RESOURCES_FOR_RESERVED_REQUEST EvtIoAllocateResourcesForReservedRequest
Definition: wdf215.h:1630
WDF_IO_FORWARD_PROGRESS_RESERVED_POLICY ForwardProgressReservedPolicy
Definition: wdf215.h:1620
WDF_IO_TARGET_OPEN_TYPE Type
Definition: wdf215.h:1654
PFN_WDF_IO_TARGET_REMOVE_COMPLETE EvtIoTargetRemoveComplete
Definition: wdf215.h:1673
PFN_WDF_IO_TARGET_REMOVE_CANCELED EvtIoTargetRemoveCanceled
Definition: wdf215.h:1667
PDEVICE_OBJECT TargetDeviceObject
Definition: wdf215.h:1680
UNICODE_STRING TargetDeviceName
Definition: wdf215.h:1695
PFN_WDF_IO_TARGET_QUERY_REMOVE EvtIoTargetQueryRemove
Definition: wdf215.h:1661
WDF_DEVICE_IO_TYPE DeviceControlIoType
Definition: wdf215.h:1210
WDF_DEVICE_IO_TYPE ReadWriteIoType
Definition: wdf215.h:1197
PWDFMEMORY_OFFSET_V2_15 Offsets
Definition: wdf215.h:1848
WDF_MEMORY_DESCRIPTOR_TYPE Type
Definition: wdf215.h:1828
PCWDF_OBJECT_CONTEXT_TYPE_INFO_V2_15 ContextTypeInfo
Definition: wdf215.h:1907
WDF_SYNCHRONIZATION_SCOPE SynchronizationScope
Definition: wdf215.h:1891
PFN_WDF_OBJECT_CONTEXT_CLEANUP EvtCleanupCallback
Definition: wdf215.h:1875
WDF_EXECUTION_LEVEL ExecutionLevel
Definition: wdf215.h:1886
PFN_WDF_OBJECT_CONTEXT_DESTROY EvtDestroyCallback
Definition: wdf215.h:1881
PCWDF_OBJECT_CONTEXT_TYPE_INFO_V2_15 UniqueType
Definition: wdf215.h:1937
PFN_GET_UNIQUE_CONTEXT_TYPE EvtDriverGetUniqueContextType
Definition: wdf215.h:1945
PFN_WDF_DEVICE_EJECT EvtDeviceEject
Definition: wdf215.h:1983
PFN_WDF_DEVICE_RESOURCES_QUERY EvtDeviceResourcesQuery
Definition: wdf215.h:1973
PFN_WDF_DEVICE_DISABLE_WAKE_AT_BUS EvtDeviceDisableWakeAtBus
Definition: wdf215.h:2000
PFN_WDF_DEVICE_SET_LOCK EvtDeviceSetLock
Definition: wdf215.h:1988
PFN_WDF_DEVICE_ENABLE_WAKE_AT_BUS EvtDeviceEnableWakeAtBus
Definition: wdf215.h:1994
PFN_WDF_DEVICE_REPORTED_MISSING EvtDeviceReportedMissing
Definition: wdf215.h:2006
PFN_WDF_DEVICE_RESOURCE_REQUIREMENTS_QUERY EvtDeviceResourceRequirementsQuery
Definition: wdf215.h:1978
PFN_WDF_DEVICE_QUERY_REMOVE EvtDeviceQueryRemove
Definition: wdf215.h:781
PFN_WDF_DEVICE_SELF_MANAGED_IO_RESTART EvtDeviceSelfManagedIoRestart
Definition: wdf215.h:777
PFN_WDF_DEVICE_SURPRISE_REMOVAL EvtDeviceSurpriseRemoval
Definition: wdf215.h:779
PFN_WDF_DEVICE_D0_EXIT EvtDeviceD0Exit
Definition: wdf215.h:761
PFN_WDF_DEVICE_D0_EXIT_PRE_INTERRUPTS_DISABLED EvtDeviceD0ExitPreInterruptsDisabled
Definition: wdf215.h:763
PFN_WDF_DEVICE_SELF_MANAGED_IO_CLEANUP EvtDeviceSelfManagedIoCleanup
Definition: wdf215.h:769
PFN_WDF_DEVICE_SELF_MANAGED_IO_SUSPEND EvtDeviceSelfManagedIoSuspend
Definition: wdf215.h:775
PFN_WDF_DEVICE_RELATIONS_QUERY EvtDeviceRelationsQuery
Definition: wdf215.h:787
PFN_WDF_DEVICE_D0_ENTRY_POST_INTERRUPTS_ENABLED EvtDeviceD0EntryPostInterruptsEnabled
Definition: wdf215.h:759
PFN_WDF_DEVICE_SELF_MANAGED_IO_INIT EvtDeviceSelfManagedIoInit
Definition: wdf215.h:773
PFN_WDF_DEVICE_RELEASE_HARDWARE EvtDeviceReleaseHardware
Definition: wdf215.h:767
PFN_WDF_DEVICE_USAGE_NOTIFICATION EvtDeviceUsageNotification
Definition: wdf215.h:785
PFN_WDF_DEVICE_SELF_MANAGED_IO_FLUSH EvtDeviceSelfManagedIoFlush
Definition: wdf215.h:771
PFN_WDF_DEVICE_USAGE_NOTIFICATION_EX EvtDeviceUsageNotificationEx
Definition: wdf215.h:789
PFN_WDF_DEVICE_PREPARE_HARDWARE EvtDevicePrepareHardware
Definition: wdf215.h:765
PFN_WDF_DEVICE_D0_ENTRY EvtDeviceD0Entry
Definition: wdf215.h:757
PFN_WDF_DEVICE_QUERY_STOP EvtDeviceQueryStop
Definition: wdf215.h:783
PFN_WDFDEVICE_WDM_PRE_PO_FX_UNREGISTER_DEVICE EvtDeviceWdmPrePoFxUnregisterDevice
Definition: wdf215.h:1130
PFN_WDFDEVICE_WDM_POST_PO_FX_REGISTER_DEVICE EvtDeviceWdmPostPoFxRegisterDevice
Definition: wdf215.h:1123
PPO_FX_POWER_CONTROL_CALLBACK PowerControlCallback
Definition: wdf215.h:1166
PPO_FX_COMPONENT_IDLE_STATE_CALLBACK ComponentIdleStateCallback
Definition: wdf215.h:1159
PPO_FX_COMPONENT_ACTIVE_CONDITION_CALLBACK ComponentActiveConditionCallback
Definition: wdf215.h:1145
PPO_FX_COMPONENT_IDLE_CONDITION_CALLBACK ComponentIdleConditionCallback
Definition: wdf215.h:1152
PFN_WDF_DEVICE_WAKE_FROM_SX_TRIGGERED EvtDeviceWakeFromSxTriggered
Definition: wdf215.h:809
PFN_WDF_DEVICE_ARM_WAKE_FROM_S0 EvtDeviceArmWakeFromS0
Definition: wdf215.h:799
PFN_WDF_DEVICE_ARM_WAKE_FROM_SX_WITH_REASON EvtDeviceArmWakeFromSxWithReason
Definition: wdf215.h:811
PFN_WDF_DEVICE_DISARM_WAKE_FROM_SX EvtDeviceDisarmWakeFromSx
Definition: wdf215.h:807
PFN_WDF_DEVICE_DISARM_WAKE_FROM_S0 EvtDeviceDisarmWakeFromS0
Definition: wdf215.h:801
PFN_WDF_DEVICE_WAKE_FROM_S0_TRIGGERED EvtDeviceWakeFromS0Triggered
Definition: wdf215.h:803
PFN_WDF_DEVICE_ARM_WAKE_FROM_SX EvtDeviceArmWakeFromSx
Definition: wdf215.h:805
WDF_DEVICE_POWER_STATE PowerState
Definition: wdf215.h:181
WDF_DEVICE_POWER_POLICY_STATE PowerPolicyState
Definition: wdf215.h:186
PFN_WDF_DEVICE_PROCESS_QUERY_INTERFACE_REQUEST EvtDeviceProcessQueryInterfaceRequest
Definition: wdf215.h:2063
PWDF_USB_REQUEST_COMPLETION_PARAMS_V2_15 Completion
Definition: wdf215.h:2262
ULONG POINTER_ALIGNMENT Key
Definition: wdf215.h:2128
WDF_REQUEST_TYPE Type
Definition: wdf215.h:2096
ULONG POINTER_ALIGNMENT EaLength
Definition: wdf215.h:2117
ULONG POINTER_ALIGNMENT IoControlCode
Definition: wdf215.h:2159
PIO_SECURITY_CONTEXT SecurityContext
Definition: wdf215.h:2109
USHORT POINTER_ALIGNMENT FileAttributes
Definition: wdf215.h:2113
size_t POINTER_ALIGNMENT InputBufferLength
Definition: wdf215.h:2157
DECLSPEC_ALIGN(8) BOOLEAN UseHighResolutionTimer
PFN_WDF_TIMER EvtTimerFunc
Definition: wdf215.h:2357
BOOLEAN AutomaticSerialization
Definition: wdf215.h:2368
PWDFOBJECT_TRIAGE_INFO_V2_15 WdfObjectTriageInfo
Definition: wdf215.h:2524
PWDFQUEUE_TRIAGE_INFO_V2_15 WdfQueueTriageInfo
Definition: wdf215.h:2530
PWDFIRPQUEUE_TRIAGE_INFO_V2_15 WdfIrpQueueTriageInfo
Definition: wdf215.h:2534
PWDFREQUEST_TRIAGE_INFO_V2_15 WdfRequestTriageInfo
Definition: wdf215.h:2536
PWDFCONTEXTTYPE_TRIAGE_INFO_V2_15 WdfContextTypeTriageInfo
Definition: wdf215.h:2528
PWDFCONTEXT_TRIAGE_INFO_V2_15 WdfContextTriageInfo
Definition: wdf215.h:2526
PWDFIRP_TRIAGE_INFO_V2_15 WdfIrpTriageInfo
Definition: wdf215.h:2540
ULONG TriageInfoMinorVersion
Definition: wdf215.h:2514
PWDFDEVICE_TRIAGE_INFO_V2_15 WdfDeviceTriageInfo
Definition: wdf215.h:2538
ULONG TriageInfoMajorVersion
Definition: wdf215.h:2512
PWDFFWDPROGRESS_TRIAGE_INFO_V2_15 WdfFwdProgressTriageInfo
Definition: wdf215.h:2532
PWDF_OBJECT_ATTRIBUTES_V2_15 BufferAttributes
Definition: wdf215.h:2646
PFN_WDF_USB_READER_COMPLETION_ROUTINE EvtUsbTargetPipeReadComplete
Definition: wdf215.h:2651
PFN_WDF_USB_READERS_FAILED EvtUsbTargetPipeReadersFailed
Definition: wdf215.h:2662
USBD_VERSION_INFORMATION UsbdVersionInformation
Definition: wdf215.h:2675
WdfUsbTargetDeviceSelectConfigType Type
Definition: wdf215.h:2711
PWDF_USB_INTERFACE_SETTING_PAIR_V2_15 Pairs
Definition: wdf215.h:2766
PUSB_CONFIGURATION_DESCRIPTOR ConfigurationDescriptor
Definition: wdf215.h:2718
PUSB_INTERFACE_DESCRIPTOR * InterfaceDescriptors
Definition: wdf215.h:2723
WdfUsbTargetDeviceSelectSettingType Type
Definition: wdf215.h:2789
PUSB_INTERFACE_DESCRIPTOR InterfaceDescriptor
Definition: wdf215.h:2796
WDF_USB_PIPE_TYPE PipeType
Definition: wdf215.h:2849
WDF_USB_CONTROL_SETUP_PACKET SetupPacket
Definition: wdf215.h:2578
PFN_WDF_WMI_INSTANCE_SET_INSTANCE EvtWmiInstanceSetInstance
Definition: wdf215.h:2951
PWDF_WMI_PROVIDER_CONFIG_V2_15 ProviderConfig
Definition: wdf215.h:2928
PFN_WDF_WMI_INSTANCE_EXECUTE_METHOD EvtWmiInstanceExecuteMethod
Definition: wdf215.h:2961
PFN_WDF_WMI_INSTANCE_SET_ITEM EvtWmiInstanceSetItem
Definition: wdf215.h:2956
PFN_WDF_WMI_INSTANCE_QUERY_INSTANCE EvtWmiInstanceQueryInstance
Definition: wdf215.h:2946
PFN_WDF_WMI_PROVIDER_FUNCTION_CONTROL EvtWmiProviderFunctionControl
Definition: wdf215.h:2907
PFN_WDF_WORKITEM EvtWorkItemFunc
Definition: wdf215.h:2973
BOOLEAN AutomaticSerialization
Definition: wdf215.h:2982
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_CLASS_EXTENSION_DESCRIPTOR_V2_15 * PWDF_CLASS_EXTENSION_DESCRIPTOR_V2_15
Definition: wdf215.h:29
struct _WDF_IO_TARGET_OPEN_PARAMS_V2_15 * PWDF_IO_TARGET_OPEN_PARAMS_V2_15
Definition: wdf215.h:93
struct _WDF_CHILD_LIST_CONFIG_V2_15 WDF_CHILD_LIST_CONFIG_V2_15
struct _WDF_REQUEST_FORWARD_OPTIONS_V2_15 WDF_REQUEST_FORWARD_OPTIONS_V2_15
struct _WDF_USB_INTERFACE_SELECT_SETTING_PARAMS_V2_15 * PWDF_USB_INTERFACE_SELECT_SETTING_PARAMS_V2_15
Definition: wdf215.h:151
const struct _WDF_DRIVER_GLOBALS_V2_15 * PCWDF_DRIVER_GLOBALS_V2_15
Definition: wdf215.h:82
struct _WDF_DEVICE_STATE_V2_15 WDF_DEVICE_STATE_V2_15
struct _WDF_TIMER_CONFIG_V2_15 * PWDF_TIMER_CONFIG_V2_15
Definition: wdf215.h:119
const struct _WDF_IO_QUEUE_FORWARD_PROGRESS_POLICY_V2_15 * PCWDF_IO_QUEUE_FORWARD_PROGRESS_POLICY_V2_15
Definition: wdf215.h:92
const struct _WDF_DRIVER_VERSION_AVAILABLE_PARAMS_V2_15 * PCWDF_DRIVER_VERSION_AVAILABLE_PARAMS_V2_15
Definition: wdf215.h:78
const struct _WDF_USB_DEVICE_SELECT_CONFIG_PARAMS_V2_15 * PCWDF_USB_DEVICE_SELECT_CONFIG_PARAMS_V2_15
Definition: wdf215.h:150
struct _WDF_IO_QUEUE_FORWARD_PROGRESS_POLICY_V2_15 WDF_IO_QUEUE_FORWARD_PROGRESS_POLICY_V2_15
struct _WDFMEMORY_OFFSET_V2_15 * PWDFMEMORY_OFFSET_V2_15
Definition: wdf215.h:95
struct _WDFOBJECT_TRIAGE_INFO_V2_15 * PWDFOBJECT_TRIAGE_INFO_V2_15
Definition: wdf215.h:121
struct _WDF_DPC_CONFIG_V2_15 * PWDF_DPC_CONFIG_V2_15
Definition: wdf215.h:73
struct _WDF_FILEOBJECT_CONFIG_V2_15 * PWDF_FILEOBJECT_CONFIG_V2_15
Definition: wdf215.h:37
struct _WDF_DRIVER_GLOBALS_V2_15 WDF_DRIVER_GLOBALS_V2_15
const struct _WDF_DEVICE_POWER_POLICY_NOTIFICATION_DATA_V2_15 * PCWDF_DEVICE_POWER_POLICY_NOTIFICATION_DATA_V2_15
Definition: wdf215.h:44
struct _WDF_USB_INTERFACE_SETTING_PAIR_V2_15 * PWDF_USB_INTERFACE_SETTING_PAIR_V2_15
Definition: wdf215.h:147
struct _WDF_DEVICE_PNP_CAPABILITIES_V2_15 * PWDF_DEVICE_PNP_CAPABILITIES_V2_15
Definition: wdf215.h:55
const struct _WDFDEVICE_TRIAGE_INFO_V2_15 * PCWDFDEVICE_TRIAGE_INFO_V2_15
Definition: wdf215.h:136
struct _WDF_CUSTOM_TYPE_CONTEXT_V2_15 WDF_CUSTOM_TYPE_CONTEXT_V2_15
struct _WDF_IO_QUEUE_CONFIG_V2_15 * PWDF_IO_QUEUE_CONFIG_V2_15
Definition: wdf215.h:89
const struct _WDF_IO_TARGET_OPEN_PARAMS_V2_15 * PCWDF_IO_TARGET_OPEN_PARAMS_V2_15
Definition: wdf215.h:94
struct _WDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER_V2_15 WDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER_V2_15
struct _WDF_IO_TARGET_OPEN_PARAMS_V2_15 WDF_IO_TARGET_OPEN_PARAMS_V2_15
const struct _WDF_DEVICE_PROPERTY_DATA_V2_15 * PCWDF_DEVICE_PROPERTY_DATA_V2_15
Definition: wdf215.h:68
const struct _WDF_DEVICE_POWER_NOTIFICATION_DATA_V2_15 * PCWDF_DEVICE_POWER_NOTIFICATION_DATA_V2_15
Definition: wdf215.h:42
const struct _WDF_FILEOBJECT_CONFIG_V2_15 * PCWDF_FILEOBJECT_CONFIG_V2_15
Definition: wdf215.h:38
struct _WDF_REQUEST_FORWARD_OPTIONS_V2_15 * PWDF_REQUEST_FORWARD_OPTIONS_V2_15
Definition: wdf215.h:117
const struct _WDF_REQUEST_FATAL_ERROR_INFORMATION_LENGTH_MISMATCH_DATA_V2_15 * PCWDF_REQUEST_FATAL_ERROR_INFORMATION_LENGTH_MISMATCH_DATA_V2_15
Definition: wdf215.h:12
struct _WDF_DEVICE_POWER_CAPABILITIES_V2_15 * PWDF_DEVICE_POWER_CAPABILITIES_V2_15
Definition: wdf215.h:57
struct _WDF_USB_INTERFACE_SELECT_SETTING_PARAMS_V2_15 WDF_USB_INTERFACE_SELECT_SETTING_PARAMS_V2_15
struct _WDF_DEVICE_PROPERTY_DATA_V2_15 * PWDF_DEVICE_PROPERTY_DATA_V2_15
Definition: wdf215.h:67
struct _WDF_WORKITEM_CONFIG_V2_15 WDF_WORKITEM_CONFIG_V2_15
const struct _WDF_PNPPOWER_EVENT_CALLBACKS_V2_15 * PCWDF_PNPPOWER_EVENT_CALLBACKS_V2_15
Definition: wdf215.h:46
const struct _WDF_IO_TYPE_CONFIG_V2_15 * PCWDF_IO_TYPE_CONFIG_V2_15
Definition: wdf215.h:64
struct _WDF_DEVICE_POWER_POLICY_WAKE_SETTINGS_V2_15 WDF_DEVICE_POWER_POLICY_WAKE_SETTINGS_V2_15
const struct _WDFREQUEST_TRIAGE_INFO_V2_15 * PCWDFREQUEST_TRIAGE_INFO_V2_15
Definition: wdf215.h:134
const struct _WDF_USB_CONTINUOUS_READER_CONFIG_V2_15 * PCWDF_USB_CONTINUOUS_READER_CONFIG_V2_15
Definition: wdf215.h:144
struct _WDF_COMMON_BUFFER_CONFIG_V2_15 * PWDF_COMMON_BUFFER_CONFIG_V2_15
Definition: wdf215.h:25
struct _WDFDEVICE_TRIAGE_INFO_V2_15 * PWDFDEVICE_TRIAGE_INFO_V2_15
Definition: wdf215.h:135
struct _WDF_PNPPOWER_EVENT_CALLBACKS_V2_15 * PWDF_PNPPOWER_EVENT_CALLBACKS_V2_15
Definition: wdf215.h:45
struct _WDF_DEVICE_INTERFACE_PROPERTY_DATA_V2_15 WDF_DEVICE_INTERFACE_PROPERTY_DATA_V2_15
struct _WDF_QUEUE_FATAL_ERROR_DATA_V2_15 * PWDF_QUEUE_FATAL_ERROR_DATA_V2_15
Definition: wdf215.h:13
const struct _WDF_INTERRUPT_INFO_V2_15 * PCWDF_INTERRUPT_INFO_V2_15
Definition: wdf215.h:86
const struct _WDF_CHILD_LIST_ITERATOR_V2_15 * PCWDF_CHILD_LIST_ITERATOR_V2_15
Definition: wdf215.h:24
const struct _WDF_REQUEST_SEND_OPTIONS_V2_15 * PCWDF_REQUEST_SEND_OPTIONS_V2_15
Definition: wdf215.h:116
struct _WDF_INTERRUPT_INFO_V2_15 * PWDF_INTERRUPT_INFO_V2_15
Definition: wdf215.h:85
struct _WDF_FDO_EVENT_CALLBACKS_V2_15 * PWDF_FDO_EVENT_CALLBACKS_V2_15
Definition: wdf215.h:79
struct _WDF_DEVICE_POWER_POLICY_NOTIFICATION_DATA_V2_15 WDF_DEVICE_POWER_POLICY_NOTIFICATION_DATA_V2_15
struct _WDF_USB_DEVICE_SELECT_CONFIG_PARAMS_V2_15 * PWDF_USB_DEVICE_SELECT_CONFIG_PARAMS_V2_15
Definition: wdf215.h:149
struct _WDF_CHILD_LIST_CONFIG_V2_15 * PWDF_CHILD_LIST_CONFIG_V2_15
Definition: wdf215.h:21
const struct _WDF_USB_INTERFACE_SETTING_PAIR_V2_15 * PCWDF_USB_INTERFACE_SETTING_PAIR_V2_15
Definition: wdf215.h:148
struct _WDF_REQUEST_PARAMETERS_V2_15 * PWDF_REQUEST_PARAMETERS_V2_15
Definition: wdf215.h:109
const struct _WDF_REQUEST_PARAMETERS_V2_15 * PCWDF_REQUEST_PARAMETERS_V2_15
Definition: wdf215.h:110
struct _WDFREQUEST_TRIAGE_INFO_V2_15 * PWDFREQUEST_TRIAGE_INFO_V2_15
Definition: wdf215.h:133
struct _WDF_CLASS_BIND_INFO_V2_15 * PWDF_CLASS_BIND_INFO_V2_15
Definition: wdf215.h:33
struct _WDF_PDO_EVENT_CALLBACKS_V2_15 WDF_PDO_EVENT_CALLBACKS_V2_15
const struct _WDF_CLASS_EXTENSION_DESCRIPTOR_V2_15 * PCWDF_CLASS_EXTENSION_DESCRIPTOR_V2_15
Definition: wdf215.h:30
const struct _WDF_DRIVER_CONFIG_V2_15 * PCWDF_DRIVER_CONFIG_V2_15
Definition: wdf215.h:76
struct _WDF_DEVICE_POWER_POLICY_IDLE_SETTINGS_V2_15 * PWDF_DEVICE_POWER_POLICY_IDLE_SETTINGS_V2_15
Definition: wdf215.h:49
const struct _WDF_INTERRUPT_EXTENDED_POLICY_V2_15 * PCWDF_INTERRUPT_EXTENDED_POLICY_V2_15
Definition: wdf215.h:88
struct _WDF_DEVICE_POWER_POLICY_IDLE_SETTINGS_V2_15 WDF_DEVICE_POWER_POLICY_IDLE_SETTINGS_V2_15
struct _WDF_POWER_POLICY_EVENT_CALLBACKS_V2_15 WDF_POWER_POLICY_EVENT_CALLBACKS_V2_15
struct _WDFQUEUE_TRIAGE_INFO_V2_15 WDFQUEUE_TRIAGE_INFO_V2_15
struct _WDFCX_FILEOBJECT_CONFIG_V2_15 * PWDFCX_FILEOBJECT_CONFIG_V2_15
Definition: wdf215.h:27
const struct _WDF_CHILD_RETRIEVE_INFO_V2_15 * PCWDF_CHILD_RETRIEVE_INFO_V2_15
Definition: wdf215.h:20
struct _WDF_DMA_SYSTEM_PROFILE_CONFIG_V2_15 * PWDF_DMA_SYSTEM_PROFILE_CONFIG_V2_15
Definition: wdf215.h:71
struct _WDF_USB_DEVICE_CREATE_CONFIG_V2_15 * PWDF_USB_DEVICE_CREATE_CONFIG_V2_15
Definition: wdf215.h:155
struct _WDF_DRIVER_VERSION_AVAILABLE_PARAMS_V2_15 WDF_DRIVER_VERSION_AVAILABLE_PARAMS_V2_15
const struct _WDF_DEVICE_POWER_POLICY_IDLE_SETTINGS_V2_15 * PCWDF_DEVICE_POWER_POLICY_IDLE_SETTINGS_V2_15
Definition: wdf215.h:50
const struct _WDF_TIMER_CONFIG_V2_15 * PCWDF_TIMER_CONFIG_V2_15
Definition: wdf215.h:120
struct _WDF_WMI_PROVIDER_CONFIG_V2_15 * PWDF_WMI_PROVIDER_CONFIG_V2_15
Definition: wdf215.h:157
struct _WDF_POWER_ROUTINE_TIMED_OUT_DATA_V2_15 WDF_POWER_ROUTINE_TIMED_OUT_DATA_V2_15
const struct _WDFIRPQUEUE_TRIAGE_INFO_V2_15 * PCWDFIRPQUEUE_TRIAGE_INFO_V2_15
Definition: wdf215.h:132
struct _WDF_DEVICE_POWER_CAPABILITIES_V2_15 WDF_DEVICE_POWER_CAPABILITIES_V2_15
const struct _WDFFWDPROGRESS_TRIAGE_INFO_V2_15 * PCWDFFWDPROGRESS_TRIAGE_INFO_V2_15
Definition: wdf215.h:130
struct _WDF_PNPPOWER_EVENT_CALLBACKS_V2_15 WDF_PNPPOWER_EVENT_CALLBACKS_V2_15
const struct _WDF_QUEUE_FATAL_ERROR_DATA_V2_15 * PCWDF_QUEUE_FATAL_ERROR_DATA_V2_15
Definition: wdf215.h:14
const struct _WDF_OBJECT_ATTRIBUTES_V2_15 * PCWDF_OBJECT_ATTRIBUTES_V2_15
Definition: wdf215.h:100
struct _WDF_FDO_EVENT_CALLBACKS_V2_15 WDF_FDO_EVENT_CALLBACKS_V2_15
struct _WDFIRP_TRIAGE_INFO_V2_15 WDFIRP_TRIAGE_INFO_V2_15
struct _WDF_OBJECT_CONTEXT_TYPE_INFO_V2_15 WDF_OBJECT_CONTEXT_TYPE_INFO_V2_15
const struct _WDF_POWER_POLICY_EVENT_CALLBACKS_V2_15 * PCWDF_POWER_POLICY_EVENT_CALLBACKS_V2_15
Definition: wdf215.h:48
struct _WDF_CLASS_VERSION_V2_15 WDF_CLASS_VERSION_V2_15
struct _WDF_QUERY_INTERFACE_CONFIG_V2_15 WDF_QUERY_INTERFACE_CONFIG_V2_15
struct _WDF_TRIAGE_INFO_V2_15 * PWDF_TRIAGE_INFO_V2_15
Definition: wdf215.h:139
struct _WDF_POWER_FRAMEWORK_SETTINGS_V2_15 WDF_POWER_FRAMEWORK_SETTINGS_V2_15
const struct _WDF_PDO_EVENT_CALLBACKS_V2_15 * PCWDF_PDO_EVENT_CALLBACKS_V2_15
Definition: wdf215.h:106
struct _WDFIRPQUEUE_TRIAGE_INFO_V2_15 * PWDFIRPQUEUE_TRIAGE_INFO_V2_15
Definition: wdf215.h:131
struct _WDF_REQUEST_FATAL_ERROR_INFORMATION_LENGTH_MISMATCH_DATA_V2_15 * PWDF_REQUEST_FATAL_ERROR_INFORMATION_LENGTH_MISMATCH_DATA_V2_15
Definition: wdf215.h:11
struct _WDF_POWER_POLICY_EVENT_CALLBACKS_V2_15 * PWDF_POWER_POLICY_EVENT_CALLBACKS_V2_15
Definition: wdf215.h:47
struct _WDF_IO_TYPE_CONFIG_V2_15 WDF_IO_TYPE_CONFIG_V2_15
const struct _WDF_POWER_FRAMEWORK_SETTINGS_V2_15 * PCWDF_POWER_FRAMEWORK_SETTINGS_V2_15
Definition: wdf215.h:62
struct _WDF_REQUEST_FATAL_ERROR_INFORMATION_LENGTH_MISMATCH_DATA_V2_15 WDF_REQUEST_FATAL_ERROR_INFORMATION_LENGTH_MISMATCH_DATA_V2_15
struct _WDF_INTERRUPT_CONFIG_V2_15 * PWDF_INTERRUPT_CONFIG_V2_15
Definition: wdf215.h:83
const struct _WDF_REQUEST_COMPLETION_PARAMS_V2_15 * PCWDF_REQUEST_COMPLETION_PARAMS_V2_15
Definition: wdf215.h:112
struct _WDF_CUSTOM_TYPE_CONTEXT_V2_15 * PWDF_CUSTOM_TYPE_CONTEXT_V2_15
Definition: wdf215.h:103
struct _WDF_CHILD_RETRIEVE_INFO_V2_15 * PWDF_CHILD_RETRIEVE_INFO_V2_15
Definition: wdf215.h:19
struct _WDF_PDO_EVENT_CALLBACKS_V2_15 * PWDF_PDO_EVENT_CALLBACKS_V2_15
Definition: wdf215.h:105
struct _WDF_USB_DEVICE_CREATE_CONFIG_V2_15 WDF_USB_DEVICE_CREATE_CONFIG_V2_15
const struct _WDFCONTEXT_TRIAGE_INFO_V2_15 * PCWDFCONTEXT_TRIAGE_INFO_V2_15
Definition: wdf215.h:124
struct _WDF_QUERY_INTERFACE_CONFIG_V2_15 * PWDF_QUERY_INTERFACE_CONFIG_V2_15
Definition: wdf215.h:107
struct _WDFIRPQUEUE_TRIAGE_INFO_V2_15 WDFIRPQUEUE_TRIAGE_INFO_V2_15
struct _WDFCONTEXT_TRIAGE_INFO_V2_15 * PWDFCONTEXT_TRIAGE_INFO_V2_15
Definition: wdf215.h:123
struct _WDFDEVICE_TRIAGE_INFO_V2_15 WDFDEVICE_TRIAGE_INFO_V2_15
const struct _WDFMEMORY_OFFSET_V2_15 * PCWDFMEMORY_OFFSET_V2_15
Definition: wdf215.h:96
struct _WDF_INTERRUPT_CONFIG_V2_15 WDF_INTERRUPT_CONFIG_V2_15
struct _WDF_FILEOBJECT_CONFIG_V2_15 WDF_FILEOBJECT_CONFIG_V2_15
struct _WDF_DRIVER_GLOBALS_V2_15 * PWDF_DRIVER_GLOBALS_V2_15
Definition: wdf215.h:81
struct _WDF_DEVICE_PNP_NOTIFICATION_DATA_V2_15 WDF_DEVICE_PNP_NOTIFICATION_DATA_V2_15
struct _WDF_USB_INTERFACE_SETTING_PAIR_V2_15 WDF_USB_INTERFACE_SETTING_PAIR_V2_15
const struct _WDF_CLASS_LIBRARY_INFO_V2_15 * PCWDF_CLASS_LIBRARY_INFO_V2_15
Definition: wdf215.h:36
const struct _WDF_COMMON_BUFFER_CONFIG_V2_15 * PCWDF_COMMON_BUFFER_CONFIG_V2_15
Definition: wdf215.h:26
struct _WDF_USB_DEVICE_SELECT_CONFIG_PARAMS_V2_15 WDF_USB_DEVICE_SELECT_CONFIG_PARAMS_V2_15
struct _WDFFWDPROGRESS_TRIAGE_INFO_V2_15 * PWDFFWDPROGRESS_TRIAGE_INFO_V2_15
Definition: wdf215.h:129
struct _WDFCONTEXT_TRIAGE_INFO_V2_15 WDFCONTEXT_TRIAGE_INFO_V2_15
const struct _WDF_CHILD_LIST_CONFIG_V2_15 * PCWDF_CHILD_LIST_CONFIG_V2_15
Definition: wdf215.h:22
struct _WDF_USB_REQUEST_COMPLETION_PARAMS_V2_15 WDF_USB_REQUEST_COMPLETION_PARAMS_V2_15
const struct _WDFQUEUE_TRIAGE_INFO_V2_15 * PCWDFQUEUE_TRIAGE_INFO_V2_15
Definition: wdf215.h:128
struct _WDF_REMOVE_LOCK_OPTIONS_V2_15 * PWDF_REMOVE_LOCK_OPTIONS_V2_15
Definition: wdf215.h:59
const struct _WDF_CHILD_ADDRESS_DESCRIPTION_HEADER_V2_15 * PCWDF_CHILD_ADDRESS_DESCRIPTION_HEADER_V2_15
Definition: wdf215.h:18
struct _WDF_CLASS_LIBRARY_INFO_V2_15 WDF_CLASS_LIBRARY_INFO_V2_15
struct _WDF_REQUEST_REUSE_PARAMS_V2_15 * PWDF_REQUEST_REUSE_PARAMS_V2_15
Definition: wdf215.h:113
const struct _WDF_USB_INTERFACE_SELECT_SETTING_PARAMS_V2_15 * PCWDF_USB_INTERFACE_SELECT_SETTING_PARAMS_V2_15
Definition: wdf215.h:152
struct _WDF_OBJECT_ATTRIBUTES_V2_15 WDF_OBJECT_ATTRIBUTES_V2_15
const struct _WDF_DMA_ENABLER_CONFIG_V2_15 * PCWDF_DMA_ENABLER_CONFIG_V2_15
Definition: wdf215.h:70
struct _WDF_CLASS_LIBRARY_INFO_V2_15 * PWDF_CLASS_LIBRARY_INFO_V2_15
Definition: wdf215.h:35
const struct _WDF_DEVICE_STATE_V2_15 * PCWDF_DEVICE_STATE_V2_15
Definition: wdf215.h:54
const struct _WDFOBJECT_TRIAGE_INFO_V2_15 * PCWDFOBJECT_TRIAGE_INFO_V2_15
Definition: wdf215.h:122
struct _WDF_USB_CONTINUOUS_READER_CONFIG_V2_15 * PWDF_USB_CONTINUOUS_READER_CONFIG_V2_15
Definition: wdf215.h:143
struct _WDF_INTERRUPT_EXTENDED_POLICY_V2_15 * PWDF_INTERRUPT_EXTENDED_POLICY_V2_15
Definition: wdf215.h:87
struct _WDF_USB_CONTINUOUS_READER_CONFIG_V2_15 WDF_USB_CONTINUOUS_READER_CONFIG_V2_15
const struct _WDF_CUSTOM_TYPE_CONTEXT_V2_15 * PCWDF_CUSTOM_TYPE_CONTEXT_V2_15
Definition: wdf215.h:104
struct _WDFFWDPROGRESS_TRIAGE_INFO_V2_15 WDFFWDPROGRESS_TRIAGE_INFO_V2_15
const struct _WDF_CLASS_VERSION_V2_15 * PCWDF_CLASS_VERSION_V2_15
Definition: wdf215.h:32
struct _WDF_OBJECT_ATTRIBUTES_V2_15 * PWDF_OBJECT_ATTRIBUTES_V2_15
Definition: wdf215.h:99
struct _WDF_IO_QUEUE_FORWARD_PROGRESS_POLICY_V2_15 * PWDF_IO_QUEUE_FORWARD_PROGRESS_POLICY_V2_15
Definition: wdf215.h:91
struct _WDF_USB_PIPE_INFORMATION_V2_15 WDF_USB_PIPE_INFORMATION_V2_15
const struct _WDF_USB_PIPE_INFORMATION_V2_15 * PCWDF_USB_PIPE_INFORMATION_V2_15
Definition: wdf215.h:154
struct _WDF_CHILD_ADDRESS_DESCRIPTION_HEADER_V2_15 * PWDF_CHILD_ADDRESS_DESCRIPTION_HEADER_V2_15
Definition: wdf215.h:17
struct _WDF_USB_DEVICE_INFORMATION_V2_15 WDF_USB_DEVICE_INFORMATION_V2_15
struct _WDFOBJECT_TRIAGE_INFO_V2_15 WDFOBJECT_TRIAGE_INFO_V2_15
const struct _WDF_WMI_PROVIDER_CONFIG_V2_15 * PCWDF_WMI_PROVIDER_CONFIG_V2_15
Definition: wdf215.h:158
struct _WDF_REQUEST_SEND_OPTIONS_V2_15 WDF_REQUEST_SEND_OPTIONS_V2_15
struct _WDF_DEVICE_PROPERTY_DATA_V2_15 WDF_DEVICE_PROPERTY_DATA_V2_15
struct _WDFQUEUE_TRIAGE_INFO_V2_15 * PWDFQUEUE_TRIAGE_INFO_V2_15
Definition: wdf215.h:127
const struct _WDF_INTERRUPT_CONFIG_V2_15 * PCWDF_INTERRUPT_CONFIG_V2_15
Definition: wdf215.h:84
struct _WDFREQUEST_TRIAGE_INFO_V2_15 WDFREQUEST_TRIAGE_INFO_V2_15
const struct _WDF_REQUEST_REUSE_PARAMS_V2_15 * PCWDF_REQUEST_REUSE_PARAMS_V2_15
Definition: wdf215.h:114
struct _WDF_DRIVER_VERSION_AVAILABLE_PARAMS_V2_15 * PWDF_DRIVER_VERSION_AVAILABLE_PARAMS_V2_15
Definition: wdf215.h:77
struct _WDF_POWER_FRAMEWORK_SETTINGS_V2_15 * PWDF_POWER_FRAMEWORK_SETTINGS_V2_15
Definition: wdf215.h:61
struct _WDF_CHILD_LIST_ITERATOR_V2_15 WDF_CHILD_LIST_ITERATOR_V2_15
const struct _WDF_WORKITEM_CONFIG_V2_15 * PCWDF_WORKITEM_CONFIG_V2_15
Definition: wdf215.h:162
const struct _WDF_POWER_ROUTINE_TIMED_OUT_DATA_V2_15 * PCWDF_POWER_ROUTINE_TIMED_OUT_DATA_V2_15
Definition: wdf215.h:10
const struct _WDF_MEMORY_DESCRIPTOR_V2_15 * PCWDF_MEMORY_DESCRIPTOR_V2_15
Definition: wdf215.h:98
struct _WDF_DRIVER_CONFIG_V2_15 * PWDF_DRIVER_CONFIG_V2_15
Definition: wdf215.h:75
const struct _WDFCONTEXTTYPE_TRIAGE_INFO_V2_15 * PCWDFCONTEXTTYPE_TRIAGE_INFO_V2_15
Definition: wdf215.h:126
struct _WDF_REQUEST_PARAMETERS_V2_15 WDF_REQUEST_PARAMETERS_V2_15
struct _WDF_DEVICE_PNP_NOTIFICATION_DATA_V2_15 * PWDF_DEVICE_PNP_NOTIFICATION_DATA_V2_15
Definition: wdf215.h:39
const struct _WDFIRP_TRIAGE_INFO_V2_15 * PCWDFIRP_TRIAGE_INFO_V2_15
Definition: wdf215.h:138
struct _WDFCONTEXTTYPE_TRIAGE_INFO_V2_15 * PWDFCONTEXTTYPE_TRIAGE_INFO_V2_15
Definition: wdf215.h:125
struct _WDF_CLASS_VERSION_V2_15 * PWDF_CLASS_VERSION_V2_15
Definition: wdf215.h:31
const struct _WDF_USB_REQUEST_COMPLETION_PARAMS_V2_15 * PCWDF_USB_REQUEST_COMPLETION_PARAMS_V2_15
Definition: wdf215.h:142
struct _WDF_WMI_PROVIDER_CONFIG_V2_15 WDF_WMI_PROVIDER_CONFIG_V2_15
struct _WDF_DEVICE_PNP_CAPABILITIES_V2_15 WDF_DEVICE_PNP_CAPABILITIES_V2_15
struct _WDFCX_FILEOBJECT_CONFIG_V2_15 WDFCX_FILEOBJECT_CONFIG_V2_15
struct _WDF_DEVICE_POWER_POLICY_NOTIFICATION_DATA_V2_15 * PWDF_DEVICE_POWER_POLICY_NOTIFICATION_DATA_V2_15
Definition: wdf215.h:43
struct _WDFMEMORY_OFFSET_V2_15 WDFMEMORY_OFFSET_V2_15
struct _WDF_DRIVER_CONFIG_V2_15 WDF_DRIVER_CONFIG_V2_15
struct _WDF_CHILD_RETRIEVE_INFO_V2_15 WDF_CHILD_RETRIEVE_INFO_V2_15
struct _WDF_CHILD_LIST_ITERATOR_V2_15 * PWDF_CHILD_LIST_ITERATOR_V2_15
Definition: wdf215.h:23
const struct _WDF_DEVICE_PNP_CAPABILITIES_V2_15 * PCWDF_DEVICE_PNP_CAPABILITIES_V2_15
Definition: wdf215.h:56
const struct _WDF_QUERY_INTERFACE_CONFIG_V2_15 * PCWDF_QUERY_INTERFACE_CONFIG_V2_15
Definition: wdf215.h:108
const struct _WDF_OBJECT_CONTEXT_TYPE_INFO_V2_15 * PCWDF_OBJECT_CONTEXT_TYPE_INFO_V2_15
Definition: wdf215.h:102
const struct _WDF_DEVICE_POWER_CAPABILITIES_V2_15 * PCWDF_DEVICE_POWER_CAPABILITIES_V2_15
Definition: wdf215.h:58
const struct _WDF_IO_QUEUE_CONFIG_V2_15 * PCWDF_IO_QUEUE_CONFIG_V2_15
Definition: wdf215.h:90
struct _WDF_DEVICE_STATE_V2_15 * PWDF_DEVICE_STATE_V2_15
Definition: wdf215.h:53
struct _WDFCONTEXTTYPE_TRIAGE_INFO_V2_15 WDFCONTEXTTYPE_TRIAGE_INFO_V2_15
struct _WDF_USB_PIPE_INFORMATION_V2_15 * PWDF_USB_PIPE_INFORMATION_V2_15
Definition: wdf215.h:153
const struct _WDF_TRIAGE_INFO_V2_15 * PCWDF_TRIAGE_INFO_V2_15
Definition: wdf215.h:140
const struct _WDF_USB_DEVICE_CREATE_CONFIG_V2_15 * PCWDF_USB_DEVICE_CREATE_CONFIG_V2_15
Definition: wdf215.h:156
struct _WDF_USB_REQUEST_COMPLETION_PARAMS_V2_15 * PWDF_USB_REQUEST_COMPLETION_PARAMS_V2_15
Definition: wdf215.h:141
struct _WDF_INTERRUPT_EXTENDED_POLICY_V2_15 WDF_INTERRUPT_EXTENDED_POLICY_V2_15
const struct _WDF_DMA_SYSTEM_PROFILE_CONFIG_V2_15 * PCWDF_DMA_SYSTEM_PROFILE_CONFIG_V2_15
Definition: wdf215.h:72
struct _WDF_MEMORY_DESCRIPTOR_V2_15 WDF_MEMORY_DESCRIPTOR_V2_15
const struct _WDF_DEVICE_PNP_NOTIFICATION_DATA_V2_15 * PCWDF_DEVICE_PNP_NOTIFICATION_DATA_V2_15
Definition: wdf215.h:40
struct _WDF_QUEUE_FATAL_ERROR_DATA_V2_15 WDF_QUEUE_FATAL_ERROR_DATA_V2_15
struct _WDF_WMI_INSTANCE_CONFIG_V2_15 * PWDF_WMI_INSTANCE_CONFIG_V2_15
Definition: wdf215.h:159
struct _WDFIRP_TRIAGE_INFO_V2_15 * PWDFIRP_TRIAGE_INFO_V2_15
Definition: wdf215.h:137
struct _WDF_REQUEST_SEND_OPTIONS_V2_15 * PWDF_REQUEST_SEND_OPTIONS_V2_15
Definition: wdf215.h:115
struct _WDF_DEVICE_POWER_NOTIFICATION_DATA_V2_15 * PWDF_DEVICE_POWER_NOTIFICATION_DATA_V2_15
Definition: wdf215.h:41
const struct _WDF_DEVICE_POWER_POLICY_WAKE_SETTINGS_V2_15 * PCWDF_DEVICE_POWER_POLICY_WAKE_SETTINGS_V2_15
Definition: wdf215.h:52
struct _WDF_WORKITEM_CONFIG_V2_15 * PWDF_WORKITEM_CONFIG_V2_15
Definition: wdf215.h:161
struct _WDF_CLASS_BIND_INFO_V2_15 WDF_CLASS_BIND_INFO_V2_15
struct _WDF_DMA_ENABLER_CONFIG_V2_15 * PWDF_DMA_ENABLER_CONFIG_V2_15
Definition: wdf215.h:69
const struct _WDF_REQUEST_FORWARD_OPTIONS_V2_15 * PCWDF_REQUEST_FORWARD_OPTIONS_V2_15
Definition: wdf215.h:118
struct _WDF_REQUEST_COMPLETION_PARAMS_V2_15 WDF_REQUEST_COMPLETION_PARAMS_V2_15
const struct _WDFCX_FILEOBJECT_CONFIG_V2_15 * PCWDFCX_FILEOBJECT_CONFIG_V2_15
Definition: wdf215.h:28
struct _WDF_WMI_INSTANCE_CONFIG_V2_15 WDF_WMI_INSTANCE_CONFIG_V2_15
struct _WDF_REQUEST_COMPLETION_PARAMS_V2_15 * PWDF_REQUEST_COMPLETION_PARAMS_V2_15
Definition: wdf215.h:111
struct _WDF_POWER_ROUTINE_TIMED_OUT_DATA_V2_15 * PWDF_POWER_ROUTINE_TIMED_OUT_DATA_V2_15
Definition: wdf215.h:9
struct _WDF_CHILD_ADDRESS_DESCRIPTION_HEADER_V2_15 WDF_CHILD_ADDRESS_DESCRIPTION_HEADER_V2_15
const struct _WDF_FDO_EVENT_CALLBACKS_V2_15 * PCWDF_FDO_EVENT_CALLBACKS_V2_15
Definition: wdf215.h:80
struct _WDF_MEMORY_DESCRIPTOR_V2_15 * PWDF_MEMORY_DESCRIPTOR_V2_15
Definition: wdf215.h:97
struct _WDF_IO_TYPE_CONFIG_V2_15 * PWDF_IO_TYPE_CONFIG_V2_15
Definition: wdf215.h:63
enum _WDFFUNCENUM_V2_15 WDFFUNCENUM_V2_15
struct _WDF_OBJECT_CONTEXT_TYPE_INFO_V2_15 * PWDF_OBJECT_CONTEXT_TYPE_INFO_V2_15
Definition: wdf215.h:101
const struct _WDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER_V2_15 * PCWDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER_V2_15
Definition: wdf215.h:16
struct _WDF_REQUEST_REUSE_PARAMS_V2_15 WDF_REQUEST_REUSE_PARAMS_V2_15
struct _WDF_DEVICE_POWER_NOTIFICATION_DATA_V2_15 WDF_DEVICE_POWER_NOTIFICATION_DATA_V2_15
const struct _WDF_WMI_INSTANCE_CONFIG_V2_15 * PCWDF_WMI_INSTANCE_CONFIG_V2_15
Definition: wdf215.h:160
struct _WDF_DEVICE_POWER_POLICY_WAKE_SETTINGS_V2_15 * PWDF_DEVICE_POWER_POLICY_WAKE_SETTINGS_V2_15
Definition: wdf215.h:51
const struct _WDF_DPC_CONFIG_V2_15 * PCWDF_DPC_CONFIG_V2_15
Definition: wdf215.h:74
_WDFFUNCENUM_V2_15
Definition: wdf215.h:5
@ WdfFunctionTableNumEntries_V2_15
Definition: wdf215.h:6
struct _WDF_DEVICE_INTERFACE_PROPERTY_DATA_V2_15 * PWDF_DEVICE_INTERFACE_PROPERTY_DATA_V2_15
Definition: wdf215.h:65
const struct _WDF_USB_DEVICE_INFORMATION_V2_15 * PCWDF_USB_DEVICE_INFORMATION_V2_15
Definition: wdf215.h:146
struct _WDF_IO_QUEUE_CONFIG_V2_15 WDF_IO_QUEUE_CONFIG_V2_15
const struct _WDF_DEVICE_INTERFACE_PROPERTY_DATA_V2_15 * PCWDF_DEVICE_INTERFACE_PROPERTY_DATA_V2_15
Definition: wdf215.h:66
struct _WDF_USB_DEVICE_INFORMATION_V2_15 * PWDF_USB_DEVICE_INFORMATION_V2_15
Definition: wdf215.h:145
struct _WDF_REMOVE_LOCK_OPTIONS_V2_15 WDF_REMOVE_LOCK_OPTIONS_V2_15
const struct _WDF_CLASS_BIND_INFO_V2_15 * PCWDF_CLASS_BIND_INFO_V2_15
Definition: wdf215.h:34
struct _WDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER_V2_15 * PWDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER_V2_15
Definition: wdf215.h:15
struct _WDF_TRIAGE_INFO_V2_15 WDF_TRIAGE_INFO_V2_15
const struct _WDF_REMOVE_LOCK_OPTIONS_V2_15 * PCWDF_REMOVE_LOCK_OPTIONS_V2_15
Definition: wdf215.h:60
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: