summaryrefslogtreecommitdiff
path: root/library/ShadowCopy/shadow.h
diff options
context:
space:
mode:
authorDaniel Wilhelm <daniel@wili.li>2014-04-18 16:59:06 +0200
committerDaniel Wilhelm <daniel@wili.li>2014-04-18 16:59:06 +0200
commit4046be06720932a57a0f49416b0144b2858824d0 (patch)
tree678c37cab05960f48923a23bb46d9e01be89d35a /library/ShadowCopy/shadow.h
parent1.19 (diff)
downloadFreeFileSync-4046be06720932a57a0f49416b0144b2858824d0.tar.gz
FreeFileSync-4046be06720932a57a0f49416b0144b2858824d0.tar.bz2
FreeFileSync-4046be06720932a57a0f49416b0144b2858824d0.zip
2.0
Diffstat (limited to 'library/ShadowCopy/shadow.h')
-rw-r--r--library/ShadowCopy/shadow.h33
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
bgstack15