~mingw-w64/mingw-w64/experimental

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
/* Automated generated idl file <vsmgmt>.
 * Generated by genidl tool (c) 2009, 2010 Mingw-w64 project.
 */

/* Interface forward declarations.  */
interface IVssSnapshotMgmt;
interface IVssEnumMgmtObject;
interface IVssEnumObject;
interface IVssSnapshotMgmt2;

/* Structure forward declarations.  */
struct _VSS_MGMT_OBJECT_PROP;
struct _VSS_VOLUME_PROP;
struct _VSS_DIFF_VOLUME_PROP;
struct _VSS_DIFF_AREA_PROP;
struct _VSS_OBJECT_PROP;
struct _VSS_SNAPSHOT_PROP;
struct _VSS_PROVIDER_PROP;

/* Union record forward declarations.  */
union __MIDL___MIDL_itf_vsmgmt_0000_0000_0001;
union __MIDL___MIDL_itf_vsmgmt_0001_0064_0001;

/* Union record forward declarations.  */
coclass VssSnapshotMgmt;

/* Enumeration declarations.  */
enum _VSS_MGMT_OBJECT_TYPE
{
  VSS_MGMT_OBJECT_UNKNOWN = (int) 201326592,
  VSS_MGMT_OBJECT_VOLUME = (int) 201326593,
  VSS_MGMT_OBJECT_DIFF_VOLUME = (int) 201326594,
  VSS_MGMT_OBJECT_DIFF_AREA = (int) 201326595
};
enum _VSS_OBJECT_TYPE
{
  VSS_OBJECT_UNKNOWN = (int) 201326592,
  VSS_OBJECT_NONE = (int) 201326593,
  VSS_OBJECT_SNAPSHOT_SET = (int) 201326594,
  VSS_OBJECT_SNAPSHOT = (int) 201326595,
  VSS_OBJECT_PROVIDER = (int) 201326596,
  VSS_OBJECT_TYPE_COUNT = (int) 201326597
};
enum _VSS_SNAPSHOT_STATE
{
  VSS_SS_UNKNOWN = (int) 201326592,
  VSS_SS_PREPARING = (int) 201326593,
  VSS_SS_PROCESSING_PREPARE = (int) 201326594,
  VSS_SS_PREPARED = (int) 201326595,
  VSS_SS_PROCESSING_PRECOMMIT = (int) 201326596,
  VSS_SS_PRECOMMITTED = (int) 201326597,
  VSS_SS_PROCESSING_COMMIT = (int) 201326598,
  VSS_SS_COMMITTED = (int) 201326599,
  VSS_SS_PROCESSING_POSTCOMMIT = (int) 201326600,
  VSS_SS_PROCESSING_PREFINALCOMMIT = (int) 201326601,
  VSS_SS_PREFINALCOMMITTED = (int) 201326602,
  VSS_SS_PROCESSING_POSTFINALCOMMIT = (int) 201326603,
  VSS_SS_CREATED = (int) 201326604,
  VSS_SS_ABORTED = (int) 201326605,
  VSS_SS_DELETED = (int) 201326606,
  VSS_SS_POSTCOMMITTED = (int) 201326607,
  VSS_SS_COUNT = (int) 201326608
};
enum _VSS_PROVIDER_TYPE
{
  VSS_PROV_UNKNOWN = (int) 201326592,
  VSS_PROV_SYSTEM = (int) 201326593,
  VSS_PROV_SOFTWARE = (int) 201326594,
  VSS_PROV_HARDWARE = (int) 201326595
};

