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#include <fsrmenums.h>
7#include <fsrm.h>
8#include <fsrmquota.h>
9#include <fsrmscreen.h>
10
11#ifndef _INC_FSRMREPORTS
12#define _INC_FSRMREPORTS
13
14#if (_WIN32_WINNT >= 0x0600)
15#ifndef __IFsrmAction_FWD_DEFINED__
16#define __IFsrmAction_FWD_DEFINED__
17typedef struct IFsrmAction IFsrmAction;
18#endif /* __IFsrmAction_FWD_DEFINED__ */
19
20#ifndef __IFsrmActionCommand_FWD_DEFINED__
21#define __IFsrmActionCommand_FWD_DEFINED__
22typedef struct IFsrmActionCommand IFsrmActionCommand;
23#endif /* __IFsrmActionCommand_FWD_DEFINED__ */
24
25#ifndef __IFsrmActionEmail_FWD_DEFINED__
26#define __IFsrmActionEmail_FWD_DEFINED__
27typedef struct IFsrmActionEmail IFsrmActionEmail;
28#endif /* __IFsrmActionEmail_FWD_DEFINED__ */
29
30#ifndef __IFsrmActionEmail2_FWD_DEFINED__
31#define __IFsrmActionEmail2_FWD_DEFINED__
32typedef struct IFsrmActionEmail2 IFsrmActionEmail2;
33#endif /* __IFsrmActionEmail2_FWD_DEFINED__ */
34
35#ifndef __IFsrmActionEventLog_FWD_DEFINED__
36#define __IFsrmActionEventLog_FWD_DEFINED__
37typedef struct IFsrmActionEventLog IFsrmActionEventLog;
38#endif /* __IFsrmActionEventLog_FWD_DEFINED__ */
39
40#ifndef __IFsrmActionReport_FWD_DEFINED__
41#define __IFsrmActionReport_FWD_DEFINED__
42typedef struct IFsrmActionReport IFsrmActionReport;
43#endif /* __IFsrmActionReport_FWD_DEFINED__ */
44
45#ifndef __IFsrmAutoApplyQuota_FWD_DEFINED__
46#define __IFsrmAutoApplyQuota_FWD_DEFINED__
47typedef struct IFsrmAutoApplyQuota IFsrmAutoApplyQuota;
48#endif /* __IFsrmAutoApplyQuota_FWD_DEFINED__ */
49
50#ifndef __IFsrmClassificationManager_FWD_DEFINED__
51#define __IFsrmClassificationManager_FWD_DEFINED__
52typedef struct IFsrmClassificationManager IFsrmClassificationManager;
53#endif /* __IFsrmClassificationManager_FWD_DEFINED__ */
54
55#ifndef __IFsrmClassificationRule_FWD_DEFINED__
56#define __IFsrmClassificationRule_FWD_DEFINED__
57typedef struct IFsrmClassificationRule IFsrmClassificationRule;
58#endif /* __IFsrmClassificationRule_FWD_DEFINED__ */
59
60#ifndef __IFsrmClassifierModuleDefinition_FWD_DEFINED__
61#define __IFsrmClassifierModuleDefinition_FWD_DEFINED__
62typedef struct IFsrmClassifierModuleDefinition IFsrmClassifierModuleDefinition;
63#endif /* __IFsrmClassifierModuleDefinition_FWD_DEFINED__ */
64
65#ifndef __IFsrmClassifierModuleImplementation_FWD_DEFINED__
66#define __IFsrmClassifierModuleImplementation_FWD_DEFINED__
67typedef struct IFsrmClassifierModuleImplementation IFsrmClassifierModuleImplementation;
68#endif /* __IFsrmClassifierModuleImplementation_FWD_DEFINED__ */
69
70#ifndef __IFsrmCollection_FWD_DEFINED__
71#define __IFsrmCollection_FWD_DEFINED__
72typedef struct IFsrmCollection IFsrmCollection;
73#endif /* __IFsrmCollection_FWD_DEFINED__ */
74
75#ifndef __IFsrmCommittableCollection_FWD_DEFINED__
76#define __IFsrmCommittableCollection_FWD_DEFINED__
77typedef struct IFsrmCommittableCollection IFsrmCommittableCollection;
78#endif /* __IFsrmCommittableCollection_FWD_DEFINED__ */
79
80#ifndef __IFsrmDerivedObjectsResult_FWD_DEFINED__
81#define __IFsrmDerivedObjectsResult_FWD_DEFINED__
82typedef struct IFsrmDerivedObjectsResult IFsrmDerivedObjectsResult;
83#endif /* __IFsrmDerivedObjectsResult_FWD_DEFINED__ */
84
85#ifndef __IFsrmExportImport_FWD_DEFINED__
86#define __IFsrmExportImport_FWD_DEFINED__
87typedef struct IFsrmExportImport IFsrmExportImport;
88#endif /* __IFsrmExportImport_FWD_DEFINED__ */
89
90#ifndef __IFsrmFileGroup_FWD_DEFINED__
91#define __IFsrmFileGroup_FWD_DEFINED__
92typedef struct IFsrmFileGroup IFsrmFileGroup;
93#endif /* __IFsrmFileGroup_FWD_DEFINED__ */
94
95#ifndef __IFsrmFileGroupImported_FWD_DEFINED__
96#define __IFsrmFileGroupImported_FWD_DEFINED__
97typedef struct IFsrmFileGroupImported IFsrmFileGroupImported;
98#endif /* __IFsrmFileGroupImported_FWD_DEFINED__ */
99
100#ifndef __IFsrmFileGroupManager_FWD_DEFINED__
101#define __IFsrmFileGroupManager_FWD_DEFINED__
102typedef struct IFsrmFileGroupManager IFsrmFileGroupManager;
103#endif /* __IFsrmFileGroupManager_FWD_DEFINED__ */
104
105#ifndef __IFsrmFileManagementJob_FWD_DEFINED__
106#define __IFsrmFileManagementJob_FWD_DEFINED__
107typedef struct IFsrmFileManagementJob IFsrmFileManagementJob;
108#endif /* __IFsrmFileManagementJob_FWD_DEFINED__ */
109
110#ifndef __IFsrmFileManagementJobManager_FWD_DEFINED__
111#define __IFsrmFileManagementJobManager_FWD_DEFINED__
112typedef struct IFsrmFileManagementJobManager IFsrmFileManagementJobManager;
113#endif /* __IFsrmFileManagementJobManager_FWD_DEFINED__ */
114
115#ifndef __IFsrmFileScreen_FWD_DEFINED__
116#define __IFsrmFileScreen_FWD_DEFINED__
117typedef struct IFsrmFileScreen IFsrmFileScreen;
118#endif /* __IFsrmFileScreen_FWD_DEFINED__ */
119
120#ifndef __IFsrmFileScreenBase_FWD_DEFINED__
121#define __IFsrmFileScreenBase_FWD_DEFINED__
122typedef struct IFsrmFileScreenBase IFsrmFileScreenBase;
123#endif /* __IFsrmFileScreenBase_FWD_DEFINED__ */
124
125#ifndef __IFsrmFileScreenException_FWD_DEFINED__
126#define __IFsrmFileScreenException_FWD_DEFINED__
127typedef struct IFsrmFileScreenException IFsrmFileScreenException;
128#endif /* __IFsrmFileScreenException_FWD_DEFINED__ */
129
130#ifndef __IFsrmFileScreenManager_FWD_DEFINED__
131#define __IFsrmFileScreenManager_FWD_DEFINED__
132typedef struct IFsrmFileScreenManager IFsrmFileScreenManager;
133#endif /* __IFsrmFileScreenManager_FWD_DEFINED__ */
134
135#ifndef __IFsrmFileScreenTemplate_FWD_DEFINED__
136#define __IFsrmFileScreenTemplate_FWD_DEFINED__
137typedef struct IFsrmFileScreenTemplate IFsrmFileScreenTemplate;
138#endif /* __IFsrmFileScreenTemplate_FWD_DEFINED__ */
139
140#ifndef __IFsrmFileScreenTemplateImported_FWD_DEFINED__
141#define __IFsrmFileScreenTemplateImported_FWD_DEFINED__
142typedef struct IFsrmFileScreenTemplateImported IFsrmFileScreenTemplateImported;
143#endif /* __IFsrmFileScreenTemplateImported_FWD_DEFINED__ */
144
145#ifndef __IFsrmFileScreenTemplateManager_FWD_DEFINED__
146#define __IFsrmFileScreenTemplateManager_FWD_DEFINED__
147typedef struct IFsrmFileScreenTemplateManager IFsrmFileScreenTemplateManager;
148#endif /* __IFsrmFileScreenTemplateManager_FWD_DEFINED__ */
149
150#ifndef __IFsrmMutableCollection_FWD_DEFINED__
151#define __IFsrmMutableCollection_FWD_DEFINED__
152typedef struct IFsrmMutableCollection IFsrmMutableCollection;
153#endif /* __IFsrmMutableCollection_FWD_DEFINED__ */
154
155#ifndef __IFsrmObject_FWD_DEFINED__
156#define __IFsrmObject_FWD_DEFINED__
157typedef struct IFsrmObject IFsrmObject;
158#endif /* __IFsrmObject_FWD_DEFINED__ */
159
160#ifndef __IFsrmPathMapper_FWD_DEFINED__
161#define __IFsrmPathMapper_FWD_DEFINED__
162typedef struct IFsrmPathMapper IFsrmPathMapper;
163#endif /* __IFsrmPathMapper_FWD_DEFINED__ */
164
165#ifndef __IFsrmPipelineModuleConnector_FWD_DEFINED__
166#define __IFsrmPipelineModuleConnector_FWD_DEFINED__
167typedef struct IFsrmPipelineModuleConnector IFsrmPipelineModuleConnector;
168#endif /* __IFsrmPipelineModuleConnector_FWD_DEFINED__ */
169
170#ifndef __IFsrmPipelineModuleDefinition_FWD_DEFINED__
171#define __IFsrmPipelineModuleDefinition_FWD_DEFINED__
172typedef struct IFsrmPipelineModuleDefinition IFsrmPipelineModuleDefinition;
173#endif /* __IFsrmPipelineModuleDefinition_FWD_DEFINED__ */
174
175#ifndef __IFsrmPipelineModuleImplementation_FWD_DEFINED__
176#define __IFsrmPipelineModuleImplementation_FWD_DEFINED__
177typedef struct IFsrmPipelineModuleImplementation IFsrmPipelineModuleImplementation;
178#endif /* __IFsrmPipelineModuleImplementation_FWD_DEFINED__ */
179
180#ifndef __IFsrmProperty_FWD_DEFINED__
181#define __IFsrmProperty_FWD_DEFINED__
182typedef struct IFsrmProperty IFsrmProperty;
183#endif /* __IFsrmProperty_FWD_DEFINED__ */
184
185#ifndef __IFsrmPropertyBag_FWD_DEFINED__
186#define __IFsrmPropertyBag_FWD_DEFINED__
187typedef struct IFsrmPropertyBag IFsrmPropertyBag;
188#endif /* __IFsrmPropertyBag_FWD_DEFINED__ */
189
190#ifndef __IFsrmPropertyCondition_FWD_DEFINED__
191#define __IFsrmPropertyCondition_FWD_DEFINED__
192typedef struct IFsrmPropertyCondition IFsrmPropertyCondition;
193#endif /* __IFsrmPropertyCondition_FWD_DEFINED__ */
194
195#ifndef __IFsrmPropertyDefinition_FWD_DEFINED__
196#define __IFsrmPropertyDefinition_FWD_DEFINED__
197typedef struct IFsrmPropertyDefinition IFsrmPropertyDefinition;
198#endif /* __IFsrmPropertyDefinition_FWD_DEFINED__ */
199
200#ifndef __IFsrmQuota_FWD_DEFINED__
201#define __IFsrmQuota_FWD_DEFINED__
202typedef struct IFsrmQuota IFsrmQuota;
203#endif /* __IFsrmQuota_FWD_DEFINED__ */
204
205#ifndef __IFsrmQuotaBase_FWD_DEFINED__
206#define __IFsrmQuotaBase_FWD_DEFINED__
207typedef struct IFsrmQuotaBase IFsrmQuotaBase;
208#endif /* __IFsrmQuotaBase_FWD_DEFINED__ */
209
210#ifndef __IFsrmQuotaManager_FWD_DEFINED__
211#define __IFsrmQuotaManager_FWD_DEFINED__
212typedef struct IFsrmQuotaManager IFsrmQuotaManager;
213#endif /* __IFsrmQuotaManager_FWD_DEFINED__ */
214
215#ifndef __IFsrmQuotaManagerEx_FWD_DEFINED__
216#define __IFsrmQuotaManagerEx_FWD_DEFINED__
217typedef struct IFsrmQuotaManagerEx IFsrmQuotaManagerEx;
218#endif /* __IFsrmQuotaManagerEx_FWD_DEFINED__ */
219
220#ifndef __IFsrmQuotaObject_FWD_DEFINED__
221#define __IFsrmQuotaObject_FWD_DEFINED__
222typedef struct IFsrmQuotaObject IFsrmQuotaObject;
223#endif /* __IFsrmQuotaObject_FWD_DEFINED__ */
224
225#ifndef __IFsrmQuotaTemplate_FWD_DEFINED__
226#define __IFsrmQuotaTemplate_FWD_DEFINED__
227typedef struct IFsrmQuotaTemplate IFsrmQuotaTemplate;
228#endif /* __IFsrmQuotaTemplate_FWD_DEFINED__ */
229
230#ifndef __IFsrmQuotaTemplateImported_FWD_DEFINED__
231#define __IFsrmQuotaTemplateImported_FWD_DEFINED__
232typedef struct IFsrmQuotaTemplateImported IFsrmQuotaTemplateImported;
233#endif /* __IFsrmQuotaTemplateImported_FWD_DEFINED__ */
234
235#ifndef __IFsrmQuotaTemplateManager_FWD_DEFINED__
236#define __IFsrmQuotaTemplateManager_FWD_DEFINED__
237typedef struct IFsrmQuotaTemplateManager IFsrmQuotaTemplateManager;
238#endif /* __IFsrmQuotaTemplateManager_FWD_DEFINED__ */
239
240#ifndef __IFsrmReport_FWD_DEFINED__
241#define __IFsrmReport_FWD_DEFINED__
242typedef struct IFsrmReport IFsrmReport;
243#endif /* __IFsrmReport_FWD_DEFINED__ */
244
245#ifndef __IFsrmReportJob_FWD_DEFINED__
246#define __IFsrmReportJob_FWD_DEFINED__
247typedef struct IFsrmReportJob IFsrmReportJob;
248#endif /* __IFsrmReportJob_FWD_DEFINED__ */
249
250#ifndef __IFsrmReportManager_FWD_DEFINED__
251#define __IFsrmReportManager_FWD_DEFINED__
252typedef struct IFsrmReportManager IFsrmReportManager;
253#endif /* __IFsrmReportManager_FWD_DEFINED__ */
254
255#ifndef __IFsrmReportScheduler_FWD_DEFINED__
256#define __IFsrmReportScheduler_FWD_DEFINED__
257typedef struct IFsrmReportScheduler IFsrmReportScheduler;
258#endif /* __IFsrmReportScheduler_FWD_DEFINED__ */
259
260#ifndef __IFsrmRule_FWD_DEFINED__
261#define __IFsrmRule_FWD_DEFINED__
262typedef struct IFsrmRule IFsrmRule;
263#endif /* __IFsrmRule_FWD_DEFINED__ */
264
265#ifndef __IFsrmSetting_FWD_DEFINED__
266#define __IFsrmSetting_FWD_DEFINED__
267typedef struct IFsrmSetting IFsrmSetting;
268#endif /* __IFsrmSetting_FWD_DEFINED__ */
269
270#ifndef __IFsrmStorageModuleDefinition_FWD_DEFINED__
271#define __IFsrmStorageModuleDefinition_FWD_DEFINED__
272typedef struct IFsrmStorageModuleDefinition IFsrmStorageModuleDefinition;
273#endif /* __IFsrmStorageModuleDefinition_FWD_DEFINED__ */
274
275#ifndef __IFsrmStorageModuleImplementation_FWD_DEFINED__
276#define __IFsrmStorageModuleImplementation_FWD_DEFINED__
277typedef struct IFsrmStorageModuleImplementation IFsrmStorageModuleImplementation;
278#endif /* __IFsrmStorageModuleImplementation_FWD_DEFINED__ */
279
280#undef  INTERFACE
281#define INTERFACE IFsrmReport
282#ifdef __GNUC__
283#warning COM interfaces layout in this header has not been verified.
284#warning COM interfaces with incorrect layout may not work at all.
285__MINGW_BROKEN_INTERFACE(INTERFACE)
286#endif
287DECLARE_INTERFACE_(IFsrmReport,IDispatch)
288{
289    BEGIN_INTERFACE
290
291    /* IUnknown methods */
292    STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
293    STDMETHOD_(ULONG, AddRef)(THIS) PURE;
294    STDMETHOD_(ULONG, Release)(THIS) PURE;
295
296    /* IDispatch methods */
297    STDMETHOD_(HRESULT,GetTypeInfoCount)(THIS_ unsigned int FAR*  pctinfo) PURE;
298    STDMETHOD_(HRESULT,GetTypeInfo)(THIS_ unsigned int  iTInfo,LCID  lcid,ITypeInfo FAR* FAR*  ppTInfo) PURE;
299    STDMETHOD_(HRESULT,GetIDsOfNames)(THIS_ REFIID  riid,OLECHAR FAR* FAR*  rgszNames,unsigned int  cNames,LCID   lcid,DISPID FAR*  rgDispId) PURE;
300    STDMETHOD_(HRESULT,Invoke)(THIS_ DISPID  dispIdMember,REFIID  riid,LCID  lcid,WORD  wFlags,DISPPARAMS FAR*  pDispParams,VARIANT FAR*  pVarResult,EXCEPINFO FAR*  pExcepInfo,unsigned int FAR*  puArgErr) PURE;
301
302    /* IFsrmReport methods */
303    STDMETHOD_(HRESULT,get_Type)(THIS_ FsrmReportType *reportType) PURE;
304    STDMETHOD_(HRESULT,get_Name)(THIS_ BSTR *name) PURE;
305    STDMETHOD_(HRESULT,put_Name)(THIS_ BSTR name) PURE;
306    STDMETHOD_(HRESULT,get_Description)(THIS_ BSTR *description) PURE;
307    STDMETHOD_(HRESULT,put_Description)(THIS_ BSTR description) PURE;
308    STDMETHOD_(HRESULT,get_LastGeneratedFileNamePrefix)(THIS_ BSTR *prefix) PURE;
309    STDMETHOD_(HRESULT,GetFilter)(THIS_ FsrmReportFilter filter,VARIANT *filterValue) PURE;
310    STDMETHOD_(HRESULT,Delete)(THIS) PURE;
311
312    END_INTERFACE
313};
314#ifdef COBJMACROS
315#define IFsrmReport_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
316#define IFsrmReport_AddRef(This) (This)->lpVtbl->AddRef(This)
317#define IFsrmReport_Release(This) (This)->lpVtbl->Release(This)
318#define IFsrmReport_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
319#define IFsrmReport_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
320#define IFsrmReport_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
321#define IFsrmReport_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
322#define IFsrmReport_get_Type(This,reportType) (This)->lpVtbl->get_Type(This,reportType)
323#define IFsrmReport_get_Name(This,name) (This)->lpVtbl->get_Name(This,name)
324#define IFsrmReport_put_Name(This,name) (This)->lpVtbl->put_Name(This,name)
325#define IFsrmReport_get_Description(This,description) (This)->lpVtbl->get_Description(This,description)
326#define IFsrmReport_put_Description(This,description) (This)->lpVtbl->put_Description(This,description)
327#define IFsrmReport_get_LastGeneratedFileNamePrefix(This,prefix) (This)->lpVtbl->get_LastGeneratedFileNamePrefix(This,prefix)
328#define IFsrmReport_GetFilter(This,filter,filterValue) (This)->lpVtbl->GetFilter(This,filter,filterValue)
329#define IFsrmReport_Delete() (This)->lpVtbl->Delete(This)
330#endif /*COBJMACROS*/
331
332#undef  INTERFACE
333#define INTERFACE IFsrmReportJob
334#ifdef __GNUC__
335#warning COM interfaces layout in this header has not been verified.
336#warning COM interfaces with incorrect layout may not work at all.
337__MINGW_BROKEN_INTERFACE(INTERFACE)
338#endif
339DECLARE_INTERFACE_(IFsrmReportJob,IFsrmObject)
340{
341    BEGIN_INTERFACE
342
343    /* IUnknown methods */
344    STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
345    STDMETHOD_(ULONG, AddRef)(THIS) PURE;
346    STDMETHOD_(ULONG, Release)(THIS) PURE;
347
348    /* IDispatch methods */
349    STDMETHOD_(HRESULT,GetTypeInfoCount)(THIS_ unsigned int FAR*  pctinfo) PURE;
350    STDMETHOD_(HRESULT,GetTypeInfo)(THIS_ unsigned int  iTInfo,LCID  lcid,ITypeInfo FAR* FAR*  ppTInfo) PURE;
351    STDMETHOD_(HRESULT,GetIDsOfNames)(THIS_ REFIID  riid,OLECHAR FAR* FAR*  rgszNames,unsigned int  cNames,LCID   lcid,DISPID FAR*  rgDispId) PURE;
352    STDMETHOD_(HRESULT,Invoke)(THIS_ DISPID  dispIdMember,REFIID  riid,LCID  lcid,WORD  wFlags,DISPPARAMS FAR*  pDispParams,VARIANT FAR*  pVarResult,EXCEPINFO FAR*  pExcepInfo,unsigned int FAR*  puArgErr) PURE;
353
354    /* IFsrmObject methods */
355    STDMETHOD_(HRESULT,get_Id)(THIS_ FSRM_OBJECT_ID *id) PURE;
356    STDMETHOD_(HRESULT,get_Description)(THIS_ BSTR *description) PURE;
357    STDMETHOD_(HRESULT,put_Description)(THIS_ BSTR description) PURE;
358    STDMETHOD_(HRESULT,Delete)(THIS) PURE;
359    STDMETHOD_(HRESULT,Commit)(THIS) PURE;
360
361    /* IFsrmReportJob methods */
362    STDMETHOD_(HRESULT,get_Task)(THIS_ BSTR *taskName) PURE;
363    STDMETHOD_(HRESULT,put_Task)(THIS_ BSTR taskName) PURE;
364    STDMETHOD_(HRESULT,get_NamespaceRoots)(THIS_ SAFEARRAY *namespaceRoots) PURE;
365    STDMETHOD_(HRESULT,put_NamespaceRoots)(THIS_ SAFEARRAY namespaceRoots) PURE;
366    STDMETHOD_(HRESULT,get_Formats)(THIS_ SAFEARRAY *formats) PURE;
367    STDMETHOD_(HRESULT,put_Formats)(THIS_ SAFEARRAY formats) PURE;
368    STDMETHOD_(HRESULT,get_MailTo)(THIS_ BSTR *mailTo) PURE;
369    STDMETHOD_(HRESULT,put_MailTo)(THIS_ BSTR mailTo) PURE;
370    STDMETHOD_(HRESULT,get_RunningStatus)(THIS_ FsrmReportRunningStatus *runningStatus) PURE;
371    STDMETHOD_(HRESULT,get_LastRun)(THIS_ DATE *lastRun) PURE;
372    STDMETHOD_(HRESULT,get_LastError)(THIS_ BSTR *lastError) PURE;
373    STDMETHOD_(HRESULT,get_LastGeneratedInDirectory)(THIS_ BSTR *path) PURE;
374    STDMETHOD_(HRESULT,EnumReports)(THIS_ IFsrmCollection **reports) PURE;
375    STDMETHOD_(HRESULT,CreateReport)(THIS_ FsrmReportType reportType,IFsrmReport **report) PURE;
376    STDMETHOD_(HRESULT,Run)(THIS_ FsrmReportGenerationContext context) PURE;
377    STDMETHOD_(HRESULT,WaitForCompletion)(THIS_ __LONG32 waitSeconds,VARIANT_BOOL *completed) PURE;
378    STDMETHOD_(HRESULT,Cancel)(THIS) PURE;
379
380    END_INTERFACE
381};
382#ifdef COBJMACROS
383#define IFsrmReportJob_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
384#define IFsrmReportJob_AddRef(This) (This)->lpVtbl->AddRef(This)
385#define IFsrmReportJob_Release(This) (This)->lpVtbl->Release(This)
386#define IFsrmReportJob_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
387#define IFsrmReportJob_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
388#define IFsrmReportJob_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
389#define IFsrmReportJob_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
390#define IFsrmReportJob_get_Id(This,id) (This)->lpVtbl->get_Id(This,id)
391#define IFsrmReportJob_get_Description(This,description) (This)->lpVtbl->get_Description(This,description)
392#define IFsrmReportJob_put_Description(This,description) (This)->lpVtbl->put_Description(This,description)
393#define IFsrmReportJob_Delete() (This)->lpVtbl->Delete(This)
394#define IFsrmReportJob_Commit() (This)->lpVtbl->Commit(This)
395#define IFsrmReportJob_get_Task(This,taskName) (This)->lpVtbl->get_Task(This,taskName)
396#define IFsrmReportJob_put_Task(This,taskName) (This)->lpVtbl->put_Task(This,taskName)
397#define IFsrmReportJob_get_NamespaceRoots(This,namespaceRoots) (This)->lpVtbl->get_NamespaceRoots(This,namespaceRoots)
398#define IFsrmReportJob_put_NamespaceRoots(This,namespaceRoots) (This)->lpVtbl->put_NamespaceRoots(This,namespaceRoots)
399#define IFsrmReportJob_get_Formats(This,formats) (This)->lpVtbl->get_Formats(This,formats)
400#define IFsrmReportJob_put_Formats(This,formats) (This)->lpVtbl->put_Formats(This,formats)
401#define IFsrmReportJob_get_MailTo(This,mailTo) (This)->lpVtbl->get_MailTo(This,mailTo)
402#define IFsrmReportJob_put_MailTo(This,mailTo) (This)->lpVtbl->put_MailTo(This,mailTo)
403#define IFsrmReportJob_get_RunningStatus(This,runningStatus) (This)->lpVtbl->get_RunningStatus(This,runningStatus)
404#define IFsrmReportJob_get_LastRun(This,lastRun) (This)->lpVtbl->get_LastRun(This,lastRun)
405#define IFsrmReportJob_get_LastError(This,lastError) (This)->lpVtbl->get_LastError(This,lastError)
406#define IFsrmReportJob_get_LastGeneratedInDirectory(This,path) (This)->lpVtbl->get_LastGeneratedInDirectory(This,path)
407#define IFsrmReportJob_EnumReports(This,reports) (This)->lpVtbl->EnumReports(This,reports)
408#define IFsrmReportJob_CreateReport(This,reportType,report) (This)->lpVtbl->CreateReport(This,reportType,report)
409#define IFsrmReportJob_Run(This,context) (This)->lpVtbl->Run(This,context)
410#define IFsrmReportJob_WaitForCompletion(This,waitSeconds,completed) (This)->lpVtbl->WaitForCompletion(This,waitSeconds,completed)
411#define IFsrmReportJob_Cancel() (This)->lpVtbl->Cancel(This)
412#endif /*COBJMACROS*/
413
414#undef  INTERFACE
415#define INTERFACE IFsrmReportManager
416#ifdef __GNUC__
417#warning COM interfaces layout in this header has not been verified.
418#warning COM interfaces with incorrect layout may not work at all.
419__MINGW_BROKEN_INTERFACE(INTERFACE)
420#endif
421DECLARE_INTERFACE_(IFsrmReportManager,IDispatch)
422{
423    BEGIN_INTERFACE
424
425    /* IUnknown methods */
426    STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
427    STDMETHOD_(ULONG, AddRef)(THIS) PURE;
428    STDMETHOD_(ULONG, Release)(THIS) PURE;
429
430    /* IDispatch methods */
431    STDMETHOD_(HRESULT,GetTypeInfoCount)(THIS_ unsigned int FAR*  pctinfo) PURE;
432    STDMETHOD_(HRESULT,GetTypeInfo)(THIS_ unsigned int  iTInfo,LCID  lcid,ITypeInfo FAR* FAR*  ppTInfo) PURE;
433    STDMETHOD_(HRESULT,GetIDsOfNames)(THIS_ REFIID  riid,OLECHAR FAR* FAR*  rgszNames,unsigned int  cNames,LCID   lcid,DISPID FAR*  rgDispId) PURE;
434    STDMETHOD_(HRESULT,Invoke)(THIS_ DISPID  dispIdMember,REFIID  riid,LCID  lcid,WORD  wFlags,DISPPARAMS FAR*  pDispParams,VARIANT FAR*  pVarResult,EXCEPINFO FAR*  pExcepInfo,unsigned int FAR*  puArgErr) PURE;
435
436    /* IFsrmReportManager methods */
437    STDMETHOD_(HRESULT,EnumReportJobs)(THIS_ FsrmEnumOptions options,IFsrmCollection **reportJobs) PURE;
438    STDMETHOD_(HRESULT,CreateReportJob)(THIS_ IFsrmReportJob **reportJob) PURE;
439    STDMETHOD_(HRESULT,GetReportJob)(THIS_ BSTR taskName,IFsrmReportJob **reportJob) PURE;
440    STDMETHOD_(HRESULT,GetOutputDirectory)(THIS_ FsrmReportGenerationContext context,BSTR *path) PURE;
441    STDMETHOD_(HRESULT,SetOutputDirectory)(THIS_ FsrmReportGenerationContext context,BSTR path) PURE;
442    STDMETHOD_(HRESULT,IsFilterValidForReportType)(THIS_ FsrmReportType reportType,FsrmReportFilter filter,VARIANT_BOOL *valid) PURE;
443    STDMETHOD_(HRESULT,GetDefaultFilter)(THIS_ FsrmReportType reportType,FsrmReportFilter filter,VARIANT *filterValue) PURE;
444    STDMETHOD_(HRESULT,SetDefaultFilter)(THIS_ FsrmReportType reportType,FsrmReportFilter filter,VARIANT filterValue) PURE;
445    STDMETHOD_(HRESULT,GetReportSizeLimit)(THIS_ FsrmReportLimit limit,VARIANT *limitValue) PURE;
446    STDMETHOD_(HRESULT,SetReportSizeLimit)(THIS_ FsrmReportLimit limit,VARIANT limitValue) PURE;
447
448    END_INTERFACE
449};
450#ifdef COBJMACROS
451#define IFsrmReportManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
452#define IFsrmReportManager_AddRef(This) (This)->lpVtbl->AddRef(This)
453#define IFsrmReportManager_Release(This) (This)->lpVtbl->Release(This)
454#define IFsrmReportManager_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
455#define IFsrmReportManager_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
456#define IFsrmReportManager_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
457#define IFsrmReportManager_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
458#define IFsrmReportManager_EnumReportJobs(This,options,reportJobs) (This)->lpVtbl->EnumReportJobs(This,options,reportJobs)
459#define IFsrmReportManager_CreateReportJob(This,reportJob) (This)->lpVtbl->CreateReportJob(This,reportJob)
460#define IFsrmReportManager_GetReportJob(This,taskName,reportJob) (This)->lpVtbl->GetReportJob(This,taskName,reportJob)
461#define IFsrmReportManager_GetOutputDirectory(This,context,path) (This)->lpVtbl->GetOutputDirectory(This,context,path)
462#define IFsrmReportManager_SetOutputDirectory(This,context,path) (This)->lpVtbl->SetOutputDirectory(This,context,path)
463#define IFsrmReportManager_IsFilterValidForReportType(This,reportType,filter,valid) (This)->lpVtbl->IsFilterValidForReportType(This,reportType,filter,valid)
464#define IFsrmReportManager_GetDefaultFilter(This,reportType,filter,filterValue) (This)->lpVtbl->GetDefaultFilter(This,reportType,filter,filterValue)
465#define IFsrmReportManager_SetDefaultFilter(This,reportType,filter,filterValue) (This)->lpVtbl->SetDefaultFilter(This,reportType,filter,filterValue)
466#define IFsrmReportManager_GetReportSizeLimit(This,limit,limitValue) (This)->lpVtbl->GetReportSizeLimit(This,limit,limitValue)
467#define IFsrmReportManager_SetReportSizeLimit(This,limit,limitValue) (This)->lpVtbl->SetReportSizeLimit(This,limit,limitValue)
468#endif /*COBJMACROS*/
469
470#undef  INTERFACE
471#define INTERFACE IFsrmReportScheduler
472#ifdef __GNUC__
473#warning COM interfaces layout in this header has not been verified.
474#warning COM interfaces with incorrect layout may not work at all.
475__MINGW_BROKEN_INTERFACE(INTERFACE)
476#endif
477DECLARE_INTERFACE_(IFsrmReportScheduler,IDispatch)
478{
479    BEGIN_INTERFACE
480
481    /* IUnknown methods */
482    STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
483    STDMETHOD_(ULONG, AddRef)(THIS) PURE;
484    STDMETHOD_(ULONG, Release)(THIS) PURE;
485
486    /* IDispatch methods */
487    STDMETHOD_(HRESULT,GetTypeInfoCount)(THIS_ unsigned int FAR*  pctinfo) PURE;
488    STDMETHOD_(HRESULT,GetTypeInfo)(THIS_ unsigned int  iTInfo,LCID  lcid,ITypeInfo FAR* FAR*  ppTInfo) PURE;
489    STDMETHOD_(HRESULT,GetIDsOfNames)(THIS_ REFIID  riid,OLECHAR FAR* FAR*  rgszNames,unsigned int  cNames,LCID   lcid,DISPID FAR*  rgDispId) PURE;
490    STDMETHOD_(HRESULT,Invoke)(THIS_ DISPID  dispIdMember,REFIID  riid,LCID  lcid,WORD  wFlags,DISPPARAMS FAR*  pDispParams,VARIANT FAR*  pVarResult,EXCEPINFO FAR*  pExcepInfo,unsigned int FAR*  puArgErr) PURE;
491
492    /* IFsrmReportScheduler methods */
493    STDMETHOD_(HRESULT,VerifyNamespaces)(THIS_ VARIANT *namespacesSafeArray) PURE;
494    STDMETHOD_(HRESULT,CreateScheduleTask)(THIS_ BSTR taskName,VARIANT *namespacesSafeArray,BSTR serializedTask) PURE;
495    STDMETHOD_(HRESULT,ModifyScheduleTask)(THIS_ BSTR taskName,VARIANT *namespacesSafeArray,BSTR serializedTask) PURE;
496    STDMETHOD_(HRESULT,DeleteScheduleTask)(THIS_ BSTR taskName) PURE;
497
498    END_INTERFACE
499};
500#ifdef COBJMACROS
501#define IFsrmReportScheduler_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
502#define IFsrmReportScheduler_AddRef(This) (This)->lpVtbl->AddRef(This)
503#define IFsrmReportScheduler_Release(This) (This)->lpVtbl->Release(This)
504#define IFsrmReportScheduler_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
505#define IFsrmReportScheduler_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
506#define IFsrmReportScheduler_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
507#define IFsrmReportScheduler_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
508#define IFsrmReportScheduler_VerifyNamespaces(This,namespacesSafeArray) (This)->lpVtbl->VerifyNamespaces(This,namespacesSafeArray)
509#define IFsrmReportScheduler_CreateScheduleTask(This,taskName,namespacesSafeArray,serializedTask) (This)->lpVtbl->CreateScheduleTask(This,taskName,namespacesSafeArray,serializedTask)
510#define IFsrmReportScheduler_ModifyScheduleTask(This,taskName,namespacesSafeArray,serializedTask) (This)->lpVtbl->ModifyScheduleTask(This,taskName,namespacesSafeArray,serializedTask)
511#define IFsrmReportScheduler_DeleteScheduleTask(This,taskName) (This)->lpVtbl->DeleteScheduleTask(This,taskName)
512#endif /*COBJMACROS*/
513
514#endif /* (_WIN32_WINNT >= 0x0600) */
515#if (_WIN32_WINNT >= 0x0601)
516
517#undef  INTERFACE
518#define INTERFACE IFsrmFileManagementJobManager
519DECLARE_INTERFACE_(IFsrmFileManagementJobManager,IDispatch)
520{
521    BEGIN_INTERFACE
522
523    /* IUnknown methods */
524    STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
525    STDMETHOD_(ULONG, AddRef)(THIS) PURE;
526    STDMETHOD_(ULONG, Release)(THIS) PURE;
527
528    /* IFsrmFileManagementJobManager methods */
529    STDMETHOD_(HRESULT,get_ActionVariables)(THIS_ SAFEARRAY *variables) PURE;
530    STDMETHOD_(HRESULT,get_ActionVariableDescriptions)(THIS_ SAFEARRAY *descriptions) PURE;
531    STDMETHOD_(HRESULT,EnumFileManagementJobs)(THIS_ FsrmEnumOptions options,IFsrmCollection **fileManagementJobs) PURE;
532    STDMETHOD_(HRESULT,CreateFileManagementJob)(THIS_ IFsrmFileManagementJob **fileManagementJob) PURE;
533    STDMETHOD_(HRESULT,GetFileManagementJob)(THIS_ BSTR name,IFsrmFileManagementJob **fileManagementJob) PURE;
534
535    END_INTERFACE
536};
537#ifdef COBJMACROS
538#define IFsrmFileManagementJobManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
539#define IFsrmFileManagementJobManager_AddRef(This) (This)->lpVtbl->AddRef(This)
540#define IFsrmFileManagementJobManager_Release(This) (This)->lpVtbl->Release(This)
541#define IFsrmFileManagementJobManager_get_ActionVariables(This,variables) (This)->lpVtbl->get_ActionVariables(This,variables)
542#define IFsrmFileManagementJobManager_get_ActionVariableDescriptions(This,descriptions) (This)->lpVtbl->get_ActionVariableDescriptions(This,descriptions)
543#define IFsrmFileManagementJobManager_EnumFileManagementJobs(This,options,fileManagementJobs) (This)->lpVtbl->EnumFileManagementJobs(This,options,fileManagementJobs)
544#define IFsrmFileManagementJobManager_CreateFileManagementJob(This,fileManagementJob) (This)->lpVtbl->CreateFileManagementJob(This,fileManagementJob)
545#define IFsrmFileManagementJobManager_GetFileManagementJob(This,name,fileManagementJob) (This)->lpVtbl->GetFileManagementJob(This,name,fileManagementJob)
546#endif /*COBJMACROS*/
547#endif /*(_WIN32_WINNT >= 0x0601)*/
548#endif /*_INC_FSRMREPORTS*/
549