diff options
Diffstat (limited to 'library/ShadowCopy/shadow.h')
-rw-r--r-- | library/ShadowCopy/shadow.h | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/library/ShadowCopy/shadow.h b/library/ShadowCopy/shadow.h new file mode 100644 index 00000000..e25c6a32 --- /dev/null +++ b/library/ShadowCopy/shadow.h @@ -0,0 +1,33 @@ +#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 + + +namespace shadow +{ + //COM needs to be initialized before calling any of these functions! CoInitializeEx/CoUninitialize + + + //volumeName must end with "\", while shadowVolName does not end with "\" + SHADOWDLL_API + bool createShadowCopy(const wchar_t* volumeName, + wchar_t* shadowVolName, + unsigned int shadowBufferLen, + void** backupHandle, + wchar_t* errorMessage, + unsigned int errorBufferLen); + + + //don't forget to release the backupHandle after shadow copy is not needed anymore! + SHADOWDLL_API + void releaseShadowCopy(void* backupHandle); +} + + + +#endif //SHADOWCOPY_H |