headers: Add missing names in winbase.h.

Signed-off-by: Biswapriyo Nath <nathbappai@gmail.com>
Signed-off-by: Liu Hao <lh_mouse@126.com>
diff --git a/mingw-w64-headers/include/winbase.h b/mingw-w64-headers/include/winbase.h
index 9a77bfe..dff8ee5 100644
--- a/mingw-w64-headers/include/winbase.h
+++ b/mingw-w64-headers/include/winbase.h
@@ -118,6 +118,19 @@
 #define COPY_FILE_RESUME_FROM_PAUSE 0x4000
 #define COPY_FILE_NO_OFFLOAD 0x40000
 #endif
+#if _WIN32_WINNT >= _WIN32_WINNT_WIN10
+#define COPY_FILE_IGNORE_EDP_BLOCK 0x00400000
+#define COPY_FILE_IGNORE_SOURCE_ENCRYPTION 0x00800000
+#define COPY_FILE_DONT_REQUEST_DEST_WRITE_DAC 0x02000000
+#define COPY_FILE_REQUEST_COMPRESSED_TRAFFIC 0x10000000
+#endif
+#if NTDDI_VERSION >= NTDDI_WIN10_VB
+#define COPY_FILE_OPEN_AND_COPY_REPARSE_POINT 0x00200000
+#define COPY_FILE_DIRECTORY 0x00000080
+#define COPY_FILE_SKIP_ALTERNATE_STREAMS 0x00008000
+#define COPY_FILE_DISABLE_PRE_ALLOCATION 0x04000000
+#define COPY_FILE_ENABLE_LOW_FREE_SPACE_MODE 0x08000000
+#endif
 
 #define REPLACEFILE_WRITE_THROUGH 0x1
 #define REPLACEFILE_IGNORE_MERGE_ERRORS 0x2
@@ -159,6 +172,7 @@
 
   typedef VOID (WINAPI *PFIBER_START_ROUTINE) (LPVOID lpFiberParameter);
   typedef PFIBER_START_ROUTINE LPFIBER_START_ROUTINE;
+  typedef LPVOID (WINAPI *PFIBER_CALLOUT_ROUTINE) (LPVOID lpParameter);
 
 #if defined (__i386__)
   typedef PLDT_ENTRY LPLDT_ENTRY;
@@ -396,6 +410,7 @@
 #define EXTENDED_STARTUPINFO_PRESENT 0x80000
 #define PROCESS_MODE_BACKGROUND_BEGIN 0x100000
 #define PROCESS_MODE_BACKGROUND_END 0x200000
+#define CREATE_SECURE_PROCESS 0x400000
 #define CREATE_BREAKAWAY_FROM_JOB 0x1000000
 #define CREATE_PRESERVE_CODE_AUTHZ_LEVEL 0x2000000
 #define CREATE_DEFAULT_ERROR_MODE 0x4000000
@@ -1184,6 +1199,8 @@
   typedef enum _THREAD_INFORMATION_CLASS {
     ThreadMemoryPriority,
     ThreadAbsoluteCpuPriority,
+    ThreadDynamicCodePolicy,
+    ThreadPowerThrottling,
     ThreadInformationClassMax
   } THREAD_INFORMATION_CLASS;
 
@@ -1354,6 +1371,10 @@
   WINBASEAPI WINBOOL WINAPI SetCommTimeouts (HANDLE hFile, LPCOMMTIMEOUTS lpCommTimeouts);
   WINBASEAPI WINBOOL WINAPI TransmitCommChar (HANDLE hFile, char cChar);
   WINBASEAPI WINBOOL WINAPI WaitCommEvent (HANDLE hFile, LPDWORD lpEvtMask, LPOVERLAPPED lpOverlapped);
+#if NTDDI_VERSION >= NTDDI_WIN10_RS3
+  WINBASEAPI HANDLE WINAPI OpenCommPort (ULONG uPortNumber, DWORD dwDesiredAccess, DWORD dwFlagsAndAttributes);
+  WINBASEAPI ULONG WINAPI GetCommPorts (PULONG lpPortNumbers, ULONG uPortNumbersCount, PULONG puPortNumbersFound);
+#endif
 
   WINBASEAPI WINBOOL WINAPI GetProcessPriorityBoost (HANDLE hProcess, PBOOL pDisablePriorityBoost);
   WINBASEAPI WINBOOL WINAPI SetProcessPriorityBoost (HANDLE hProcess, WINBOOL bDisablePriorityBoost);
