headers: Add new symbols 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 f0affe0..f733784 100644
--- a/mingw-w64-headers/include/winbase.h
+++ b/mingw-w64-headers/include/winbase.h
@@ -95,6 +95,9 @@
 #define FILE_FLAG_FIRST_PIPE_INSTANCE 0x80000
 #if _WIN32_WINNT >= _WIN32_WINNT_WIN8
 #define FILE_FLAG_OPEN_REQUIRING_OPLOCK 0x40000
+#if NTDDI_VERSION >= NTDDI_WIN10_CU
+#define FILE_FLAG_IGNORE_IMPERSONATED_DEVICEMAP 0x20000
+#endif
 #endif
 #if NTDDI_VERSION >= NTDDI_WIN10_NI
   typedef enum FILE_WRITE_FLAGS {
@@ -148,6 +151,9 @@
 #if NTDDI_VERSION >= NTDDI_WIN10_NI
 #define COPY_FILE_ENABLE_SPARSE_COPY 0x20000000
 #endif
+#if NTDDI_VERSION >= NTDDI_WIN11_ZN
+#define COPY_FILE_DISABLE_SPARSE_COPY 0x80000000
+#endif
 
 #define REPLACEFILE_WRITE_THROUGH 0x1
 #define REPLACEFILE_IGNORE_MERGE_ERRORS 0x2
@@ -1729,6 +1735,9 @@
 #if NTDDI_VERSION >= NTDDI_WIN10_NI
     ,ProcThreadAttributeTrustedApp = 29
 #endif
+#if NTDDI_VERSION >= NTDDI_WIN11_GE
+    ,ProcThreadAttributeSveVectorLength = 30
+#endif
   } PROC_THREAD_ATTRIBUTE_NUM;
 #endif
 
@@ -1767,6 +1776,18 @@
 #define PROC_THREAD_ATTRIBUTE_ENABLE_OPTIONAL_XSTATE_FEATURES ProcThreadAttributeValue (ProcThreadAttributeEnableOptionalXStateFeatures, TRUE, TRUE, FALSE)
 #endif
 
+#if (NTDDI_VERSION >= NTDDI_WIN11_GE)
+#define PROC_THREAD_ATTRIBUTE_SVE_VECTOR_LENGTH ProcThreadAttributeValue (ProcThreadAttributeSveVectorLength, FALSE, TRUE, FALSE)
+
+  typedef union _PROCESS_CREATION_SVE_VECTOR_LENGTH {
+    ULONG Data;
+    __C89_NAMELESS struct {
+      ULONG VectorLength : 24;
+      ULONG FlagsReserved : 8;
+    };
+  } PROCESS_CREATION_SVE_VECTOR_LENGTH, *PPROCESS_CREATION_SVE_VECTOR_LENGTH;
+#endif
+
 #if _WIN32_WINNT >= _WIN32_WINNT_WIN7
 #define PROCESS_CREATION_MITIGATION_POLICY_DEP_ENABLE 0x01
 #define PROCESS_CREATION_MITIGATION_POLICY_DEP_ATL_THUNK_ENABLE 0x02
@@ -1940,6 +1961,12 @@
 #define PROCESS_CREATION_MITIGATION_POLICY2_RESTRICT_CORE_SHARING_ALWAYS_OFF (0x00000002ULL << 52)
 #define PROCESS_CREATION_MITIGATION_POLICY2_RESTRICT_CORE_SHARING_RESERVED (0x00000003ULL << 52)
 
