ReactOS  0.4.15-dev-3446-g30010a5
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 
5 typedef enum _WDFFUNCENUM_V2_15 {
8 
25 typedef struct _WDF_COMMON_BUFFER_CONFIG_V2_15 *PWDF_COMMON_BUFFER_CONFIG_V2_15;
26 typedef const struct _WDF_COMMON_BUFFER_CONFIG_V2_15 *PCWDF_COMMON_BUFFER_CONFIG_V2_15;
29 typedef struct _WDF_CLASS_EXTENSION_DESCRIPTOR_V2_15 *PWDF_CLASS_EXTENSION_DESCRIPTOR_V2_15;
30 typedef const struct _WDF_CLASS_EXTENSION_DESCRIPTOR_V2_15 *PCWDF_CLASS_EXTENSION_DESCRIPTOR_V2_15;
69 typedef struct _WDF_DMA_ENABLER_CONFIG_V2_15 *PWDF_DMA_ENABLER_CONFIG_V2_15;
70 typedef const struct _WDF_DMA_ENABLER_CONFIG_V2_15 *PCWDF_DMA_ENABLER_CONFIG_V2_15;
71 typedef struct _WDF_DMA_SYSTEM_PROFILE_CONFIG_V2_15 *PWDF_DMA_SYSTEM_PROFILE_CONFIG_V2_15;
72 typedef const struct _WDF_DMA_SYSTEM_PROFILE_CONFIG_V2_15 *PCWDF_DMA_SYSTEM_PROFILE_CONFIG_V2_15;
73 typedef struct _WDF_DPC_CONFIG_V2_15 *PWDF_DPC_CONFIG_V2_15;
74 typedef 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 //
469 typedef struct _WDF_CLASS_VERSION_V2_15 {
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 
634  } EnterState;
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 
655  } LeaveState;
656 
657  } Data;
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 
679  } EnterState;
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 
700  } LeaveState;
701 
702  } Data;
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 
724  } EnterState;
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 
745  } LeaveState;
746 
747  } Data;
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 
964 typedef struct _WDF_DEVICE_STATE_V2_15 {
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 
1606  } Settings;
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 //
1812 typedef struct _WDFMEMORY_OFFSET_V2_15 {
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  //
1930  size_t ContextSize;
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 
2119  } Create;
2120 
2121  //
2122  // System service parameters for: Read
2123  //
2124  //
2125  struct {
2126  size_t Length;
2127 
2129 
2131 
2132  } Read;
2133 
2134  //
2135  // System service parameters for: Write
2136  //
2137  //
2138  struct {
2139  size_t Length;
2140 
2142 
2144 
2145  } Write;
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 
2163  } DeviceIoControl;
2164 
2165  struct {
2167 
2169 
2171 
2173 
2174  } Others;
2175 
2176  } Parameters;
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 
2198  } Write;
2199 
2200  struct {
2201  WDFMEMORY Buffer;
2202 
2203  size_t Length;
2204 
2205  size_t Offset;
2206 
2207  } Read;
2208 
2209  struct {
2211 
2212  struct {
2213  WDFMEMORY Buffer;
2214 
2215  size_t Offset;
2216 
2217  } Input;
2218 
2219  struct {
2220  WDFMEMORY Buffer;
2221 
2222  size_t Offset;
2223 
2224  size_t Length;
2225 
2226  } Output;
2227 
2228  } Ioctl;
2229 
2230  struct {
2231  union {
2233 
2235 
2236  } Argument1;
2237 
2238  union {
2239  PVOID Ptr;
2240 
2241  ULONG_PTR Value;
2242 
2243  } Argument2;
2244 
2245  union {
2246  PVOID Ptr;
2247 
2248  ULONG_PTR Value;
2249 
2250  } Argument3;
2251 
2252  union {
2253  PVOID Ptr;
2254 
2255  ULONG_PTR Value;
2256 
2257  } Argument4;
2258 
2259  } Others;
2260 
2261  struct {
2263 
2264  } Usb;
2265 
2266  } Parameters;
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 //
2354 typedef struct _WDF_TIMER_CONFIG_V2_15 {
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 
2504 typedef struct _WDF_TRIAGE_INFO_V2_15 {
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 
2612  } Parameters;
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 
2730  } Descriptor;
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 
2775  } Types;
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 
2798  } Descriptor;
2799 
2800  struct {
2801  //
2802  // The setting index of the WDFUSBINTERFACE to use
2803  //
2805 
2806  } Interface;
2807 
2808  struct {
2809  //
2810  // Preformatted select interface URB which will be used in the
2811  // select interface request.
2812  //
2814 
2815  } Urb;
2816 
2817  } Types;
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_
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
WDF_POWER_POLICY_SX_WAKE_USER_CONTROL UserControlOfWakeSettings
Definition: wdf215.h:930
struct _WDF_REQUEST_PARAMETERS_V2_15 WDF_REQUEST_PARAMETERS_V2_15
WDF_CHILD_LIST_RETRIEVE_DEVICE_STATUS Status
Definition: wdf215.h:273
struct _WDF_INTERRUPT_CONFIG_V2_15 * PWDF_INTERRUPT_CONFIG_V2_15
Definition: wdf215.h:83
enum _WDF_DEVICE_PNP_STATE WDF_DEVICE_PNP_STATE
WDF_TRI_STATE DontDisplayInUI
Definition: wdf215.h:979
EVT_WDF_DEVICE_DISARM_WAKE_FROM_S0 * PFN_WDF_DEVICE_DISARM_WAKE_FROM_S0
Definition: wdfdevice.h:1117
signed char * PCHAR
Definition: retypes.h:7
struct _WDF_DPC_CONFIG_V2_15 * PWDF_DPC_CONFIG_V2_15
Definition: wdf215.h:73
struct _WDF_IO_TARGET_OPEN_PARAMS_V2_15 * PWDF_IO_TARGET_OPEN_PARAMS_V2_15
Definition: wdf215.h:93
struct _WDFREQUEST_TRIAGE_INFO_V2_15 WDFREQUEST_TRIAGE_INFO_V2_15
struct _WDF_TIMER_CONFIG_V2_15 * PWDF_TIMER_CONFIG_V2_15
Definition: wdf215.h:119
struct _WDF_REQUEST_SEND_OPTIONS_V2_15 WDF_REQUEST_SEND_OPTIONS_V2_15
WDF_IO_FORWARD_PROGRESS_RESERVED_POLICY_SETTINGS ForwardProgressReservePolicySettings
Definition: wdf215.h:1625
const struct _WDF_CHILD_LIST_ITERATOR_V2_15 * PCWDF_CHILD_LIST_ITERATOR_V2_15
Definition: wdf215.h:24
EVT_WDF_IO_QUEUE_IO_WRITE * PFN_WDF_IO_QUEUE_IO_WRITE
Definition: wdfio.h:306
EVT_WDF_IO_QUEUE_IO_READ * PFN_WDF_IO_QUEUE_IO_READ
Definition: wdfio.h:289
struct _WDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER_V2_15 WDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER_V2_15
EVT_WDF_DEVICE_ENABLE_WAKE_AT_BUS * PFN_WDF_DEVICE_ENABLE_WAKE_AT_BUS
Definition: wdfpdo.h:123
PCWDF_OBJECT_CONTEXT_TYPE_INFO_V2_15 ContextTypeInfo
Definition: wdf215.h:1907
struct _WDF_REQUEST_FORWARD_OPTIONS_V2_15 WDF_REQUEST_FORWARD_OPTIONS_V2_15
const struct _WDF_IO_TYPE_CONFIG_V2_15 * PCWDF_IO_TYPE_CONFIG_V2_15
Definition: wdf215.h:64
_In_ BOOLEAN Read
Definition: strmini.h:479
EVT_WDF_CHILD_LIST_ADDRESS_DESCRIPTION_CLEANUP * PFN_WDF_CHILD_LIST_ADDRESS_DESCRIPTION_CLEANUP
Definition: wdfchildlist.h:257
const struct _WDF_CLASS_BIND_INFO_V2_15 * PCWDF_CLASS_BIND_INFO_V2_15
Definition: wdf215.h:34
const struct _WDF_DEVICE_INTERFACE_PROPERTY_DATA_V2_15 * PCWDF_DEVICE_INTERFACE_PROPERTY_DATA_V2_15
Definition: wdf215.h:66
PCM_PARTIAL_RESOURCE_DESCRIPTOR InterruptRaw
Definition: wdf215.h:1480
EVT_WDF_CHILD_LIST_IDENTIFICATION_DESCRIPTION_CLEANUP * PFN_WDF_CHILD_LIST_IDENTIFICATION_DESCRIPTION_CLEANUP
Definition: wdfchildlist.h:208
struct _WDF_CHILD_RETRIEVE_INFO_V2_15 WDF_CHILD_RETRIEVE_INFO_V2_15
const struct _WDFIRPQUEUE_TRIAGE_INFO_V2_15 * PCWDFIRPQUEUE_TRIAGE_INFO_V2_15
Definition: wdf215.h:132
const struct _WDF_INTERRUPT_CONFIG_V2_15 * PCWDF_INTERRUPT_CONFIG_V2_15
Definition: wdf215.h:84
struct _WDF_USB_CONTINUOUS_READER_CONFIG_V2_15 WDF_USB_CONTINUOUS_READER_CONFIG_V2_15
struct _WDF_DEVICE_POWER_POLICY_NOTIFICATION_DATA_V2_15::@4653::@4654 EnterState
struct _WDF_WMI_INSTANCE_CONFIG_V2_15 * PWDF_WMI_INSTANCE_CONFIG_V2_15
Definition: wdf215.h:159
const struct _WDF_CLASS_EXTENSION_DESCRIPTOR_V2_15 * PCWDF_CLASS_EXTENSION_DESCRIPTOR_V2_15
Definition: wdf215.h:30
struct _WDF_DEVICE_PNP_NOTIFICATION_DATA_V2_15 WDF_DEVICE_PNP_NOTIFICATION_DATA_V2_15
EVT_WDF_CHILD_LIST_SCAN_FOR_CHILDREN * PFN_WDF_CHILD_LIST_SCAN_FOR_CHILDREN
Definition: wdfchildlist.h:142
PFN_WDF_DEVICE_D0_ENTRY_POST_INTERRUPTS_ENABLED EvtDeviceD0EntryPostInterruptsEnabled
Definition: wdf215.h:759
PFN_WDF_DEVICE_ARM_WAKE_FROM_S0 EvtDeviceArmWakeFromS0
Definition: wdf215.h:799
PCM_PARTIAL_RESOURCE_DESCRIPTOR InterruptTranslated
Definition: wdf215.h:1482
struct _WDF_FDO_EVENT_CALLBACKS_V2_15 WDF_FDO_EVENT_CALLBACKS_V2_15
struct _WDF_INTERRUPT_EXTENDED_POLICY_V2_15 WDF_INTERRUPT_EXTENDED_POLICY_V2_15
_In_ ULONG _In_ ULONG _In_ ULONG Length
Definition: ntddpcm.h:101
PFN_WDF_DEVICE_PREPARE_HARDWARE EvtDevicePrepareHardware
Definition: wdf215.h:765
struct _WDF_USB_INTERFACE_SETTING_PAIR_V2_15 * PWDF_USB_INTERFACE_SETTING_PAIR_V2_15
Definition: wdf215.h:147
_Must_inspect_result_ _In_ WDFIORESLIST _In_ PIO_RESOURCE_DESCRIPTOR Descriptor
Definition: wdfresource.h:339
struct _WDF_POWER_FRAMEWORK_SETTINGS_V2_15 WDF_POWER_FRAMEWORK_SETTINGS_V2_15
PFN_WDF_DEVICE_PROCESS_QUERY_INTERFACE_REQUEST EvtDeviceProcessQueryInterfaceRequest
Definition: wdf215.h:2063
#define _In_opt_
Definition: ms_sal.h:309
struct _WDF_WORKITEM_CONFIG_V2_15 WDF_WORKITEM_CONFIG_V2_15
_IRQL_requires_same_ _In_opt_ PVOID Argument1
Definition: cmtypes.h:696
WDF_IO_FORWARD_PROGRESS_RESERVED_POLICY ForwardProgressReservedPolicy
Definition: wdf215.h:1620
PFN_WDF_CHILD_LIST_IDENTIFICATION_DESCRIPTION_COPY EvtChildListIdentificationDescriptionCopy
Definition: wdf215.h:320
EVT_WDF_DEVICE_RESOURCE_REQUIREMENTS_QUERY * PFN_WDF_DEVICE_RESOURCE_REQUIREMENTS_QUERY
Definition: wdfpdo.h:80
EVT_WDF_DEVICE_RESOURCES_QUERY * PFN_WDF_DEVICE_RESOURCES_QUERY
Definition: wdfpdo.h:65
struct _WDF_COMMON_BUFFER_CONFIG_V2_15 * PWDF_COMMON_BUFFER_CONFIG_V2_15
Definition: wdf215.h:25
WDF_POWER_POLICY_S0_IDLE_USER_CONTROL UserControlOfIdleSettings
Definition: wdf215.h:843
_Must_inspect_result_ _In_ WDFQUEUE _In_opt_ WDFREQUEST _In_opt_ WDFFILEOBJECT _Inout_opt_ PWDF_REQUEST_PARAMETERS Parameters
Definition: wdfio.h:863
struct _WDF_DMA_ENABLER_CONFIG_V2_15 * PWDF_DMA_ENABLER_CONFIG_V2_15
Definition: wdf215.h:69
BOOLEAN DisplaceDriverUnload
Definition: wdf215.h:1411
EVT_WDF_IO_QUEUE_IO_DEVICE_CONTROL * PFN_WDF_IO_QUEUE_IO_DEVICE_CONTROL
Definition: wdfio.h:327
WDF_FILEOBJECT_CLASS FileObjectClass
Definition: wdf215.h:612
struct _WDFCONTEXTTYPE_TRIAGE_INFO_V2_15 * PWDFCONTEXTTYPE_TRIAGE_INFO_V2_15
Definition: wdf215.h:125
struct _WDF_QUEUE_FATAL_ERROR_DATA_V2_15 WDF_QUEUE_FATAL_ERROR_DATA_V2_15
PFN_WDF_DEVICE_ENABLE_WAKE_AT_BUS EvtDeviceEnableWakeAtBus
Definition: wdf215.h:1994
const struct _WDF_DEVICE_POWER_POLICY_WAKE_SETTINGS_V2_15 * PCWDF_DEVICE_POWER_POLICY_WAKE_SETTINGS_V2_15
Definition: wdf215.h:52
struct _WDF_TRIAGE_INFO_V2_15 WDF_TRIAGE_INFO_V2_15
IN BOOLEAN OUT PSTR Buffer
Definition: progress.h:34
WDF_MEMORY_DESCRIPTOR_TYPE Type
Definition: wdf215.h:1828
ULONG POINTER_ALIGNMENT Key
Definition: wdf215.h:2128
struct _WDF_DEVICE_PNP_NOTIFICATION_DATA_V2_15 * PWDF_DEVICE_PNP_NOTIFICATION_DATA_V2_15
Definition: wdf215.h:39
EVT_WDF_DEVICE_ARM_WAKE_FROM_S0 * PFN_WDF_DEVICE_ARM_WAKE_FROM_S0
Definition: wdfdevice.h:1074
PFN_WDF_FILE_CLOSE EvtFileClose
Definition: wdf215.h:435
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR _In_opt_ PLONGLONG DeviceOffset
Definition: wdfiotarget.h:859
uint16_t * PWSTR
Definition: typedefs.h:56
enum _WDF_TRI_STATE WDF_TRI_STATE
struct _WDF_OBJECT_CONTEXT_TYPE_INFO_V2_15 * PWDF_OBJECT_CONTEXT_TYPE_INFO_V2_15
Definition: wdf215.h:101
PFN_WDF_DEVICE_DISARM_WAKE_FROM_S0 EvtDeviceDisarmWakeFromS0
Definition: wdf215.h:801
const struct _WDF_DEVICE_POWER_NOTIFICATION_DATA_V2_15 * PCWDF_DEVICE_POWER_NOTIFICATION_DATA_V2_15
Definition: wdf215.h:42
_In_ BOOLEAN Create
Definition: pstypes.h:527
EVT_WDF_DEVICE_DISABLE_WAKE_AT_BUS * PFN_WDF_DEVICE_DISABLE_WAKE_AT_BUS
Definition: wdfpdo.h:136
PFN_WDF_DEVICE_FILTER_RESOURCE_REQUIREMENTS EvtDeviceFilterRemoveResourceRequirements
Definition: wdf215.h:1379
KINTERRUPT_MODE Mode
Definition: wdf215.h:1533
EVT_WDF_DRIVER_DEVICE_ADD * PFN_WDF_DRIVER_DEVICE_ADD
Definition: wdfdriver.h:78
char ACPI_OBJECT_TYPE * Types
Definition: acdebug.h:353
_In_opt_ PSID Group
Definition: rtlfuncs.h:1605
struct _WDFFWDPROGRESS_TRIAGE_INFO_V2_15 * PWDFFWDPROGRESS_TRIAGE_INFO_V2_15
Definition: wdf215.h:129
char CHAR
Definition: xmlstorage.h:175
WDF_TRI_STATE ResourcesChanged
Definition: wdf215.h:1007
WDF_EXTERN_C_START enum _WDF_INTERRUPT_POLARITY WDF_INTERRUPT_POLARITY
const struct _WDF_USB_REQUEST_COMPLETION_PARAMS_V2_15 * PCWDF_USB_REQUEST_COMPLETION_PARAMS_V2_15
Definition: wdf215.h:142
WDF_IO_TARGET_OPEN_TYPE Type
Definition: wdf215.h:1654
PFN_WDF_IO_ALLOCATE_REQUEST_RESOURCES EvtIoAllocateRequestResources
Definition: wdf215.h:1635
WDF_CLASS_VERSION_V2_15 Version
Definition: wdf215.h:492
_Must_inspect_result_ _In_ PFSRTL_PER_STREAM_CONTEXT Ptr
Definition: fsrtlfuncs.h:898
PWDFDEVICE_TRIAGE_INFO_V2_15 WdfDeviceTriageInfo
Definition: wdf215.h:2538
struct _WDF_DRIVER_GLOBALS_V2_15 WDF_DRIVER_GLOBALS_V2_15
PFN_WDF_INTERRUPT_DPC EvtInterruptDpc
Definition: wdf215.h:1468
LONG NTSTATUS
Definition: precomp.h:26
struct _WDF_QUERY_INTERFACE_CONFIG_V2_15 WDF_QUERY_INTERFACE_CONFIG_V2_15
_In_ const DEVPROPKEY * PropertyKey
Definition: wdf215.h:1276
WDF_TRI_STATE ShareVector
Definition: wdf215.h:1453
EVT_WDF_WORKITEM * PFN_WDF_WORKITEM
Definition: wdfworkitem.h:64
enum _WDF_DEVICE_IO_TYPE WDF_DEVICE_IO_TYPE
const struct _WDF_DMA_SYSTEM_PROFILE_CONFIG_V2_15 * PCWDF_DMA_SYSTEM_PROFILE_CONFIG_V2_15
Definition: wdf215.h:72
struct _WDF_INTERRUPT_EXTENDED_POLICY_V2_15 * PWDF_INTERRUPT_EXTENDED_POLICY_V2_15
Definition: wdf215.h:87
struct _WDF_DEVICE_POWER_POLICY_NOTIFICATION_DATA_V2_15 * PWDF_DEVICE_POWER_POLICY_NOTIFICATION_DATA_V2_15
Definition: wdf215.h:43
PFN_WDF_USB_READERS_FAILED EvtUsbTargetPipeReadersFailed
Definition: wdf215.h:2662
struct _WDF_CLASS_BIND_INFO_V2_15 * PWDF_CLASS_BIND_INFO_V2_15
Definition: wdf215.h:33
Definition: arc.h:84
PFN_WDF_DEVICE_D0_EXIT_PRE_INTERRUPTS_DISABLED EvtDeviceD0ExitPreInterruptsDisabled
Definition: wdf215.h:763
const struct _WDF_REQUEST_COMPLETION_PARAMS_V2_15 * PCWDF_REQUEST_COMPLETION_PARAMS_V2_15
Definition: wdf215.h:112
PFN_WDF_IO_QUEUE_IO_DEFAULT EvtIoDefault
Definition: wdf215.h:1584
const struct _WDF_DMA_ENABLER_CONFIG_V2_15 * PCWDF_DMA_ENABLER_CONFIG_V2_15
Definition: wdf215.h:70
EVT_WDF_WMI_INSTANCE_SET_INSTANCE * PFN_WDF_WMI_INSTANCE_SET_INSTANCE
Definition: wdfwmi.h:111
struct _WDF_DEVICE_POWER_NOTIFICATION_DATA_V2_15 WDF_DEVICE_POWER_NOTIFICATION_DATA_V2_15
PFN_WDF_INTERRUPT_ISR EvtInterruptIsr
Definition: wdf215.h:1466
struct _WDF_CHILD_ADDRESS_DESCRIPTION_HEADER_V2_15 WDF_CHILD_ADDRESS_DESCRIPTION_HEADER_V2_15
WDF_INTERRUPT_POLICY Policy
Definition: wdf215.h:1555
ULONG TriageInfoMinorVersion
Definition: wdf215.h:2514
struct _WDF_QUEUE_FATAL_ERROR_DATA_V2_15 * PWDF_QUEUE_FATAL_ERROR_DATA_V2_15
Definition: wdf215.h:13
EVT_WDF_IO_QUEUE_IO_INTERNAL_DEVICE_CONTROL * PFN_WDF_IO_QUEUE_IO_INTERNAL_DEVICE_CONTROL
Definition: wdfio.h:348
struct _WDF_DEVICE_POWER_POLICY_NOTIFICATION_DATA_V2_15::@4653::@4656 LeaveState
struct _WDF_DEVICE_PNP_NOTIFICATION_DATA_V2_15::@4645::@4647 PostProcessState
enum _WDF_STATE_NOTIFICATION_TYPE WDF_STATE_NOTIFICATION_TYPE
struct _WDF_DEVICE_INTERFACE_PROPERTY_DATA_V2_15 * PWDF_DEVICE_INTERFACE_PROPERTY_DATA_V2_15
Definition: wdf215.h:65
PFN_WDF_DEVICE_ARM_WAKE_FROM_SX_WITH_REASON EvtDeviceArmWakeFromSxWithReason
Definition: wdf215.h:811
struct _WDF_REQUEST_SEND_OPTIONS_V2_15 * PWDF_REQUEST_SEND_OPTIONS_V2_15
Definition: wdf215.h:115
DWORD LCID
Definition: nls.h:13
const struct _WDF_USB_INTERFACE_SETTING_PAIR_V2_15 * PCWDF_USB_INTERFACE_SETTING_PAIR_V2_15
Definition: wdf215.h:148
EVT_WDF_FILE_CLEANUP * PFN_WDF_FILE_CLEANUP
Definition: wdfdevice.h:578
struct _WDF_CHILD_LIST_ITERATOR_V2_15 WDF_CHILD_LIST_ITERATOR_V2_15
struct _WDF_MEMORY_DESCRIPTOR_V2_15 WDF_MEMORY_DESCRIPTOR_V2_15
EVT_WDF_IO_QUEUE_IO_RESUME * PFN_WDF_IO_QUEUE_IO_RESUME
Definition: wdfio.h:272
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
PFN_WDF_USB_READER_COMPLETION_ROUTINE EvtUsbTargetPipeReadComplete
Definition: wdf215.h:2651
struct _WDF_PDO_EVENT_CALLBACKS_V2_15 * PWDF_PDO_EVENT_CALLBACKS_V2_15
Definition: wdf215.h:105
WDF_INTERRUPT_POLARITY Polarity
Definition: wdf215.h:1535
struct _WDF_PNPPOWER_EVENT_CALLBACKS_V2_15 * PWDF_PNPPOWER_EVENT_CALLBACKS_V2_15
Definition: wdf215.h:45
PFN_WDF_DEVICE_EJECT EvtDeviceEject
Definition: wdf215.h:1983
EVT_WDF_IO_QUEUE_IO_STOP * PFN_WDF_IO_QUEUE_IO_STOP
Definition: wdfio.h:257
EVT_WDF_WMI_PROVIDER_FUNCTION_CONTROL * PFN_WDF_WMI_PROVIDER_FUNCTION_CONTROL
Definition: wdfwmi.h:171
EVT_WDF_IO_QUEUE_IO_CANCELED_ON_QUEUE * PFN_WDF_IO_QUEUE_IO_CANCELED_ON_QUEUE
Definition: wdfio.h:364
WDF_DEVICE_POWER_POLICY_STATE NewState
Definition: wdf215.h:722
EVT_WDF_DEVICE_PREPARE_HARDWARE * PFN_WDF_DEVICE_PREPARE_HARDWARE
Definition: wdfdevice.h:893
const struct _WDF_OBJECT_ATTRIBUTES_V2_15 * PCWDF_OBJECT_ATTRIBUTES_V2_15
Definition: wdf215.h:100
struct _WDF_DEVICE_PROPERTY_DATA_V2_15 * PWDF_DEVICE_PROPERTY_DATA_V2_15
Definition: wdf215.h:67
struct _WDF_REQUEST_FORWARD_OPTIONS_V2_15 * PWDF_REQUEST_FORWARD_OPTIONS_V2_15
Definition: wdf215.h:117
struct _WDF_FDO_EVENT_CALLBACKS_V2_15 * PWDF_FDO_EVENT_CALLBACKS_V2_15
Definition: wdf215.h:79
static BOOL Write(PBYTE Address, PBYTE Data, SIZE_T Size)
Definition: vmhorizon.c:15
PFN_WDF_CLIENT_UNBIND_CLASS ClientUnbindClass
Definition: wdf215.h:522
struct _WDFQUEUE_TRIAGE_INFO_V2_15 WDFQUEUE_TRIAGE_INFO_V2_15
struct _WDF_OBJECT_ATTRIBUTES_V2_15 * PWDF_OBJECT_ATTRIBUTES_V2_15
Definition: wdf215.h:99
UNICODE_STRING TargetDeviceName
Definition: wdf215.h:1695
PFN_WDF_CLASS_EXPORT * FunctionTable
Definition: wdf215.h:497
EVT_WDF_DEVICE_ARM_WAKE_FROM_SX_WITH_REASON * PFN_WDF_DEVICE_ARM_WAKE_FROM_SX_WITH_REASON
Definition: wdfdevice.h:1104
PWDF_WMI_PROVIDER_CONFIG_V2_15 ProviderConfig
Definition: wdf215.h:2928
PFN_GET_UNIQUE_CONTEXT_TYPE EvtDriverGetUniqueContextType
Definition: wdf215.h:1945
WDF_DEVICE_POWER_POLICY_STATE CurrentState
Definition: wdf215.h:717
PFN_WDF_CLASS_LIBRARY_INITIALIZE ClassLibraryInitialize
Definition: wdf215.h:545
EVT_WDF_DEVICE_REPORTED_MISSING * PFN_WDF_DEVICE_REPORTED_MISSING
Definition: wdfpdo.h:149
PFN_WDF_DRIVER_DEVICE_ADD EvtDriverDeviceAdd
Definition: wdf215.h:1331
PDEVICE_OBJECT TargetDeviceObject
Definition: wdf215.h:1680
enum _SYSTEM_POWER_STATE SYSTEM_POWER_STATE
EVT_WDF_DEVICE_SELF_MANAGED_IO_SUSPEND * PFN_WDF_DEVICE_SELF_MANAGED_IO_SUSPEND
Definition: wdfdevice.h:960
struct _WDF_REQUEST_COMPLETION_PARAMS_V2_15 * PWDF_REQUEST_COMPLETION_PARAMS_V2_15
Definition: wdf215.h:111
PFN_WDFDEVICE_WDM_POST_PO_FX_REGISTER_DEVICE EvtDeviceWdmPostPoFxRegisterDevice
Definition: wdf215.h:1123
EVT_WDF_TIMER * PFN_WDF_TIMER
Definition: wdftimer.h:67
PUSB_INTERFACE_DESCRIPTOR InterfaceDescriptor
Definition: wdf215.h:2796
const struct _WDF_USB_DEVICE_SELECT_CONFIG_PARAMS_V2_15 * PCWDF_USB_DEVICE_SELECT_CONFIG_PARAMS_V2_15
Definition: wdf215.h:150
enum _WDF_POWER_POLICY_S0_IDLE_USER_CONTROL WDF_POWER_POLICY_S0_IDLE_USER_CONTROL
BOOLEAN(STDCALL * PFN_WDFCX_DEVICE_FILE_CREATE)(_In_ WDFDEVICE Device, _In_ WDFREQUEST Request, _In_opt_ WDFFILEOBJECT FileObject)
Definition: wdfcx.h:12
struct _WDF_REQUEST_FATAL_ERROR_INFORMATION_LENGTH_MISMATCH_DATA_V2_15 WDF_REQUEST_FATAL_ERROR_INFORMATION_LENGTH_MISMATCH_DATA_V2_15
const struct _WDFCONTEXT_TRIAGE_INFO_V2_15 * PCWDFCONTEXT_TRIAGE_INFO_V2_15
Definition: wdf215.h:124
_In_opt_ PCUNICODE_STRING ReferenceString
Definition: wdf215.h:1239
struct _WDFIRPQUEUE_TRIAGE_INFO_V2_15 * PWDFIRPQUEUE_TRIAGE_INFO_V2_15
Definition: wdf215.h:131
WDF_FILEOBJECT_CLASS FileObjectClass
Definition: wdf215.h:460
enum _WDF_IO_TARGET_OPEN_TYPE WDF_IO_TARGET_OPEN_TYPE
uint32_t ULONG_PTR
Definition: typedefs.h:65
const struct _WDF_MEMORY_DESCRIPTOR_V2_15 * PCWDF_MEMORY_DESCRIPTOR_V2_15
Definition: wdf215.h:98
const struct _WDF_CUSTOM_TYPE_CONTEXT_V2_15 * PCWDF_CUSTOM_TYPE_CONTEXT_V2_15
Definition: wdf215.h:104
_Must_inspect_result_ __in WDFIOTARGET __in_opt WDFREQUEST __in ULONG Ioctl
PFN_WDF_CLASS_LIBRARY_BIND_CLIENT ClassLibraryBindClient
Definition: wdf215.h:558
const struct _WDF_REQUEST_REUSE_PARAMS_V2_15 * PCWDF_REQUEST_REUSE_PARAMS_V2_15
Definition: wdf215.h:114
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_POWER_POLICY_IDLE_SETTINGS Settings
Definition: wdfdevice.h:2592
GROUP_AFFINITY TargetProcessorSetAndGroup
Definition: wdf215.h:1559
PWDFFWDPROGRESS_TRIAGE_INFO_V2_15 WdfFwdProgressTriageInfo
Definition: wdf215.h:2532
WDF_TRI_STATE AutoForwardCleanupClose
Definition: wdf215.h:453
__GNU_EXTENSION typedef __int64 * PLONGLONG
Definition: ntbasedef.h:382
struct _WDFCONTEXT_TRIAGE_INFO_V2_15 * PWDFCONTEXT_TRIAGE_INFO_V2_15
Definition: wdf215.h:123
UCHAR KIRQL
Definition: env_spec_w32.h:591
struct _WDF_USB_PIPE_INFORMATION_V2_15 * PWDF_USB_PIPE_INFORMATION_V2_15
Definition: wdf215.h:153
EVT_WDF_IO_TARGET_REMOVE_CANCELED * PFN_WDF_IO_TARGET_REMOVE_CANCELED
Definition: wdfiotarget.h:108
_In_ WDFDEVICE _Out_ PWDF_DEVICE_STATE DeviceState
Definition: wdfdevice.h:1996
WDF_DEVICE_POWER_POLICY_STATE PowerPolicyState
Definition: wdf215.h:186
WDF_USB_PIPE_TYPE PipeType
Definition: wdf215.h:2849
PO_FX_COMPONENT_IDLE_CONDITION_CALLBACK * PPO_FX_COMPONENT_IDLE_CONDITION_CALLBACK
Definition: potypes.h:508
struct _WDF_REQUEST_COMPLETION_PARAMS_V2_15 WDF_REQUEST_COMPLETION_PARAMS_V2_15
const struct _WDF_INTERRUPT_INFO_V2_15 * PCWDF_INTERRUPT_INFO_V2_15
Definition: wdf215.h:86
struct _WDF_DEVICE_POWER_POLICY_NOTIFICATION_DATA_V2_15 WDF_DEVICE_POWER_POLICY_NOTIFICATION_DATA_V2_15
const struct _WDF_DRIVER_CONFIG_V2_15 * PCWDF_DRIVER_CONFIG_V2_15
Definition: wdf215.h:76
EVT_WDF_DEVICE_D0_EXIT_PRE_INTERRUPTS_DISABLED * PFN_WDF_DEVICE_D0_EXIT_PRE_INTERRUPTS_DISABLED
Definition: wdfdevice.h:876
PFN_WDF_CLIENT_BIND_CLASS ClientBindClass
Definition: wdf215.h:515
PUSB_INTERFACE_DESCRIPTOR * InterfaceDescriptors
Definition: wdf215.h:2723
PFN_WDF_DEVICE_ARM_WAKE_FROM_SX EvtDeviceArmWakeFromSx
Definition: wdf215.h:805
EVT_WDF_FILE_CLOSE * PFN_WDF_FILE_CLOSE
Definition: wdfdevice.h:565
const struct _WDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER_V2_15 * PCWDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER_V2_15
Definition: wdf215.h:16
EVT_WDF_DRIVER_UNLOAD * PFN_WDF_DRIVER_UNLOAD
Definition: wdfdriver.h:91
struct _WDF_IO_TYPE_CONFIG_V2_15 WDF_IO_TYPE_CONFIG_V2_15
PFN_WDF_IO_QUEUE_IO_WRITE EvtIoWrite
Definition: wdf215.h:1588
const struct _WDF_QUEUE_FATAL_ERROR_DATA_V2_15 * PCWDF_QUEUE_FATAL_ERROR_DATA_V2_15
Definition: wdf215.h:14
PFN_WDF_CHILD_LIST_ADDRESS_DESCRIPTION_COPY EvtChildListAddressDescriptionCopy
Definition: wdf215.h:351
PFN_WDF_DEVICE_WAKE_FROM_SX_TRIGGERED EvtDeviceWakeFromSxTriggered
Definition: wdf215.h:809
EVT_WDF_CHILD_LIST_CREATE_DEVICE * PFN_WDF_CHILD_LIST_CREATE_DEVICE
Definition: wdfchildlist.h:129
struct _WDF_IO_QUEUE_CONFIG_V2_15 * PWDF_IO_QUEUE_CONFIG_V2_15
Definition: wdf215.h:89
const struct _WDFQUEUE_TRIAGE_INFO_V2_15 * PCWDFQUEUE_TRIAGE_INFO_V2_15
Definition: wdf215.h:128
WDF_EXTERN_C_START enum _WDF_MEMORY_DESCRIPTOR_TYPE WDF_MEMORY_DESCRIPTOR_TYPE
PFN_WDF_DEVICE_DISABLE_WAKE_AT_BUS EvtDeviceDisableWakeAtBus
Definition: wdf215.h:2000
PFN_WDF_INTERRUPT_ENABLE EvtInterruptEnable
Definition: wdf215.h:1470
enum _WDF_FILEOBJECT_CLASS WDF_FILEOBJECT_CLASS
struct _WDF_OBJECT_ATTRIBUTES_V2_15 WDF_OBJECT_ATTRIBUTES_V2_15
const struct _WDF_TIMER_CONFIG_V2_15 * PCWDF_TIMER_CONFIG_V2_15
Definition: wdf215.h:120
const struct _WDF_USB_DEVICE_INFORMATION_V2_15 * PCWDF_USB_DEVICE_INFORMATION_V2_15
Definition: wdf215.h:146
EVT_WDF_CHILD_LIST_ADDRESS_DESCRIPTION_COPY * PFN_WDF_CHILD_LIST_ADDRESS_DESCRIPTION_COPY
Definition: wdfchildlist.h:225
USBD_VERSION_INFORMATION UsbdVersionInformation
Definition: wdf215.h:2675
WDF_STATE_NOTIFICATION_TYPE Type
Definition: wdf215.h:665
struct _WDF_DEVICE_POWER_CAPABILITIES_V2_15 * PWDF_DEVICE_POWER_CAPABILITIES_V2_15
Definition: wdf215.h:57
enum _WDF_POWER_POLICY_SX_WAKE_USER_CONTROL WDF_POWER_POLICY_SX_WAKE_USER_CONTROL
PFN_WDF_DEVICE_SURPRISE_REMOVAL EvtDeviceSurpriseRemoval
Definition: wdf215.h:779
struct _WDF_USB_DEVICE_CREATE_CONFIG_V2_15 * PWDF_USB_DEVICE_CREATE_CONFIG_V2_15
Definition: wdf215.h:155
WDF_TRI_STATE ReportInactiveOnPowerDown
Definition: wdf215.h:1502
struct _WDF_POWER_ROUTINE_TIMED_OUT_DATA_V2_15 WDF_POWER_ROUTINE_TIMED_OUT_DATA_V2_15
PFN_WDF_WMI_INSTANCE_EXECUTE_METHOD EvtWmiInstanceExecuteMethod
Definition: wdf215.h:2961
const struct _WDF_POWER_FRAMEWORK_SETTINGS_V2_15 * PCWDF_POWER_FRAMEWORK_SETTINGS_V2_15
Definition: wdf215.h:62
struct _WDF_IO_TARGET_OPEN_PARAMS_V2_15 WDF_IO_TARGET_OPEN_PARAMS_V2_15
enum _WDF_INTERRUPT_POLICY WDF_INTERRUPT_POLICY
unsigned char BOOLEAN
PFN_WDF_DEVICE_USAGE_NOTIFICATION_EX EvtDeviceUsageNotificationEx
Definition: wdf215.h:789
PWDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER_V2_15 IdentificationDescription
Definition: wdf215.h:263
enum _KINTERRUPT_MODE KINTERRUPT_MODE
struct _WDF_DEVICE_PNP_NOTIFICATION_DATA_V2_15::@4645::@4648 LeaveState
const struct _WDF_USB_DEVICE_CREATE_CONFIG_V2_15 * PCWDF_USB_DEVICE_CREATE_CONFIG_V2_15
Definition: wdf215.h:156
#define _In_
Definition: ms_sal.h:308
PFN_WDF_DEVICE_USAGE_NOTIFICATION EvtDeviceUsageNotification
Definition: wdf215.h:785
union _WDF_DEVICE_POWER_NOTIFICATION_DATA_V2_15::@4649 Data
PFN_WDF_DEVICE_SET_LOCK EvtDeviceSetLock
Definition: wdf215.h:1988
const struct _WDF_CLASS_LIBRARY_INFO_V2_15 * PCWDF_CLASS_LIBRARY_INFO_V2_15
Definition: wdf215.h:36
_Must_inspect_result_ _In_ WDFDEVICE _In_ ULONG _In_ ACCESS_MASK _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFKEY * Key
Definition: wdfdevice.h:2654
PPO_FX_COMPONENT_ACTIVE_CONDITION_CALLBACK ComponentActiveConditionCallback
Definition: wdf215.h:1145
_Reserved_ PVOID Reserved
Definition: winddi.h:3974
struct _WDFCX_FILEOBJECT_CONFIG_V2_15 WDFCX_FILEOBJECT_CONFIG_V2_15
const struct _WDF_DEVICE_POWER_POLICY_NOTIFICATION_DATA_V2_15 * PCWDF_DEVICE_POWER_POLICY_NOTIFICATION_DATA_V2_15
Definition: wdf215.h:44
PFN_WDF_INTERRUPT_DISABLE EvtInterruptDisable
Definition: wdf215.h:1472
struct _WDF_DEVICE_POWER_POLICY_IDLE_SETTINGS_V2_15 WDF_DEVICE_POWER_POLICY_IDLE_SETTINGS_V2_15
enum _WDF_POWER_POLICY_S0_IDLE_CAPABILITIES WDF_POWER_POLICY_S0_IDLE_CAPABILITIES
PPO_FX_POWER_CONTROL_CALLBACK PowerControlCallback
Definition: wdf215.h:1166
PFN_WDF_WMI_PROVIDER_FUNCTION_CONTROL EvtWmiProviderFunctionControl
Definition: wdf215.h:2907
BOOLEAN AutomaticSerialization
Definition: wdf215.h:2982
const struct _WDF_REQUEST_FORWARD_OPTIONS_V2_15 * PCWDF_REQUEST_FORWARD_OPTIONS_V2_15
Definition: wdf215.h:118
struct _WDF_CHILD_ADDRESS_DESCRIPTION_HEADER_V2_15 * PWDF_CHILD_ADDRESS_DESCRIPTION_HEADER_V2_15
Definition: wdf215.h:17
struct _WDF_DEVICE_POWER_POLICY_WAKE_SETTINGS_V2_15 * PWDF_DEVICE_POWER_POLICY_WAKE_SETTINGS_V2_15
Definition: wdf215.h:51
PFN_WDF_DEVICE_REMOVE_ADDED_RESOURCES EvtDeviceRemoveAddedResources
Definition: wdf215.h:1381
EVT_WDF_DEVICE_EJECT * PFN_WDF_DEVICE_EJECT
Definition: wdfpdo.h:93
PFN_WDF_DEVICE_SELF_MANAGED_IO_FLUSH EvtDeviceSelfManagedIoFlush
Definition: wdf215.h:771
struct _WDF_USB_PIPE_INFORMATION_V2_15 WDF_USB_PIPE_INFORMATION_V2_15
DECLSPEC_ALIGN(8) USHORT Group
PFN_WDF_INTERRUPT_WORKITEM EvtInterruptWorkItem
Definition: wdf215.h:1474
const struct _WDF_OBJECT_CONTEXT_TYPE_INFO_V2_15 * PCWDF_OBJECT_CONTEXT_TYPE_INFO_V2_15
Definition: wdf215.h:102
PFN_WDF_DEVICE_WAKE_FROM_S0_TRIGGERED EvtDeviceWakeFromS0Triggered
Definition: wdf215.h:803
WdfUsbTargetDeviceSelectSettingType Type
Definition: wdf215.h:2789
const struct _WDF_DEVICE_POWER_POLICY_IDLE_SETTINGS_V2_15 * PCWDF_DEVICE_POWER_POLICY_IDLE_SETTINGS_V2_15
Definition: wdf215.h:50
_In_ PVOID Argument2
Definition: classpnp.h:721
const struct _WDF_QUERY_INTERFACE_CONFIG_V2_15 * PCWDF_QUERY_INTERFACE_CONFIG_V2_15
Definition: wdf215.h:108
struct _WDF_USB_DEVICE_CREATE_CONFIG_V2_15 WDF_USB_DEVICE_CREATE_CONFIG_V2_15
struct _WDF_DEVICE_POWER_POLICY_NOTIFICATION_DATA_V2_15::@4653::@4655 PostProcessState
const struct _WDF_DEVICE_PNP_NOTIFICATION_DATA_V2_15 * PCWDF_DEVICE_PNP_NOTIFICATION_DATA_V2_15
Definition: wdf215.h:40
struct _WDF_DEVICE_POWER_CAPABILITIES_V2_15 WDF_DEVICE_POWER_CAPABILITIES_V2_15
PIO_SECURITY_CONTEXT SecurityContext
Definition: wdf215.h:2109
const struct _WDF_TRIAGE_INFO_V2_15 * PCWDF_TRIAGE_INFO_V2_15
Definition: wdf215.h:140
EVT_WDF_DEVICE_D0_EXIT * PFN_WDF_DEVICE_D0_EXIT
Definition: wdfdevice.h:861
#define POINTER_ALIGNMENT
struct _WDF_CLASS_VERSION_V2_15 * PWDF_CLASS_VERSION_V2_15
Definition: wdf215.h:31
struct _WDFCX_FILEOBJECT_CONFIG_V2_15 * PWDFCX_FILEOBJECT_CONFIG_V2_15
Definition: wdf215.h:27
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _Out_opt_ PUSHORT _Inout_opt_ PUNICODE_STRING Value
Definition: wdfregistry.h:406
const struct _WDFCONTEXTTYPE_TRIAGE_INFO_V2_15 * PCWDFCONTEXTTYPE_TRIAGE_INFO_V2_15
Definition: wdf215.h:126
enum _WDF_SYNCHRONIZATION_SCOPE WDF_SYNCHRONIZATION_SCOPE
struct _WDF_DRIVER_VERSION_AVAILABLE_PARAMS_V2_15 WDF_DRIVER_VERSION_AVAILABLE_PARAMS_V2_15
struct _WDF_REQUEST_PARAMETERS_V2_15 * PWDF_REQUEST_PARAMETERS_V2_15
Definition: wdf215.h:109
enum _DEVICE_POWER_STATE DEVICE_POWER_STATE
const struct _WDF_WMI_INSTANCE_CONFIG_V2_15 * PCWDF_WMI_INSTANCE_CONFIG_V2_15
Definition: wdf215.h:160
WDF_DEVICE_PNP_STATE CurrentState
Definition: wdf215.h:627
int64_t LONGLONG
Definition: typedefs.h:68
PO_FX_POWER_CONTROL_CALLBACK * PPO_FX_POWER_CONTROL_CALLBACK
Definition: potypes.h:552
PFN_WDF_DEVICE_RELEASE_HARDWARE EvtDeviceReleaseHardware
Definition: wdf215.h:767
const struct _WDF_PNPPOWER_EVENT_CALLBACKS_V2_15 * PCWDF_PNPPOWER_EVENT_CALLBACKS_V2_15
Definition: wdf215.h:46
PFN_WDF_DEVICE_D0_EXIT EvtDeviceD0Exit
Definition: wdf215.h:761
struct _WDFOBJECT_TRIAGE_INFO_V2_15 WDFOBJECT_TRIAGE_INFO_V2_15
WDF_EXTERN_C_START enum _WDF_CHILD_LIST_RETRIEVE_DEVICE_STATUS WDF_CHILD_LIST_RETRIEVE_DEVICE_STATUS
EVT_WDF_DEVICE_SELF_MANAGED_IO_INIT * PFN_WDF_DEVICE_SELF_MANAGED_IO_INIT
Definition: wdfdevice.h:947
PWDF_USB_INTERFACE_SETTING_PAIR_V2_15 Pairs
Definition: wdf215.h:2766
PWDFIRPQUEUE_TRIAGE_INFO_V2_15 WdfIrpQueueTriageInfo
Definition: wdf215.h:2534
EVT_WDF_DEVICE_ARM_WAKE_FROM_SX * PFN_WDF_DEVICE_ARM_WAKE_FROM_SX
Definition: wdfdevice.h:1087
union _WDF_DEVICE_POWER_POLICY_NOTIFICATION_DATA_V2_15::@4653 Data
WDF_DEVICE_PNP_STATE NewState
Definition: wdf215.h:632
struct _WDF_REMOVE_LOCK_OPTIONS_V2_15 WDF_REMOVE_LOCK_OPTIONS_V2_15
InternalIoctlParams Argument4
DEVICE_POWER_STATE IdealDxStateForSx
Definition: wdf215.h:1094
EVT_WDF_DEVICE_USAGE_NOTIFICATION_EX * PFN_WDF_DEVICE_USAGE_NOTIFICATION_EX
Definition: wdfdevice.h:1046
const struct _WDF_DEVICE_PNP_CAPABILITIES_V2_15 * PCWDF_DEVICE_PNP_CAPABILITIES_V2_15
Definition: wdf215.h:56
EVT_WDF_DEVICE_SELF_MANAGED_IO_CLEANUP * PFN_WDF_DEVICE_SELF_MANAGED_IO_CLEANUP
Definition: wdfdevice.h:921
enum _WDF_REQUEST_TYPE WDF_REQUEST_TYPE
struct _WDF_INTERRUPT_INFO_V2_15 * PWDF_INTERRUPT_INFO_V2_15
Definition: wdf215.h:85
ULONG POINTER_ALIGNMENT IoControlCode
Definition: wdf215.h:2159
struct _WDF_CLASS_VERSION_V2_15 WDF_CLASS_VERSION_V2_15
const struct _WDF_DPC_CONFIG_V2_15 * PCWDF_DPC_CONFIG_V2_15
Definition: wdf215.h:74
const struct _WDF_PDO_EVENT_CALLBACKS_V2_15 * PCWDF_PDO_EVENT_CALLBACKS_V2_15
Definition: wdf215.h:106
const struct _WDF_CHILD_ADDRESS_DESCRIPTION_HEADER_V2_15 * PCWDF_CHILD_ADDRESS_DESCRIPTION_HEADER_V2_15
Definition: wdf215.h:18
struct _WDF_FILEOBJECT_CONFIG_V2_15 WDF_FILEOBJECT_CONFIG_V2_15
EVT_WDF_IO_TARGET_REMOVE_COMPLETE * PFN_WDF_IO_TARGET_REMOVE_COMPLETE
Definition: wdfiotarget.h:121
struct _WDF_DEVICE_INTERFACE_PROPERTY_DATA_V2_15 WDF_DEVICE_INTERFACE_PROPERTY_DATA_V2_15
EVT_WDF_WMI_INSTANCE_EXECUTE_METHOD * PFN_WDF_WMI_INSTANCE_EXECUTE_METHOD
Definition: wdfwmi.h:154
WDF_EXTERN_C_START enum _WDF_IO_QUEUE_DISPATCH_TYPE WDF_IO_QUEUE_DISPATCH_TYPE
PFN_WDF_FILE_CLOSE EvtFileClose
Definition: wdf215.h:587
EVT_WDF_INTERRUPT_WORKITEM * PFN_WDF_INTERRUPT_WORKITEM
Definition: wdfinterrupt.h:153
PFN_WDF_DEVICE_DISARM_WAKE_FROM_SX EvtDeviceDisarmWakeFromSx
Definition: wdf215.h:807
EVT_WDF_DEVICE_D0_ENTRY_POST_INTERRUPTS_ENABLED * PFN_WDF_DEVICE_D0_ENTRY_POST_INTERRUPTS_ENABLED
Definition: wdfdevice.h:846
PFN_WDF_DEVICE_D0_ENTRY EvtDeviceD0Entry
Definition: wdf215.h:757
PWDFIRP_TRIAGE_INFO_V2_15 WdfIrpTriageInfo
Definition: wdf215.h:2540
enum _WDF_INTERRUPT_PRIORITY WDF_INTERRUPT_PRIORITY
PFN_WDF_IO_QUEUE_IO_READ EvtIoRead
Definition: wdf215.h:1586
struct _WDF_DEVICE_POWER_POLICY_WAKE_SETTINGS_V2_15 WDF_DEVICE_POWER_POLICY_WAKE_SETTINGS_V2_15
const struct _WDF_INTERRUPT_EXTENDED_POLICY_V2_15 * PCWDF_INTERRUPT_EXTENDED_POLICY_V2_15
Definition: wdf215.h:88
const struct _WDFOBJECT_TRIAGE_INFO_V2_15 * PCWDFOBJECT_TRIAGE_INFO_V2_15
Definition: wdf215.h:122
PFN_WDF_DEVICE_SELF_MANAGED_IO_CLEANUP EvtDeviceSelfManagedIoCleanup
Definition: wdf215.h:769
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_IO_QUEUE_CONFIG_V2_15 WDF_IO_QUEUE_CONFIG_V2_15
WDF_TRI_STATE Removed
Definition: wdf215.h:1000
struct _WDF_POWER_FRAMEWORK_SETTINGS_V2_15 * PWDF_POWER_FRAMEWORK_SETTINGS_V2_15
Definition: wdf215.h:61
PPO_FX_COMPONENT_IDLE_CONDITION_CALLBACK ComponentIdleConditionCallback
Definition: wdf215.h:1152
struct _WDFIRPQUEUE_TRIAGE_INFO_V2_15 WDFIRPQUEUE_TRIAGE_INFO_V2_15
BOOLEAN AutomaticSerialization
Definition: wdf215.h:2368
enum _WdfUsbTargetDeviceSelectSettingType WdfUsbTargetDeviceSelectSettingType
PFN_WDF_IO_TARGET_REMOVE_CANCELED EvtIoTargetRemoveCanceled
Definition: wdf215.h:1667
struct _WDF_DEVICE_POWER_POLICY_IDLE_SETTINGS_V2_15 * PWDF_DEVICE_POWER_POLICY_IDLE_SETTINGS_V2_15
Definition: wdf215.h:49
PFN_WDF_IO_ALLOCATE_RESOURCES_FOR_RESERVED_REQUEST EvtIoAllocateResourcesForReservedRequest
Definition: wdf215.h:1630
enum _WDF_IO_FORWARD_PROGRESS_RESERVED_POLICY WDF_IO_FORWARD_PROGRESS_RESERVED_POLICY
ULONG WDF_MINOR_VERSION
Definition: fxldrum.h:27
PFN_WDF_IO_TARGET_REMOVE_COMPLETE EvtIoTargetRemoveComplete
Definition: wdf215.h:1673
EVT_WDF_CHILD_LIST_DEVICE_REENUMERATED * PFN_WDF_CHILD_LIST_DEVICE_REENUMERATED
Definition: wdfchildlist.h:276
EVT_WDF_DEVICE_REMOVE_ADDED_RESOURCES * PFN_WDF_DEVICE_REMOVE_ADDED_RESOURCES
Definition: wdffdo.h:83
EVT_WDF_INTERRUPT_ISR * PFN_WDF_INTERRUPT_ISR
Definition: wdfinterrupt.h:94
WDF_TRI_STATE NotDisableable
Definition: wdf215.h:991
EVT_WDF_DEVICE_SELF_MANAGED_IO_RESTART * PFN_WDF_DEVICE_SELF_MANAGED_IO_RESTART
Definition: wdfdevice.h:973
const struct _WDF_USB_CONTINUOUS_READER_CONFIG_V2_15 * PCWDF_USB_CONTINUOUS_READER_CONFIG_V2_15
Definition: wdf215.h:144
const struct _WDF_WORKITEM_CONFIG_V2_15 * PCWDF_WORKITEM_CONFIG_V2_15
Definition: wdf215.h:162
struct _WDFCONTEXTTYPE_TRIAGE_INFO_V2_15 WDFCONTEXTTYPE_TRIAGE_INFO_V2_15
struct _WDF_DEVICE_PNP_NOTIFICATION_DATA_V2_15::@4645::@4646 EnterState
* PFILE_OBJECT
Definition: iotypes.h:1998
PFN_WDF_DEVICE_RELATIONS_QUERY EvtDeviceRelationsQuery
Definition: wdf215.h:787
EVT_WDF_INTERRUPT_ENABLE * PFN_WDF_INTERRUPT_ENABLE
Definition: wdfinterrupt.h:175
const struct _WDF_IO_QUEUE_FORWARD_PROGRESS_POLICY_V2_15 * PCWDF_IO_QUEUE_FORWARD_PROGRESS_POLICY_V2_15
Definition: wdf215.h:92
struct _WDF_CHILD_LIST_CONFIG_V2_15 WDF_CHILD_LIST_CONFIG_V2_15
PFN_WDF_DEVICE_QUERY_STOP EvtDeviceQueryStop
Definition: wdf215.h:783
PUSB_CONFIGURATION_DESCRIPTOR ConfigurationDescriptor
Definition: wdf215.h:2718
const struct _WDFREQUEST_TRIAGE_INFO_V2_15 * PCWDFREQUEST_TRIAGE_INFO_V2_15
Definition: wdf215.h:134
struct _WDF_USB_INTERFACE_SETTING_PAIR_V2_15 WDF_USB_INTERFACE_SETTING_PAIR_V2_15
struct _WDF_USB_DEVICE_INFORMATION_V2_15 WDF_USB_DEVICE_INFORMATION_V2_15
struct _WDF_POWER_POLICY_EVENT_CALLBACKS_V2_15 * PWDF_POWER_POLICY_EVENT_CALLBACKS_V2_15
Definition: wdf215.h:47
PFN_WDF_WMI_INSTANCE_SET_ITEM EvtWmiInstanceSetItem
Definition: wdf215.h:2956
WDF_TRI_STATE Failed
Definition: wdf215.h:986
struct _WDF_DEVICE_POWER_NOTIFICATION_DATA_V2_15::@4649::@4650 EnterState
PFN_WDF_TIMER EvtTimerFunc
Definition: wdf215.h:2357
struct _WDFOBJECT_TRIAGE_INFO_V2_15 * PWDFOBJECT_TRIAGE_INFO_V2_15
Definition: wdf215.h:121
USHORT POINTER_ALIGNMENT FileAttributes
Definition: wdf215.h:2113
EVT_WDF_DEVICE_DISARM_WAKE_FROM_SX * PFN_WDF_DEVICE_DISARM_WAKE_FROM_SX
Definition: wdfdevice.h:1130
unsigned __int64 ULONG64
Definition: imports.h:198
ULONG WDF_BUILD_NUMBER
Definition: fxldrum.h:28
const struct _WDF_CHILD_LIST_CONFIG_V2_15 * PCWDF_CHILD_LIST_CONFIG_V2_15
Definition: wdf215.h:22
unsigned char UCHAR
Definition: xmlstorage.h:181
EVT_WDF_OBJECT_CONTEXT_DESTROY * PFN_WDF_OBJECT_CONTEXT_DESTROY
Definition: wdfobject.h:95
const struct _WDF_POWER_POLICY_EVENT_CALLBACKS_V2_15 * PCWDF_POWER_POLICY_EVENT_CALLBACKS_V2_15
Definition: wdf215.h:48
struct _WDF_USB_REQUEST_COMPLETION_PARAMS_V2_15 * PWDF_USB_REQUEST_COMPLETION_PARAMS_V2_15
Definition: wdf215.h:141
ULONG POINTER_ALIGNMENT EaLength
Definition: wdf215.h:2117
struct _WDF_IO_TYPE_CONFIG_V2_15 * PWDF_IO_TYPE_CONFIG_V2_15
Definition: wdf215.h:63
struct _WDF_IO_QUEUE_FORWARD_PROGRESS_POLICY_V2_15 WDF_IO_QUEUE_FORWARD_PROGRESS_POLICY_V2_15
struct _WDF_DEVICE_POWER_NOTIFICATION_DATA_V2_15::@4649::@4651 PostProcessState
struct _WDF_DRIVER_GLOBALS_V2_15 * PWDF_DRIVER_GLOBALS_V2_15
Definition: wdf215.h:81
enum _WDFFUNCENUM_V2_15 WDFFUNCENUM_V2_15
WDF_DEVICE_POWER_STATE CurrentState
Definition: wdf215.h:672
const struct _WDFIRP_TRIAGE_INFO_V2_15 * PCWDFIRP_TRIAGE_INFO_V2_15
Definition: wdf215.h:138
PFN_WDF_DRIVER_UNLOAD EvtDriverUnload
Definition: wdf215.h:1333
ULONG TriageInfoMajorVersion
Definition: wdf215.h:2512
const struct _WDF_COMMON_BUFFER_CONFIG_V2_15 * PCWDF_COMMON_BUFFER_CONFIG_V2_15
Definition: wdf215.h:26
struct _WDF_WMI_INSTANCE_CONFIG_V2_15 WDF_WMI_INSTANCE_CONFIG_V2_15
LONG USBD_STATUS
Definition: usb.h:165
EVT_WDF_OBJECT_CONTEXT_CLEANUP * PFN_WDF_OBJECT_CONTEXT_CLEANUP
Definition: wdfobject.h:82
struct _WDF_REQUEST_REUSE_PARAMS_V2_15 WDF_REQUEST_REUSE_PARAMS_V2_15
Definition: arc.h:85
struct _WDFIRP_TRIAGE_INFO_V2_15 WDFIRP_TRIAGE_INFO_V2_15
struct _WDFREQUEST_TRIAGE_INFO_V2_15 * PWDFREQUEST_TRIAGE_INFO_V2_15
Definition: wdf215.h:133
struct _WDF_CLASS_EXTENSION_DESCRIPTOR_V2_15 * PWDF_CLASS_EXTENSION_DESCRIPTOR_V2_15
Definition: wdf215.h:29
WDF_REQUEST_TYPE Type
Definition: wdf215.h:2096
_In_ WDFREQUEST _In_ size_t _In_ size_t _In_ ULONG IoControlCode
Definition: wdfio.h:318
WDF_DEVICE_IO_TYPE DeviceControlIoType
Definition: wdf215.h:1210
EVT_WDF_DEVICE_FILE_CREATE * PFN_WDF_DEVICE_FILE_CREATE
Definition: wdfdevice.h:552
struct _WDF_IO_QUEUE_FORWARD_PROGRESS_POLICY_V2_15 * PWDF_IO_QUEUE_FORWARD_PROGRESS_POLICY_V2_15
Definition: wdf215.h:91
EVT_WDF_CHILD_LIST_ADDRESS_DESCRIPTION_DUPLICATE * PFN_WDF_CHILD_LIST_ADDRESS_DESCRIPTION_DUPLICATE
Definition: wdfchildlist.h:242
struct _WDF_CLASS_BIND_INFO_V2_15 WDF_CLASS_BIND_INFO_V2_15
WDF_EXECUTION_LEVEL ExecutionLevel
Definition: wdf215.h:1886
const struct _WDF_DEVICE_POWER_CAPABILITIES_V2_15 * PCWDF_DEVICE_POWER_CAPABILITIES_V2_15
Definition: wdf215.h:58
size_t POINTER_ALIGNMENT InputBufferLength
Definition: wdf215.h:2157
struct _WDF_QUERY_INTERFACE_CONFIG_V2_15 * PWDF_QUERY_INTERFACE_CONFIG_V2_15
Definition: wdf215.h:107
PFN_WDF_CHILD_LIST_IDENTIFICATION_DESCRIPTION_COMPARE EvtChildListIdentificationDescriptionCompare
Definition: wdf215.h:343
WDF_POWER_POLICY_IDLE_TIMEOUT_TYPE IdleTimeoutType
Definition: wdf215.h:886
const struct _WDF_REQUEST_SEND_OPTIONS_V2_15 * PCWDF_REQUEST_SEND_OPTIONS_V2_15
Definition: wdf215.h:116
EVT_WDF_IO_QUEUE_IO_DEFAULT * PFN_WDF_IO_QUEUE_IO_DEFAULT
Definition: wdfio.h:239
struct _WDF_CLASS_LIBRARY_INFO_V2_15 * PWDF_CLASS_LIBRARY_INFO_V2_15
Definition: wdf215.h:35
WDF_STATE_NOTIFICATION_TYPE Type
Definition: wdf215.h:620
WDF_SYNCHRONIZATION_SCOPE SynchronizationScope
Definition: wdf215.h:1891
WDF_TRI_STATE AutoForwardCleanupClose
Definition: wdf215.h:605
const struct _WDF_CHILD_RETRIEVE_INFO_V2_15 * PCWDF_CHILD_RETRIEVE_INFO_V2_15
Definition: wdf215.h:20
PFN_WDF_CLASS_LIBRARY_UNBIND_CLIENT ClassLibraryUnbindClient
Definition: wdf215.h:564
PFN_WDF_CHILD_LIST_ADDRESS_DESCRIPTION_DUPLICATE EvtChildListAddressDescriptionDuplicate
Definition: wdf215.h:358
PPO_FX_COMPONENT_IDLE_STATE_CALLBACK ComponentIdleStateCallback
Definition: wdf215.h:1159
struct _WDF_CHILD_LIST_CONFIG_V2_15 * PWDF_CHILD_LIST_CONFIG_V2_15
Definition: wdf215.h:21
struct _WDF_POWER_POLICY_EVENT_CALLBACKS_V2_15 WDF_POWER_POLICY_EVENT_CALLBACKS_V2_15
struct _WDF_MEMORY_DESCRIPTOR_V2_15 * PWDF_MEMORY_DESCRIPTOR_V2_15
Definition: wdf215.h:97
PFN_WDF_FILE_CLEANUP EvtFileCleanup
Definition: wdf215.h:592
PFN_WDF_IO_QUEUE_IO_INTERNAL_DEVICE_CONTROL EvtIoInternalDeviceControl
Definition: wdf215.h:1592
EVT_WDF_IO_ALLOCATE_REQUEST_RESOURCES * PFN_WDF_IO_ALLOCATE_REQUEST_RESOURCES
Definition: wdfio.h:500
struct _WDF_POWER_ROUTINE_TIMED_OUT_DATA_V2_15 * PWDF_POWER_ROUTINE_TIMED_OUT_DATA_V2_15
Definition: wdf215.h:9
PFN_WDF_WMI_INSTANCE_QUERY_INSTANCE EvtWmiInstanceQueryInstance
Definition: wdf215.h:2946
EVT_WDF_CHILD_LIST_IDENTIFICATION_DESCRIPTION_DUPLICATE * PFN_WDF_CHILD_LIST_IDENTIFICATION_DESCRIPTION_DUPLICATE
Definition: wdfchildlist.h:176
_In_ ULONG _In_ ULONG Offset
Definition: ntddpcm.h:101
PWDFCONTEXT_TRIAGE_INFO_V2_15 WdfContextTriageInfo
Definition: wdf215.h:2526
EVT_WDF_DEVICE_SELF_MANAGED_IO_FLUSH * PFN_WDF_DEVICE_SELF_MANAGED_IO_FLUSH
Definition: wdfdevice.h:934
struct _WDF_DMA_SYSTEM_PROFILE_CONFIG_V2_15 * PWDF_DMA_SYSTEM_PROFILE_CONFIG_V2_15
Definition: wdf215.h:71
PFN_WDF_CHILD_LIST_DEVICE_REENUMERATED EvtChildListDeviceReenumerated
Definition: wdf215.h:372
PFN_WDF_CHILD_LIST_CREATE_DEVICE EvtChildListCreateDevice
Definition: wdf215.h:305
PFN_WDF_DEVICE_RESOURCES_QUERY EvtDeviceResourcesQuery
Definition: wdf215.h:1973
PFN_WDF_DEVICE_SELF_MANAGED_IO_INIT EvtDeviceSelfManagedIoInit
Definition: wdf215.h:773
struct _WDFFWDPROGRESS_TRIAGE_INFO_V2_15 WDFFWDPROGRESS_TRIAGE_INFO_V2_15
EVT_WDF_DEVICE_PROCESS_QUERY_INTERFACE_REQUEST * PFN_WDF_DEVICE_PROCESS_QUERY_INTERFACE_REQUEST
const struct _WDF_WMI_PROVIDER_CONFIG_V2_15 * PCWDF_WMI_PROVIDER_CONFIG_V2_15
Definition: wdf215.h:158
PFN_WDF_CHILD_LIST_IDENTIFICATION_DESCRIPTION_DUPLICATE EvtChildListIdentificationDescriptionDuplicate
Definition: wdf215.h:327
const struct _WDFFWDPROGRESS_TRIAGE_INFO_V2_15 * PCWDFFWDPROGRESS_TRIAGE_INFO_V2_15
Definition: wdf215.h:130
PWDFOBJECT_TRIAGE_INFO_V2_15 WdfObjectTriageInfo
Definition: wdf215.h:2524
PWDFQUEUE_TRIAGE_INFO_V2_15 WdfQueueTriageInfo
Definition: wdf215.h:2530
WDF_STATE_NOTIFICATION_TYPE Type
Definition: wdf215.h:710
PFN_WDF_DEVICE_SELF_MANAGED_IO_RESTART EvtDeviceSelfManagedIoRestart
Definition: wdf215.h:777
WDF_IO_QUEUE_DISPATCH_TYPE DispatchType
Definition: wdf215.h:1576
struct _WDF_CUSTOM_TYPE_CONTEXT_V2_15 WDF_CUSTOM_TYPE_CONTEXT_V2_15
const struct _WDF_IO_TARGET_OPEN_PARAMS_V2_15 * PCWDF_IO_TARGET_OPEN_PARAMS_V2_15
Definition: wdf215.h:94
EVT_WDF_DEVICE_WAKE_FROM_SX_TRIGGERED * PFN_WDF_DEVICE_WAKE_FROM_SX_TRIGGERED
Definition: wdfdevice.h:1156
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
const struct _WDFCX_FILEOBJECT_CONFIG_V2_15 * PCWDFCX_FILEOBJECT_CONFIG_V2_15
Definition: wdf215.h:28
WDF_MAJOR_VERSION Major
Definition: wdf215.h:470
const struct _WDFDEVICE_TRIAGE_INFO_V2_15 * PCWDFDEVICE_TRIAGE_INFO_V2_15
Definition: wdf215.h:136
PFN_WDF_DEVICE_QUERY_REMOVE EvtDeviceQueryRemove
Definition: wdf215.h:781
PWDFCONTEXTTYPE_TRIAGE_INFO_V2_15 WdfContextTypeTriageInfo
Definition: wdf215.h:2528
EVT_WDF_USB_READERS_FAILED * PFN_WDF_USB_READERS_FAILED
Definition: wdfusb.h:405
IN PVOID IN PVOID IN USHORT IN USHORT IN PINTERFACE Interface
Definition: pci.h:361
Definition: usb.h:529
PFN_WDF_IO_QUEUE_IO_CANCELED_ON_QUEUE EvtIoCanceledOnQueue
Definition: wdf215.h:1598
unsigned short USHORT
Definition: pedump.c:61
EVT_WDF_USB_READER_COMPLETION_ROUTINE * PFN_WDF_USB_READER_COMPLETION_ROUTINE
Definition: wdfusb.h:388
SYSTEM_POWER_STATE SystemWake
Definition: wdf215.h:1077
ULONG_PTR KAFFINITY
Definition: compat.h:85
struct _WDF_INTERRUPT_CONFIG_V2_15 WDF_INTERRUPT_CONFIG_V2_15
DEVICE_POWER_STATE DeviceWake
Definition: wdf215.h:1075
WDF_CLASS_VERSION_V2_15 Version
Definition: wdf215.h:540
const struct _WDF_FDO_EVENT_CALLBACKS_V2_15 * PCWDF_FDO_EVENT_CALLBACKS_V2_15
Definition: wdf215.h:80
struct _WDF_USB_DEVICE_SELECT_CONFIG_PARAMS_V2_15 * PWDF_USB_DEVICE_SELECT_CONFIG_PARAMS_V2_15
Definition: wdf215.h:149
enum _WDF_POWER_POLICY_IDLE_TIMEOUT_TYPE WDF_POWER_POLICY_IDLE_TIMEOUT_TYPE
WDF_TRI_STATE Disabled
Definition: wdf215.h:973
const struct _WDF_DRIVER_GLOBALS_V2_15 * PCWDF_DRIVER_GLOBALS_V2_15
Definition: wdf215.h:82
struct _WDF_WORKITEM_CONFIG_V2_15 * PWDF_WORKITEM_CONFIG_V2_15
Definition: wdf215.h:161
EVT_WDF_DEVICE_SET_LOCK * PFN_WDF_DEVICE_SET_LOCK
Definition: wdfpdo.h:108
const struct _WDF_USB_PIPE_INFORMATION_V2_15 * PCWDF_USB_PIPE_INFORMATION_V2_15
Definition: wdf215.h:154
struct _WDF_USB_REQUEST_COMPLETION_PARAMS_V2_15 WDF_USB_REQUEST_COMPLETION_PARAMS_V2_15
WdfUsbTargetDeviceSelectConfigType Type
Definition: wdf215.h:2711
WDF_TRI_STATE PowerManaged
Definition: wdf215.h:1578
PWDFMEMORY_OFFSET_V2_15 Offsets
Definition: wdf215.h:1848
_WDFFUNCENUM_V2_15
Definition: wdf215.h:5
PFN_WDF_CHILD_LIST_IDENTIFICATION_DESCRIPTION_COMPARE EvtChildListIdentificationDescriptionCompare
Definition: wdf215.h:279
PO_FX_COMPONENT_IDLE_STATE_CALLBACK * PPO_FX_COMPONENT_IDLE_STATE_CALLBACK
Definition: potypes.h:519
EVT_WDFDEVICE_WDM_POST_PO_FX_REGISTER_DEVICE * PFN_WDFDEVICE_WDM_POST_PO_FX_REGISTER_DEVICE
Definition: wdfdevice.h:1743
struct _WDFMEMORY_OFFSET_V2_15 * PWDFMEMORY_OFFSET_V2_15
Definition: wdf215.h:95
struct _WDFIRP_TRIAGE_INFO_V2_15 * PWDFIRP_TRIAGE_INFO_V2_15
Definition: wdf215.h:137
EVT_WDF_INTERRUPT_DISABLE * PFN_WDF_INTERRUPT_DISABLE
Definition: wdfinterrupt.h:197
struct _WDF_USB_CONTINUOUS_READER_CONFIG_V2_15 * PWDF_USB_CONTINUOUS_READER_CONFIG_V2_15
Definition: wdf215.h:143
CHAR DriverName[WDF_DRIVER_GLOBALS_NAME_LEN]
Definition: wdf215.h:1406
EVT_WDF_DEVICE_D0_ENTRY * PFN_WDF_DEVICE_D0_ENTRY
Definition: wdfdevice.h:831
PFN_WDF_IO_QUEUE_IO_RESUME EvtIoResume
Definition: wdf215.h:1596
struct _WDF_DRIVER_CONFIG_V2_15 * PWDF_DRIVER_CONFIG_V2_15
Definition: wdf215.h:75
PFN_WDFCX_DEVICE_FILE_CREATE EvtCxDeviceFileCreate
Definition: wdf215.h:430
struct _WDF_USB_INTERFACE_SELECT_SETTING_PARAMS_V2_15 * PWDF_USB_INTERFACE_SELECT_SETTING_PARAMS_V2_15
Definition: wdf215.h:151
PWDF_OBJECT_ATTRIBUTES_V2_15 BufferAttributes
Definition: wdf215.h:2646
PFN_WDF_CLASS_LIBRARY_DEINITIALIZE ClassLibraryDeinitialize
Definition: wdf215.h:552
PFN_WDF_OBJECT_CONTEXT_DESTROY EvtDestroyCallback
Definition: wdf215.h:1881
struct _WDF_DEVICE_PROPERTY_DATA_V2_15 WDF_DEVICE_PROPERTY_DATA_V2_15
WDF_DEVICE_IO_TYPE ReadWriteIoType
Definition: wdf215.h:1197
PFN_WDF_OBJECT_CONTEXT_CLEANUP EvtCleanupCallback
Definition: wdf215.h:1875
PFN_WDF_IO_QUEUE_IO_STOP EvtIoStop
Definition: wdf215.h:1594
struct _WDF_USB_DEVICE_SELECT_CONFIG_PARAMS_V2_15 WDF_USB_DEVICE_SELECT_CONFIG_PARAMS_V2_15
struct _WDFQUEUE_TRIAGE_INFO_V2_15 * PWDFQUEUE_TRIAGE_INFO_V2_15
Definition: wdf215.h:127
PFN_WDF_DEVICE_FILE_CREATE EvtDeviceFileCreate
Definition: wdf215.h:582
struct _WDF_CHILD_LIST_ITERATOR_V2_15 * PWDF_CHILD_LIST_ITERATOR_V2_15
Definition: wdf215.h:23
PFN_WDF_DEVICE_REPORTED_MISSING EvtDeviceReportedMissing
Definition: wdf215.h:2006
enum _WDF_DEVICE_POWER_POLICY_STATE WDF_DEVICE_POWER_POLICY_STATE
struct _WDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER_V2_15 * PWDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER_V2_15
Definition: wdf215.h:15
struct _WDF_REMOVE_LOCK_OPTIONS_V2_15 * PWDF_REMOVE_LOCK_OPTIONS_V2_15
Definition: wdf215.h:59
EVT_WDF_DEVICE_QUERY_REMOVE * PFN_WDF_DEVICE_QUERY_REMOVE
Definition: wdfdevice.h:999
PWDF_CHILD_ADDRESS_DESCRIPTION_HEADER_V2_15 AddressDescription
Definition: wdf215.h:268
EVT_WDF_DEVICE_RELATIONS_QUERY * PFN_WDF_DEVICE_RELATIONS_QUERY
Definition: wdfdevice.h:1061
const struct _WDF_DRIVER_VERSION_AVAILABLE_PARAMS_V2_15 * PCWDF_DRIVER_VERSION_AVAILABLE_PARAMS_V2_15
Definition: wdf215.h:78
enum _WDF_USB_PIPE_TYPE WDF_USB_PIPE_TYPE
EVT_WDF_DEVICE_QUERY_STOP * PFN_WDF_DEVICE_QUERY_STOP
Definition: wdfdevice.h:986
PFN_WDF_IO_QUEUE_IO_DEVICE_CONTROL EvtIoDeviceControl
Definition: wdf215.h:1590
const struct _WDF_IO_QUEUE_CONFIG_V2_15 * PCWDF_IO_QUEUE_CONFIG_V2_15
Definition: wdf215.h:90
PFN_WDF_WORKITEM EvtWorkItemFunc
Definition: wdf215.h:2973
BOOLEAN AllowZeroLengthRequests
Definition: wdf215.h:1580
const struct _WDF_FILEOBJECT_CONFIG_V2_15 * PCWDF_FILEOBJECT_CONFIG_V2_15
Definition: wdf215.h:38
union _WDF_DEVICE_PNP_NOTIFICATION_DATA_V2_15::@4645 Data
WDF_DEVICE_POWER_STATE NewState
Definition: wdf215.h:677
struct _WDF_CLASS_LIBRARY_INFO_V2_15 WDF_CLASS_LIBRARY_INFO_V2_15
unsigned int ULONG
Definition: retypes.h:1
PWDF_USB_REQUEST_COMPLETION_PARAMS_V2_15 Completion
Definition: wdf215.h:2262
WDF_EXTERN_C_START enum _WDF_EXECUTION_LEVEL WDF_EXECUTION_LEVEL
struct _WDF_DEVICE_POWER_NOTIFICATION_DATA_V2_15::@4649::@4652 LeaveState
struct _WDF_DEVICE_PNP_CAPABILITIES_V2_15 * PWDF_DEVICE_PNP_CAPABILITIES_V2_15
Definition: wdf215.h:55
WDF_INTERRUPT_PRIORITY Priority
Definition: wdf215.h:1557
struct _WDF_DEVICE_STATE_V2_15 WDF_DEVICE_STATE_V2_15
WDF_POWER_POLICY_S0_IDLE_CAPABILITIES IdleCaps
Definition: wdf215.h:825
PFN_WDF_CHILD_LIST_IDENTIFICATION_DESCRIPTION_CLEANUP EvtChildListIdentificationDescriptionCleanup
Definition: wdf215.h:334
PWDFREQUEST_TRIAGE_INFO_V2_15 WdfRequestTriageInfo
Definition: wdf215.h:2536
PCWDF_OBJECT_CONTEXT_TYPE_INFO_V2_15 UniqueType
Definition: wdf215.h:1937
PFN_WDF_DEVICE_RESOURCE_REQUIREMENTS_QUERY EvtDeviceResourceRequirementsQuery
Definition: wdf215.h:1978
enum _WDF_DEVICE_POWER_STATE WDF_DEVICE_POWER_STATE
struct _WDFMEMORY_OFFSET_V2_15 WDFMEMORY_OFFSET_V2_15
const struct _WDF_REMOVE_LOCK_OPTIONS_V2_15 * PCWDF_REMOVE_LOCK_OPTIONS_V2_15
Definition: wdf215.h:60
struct _WDFCONTEXT_TRIAGE_INFO_V2_15 WDFCONTEXT_TRIAGE_INFO_V2_15
const struct _WDF_POWER_ROUTINE_TIMED_OUT_DATA_V2_15 * PCWDF_POWER_ROUTINE_TIMED_OUT_DATA_V2_15
Definition: wdf215.h:10
EVT_WDF_DEVICE_WAKE_FROM_S0_TRIGGERED * PFN_WDF_DEVICE_WAKE_FROM_S0_TRIGGERED
Definition: wdfdevice.h:1143
EVT_WDF_CHILD_LIST_IDENTIFICATION_DESCRIPTION_COMPARE * PFN_WDF_CHILD_LIST_IDENTIFICATION_DESCRIPTION_COMPARE
Definition: wdfchildlist.h:193
struct _WDFDEVICE_TRIAGE_INFO_V2_15 * PWDFDEVICE_TRIAGE_INFO_V2_15
Definition: wdf215.h:135
PFN_WDF_IO_TARGET_QUERY_REMOVE EvtIoTargetQueryRemove
Definition: wdf215.h:1661
KAFFINITY TargetProcessorSet
Definition: wdf215.h:1523
PFN_WDF_WMI_INSTANCE_SET_INSTANCE EvtWmiInstanceSetInstance
Definition: wdf215.h:2951
PFN_WDF_CHILD_LIST_SCAN_FOR_CHILDREN EvtChildListScanForChildren
Definition: wdf215.h:312
struct _WDFDEVICE_TRIAGE_INFO_V2_15 WDFDEVICE_TRIAGE_INFO_V2_15
EVT_WDF_IO_TARGET_QUERY_REMOVE * PFN_WDF_IO_TARGET_QUERY_REMOVE
Definition: wdfiotarget.h:95
PCWDF_OBJECT_CONTEXT_TYPE_INFO(__cdecl * PFN_GET_UNIQUE_CONTEXT_TYPE)(VOID)
Definition: wdfobject.h:176
struct _WDF_DEVICE_POWER_NOTIFICATION_DATA_V2_15 * PWDF_DEVICE_POWER_NOTIFICATION_DATA_V2_15
Definition: wdf215.h:41
const struct _WDFMEMORY_OFFSET_V2_15 * PCWDFMEMORY_OFFSET_V2_15
Definition: wdf215.h:96
struct _WDF_DRIVER_CONFIG_V2_15 WDF_DRIVER_CONFIG_V2_15
const struct _WDF_DEVICE_STATE_V2_15 * PCWDF_DEVICE_STATE_V2_15
Definition: wdf215.h:54
PFN_WDF_DEVICE_FILTER_RESOURCE_REQUIREMENTS EvtDeviceFilterAddResourceRequirements
Definition: wdf215.h:1377
struct _WDF_USB_DEVICE_INFORMATION_V2_15 * PWDF_USB_DEVICE_INFORMATION_V2_15
Definition: wdf215.h:145
EVT_WDF_DEVICE_SURPRISE_REMOVAL * PFN_WDF_DEVICE_SURPRISE_REMOVAL
Definition: wdfdevice.h:1012
EVT_WDF_CHILD_LIST_IDENTIFICATION_DESCRIPTION_COPY * PFN_WDF_CHILD_LIST_IDENTIFICATION_DESCRIPTION_COPY
Definition: wdfchildlist.h:159
const struct _WDF_DEVICE_PROPERTY_DATA_V2_15 * PCWDF_DEVICE_PROPERTY_DATA_V2_15
Definition: wdf215.h:68
WDF_MINOR_VERSION Minor
Definition: wdf215.h:472
struct _WDF_OBJECT_CONTEXT_TYPE_INFO_V2_15 WDF_OBJECT_CONTEXT_TYPE_INFO_V2_15
EVT_WDFDEVICE_WDM_PRE_PO_FX_UNREGISTER_DEVICE * PFN_WDFDEVICE_WDM_PRE_PO_FX_UNREGISTER_DEVICE
Definition: wdfdevice.h:1758
PFN_WDF_FILE_CLEANUP EvtFileCleanup
Definition: wdf215.h:440
const struct _WDF_CLASS_VERSION_V2_15 * PCWDF_CLASS_VERSION_V2_15
Definition: wdf215.h:32
const struct _WDF_USB_INTERFACE_SELECT_SETTING_PARAMS_V2_15 * PCWDF_USB_INTERFACE_SELECT_SETTING_PARAMS_V2_15
Definition: wdf215.h:152
struct _WDF_DEVICE_PNP_CAPABILITIES_V2_15 WDF_DEVICE_PNP_CAPABILITIES_V2_15
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
enum _WdfUsbTargetDeviceSelectConfigType WdfUsbTargetDeviceSelectConfigType
const struct _WDF_REQUEST_PARAMETERS_V2_15 * PCWDF_REQUEST_PARAMETERS_V2_15
Definition: wdf215.h:110
struct _WDF_WMI_PROVIDER_CONFIG_V2_15 WDF_WMI_PROVIDER_CONFIG_V2_15
struct _WDF_REQUEST_REUSE_PARAMS_V2_15 * PWDF_REQUEST_REUSE_PARAMS_V2_15
Definition: wdf215.h:113
_In_ const DEVPROPKEY * PropertyKey
Definition: wdf215.h:1245
struct _WDF_USB_INTERFACE_SELECT_SETTING_PARAMS_V2_15 WDF_USB_INTERFACE_SELECT_SETTING_PARAMS_V2_15
#define CONST
Definition: pedump.c:81
ULONG ACCESS_MASK
Definition: nt_native.h:40
struct _WDF_PDO_EVENT_CALLBACKS_V2_15 WDF_PDO_EVENT_CALLBACKS_V2_15
#define WDF_DRIVER_GLOBALS_NAME_LEN
Definition: wdfglobals.h:51
PO_FX_COMPONENT_ACTIVE_CONDITION_CALLBACK * PPO_FX_COMPONENT_ACTIVE_CONDITION_CALLBACK
Definition: potypes.h:498
EVT_WDF_DEVICE_RELEASE_HARDWARE * PFN_WDF_DEVICE_RELEASE_HARDWARE
Definition: wdfdevice.h:908
struct _WDF_TRIAGE_INFO_V2_15 * PWDF_TRIAGE_INFO_V2_15
Definition: wdf215.h:139
EVT_WDF_WMI_INSTANCE_SET_ITEM * PFN_WDF_WMI_INSTANCE_SET_ITEM
Definition: wdfwmi.h:130
EVT_WDF_IO_ALLOCATE_RESOURCES_FOR_RESERVED_REQUEST * PFN_WDF_IO_ALLOCATE_RESOURCES_FOR_RESERVED_REQUEST
Definition: wdfio.h:485
EVT_WDF_DEVICE_USAGE_NOTIFICATION * PFN_WDF_DEVICE_USAGE_NOTIFICATION
Definition: wdfdevice.h:1029
struct _WDF_DRIVER_VERSION_AVAILABLE_PARAMS_V2_15 * PWDF_DRIVER_VERSION_AVAILABLE_PARAMS_V2_15
Definition: wdf215.h:77
WDF_DEVICE_POWER_STATE PowerState
Definition: wdf215.h:181
PFN_WDFDEVICE_WDM_PRE_PO_FX_UNREGISTER_DEVICE EvtDeviceWdmPrePoFxUnregisterDevice
Definition: wdf215.h:1130
EVT_WDF_DEVICE_FILTER_RESOURCE_REQUIREMENTS * PFN_WDF_DEVICE_FILTER_RESOURCE_REQUIREMENTS
Definition: wdffdo.h:66
PFN_WDF_CHILD_LIST_ADDRESS_DESCRIPTION_CLEANUP EvtChildListAddressDescriptionCleanup
Definition: wdf215.h:365
struct _WDF_FILEOBJECT_CONFIG_V2_15 * PWDF_FILEOBJECT_CONFIG_V2_15
Definition: wdf215.h:37
struct _WDF_WMI_PROVIDER_CONFIG_V2_15 * PWDF_WMI_PROVIDER_CONFIG_V2_15
Definition: wdf215.h:157
enum _WDF_USB_REQUEST_TYPE WDF_USB_REQUEST_TYPE
ULONG WDF_MAJOR_VERSION
Definition: fxldrum.h:26
struct _WDF_PNPPOWER_EVENT_CALLBACKS_V2_15 WDF_PNPPOWER_EVENT_CALLBACKS_V2_15
EVT_WDF_INTERRUPT_DPC * PFN_WDF_INTERRUPT_DPC
Definition: wdfinterrupt.h:134
PFN_WDF_DEVICE_SELF_MANAGED_IO_SUSPEND EvtDeviceSelfManagedIoSuspend
Definition: wdf215.h:775
WDF_USB_CONTROL_SETUP_PACKET SetupPacket
Definition: wdf215.h:2578
EVT_WDF_WMI_INSTANCE_QUERY_INSTANCE * PFN_WDF_WMI_INSTANCE_QUERY_INSTANCE
Definition: wdfwmi.h:94
WDF_BUILD_NUMBER Build
Definition: wdf215.h:474
struct _WDF_DEVICE_STATE_V2_15 * PWDF_DEVICE_STATE_V2_15
Definition: wdf215.h:53