vsbackup.h (233428B) - Raw
1 /*** Autogenerated by WIDL 10.4 from include/vsbackup.idl - Do not edit ***/ 2 3 #ifdef _WIN32 4 #ifndef __REQUIRED_RPCNDR_H_VERSION__ 5 #define __REQUIRED_RPCNDR_H_VERSION__ 475 6 #endif 7 #include <rpc.h> 8 #include <rpcndr.h> 9 #endif 10 11 #ifndef COM_NO_WINDOWS_H 12 #include <windows.h> 13 #include <ole2.h> 14 #endif 15 16 #ifndef __vsbackup_h__ 17 #define __vsbackup_h__ 18 19 /* Forward declarations */ 20 21 #ifndef __IVssWMComponent_FWD_DEFINED__ 22 #define __IVssWMComponent_FWD_DEFINED__ 23 typedef interface IVssWMComponent IVssWMComponent; 24 #ifdef __cplusplus 25 interface IVssWMComponent; 26 #endif /* __cplusplus */ 27 #endif 28 29 #ifndef __IVssExamineWriterMetadata_FWD_DEFINED__ 30 #define __IVssExamineWriterMetadata_FWD_DEFINED__ 31 typedef interface IVssExamineWriterMetadata IVssExamineWriterMetadata; 32 #ifdef __cplusplus 33 interface IVssExamineWriterMetadata; 34 #endif /* __cplusplus */ 35 #endif 36 37 #ifndef __IVssExamineWriterMetadataEx_FWD_DEFINED__ 38 #define __IVssExamineWriterMetadataEx_FWD_DEFINED__ 39 typedef interface IVssExamineWriterMetadataEx IVssExamineWriterMetadataEx; 40 #ifdef __cplusplus 41 interface IVssExamineWriterMetadataEx; 42 #endif /* __cplusplus */ 43 #endif 44 45 #ifndef __IVssExamineWriterMetadataEx2_FWD_DEFINED__ 46 #define __IVssExamineWriterMetadataEx2_FWD_DEFINED__ 47 typedef interface IVssExamineWriterMetadataEx2 IVssExamineWriterMetadataEx2; 48 #ifdef __cplusplus 49 interface IVssExamineWriterMetadataEx2; 50 #endif /* __cplusplus */ 51 #endif 52 53 #ifndef __IVssWriterComponentsExt_FWD_DEFINED__ 54 #define __IVssWriterComponentsExt_FWD_DEFINED__ 55 typedef interface IVssWriterComponentsExt IVssWriterComponentsExt; 56 #ifdef __cplusplus 57 interface IVssWriterComponentsExt; 58 #endif /* __cplusplus */ 59 #endif 60 61 #ifndef __IVssBackupComponents_FWD_DEFINED__ 62 #define __IVssBackupComponents_FWD_DEFINED__ 63 typedef interface IVssBackupComponents IVssBackupComponents; 64 #ifdef __cplusplus 65 interface IVssBackupComponents; 66 #endif /* __cplusplus */ 67 #endif 68 69 #ifndef __IVssBackupComponentsEx_FWD_DEFINED__ 70 #define __IVssBackupComponentsEx_FWD_DEFINED__ 71 typedef interface IVssBackupComponentsEx IVssBackupComponentsEx; 72 #ifdef __cplusplus 73 interface IVssBackupComponentsEx; 74 #endif /* __cplusplus */ 75 #endif 76 77 #ifndef __IVssBackupComponentsEx2_FWD_DEFINED__ 78 #define __IVssBackupComponentsEx2_FWD_DEFINED__ 79 typedef interface IVssBackupComponentsEx2 IVssBackupComponentsEx2; 80 #ifdef __cplusplus 81 interface IVssBackupComponentsEx2; 82 #endif /* __cplusplus */ 83 #endif 84 85 #ifndef __IVssBackupComponentsEx3_FWD_DEFINED__ 86 #define __IVssBackupComponentsEx3_FWD_DEFINED__ 87 typedef interface IVssBackupComponentsEx3 IVssBackupComponentsEx3; 88 #ifdef __cplusplus 89 interface IVssBackupComponentsEx3; 90 #endif /* __cplusplus */ 91 #endif 92 93 #ifndef __IVssBackupComponentsEx4_FWD_DEFINED__ 94 #define __IVssBackupComponentsEx4_FWD_DEFINED__ 95 typedef interface IVssBackupComponentsEx4 IVssBackupComponentsEx4; 96 #ifdef __cplusplus 97 interface IVssBackupComponentsEx4; 98 #endif /* __cplusplus */ 99 #endif 100 101 /* Headers for imported files */ 102 103 #include <oaidl.h> 104 #include <ocidl.h> 105 #include <vss.h> 106 #include <vswriter.h> 107 108 #ifdef __cplusplus 109 extern "C" { 110 #endif 111 112 #include <winapifamily.h> 113 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) 114 typedef struct _VSS_COMPONENTINFO { 115 VSS_COMPONENT_TYPE type; 116 BSTR bstrLogicalPath; 117 BSTR bstrComponentName; 118 BSTR bstrCaption; 119 BYTE *pbIcon; 120 UINT cbIcon; 121 boolean bRestoreMetadata; 122 boolean bNotifyOnBackupComplete; 123 boolean bSelectable; 124 boolean bSelectableForRestore; 125 DWORD dwComponentFlags; 126 UINT cFileCount; 127 UINT cDatabases; 128 UINT cLogFiles; 129 UINT cDependencies; 130 } VSS_COMPONENTINFO; 131 typedef const VSS_COMPONENTINFO *PVSSCOMPONENTINFO; 132 /***************************************************************************** 133 * IVssWMComponent interface 134 */ 135 #ifndef __IVssWMComponent_INTERFACE_DEFINED__ 136 #define __IVssWMComponent_INTERFACE_DEFINED__ 137 138 DEFINE_GUID(IID_IVssWMComponent, 0x00000000, 0x0000, 0x0000, 0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00); 139 #if defined(__cplusplus) && !defined(CINTERFACE) 140 MIDL_INTERFACE("00000000-0000-0000-0000-000000000000") 141 IVssWMComponent : public IUnknown 142 { 143 virtual HRESULT STDMETHODCALLTYPE GetComponentInfo( 144 PVSSCOMPONENTINFO *ppInfo) = 0; 145 146 virtual HRESULT STDMETHODCALLTYPE FreeComponentInfo( 147 PVSSCOMPONENTINFO pInfo) = 0; 148 149 virtual HRESULT STDMETHODCALLTYPE GetFile( 150 UINT iFile, 151 IVssWMFiledesc **ppFiledesc) = 0; 152 153 virtual HRESULT STDMETHODCALLTYPE GetDatabaseFile( 154 UINT iDBFile, 155 IVssWMFiledesc **ppFiledesc) = 0; 156 157 virtual HRESULT STDMETHODCALLTYPE GetDatabaseLogFile( 158 UINT iDbLogFile, 159 IVssWMFiledesc **ppFiledesc) = 0; 160 161 virtual HRESULT STDMETHODCALLTYPE GetDependency( 162 UINT iDependency, 163 IVssWMDependency **ppDependency) = 0; 164 165 }; 166 #ifdef __CRT_UUID_DECL 167 __CRT_UUID_DECL(IVssWMComponent, 0x00000000, 0x0000, 0x0000, 0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00) 168 #endif 169 #else 170 typedef struct IVssWMComponentVtbl { 171 BEGIN_INTERFACE 172 173 /*** IUnknown methods ***/ 174 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 175 IVssWMComponent *This, 176 REFIID riid, 177 void **ppvObject); 178 179 ULONG (STDMETHODCALLTYPE *AddRef)( 180 IVssWMComponent *This); 181 182 ULONG (STDMETHODCALLTYPE *Release)( 183 IVssWMComponent *This); 184 185 /*** IVssWMComponent methods ***/ 186 HRESULT (STDMETHODCALLTYPE *GetComponentInfo)( 187 IVssWMComponent *This, 188 PVSSCOMPONENTINFO *ppInfo); 189 190 HRESULT (STDMETHODCALLTYPE *FreeComponentInfo)( 191 IVssWMComponent *This, 192 PVSSCOMPONENTINFO pInfo); 193 194 HRESULT (STDMETHODCALLTYPE *GetFile)( 195 IVssWMComponent *This, 196 UINT iFile, 197 IVssWMFiledesc **ppFiledesc); 198 199 HRESULT (STDMETHODCALLTYPE *GetDatabaseFile)( 200 IVssWMComponent *This, 201 UINT iDBFile, 202 IVssWMFiledesc **ppFiledesc); 203 204 HRESULT (STDMETHODCALLTYPE *GetDatabaseLogFile)( 205 IVssWMComponent *This, 206 UINT iDbLogFile, 207 IVssWMFiledesc **ppFiledesc); 208 209 HRESULT (STDMETHODCALLTYPE *GetDependency)( 210 IVssWMComponent *This, 211 UINT iDependency, 212 IVssWMDependency **ppDependency); 213 214 END_INTERFACE 215 } IVssWMComponentVtbl; 216 217 interface IVssWMComponent { 218 CONST_VTBL IVssWMComponentVtbl* lpVtbl; 219 }; 220 221 #ifdef COBJMACROS 222 #ifndef WIDL_C_INLINE_WRAPPERS 223 /*** IUnknown methods ***/ 224 #define IVssWMComponent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 225 #define IVssWMComponent_AddRef(This) (This)->lpVtbl->AddRef(This) 226 #define IVssWMComponent_Release(This) (This)->lpVtbl->Release(This) 227 /*** IVssWMComponent methods ***/ 228 #define IVssWMComponent_GetComponentInfo(This,ppInfo) (This)->lpVtbl->GetComponentInfo(This,ppInfo) 229 #define IVssWMComponent_FreeComponentInfo(This,pInfo) (This)->lpVtbl->FreeComponentInfo(This,pInfo) 230 #define IVssWMComponent_GetFile(This,iFile,ppFiledesc) (This)->lpVtbl->GetFile(This,iFile,ppFiledesc) 231 #define IVssWMComponent_GetDatabaseFile(This,iDBFile,ppFiledesc) (This)->lpVtbl->GetDatabaseFile(This,iDBFile,ppFiledesc) 232 #define IVssWMComponent_GetDatabaseLogFile(This,iDbLogFile,ppFiledesc) (This)->lpVtbl->GetDatabaseLogFile(This,iDbLogFile,ppFiledesc) 233 #define IVssWMComponent_GetDependency(This,iDependency,ppDependency) (This)->lpVtbl->GetDependency(This,iDependency,ppDependency) 234 #else 235 /*** IUnknown methods ***/ 236 static inline HRESULT IVssWMComponent_QueryInterface(IVssWMComponent* This,REFIID riid,void **ppvObject) { 237 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 238 } 239 static inline ULONG IVssWMComponent_AddRef(IVssWMComponent* This) { 240 return This->lpVtbl->AddRef(This); 241 } 242 static inline ULONG IVssWMComponent_Release(IVssWMComponent* This) { 243 return This->lpVtbl->Release(This); 244 } 245 /*** IVssWMComponent methods ***/ 246 static inline HRESULT IVssWMComponent_GetComponentInfo(IVssWMComponent* This,PVSSCOMPONENTINFO *ppInfo) { 247 return This->lpVtbl->GetComponentInfo(This,ppInfo); 248 } 249 static inline HRESULT IVssWMComponent_FreeComponentInfo(IVssWMComponent* This,PVSSCOMPONENTINFO pInfo) { 250 return This->lpVtbl->FreeComponentInfo(This,pInfo); 251 } 252 static inline HRESULT IVssWMComponent_GetFile(IVssWMComponent* This,UINT iFile,IVssWMFiledesc **ppFiledesc) { 253 return This->lpVtbl->GetFile(This,iFile,ppFiledesc); 254 } 255 static inline HRESULT IVssWMComponent_GetDatabaseFile(IVssWMComponent* This,UINT iDBFile,IVssWMFiledesc **ppFiledesc) { 256 return This->lpVtbl->GetDatabaseFile(This,iDBFile,ppFiledesc); 257 } 258 static inline HRESULT IVssWMComponent_GetDatabaseLogFile(IVssWMComponent* This,UINT iDbLogFile,IVssWMFiledesc **ppFiledesc) { 259 return This->lpVtbl->GetDatabaseLogFile(This,iDbLogFile,ppFiledesc); 260 } 261 static inline HRESULT IVssWMComponent_GetDependency(IVssWMComponent* This,UINT iDependency,IVssWMDependency **ppDependency) { 262 return This->lpVtbl->GetDependency(This,iDependency,ppDependency); 263 } 264 #endif 265 #endif 266 267 #endif 268 269 270 #endif /* __IVssWMComponent_INTERFACE_DEFINED__ */ 271 272 /***************************************************************************** 273 * IVssExamineWriterMetadata interface 274 */ 275 #ifndef __IVssExamineWriterMetadata_INTERFACE_DEFINED__ 276 #define __IVssExamineWriterMetadata_INTERFACE_DEFINED__ 277 278 DEFINE_GUID(IID_IVssExamineWriterMetadata, 0x902fcf7f, 0xb7fd, 0x42f8, 0x81,0xf1, 0xb2,0xe4,0x00,0xb1,0xe5,0xbd); 279 #if defined(__cplusplus) && !defined(CINTERFACE) 280 MIDL_INTERFACE("902fcf7f-b7fd-42f8-81f1-b2e400b1e5bd") 281 IVssExamineWriterMetadata : public IUnknown 282 { 283 virtual HRESULT STDMETHODCALLTYPE GetIdentity( 284 VSS_ID *pidInstance, 285 VSS_ID *pidWriter, 286 BSTR *pbstrWriterName, 287 VSS_USAGE_TYPE *pUsage, 288 VSS_SOURCE_TYPE *pSource) = 0; 289 290 virtual HRESULT STDMETHODCALLTYPE GetFileCounts( 291 UINT *pcIncludeFiles, 292 UINT *pcExcludeFiles, 293 UINT *pcComponents) = 0; 294 295 virtual HRESULT STDMETHODCALLTYPE GetIncludeFile( 296 UINT iFile, 297 IVssWMFiledesc **ppFiledesc) = 0; 298 299 virtual HRESULT STDMETHODCALLTYPE GetExcludeFile( 300 UINT iFile, 301 IVssWMFiledesc **ppFiledesc) = 0; 302 303 virtual HRESULT STDMETHODCALLTYPE GetComponent( 304 UINT iComponent, 305 IVssWMComponent **ppComponent) = 0; 306 307 virtual HRESULT STDMETHODCALLTYPE GetRestoreMethod( 308 VSS_RESTOREMETHOD_ENUM *pMethod, 309 BSTR *pbstrService, 310 BSTR *pbstrUserProcedure, 311 VSS_WRITERRESTORE_ENUM *pwriterRestore, 312 boolean *pbRebootRequired, 313 UINT *pcMappings) = 0; 314 315 virtual HRESULT STDMETHODCALLTYPE GetAlternateLocationMapping( 316 UINT iMapping, 317 IVssWMFiledesc **ppFiledesc) = 0; 318 319 virtual HRESULT STDMETHODCALLTYPE GetBackupSchema( 320 DWORD *pdwSchemaMask) = 0; 321 322 virtual HRESULT STDMETHODCALLTYPE GetDocument( 323 IXMLDOMDocument **pDoc) = 0; 324 325 virtual HRESULT STDMETHODCALLTYPE SaveAsXML( 326 BSTR *pbstrXML) = 0; 327 328 virtual HRESULT STDMETHODCALLTYPE LoadFromXML( 329 BSTR bstrXML) = 0; 330 331 }; 332 #ifdef __CRT_UUID_DECL 333 __CRT_UUID_DECL(IVssExamineWriterMetadata, 0x902fcf7f, 0xb7fd, 0x42f8, 0x81,0xf1, 0xb2,0xe4,0x00,0xb1,0xe5,0xbd) 334 #endif 335 #else 336 typedef struct IVssExamineWriterMetadataVtbl { 337 BEGIN_INTERFACE 338 339 /*** IUnknown methods ***/ 340 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 341 IVssExamineWriterMetadata *This, 342 REFIID riid, 343 void **ppvObject); 344 345 ULONG (STDMETHODCALLTYPE *AddRef)( 346 IVssExamineWriterMetadata *This); 347 348 ULONG (STDMETHODCALLTYPE *Release)( 349 IVssExamineWriterMetadata *This); 350 351 /*** IVssExamineWriterMetadata methods ***/ 352 HRESULT (STDMETHODCALLTYPE *GetIdentity)( 353 IVssExamineWriterMetadata *This, 354 VSS_ID *pidInstance, 355 VSS_ID *pidWriter, 356 BSTR *pbstrWriterName, 357 VSS_USAGE_TYPE *pUsage, 358 VSS_SOURCE_TYPE *pSource); 359 360 HRESULT (STDMETHODCALLTYPE *GetFileCounts)( 361 IVssExamineWriterMetadata *This, 362 UINT *pcIncludeFiles, 363 UINT *pcExcludeFiles, 364 UINT *pcComponents); 365 366 HRESULT (STDMETHODCALLTYPE *GetIncludeFile)( 367 IVssExamineWriterMetadata *This, 368 UINT iFile, 369 IVssWMFiledesc **ppFiledesc); 370 371 HRESULT (STDMETHODCALLTYPE *GetExcludeFile)( 372 IVssExamineWriterMetadata *This, 373 UINT iFile, 374 IVssWMFiledesc **ppFiledesc); 375 376 HRESULT (STDMETHODCALLTYPE *GetComponent)( 377 IVssExamineWriterMetadata *This, 378 UINT iComponent, 379 IVssWMComponent **ppComponent); 380 381 HRESULT (STDMETHODCALLTYPE *GetRestoreMethod)( 382 IVssExamineWriterMetadata *This, 383 VSS_RESTOREMETHOD_ENUM *pMethod, 384 BSTR *pbstrService, 385 BSTR *pbstrUserProcedure, 386 VSS_WRITERRESTORE_ENUM *pwriterRestore, 387 boolean *pbRebootRequired, 388 UINT *pcMappings); 389 390 HRESULT (STDMETHODCALLTYPE *GetAlternateLocationMapping)( 391 IVssExamineWriterMetadata *This, 392 UINT iMapping, 393 IVssWMFiledesc **ppFiledesc); 394 395 HRESULT (STDMETHODCALLTYPE *GetBackupSchema)( 396 IVssExamineWriterMetadata *This, 397 DWORD *pdwSchemaMask); 398 399 HRESULT (STDMETHODCALLTYPE *GetDocument)( 400 IVssExamineWriterMetadata *This, 401 IXMLDOMDocument **pDoc); 402 403 HRESULT (STDMETHODCALLTYPE *SaveAsXML)( 404 IVssExamineWriterMetadata *This, 405 BSTR *pbstrXML); 406 407 HRESULT (STDMETHODCALLTYPE *LoadFromXML)( 408 IVssExamineWriterMetadata *This, 409 BSTR bstrXML); 410 411 END_INTERFACE 412 } IVssExamineWriterMetadataVtbl; 413 414 interface IVssExamineWriterMetadata { 415 CONST_VTBL IVssExamineWriterMetadataVtbl* lpVtbl; 416 }; 417 418 #ifdef COBJMACROS 419 #ifndef WIDL_C_INLINE_WRAPPERS 420 /*** IUnknown methods ***/ 421 #define IVssExamineWriterMetadata_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 422 #define IVssExamineWriterMetadata_AddRef(This) (This)->lpVtbl->AddRef(This) 423 #define IVssExamineWriterMetadata_Release(This) (This)->lpVtbl->Release(This) 424 /*** IVssExamineWriterMetadata methods ***/ 425 #define IVssExamineWriterMetadata_GetIdentity(This,pidInstance,pidWriter,pbstrWriterName,pUsage,pSource) (This)->lpVtbl->GetIdentity(This,pidInstance,pidWriter,pbstrWriterName,pUsage,pSource) 426 #define IVssExamineWriterMetadata_GetFileCounts(This,pcIncludeFiles,pcExcludeFiles,pcComponents) (This)->lpVtbl->GetFileCounts(This,pcIncludeFiles,pcExcludeFiles,pcComponents) 427 #define IVssExamineWriterMetadata_GetIncludeFile(This,iFile,ppFiledesc) (This)->lpVtbl->GetIncludeFile(This,iFile,ppFiledesc) 428 #define IVssExamineWriterMetadata_GetExcludeFile(This,iFile,ppFiledesc) (This)->lpVtbl->GetExcludeFile(This,iFile,ppFiledesc) 429 #define IVssExamineWriterMetadata_GetComponent(This,iComponent,ppComponent) (This)->lpVtbl->GetComponent(This,iComponent,ppComponent) 430 #define IVssExamineWriterMetadata_GetRestoreMethod(This,pMethod,pbstrService,pbstrUserProcedure,pwriterRestore,pbRebootRequired,pcMappings) (This)->lpVtbl->GetRestoreMethod(This,pMethod,pbstrService,pbstrUserProcedure,pwriterRestore,pbRebootRequired,pcMappings) 431 #define IVssExamineWriterMetadata_GetAlternateLocationMapping(This,iMapping,ppFiledesc) (This)->lpVtbl->GetAlternateLocationMapping(This,iMapping,ppFiledesc) 432 #define IVssExamineWriterMetadata_GetBackupSchema(This,pdwSchemaMask) (This)->lpVtbl->GetBackupSchema(This,pdwSchemaMask) 433 #define IVssExamineWriterMetadata_GetDocument(This,pDoc) (This)->lpVtbl->GetDocument(This,pDoc) 434 #define IVssExamineWriterMetadata_SaveAsXML(This,pbstrXML) (This)->lpVtbl->SaveAsXML(This,pbstrXML) 435 #define IVssExamineWriterMetadata_LoadFromXML(This,bstrXML) (This)->lpVtbl->LoadFromXML(This,bstrXML) 436 #else 437 /*** IUnknown methods ***/ 438 static inline HRESULT IVssExamineWriterMetadata_QueryInterface(IVssExamineWriterMetadata* This,REFIID riid,void **ppvObject) { 439 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 440 } 441 static inline ULONG IVssExamineWriterMetadata_AddRef(IVssExamineWriterMetadata* This) { 442 return This->lpVtbl->AddRef(This); 443 } 444 static inline ULONG IVssExamineWriterMetadata_Release(IVssExamineWriterMetadata* This) { 445 return This->lpVtbl->Release(This); 446 } 447 /*** IVssExamineWriterMetadata methods ***/ 448 static inline HRESULT IVssExamineWriterMetadata_GetIdentity(IVssExamineWriterMetadata* This,VSS_ID *pidInstance,VSS_ID *pidWriter,BSTR *pbstrWriterName,VSS_USAGE_TYPE *pUsage,VSS_SOURCE_TYPE *pSource) { 449 return This->lpVtbl->GetIdentity(This,pidInstance,pidWriter,pbstrWriterName,pUsage,pSource); 450 } 451 static inline HRESULT IVssExamineWriterMetadata_GetFileCounts(IVssExamineWriterMetadata* This,UINT *pcIncludeFiles,UINT *pcExcludeFiles,UINT *pcComponents) { 452 return This->lpVtbl->GetFileCounts(This,pcIncludeFiles,pcExcludeFiles,pcComponents); 453 } 454 static inline HRESULT IVssExamineWriterMetadata_GetIncludeFile(IVssExamineWriterMetadata* This,UINT iFile,IVssWMFiledesc **ppFiledesc) { 455 return This->lpVtbl->GetIncludeFile(This,iFile,ppFiledesc); 456 } 457 static inline HRESULT IVssExamineWriterMetadata_GetExcludeFile(IVssExamineWriterMetadata* This,UINT iFile,IVssWMFiledesc **ppFiledesc) { 458 return This->lpVtbl->GetExcludeFile(This,iFile,ppFiledesc); 459 } 460 static inline HRESULT IVssExamineWriterMetadata_GetComponent(IVssExamineWriterMetadata* This,UINT iComponent,IVssWMComponent **ppComponent) { 461 return This->lpVtbl->GetComponent(This,iComponent,ppComponent); 462 } 463 static inline HRESULT IVssExamineWriterMetadata_GetRestoreMethod(IVssExamineWriterMetadata* This,VSS_RESTOREMETHOD_ENUM *pMethod,BSTR *pbstrService,BSTR *pbstrUserProcedure,VSS_WRITERRESTORE_ENUM *pwriterRestore,boolean *pbRebootRequired,UINT *pcMappings) { 464 return This->lpVtbl->GetRestoreMethod(This,pMethod,pbstrService,pbstrUserProcedure,pwriterRestore,pbRebootRequired,pcMappings); 465 } 466 static inline HRESULT IVssExamineWriterMetadata_GetAlternateLocationMapping(IVssExamineWriterMetadata* This,UINT iMapping,IVssWMFiledesc **ppFiledesc) { 467 return This->lpVtbl->GetAlternateLocationMapping(This,iMapping,ppFiledesc); 468 } 469 static inline HRESULT IVssExamineWriterMetadata_GetBackupSchema(IVssExamineWriterMetadata* This,DWORD *pdwSchemaMask) { 470 return This->lpVtbl->GetBackupSchema(This,pdwSchemaMask); 471 } 472 static inline HRESULT IVssExamineWriterMetadata_GetDocument(IVssExamineWriterMetadata* This,IXMLDOMDocument **pDoc) { 473 return This->lpVtbl->GetDocument(This,pDoc); 474 } 475 static inline HRESULT IVssExamineWriterMetadata_SaveAsXML(IVssExamineWriterMetadata* This,BSTR *pbstrXML) { 476 return This->lpVtbl->SaveAsXML(This,pbstrXML); 477 } 478 static inline HRESULT IVssExamineWriterMetadata_LoadFromXML(IVssExamineWriterMetadata* This,BSTR bstrXML) { 479 return This->lpVtbl->LoadFromXML(This,bstrXML); 480 } 481 #endif 482 #endif 483 484 #endif 485 486 487 #endif /* __IVssExamineWriterMetadata_INTERFACE_DEFINED__ */ 488 489 /***************************************************************************** 490 * IVssExamineWriterMetadataEx interface 491 */ 492 #ifndef __IVssExamineWriterMetadataEx_INTERFACE_DEFINED__ 493 #define __IVssExamineWriterMetadataEx_INTERFACE_DEFINED__ 494 495 DEFINE_GUID(IID_IVssExamineWriterMetadataEx, 0x0c0e5ec0, 0xca44, 0x472b, 0xb7,0x02, 0xe6,0x52,0xdb,0x1c,0x04,0x51); 496 #if defined(__cplusplus) && !defined(CINTERFACE) 497 MIDL_INTERFACE("0c0e5ec0-ca44-472b-b702-e652db1c0451") 498 IVssExamineWriterMetadataEx : public IVssExamineWriterMetadata 499 { 500 virtual HRESULT STDMETHODCALLTYPE GetIdentityEx( 501 VSS_ID *pidInstance, 502 VSS_ID *pidWriter, 503 BSTR *pbstrWriterName, 504 BSTR *pbstrInstanceName, 505 VSS_USAGE_TYPE *pUsage, 506 VSS_SOURCE_TYPE *pSource) = 0; 507 508 }; 509 #ifdef __CRT_UUID_DECL 510 __CRT_UUID_DECL(IVssExamineWriterMetadataEx, 0x0c0e5ec0, 0xca44, 0x472b, 0xb7,0x02, 0xe6,0x52,0xdb,0x1c,0x04,0x51) 511 #endif 512 #else 513 typedef struct IVssExamineWriterMetadataExVtbl { 514 BEGIN_INTERFACE 515 516 /*** IUnknown methods ***/ 517 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 518 IVssExamineWriterMetadataEx *This, 519 REFIID riid, 520 void **ppvObject); 521 522 ULONG (STDMETHODCALLTYPE *AddRef)( 523 IVssExamineWriterMetadataEx *This); 524 525 ULONG (STDMETHODCALLTYPE *Release)( 526 IVssExamineWriterMetadataEx *This); 527 528 /*** IVssExamineWriterMetadata methods ***/ 529 HRESULT (STDMETHODCALLTYPE *GetIdentity)( 530 IVssExamineWriterMetadataEx *This, 531 VSS_ID *pidInstance, 532 VSS_ID *pidWriter, 533 BSTR *pbstrWriterName, 534 VSS_USAGE_TYPE *pUsage, 535 VSS_SOURCE_TYPE *pSource); 536 537 HRESULT (STDMETHODCALLTYPE *GetFileCounts)( 538 IVssExamineWriterMetadataEx *This, 539 UINT *pcIncludeFiles, 540 UINT *pcExcludeFiles, 541 UINT *pcComponents); 542 543 HRESULT (STDMETHODCALLTYPE *GetIncludeFile)( 544 IVssExamineWriterMetadataEx *This, 545 UINT iFile, 546 IVssWMFiledesc **ppFiledesc); 547 548 HRESULT (STDMETHODCALLTYPE *GetExcludeFile)( 549 IVssExamineWriterMetadataEx *This, 550 UINT iFile, 551 IVssWMFiledesc **ppFiledesc); 552 553 HRESULT (STDMETHODCALLTYPE *GetComponent)( 554 IVssExamineWriterMetadataEx *This, 555 UINT iComponent, 556 IVssWMComponent **ppComponent); 557 558 HRESULT (STDMETHODCALLTYPE *GetRestoreMethod)( 559 IVssExamineWriterMetadataEx *This, 560 VSS_RESTOREMETHOD_ENUM *pMethod, 561 BSTR *pbstrService, 562 BSTR *pbstrUserProcedure, 563 VSS_WRITERRESTORE_ENUM *pwriterRestore, 564 boolean *pbRebootRequired, 565 UINT *pcMappings); 566 567 HRESULT (STDMETHODCALLTYPE *GetAlternateLocationMapping)( 568 IVssExamineWriterMetadataEx *This, 569 UINT iMapping, 570 IVssWMFiledesc **ppFiledesc); 571 572 HRESULT (STDMETHODCALLTYPE *GetBackupSchema)( 573 IVssExamineWriterMetadataEx *This, 574 DWORD *pdwSchemaMask); 575 576 HRESULT (STDMETHODCALLTYPE *GetDocument)( 577 IVssExamineWriterMetadataEx *This, 578 IXMLDOMDocument **pDoc); 579 580 HRESULT (STDMETHODCALLTYPE *SaveAsXML)( 581 IVssExamineWriterMetadataEx *This, 582 BSTR *pbstrXML); 583 584 HRESULT (STDMETHODCALLTYPE *LoadFromXML)( 585 IVssExamineWriterMetadataEx *This, 586 BSTR bstrXML); 587 588 /*** IVssExamineWriterMetadataEx methods ***/ 589 HRESULT (STDMETHODCALLTYPE *GetIdentityEx)( 590 IVssExamineWriterMetadataEx *This, 591 VSS_ID *pidInstance, 592 VSS_ID *pidWriter, 593 BSTR *pbstrWriterName, 594 BSTR *pbstrInstanceName, 595 VSS_USAGE_TYPE *pUsage, 596 VSS_SOURCE_TYPE *pSource); 597 598 END_INTERFACE 599 } IVssExamineWriterMetadataExVtbl; 600 601 interface IVssExamineWriterMetadataEx { 602 CONST_VTBL IVssExamineWriterMetadataExVtbl* lpVtbl; 603 }; 604 605 #ifdef COBJMACROS 606 #ifndef WIDL_C_INLINE_WRAPPERS 607 /*** IUnknown methods ***/ 608 #define IVssExamineWriterMetadataEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 609 #define IVssExamineWriterMetadataEx_AddRef(This) (This)->lpVtbl->AddRef(This) 610 #define IVssExamineWriterMetadataEx_Release(This) (This)->lpVtbl->Release(This) 611 /*** IVssExamineWriterMetadata methods ***/ 612 #define IVssExamineWriterMetadataEx_GetIdentity(This,pidInstance,pidWriter,pbstrWriterName,pUsage,pSource) (This)->lpVtbl->GetIdentity(This,pidInstance,pidWriter,pbstrWriterName,pUsage,pSource) 613 #define IVssExamineWriterMetadataEx_GetFileCounts(This,pcIncludeFiles,pcExcludeFiles,pcComponents) (This)->lpVtbl->GetFileCounts(This,pcIncludeFiles,pcExcludeFiles,pcComponents) 614 #define IVssExamineWriterMetadataEx_GetIncludeFile(This,iFile,ppFiledesc) (This)->lpVtbl->GetIncludeFile(This,iFile,ppFiledesc) 615 #define IVssExamineWriterMetadataEx_GetExcludeFile(This,iFile,ppFiledesc) (This)->lpVtbl->GetExcludeFile(This,iFile,ppFiledesc) 616 #define IVssExamineWriterMetadataEx_GetComponent(This,iComponent,ppComponent) (This)->lpVtbl->GetComponent(This,iComponent,ppComponent) 617 #define IVssExamineWriterMetadataEx_GetRestoreMethod(This,pMethod,pbstrService,pbstrUserProcedure,pwriterRestore,pbRebootRequired,pcMappings) (This)->lpVtbl->GetRestoreMethod(This,pMethod,pbstrService,pbstrUserProcedure,pwriterRestore,pbRebootRequired,pcMappings) 618 #define IVssExamineWriterMetadataEx_GetAlternateLocationMapping(This,iMapping,ppFiledesc) (This)->lpVtbl->GetAlternateLocationMapping(This,iMapping,ppFiledesc) 619 #define IVssExamineWriterMetadataEx_GetBackupSchema(This,pdwSchemaMask) (This)->lpVtbl->GetBackupSchema(This,pdwSchemaMask) 620 #define IVssExamineWriterMetadataEx_GetDocument(This,pDoc) (This)->lpVtbl->GetDocument(This,pDoc) 621 #define IVssExamineWriterMetadataEx_SaveAsXML(This,pbstrXML) (This)->lpVtbl->SaveAsXML(This,pbstrXML) 622 #define IVssExamineWriterMetadataEx_LoadFromXML(This,bstrXML) (This)->lpVtbl->LoadFromXML(This,bstrXML) 623 /*** IVssExamineWriterMetadataEx methods ***/ 624 #define IVssExamineWriterMetadataEx_GetIdentityEx(This,pidInstance,pidWriter,pbstrWriterName,pbstrInstanceName,pUsage,pSource) (This)->lpVtbl->GetIdentityEx(This,pidInstance,pidWriter,pbstrWriterName,pbstrInstanceName,pUsage,pSource) 625 #else 626 /*** IUnknown methods ***/ 627 static inline HRESULT IVssExamineWriterMetadataEx_QueryInterface(IVssExamineWriterMetadataEx* This,REFIID riid,void **ppvObject) { 628 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 629 } 630 static inline ULONG IVssExamineWriterMetadataEx_AddRef(IVssExamineWriterMetadataEx* This) { 631 return This->lpVtbl->AddRef(This); 632 } 633 static inline ULONG IVssExamineWriterMetadataEx_Release(IVssExamineWriterMetadataEx* This) { 634 return This->lpVtbl->Release(This); 635 } 636 /*** IVssExamineWriterMetadata methods ***/ 637 static inline HRESULT IVssExamineWriterMetadataEx_GetIdentity(IVssExamineWriterMetadataEx* This,VSS_ID *pidInstance,VSS_ID *pidWriter,BSTR *pbstrWriterName,VSS_USAGE_TYPE *pUsage,VSS_SOURCE_TYPE *pSource) { 638 return This->lpVtbl->GetIdentity(This,pidInstance,pidWriter,pbstrWriterName,pUsage,pSource); 639 } 640 static inline HRESULT IVssExamineWriterMetadataEx_GetFileCounts(IVssExamineWriterMetadataEx* This,UINT *pcIncludeFiles,UINT *pcExcludeFiles,UINT *pcComponents) { 641 return This->lpVtbl->GetFileCounts(This,pcIncludeFiles,pcExcludeFiles,pcComponents); 642 } 643 static inline HRESULT IVssExamineWriterMetadataEx_GetIncludeFile(IVssExamineWriterMetadataEx* This,UINT iFile,IVssWMFiledesc **ppFiledesc) { 644 return This->lpVtbl->GetIncludeFile(This,iFile,ppFiledesc); 645 } 646 static inline HRESULT IVssExamineWriterMetadataEx_GetExcludeFile(IVssExamineWriterMetadataEx* This,UINT iFile,IVssWMFiledesc **ppFiledesc) { 647 return This->lpVtbl->GetExcludeFile(This,iFile,ppFiledesc); 648 } 649 static inline HRESULT IVssExamineWriterMetadataEx_GetComponent(IVssExamineWriterMetadataEx* This,UINT iComponent,IVssWMComponent **ppComponent) { 650 return This->lpVtbl->GetComponent(This,iComponent,ppComponent); 651 } 652 static inline HRESULT IVssExamineWriterMetadataEx_GetRestoreMethod(IVssExamineWriterMetadataEx* This,VSS_RESTOREMETHOD_ENUM *pMethod,BSTR *pbstrService,BSTR *pbstrUserProcedure,VSS_WRITERRESTORE_ENUM *pwriterRestore,boolean *pbRebootRequired,UINT *pcMappings) { 653 return This->lpVtbl->GetRestoreMethod(This,pMethod,pbstrService,pbstrUserProcedure,pwriterRestore,pbRebootRequired,pcMappings); 654 } 655 static inline HRESULT IVssExamineWriterMetadataEx_GetAlternateLocationMapping(IVssExamineWriterMetadataEx* This,UINT iMapping,IVssWMFiledesc **ppFiledesc) { 656 return This->lpVtbl->GetAlternateLocationMapping(This,iMapping,ppFiledesc); 657 } 658 static inline HRESULT IVssExamineWriterMetadataEx_GetBackupSchema(IVssExamineWriterMetadataEx* This,DWORD *pdwSchemaMask) { 659 return This->lpVtbl->GetBackupSchema(This,pdwSchemaMask); 660 } 661 static inline HRESULT IVssExamineWriterMetadataEx_GetDocument(IVssExamineWriterMetadataEx* This,IXMLDOMDocument **pDoc) { 662 return This->lpVtbl->GetDocument(This,pDoc); 663 } 664 static inline HRESULT IVssExamineWriterMetadataEx_SaveAsXML(IVssExamineWriterMetadataEx* This,BSTR *pbstrXML) { 665 return This->lpVtbl->SaveAsXML(This,pbstrXML); 666 } 667 static inline HRESULT IVssExamineWriterMetadataEx_LoadFromXML(IVssExamineWriterMetadataEx* This,BSTR bstrXML) { 668 return This->lpVtbl->LoadFromXML(This,bstrXML); 669 } 670 /*** IVssExamineWriterMetadataEx methods ***/ 671 static inline HRESULT IVssExamineWriterMetadataEx_GetIdentityEx(IVssExamineWriterMetadataEx* This,VSS_ID *pidInstance,VSS_ID *pidWriter,BSTR *pbstrWriterName,BSTR *pbstrInstanceName,VSS_USAGE_TYPE *pUsage,VSS_SOURCE_TYPE *pSource) { 672 return This->lpVtbl->GetIdentityEx(This,pidInstance,pidWriter,pbstrWriterName,pbstrInstanceName,pUsage,pSource); 673 } 674 #endif 675 #endif 676 677 #endif 678 679 680 #endif /* __IVssExamineWriterMetadataEx_INTERFACE_DEFINED__ */ 681 682 /***************************************************************************** 683 * IVssExamineWriterMetadataEx2 interface 684 */ 685 #ifndef __IVssExamineWriterMetadataEx2_INTERFACE_DEFINED__ 686 #define __IVssExamineWriterMetadataEx2_INTERFACE_DEFINED__ 687 688 DEFINE_GUID(IID_IVssExamineWriterMetadataEx2, 0xce115780, 0xa611, 0x431b, 0xb5,0x7f, 0xc3,0x83,0x03,0xab,0x6a,0xee); 689 #if defined(__cplusplus) && !defined(CINTERFACE) 690 MIDL_INTERFACE("ce115780-a611-431b-b57f-c38303ab6aee") 691 IVssExamineWriterMetadataEx2 : public IVssExamineWriterMetadataEx 692 { 693 virtual HRESULT STDMETHODCALLTYPE GetVersion( 694 DWORD *pdwMajorVersion, 695 DWORD *pdwMinorVersion) = 0; 696 697 virtual HRESULT STDMETHODCALLTYPE GetExcludeFromSnapshotCount( 698 UINT *pcExcludedFromSnapshot) = 0; 699 700 virtual HRESULT STDMETHODCALLTYPE GetExcludeFromSnapshotFile( 701 UINT iFile, 702 IVssWMFiledesc **ppFiledesc) = 0; 703 704 }; 705 #ifdef __CRT_UUID_DECL 706 __CRT_UUID_DECL(IVssExamineWriterMetadataEx2, 0xce115780, 0xa611, 0x431b, 0xb5,0x7f, 0xc3,0x83,0x03,0xab,0x6a,0xee) 707 #endif 708 #else 709 typedef struct IVssExamineWriterMetadataEx2Vtbl { 710 BEGIN_INTERFACE 711 712 /*** IUnknown methods ***/ 713 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 714 IVssExamineWriterMetadataEx2 *This, 715 REFIID riid, 716 void **ppvObject); 717 718 ULONG (STDMETHODCALLTYPE *AddRef)( 719 IVssExamineWriterMetadataEx2 *This); 720 721 ULONG (STDMETHODCALLTYPE *Release)( 722 IVssExamineWriterMetadataEx2 *This); 723 724 /*** IVssExamineWriterMetadata methods ***/ 725 HRESULT (STDMETHODCALLTYPE *GetIdentity)( 726 IVssExamineWriterMetadataEx2 *This, 727 VSS_ID *pidInstance, 728 VSS_ID *pidWriter, 729 BSTR *pbstrWriterName, 730 VSS_USAGE_TYPE *pUsage, 731 VSS_SOURCE_TYPE *pSource); 732 733 HRESULT (STDMETHODCALLTYPE *GetFileCounts)( 734 IVssExamineWriterMetadataEx2 *This, 735 UINT *pcIncludeFiles, 736 UINT *pcExcludeFiles, 737 UINT *pcComponents); 738 739 HRESULT (STDMETHODCALLTYPE *GetIncludeFile)( 740 IVssExamineWriterMetadataEx2 *This, 741 UINT iFile, 742 IVssWMFiledesc **ppFiledesc); 743 744 HRESULT (STDMETHODCALLTYPE *GetExcludeFile)( 745 IVssExamineWriterMetadataEx2 *This, 746 UINT iFile, 747 IVssWMFiledesc **ppFiledesc); 748 749 HRESULT (STDMETHODCALLTYPE *GetComponent)( 750 IVssExamineWriterMetadataEx2 *This, 751 UINT iComponent, 752 IVssWMComponent **ppComponent); 753 754 HRESULT (STDMETHODCALLTYPE *GetRestoreMethod)( 755 IVssExamineWriterMetadataEx2 *This, 756 VSS_RESTOREMETHOD_ENUM *pMethod, 757 BSTR *pbstrService, 758 BSTR *pbstrUserProcedure, 759 VSS_WRITERRESTORE_ENUM *pwriterRestore, 760 boolean *pbRebootRequired, 761 UINT *pcMappings); 762 763 HRESULT (STDMETHODCALLTYPE *GetAlternateLocationMapping)( 764 IVssExamineWriterMetadataEx2 *This, 765 UINT iMapping, 766 IVssWMFiledesc **ppFiledesc); 767 768 HRESULT (STDMETHODCALLTYPE *GetBackupSchema)( 769 IVssExamineWriterMetadataEx2 *This, 770 DWORD *pdwSchemaMask); 771 772 HRESULT (STDMETHODCALLTYPE *GetDocument)( 773 IVssExamineWriterMetadataEx2 *This, 774 IXMLDOMDocument **pDoc); 775 776 HRESULT (STDMETHODCALLTYPE *SaveAsXML)( 777 IVssExamineWriterMetadataEx2 *This, 778 BSTR *pbstrXML); 779 780 HRESULT (STDMETHODCALLTYPE *LoadFromXML)( 781 IVssExamineWriterMetadataEx2 *This, 782 BSTR bstrXML); 783 784 /*** IVssExamineWriterMetadataEx methods ***/ 785 HRESULT (STDMETHODCALLTYPE *GetIdentityEx)( 786 IVssExamineWriterMetadataEx2 *This, 787 VSS_ID *pidInstance, 788 VSS_ID *pidWriter, 789 BSTR *pbstrWriterName, 790 BSTR *pbstrInstanceName, 791 VSS_USAGE_TYPE *pUsage, 792 VSS_SOURCE_TYPE *pSource); 793 794 /*** IVssExamineWriterMetadataEx2 methods ***/ 795 HRESULT (STDMETHODCALLTYPE *GetVersion)( 796 IVssExamineWriterMetadataEx2 *This, 797 DWORD *pdwMajorVersion, 798 DWORD *pdwMinorVersion); 799 800 HRESULT (STDMETHODCALLTYPE *GetExcludeFromSnapshotCount)( 801 IVssExamineWriterMetadataEx2 *This, 802 UINT *pcExcludedFromSnapshot); 803 804 HRESULT (STDMETHODCALLTYPE *GetExcludeFromSnapshotFile)( 805 IVssExamineWriterMetadataEx2 *This, 806 UINT iFile, 807 IVssWMFiledesc **ppFiledesc); 808 809 END_INTERFACE 810 } IVssExamineWriterMetadataEx2Vtbl; 811 812 interface IVssExamineWriterMetadataEx2 { 813 CONST_VTBL IVssExamineWriterMetadataEx2Vtbl* lpVtbl; 814 }; 815 816 #ifdef COBJMACROS 817 #ifndef WIDL_C_INLINE_WRAPPERS 818 /*** IUnknown methods ***/ 819 #define IVssExamineWriterMetadataEx2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 820 #define IVssExamineWriterMetadataEx2_AddRef(This) (This)->lpVtbl->AddRef(This) 821 #define IVssExamineWriterMetadataEx2_Release(This) (This)->lpVtbl->Release(This) 822 /*** IVssExamineWriterMetadata methods ***/ 823 #define IVssExamineWriterMetadataEx2_GetIdentity(This,pidInstance,pidWriter,pbstrWriterName,pUsage,pSource) (This)->lpVtbl->GetIdentity(This,pidInstance,pidWriter,pbstrWriterName,pUsage,pSource) 824 #define IVssExamineWriterMetadataEx2_GetFileCounts(This,pcIncludeFiles,pcExcludeFiles,pcComponents) (This)->lpVtbl->GetFileCounts(This,pcIncludeFiles,pcExcludeFiles,pcComponents) 825 #define IVssExamineWriterMetadataEx2_GetIncludeFile(This,iFile,ppFiledesc) (This)->lpVtbl->GetIncludeFile(This,iFile,ppFiledesc) 826 #define IVssExamineWriterMetadataEx2_GetExcludeFile(This,iFile,ppFiledesc) (This)->lpVtbl->GetExcludeFile(This,iFile,ppFiledesc) 827 #define IVssExamineWriterMetadataEx2_GetComponent(This,iComponent,ppComponent) (This)->lpVtbl->GetComponent(This,iComponent,ppComponent) 828 #define IVssExamineWriterMetadataEx2_GetRestoreMethod(This,pMethod,pbstrService,pbstrUserProcedure,pwriterRestore,pbRebootRequired,pcMappings) (This)->lpVtbl->GetRestoreMethod(This,pMethod,pbstrService,pbstrUserProcedure,pwriterRestore,pbRebootRequired,pcMappings) 829 #define IVssExamineWriterMetadataEx2_GetAlternateLocationMapping(This,iMapping,ppFiledesc) (This)->lpVtbl->GetAlternateLocationMapping(This,iMapping,ppFiledesc) 830 #define IVssExamineWriterMetadataEx2_GetBackupSchema(This,pdwSchemaMask) (This)->lpVtbl->GetBackupSchema(This,pdwSchemaMask) 831 #define IVssExamineWriterMetadataEx2_GetDocument(This,pDoc) (This)->lpVtbl->GetDocument(This,pDoc) 832 #define IVssExamineWriterMetadataEx2_SaveAsXML(This,pbstrXML) (This)->lpVtbl->SaveAsXML(This,pbstrXML) 833 #define IVssExamineWriterMetadataEx2_LoadFromXML(This,bstrXML) (This)->lpVtbl->LoadFromXML(This,bstrXML) 834 /*** IVssExamineWriterMetadataEx methods ***/ 835 #define IVssExamineWriterMetadataEx2_GetIdentityEx(This,pidInstance,pidWriter,pbstrWriterName,pbstrInstanceName,pUsage,pSource) (This)->lpVtbl->GetIdentityEx(This,pidInstance,pidWriter,pbstrWriterName,pbstrInstanceName,pUsage,pSource) 836 /*** IVssExamineWriterMetadataEx2 methods ***/ 837 #define IVssExamineWriterMetadataEx2_GetVersion(This,pdwMajorVersion,pdwMinorVersion) (This)->lpVtbl->GetVersion(This,pdwMajorVersion,pdwMinorVersion) 838 #define IVssExamineWriterMetadataEx2_GetExcludeFromSnapshotCount(This,pcExcludedFromSnapshot) (This)->lpVtbl->GetExcludeFromSnapshotCount(This,pcExcludedFromSnapshot) 839 #define IVssExamineWriterMetadataEx2_GetExcludeFromSnapshotFile(This,iFile,ppFiledesc) (This)->lpVtbl->GetExcludeFromSnapshotFile(This,iFile,ppFiledesc) 840 #else 841 /*** IUnknown methods ***/ 842 static inline HRESULT IVssExamineWriterMetadataEx2_QueryInterface(IVssExamineWriterMetadataEx2* This,REFIID riid,void **ppvObject) { 843 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 844 } 845 static inline ULONG IVssExamineWriterMetadataEx2_AddRef(IVssExamineWriterMetadataEx2* This) { 846 return This->lpVtbl->AddRef(This); 847 } 848 static inline ULONG IVssExamineWriterMetadataEx2_Release(IVssExamineWriterMetadataEx2* This) { 849 return This->lpVtbl->Release(This); 850 } 851 /*** IVssExamineWriterMetadata methods ***/ 852 static inline HRESULT IVssExamineWriterMetadataEx2_GetIdentity(IVssExamineWriterMetadataEx2* This,VSS_ID *pidInstance,VSS_ID *pidWriter,BSTR *pbstrWriterName,VSS_USAGE_TYPE *pUsage,VSS_SOURCE_TYPE *pSource) { 853 return This->lpVtbl->GetIdentity(This,pidInstance,pidWriter,pbstrWriterName,pUsage,pSource); 854 } 855 static inline HRESULT IVssExamineWriterMetadataEx2_GetFileCounts(IVssExamineWriterMetadataEx2* This,UINT *pcIncludeFiles,UINT *pcExcludeFiles,UINT *pcComponents) { 856 return This->lpVtbl->GetFileCounts(This,pcIncludeFiles,pcExcludeFiles,pcComponents); 857 } 858 static inline HRESULT IVssExamineWriterMetadataEx2_GetIncludeFile(IVssExamineWriterMetadataEx2* This,UINT iFile,IVssWMFiledesc **ppFiledesc) { 859 return This->lpVtbl->GetIncludeFile(This,iFile,ppFiledesc); 860 } 861 static inline HRESULT IVssExamineWriterMetadataEx2_GetExcludeFile(IVssExamineWriterMetadataEx2* This,UINT iFile,IVssWMFiledesc **ppFiledesc) { 862 return This->lpVtbl->GetExcludeFile(This,iFile,ppFiledesc); 863 } 864 static inline HRESULT IVssExamineWriterMetadataEx2_GetComponent(IVssExamineWriterMetadataEx2* This,UINT iComponent,IVssWMComponent **ppComponent) { 865 return This->lpVtbl->GetComponent(This,iComponent,ppComponent); 866 } 867 static inline HRESULT IVssExamineWriterMetadataEx2_GetRestoreMethod(IVssExamineWriterMetadataEx2* This,VSS_RESTOREMETHOD_ENUM *pMethod,BSTR *pbstrService,BSTR *pbstrUserProcedure,VSS_WRITERRESTORE_ENUM *pwriterRestore,boolean *pbRebootRequired,UINT *pcMappings) { 868 return This->lpVtbl->GetRestoreMethod(This,pMethod,pbstrService,pbstrUserProcedure,pwriterRestore,pbRebootRequired,pcMappings); 869 } 870 static inline HRESULT IVssExamineWriterMetadataEx2_GetAlternateLocationMapping(IVssExamineWriterMetadataEx2* This,UINT iMapping,IVssWMFiledesc **ppFiledesc) { 871 return This->lpVtbl->GetAlternateLocationMapping(This,iMapping,ppFiledesc); 872 } 873 static inline HRESULT IVssExamineWriterMetadataEx2_GetBackupSchema(IVssExamineWriterMetadataEx2* This,DWORD *pdwSchemaMask) { 874 return This->lpVtbl->GetBackupSchema(This,pdwSchemaMask); 875 } 876 static inline HRESULT IVssExamineWriterMetadataEx2_GetDocument(IVssExamineWriterMetadataEx2* This,IXMLDOMDocument **pDoc) { 877 return This->lpVtbl->GetDocument(This,pDoc); 878 } 879 static inline HRESULT IVssExamineWriterMetadataEx2_SaveAsXML(IVssExamineWriterMetadataEx2* This,BSTR *pbstrXML) { 880 return This->lpVtbl->SaveAsXML(This,pbstrXML); 881 } 882 static inline HRESULT IVssExamineWriterMetadataEx2_LoadFromXML(IVssExamineWriterMetadataEx2* This,BSTR bstrXML) { 883 return This->lpVtbl->LoadFromXML(This,bstrXML); 884 } 885 /*** IVssExamineWriterMetadataEx methods ***/ 886 static inline HRESULT IVssExamineWriterMetadataEx2_GetIdentityEx(IVssExamineWriterMetadataEx2* This,VSS_ID *pidInstance,VSS_ID *pidWriter,BSTR *pbstrWriterName,BSTR *pbstrInstanceName,VSS_USAGE_TYPE *pUsage,VSS_SOURCE_TYPE *pSource) { 887 return This->lpVtbl->GetIdentityEx(This,pidInstance,pidWriter,pbstrWriterName,pbstrInstanceName,pUsage,pSource); 888 } 889 /*** IVssExamineWriterMetadataEx2 methods ***/ 890 static inline HRESULT IVssExamineWriterMetadataEx2_GetVersion(IVssExamineWriterMetadataEx2* This,DWORD *pdwMajorVersion,DWORD *pdwMinorVersion) { 891 return This->lpVtbl->GetVersion(This,pdwMajorVersion,pdwMinorVersion); 892 } 893 static inline HRESULT IVssExamineWriterMetadataEx2_GetExcludeFromSnapshotCount(IVssExamineWriterMetadataEx2* This,UINT *pcExcludedFromSnapshot) { 894 return This->lpVtbl->GetExcludeFromSnapshotCount(This,pcExcludedFromSnapshot); 895 } 896 static inline HRESULT IVssExamineWriterMetadataEx2_GetExcludeFromSnapshotFile(IVssExamineWriterMetadataEx2* This,UINT iFile,IVssWMFiledesc **ppFiledesc) { 897 return This->lpVtbl->GetExcludeFromSnapshotFile(This,iFile,ppFiledesc); 898 } 899 #endif 900 #endif 901 902 #endif 903 904 905 #endif /* __IVssExamineWriterMetadataEx2_INTERFACE_DEFINED__ */ 906 907 /***************************************************************************** 908 * IVssWriterComponentsExt interface 909 */ 910 #ifndef __IVssWriterComponentsExt_INTERFACE_DEFINED__ 911 #define __IVssWriterComponentsExt_INTERFACE_DEFINED__ 912 913 DEFINE_GUID(IID_IVssWriterComponentsExt, 0x00000000, 0x0000, 0x0000, 0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00); 914 #if defined(__cplusplus) && !defined(CINTERFACE) 915 MIDL_INTERFACE("00000000-0000-0000-0000-000000000000") 916 IVssWriterComponentsExt : public IVssWriterComponents 917 { 918 }; 919 #ifdef __CRT_UUID_DECL 920 __CRT_UUID_DECL(IVssWriterComponentsExt, 0x00000000, 0x0000, 0x0000, 0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00) 921 #endif 922 #else 923 typedef struct IVssWriterComponentsExtVtbl { 924 BEGIN_INTERFACE 925 926 /*** IVssWriterComponents methods ***/ 927 HRESULT (STDMETHODCALLTYPE *GetComponentCount)( 928 IVssWriterComponentsExt *This, 929 UINT *pcComponents); 930 931 HRESULT (STDMETHODCALLTYPE *GetWriterInfo)( 932 IVssWriterComponentsExt *This, 933 VSS_ID *pidInstance, 934 VSS_ID *pidWriter); 935 936 HRESULT (STDMETHODCALLTYPE *GetComponent)( 937 IVssWriterComponentsExt *This, 938 UINT iComponent, 939 IVssComponent **ppComponent); 940 941 END_INTERFACE 942 } IVssWriterComponentsExtVtbl; 943 944 interface IVssWriterComponentsExt { 945 CONST_VTBL IVssWriterComponentsExtVtbl* lpVtbl; 946 }; 947 948 #ifdef COBJMACROS 949 #ifndef WIDL_C_INLINE_WRAPPERS 950 /*** IVssWriterComponents methods ***/ 951 #define IVssWriterComponentsExt_GetComponentCount(This,pcComponents) (This)->lpVtbl->GetComponentCount(This,pcComponents) 952 #define IVssWriterComponentsExt_GetWriterInfo(This,pidInstance,pidWriter) (This)->lpVtbl->GetWriterInfo(This,pidInstance,pidWriter) 953 #define IVssWriterComponentsExt_GetComponent(This,iComponent,ppComponent) (This)->lpVtbl->GetComponent(This,iComponent,ppComponent) 954 #else 955 /*** IVssWriterComponents methods ***/ 956 static inline HRESULT IVssWriterComponentsExt_GetComponentCount(IVssWriterComponentsExt* This,UINT *pcComponents) { 957 return This->lpVtbl->GetComponentCount(This,pcComponents); 958 } 959 static inline HRESULT IVssWriterComponentsExt_GetWriterInfo(IVssWriterComponentsExt* This,VSS_ID *pidInstance,VSS_ID *pidWriter) { 960 return This->lpVtbl->GetWriterInfo(This,pidInstance,pidWriter); 961 } 962 static inline HRESULT IVssWriterComponentsExt_GetComponent(IVssWriterComponentsExt* This,UINT iComponent,IVssComponent **ppComponent) { 963 return This->lpVtbl->GetComponent(This,iComponent,ppComponent); 964 } 965 #endif 966 #endif 967 968 #endif 969 970 971 #endif /* __IVssWriterComponentsExt_INTERFACE_DEFINED__ */ 972 973 /***************************************************************************** 974 * IVssBackupComponents interface 975 */ 976 #ifndef __IVssBackupComponents_INTERFACE_DEFINED__ 977 #define __IVssBackupComponents_INTERFACE_DEFINED__ 978 979 DEFINE_GUID(IID_IVssBackupComponents, 0x665c1d5f, 0xc218, 0x414d, 0xa0,0x5d, 0x7f,0xef,0x5f,0x9d,0x5c,0x86); 980 #if defined(__cplusplus) && !defined(CINTERFACE) 981 MIDL_INTERFACE("665c1d5f-c218-414d-a05d-7fef5f9d5c86") 982 IVssBackupComponents : public IUnknown 983 { 984 virtual HRESULT STDMETHODCALLTYPE GetWriterComponentsCount( 985 UINT *pcComponents) = 0; 986 987 virtual HRESULT STDMETHODCALLTYPE GetWriterComponents( 988 UINT iWriter, 989 IVssWriterComponentsExt **ppWriter) = 0; 990 991 virtual HRESULT STDMETHODCALLTYPE InitializeForBackup( 992 BSTR bstrXML = 0) = 0; 993 994 virtual HRESULT STDMETHODCALLTYPE SetBackupState( 995 boolean bSelectComponents, 996 boolean bBackupBootableSystemState, 997 VSS_BACKUP_TYPE backupType, 998 boolean bPartialFileSupport = 0) = 0; 999 1000 virtual HRESULT STDMETHODCALLTYPE InitializeForRestore( 1001 BSTR bstrXML) = 0; 1002 1003 virtual HRESULT STDMETHODCALLTYPE SetRestoreState( 1004 VSS_RESTORE_TYPE restoreType) = 0; 1005 1006 virtual HRESULT STDMETHODCALLTYPE GatherWriterMetadata( 1007 IVssAsync **pAsync) = 0; 1008 1009 virtual HRESULT STDMETHODCALLTYPE GetWriterMetadataCount( 1010 UINT *pcWriters) = 0; 1011 1012 virtual HRESULT STDMETHODCALLTYPE GetWriterMetadata( 1013 UINT iWriter, 1014 VSS_ID *pidInstance, 1015 IVssExamineWriterMetadata **ppMetadata) = 0; 1016 1017 virtual HRESULT STDMETHODCALLTYPE FreeWriterMetadata( 1018 ) = 0; 1019 1020 virtual HRESULT STDMETHODCALLTYPE AddComponent( 1021 VSS_ID instanceId, 1022 VSS_ID writerId, 1023 VSS_COMPONENT_TYPE ct, 1024 LPCWSTR wszLogicalPath, 1025 LPCWSTR wszComponentName) = 0; 1026 1027 virtual HRESULT STDMETHODCALLTYPE PrepareForBackup( 1028 IVssAsync **ppAsync) = 0; 1029 1030 virtual HRESULT STDMETHODCALLTYPE AbortBackup( 1031 ) = 0; 1032 1033 virtual HRESULT STDMETHODCALLTYPE GatherWriterStatus( 1034 IVssAsync **pAsync) = 0; 1035 1036 virtual HRESULT STDMETHODCALLTYPE GetWriterStatusCount( 1037 UINT *pcWriters) = 0; 1038 1039 virtual HRESULT STDMETHODCALLTYPE FreeWriterStatus( 1040 ) = 0; 1041 1042 virtual HRESULT STDMETHODCALLTYPE GetWriterStatus( 1043 UINT iWriter, 1044 VSS_ID *pidInstance, 1045 VSS_ID *pidWriter, 1046 BSTR *pbstrWriter, 1047 VSS_WRITER_STATE *pnStatus, 1048 HRESULT *phResultFailure) = 0; 1049 1050 virtual HRESULT STDMETHODCALLTYPE SetBackupSucceeded( 1051 VSS_ID instanceId, 1052 VSS_ID writerId, 1053 VSS_COMPONENT_TYPE ct, 1054 LPCWSTR wszLogicalPath, 1055 LPCWSTR wszComponentName, 1056 boolean bSucceded) = 0; 1057 1058 virtual HRESULT STDMETHODCALLTYPE SetBackupOptions( 1059 VSS_ID writerId, 1060 VSS_COMPONENT_TYPE ct, 1061 LPCWSTR wszLogicalPath, 1062 LPCWSTR wszComponentName, 1063 LPCWSTR wszBackupOptions) = 0; 1064 1065 virtual HRESULT STDMETHODCALLTYPE SetSelectedForRestore( 1066 VSS_ID writerId, 1067 VSS_COMPONENT_TYPE ct, 1068 LPCWSTR wszLogicalPath, 1069 LPCWSTR wszComponentName, 1070 boolean bSelectedForRestore) = 0; 1071 1072 virtual HRESULT STDMETHODCALLTYPE SetRestoreOptions( 1073 VSS_ID writerId, 1074 VSS_COMPONENT_TYPE ct, 1075 LPCWSTR wszLogicalPath, 1076 LPCWSTR wszComponentName, 1077 LPCWSTR wszRestoreOptions) = 0; 1078 1079 virtual HRESULT STDMETHODCALLTYPE SetAdditionalRestores( 1080 VSS_ID writerId, 1081 VSS_COMPONENT_TYPE ct, 1082 LPCWSTR wszLogicalPath, 1083 LPCWSTR wszComponentName, 1084 boolean bAdditionalRestores) = 0; 1085 1086 virtual HRESULT STDMETHODCALLTYPE SetPreviousBackupStamp( 1087 VSS_ID writerId, 1088 VSS_COMPONENT_TYPE ct, 1089 LPCWSTR wszLogicalPath, 1090 LPCWSTR wszComponentName, 1091 LPCWSTR wszPreviousBackupStamp) = 0; 1092 1093 virtual HRESULT STDMETHODCALLTYPE SaveAsXML( 1094 BSTR *pbstrXML) = 0; 1095 1096 virtual HRESULT STDMETHODCALLTYPE BackupComplete( 1097 IVssAsync **ppAsync) = 0; 1098 1099 virtual HRESULT STDMETHODCALLTYPE AddAlternativeLocationMapping( 1100 VSS_ID writerId, 1101 VSS_COMPONENT_TYPE componentType, 1102 LPCWSTR wszLogicalPath, 1103 LPCWSTR wszComponentName, 1104 LPCWSTR wszPath, 1105 LPCWSTR wszFilespec, 1106 boolean bRecursive, 1107 LPCWSTR wszDestination) = 0; 1108 1109 virtual HRESULT STDMETHODCALLTYPE AddRestoreSubcomponent( 1110 VSS_ID writerId, 1111 VSS_COMPONENT_TYPE componentType, 1112 LPCWSTR wszLogicalPath, 1113 LPCWSTR wszComponentName, 1114 LPCWSTR wszSubComponentLogicalPath, 1115 LPCWSTR wszSubComponentName, 1116 boolean bRepair) = 0; 1117 1118 virtual HRESULT STDMETHODCALLTYPE SetFileRestoreStatus( 1119 VSS_ID writerId, 1120 VSS_COMPONENT_TYPE ct, 1121 LPCWSTR wszLogicalPath, 1122 LPCWSTR wszComponentName, 1123 VSS_FILE_RESTORE_STATUS status) = 0; 1124 1125 virtual HRESULT STDMETHODCALLTYPE AddNewTarget( 1126 VSS_ID writerId, 1127 VSS_COMPONENT_TYPE ct, 1128 LPCWSTR wszLogicalPath, 1129 LPCWSTR wszComponentName, 1130 LPCWSTR wszPath, 1131 LPCWSTR wszFileName, 1132 boolean bRecursive, 1133 LPCWSTR wszAlternatePath) = 0; 1134 1135 virtual HRESULT STDMETHODCALLTYPE SetRangesFilePath( 1136 VSS_ID writerId, 1137 VSS_COMPONENT_TYPE ct, 1138 LPCWSTR wszLogicalPath, 1139 LPCWSTR wszComponentName, 1140 UINT iPartialFile, 1141 LPCWSTR wszRangesFile) = 0; 1142 1143 virtual HRESULT STDMETHODCALLTYPE PreRestore( 1144 IVssAsync **ppAsync) = 0; 1145 1146 virtual HRESULT STDMETHODCALLTYPE PostRestore( 1147 IVssAsync **ppAsync) = 0; 1148 1149 virtual HRESULT STDMETHODCALLTYPE SetContext( 1150 LONG lContext) = 0; 1151 1152 virtual HRESULT STDMETHODCALLTYPE StartSnapshotSet( 1153 VSS_ID *pSnapshotSetId) = 0; 1154 1155 virtual HRESULT STDMETHODCALLTYPE AddToSnapshotSet( 1156 VSS_PWSZ pwszVolumeName, 1157 VSS_ID ProviderId, 1158 VSS_ID *pidSnapshot) = 0; 1159 1160 virtual HRESULT STDMETHODCALLTYPE DoSnapshotSet( 1161 IVssAsync **ppAsync) = 0; 1162 1163 virtual HRESULT STDMETHODCALLTYPE DeleteSnapshots( 1164 VSS_ID SourceObjectId, 1165 VSS_OBJECT_TYPE eSourceObjectType, 1166 WINBOOL bForceDelete, 1167 LONG *plDeletedSnapshots, 1168 VSS_ID *pNondeletedSnapshotID) = 0; 1169 1170 virtual HRESULT STDMETHODCALLTYPE ImportSnapshots( 1171 IVssAsync **ppAsync) = 0; 1172 1173 virtual HRESULT STDMETHODCALLTYPE BreakSnapshotSet( 1174 VSS_ID SnapshotSetId) = 0; 1175 1176 virtual HRESULT STDMETHODCALLTYPE GetSnapshotProperties( 1177 VSS_ID SnapshotId, 1178 VSS_SNAPSHOT_PROP *pProp) = 0; 1179 1180 virtual HRESULT STDMETHODCALLTYPE Query( 1181 VSS_ID QueriedObjectId, 1182 VSS_OBJECT_TYPE eQueriedObjectType, 1183 VSS_OBJECT_TYPE eReturnedObjectsType, 1184 IVssEnumObject **ppEnum) = 0; 1185 1186 virtual HRESULT STDMETHODCALLTYPE IsVolumeSupported( 1187 VSS_ID ProviderId, 1188 VSS_PWSZ pwszVolumeName, 1189 WINBOOL *pbSupportedByThisProvider) = 0; 1190 1191 virtual HRESULT STDMETHODCALLTYPE DisableWriterClasses( 1192 const VSS_ID *rgWriterClassId, 1193 UINT cClassId) = 0; 1194 1195 virtual HRESULT STDMETHODCALLTYPE EnableWriterClasses( 1196 const VSS_ID *rgWriterClassId, 1197 UINT cClassId) = 0; 1198 1199 virtual HRESULT STDMETHODCALLTYPE DisableWriterInstances( 1200 const VSS_ID *rgWriterInstanceId, 1201 UINT cInstanceId) = 0; 1202 1203 virtual HRESULT STDMETHODCALLTYPE ExposeSnapshot( 1204 VSS_ID SnapshotId, 1205 VSS_PWSZ wszPathFromRoot, 1206 LONG lAttributes, 1207 VSS_PWSZ wszExpose, 1208 VSS_PWSZ *pwszExposed) = 0; 1209 1210 virtual HRESULT STDMETHODCALLTYPE RevertToSnapshot( 1211 VSS_ID SnapshotId, 1212 WINBOOL bForceDismount) = 0; 1213 1214 virtual HRESULT STDMETHODCALLTYPE QueryRevertStatus( 1215 VSS_PWSZ pwszVolume, 1216 IVssAsync **ppAsync) = 0; 1217 1218 }; 1219 #ifdef __CRT_UUID_DECL 1220 __CRT_UUID_DECL(IVssBackupComponents, 0x665c1d5f, 0xc218, 0x414d, 0xa0,0x5d, 0x7f,0xef,0x5f,0x9d,0x5c,0x86) 1221 #endif 1222 #else 1223 typedef struct IVssBackupComponentsVtbl { 1224 BEGIN_INTERFACE 1225 1226 /*** IUnknown methods ***/ 1227 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1228 IVssBackupComponents *This, 1229 REFIID riid, 1230 void **ppvObject); 1231 1232 ULONG (STDMETHODCALLTYPE *AddRef)( 1233 IVssBackupComponents *This); 1234 1235 ULONG (STDMETHODCALLTYPE *Release)( 1236 IVssBackupComponents *This); 1237 1238 /*** IVssBackupComponents methods ***/ 1239 HRESULT (STDMETHODCALLTYPE *GetWriterComponentsCount)( 1240 IVssBackupComponents *This, 1241 UINT *pcComponents); 1242 1243 HRESULT (STDMETHODCALLTYPE *GetWriterComponents)( 1244 IVssBackupComponents *This, 1245 UINT iWriter, 1246 IVssWriterComponentsExt **ppWriter); 1247 1248 HRESULT (STDMETHODCALLTYPE *InitializeForBackup)( 1249 IVssBackupComponents *This, 1250 BSTR bstrXML); 1251 1252 HRESULT (STDMETHODCALLTYPE *SetBackupState)( 1253 IVssBackupComponents *This, 1254 boolean bSelectComponents, 1255 boolean bBackupBootableSystemState, 1256 VSS_BACKUP_TYPE backupType, 1257 boolean bPartialFileSupport); 1258 1259 HRESULT (STDMETHODCALLTYPE *InitializeForRestore)( 1260 IVssBackupComponents *This, 1261 BSTR bstrXML); 1262 1263 HRESULT (STDMETHODCALLTYPE *SetRestoreState)( 1264 IVssBackupComponents *This, 1265 VSS_RESTORE_TYPE restoreType); 1266 1267 HRESULT (STDMETHODCALLTYPE *GatherWriterMetadata)( 1268 IVssBackupComponents *This, 1269 IVssAsync **pAsync); 1270 1271 HRESULT (STDMETHODCALLTYPE *GetWriterMetadataCount)( 1272 IVssBackupComponents *This, 1273 UINT *pcWriters); 1274 1275 HRESULT (STDMETHODCALLTYPE *GetWriterMetadata)( 1276 IVssBackupComponents *This, 1277 UINT iWriter, 1278 VSS_ID *pidInstance, 1279 IVssExamineWriterMetadata **ppMetadata); 1280 1281 HRESULT (STDMETHODCALLTYPE *FreeWriterMetadata)( 1282 IVssBackupComponents *This); 1283 1284 HRESULT (STDMETHODCALLTYPE *AddComponent)( 1285 IVssBackupComponents *This, 1286 VSS_ID instanceId, 1287 VSS_ID writerId, 1288 VSS_COMPONENT_TYPE ct, 1289 LPCWSTR wszLogicalPath, 1290 LPCWSTR wszComponentName); 1291 1292 HRESULT (STDMETHODCALLTYPE *PrepareForBackup)( 1293 IVssBackupComponents *This, 1294 IVssAsync **ppAsync); 1295 1296 HRESULT (STDMETHODCALLTYPE *AbortBackup)( 1297 IVssBackupComponents *This); 1298 1299 HRESULT (STDMETHODCALLTYPE *GatherWriterStatus)( 1300 IVssBackupComponents *This, 1301 IVssAsync **pAsync); 1302 1303 HRESULT (STDMETHODCALLTYPE *GetWriterStatusCount)( 1304 IVssBackupComponents *This, 1305 UINT *pcWriters); 1306 1307 HRESULT (STDMETHODCALLTYPE *FreeWriterStatus)( 1308 IVssBackupComponents *This); 1309 1310 HRESULT (STDMETHODCALLTYPE *GetWriterStatus)( 1311 IVssBackupComponents *This, 1312 UINT iWriter, 1313 VSS_ID *pidInstance, 1314 VSS_ID *pidWriter, 1315 BSTR *pbstrWriter, 1316 VSS_WRITER_STATE *pnStatus, 1317 HRESULT *phResultFailure); 1318 1319 HRESULT (STDMETHODCALLTYPE *SetBackupSucceeded)( 1320 IVssBackupComponents *This, 1321 VSS_ID instanceId, 1322 VSS_ID writerId, 1323 VSS_COMPONENT_TYPE ct, 1324 LPCWSTR wszLogicalPath, 1325 LPCWSTR wszComponentName, 1326 boolean bSucceded); 1327 1328 HRESULT (STDMETHODCALLTYPE *SetBackupOptions)( 1329 IVssBackupComponents *This, 1330 VSS_ID writerId, 1331 VSS_COMPONENT_TYPE ct, 1332 LPCWSTR wszLogicalPath, 1333 LPCWSTR wszComponentName, 1334 LPCWSTR wszBackupOptions); 1335 1336 HRESULT (STDMETHODCALLTYPE *SetSelectedForRestore)( 1337 IVssBackupComponents *This, 1338 VSS_ID writerId, 1339 VSS_COMPONENT_TYPE ct, 1340 LPCWSTR wszLogicalPath, 1341 LPCWSTR wszComponentName, 1342 boolean bSelectedForRestore); 1343 1344 HRESULT (STDMETHODCALLTYPE *SetRestoreOptions)( 1345 IVssBackupComponents *This, 1346 VSS_ID writerId, 1347 VSS_COMPONENT_TYPE ct, 1348 LPCWSTR wszLogicalPath, 1349 LPCWSTR wszComponentName, 1350 LPCWSTR wszRestoreOptions); 1351 1352 HRESULT (STDMETHODCALLTYPE *SetAdditionalRestores)( 1353 IVssBackupComponents *This, 1354 VSS_ID writerId, 1355 VSS_COMPONENT_TYPE ct, 1356 LPCWSTR wszLogicalPath, 1357 LPCWSTR wszComponentName, 1358 boolean bAdditionalRestores); 1359 1360 HRESULT (STDMETHODCALLTYPE *SetPreviousBackupStamp)( 1361 IVssBackupComponents *This, 1362 VSS_ID writerId, 1363 VSS_COMPONENT_TYPE ct, 1364 LPCWSTR wszLogicalPath, 1365 LPCWSTR wszComponentName, 1366 LPCWSTR wszPreviousBackupStamp); 1367 1368 HRESULT (STDMETHODCALLTYPE *SaveAsXML)( 1369 IVssBackupComponents *This, 1370 BSTR *pbstrXML); 1371 1372 HRESULT (STDMETHODCALLTYPE *BackupComplete)( 1373 IVssBackupComponents *This, 1374 IVssAsync **ppAsync); 1375 1376 HRESULT (STDMETHODCALLTYPE *AddAlternativeLocationMapping)( 1377 IVssBackupComponents *This, 1378 VSS_ID writerId, 1379 VSS_COMPONENT_TYPE componentType, 1380 LPCWSTR wszLogicalPath, 1381 LPCWSTR wszComponentName, 1382 LPCWSTR wszPath, 1383 LPCWSTR wszFilespec, 1384 boolean bRecursive, 1385 LPCWSTR wszDestination); 1386 1387 HRESULT (STDMETHODCALLTYPE *AddRestoreSubcomponent)( 1388 IVssBackupComponents *This, 1389 VSS_ID writerId, 1390 VSS_COMPONENT_TYPE componentType, 1391 LPCWSTR wszLogicalPath, 1392 LPCWSTR wszComponentName, 1393 LPCWSTR wszSubComponentLogicalPath, 1394 LPCWSTR wszSubComponentName, 1395 boolean bRepair); 1396 1397 HRESULT (STDMETHODCALLTYPE *SetFileRestoreStatus)( 1398 IVssBackupComponents *This, 1399 VSS_ID writerId, 1400 VSS_COMPONENT_TYPE ct, 1401 LPCWSTR wszLogicalPath, 1402 LPCWSTR wszComponentName, 1403 VSS_FILE_RESTORE_STATUS status); 1404 1405 HRESULT (STDMETHODCALLTYPE *AddNewTarget)( 1406 IVssBackupComponents *This, 1407 VSS_ID writerId, 1408 VSS_COMPONENT_TYPE ct, 1409 LPCWSTR wszLogicalPath, 1410 LPCWSTR wszComponentName, 1411 LPCWSTR wszPath, 1412 LPCWSTR wszFileName, 1413 boolean bRecursive, 1414 LPCWSTR wszAlternatePath); 1415 1416 HRESULT (STDMETHODCALLTYPE *SetRangesFilePath)( 1417 IVssBackupComponents *This, 1418 VSS_ID writerId, 1419 VSS_COMPONENT_TYPE ct, 1420 LPCWSTR wszLogicalPath, 1421 LPCWSTR wszComponentName, 1422 UINT iPartialFile, 1423 LPCWSTR wszRangesFile); 1424 1425 HRESULT (STDMETHODCALLTYPE *PreRestore)( 1426 IVssBackupComponents *This, 1427 IVssAsync **ppAsync); 1428 1429 HRESULT (STDMETHODCALLTYPE *PostRestore)( 1430 IVssBackupComponents *This, 1431 IVssAsync **ppAsync); 1432 1433 HRESULT (STDMETHODCALLTYPE *SetContext)( 1434 IVssBackupComponents *This, 1435 LONG lContext); 1436 1437 HRESULT (STDMETHODCALLTYPE *StartSnapshotSet)( 1438 IVssBackupComponents *This, 1439 VSS_ID *pSnapshotSetId); 1440 1441 HRESULT (STDMETHODCALLTYPE *AddToSnapshotSet)( 1442 IVssBackupComponents *This, 1443 VSS_PWSZ pwszVolumeName, 1444 VSS_ID ProviderId, 1445 VSS_ID *pidSnapshot); 1446 1447 HRESULT (STDMETHODCALLTYPE *DoSnapshotSet)( 1448 IVssBackupComponents *This, 1449 IVssAsync **ppAsync); 1450 1451 HRESULT (STDMETHODCALLTYPE *DeleteSnapshots)( 1452 IVssBackupComponents *This, 1453 VSS_ID SourceObjectId, 1454 VSS_OBJECT_TYPE eSourceObjectType, 1455 WINBOOL bForceDelete, 1456 LONG *plDeletedSnapshots, 1457 VSS_ID *pNondeletedSnapshotID); 1458 1459 HRESULT (STDMETHODCALLTYPE *ImportSnapshots)( 1460 IVssBackupComponents *This, 1461 IVssAsync **ppAsync); 1462 1463 HRESULT (STDMETHODCALLTYPE *BreakSnapshotSet)( 1464 IVssBackupComponents *This, 1465 VSS_ID SnapshotSetId); 1466 1467 HRESULT (STDMETHODCALLTYPE *GetSnapshotProperties)( 1468 IVssBackupComponents *This, 1469 VSS_ID SnapshotId, 1470 VSS_SNAPSHOT_PROP *pProp); 1471 1472 HRESULT (STDMETHODCALLTYPE *Query)( 1473 IVssBackupComponents *This, 1474 VSS_ID QueriedObjectId, 1475 VSS_OBJECT_TYPE eQueriedObjectType, 1476 VSS_OBJECT_TYPE eReturnedObjectsType, 1477 IVssEnumObject **ppEnum); 1478 1479 HRESULT (STDMETHODCALLTYPE *IsVolumeSupported)( 1480 IVssBackupComponents *This, 1481 VSS_ID ProviderId, 1482 VSS_PWSZ pwszVolumeName, 1483 WINBOOL *pbSupportedByThisProvider); 1484 1485 HRESULT (STDMETHODCALLTYPE *DisableWriterClasses)( 1486 IVssBackupComponents *This, 1487 const VSS_ID *rgWriterClassId, 1488 UINT cClassId); 1489 1490 HRESULT (STDMETHODCALLTYPE *EnableWriterClasses)( 1491 IVssBackupComponents *This, 1492 const VSS_ID *rgWriterClassId, 1493 UINT cClassId); 1494 1495 HRESULT (STDMETHODCALLTYPE *DisableWriterInstances)( 1496 IVssBackupComponents *This, 1497 const VSS_ID *rgWriterInstanceId, 1498 UINT cInstanceId); 1499 1500 HRESULT (STDMETHODCALLTYPE *ExposeSnapshot)( 1501 IVssBackupComponents *This, 1502 VSS_ID SnapshotId, 1503 VSS_PWSZ wszPathFromRoot, 1504 LONG lAttributes, 1505 VSS_PWSZ wszExpose, 1506 VSS_PWSZ *pwszExposed); 1507 1508 HRESULT (STDMETHODCALLTYPE *RevertToSnapshot)( 1509 IVssBackupComponents *This, 1510 VSS_ID SnapshotId, 1511 WINBOOL bForceDismount); 1512 1513 HRESULT (STDMETHODCALLTYPE *QueryRevertStatus)( 1514 IVssBackupComponents *This, 1515 VSS_PWSZ pwszVolume, 1516 IVssAsync **ppAsync); 1517 1518 END_INTERFACE 1519 } IVssBackupComponentsVtbl; 1520 1521 interface IVssBackupComponents { 1522 CONST_VTBL IVssBackupComponentsVtbl* lpVtbl; 1523 }; 1524 1525 #ifdef COBJMACROS 1526 #ifndef WIDL_C_INLINE_WRAPPERS 1527 /*** IUnknown methods ***/ 1528 #define IVssBackupComponents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1529 #define IVssBackupComponents_AddRef(This) (This)->lpVtbl->AddRef(This) 1530 #define IVssBackupComponents_Release(This) (This)->lpVtbl->Release(This) 1531 /*** IVssBackupComponents methods ***/ 1532 #define IVssBackupComponents_GetWriterComponentsCount(This,pcComponents) (This)->lpVtbl->GetWriterComponentsCount(This,pcComponents) 1533 #define IVssBackupComponents_GetWriterComponents(This,iWriter,ppWriter) (This)->lpVtbl->GetWriterComponents(This,iWriter,ppWriter) 1534 #define IVssBackupComponents_InitializeForBackup(This,bstrXML) (This)->lpVtbl->InitializeForBackup(This,bstrXML) 1535 #define IVssBackupComponents_SetBackupState(This,bSelectComponents,bBackupBootableSystemState,backupType,bPartialFileSupport) (This)->lpVtbl->SetBackupState(This,bSelectComponents,bBackupBootableSystemState,backupType,bPartialFileSupport) 1536 #define IVssBackupComponents_InitializeForRestore(This,bstrXML) (This)->lpVtbl->InitializeForRestore(This,bstrXML) 1537 #define IVssBackupComponents_SetRestoreState(This,restoreType) (This)->lpVtbl->SetRestoreState(This,restoreType) 1538 #define IVssBackupComponents_GatherWriterMetadata(This,pAsync) (This)->lpVtbl->GatherWriterMetadata(This,pAsync) 1539 #define IVssBackupComponents_GetWriterMetadataCount(This,pcWriters) (This)->lpVtbl->GetWriterMetadataCount(This,pcWriters) 1540 #define IVssBackupComponents_GetWriterMetadata(This,iWriter,pidInstance,ppMetadata) (This)->lpVtbl->GetWriterMetadata(This,iWriter,pidInstance,ppMetadata) 1541 #define IVssBackupComponents_FreeWriterMetadata(This) (This)->lpVtbl->FreeWriterMetadata(This) 1542 #define IVssBackupComponents_AddComponent(This,instanceId,writerId,ct,wszLogicalPath,wszComponentName) (This)->lpVtbl->AddComponent(This,instanceId,writerId,ct,wszLogicalPath,wszComponentName) 1543 #define IVssBackupComponents_PrepareForBackup(This,ppAsync) (This)->lpVtbl->PrepareForBackup(This,ppAsync) 1544 #define IVssBackupComponents_AbortBackup(This) (This)->lpVtbl->AbortBackup(This) 1545 #define IVssBackupComponents_GatherWriterStatus(This,pAsync) (This)->lpVtbl->GatherWriterStatus(This,pAsync) 1546 #define IVssBackupComponents_GetWriterStatusCount(This,pcWriters) (This)->lpVtbl->GetWriterStatusCount(This,pcWriters) 1547 #define IVssBackupComponents_FreeWriterStatus(This) (This)->lpVtbl->FreeWriterStatus(This) 1548 #define IVssBackupComponents_GetWriterStatus(This,iWriter,pidInstance,pidWriter,pbstrWriter,pnStatus,phResultFailure) (This)->lpVtbl->GetWriterStatus(This,iWriter,pidInstance,pidWriter,pbstrWriter,pnStatus,phResultFailure) 1549 #define IVssBackupComponents_SetBackupSucceeded(This,instanceId,writerId,ct,wszLogicalPath,wszComponentName,bSucceded) (This)->lpVtbl->SetBackupSucceeded(This,instanceId,writerId,ct,wszLogicalPath,wszComponentName,bSucceded) 1550 #define IVssBackupComponents_SetBackupOptions(This,writerId,ct,wszLogicalPath,wszComponentName,wszBackupOptions) (This)->lpVtbl->SetBackupOptions(This,writerId,ct,wszLogicalPath,wszComponentName,wszBackupOptions) 1551 #define IVssBackupComponents_SetSelectedForRestore(This,writerId,ct,wszLogicalPath,wszComponentName,bSelectedForRestore) (This)->lpVtbl->SetSelectedForRestore(This,writerId,ct,wszLogicalPath,wszComponentName,bSelectedForRestore) 1552 #define IVssBackupComponents_SetRestoreOptions(This,writerId,ct,wszLogicalPath,wszComponentName,wszRestoreOptions) (This)->lpVtbl->SetRestoreOptions(This,writerId,ct,wszLogicalPath,wszComponentName,wszRestoreOptions) 1553 #define IVssBackupComponents_SetAdditionalRestores(This,writerId,ct,wszLogicalPath,wszComponentName,bAdditionalRestores) (This)->lpVtbl->SetAdditionalRestores(This,writerId,ct,wszLogicalPath,wszComponentName,bAdditionalRestores) 1554 #define IVssBackupComponents_SetPreviousBackupStamp(This,writerId,ct,wszLogicalPath,wszComponentName,wszPreviousBackupStamp) (This)->lpVtbl->SetPreviousBackupStamp(This,writerId,ct,wszLogicalPath,wszComponentName,wszPreviousBackupStamp) 1555 #define IVssBackupComponents_SaveAsXML(This,pbstrXML) (This)->lpVtbl->SaveAsXML(This,pbstrXML) 1556 #define IVssBackupComponents_BackupComplete(This,ppAsync) (This)->lpVtbl->BackupComplete(This,ppAsync) 1557 #define IVssBackupComponents_AddAlternativeLocationMapping(This,writerId,componentType,wszLogicalPath,wszComponentName,wszPath,wszFilespec,bRecursive,wszDestination) (This)->lpVtbl->AddAlternativeLocationMapping(This,writerId,componentType,wszLogicalPath,wszComponentName,wszPath,wszFilespec,bRecursive,wszDestination) 1558 #define IVssBackupComponents_AddRestoreSubcomponent(This,writerId,componentType,wszLogicalPath,wszComponentName,wszSubComponentLogicalPath,wszSubComponentName,bRepair) (This)->lpVtbl->AddRestoreSubcomponent(This,writerId,componentType,wszLogicalPath,wszComponentName,wszSubComponentLogicalPath,wszSubComponentName,bRepair) 1559 #define IVssBackupComponents_SetFileRestoreStatus(This,writerId,ct,wszLogicalPath,wszComponentName,status) (This)->lpVtbl->SetFileRestoreStatus(This,writerId,ct,wszLogicalPath,wszComponentName,status) 1560 #define IVssBackupComponents_AddNewTarget(This,writerId,ct,wszLogicalPath,wszComponentName,wszPath,wszFileName,bRecursive,wszAlternatePath) (This)->lpVtbl->AddNewTarget(This,writerId,ct,wszLogicalPath,wszComponentName,wszPath,wszFileName,bRecursive,wszAlternatePath) 1561 #define IVssBackupComponents_SetRangesFilePath(This,writerId,ct,wszLogicalPath,wszComponentName,iPartialFile,wszRangesFile) (This)->lpVtbl->SetRangesFilePath(This,writerId,ct,wszLogicalPath,wszComponentName,iPartialFile,wszRangesFile) 1562 #define IVssBackupComponents_PreRestore(This,ppAsync) (This)->lpVtbl->PreRestore(This,ppAsync) 1563 #define IVssBackupComponents_PostRestore(This,ppAsync) (This)->lpVtbl->PostRestore(This,ppAsync) 1564 #define IVssBackupComponents_SetContext(This,lContext) (This)->lpVtbl->SetContext(This,lContext) 1565 #define IVssBackupComponents_StartSnapshotSet(This,pSnapshotSetId) (This)->lpVtbl->StartSnapshotSet(This,pSnapshotSetId) 1566 #define IVssBackupComponents_AddToSnapshotSet(This,pwszVolumeName,ProviderId,pidSnapshot) (This)->lpVtbl->AddToSnapshotSet(This,pwszVolumeName,ProviderId,pidSnapshot) 1567 #define IVssBackupComponents_DoSnapshotSet(This,ppAsync) (This)->lpVtbl->DoSnapshotSet(This,ppAsync) 1568 #define IVssBackupComponents_DeleteSnapshots(This,SourceObjectId,eSourceObjectType,bForceDelete,plDeletedSnapshots,pNondeletedSnapshotID) (This)->lpVtbl->DeleteSnapshots(This,SourceObjectId,eSourceObjectType,bForceDelete,plDeletedSnapshots,pNondeletedSnapshotID) 1569 #define IVssBackupComponents_ImportSnapshots(This,ppAsync) (This)->lpVtbl->ImportSnapshots(This,ppAsync) 1570 #define IVssBackupComponents_BreakSnapshotSet(This,SnapshotSetId) (This)->lpVtbl->BreakSnapshotSet(This,SnapshotSetId) 1571 #define IVssBackupComponents_GetSnapshotProperties(This,SnapshotId,pProp) (This)->lpVtbl->GetSnapshotProperties(This,SnapshotId,pProp) 1572 #define IVssBackupComponents_Query(This,QueriedObjectId,eQueriedObjectType,eReturnedObjectsType,ppEnum) (This)->lpVtbl->Query(This,QueriedObjectId,eQueriedObjectType,eReturnedObjectsType,ppEnum) 1573 #define IVssBackupComponents_IsVolumeSupported(This,ProviderId,pwszVolumeName,pbSupportedByThisProvider) (This)->lpVtbl->IsVolumeSupported(This,ProviderId,pwszVolumeName,pbSupportedByThisProvider) 1574 #define IVssBackupComponents_DisableWriterClasses(This,rgWriterClassId,cClassId) (This)->lpVtbl->DisableWriterClasses(This,rgWriterClassId,cClassId) 1575 #define IVssBackupComponents_EnableWriterClasses(This,rgWriterClassId,cClassId) (This)->lpVtbl->EnableWriterClasses(This,rgWriterClassId,cClassId) 1576 #define IVssBackupComponents_DisableWriterInstances(This,rgWriterInstanceId,cInstanceId) (This)->lpVtbl->DisableWriterInstances(This,rgWriterInstanceId,cInstanceId) 1577 #define IVssBackupComponents_ExposeSnapshot(This,SnapshotId,wszPathFromRoot,lAttributes,wszExpose,pwszExposed) (This)->lpVtbl->ExposeSnapshot(This,SnapshotId,wszPathFromRoot,lAttributes,wszExpose,pwszExposed) 1578 #define IVssBackupComponents_RevertToSnapshot(This,SnapshotId,bForceDismount) (This)->lpVtbl->RevertToSnapshot(This,SnapshotId,bForceDismount) 1579 #define IVssBackupComponents_QueryRevertStatus(This,pwszVolume,ppAsync) (This)->lpVtbl->QueryRevertStatus(This,pwszVolume,ppAsync) 1580 #else 1581 /*** IUnknown methods ***/ 1582 static inline HRESULT IVssBackupComponents_QueryInterface(IVssBackupComponents* This,REFIID riid,void **ppvObject) { 1583 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1584 } 1585 static inline ULONG IVssBackupComponents_AddRef(IVssBackupComponents* This) { 1586 return This->lpVtbl->AddRef(This); 1587 } 1588 static inline ULONG IVssBackupComponents_Release(IVssBackupComponents* This) { 1589 return This->lpVtbl->Release(This); 1590 } 1591 /*** IVssBackupComponents methods ***/ 1592 static inline HRESULT IVssBackupComponents_GetWriterComponentsCount(IVssBackupComponents* This,UINT *pcComponents) { 1593 return This->lpVtbl->GetWriterComponentsCount(This,pcComponents); 1594 } 1595 static inline HRESULT IVssBackupComponents_GetWriterComponents(IVssBackupComponents* This,UINT iWriter,IVssWriterComponentsExt **ppWriter) { 1596 return This->lpVtbl->GetWriterComponents(This,iWriter,ppWriter); 1597 } 1598 static inline HRESULT IVssBackupComponents_InitializeForBackup(IVssBackupComponents* This,BSTR bstrXML) { 1599 return This->lpVtbl->InitializeForBackup(This,bstrXML); 1600 } 1601 static inline HRESULT IVssBackupComponents_SetBackupState(IVssBackupComponents* This,boolean bSelectComponents,boolean bBackupBootableSystemState,VSS_BACKUP_TYPE backupType,boolean bPartialFileSupport) { 1602 return This->lpVtbl->SetBackupState(This,bSelectComponents,bBackupBootableSystemState,backupType,bPartialFileSupport); 1603 } 1604 static inline HRESULT IVssBackupComponents_InitializeForRestore(IVssBackupComponents* This,BSTR bstrXML) { 1605 return This->lpVtbl->InitializeForRestore(This,bstrXML); 1606 } 1607 static inline HRESULT IVssBackupComponents_SetRestoreState(IVssBackupComponents* This,VSS_RESTORE_TYPE restoreType) { 1608 return This->lpVtbl->SetRestoreState(This,restoreType); 1609 } 1610 static inline HRESULT IVssBackupComponents_GatherWriterMetadata(IVssBackupComponents* This,IVssAsync **pAsync) { 1611 return This->lpVtbl->GatherWriterMetadata(This,pAsync); 1612 } 1613 static inline HRESULT IVssBackupComponents_GetWriterMetadataCount(IVssBackupComponents* This,UINT *pcWriters) { 1614 return This->lpVtbl->GetWriterMetadataCount(This,pcWriters); 1615 } 1616 static inline HRESULT IVssBackupComponents_GetWriterMetadata(IVssBackupComponents* This,UINT iWriter,VSS_ID *pidInstance,IVssExamineWriterMetadata **ppMetadata) { 1617 return This->lpVtbl->GetWriterMetadata(This,iWriter,pidInstance,ppMetadata); 1618 } 1619 static inline HRESULT IVssBackupComponents_FreeWriterMetadata(IVssBackupComponents* This) { 1620 return This->lpVtbl->FreeWriterMetadata(This); 1621 } 1622 static inline HRESULT IVssBackupComponents_AddComponent(IVssBackupComponents* This,VSS_ID instanceId,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName) { 1623 return This->lpVtbl->AddComponent(This,instanceId,writerId,ct,wszLogicalPath,wszComponentName); 1624 } 1625 static inline HRESULT IVssBackupComponents_PrepareForBackup(IVssBackupComponents* This,IVssAsync **ppAsync) { 1626 return This->lpVtbl->PrepareForBackup(This,ppAsync); 1627 } 1628 static inline HRESULT IVssBackupComponents_AbortBackup(IVssBackupComponents* This) { 1629 return This->lpVtbl->AbortBackup(This); 1630 } 1631 static inline HRESULT IVssBackupComponents_GatherWriterStatus(IVssBackupComponents* This,IVssAsync **pAsync) { 1632 return This->lpVtbl->GatherWriterStatus(This,pAsync); 1633 } 1634 static inline HRESULT IVssBackupComponents_GetWriterStatusCount(IVssBackupComponents* This,UINT *pcWriters) { 1635 return This->lpVtbl->GetWriterStatusCount(This,pcWriters); 1636 } 1637 static inline HRESULT IVssBackupComponents_FreeWriterStatus(IVssBackupComponents* This) { 1638 return This->lpVtbl->FreeWriterStatus(This); 1639 } 1640 static inline HRESULT IVssBackupComponents_GetWriterStatus(IVssBackupComponents* This,UINT iWriter,VSS_ID *pidInstance,VSS_ID *pidWriter,BSTR *pbstrWriter,VSS_WRITER_STATE *pnStatus,HRESULT *phResultFailure) { 1641 return This->lpVtbl->GetWriterStatus(This,iWriter,pidInstance,pidWriter,pbstrWriter,pnStatus,phResultFailure); 1642 } 1643 static inline HRESULT IVssBackupComponents_SetBackupSucceeded(IVssBackupComponents* This,VSS_ID instanceId,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,boolean bSucceded) { 1644 return This->lpVtbl->SetBackupSucceeded(This,instanceId,writerId,ct,wszLogicalPath,wszComponentName,bSucceded); 1645 } 1646 static inline HRESULT IVssBackupComponents_SetBackupOptions(IVssBackupComponents* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszBackupOptions) { 1647 return This->lpVtbl->SetBackupOptions(This,writerId,ct,wszLogicalPath,wszComponentName,wszBackupOptions); 1648 } 1649 static inline HRESULT IVssBackupComponents_SetSelectedForRestore(IVssBackupComponents* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,boolean bSelectedForRestore) { 1650 return This->lpVtbl->SetSelectedForRestore(This,writerId,ct,wszLogicalPath,wszComponentName,bSelectedForRestore); 1651 } 1652 static inline HRESULT IVssBackupComponents_SetRestoreOptions(IVssBackupComponents* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszRestoreOptions) { 1653 return This->lpVtbl->SetRestoreOptions(This,writerId,ct,wszLogicalPath,wszComponentName,wszRestoreOptions); 1654 } 1655 static inline HRESULT IVssBackupComponents_SetAdditionalRestores(IVssBackupComponents* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,boolean bAdditionalRestores) { 1656 return This->lpVtbl->SetAdditionalRestores(This,writerId,ct,wszLogicalPath,wszComponentName,bAdditionalRestores); 1657 } 1658 static inline HRESULT IVssBackupComponents_SetPreviousBackupStamp(IVssBackupComponents* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszPreviousBackupStamp) { 1659 return This->lpVtbl->SetPreviousBackupStamp(This,writerId,ct,wszLogicalPath,wszComponentName,wszPreviousBackupStamp); 1660 } 1661 static inline HRESULT IVssBackupComponents_SaveAsXML(IVssBackupComponents* This,BSTR *pbstrXML) { 1662 return This->lpVtbl->SaveAsXML(This,pbstrXML); 1663 } 1664 static inline HRESULT IVssBackupComponents_BackupComplete(IVssBackupComponents* This,IVssAsync **ppAsync) { 1665 return This->lpVtbl->BackupComplete(This,ppAsync); 1666 } 1667 static inline HRESULT IVssBackupComponents_AddAlternativeLocationMapping(IVssBackupComponents* This,VSS_ID writerId,VSS_COMPONENT_TYPE componentType,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszPath,LPCWSTR wszFilespec,boolean bRecursive,LPCWSTR wszDestination) { 1668 return This->lpVtbl->AddAlternativeLocationMapping(This,writerId,componentType,wszLogicalPath,wszComponentName,wszPath,wszFilespec,bRecursive,wszDestination); 1669 } 1670 static inline HRESULT IVssBackupComponents_AddRestoreSubcomponent(IVssBackupComponents* This,VSS_ID writerId,VSS_COMPONENT_TYPE componentType,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszSubComponentLogicalPath,LPCWSTR wszSubComponentName,boolean bRepair) { 1671 return This->lpVtbl->AddRestoreSubcomponent(This,writerId,componentType,wszLogicalPath,wszComponentName,wszSubComponentLogicalPath,wszSubComponentName,bRepair); 1672 } 1673 static inline HRESULT IVssBackupComponents_SetFileRestoreStatus(IVssBackupComponents* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,VSS_FILE_RESTORE_STATUS status) { 1674 return This->lpVtbl->SetFileRestoreStatus(This,writerId,ct,wszLogicalPath,wszComponentName,status); 1675 } 1676 static inline HRESULT IVssBackupComponents_AddNewTarget(IVssBackupComponents* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszPath,LPCWSTR wszFileName,boolean bRecursive,LPCWSTR wszAlternatePath) { 1677 return This->lpVtbl->AddNewTarget(This,writerId,ct,wszLogicalPath,wszComponentName,wszPath,wszFileName,bRecursive,wszAlternatePath); 1678 } 1679 static inline HRESULT IVssBackupComponents_SetRangesFilePath(IVssBackupComponents* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,UINT iPartialFile,LPCWSTR wszRangesFile) { 1680 return This->lpVtbl->SetRangesFilePath(This,writerId,ct,wszLogicalPath,wszComponentName,iPartialFile,wszRangesFile); 1681 } 1682 static inline HRESULT IVssBackupComponents_PreRestore(IVssBackupComponents* This,IVssAsync **ppAsync) { 1683 return This->lpVtbl->PreRestore(This,ppAsync); 1684 } 1685 static inline HRESULT IVssBackupComponents_PostRestore(IVssBackupComponents* This,IVssAsync **ppAsync) { 1686 return This->lpVtbl->PostRestore(This,ppAsync); 1687 } 1688 static inline HRESULT IVssBackupComponents_SetContext(IVssBackupComponents* This,LONG lContext) { 1689 return This->lpVtbl->SetContext(This,lContext); 1690 } 1691 static inline HRESULT IVssBackupComponents_StartSnapshotSet(IVssBackupComponents* This,VSS_ID *pSnapshotSetId) { 1692 return This->lpVtbl->StartSnapshotSet(This,pSnapshotSetId); 1693 } 1694 static inline HRESULT IVssBackupComponents_AddToSnapshotSet(IVssBackupComponents* This,VSS_PWSZ pwszVolumeName,VSS_ID ProviderId,VSS_ID *pidSnapshot) { 1695 return This->lpVtbl->AddToSnapshotSet(This,pwszVolumeName,ProviderId,pidSnapshot); 1696 } 1697 static inline HRESULT IVssBackupComponents_DoSnapshotSet(IVssBackupComponents* This,IVssAsync **ppAsync) { 1698 return This->lpVtbl->DoSnapshotSet(This,ppAsync); 1699 } 1700 static inline HRESULT IVssBackupComponents_DeleteSnapshots(IVssBackupComponents* This,VSS_ID SourceObjectId,VSS_OBJECT_TYPE eSourceObjectType,WINBOOL bForceDelete,LONG *plDeletedSnapshots,VSS_ID *pNondeletedSnapshotID) { 1701 return This->lpVtbl->DeleteSnapshots(This,SourceObjectId,eSourceObjectType,bForceDelete,plDeletedSnapshots,pNondeletedSnapshotID); 1702 } 1703 static inline HRESULT IVssBackupComponents_ImportSnapshots(IVssBackupComponents* This,IVssAsync **ppAsync) { 1704 return This->lpVtbl->ImportSnapshots(This,ppAsync); 1705 } 1706 static inline HRESULT IVssBackupComponents_BreakSnapshotSet(IVssBackupComponents* This,VSS_ID SnapshotSetId) { 1707 return This->lpVtbl->BreakSnapshotSet(This,SnapshotSetId); 1708 } 1709 static inline HRESULT IVssBackupComponents_GetSnapshotProperties(IVssBackupComponents* This,VSS_ID SnapshotId,VSS_SNAPSHOT_PROP *pProp) { 1710 return This->lpVtbl->GetSnapshotProperties(This,SnapshotId,pProp); 1711 } 1712 static inline HRESULT IVssBackupComponents_Query(IVssBackupComponents* This,VSS_ID QueriedObjectId,VSS_OBJECT_TYPE eQueriedObjectType,VSS_OBJECT_TYPE eReturnedObjectsType,IVssEnumObject **ppEnum) { 1713 return This->lpVtbl->Query(This,QueriedObjectId,eQueriedObjectType,eReturnedObjectsType,ppEnum); 1714 } 1715 static inline HRESULT IVssBackupComponents_IsVolumeSupported(IVssBackupComponents* This,VSS_ID ProviderId,VSS_PWSZ pwszVolumeName,WINBOOL *pbSupportedByThisProvider) { 1716 return This->lpVtbl->IsVolumeSupported(This,ProviderId,pwszVolumeName,pbSupportedByThisProvider); 1717 } 1718 static inline HRESULT IVssBackupComponents_DisableWriterClasses(IVssBackupComponents* This,const VSS_ID *rgWriterClassId,UINT cClassId) { 1719 return This->lpVtbl->DisableWriterClasses(This,rgWriterClassId,cClassId); 1720 } 1721 static inline HRESULT IVssBackupComponents_EnableWriterClasses(IVssBackupComponents* This,const VSS_ID *rgWriterClassId,UINT cClassId) { 1722 return This->lpVtbl->EnableWriterClasses(This,rgWriterClassId,cClassId); 1723 } 1724 static inline HRESULT IVssBackupComponents_DisableWriterInstances(IVssBackupComponents* This,const VSS_ID *rgWriterInstanceId,UINT cInstanceId) { 1725 return This->lpVtbl->DisableWriterInstances(This,rgWriterInstanceId,cInstanceId); 1726 } 1727 static inline HRESULT IVssBackupComponents_ExposeSnapshot(IVssBackupComponents* This,VSS_ID SnapshotId,VSS_PWSZ wszPathFromRoot,LONG lAttributes,VSS_PWSZ wszExpose,VSS_PWSZ *pwszExposed) { 1728 return This->lpVtbl->ExposeSnapshot(This,SnapshotId,wszPathFromRoot,lAttributes,wszExpose,pwszExposed); 1729 } 1730 static inline HRESULT IVssBackupComponents_RevertToSnapshot(IVssBackupComponents* This,VSS_ID SnapshotId,WINBOOL bForceDismount) { 1731 return This->lpVtbl->RevertToSnapshot(This,SnapshotId,bForceDismount); 1732 } 1733 static inline HRESULT IVssBackupComponents_QueryRevertStatus(IVssBackupComponents* This,VSS_PWSZ pwszVolume,IVssAsync **ppAsync) { 1734 return This->lpVtbl->QueryRevertStatus(This,pwszVolume,ppAsync); 1735 } 1736 #endif 1737 #endif 1738 1739 #endif 1740 1741 1742 #endif /* __IVssBackupComponents_INTERFACE_DEFINED__ */ 1743 1744 /***************************************************************************** 1745 * IVssBackupComponentsEx interface 1746 */ 1747 #ifndef __IVssBackupComponentsEx_INTERFACE_DEFINED__ 1748 #define __IVssBackupComponentsEx_INTERFACE_DEFINED__ 1749 1750 DEFINE_GUID(IID_IVssBackupComponentsEx, 0x963f03ad, 0x9e4c, 0x4a34, 0xac,0x15, 0xe4,0xb6,0x17,0x4e,0x50,0x36); 1751 #if defined(__cplusplus) && !defined(CINTERFACE) 1752 MIDL_INTERFACE("963f03ad-9e4c-4a34-ac15-e4b6174e5036") 1753 IVssBackupComponentsEx : public IVssBackupComponents 1754 { 1755 virtual HRESULT STDMETHODCALLTYPE GetWriterMetadataEx( 1756 UINT iWriter, 1757 VSS_ID *pidInstance, 1758 IVssExamineWriterMetadataEx **ppMetadata) = 0; 1759 1760 virtual HRESULT STDMETHODCALLTYPE SetSelectedForRestoreEx( 1761 VSS_ID writerId, 1762 VSS_COMPONENT_TYPE ct, 1763 LPCWSTR wszLogicalPath, 1764 LPCWSTR wszComponentName, 1765 boolean bSelectedForRestore, 1766 VSS_ID instanceId) = 0; 1767 1768 }; 1769 #ifdef __CRT_UUID_DECL 1770 __CRT_UUID_DECL(IVssBackupComponentsEx, 0x963f03ad, 0x9e4c, 0x4a34, 0xac,0x15, 0xe4,0xb6,0x17,0x4e,0x50,0x36) 1771 #endif 1772 #else 1773 typedef struct IVssBackupComponentsExVtbl { 1774 BEGIN_INTERFACE 1775 1776 /*** IUnknown methods ***/ 1777 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1778 IVssBackupComponentsEx *This, 1779 REFIID riid, 1780 void **ppvObject); 1781 1782 ULONG (STDMETHODCALLTYPE *AddRef)( 1783 IVssBackupComponentsEx *This); 1784 1785 ULONG (STDMETHODCALLTYPE *Release)( 1786 IVssBackupComponentsEx *This); 1787 1788 /*** IVssBackupComponents methods ***/ 1789 HRESULT (STDMETHODCALLTYPE *GetWriterComponentsCount)( 1790 IVssBackupComponentsEx *This, 1791 UINT *pcComponents); 1792 1793 HRESULT (STDMETHODCALLTYPE *GetWriterComponents)( 1794 IVssBackupComponentsEx *This, 1795 UINT iWriter, 1796 IVssWriterComponentsExt **ppWriter); 1797 1798 HRESULT (STDMETHODCALLTYPE *InitializeForBackup)( 1799 IVssBackupComponentsEx *This, 1800 BSTR bstrXML); 1801 1802 HRESULT (STDMETHODCALLTYPE *SetBackupState)( 1803 IVssBackupComponentsEx *This, 1804 boolean bSelectComponents, 1805 boolean bBackupBootableSystemState, 1806 VSS_BACKUP_TYPE backupType, 1807 boolean bPartialFileSupport); 1808 1809 HRESULT (STDMETHODCALLTYPE *InitializeForRestore)( 1810 IVssBackupComponentsEx *This, 1811 BSTR bstrXML); 1812 1813 HRESULT (STDMETHODCALLTYPE *SetRestoreState)( 1814 IVssBackupComponentsEx *This, 1815 VSS_RESTORE_TYPE restoreType); 1816 1817 HRESULT (STDMETHODCALLTYPE *GatherWriterMetadata)( 1818 IVssBackupComponentsEx *This, 1819 IVssAsync **pAsync); 1820 1821 HRESULT (STDMETHODCALLTYPE *GetWriterMetadataCount)( 1822 IVssBackupComponentsEx *This, 1823 UINT *pcWriters); 1824 1825 HRESULT (STDMETHODCALLTYPE *GetWriterMetadata)( 1826 IVssBackupComponentsEx *This, 1827 UINT iWriter, 1828 VSS_ID *pidInstance, 1829 IVssExamineWriterMetadata **ppMetadata); 1830 1831 HRESULT (STDMETHODCALLTYPE *FreeWriterMetadata)( 1832 IVssBackupComponentsEx *This); 1833 1834 HRESULT (STDMETHODCALLTYPE *AddComponent)( 1835 IVssBackupComponentsEx *This, 1836 VSS_ID instanceId, 1837 VSS_ID writerId, 1838 VSS_COMPONENT_TYPE ct, 1839 LPCWSTR wszLogicalPath, 1840 LPCWSTR wszComponentName); 1841 1842 HRESULT (STDMETHODCALLTYPE *PrepareForBackup)( 1843 IVssBackupComponentsEx *This, 1844 IVssAsync **ppAsync); 1845 1846 HRESULT (STDMETHODCALLTYPE *AbortBackup)( 1847 IVssBackupComponentsEx *This); 1848 1849 HRESULT (STDMETHODCALLTYPE *GatherWriterStatus)( 1850 IVssBackupComponentsEx *This, 1851 IVssAsync **pAsync); 1852 1853 HRESULT (STDMETHODCALLTYPE *GetWriterStatusCount)( 1854 IVssBackupComponentsEx *This, 1855 UINT *pcWriters); 1856 1857 HRESULT (STDMETHODCALLTYPE *FreeWriterStatus)( 1858 IVssBackupComponentsEx *This); 1859 1860 HRESULT (STDMETHODCALLTYPE *GetWriterStatus)( 1861 IVssBackupComponentsEx *This, 1862 UINT iWriter, 1863 VSS_ID *pidInstance, 1864 VSS_ID *pidWriter, 1865 BSTR *pbstrWriter, 1866 VSS_WRITER_STATE *pnStatus, 1867 HRESULT *phResultFailure); 1868 1869 HRESULT (STDMETHODCALLTYPE *SetBackupSucceeded)( 1870 IVssBackupComponentsEx *This, 1871 VSS_ID instanceId, 1872 VSS_ID writerId, 1873 VSS_COMPONENT_TYPE ct, 1874 LPCWSTR wszLogicalPath, 1875 LPCWSTR wszComponentName, 1876 boolean bSucceded); 1877 1878 HRESULT (STDMETHODCALLTYPE *SetBackupOptions)( 1879 IVssBackupComponentsEx *This, 1880 VSS_ID writerId, 1881 VSS_COMPONENT_TYPE ct, 1882 LPCWSTR wszLogicalPath, 1883 LPCWSTR wszComponentName, 1884 LPCWSTR wszBackupOptions); 1885 1886 HRESULT (STDMETHODCALLTYPE *SetSelectedForRestore)( 1887 IVssBackupComponentsEx *This, 1888 VSS_ID writerId, 1889 VSS_COMPONENT_TYPE ct, 1890 LPCWSTR wszLogicalPath, 1891 LPCWSTR wszComponentName, 1892 boolean bSelectedForRestore); 1893 1894 HRESULT (STDMETHODCALLTYPE *SetRestoreOptions)( 1895 IVssBackupComponentsEx *This, 1896 VSS_ID writerId, 1897 VSS_COMPONENT_TYPE ct, 1898 LPCWSTR wszLogicalPath, 1899 LPCWSTR wszComponentName, 1900 LPCWSTR wszRestoreOptions); 1901 1902 HRESULT (STDMETHODCALLTYPE *SetAdditionalRestores)( 1903 IVssBackupComponentsEx *This, 1904 VSS_ID writerId, 1905 VSS_COMPONENT_TYPE ct, 1906 LPCWSTR wszLogicalPath, 1907 LPCWSTR wszComponentName, 1908 boolean bAdditionalRestores); 1909 1910 HRESULT (STDMETHODCALLTYPE *SetPreviousBackupStamp)( 1911 IVssBackupComponentsEx *This, 1912 VSS_ID writerId, 1913 VSS_COMPONENT_TYPE ct, 1914 LPCWSTR wszLogicalPath, 1915 LPCWSTR wszComponentName, 1916 LPCWSTR wszPreviousBackupStamp); 1917 1918 HRESULT (STDMETHODCALLTYPE *SaveAsXML)( 1919 IVssBackupComponentsEx *This, 1920 BSTR *pbstrXML); 1921 1922 HRESULT (STDMETHODCALLTYPE *BackupComplete)( 1923 IVssBackupComponentsEx *This, 1924 IVssAsync **ppAsync); 1925 1926 HRESULT (STDMETHODCALLTYPE *AddAlternativeLocationMapping)( 1927 IVssBackupComponentsEx *This, 1928 VSS_ID writerId, 1929 VSS_COMPONENT_TYPE componentType, 1930 LPCWSTR wszLogicalPath, 1931 LPCWSTR wszComponentName, 1932 LPCWSTR wszPath, 1933 LPCWSTR wszFilespec, 1934 boolean bRecursive, 1935 LPCWSTR wszDestination); 1936 1937 HRESULT (STDMETHODCALLTYPE *AddRestoreSubcomponent)( 1938 IVssBackupComponentsEx *This, 1939 VSS_ID writerId, 1940 VSS_COMPONENT_TYPE componentType, 1941 LPCWSTR wszLogicalPath, 1942 LPCWSTR wszComponentName, 1943 LPCWSTR wszSubComponentLogicalPath, 1944 LPCWSTR wszSubComponentName, 1945 boolean bRepair); 1946 1947 HRESULT (STDMETHODCALLTYPE *SetFileRestoreStatus)( 1948 IVssBackupComponentsEx *This, 1949 VSS_ID writerId, 1950 VSS_COMPONENT_TYPE ct, 1951 LPCWSTR wszLogicalPath, 1952 LPCWSTR wszComponentName, 1953 VSS_FILE_RESTORE_STATUS status); 1954 1955 HRESULT (STDMETHODCALLTYPE *AddNewTarget)( 1956 IVssBackupComponentsEx *This, 1957 VSS_ID writerId, 1958 VSS_COMPONENT_TYPE ct, 1959 LPCWSTR wszLogicalPath, 1960 LPCWSTR wszComponentName, 1961 LPCWSTR wszPath, 1962 LPCWSTR wszFileName, 1963 boolean bRecursive, 1964 LPCWSTR wszAlternatePath); 1965 1966 HRESULT (STDMETHODCALLTYPE *SetRangesFilePath)( 1967 IVssBackupComponentsEx *This, 1968 VSS_ID writerId, 1969 VSS_COMPONENT_TYPE ct, 1970 LPCWSTR wszLogicalPath, 1971 LPCWSTR wszComponentName, 1972 UINT iPartialFile, 1973 LPCWSTR wszRangesFile); 1974 1975 HRESULT (STDMETHODCALLTYPE *PreRestore)( 1976 IVssBackupComponentsEx *This, 1977 IVssAsync **ppAsync); 1978 1979 HRESULT (STDMETHODCALLTYPE *PostRestore)( 1980 IVssBackupComponentsEx *This, 1981 IVssAsync **ppAsync); 1982 1983 HRESULT (STDMETHODCALLTYPE *SetContext)( 1984 IVssBackupComponentsEx *This, 1985 LONG lContext); 1986 1987 HRESULT (STDMETHODCALLTYPE *StartSnapshotSet)( 1988 IVssBackupComponentsEx *This, 1989 VSS_ID *pSnapshotSetId); 1990 1991 HRESULT (STDMETHODCALLTYPE *AddToSnapshotSet)( 1992 IVssBackupComponentsEx *This, 1993 VSS_PWSZ pwszVolumeName, 1994 VSS_ID ProviderId, 1995 VSS_ID *pidSnapshot); 1996 1997 HRESULT (STDMETHODCALLTYPE *DoSnapshotSet)( 1998 IVssBackupComponentsEx *This, 1999 IVssAsync **ppAsync); 2000 2001 HRESULT (STDMETHODCALLTYPE *DeleteSnapshots)( 2002 IVssBackupComponentsEx *This, 2003 VSS_ID SourceObjectId, 2004 VSS_OBJECT_TYPE eSourceObjectType, 2005 WINBOOL bForceDelete, 2006 LONG *plDeletedSnapshots, 2007 VSS_ID *pNondeletedSnapshotID); 2008 2009 HRESULT (STDMETHODCALLTYPE *ImportSnapshots)( 2010 IVssBackupComponentsEx *This, 2011 IVssAsync **ppAsync); 2012 2013 HRESULT (STDMETHODCALLTYPE *BreakSnapshotSet)( 2014 IVssBackupComponentsEx *This, 2015 VSS_ID SnapshotSetId); 2016 2017 HRESULT (STDMETHODCALLTYPE *GetSnapshotProperties)( 2018 IVssBackupComponentsEx *This, 2019 VSS_ID SnapshotId, 2020 VSS_SNAPSHOT_PROP *pProp); 2021 2022 HRESULT (STDMETHODCALLTYPE *Query)( 2023 IVssBackupComponentsEx *This, 2024 VSS_ID QueriedObjectId, 2025 VSS_OBJECT_TYPE eQueriedObjectType, 2026 VSS_OBJECT_TYPE eReturnedObjectsType, 2027 IVssEnumObject **ppEnum); 2028 2029 HRESULT (STDMETHODCALLTYPE *IsVolumeSupported)( 2030 IVssBackupComponentsEx *This, 2031 VSS_ID ProviderId, 2032 VSS_PWSZ pwszVolumeName, 2033 WINBOOL *pbSupportedByThisProvider); 2034 2035 HRESULT (STDMETHODCALLTYPE *DisableWriterClasses)( 2036 IVssBackupComponentsEx *This, 2037 const VSS_ID *rgWriterClassId, 2038 UINT cClassId); 2039 2040 HRESULT (STDMETHODCALLTYPE *EnableWriterClasses)( 2041 IVssBackupComponentsEx *This, 2042 const VSS_ID *rgWriterClassId, 2043 UINT cClassId); 2044 2045 HRESULT (STDMETHODCALLTYPE *DisableWriterInstances)( 2046 IVssBackupComponentsEx *This, 2047 const VSS_ID *rgWriterInstanceId, 2048 UINT cInstanceId); 2049 2050 HRESULT (STDMETHODCALLTYPE *ExposeSnapshot)( 2051 IVssBackupComponentsEx *This, 2052 VSS_ID SnapshotId, 2053 VSS_PWSZ wszPathFromRoot, 2054 LONG lAttributes, 2055 VSS_PWSZ wszExpose, 2056 VSS_PWSZ *pwszExposed); 2057 2058 HRESULT (STDMETHODCALLTYPE *RevertToSnapshot)( 2059 IVssBackupComponentsEx *This, 2060 VSS_ID SnapshotId, 2061 WINBOOL bForceDismount); 2062 2063 HRESULT (STDMETHODCALLTYPE *QueryRevertStatus)( 2064 IVssBackupComponentsEx *This, 2065 VSS_PWSZ pwszVolume, 2066 IVssAsync **ppAsync); 2067 2068 /*** IVssBackupComponentsEx methods ***/ 2069 HRESULT (STDMETHODCALLTYPE *GetWriterMetadataEx)( 2070 IVssBackupComponentsEx *This, 2071 UINT iWriter, 2072 VSS_ID *pidInstance, 2073 IVssExamineWriterMetadataEx **ppMetadata); 2074 2075 HRESULT (STDMETHODCALLTYPE *SetSelectedForRestoreEx)( 2076 IVssBackupComponentsEx *This, 2077 VSS_ID writerId, 2078 VSS_COMPONENT_TYPE ct, 2079 LPCWSTR wszLogicalPath, 2080 LPCWSTR wszComponentName, 2081 boolean bSelectedForRestore, 2082 VSS_ID instanceId); 2083 2084 END_INTERFACE 2085 } IVssBackupComponentsExVtbl; 2086 2087 interface IVssBackupComponentsEx { 2088 CONST_VTBL IVssBackupComponentsExVtbl* lpVtbl; 2089 }; 2090 2091 #ifdef COBJMACROS 2092 #ifndef WIDL_C_INLINE_WRAPPERS 2093 /*** IUnknown methods ***/ 2094 #define IVssBackupComponentsEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 2095 #define IVssBackupComponentsEx_AddRef(This) (This)->lpVtbl->AddRef(This) 2096 #define IVssBackupComponentsEx_Release(This) (This)->lpVtbl->Release(This) 2097 /*** IVssBackupComponents methods ***/ 2098 #define IVssBackupComponentsEx_GetWriterComponentsCount(This,pcComponents) (This)->lpVtbl->GetWriterComponentsCount(This,pcComponents) 2099 #define IVssBackupComponentsEx_GetWriterComponents(This,iWriter,ppWriter) (This)->lpVtbl->GetWriterComponents(This,iWriter,ppWriter) 2100 #define IVssBackupComponentsEx_InitializeForBackup(This,bstrXML) (This)->lpVtbl->InitializeForBackup(This,bstrXML) 2101 #define IVssBackupComponentsEx_SetBackupState(This,bSelectComponents,bBackupBootableSystemState,backupType,bPartialFileSupport) (This)->lpVtbl->SetBackupState(This,bSelectComponents,bBackupBootableSystemState,backupType,bPartialFileSupport) 2102 #define IVssBackupComponentsEx_InitializeForRestore(This,bstrXML) (This)->lpVtbl->InitializeForRestore(This,bstrXML) 2103 #define IVssBackupComponentsEx_SetRestoreState(This,restoreType) (This)->lpVtbl->SetRestoreState(This,restoreType) 2104 #define IVssBackupComponentsEx_GatherWriterMetadata(This,pAsync) (This)->lpVtbl->GatherWriterMetadata(This,pAsync) 2105 #define IVssBackupComponentsEx_GetWriterMetadataCount(This,pcWriters) (This)->lpVtbl->GetWriterMetadataCount(This,pcWriters) 2106 #define IVssBackupComponentsEx_GetWriterMetadata(This,iWriter,pidInstance,ppMetadata) (This)->lpVtbl->GetWriterMetadata(This,iWriter,pidInstance,ppMetadata) 2107 #define IVssBackupComponentsEx_FreeWriterMetadata(This) (This)->lpVtbl->FreeWriterMetadata(This) 2108 #define IVssBackupComponentsEx_AddComponent(This,instanceId,writerId,ct,wszLogicalPath,wszComponentName) (This)->lpVtbl->AddComponent(This,instanceId,writerId,ct,wszLogicalPath,wszComponentName) 2109 #define IVssBackupComponentsEx_PrepareForBackup(This,ppAsync) (This)->lpVtbl->PrepareForBackup(This,ppAsync) 2110 #define IVssBackupComponentsEx_AbortBackup(This) (This)->lpVtbl->AbortBackup(This) 2111 #define IVssBackupComponentsEx_GatherWriterStatus(This,pAsync) (This)->lpVtbl->GatherWriterStatus(This,pAsync) 2112 #define IVssBackupComponentsEx_GetWriterStatusCount(This,pcWriters) (This)->lpVtbl->GetWriterStatusCount(This,pcWriters) 2113 #define IVssBackupComponentsEx_FreeWriterStatus(This) (This)->lpVtbl->FreeWriterStatus(This) 2114 #define IVssBackupComponentsEx_GetWriterStatus(This,iWriter,pidInstance,pidWriter,pbstrWriter,pnStatus,phResultFailure) (This)->lpVtbl->GetWriterStatus(This,iWriter,pidInstance,pidWriter,pbstrWriter,pnStatus,phResultFailure) 2115 #define IVssBackupComponentsEx_SetBackupSucceeded(This,instanceId,writerId,ct,wszLogicalPath,wszComponentName,bSucceded) (This)->lpVtbl->SetBackupSucceeded(This,instanceId,writerId,ct,wszLogicalPath,wszComponentName,bSucceded) 2116 #define IVssBackupComponentsEx_SetBackupOptions(This,writerId,ct,wszLogicalPath,wszComponentName,wszBackupOptions) (This)->lpVtbl->SetBackupOptions(This,writerId,ct,wszLogicalPath,wszComponentName,wszBackupOptions) 2117 #define IVssBackupComponentsEx_SetSelectedForRestore(This,writerId,ct,wszLogicalPath,wszComponentName,bSelectedForRestore) (This)->lpVtbl->SetSelectedForRestore(This,writerId,ct,wszLogicalPath,wszComponentName,bSelectedForRestore) 2118 #define IVssBackupComponentsEx_SetRestoreOptions(This,writerId,ct,wszLogicalPath,wszComponentName,wszRestoreOptions) (This)->lpVtbl->SetRestoreOptions(This,writerId,ct,wszLogicalPath,wszComponentName,wszRestoreOptions) 2119 #define IVssBackupComponentsEx_SetAdditionalRestores(This,writerId,ct,wszLogicalPath,wszComponentName,bAdditionalRestores) (This)->lpVtbl->SetAdditionalRestores(This,writerId,ct,wszLogicalPath,wszComponentName,bAdditionalRestores) 2120 #define IVssBackupComponentsEx_SetPreviousBackupStamp(This,writerId,ct,wszLogicalPath,wszComponentName,wszPreviousBackupStamp) (This)->lpVtbl->SetPreviousBackupStamp(This,writerId,ct,wszLogicalPath,wszComponentName,wszPreviousBackupStamp) 2121 #define IVssBackupComponentsEx_SaveAsXML(This,pbstrXML) (This)->lpVtbl->SaveAsXML(This,pbstrXML) 2122 #define IVssBackupComponentsEx_BackupComplete(This,ppAsync) (This)->lpVtbl->BackupComplete(This,ppAsync) 2123 #define IVssBackupComponentsEx_AddAlternativeLocationMapping(This,writerId,componentType,wszLogicalPath,wszComponentName,wszPath,wszFilespec,bRecursive,wszDestination) (This)->lpVtbl->AddAlternativeLocationMapping(This,writerId,componentType,wszLogicalPath,wszComponentName,wszPath,wszFilespec,bRecursive,wszDestination) 2124 #define IVssBackupComponentsEx_AddRestoreSubcomponent(This,writerId,componentType,wszLogicalPath,wszComponentName,wszSubComponentLogicalPath,wszSubComponentName,bRepair) (This)->lpVtbl->AddRestoreSubcomponent(This,writerId,componentType,wszLogicalPath,wszComponentName,wszSubComponentLogicalPath,wszSubComponentName,bRepair) 2125 #define IVssBackupComponentsEx_SetFileRestoreStatus(This,writerId,ct,wszLogicalPath,wszComponentName,status) (This)->lpVtbl->SetFileRestoreStatus(This,writerId,ct,wszLogicalPath,wszComponentName,status) 2126 #define IVssBackupComponentsEx_AddNewTarget(This,writerId,ct,wszLogicalPath,wszComponentName,wszPath,wszFileName,bRecursive,wszAlternatePath) (This)->lpVtbl->AddNewTarget(This,writerId,ct,wszLogicalPath,wszComponentName,wszPath,wszFileName,bRecursive,wszAlternatePath) 2127 #define IVssBackupComponentsEx_SetRangesFilePath(This,writerId,ct,wszLogicalPath,wszComponentName,iPartialFile,wszRangesFile) (This)->lpVtbl->SetRangesFilePath(This,writerId,ct,wszLogicalPath,wszComponentName,iPartialFile,wszRangesFile) 2128 #define IVssBackupComponentsEx_PreRestore(This,ppAsync) (This)->lpVtbl->PreRestore(This,ppAsync) 2129 #define IVssBackupComponentsEx_PostRestore(This,ppAsync) (This)->lpVtbl->PostRestore(This,ppAsync) 2130 #define IVssBackupComponentsEx_SetContext(This,lContext) (This)->lpVtbl->SetContext(This,lContext) 2131 #define IVssBackupComponentsEx_StartSnapshotSet(This,pSnapshotSetId) (This)->lpVtbl->StartSnapshotSet(This,pSnapshotSetId) 2132 #define IVssBackupComponentsEx_AddToSnapshotSet(This,pwszVolumeName,ProviderId,pidSnapshot) (This)->lpVtbl->AddToSnapshotSet(This,pwszVolumeName,ProviderId,pidSnapshot) 2133 #define IVssBackupComponentsEx_DoSnapshotSet(This,ppAsync) (This)->lpVtbl->DoSnapshotSet(This,ppAsync) 2134 #define IVssBackupComponentsEx_DeleteSnapshots(This,SourceObjectId,eSourceObjectType,bForceDelete,plDeletedSnapshots,pNondeletedSnapshotID) (This)->lpVtbl->DeleteSnapshots(This,SourceObjectId,eSourceObjectType,bForceDelete,plDeletedSnapshots,pNondeletedSnapshotID) 2135 #define IVssBackupComponentsEx_ImportSnapshots(This,ppAsync) (This)->lpVtbl->ImportSnapshots(This,ppAsync) 2136 #define IVssBackupComponentsEx_BreakSnapshotSet(This,SnapshotSetId) (This)->lpVtbl->BreakSnapshotSet(This,SnapshotSetId) 2137 #define IVssBackupComponentsEx_GetSnapshotProperties(This,SnapshotId,pProp) (This)->lpVtbl->GetSnapshotProperties(This,SnapshotId,pProp) 2138 #define IVssBackupComponentsEx_Query(This,QueriedObjectId,eQueriedObjectType,eReturnedObjectsType,ppEnum) (This)->lpVtbl->Query(This,QueriedObjectId,eQueriedObjectType,eReturnedObjectsType,ppEnum) 2139 #define IVssBackupComponentsEx_IsVolumeSupported(This,ProviderId,pwszVolumeName,pbSupportedByThisProvider) (This)->lpVtbl->IsVolumeSupported(This,ProviderId,pwszVolumeName,pbSupportedByThisProvider) 2140 #define IVssBackupComponentsEx_DisableWriterClasses(This,rgWriterClassId,cClassId) (This)->lpVtbl->DisableWriterClasses(This,rgWriterClassId,cClassId) 2141 #define IVssBackupComponentsEx_EnableWriterClasses(This,rgWriterClassId,cClassId) (This)->lpVtbl->EnableWriterClasses(This,rgWriterClassId,cClassId) 2142 #define IVssBackupComponentsEx_DisableWriterInstances(This,rgWriterInstanceId,cInstanceId) (This)->lpVtbl->DisableWriterInstances(This,rgWriterInstanceId,cInstanceId) 2143 #define IVssBackupComponentsEx_ExposeSnapshot(This,SnapshotId,wszPathFromRoot,lAttributes,wszExpose,pwszExposed) (This)->lpVtbl->ExposeSnapshot(This,SnapshotId,wszPathFromRoot,lAttributes,wszExpose,pwszExposed) 2144 #define IVssBackupComponentsEx_RevertToSnapshot(This,SnapshotId,bForceDismount) (This)->lpVtbl->RevertToSnapshot(This,SnapshotId,bForceDismount) 2145 #define IVssBackupComponentsEx_QueryRevertStatus(This,pwszVolume,ppAsync) (This)->lpVtbl->QueryRevertStatus(This,pwszVolume,ppAsync) 2146 /*** IVssBackupComponentsEx methods ***/ 2147 #define IVssBackupComponentsEx_GetWriterMetadataEx(This,iWriter,pidInstance,ppMetadata) (This)->lpVtbl->GetWriterMetadataEx(This,iWriter,pidInstance,ppMetadata) 2148 #define IVssBackupComponentsEx_SetSelectedForRestoreEx(This,writerId,ct,wszLogicalPath,wszComponentName,bSelectedForRestore,instanceId) (This)->lpVtbl->SetSelectedForRestoreEx(This,writerId,ct,wszLogicalPath,wszComponentName,bSelectedForRestore,instanceId) 2149 #else 2150 /*** IUnknown methods ***/ 2151 static inline HRESULT IVssBackupComponentsEx_QueryInterface(IVssBackupComponentsEx* This,REFIID riid,void **ppvObject) { 2152 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 2153 } 2154 static inline ULONG IVssBackupComponentsEx_AddRef(IVssBackupComponentsEx* This) { 2155 return This->lpVtbl->AddRef(This); 2156 } 2157 static inline ULONG IVssBackupComponentsEx_Release(IVssBackupComponentsEx* This) { 2158 return This->lpVtbl->Release(This); 2159 } 2160 /*** IVssBackupComponents methods ***/ 2161 static inline HRESULT IVssBackupComponentsEx_GetWriterComponentsCount(IVssBackupComponentsEx* This,UINT *pcComponents) { 2162 return This->lpVtbl->GetWriterComponentsCount(This,pcComponents); 2163 } 2164 static inline HRESULT IVssBackupComponentsEx_GetWriterComponents(IVssBackupComponentsEx* This,UINT iWriter,IVssWriterComponentsExt **ppWriter) { 2165 return This->lpVtbl->GetWriterComponents(This,iWriter,ppWriter); 2166 } 2167 static inline HRESULT IVssBackupComponentsEx_InitializeForBackup(IVssBackupComponentsEx* This,BSTR bstrXML) { 2168 return This->lpVtbl->InitializeForBackup(This,bstrXML); 2169 } 2170 static inline HRESULT IVssBackupComponentsEx_SetBackupState(IVssBackupComponentsEx* This,boolean bSelectComponents,boolean bBackupBootableSystemState,VSS_BACKUP_TYPE backupType,boolean bPartialFileSupport) { 2171 return This->lpVtbl->SetBackupState(This,bSelectComponents,bBackupBootableSystemState,backupType,bPartialFileSupport); 2172 } 2173 static inline HRESULT IVssBackupComponentsEx_InitializeForRestore(IVssBackupComponentsEx* This,BSTR bstrXML) { 2174 return This->lpVtbl->InitializeForRestore(This,bstrXML); 2175 } 2176 static inline HRESULT IVssBackupComponentsEx_SetRestoreState(IVssBackupComponentsEx* This,VSS_RESTORE_TYPE restoreType) { 2177 return This->lpVtbl->SetRestoreState(This,restoreType); 2178 } 2179 static inline HRESULT IVssBackupComponentsEx_GatherWriterMetadata(IVssBackupComponentsEx* This,IVssAsync **pAsync) { 2180 return This->lpVtbl->GatherWriterMetadata(This,pAsync); 2181 } 2182 static inline HRESULT IVssBackupComponentsEx_GetWriterMetadataCount(IVssBackupComponentsEx* This,UINT *pcWriters) { 2183 return This->lpVtbl->GetWriterMetadataCount(This,pcWriters); 2184 } 2185 static inline HRESULT IVssBackupComponentsEx_GetWriterMetadata(IVssBackupComponentsEx* This,UINT iWriter,VSS_ID *pidInstance,IVssExamineWriterMetadata **ppMetadata) { 2186 return This->lpVtbl->GetWriterMetadata(This,iWriter,pidInstance,ppMetadata); 2187 } 2188 static inline HRESULT IVssBackupComponentsEx_FreeWriterMetadata(IVssBackupComponentsEx* This) { 2189 return This->lpVtbl->FreeWriterMetadata(This); 2190 } 2191 static inline HRESULT IVssBackupComponentsEx_AddComponent(IVssBackupComponentsEx* This,VSS_ID instanceId,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName) { 2192 return This->lpVtbl->AddComponent(This,instanceId,writerId,ct,wszLogicalPath,wszComponentName); 2193 } 2194 static inline HRESULT IVssBackupComponentsEx_PrepareForBackup(IVssBackupComponentsEx* This,IVssAsync **ppAsync) { 2195 return This->lpVtbl->PrepareForBackup(This,ppAsync); 2196 } 2197 static inline HRESULT IVssBackupComponentsEx_AbortBackup(IVssBackupComponentsEx* This) { 2198 return This->lpVtbl->AbortBackup(This); 2199 } 2200 static inline HRESULT IVssBackupComponentsEx_GatherWriterStatus(IVssBackupComponentsEx* This,IVssAsync **pAsync) { 2201 return This->lpVtbl->GatherWriterStatus(This,pAsync); 2202 } 2203 static inline HRESULT IVssBackupComponentsEx_GetWriterStatusCount(IVssBackupComponentsEx* This,UINT *pcWriters) { 2204 return This->lpVtbl->GetWriterStatusCount(This,pcWriters); 2205 } 2206 static inline HRESULT IVssBackupComponentsEx_FreeWriterStatus(IVssBackupComponentsEx* This) { 2207 return This->lpVtbl->FreeWriterStatus(This); 2208 } 2209 static inline HRESULT IVssBackupComponentsEx_GetWriterStatus(IVssBackupComponentsEx* This,UINT iWriter,VSS_ID *pidInstance,VSS_ID *pidWriter,BSTR *pbstrWriter,VSS_WRITER_STATE *pnStatus,HRESULT *phResultFailure) { 2210 return This->lpVtbl->GetWriterStatus(This,iWriter,pidInstance,pidWriter,pbstrWriter,pnStatus,phResultFailure); 2211 } 2212 static inline HRESULT IVssBackupComponentsEx_SetBackupSucceeded(IVssBackupComponentsEx* This,VSS_ID instanceId,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,boolean bSucceded) { 2213 return This->lpVtbl->SetBackupSucceeded(This,instanceId,writerId,ct,wszLogicalPath,wszComponentName,bSucceded); 2214 } 2215 static inline HRESULT IVssBackupComponentsEx_SetBackupOptions(IVssBackupComponentsEx* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszBackupOptions) { 2216 return This->lpVtbl->SetBackupOptions(This,writerId,ct,wszLogicalPath,wszComponentName,wszBackupOptions); 2217 } 2218 static inline HRESULT IVssBackupComponentsEx_SetSelectedForRestore(IVssBackupComponentsEx* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,boolean bSelectedForRestore) { 2219 return This->lpVtbl->SetSelectedForRestore(This,writerId,ct,wszLogicalPath,wszComponentName,bSelectedForRestore); 2220 } 2221 static inline HRESULT IVssBackupComponentsEx_SetRestoreOptions(IVssBackupComponentsEx* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszRestoreOptions) { 2222 return This->lpVtbl->SetRestoreOptions(This,writerId,ct,wszLogicalPath,wszComponentName,wszRestoreOptions); 2223 } 2224 static inline HRESULT IVssBackupComponentsEx_SetAdditionalRestores(IVssBackupComponentsEx* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,boolean bAdditionalRestores) { 2225 return This->lpVtbl->SetAdditionalRestores(This,writerId,ct,wszLogicalPath,wszComponentName,bAdditionalRestores); 2226 } 2227 static inline HRESULT IVssBackupComponentsEx_SetPreviousBackupStamp(IVssBackupComponentsEx* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszPreviousBackupStamp) { 2228 return This->lpVtbl->SetPreviousBackupStamp(This,writerId,ct,wszLogicalPath,wszComponentName,wszPreviousBackupStamp); 2229 } 2230 static inline HRESULT IVssBackupComponentsEx_SaveAsXML(IVssBackupComponentsEx* This,BSTR *pbstrXML) { 2231 return This->lpVtbl->SaveAsXML(This,pbstrXML); 2232 } 2233 static inline HRESULT IVssBackupComponentsEx_BackupComplete(IVssBackupComponentsEx* This,IVssAsync **ppAsync) { 2234 return This->lpVtbl->BackupComplete(This,ppAsync); 2235 } 2236 static inline HRESULT IVssBackupComponentsEx_AddAlternativeLocationMapping(IVssBackupComponentsEx* This,VSS_ID writerId,VSS_COMPONENT_TYPE componentType,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszPath,LPCWSTR wszFilespec,boolean bRecursive,LPCWSTR wszDestination) { 2237 return This->lpVtbl->AddAlternativeLocationMapping(This,writerId,componentType,wszLogicalPath,wszComponentName,wszPath,wszFilespec,bRecursive,wszDestination); 2238 } 2239 static inline HRESULT IVssBackupComponentsEx_AddRestoreSubcomponent(IVssBackupComponentsEx* This,VSS_ID writerId,VSS_COMPONENT_TYPE componentType,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszSubComponentLogicalPath,LPCWSTR wszSubComponentName,boolean bRepair) { 2240 return This->lpVtbl->AddRestoreSubcomponent(This,writerId,componentType,wszLogicalPath,wszComponentName,wszSubComponentLogicalPath,wszSubComponentName,bRepair); 2241 } 2242 static inline HRESULT IVssBackupComponentsEx_SetFileRestoreStatus(IVssBackupComponentsEx* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,VSS_FILE_RESTORE_STATUS status) { 2243 return This->lpVtbl->SetFileRestoreStatus(This,writerId,ct,wszLogicalPath,wszComponentName,status); 2244 } 2245 static inline HRESULT IVssBackupComponentsEx_AddNewTarget(IVssBackupComponentsEx* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszPath,LPCWSTR wszFileName,boolean bRecursive,LPCWSTR wszAlternatePath) { 2246 return This->lpVtbl->AddNewTarget(This,writerId,ct,wszLogicalPath,wszComponentName,wszPath,wszFileName,bRecursive,wszAlternatePath); 2247 } 2248 static inline HRESULT IVssBackupComponentsEx_SetRangesFilePath(IVssBackupComponentsEx* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,UINT iPartialFile,LPCWSTR wszRangesFile) { 2249 return This->lpVtbl->SetRangesFilePath(This,writerId,ct,wszLogicalPath,wszComponentName,iPartialFile,wszRangesFile); 2250 } 2251 static inline HRESULT IVssBackupComponentsEx_PreRestore(IVssBackupComponentsEx* This,IVssAsync **ppAsync) { 2252 return This->lpVtbl->PreRestore(This,ppAsync); 2253 } 2254 static inline HRESULT IVssBackupComponentsEx_PostRestore(IVssBackupComponentsEx* This,IVssAsync **ppAsync) { 2255 return This->lpVtbl->PostRestore(This,ppAsync); 2256 } 2257 static inline HRESULT IVssBackupComponentsEx_SetContext(IVssBackupComponentsEx* This,LONG lContext) { 2258 return This->lpVtbl->SetContext(This,lContext); 2259 } 2260 static inline HRESULT IVssBackupComponentsEx_StartSnapshotSet(IVssBackupComponentsEx* This,VSS_ID *pSnapshotSetId) { 2261 return This->lpVtbl->StartSnapshotSet(This,pSnapshotSetId); 2262 } 2263 static inline HRESULT IVssBackupComponentsEx_AddToSnapshotSet(IVssBackupComponentsEx* This,VSS_PWSZ pwszVolumeName,VSS_ID ProviderId,VSS_ID *pidSnapshot) { 2264 return This->lpVtbl->AddToSnapshotSet(This,pwszVolumeName,ProviderId,pidSnapshot); 2265 } 2266 static inline HRESULT IVssBackupComponentsEx_DoSnapshotSet(IVssBackupComponentsEx* This,IVssAsync **ppAsync) { 2267 return This->lpVtbl->DoSnapshotSet(This,ppAsync); 2268 } 2269 static inline HRESULT IVssBackupComponentsEx_DeleteSnapshots(IVssBackupComponentsEx* This,VSS_ID SourceObjectId,VSS_OBJECT_TYPE eSourceObjectType,WINBOOL bForceDelete,LONG *plDeletedSnapshots,VSS_ID *pNondeletedSnapshotID) { 2270 return This->lpVtbl->DeleteSnapshots(This,SourceObjectId,eSourceObjectType,bForceDelete,plDeletedSnapshots,pNondeletedSnapshotID); 2271 } 2272 static inline HRESULT IVssBackupComponentsEx_ImportSnapshots(IVssBackupComponentsEx* This,IVssAsync **ppAsync) { 2273 return This->lpVtbl->ImportSnapshots(This,ppAsync); 2274 } 2275 static inline HRESULT IVssBackupComponentsEx_BreakSnapshotSet(IVssBackupComponentsEx* This,VSS_ID SnapshotSetId) { 2276 return This->lpVtbl->BreakSnapshotSet(This,SnapshotSetId); 2277 } 2278 static inline HRESULT IVssBackupComponentsEx_GetSnapshotProperties(IVssBackupComponentsEx* This,VSS_ID SnapshotId,VSS_SNAPSHOT_PROP *pProp) { 2279 return This->lpVtbl->GetSnapshotProperties(This,SnapshotId,pProp); 2280 } 2281 static inline HRESULT IVssBackupComponentsEx_Query(IVssBackupComponentsEx* This,VSS_ID QueriedObjectId,VSS_OBJECT_TYPE eQueriedObjectType,VSS_OBJECT_TYPE eReturnedObjectsType,IVssEnumObject **ppEnum) { 2282 return This->lpVtbl->Query(This,QueriedObjectId,eQueriedObjectType,eReturnedObjectsType,ppEnum); 2283 } 2284 static inline HRESULT IVssBackupComponentsEx_IsVolumeSupported(IVssBackupComponentsEx* This,VSS_ID ProviderId,VSS_PWSZ pwszVolumeName,WINBOOL *pbSupportedByThisProvider) { 2285 return This->lpVtbl->IsVolumeSupported(This,ProviderId,pwszVolumeName,pbSupportedByThisProvider); 2286 } 2287 static inline HRESULT IVssBackupComponentsEx_DisableWriterClasses(IVssBackupComponentsEx* This,const VSS_ID *rgWriterClassId,UINT cClassId) { 2288 return This->lpVtbl->DisableWriterClasses(This,rgWriterClassId,cClassId); 2289 } 2290 static inline HRESULT IVssBackupComponentsEx_EnableWriterClasses(IVssBackupComponentsEx* This,const VSS_ID *rgWriterClassId,UINT cClassId) { 2291 return This->lpVtbl->EnableWriterClasses(This,rgWriterClassId,cClassId); 2292 } 2293 static inline HRESULT IVssBackupComponentsEx_DisableWriterInstances(IVssBackupComponentsEx* This,const VSS_ID *rgWriterInstanceId,UINT cInstanceId) { 2294 return This->lpVtbl->DisableWriterInstances(This,rgWriterInstanceId,cInstanceId); 2295 } 2296 static inline HRESULT IVssBackupComponentsEx_ExposeSnapshot(IVssBackupComponentsEx* This,VSS_ID SnapshotId,VSS_PWSZ wszPathFromRoot,LONG lAttributes,VSS_PWSZ wszExpose,VSS_PWSZ *pwszExposed) { 2297 return This->lpVtbl->ExposeSnapshot(This,SnapshotId,wszPathFromRoot,lAttributes,wszExpose,pwszExposed); 2298 } 2299 static inline HRESULT IVssBackupComponentsEx_RevertToSnapshot(IVssBackupComponentsEx* This,VSS_ID SnapshotId,WINBOOL bForceDismount) { 2300 return This->lpVtbl->RevertToSnapshot(This,SnapshotId,bForceDismount); 2301 } 2302 static inline HRESULT IVssBackupComponentsEx_QueryRevertStatus(IVssBackupComponentsEx* This,VSS_PWSZ pwszVolume,IVssAsync **ppAsync) { 2303 return This->lpVtbl->QueryRevertStatus(This,pwszVolume,ppAsync); 2304 } 2305 /*** IVssBackupComponentsEx methods ***/ 2306 static inline HRESULT IVssBackupComponentsEx_GetWriterMetadataEx(IVssBackupComponentsEx* This,UINT iWriter,VSS_ID *pidInstance,IVssExamineWriterMetadataEx **ppMetadata) { 2307 return This->lpVtbl->GetWriterMetadataEx(This,iWriter,pidInstance,ppMetadata); 2308 } 2309 static inline HRESULT IVssBackupComponentsEx_SetSelectedForRestoreEx(IVssBackupComponentsEx* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,boolean bSelectedForRestore,VSS_ID instanceId) { 2310 return This->lpVtbl->SetSelectedForRestoreEx(This,writerId,ct,wszLogicalPath,wszComponentName,bSelectedForRestore,instanceId); 2311 } 2312 #endif 2313 #endif 2314 2315 #endif 2316 2317 2318 #endif /* __IVssBackupComponentsEx_INTERFACE_DEFINED__ */ 2319 2320 /***************************************************************************** 2321 * IVssBackupComponentsEx2 interface 2322 */ 2323 #ifndef __IVssBackupComponentsEx2_INTERFACE_DEFINED__ 2324 #define __IVssBackupComponentsEx2_INTERFACE_DEFINED__ 2325 2326 DEFINE_GUID(IID_IVssBackupComponentsEx2, 0xacfe2b3a, 0x22c9, 0x4ef8, 0xbd,0x03, 0x2f,0x9c,0xa2,0x30,0x08,0x4e); 2327 #if defined(__cplusplus) && !defined(CINTERFACE) 2328 MIDL_INTERFACE("acfe2b3a-22c9-4ef8-bd03-2f9ca230084e") 2329 IVssBackupComponentsEx2 : public IVssBackupComponentsEx 2330 { 2331 virtual HRESULT STDMETHODCALLTYPE UnexposeSnapshot( 2332 VSS_ID snapshotId) = 0; 2333 2334 virtual HRESULT STDMETHODCALLTYPE SetAuthoritativeRestore( 2335 VSS_ID writerId, 2336 VSS_COMPONENT_TYPE ct, 2337 LPCWSTR wszLogicalPath, 2338 LPCWSTR wszComponentName, 2339 boolean bAuth) = 0; 2340 2341 virtual HRESULT STDMETHODCALLTYPE SetRollForward( 2342 VSS_ID writerId, 2343 VSS_COMPONENT_TYPE ct, 2344 LPCWSTR wszLogicalPath, 2345 LPCWSTR wszComponentName, 2346 VSS_ROLLFORWARD_TYPE rollType, 2347 LPCWSTR wszRollForwardPoint) = 0; 2348 2349 virtual HRESULT STDMETHODCALLTYPE SetRestoreName( 2350 VSS_ID writerId, 2351 VSS_COMPONENT_TYPE ct, 2352 LPCWSTR wszLogicalPath, 2353 LPCWSTR wszComponentName, 2354 LPCWSTR wszRestoreName) = 0; 2355 2356 virtual HRESULT STDMETHODCALLTYPE BreakSnapshotSetEx( 2357 VSS_ID SnapshotSetID, 2358 DWORD dwBreakFlags, 2359 IVssAsync **ppAsync) = 0; 2360 2361 virtual HRESULT STDMETHODCALLTYPE PreFastRecovery( 2362 VSS_ID SnapshotSetID, 2363 DWORD dwPreFastRecoveryFlags, 2364 IVssAsync **ppAsync) = 0; 2365 2366 virtual HRESULT STDMETHODCALLTYPE FastRecovery( 2367 VSS_ID SnapshotSetID, 2368 DWORD dwFastRecoveryFlags, 2369 IVssAsync **ppAsync) = 0; 2370 2371 }; 2372 #ifdef __CRT_UUID_DECL 2373 __CRT_UUID_DECL(IVssBackupComponentsEx2, 0xacfe2b3a, 0x22c9, 0x4ef8, 0xbd,0x03, 0x2f,0x9c,0xa2,0x30,0x08,0x4e) 2374 #endif 2375 #else 2376 typedef struct IVssBackupComponentsEx2Vtbl { 2377 BEGIN_INTERFACE 2378 2379 /*** IUnknown methods ***/ 2380 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 2381 IVssBackupComponentsEx2 *This, 2382 REFIID riid, 2383 void **ppvObject); 2384 2385 ULONG (STDMETHODCALLTYPE *AddRef)( 2386 IVssBackupComponentsEx2 *This); 2387 2388 ULONG (STDMETHODCALLTYPE *Release)( 2389 IVssBackupComponentsEx2 *This); 2390 2391 /*** IVssBackupComponents methods ***/ 2392 HRESULT (STDMETHODCALLTYPE *GetWriterComponentsCount)( 2393 IVssBackupComponentsEx2 *This, 2394 UINT *pcComponents); 2395 2396 HRESULT (STDMETHODCALLTYPE *GetWriterComponents)( 2397 IVssBackupComponentsEx2 *This, 2398 UINT iWriter, 2399 IVssWriterComponentsExt **ppWriter); 2400 2401 HRESULT (STDMETHODCALLTYPE *InitializeForBackup)( 2402 IVssBackupComponentsEx2 *This, 2403 BSTR bstrXML); 2404 2405 HRESULT (STDMETHODCALLTYPE *SetBackupState)( 2406 IVssBackupComponentsEx2 *This, 2407 boolean bSelectComponents, 2408 boolean bBackupBootableSystemState, 2409 VSS_BACKUP_TYPE backupType, 2410 boolean bPartialFileSupport); 2411 2412 HRESULT (STDMETHODCALLTYPE *InitializeForRestore)( 2413 IVssBackupComponentsEx2 *This, 2414 BSTR bstrXML); 2415 2416 HRESULT (STDMETHODCALLTYPE *SetRestoreState)( 2417 IVssBackupComponentsEx2 *This, 2418 VSS_RESTORE_TYPE restoreType); 2419 2420 HRESULT (STDMETHODCALLTYPE *GatherWriterMetadata)( 2421 IVssBackupComponentsEx2 *This, 2422 IVssAsync **pAsync); 2423 2424 HRESULT (STDMETHODCALLTYPE *GetWriterMetadataCount)( 2425 IVssBackupComponentsEx2 *This, 2426 UINT *pcWriters); 2427 2428 HRESULT (STDMETHODCALLTYPE *GetWriterMetadata)( 2429 IVssBackupComponentsEx2 *This, 2430 UINT iWriter, 2431 VSS_ID *pidInstance, 2432 IVssExamineWriterMetadata **ppMetadata); 2433 2434 HRESULT (STDMETHODCALLTYPE *FreeWriterMetadata)( 2435 IVssBackupComponentsEx2 *This); 2436 2437 HRESULT (STDMETHODCALLTYPE *AddComponent)( 2438 IVssBackupComponentsEx2 *This, 2439 VSS_ID instanceId, 2440 VSS_ID writerId, 2441 VSS_COMPONENT_TYPE ct, 2442 LPCWSTR wszLogicalPath, 2443 LPCWSTR wszComponentName); 2444 2445 HRESULT (STDMETHODCALLTYPE *PrepareForBackup)( 2446 IVssBackupComponentsEx2 *This, 2447 IVssAsync **ppAsync); 2448 2449 HRESULT (STDMETHODCALLTYPE *AbortBackup)( 2450 IVssBackupComponentsEx2 *This); 2451 2452 HRESULT (STDMETHODCALLTYPE *GatherWriterStatus)( 2453 IVssBackupComponentsEx2 *This, 2454 IVssAsync **pAsync); 2455 2456 HRESULT (STDMETHODCALLTYPE *GetWriterStatusCount)( 2457 IVssBackupComponentsEx2 *This, 2458 UINT *pcWriters); 2459 2460 HRESULT (STDMETHODCALLTYPE *FreeWriterStatus)( 2461 IVssBackupComponentsEx2 *This); 2462 2463 HRESULT (STDMETHODCALLTYPE *GetWriterStatus)( 2464 IVssBackupComponentsEx2 *This, 2465 UINT iWriter, 2466 VSS_ID *pidInstance, 2467 VSS_ID *pidWriter, 2468 BSTR *pbstrWriter, 2469 VSS_WRITER_STATE *pnStatus, 2470 HRESULT *phResultFailure); 2471 2472 HRESULT (STDMETHODCALLTYPE *SetBackupSucceeded)( 2473 IVssBackupComponentsEx2 *This, 2474 VSS_ID instanceId, 2475 VSS_ID writerId, 2476 VSS_COMPONENT_TYPE ct, 2477 LPCWSTR wszLogicalPath, 2478 LPCWSTR wszComponentName, 2479 boolean bSucceded); 2480 2481 HRESULT (STDMETHODCALLTYPE *SetBackupOptions)( 2482 IVssBackupComponentsEx2 *This, 2483 VSS_ID writerId, 2484 VSS_COMPONENT_TYPE ct, 2485 LPCWSTR wszLogicalPath, 2486 LPCWSTR wszComponentName, 2487 LPCWSTR wszBackupOptions); 2488 2489 HRESULT (STDMETHODCALLTYPE *SetSelectedForRestore)( 2490 IVssBackupComponentsEx2 *This, 2491 VSS_ID writerId, 2492 VSS_COMPONENT_TYPE ct, 2493 LPCWSTR wszLogicalPath, 2494 LPCWSTR wszComponentName, 2495 boolean bSelectedForRestore); 2496 2497 HRESULT (STDMETHODCALLTYPE *SetRestoreOptions)( 2498 IVssBackupComponentsEx2 *This, 2499 VSS_ID writerId, 2500 VSS_COMPONENT_TYPE ct, 2501 LPCWSTR wszLogicalPath, 2502 LPCWSTR wszComponentName, 2503 LPCWSTR wszRestoreOptions); 2504 2505 HRESULT (STDMETHODCALLTYPE *SetAdditionalRestores)( 2506 IVssBackupComponentsEx2 *This, 2507 VSS_ID writerId, 2508 VSS_COMPONENT_TYPE ct, 2509 LPCWSTR wszLogicalPath, 2510 LPCWSTR wszComponentName, 2511 boolean bAdditionalRestores); 2512 2513 HRESULT (STDMETHODCALLTYPE *SetPreviousBackupStamp)( 2514 IVssBackupComponentsEx2 *This, 2515 VSS_ID writerId, 2516 VSS_COMPONENT_TYPE ct, 2517 LPCWSTR wszLogicalPath, 2518 LPCWSTR wszComponentName, 2519 LPCWSTR wszPreviousBackupStamp); 2520 2521 HRESULT (STDMETHODCALLTYPE *SaveAsXML)( 2522 IVssBackupComponentsEx2 *This, 2523 BSTR *pbstrXML); 2524 2525 HRESULT (STDMETHODCALLTYPE *BackupComplete)( 2526 IVssBackupComponentsEx2 *This, 2527 IVssAsync **ppAsync); 2528 2529 HRESULT (STDMETHODCALLTYPE *AddAlternativeLocationMapping)( 2530 IVssBackupComponentsEx2 *This, 2531 VSS_ID writerId, 2532 VSS_COMPONENT_TYPE componentType, 2533 LPCWSTR wszLogicalPath, 2534 LPCWSTR wszComponentName, 2535 LPCWSTR wszPath, 2536 LPCWSTR wszFilespec, 2537 boolean bRecursive, 2538 LPCWSTR wszDestination); 2539 2540 HRESULT (STDMETHODCALLTYPE *AddRestoreSubcomponent)( 2541 IVssBackupComponentsEx2 *This, 2542 VSS_ID writerId, 2543 VSS_COMPONENT_TYPE componentType, 2544 LPCWSTR wszLogicalPath, 2545 LPCWSTR wszComponentName, 2546 LPCWSTR wszSubComponentLogicalPath, 2547 LPCWSTR wszSubComponentName, 2548 boolean bRepair); 2549 2550 HRESULT (STDMETHODCALLTYPE *SetFileRestoreStatus)( 2551 IVssBackupComponentsEx2 *This, 2552 VSS_ID writerId, 2553 VSS_COMPONENT_TYPE ct, 2554 LPCWSTR wszLogicalPath, 2555 LPCWSTR wszComponentName, 2556 VSS_FILE_RESTORE_STATUS status); 2557 2558 HRESULT (STDMETHODCALLTYPE *AddNewTarget)( 2559 IVssBackupComponentsEx2 *This, 2560 VSS_ID writerId, 2561 VSS_COMPONENT_TYPE ct, 2562 LPCWSTR wszLogicalPath, 2563 LPCWSTR wszComponentName, 2564 LPCWSTR wszPath, 2565 LPCWSTR wszFileName, 2566 boolean bRecursive, 2567 LPCWSTR wszAlternatePath); 2568 2569 HRESULT (STDMETHODCALLTYPE *SetRangesFilePath)( 2570 IVssBackupComponentsEx2 *This, 2571 VSS_ID writerId, 2572 VSS_COMPONENT_TYPE ct, 2573 LPCWSTR wszLogicalPath, 2574 LPCWSTR wszComponentName, 2575 UINT iPartialFile, 2576 LPCWSTR wszRangesFile); 2577 2578 HRESULT (STDMETHODCALLTYPE *PreRestore)( 2579 IVssBackupComponentsEx2 *This, 2580 IVssAsync **ppAsync); 2581 2582 HRESULT (STDMETHODCALLTYPE *PostRestore)( 2583 IVssBackupComponentsEx2 *This, 2584 IVssAsync **ppAsync); 2585 2586 HRESULT (STDMETHODCALLTYPE *SetContext)( 2587 IVssBackupComponentsEx2 *This, 2588 LONG lContext); 2589 2590 HRESULT (STDMETHODCALLTYPE *StartSnapshotSet)( 2591 IVssBackupComponentsEx2 *This, 2592 VSS_ID *pSnapshotSetId); 2593 2594 HRESULT (STDMETHODCALLTYPE *AddToSnapshotSet)( 2595 IVssBackupComponentsEx2 *This, 2596 VSS_PWSZ pwszVolumeName, 2597 VSS_ID ProviderId, 2598 VSS_ID *pidSnapshot); 2599 2600 HRESULT (STDMETHODCALLTYPE *DoSnapshotSet)( 2601 IVssBackupComponentsEx2 *This, 2602 IVssAsync **ppAsync); 2603 2604 HRESULT (STDMETHODCALLTYPE *DeleteSnapshots)( 2605 IVssBackupComponentsEx2 *This, 2606 VSS_ID SourceObjectId, 2607 VSS_OBJECT_TYPE eSourceObjectType, 2608 WINBOOL bForceDelete, 2609 LONG *plDeletedSnapshots, 2610 VSS_ID *pNondeletedSnapshotID); 2611 2612 HRESULT (STDMETHODCALLTYPE *ImportSnapshots)( 2613 IVssBackupComponentsEx2 *This, 2614 IVssAsync **ppAsync); 2615 2616 HRESULT (STDMETHODCALLTYPE *BreakSnapshotSet)( 2617 IVssBackupComponentsEx2 *This, 2618 VSS_ID SnapshotSetId); 2619 2620 HRESULT (STDMETHODCALLTYPE *GetSnapshotProperties)( 2621 IVssBackupComponentsEx2 *This, 2622 VSS_ID SnapshotId, 2623 VSS_SNAPSHOT_PROP *pProp); 2624 2625 HRESULT (STDMETHODCALLTYPE *Query)( 2626 IVssBackupComponentsEx2 *This, 2627 VSS_ID QueriedObjectId, 2628 VSS_OBJECT_TYPE eQueriedObjectType, 2629 VSS_OBJECT_TYPE eReturnedObjectsType, 2630 IVssEnumObject **ppEnum); 2631 2632 HRESULT (STDMETHODCALLTYPE *IsVolumeSupported)( 2633 IVssBackupComponentsEx2 *This, 2634 VSS_ID ProviderId, 2635 VSS_PWSZ pwszVolumeName, 2636 WINBOOL *pbSupportedByThisProvider); 2637 2638 HRESULT (STDMETHODCALLTYPE *DisableWriterClasses)( 2639 IVssBackupComponentsEx2 *This, 2640 const VSS_ID *rgWriterClassId, 2641 UINT cClassId); 2642 2643 HRESULT (STDMETHODCALLTYPE *EnableWriterClasses)( 2644 IVssBackupComponentsEx2 *This, 2645 const VSS_ID *rgWriterClassId, 2646 UINT cClassId); 2647 2648 HRESULT (STDMETHODCALLTYPE *DisableWriterInstances)( 2649 IVssBackupComponentsEx2 *This, 2650 const VSS_ID *rgWriterInstanceId, 2651 UINT cInstanceId); 2652 2653 HRESULT (STDMETHODCALLTYPE *ExposeSnapshot)( 2654 IVssBackupComponentsEx2 *This, 2655 VSS_ID SnapshotId, 2656 VSS_PWSZ wszPathFromRoot, 2657 LONG lAttributes, 2658 VSS_PWSZ wszExpose, 2659 VSS_PWSZ *pwszExposed); 2660 2661 HRESULT (STDMETHODCALLTYPE *RevertToSnapshot)( 2662 IVssBackupComponentsEx2 *This, 2663 VSS_ID SnapshotId, 2664 WINBOOL bForceDismount); 2665 2666 HRESULT (STDMETHODCALLTYPE *QueryRevertStatus)( 2667 IVssBackupComponentsEx2 *This, 2668 VSS_PWSZ pwszVolume, 2669 IVssAsync **ppAsync); 2670 2671 /*** IVssBackupComponentsEx methods ***/ 2672 HRESULT (STDMETHODCALLTYPE *GetWriterMetadataEx)( 2673 IVssBackupComponentsEx2 *This, 2674 UINT iWriter, 2675 VSS_ID *pidInstance, 2676 IVssExamineWriterMetadataEx **ppMetadata); 2677 2678 HRESULT (STDMETHODCALLTYPE *SetSelectedForRestoreEx)( 2679 IVssBackupComponentsEx2 *This, 2680 VSS_ID writerId, 2681 VSS_COMPONENT_TYPE ct, 2682 LPCWSTR wszLogicalPath, 2683 LPCWSTR wszComponentName, 2684 boolean bSelectedForRestore, 2685 VSS_ID instanceId); 2686 2687 /*** IVssBackupComponentsEx2 methods ***/ 2688 HRESULT (STDMETHODCALLTYPE *UnexposeSnapshot)( 2689 IVssBackupComponentsEx2 *This, 2690 VSS_ID snapshotId); 2691 2692 HRESULT (STDMETHODCALLTYPE *SetAuthoritativeRestore)( 2693 IVssBackupComponentsEx2 *This, 2694 VSS_ID writerId, 2695 VSS_COMPONENT_TYPE ct, 2696 LPCWSTR wszLogicalPath, 2697 LPCWSTR wszComponentName, 2698 boolean bAuth); 2699 2700 HRESULT (STDMETHODCALLTYPE *SetRollForward)( 2701 IVssBackupComponentsEx2 *This, 2702 VSS_ID writerId, 2703 VSS_COMPONENT_TYPE ct, 2704 LPCWSTR wszLogicalPath, 2705 LPCWSTR wszComponentName, 2706 VSS_ROLLFORWARD_TYPE rollType, 2707 LPCWSTR wszRollForwardPoint); 2708 2709 HRESULT (STDMETHODCALLTYPE *SetRestoreName)( 2710 IVssBackupComponentsEx2 *This, 2711 VSS_ID writerId, 2712 VSS_COMPONENT_TYPE ct, 2713 LPCWSTR wszLogicalPath, 2714 LPCWSTR wszComponentName, 2715 LPCWSTR wszRestoreName); 2716 2717 HRESULT (STDMETHODCALLTYPE *BreakSnapshotSetEx)( 2718 IVssBackupComponentsEx2 *This, 2719 VSS_ID SnapshotSetID, 2720 DWORD dwBreakFlags, 2721 IVssAsync **ppAsync); 2722 2723 HRESULT (STDMETHODCALLTYPE *PreFastRecovery)( 2724 IVssBackupComponentsEx2 *This, 2725 VSS_ID SnapshotSetID, 2726 DWORD dwPreFastRecoveryFlags, 2727 IVssAsync **ppAsync); 2728 2729 HRESULT (STDMETHODCALLTYPE *FastRecovery)( 2730 IVssBackupComponentsEx2 *This, 2731 VSS_ID SnapshotSetID, 2732 DWORD dwFastRecoveryFlags, 2733 IVssAsync **ppAsync); 2734 2735 END_INTERFACE 2736 } IVssBackupComponentsEx2Vtbl; 2737 2738 interface IVssBackupComponentsEx2 { 2739 CONST_VTBL IVssBackupComponentsEx2Vtbl* lpVtbl; 2740 }; 2741 2742 #ifdef COBJMACROS 2743 #ifndef WIDL_C_INLINE_WRAPPERS 2744 /*** IUnknown methods ***/ 2745 #define IVssBackupComponentsEx2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 2746 #define IVssBackupComponentsEx2_AddRef(This) (This)->lpVtbl->AddRef(This) 2747 #define IVssBackupComponentsEx2_Release(This) (This)->lpVtbl->Release(This) 2748 /*** IVssBackupComponents methods ***/ 2749 #define IVssBackupComponentsEx2_GetWriterComponentsCount(This,pcComponents) (This)->lpVtbl->GetWriterComponentsCount(This,pcComponents) 2750 #define IVssBackupComponentsEx2_GetWriterComponents(This,iWriter,ppWriter) (This)->lpVtbl->GetWriterComponents(This,iWriter,ppWriter) 2751 #define IVssBackupComponentsEx2_InitializeForBackup(This,bstrXML) (This)->lpVtbl->InitializeForBackup(This,bstrXML) 2752 #define IVssBackupComponentsEx2_SetBackupState(This,bSelectComponents,bBackupBootableSystemState,backupType,bPartialFileSupport) (This)->lpVtbl->SetBackupState(This,bSelectComponents,bBackupBootableSystemState,backupType,bPartialFileSupport) 2753 #define IVssBackupComponentsEx2_InitializeForRestore(This,bstrXML) (This)->lpVtbl->InitializeForRestore(This,bstrXML) 2754 #define IVssBackupComponentsEx2_SetRestoreState(This,restoreType) (This)->lpVtbl->SetRestoreState(This,restoreType) 2755 #define IVssBackupComponentsEx2_GatherWriterMetadata(This,pAsync) (This)->lpVtbl->GatherWriterMetadata(This,pAsync) 2756 #define IVssBackupComponentsEx2_GetWriterMetadataCount(This,pcWriters) (This)->lpVtbl->GetWriterMetadataCount(This,pcWriters) 2757 #define IVssBackupComponentsEx2_GetWriterMetadata(This,iWriter,pidInstance,ppMetadata) (This)->lpVtbl->GetWriterMetadata(This,iWriter,pidInstance,ppMetadata) 2758 #define IVssBackupComponentsEx2_FreeWriterMetadata(This) (This)->lpVtbl->FreeWriterMetadata(This) 2759 #define IVssBackupComponentsEx2_AddComponent(This,instanceId,writerId,ct,wszLogicalPath,wszComponentName) (This)->lpVtbl->AddComponent(This,instanceId,writerId,ct,wszLogicalPath,wszComponentName) 2760 #define IVssBackupComponentsEx2_PrepareForBackup(This,ppAsync) (This)->lpVtbl->PrepareForBackup(This,ppAsync) 2761 #define IVssBackupComponentsEx2_AbortBackup(This) (This)->lpVtbl->AbortBackup(This) 2762 #define IVssBackupComponentsEx2_GatherWriterStatus(This,pAsync) (This)->lpVtbl->GatherWriterStatus(This,pAsync) 2763 #define IVssBackupComponentsEx2_GetWriterStatusCount(This,pcWriters) (This)->lpVtbl->GetWriterStatusCount(This,pcWriters) 2764 #define IVssBackupComponentsEx2_FreeWriterStatus(This) (This)->lpVtbl->FreeWriterStatus(This) 2765 #define IVssBackupComponentsEx2_GetWriterStatus(This,iWriter,pidInstance,pidWriter,pbstrWriter,pnStatus,phResultFailure) (This)->lpVtbl->GetWriterStatus(This,iWriter,pidInstance,pidWriter,pbstrWriter,pnStatus,phResultFailure) 2766 #define IVssBackupComponentsEx2_SetBackupSucceeded(This,instanceId,writerId,ct,wszLogicalPath,wszComponentName,bSucceded) (This)->lpVtbl->SetBackupSucceeded(This,instanceId,writerId,ct,wszLogicalPath,wszComponentName,bSucceded) 2767 #define IVssBackupComponentsEx2_SetBackupOptions(This,writerId,ct,wszLogicalPath,wszComponentName,wszBackupOptions) (This)->lpVtbl->SetBackupOptions(This,writerId,ct,wszLogicalPath,wszComponentName,wszBackupOptions) 2768 #define IVssBackupComponentsEx2_SetSelectedForRestore(This,writerId,ct,wszLogicalPath,wszComponentName,bSelectedForRestore) (This)->lpVtbl->SetSelectedForRestore(This,writerId,ct,wszLogicalPath,wszComponentName,bSelectedForRestore) 2769 #define IVssBackupComponentsEx2_SetRestoreOptions(This,writerId,ct,wszLogicalPath,wszComponentName,wszRestoreOptions) (This)->lpVtbl->SetRestoreOptions(This,writerId,ct,wszLogicalPath,wszComponentName,wszRestoreOptions) 2770 #define IVssBackupComponentsEx2_SetAdditionalRestores(This,writerId,ct,wszLogicalPath,wszComponentName,bAdditionalRestores) (This)->lpVtbl->SetAdditionalRestores(This,writerId,ct,wszLogicalPath,wszComponentName,bAdditionalRestores) 2771 #define IVssBackupComponentsEx2_SetPreviousBackupStamp(This,writerId,ct,wszLogicalPath,wszComponentName,wszPreviousBackupStamp) (This)->lpVtbl->SetPreviousBackupStamp(This,writerId,ct,wszLogicalPath,wszComponentName,wszPreviousBackupStamp) 2772 #define IVssBackupComponentsEx2_SaveAsXML(This,pbstrXML) (This)->lpVtbl->SaveAsXML(This,pbstrXML) 2773 #define IVssBackupComponentsEx2_BackupComplete(This,ppAsync) (This)->lpVtbl->BackupComplete(This,ppAsync) 2774 #define IVssBackupComponentsEx2_AddAlternativeLocationMapping(This,writerId,componentType,wszLogicalPath,wszComponentName,wszPath,wszFilespec,bRecursive,wszDestination) (This)->lpVtbl->AddAlternativeLocationMapping(This,writerId,componentType,wszLogicalPath,wszComponentName,wszPath,wszFilespec,bRecursive,wszDestination) 2775 #define IVssBackupComponentsEx2_AddRestoreSubcomponent(This,writerId,componentType,wszLogicalPath,wszComponentName,wszSubComponentLogicalPath,wszSubComponentName,bRepair) (This)->lpVtbl->AddRestoreSubcomponent(This,writerId,componentType,wszLogicalPath,wszComponentName,wszSubComponentLogicalPath,wszSubComponentName,bRepair) 2776 #define IVssBackupComponentsEx2_SetFileRestoreStatus(This,writerId,ct,wszLogicalPath,wszComponentName,status) (This)->lpVtbl->SetFileRestoreStatus(This,writerId,ct,wszLogicalPath,wszComponentName,status) 2777 #define IVssBackupComponentsEx2_AddNewTarget(This,writerId,ct,wszLogicalPath,wszComponentName,wszPath,wszFileName,bRecursive,wszAlternatePath) (This)->lpVtbl->AddNewTarget(This,writerId,ct,wszLogicalPath,wszComponentName,wszPath,wszFileName,bRecursive,wszAlternatePath) 2778 #define IVssBackupComponentsEx2_SetRangesFilePath(This,writerId,ct,wszLogicalPath,wszComponentName,iPartialFile,wszRangesFile) (This)->lpVtbl->SetRangesFilePath(This,writerId,ct,wszLogicalPath,wszComponentName,iPartialFile,wszRangesFile) 2779 #define IVssBackupComponentsEx2_PreRestore(This,ppAsync) (This)->lpVtbl->PreRestore(This,ppAsync) 2780 #define IVssBackupComponentsEx2_PostRestore(This,ppAsync) (This)->lpVtbl->PostRestore(This,ppAsync) 2781 #define IVssBackupComponentsEx2_SetContext(This,lContext) (This)->lpVtbl->SetContext(This,lContext) 2782 #define IVssBackupComponentsEx2_StartSnapshotSet(This,pSnapshotSetId) (This)->lpVtbl->StartSnapshotSet(This,pSnapshotSetId) 2783 #define IVssBackupComponentsEx2_AddToSnapshotSet(This,pwszVolumeName,ProviderId,pidSnapshot) (This)->lpVtbl->AddToSnapshotSet(This,pwszVolumeName,ProviderId,pidSnapshot) 2784 #define IVssBackupComponentsEx2_DoSnapshotSet(This,ppAsync) (This)->lpVtbl->DoSnapshotSet(This,ppAsync) 2785 #define IVssBackupComponentsEx2_DeleteSnapshots(This,SourceObjectId,eSourceObjectType,bForceDelete,plDeletedSnapshots,pNondeletedSnapshotID) (This)->lpVtbl->DeleteSnapshots(This,SourceObjectId,eSourceObjectType,bForceDelete,plDeletedSnapshots,pNondeletedSnapshotID) 2786 #define IVssBackupComponentsEx2_ImportSnapshots(This,ppAsync) (This)->lpVtbl->ImportSnapshots(This,ppAsync) 2787 #define IVssBackupComponentsEx2_BreakSnapshotSet(This,SnapshotSetId) (This)->lpVtbl->BreakSnapshotSet(This,SnapshotSetId) 2788 #define IVssBackupComponentsEx2_GetSnapshotProperties(This,SnapshotId,pProp) (This)->lpVtbl->GetSnapshotProperties(This,SnapshotId,pProp) 2789 #define IVssBackupComponentsEx2_Query(This,QueriedObjectId,eQueriedObjectType,eReturnedObjectsType,ppEnum) (This)->lpVtbl->Query(This,QueriedObjectId,eQueriedObjectType,eReturnedObjectsType,ppEnum) 2790 #define IVssBackupComponentsEx2_IsVolumeSupported(This,ProviderId,pwszVolumeName,pbSupportedByThisProvider) (This)->lpVtbl->IsVolumeSupported(This,ProviderId,pwszVolumeName,pbSupportedByThisProvider) 2791 #define IVssBackupComponentsEx2_DisableWriterClasses(This,rgWriterClassId,cClassId) (This)->lpVtbl->DisableWriterClasses(This,rgWriterClassId,cClassId) 2792 #define IVssBackupComponentsEx2_EnableWriterClasses(This,rgWriterClassId,cClassId) (This)->lpVtbl->EnableWriterClasses(This,rgWriterClassId,cClassId) 2793 #define IVssBackupComponentsEx2_DisableWriterInstances(This,rgWriterInstanceId,cInstanceId) (This)->lpVtbl->DisableWriterInstances(This,rgWriterInstanceId,cInstanceId) 2794 #define IVssBackupComponentsEx2_ExposeSnapshot(This,SnapshotId,wszPathFromRoot,lAttributes,wszExpose,pwszExposed) (This)->lpVtbl->ExposeSnapshot(This,SnapshotId,wszPathFromRoot,lAttributes,wszExpose,pwszExposed) 2795 #define IVssBackupComponentsEx2_RevertToSnapshot(This,SnapshotId,bForceDismount) (This)->lpVtbl->RevertToSnapshot(This,SnapshotId,bForceDismount) 2796 #define IVssBackupComponentsEx2_QueryRevertStatus(This,pwszVolume,ppAsync) (This)->lpVtbl->QueryRevertStatus(This,pwszVolume,ppAsync) 2797 /*** IVssBackupComponentsEx methods ***/ 2798 #define IVssBackupComponentsEx2_GetWriterMetadataEx(This,iWriter,pidInstance,ppMetadata) (This)->lpVtbl->GetWriterMetadataEx(This,iWriter,pidInstance,ppMetadata) 2799 #define IVssBackupComponentsEx2_SetSelectedForRestoreEx(This,writerId,ct,wszLogicalPath,wszComponentName,bSelectedForRestore,instanceId) (This)->lpVtbl->SetSelectedForRestoreEx(This,writerId,ct,wszLogicalPath,wszComponentName,bSelectedForRestore,instanceId) 2800 /*** IVssBackupComponentsEx2 methods ***/ 2801 #define IVssBackupComponentsEx2_UnexposeSnapshot(This,snapshotId) (This)->lpVtbl->UnexposeSnapshot(This,snapshotId) 2802 #define IVssBackupComponentsEx2_SetAuthoritativeRestore(This,writerId,ct,wszLogicalPath,wszComponentName,bAuth) (This)->lpVtbl->SetAuthoritativeRestore(This,writerId,ct,wszLogicalPath,wszComponentName,bAuth) 2803 #define IVssBackupComponentsEx2_SetRollForward(This,writerId,ct,wszLogicalPath,wszComponentName,rollType,wszRollForwardPoint) (This)->lpVtbl->SetRollForward(This,writerId,ct,wszLogicalPath,wszComponentName,rollType,wszRollForwardPoint) 2804 #define IVssBackupComponentsEx2_SetRestoreName(This,writerId,ct,wszLogicalPath,wszComponentName,wszRestoreName) (This)->lpVtbl->SetRestoreName(This,writerId,ct,wszLogicalPath,wszComponentName,wszRestoreName) 2805 #define IVssBackupComponentsEx2_BreakSnapshotSetEx(This,SnapshotSetID,dwBreakFlags,ppAsync) (This)->lpVtbl->BreakSnapshotSetEx(This,SnapshotSetID,dwBreakFlags,ppAsync) 2806 #define IVssBackupComponentsEx2_PreFastRecovery(This,SnapshotSetID,dwPreFastRecoveryFlags,ppAsync) (This)->lpVtbl->PreFastRecovery(This,SnapshotSetID,dwPreFastRecoveryFlags,ppAsync) 2807 #define IVssBackupComponentsEx2_FastRecovery(This,SnapshotSetID,dwFastRecoveryFlags,ppAsync) (This)->lpVtbl->FastRecovery(This,SnapshotSetID,dwFastRecoveryFlags,ppAsync) 2808 #else 2809 /*** IUnknown methods ***/ 2810 static inline HRESULT IVssBackupComponentsEx2_QueryInterface(IVssBackupComponentsEx2* This,REFIID riid,void **ppvObject) { 2811 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 2812 } 2813 static inline ULONG IVssBackupComponentsEx2_AddRef(IVssBackupComponentsEx2* This) { 2814 return This->lpVtbl->AddRef(This); 2815 } 2816 static inline ULONG IVssBackupComponentsEx2_Release(IVssBackupComponentsEx2* This) { 2817 return This->lpVtbl->Release(This); 2818 } 2819 /*** IVssBackupComponents methods ***/ 2820 static inline HRESULT IVssBackupComponentsEx2_GetWriterComponentsCount(IVssBackupComponentsEx2* This,UINT *pcComponents) { 2821 return This->lpVtbl->GetWriterComponentsCount(This,pcComponents); 2822 } 2823 static inline HRESULT IVssBackupComponentsEx2_GetWriterComponents(IVssBackupComponentsEx2* This,UINT iWriter,IVssWriterComponentsExt **ppWriter) { 2824 return This->lpVtbl->GetWriterComponents(This,iWriter,ppWriter); 2825 } 2826 static inline HRESULT IVssBackupComponentsEx2_InitializeForBackup(IVssBackupComponentsEx2* This,BSTR bstrXML) { 2827 return This->lpVtbl->InitializeForBackup(This,bstrXML); 2828 } 2829 static inline HRESULT IVssBackupComponentsEx2_SetBackupState(IVssBackupComponentsEx2* This,boolean bSelectComponents,boolean bBackupBootableSystemState,VSS_BACKUP_TYPE backupType,boolean bPartialFileSupport) { 2830 return This->lpVtbl->SetBackupState(This,bSelectComponents,bBackupBootableSystemState,backupType,bPartialFileSupport); 2831 } 2832 static inline HRESULT IVssBackupComponentsEx2_InitializeForRestore(IVssBackupComponentsEx2* This,BSTR bstrXML) { 2833 return This->lpVtbl->InitializeForRestore(This,bstrXML); 2834 } 2835 static inline HRESULT IVssBackupComponentsEx2_SetRestoreState(IVssBackupComponentsEx2* This,VSS_RESTORE_TYPE restoreType) { 2836 return This->lpVtbl->SetRestoreState(This,restoreType); 2837 } 2838 static inline HRESULT IVssBackupComponentsEx2_GatherWriterMetadata(IVssBackupComponentsEx2* This,IVssAsync **pAsync) { 2839 return This->lpVtbl->GatherWriterMetadata(This,pAsync); 2840 } 2841 static inline HRESULT IVssBackupComponentsEx2_GetWriterMetadataCount(IVssBackupComponentsEx2* This,UINT *pcWriters) { 2842 return This->lpVtbl->GetWriterMetadataCount(This,pcWriters); 2843 } 2844 static inline HRESULT IVssBackupComponentsEx2_GetWriterMetadata(IVssBackupComponentsEx2* This,UINT iWriter,VSS_ID *pidInstance,IVssExamineWriterMetadata **ppMetadata) { 2845 return This->lpVtbl->GetWriterMetadata(This,iWriter,pidInstance,ppMetadata); 2846 } 2847 static inline HRESULT IVssBackupComponentsEx2_FreeWriterMetadata(IVssBackupComponentsEx2* This) { 2848 return This->lpVtbl->FreeWriterMetadata(This); 2849 } 2850 static inline HRESULT IVssBackupComponentsEx2_AddComponent(IVssBackupComponentsEx2* This,VSS_ID instanceId,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName) { 2851 return This->lpVtbl->AddComponent(This,instanceId,writerId,ct,wszLogicalPath,wszComponentName); 2852 } 2853 static inline HRESULT IVssBackupComponentsEx2_PrepareForBackup(IVssBackupComponentsEx2* This,IVssAsync **ppAsync) { 2854 return This->lpVtbl->PrepareForBackup(This,ppAsync); 2855 } 2856 static inline HRESULT IVssBackupComponentsEx2_AbortBackup(IVssBackupComponentsEx2* This) { 2857 return This->lpVtbl->AbortBackup(This); 2858 } 2859 static inline HRESULT IVssBackupComponentsEx2_GatherWriterStatus(IVssBackupComponentsEx2* This,IVssAsync **pAsync) { 2860 return This->lpVtbl->GatherWriterStatus(This,pAsync); 2861 } 2862 static inline HRESULT IVssBackupComponentsEx2_GetWriterStatusCount(IVssBackupComponentsEx2* This,UINT *pcWriters) { 2863 return This->lpVtbl->GetWriterStatusCount(This,pcWriters); 2864 } 2865 static inline HRESULT IVssBackupComponentsEx2_FreeWriterStatus(IVssBackupComponentsEx2* This) { 2866 return This->lpVtbl->FreeWriterStatus(This); 2867 } 2868 static inline HRESULT IVssBackupComponentsEx2_GetWriterStatus(IVssBackupComponentsEx2* This,UINT iWriter,VSS_ID *pidInstance,VSS_ID *pidWriter,BSTR *pbstrWriter,VSS_WRITER_STATE *pnStatus,HRESULT *phResultFailure) { 2869 return This->lpVtbl->GetWriterStatus(This,iWriter,pidInstance,pidWriter,pbstrWriter,pnStatus,phResultFailure); 2870 } 2871 static inline HRESULT IVssBackupComponentsEx2_SetBackupSucceeded(IVssBackupComponentsEx2* This,VSS_ID instanceId,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,boolean bSucceded) { 2872 return This->lpVtbl->SetBackupSucceeded(This,instanceId,writerId,ct,wszLogicalPath,wszComponentName,bSucceded); 2873 } 2874 static inline HRESULT IVssBackupComponentsEx2_SetBackupOptions(IVssBackupComponentsEx2* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszBackupOptions) { 2875 return This->lpVtbl->SetBackupOptions(This,writerId,ct,wszLogicalPath,wszComponentName,wszBackupOptions); 2876 } 2877 static inline HRESULT IVssBackupComponentsEx2_SetSelectedForRestore(IVssBackupComponentsEx2* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,boolean bSelectedForRestore) { 2878 return This->lpVtbl->SetSelectedForRestore(This,writerId,ct,wszLogicalPath,wszComponentName,bSelectedForRestore); 2879 } 2880 static inline HRESULT IVssBackupComponentsEx2_SetRestoreOptions(IVssBackupComponentsEx2* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszRestoreOptions) { 2881 return This->lpVtbl->SetRestoreOptions(This,writerId,ct,wszLogicalPath,wszComponentName,wszRestoreOptions); 2882 } 2883 static inline HRESULT IVssBackupComponentsEx2_SetAdditionalRestores(IVssBackupComponentsEx2* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,boolean bAdditionalRestores) { 2884 return This->lpVtbl->SetAdditionalRestores(This,writerId,ct,wszLogicalPath,wszComponentName,bAdditionalRestores); 2885 } 2886 static inline HRESULT IVssBackupComponentsEx2_SetPreviousBackupStamp(IVssBackupComponentsEx2* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszPreviousBackupStamp) { 2887 return This->lpVtbl->SetPreviousBackupStamp(This,writerId,ct,wszLogicalPath,wszComponentName,wszPreviousBackupStamp); 2888 } 2889 static inline HRESULT IVssBackupComponentsEx2_SaveAsXML(IVssBackupComponentsEx2* This,BSTR *pbstrXML) { 2890 return This->lpVtbl->SaveAsXML(This,pbstrXML); 2891 } 2892 static inline HRESULT IVssBackupComponentsEx2_BackupComplete(IVssBackupComponentsEx2* This,IVssAsync **ppAsync) { 2893 return This->lpVtbl->BackupComplete(This,ppAsync); 2894 } 2895 static inline HRESULT IVssBackupComponentsEx2_AddAlternativeLocationMapping(IVssBackupComponentsEx2* This,VSS_ID writerId,VSS_COMPONENT_TYPE componentType,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszPath,LPCWSTR wszFilespec,boolean bRecursive,LPCWSTR wszDestination) { 2896 return This->lpVtbl->AddAlternativeLocationMapping(This,writerId,componentType,wszLogicalPath,wszComponentName,wszPath,wszFilespec,bRecursive,wszDestination); 2897 } 2898 static inline HRESULT IVssBackupComponentsEx2_AddRestoreSubcomponent(IVssBackupComponentsEx2* This,VSS_ID writerId,VSS_COMPONENT_TYPE componentType,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszSubComponentLogicalPath,LPCWSTR wszSubComponentName,boolean bRepair) { 2899 return This->lpVtbl->AddRestoreSubcomponent(This,writerId,componentType,wszLogicalPath,wszComponentName,wszSubComponentLogicalPath,wszSubComponentName,bRepair); 2900 } 2901 static inline HRESULT IVssBackupComponentsEx2_SetFileRestoreStatus(IVssBackupComponentsEx2* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,VSS_FILE_RESTORE_STATUS status) { 2902 return This->lpVtbl->SetFileRestoreStatus(This,writerId,ct,wszLogicalPath,wszComponentName,status); 2903 } 2904 static inline HRESULT IVssBackupComponentsEx2_AddNewTarget(IVssBackupComponentsEx2* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszPath,LPCWSTR wszFileName,boolean bRecursive,LPCWSTR wszAlternatePath) { 2905 return This->lpVtbl->AddNewTarget(This,writerId,ct,wszLogicalPath,wszComponentName,wszPath,wszFileName,bRecursive,wszAlternatePath); 2906 } 2907 static inline HRESULT IVssBackupComponentsEx2_SetRangesFilePath(IVssBackupComponentsEx2* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,UINT iPartialFile,LPCWSTR wszRangesFile) { 2908 return This->lpVtbl->SetRangesFilePath(This,writerId,ct,wszLogicalPath,wszComponentName,iPartialFile,wszRangesFile); 2909 } 2910 static inline HRESULT IVssBackupComponentsEx2_PreRestore(IVssBackupComponentsEx2* This,IVssAsync **ppAsync) { 2911 return This->lpVtbl->PreRestore(This,ppAsync); 2912 } 2913 static inline HRESULT IVssBackupComponentsEx2_PostRestore(IVssBackupComponentsEx2* This,IVssAsync **ppAsync) { 2914 return This->lpVtbl->PostRestore(This,ppAsync); 2915 } 2916 static inline HRESULT IVssBackupComponentsEx2_SetContext(IVssBackupComponentsEx2* This,LONG lContext) { 2917 return This->lpVtbl->SetContext(This,lContext); 2918 } 2919 static inline HRESULT IVssBackupComponentsEx2_StartSnapshotSet(IVssBackupComponentsEx2* This,VSS_ID *pSnapshotSetId) { 2920 return This->lpVtbl->StartSnapshotSet(This,pSnapshotSetId); 2921 } 2922 static inline HRESULT IVssBackupComponentsEx2_AddToSnapshotSet(IVssBackupComponentsEx2* This,VSS_PWSZ pwszVolumeName,VSS_ID ProviderId,VSS_ID *pidSnapshot) { 2923 return This->lpVtbl->AddToSnapshotSet(This,pwszVolumeName,ProviderId,pidSnapshot); 2924 } 2925 static inline HRESULT IVssBackupComponentsEx2_DoSnapshotSet(IVssBackupComponentsEx2* This,IVssAsync **ppAsync) { 2926 return This->lpVtbl->DoSnapshotSet(This,ppAsync); 2927 } 2928 static inline HRESULT IVssBackupComponentsEx2_DeleteSnapshots(IVssBackupComponentsEx2* This,VSS_ID SourceObjectId,VSS_OBJECT_TYPE eSourceObjectType,WINBOOL bForceDelete,LONG *plDeletedSnapshots,VSS_ID *pNondeletedSnapshotID) { 2929 return This->lpVtbl->DeleteSnapshots(This,SourceObjectId,eSourceObjectType,bForceDelete,plDeletedSnapshots,pNondeletedSnapshotID); 2930 } 2931 static inline HRESULT IVssBackupComponentsEx2_ImportSnapshots(IVssBackupComponentsEx2* This,IVssAsync **ppAsync) { 2932 return This->lpVtbl->ImportSnapshots(This,ppAsync); 2933 } 2934 static inline HRESULT IVssBackupComponentsEx2_BreakSnapshotSet(IVssBackupComponentsEx2* This,VSS_ID SnapshotSetId) { 2935 return This->lpVtbl->BreakSnapshotSet(This,SnapshotSetId); 2936 } 2937 static inline HRESULT IVssBackupComponentsEx2_GetSnapshotProperties(IVssBackupComponentsEx2* This,VSS_ID SnapshotId,VSS_SNAPSHOT_PROP *pProp) { 2938 return This->lpVtbl->GetSnapshotProperties(This,SnapshotId,pProp); 2939 } 2940 static inline HRESULT IVssBackupComponentsEx2_Query(IVssBackupComponentsEx2* This,VSS_ID QueriedObjectId,VSS_OBJECT_TYPE eQueriedObjectType,VSS_OBJECT_TYPE eReturnedObjectsType,IVssEnumObject **ppEnum) { 2941 return This->lpVtbl->Query(This,QueriedObjectId,eQueriedObjectType,eReturnedObjectsType,ppEnum); 2942 } 2943 static inline HRESULT IVssBackupComponentsEx2_IsVolumeSupported(IVssBackupComponentsEx2* This,VSS_ID ProviderId,VSS_PWSZ pwszVolumeName,WINBOOL *pbSupportedByThisProvider) { 2944 return This->lpVtbl->IsVolumeSupported(This,ProviderId,pwszVolumeName,pbSupportedByThisProvider); 2945 } 2946 static inline HRESULT IVssBackupComponentsEx2_DisableWriterClasses(IVssBackupComponentsEx2* This,const VSS_ID *rgWriterClassId,UINT cClassId) { 2947 return This->lpVtbl->DisableWriterClasses(This,rgWriterClassId,cClassId); 2948 } 2949 static inline HRESULT IVssBackupComponentsEx2_EnableWriterClasses(IVssBackupComponentsEx2* This,const VSS_ID *rgWriterClassId,UINT cClassId) { 2950 return This->lpVtbl->EnableWriterClasses(This,rgWriterClassId,cClassId); 2951 } 2952 static inline HRESULT IVssBackupComponentsEx2_DisableWriterInstances(IVssBackupComponentsEx2* This,const VSS_ID *rgWriterInstanceId,UINT cInstanceId) { 2953 return This->lpVtbl->DisableWriterInstances(This,rgWriterInstanceId,cInstanceId); 2954 } 2955 static inline HRESULT IVssBackupComponentsEx2_ExposeSnapshot(IVssBackupComponentsEx2* This,VSS_ID SnapshotId,VSS_PWSZ wszPathFromRoot,LONG lAttributes,VSS_PWSZ wszExpose,VSS_PWSZ *pwszExposed) { 2956 return This->lpVtbl->ExposeSnapshot(This,SnapshotId,wszPathFromRoot,lAttributes,wszExpose,pwszExposed); 2957 } 2958 static inline HRESULT IVssBackupComponentsEx2_RevertToSnapshot(IVssBackupComponentsEx2* This,VSS_ID SnapshotId,WINBOOL bForceDismount) { 2959 return This->lpVtbl->RevertToSnapshot(This,SnapshotId,bForceDismount); 2960 } 2961 static inline HRESULT IVssBackupComponentsEx2_QueryRevertStatus(IVssBackupComponentsEx2* This,VSS_PWSZ pwszVolume,IVssAsync **ppAsync) { 2962 return This->lpVtbl->QueryRevertStatus(This,pwszVolume,ppAsync); 2963 } 2964 /*** IVssBackupComponentsEx methods ***/ 2965 static inline HRESULT IVssBackupComponentsEx2_GetWriterMetadataEx(IVssBackupComponentsEx2* This,UINT iWriter,VSS_ID *pidInstance,IVssExamineWriterMetadataEx **ppMetadata) { 2966 return This->lpVtbl->GetWriterMetadataEx(This,iWriter,pidInstance,ppMetadata); 2967 } 2968 static inline HRESULT IVssBackupComponentsEx2_SetSelectedForRestoreEx(IVssBackupComponentsEx2* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,boolean bSelectedForRestore,VSS_ID instanceId) { 2969 return This->lpVtbl->SetSelectedForRestoreEx(This,writerId,ct,wszLogicalPath,wszComponentName,bSelectedForRestore,instanceId); 2970 } 2971 /*** IVssBackupComponentsEx2 methods ***/ 2972 static inline HRESULT IVssBackupComponentsEx2_UnexposeSnapshot(IVssBackupComponentsEx2* This,VSS_ID snapshotId) { 2973 return This->lpVtbl->UnexposeSnapshot(This,snapshotId); 2974 } 2975 static inline HRESULT IVssBackupComponentsEx2_SetAuthoritativeRestore(IVssBackupComponentsEx2* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,boolean bAuth) { 2976 return This->lpVtbl->SetAuthoritativeRestore(This,writerId,ct,wszLogicalPath,wszComponentName,bAuth); 2977 } 2978 static inline HRESULT IVssBackupComponentsEx2_SetRollForward(IVssBackupComponentsEx2* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,VSS_ROLLFORWARD_TYPE rollType,LPCWSTR wszRollForwardPoint) { 2979 return This->lpVtbl->SetRollForward(This,writerId,ct,wszLogicalPath,wszComponentName,rollType,wszRollForwardPoint); 2980 } 2981 static inline HRESULT IVssBackupComponentsEx2_SetRestoreName(IVssBackupComponentsEx2* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszRestoreName) { 2982 return This->lpVtbl->SetRestoreName(This,writerId,ct,wszLogicalPath,wszComponentName,wszRestoreName); 2983 } 2984 static inline HRESULT IVssBackupComponentsEx2_BreakSnapshotSetEx(IVssBackupComponentsEx2* This,VSS_ID SnapshotSetID,DWORD dwBreakFlags,IVssAsync **ppAsync) { 2985 return This->lpVtbl->BreakSnapshotSetEx(This,SnapshotSetID,dwBreakFlags,ppAsync); 2986 } 2987 static inline HRESULT IVssBackupComponentsEx2_PreFastRecovery(IVssBackupComponentsEx2* This,VSS_ID SnapshotSetID,DWORD dwPreFastRecoveryFlags,IVssAsync **ppAsync) { 2988 return This->lpVtbl->PreFastRecovery(This,SnapshotSetID,dwPreFastRecoveryFlags,ppAsync); 2989 } 2990 static inline HRESULT IVssBackupComponentsEx2_FastRecovery(IVssBackupComponentsEx2* This,VSS_ID SnapshotSetID,DWORD dwFastRecoveryFlags,IVssAsync **ppAsync) { 2991 return This->lpVtbl->FastRecovery(This,SnapshotSetID,dwFastRecoveryFlags,ppAsync); 2992 } 2993 #endif 2994 #endif 2995 2996 #endif 2997 2998 2999 #endif /* __IVssBackupComponentsEx2_INTERFACE_DEFINED__ */ 3000 3001 /***************************************************************************** 3002 * IVssBackupComponentsEx3 interface 3003 */ 3004 #ifndef __IVssBackupComponentsEx3_INTERFACE_DEFINED__ 3005 #define __IVssBackupComponentsEx3_INTERFACE_DEFINED__ 3006 3007 DEFINE_GUID(IID_IVssBackupComponentsEx3, 0xc191bfbc, 0xb602, 0x4675, 0x8b,0xd1, 0x67,0xd6,0x42,0xf5,0x29,0xd5); 3008 #if defined(__cplusplus) && !defined(CINTERFACE) 3009 MIDL_INTERFACE("c191bfbc-b602-4675-8bd1-67d642f529d5") 3010 IVssBackupComponentsEx3 : public IVssBackupComponentsEx2 3011 { 3012 virtual HRESULT STDMETHODCALLTYPE GetWriterStatusEx( 3013 UINT iWriter, 3014 VSS_ID *pidInstance, 3015 VSS_ID *pidWriter, 3016 BSTR *pbstrWriter, 3017 VSS_WRITER_STATE *pnStatus, 3018 HRESULT *phrFailureWriter, 3019 HRESULT *phrApplication = 0, 3020 BSTR *pbstrApplicationMessage = 0) = 0; 3021 3022 virtual HRESULT STDMETHODCALLTYPE AddSnapshotToRecoverySet( 3023 VSS_ID snapshotId, 3024 DWORD dwFlags, 3025 VSS_PWSZ pwszDestinationVolume = 0) = 0; 3026 3027 virtual HRESULT STDMETHODCALLTYPE RecoverSet( 3028 DWORD dwFlags, 3029 IVssAsync **ppAsync) = 0; 3030 3031 virtual HRESULT STDMETHODCALLTYPE GetSessionId( 3032 VSS_ID *idSession) = 0; 3033 3034 }; 3035 #ifdef __CRT_UUID_DECL 3036 __CRT_UUID_DECL(IVssBackupComponentsEx3, 0xc191bfbc, 0xb602, 0x4675, 0x8b,0xd1, 0x67,0xd6,0x42,0xf5,0x29,0xd5) 3037 #endif 3038 #else 3039 typedef struct IVssBackupComponentsEx3Vtbl { 3040 BEGIN_INTERFACE 3041 3042 /*** IUnknown methods ***/ 3043 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 3044 IVssBackupComponentsEx3 *This, 3045 REFIID riid, 3046 void **ppvObject); 3047 3048 ULONG (STDMETHODCALLTYPE *AddRef)( 3049 IVssBackupComponentsEx3 *This); 3050 3051 ULONG (STDMETHODCALLTYPE *Release)( 3052 IVssBackupComponentsEx3 *This); 3053 3054 /*** IVssBackupComponents methods ***/ 3055 HRESULT (STDMETHODCALLTYPE *GetWriterComponentsCount)( 3056 IVssBackupComponentsEx3 *This, 3057 UINT *pcComponents); 3058 3059 HRESULT (STDMETHODCALLTYPE *GetWriterComponents)( 3060 IVssBackupComponentsEx3 *This, 3061 UINT iWriter, 3062 IVssWriterComponentsExt **ppWriter); 3063 3064 HRESULT (STDMETHODCALLTYPE *InitializeForBackup)( 3065 IVssBackupComponentsEx3 *This, 3066 BSTR bstrXML); 3067 3068 HRESULT (STDMETHODCALLTYPE *SetBackupState)( 3069 IVssBackupComponentsEx3 *This, 3070 boolean bSelectComponents, 3071 boolean bBackupBootableSystemState, 3072 VSS_BACKUP_TYPE backupType, 3073 boolean bPartialFileSupport); 3074 3075 HRESULT (STDMETHODCALLTYPE *InitializeForRestore)( 3076 IVssBackupComponentsEx3 *This, 3077 BSTR bstrXML); 3078 3079 HRESULT (STDMETHODCALLTYPE *SetRestoreState)( 3080 IVssBackupComponentsEx3 *This, 3081 VSS_RESTORE_TYPE restoreType); 3082 3083 HRESULT (STDMETHODCALLTYPE *GatherWriterMetadata)( 3084 IVssBackupComponentsEx3 *This, 3085 IVssAsync **pAsync); 3086 3087 HRESULT (STDMETHODCALLTYPE *GetWriterMetadataCount)( 3088 IVssBackupComponentsEx3 *This, 3089 UINT *pcWriters); 3090 3091 HRESULT (STDMETHODCALLTYPE *GetWriterMetadata)( 3092 IVssBackupComponentsEx3 *This, 3093 UINT iWriter, 3094 VSS_ID *pidInstance, 3095 IVssExamineWriterMetadata **ppMetadata); 3096 3097 HRESULT (STDMETHODCALLTYPE *FreeWriterMetadata)( 3098 IVssBackupComponentsEx3 *This); 3099 3100 HRESULT (STDMETHODCALLTYPE *AddComponent)( 3101 IVssBackupComponentsEx3 *This, 3102 VSS_ID instanceId, 3103 VSS_ID writerId, 3104 VSS_COMPONENT_TYPE ct, 3105 LPCWSTR wszLogicalPath, 3106 LPCWSTR wszComponentName); 3107 3108 HRESULT (STDMETHODCALLTYPE *PrepareForBackup)( 3109 IVssBackupComponentsEx3 *This, 3110 IVssAsync **ppAsync); 3111 3112 HRESULT (STDMETHODCALLTYPE *AbortBackup)( 3113 IVssBackupComponentsEx3 *This); 3114 3115 HRESULT (STDMETHODCALLTYPE *GatherWriterStatus)( 3116 IVssBackupComponentsEx3 *This, 3117 IVssAsync **pAsync); 3118 3119 HRESULT (STDMETHODCALLTYPE *GetWriterStatusCount)( 3120 IVssBackupComponentsEx3 *This, 3121 UINT *pcWriters); 3122 3123 HRESULT (STDMETHODCALLTYPE *FreeWriterStatus)( 3124 IVssBackupComponentsEx3 *This); 3125 3126 HRESULT (STDMETHODCALLTYPE *GetWriterStatus)( 3127 IVssBackupComponentsEx3 *This, 3128 UINT iWriter, 3129 VSS_ID *pidInstance, 3130 VSS_ID *pidWriter, 3131 BSTR *pbstrWriter, 3132 VSS_WRITER_STATE *pnStatus, 3133 HRESULT *phResultFailure); 3134 3135 HRESULT (STDMETHODCALLTYPE *SetBackupSucceeded)( 3136 IVssBackupComponentsEx3 *This, 3137 VSS_ID instanceId, 3138 VSS_ID writerId, 3139 VSS_COMPONENT_TYPE ct, 3140 LPCWSTR wszLogicalPath, 3141 LPCWSTR wszComponentName, 3142 boolean bSucceded); 3143 3144 HRESULT (STDMETHODCALLTYPE *SetBackupOptions)( 3145 IVssBackupComponentsEx3 *This, 3146 VSS_ID writerId, 3147 VSS_COMPONENT_TYPE ct, 3148 LPCWSTR wszLogicalPath, 3149 LPCWSTR wszComponentName, 3150 LPCWSTR wszBackupOptions); 3151 3152 HRESULT (STDMETHODCALLTYPE *SetSelectedForRestore)( 3153 IVssBackupComponentsEx3 *This, 3154 VSS_ID writerId, 3155 VSS_COMPONENT_TYPE ct, 3156 LPCWSTR wszLogicalPath, 3157 LPCWSTR wszComponentName, 3158 boolean bSelectedForRestore); 3159 3160 HRESULT (STDMETHODCALLTYPE *SetRestoreOptions)( 3161 IVssBackupComponentsEx3 *This, 3162 VSS_ID writerId, 3163 VSS_COMPONENT_TYPE ct, 3164 LPCWSTR wszLogicalPath, 3165 LPCWSTR wszComponentName, 3166 LPCWSTR wszRestoreOptions); 3167 3168 HRESULT (STDMETHODCALLTYPE *SetAdditionalRestores)( 3169 IVssBackupComponentsEx3 *This, 3170 VSS_ID writerId, 3171 VSS_COMPONENT_TYPE ct, 3172 LPCWSTR wszLogicalPath, 3173 LPCWSTR wszComponentName, 3174 boolean bAdditionalRestores); 3175 3176 HRESULT (STDMETHODCALLTYPE *SetPreviousBackupStamp)( 3177 IVssBackupComponentsEx3 *This, 3178 VSS_ID writerId, 3179 VSS_COMPONENT_TYPE ct, 3180 LPCWSTR wszLogicalPath, 3181 LPCWSTR wszComponentName, 3182 LPCWSTR wszPreviousBackupStamp); 3183 3184 HRESULT (STDMETHODCALLTYPE *SaveAsXML)( 3185 IVssBackupComponentsEx3 *This, 3186 BSTR *pbstrXML); 3187 3188 HRESULT (STDMETHODCALLTYPE *BackupComplete)( 3189 IVssBackupComponentsEx3 *This, 3190 IVssAsync **ppAsync); 3191 3192 HRESULT (STDMETHODCALLTYPE *AddAlternativeLocationMapping)( 3193 IVssBackupComponentsEx3 *This, 3194 VSS_ID writerId, 3195 VSS_COMPONENT_TYPE componentType, 3196 LPCWSTR wszLogicalPath, 3197 LPCWSTR wszComponentName, 3198 LPCWSTR wszPath, 3199 LPCWSTR wszFilespec, 3200 boolean bRecursive, 3201 LPCWSTR wszDestination); 3202 3203 HRESULT (STDMETHODCALLTYPE *AddRestoreSubcomponent)( 3204 IVssBackupComponentsEx3 *This, 3205 VSS_ID writerId, 3206 VSS_COMPONENT_TYPE componentType, 3207 LPCWSTR wszLogicalPath, 3208 LPCWSTR wszComponentName, 3209 LPCWSTR wszSubComponentLogicalPath, 3210 LPCWSTR wszSubComponentName, 3211 boolean bRepair); 3212 3213 HRESULT (STDMETHODCALLTYPE *SetFileRestoreStatus)( 3214 IVssBackupComponentsEx3 *This, 3215 VSS_ID writerId, 3216 VSS_COMPONENT_TYPE ct, 3217 LPCWSTR wszLogicalPath, 3218 LPCWSTR wszComponentName, 3219 VSS_FILE_RESTORE_STATUS status); 3220 3221 HRESULT (STDMETHODCALLTYPE *AddNewTarget)( 3222 IVssBackupComponentsEx3 *This, 3223 VSS_ID writerId, 3224 VSS_COMPONENT_TYPE ct, 3225 LPCWSTR wszLogicalPath, 3226 LPCWSTR wszComponentName, 3227 LPCWSTR wszPath, 3228 LPCWSTR wszFileName, 3229 boolean bRecursive, 3230 LPCWSTR wszAlternatePath); 3231 3232 HRESULT (STDMETHODCALLTYPE *SetRangesFilePath)( 3233 IVssBackupComponentsEx3 *This, 3234 VSS_ID writerId, 3235 VSS_COMPONENT_TYPE ct, 3236 LPCWSTR wszLogicalPath, 3237 LPCWSTR wszComponentName, 3238 UINT iPartialFile, 3239 LPCWSTR wszRangesFile); 3240 3241 HRESULT (STDMETHODCALLTYPE *PreRestore)( 3242 IVssBackupComponentsEx3 *This, 3243 IVssAsync **ppAsync); 3244 3245 HRESULT (STDMETHODCALLTYPE *PostRestore)( 3246 IVssBackupComponentsEx3 *This, 3247 IVssAsync **ppAsync); 3248 3249 HRESULT (STDMETHODCALLTYPE *SetContext)( 3250 IVssBackupComponentsEx3 *This, 3251 LONG lContext); 3252 3253 HRESULT (STDMETHODCALLTYPE *StartSnapshotSet)( 3254 IVssBackupComponentsEx3 *This, 3255 VSS_ID *pSnapshotSetId); 3256 3257 HRESULT (STDMETHODCALLTYPE *AddToSnapshotSet)( 3258 IVssBackupComponentsEx3 *This, 3259 VSS_PWSZ pwszVolumeName, 3260 VSS_ID ProviderId, 3261 VSS_ID *pidSnapshot); 3262 3263 HRESULT (STDMETHODCALLTYPE *DoSnapshotSet)( 3264 IVssBackupComponentsEx3 *This, 3265 IVssAsync **ppAsync); 3266 3267 HRESULT (STDMETHODCALLTYPE *DeleteSnapshots)( 3268 IVssBackupComponentsEx3 *This, 3269 VSS_ID SourceObjectId, 3270 VSS_OBJECT_TYPE eSourceObjectType, 3271 WINBOOL bForceDelete, 3272 LONG *plDeletedSnapshots, 3273 VSS_ID *pNondeletedSnapshotID); 3274 3275 HRESULT (STDMETHODCALLTYPE *ImportSnapshots)( 3276 IVssBackupComponentsEx3 *This, 3277 IVssAsync **ppAsync); 3278 3279 HRESULT (STDMETHODCALLTYPE *BreakSnapshotSet)( 3280 IVssBackupComponentsEx3 *This, 3281 VSS_ID SnapshotSetId); 3282 3283 HRESULT (STDMETHODCALLTYPE *GetSnapshotProperties)( 3284 IVssBackupComponentsEx3 *This, 3285 VSS_ID SnapshotId, 3286 VSS_SNAPSHOT_PROP *pProp); 3287 3288 HRESULT (STDMETHODCALLTYPE *Query)( 3289 IVssBackupComponentsEx3 *This, 3290 VSS_ID QueriedObjectId, 3291 VSS_OBJECT_TYPE eQueriedObjectType, 3292 VSS_OBJECT_TYPE eReturnedObjectsType, 3293 IVssEnumObject **ppEnum); 3294 3295 HRESULT (STDMETHODCALLTYPE *IsVolumeSupported)( 3296 IVssBackupComponentsEx3 *This, 3297 VSS_ID ProviderId, 3298 VSS_PWSZ pwszVolumeName, 3299 WINBOOL *pbSupportedByThisProvider); 3300 3301 HRESULT (STDMETHODCALLTYPE *DisableWriterClasses)( 3302 IVssBackupComponentsEx3 *This, 3303 const VSS_ID *rgWriterClassId, 3304 UINT cClassId); 3305 3306 HRESULT (STDMETHODCALLTYPE *EnableWriterClasses)( 3307 IVssBackupComponentsEx3 *This, 3308 const VSS_ID *rgWriterClassId, 3309 UINT cClassId); 3310 3311 HRESULT (STDMETHODCALLTYPE *DisableWriterInstances)( 3312 IVssBackupComponentsEx3 *This, 3313 const VSS_ID *rgWriterInstanceId, 3314 UINT cInstanceId); 3315 3316 HRESULT (STDMETHODCALLTYPE *ExposeSnapshot)( 3317 IVssBackupComponentsEx3 *This, 3318 VSS_ID SnapshotId, 3319 VSS_PWSZ wszPathFromRoot, 3320 LONG lAttributes, 3321 VSS_PWSZ wszExpose, 3322 VSS_PWSZ *pwszExposed); 3323 3324 HRESULT (STDMETHODCALLTYPE *RevertToSnapshot)( 3325 IVssBackupComponentsEx3 *This, 3326 VSS_ID SnapshotId, 3327 WINBOOL bForceDismount); 3328 3329 HRESULT (STDMETHODCALLTYPE *QueryRevertStatus)( 3330 IVssBackupComponentsEx3 *This, 3331 VSS_PWSZ pwszVolume, 3332 IVssAsync **ppAsync); 3333 3334 /*** IVssBackupComponentsEx methods ***/ 3335 HRESULT (STDMETHODCALLTYPE *GetWriterMetadataEx)( 3336 IVssBackupComponentsEx3 *This, 3337 UINT iWriter, 3338 VSS_ID *pidInstance, 3339 IVssExamineWriterMetadataEx **ppMetadata); 3340 3341 HRESULT (STDMETHODCALLTYPE *SetSelectedForRestoreEx)( 3342 IVssBackupComponentsEx3 *This, 3343 VSS_ID writerId, 3344 VSS_COMPONENT_TYPE ct, 3345 LPCWSTR wszLogicalPath, 3346 LPCWSTR wszComponentName, 3347 boolean bSelectedForRestore, 3348 VSS_ID instanceId); 3349 3350 /*** IVssBackupComponentsEx2 methods ***/ 3351 HRESULT (STDMETHODCALLTYPE *UnexposeSnapshot)( 3352 IVssBackupComponentsEx3 *This, 3353 VSS_ID snapshotId); 3354 3355 HRESULT (STDMETHODCALLTYPE *SetAuthoritativeRestore)( 3356 IVssBackupComponentsEx3 *This, 3357 VSS_ID writerId, 3358 VSS_COMPONENT_TYPE ct, 3359 LPCWSTR wszLogicalPath, 3360 LPCWSTR wszComponentName, 3361 boolean bAuth); 3362 3363 HRESULT (STDMETHODCALLTYPE *SetRollForward)( 3364 IVssBackupComponentsEx3 *This, 3365 VSS_ID writerId, 3366 VSS_COMPONENT_TYPE ct, 3367 LPCWSTR wszLogicalPath, 3368 LPCWSTR wszComponentName, 3369 VSS_ROLLFORWARD_TYPE rollType, 3370 LPCWSTR wszRollForwardPoint); 3371 3372 HRESULT (STDMETHODCALLTYPE *SetRestoreName)( 3373 IVssBackupComponentsEx3 *This, 3374 VSS_ID writerId, 3375 VSS_COMPONENT_TYPE ct, 3376 LPCWSTR wszLogicalPath, 3377 LPCWSTR wszComponentName, 3378 LPCWSTR wszRestoreName); 3379 3380 HRESULT (STDMETHODCALLTYPE *BreakSnapshotSetEx)( 3381 IVssBackupComponentsEx3 *This, 3382 VSS_ID SnapshotSetID, 3383 DWORD dwBreakFlags, 3384 IVssAsync **ppAsync); 3385 3386 HRESULT (STDMETHODCALLTYPE *PreFastRecovery)( 3387 IVssBackupComponentsEx3 *This, 3388 VSS_ID SnapshotSetID, 3389 DWORD dwPreFastRecoveryFlags, 3390 IVssAsync **ppAsync); 3391 3392 HRESULT (STDMETHODCALLTYPE *FastRecovery)( 3393 IVssBackupComponentsEx3 *This, 3394 VSS_ID SnapshotSetID, 3395 DWORD dwFastRecoveryFlags, 3396 IVssAsync **ppAsync); 3397 3398 /*** IVssBackupComponentsEx3 methods ***/ 3399 HRESULT (STDMETHODCALLTYPE *GetWriterStatusEx)( 3400 IVssBackupComponentsEx3 *This, 3401 UINT iWriter, 3402 VSS_ID *pidInstance, 3403 VSS_ID *pidWriter, 3404 BSTR *pbstrWriter, 3405 VSS_WRITER_STATE *pnStatus, 3406 HRESULT *phrFailureWriter, 3407 HRESULT *phrApplication, 3408 BSTR *pbstrApplicationMessage); 3409 3410 HRESULT (STDMETHODCALLTYPE *AddSnapshotToRecoverySet)( 3411 IVssBackupComponentsEx3 *This, 3412 VSS_ID snapshotId, 3413 DWORD dwFlags, 3414 VSS_PWSZ pwszDestinationVolume); 3415 3416 HRESULT (STDMETHODCALLTYPE *RecoverSet)( 3417 IVssBackupComponentsEx3 *This, 3418 DWORD dwFlags, 3419 IVssAsync **ppAsync); 3420 3421 HRESULT (STDMETHODCALLTYPE *GetSessionId)( 3422 IVssBackupComponentsEx3 *This, 3423 VSS_ID *idSession); 3424 3425 END_INTERFACE 3426 } IVssBackupComponentsEx3Vtbl; 3427 3428 interface IVssBackupComponentsEx3 { 3429 CONST_VTBL IVssBackupComponentsEx3Vtbl* lpVtbl; 3430 }; 3431 3432 #ifdef COBJMACROS 3433 #ifndef WIDL_C_INLINE_WRAPPERS 3434 /*** IUnknown methods ***/ 3435 #define IVssBackupComponentsEx3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 3436 #define IVssBackupComponentsEx3_AddRef(This) (This)->lpVtbl->AddRef(This) 3437 #define IVssBackupComponentsEx3_Release(This) (This)->lpVtbl->Release(This) 3438 /*** IVssBackupComponents methods ***/ 3439 #define IVssBackupComponentsEx3_GetWriterComponentsCount(This,pcComponents) (This)->lpVtbl->GetWriterComponentsCount(This,pcComponents) 3440 #define IVssBackupComponentsEx3_GetWriterComponents(This,iWriter,ppWriter) (This)->lpVtbl->GetWriterComponents(This,iWriter,ppWriter) 3441 #define IVssBackupComponentsEx3_InitializeForBackup(This,bstrXML) (This)->lpVtbl->InitializeForBackup(This,bstrXML) 3442 #define IVssBackupComponentsEx3_SetBackupState(This,bSelectComponents,bBackupBootableSystemState,backupType,bPartialFileSupport) (This)->lpVtbl->SetBackupState(This,bSelectComponents,bBackupBootableSystemState,backupType,bPartialFileSupport) 3443 #define IVssBackupComponentsEx3_InitializeForRestore(This,bstrXML) (This)->lpVtbl->InitializeForRestore(This,bstrXML) 3444 #define IVssBackupComponentsEx3_SetRestoreState(This,restoreType) (This)->lpVtbl->SetRestoreState(This,restoreType) 3445 #define IVssBackupComponentsEx3_GatherWriterMetadata(This,pAsync) (This)->lpVtbl->GatherWriterMetadata(This,pAsync) 3446 #define IVssBackupComponentsEx3_GetWriterMetadataCount(This,pcWriters) (This)->lpVtbl->GetWriterMetadataCount(This,pcWriters) 3447 #define IVssBackupComponentsEx3_GetWriterMetadata(This,iWriter,pidInstance,ppMetadata) (This)->lpVtbl->GetWriterMetadata(This,iWriter,pidInstance,ppMetadata) 3448 #define IVssBackupComponentsEx3_FreeWriterMetadata(This) (This)->lpVtbl->FreeWriterMetadata(This) 3449 #define IVssBackupComponentsEx3_AddComponent(This,instanceId,writerId,ct,wszLogicalPath,wszComponentName) (This)->lpVtbl->AddComponent(This,instanceId,writerId,ct,wszLogicalPath,wszComponentName) 3450 #define IVssBackupComponentsEx3_PrepareForBackup(This,ppAsync) (This)->lpVtbl->PrepareForBackup(This,ppAsync) 3451 #define IVssBackupComponentsEx3_AbortBackup(This) (This)->lpVtbl->AbortBackup(This) 3452 #define IVssBackupComponentsEx3_GatherWriterStatus(This,pAsync) (This)->lpVtbl->GatherWriterStatus(This,pAsync) 3453 #define IVssBackupComponentsEx3_GetWriterStatusCount(This,pcWriters) (This)->lpVtbl->GetWriterStatusCount(This,pcWriters) 3454 #define IVssBackupComponentsEx3_FreeWriterStatus(This) (This)->lpVtbl->FreeWriterStatus(This) 3455 #define IVssBackupComponentsEx3_GetWriterStatus(This,iWriter,pidInstance,pidWriter,pbstrWriter,pnStatus,phResultFailure) (This)->lpVtbl->GetWriterStatus(This,iWriter,pidInstance,pidWriter,pbstrWriter,pnStatus,phResultFailure) 3456 #define IVssBackupComponentsEx3_SetBackupSucceeded(This,instanceId,writerId,ct,wszLogicalPath,wszComponentName,bSucceded) (This)->lpVtbl->SetBackupSucceeded(This,instanceId,writerId,ct,wszLogicalPath,wszComponentName,bSucceded) 3457 #define IVssBackupComponentsEx3_SetBackupOptions(This,writerId,ct,wszLogicalPath,wszComponentName,wszBackupOptions) (This)->lpVtbl->SetBackupOptions(This,writerId,ct,wszLogicalPath,wszComponentName,wszBackupOptions) 3458 #define IVssBackupComponentsEx3_SetSelectedForRestore(This,writerId,ct,wszLogicalPath,wszComponentName,bSelectedForRestore) (This)->lpVtbl->SetSelectedForRestore(This,writerId,ct,wszLogicalPath,wszComponentName,bSelectedForRestore) 3459 #define IVssBackupComponentsEx3_SetRestoreOptions(This,writerId,ct,wszLogicalPath,wszComponentName,wszRestoreOptions) (This)->lpVtbl->SetRestoreOptions(This,writerId,ct,wszLogicalPath,wszComponentName,wszRestoreOptions) 3460 #define IVssBackupComponentsEx3_SetAdditionalRestores(This,writerId,ct,wszLogicalPath,wszComponentName,bAdditionalRestores) (This)->lpVtbl->SetAdditionalRestores(This,writerId,ct,wszLogicalPath,wszComponentName,bAdditionalRestores) 3461 #define IVssBackupComponentsEx3_SetPreviousBackupStamp(This,writerId,ct,wszLogicalPath,wszComponentName,wszPreviousBackupStamp) (This)->lpVtbl->SetPreviousBackupStamp(This,writerId,ct,wszLogicalPath,wszComponentName,wszPreviousBackupStamp) 3462 #define IVssBackupComponentsEx3_SaveAsXML(This,pbstrXML) (This)->lpVtbl->SaveAsXML(This,pbstrXML) 3463 #define IVssBackupComponentsEx3_BackupComplete(This,ppAsync) (This)->lpVtbl->BackupComplete(This,ppAsync) 3464 #define IVssBackupComponentsEx3_AddAlternativeLocationMapping(This,writerId,componentType,wszLogicalPath,wszComponentName,wszPath,wszFilespec,bRecursive,wszDestination) (This)->lpVtbl->AddAlternativeLocationMapping(This,writerId,componentType,wszLogicalPath,wszComponentName,wszPath,wszFilespec,bRecursive,wszDestination) 3465 #define IVssBackupComponentsEx3_AddRestoreSubcomponent(This,writerId,componentType,wszLogicalPath,wszComponentName,wszSubComponentLogicalPath,wszSubComponentName,bRepair) (This)->lpVtbl->AddRestoreSubcomponent(This,writerId,componentType,wszLogicalPath,wszComponentName,wszSubComponentLogicalPath,wszSubComponentName,bRepair) 3466 #define IVssBackupComponentsEx3_SetFileRestoreStatus(This,writerId,ct,wszLogicalPath,wszComponentName,status) (This)->lpVtbl->SetFileRestoreStatus(This,writerId,ct,wszLogicalPath,wszComponentName,status) 3467 #define IVssBackupComponentsEx3_AddNewTarget(This,writerId,ct,wszLogicalPath,wszComponentName,wszPath,wszFileName,bRecursive,wszAlternatePath) (This)->lpVtbl->AddNewTarget(This,writerId,ct,wszLogicalPath,wszComponentName,wszPath,wszFileName,bRecursive,wszAlternatePath) 3468 #define IVssBackupComponentsEx3_SetRangesFilePath(This,writerId,ct,wszLogicalPath,wszComponentName,iPartialFile,wszRangesFile) (This)->lpVtbl->SetRangesFilePath(This,writerId,ct,wszLogicalPath,wszComponentName,iPartialFile,wszRangesFile) 3469 #define IVssBackupComponentsEx3_PreRestore(This,ppAsync) (This)->lpVtbl->PreRestore(This,ppAsync) 3470 #define IVssBackupComponentsEx3_PostRestore(This,ppAsync) (This)->lpVtbl->PostRestore(This,ppAsync) 3471 #define IVssBackupComponentsEx3_SetContext(This,lContext) (This)->lpVtbl->SetContext(This,lContext) 3472 #define IVssBackupComponentsEx3_StartSnapshotSet(This,pSnapshotSetId) (This)->lpVtbl->StartSnapshotSet(This,pSnapshotSetId) 3473 #define IVssBackupComponentsEx3_AddToSnapshotSet(This,pwszVolumeName,ProviderId,pidSnapshot) (This)->lpVtbl->AddToSnapshotSet(This,pwszVolumeName,ProviderId,pidSnapshot) 3474 #define IVssBackupComponentsEx3_DoSnapshotSet(This,ppAsync) (This)->lpVtbl->DoSnapshotSet(This,ppAsync) 3475 #define IVssBackupComponentsEx3_DeleteSnapshots(This,SourceObjectId,eSourceObjectType,bForceDelete,plDeletedSnapshots,pNondeletedSnapshotID) (This)->lpVtbl->DeleteSnapshots(This,SourceObjectId,eSourceObjectType,bForceDelete,plDeletedSnapshots,pNondeletedSnapshotID) 3476 #define IVssBackupComponentsEx3_ImportSnapshots(This,ppAsync) (This)->lpVtbl->ImportSnapshots(This,ppAsync) 3477 #define IVssBackupComponentsEx3_BreakSnapshotSet(This,SnapshotSetId) (This)->lpVtbl->BreakSnapshotSet(This,SnapshotSetId) 3478 #define IVssBackupComponentsEx3_GetSnapshotProperties(This,SnapshotId,pProp) (This)->lpVtbl->GetSnapshotProperties(This,SnapshotId,pProp) 3479 #define IVssBackupComponentsEx3_Query(This,QueriedObjectId,eQueriedObjectType,eReturnedObjectsType,ppEnum) (This)->lpVtbl->Query(This,QueriedObjectId,eQueriedObjectType,eReturnedObjectsType,ppEnum) 3480 #define IVssBackupComponentsEx3_IsVolumeSupported(This,ProviderId,pwszVolumeName,pbSupportedByThisProvider) (This)->lpVtbl->IsVolumeSupported(This,ProviderId,pwszVolumeName,pbSupportedByThisProvider) 3481 #define IVssBackupComponentsEx3_DisableWriterClasses(This,rgWriterClassId,cClassId) (This)->lpVtbl->DisableWriterClasses(This,rgWriterClassId,cClassId) 3482 #define IVssBackupComponentsEx3_EnableWriterClasses(This,rgWriterClassId,cClassId) (This)->lpVtbl->EnableWriterClasses(This,rgWriterClassId,cClassId) 3483 #define IVssBackupComponentsEx3_DisableWriterInstances(This,rgWriterInstanceId,cInstanceId) (This)->lpVtbl->DisableWriterInstances(This,rgWriterInstanceId,cInstanceId) 3484 #define IVssBackupComponentsEx3_ExposeSnapshot(This,SnapshotId,wszPathFromRoot,lAttributes,wszExpose,pwszExposed) (This)->lpVtbl->ExposeSnapshot(This,SnapshotId,wszPathFromRoot,lAttributes,wszExpose,pwszExposed) 3485 #define IVssBackupComponentsEx3_RevertToSnapshot(This,SnapshotId,bForceDismount) (This)->lpVtbl->RevertToSnapshot(This,SnapshotId,bForceDismount) 3486 #define IVssBackupComponentsEx3_QueryRevertStatus(This,pwszVolume,ppAsync) (This)->lpVtbl->QueryRevertStatus(This,pwszVolume,ppAsync) 3487 /*** IVssBackupComponentsEx methods ***/ 3488 #define IVssBackupComponentsEx3_GetWriterMetadataEx(This,iWriter,pidInstance,ppMetadata) (This)->lpVtbl->GetWriterMetadataEx(This,iWriter,pidInstance,ppMetadata) 3489 #define IVssBackupComponentsEx3_SetSelectedForRestoreEx(This,writerId,ct,wszLogicalPath,wszComponentName,bSelectedForRestore,instanceId) (This)->lpVtbl->SetSelectedForRestoreEx(This,writerId,ct,wszLogicalPath,wszComponentName,bSelectedForRestore,instanceId) 3490 /*** IVssBackupComponentsEx2 methods ***/ 3491 #define IVssBackupComponentsEx3_UnexposeSnapshot(This,snapshotId) (This)->lpVtbl->UnexposeSnapshot(This,snapshotId) 3492 #define IVssBackupComponentsEx3_SetAuthoritativeRestore(This,writerId,ct,wszLogicalPath,wszComponentName,bAuth) (This)->lpVtbl->SetAuthoritativeRestore(This,writerId,ct,wszLogicalPath,wszComponentName,bAuth) 3493 #define IVssBackupComponentsEx3_SetRollForward(This,writerId,ct,wszLogicalPath,wszComponentName,rollType,wszRollForwardPoint) (This)->lpVtbl->SetRollForward(This,writerId,ct,wszLogicalPath,wszComponentName,rollType,wszRollForwardPoint) 3494 #define IVssBackupComponentsEx3_SetRestoreName(This,writerId,ct,wszLogicalPath,wszComponentName,wszRestoreName) (This)->lpVtbl->SetRestoreName(This,writerId,ct,wszLogicalPath,wszComponentName,wszRestoreName) 3495 #define IVssBackupComponentsEx3_BreakSnapshotSetEx(This,SnapshotSetID,dwBreakFlags,ppAsync) (This)->lpVtbl->BreakSnapshotSetEx(This,SnapshotSetID,dwBreakFlags,ppAsync) 3496 #define IVssBackupComponentsEx3_PreFastRecovery(This,SnapshotSetID,dwPreFastRecoveryFlags,ppAsync) (This)->lpVtbl->PreFastRecovery(This,SnapshotSetID,dwPreFastRecoveryFlags,ppAsync) 3497 #define IVssBackupComponentsEx3_FastRecovery(This,SnapshotSetID,dwFastRecoveryFlags,ppAsync) (This)->lpVtbl->FastRecovery(This,SnapshotSetID,dwFastRecoveryFlags,ppAsync) 3498 /*** IVssBackupComponentsEx3 methods ***/ 3499 #define IVssBackupComponentsEx3_GetWriterStatusEx(This,iWriter,pidInstance,pidWriter,pbstrWriter,pnStatus,phrFailureWriter,phrApplication,pbstrApplicationMessage) (This)->lpVtbl->GetWriterStatusEx(This,iWriter,pidInstance,pidWriter,pbstrWriter,pnStatus,phrFailureWriter,phrApplication,pbstrApplicationMessage) 3500 #define IVssBackupComponentsEx3_AddSnapshotToRecoverySet(This,snapshotId,dwFlags,pwszDestinationVolume) (This)->lpVtbl->AddSnapshotToRecoverySet(This,snapshotId,dwFlags,pwszDestinationVolume) 3501 #define IVssBackupComponentsEx3_RecoverSet(This,dwFlags,ppAsync) (This)->lpVtbl->RecoverSet(This,dwFlags,ppAsync) 3502 #define IVssBackupComponentsEx3_GetSessionId(This,idSession) (This)->lpVtbl->GetSessionId(This,idSession) 3503 #else 3504 /*** IUnknown methods ***/ 3505 static inline HRESULT IVssBackupComponentsEx3_QueryInterface(IVssBackupComponentsEx3* This,REFIID riid,void **ppvObject) { 3506 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 3507 } 3508 static inline ULONG IVssBackupComponentsEx3_AddRef(IVssBackupComponentsEx3* This) { 3509 return This->lpVtbl->AddRef(This); 3510 } 3511 static inline ULONG IVssBackupComponentsEx3_Release(IVssBackupComponentsEx3* This) { 3512 return This->lpVtbl->Release(This); 3513 } 3514 /*** IVssBackupComponents methods ***/ 3515 static inline HRESULT IVssBackupComponentsEx3_GetWriterComponentsCount(IVssBackupComponentsEx3* This,UINT *pcComponents) { 3516 return This->lpVtbl->GetWriterComponentsCount(This,pcComponents); 3517 } 3518 static inline HRESULT IVssBackupComponentsEx3_GetWriterComponents(IVssBackupComponentsEx3* This,UINT iWriter,IVssWriterComponentsExt **ppWriter) { 3519 return This->lpVtbl->GetWriterComponents(This,iWriter,ppWriter); 3520 } 3521 static inline HRESULT IVssBackupComponentsEx3_InitializeForBackup(IVssBackupComponentsEx3* This,BSTR bstrXML) { 3522 return This->lpVtbl->InitializeForBackup(This,bstrXML); 3523 } 3524 static inline HRESULT IVssBackupComponentsEx3_SetBackupState(IVssBackupComponentsEx3* This,boolean bSelectComponents,boolean bBackupBootableSystemState,VSS_BACKUP_TYPE backupType,boolean bPartialFileSupport) { 3525 return This->lpVtbl->SetBackupState(This,bSelectComponents,bBackupBootableSystemState,backupType,bPartialFileSupport); 3526 } 3527 static inline HRESULT IVssBackupComponentsEx3_InitializeForRestore(IVssBackupComponentsEx3* This,BSTR bstrXML) { 3528 return This->lpVtbl->InitializeForRestore(This,bstrXML); 3529 } 3530 static inline HRESULT IVssBackupComponentsEx3_SetRestoreState(IVssBackupComponentsEx3* This,VSS_RESTORE_TYPE restoreType) { 3531 return This->lpVtbl->SetRestoreState(This,restoreType); 3532 } 3533 static inline HRESULT IVssBackupComponentsEx3_GatherWriterMetadata(IVssBackupComponentsEx3* This,IVssAsync **pAsync) { 3534 return This->lpVtbl->GatherWriterMetadata(This,pAsync); 3535 } 3536 static inline HRESULT IVssBackupComponentsEx3_GetWriterMetadataCount(IVssBackupComponentsEx3* This,UINT *pcWriters) { 3537 return This->lpVtbl->GetWriterMetadataCount(This,pcWriters); 3538 } 3539 static inline HRESULT IVssBackupComponentsEx3_GetWriterMetadata(IVssBackupComponentsEx3* This,UINT iWriter,VSS_ID *pidInstance,IVssExamineWriterMetadata **ppMetadata) { 3540 return This->lpVtbl->GetWriterMetadata(This,iWriter,pidInstance,ppMetadata); 3541 } 3542 static inline HRESULT IVssBackupComponentsEx3_FreeWriterMetadata(IVssBackupComponentsEx3* This) { 3543 return This->lpVtbl->FreeWriterMetadata(This); 3544 } 3545 static inline HRESULT IVssBackupComponentsEx3_AddComponent(IVssBackupComponentsEx3* This,VSS_ID instanceId,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName) { 3546 return This->lpVtbl->AddComponent(This,instanceId,writerId,ct,wszLogicalPath,wszComponentName); 3547 } 3548 static inline HRESULT IVssBackupComponentsEx3_PrepareForBackup(IVssBackupComponentsEx3* This,IVssAsync **ppAsync) { 3549 return This->lpVtbl->PrepareForBackup(This,ppAsync); 3550 } 3551 static inline HRESULT IVssBackupComponentsEx3_AbortBackup(IVssBackupComponentsEx3* This) { 3552 return This->lpVtbl->AbortBackup(This); 3553 } 3554 static inline HRESULT IVssBackupComponentsEx3_GatherWriterStatus(IVssBackupComponentsEx3* This,IVssAsync **pAsync) { 3555 return This->lpVtbl->GatherWriterStatus(This,pAsync); 3556 } 3557 static inline HRESULT IVssBackupComponentsEx3_GetWriterStatusCount(IVssBackupComponentsEx3* This,UINT *pcWriters) { 3558 return This->lpVtbl->GetWriterStatusCount(This,pcWriters); 3559 } 3560 static inline HRESULT IVssBackupComponentsEx3_FreeWriterStatus(IVssBackupComponentsEx3* This) { 3561 return This->lpVtbl->FreeWriterStatus(This); 3562 } 3563 static inline HRESULT IVssBackupComponentsEx3_GetWriterStatus(IVssBackupComponentsEx3* This,UINT iWriter,VSS_ID *pidInstance,VSS_ID *pidWriter,BSTR *pbstrWriter,VSS_WRITER_STATE *pnStatus,HRESULT *phResultFailure) { 3564 return This->lpVtbl->GetWriterStatus(This,iWriter,pidInstance,pidWriter,pbstrWriter,pnStatus,phResultFailure); 3565 } 3566 static inline HRESULT IVssBackupComponentsEx3_SetBackupSucceeded(IVssBackupComponentsEx3* This,VSS_ID instanceId,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,boolean bSucceded) { 3567 return This->lpVtbl->SetBackupSucceeded(This,instanceId,writerId,ct,wszLogicalPath,wszComponentName,bSucceded); 3568 } 3569 static inline HRESULT IVssBackupComponentsEx3_SetBackupOptions(IVssBackupComponentsEx3* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszBackupOptions) { 3570 return This->lpVtbl->SetBackupOptions(This,writerId,ct,wszLogicalPath,wszComponentName,wszBackupOptions); 3571 } 3572 static inline HRESULT IVssBackupComponentsEx3_SetSelectedForRestore(IVssBackupComponentsEx3* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,boolean bSelectedForRestore) { 3573 return This->lpVtbl->SetSelectedForRestore(This,writerId,ct,wszLogicalPath,wszComponentName,bSelectedForRestore); 3574 } 3575 static inline HRESULT IVssBackupComponentsEx3_SetRestoreOptions(IVssBackupComponentsEx3* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszRestoreOptions) { 3576 return This->lpVtbl->SetRestoreOptions(This,writerId,ct,wszLogicalPath,wszComponentName,wszRestoreOptions); 3577 } 3578 static inline HRESULT IVssBackupComponentsEx3_SetAdditionalRestores(IVssBackupComponentsEx3* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,boolean bAdditionalRestores) { 3579 return This->lpVtbl->SetAdditionalRestores(This,writerId,ct,wszLogicalPath,wszComponentName,bAdditionalRestores); 3580 } 3581 static inline HRESULT IVssBackupComponentsEx3_SetPreviousBackupStamp(IVssBackupComponentsEx3* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszPreviousBackupStamp) { 3582 return This->lpVtbl->SetPreviousBackupStamp(This,writerId,ct,wszLogicalPath,wszComponentName,wszPreviousBackupStamp); 3583 } 3584 static inline HRESULT IVssBackupComponentsEx3_SaveAsXML(IVssBackupComponentsEx3* This,BSTR *pbstrXML) { 3585 return This->lpVtbl->SaveAsXML(This,pbstrXML); 3586 } 3587 static inline HRESULT IVssBackupComponentsEx3_BackupComplete(IVssBackupComponentsEx3* This,IVssAsync **ppAsync) { 3588 return This->lpVtbl->BackupComplete(This,ppAsync); 3589 } 3590 static inline HRESULT IVssBackupComponentsEx3_AddAlternativeLocationMapping(IVssBackupComponentsEx3* This,VSS_ID writerId,VSS_COMPONENT_TYPE componentType,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszPath,LPCWSTR wszFilespec,boolean bRecursive,LPCWSTR wszDestination) { 3591 return This->lpVtbl->AddAlternativeLocationMapping(This,writerId,componentType,wszLogicalPath,wszComponentName,wszPath,wszFilespec,bRecursive,wszDestination); 3592 } 3593 static inline HRESULT IVssBackupComponentsEx3_AddRestoreSubcomponent(IVssBackupComponentsEx3* This,VSS_ID writerId,VSS_COMPONENT_TYPE componentType,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszSubComponentLogicalPath,LPCWSTR wszSubComponentName,boolean bRepair) { 3594 return This->lpVtbl->AddRestoreSubcomponent(This,writerId,componentType,wszLogicalPath,wszComponentName,wszSubComponentLogicalPath,wszSubComponentName,bRepair); 3595 } 3596 static inline HRESULT IVssBackupComponentsEx3_SetFileRestoreStatus(IVssBackupComponentsEx3* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,VSS_FILE_RESTORE_STATUS status) { 3597 return This->lpVtbl->SetFileRestoreStatus(This,writerId,ct,wszLogicalPath,wszComponentName,status); 3598 } 3599 static inline HRESULT IVssBackupComponentsEx3_AddNewTarget(IVssBackupComponentsEx3* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszPath,LPCWSTR wszFileName,boolean bRecursive,LPCWSTR wszAlternatePath) { 3600 return This->lpVtbl->AddNewTarget(This,writerId,ct,wszLogicalPath,wszComponentName,wszPath,wszFileName,bRecursive,wszAlternatePath); 3601 } 3602 static inline HRESULT IVssBackupComponentsEx3_SetRangesFilePath(IVssBackupComponentsEx3* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,UINT iPartialFile,LPCWSTR wszRangesFile) { 3603 return This->lpVtbl->SetRangesFilePath(This,writerId,ct,wszLogicalPath,wszComponentName,iPartialFile,wszRangesFile); 3604 } 3605 static inline HRESULT IVssBackupComponentsEx3_PreRestore(IVssBackupComponentsEx3* This,IVssAsync **ppAsync) { 3606 return This->lpVtbl->PreRestore(This,ppAsync); 3607 } 3608 static inline HRESULT IVssBackupComponentsEx3_PostRestore(IVssBackupComponentsEx3* This,IVssAsync **ppAsync) { 3609 return This->lpVtbl->PostRestore(This,ppAsync); 3610 } 3611 static inline HRESULT IVssBackupComponentsEx3_SetContext(IVssBackupComponentsEx3* This,LONG lContext) { 3612 return This->lpVtbl->SetContext(This,lContext); 3613 } 3614 static inline HRESULT IVssBackupComponentsEx3_StartSnapshotSet(IVssBackupComponentsEx3* This,VSS_ID *pSnapshotSetId) { 3615 return This->lpVtbl->StartSnapshotSet(This,pSnapshotSetId); 3616 } 3617 static inline HRESULT IVssBackupComponentsEx3_AddToSnapshotSet(IVssBackupComponentsEx3* This,VSS_PWSZ pwszVolumeName,VSS_ID ProviderId,VSS_ID *pidSnapshot) { 3618 return This->lpVtbl->AddToSnapshotSet(This,pwszVolumeName,ProviderId,pidSnapshot); 3619 } 3620 static inline HRESULT IVssBackupComponentsEx3_DoSnapshotSet(IVssBackupComponentsEx3* This,IVssAsync **ppAsync) { 3621 return This->lpVtbl->DoSnapshotSet(This,ppAsync); 3622 } 3623 static inline HRESULT IVssBackupComponentsEx3_DeleteSnapshots(IVssBackupComponentsEx3* This,VSS_ID SourceObjectId,VSS_OBJECT_TYPE eSourceObjectType,WINBOOL bForceDelete,LONG *plDeletedSnapshots,VSS_ID *pNondeletedSnapshotID) { 3624 return This->lpVtbl->DeleteSnapshots(This,SourceObjectId,eSourceObjectType,bForceDelete,plDeletedSnapshots,pNondeletedSnapshotID); 3625 } 3626 static inline HRESULT IVssBackupComponentsEx3_ImportSnapshots(IVssBackupComponentsEx3* This,IVssAsync **ppAsync) { 3627 return This->lpVtbl->ImportSnapshots(This,ppAsync); 3628 } 3629 static inline HRESULT IVssBackupComponentsEx3_BreakSnapshotSet(IVssBackupComponentsEx3* This,VSS_ID SnapshotSetId) { 3630 return This->lpVtbl->BreakSnapshotSet(This,SnapshotSetId); 3631 } 3632 static inline HRESULT IVssBackupComponentsEx3_GetSnapshotProperties(IVssBackupComponentsEx3* This,VSS_ID SnapshotId,VSS_SNAPSHOT_PROP *pProp) { 3633 return This->lpVtbl->GetSnapshotProperties(This,SnapshotId,pProp); 3634 } 3635 static inline HRESULT IVssBackupComponentsEx3_Query(IVssBackupComponentsEx3* This,VSS_ID QueriedObjectId,VSS_OBJECT_TYPE eQueriedObjectType,VSS_OBJECT_TYPE eReturnedObjectsType,IVssEnumObject **ppEnum) { 3636 return This->lpVtbl->Query(This,QueriedObjectId,eQueriedObjectType,eReturnedObjectsType,ppEnum); 3637 } 3638 static inline HRESULT IVssBackupComponentsEx3_IsVolumeSupported(IVssBackupComponentsEx3* This,VSS_ID ProviderId,VSS_PWSZ pwszVolumeName,WINBOOL *pbSupportedByThisProvider) { 3639 return This->lpVtbl->IsVolumeSupported(This,ProviderId,pwszVolumeName,pbSupportedByThisProvider); 3640 } 3641 static inline HRESULT IVssBackupComponentsEx3_DisableWriterClasses(IVssBackupComponentsEx3* This,const VSS_ID *rgWriterClassId,UINT cClassId) { 3642 return This->lpVtbl->DisableWriterClasses(This,rgWriterClassId,cClassId); 3643 } 3644 static inline HRESULT IVssBackupComponentsEx3_EnableWriterClasses(IVssBackupComponentsEx3* This,const VSS_ID *rgWriterClassId,UINT cClassId) { 3645 return This->lpVtbl->EnableWriterClasses(This,rgWriterClassId,cClassId); 3646 } 3647 static inline HRESULT IVssBackupComponentsEx3_DisableWriterInstances(IVssBackupComponentsEx3* This,const VSS_ID *rgWriterInstanceId,UINT cInstanceId) { 3648 return This->lpVtbl->DisableWriterInstances(This,rgWriterInstanceId,cInstanceId); 3649 } 3650 static inline HRESULT IVssBackupComponentsEx3_ExposeSnapshot(IVssBackupComponentsEx3* This,VSS_ID SnapshotId,VSS_PWSZ wszPathFromRoot,LONG lAttributes,VSS_PWSZ wszExpose,VSS_PWSZ *pwszExposed) { 3651 return This->lpVtbl->ExposeSnapshot(This,SnapshotId,wszPathFromRoot,lAttributes,wszExpose,pwszExposed); 3652 } 3653 static inline HRESULT IVssBackupComponentsEx3_RevertToSnapshot(IVssBackupComponentsEx3* This,VSS_ID SnapshotId,WINBOOL bForceDismount) { 3654 return This->lpVtbl->RevertToSnapshot(This,SnapshotId,bForceDismount); 3655 } 3656 static inline HRESULT IVssBackupComponentsEx3_QueryRevertStatus(IVssBackupComponentsEx3* This,VSS_PWSZ pwszVolume,IVssAsync **ppAsync) { 3657 return This->lpVtbl->QueryRevertStatus(This,pwszVolume,ppAsync); 3658 } 3659 /*** IVssBackupComponentsEx methods ***/ 3660 static inline HRESULT IVssBackupComponentsEx3_GetWriterMetadataEx(IVssBackupComponentsEx3* This,UINT iWriter,VSS_ID *pidInstance,IVssExamineWriterMetadataEx **ppMetadata) { 3661 return This->lpVtbl->GetWriterMetadataEx(This,iWriter,pidInstance,ppMetadata); 3662 } 3663 static inline HRESULT IVssBackupComponentsEx3_SetSelectedForRestoreEx(IVssBackupComponentsEx3* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,boolean bSelectedForRestore,VSS_ID instanceId) { 3664 return This->lpVtbl->SetSelectedForRestoreEx(This,writerId,ct,wszLogicalPath,wszComponentName,bSelectedForRestore,instanceId); 3665 } 3666 /*** IVssBackupComponentsEx2 methods ***/ 3667 static inline HRESULT IVssBackupComponentsEx3_UnexposeSnapshot(IVssBackupComponentsEx3* This,VSS_ID snapshotId) { 3668 return This->lpVtbl->UnexposeSnapshot(This,snapshotId); 3669 } 3670 static inline HRESULT IVssBackupComponentsEx3_SetAuthoritativeRestore(IVssBackupComponentsEx3* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,boolean bAuth) { 3671 return This->lpVtbl->SetAuthoritativeRestore(This,writerId,ct,wszLogicalPath,wszComponentName,bAuth); 3672 } 3673 static inline HRESULT IVssBackupComponentsEx3_SetRollForward(IVssBackupComponentsEx3* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,VSS_ROLLFORWARD_TYPE rollType,LPCWSTR wszRollForwardPoint) { 3674 return This->lpVtbl->SetRollForward(This,writerId,ct,wszLogicalPath,wszComponentName,rollType,wszRollForwardPoint); 3675 } 3676 static inline HRESULT IVssBackupComponentsEx3_SetRestoreName(IVssBackupComponentsEx3* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszRestoreName) { 3677 return This->lpVtbl->SetRestoreName(This,writerId,ct,wszLogicalPath,wszComponentName,wszRestoreName); 3678 } 3679 static inline HRESULT IVssBackupComponentsEx3_BreakSnapshotSetEx(IVssBackupComponentsEx3* This,VSS_ID SnapshotSetID,DWORD dwBreakFlags,IVssAsync **ppAsync) { 3680 return This->lpVtbl->BreakSnapshotSetEx(This,SnapshotSetID,dwBreakFlags,ppAsync); 3681 } 3682 static inline HRESULT IVssBackupComponentsEx3_PreFastRecovery(IVssBackupComponentsEx3* This,VSS_ID SnapshotSetID,DWORD dwPreFastRecoveryFlags,IVssAsync **ppAsync) { 3683 return This->lpVtbl->PreFastRecovery(This,SnapshotSetID,dwPreFastRecoveryFlags,ppAsync); 3684 } 3685 static inline HRESULT IVssBackupComponentsEx3_FastRecovery(IVssBackupComponentsEx3* This,VSS_ID SnapshotSetID,DWORD dwFastRecoveryFlags,IVssAsync **ppAsync) { 3686 return This->lpVtbl->FastRecovery(This,SnapshotSetID,dwFastRecoveryFlags,ppAsync); 3687 } 3688 /*** IVssBackupComponentsEx3 methods ***/ 3689 static inline HRESULT IVssBackupComponentsEx3_GetWriterStatusEx(IVssBackupComponentsEx3* This,UINT iWriter,VSS_ID *pidInstance,VSS_ID *pidWriter,BSTR *pbstrWriter,VSS_WRITER_STATE *pnStatus,HRESULT *phrFailureWriter,HRESULT *phrApplication,BSTR *pbstrApplicationMessage) { 3690 return This->lpVtbl->GetWriterStatusEx(This,iWriter,pidInstance,pidWriter,pbstrWriter,pnStatus,phrFailureWriter,phrApplication,pbstrApplicationMessage); 3691 } 3692 static inline HRESULT IVssBackupComponentsEx3_AddSnapshotToRecoverySet(IVssBackupComponentsEx3* This,VSS_ID snapshotId,DWORD dwFlags,VSS_PWSZ pwszDestinationVolume) { 3693 return This->lpVtbl->AddSnapshotToRecoverySet(This,snapshotId,dwFlags,pwszDestinationVolume); 3694 } 3695 static inline HRESULT IVssBackupComponentsEx3_RecoverSet(IVssBackupComponentsEx3* This,DWORD dwFlags,IVssAsync **ppAsync) { 3696 return This->lpVtbl->RecoverSet(This,dwFlags,ppAsync); 3697 } 3698 static inline HRESULT IVssBackupComponentsEx3_GetSessionId(IVssBackupComponentsEx3* This,VSS_ID *idSession) { 3699 return This->lpVtbl->GetSessionId(This,idSession); 3700 } 3701 #endif 3702 #endif 3703 3704 #endif 3705 3706 3707 #endif /* __IVssBackupComponentsEx3_INTERFACE_DEFINED__ */ 3708 3709 /***************************************************************************** 3710 * IVssBackupComponentsEx4 interface 3711 */ 3712 #ifndef __IVssBackupComponentsEx4_INTERFACE_DEFINED__ 3713 #define __IVssBackupComponentsEx4_INTERFACE_DEFINED__ 3714 3715 DEFINE_GUID(IID_IVssBackupComponentsEx4, 0xf434c2fd, 0xb553, 0x4961, 0xa9,0xf9, 0xa8,0xe9,0x0b,0x67,0x3e,0x53); 3716 #if defined(__cplusplus) && !defined(CINTERFACE) 3717 MIDL_INTERFACE("f434c2fd-b553-4961-a9f9-a8e90b673e53") 3718 IVssBackupComponentsEx4 : public IVssBackupComponentsEx3 3719 { 3720 virtual HRESULT STDMETHODCALLTYPE GetRootAndLogicalPrefixPaths( 3721 VSS_PWSZ pwszFilePath, 3722 VSS_PWSZ *ppwszRootPath, 3723 VSS_PWSZ *ppwszLogicalPrefix, 3724 WINBOOL bNormalizeFQDNforRootPath = FALSE) = 0; 3725 3726 }; 3727 #ifdef __CRT_UUID_DECL 3728 __CRT_UUID_DECL(IVssBackupComponentsEx4, 0xf434c2fd, 0xb553, 0x4961, 0xa9,0xf9, 0xa8,0xe9,0x0b,0x67,0x3e,0x53) 3729 #endif 3730 #else 3731 typedef struct IVssBackupComponentsEx4Vtbl { 3732 BEGIN_INTERFACE 3733 3734 /*** IUnknown methods ***/ 3735 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 3736 IVssBackupComponentsEx4 *This, 3737 REFIID riid, 3738 void **ppvObject); 3739 3740 ULONG (STDMETHODCALLTYPE *AddRef)( 3741 IVssBackupComponentsEx4 *This); 3742 3743 ULONG (STDMETHODCALLTYPE *Release)( 3744 IVssBackupComponentsEx4 *This); 3745 3746 /*** IVssBackupComponents methods ***/ 3747 HRESULT (STDMETHODCALLTYPE *GetWriterComponentsCount)( 3748 IVssBackupComponentsEx4 *This, 3749 UINT *pcComponents); 3750 3751 HRESULT (STDMETHODCALLTYPE *GetWriterComponents)( 3752 IVssBackupComponentsEx4 *This, 3753 UINT iWriter, 3754 IVssWriterComponentsExt **ppWriter); 3755 3756 HRESULT (STDMETHODCALLTYPE *InitializeForBackup)( 3757 IVssBackupComponentsEx4 *This, 3758 BSTR bstrXML); 3759 3760 HRESULT (STDMETHODCALLTYPE *SetBackupState)( 3761 IVssBackupComponentsEx4 *This, 3762 boolean bSelectComponents, 3763 boolean bBackupBootableSystemState, 3764 VSS_BACKUP_TYPE backupType, 3765 boolean bPartialFileSupport); 3766 3767 HRESULT (STDMETHODCALLTYPE *InitializeForRestore)( 3768 IVssBackupComponentsEx4 *This, 3769 BSTR bstrXML); 3770 3771 HRESULT (STDMETHODCALLTYPE *SetRestoreState)( 3772 IVssBackupComponentsEx4 *This, 3773 VSS_RESTORE_TYPE restoreType); 3774 3775 HRESULT (STDMETHODCALLTYPE *GatherWriterMetadata)( 3776 IVssBackupComponentsEx4 *This, 3777 IVssAsync **pAsync); 3778 3779 HRESULT (STDMETHODCALLTYPE *GetWriterMetadataCount)( 3780 IVssBackupComponentsEx4 *This, 3781 UINT *pcWriters); 3782 3783 HRESULT (STDMETHODCALLTYPE *GetWriterMetadata)( 3784 IVssBackupComponentsEx4 *This, 3785 UINT iWriter, 3786 VSS_ID *pidInstance, 3787 IVssExamineWriterMetadata **ppMetadata); 3788 3789 HRESULT (STDMETHODCALLTYPE *FreeWriterMetadata)( 3790 IVssBackupComponentsEx4 *This); 3791 3792 HRESULT (STDMETHODCALLTYPE *AddComponent)( 3793 IVssBackupComponentsEx4 *This, 3794 VSS_ID instanceId, 3795 VSS_ID writerId, 3796 VSS_COMPONENT_TYPE ct, 3797 LPCWSTR wszLogicalPath, 3798 LPCWSTR wszComponentName); 3799 3800 HRESULT (STDMETHODCALLTYPE *PrepareForBackup)( 3801 IVssBackupComponentsEx4 *This, 3802 IVssAsync **ppAsync); 3803 3804 HRESULT (STDMETHODCALLTYPE *AbortBackup)( 3805 IVssBackupComponentsEx4 *This); 3806 3807 HRESULT (STDMETHODCALLTYPE *GatherWriterStatus)( 3808 IVssBackupComponentsEx4 *This, 3809 IVssAsync **pAsync); 3810 3811 HRESULT (STDMETHODCALLTYPE *GetWriterStatusCount)( 3812 IVssBackupComponentsEx4 *This, 3813 UINT *pcWriters); 3814 3815 HRESULT (STDMETHODCALLTYPE *FreeWriterStatus)( 3816 IVssBackupComponentsEx4 *This); 3817 3818 HRESULT (STDMETHODCALLTYPE *GetWriterStatus)( 3819 IVssBackupComponentsEx4 *This, 3820 UINT iWriter, 3821 VSS_ID *pidInstance, 3822 VSS_ID *pidWriter, 3823 BSTR *pbstrWriter, 3824 VSS_WRITER_STATE *pnStatus, 3825 HRESULT *phResultFailure); 3826 3827 HRESULT (STDMETHODCALLTYPE *SetBackupSucceeded)( 3828 IVssBackupComponentsEx4 *This, 3829 VSS_ID instanceId, 3830 VSS_ID writerId, 3831 VSS_COMPONENT_TYPE ct, 3832 LPCWSTR wszLogicalPath, 3833 LPCWSTR wszComponentName, 3834 boolean bSucceded); 3835 3836 HRESULT (STDMETHODCALLTYPE *SetBackupOptions)( 3837 IVssBackupComponentsEx4 *This, 3838 VSS_ID writerId, 3839 VSS_COMPONENT_TYPE ct, 3840 LPCWSTR wszLogicalPath, 3841 LPCWSTR wszComponentName, 3842 LPCWSTR wszBackupOptions); 3843 3844 HRESULT (STDMETHODCALLTYPE *SetSelectedForRestore)( 3845 IVssBackupComponentsEx4 *This, 3846 VSS_ID writerId, 3847 VSS_COMPONENT_TYPE ct, 3848 LPCWSTR wszLogicalPath, 3849 LPCWSTR wszComponentName, 3850 boolean bSelectedForRestore); 3851 3852 HRESULT (STDMETHODCALLTYPE *SetRestoreOptions)( 3853 IVssBackupComponentsEx4 *This, 3854 VSS_ID writerId, 3855 VSS_COMPONENT_TYPE ct, 3856 LPCWSTR wszLogicalPath, 3857 LPCWSTR wszComponentName, 3858 LPCWSTR wszRestoreOptions); 3859 3860 HRESULT (STDMETHODCALLTYPE *SetAdditionalRestores)( 3861 IVssBackupComponentsEx4 *This, 3862 VSS_ID writerId, 3863 VSS_COMPONENT_TYPE ct, 3864 LPCWSTR wszLogicalPath, 3865 LPCWSTR wszComponentName, 3866 boolean bAdditionalRestores); 3867 3868 HRESULT (STDMETHODCALLTYPE *SetPreviousBackupStamp)( 3869 IVssBackupComponentsEx4 *This, 3870 VSS_ID writerId, 3871 VSS_COMPONENT_TYPE ct, 3872 LPCWSTR wszLogicalPath, 3873 LPCWSTR wszComponentName, 3874 LPCWSTR wszPreviousBackupStamp); 3875 3876 HRESULT (STDMETHODCALLTYPE *SaveAsXML)( 3877 IVssBackupComponentsEx4 *This, 3878 BSTR *pbstrXML); 3879 3880 HRESULT (STDMETHODCALLTYPE *BackupComplete)( 3881 IVssBackupComponentsEx4 *This, 3882 IVssAsync **ppAsync); 3883 3884 HRESULT (STDMETHODCALLTYPE *AddAlternativeLocationMapping)( 3885 IVssBackupComponentsEx4 *This, 3886 VSS_ID writerId, 3887 VSS_COMPONENT_TYPE componentType, 3888 LPCWSTR wszLogicalPath, 3889 LPCWSTR wszComponentName, 3890 LPCWSTR wszPath, 3891 LPCWSTR wszFilespec, 3892 boolean bRecursive, 3893 LPCWSTR wszDestination); 3894 3895 HRESULT (STDMETHODCALLTYPE *AddRestoreSubcomponent)( 3896 IVssBackupComponentsEx4 *This, 3897 VSS_ID writerId, 3898 VSS_COMPONENT_TYPE componentType, 3899 LPCWSTR wszLogicalPath, 3900 LPCWSTR wszComponentName, 3901 LPCWSTR wszSubComponentLogicalPath, 3902 LPCWSTR wszSubComponentName, 3903 boolean bRepair); 3904 3905 HRESULT (STDMETHODCALLTYPE *SetFileRestoreStatus)( 3906 IVssBackupComponentsEx4 *This, 3907 VSS_ID writerId, 3908 VSS_COMPONENT_TYPE ct, 3909 LPCWSTR wszLogicalPath, 3910 LPCWSTR wszComponentName, 3911 VSS_FILE_RESTORE_STATUS status); 3912 3913 HRESULT (STDMETHODCALLTYPE *AddNewTarget)( 3914 IVssBackupComponentsEx4 *This, 3915 VSS_ID writerId, 3916 VSS_COMPONENT_TYPE ct, 3917 LPCWSTR wszLogicalPath, 3918 LPCWSTR wszComponentName, 3919 LPCWSTR wszPath, 3920 LPCWSTR wszFileName, 3921 boolean bRecursive, 3922 LPCWSTR wszAlternatePath); 3923 3924 HRESULT (STDMETHODCALLTYPE *SetRangesFilePath)( 3925 IVssBackupComponentsEx4 *This, 3926 VSS_ID writerId, 3927 VSS_COMPONENT_TYPE ct, 3928 LPCWSTR wszLogicalPath, 3929 LPCWSTR wszComponentName, 3930 UINT iPartialFile, 3931 LPCWSTR wszRangesFile); 3932 3933 HRESULT (STDMETHODCALLTYPE *PreRestore)( 3934 IVssBackupComponentsEx4 *This, 3935 IVssAsync **ppAsync); 3936 3937 HRESULT (STDMETHODCALLTYPE *PostRestore)( 3938 IVssBackupComponentsEx4 *This, 3939 IVssAsync **ppAsync); 3940 3941 HRESULT (STDMETHODCALLTYPE *SetContext)( 3942 IVssBackupComponentsEx4 *This, 3943 LONG lContext); 3944 3945 HRESULT (STDMETHODCALLTYPE *StartSnapshotSet)( 3946 IVssBackupComponentsEx4 *This, 3947 VSS_ID *pSnapshotSetId); 3948 3949 HRESULT (STDMETHODCALLTYPE *AddToSnapshotSet)( 3950 IVssBackupComponentsEx4 *This, 3951 VSS_PWSZ pwszVolumeName, 3952 VSS_ID ProviderId, 3953 VSS_ID *pidSnapshot); 3954 3955 HRESULT (STDMETHODCALLTYPE *DoSnapshotSet)( 3956 IVssBackupComponentsEx4 *This, 3957 IVssAsync **ppAsync); 3958 3959 HRESULT (STDMETHODCALLTYPE *DeleteSnapshots)( 3960 IVssBackupComponentsEx4 *This, 3961 VSS_ID SourceObjectId, 3962 VSS_OBJECT_TYPE eSourceObjectType, 3963 WINBOOL bForceDelete, 3964 LONG *plDeletedSnapshots, 3965 VSS_ID *pNondeletedSnapshotID); 3966 3967 HRESULT (STDMETHODCALLTYPE *ImportSnapshots)( 3968 IVssBackupComponentsEx4 *This, 3969 IVssAsync **ppAsync); 3970 3971 HRESULT (STDMETHODCALLTYPE *BreakSnapshotSet)( 3972 IVssBackupComponentsEx4 *This, 3973 VSS_ID SnapshotSetId); 3974 3975 HRESULT (STDMETHODCALLTYPE *GetSnapshotProperties)( 3976 IVssBackupComponentsEx4 *This, 3977 VSS_ID SnapshotId, 3978 VSS_SNAPSHOT_PROP *pProp); 3979 3980 HRESULT (STDMETHODCALLTYPE *Query)( 3981 IVssBackupComponentsEx4 *This, 3982 VSS_ID QueriedObjectId, 3983 VSS_OBJECT_TYPE eQueriedObjectType, 3984 VSS_OBJECT_TYPE eReturnedObjectsType, 3985 IVssEnumObject **ppEnum); 3986 3987 HRESULT (STDMETHODCALLTYPE *IsVolumeSupported)( 3988 IVssBackupComponentsEx4 *This, 3989 VSS_ID ProviderId, 3990 VSS_PWSZ pwszVolumeName, 3991 WINBOOL *pbSupportedByThisProvider); 3992 3993 HRESULT (STDMETHODCALLTYPE *DisableWriterClasses)( 3994 IVssBackupComponentsEx4 *This, 3995 const VSS_ID *rgWriterClassId, 3996 UINT cClassId); 3997 3998 HRESULT (STDMETHODCALLTYPE *EnableWriterClasses)( 3999 IVssBackupComponentsEx4 *This, 4000 const VSS_ID *rgWriterClassId, 4001 UINT cClassId); 4002 4003 HRESULT (STDMETHODCALLTYPE *DisableWriterInstances)( 4004 IVssBackupComponentsEx4 *This, 4005 const VSS_ID *rgWriterInstanceId, 4006 UINT cInstanceId); 4007 4008 HRESULT (STDMETHODCALLTYPE *ExposeSnapshot)( 4009 IVssBackupComponentsEx4 *This, 4010 VSS_ID SnapshotId, 4011 VSS_PWSZ wszPathFromRoot, 4012 LONG lAttributes, 4013 VSS_PWSZ wszExpose, 4014 VSS_PWSZ *pwszExposed); 4015 4016 HRESULT (STDMETHODCALLTYPE *RevertToSnapshot)( 4017 IVssBackupComponentsEx4 *This, 4018 VSS_ID SnapshotId, 4019 WINBOOL bForceDismount); 4020 4021 HRESULT (STDMETHODCALLTYPE *QueryRevertStatus)( 4022 IVssBackupComponentsEx4 *This, 4023 VSS_PWSZ pwszVolume, 4024 IVssAsync **ppAsync); 4025 4026 /*** IVssBackupComponentsEx methods ***/ 4027 HRESULT (STDMETHODCALLTYPE *GetWriterMetadataEx)( 4028 IVssBackupComponentsEx4 *This, 4029 UINT iWriter, 4030 VSS_ID *pidInstance, 4031 IVssExamineWriterMetadataEx **ppMetadata); 4032 4033 HRESULT (STDMETHODCALLTYPE *SetSelectedForRestoreEx)( 4034 IVssBackupComponentsEx4 *This, 4035 VSS_ID writerId, 4036 VSS_COMPONENT_TYPE ct, 4037 LPCWSTR wszLogicalPath, 4038 LPCWSTR wszComponentName, 4039 boolean bSelectedForRestore, 4040 VSS_ID instanceId); 4041 4042 /*** IVssBackupComponentsEx2 methods ***/ 4043 HRESULT (STDMETHODCALLTYPE *UnexposeSnapshot)( 4044 IVssBackupComponentsEx4 *This, 4045 VSS_ID snapshotId); 4046 4047 HRESULT (STDMETHODCALLTYPE *SetAuthoritativeRestore)( 4048 IVssBackupComponentsEx4 *This, 4049 VSS_ID writerId, 4050 VSS_COMPONENT_TYPE ct, 4051 LPCWSTR wszLogicalPath, 4052 LPCWSTR wszComponentName, 4053 boolean bAuth); 4054 4055 HRESULT (STDMETHODCALLTYPE *SetRollForward)( 4056 IVssBackupComponentsEx4 *This, 4057 VSS_ID writerId, 4058 VSS_COMPONENT_TYPE ct, 4059 LPCWSTR wszLogicalPath, 4060 LPCWSTR wszComponentName, 4061 VSS_ROLLFORWARD_TYPE rollType, 4062 LPCWSTR wszRollForwardPoint); 4063 4064 HRESULT (STDMETHODCALLTYPE *SetRestoreName)( 4065 IVssBackupComponentsEx4 *This, 4066 VSS_ID writerId, 4067 VSS_COMPONENT_TYPE ct, 4068 LPCWSTR wszLogicalPath, 4069 LPCWSTR wszComponentName, 4070 LPCWSTR wszRestoreName); 4071 4072 HRESULT (STDMETHODCALLTYPE *BreakSnapshotSetEx)( 4073 IVssBackupComponentsEx4 *This, 4074 VSS_ID SnapshotSetID, 4075 DWORD dwBreakFlags, 4076 IVssAsync **ppAsync); 4077 4078 HRESULT (STDMETHODCALLTYPE *PreFastRecovery)( 4079 IVssBackupComponentsEx4 *This, 4080 VSS_ID SnapshotSetID, 4081 DWORD dwPreFastRecoveryFlags, 4082 IVssAsync **ppAsync); 4083 4084 HRESULT (STDMETHODCALLTYPE *FastRecovery)( 4085 IVssBackupComponentsEx4 *This, 4086 VSS_ID SnapshotSetID, 4087 DWORD dwFastRecoveryFlags, 4088 IVssAsync **ppAsync); 4089 4090 /*** IVssBackupComponentsEx3 methods ***/ 4091 HRESULT (STDMETHODCALLTYPE *GetWriterStatusEx)( 4092 IVssBackupComponentsEx4 *This, 4093 UINT iWriter, 4094 VSS_ID *pidInstance, 4095 VSS_ID *pidWriter, 4096 BSTR *pbstrWriter, 4097 VSS_WRITER_STATE *pnStatus, 4098 HRESULT *phrFailureWriter, 4099 HRESULT *phrApplication, 4100 BSTR *pbstrApplicationMessage); 4101 4102 HRESULT (STDMETHODCALLTYPE *AddSnapshotToRecoverySet)( 4103 IVssBackupComponentsEx4 *This, 4104 VSS_ID snapshotId, 4105 DWORD dwFlags, 4106 VSS_PWSZ pwszDestinationVolume); 4107 4108 HRESULT (STDMETHODCALLTYPE *RecoverSet)( 4109 IVssBackupComponentsEx4 *This, 4110 DWORD dwFlags, 4111 IVssAsync **ppAsync); 4112 4113 HRESULT (STDMETHODCALLTYPE *GetSessionId)( 4114 IVssBackupComponentsEx4 *This, 4115 VSS_ID *idSession); 4116 4117 /*** IVssBackupComponentsEx4 methods ***/ 4118 HRESULT (STDMETHODCALLTYPE *GetRootAndLogicalPrefixPaths)( 4119 IVssBackupComponentsEx4 *This, 4120 VSS_PWSZ pwszFilePath, 4121 VSS_PWSZ *ppwszRootPath, 4122 VSS_PWSZ *ppwszLogicalPrefix, 4123 WINBOOL bNormalizeFQDNforRootPath); 4124 4125 END_INTERFACE 4126 } IVssBackupComponentsEx4Vtbl; 4127 4128 interface IVssBackupComponentsEx4 { 4129 CONST_VTBL IVssBackupComponentsEx4Vtbl* lpVtbl; 4130 }; 4131 4132 #ifdef COBJMACROS 4133 #ifndef WIDL_C_INLINE_WRAPPERS 4134 /*** IUnknown methods ***/ 4135 #define IVssBackupComponentsEx4_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 4136 #define IVssBackupComponentsEx4_AddRef(This) (This)->lpVtbl->AddRef(This) 4137 #define IVssBackupComponentsEx4_Release(This) (This)->lpVtbl->Release(This) 4138 /*** IVssBackupComponents methods ***/ 4139 #define IVssBackupComponentsEx4_GetWriterComponentsCount(This,pcComponents) (This)->lpVtbl->GetWriterComponentsCount(This,pcComponents) 4140 #define IVssBackupComponentsEx4_GetWriterComponents(This,iWriter,ppWriter) (This)->lpVtbl->GetWriterComponents(This,iWriter,ppWriter) 4141 #define IVssBackupComponentsEx4_InitializeForBackup(This,bstrXML) (This)->lpVtbl->InitializeForBackup(This,bstrXML) 4142 #define IVssBackupComponentsEx4_SetBackupState(This,bSelectComponents,bBackupBootableSystemState,backupType,bPartialFileSupport) (This)->lpVtbl->SetBackupState(This,bSelectComponents,bBackupBootableSystemState,backupType,bPartialFileSupport) 4143 #define IVssBackupComponentsEx4_InitializeForRestore(This,bstrXML) (This)->lpVtbl->InitializeForRestore(This,bstrXML) 4144 #define IVssBackupComponentsEx4_SetRestoreState(This,restoreType) (This)->lpVtbl->SetRestoreState(This,restoreType) 4145 #define IVssBackupComponentsEx4_GatherWriterMetadata(This,pAsync) (This)->lpVtbl->GatherWriterMetadata(This,pAsync) 4146 #define IVssBackupComponentsEx4_GetWriterMetadataCount(This,pcWriters) (This)->lpVtbl->GetWriterMetadataCount(This,pcWriters) 4147 #define IVssBackupComponentsEx4_GetWriterMetadata(This,iWriter,pidInstance,ppMetadata) (This)->lpVtbl->GetWriterMetadata(This,iWriter,pidInstance,ppMetadata) 4148 #define IVssBackupComponentsEx4_FreeWriterMetadata(This) (This)->lpVtbl->FreeWriterMetadata(This) 4149 #define IVssBackupComponentsEx4_AddComponent(This,instanceId,writerId,ct,wszLogicalPath,wszComponentName) (This)->lpVtbl->AddComponent(This,instanceId,writerId,ct,wszLogicalPath,wszComponentName) 4150 #define IVssBackupComponentsEx4_PrepareForBackup(This,ppAsync) (This)->lpVtbl->PrepareForBackup(This,ppAsync) 4151 #define IVssBackupComponentsEx4_AbortBackup(This) (This)->lpVtbl->AbortBackup(This) 4152 #define IVssBackupComponentsEx4_GatherWriterStatus(This,pAsync) (This)->lpVtbl->GatherWriterStatus(This,pAsync) 4153 #define IVssBackupComponentsEx4_GetWriterStatusCount(This,pcWriters) (This)->lpVtbl->GetWriterStatusCount(This,pcWriters) 4154 #define IVssBackupComponentsEx4_FreeWriterStatus(This) (This)->lpVtbl->FreeWriterStatus(This) 4155 #define IVssBackupComponentsEx4_GetWriterStatus(This,iWriter,pidInstance,pidWriter,pbstrWriter,pnStatus,phResultFailure) (This)->lpVtbl->GetWriterStatus(This,iWriter,pidInstance,pidWriter,pbstrWriter,pnStatus,phResultFailure) 4156 #define IVssBackupComponentsEx4_SetBackupSucceeded(This,instanceId,writerId,ct,wszLogicalPath,wszComponentName,bSucceded) (This)->lpVtbl->SetBackupSucceeded(This,instanceId,writerId,ct,wszLogicalPath,wszComponentName,bSucceded) 4157 #define IVssBackupComponentsEx4_SetBackupOptions(This,writerId,ct,wszLogicalPath,wszComponentName,wszBackupOptions) (This)->lpVtbl->SetBackupOptions(This,writerId,ct,wszLogicalPath,wszComponentName,wszBackupOptions) 4158 #define IVssBackupComponentsEx4_SetSelectedForRestore(This,writerId,ct,wszLogicalPath,wszComponentName,bSelectedForRestore) (This)->lpVtbl->SetSelectedForRestore(This,writerId,ct,wszLogicalPath,wszComponentName,bSelectedForRestore) 4159 #define IVssBackupComponentsEx4_SetRestoreOptions(This,writerId,ct,wszLogicalPath,wszComponentName,wszRestoreOptions) (This)->lpVtbl->SetRestoreOptions(This,writerId,ct,wszLogicalPath,wszComponentName,wszRestoreOptions) 4160 #define IVssBackupComponentsEx4_SetAdditionalRestores(This,writerId,ct,wszLogicalPath,wszComponentName,bAdditionalRestores) (This)->lpVtbl->SetAdditionalRestores(This,writerId,ct,wszLogicalPath,wszComponentName,bAdditionalRestores) 4161 #define IVssBackupComponentsEx4_SetPreviousBackupStamp(This,writerId,ct,wszLogicalPath,wszComponentName,wszPreviousBackupStamp) (This)->lpVtbl->SetPreviousBackupStamp(This,writerId,ct,wszLogicalPath,wszComponentName,wszPreviousBackupStamp) 4162 #define IVssBackupComponentsEx4_SaveAsXML(This,pbstrXML) (This)->lpVtbl->SaveAsXML(This,pbstrXML) 4163 #define IVssBackupComponentsEx4_BackupComplete(This,ppAsync) (This)->lpVtbl->BackupComplete(This,ppAsync) 4164 #define IVssBackupComponentsEx4_AddAlternativeLocationMapping(This,writerId,componentType,wszLogicalPath,wszComponentName,wszPath,wszFilespec,bRecursive,wszDestination) (This)->lpVtbl->AddAlternativeLocationMapping(This,writerId,componentType,wszLogicalPath,wszComponentName,wszPath,wszFilespec,bRecursive,wszDestination) 4165 #define IVssBackupComponentsEx4_AddRestoreSubcomponent(This,writerId,componentType,wszLogicalPath,wszComponentName,wszSubComponentLogicalPath,wszSubComponentName,bRepair) (This)->lpVtbl->AddRestoreSubcomponent(This,writerId,componentType,wszLogicalPath,wszComponentName,wszSubComponentLogicalPath,wszSubComponentName,bRepair) 4166 #define IVssBackupComponentsEx4_SetFileRestoreStatus(This,writerId,ct,wszLogicalPath,wszComponentName,status) (This)->lpVtbl->SetFileRestoreStatus(This,writerId,ct,wszLogicalPath,wszComponentName,status) 4167 #define IVssBackupComponentsEx4_AddNewTarget(This,writerId,ct,wszLogicalPath,wszComponentName,wszPath,wszFileName,bRecursive,wszAlternatePath) (This)->lpVtbl->AddNewTarget(This,writerId,ct,wszLogicalPath,wszComponentName,wszPath,wszFileName,bRecursive,wszAlternatePath) 4168 #define IVssBackupComponentsEx4_SetRangesFilePath(This,writerId,ct,wszLogicalPath,wszComponentName,iPartialFile,wszRangesFile) (This)->lpVtbl->SetRangesFilePath(This,writerId,ct,wszLogicalPath,wszComponentName,iPartialFile,wszRangesFile) 4169 #define IVssBackupComponentsEx4_PreRestore(This,ppAsync) (This)->lpVtbl->PreRestore(This,ppAsync) 4170 #define IVssBackupComponentsEx4_PostRestore(This,ppAsync) (This)->lpVtbl->PostRestore(This,ppAsync) 4171 #define IVssBackupComponentsEx4_SetContext(This,lContext) (This)->lpVtbl->SetContext(This,lContext) 4172 #define IVssBackupComponentsEx4_StartSnapshotSet(This,pSnapshotSetId) (This)->lpVtbl->StartSnapshotSet(This,pSnapshotSetId) 4173 #define IVssBackupComponentsEx4_AddToSnapshotSet(This,pwszVolumeName,ProviderId,pidSnapshot) (This)->lpVtbl->AddToSnapshotSet(This,pwszVolumeName,ProviderId,pidSnapshot) 4174 #define IVssBackupComponentsEx4_DoSnapshotSet(This,ppAsync) (This)->lpVtbl->DoSnapshotSet(This,ppAsync) 4175 #define IVssBackupComponentsEx4_DeleteSnapshots(This,SourceObjectId,eSourceObjectType,bForceDelete,plDeletedSnapshots,pNondeletedSnapshotID) (This)->lpVtbl->DeleteSnapshots(This,SourceObjectId,eSourceObjectType,bForceDelete,plDeletedSnapshots,pNondeletedSnapshotID) 4176 #define IVssBackupComponentsEx4_ImportSnapshots(This,ppAsync) (This)->lpVtbl->ImportSnapshots(This,ppAsync) 4177 #define IVssBackupComponentsEx4_BreakSnapshotSet(This,SnapshotSetId) (This)->lpVtbl->BreakSnapshotSet(This,SnapshotSetId) 4178 #define IVssBackupComponentsEx4_GetSnapshotProperties(This,SnapshotId,pProp) (This)->lpVtbl->GetSnapshotProperties(This,SnapshotId,pProp) 4179 #define IVssBackupComponentsEx4_Query(This,QueriedObjectId,eQueriedObjectType,eReturnedObjectsType,ppEnum) (This)->lpVtbl->Query(This,QueriedObjectId,eQueriedObjectType,eReturnedObjectsType,ppEnum) 4180 #define IVssBackupComponentsEx4_IsVolumeSupported(This,ProviderId,pwszVolumeName,pbSupportedByThisProvider) (This)->lpVtbl->IsVolumeSupported(This,ProviderId,pwszVolumeName,pbSupportedByThisProvider) 4181 #define IVssBackupComponentsEx4_DisableWriterClasses(This,rgWriterClassId,cClassId) (This)->lpVtbl->DisableWriterClasses(This,rgWriterClassId,cClassId) 4182 #define IVssBackupComponentsEx4_EnableWriterClasses(This,rgWriterClassId,cClassId) (This)->lpVtbl->EnableWriterClasses(This,rgWriterClassId,cClassId) 4183 #define IVssBackupComponentsEx4_DisableWriterInstances(This,rgWriterInstanceId,cInstanceId) (This)->lpVtbl->DisableWriterInstances(This,rgWriterInstanceId,cInstanceId) 4184 #define IVssBackupComponentsEx4_ExposeSnapshot(This,SnapshotId,wszPathFromRoot,lAttributes,wszExpose,pwszExposed) (This)->lpVtbl->ExposeSnapshot(This,SnapshotId,wszPathFromRoot,lAttributes,wszExpose,pwszExposed) 4185 #define IVssBackupComponentsEx4_RevertToSnapshot(This,SnapshotId,bForceDismount) (This)->lpVtbl->RevertToSnapshot(This,SnapshotId,bForceDismount) 4186 #define IVssBackupComponentsEx4_QueryRevertStatus(This,pwszVolume,ppAsync) (This)->lpVtbl->QueryRevertStatus(This,pwszVolume,ppAsync) 4187 /*** IVssBackupComponentsEx methods ***/ 4188 #define IVssBackupComponentsEx4_GetWriterMetadataEx(This,iWriter,pidInstance,ppMetadata) (This)->lpVtbl->GetWriterMetadataEx(This,iWriter,pidInstance,ppMetadata) 4189 #define IVssBackupComponentsEx4_SetSelectedForRestoreEx(This,writerId,ct,wszLogicalPath,wszComponentName,bSelectedForRestore,instanceId) (This)->lpVtbl->SetSelectedForRestoreEx(This,writerId,ct,wszLogicalPath,wszComponentName,bSelectedForRestore,instanceId) 4190 /*** IVssBackupComponentsEx2 methods ***/ 4191 #define IVssBackupComponentsEx4_UnexposeSnapshot(This,snapshotId) (This)->lpVtbl->UnexposeSnapshot(This,snapshotId) 4192 #define IVssBackupComponentsEx4_SetAuthoritativeRestore(This,writerId,ct,wszLogicalPath,wszComponentName,bAuth) (This)->lpVtbl->SetAuthoritativeRestore(This,writerId,ct,wszLogicalPath,wszComponentName,bAuth) 4193 #define IVssBackupComponentsEx4_SetRollForward(This,writerId,ct,wszLogicalPath,wszComponentName,rollType,wszRollForwardPoint) (This)->lpVtbl->SetRollForward(This,writerId,ct,wszLogicalPath,wszComponentName,rollType,wszRollForwardPoint) 4194 #define IVssBackupComponentsEx4_SetRestoreName(This,writerId,ct,wszLogicalPath,wszComponentName,wszRestoreName) (This)->lpVtbl->SetRestoreName(This,writerId,ct,wszLogicalPath,wszComponentName,wszRestoreName) 4195 #define IVssBackupComponentsEx4_BreakSnapshotSetEx(This,SnapshotSetID,dwBreakFlags,ppAsync) (This)->lpVtbl->BreakSnapshotSetEx(This,SnapshotSetID,dwBreakFlags,ppAsync) 4196 #define IVssBackupComponentsEx4_PreFastRecovery(This,SnapshotSetID,dwPreFastRecoveryFlags,ppAsync) (This)->lpVtbl->PreFastRecovery(This,SnapshotSetID,dwPreFastRecoveryFlags,ppAsync) 4197 #define IVssBackupComponentsEx4_FastRecovery(This,SnapshotSetID,dwFastRecoveryFlags,ppAsync) (This)->lpVtbl->FastRecovery(This,SnapshotSetID,dwFastRecoveryFlags,ppAsync) 4198 /*** IVssBackupComponentsEx3 methods ***/ 4199 #define IVssBackupComponentsEx4_GetWriterStatusEx(This,iWriter,pidInstance,pidWriter,pbstrWriter,pnStatus,phrFailureWriter,phrApplication,pbstrApplicationMessage) (This)->lpVtbl->GetWriterStatusEx(This,iWriter,pidInstance,pidWriter,pbstrWriter,pnStatus,phrFailureWriter,phrApplication,pbstrApplicationMessage) 4200 #define IVssBackupComponentsEx4_AddSnapshotToRecoverySet(This,snapshotId,dwFlags,pwszDestinationVolume) (This)->lpVtbl->AddSnapshotToRecoverySet(This,snapshotId,dwFlags,pwszDestinationVolume) 4201 #define IVssBackupComponentsEx4_RecoverSet(This,dwFlags,ppAsync) (This)->lpVtbl->RecoverSet(This,dwFlags,ppAsync) 4202 #define IVssBackupComponentsEx4_GetSessionId(This,idSession) (This)->lpVtbl->GetSessionId(This,idSession) 4203 /*** IVssBackupComponentsEx4 methods ***/ 4204 #define IVssBackupComponentsEx4_GetRootAndLogicalPrefixPaths(This,pwszFilePath,ppwszRootPath,ppwszLogicalPrefix,bNormalizeFQDNforRootPath) (This)->lpVtbl->GetRootAndLogicalPrefixPaths(This,pwszFilePath,ppwszRootPath,ppwszLogicalPrefix,bNormalizeFQDNforRootPath) 4205 #else 4206 /*** IUnknown methods ***/ 4207 static inline HRESULT IVssBackupComponentsEx4_QueryInterface(IVssBackupComponentsEx4* This,REFIID riid,void **ppvObject) { 4208 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 4209 } 4210 static inline ULONG IVssBackupComponentsEx4_AddRef(IVssBackupComponentsEx4* This) { 4211 return This->lpVtbl->AddRef(This); 4212 } 4213 static inline ULONG IVssBackupComponentsEx4_Release(IVssBackupComponentsEx4* This) { 4214 return This->lpVtbl->Release(This); 4215 } 4216 /*** IVssBackupComponents methods ***/ 4217 static inline HRESULT IVssBackupComponentsEx4_GetWriterComponentsCount(IVssBackupComponentsEx4* This,UINT *pcComponents) { 4218 return This->lpVtbl->GetWriterComponentsCount(This,pcComponents); 4219 } 4220 static inline HRESULT IVssBackupComponentsEx4_GetWriterComponents(IVssBackupComponentsEx4* This,UINT iWriter,IVssWriterComponentsExt **ppWriter) { 4221 return This->lpVtbl->GetWriterComponents(This,iWriter,ppWriter); 4222 } 4223 static inline HRESULT IVssBackupComponentsEx4_InitializeForBackup(IVssBackupComponentsEx4* This,BSTR bstrXML) { 4224 return This->lpVtbl->InitializeForBackup(This,bstrXML); 4225 } 4226 static inline HRESULT IVssBackupComponentsEx4_SetBackupState(IVssBackupComponentsEx4* This,boolean bSelectComponents,boolean bBackupBootableSystemState,VSS_BACKUP_TYPE backupType,boolean bPartialFileSupport) { 4227 return This->lpVtbl->SetBackupState(This,bSelectComponents,bBackupBootableSystemState,backupType,bPartialFileSupport); 4228 } 4229 static inline HRESULT IVssBackupComponentsEx4_InitializeForRestore(IVssBackupComponentsEx4* This,BSTR bstrXML) { 4230 return This->lpVtbl->InitializeForRestore(This,bstrXML); 4231 } 4232 static inline HRESULT IVssBackupComponentsEx4_SetRestoreState(IVssBackupComponentsEx4* This,VSS_RESTORE_TYPE restoreType) { 4233 return This->lpVtbl->SetRestoreState(This,restoreType); 4234 } 4235 static inline HRESULT IVssBackupComponentsEx4_GatherWriterMetadata(IVssBackupComponentsEx4* This,IVssAsync **pAsync) { 4236 return This->lpVtbl->GatherWriterMetadata(This,pAsync); 4237 } 4238 static inline HRESULT IVssBackupComponentsEx4_GetWriterMetadataCount(IVssBackupComponentsEx4* This,UINT *pcWriters) { 4239 return This->lpVtbl->GetWriterMetadataCount(This,pcWriters); 4240 } 4241 static inline HRESULT IVssBackupComponentsEx4_GetWriterMetadata(IVssBackupComponentsEx4* This,UINT iWriter,VSS_ID *pidInstance,IVssExamineWriterMetadata **ppMetadata) { 4242 return This->lpVtbl->GetWriterMetadata(This,iWriter,pidInstance,ppMetadata); 4243 } 4244 static inline HRESULT IVssBackupComponentsEx4_FreeWriterMetadata(IVssBackupComponentsEx4* This) { 4245 return This->lpVtbl->FreeWriterMetadata(This); 4246 } 4247 static inline HRESULT IVssBackupComponentsEx4_AddComponent(IVssBackupComponentsEx4* This,VSS_ID instanceId,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName) { 4248 return This->lpVtbl->AddComponent(This,instanceId,writerId,ct,wszLogicalPath,wszComponentName); 4249 } 4250 static inline HRESULT IVssBackupComponentsEx4_PrepareForBackup(IVssBackupComponentsEx4* This,IVssAsync **ppAsync) { 4251 return This->lpVtbl->PrepareForBackup(This,ppAsync); 4252 } 4253 static inline HRESULT IVssBackupComponentsEx4_AbortBackup(IVssBackupComponentsEx4* This) { 4254 return This->lpVtbl->AbortBackup(This); 4255 } 4256 static inline HRESULT IVssBackupComponentsEx4_GatherWriterStatus(IVssBackupComponentsEx4* This,IVssAsync **pAsync) { 4257 return This->lpVtbl->GatherWriterStatus(This,pAsync); 4258 } 4259 static inline HRESULT IVssBackupComponentsEx4_GetWriterStatusCount(IVssBackupComponentsEx4* This,UINT *pcWriters) { 4260 return This->lpVtbl->GetWriterStatusCount(This,pcWriters); 4261 } 4262 static inline HRESULT IVssBackupComponentsEx4_FreeWriterStatus(IVssBackupComponentsEx4* This) { 4263 return This->lpVtbl->FreeWriterStatus(This); 4264 } 4265 static inline HRESULT IVssBackupComponentsEx4_GetWriterStatus(IVssBackupComponentsEx4* This,UINT iWriter,VSS_ID *pidInstance,VSS_ID *pidWriter,BSTR *pbstrWriter,VSS_WRITER_STATE *pnStatus,HRESULT *phResultFailure) { 4266 return This->lpVtbl->GetWriterStatus(This,iWriter,pidInstance,pidWriter,pbstrWriter,pnStatus,phResultFailure); 4267 } 4268 static inline HRESULT IVssBackupComponentsEx4_SetBackupSucceeded(IVssBackupComponentsEx4* This,VSS_ID instanceId,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,boolean bSucceded) { 4269 return This->lpVtbl->SetBackupSucceeded(This,instanceId,writerId,ct,wszLogicalPath,wszComponentName,bSucceded); 4270 } 4271 static inline HRESULT IVssBackupComponentsEx4_SetBackupOptions(IVssBackupComponentsEx4* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszBackupOptions) { 4272 return This->lpVtbl->SetBackupOptions(This,writerId,ct,wszLogicalPath,wszComponentName,wszBackupOptions); 4273 } 4274 static inline HRESULT IVssBackupComponentsEx4_SetSelectedForRestore(IVssBackupComponentsEx4* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,boolean bSelectedForRestore) { 4275 return This->lpVtbl->SetSelectedForRestore(This,writerId,ct,wszLogicalPath,wszComponentName,bSelectedForRestore); 4276 } 4277 static inline HRESULT IVssBackupComponentsEx4_SetRestoreOptions(IVssBackupComponentsEx4* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszRestoreOptions) { 4278 return This->lpVtbl->SetRestoreOptions(This,writerId,ct,wszLogicalPath,wszComponentName,wszRestoreOptions); 4279 } 4280 static inline HRESULT IVssBackupComponentsEx4_SetAdditionalRestores(IVssBackupComponentsEx4* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,boolean bAdditionalRestores) { 4281 return This->lpVtbl->SetAdditionalRestores(This,writerId,ct,wszLogicalPath,wszComponentName,bAdditionalRestores); 4282 } 4283 static inline HRESULT IVssBackupComponentsEx4_SetPreviousBackupStamp(IVssBackupComponentsEx4* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszPreviousBackupStamp) { 4284 return This->lpVtbl->SetPreviousBackupStamp(This,writerId,ct,wszLogicalPath,wszComponentName,wszPreviousBackupStamp); 4285 } 4286 static inline HRESULT IVssBackupComponentsEx4_SaveAsXML(IVssBackupComponentsEx4* This,BSTR *pbstrXML) { 4287 return This->lpVtbl->SaveAsXML(This,pbstrXML); 4288 } 4289 static inline HRESULT IVssBackupComponentsEx4_BackupComplete(IVssBackupComponentsEx4* This,IVssAsync **ppAsync) { 4290 return This->lpVtbl->BackupComplete(This,ppAsync); 4291 } 4292 static inline HRESULT IVssBackupComponentsEx4_AddAlternativeLocationMapping(IVssBackupComponentsEx4* This,VSS_ID writerId,VSS_COMPONENT_TYPE componentType,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszPath,LPCWSTR wszFilespec,boolean bRecursive,LPCWSTR wszDestination) { 4293 return This->lpVtbl->AddAlternativeLocationMapping(This,writerId,componentType,wszLogicalPath,wszComponentName,wszPath,wszFilespec,bRecursive,wszDestination); 4294 } 4295 static inline HRESULT IVssBackupComponentsEx4_AddRestoreSubcomponent(IVssBackupComponentsEx4* This,VSS_ID writerId,VSS_COMPONENT_TYPE componentType,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszSubComponentLogicalPath,LPCWSTR wszSubComponentName,boolean bRepair) { 4296 return This->lpVtbl->AddRestoreSubcomponent(This,writerId,componentType,wszLogicalPath,wszComponentName,wszSubComponentLogicalPath,wszSubComponentName,bRepair); 4297 } 4298 static inline HRESULT IVssBackupComponentsEx4_SetFileRestoreStatus(IVssBackupComponentsEx4* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,VSS_FILE_RESTORE_STATUS status) { 4299 return This->lpVtbl->SetFileRestoreStatus(This,writerId,ct,wszLogicalPath,wszComponentName,status); 4300 } 4301 static inline HRESULT IVssBackupComponentsEx4_AddNewTarget(IVssBackupComponentsEx4* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszPath,LPCWSTR wszFileName,boolean bRecursive,LPCWSTR wszAlternatePath) { 4302 return This->lpVtbl->AddNewTarget(This,writerId,ct,wszLogicalPath,wszComponentName,wszPath,wszFileName,bRecursive,wszAlternatePath); 4303 } 4304 static inline HRESULT IVssBackupComponentsEx4_SetRangesFilePath(IVssBackupComponentsEx4* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,UINT iPartialFile,LPCWSTR wszRangesFile) { 4305 return This->lpVtbl->SetRangesFilePath(This,writerId,ct,wszLogicalPath,wszComponentName,iPartialFile,wszRangesFile); 4306 } 4307 static inline HRESULT IVssBackupComponentsEx4_PreRestore(IVssBackupComponentsEx4* This,IVssAsync **ppAsync) { 4308 return This->lpVtbl->PreRestore(This,ppAsync); 4309 } 4310 static inline HRESULT IVssBackupComponentsEx4_PostRestore(IVssBackupComponentsEx4* This,IVssAsync **ppAsync) { 4311 return This->lpVtbl->PostRestore(This,ppAsync); 4312 } 4313 static inline HRESULT IVssBackupComponentsEx4_SetContext(IVssBackupComponentsEx4* This,LONG lContext) { 4314 return This->lpVtbl->SetContext(This,lContext); 4315 } 4316 static inline HRESULT IVssBackupComponentsEx4_StartSnapshotSet(IVssBackupComponentsEx4* This,VSS_ID *pSnapshotSetId) { 4317 return This->lpVtbl->StartSnapshotSet(This,pSnapshotSetId); 4318 } 4319 static inline HRESULT IVssBackupComponentsEx4_AddToSnapshotSet(IVssBackupComponentsEx4* This,VSS_PWSZ pwszVolumeName,VSS_ID ProviderId,VSS_ID *pidSnapshot) { 4320 return This->lpVtbl->AddToSnapshotSet(This,pwszVolumeName,ProviderId,pidSnapshot); 4321 } 4322 static inline HRESULT IVssBackupComponentsEx4_DoSnapshotSet(IVssBackupComponentsEx4* This,IVssAsync **ppAsync) { 4323 return This->lpVtbl->DoSnapshotSet(This,ppAsync); 4324 } 4325 static inline HRESULT IVssBackupComponentsEx4_DeleteSnapshots(IVssBackupComponentsEx4* This,VSS_ID SourceObjectId,VSS_OBJECT_TYPE eSourceObjectType,WINBOOL bForceDelete,LONG *plDeletedSnapshots,VSS_ID *pNondeletedSnapshotID) { 4326 return This->lpVtbl->DeleteSnapshots(This,SourceObjectId,eSourceObjectType,bForceDelete,plDeletedSnapshots,pNondeletedSnapshotID); 4327 } 4328 static inline HRESULT IVssBackupComponentsEx4_ImportSnapshots(IVssBackupComponentsEx4* This,IVssAsync **ppAsync) { 4329 return This->lpVtbl->ImportSnapshots(This,ppAsync); 4330 } 4331 static inline HRESULT IVssBackupComponentsEx4_BreakSnapshotSet(IVssBackupComponentsEx4* This,VSS_ID SnapshotSetId) { 4332 return This->lpVtbl->BreakSnapshotSet(This,SnapshotSetId); 4333 } 4334 static inline HRESULT IVssBackupComponentsEx4_GetSnapshotProperties(IVssBackupComponentsEx4* This,VSS_ID SnapshotId,VSS_SNAPSHOT_PROP *pProp) { 4335 return This->lpVtbl->GetSnapshotProperties(This,SnapshotId,pProp); 4336 } 4337 static inline HRESULT IVssBackupComponentsEx4_Query(IVssBackupComponentsEx4* This,VSS_ID QueriedObjectId,VSS_OBJECT_TYPE eQueriedObjectType,VSS_OBJECT_TYPE eReturnedObjectsType,IVssEnumObject **ppEnum) { 4338 return This->lpVtbl->Query(This,QueriedObjectId,eQueriedObjectType,eReturnedObjectsType,ppEnum); 4339 } 4340 static inline HRESULT IVssBackupComponentsEx4_IsVolumeSupported(IVssBackupComponentsEx4* This,VSS_ID ProviderId,VSS_PWSZ pwszVolumeName,WINBOOL *pbSupportedByThisProvider) { 4341 return This->lpVtbl->IsVolumeSupported(This,ProviderId,pwszVolumeName,pbSupportedByThisProvider); 4342 } 4343 static inline HRESULT IVssBackupComponentsEx4_DisableWriterClasses(IVssBackupComponentsEx4* This,const VSS_ID *rgWriterClassId,UINT cClassId) { 4344 return This->lpVtbl->DisableWriterClasses(This,rgWriterClassId,cClassId); 4345 } 4346 static inline HRESULT IVssBackupComponentsEx4_EnableWriterClasses(IVssBackupComponentsEx4* This,const VSS_ID *rgWriterClassId,UINT cClassId) { 4347 return This->lpVtbl->EnableWriterClasses(This,rgWriterClassId,cClassId); 4348 } 4349 static inline HRESULT IVssBackupComponentsEx4_DisableWriterInstances(IVssBackupComponentsEx4* This,const VSS_ID *rgWriterInstanceId,UINT cInstanceId) { 4350 return This->lpVtbl->DisableWriterInstances(This,rgWriterInstanceId,cInstanceId); 4351 } 4352 static inline HRESULT IVssBackupComponentsEx4_ExposeSnapshot(IVssBackupComponentsEx4* This,VSS_ID SnapshotId,VSS_PWSZ wszPathFromRoot,LONG lAttributes,VSS_PWSZ wszExpose,VSS_PWSZ *pwszExposed) { 4353 return This->lpVtbl->ExposeSnapshot(This,SnapshotId,wszPathFromRoot,lAttributes,wszExpose,pwszExposed); 4354 } 4355 static inline HRESULT IVssBackupComponentsEx4_RevertToSnapshot(IVssBackupComponentsEx4* This,VSS_ID SnapshotId,WINBOOL bForceDismount) { 4356 return This->lpVtbl->RevertToSnapshot(This,SnapshotId,bForceDismount); 4357 } 4358 static inline HRESULT IVssBackupComponentsEx4_QueryRevertStatus(IVssBackupComponentsEx4* This,VSS_PWSZ pwszVolume,IVssAsync **ppAsync) { 4359 return This->lpVtbl->QueryRevertStatus(This,pwszVolume,ppAsync); 4360 } 4361 /*** IVssBackupComponentsEx methods ***/ 4362 static inline HRESULT IVssBackupComponentsEx4_GetWriterMetadataEx(IVssBackupComponentsEx4* This,UINT iWriter,VSS_ID *pidInstance,IVssExamineWriterMetadataEx **ppMetadata) { 4363 return This->lpVtbl->GetWriterMetadataEx(This,iWriter,pidInstance,ppMetadata); 4364 } 4365 static inline HRESULT IVssBackupComponentsEx4_SetSelectedForRestoreEx(IVssBackupComponentsEx4* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,boolean bSelectedForRestore,VSS_ID instanceId) { 4366 return This->lpVtbl->SetSelectedForRestoreEx(This,writerId,ct,wszLogicalPath,wszComponentName,bSelectedForRestore,instanceId); 4367 } 4368 /*** IVssBackupComponentsEx2 methods ***/ 4369 static inline HRESULT IVssBackupComponentsEx4_UnexposeSnapshot(IVssBackupComponentsEx4* This,VSS_ID snapshotId) { 4370 return This->lpVtbl->UnexposeSnapshot(This,snapshotId); 4371 } 4372 static inline HRESULT IVssBackupComponentsEx4_SetAuthoritativeRestore(IVssBackupComponentsEx4* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,boolean bAuth) { 4373 return This->lpVtbl->SetAuthoritativeRestore(This,writerId,ct,wszLogicalPath,wszComponentName,bAuth); 4374 } 4375 static inline HRESULT IVssBackupComponentsEx4_SetRollForward(IVssBackupComponentsEx4* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,VSS_ROLLFORWARD_TYPE rollType,LPCWSTR wszRollForwardPoint) { 4376 return This->lpVtbl->SetRollForward(This,writerId,ct,wszLogicalPath,wszComponentName,rollType,wszRollForwardPoint); 4377 } 4378 static inline HRESULT IVssBackupComponentsEx4_SetRestoreName(IVssBackupComponentsEx4* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszRestoreName) { 4379 return This->lpVtbl->SetRestoreName(This,writerId,ct,wszLogicalPath,wszComponentName,wszRestoreName); 4380 } 4381 static inline HRESULT IVssBackupComponentsEx4_BreakSnapshotSetEx(IVssBackupComponentsEx4* This,VSS_ID SnapshotSetID,DWORD dwBreakFlags,IVssAsync **ppAsync) { 4382 return This->lpVtbl->BreakSnapshotSetEx(This,SnapshotSetID,dwBreakFlags,ppAsync); 4383 } 4384 static inline HRESULT IVssBackupComponentsEx4_PreFastRecovery(IVssBackupComponentsEx4* This,VSS_ID SnapshotSetID,DWORD dwPreFastRecoveryFlags,IVssAsync **ppAsync) { 4385 return This->lpVtbl->PreFastRecovery(This,SnapshotSetID,dwPreFastRecoveryFlags,ppAsync); 4386 } 4387 static inline HRESULT IVssBackupComponentsEx4_FastRecovery(IVssBackupComponentsEx4* This,VSS_ID SnapshotSetID,DWORD dwFastRecoveryFlags,IVssAsync **ppAsync) { 4388 return This->lpVtbl->FastRecovery(This,SnapshotSetID,dwFastRecoveryFlags,ppAsync); 4389 } 4390 /*** IVssBackupComponentsEx3 methods ***/ 4391 static inline HRESULT IVssBackupComponentsEx4_GetWriterStatusEx(IVssBackupComponentsEx4* This,UINT iWriter,VSS_ID *pidInstance,VSS_ID *pidWriter,BSTR *pbstrWriter,VSS_WRITER_STATE *pnStatus,HRESULT *phrFailureWriter,HRESULT *phrApplication,BSTR *pbstrApplicationMessage) { 4392 return This->lpVtbl->GetWriterStatusEx(This,iWriter,pidInstance,pidWriter,pbstrWriter,pnStatus,phrFailureWriter,phrApplication,pbstrApplicationMessage); 4393 } 4394 static inline HRESULT IVssBackupComponentsEx4_AddSnapshotToRecoverySet(IVssBackupComponentsEx4* This,VSS_ID snapshotId,DWORD dwFlags,VSS_PWSZ pwszDestinationVolume) { 4395 return This->lpVtbl->AddSnapshotToRecoverySet(This,snapshotId,dwFlags,pwszDestinationVolume); 4396 } 4397 static inline HRESULT IVssBackupComponentsEx4_RecoverSet(IVssBackupComponentsEx4* This,DWORD dwFlags,IVssAsync **ppAsync) { 4398 return This->lpVtbl->RecoverSet(This,dwFlags,ppAsync); 4399 } 4400 static inline HRESULT IVssBackupComponentsEx4_GetSessionId(IVssBackupComponentsEx4* This,VSS_ID *idSession) { 4401 return This->lpVtbl->GetSessionId(This,idSession); 4402 } 4403 /*** IVssBackupComponentsEx4 methods ***/ 4404 static inline HRESULT IVssBackupComponentsEx4_GetRootAndLogicalPrefixPaths(IVssBackupComponentsEx4* This,VSS_PWSZ pwszFilePath,VSS_PWSZ *ppwszRootPath,VSS_PWSZ *ppwszLogicalPrefix,WINBOOL bNormalizeFQDNforRootPath) { 4405 return This->lpVtbl->GetRootAndLogicalPrefixPaths(This,pwszFilePath,ppwszRootPath,ppwszLogicalPrefix,bNormalizeFQDNforRootPath); 4406 } 4407 #endif 4408 #endif 4409 4410 #endif 4411 4412 4413 #endif /* __IVssBackupComponentsEx4_INTERFACE_DEFINED__ */ 4414 4415 #define VSS_SW_BOOTABLE_STATE (1 << 0) 4416 HRESULT STDAPICALLTYPE CreateVssBackupComponentsInternal(IVssBackupComponents **ppBackup); 4417 HRESULT STDAPICALLTYPE CreateVssExamineWriterMetadataInternal(BSTR bstrXML, IVssExamineWriterMetadata **ppMetadata); 4418 HRESULT APIENTRY IsVolumeSnapshottedInternal(VSS_PWSZ pwszVolumeName, WINBOOL *pbSnapshotsPresent, LONG *plSnapshotCapability); 4419 void APIENTRY VssFreeSnapshotPropertiesInternal(VSS_SNAPSHOT_PROP *pProp); 4420 HRESULT APIENTRY GetProviderMgmtInterfaceInternal(VSS_ID ProviderId, IID InterfaceId, IUnknown **ppItf); 4421 HRESULT APIENTRY ShouldBlockRevertInternal(LPCWSTR wszVolumeName, boolean *pbBlock); 4422 static __inline HRESULT CreateVssBackupComponents(IVssBackupComponents **ppBackup) { return CreateVssBackupComponentsInternal(ppBackup); } 4423 static __inline HRESULT CreateVssExamineWriterMetadata(BSTR bstrXML, IVssExamineWriterMetadata **ppMetadata) { return CreateVssExamineWriterMetadataInternal(bstrXML, ppMetadata); } 4424 static __inline HRESULT IsVolumeSnapshotted(VSS_PWSZ pwszVolumeName, WINBOOL *pbSnapshotsPresent, LONG *plSnapshotCapability) { return IsVolumeSnapshottedInternal(pwszVolumeName, pbSnapshotsPresent, plSnapshotCapability); } 4425 static __inline void VssFreeSnapshotProperties(VSS_SNAPSHOT_PROP *pProp) { return VssFreeSnapshotPropertiesInternal(pProp); } 4426 static __inline HRESULT GetProviderMgmtInterface(VSS_ID ProviderId, IID InterfaceId, IUnknown **ppItf) { return GetProviderMgmtInterfaceInternal(ProviderId, InterfaceId, ppItf); } 4427 static __inline HRESULT ShouldBlockRevert(LPCWSTR wszVolumeName, boolean *pbBlock) { return ShouldBlockRevertInternal(wszVolumeName, pbBlock); } 4428 #endif /* WINAPI_PARTITION_DESKTOP */ 4429 /* Begin additional prototypes for all interfaces */ 4430 4431 ULONG __RPC_USER BSTR_UserSize (ULONG *, ULONG, BSTR *); 4432 unsigned char * __RPC_USER BSTR_UserMarshal (ULONG *, unsigned char *, BSTR *); 4433 unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *); 4434 void __RPC_USER BSTR_UserFree (ULONG *, BSTR *); 4435 4436 /* End additional prototypes */ 4437 4438 #ifdef __cplusplus 4439 } 4440 #endif 4441 4442 #endif /* __vsbackup_h__ */