[PSDK] Add some missing definitions from Wine in vss.idl
authorOleg Dubinskiy <oleg.dubinskij2013@yandex.ua>
Wed, 25 Mar 2020 18:59:25 +0000 (20:59 +0200)
committerMark Jansen <mark.jansen@reactos.org>
Sun, 7 Jun 2020 17:45:05 +0000 (19:45 +0200)
Required by vssapi stubs and Wine's vsbackup.idl CORE-9511.

sdk/include/psdk/vss.idl

index 62335ea..902a6ae 100644 (file)
@@ -19,6 +19,8 @@
 import "oaidl.idl";
 
 typedef GUID VSS_ID;
+typedef [unique, string] WCHAR *VSS_PWSZ;
+typedef LONGLONG VSS_TIMESTAMP;
 
 typedef enum _VSS_APPLICATION_LEVEL
 {
@@ -29,3 +31,91 @@ typedef enum _VSS_APPLICATION_LEVEL
     VSS_APP_FRONT_END   = 3,
     VSS_APP_SYSTEM_RM   = 4
 } VSS_APPLICATION_LEVEL;
+
+typedef enum _VSS_BACKUP_TYPE
+{
+    VSS_BT_UNDEFINED,
+    VSS_BT_FULL,
+    VSS_BT_INCREMENTAL,
+    VSS_BT_DIFFERENTIAL,
+    VSS_BT_LOG,
+    VSS_BT_COPY,
+    VSS_BT_OTHER
+} VSS_BACKUP_TYPE, *PVSS_BACKUP_TYPE;
+
+typedef enum _VSS_RESTORE_TYPE
+{
+    VSS_RTYPE_UNDEFINED,
+    VSS_RTYPE_BY_COPY,
+    VSS_RTYPE_IMPORT,
+    VSS_RTYPE_OTHER
+} VSS_RESTORE_TYPE, *PVSS_RESTORE_TYPE;
+
+typedef enum _VSS_WRITER_STATE
+{
+    VSS_WS_UNKNOWN,
+    VSS_WS_STABLE,
+    VSS_WS_WAITING_FOR_FREEZE,
+    VSS_WS_WAITING_FOR_THAW,
+    VSS_WS_WAITING_FOR_POST_SNAPSHOT,
+    VSS_WS_WAITING_FOR_BACKUP_COMPLETE,
+    VSS_WS_FAILED_AT_IDENTIFY,
+    VSS_WS_FAILED_AT_PREPARE_BACKUP,
+    VSS_WS_FAILED_AT_PREPARE_SNAPSHOT,
+    VSS_WS_FAILED_AT_FREEZE,
+    VSS_WS_FAILED_AT_THAW,
+    VSS_WS_FAILED_AT_POST_SNAPSHOT,
+    VSS_WS_FAILED_AT_BACKUP_COMPLETE,
+    VSS_WS_FAILED_AT_PRE_RESTORE,
+    VSS_WS_FAILED_AT_POST_RESTORE,
+    VSS_WS_FAILED_AT_BACKUPSHUTDOWN,
+    VSS_WS_COUNT
+} VSS_WRITER_STATE, *PVSS_WRITER_STATE;
+
+typedef enum _VSS_OBJECT_TYPE
+{
+    VSS_OBJECT_UNKNOWN,
+    VSS_OBJECT_NONE,
+    VSS_OBJECT_SNAPSHOT_SET,
+    VSS_OBJECT_SNAPSHOT,
+    VSS_OBJECT_PROVIDER,
+    VSS_OBJECT_TYPE_COUNT
+} VSS_OBJECT_TYPE, *PVSS_OBJECT_TYPE;
+
+typedef enum _VSS_SNAPSHOT_STATE
+{
+    VSS_SS_UNKNOWN = 0,
+    VSS_SS_PREPARING,
+    VSS_SS_PROCESSING_PREPARE,
+    VSS_SS_PREPARED,
+    VSS_SS_PROCESSING_PRECOMMIT,
+    VSS_SS_PRECOMMITTED,
+    VSS_SS_PROCESSING_COMMIT,
+    VSS_SS_COMMITTED,
+    VSS_SS_PROCESSING_POSTCOMMIT,
+    VSS_SS_PROCESSING_PREFINALCOMMIT,
+    VSS_SS_PREFINALCOMMITTED,
+    VSS_SS_PROCESSING_POSTFINALCOMMIT,
+    VSS_SS_CREATED,
+    VSS_SS_ABORTED,
+    VSS_SS_DELETED,
+    VSS_SS_POSTCOMMITTED,
+    VSS_SS_COUNT
+} VSS_SNAPSHOT_STATE, *PVSS_SNAPSHOT_STATE;
+
+typedef struct _VSS_SNAPSHOT_PROP
+{
+    VSS_ID             m_SnapshotId;
+    VSS_ID             m_SnapshotSetId;
+    LONG               m_lSnapshotsCount;
+    VSS_PWSZ           m_pwszSnapshotDeviceObject;
+    VSS_PWSZ           m_pwszOriginalVolumeName;
+    VSS_PWSZ           m_pwszOriginatingMachine;
+    VSS_PWSZ           m_pwszServiceMachine;
+    VSS_PWSZ           m_pwszExposedName;
+    VSS_PWSZ           m_pwszExposedPath;
+    VSS_ID             m_ProviderId;
+    LONG               m_lSnapshotAttributes;
+    VSS_TIMESTAMP      m_tsCreationTimestamp;
+    VSS_SNAPSHOT_STATE m_eStatus;
+} VSS_SNAPSHOT_PROP, *PVSS_SNAPSHOT_PROP;