ReactOS  0.4.15-dev-1197-g8081ba9
vsbackup.idl
Go to the documentation of this file.
1 /*
2  * Copyright 2019 Alistair Leslie-Hughes
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Lesser General Public
6  * License as published by the Free Software Foundation; either
7  * version 2.1 of the License, or (at your option) any later version.
8  *
9  * This library is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12  * Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public
15  * License along with this library; if not, write to the Free Software
16  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
17  */
18 
19 import "oaidl.idl";
20 import "vswriter.idl";
21 import "vss.idl";
22 
23 interface IVssAsync;
24 interface IVssEnumObject;
25 interface IVssExamineWriterMetadata;
26 interface IVssWriterComponentsExt;
27 
28 cpp_quote("#ifdef _cplusplus")
29 cpp_quote("extern \"C\" {")
30 cpp_quote("#endif")
32 cpp_quote("#ifdef _cplusplus")
33 cpp_quote("}")
34 cpp_quote("#endif")
35 
37 cpp_quote(" { return CreateVssBackupComponentsInternal(backup); }")
38 
39 [
40  uuid("665c1d5f-c218-414d-a05d-7fef5f9d5c86"),
41  local
42 ]
43 interface IVssBackupComponents : IUnknown
44 {
45  HRESULT GetWriterComponentsCount([out] UINT *components);
46  HRESULT GetWriterComponents([in] UINT index, [out] IVssWriterComponentsExt **writer);
47  HRESULT InitializeForBackup( [in, optional, defaultvalue(NULL)] BSTR bstrXML);
48  HRESULT SetBackupState([in] BOOL select_components, [in] BOOL state,
49  [in] VSS_BACKUP_TYPE type, [in, defaultvalue(FALSE)] BOOL partial_support);
50  HRESULT InitializeForRestore([in] BSTR xml);
51  HRESULT SetRestoreState([in] VSS_RESTORE_TYPE restore);
52  HRESULT GatherWriterMetadata([out] IVssAsync **async);
53  HRESULT GetWriterMetadataCount([out] UINT *count);
54  HRESULT GetWriterMetadata([in] UINT index, [out] VSS_ID *instance, [out] IVssExamineWriterMetadata **metadata);
55  HRESULT FreeWriterMetadata();
56  HRESULT AddComponent([in] VSS_ID instance, [in] VSS_ID id, [in] VSS_COMPONENT_TYPE ct, [in] LPCWSTR wszLogicalPath,
57  [in] LPCWSTR name);
58  HRESULT PrepareForBackup([out] IVssAsync **async);
59  HRESULT AbortBackup();
60  HRESULT GatherWriterStatus([out] IVssAsync **async);
61  HRESULT GetWriterStatusCount([out] UINT *count);
62  HRESULT FreeWriterStatus();
63  HRESULT GetWriterStatus([in] UINT index, [out] VSS_ID *instance, [out] VSS_ID *id, [out] BSTR *writer,
64  [out] VSS_WRITER_STATE *status, [out] HRESULT *failure);
65  HRESULT SetBackupSucceeded([in] VSS_ID instance, [in] VSS_ID id, [in] VSS_COMPONENT_TYPE ct,
66  [in] LPCWSTR path, [in] LPCWSTR name, [in] BOOL succeded);
67  HRESULT SetBackupOptions([in] VSS_ID id, [in] VSS_COMPONENT_TYPE ct, [in] LPCWSTR path,
68  [in] LPCWSTR name, [in] LPCWSTR options);
69  HRESULT SetSelectedForRestore([in] VSS_ID id, [in] VSS_COMPONENT_TYPE ct, [in] LPCWSTR path,
70  [in] LPCWSTR name, [in] BOOL selected_restore);
71  HRESULT SetRestoreOptions([in] VSS_ID id, [in] VSS_COMPONENT_TYPE ct, [in] LPCWSTR path, [in] LPCWSTR name,
72  [in] LPCWSTR options);
73  HRESULT SetAdditionalRestores([in] VSS_ID id, [in] VSS_COMPONENT_TYPE ct, [in] LPCWSTR path, [in] LPCWSTR name,
74  [in] BOOL additional);
75  HRESULT SetPreviousBackupStamp([in] VSS_ID id, [in] VSS_COMPONENT_TYPE ct, [in] LPCWSTR path, [in] LPCWSTR name,
76  [in] LPCWSTR stamp);
77  HRESULT SaveAsXML([in] BSTR *xml);
78  HRESULT BackupComplete([out] IVssAsync **async);
79  HRESULT AddAlternativeLocationMapping([in] VSS_ID id, [in] VSS_COMPONENT_TYPE type, [in] LPCWSTR logical,
80  [in] LPCWSTR name, [in] LPCWSTR path, [in] LPCWSTR filespec, [in] BOOL recursive, [in] LPCWSTR destination);
81  HRESULT AddRestoreSubcomponent([in] VSS_ID id, [in] VSS_COMPONENT_TYPE type, [in] LPCWSTR logical, [in] LPCWSTR name,
82  [in] LPCWSTR path, [in] LPCWSTR sub_name, [in] BOOL repair);
83  HRESULT SetFileRestoreStatus([in] VSS_ID id, [in] VSS_COMPONENT_TYPE ct, [in] LPCWSTR path, [in] LPCWSTR name,
84  [in] VSS_FILE_RESTORE_STATUS status);
85  HRESULT AddNewTarget([in] VSS_ID id, [in] VSS_COMPONENT_TYPE ct, [in] LPCWSTR logical, [in] LPCWSTR component,
86  [in] LPCWSTR path, [in] LPCWSTR filename, [in] BOOL recursive, [in] LPCWSTR alternate);
87  HRESULT SetRangesFilePath([in] VSS_ID id, [in] VSS_COMPONENT_TYPE ct, [in] LPCWSTR logical, [in] LPCWSTR component,
88  [in] UINT partial, [in] LPCWSTR ranges);
89  HRESULT PreRestore([out] IVssAsync **async);
90  HRESULT PostRestore([out] IVssAsync **async);
91  HRESULT SetContext([in] LONG context);
92  HRESULT StartSnapshotSet([out] VSS_ID *id);
93  HRESULT AddToSnapshotSet([in] VSS_PWSZ volume,[in] VSS_ID id,[out] VSS_ID *snapshot);
94  HRESULT DoSnapshotSet([out] IVssAsync ** async);
95  HRESULT DeleteSnapshots([in] VSS_ID object, [in] VSS_OBJECT_TYPE type, [in] BOOL force, [in] LONG *snapshots, [in] VSS_ID *id);
96  HRESULT ImportSnapshots([out] IVssAsync **async);
97  HRESULT BreakSnapshotSet([in] VSS_ID snapshot);
98  HRESULT GetSnapshotProperties([in] VSS_ID snapshot, [out] VSS_SNAPSHOT_PROP *prop);
99  HRESULT Query([in] VSS_ID queried, [in] VSS_OBJECT_TYPE queried_type, [in] VSS_OBJECT_TYPE returned_type, [in] IVssEnumObject **enums);
100  HRESULT IsVolumeSupported([in] VSS_ID provider, [in] VSS_PWSZ volume,[in] BOOL *supported);
101  HRESULT DisableWriterClasses([in] const VSS_ID *writer_id, [in] UINT class_id);
102  HRESULT EnableWriterClasses([in] const VSS_ID *classid, [in] UINT id);
103  HRESULT DisableWriterInstances([in] const VSS_ID *instance, [in] UINT id);
104  HRESULT ExposeSnapshot([in] VSS_ID snapshot, [in] VSS_PWSZ path, [in] LONG attributes,
105  [in] VSS_PWSZ expose, [out] VSS_PWSZ *exposed);
106  HRESULT RevertToSnapshot([in] VSS_ID snapshot, [in] BOOL force);
107  HRESULT QueryRevertStatus([in] VSS_PWSZ volume, [out] IVssAsync **async);
108 };
static long backup()
Definition: maze.c:403
coclass AMMultiMediaStream cpp_quote("DEFINE_GUID(CLSID_AMDirectDrawStream, 0x49c47ce4, 0x9ba4, 0x11d0, 0x82, 0x12, 0x00, 0xc0, 0x4f, 0xc3, 0x2c, 0x45);") cpp_quote("DEFINE_GUID(CLSID_AMAudioStream
#define d
Definition: ke_i.h:81
HRESULT WINAPI CreateVssBackupComponentsInternal(IVssBackupComponents **backup)
Definition: main.c:99
LONG HRESULT
Definition: typedefs.h:79
#define WINAPI
Definition: msvc.h:6
Definition: ttei6.cpp:27
static HRESULT CreateVssBackupComponents(IVssBackupComponents **backup)") cpp_quote("
Definition: vsbackup.idl:36