@@ -1397,6 +1418,7 @@
 #define CREATE_FOR_DIR (2)
 #define OVERWRITE_HIDDEN (4)
 #define EFSRPC_SECURE_ONLY (8)
+#define EFS_DROP_ALTERNATE_STREAMS (0x10)
 
   WINBASEAPI WINBOOL WINAPI GetNamedPipeInfo (HANDLE hNamedPipe, LPDWORD lpFlags, LPDWORD lpOutBufferSize, LPDWORD lpInBufferSize, LPDWORD lpMaxInstances);
   WINBASEAPI HANDLE WINAPI CreateMailslotA (LPCSTR lpName, DWORD nMaxMessageSize, DWORD lReadTimeout, LPSECURITY_ATTRIBUTES lpSecurityAttributes);
@@ -1472,12 +1494,14 @@
 #define BACKUP_REPARSE_DATA 0x00000008
 #define BACKUP_SPARSE_BLOCK 0x00000009
 #define BACKUP_TXFS_DATA 0x0000000a
+#define BACKUP_GHOSTED_FILE_EXTENTS 0x0000000b
 
 #define STREAM_NORMAL_ATTRIBUTE 0x00000000
 #define STREAM_MODIFIED_WHEN_READ 0x00000001
 #define STREAM_CONTAINS_SECURITY 0x00000002
 #define STREAM_CONTAINS_PROPERTIES 0x00000004
 #define STREAM_SPARSE_ATTRIBUTE 0x00000008
+#define STREAM_CONTAINS_GHOSTED_FILE_EXTENTS 0x00000010
 
 #define STARTF_USESHOWWINDOW 0x00000001
 #define STARTF_USESIZE 0x00000002
@@ -1488,11 +1512,15 @@
 #define STARTF_FORCEONFEEDBACK 0x00000040
 #define STARTF_FORCEOFFFEEDBACK 0x00000080
 #define STARTF_USESTDHANDLES 0x00000100
-
+#if WINVER >= 0x0400
 #define STARTF_USEHOTKEY 0x00000200
 #define STARTF_TITLEISLINKNAME 0x00000800
 #define STARTF_TITLEISAPPID 0x00001000
 #define STARTF_PREVENTPINNING 0x00002000
