Signed-off-by: Mark Harmstone <m...@harmstone.com>

---
 mingw-w64-headers/ddk/include/ddk/wdm.h | 194 ++++++++++++++++++++----
 1 file changed, 161 insertions(+), 33 deletions(-)

diff --git a/mingw-w64-headers/ddk/include/ddk/wdm.h 
b/mingw-w64-headers/ddk/include/ddk/wdm.h
index 8ed420e26..5ab654ad1 100644
--- a/mingw-w64-headers/ddk/include/ddk/wdm.h
+++ b/mingw-w64-headers/ddk/include/ddk/wdm.h
@@ -804,7 +804,10 @@ typedef enum _KBUGCHECK_CALLBACK_REASON {
   KbCallbackReserved1,
   KbCallbackSecondaryDumpData,
   KbCallbackDumpIo,
-  KbCallbackAddPages
+  KbCallbackAddPages,
+  KbCallbackSecondaryMultiPartDumpData,
+  KbCallbackRemovePages,
+  KbCallbackTriageDumpData
 } KBUGCHECK_CALLBACK_REASON;
 
 struct _KBUGCHECK_REASON_CALLBACK_RECORD;
@@ -921,7 +924,16 @@ typedef PROCESSOR_CALLBACK_FUNCTION 
*PPROCESSOR_CALLBACK_FUNCTION;
 typedef enum _KINTERRUPT_POLARITY {
   InterruptPolarityUnknown,
   InterruptActiveHigh,
-  InterruptActiveLow
+  InterruptRisingEdge = InterruptActiveHigh,
+  InterruptActiveLow,
+  InterruptFallingEdge = InterruptActiveLow,
+#if NTDDI_VERSION >= NTDDI_WIN8
+  InterruptActiveBoth,
+#endif
+#if NTDDI_VERSION >= NTDDI_WINBLUE
+  InterruptActiveBothTriggerLow = InterruptActiveBoth,
+  InterruptActiveBothTriggerHigh
+#endif
 } KINTERRUPT_POLARITY, *PKINTERRUPT_POLARITY;
 
 typedef enum _KPROFILE_SOURCE {
@@ -967,7 +979,7 @@ typedef enum _KWAIT_REASON {
   WrDelayExecution,
   WrSuspended,
   WrUserRequest,
-  WrEventPair,
+  WrSpare0,
   WrQueue,
   WrLpcReceive,
   WrLpcReply,
@@ -990,6 +1002,9 @@ typedef enum _KWAIT_REASON {
   WrFastMutex,
   WrGuardedMutex,
   WrRundown,
+  WrAlertByThreadId,
+  WrDeferredPreempt,
+  WrPhysicalFault,
   MaximumWaitReason
 } KWAIT_REASON;
 
@@ -1138,48 +1153,46 @@ typedef struct _KLOCK_QUEUE_HANDLE {
 
 typedef ULONG64 KSPIN_LOCK_QUEUE_NUMBER;
 
-#define LockQueueDispatcherLock 0
-#define LockQueueExpansionLock 1
-#define LockQueuePfnLock 2
-#define LockQueueSystemSpaceLock 3
+#define LockQueueUnusedSpare0 0
+#define LockQueueUnusedSpare1 1
+#define LockQueueUnusedSpare2 2
+#define LockQueueUnusedSpare3 3
 #define LockQueueVacbLock 4
 #define LockQueueMasterLock 5
 #define LockQueueNonPagedPoolLock 6
 #define LockQueueIoCancelLock 7
-#define LockQueueWorkQueueLock 8
+#define LockQueueUnusedSpare8 8
 #define LockQueueIoVpbLock 9
 #define LockQueueIoDatabaseLock 10
 #define LockQueueIoCompletionLock 11
 #define LockQueueNtfsStructLock 12
 #define LockQueueAfdWorkQueueLock 13
 #define LockQueueBcbLock 14
-#define LockQueueMmNonPagedPoolLock 15
+#define LockQueueUnusedSpare15 15
 #define LockQueueUnusedSpare16 16
-#define LockQueueTimerTableLock 17
-#define LockQueueMaximumLock (LockQueueTimerTableLock + 
LOCK_QUEUE_TIMER_TABLE_LOCKS)
+#define LockQueueMaximumLock 17
 
 #else
 
 typedef enum _KSPIN_LOCK_QUEUE_NUMBER {
-  LockQueueDispatcherLock,
-  LockQueueExpansionLock,
-  LockQueuePfnLock,
-  LockQueueSystemSpaceLock,
+  LockQueueUnusedSpare0,
+  LockQueueUnusedSpare1,
+  LockQueueUnusedSpare2,
+  LockQueueUnusedSpare3,
   LockQueueVacbLock,
   LockQueueMasterLock,
   LockQueueNonPagedPoolLock,
   LockQueueIoCancelLock,
-  LockQueueWorkQueueLock,
+  LockQueueUnusedSpare8,
   LockQueueIoVpbLock,
   LockQueueIoDatabaseLock,
   LockQueueIoCompletionLock,
   LockQueueNtfsStructLock,
   LockQueueAfdWorkQueueLock,
   LockQueueBcbLock,
-  LockQueueMmNonPagedPoolLock,
+  LockQueueUnusedSpare15,
   LockQueueUnusedSpare16,
-  LockQueueTimerTableLock,
-  LockQueueMaximumLock = LockQueueTimerTableLock + LOCK_QUEUE_TIMER_TABLE_LOCKS
+  LockQueueMaximumLock = LockQueueUnusedSpare16 + 1
 } KSPIN_LOCK_QUEUE_NUMBER, *PKSPIN_LOCK_QUEUE_NUMBER;
 
 #endif /* defined(_AMD64_) */
@@ -1375,6 +1388,7 @@ typedef KSYNCHRONIZE_ROUTINE *PKSYNCHRONIZE_ROUTINE;
 
 typedef enum _POOL_TYPE {
   NonPagedPool,
+  NonPagedPoolExecute = NonPagedPool,
   PagedPool,
   NonPagedPoolMustSucceed,
   DontUseThisType,
@@ -1382,13 +1396,20 @@ typedef enum _POOL_TYPE {
   PagedPoolCacheAligned,
   NonPagedPoolCacheAlignedMustS,
   MaxPoolType,
+  NonPagedPoolBase = 0,
+  NonPagedPoolBaseMustSucceed = 2,
+  NonPagedPoolBaseCacheAligned = 4,
+  NonPagedPoolBaseCacheAlignedMustS = 6,
   NonPagedPoolSession = 32,
   PagedPoolSession,
   NonPagedPoolMustSucceedSession,
   DontUseThisTypeSession,
   NonPagedPoolCacheAlignedSession,
   PagedPoolCacheAlignedSession,
-  NonPagedPoolCacheAlignedMustSSession
+  NonPagedPoolCacheAlignedMustSSession,
+  NonPagedPoolNx = 512,
+  NonPagedPoolNxCacheAligned = 516,
+  NonPagedPoolSessionNx = 544,
 } POOL_TYPE;
 
 typedef enum _ALTERNATIVE_ARCHITECTURE_TYPE {
@@ -1670,7 +1691,8 @@ typedef enum _MEMORY_CACHING_TYPE {
   MmHardwareCoherentCached,
   MmNonCachedUnordered,
   MmUSWCCached,
-  MmMaximumCacheType
+  MmMaximumCacheType,
+  MmNotMapped = -1
 } MEMORY_CACHING_TYPE;
 
 typedef enum _MM_PAGE_PRIORITY {
@@ -1867,7 +1889,12 @@ typedef enum _WORK_QUEUE_TYPE {
   CriticalWorkQueue,
   DelayedWorkQueue,
   HyperCriticalWorkQueue,
-  MaximumWorkQueue
+  NormalWorkQueue,
+  BackgroundWorkQueue,
+  RealTimeWorkQueue,
+  SuperCriticalWorkQueue,
+  MaximumWorkQueue,
+  CustomPriorityWorkQueue = 32
 } WORK_QUEUE_TYPE;
 
 typedef VOID
@@ -2219,7 +2246,13 @@ typedef enum _SE_ADT_PARAMETER_TYPE {
   SeAdtParmTypeLogonIdNoSid,
   SeAdtParmTypeUlongNoConv,
   SeAdtParmTypeSockAddrNoPort,
-  SeAdtParmTypeAccessReason
+  SeAdtParmTypeAccessReason,
+  SeAdtParmTypeStagingReason,
+  SeAdtParmTypeResourceAttribute,
+  SeAdtParmTypeClaims,
+  SeAdtParmTypeLogonIdAsSid,
+  SeAdtParmTypeMultiSzString,
+  SeAdtParmTypeLogonIdEx
 } SE_ADT_PARAMETER_TYPE, *PSE_ADT_PARAMETER_TYPE;
 
 typedef struct _SE_ADT_OBJECT_TYPE {
@@ -2315,7 +2348,7 @@ typedef enum _POWER_INFORMATION_LEVEL {
   SetPowerSettingValue,
   NotifyUserPowerSetting,
   PowerInformationLevelUnused0,
-  PowerInformationLevelUnused1,
+  SystemMonitorHiberBootPowerOff,
   SystemVideoState,
   TraceApplicationPowerMessage,
   TraceApplicationPowerMessageEnd,
@@ -2339,6 +2372,50 @@ typedef enum _POWER_INFORMATION_LEVEL {
   ProcessorIdleDomains,
   WakeTimerList,
   SystemHiberFileSize,
+  ProcessorIdleStatesHv,
+  ProcessorPerfStatesHv,
+  ProcessorPerfCapHv,
+  ProcessorSetIdle,
+  LogicalProcessorIdling,
+  UserPresence,
+  PowerSettingNotificationName,
+  GetPowerSettingValue,
+  IdleResiliency,
+  SessionRITState,
+  SessionConnectNotification,
+  SessionPowerCleanup,
+  SessionLockState,
+  SystemHiberbootState,
+  PlatformInformation,
+  PdcInvocation,
+  MonitorInvocation,
+  FirmwareTableInformationRegistered,
+  SetShutdownSelectedTime,
+  SuspendResumeInvocation,
+  PlmPowerRequestCreate,
+  ScreenOff,
+  CsDeviceNotification,
+  PlatformRole,
+  LastResumePerformance,
+  DisplayBurst,
+  ExitLatencySamplingPercentage,
+  RegisterSpmPowerSettings,
+  PlatformIdleStates,
+  ProcessorIdleVeto,
+  PlatformIdleVeto,
+  SystemBatteryStatePrecise,
+  ThermalEvent,
+  PowerRequestActionInternal,
+  BatteryDeviceState,
+  PowerInformationInternal,
+  ThermalStandby,
+  SystemHiberFileType,
+  PhysicalPowerButtonPress,
+  QueryPotentialDripsConstraint,
+  EnergyTrackerCreate,
+  EnergyTrackerQuery,
+  UpdateBlackBoxRecorder,
+  SessionAllowExternalDmaDevices,
   PowerInformationLevelMaximum
 } POWER_INFORMATION_LEVEL;
 
@@ -2350,7 +2427,8 @@ typedef enum {
   PowerActionShutdown,
   PowerActionShutdownReset,
   PowerActionShutdownOff,
-  PowerActionWarmEject
+  PowerActionWarmEject,
+  PowerActionDisplayOff
 } POWER_ACTION, *PPOWER_ACTION;
 
 typedef enum _DEVICE_POWER_STATE {
@@ -2449,7 +2527,8 @@ typedef enum {
 typedef enum _POWER_REQUEST_TYPE {
   PowerRequestDisplayRequired,
   PowerRequestSystemRequired,
-  PowerRequestAwayModeRequired
+  PowerRequestAwayModeRequired,
+  PowerRequestExecutionRequired
 } POWER_REQUEST_TYPE, *PPOWER_REQUEST_TYPE;
 
 #if (NTDDI_VERSION >= NTDDI_WINXP)
@@ -2513,6 +2592,7 @@ typedef enum _POWER_PLATFORM_ROLE {
   PlatformRoleSOHOServer,
   PlatformRoleAppliancePC,
   PlatformRolePerformanceServer,
+  PlatformRoleSlate,
   PlatformRoleMaximum
 } POWER_PLATFORM_ROLE;
 
@@ -3045,6 +3125,7 @@ typedef enum _INTERFACE_TYPE {
   PNPISABus,
   PNPBus,
   Vmcs,
+  ACPIBus,
   MaximumInterfaceType
 } INTERFACE_TYPE, *PINTERFACE_TYPE;
 
@@ -3228,6 +3309,8 @@ typedef enum _KEY_INFORMATION_CLASS {
   KeyFlagsInformation,
   KeyVirtualizationInformation,
   KeyHandleTagsInformation,
+  KeyTrustInformation,
+  KeyLayerInformation,
   MaxKeyInfoClass
 } KEY_INFORMATION_CLASS;
 
@@ -3276,6 +3359,7 @@ typedef enum _KEY_SET_INFORMATION_CLASS {
   KeySetVirtualizationInformation,
   KeySetDebugInformation,
   KeySetHandleTagsInformation,
+  KeySetLayerInformation,
   MaxKeySetInfoClass
 } KEY_SET_INFORMATION_CLASS;
 
@@ -3327,7 +3411,9 @@ typedef enum _KEY_VALUE_INFORMATION_CLASS {
   KeyValueFullInformation,
   KeyValuePartialInformation,
   KeyValueFullInformationAlign64,
-  KeyValuePartialInformationAlign64
+  KeyValuePartialInformationAlign64,
+  KeyValueLayerInformation,
+  MaxKeyValueInfoClass
 } KEY_VALUE_INFORMATION_CLASS;
 
 typedef struct _KEY_WOW64_FLAGS_INFORMATION {
@@ -3397,6 +3483,8 @@ typedef enum _REG_NOTIFY_CLASS {
   RegNtPostSaveKey,
   RegNtPreReplaceKey,
   RegNtPostReplaceKey,
+  RegNtPreQueryKeyName,
+  RegNtPostQueryKeyName,
   MaxRegNtNotifyClass
 } REG_NOTIFY_CLASS, *PREG_NOTIFY_CLASS;
 
@@ -3844,7 +3932,10 @@ typedef enum _IRQ_DEVICE_POLICY_USHORT {
   IrqPolicyAllProcessorsInMachine = 3,
   IrqPolicyAllProcessorsInGroup = 3,
   IrqPolicySpecifiedProcessors = 4,
-  IrqPolicySpreadMessagesAcrossAllProcessors = 5};
+  IrqPolicySpreadMessagesAcrossAllProcessors = 5,
+  IrqPolicyAllProcessorsInMachineWhenSteered = 6,
+  IrqPolicyAllProcessorsInGroupWhenSteered = 6
+};
 
 #else /* defined(NT_PROCESSOR_GROUPS) */
 
@@ -3854,7 +3945,8 @@ typedef enum _IRQ_DEVICE_POLICY {
   IrqPolicyOneCloseProcessor,
   IrqPolicyAllProcessorsInMachine,
   IrqPolicySpecifiedProcessors,
-  IrqPolicySpreadMessagesAcrossAllProcessors
+  IrqPolicySpreadMessagesAcrossAllProcessors,
+  IrqPolicyAllProcessorsInMachineWhenSteered
 } IRQ_DEVICE_POLICY, *PIRQ_DEVICE_POLICY;
 
 #endif
@@ -4877,7 +4969,10 @@ typedef enum _DEVICE_USAGE_NOTIFICATION_TYPE {
   DeviceUsageTypeUndefined,
   DeviceUsageTypePaging,
   DeviceUsageTypeHibernation,
-  DeviceUsageTypeDumpFile
+  DeviceUsageTypeDumpFile,
+  DeviceUsageTypeBoot,
+  DeviceUsageTypePostDisplay,
+  DeviceUsageTypeGuestAssigned
 } DEVICE_USAGE_NOTIFICATION_TYPE;
 
 typedef struct _POWER_SEQUENCE {
@@ -4916,7 +5011,8 @@ typedef enum _IO_NOTIFICATION_EVENT_CATEGORY {
   EventCategoryReserved,
   EventCategoryHardwareProfileChange,
   EventCategoryDeviceInterfaceChange,
-  EventCategoryTargetDeviceChange
+  EventCategoryTargetDeviceChange,
+  EventCategoryKernelSoftRestart
 } IO_NOTIFICATION_EVENT_CATEGORY;
 
 typedef enum _IO_PRIORITY_HINT {
@@ -4993,10 +5089,30 @@ typedef enum _FILE_INFORMATION_CLASS {
   FileNetworkPhysicalNameInformation,
   FileIdGlobalTxDirectoryInformation,
   FileIsRemoteDeviceInformation,
-  FileAttributeCacheInformation,
+  FileUnusedInformation,
   FileNumaNodeInformation,
   FileStandardLinkInformation,
   FileRemoteProtocolInformation,
+  FileRenameInformationBypassAccessCheck,
+  FileLinkInformationBypassAccessCheck,
+  FileVolumeNameInformation,
+  FileIdInformation,
+  FileIdExtdDirectoryInformation,
+  FileReplaceCompletionInformation,
+  FileHardLinkFullIdInformation,
+  FileIdExtdBothDirectoryInformation,
+  FileDispositionInformationEx,
+  FileRenameInformationEx,
+  FileRenameInformationExBypassAccessCheck,
+  FileDesiredStorageClassInformation,
+  FileStatInformation,
+  FileMemoryPartitionInformation,
+  FileStatLxInformation,
+  FileCaseSensitiveInformation,
+  FileLinkInformationEx,
+  FileLinkInformationExBypassAccessCheck,
+  FileStorageReserveIdInformation,
+  FileCaseSensitiveInformationForceAccessCheck,
   FileMaximumInformation
 } FILE_INFORMATION_CLASS, *PFILE_INFORMATION_CLASS;
 
@@ -5067,6 +5183,10 @@ typedef enum _FSINFOCLASS {
   FileFsObjectIdInformation,
   FileFsDriverPathInformation,
   FileFsVolumeFlagsInformation,
+  FileFsSectorSizeInformation,
+  FileFsDataCopyInformation,
+  FileFsMetadataSizeInformation,
+  FileFsFullSizeInformationEx,
   FileFsMaximumInformation
 } FS_INFORMATION_CLASS, *PFS_INFORMATION_CLASS;
 
@@ -5666,6 +5786,8 @@ typedef enum _DMA_WIDTH {
   Width8Bits,
   Width16Bits,
   Width32Bits,
+  Width64Bits,
+  WidthNoWrap,
   MaximumDmaWidth
 } DMA_WIDTH, *PDMA_WIDTH;
 
@@ -6206,7 +6328,8 @@ typedef enum _BUS_QUERY_ID_TYPE {
   BusQueryHardwareIDs,
   BusQueryCompatibleIDs,
   BusQueryInstanceID,
-  BusQueryDeviceSerialNumber
+  BusQueryDeviceSerialNumber,
+  BusQueryContainerID
 } BUS_QUERY_ID_TYPE, *PBUS_QUERY_ID_TYPE;
 
 typedef enum _DEVICE_TEXT_TYPE {
@@ -7683,6 +7806,11 @@ typedef enum _TRACE_INFORMATION_CLASS {
   LoggerEventsLostClass,
   TraceSessionSettingsClass,
   LoggerEventsLoggedClass,
+  DiskIoNotifyRoutinesClass,
+  TraceInformationClassReserved1,
+  FltIoNotifyRoutinesClass,
+  TraceInformationClassReserved2,
+  WdfNotifyRoutinesClass,
   MaxTraceInformationClass
 } TRACE_INFORMATION_CLASS;
 
-- 
2.26.3



_______________________________________________
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to