import "oaidl.idl";
typedef GUID VSS_ID;
+typedef [unique, string] WCHAR *VSS_PWSZ;
+typedef LONGLONG VSS_TIMESTAMP;
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;