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