+#endif
+#if WINVER >= 0x0600
+#define STARTF_UNTRUSTEDSOURCE 0x00008000
+#endif
 
 #if _WIN32_WINNT >= 0x0600
   typedef struct _STARTUPINFOEXA {
@@ -1569,6 +1597,14 @@
 #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP)
   typedef enum _PROCESS_INFORMATION_CLASS {
     ProcessMemoryPriority,
+    ProcessMemoryExhaustionInfo,
+    ProcessAppMemoryInfo,
+    ProcessInPrivateInfo,
+    ProcessPowerThrottling,
+    ProcessReservedValue1,
+    ProcessTelemetryCoverageInfo,
+    ProcessProtectionLevelInfo,
+    ProcessLeapSecondInfo,
     ProcessInformationClassMax
   } PROCESS_INFORMATION_CLASS;
 #endif
@@ -1579,6 +1615,20 @@
   WINBASEAPI WINBOOL WINAPI SetProcessInformation (HANDLE hProcess, PROCESS_INFORMATION_CLASS ProcessInformationClass, LPVOID ProcessInformation, DWORD ProcessInformationSize);
 #endif
 
+#if _WIN32_WINNT >= 0x0600
+#define PROTECTION_LEVEL_WINTCB_LIGHT 0x00000000
+#define PROTECTION_LEVEL_WINDOWS 0x00000001
+#define PROTECTION_LEVEL_WINDOWS_LIGHT 0x00000002
+#define PROTECTION_LEVEL_ANTIMALWARE_LIGHT 0x00000003
+#define PROTECTION_LEVEL_LSA_LIGHT 0x00000004
+#define PROTECTION_LEVEL_WINTCB 0x00000005
+#define PROTECTION_LEVEL_CODEGEN_LIGHT 0x00000006
+#define PROTECTION_LEVEL_AUTHENTICODE 0x00000007
+#define PROTECTION_LEVEL_PPL_APP 0x00000008
+#define PROTECTION_LEVEL_SAME 0xffffffff
+#define PROTECTION_LEVEL_NONE 0xfffffffe
+#endif
+
 #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP)
 #if _WIN32_WINNT >= 0x0600
 
@@ -1598,34 +1648,39 @@
   typedef enum _PROC_THREAD_ATTRIBUTE_NUM {
     ProcThreadAttributeParentProcess = 0,
     ProcThreadAttributeHandleList = 2
-#if _WIN32_WINNT >= 0x0601
+#if _WIN32_WINNT >= _WIN32_WINNT_WIN7
     ,ProcThreadAttributeGroupAffinity = 3,
     ProcThreadAttributePreferredNode = 4,
     ProcThreadAttributeIdealProcessor = 5,
     ProcThreadAttributeUmsThread = 6,
     ProcThreadAttributeMitigationPolicy = 7
 #endif
-#if _WIN32_WINNT >= 0x0602
+#if _WIN32_WINNT >= _WIN32_WINNT_WIN8
     ,ProcThreadAttributeSecurityCapabilities = 9
 #endif
     ,ProcThreadAttributeProtectionLevel = 11
-#if _WIN32_WINNT >= 0x0603
+#if _WIN32_WINNT >= _WIN32_WINNT_WINBLUE
 #endif
-#if _WIN32_WINNT >= 0x0A00
+#if _WIN32_WINNT >= _WIN32_WINNT_WINTHRESHOLD
     ,ProcThreadAttributeJobList = 13
     ,ProcThreadAttributeChildProcessPolicy = 14
     ,ProcThreadAttributeAllApplicationPackagesPolicy = 15
     ,ProcThreadAttributeWin32kFilter = 16
 #endif
-#if NTDDI_VERSION >= 0x0A000002
+#if NTDDI_VERSION >= NTDDI_WIN10_RS1
     ,ProcThreadAttributeSafeOpenPromptOriginClaim = 17
 #endif
-#if NTDDI_VERSION >= 0x0A000003
+#if NTDDI_VERSION >= NTDDI_WIN10_RS2
     ,ProcThreadAttributeDesktopAppPolicy = 18
 #endif
-#if NTDDI_VERSION >= 0x0A000006
+#if NTDDI_VERSION >= NTDDI_WIN10_RS5
     ,ProcThreadAttributePseudoConsole = 22
 #endif
+#if NTDDI_VERSION >= NTDDI_WIN10_19H1
+#endif
+#if NTDDI_VERSION >= NTDDI_WIN10_MN
+    ,ProcThreadAttributeMitigationAuditPolicy = 24
+#endif
   } PROC_THREAD_ATTRIBUTE_NUM;
 #endif
 
@@ -1635,7 +1690,7 @@
 #define PROC_THREAD_ATTRIBUTE_HANDLE_LIST ProcThreadAttributeValue (ProcThreadAttributeHandleList, FALSE, TRUE, FALSE)
 #endif
 
-#if _WIN32_WINNT >= 0x0601
+#if _WIN32_WINNT >= _WIN32_WINNT_WIN7
 #define PROC_THREAD_ATTRIBUTE_GROUP_AFFINITY ProcThreadAttributeValue (ProcThreadAttributeGroupAffinity, TRUE, TRUE, FALSE)
 #define PROC_THREAD_ATTRIBUTE_PREFERRED_NODE ProcThreadAttributeValue (ProcThreadAttributePreferredNode, FALSE, TRUE, FALSE)
 #define PROC_THREAD_ATTRIBUTE_IDEAL_PROCESSOR ProcThreadAttributeValue (ProcThreadAttributeIdealProcessor, TRUE, TRUE, FALSE)
@@ -1643,26 +1698,26 @@
 #define PROC_THREAD_ATTRIBUTE_MITIGATION_POLICY ProcThreadAttributeValue (ProcThreadAttributeMitigationPolicy, FALSE, TRUE, FALSE)
 #endif
 
-#if _WIN32_WINNT >= 0x0602
+#if _WIN32_WINNT >= _WIN32_WINNT_WIN8
 #define PROC_THREAD_ATTRIBUTE_SECURITY_CAPABILITIES ProcThreadAttributeValue (ProcThreadAttributeSecurityCapabilities, FALSE, TRUE, FALSE)
 #endif
 
 #define PROC_THREAD_ATTRIBUTE_PROTECTION_LEVEL ProcThreadAttributeValue (ProcThreadAttributeProtectionLevel, FALSE, TRUE, FALSE)
 
-#if _WIN32_WINNT >= 0x0603
+#if _WIN32_WINNT >= _WIN32_WINNT_WINBLUE
 #endif
 
-#if NTDDI_VERSION >= 0x0A000006
+#if NTDDI_VERSION >= NTDDI_WIN10_RS5
 #define PROC_THREAD_ATTRIBUTE_PSEUDOCONSOLE ProcThreadAttributeValue (ProcThreadAttributePseudoConsole, FALSE, TRUE, FALSE)
 #endif
 
-#if _WIN32_WINNT >= 0x0601
+#if _WIN32_WINNT >= _WIN32_WINNT_WIN7
 #define PROCESS_CREATION_MITIGATION_POLICY_DEP_ENABLE 0x01
 #define PROCESS_CREATION_MITIGATION_POLICY_DEP_ATL_THUNK_ENABLE 0x02
 #define PROCESS_CREATION_MITIGATION_POLICY_SEHOP_ENABLE 0x04
 #endif
 
-#if _WIN32_WINNT >= 0x0602
+#if _WIN32_WINNT >= _WIN32_WINNT_WIN8
 #define PROC_THREAD_ATTRIBUTE_SECURITY_CAPABILITIES ProcThreadAttributeValue (ProcThreadAttributeSecurityCapabilities, FALSE, TRUE, FALSE)
 
 #define PROCESS_CREATION_MITIGATION_POLICY_FORCE_RELOCATE_IMAGES_MASK (0x00000003 << 8)
@@ -1707,6 +1762,8 @@
 #define PROCESS_CREATION_MITIGATION_POLICY_EXTENSION_POINT_DISABLE_ALWAYS_OFF (0x00000002ULL << 32)
 #define PROCESS_CREATION_MITIGATION_POLICY_EXTENSION_POINT_DISABLE_RESERVED (0x00000003ULL << 32)
 
+#if _WIN32_WINNT >= _WIN32_WINNT_WINBLUE
+
 #define PROCESS_CREATION_MITIGATION_POLICY_PROHIBIT_DYNAMIC_CODE_MASK (0x0003ULL << 36)
 #define PROCESS_CREATION_MITIGATION_POLICY_PROHIBIT_DYNAMIC_CODE_DEFER (0x0000ULL << 36)
 #define PROCESS_CREATION_MITIGATION_POLICY_PROHIBIT_DYNAMIC_CODE_ALWAYS_ON (0x0001ULL << 36)
@@ -1725,6 +1782,8 @@
 #define PROCESS_CREATION_MITIGATION_POLICY_BLOCK_NON_MICROSOFT_BINARIES_ALWAYS_OFF (0x0002ULL << 44)
 #define PROCESS_CREATION_MITIGATION_POLICY_BLOCK_NON_MICROSOFT_BINARIES_ALLOW_STORE (0x0003ULL << 44)
 
+#if _WIN32_WINNT >= _WIN32_WINNT_WINTHRESHOLD
+
 #define PROCESS_CREATION_MITIGATION_POLICY_FONT_DISABLE_MASK (0x0003ULL << 48)
 #define PROCESS_CREATION_MITIGATION_POLICY_FONT_DISABLE_DEFER (0x0000ULL << 48)
 #define PROCESS_CREATION_MITIGATION_POLICY_FONT_DISABLE_ALWAYS_ON (0x0001ULL << 48)
@@ -1767,8 +1826,103 @@
 #define PROCESS_CREATION_MITIGATION_POLICY2_MODULE_TAMPERING_PROTECTION_ALWAYS_OFF (0x0002ULL << 12)
 #define PROCESS_CREATION_MITIGATION_POLICY2_MODULE_TAMPERING_PROTECTION_NOINHERIT (0x0003ULL << 12)
 
+#define PROCESS_CREATION_MITIGATION_POLICY2_RESTRICT_INDIRECT_BRANCH_PREDICTION_MASK (0x00000003ULL << 16)
+#define PROCESS_CREATION_MITIGATION_POLICY2_RESTRICT_INDIRECT_BRANCH_PREDICTION_DEFER (0x00000000ULL << 16)
+#define PROCESS_CREATION_MITIGATION_POLICY2_RESTRICT_INDIRECT_BRANCH_PREDICTION_ALWAYS_ON (0x00000001ULL << 16)
+#define PROCESS_CREATION_MITIGATION_POLICY2_RESTRICT_INDIRECT_BRANCH_PREDICTION_ALWAYS_OFF (0x00000002ULL << 16)
+#define PROCESS_CREATION_MITIGATION_POLICY2_RESTRICT_INDIRECT_BRANCH_PREDICTION_RESERVED (0x00000003ULL << 16)
+
+#define PROCESS_CREATION_MITIGATION_POLICY2_ALLOW_DOWNGRADE_DYNAMIC_CODE_POLICY_MASK (0x00000003ULL << 20)
+#define PROCESS_CREATION_MITIGATION_POLICY2_ALLOW_DOWNGRADE_DYNAMIC_CODE_POLICY_DEFER (0x00000000ULL << 20)
+#define PROCESS_CREATION_MITIGATION_POLICY2_ALLOW_DOWNGRADE_DYNAMIC_CODE_POLICY_ALWAYS_ON (0x00000001ULL << 20)
+#define PROCESS_CREATION_MITIGATION_POLICY2_ALLOW_DOWNGRADE_DYNAMIC_CODE_POLICY_ALWAYS_OFF (0x00000002ULL << 20)
+#define PROCESS_CREATION_MITIGATION_POLICY2_ALLOW_DOWNGRADE_DYNAMIC_CODE_POLICY_RESERVED (0x00000003ULL << 20)
+
+#define PROCESS_CREATION_MITIGATION_POLICY2_SPECULATIVE_STORE_BYPASS_DISABLE_MASK (0x00000003ULL << 24)
+#define PROCESS_CREATION_MITIGATION_POLICY2_SPECULATIVE_STORE_BYPASS_DISABLE_DEFER (0x00000000ULL << 24)
+#define PROCESS_CREATION_MITIGATION_POLICY2_SPECULATIVE_STORE_BYPASS_DISABLE_ALWAYS_ON (0x00000001ULL << 24)
+#define PROCESS_CREATION_MITIGATION_POLICY2_SPECULATIVE_STORE_BYPASS_DISABLE_ALWAYS_OFF (0x00000002ULL << 24)
+#define PROCESS_CREATION_MITIGATION_POLICY2_SPECULATIVE_STORE_BYPASS_DISABLE_RESERVED (0x00000003ULL << 24)
+
+#define PROCESS_CREATION_MITIGATION_POLICY2_CET_USER_SHADOW_STACKS_MASK (0x00000003ULL << 28)
+#define PROCESS_CREATION_MITIGATION_POLICY2_CET_USER_SHADOW_STACKS_DEFER (0x00000000ULL << 28)
+#define PROCESS_CREATION_MITIGATION_POLICY2_CET_USER_SHADOW_STACKS_ALWAYS_ON (0x00000001ULL << 28)
+#define PROCESS_CREATION_MITIGATION_POLICY2_CET_USER_SHADOW_STACKS_ALWAYS_OFF (0x00000002ULL << 28)
+#define PROCESS_CREATION_MITIGATION_POLICY2_CET_USER_SHADOW_STACKS_STRICT_MODE (0x00000003ULL << 28)
+
+#define PROCESS_CREATION_MITIGATION_POLICY2_USER_CET_SET_CONTEXT_IP_VALIDATION_MASK (0x00000003ULL << 32)
+#define PROCESS_CREATION_MITIGATION_POLICY2_USER_CET_SET_CONTEXT_IP_VALIDATION_DEFER (0x00000000ULL << 32)
+#define PROCESS_CREATION_MITIGATION_POLICY2_USER_CET_SET_CONTEXT_IP_VALIDATION_ALWAYS_ON (0x00000001ULL << 32)
+#define PROCESS_CREATION_MITIGATION_POLICY2_USER_CET_SET_CONTEXT_IP_VALIDATION_ALWAYS_OFF (0x00000002ULL << 32)
+#define PROCESS_CREATION_MITIGATION_POLICY2_USER_CET_SET_CONTEXT_IP_VALIDATION_RELAXED_MODE (0x00000003ULL << 32)
+
+#define PROCESS_CREATION_MITIGATION_POLICY2_BLOCK_NON_CET_BINARIES_MASK (0x00000003ULL << 36)
+#define PROCESS_CREATION_MITIGATION_POLICY2_BLOCK_NON_CET_BINARIES_DEFER (0x00000000ULL << 36)
+#define PROCESS_CREATION_MITIGATION_POLICY2_BLOCK_NON_CET_BINARIES_ALWAYS_ON (0x00000001ULL << 36)
+#define PROCESS_CREATION_MITIGATION_POLICY2_BLOCK_NON_CET_BINARIES_ALWAYS_OFF (0x00000002ULL << 36)
+#define PROCESS_CREATION_MITIGATION_POLICY2_BLOCK_NON_CET_BINARIES_NON_EHCONT (0x00000003ULL << 36)
+
+#define PROCESS_CREATION_MITIGATION_POLICY2_CET_DYNAMIC_APIS_OUT_OF_PROC_ONLY_MASK (0x00000003ULL << 48)
+#define PROCESS_CREATION_MITIGATION_POLICY2_CET_DYNAMIC_APIS_OUT_OF_PROC_ONLY_DEFER (0x00000000ULL << 48)
+#define PROCESS_CREATION_MITIGATION_POLICY2_CET_DYNAMIC_APIS_OUT_OF_PROC_ONLY_ALWAYS_ON (0x00000001ULL << 48)
+#define PROCESS_CREATION_MITIGATION_POLICY2_CET_DYNAMIC_APIS_OUT_OF_PROC_ONLY_ALWAYS_OFF (0x00000002ULL << 48)
+#define PROCESS_CREATION_MITIGATION_POLICY2_CET_DYNAMIC_APIS_OUT_OF_PROC_ONLY_RESERVED (0x00000003ULL << 48)
+
+#endif /* _WIN32_WINNT_WINTHRESHOLD */
+#endif /* _WIN32_WINNT_WINBLUE */
+#endif /* _WIN32_WINNT_WIN8 */
+
+#if _WIN32_WINNT >= _WIN32_WINNT_WINTHRESHOLD
+#define PROC_THREAD_ATTRIBUTE_JOB_LIST ProcThreadAttributeValue (ProcThreadAttributeJobList, FALSE, TRUE, FALSE)
+
+#define PROCESS_CREATION_CHILD_PROCESS_RESTRICTED 0x01
+#define PROCESS_CREATION_CHILD_PROCESS_OVERRIDE 0x02
+#define PROCESS_CREATION_CHILD_PROCESS_RESTRICTED_UNLESS_SECURE 0x04
+
+#define PROC_THREAD_ATTRIBUTE_CHILD_PROCESS_POLICY ProcThreadAttributeValue (ProcThreadAttributeChildProcessPolicy, FALSE, TRUE, FALSE)
+
+#define PROCESS_CREATION_ALL_APPLICATION_PACKAGES_OPT_OUT 0x01
+
+#define PROC_THREAD_ATTRIBUTE_ALL_APPLICATION_PACKAGES_POLICY ProcThreadAttributeValue (ProcThreadAttributeAllApplicationPackagesPolicy, FALSE, TRUE, FALSE)
+#define PROC_THREAD_ATTRIBUTE_WIN32K_FILTER ProcThreadAttributeValue (ProcThreadAttributeWin32kFilter, FALSE, TRUE, FALSE)
+#endif /* _WIN32_WINNT_WINTHRESHOLD */
+
+#if NTDDI_VERSION >= NTDDI_WIN10_RS1
 #endif
 
+#if NTDDI_VERSION >= NTDDI_WIN10_RS2
+#define PROCESS_CREATION_DESKTOP_APP_BREAKAWAY_ENABLE_PROCESS_TREE 0x01
+#define PROCESS_CREATION_DESKTOP_APP_BREAKAWAY_DISABLE_PROCESS_TREE 0x02
+#define PROCESS_CREATION_DESKTOP_APP_BREAKAWAY_OVERRIDE 0x04
+
+#define PROC_THREAD_ATTRIBUTE_DESKTOP_APP_POLICY ProcThreadAttributeValue (ProcThreadAttributeDesktopAppPolicy, FALSE, TRUE, FALSE)
+#endif /* NTDDI_WIN10_RS2 */
+
+#if NTDDI_VERSION >= NTDDI_WIN10_RS5
+#endif
+
+#if (NTDDI_VERSION >= NTDDI_WIN10_MN)
+#define PROC_THREAD_ATTRIBUTE_MITIGATION_AUDIT_POLICY ProcThreadAttributeValue (ProcThreadAttributeMitigationAuditPolicy, FALSE, TRUE, FALSE)
+
+#define PROCESS_CREATION_MITIGATION_AUDIT_POLICY2_CET_USER_SHADOW_STACKS_MASK (0x00000003ULL << 28)
+#define PROCESS_CREATION_MITIGATION_AUDIT_POLICY2_CET_USER_SHADOW_STACKS_DEFER (0x00000000ULL << 28)
+#define PROCESS_CREATION_MITIGATION_AUDIT_POLICY2_CET_USER_SHADOW_STACKS_ALWAYS_ON (0x00000001ULL << 28)
+#define PROCESS_CREATION_MITIGATION_AUDIT_POLICY2_CET_USER_SHADOW_STACKS_ALWAYS_OFF (0x00000002ULL << 28)
+#define PROCESS_CREATION_MITIGATION_AUDIT_POLICY2_CET_USER_SHADOW_STACKS_RESERVED (0x00000003ULL << 28)
+
+#define PROCESS_CREATION_MITIGATION_AUDIT_POLICY2_USER_CET_SET_CONTEXT_IP_VALIDATION_MASK (0x00000003ULL << 32)
+#define PROCESS_CREATION_MITIGATION_AUDIT_POLICY2_USER_CET_SET_CONTEXT_IP_VALIDATION_DEFER (0x00000000ULL << 32)
+#define PROCESS_CREATION_MITIGATION_AUDIT_POLICY2_USER_CET_SET_CONTEXT_IP_VALIDATION_ALWAYS_ON (0x00000001ULL << 32)
+#define PROCESS_CREATION_MITIGATION_AUDIT_POLICY2_USER_CET_SET_CONTEXT_IP_VALIDATION_ALWAYS_OFF (0x00000002ULL << 32)
+#define PROCESS_CREATION_MITIGATION_AUDIT_POLICY2_USER_CET_SET_CONTEXT_IP_VALIDATION_RESERVED (0x00000003ULL << 32)
+
+#define PROCESS_CREATION_MITIGATION_AUDIT_POLICY2_BLOCK_NON_CET_BINARIES_MASK (0x00000003ULL << 36)
+#define PROCESS_CREATION_MITIGATION_AUDIT_POLICY2_BLOCK_NON_CET_BINARIES_DEFER (0x00000000ULL << 36)
+#define PROCESS_CREATION_MITIGATION_AUDIT_POLICY2_BLOCK_NON_CET_BINARIES_ALWAYS_ON (0x00000001ULL << 36)
+#define PROCESS_CREATION_MITIGATION_AUDIT_POLICY2_BLOCK_NON_CET_BINARIES_ALWAYS_OFF (0x00000002ULL << 36)
+#define PROCESS_CREATION_MITIGATION_AUDIT_POLICY2_BLOCK_NON_CET_BINARIES_RESERVED (0x00000003ULL << 36)
+#endif /* NTDDI_WIN10_MN */
+
 #define ATOM_FLAG_GLOBAL 0x2
 
   WINBASEAPI WINBOOL WINAPI GetProcessShutdownParameters (LPDWORD lpdwLevel, LPDWORD lpdwFlags);
@@ -2566,6 +2720,8 @@
 
 #define BATTERY_PERCENTAGE_UNKNOWN 0xff
 
+#define SYSTEM_STATUS_FLAG_POWER_SAVING_ON 0x01
+
 #define BATTERY_LIFE_UNKNOWN 0xffffffff
 
   typedef struct _SYSTEM_POWER_STATUS {
@@ -2762,7 +2918,13 @@
 
   typedef WINBOOL (WINAPI *PQUERYACTCTXW_FUNC) (DWORD dwFlags, HANDLE hActCtx, PVOID pvSubInstance, ULONG ulInfoClass, PVOID pvBuffer, SIZE_T cbBuffer, SIZE_T *pcbWrittenOrRequired);
 
+#if _WIN32_WINNT >= 0x0501
   WINBASEAPI DWORD WINAPI WTSGetActiveConsoleSessionId (VOID);
+#endif
+#if _WIN32_WINNT >= _WIN32_WINNT_WINTHRESHOLD
+  WINBASEAPI DWORD WINAPI WTSGetServiceSessionId (VOID);
+  WINBASEAPI BOOLEAN WINAPI WTSIsServerContainer (VOID);
+#endif
   WINBASEAPI WINBOOL WINAPI GetNumaProcessorNode (UCHAR Processor, PUCHAR NodeNumber);
   WINBASEAPI WINBOOL WINAPI GetNumaNodeProcessorMask (UCHAR Node, PULONGLONG ProcessorMask);
   WINBASEAPI WINBOOL WINAPI GetNumaAvailableMemoryNode (UCHAR Node, PULONGLONG AvailableBytes);
@@ -2835,8 +2997,28 @@
     WCHAR FileName[1];
   } FILE_NAME_INFO,*PFILE_NAME_INFO;
 
+  typedef struct _FILE_CASE_SENSITIVE_INFO {
+    ULONG Flags;
+  } FILE_CASE_SENSITIVE_INFO,*PFILE_CASE_SENSITIVE_INFO;
+
+#if _WIN32_WINNT >= _WIN32_WINNT_WIN10_RS1
+#define FILE_RENAME_FLAG_REPLACE_IF_EXISTS 0x00000001
+#define FILE_RENAME_FLAG_POSIX_SEMANTICS 0x00000002
+#endif
+
+#if _WIN32_WINNT >= _WIN32_WINNT_WIN10_RS3
+#define FILE_RENAME_FLAG_SUPPRESS_PIN_STATE_INHERITANCE 0x00000004
+#endif
+
   typedef struct _FILE_RENAME_INFO {
+#if _WIN32_WINNT >= _WIN32_WINNT_WIN10_RS1
+    __C89_NAMELESS union {
+        BOOLEAN ReplaceIfExists;
+        DWORD Flags;
+    };
+#else
     BOOLEAN ReplaceIfExists;
+#endif
     HANDLE RootDirectory;
     DWORD FileNameLength;
     WCHAR FileName[1];
@@ -2876,6 +3058,21 @@
     BOOLEAN DeleteFile;
   } FILE_DISPOSITION_INFO,*PFILE_DISPOSITION_INFO;
 
+#if _WIN32_WINNT >= _WIN32_WINNT_WIN10_RS1
+#define FILE_DISPOSITION_FLAG_DO_NOT_DELETE 0x00000000
+#define FILE_DISPOSITION_FLAG_DELETE 0x00000001
+#define FILE_DISPOSITION_FLAG_POSIX_SEMANTICS 0x00000002
+#define FILE_DISPOSITION_FLAG_FORCE_IMAGE_SECTION_CHECK 0x00000004
+#define FILE_DISPOSITION_FLAG_ON_CLOSE 0x00000008
+#if _WIN32_WINNT >= _WIN32_WINNT_WIN10_RS5
+#define FILE_DISPOSITION_FLAG_IGNORE_READONLY_ATTRIBUTE 0x00000010
+#endif
+
+  typedef struct _FILE_DISPOSITION_INFO_EX {
+    DWORD Flags;
+  } FILE_DISPOSITION_INFO_EX,*PFILE_DISPOSITION_INFO_EX;
+#endif
+
   typedef struct _FILE_ID_BOTH_DIR_INFO {
     DWORD NextEntryOffset;
     DWORD FileIndex;
@@ -2919,7 +3116,8 @@
   typedef struct _FILE_IO_PRIORITY_HINT_INFO {
     PRIORITY_HINT PriorityHint;
   } FILE_IO_PRIORITY_HINT_INFO,*PFILE_IO_PRIORITY_HINT_INFO;
-#if _WIN32_WINNT >= 0x0602
+
+#if _WIN32_WINNT >= _WIN32_WINNT_WIN8
   typedef struct _FILE_ALIGNMENT_INFO {
     ULONG AlignmentRequirement;
   } FILE_ALIGNMENT_INFO,*PFILE_ALIGNMENT_INFO;
@@ -2965,7 +3163,7 @@
 #define REMOTE_PROTOCOL_INFO_FLAG_LOOPBACK 0x00000001
 #define REMOTE_PROTOCOL_INFO_FLAG_OFFLINE 0x00000002
 
-#if _WIN32_WINNT >= 0x0602
+#if _WIN32_WINNT >= _WIN32_WINNT_WIN8
 #define REMOTE_PROTOCOL_INFO_FLAG_PERSISTENT_HANDLE 0x00000004
 
 #define RPI_FLAG_SMB2_SHARECAP_TIMEWARP 0x00000002
@@ -2994,7 +3192,7 @@
     struct {
       ULONG Reserved[8];
     } GenericReserved;
-#if _WIN32_WINNT < 0x0602
+#if _WIN32_WINNT < _WIN32_WINNT_WIN8
     struct {
       ULONG Reserved[16];
     } ProtocolSpecificReserved;
@@ -3031,7 +3229,7 @@
     __C89_NAMELESS union {
       LARGE_INTEGER FileId;
       GUID ObjectId;
-#if _WIN32_WINNT >= 0x0602
+#if _WIN32_WINNT >= _WIN32_WINNT_WIN8
       FILE_ID_128 ExtendedFileId;
 #endif
     } DUMMYUNIONNAME;
@@ -3071,6 +3269,9 @@
 
 #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP)
   WINBASEAPI WINBOOL WINAPI InitializeContext (PVOID Buffer, DWORD ContextFlags, PCONTEXT *Context, PDWORD ContextLength);
+#if NTDDI_VERSION >= NTDDI_WIN10_RS5
+  WINBASEAPI WINBOOL WINAPI InitializeContext2 (PVOID Buffer, DWORD ContextFlags, PCONTEXT *Context, PDWORD ContextLength, ULONG64 XStateCompactionMask);
+#endif
 #if defined (__x86_64__) || defined (__i386__)
   WINBASEAPI DWORD64 WINAPI GetEnabledXStateFeatures (VOID);
   WINBASEAPI WINBOOL WINAPI GetXStateFeaturesMask (PCONTEXT Context, PDWORD64 FeatureMask);