/* Structure/union declarations.  */
struct _VSS_MGMT_OBJECT_PROP
{
  enum _VSS_MGMT_OBJECT_TYPE Type;
  union __MIDL___MIDL_itf_vsmgmt_0000_0000_0001 Obj;
};
union __MIDL___MIDL_itf_vsmgmt_0000_0000_0001
{
  struct _VSS_VOLUME_PROP Vol;
  struct _VSS_DIFF_VOLUME_PROP DiffVol;
  struct _VSS_DIFF_AREA_PROP DiffArea;
};
struct _VSS_VOLUME_PROP
{
  LPWSTR m_pwszVolumeName;
  LPWSTR m_pwszVolumeDisplayName;
};
struct _VSS_DIFF_VOLUME_PROP
{
  LPWSTR m_pwszVolumeName;
  LPWSTR m_pwszVolumeDisplayName;
  LONGLONG m_llVolumeFreeSpace;
  LONGLONG m_llVolumeTotalSpace;
};
struct _VSS_DIFF_AREA_PROP
{
  LPWSTR m_pwszVolumeName;
  LPWSTR m_pwszDiffAreaVolumeName;
  LONGLONG m_llMaximumDiffSpace;
  LONGLONG m_llAllocatedDiffSpace;
  LONGLONG m_llUsedDiffSpace;
};
struct _VSS_OBJECT_PROP
{
  enum _VSS_OBJECT_TYPE Type;
  VSS_OBJECT_UNION Obj;
};
union __MIDL___MIDL_itf_vsmgmt_0001_0064_0001
{
  struct _VSS_SNAPSHOT_PROP Snap;
  struct _VSS_PROVIDER_PROP Prov;
};
struct _VSS_SNAPSHOT_PROP
{
  struct GUID m_SnapshotId;
  struct GUID m_SnapshotSetId;
  long m_lSnapshotsCount;
  LPWSTR m_pwszSnapshotDeviceObject;
  LPWSTR m_pwszOriginalVolumeName;
  LPWSTR m_pwszOriginatingMachine;
  LPWSTR m_pwszServiceMachine;
  LPWSTR m_pwszExposedName;
  LPWSTR m_pwszExposedPath;
  struct GUID m_ProviderId;
  long m_lSnapshotAttributes;
  LONGLONG m_tsCreationTimestamp;
  enum _VSS_SNAPSHOT_STATE m_eStatus;
};
struct _VSS_PROVIDER_PROP
{
  struct GUID m_ProviderId;
  LPWSTR m_pwszProviderName;
  enum _VSS_PROVIDER_TYPE m_eProviderType;
  LPWSTR m_pwszProviderVersion;
  struct GUID m_ProviderVersionId;
  struct GUID m_ClassId;
};

/* Type definitions.  */
typedef union __MIDL___MIDL_itf_vsmgmt_0001_0064_0001 VSS_OBJECT_UNION;

[
  uuid(84015C41-291D-49E6-BF7F-DD40AE93632B),
  version(1.0),
  helpstring("Shadow Copy Mgmt 1.0 Type Library")
]
library vsmgmt
{
  importlib("stdole2.tlb");

   /* CoClass declarations.  */
   [
     uuid(0B5A2C52-3EB9-470A-96E2-6C6D4570E40F),
     helpstring("VssSnapshotMgmt Class"),
     cancreate
   ]
   coclass VssSnapshotMgmt
   {
     interface IVssSnapshotMgmt;
     interface IVssSnapshotMgmt2;
   };

};

/* Interface declarations.  */
[
  uuid(FA7DF749-66E7-4986-A27F-E2F04AE53772),
  helpstring("IVssSnapshotMgmt interface")
]
interface IVssSnapshotMgmt : IUnknown
{
  [id(1610678272)]
  HRESULT __stdcall GetProviderMgmtInterface (
    [in] struct GUID ProviderId,
    [in] struct GUID *InterfaceId,
    [out] IUnknown **ppItf
  );
  HRESULT __stdcall QueryVolumesSupportedForSnapshots (
    [in] struct GUID ProviderId,
    [in] long lContext,
    [out] interface IVssEnumMgmtObject **ppenum
  );
  HRESULT __stdcall QuerySnapshotsByVolume (
    [in] LPWSTR pwszVolumeName,
    [in] struct GUID ProviderId,
    [out] interface IVssEnumObject **ppenum
  );
};
[
  uuid(01954E6B-9254-4E6E-808C-C9E05D007696),
  helpstring("IVssEnumMgmtObject Interface")
]
interface IVssEnumMgmtObject : IUnknown
{
  [id(1610678272)]
  HRESULT __stdcall Next (
    [in] UINT celt,
    [out] struct _VSS_MGMT_OBJECT_PROP *rgelt,
    [out] UINT *pceltFetched
  );
  HRESULT __stdcall Skip (
    [in] UINT celt
  );
  HRESULT __stdcall Reset (void);
  HRESULT __stdcall Clone (
    [in out] interface IVssEnumMgmtObject **ppenum
  );
};
[
  uuid(AE1C7110-2F60-11D3-8A39-00C04F72D8E3),
  helpstring("IVssEnumObject Interface")
]
interface IVssEnumObject : IUnknown
{
  [id(1610678272)]
  HRESULT __stdcall Next (
    [in] UINT celt,
    [out] struct _VSS_OBJECT_PROP *rgelt,
    [out] UINT *pceltFetched
  );
  HRESULT __stdcall Skip (
    [in] UINT celt
  );
  HRESULT __stdcall Reset (void);
  HRESULT __stdcall Clone (
    [in out] interface IVssEnumObject **ppenum
  );
};
[
  uuid(0F61EC39-FE82-45F2-A3F0-768B5D427102),
  helpstring("IVssSnapshotMgmt2 interface")
]
interface IVssSnapshotMgmt2 : IUnknown
{
  [id(1610678272)]
  HRESULT __stdcall GetMinDiffAreaSize (
    [out] LONGLONG *pllMinDiffAreaSize
  );
};