winecoreaudio: Use mmdevapi's AudioClient's GetService.
[wine.git] / include / vss.idl
blob902a6aec78409f5c7aea69c597eb679f48c1ee07
1 /*
2 * Copyright 2014 Hans Leidekker for CodeWeavers
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19 import "oaidl.idl";
21 typedef GUID VSS_ID;
22 typedef [unique, string] WCHAR *VSS_PWSZ;
23 typedef LONGLONG VSS_TIMESTAMP;
25 typedef enum _VSS_APPLICATION_LEVEL
27 VSS_APP_AUTO = -1,
28 VSS_APP_UNKNOWN = 0,
29 VSS_APP_SYSTEM = 1,
30 VSS_APP_BACK_END = 2,
31 VSS_APP_FRONT_END = 3,
32 VSS_APP_SYSTEM_RM = 4
33 } VSS_APPLICATION_LEVEL;
35 typedef enum _VSS_BACKUP_TYPE
37 VSS_BT_UNDEFINED,
38 VSS_BT_FULL,
39 VSS_BT_INCREMENTAL,
40 VSS_BT_DIFFERENTIAL,
41 VSS_BT_LOG,
42 VSS_BT_COPY,
43 VSS_BT_OTHER
44 } VSS_BACKUP_TYPE, *PVSS_BACKUP_TYPE;
46 typedef enum _VSS_RESTORE_TYPE
48 VSS_RTYPE_UNDEFINED,
49 VSS_RTYPE_BY_COPY,
50 VSS_RTYPE_IMPORT,
51 VSS_RTYPE_OTHER
52 } VSS_RESTORE_TYPE, *PVSS_RESTORE_TYPE;
54 typedef enum _VSS_WRITER_STATE
56 VSS_WS_UNKNOWN,
57 VSS_WS_STABLE,
58 VSS_WS_WAITING_FOR_FREEZE,
59 VSS_WS_WAITING_FOR_THAW,
60 VSS_WS_WAITING_FOR_POST_SNAPSHOT,
61 VSS_WS_WAITING_FOR_BACKUP_COMPLETE,
62 VSS_WS_FAILED_AT_IDENTIFY,
63 VSS_WS_FAILED_AT_PREPARE_BACKUP,
64 VSS_WS_FAILED_AT_PREPARE_SNAPSHOT,
65 VSS_WS_FAILED_AT_FREEZE,
66 VSS_WS_FAILED_AT_THAW,
67 VSS_WS_FAILED_AT_POST_SNAPSHOT,
68 VSS_WS_FAILED_AT_BACKUP_COMPLETE,
69 VSS_WS_FAILED_AT_PRE_RESTORE,
70 VSS_WS_FAILED_AT_POST_RESTORE,
71 VSS_WS_FAILED_AT_BACKUPSHUTDOWN,
72 VSS_WS_COUNT
73 } VSS_WRITER_STATE, *PVSS_WRITER_STATE;
75 typedef enum _VSS_OBJECT_TYPE
77 VSS_OBJECT_UNKNOWN,
78 VSS_OBJECT_NONE,
79 VSS_OBJECT_SNAPSHOT_SET,
80 VSS_OBJECT_SNAPSHOT,
81 VSS_OBJECT_PROVIDER,
82 VSS_OBJECT_TYPE_COUNT
83 } VSS_OBJECT_TYPE, *PVSS_OBJECT_TYPE;
85 typedef enum _VSS_SNAPSHOT_STATE
87 VSS_SS_UNKNOWN = 0,
88 VSS_SS_PREPARING,
89 VSS_SS_PROCESSING_PREPARE,
90 VSS_SS_PREPARED,
91 VSS_SS_PROCESSING_PRECOMMIT,
92 VSS_SS_PRECOMMITTED,
93 VSS_SS_PROCESSING_COMMIT,
94 VSS_SS_COMMITTED,
95 VSS_SS_PROCESSING_POSTCOMMIT,
96 VSS_SS_PROCESSING_PREFINALCOMMIT,
97 VSS_SS_PREFINALCOMMITTED,
98 VSS_SS_PROCESSING_POSTFINALCOMMIT,
99 VSS_SS_CREATED,
100 VSS_SS_ABORTED,
101 VSS_SS_DELETED,
102 VSS_SS_POSTCOMMITTED,
103 VSS_SS_COUNT
104 } VSS_SNAPSHOT_STATE, *PVSS_SNAPSHOT_STATE;
106 typedef struct _VSS_SNAPSHOT_PROP
108 VSS_ID m_SnapshotId;
109 VSS_ID m_SnapshotSetId;
110 LONG m_lSnapshotsCount;
111 VSS_PWSZ m_pwszSnapshotDeviceObject;
112 VSS_PWSZ m_pwszOriginalVolumeName;
113 VSS_PWSZ m_pwszOriginatingMachine;
114 VSS_PWSZ m_pwszServiceMachine;
115 VSS_PWSZ m_pwszExposedName;
116 VSS_PWSZ m_pwszExposedPath;
117 VSS_ID m_ProviderId;
118 LONG m_lSnapshotAttributes;
119 VSS_TIMESTAMP m_tsCreationTimestamp;
120 VSS_SNAPSHOT_STATE m_eStatus;
121 } VSS_SNAPSHOT_PROP, *PVSS_SNAPSHOT_PROP;