summaryrefslogtreecommitdiff
path: root/shared/ShadowCopy/shadow.h
diff options
context:
space:
mode:
Diffstat (limited to 'shared/ShadowCopy/shadow.h')
-rw-r--r--shared/ShadowCopy/shadow.h106
1 files changed, 0 insertions, 106 deletions
diff --git a/shared/ShadowCopy/shadow.h b/shared/ShadowCopy/shadow.h
deleted file mode 100644
index 8721b906..00000000
--- a/shared/ShadowCopy/shadow.h
+++ /dev/null
@@ -1,106 +0,0 @@
-// **************************************************************************
-// * This file is part of the FreeFileSync project. It is distributed under *
-// * GNU General Public License: http://www.gnu.org/licenses/gpl.html *
-// * Copyright (C) 2008-2011 ZenJu (zhnmju123 AT gmx.de) *
-// **************************************************************************
-
-#ifndef SHADOWCOPY_H
-#define SHADOWCOPY_H
-
-#ifdef SHADOWDLL_EXPORTS
-#define SHADOWDLL_API extern "C" __declspec(dllexport)
-#else
-#define SHADOWDLL_API extern "C" __declspec(dllimport)
-#endif
-
-#include "../build_info.h"
-
-
-namespace shadow
-{
-/*--------------
- |declarations|
- --------------*/
-
-//COM needs to be initialized before calling any of these functions! CoInitializeEx/CoUninitialize
-
-typedef size_t ShadowHandle;
-
-//volumeName must end with "\", while shadowVolName does not end with "\"
-SHADOWDLL_API
-bool createShadowCopy(const wchar_t* volumeName, //[in]
- wchar_t* shadowVolName, //[out]
- unsigned int shadowBufferLen, //[in]
- ShadowHandle* handle, //[out]
- wchar_t* errorMessage, //[out]
- unsigned int errorBufferLen); //[in]
-
-
-//don't forget to release the backupHandle after shadow copy is not needed anymore!
-SHADOWDLL_API
-void releaseShadowCopy(ShadowHandle handle);
-
-
-//##########################################################################################
-
-
-/*----------
- |typedefs|
- ----------*/
-typedef bool (*CreateShadowCopyFct)(const wchar_t* volumeName,
- wchar_t* shadowVolName,
- unsigned int shadowBufferLen,
- ShadowHandle* handle,
- wchar_t* errorMessage,
- unsigned int errorBufferLen);
-
-typedef void (*ReleaseShadowCopyFct)(ShadowHandle handle);
-
-/*--------------
- |symbol names|
- --------------*/
-//(use const pointers to ensure internal linkage)
-const char createShadowCopyFctName[] = "createShadowCopy";
-const char releaseShadowCopyFctName[] = "releaseShadowCopy";
-
-/*---------------
- |library names|
- ---------------*/
-namespace impl
-{
-bool newerThanXP()
-{
- OSVERSIONINFO osvi = {};
- osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
-
- if (::GetVersionEx(&osvi))
- return osvi.dwMajorVersion > 5 ||
- (osvi.dwMajorVersion == 5 && osvi.dwMinorVersion > 1) ;
- //XP has majorVersion == 5, minorVersion == 1
- //Server 2003 has majorVersion == 5, minorVersion == 2
- //version overview: http://msdn.microsoft.com/en-us/library/ms724834(VS.85).aspx
- return false;
-}
-}
-
-inline
-const wchar_t* getDllName()
-{
- /*
- distinguish a bunch of VSS builds: we use XP and Server 2003 implementations...
- VSS version and compatibility overview: http://msdn.microsoft.com/en-us/library/aa384627(VS.85).aspx
- */
- return impl::newerThanXP() ?
- (util::is64BitBuild ?
- L"Shadow_Server2003_x64.dll" :
- L"Shadow_Server2003_Win32.dll") :
-
- (util::is64BitBuild ?
- L"Shadow_XP_x64.dll" :
- L"Shadow_XP_Win32.dll");
-}
-}
-
-
-
-#endif //SHADOWCOPY_H
bgstack15