1 | /**
|
---|
2 | * This file has no copyright assigned and is placed in the Public Domain.
|
---|
3 | * This file is part of the mingw-w64 runtime package.
|
---|
4 | * No warranty is given; refer to the file DISCLAIMER.PD within this package.
|
---|
5 | */
|
---|
6 | #ifndef _INC_VSWRITER
|
---|
7 | #define _INC_VSWRITER
|
---|
8 |
|
---|
9 | typedef enum VSS_COMPONENT_FLAGS {
|
---|
10 | VSS_CF_BACKUP_RECOVERY = 0x00000001,
|
---|
11 | VSS_CF_APP_ROLLBACK_RECOVERY = 0x00000002,
|
---|
12 | VSS_CF_NOT_SYSTEM_STATE = 0x00000004
|
---|
13 | } VSS_COMPONENT_FLAGS;
|
---|
14 |
|
---|
15 | /* http://msdn.microsoft.com/en-us/library/aa384976%28v=VS.85%29.aspx */
|
---|
16 | typedef enum VSS_USAGE_TYPE {
|
---|
17 | VSS_UT_UNDEFINED = 0,
|
---|
18 | VSS_UT_BOOTABLESYSTEMSTATE = 1,
|
---|
19 | VSS_UT_SYSTEMSERVICE = 2,
|
---|
20 | VSS_UT_USERDATA = 3,
|
---|
21 | VSS_UT_OTHER = 4
|
---|
22 | } VSS_USAGE_TYPE;
|
---|
23 |
|
---|
24 | typedef enum VSS_ALTERNATE_WRITER_STATE {
|
---|
25 | VSS_AWS_UNDEFINED = 0,
|
---|
26 | VSS_AWS_NO_ALTERNATE_WRITER = 1,
|
---|
27 | VSS_AWS_ALTERNATE_WRITER_EXISTS = 2,
|
---|
28 | VSS_AWS_THIS_IS_ALTERNATE_WRITER = 3
|
---|
29 | } VSS_ALTERNATE_WRITER_STATE;
|
---|
30 |
|
---|
31 | typedef enum VSS_COMPONENT_TYPE {
|
---|
32 | VSS_CT_UNDEFINED = 0,
|
---|
33 | VSS_CT_DATABASE = 1,
|
---|
34 | VSS_CT_FILEGROUP = 2
|
---|
35 | } VSS_COMPONENT_TYPE;
|
---|
36 |
|
---|
37 | typedef enum VSS_FILE_RESTORE_STATUS {
|
---|
38 | VSS_RS_UNDEFINED = 0,
|
---|
39 | VSS_RS_NONE = 1,
|
---|
40 | VSS_RS_ALL = 2,
|
---|
41 | VSS_RS_FAILED = 3
|
---|
42 | } VSS_FILE_RESTORE_STATUS;
|
---|
43 |
|
---|
44 | typedef enum VSS_RESTORE_TARGET {
|
---|
45 | VSS_RT_UNDEFINED = 0,
|
---|
46 | VSS_RT_ORIGINAL = 1,
|
---|
47 | VSS_RT_ALTERNATE = 2,
|
---|
48 | VSS_RT_DIRECTED = 3,
|
---|
49 | VSS_RT_ORIGINAL_LOCATION = 4
|
---|
50 | } VSS_RESTORE_TARGET;
|
---|
51 |
|
---|
52 | typedef enum VSS_RESTOREMETHOD_ENUM {
|
---|
53 | VSS_RME_UNDEFINED = 0,
|
---|
54 | VSS_RME_RESTORE_IF_NOT_THERE = 1,
|
---|
55 | VSS_RME_RESTORE_IF_CAN_REPLACE = 2,
|
---|
56 | VSS_RME_STOP_RESTORE_START = 3,
|
---|
57 | VSS_RME_RESTORE_TO_ALTERNATE_LOCATION = 4,
|
---|
58 | VSS_RME_RESTORE_AT_REBOOT = 5,
|
---|
59 | VSS_RME_RESTORE_AT_REBOOT_IF_CANNOT_REPLACE = 6,
|
---|
60 | VSS_RME_CUSTOM = 7,
|
---|
61 | VSS_RME_RESTORE_STOP_START = 8
|
---|
62 | } VSS_RESTOREMETHOD_ENUM;
|
---|
63 |
|
---|
64 | typedef enum VSS_SOURCE_TYPE {
|
---|
65 | VSS_ST_UNDEFINED = 0,
|
---|
66 | VSS_ST_TRANSACTEDDB = 1,
|
---|
67 | VSS_ST_NONTRANSACTEDDB = 2,
|
---|
68 | VSS_ST_OTHER = 3
|
---|
69 | } VSS_SOURCE_TYPE;
|
---|
70 |
|
---|
71 | typedef enum VSS_SUBSCRIBE_MASK {
|
---|
72 | VSS_SM_POST_SNAPSHOT_FLAG = 0x00000001,
|
---|
73 | VSS_SM_BACKUP_EVENTS_FLAG = 0x00000002,
|
---|
74 | VSS_SM_RESTORE_EVENTS_FLAG = 0x00000004,
|
---|
75 | VSS_SM_IO_THROTTLING_FLAG = 0x00000008,
|
---|
76 | VSS_SM_ALL_FLAGS = 0xffffffff
|
---|
77 | } VSS_SUBSCRIBE_MASK;
|
---|
78 |
|
---|
79 | typedef enum VSS_WRITERRESTORE_ENUM {
|
---|
80 | VSS_WRE_UNDEFINED = 0,
|
---|
81 | VSS_WRE_NEVER = 1,
|
---|
82 | VSS_WRE_IF_REPLACE_FAILS = 2,
|
---|
83 | VSS_WRE_ALWAYS = 3
|
---|
84 | } VSS_WRITERRESTORE_ENUM;
|
---|
85 |
|
---|
86 | #include <vss.h>
|
---|
87 |
|
---|
88 | #if (_WIN32_WINNT >= 0x601)
|
---|
89 | HRESULT WINAPI CreateVssExpressWriterInternal(
|
---|
90 | IVssExpressWriter **ppWriter
|
---|
91 | );
|
---|
92 |
|
---|
93 | FORCEINLINE
|
---|
94 | HRESULT WINAPI CreateVssExpressWriter(
|
---|
95 | IVssExpressWriter **ppWriter
|
---|
96 | ){return CreateVssExpressWriterInternal(ppWriter);}
|
---|
97 |
|
---|
98 | #undef INTERFACE
|
---|
99 | #define INTERFACE IVssCreateExpressWriterMetadata
|
---|
100 | #ifdef __GNUC__
|
---|
101 | #warning COM interfaces layout in this header has not been verified.
|
---|
102 | #warning COM interfaces with incorrect layout may not work at all.
|
---|
103 | __MINGW_BROKEN_INTERFACE(INTERFACE)
|
---|
104 | #endif
|
---|
105 | DECLARE_INTERFACE_(IVssCreateExpressWriterMetadata,IUnknown)
|
---|
106 | {
|
---|
107 | BEGIN_INTERFACE
|
---|
108 |
|
---|
109 | /* IUnknown methods */
|
---|
110 | STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
|
---|
111 | STDMETHOD_(ULONG, AddRef)(THIS) PURE;
|
---|
112 | STDMETHOD_(ULONG, Release)(THIS) PURE;
|
---|
113 |
|
---|
114 | /* IVssCreateExpressWriterMetadata methods */
|
---|
115 | STDMETHOD_(HRESULT,AddComponent)(THIS_ VSS_COMPONENT_TYPE componentType,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszCaption,const BYTE *pbIcon,UINT cbIcon,BOOLEAN bRestoreMetadata,BOOLEAN bNotifyOnBackupComplete,BOOLEAN bSelectable,BOOLEAN bSelectableForRestore,DWORD dwComponentFlags) PURE;
|
---|
116 | STDMETHOD_(HRESULT,AddComponentDependency)(THIS_ LPCWSTR wszForLogicalPath,LPCWSTR wszForComponentName,VSS_ID onWriterId,LPCWSTR wszOnLogicalPath,LPCWSTR wszOnComponentName) PURE;
|
---|
117 | STDMETHOD_(HRESULT,AddExcludeFiles)(THIS_ LPCWSTR wszPath,LPCWSTR wszFilespec,BOOLEAN bRecursive) PURE;
|
---|
118 | STDMETHOD_(HRESULT,SaveAsXML)(THIS_ BSTR *pbstrXML) PURE;
|
---|
119 | STDMETHOD_(HRESULT,SetBackupSchema)(THIS_ DWORD dsSchemaMask) PURE;
|
---|
120 | STDMETHOD_(HRESULT,SetRestoreMethod)(THIS_ VSS_RESTOREMETHOD_ENUM method,LPCWSTR wszService,LPCWSTR wszUserProcedure,VSS_WRITERRESTORE_ENUM wreWriterRestore,BOOLEAN bRebootRequired) PURE;
|
---|
121 |
|
---|
122 | END_INTERFACE
|
---|
123 | };
|
---|
124 | #ifdef COBJMACROS
|
---|
125 | #define IVssCreateExpressWriterMetadata_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
|
---|
126 | #define IVssCreateExpressWriterMetadata_AddRef(This) (This)->lpVtbl->AddRef(This)
|
---|
127 | #define IVssCreateExpressWriterMetadata_Release(This) (This)->lpVtbl->Release(This)
|
---|
128 | #define IVssCreateExpressWriterMetadata_AddComponent(This,componentType,wszLogicalPath,wszComponentName,wszCaption,pbIcon,cbIcon,bRestoreMetadata,bNotifyOnBackupComplete,bSelectable,bSelectableForRestore,dwComponentFlags) (This)->lpVtbl->AddComponent(This,componentType,wszLogicalPath,wszComponentName,wszCaption,pbIcon,cbIcon,bRestoreMetadata,bNotifyOnBackupComplete,bSelectable,bSelectableForRestore,dwComponentFlags)
|
---|
129 | #define IVssCreateExpressWriterMetadata_AddFilesToFileGroup(This,wszLogicalPath,wszGroupName,wszPath,wszFilespec,bRecursive,wszAlternateLocation,dwBackupTypeMask) (This)->lpVtbl->AddFilesToFileGroup(This,wszLogicalPath,wszGroupName,wszPath,wszFilespec,bRecursive,wszAlternateLocation,dwBackupTypeMask)
|
---|
130 | #define IVssCreateExpressWriterMetadata_SaveAsXML(This,pbstrXML) (This)->lpVtbl->SaveAsXML(This,pbstrXML)
|
---|
131 | #define IVssCreateExpressWriterMetadata_SetBackupSchema(This,dsSchemaMask) (This)->lpVtbl->SetBackupSchema(This,dsSchemaMask)
|
---|
132 | #define IVssCreateExpressWriterMetadata_SetRestoreMethod(This,method,wszService,wszUserProcedure,wreWriterRestore,bRebootRequired) (This)->lpVtbl->SetRestoreMethod(This,method,wszService,wszUserProcedure,wreWriterRestore,bRebootRequired)
|
---|
133 | #endif /*COBJMACROS*/
|
---|
134 |
|
---|
135 | #endif /*(_WIN32_WINNT >= 0x601)*/
|
---|
136 |
|
---|
137 | #ifdef __cplusplus
|
---|
138 | /* Is a C++ interface instead of a COM */
|
---|
139 | #undef INTERFACE
|
---|
140 | #define INTERFACE IVssCreateWriterMetadata
|
---|
141 | #ifdef __GNUC__
|
---|
142 | #warning COM interfaces layout in this header has not been verified.
|
---|
143 | #warning COM interfaces with incorrect layout may not work at all.
|
---|
144 | __MINGW_BROKEN_INTERFACE(INTERFACE)
|
---|
145 | #endif
|
---|
146 | DECLARE_INTERFACE_(IVssCreateWriterMetadata,IUnknown)
|
---|
147 | {
|
---|
148 | BEGIN_INTERFACE
|
---|
149 |
|
---|
150 | /* IUnknown methods */
|
---|
151 | STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
|
---|
152 | STDMETHOD_(ULONG, AddRef)(THIS) PURE;
|
---|
153 | STDMETHOD_(ULONG, Release)(THIS) PURE;
|
---|
154 |
|
---|
155 | /* IVssCreateWriterMetadata methods */
|
---|
156 | STDMETHOD_(HRESULT,AddAlternateLocationMapping)(THIS_ LPCWSTR wszPath,LPCWSTR wszFilespec,BOOLEAN bRecursive,LPCWSTR wszDestination) PURE;
|
---|
157 | STDMETHOD_(HRESULT,AddComponent)(THIS_ VSS_COMPONENT_TYPE componentType,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszCaption,const BYTE *pbIcon,UINT cbIcon,BOOLEAN bRestoreMetadata,BOOLEAN bNotifyOnBackupComplete,BOOLEAN bSelectable,BOOLEAN bSelectableForRestore,DWORD dwComponentFlags) PURE;
|
---|
158 | STDMETHOD_(HRESULT,AddComponentDependency)(THIS_ LPCWSTR wszForLogicalPath,LPCWSTR wszForComponentName,VSS_ID onWriterId,LPCWSTR wszOnLogicalPath,LPCWSTR wszOnComponentName) PURE;
|
---|
159 | STDMETHOD_(HRESULT,AddDatabaseFiles)(THIS_ LPCWSTR wszLogicalPath,LPCWSTR wszDatabaseName,LPCWSTR wszPath,LPCWSTR wszFilespec,DWORD dwBackupTypeMask) PURE;
|
---|
160 | STDMETHOD_(HRESULT,AddDatabaseLogFiles)(THIS_ LPCWSTR wszLogicalPath,LPCWSTR wszDatabaseName,LPCWSTR wszPath,LPCWSTR wszFilespec,DWORD dwBackupTypeMask) PURE;
|
---|
161 | STDMETHOD_(HRESULT,AddExcludeFiles)(THIS_ LPCWSTR wszPath,LPCWSTR wszFilespec,BOOLEAN bRecursive) PURE;
|
---|
162 | STDMETHOD_(HRESULT,AddFilesToFileGroup)(THIS_ LPCWSTR wszLogicalPath,LPCWSTR wszGroupName,LPCWSTR wszPath,LPCWSTR wszFilespec,BOOLEAN bRecursive,LPCWSTR wszAlternatePath,DWORD dwBackupTypeMask) PURE;
|
---|
163 | STDMETHOD_(HRESULT,AddIncludeFiles)(THIS) PURE;
|
---|
164 | STDMETHOD_(HRESULT,GetDocument)(THIS) PURE;
|
---|
165 | STDMETHOD_(HRESULT,SaveAsXML)(THIS_ BSTR *pbstrXML) PURE;
|
---|
166 | STDMETHOD_(HRESULT,SetBackupSchema)(THIS_ DWORD dsSchemaMask) PURE;
|
---|
167 | STDMETHOD_(HRESULT,SetRestoreMethod)(THIS_ VSS_RESTOREMETHOD_ENUM method,LPCWSTR wszService,LPCWSTR wszUserProcedure,VSS_WRITERRESTORE_ENUM wreWriterRestore,BOOLEAN bRebootRequired) PURE;
|
---|
168 |
|
---|
169 | END_INTERFACE
|
---|
170 | };
|
---|
171 |
|
---|
172 | #if (_WIN32_WINNT >= 0x600)
|
---|
173 | #undef INTERFACE
|
---|
174 | #define INTERFACE IVssCreateWriterMetadataEx
|
---|
175 | DECLARE_INTERFACE_(IVssCreateWriterMetadataEx,IVssCreateWriterMetadata)
|
---|
176 | {
|
---|
177 | BEGIN_INTERFACE
|
---|
178 |
|
---|
179 | /* IUnknown methods */
|
---|
180 | STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
|
---|
181 | STDMETHOD_(ULONG, AddRef)(THIS) PURE;
|
---|
182 | STDMETHOD_(ULONG, Release)(THIS) PURE;
|
---|
183 |
|
---|
184 | /* IVssCreateWriterMetadata methods */
|
---|
185 | STDMETHOD_(HRESULT,AddAlternateLocationMapping)(THIS_ LPCWSTR wszPath,LPCWSTR wszFilespec,BOOLEAN bRecursive,LPCWSTR wszDestination) PURE;
|
---|
186 | STDMETHOD_(HRESULT,AddComponent)(THIS_ VSS_COMPONENT_TYPE componentType,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszCaption,const BYTE *pbIcon,UINT cbIcon,BOOLEAN bRestoreMetadata,BOOLEAN bNotifyOnBackupComplete,BOOLEAN bSelectable,BOOLEAN bSelectableForRestore,DWORD dwComponentFlags) PURE;
|
---|
187 | STDMETHOD_(HRESULT,AddComponentDependency)(THIS_ LPCWSTR wszForLogicalPath,LPCWSTR wszForComponentName,VSS_ID onWriterId,LPCWSTR wszOnLogicalPath,LPCWSTR wszOnComponentName) PURE;
|
---|
188 | STDMETHOD_(HRESULT,AddDatabaseFiles)(THIS_ LPCWSTR wszLogicalPath,LPCWSTR wszDatabaseName,LPCWSTR wszPath,LPCWSTR wszFilespec,DWORD dwBackupTypeMask) PURE;
|
---|
189 | STDMETHOD_(HRESULT,AddDatabaseLogFiles)(THIS_ LPCWSTR wszLogicalPath,LPCWSTR wszDatabaseName,LPCWSTR wszPath,LPCWSTR wszFilespec,DWORD dwBackupTypeMask) PURE;
|
---|
190 | STDMETHOD_(HRESULT,AddExcludeFiles)(THIS_ LPCWSTR wszPath,LPCWSTR wszFilespec,BOOLEAN bRecursive) PURE;
|
---|
191 | STDMETHOD_(HRESULT,AddFilesToFileGroup)(THIS_ LPCWSTR wszLogicalPath,LPCWSTR wszGroupName,LPCWSTR wszPath,LPCWSTR wszFilespec,BOOLEAN bRecursive,LPCWSTR wszAlternatePath,DWORD dwBackupTypeMask) PURE;
|
---|
192 | STDMETHOD_(HRESULT,AddIncludeFiles)(THIS) PURE; /*Not supported*/
|
---|
193 | STDMETHOD_(HRESULT,GetDocument)(THIS) PURE; /*Not supported*/
|
---|
194 | STDMETHOD_(HRESULT,SaveAsXML)(THIS_ BSTR *pbstrXML) PURE;
|
---|
195 | STDMETHOD_(HRESULT,SetBackupSchema)(THIS_ DWORD dsSchemaMask) PURE;
|
---|
196 | STDMETHOD_(HRESULT,SetRestoreMethod)(THIS_ VSS_RESTOREMETHOD_ENUM method,LPCWSTR wszService,LPCWSTR wszUserProcedure,VSS_WRITERRESTORE_ENUM wreWriterRestore,BOOLEAN bRebootRequired) PURE;
|
---|
197 |
|
---|
198 | /* IVssCreateWriterMetadataEx methods */
|
---|
199 | STDMETHOD_(HRESULT,AddExcludeFilesFromSnapshot)(THIS_ LPCWSTR wszPath,LPCWSTR wszFilespec,BOOLEAN bRecursive) PURE;
|
---|
200 |
|
---|
201 | END_INTERFACE
|
---|
202 | };
|
---|
203 | #endif /*(_WIN32_WINNT >= 0x600)*/
|
---|
204 | #endif /*__cplusplus*/
|
---|
205 |
|
---|
206 | #if (_WIN32_WINNT >= 0x601)
|
---|
207 | #undef INTERFACE
|
---|
208 | #define INTERFACE IVssExpressWriter
|
---|
209 | #ifdef __GNUC__
|
---|
210 | #warning COM interfaces layout in this header has not been verified.
|
---|
211 | #warning COM interfaces with incorrect layout may not work at all.
|
---|
212 | __MINGW_BROKEN_INTERFACE(INTERFACE)
|
---|
213 | #endif
|
---|
214 | DECLARE_INTERFACE_(IVssExpressWriter,IUnknown)
|
---|
215 | {
|
---|
216 | BEGIN_INTERFACE
|
---|
217 |
|
---|
218 | /* IUnknown methods */
|
---|
219 | STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
|
---|
220 | STDMETHOD_(ULONG, AddRef)(THIS) PURE;
|
---|
221 | STDMETHOD_(ULONG, Release)(THIS) PURE;
|
---|
222 |
|
---|
223 | /* IVssExpressWriter methods */
|
---|
224 | STDMETHOD_(HRESULT,CreateMetadata)(THIS_ VSS_ID writerId,LPCWSTR writerName,VSS_USAGE_TYPE usageType,DWORD versionMajor,DWORD versionMinor,DWORD reserved,IVssCreateWriterMetadataEx **ppMetadata) PURE;
|
---|
225 | STDMETHOD_(HRESULT,Load)(THIS_ LPCWSTR metadata,DWORD reserved) PURE;
|
---|
226 | STDMETHOD_(HRESULT,Register)(THIS) PURE;
|
---|
227 | STDMETHOD_(HRESULT,Unregister)(THIS_ VSS_ID writerId) PURE;
|
---|
228 |
|
---|
229 | END_INTERFACE
|
---|
230 | };
|
---|
231 | #ifdef COBJMACROS
|
---|
232 | #define IVssExpressWriter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
|
---|
233 | #define IVssExpressWriter_AddRef(This) (This)->lpVtbl->AddRef(This)
|
---|
234 | #define IVssExpressWriter_Release(This) (This)->lpVtbl->Release(This)
|
---|
235 | #define IVssExpressWriter_CreateMetadata(This,writerId,writerName,usageType,versionMajor,versionMinor,reserved,ppMetadata) (This)->lpVtbl->CreateMetadata(This,writerId,writerName,usageType,versionMajor,versionMinor,reserved,ppMetadata)
|
---|
236 | #define IVssExpressWriter_Load(This,metadata,reserved) (This)->lpVtbl->Load(This,metadata,reserved)
|
---|
237 | #define IVssExpressWriter_Register() (This)->lpVtbl->Register(This)
|
---|
238 | #define IVssExpressWriter_Unregister(This,writerId) (This)->lpVtbl->Unregister(This,writerId)
|
---|
239 | #endif /*COBJMACROS*/
|
---|
240 | #endif /*(_WIN32_WINNT >= 0x601)*/
|
---|
241 |
|
---|
242 | #ifdef __cplusplus
|
---|
243 | /* Is a C++ interface instead of a COM */
|
---|
244 | #undef INTERFACE
|
---|
245 | #define INTERFACE IVssWriterComponents
|
---|
246 | #ifdef __GNUC__
|
---|
247 | #warning COM interfaces layout in this header has not been verified.
|
---|
248 | #warning COM interfaces with incorrect layout may not work at all.
|
---|
249 | __MINGW_BROKEN_INTERFACE(INTERFACE)
|
---|
250 | #endif
|
---|
251 | DECLARE_INTERFACE_(IVssWriterComponents,IUnknown)
|
---|
252 | {
|
---|
253 | BEGIN_INTERFACE
|
---|
254 |
|
---|
255 | /* IUnknown methods */
|
---|
256 | STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
|
---|
257 | STDMETHOD_(ULONG, AddRef)(THIS) PURE;
|
---|
258 | STDMETHOD_(ULONG, Release)(THIS) PURE;
|
---|
259 |
|
---|
260 | /* IVssWriterComponents methods */
|
---|
261 | STDMETHOD_(HRESULT,GetComponent)(THIS_ UINT iComponent,IVssComponent **ppComponent) PURE;
|
---|
262 | STDMETHOD_(HRESULT,GetComponentCount)(THIS_ UINT *pcComponents) PURE;
|
---|
263 | STDMETHOD_(HRESULT,GetWriterInfo)(THIS_ VSS_ID *pidInstance,VSS_ID *pidWriter) PURE;
|
---|
264 |
|
---|
265 | END_INTERFACE
|
---|
266 | };
|
---|
267 | #endif /*__cplusplus*/
|
---|
268 |
|
---|
269 | #undef INTERFACE
|
---|
270 | #define INTERFACE IVssComponent
|
---|
271 | #ifdef __GNUC__
|
---|
272 | #warning COM interfaces layout in this header has not been verified.
|
---|
273 | #warning COM interfaces with incorrect layout may not work at all.
|
---|
274 | __MINGW_BROKEN_INTERFACE(INTERFACE)
|
---|
275 | #endif
|
---|
276 | DECLARE_INTERFACE_(IVssComponent,IUnknown)
|
---|
277 | {
|
---|
278 | BEGIN_INTERFACE
|
---|
279 |
|
---|
280 | /* IUnknown methods */
|
---|
281 | STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
|
---|
282 | STDMETHOD_(ULONG, AddRef)(THIS) PURE;
|
---|
283 | STDMETHOD_(ULONG, Release)(THIS) PURE;
|
---|
284 |
|
---|
285 | /* IVssComponent methods */
|
---|
286 | STDMETHOD_(HRESULT,GetLogicalPath)(THIS_ BSTR *pbstrPath) PURE;
|
---|
287 | STDMETHOD_(HRESULT,GetComponentType)(THIS_ VSS_COMPONENT_TYPE *pType) PURE;
|
---|
288 | STDMETHOD_(HRESULT,GetComponentName)(THIS_ BSTR *pwszName) PURE;
|
---|
289 | STDMETHOD_(HRESULT,GetBackupSucceeded)(THIS_ BOOLEAN *pbSucceeded) PURE;
|
---|
290 | STDMETHOD_(HRESULT,GetAlternateLocationMappingCount)(THIS_ UINT *pcMappings) PURE;
|
---|
291 | STDMETHOD_(HRESULT,GetAlternateLocationMapping)(THIS_ UINT iMapping,const IVssWMFiledesc **ppMapping) PURE;
|
---|
292 | STDMETHOD_(HRESULT,SetBackupMetadata)(THIS_ BSTR bstrMetadata) PURE;
|
---|
293 | STDMETHOD_(HRESULT,GetBackupMetadata)(THIS_ BSTR *pbstrMetadata) PURE;
|
---|
294 | STDMETHOD_(HRESULT,AddPartialFile)(THIS_ LPCWSTR wszPath,LPCWSTR wszFilename,LPCWSTR wszRanges,LPCWSTR wszMetadata) PURE;
|
---|
295 | STDMETHOD_(HRESULT,GetPartialFileCount)(THIS_ UINT *pcPartialFiles) PURE;
|
---|
296 | STDMETHOD_(HRESULT,GetPartialFile)(THIS_ UINT iPartialFile,BSTR *pbstrPath,BSTR *pbstrFilename,BSTR *pbstrRange,BSTR *pbstrMetadata) PURE;
|
---|
297 | STDMETHOD_(HRESULT,IsSelectedForRestore)(THIS_ BOOLEAN *pbSelectedForRestore) PURE;
|
---|
298 | STDMETHOD_(HRESULT,GetAdditionalRestores)(THIS_ BOOLEAN *pbAdditionalRestores) PURE;
|
---|
299 | STDMETHOD_(HRESULT,GetNewTargetCount)(THIS_ UINT *pcNewTarget) PURE;
|
---|
300 | STDMETHOD_(HRESULT,GetNewTarget)(THIS_ UINT iMapping,IVssWMFiledesc **ppFiledesc) PURE;
|
---|
301 | STDMETHOD_(HRESULT,AddDirectedTarget)(THIS_ LPCWSTR wszSourcePath,LPCWSTR wszSourceFilename,LPCWSTR wszSourceRangeList,LPCWSTR wszDestinationPath,LPCWSTR wszDestinationFilename,LPCWSTR wszDestinationRangeList) PURE;
|
---|
302 | STDMETHOD_(HRESULT,GetDirectedTargetCount)(THIS_ UINT *pcDirectedTarget) PURE;
|
---|
303 | STDMETHOD_(HRESULT,GetDirectedTarget)(THIS_ UINT iDirectedTarget,BSTR *pbstrSourcePath,BSTR *pbstrSourceFileName,BSTR *pbstrSourceRangeList,BSTR *pbstrDestinationPath,BSTR *pbstrDestinationFilename,BSTR *pbstrDestinationRangeList) PURE;
|
---|
304 | STDMETHOD_(HRESULT,SetRestoreMetadata)(THIS_ LPCWSTR wszRestoreMetadata) PURE;
|
---|
305 | STDMETHOD_(HRESULT,GetRestoreMetadata)(THIS_ BSTR *pbstrRestoreMetadata) PURE;
|
---|
306 | STDMETHOD_(HRESULT,SetRestoreTarget)(THIS_ VSS_RESTORE_TARGET target) PURE;
|
---|
307 | STDMETHOD_(HRESULT,GetRestoreTarget)(THIS_ VSS_RESTORE_TARGET *pTarget) PURE;
|
---|
308 | STDMETHOD_(HRESULT,SetPreRestoreFailureMsg)(THIS_ LPCWSTR wszPreRestoreFailureMsg) PURE;
|
---|
309 | STDMETHOD_(HRESULT,GetPreRestoreFailureMsg)(THIS_ BSTR *pbstrPreRestoreFailureMsg) PURE;
|
---|
310 | STDMETHOD_(HRESULT,SetPostRestoreFailureMsg)(THIS_ LPCWSTR wszPostRestoreFailureMsg) PURE;
|
---|
311 | STDMETHOD_(HRESULT,GetPostRestoreFailureMsg)(THIS_ BSTR *pbstrPostRestoreFailureMsg) PURE;
|
---|
312 | STDMETHOD_(HRESULT,SetBackupStamp)(THIS_ LPCWSTR wszBackupStamp) PURE;
|
---|
313 | STDMETHOD_(HRESULT,GetBackupStamp)(THIS_ BSTR *pbstrBackupStamp) PURE;
|
---|
314 | STDMETHOD_(HRESULT,GetPreviousBackupStamp)(THIS_ BSTR *pbstrBackupStamp) PURE;
|
---|
315 | STDMETHOD_(HRESULT,GetBackupOptions)(THIS_ BSTR *pbstrBackupOptions) PURE;
|
---|
316 | STDMETHOD_(HRESULT,GetRestoreOptions)(THIS_ BSTR *pbstrRestoreOptions) PURE;
|
---|
317 | STDMETHOD_(HRESULT,GetRestoreSubcomponentCount)(THIS_ UINT *pcRestoreSubcomponent) PURE;
|
---|
318 | STDMETHOD_(HRESULT,GetRestoreSubcomponent)(THIS_ UINT iComponent,BSTR *pbstrLogicalPath,BSTR *pbstrComponentName,BOOLEAN *pbRepair) PURE;
|
---|
319 | STDMETHOD_(HRESULT,GetFileRestoreStatus)(THIS_ VSS_FILE_RESTORE_STATUS *pStatus) PURE;
|
---|
320 | STDMETHOD_(HRESULT,AddDifferencedFilesByLastModifyTime)(THIS_ LPCWSTR wszPath,LPCWSTR wszFilespec,WINBOOL bRecursive,FILETIME ftLastModifyTime) PURE;
|
---|
321 | STDMETHOD_(HRESULT,AddDifferencedFilesByLastModifyLSN)(THIS) PURE;
|
---|
322 | STDMETHOD_(HRESULT,GetDifferencedFilesCount)(THIS_ UINT *pcDifferencedFiles) PURE;
|
---|
323 | STDMETHOD_(HRESULT,GetDifferencedFile)(THIS_ UINT iDifferencedFile,BSTR *pbstrPath,BSTR *pbstrFilespec,WINBOOL *pbRecursive,BSTR *pbstrLsnString,FILETIME *pftLastModifyTime) PURE;
|
---|
324 |
|
---|
325 | END_INTERFACE
|
---|
326 | };
|
---|
327 | #ifdef COBJMACROS
|
---|
328 | #define IVssComponent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
|
---|
329 | #define IVssComponent_AddRef(This) (This)->lpVtbl->AddRef(This)
|
---|
330 | #define IVssComponent_Release(This) (This)->lpVtbl->Release(This)
|
---|
331 | #define IVssComponent_GetLogicalPath(This,pbstrPath) (This)->lpVtbl->GetLogicalPath(This,pbstrPath)
|
---|
332 | #define IVssComponent_GetComponentType(This,pType) (This)->lpVtbl->GetComponentType(This,pType)
|
---|
333 | #define IVssComponent_GetComponentName(This,pwszName) (This)->lpVtbl->GetComponentName(This,pwszName)
|
---|
334 | #define IVssComponent_GetBackupSucceeded(This,pbSucceeded) (This)->lpVtbl->GetBackupSucceeded(This,pbSucceeded)
|
---|
335 | #define IVssComponent_GetAlternateLocationMappingCount(This,pcMappings) (This)->lpVtbl->GetAlternateLocationMappingCount(This,pcMappings)
|
---|
336 | #define IVssComponent_GetAlternateLocationMapping(This,iMapping,ppMapping) (This)->lpVtbl->GetAlternateLocationMapping(This,iMapping,ppMapping)
|
---|
337 | #define IVssComponent_SetBackupMetadata(This,bstrMetadata) (This)->lpVtbl->SetBackupMetadata(This,bstrMetadata)
|
---|
338 | #define IVssComponent_GetBackupMetadata(This,pbstrMetadata) (This)->lpVtbl->GetBackupMetadata(This,pbstrMetadata)
|
---|
339 | #define IVssComponent_AddPartialFile(This,wszPath,wszFilename,wszRanges,wszMetadata) (This)->lpVtbl->AddPartialFile(This,wszPath,wszFilename,wszRanges,wszMetadata)
|
---|
340 | #define IVssComponent_GetPartialFileCount(This,pcPartialFiles) (This)->lpVtbl->GetPartialFileCount(This,pcPartialFiles)
|
---|
341 | #define IVssComponent_GetPartialFile(This,iPartialFile,pbstrPath,pbstrFilename,pbstrRange,pbstrMetadata) (This)->lpVtbl->GetPartialFile(This,iPartialFile,pbstrPath,pbstrFilename,pbstrRange,pbstrMetadata)
|
---|
342 | #define IVssComponent_IsSelectedForRestore(This,pbSelectedForRestore) (This)->lpVtbl->IsSelectedForRestore(This,pbSelectedForRestore)
|
---|
343 | #define IVssComponent_GetAdditionalRestores(This,pbAdditionalRestores) (This)->lpVtbl->GetAdditionalRestores(This,pbAdditionalRestores)
|
---|
344 | #define IVssComponent_GetNewTargetCount(This,pcNewTarget) (This)->lpVtbl->GetNewTargetCount(This,pcNewTarget)
|
---|
345 | #define IVssComponent_GetNewTarget(This,iMapping,ppFiledesc) (This)->lpVtbl->GetNewTarget(This,iMapping,ppFiledesc)
|
---|
346 | #define IVssComponent_AddDirectedTarget(This,wszSourcePath,wszSourceFilename,wszSourceRangeList,wszDestinationPath,wszDestinationFilename,wszDestinationRangeList) (This)->lpVtbl->AddDirectedTarget(This,wszSourcePath,wszSourceFilename,wszSourceRangeList,wszDestinationPath,wszDestinationFilename,wszDestinationRangeList)
|
---|
347 | #define IVssComponent_GetDirectedTargetCount(This,pcDirectedTarget) (This)->lpVtbl->GetDirectedTargetCount(This,pcDirectedTarget)
|
---|
348 | #define IVssComponent_GetDirectedTarget(This,iDirectedTarget,pbstrSourcePath,pbstrSourceFileName,pbstrSourceRangeList,pbstrDestinationPath,pbstrDestinationFilename,pbstrDestinationRangeList) (This)->lpVtbl->GetDirectedTarget(This,iDirectedTarget,pbstrSourcePath,pbstrSourceFileName,pbstrSourceRangeList,pbstrDestinationPath,pbstrDestinationFilename,pbstrDestinationRangeList)
|
---|
349 | #define IVssComponent_SetRestoreMetadata(This,wszRestoreMetadata) (This)->lpVtbl->SetRestoreMetadata(This,wszRestoreMetadata)
|
---|
350 | #define IVssComponent_GetRestoreMetadata(This,pbstrRestoreMetadata) (This)->lpVtbl->GetRestoreMetadata(This,pbstrRestoreMetadata)
|
---|
351 | #define IVssComponent_SetRestoreTarget(This,target) (This)->lpVtbl->SetRestoreTarget(This,target)
|
---|
352 | #define IVssComponent_GetRestoreTarget(This,pTarget) (This)->lpVtbl->GetRestoreTarget(This,pTarget)
|
---|
353 | #define IVssComponent_SetPreRestoreFailureMsg(This,wszPreRestoreFailureMsg) (This)->lpVtbl->SetPreRestoreFailureMsg(This,wszPreRestoreFailureMsg)
|
---|
354 | #define IVssComponent_GetPreRestoreFailureMsg(This,pbstrPreRestoreFailureMsg) (This)->lpVtbl->GetPreRestoreFailureMsg(This,pbstrPreRestoreFailureMsg)
|
---|
355 | #define IVssComponent_SetPostRestoreFailureMsg(This,wszPostRestoreFailureMsg) (This)->lpVtbl->SetPostRestoreFailureMsg(This,wszPostRestoreFailureMsg)
|
---|
356 | #define IVssComponent_GetPostRestoreFailureMsg(This,pbstrPostRestoreFailureMsg) (This)->lpVtbl->GetPostRestoreFailureMsg(This,pbstrPostRestoreFailureMsg)
|
---|
357 | #define IVssComponent_SetBackupStamp(This,wszBackupStamp) (This)->lpVtbl->SetBackupStamp(This,wszBackupStamp)
|
---|
358 | #define IVssComponent_GetBackupStamp(This,pbstrBackupStamp) (This)->lpVtbl->GetBackupStamp(This,pbstrBackupStamp)
|
---|
359 | #define IVssComponent_GetPreviousBackupStamp(This,pbstrBackupStamp) (This)->lpVtbl->GetPreviousBackupStamp(This,pbstrBackupStamp)
|
---|
360 | #define IVssComponent_GetBackupOptions(This,pbstrBackupOptions) (This)->lpVtbl->GetBackupOptions(This,pbstrBackupOptions)
|
---|
361 | #define IVssComponent_GetRestoreOptions(This,pbstrRestoreOptions) (This)->lpVtbl->GetRestoreOptions(This,pbstrRestoreOptions)
|
---|
362 | #define IVssComponent_GetRestoreSubcomponentCount(This,pcRestoreSubcomponent) (This)->lpVtbl->GetRestoreSubcomponentCount(This,pcRestoreSubcomponent)
|
---|
363 | #define IVssComponent_GetRestoreSubcomponent(This,iComponent,pbstrLogicalPath,pbstrComponentName,pbRepair) (This)->lpVtbl->GetRestoreSubcomponent(This,iComponent,pbstrLogicalPath,pbstrComponentName,pbRepair)
|
---|
364 | #define IVssComponent_GetFileRestoreStatus(This,pStatus) (This)->lpVtbl->GetFileRestoreStatus(This,pStatus)
|
---|
365 | #define IVssComponent_AddDifferencedFilesByLastModifyTime(This,wszPath,wszFilespec,bRecursive,ftLastModifyTime) (This)->lpVtbl->AddDifferencedFilesByLastModifyTime(This,wszPath,wszFilespec,bRecursive,ftLastModifyTime)
|
---|
366 | #define IVssComponent_AddDifferencedFilesByLastModifyLSN() (This)->lpVtbl->AddDifferencedFilesByLastModifyLSN(This)
|
---|
367 | #define IVssComponent_GetDifferencedFilesCount(This,pcDifferencedFiles) (This)->lpVtbl->GetDifferencedFilesCount(This,pcDifferencedFiles)
|
---|
368 | #define IVssComponent_GetDifferencedFile(This,iDifferencedFile,pbstrPath,pbstrFilespec,pbRecursive,pbstrLsnString,pftLastModifyTime) (This)->lpVtbl->GetDifferencedFile(This,iDifferencedFile,pbstrPath,pbstrFilespec,pbRecursive,pbstrLsnString,pftLastModifyTime)
|
---|
369 | #endif /*COBJMACROS*/
|
---|
370 |
|
---|
371 | #if (_WIN32_WINNT >= 0x600)
|
---|
372 | #undef INTERFACE
|
---|
373 | #define INTERFACE IVssComponentEx
|
---|
374 | #ifdef __GNUC__
|
---|
375 | #warning COM interfaces layout in this header has not been verified.
|
---|
376 | #warning COM interfaces with incorrect layout may not work at all.
|
---|
377 | __MINGW_BROKEN_INTERFACE(INTERFACE)
|
---|
378 | #endif
|
---|
379 | DECLARE_INTERFACE_(IVssComponentEx,IVssComponent)
|
---|
380 | {
|
---|
381 | BEGIN_INTERFACE
|
---|
382 |
|
---|
383 | /* IUnknown methods */
|
---|
384 | STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
|
---|
385 | STDMETHOD_(ULONG, AddRef)(THIS) PURE;
|
---|
386 | STDMETHOD_(ULONG, Release)(THIS) PURE;
|
---|
387 |
|
---|
388 | /* IVssComponent methods */
|
---|
389 | STDMETHOD_(HRESULT,GetLogicalPath)(THIS_ BSTR *pbstrPath) PURE;
|
---|
390 | STDMETHOD_(HRESULT,GetComponentType)(THIS_ VSS_COMPONENT_TYPE *pType) PURE;
|
---|
391 | STDMETHOD_(HRESULT,GetComponentName)(THIS_ BSTR *pwszName) PURE;
|
---|
392 | STDMETHOD_(HRESULT,GetBackupSucceeded)(THIS_ BOOLEAN *pbSucceeded) PURE;
|
---|
393 | STDMETHOD_(HRESULT,GetAlternateLocationMappingCount)(THIS_ UINT *pcMappings) PURE;
|
---|
394 | STDMETHOD_(HRESULT,GetAlternateLocationMapping)(THIS_ UINT iMapping,const IVssWMFiledesc **ppMapping) PURE;
|
---|
395 | STDMETHOD_(HRESULT,SetBackupMetadata)(THIS_ BSTR bstrMetadata) PURE;
|
---|
396 | STDMETHOD_(HRESULT,GetBackupMetadata)(THIS_ BSTR *pbstrMetadata) PURE;
|
---|
397 | STDMETHOD_(HRESULT,AddPartialFile)(THIS_ LPCWSTR wszPath,LPCWSTR wszFilename,LPCWSTR wszRanges,LPCWSTR wszMetadata) PURE;
|
---|
398 | STDMETHOD_(HRESULT,GetPartialFileCount)(THIS_ UINT *pcPartialFiles) PURE;
|
---|
399 | STDMETHOD_(HRESULT,GetPartialFile)(THIS_ UINT iPartialFile,BSTR *pbstrPath,BSTR *pbstrFilename,BSTR *pbstrRange,BSTR *pbstrMetadata) PURE;
|
---|
400 | STDMETHOD_(HRESULT,IsSelectedForRestore)(THIS_ BOOLEAN *pbSelectedForRestore) PURE;
|
---|
401 | STDMETHOD_(HRESULT,GetAdditionalRestores)(THIS_ BOOLEAN *pbAdditionalRestores) PURE;
|
---|
402 | STDMETHOD_(HRESULT,GetNewTargetCount)(THIS_ UINT *pcNewTarget) PURE;
|
---|
403 | STDMETHOD_(HRESULT,GetNewTarget)(THIS_ UINT iMapping,IVssWMFiledesc **ppFiledesc) PURE;
|
---|
404 | STDMETHOD_(HRESULT,AddDirectedTarget)(THIS_ LPCWSTR wszSourcePath,LPCWSTR wszSourceFilename,LPCWSTR wszSourceRangeList,LPCWSTR wszDestinationPath,LPCWSTR wszDestinationFilename,LPCWSTR wszDestinationRangeList) PURE;
|
---|
405 | STDMETHOD_(HRESULT,GetDirectedTargetCount)(THIS_ UINT *pcDirectedTarget) PURE;
|
---|
406 | STDMETHOD_(HRESULT,GetDirectedTarget)(THIS_ UINT iDirectedTarget,BSTR *pbstrSourcePath,BSTR *pbstrSourceFileName,BSTR *pbstrSourceRangeList,BSTR *pbstrDestinationPath,BSTR *pbstrDestinationFilename,BSTR *pbstrDestinationRangeList) PURE;
|
---|
407 | STDMETHOD_(HRESULT,SetRestoreMetadata)(THIS_ LPCWSTR wszRestoreMetadata) PURE;
|
---|
408 | STDMETHOD_(HRESULT,GetRestoreMetadata)(THIS_ BSTR *pbstrRestoreMetadata) PURE;
|
---|
409 | STDMETHOD_(HRESULT,SetRestoreTarget)(THIS_ VSS_RESTORE_TARGET target) PURE;
|
---|
410 | STDMETHOD_(HRESULT,GetRestoreTarget)(THIS_ VSS_RESTORE_TARGET *pTarget) PURE;
|
---|
411 | STDMETHOD_(HRESULT,SetPreRestoreFailureMsg)(THIS_ LPCWSTR wszPreRestoreFailureMsg) PURE;
|
---|
412 | STDMETHOD_(HRESULT,GetPreRestoreFailureMsg)(THIS_ BSTR *pbstrPreRestoreFailureMsg) PURE;
|
---|
413 | STDMETHOD_(HRESULT,SetPostRestoreFailureMsg)(THIS_ LPCWSTR wszPostRestoreFailureMsg) PURE;
|
---|
414 | STDMETHOD_(HRESULT,GetPostRestoreFailureMsg)(THIS_ BSTR *pbstrPostRestoreFailureMsg) PURE;
|
---|
415 | STDMETHOD_(HRESULT,SetBackupStamp)(THIS_ LPCWSTR wszBackupStamp) PURE;
|
---|
416 | STDMETHOD_(HRESULT,GetBackupStamp)(THIS_ BSTR *pbstrBackupStamp) PURE;
|
---|
417 | STDMETHOD_(HRESULT,GetPreviousBackupStamp)(THIS_ BSTR *pbstrBackupStamp) PURE;
|
---|
418 | STDMETHOD_(HRESULT,GetBackupOptions)(THIS_ BSTR *pbstrBackupOptions) PURE;
|
---|
419 | STDMETHOD_(HRESULT,GetRestoreOptions)(THIS_ BSTR *pbstrRestoreOptions) PURE;
|
---|
420 | STDMETHOD_(HRESULT,GetRestoreSubcomponentCount)(THIS_ UINT *pcRestoreSubcomponent) PURE;
|
---|
421 | STDMETHOD_(HRESULT,GetRestoreSubcomponent)(THIS_ UINT iComponent,BSTR *pbstrLogicalPath,BSTR *pbstrComponentName,BOOLEAN *pbRepair) PURE;
|
---|
422 | STDMETHOD_(HRESULT,GetFileRestoreStatus)(THIS_ VSS_FILE_RESTORE_STATUS *pStatus) PURE;
|
---|
423 | STDMETHOD_(HRESULT,AddDifferencedFilesByLastModifyTime)(THIS_ LPCWSTR wszPath,LPCWSTR wszFilespec,WINBOOL bRecursive,FILETIME ftLastModifyTime) PURE;
|
---|
424 | STDMETHOD_(HRESULT,AddDifferencedFilesByLastModifyLSN)(THIS) PURE;
|
---|
425 | STDMETHOD_(HRESULT,GetDifferencedFilesCount)(THIS_ UINT *pcDifferencedFiles) PURE;
|
---|
426 | STDMETHOD_(HRESULT,GetDifferencedFile)(THIS_ UINT iDifferencedFile,BSTR *pbstrPath,BSTR *pbstrFilespec,WINBOOL *pbRecursive,BSTR *pbstrLsnString,FILETIME *pftLastModifyTime) PURE;
|
---|
427 |
|
---|
428 | /* IVssComponentEx methods */
|
---|
429 | STDMETHOD_(HRESULT,SetPrepareForBackupFailureMsg)(THIS_ LPCWSTR wszFailureMsg) PURE;
|
---|
430 | STDMETHOD_(HRESULT,SetPostSnapshotFailureMsg)(THIS_ LPCWSTR wszFailureMsg) PURE;
|
---|
431 | STDMETHOD_(HRESULT,GetPrepareForBackupFailureMsg)(THIS_ BSTR *pbstrFailureMsg) PURE;
|
---|
432 | STDMETHOD_(HRESULT,GetPostSnapshotFailureMsg)(THIS_ BSTR *pbstrFailureMsg) PURE;
|
---|
433 | STDMETHOD_(HRESULT,GetAuthoritativeRestore)(THIS_ BOOLEAN *pbAuth) PURE;
|
---|
434 | STDMETHOD_(HRESULT,GetRollForward)(THIS_ VSS_ROLLFORWARD_TYPE *pRollType,BSTR *pbstrPoint) PURE;
|
---|
435 | STDMETHOD_(HRESULT,GetRestoreName)(THIS_ BSTR *pbstrName) PURE;
|
---|
436 |
|
---|
437 | END_INTERFACE
|
---|
438 | };
|
---|
439 | #ifdef COBJMACROS
|
---|
440 | #define IVssComponentEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
|
---|
441 | #define IVssComponentEx_AddRef(This) (This)->lpVtbl->AddRef(This)
|
---|
442 | #define IVssComponentEx_Release(This) (This)->lpVtbl->Release(This)
|
---|
443 | #define IVssComponentEx_GetLogicalPath(This,pbstrPath) (This)->lpVtbl->GetLogicalPath(This,pbstrPath)
|
---|
444 | #define IVssComponentEx_GetComponentType(This,pType) (This)->lpVtbl->GetComponentType(This,pType)
|
---|
445 | #define IVssComponentEx_GetComponentName(This,pwszName) (This)->lpVtbl->GetComponentName(This,pwszName)
|
---|
446 | #define IVssComponentEx_GetBackupSucceeded(This,pbSucceeded) (This)->lpVtbl->GetBackupSucceeded(This,pbSucceeded)
|
---|
447 | #define IVssComponentEx_GetAlternateLocationMappingCount(This,pcMappings) (This)->lpVtbl->GetAlternateLocationMappingCount(This,pcMappings)
|
---|
448 | #define IVssComponentEx_GetAlternateLocationMapping(This,iMapping,ppMapping) (This)->lpVtbl->GetAlternateLocationMapping(This,iMapping,ppMapping)
|
---|
449 | #define IVssComponentEx_SetBackupMetadata(This,bstrMetadata) (This)->lpVtbl->SetBackupMetadata(This,bstrMetadata)
|
---|
450 | #define IVssComponentEx_GetBackupMetadata(This,pbstrMetadata) (This)->lpVtbl->GetBackupMetadata(This,pbstrMetadata)
|
---|
451 | #define IVssComponentEx_AddPartialFile(This,wszPath,wszFilename,wszRanges,wszMetadata) (This)->lpVtbl->AddPartialFile(This,wszPath,wszFilename,wszRanges,wszMetadata)
|
---|
452 | #define IVssComponentEx_GetPartialFileCount(This,pcPartialFiles) (This)->lpVtbl->GetPartialFileCount(This,pcPartialFiles)
|
---|
453 | #define IVssComponentEx_GetPartialFile(This,iPartialFile,pbstrPath,pbstrFilename,pbstrRange,pbstrMetadata) (This)->lpVtbl->GetPartialFile(This,iPartialFile,pbstrPath,pbstrFilename,pbstrRange,pbstrMetadata)
|
---|
454 | #define IVssComponentEx_IsSelectedForRestore(This,pbSelectedForRestore) (This)->lpVtbl->IsSelectedForRestore(This,pbSelectedForRestore)
|
---|
455 | #define IVssComponentEx_GetAdditionalRestores(This,pbAdditionalRestores) (This)->lpVtbl->GetAdditionalRestores(This,pbAdditionalRestores)
|
---|
456 | #define IVssComponentEx_GetNewTargetCount(This,pcNewTarget) (This)->lpVtbl->GetNewTargetCount(This,pcNewTarget)
|
---|
457 | #define IVssComponentEx_GetNewTarget(This,iMapping,ppFiledesc) (This)->lpVtbl->GetNewTarget(This,iMapping,ppFiledesc)
|
---|
458 | #define IVssComponentEx_AddDirectedTarget(This,wszSourcePath,wszSourceFilename,wszSourceRangeList,wszDestinationPath,wszDestinationFilename,wszDestinationRangeList) (This)->lpVtbl->AddDirectedTarget(This,wszSourcePath,wszSourceFilename,wszSourceRangeList,wszDestinationPath,wszDestinationFilename,wszDestinationRangeList)
|
---|
459 | #define IVssComponentEx_GetDirectedTargetCount(This,pcDirectedTarget) (This)->lpVtbl->GetDirectedTargetCount(This,pcDirectedTarget)
|
---|
460 | #define IVssComponentEx_GetDirectedTarget(This,iDirectedTarget,pbstrSourcePath,pbstrSourceFileName,pbstrSourceRangeList,pbstrDestinationPath,pbstrDestinationFilename,pbstrDestinationRangeList) (This)->lpVtbl->GetDirectedTarget(This,iDirectedTarget,pbstrSourcePath,pbstrSourceFileName,pbstrSourceRangeList,pbstrDestinationPath,pbstrDestinationFilename,pbstrDestinationRangeList)
|
---|
461 | #define IVssComponentEx_SetRestoreMetadata(This,wszRestoreMetadata) (This)->lpVtbl->SetRestoreMetadata(This,wszRestoreMetadata)
|
---|
462 | #define IVssComponentEx_GetRestoreMetadata(This,pbstrRestoreMetadata) (This)->lpVtbl->GetRestoreMetadata(This,pbstrRestoreMetadata)
|
---|
463 | #define IVssComponentEx_SetRestoreTarget(This,target) (This)->lpVtbl->SetRestoreTarget(This,target)
|
---|
464 | #define IVssComponentEx_GetRestoreTarget(This,pTarget) (This)->lpVtbl->GetRestoreTarget(This,pTarget)
|
---|
465 | #define IVssComponentEx_SetPreRestoreFailureMsg(This,wszPreRestoreFailureMsg) (This)->lpVtbl->SetPreRestoreFailureMsg(This,wszPreRestoreFailureMsg)
|
---|
466 | #define IVssComponentEx_GetPreRestoreFailureMsg(This,pbstrPreRestoreFailureMsg) (This)->lpVtbl->GetPreRestoreFailureMsg(This,pbstrPreRestoreFailureMsg)
|
---|
467 | #define IVssComponentEx_SetPostRestoreFailureMsg(This,wszPostRestoreFailureMsg) (This)->lpVtbl->SetPostRestoreFailureMsg(This,wszPostRestoreFailureMsg)
|
---|
468 | #define IVssComponentEx_GetPostRestoreFailureMsg(This,pbstrPostRestoreFailureMsg) (This)->lpVtbl->GetPostRestoreFailureMsg(This,pbstrPostRestoreFailureMsg)
|
---|
469 | #define IVssComponentEx_SetBackupStamp(This,wszBackupStamp) (This)->lpVtbl->SetBackupStamp(This,wszBackupStamp)
|
---|
470 | #define IVssComponentEx_GetBackupStamp(This,pbstrBackupStamp) (This)->lpVtbl->GetBackupStamp(This,pbstrBackupStamp)
|
---|
471 | #define IVssComponentEx_GetPreviousBackupStamp(This,pbstrBackupStamp) (This)->lpVtbl->GetPreviousBackupStamp(This,pbstrBackupStamp)
|
---|
472 | #define IVssComponentEx_GetBackupOptions(This,pbstrBackupOptions) (This)->lpVtbl->GetBackupOptions(This,pbstrBackupOptions)
|
---|
473 | #define IVssComponentEx_GetRestoreOptions(This,pbstrRestoreOptions) (This)->lpVtbl->GetRestoreOptions(This,pbstrRestoreOptions)
|
---|
474 | #define IVssComponentEx_GetRestoreSubcomponentCount(This,pcRestoreSubcomponent) (This)->lpVtbl->GetRestoreSubcomponentCount(This,pcRestoreSubcomponent)
|
---|
475 | #define IVssComponentEx_GetRestoreSubcomponent(This,iComponent,pbstrLogicalPath,pbstrComponentName,pbRepair) (This)->lpVtbl->GetRestoreSubcomponent(This,iComponent,pbstrLogicalPath,pbstrComponentName,pbRepair)
|
---|
476 | #define IVssComponentEx_GetFileRestoreStatus(This,pStatus) (This)->lpVtbl->GetFileRestoreStatus(This,pStatus)
|
---|
477 | #define IVssComponentEx_AddDifferencedFilesByLastModifyTime(This,wszPath,wszFilespec,bRecursive,ftLastModifyTime) (This)->lpVtbl->AddDifferencedFilesByLastModifyTime(This,wszPath,wszFilespec,bRecursive,ftLastModifyTime)
|
---|
478 | #define IVssComponentEx_AddDifferencedFilesByLastModifyLSN() (This)->lpVtbl->AddDifferencedFilesByLastModifyLSN(This)
|
---|
479 | #define IVssComponentEx_GetDifferencedFilesCount(This,pcDifferencedFiles) (This)->lpVtbl->GetDifferencedFilesCount(This,pcDifferencedFiles)
|
---|
480 | #define IVssComponentEx_GetDifferencedFile(This,iDifferencedFile,pbstrPath,pbstrFilespec,pbRecursive,pbstrLsnString,pftLastModifyTime) (This)->lpVtbl->GetDifferencedFile(This,iDifferencedFile,pbstrPath,pbstrFilespec,pbRecursive,pbstrLsnString,pftLastModifyTime)
|
---|
481 | #define IVssComponentEx_SetPrepareForBackupFailureMsg(This,wszFailureMsg) (This)->lpVtbl->SetPrepareForBackupFailureMsg(This,wszFailureMsg)
|
---|
482 | #define IVssComponentEx_SetPostSnapshotFailureMsg(This,wszFailureMsg) (This)->lpVtbl->SetPostSnapshotFailureMsg(This,wszFailureMsg)
|
---|
483 | #define IVssComponentEx_GetPrepareForBackupFailureMsg(This,pbstrFailureMsg) (This)->lpVtbl->GetPrepareForBackupFailureMsg(This,pbstrFailureMsg)
|
---|
484 | #define IVssComponentEx_GetPostSnapshotFailureMsg(This,pbstrFailureMsg) (This)->lpVtbl->GetPostSnapshotFailureMsg(This,pbstrFailureMsg)
|
---|
485 | #define IVssComponentEx_GetAuthoritativeRestore(This,pbAuth) (This)->lpVtbl->GetAuthoritativeRestore(This,pbAuth)
|
---|
486 | #define IVssComponentEx_GetRollForward(This,pRollType,pbstrPoint) (This)->lpVtbl->GetRollForward(This,pRollType,pbstrPoint)
|
---|
487 | #define IVssComponentEx_GetRestoreName(This,pbstrName) (This)->lpVtbl->GetRestoreName(This,pbstrName)
|
---|
488 | #endif /*COBJMACROS*/
|
---|
489 | #endif /*(_WIN32_WINNT >= 0x600)*/
|
---|
490 |
|
---|
491 | #if (_WIN32_WINNT >= 0x601)
|
---|
492 | #undef INTERFACE
|
---|
493 | #define INTERFACE IVssComponentEx2
|
---|
494 | #ifdef __GNUC__
|
---|
495 | #warning COM interfaces layout in this header has not been verified.
|
---|
496 | #warning COM interfaces with incorrect layout may not work at all.
|
---|
497 | __MINGW_BROKEN_INTERFACE(INTERFACE)
|
---|
498 | #endif
|
---|
499 | DECLARE_INTERFACE_(IVssComponentEx2,IVssComponentEx)
|
---|
500 | {
|
---|
501 | BEGIN_INTERFACE
|
---|
502 |
|
---|
503 | /* IUnknown methods */
|
---|
504 | STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
|
---|
505 | STDMETHOD_(ULONG, AddRef)(THIS) PURE;
|
---|
506 | STDMETHOD_(ULONG, Release)(THIS) PURE;
|
---|
507 |
|
---|
508 | /* IVssComponent methods */
|
---|
509 | STDMETHOD_(HRESULT,GetLogicalPath)(THIS_ BSTR *pbstrPath) PURE;
|
---|
510 | STDMETHOD_(HRESULT,GetComponentType)(THIS_ VSS_COMPONENT_TYPE *pType) PURE;
|
---|
511 | STDMETHOD_(HRESULT,GetComponentName)(THIS_ BSTR *pwszName) PURE;
|
---|
512 | STDMETHOD_(HRESULT,GetBackupSucceeded)(THIS_ BOOLEAN *pbSucceeded) PURE;
|
---|
513 | STDMETHOD_(HRESULT,GetAlternateLocationMappingCount)(THIS_ UINT *pcMappings) PURE;
|
---|
514 | STDMETHOD_(HRESULT,GetAlternateLocationMapping)(THIS_ UINT iMapping,const IVssWMFiledesc **ppMapping) PURE;
|
---|
515 | STDMETHOD_(HRESULT,SetBackupMetadata)(THIS_ BSTR bstrMetadata) PURE;
|
---|
516 | STDMETHOD_(HRESULT,GetBackupMetadata)(THIS_ BSTR *pbstrMetadata) PURE;
|
---|
517 | STDMETHOD_(HRESULT,AddPartialFile)(THIS_ LPCWSTR wszPath,LPCWSTR wszFilename,LPCWSTR wszRanges,LPCWSTR wszMetadata) PURE;
|
---|
518 | STDMETHOD_(HRESULT,GetPartialFileCount)(THIS_ UINT *pcPartialFiles) PURE;
|
---|
519 | STDMETHOD_(HRESULT,GetPartialFile)(THIS_ UINT iPartialFile,BSTR *pbstrPath,BSTR *pbstrFilename,BSTR *pbstrRange,BSTR *pbstrMetadata) PURE;
|
---|
520 | STDMETHOD_(HRESULT,IsSelectedForRestore)(THIS_ BOOLEAN *pbSelectedForRestore) PURE;
|
---|
521 | STDMETHOD_(HRESULT,GetAdditionalRestores)(THIS_ BOOLEAN *pbAdditionalRestores) PURE;
|
---|
522 | STDMETHOD_(HRESULT,GetNewTargetCount)(THIS_ UINT *pcNewTarget) PURE;
|
---|
523 | STDMETHOD_(HRESULT,GetNewTarget)(THIS_ UINT iMapping,IVssWMFiledesc **ppFiledesc) PURE;
|
---|
524 | STDMETHOD_(HRESULT,AddDirectedTarget)(THIS_ LPCWSTR wszSourcePath,LPCWSTR wszSourceFilename,LPCWSTR wszSourceRangeList,LPCWSTR wszDestinationPath,LPCWSTR wszDestinationFilename,LPCWSTR wszDestinationRangeList) PURE;
|
---|
525 | STDMETHOD_(HRESULT,GetDirectedTargetCount)(THIS_ UINT *pcDirectedTarget) PURE;
|
---|
526 | STDMETHOD_(HRESULT,GetDirectedTarget)(THIS_ UINT iDirectedTarget,BSTR *pbstrSourcePath,BSTR *pbstrSourceFileName,BSTR *pbstrSourceRangeList,BSTR *pbstrDestinationPath,BSTR *pbstrDestinationFilename,BSTR *pbstrDestinationRangeList) PURE;
|
---|
527 | STDMETHOD_(HRESULT,SetRestoreMetadata)(THIS_ LPCWSTR wszRestoreMetadata) PURE;
|
---|
528 | STDMETHOD_(HRESULT,GetRestoreMetadata)(THIS_ BSTR *pbstrRestoreMetadata) PURE;
|
---|
529 | STDMETHOD_(HRESULT,SetRestoreTarget)(THIS_ VSS_RESTORE_TARGET target) PURE;
|
---|
530 | STDMETHOD_(HRESULT,GetRestoreTarget)(THIS_ VSS_RESTORE_TARGET *pTarget) PURE;
|
---|
531 | STDMETHOD_(HRESULT,SetPreRestoreFailureMsg)(THIS_ LPCWSTR wszPreRestoreFailureMsg) PURE;
|
---|
532 | STDMETHOD_(HRESULT,GetPreRestoreFailureMsg)(THIS_ BSTR *pbstrPreRestoreFailureMsg) PURE;
|
---|
533 | STDMETHOD_(HRESULT,SetPostRestoreFailureMsg)(THIS_ LPCWSTR wszPostRestoreFailureMsg) PURE;
|
---|
534 | STDMETHOD_(HRESULT,GetPostRestoreFailureMsg)(THIS_ BSTR *pbstrPostRestoreFailureMsg) PURE;
|
---|
535 | STDMETHOD_(HRESULT,SetBackupStamp)(THIS_ LPCWSTR wszBackupStamp) PURE;
|
---|
536 | STDMETHOD_(HRESULT,GetBackupStamp)(THIS_ BSTR *pbstrBackupStamp) PURE;
|
---|
537 | STDMETHOD_(HRESULT,GetPreviousBackupStamp)(THIS_ BSTR *pbstrBackupStamp) PURE;
|
---|
538 | STDMETHOD_(HRESULT,GetBackupOptions)(THIS_ BSTR *pbstrBackupOptions) PURE;
|
---|
539 | STDMETHOD_(HRESULT,GetRestoreOptions)(THIS_ BSTR *pbstrRestoreOptions) PURE;
|
---|
540 | STDMETHOD_(HRESULT,GetRestoreSubcomponentCount)(THIS_ UINT *pcRestoreSubcomponent) PURE;
|
---|
541 | STDMETHOD_(HRESULT,GetRestoreSubcomponent)(THIS_ UINT iComponent,BSTR *pbstrLogicalPath,BSTR *pbstrComponentName,BOOLEAN *pbRepair) PURE;
|
---|
542 | STDMETHOD_(HRESULT,GetFileRestoreStatus)(THIS_ VSS_FILE_RESTORE_STATUS *pStatus) PURE;
|
---|
543 | STDMETHOD_(HRESULT,AddDifferencedFilesByLastModifyTime)(THIS_ LPCWSTR wszPath,LPCWSTR wszFilespec,WINBOOL bRecursive,FILETIME ftLastModifyTime) PURE;
|
---|
544 | STDMETHOD_(HRESULT,AddDifferencedFilesByLastModifyLSN)(THIS) PURE;
|
---|
545 | STDMETHOD_(HRESULT,GetDifferencedFilesCount)(THIS_ UINT *pcDifferencedFiles) PURE;
|
---|
546 | STDMETHOD_(HRESULT,GetDifferencedFile)(THIS_ UINT iDifferencedFile,BSTR *pbstrPath,BSTR *pbstrFilespec,WINBOOL *pbRecursive,BSTR *pbstrLsnString,FILETIME *pftLastModifyTime) PURE;
|
---|
547 |
|
---|
548 | /* IVssComponentEx methods */
|
---|
549 | STDMETHOD_(HRESULT,SetPrepareForBackupFailureMsg)(THIS_ LPCWSTR wszFailureMsg) PURE;
|
---|
550 | STDMETHOD_(HRESULT,SetPostSnapshotFailureMsg)(THIS_ LPCWSTR wszFailureMsg) PURE;
|
---|
551 | STDMETHOD_(HRESULT,GetPrepareForBackupFailureMsg)(THIS_ BSTR *pbstrFailureMsg) PURE;
|
---|
552 | STDMETHOD_(HRESULT,GetPostSnapshotFailureMsg)(THIS_ BSTR *pbstrFailureMsg) PURE;
|
---|
553 | STDMETHOD_(HRESULT,GetAuthoritativeRestore)(THIS_ BOOLEAN *pbAuth) PURE;
|
---|
554 | STDMETHOD_(HRESULT,GetRollForward)(THIS_ VSS_ROLLFORWARD_TYPE *pRollType,BSTR *pbstrPoint) PURE;
|
---|
555 | STDMETHOD_(HRESULT,GetRestoreName)(THIS_ BSTR *pbstrName) PURE;
|
---|
556 |
|
---|
557 | /* IVssComponentEx2 methods */
|
---|
558 | STDMETHOD_(HRESULT,GetFailure)(THIS_ HRESULT *phr,HRESULT *phrApplication,BSTR *pbstrApplicationMessage,DWORD *pdwReserved) PURE;
|
---|
559 | STDMETHOD_(HRESULT,SetFailure)(THIS_ HRESULT hr,HRESULT hrApplication,LPCWSTR wszApplicationMessage,DWORD dwReserved) PURE;
|
---|
560 |
|
---|
561 | END_INTERFACE
|
---|
562 | };
|
---|
563 | #ifdef COBJMACROS
|
---|
564 | #define IVssComponentEx2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
|
---|
565 | #define IVssComponentEx2_AddRef(This) (This)->lpVtbl->AddRef(This)
|
---|
566 | #define IVssComponentEx2_Release(This) (This)->lpVtbl->Release(This)
|
---|
567 | #define IVssComponentEx2_GetLogicalPath(This,pbstrPath) (This)->lpVtbl->GetLogicalPath(This,pbstrPath)
|
---|
568 | #define IVssComponentEx2_GetComponentType(This,pType) (This)->lpVtbl->GetComponentType(This,pType)
|
---|
569 | #define IVssComponentEx2_GetComponentName(This,pwszName) (This)->lpVtbl->GetComponentName(This,pwszName)
|
---|
570 | #define IVssComponentEx2_GetBackupSucceeded(This,pbSucceeded) (This)->lpVtbl->GetBackupSucceeded(This,pbSucceeded)
|
---|
571 | #define IVssComponentEx2_GetAlternateLocationMappingCount(This,pcMappings) (This)->lpVtbl->GetAlternateLocationMappingCount(This,pcMappings)
|
---|
572 | #define IVssComponentEx2_GetAlternateLocationMapping(This,iMapping,ppMapping) (This)->lpVtbl->GetAlternateLocationMapping(This,iMapping,ppMapping)
|
---|
573 | #define IVssComponentEx2_SetBackupMetadata(This,bstrMetadata) (This)->lpVtbl->SetBackupMetadata(This,bstrMetadata)
|
---|
574 | #define IVssComponentEx2_GetBackupMetadata(This,pbstrMetadata) (This)->lpVtbl->GetBackupMetadata(This,pbstrMetadata)
|
---|
575 | #define IVssComponentEx2_AddPartialFile(This,wszPath,wszFilename,wszRanges,wszMetadata) (This)->lpVtbl->AddPartialFile(This,wszPath,wszFilename,wszRanges,wszMetadata)
|
---|
576 | #define IVssComponentEx2_GetPartialFileCount(This,pcPartialFiles) (This)->lpVtbl->GetPartialFileCount(This,pcPartialFiles)
|
---|
577 | #define IVssComponentEx2_GetPartialFile(This,iPartialFile,pbstrPath,pbstrFilename,pbstrRange,pbstrMetadata) (This)->lpVtbl->GetPartialFile(This,iPartialFile,pbstrPath,pbstrFilename,pbstrRange,pbstrMetadata)
|
---|
578 | #define IVssComponentEx2_IsSelectedForRestore(This,pbSelectedForRestore) (This)->lpVtbl->IsSelectedForRestore(This,pbSelectedForRestore)
|
---|
579 | #define IVssComponentEx2_GetAdditionalRestores(This,pbAdditionalRestores) (This)->lpVtbl->GetAdditionalRestores(This,pbAdditionalRestores)
|
---|
580 | #define IVssComponentEx2_GetNewTargetCount(This,pcNewTarget) (This)->lpVtbl->GetNewTargetCount(This,pcNewTarget)
|
---|
581 | #define IVssComponentEx2_GetNewTarget(This,iMapping,ppFiledesc) (This)->lpVtbl->GetNewTarget(This,iMapping,ppFiledesc)
|
---|
582 | #define IVssComponentEx2_AddDirectedTarget(This,wszSourcePath,wszSourceFilename,wszSourceRangeList,wszDestinationPath,wszDestinationFilename,wszDestinationRangeList) (This)->lpVtbl->AddDirectedTarget(This,wszSourcePath,wszSourceFilename,wszSourceRangeList,wszDestinationPath,wszDestinationFilename,wszDestinationRangeList)
|
---|
583 | #define IVssComponentEx2_GetDirectedTargetCount(This,pcDirectedTarget) (This)->lpVtbl->GetDirectedTargetCount(This,pcDirectedTarget)
|
---|
584 | #define IVssComponentEx2_GetDirectedTarget(This,iDirectedTarget,pbstrSourcePath,pbstrSourceFileName,pbstrSourceRangeList,pbstrDestinationPath,pbstrDestinationFilename,pbstrDestinationRangeList) (This)->lpVtbl->GetDirectedTarget(This,iDirectedTarget,pbstrSourcePath,pbstrSourceFileName,pbstrSourceRangeList,pbstrDestinationPath,pbstrDestinationFilename,pbstrDestinationRangeList)
|
---|
585 | #define IVssComponentEx2_SetRestoreMetadata(This,wszRestoreMetadata) (This)->lpVtbl->SetRestoreMetadata(This,wszRestoreMetadata)
|
---|
586 | #define IVssComponentEx2_GetRestoreMetadata(This,pbstrRestoreMetadata) (This)->lpVtbl->GetRestoreMetadata(This,pbstrRestoreMetadata)
|
---|
587 | #define IVssComponentEx2_SetRestoreTarget(This,target) (This)->lpVtbl->SetRestoreTarget(This,target)
|
---|
588 | #define IVssComponentEx2_GetRestoreTarget(This,pTarget) (This)->lpVtbl->GetRestoreTarget(This,pTarget)
|
---|
589 | #define IVssComponentEx2_SetPreRestoreFailureMsg(This,wszPreRestoreFailureMsg) (This)->lpVtbl->SetPreRestoreFailureMsg(This,wszPreRestoreFailureMsg)
|
---|
590 | #define IVssComponentEx2_GetPreRestoreFailureMsg(This,pbstrPreRestoreFailureMsg) (This)->lpVtbl->GetPreRestoreFailureMsg(This,pbstrPreRestoreFailureMsg)
|
---|
591 | #define IVssComponentEx2_SetPostRestoreFailureMsg(This,wszPostRestoreFailureMsg) (This)->lpVtbl->SetPostRestoreFailureMsg(This,wszPostRestoreFailureMsg)
|
---|
592 | #define IVssComponentEx2_GetPostRestoreFailureMsg(This,pbstrPostRestoreFailureMsg) (This)->lpVtbl->GetPostRestoreFailureMsg(This,pbstrPostRestoreFailureMsg)
|
---|
593 | #define IVssComponentEx2_SetBackupStamp(This,wszBackupStamp) (This)->lpVtbl->SetBackupStamp(This,wszBackupStamp)
|
---|
594 | #define IVssComponentEx2_GetBackupStamp(This,pbstrBackupStamp) (This)->lpVtbl->GetBackupStamp(This,pbstrBackupStamp)
|
---|
595 | #define IVssComponentEx2_GetPreviousBackupStamp(This,pbstrBackupStamp) (This)->lpVtbl->GetPreviousBackupStamp(This,pbstrBackupStamp)
|
---|
596 | #define IVssComponentEx2_GetBackupOptions(This,pbstrBackupOptions) (This)->lpVtbl->GetBackupOptions(This,pbstrBackupOptions)
|
---|
597 | #define IVssComponentEx2_GetRestoreOptions(This,pbstrRestoreOptions) (This)->lpVtbl->GetRestoreOptions(This,pbstrRestoreOptions)
|
---|
598 | #define IVssComponentEx2_GetRestoreSubcomponentCount(This,pcRestoreSubcomponent) (This)->lpVtbl->GetRestoreSubcomponentCount(This,pcRestoreSubcomponent)
|
---|
599 | #define IVssComponentEx2_GetRestoreSubcomponent(This,iComponent,pbstrLogicalPath,pbstrComponentName,pbRepair) (This)->lpVtbl->GetRestoreSubcomponent(This,iComponent,pbstrLogicalPath,pbstrComponentName,pbRepair)
|
---|
600 | #define IVssComponentEx2_GetFileRestoreStatus(This,pStatus) (This)->lpVtbl->GetFileRestoreStatus(This,pStatus)
|
---|
601 | #define IVssComponentEx2_AddDifferencedFilesByLastModifyTime(This,wszPath,wszFilespec,bRecursive,ftLastModifyTime) (This)->lpVtbl->AddDifferencedFilesByLastModifyTime(This,wszPath,wszFilespec,bRecursive,ftLastModifyTime)
|
---|
602 | #define IVssComponentEx2_AddDifferencedFilesByLastModifyLSN() (This)->lpVtbl->AddDifferencedFilesByLastModifyLSN(This)
|
---|
603 | #define IVssComponentEx2_GetDifferencedFilesCount(This,pcDifferencedFiles) (This)->lpVtbl->GetDifferencedFilesCount(This,pcDifferencedFiles)
|
---|
604 | #define IVssComponentEx2_GetDifferencedFile(This,iDifferencedFile,pbstrPath,pbstrFilespec,pbRecursive,pbstrLsnString,pftLastModifyTime) (This)->lpVtbl->GetDifferencedFile(This,iDifferencedFile,pbstrPath,pbstrFilespec,pbRecursive,pbstrLsnString,pftLastModifyTime)
|
---|
605 | #define IVssComponentEx2_SetPrepareForBackupFailureMsg(This,wszFailureMsg) (This)->lpVtbl->SetPrepareForBackupFailureMsg(This,wszFailureMsg)
|
---|
606 | #define IVssComponentEx2_SetPostSnapshotFailureMsg(This,wszFailureMsg) (This)->lpVtbl->SetPostSnapshotFailureMsg(This,wszFailureMsg)
|
---|
607 | #define IVssComponentEx2_GetPrepareForBackupFailureMsg(This,pbstrFailureMsg) (This)->lpVtbl->GetPrepareForBackupFailureMsg(This,pbstrFailureMsg)
|
---|
608 | #define IVssComponentEx2_GetPostSnapshotFailureMsg(This,pbstrFailureMsg) (This)->lpVtbl->GetPostSnapshotFailureMsg(This,pbstrFailureMsg)
|
---|
609 | #define IVssComponentEx2_GetAuthoritativeRestore(This,pbAuth) (This)->lpVtbl->GetAuthoritativeRestore(This,pbAuth)
|
---|
610 | #define IVssComponentEx2_GetRollForward(This,pRollType,pbstrPoint) (This)->lpVtbl->GetRollForward(This,pRollType,pbstrPoint)
|
---|
611 | #define IVssComponentEx2_GetRestoreName(This,pbstrName) (This)->lpVtbl->GetRestoreName(This,pbstrName)
|
---|
612 | #define IVssComponentEx2_GetFailure(This,phr,phrApplication,pbstrApplicationMessage,pdwReserved) (This)->lpVtbl->GetFailure(This,phr,phrApplication,pbstrApplicationMessage,pdwReserved)
|
---|
613 | #define IVssComponentEx2_SetFailure(This,hr,hrApplication,wszApplicationMessage,dwReserved) (This)->lpVtbl->SetFailure(This,hr,hrApplication,wszApplicationMessage,dwReserved)
|
---|
614 | #endif /*COBJMACROS*/
|
---|
615 | #endif /*(_WIN32_WINNT >= 0x601)*/
|
---|
616 |
|
---|
617 | #ifdef __cplusplus
|
---|
618 | /* Is a C++ interface instead of a COM */
|
---|
619 | #undef INTERFACE
|
---|
620 | #define INTERFACE IVssWMDependency
|
---|
621 | #ifdef __GNUC__
|
---|
622 | #warning COM interfaces layout in this header has not been verified.
|
---|
623 | #warning COM interfaces with incorrect layout may not work at all.
|
---|
624 | __MINGW_BROKEN_INTERFACE(INTERFACE)
|
---|
625 | #endif
|
---|
626 | DECLARE_INTERFACE_(IVssWMDependency,IUnknown)
|
---|
627 | {
|
---|
628 | BEGIN_INTERFACE
|
---|
629 |
|
---|
630 | /* IUnknown methods */
|
---|
631 | STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
|
---|
632 | STDMETHOD_(ULONG, AddRef)(THIS) PURE;
|
---|
633 | STDMETHOD_(ULONG, Release)(THIS) PURE;
|
---|
634 |
|
---|
635 | /* IVssWMDependency methods */
|
---|
636 | STDMETHOD_(HRESULT,GetWriterId)(THIS_ VSS_ID *pWriterId) PURE;
|
---|
637 | STDMETHOD_(HRESULT,GetLogicalPath)(THIS_ BSTR *pbstrLogicalPath) PURE;
|
---|
638 | STDMETHOD_(HRESULT,GetComponentName)(THIS_ BSTR *pbstrComponentName) PURE;
|
---|
639 |
|
---|
640 | END_INTERFACE
|
---|
641 | };
|
---|
642 |
|
---|
643 | #undef INTERFACE
|
---|
644 | #define INTERFACE IVssWMFiledesc
|
---|
645 | #ifdef __GNUC__
|
---|
646 | #warning COM interfaces layout in this header has not been verified.
|
---|
647 | #warning COM interfaces with incorrect layout may not work at all.
|
---|
648 | __MINGW_BROKEN_INTERFACE(INTERFACE)
|
---|
649 | #endif
|
---|
650 | DECLARE_INTERFACE_(IVssWMFiledesc,IUnknown)
|
---|
651 | {
|
---|
652 | BEGIN_INTERFACE
|
---|
653 |
|
---|
654 | /* IUnknown methods */
|
---|
655 | STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
|
---|
656 | STDMETHOD_(ULONG, AddRef)(THIS) PURE;
|
---|
657 | STDMETHOD_(ULONG, Release)(THIS) PURE;
|
---|
658 |
|
---|
659 | /* IVssWMFiledesc methods */
|
---|
660 | STDMETHOD_(HRESULT,GetPath)(THIS_ BSTR *pbstrPath) PURE;
|
---|
661 | STDMETHOD_(HRESULT,GetFilespec)(THIS_ BSTR *pbstrFilespec) PURE;
|
---|
662 | STDMETHOD_(HRESULT,GetRecursive)(THIS_ BOOLEAN *pbRecursive) PURE;
|
---|
663 | STDMETHOD_(HRESULT,GetAlternateLocation)(THIS_ BSTR *pbstrAlternateLocation) PURE;
|
---|
664 | STDMETHOD_(HRESULT,GetBackupTypeMask)(THIS_ DWORD *pdwTypeMask) PURE;
|
---|
665 |
|
---|
666 | END_INTERFACE
|
---|
667 | };
|
---|
668 | #endif /*__cplusplus*/
|
---|
669 |
|
---|
670 | #ifdef __cplusplus
|
---|
671 | #if __MINGW_GNUC_PREREQ(4,6)
|
---|
672 | /* We need __thiscall support */
|
---|
673 | class CVssWriter {
|
---|
674 | protected:
|
---|
675 | bool WINAPI AreComponentsSelected() const;
|
---|
676 | VSS_BACKUP_TYPE WINAPI GetBackupType() const;
|
---|
677 | LONG WINAPI GetContext() const;
|
---|
678 | VSS_APPLICATION_LEVEL WINAPI GetCurrentLevel() const;
|
---|
679 | VSS_ID WINAPI GetCurrentSnapshotSetId() const;
|
---|
680 | LPCWSTR* WINAPI GetCurrentVolumeArray() const;
|
---|
681 | UINT WINAPI GetCurrentVolumeCount() const;
|
---|
682 | VSS_RESTORE_TYPE WINAPI GetRestoreType() const;
|
---|
683 | HRESULT WINAPI GetSnapshotDeviceName(
|
---|
684 | LPCWSTR wszOriginalVolume,
|
---|
685 | LPCWSTR *ppwszSnapshotDevice) const;
|
---|
686 | bool WINAPI IsBootableSystemStateBackedUp() const;
|
---|
687 | bool WINAPI IsPartialFileSupportEnabled() const;
|
---|
688 | bool WINAPI IsPathAffected(
|
---|
689 | LPCWSTR wszPath) const;
|
---|
690 | HRESULT WINAPI SetWriterFailure(
|
---|
691 | HRESULT hr);
|
---|
692 | public:
|
---|
693 | //Pure virtuals
|
---|
694 | virtual bool WINAPI OnAbort() = 0;
|
---|
695 | virtual bool WINAPI OnFreeze() = 0;
|
---|
696 | virtual bool WINAPI OnPrepareSnapshot() = 0;
|
---|
697 | virtual bool WINAPI OnThaw() = 0;
|
---|
698 | //Virtuals
|
---|
699 | virtual __thiscall ~CVssWriter();
|
---|
700 | virtual bool WINAPI OnBackupComplete(
|
---|
701 | IVssWriterComponents *pComponent);
|
---|
702 | virtual bool WINAPI OnBackupShutdown(
|
---|
703 | VSS_ID SnapshotSetId);
|
---|
704 | virtual bool WINAPI OnIdentify(
|
---|
705 | IVssCreateWriterMetadata *pMetadata);
|
---|
706 | virtual bool WINAPI OnPostRestore(
|
---|
707 | IVssWriterComponents *pComponent);
|
---|
708 | virtual bool WINAPI OnPostSnapshot(
|
---|
709 | IVssWriterComponents *pComponent);
|
---|
710 | virtual bool WINAPI OnPrepareBackup(
|
---|
711 | IVssWriterComponents *pComponent);
|
---|
712 | virtual bool WINAPI OnPreRestore(
|
---|
713 | IVssWriterComponents *pComponent);
|
---|
714 | //gendef says public: virtual bool __stdcall CVssWriter::OnBackOffIOOnVolume(unsigned short *,struct _GUID,struct _GUID)
|
---|
715 | //Method unsupported
|
---|
716 | virtual bool WINAPI OnBackOffIOOnVolume(
|
---|
717 | VSS_PWSZ _vss_pwsz,
|
---|
718 | VSS_ID _id1,
|
---|
719 | VSS_ID _id2);
|
---|
720 | //gendef says public: virtual bool __stdcall CVssWriter::OnContinueIOOnVolume(unsigned short *,struct _GUID,struct _GUID)
|
---|
721 | //Method unsupported
|
---|
722 | virtual bool WINAPI OnContinueIOOnVolume(
|
---|
723 | VSS_PWSZ _vss_pwsz,
|
---|
724 | VSS_ID _id1,
|
---|
725 | VSS_ID _id2);
|
---|
726 | //gendef says public: virtual bool __stdcall CVssWriter::OnVSSShutdown(void)
|
---|
727 | //Method unsupported
|
---|
728 | virtual bool WINAPI OnVssShutdown();
|
---|
729 | //Non-virtuals
|
---|
730 | __thiscall CVssWriter();
|
---|
731 | HRESULT WINAPI Initialize(
|
---|
732 | VSS_ID WriterId,
|
---|
733 | LPCWSTR WriterName,
|
---|
734 | VSS_USAGE_TYPE UsageType,
|
---|
735 | VSS_SOURCE_TYPE SourceType,
|
---|
736 | VSS_APPLICATION_LEVEL AppLevel,
|
---|
737 | DWORD dwTimeoutFreeze = 60000,
|
---|
738 | VSS_ALTERNATE_WRITER_STATE aws = VSS_AWS_NO_ALTERNATE_WRITER,
|
---|
739 | bool bIOThrottlingOnly = false,
|
---|
740 | LPCWSTR wszWriterInstanceName = NULL);
|
---|
741 | HRESULT WINAPI Subscribe(
|
---|
742 | DWORD dwEventFlags);
|
---|
743 | HRESULT WINAPI Unsubscribe();
|
---|
744 | //gendef says public: long __stdcall CVssWriter::InstallAlternateWriter(struct _GUID,struct _GUID)
|
---|
745 | //Method unsupported
|
---|
746 | HRESULT WINAPI InstallAlternateWriter(
|
---|
747 | VSS_ID _id1,
|
---|
748 | VSS_ID _id2);
|
---|
749 | };
|
---|
750 |
|
---|
751 | class CVssWriterEx : public CVssWriter {
|
---|
752 | protected:
|
---|
753 | HRESULT WINAPI GetIdentifyInformation(
|
---|
754 | IVssExamineWriterMetadata **ppMetadata) const;
|
---|
755 | HRESULT WINAPI SubscribeEx(
|
---|
756 | DWORD dwUnsubscribeTimeout,
|
---|
757 | DWORD dwEventFlags);
|
---|
758 | public:
|
---|
759 | virtual bool WINAPI OnIdentifyEx(
|
---|
760 | IVssCreateWriterMetadataEx *pMetadata) const;
|
---|
761 | HRESULT WINAPI InitializeEx(
|
---|
762 | VSS_ID WriterId,
|
---|
763 | LPCWSTR wszWriterName,
|
---|
764 | DWORD dwMajorVersion,
|
---|
765 | DWORD dwMinorVersion,
|
---|
766 | VSS_USAGE_TYPE ut,
|
---|
767 | VSS_SOURCE_TYPE st,
|
---|
768 | VSS_APPLICATION_LEVEL nLevel,
|
---|
769 | DWORD dwTimeoutFreeze = 60000,
|
---|
770 | VSS_ALTERNATE_WRITER_STATE aws = VSS_AWS_NO_ALTERNATE_WRITER,
|
---|
771 | bool bIOThrottlingOnly = false,
|
---|
772 | LPCWSTR wszWriterInstanceName = NULL);
|
---|
773 | };
|
---|
774 |
|
---|
775 | class CVssWriterEx2: public CVssWriterEx {
|
---|
776 | public:
|
---|
777 | HRESULT WINAPI GetSessionId(
|
---|
778 | VSS_ID *idSession) const;
|
---|
779 | bool WINAPI IsWriterShuttingDown() const;
|
---|
780 | HRESULT WINAPI SetWriterFailureEx(
|
---|
781 | HRESULT hrWriter,
|
---|
782 | HRESULT hrApplication,
|
---|
783 | LPCWSTR wszApplicationMessage);
|
---|
784 | };
|
---|
785 | #endif /*__MINGW_GNUC_PREREQ(4,6)*/
|
---|
786 | #endif /*__cplusplus*/
|
---|
787 |
|
---|
788 | #include <vsbackup.h>
|
---|
789 |
|
---|
790 | #endif /*_INC_VSWRITER*/
|
---|