2026-02-12 01:00:00 +01:00
/* 7zWindows.h -- Windows.h and related code
Igor Pavlov : Public domain */
2023-06-21 02:00:00 +02:00
# ifndef ZIP7_INC_7Z_WINDOWS_H
# define ZIP7_INC_7Z_WINDOWS_H
# ifdef _WIN32
2026-02-12 01:00:00 +01:00
# if defined(_MSC_VER) && _MSC_VER >= 1950 && !defined(__clang__) // VS2026
// <Windows.h> and some another windows files need that option
// VS2026: wtypesbase.h: warning C4865: 'tagCLSCTX': the underlying type will change from 'int' to 'unsigned int' when '/Zc:enumTypes' is specified on the command line
# pragma warning(disable : 4865)
# endif
2023-06-21 02:00:00 +02:00
# if defined(__clang__)
# pragma clang diagnostic push
# endif
# if defined(_MSC_VER)
# pragma warning(push)
# pragma warning(disable : 4668) // '_WIN32_WINNT' is not defined as a preprocessor macro, replacing with '0' for '#if/#elif'
# if _MSC_VER == 1900
// for old kit10 versions
// #pragma warning(disable : 4255) // winuser.h(13979): warning C4255: 'GetThreadDpiAwarenessContext':
# endif
// win10 Windows Kit:
# endif // _MSC_VER
# if defined(_MSC_VER) && _MSC_VER <= 1200 && !defined(_WIN64)
// for msvc6 without sdk2003
# define RPC_NO_WINDOWS_H
# endif
# if defined(__MINGW32__) || defined(__MINGW64__)
// #if defined(__GNUC__) && !defined(__clang__)
# include <windows.h>
# else
# include <Windows.h>
# endif
// #include <basetsd.h>
// #include <wtypes.h>
// but if precompiled with clang-cl then we need
// #include <windows.h>
# if defined(_MSC_VER)
# pragma warning(pop)
# endif
# if defined(__clang__)
# pragma clang diagnostic pop
# endif
# if defined(_MSC_VER) && _MSC_VER <= 1200 && !defined(_WIN64)
# ifndef _W64
typedef long LONG_PTR , * PLONG_PTR ;
typedef unsigned long ULONG_PTR , * PULONG_PTR ;
typedef ULONG_PTR DWORD_PTR , * PDWORD_PTR ;
# define Z7_OLD_WIN_SDK
# endif // _W64
# endif // _MSC_VER == 1200
# ifdef Z7_OLD_WIN_SDK
# ifndef INVALID_FILE_ATTRIBUTES
# define INVALID_FILE_ATTRIBUTES ((DWORD)-1)
# endif
# ifndef INVALID_SET_FILE_POINTER
# define INVALID_SET_FILE_POINTER ((DWORD)-1)
# endif
# ifndef FILE_SPECIAL_ACCESS
# define FILE_SPECIAL_ACCESS (FILE_ANY_ACCESS)
# endif
// ShlObj.h:
// #define BIF_NEWDIALOGSTYLE 0x0040
# pragma warning(disable : 4201)
// #pragma warning(disable : 4115)
# undef VARIANT_TRUE
# define VARIANT_TRUE ((VARIANT_BOOL)-1)
# endif
# endif // Z7_OLD_WIN_SDK
# ifdef UNDER_CE
# undef VARIANT_TRUE
# define VARIANT_TRUE ((VARIANT_BOOL)-1)
# endif
# if defined(_MSC_VER)
# if _MSC_VER >= 1400 && _MSC_VER <= 1600
// BaseTsd.h(148) : 'HandleToULong' : unreferenced inline function has been removed
// string.h
// #pragma warning(disable : 4514)
# endif
# endif
/* #include "7zTypes.h" */
# endif