Make it compile under Visual Studio 2019.

This commit is contained in:
2020-04-28 22:27:52 +01:00
parent 34efa254da
commit 184ed5940d
2 changed files with 35 additions and 32 deletions

View File

@@ -29,6 +29,8 @@ Contains 32-bit and 64-bit Windows code
Copyright (C) 2011-2020 Natalia Portillo Copyright (C) 2011-2020 Natalia Portillo
*****************************************************************************/ *****************************************************************************/
// ReSharper disable CppJoinDeclarationAndAssignment
// ReSharper disable CppDeprecatedEntity
#if defined(__WINDOWS__) || defined(__TOS_WIN__) || defined(__WIN32__) || defined(_WIN64) || defined(_WIN32) || \ #if defined(__WINDOWS__) || defined(__TOS_WIN__) || defined(__WIN32__) || defined(_WIN64) || defined(_WIN32) || \
defined(__NT__) defined(__NT__)
@@ -61,7 +63,7 @@ void GetOsInfo()
printf("OS information:\n"); printf("OS information:\n");
if(verInfo.dwPlatformId == VER_PLATFORM_WIN32s) if(verInfo.dwPlatformId == VER_PLATFORM_WIN32s)
{ printf("\tRunning under Windows %d.%d using Win32s.\n", verInfo.dwMajorVersion, verInfo.dwMinorVersion); } printf("\tRunning under Windows %d.%d using Win32s.\n", verInfo.dwMajorVersion, verInfo.dwMinorVersion);
else if(verInfo.dwPlatformId == VER_PLATFORM_WIN32_WINDOWS) else if(verInfo.dwPlatformId == VER_PLATFORM_WIN32_WINDOWS)
{ {
if(verInfo.dwMinorVersion == 10) if(verInfo.dwMinorVersion == 10)
@@ -89,7 +91,7 @@ void GetOsInfo()
{ {
if(strlen(verInfo.szCSDVersion) > 0) if(strlen(verInfo.szCSDVersion) > 0)
{ {
printf(" version %d.%02d.%d %s.\n", printf(" version %d.%02d.%d %ls.\n",
verInfo.dwMajorVersion, verInfo.dwMajorVersion,
verInfo.dwMinorVersion, verInfo.dwMinorVersion,
verInfo.dwBuildNumber, verInfo.dwBuildNumber,
@@ -104,7 +106,7 @@ void GetOsInfo()
{ {
if(strlen(verInfo.szCSDVersion) > 0) if(strlen(verInfo.szCSDVersion) > 0)
{ {
printf(" version %d.%02d %s.\n", verInfo.dwMajorVersion, verInfo.dwMinorVersion, verInfo.szCSDVersion); printf(" version %d.%02d %ls.\n", verInfo.dwMajorVersion, verInfo.dwMinorVersion, verInfo.szCSDVersion);
} }
else else
{ {
@@ -145,7 +147,7 @@ void GetOsInfo()
{ {
if(strlen(verInfo.szCSDVersion) > 0) if(strlen(verInfo.szCSDVersion) > 0)
{ {
printf(" version %d.%02d.%d %s.\n", printf(" version %d.%02d.%d %ls.\n",
verInfo.dwMajorVersion, verInfo.dwMajorVersion,
verInfo.dwMinorVersion, verInfo.dwMinorVersion,
verInfo.dwBuildNumber, verInfo.dwBuildNumber,
@@ -160,7 +162,7 @@ void GetOsInfo()
{ {
if(strlen(verInfo.szCSDVersion) > 0) if(strlen(verInfo.szCSDVersion) > 0)
{ {
printf(" version %d.%02d %s.\n", verInfo.dwMajorVersion, verInfo.dwMinorVersion, verInfo.szCSDVersion); printf(" version %d.%02d %ls.\n", verInfo.dwMajorVersion, verInfo.dwMinorVersion, verInfo.szCSDVersion);
} }
else else
{ {
@@ -3297,21 +3299,21 @@ void Fragmentation(const char *path, size_t clusterSize)
void Sparse(const char *path) void Sparse(const char *path)
{ {
BOOL ret; BOOL ret;
DWORD error; DWORD error;
LPTSTR lpVolumeNameBuffer; LPTSTR lpVolumeNameBuffer;
DWORD dwMaximumComponentLength; DWORD dwMaximumComponentLength;
DWORD dwFileSystemFlags; DWORD dwFileSystemFlags;
DWORD dwMaxNameSize = MAX_PATH + 1; DWORD dwMaxNameSize = MAX_PATH + 1;
LPTSTR lpFileSystemNameBuffer; LPTSTR lpFileSystemNameBuffer;
LPTSTR lpRootPathName; LPTSTR lpRootPathName;
size_t pathSize = strlen(path); size_t pathSize = strlen(path);
DWORD rc, wRc, cRc, sRc, zRc; DWORD rc, wRc, cRc, sRc, zRc;
FILE_ZERO_DATA_INFORMATION zeroData; WINNT_FILE_ZERO_DATA_INFORMATION zeroData;
HANDLE h; HANDLE h;
unsigned char * buffer; unsigned char * buffer;
int i; int i;
DWORD dwNumberOfBytesWritten; DWORD dwNumberOfBytesWritten;
lpVolumeNameBuffer = malloc(dwMaxNameSize); lpVolumeNameBuffer = malloc(dwMaxNameSize);
@@ -3428,7 +3430,7 @@ void Sparse(const char *path)
if(sRc == 1) if(sRc == 1)
{ {
sRc = 0; sRc = 0;
ret = DeviceIoControl(h, FSCTL_SET_SPARSE_OLD, NULL, 0, NULL, 0, &dwNumberOfBytesWritten, NULL); ret = DeviceIoControl(h, FSCTL_SET_SPARSE, NULL, 0, NULL, 0, &dwNumberOfBytesWritten, NULL);
if(!ret) { sRc = GetLastError(); } if(!ret) { sRc = GetLastError(); }
} }
} }
@@ -3441,7 +3443,7 @@ void Sparse(const char *path)
ret = DeviceIoControl(h, ret = DeviceIoControl(h,
FSCTL_SET_ZERO_DATA, FSCTL_SET_ZERO_DATA,
&zeroData, &zeroData,
sizeof(FILE_ZERO_DATA_INFORMATION), sizeof(WINNT_FILE_ZERO_DATA_INFORMATION),
NULL, NULL,
0, 0,
&dwNumberOfBytesWritten, &dwNumberOfBytesWritten,
@@ -3453,9 +3455,9 @@ void Sparse(const char *path)
{ {
zRc = 0; zRc = 0;
ret = DeviceIoControl(h, ret = DeviceIoControl(h,
FSCTL_SET_ZERO_DATA_OLD, FSCTL_SET_ZERO_DATA,
&zeroData, &zeroData,
sizeof(FILE_ZERO_DATA_INFORMATION), sizeof(WINNT_FILE_ZERO_DATA_INFORMATION),
NULL, NULL,
0, 0,
&dwNumberOfBytesWritten, &dwNumberOfBytesWritten,
@@ -3516,7 +3518,7 @@ void Sparse(const char *path)
ret = DeviceIoControl(h, ret = DeviceIoControl(h,
FSCTL_SET_ZERO_DATA, FSCTL_SET_ZERO_DATA,
&zeroData, &zeroData,
sizeof(FILE_ZERO_DATA_INFORMATION), sizeof(WINNT_FILE_ZERO_DATA_INFORMATION),
NULL, NULL,
0, 0,
&dwNumberOfBytesWritten, &dwNumberOfBytesWritten,
@@ -3530,7 +3532,7 @@ void Sparse(const char *path)
ret = DeviceIoControl(h, ret = DeviceIoControl(h,
FSCTL_SET_ZERO_DATA_OLD, FSCTL_SET_ZERO_DATA_OLD,
&zeroData, &zeroData,
sizeof(FILE_ZERO_DATA_INFORMATION), sizeof(WINNT_FILE_ZERO_DATA_INFORMATION),
NULL, NULL,
0, 0,
&dwNumberOfBytesWritten, &dwNumberOfBytesWritten,

View File

@@ -220,19 +220,20 @@ NTSTATUS (*NtSetEaFile)(HANDLE, PIO_STATUS_BLOCK, PVOID, ULONG);
#ifndef FSCTL_SET_SPARSE #ifndef FSCTL_SET_SPARSE
#define FSCTL_SET_SPARSE 0x000900C4 #define FSCTL_SET_SPARSE 0x000900C4
#define FSCTL_SET_SPARSE_OLD 0x000980C4
#endif #endif
#ifndef FSCTL_SET_ZERO_DATA #ifndef FSCTL_SET_ZERO_DATA
#define FSCTL_SET_ZERO_DATA 0x000900C8 #define FSCTL_SET_ZERO_DATA 0x000900C8
#define FSCTL_SET_ZERO_DATA_OLD 0x000980C8
#endif #endif
typedef struct _FILE_ZERO_DATA_INFORMATION #define FSCTL_SET_SPARSE_OLD 0x000980C4
#define FSCTL_SET_ZERO_DATA_OLD 0x000980C8
typedef struct _WINNT_FILE_ZERO_DATA_INFORMATION
{ {
LARGE_INTEGER FileOffset; LARGE_INTEGER FileOffset;
LARGE_INTEGER BeyondFinalZero; LARGE_INTEGER BeyondFinalZero;
} FILE_ZERO_DATA_INFORMATION, *PFILE_ZERO_DATA_INFORMATION; } WINNT_FILE_ZERO_DATA_INFORMATION, *PWINNT_FILE_ZERO_DATA_INFORMATION;
unsigned char CommentsEA[72] = { unsigned char CommentsEA[72] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x33, 0x00, 0x2E, 0x43, 0x4F, 0x4D, 0x4D, 0x45, 0x4E, 0x54, 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x33, 0x00, 0x2E, 0x43, 0x4F, 0x4D, 0x4D, 0x45, 0x4E, 0x54, 0x53, 0x00,
@@ -445,8 +446,8 @@ unsigned char IconEA[3516] = {
#define Y2KTIMESTAMP_LO 0x256D4000 #define Y2KTIMESTAMP_LO 0x256D4000
#define Y1KTIMESTAMP_LO 0x24D4A980 #define Y1KTIMESTAMP_LO 0x24D4A980
BOOL (*CreateHardLinkA)(LPCSTR, LPCSTR, LPSECURITY_ATTRIBUTES); BOOL (*WinNtCreateHardLinkA)(LPCSTR, LPCSTR, LPSECURITY_ATTRIBUTES);
BOOL (*CreateSymbolicLinkA)(LPCSTR, LPCSTR, DWORD); BOOL (*WinNtCreateSymbolicLinkA)(LPCSTR, LPCSTR, DWORD);
#endif #endif