From 28683eed061eaa367591aefd605c49bae3915d9b Mon Sep 17 00:00:00 2001 From: Pierre Schweitzer Date: Fri, 8 Sep 2017 11:40:52 +0000 Subject: [PATCH] [PSDK] Define FSCTL_GET_INTEGRITY_INFORMATION, FSCTL_SET_INTEGRITY_INFORMATION, FSCTL_DUPLICATE_EXTENTS_TO_FILE and their associated structures CORE-13763 svn path=/trunk/; revision=75790 --- reactos/sdk/include/psdk/winioctl.h | 35 +++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/reactos/sdk/include/psdk/winioctl.h b/reactos/sdk/include/psdk/winioctl.h index 6dd2abec440..ea1b5a7a32f 100644 --- a/reactos/sdk/include/psdk/winioctl.h +++ b/reactos/sdk/include/psdk/winioctl.h @@ -635,12 +635,47 @@ typedef struct { #define FSCTL_IS_VOLUME_DIRTY CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 30, METHOD_BUFFERED, FILE_ANY_ACCESS) #endif +#if (_WIN32_WINNT >= _WIN32_WINNT_WIN8) +#define FSCTL_GET_INTEGRITY_INFORMATION CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 159, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define FSCTL_SET_INTEGRITY_INFORMATION CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 160, METHOD_BUFFERED, FILE_READ_DATA | FILE_WRITE_DATA) +#endif + +#if (_WIN32_WINNT >= _WIN32_WINNT_WINBLUE) +#define FSCTL_DUPLICATE_EXTENTS_TO_FILE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 209, METHOD_BUFFERED, FILE_WRITE_DATA) +#endif + #if (_WIN32_WINNT >= _WIN32_WINNT_WIN2K) #define VOLUME_IS_DIRTY (0x00000001) #define VOLUME_UPGRADE_SCHEDULED (0x00000002) #define VOLUME_SESSION_OPEN (0x00000004) #endif +#if (_WIN32_WINNT >= _WIN32_WINNT_WIN8) +typedef struct _FSCTL_GET_INTEGRITY_INFORMATION_BUFFER { + WORD ChecksumAlgorithm; + WORD Reserved; + DWORD Flags; + DWORD ChecksumChunkSizeInBytes; + DWORD ClusterSizeInBytes; +} FSCTL_GET_INTEGRITY_INFORMATION_BUFFER, *PFSCTL_GET_INTEGRITY_INFORMATION_BUFFER; + +typedef struct _FSCTL_SET_INTEGRITY_INFORMATION_BUFFER { + WORD ChecksumAlgorithm; + WORD Reserved; + DWORD Flags; +} FSCTL_SET_INTEGRITY_INFORMATION_BUFFER, *PFSCTL_SET_INTEGRITY_INFORMATION_BUFFER; +#endif + +#if (_WIN32_WINNT >= _WIN32_WINNT_WINBLUE) +typedef struct _DUPLICATE_EXTENTS_DATA { + HANDLE FileHandle; + LARGE_INTEGER SourceFileOffset; + LARGE_INTEGER TargetFileOffset; + LARGE_INTEGER ByteCount; +} DUPLICATE_EXTENTS_DATA, *PDUPLICATE_EXTENTS_DATA; + +#endif + #endif #ifdef _MSC_VER