+#define PROCESS_CREATION_MITIGATION_POLICY2_FSCTL_SYSTEM_CALL_DISABLE_MASK (0x00000003ULL << 56)
+#define PROCESS_CREATION_MITIGATION_POLICY2_FSCTL_SYSTEM_CALL_DISABLE_DEFER (0x00000000ULL << 56)
+#define PROCESS_CREATION_MITIGATION_POLICY2_FSCTL_SYSTEM_CALL_DISABLE_ALWAYS_ON (0x00000001ULL << 56)
+#define PROCESS_CREATION_MITIGATION_POLICY2_FSCTL_SYSTEM_CALL_DISABLE_ALWAYS_OFF (0x00000002ULL << 56)
+#define PROCESS_CREATION_MITIGATION_POLICY2_FSCTL_SYSTEM_CALL_DISABLE_RESERVED (0x00000003ULL << 56)
+
 #endif /* _WIN32_WINNT_WINTHRESHOLD */
 #endif /* _WIN32_WINNT_WINBLUE */
 #endif /* _WIN32_WINNT_WIN8 */
@@ -2385,6 +2412,13 @@
 #define COPYFILE2_IO_CYCLE_SIZE_MAX 0x40000000
 #define COPYFILE2_IO_RATE_MIN 512
 
+#if NTDDI_VERSION >= NTDDI_WIN10_GE
+  typedef struct _COPYFILE2_CREATE_OPLOCK_KEYS {
+    GUID ParentOplockKey;
+    GUID TargetOplockKey;
+  } COPYFILE2_CREATE_OPLOCK_KEYS, *PCOPYFILE2_CREATE_OPLOCK_KEYS;
+#endif
+
   typedef struct COPYFILE2_EXTENDED_PARAMETERS_V2 {
     DWORD dwSize;
     DWORD dwCopyFlags;
@@ -2394,14 +2428,28 @@
     DWORD dwCopyFlagsV2;
     ULONG ioDesiredSize;
     ULONG ioDesiredRate;
+#if NTDDI_VERSION >= NTDDI_WIN11_GA
+    LPPROGRESS_ROUTINE pProgressRoutineOld;
+#if NTDDI_VERSION >= NTDDI_WIN10_GE
+    PCOPYFILE2_CREATE_OPLOCK_KEYS SourceOplockKeys;
+    PVOID reserved[6];
+#else
+    PVOID reserved[7];
+#endif
+#else
     PVOID reserved[8];
+#endif
   } COPYFILE2_EXTENDED_PARAMETERS_V2;
 
 #if NTDDI_VERSION >= NTDDI_WIN10_NI
 #define COPY_FILE2_V2_DONT_COPY_JUNCTIONS 0x00000001
+#if NTDDI_VERSION >= NTDDI_WIN11_GA
+#define COPY_FILE2_V2_DISABLE_BLOCK_CLONING 0x00000002
+#define COPY_FILE2_V2_VALID_FLAGS (COPY_FILE2_V2_DONT_COPY_JUNCTIONS | COPY_FILE2_V2_DISABLE_BLOCK_CLONING)
+#else
 #define COPY_FILE2_V2_VALID_FLAGS COPY_FILE2_V2_DONT_COPY_JUNCTIONS
-#endif
-
+#endif /* NTDDI_VERSION >= NTDDI_WIN11_GA */
+#endif /* NTDDI_VERSION >= NTDDI_WIN10_NI */
 #endif /* NTDDI_VERSION >= NTDDI_WIN10_FE */
 
   WINBASEAPI HRESULT WINAPI CopyFile2 (PCWSTR pwszExistingFileName, PCWSTR pwszNewFileName, COPYFILE2_EXTENDED_PARAMETERS *pExtendedParameters);
@@ -3337,6 +3385,10 @@
   } FILE_REMOTE_PROTOCOL_INFO,*PFILE_REMOTE_PROTOCOL_INFO;
 
   WINBASEAPI WINBOOL WINAPI GetFileInformationByHandleEx (HANDLE hFile, FILE_INFO_BY_HANDLE_CLASS FileInformationClass, LPVOID lpFileInformation, DWORD dwBufferSize);
+
+#if NTDDI_VERSION >= NTDDI_WIN11_ZN
+  WINBASEAPI WINBOOL WINAPI GetFileInformationByName(PCWSTR FileName, FILE_INFO_BY_NAME_CLASS FileInformationClass, PVOID FileInfoBuffer, ULONG FileInfoBufferSize);
+#endif
 #endif
 
 #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP)