]> wimlib.net Git - wimlib/blobdiff - include/wimlib.h
Add experimental support for Windows VSS
[wimlib] / include / wimlib.h
index 6a6b0e8a3dd27ce181c665bb493b45b52a2a71f0..4390e2088e02389ba02847c514810271b0436df8 100644 (file)
@@ -1747,6 +1747,18 @@ typedef int (*wimlib_iterate_lookup_table_callback_t)(const struct wimlib_resour
  */
 #define WIMLIB_ADD_FLAG_TEST_FILE_EXCLUSION    0x00004000
 
+/**
+ * EXPERIMENTAL, since wimlib v1.8.4: create a temporary filesystem snapshot of
+ * the source directory and add the files from it.  Currently, this option is
+ * only supported on Windows, where it uses the Volume Shadow Copy Service
+ * (VSS).  Using this option, you can create a consistent backup of the system
+ * volume of a running Windows system without running into problems with locked
+ * files.  For the VSS snapshot to be successfully created, your application
+ * must be run as an Administrator, and it cannot be run in WoW64 mode (i.e. if
+ * Windows is 64-bit, then your application must be 64-bit as well).
+ */
+#define WIMLIB_ADD_FLAG_SNAPSHOT               0x00008000
+
 /* Note: the WIMLIB_ADD_IMAGE_FLAG names are retained for source compatibility.
  * Use the WIMLIB_ADD_FLAG names in new code.  */
 #define WIMLIB_ADD_IMAGE_FLAG_NTFS             WIMLIB_ADD_FLAG_NTFS
@@ -2505,6 +2517,7 @@ enum wimlib_error_code {
        WIMLIB_ERR_IMAGE_HAS_MULTIPLE_REFERENCES      = 86,
        WIMLIB_ERR_DUPLICATE_EXPORTED_IMAGE           = 87,
        WIMLIB_ERR_CONCURRENT_MODIFICATION_DETECTED   = 88,
+       WIMLIB_ERR_SNAPSHOT_FAILURE                   = 89,
 };