1 /*** Autogenerated by WIDL 6.4 from include/fsrmquota.idl - Do not edit ***/
2 
3 #ifdef _WIN32
4 #ifndef __REQUIRED_RPCNDR_H_VERSION__
5 #define __REQUIRED_RPCNDR_H_VERSION__ 475
6 #endif
7 #include <rpc.h>
8 #include <rpcndr.h>
9 #endif
10 
11 #ifndef COM_NO_WINDOWS_H
12 #include <windows.h>
13 #include <ole2.h>
14 #endif
15 
16 #ifndef __fsrmquota_h__
17 #define __fsrmquota_h__
18 
19 /* Forward declarations */
20 
21 #ifndef __IFsrmQuotaManager_FWD_DEFINED__
22 #define __IFsrmQuotaManager_FWD_DEFINED__
23 typedef interface IFsrmQuotaManager IFsrmQuotaManager;
24 #ifdef __cplusplus
25 interface IFsrmQuotaManager;
26 #endif /* __cplusplus */
27 #endif
28 
29 #ifndef __IFsrmQuotaTemplateManager_FWD_DEFINED__
30 #define __IFsrmQuotaTemplateManager_FWD_DEFINED__
31 typedef interface IFsrmQuotaTemplateManager IFsrmQuotaTemplateManager;
32 #ifdef __cplusplus
33 interface IFsrmQuotaTemplateManager;
34 #endif /* __cplusplus */
35 #endif
36 
37 #ifndef __IFsrmQuotaBase_FWD_DEFINED__
38 #define __IFsrmQuotaBase_FWD_DEFINED__
39 typedef interface IFsrmQuotaBase IFsrmQuotaBase;
40 #ifdef __cplusplus
41 interface IFsrmQuotaBase;
42 #endif /* __cplusplus */
43 #endif
44 
45 #ifndef __IFsrmQuotaObject_FWD_DEFINED__
46 #define __IFsrmQuotaObject_FWD_DEFINED__
47 typedef interface IFsrmQuotaObject IFsrmQuotaObject;
48 #ifdef __cplusplus
49 interface IFsrmQuotaObject;
50 #endif /* __cplusplus */
51 #endif
52 
53 #ifndef __IFsrmQuotaTemplate_FWD_DEFINED__
54 #define __IFsrmQuotaTemplate_FWD_DEFINED__
55 typedef interface IFsrmQuotaTemplate IFsrmQuotaTemplate;
56 #ifdef __cplusplus
57 interface IFsrmQuotaTemplate;
58 #endif /* __cplusplus */
59 #endif
60 
61 #ifndef __IFsrmQuota_FWD_DEFINED__
62 #define __IFsrmQuota_FWD_DEFINED__
63 typedef interface IFsrmQuota IFsrmQuota;
64 #ifdef __cplusplus
65 interface IFsrmQuota;
66 #endif /* __cplusplus */
67 #endif
68 
69 #ifndef __IFsrmAutoApplyQuota_FWD_DEFINED__
70 #define __IFsrmAutoApplyQuota_FWD_DEFINED__
71 typedef interface IFsrmAutoApplyQuota IFsrmAutoApplyQuota;
72 #ifdef __cplusplus
73 interface IFsrmAutoApplyQuota;
74 #endif /* __cplusplus */
75 #endif
76 
77 #ifndef __IFsrmQuotaManagerEx_FWD_DEFINED__
78 #define __IFsrmQuotaManagerEx_FWD_DEFINED__
79 typedef interface IFsrmQuotaManagerEx IFsrmQuotaManagerEx;
80 #ifdef __cplusplus
81 interface IFsrmQuotaManagerEx;
82 #endif /* __cplusplus */
83 #endif
84 
85 #ifndef __IFsrmQuotaTemplateImported_FWD_DEFINED__
86 #define __IFsrmQuotaTemplateImported_FWD_DEFINED__
87 typedef interface IFsrmQuotaTemplateImported IFsrmQuotaTemplateImported;
88 #ifdef __cplusplus
89 interface IFsrmQuotaTemplateImported;
90 #endif /* __cplusplus */
91 #endif
92 
93 /* Headers for imported files */
94 
95 #include <oaidl.h>
96 #include <fsrmenums.h>
97 #include <fsrm.h>
98 
99 #ifdef __cplusplus
100 extern "C" {
101 #endif
102 
103 #include <winapifamily.h>
104 
105 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
106 #ifndef __IFsrmAutoApplyQuota_FWD_DEFINED__
107 #define __IFsrmAutoApplyQuota_FWD_DEFINED__
108 typedef interface IFsrmAutoApplyQuota IFsrmAutoApplyQuota;
109 #ifdef __cplusplus
110 interface IFsrmAutoApplyQuota;
111 #endif /* __cplusplus */
112 #endif
113 
114 #ifndef __IFsrmQuota_FWD_DEFINED__
115 #define __IFsrmQuota_FWD_DEFINED__
116 typedef interface IFsrmQuota IFsrmQuota;
117 #ifdef __cplusplus
118 interface IFsrmQuota;
119 #endif /* __cplusplus */
120 #endif
121 
122 #ifndef __IFsrmQuotaBase_FWD_DEFINED__
123 #define __IFsrmQuotaBase_FWD_DEFINED__
124 typedef interface IFsrmQuotaBase IFsrmQuotaBase;
125 #ifdef __cplusplus
126 interface IFsrmQuotaBase;
127 #endif /* __cplusplus */
128 #endif
129 
130 #ifndef __IFsrmQuotaObject_FWD_DEFINED__
131 #define __IFsrmQuotaObject_FWD_DEFINED__
132 typedef interface IFsrmQuotaObject IFsrmQuotaObject;
133 #ifdef __cplusplus
134 interface IFsrmQuotaObject;
135 #endif /* __cplusplus */
136 #endif
137 
138 #ifndef __IFsrmQuotaManager_FWD_DEFINED__
139 #define __IFsrmQuotaManager_FWD_DEFINED__
140 typedef interface IFsrmQuotaManager IFsrmQuotaManager;
141 #ifdef __cplusplus
142 interface IFsrmQuotaManager;
143 #endif /* __cplusplus */
144 #endif
145 
146 #ifndef __IFsrmQuotaTemplate_FWD_DEFINED__
147 #define __IFsrmQuotaTemplate_FWD_DEFINED__
148 typedef interface IFsrmQuotaTemplate IFsrmQuotaTemplate;
149 #ifdef __cplusplus
150 interface IFsrmQuotaTemplate;
151 #endif /* __cplusplus */
152 #endif
153 
154 #ifndef __IFsrmQuotaTemplateImported_FWD_DEFINED__
155 #define __IFsrmQuotaTemplateImported_FWD_DEFINED__
156 typedef interface IFsrmQuotaTemplateImported IFsrmQuotaTemplateImported;
157 #ifdef __cplusplus
158 interface IFsrmQuotaTemplateImported;
159 #endif /* __cplusplus */
160 #endif
161 
162 #ifndef __IFsrmQuotaTemplateManager_FWD_DEFINED__
163 #define __IFsrmQuotaTemplateManager_FWD_DEFINED__
164 typedef interface IFsrmQuotaTemplateManager IFsrmQuotaTemplateManager;
165 #ifdef __cplusplus
166 interface IFsrmQuotaTemplateManager;
167 #endif /* __cplusplus */
168 #endif
169 
170 typedef LONG FSRM_QUOTA_THRESHOLD;
171 #define FSRM_DISPID_QUOTA_BASE (FSRM_DISPID_FEATURE_QUOTA | 0x100000)
172 
173 #define FSRM_DISPID_QUOTA_OBJECT (FSRM_DISPID_QUOTA_BASE | 0x10000)
174 
175 #define FSRM_DISPID_QUOTA (FSRM_DISPID_QUOTA_OBJECT | 0x1000)
176 
177 #define FSRM_DISPID_AUTOAPPLYQUOTA (FSRM_DISPID_QUOTA_OBJECT | 0x2000)
178 
179 #define FSRM_DISPID_QUOTA_TEMPLATE (FSRM_DISPID_QUOTA_BASE | 0x20000)
180 
181 #define FSRM_DISPID_QUOTA_TEMPLATE_IMPORTED (FSRM_DISPID_QUOTA_TEMPLATE | 0x1000)
182 
183 #define FSRM_DISPID_QUOTA_MANAGER (FSRM_DISPID_FEATURE_QUOTA | 0x200000)
184 
185 #define FSRM_DISPID_QUOTA_TEMPLATE_MANAGER (FSRM_DISPID_FEATURE_QUOTA | 0x300000)
186 
187 #define FSRM_DISPID_QUOTA_MANAGER_EX (FSRM_DISPID_FEATURE_QUOTA | 0x400000)
188 
189 #define FsrmMaxNumberThresholds (16)
190 
191 #define FsrmMinThresholdValue (1)
192 
193 #define FsrmMaxThresholdValue (250)
194 
195 #define FsrmMinQuotaLimit (1024)
196 
197 #define FsrmMaxExcludeFolders (32)
198 
199 /*****************************************************************************
200  * IFsrmQuotaManager interface
201  */
202 #ifndef __IFsrmQuotaManager_INTERFACE_DEFINED__
203 #define __IFsrmQuotaManager_INTERFACE_DEFINED__
204 
205 DEFINE_GUID(IID_IFsrmQuotaManager, 0x8bb68c7d, 0x19d8, 0x4ffb, 0x80,0x9e, 0xbe,0x4f,0xc1,0x73,0x40,0x14);
206 #if defined(__cplusplus) && !defined(CINTERFACE)
207 MIDL_INTERFACE("8bb68c7d-19d8-4ffb-809e-be4fc1734014")
208 IFsrmQuotaManager : public IDispatch
209 {
210     virtual HRESULT STDMETHODCALLTYPE get_ActionVariables(
211         SAFEARRAY **variables) = 0;
212 
213     virtual HRESULT STDMETHODCALLTYPE get_ActionVariableDescriptions(
214         SAFEARRAY **descriptions) = 0;
215 
216     virtual HRESULT STDMETHODCALLTYPE CreateQuota(
217         BSTR path,
218         IFsrmQuota **quota) = 0;
219 
220     virtual HRESULT STDMETHODCALLTYPE CreateAutoApplyQuota(
221         BSTR quotaTemplateName,
222         BSTR path,
223         IFsrmAutoApplyQuota **quota) = 0;
224 
225     virtual HRESULT STDMETHODCALLTYPE GetQuota(
226         BSTR path,
227         IFsrmQuota **quota) = 0;
228 
229     virtual HRESULT STDMETHODCALLTYPE GetAutoApplyQuota(
230         BSTR path,
231         IFsrmAutoApplyQuota **quota) = 0;
232 
233     virtual HRESULT STDMETHODCALLTYPE GetRestrictiveQuota(
234         BSTR path,
235         IFsrmQuota **quota) = 0;
236 
237     virtual HRESULT STDMETHODCALLTYPE EnumQuotas(
238         BSTR path,
239         FsrmEnumOptions options,
240         IFsrmCommittableCollection **quotas) = 0;
241 
242     virtual HRESULT STDMETHODCALLTYPE EnumAutoApplyQuotas(
243         BSTR path,
244         FsrmEnumOptions options,
245         IFsrmCommittableCollection **quotas) = 0;
246 
247     virtual HRESULT STDMETHODCALLTYPE EnumEffectiveQuotas(
248         BSTR path,
249         FsrmEnumOptions options,
250         IFsrmCommittableCollection **quotas) = 0;
251 
252     virtual HRESULT STDMETHODCALLTYPE Scan(
253         BSTR strPath) = 0;
254 
255     virtual HRESULT STDMETHODCALLTYPE CreateQuotaCollection(
256         IFsrmCommittableCollection **collection) = 0;
257 
258 };
259 #ifdef __CRT_UUID_DECL
260 __CRT_UUID_DECL(IFsrmQuotaManager, 0x8bb68c7d, 0x19d8, 0x4ffb, 0x80,0x9e, 0xbe,0x4f,0xc1,0x73,0x40,0x14)
261 #endif
262 #else
263 typedef struct IFsrmQuotaManagerVtbl {
264     BEGIN_INTERFACE
265 
266     /*** IUnknown methods ***/
267     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
268         IFsrmQuotaManager *This,
269         REFIID riid,
270         void **ppvObject);
271 
272     ULONG (STDMETHODCALLTYPE *AddRef)(
273         IFsrmQuotaManager *This);
274 
275     ULONG (STDMETHODCALLTYPE *Release)(
276         IFsrmQuotaManager *This);
277 
278     /*** IDispatch methods ***/
279     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
280         IFsrmQuotaManager *This,
281         UINT *pctinfo);
282 
283     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
284         IFsrmQuotaManager *This,
285         UINT iTInfo,
286         LCID lcid,
287         ITypeInfo **ppTInfo);
288 
289     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
290         IFsrmQuotaManager *This,
291         REFIID riid,
292         LPOLESTR *rgszNames,
293         UINT cNames,
294         LCID lcid,
295         DISPID *rgDispId);
296 
297     HRESULT (STDMETHODCALLTYPE *Invoke)(
298         IFsrmQuotaManager *This,
299         DISPID dispIdMember,
300         REFIID riid,
301         LCID lcid,
302         WORD wFlags,
303         DISPPARAMS *pDispParams,
304         VARIANT *pVarResult,
305         EXCEPINFO *pExcepInfo,
306         UINT *puArgErr);
307 
308     /*** IFsrmQuotaManager methods ***/
309     HRESULT (STDMETHODCALLTYPE *get_ActionVariables)(
310         IFsrmQuotaManager *This,
311         SAFEARRAY **variables);
312 
313     HRESULT (STDMETHODCALLTYPE *get_ActionVariableDescriptions)(
314         IFsrmQuotaManager *This,
315         SAFEARRAY **descriptions);
316 
317     HRESULT (STDMETHODCALLTYPE *CreateQuota)(
318         IFsrmQuotaManager *This,
319         BSTR path,
320         IFsrmQuota **quota);
321 
322     HRESULT (STDMETHODCALLTYPE *CreateAutoApplyQuota)(
323         IFsrmQuotaManager *This,
324         BSTR quotaTemplateName,
325         BSTR path,
326         IFsrmAutoApplyQuota **quota);
327 
328     HRESULT (STDMETHODCALLTYPE *GetQuota)(
329         IFsrmQuotaManager *This,
330         BSTR path,
331         IFsrmQuota **quota);
332 
333     HRESULT (STDMETHODCALLTYPE *GetAutoApplyQuota)(
334         IFsrmQuotaManager *This,
335         BSTR path,
336         IFsrmAutoApplyQuota **quota);
337 
338     HRESULT (STDMETHODCALLTYPE *GetRestrictiveQuota)(
339         IFsrmQuotaManager *This,
340         BSTR path,
341         IFsrmQuota **quota);
342 
343     HRESULT (STDMETHODCALLTYPE *EnumQuotas)(
344         IFsrmQuotaManager *This,
345         BSTR path,
346         FsrmEnumOptions options,
347         IFsrmCommittableCollection **quotas);
348 
349     HRESULT (STDMETHODCALLTYPE *EnumAutoApplyQuotas)(
350         IFsrmQuotaManager *This,
351         BSTR path,
352         FsrmEnumOptions options,
353         IFsrmCommittableCollection **quotas);
354 
355     HRESULT (STDMETHODCALLTYPE *EnumEffectiveQuotas)(
356         IFsrmQuotaManager *This,
357         BSTR path,
358         FsrmEnumOptions options,
359         IFsrmCommittableCollection **quotas);
360 
361     HRESULT (STDMETHODCALLTYPE *Scan)(
362         IFsrmQuotaManager *This,
363         BSTR strPath);
364 
365     HRESULT (STDMETHODCALLTYPE *CreateQuotaCollection)(
366         IFsrmQuotaManager *This,
367         IFsrmCommittableCollection **collection);
368 
369     END_INTERFACE
370 } IFsrmQuotaManagerVtbl;
371 
372 interface IFsrmQuotaManager {
373     CONST_VTBL IFsrmQuotaManagerVtbl* lpVtbl;
374 };
375 
376 #ifdef COBJMACROS
377 #ifndef WIDL_C_INLINE_WRAPPERS
378 /*** IUnknown methods ***/
379 #define IFsrmQuotaManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
380 #define IFsrmQuotaManager_AddRef(This) (This)->lpVtbl->AddRef(This)
381 #define IFsrmQuotaManager_Release(This) (This)->lpVtbl->Release(This)
382 /*** IDispatch methods ***/
383 #define IFsrmQuotaManager_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
384 #define IFsrmQuotaManager_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
385 #define IFsrmQuotaManager_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
386 #define IFsrmQuotaManager_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
387 /*** IFsrmQuotaManager methods ***/
388 #define IFsrmQuotaManager_get_ActionVariables(This,variables) (This)->lpVtbl->get_ActionVariables(This,variables)
389 #define IFsrmQuotaManager_get_ActionVariableDescriptions(This,descriptions) (This)->lpVtbl->get_ActionVariableDescriptions(This,descriptions)
390 #define IFsrmQuotaManager_CreateQuota(This,path,quota) (This)->lpVtbl->CreateQuota(This,path,quota)
391 #define IFsrmQuotaManager_CreateAutoApplyQuota(This,quotaTemplateName,path,quota) (This)->lpVtbl->CreateAutoApplyQuota(This,quotaTemplateName,path,quota)
392 #define IFsrmQuotaManager_GetQuota(This,path,quota) (This)->lpVtbl->GetQuota(This,path,quota)
393 #define IFsrmQuotaManager_GetAutoApplyQuota(This,path,quota) (This)->lpVtbl->GetAutoApplyQuota(This,path,quota)
394 #define IFsrmQuotaManager_GetRestrictiveQuota(This,path,quota) (This)->lpVtbl->GetRestrictiveQuota(This,path,quota)
395 #define IFsrmQuotaManager_EnumQuotas(This,path,options,quotas) (This)->lpVtbl->EnumQuotas(This,path,options,quotas)
396 #define IFsrmQuotaManager_EnumAutoApplyQuotas(This,path,options,quotas) (This)->lpVtbl->EnumAutoApplyQuotas(This,path,options,quotas)
397 #define IFsrmQuotaManager_EnumEffectiveQuotas(This,path,options,quotas) (This)->lpVtbl->EnumEffectiveQuotas(This,path,options,quotas)
398 #define IFsrmQuotaManager_Scan(This,strPath) (This)->lpVtbl->Scan(This,strPath)
399 #define IFsrmQuotaManager_CreateQuotaCollection(This,collection) (This)->lpVtbl->CreateQuotaCollection(This,collection)
400 #else
401 /*** IUnknown methods ***/
402 static FORCEINLINE HRESULT IFsrmQuotaManager_QueryInterface(IFsrmQuotaManager* This,REFIID riid,void **ppvObject) {
403     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
404 }
405 static FORCEINLINE ULONG IFsrmQuotaManager_AddRef(IFsrmQuotaManager* This) {
406     return This->lpVtbl->AddRef(This);
407 }
408 static FORCEINLINE ULONG IFsrmQuotaManager_Release(IFsrmQuotaManager* This) {
409     return This->lpVtbl->Release(This);
410 }
411 /*** IDispatch methods ***/
412 static FORCEINLINE HRESULT IFsrmQuotaManager_GetTypeInfoCount(IFsrmQuotaManager* This,UINT *pctinfo) {
413     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
414 }
415 static FORCEINLINE HRESULT IFsrmQuotaManager_GetTypeInfo(IFsrmQuotaManager* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
416     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
417 }
418 static FORCEINLINE HRESULT IFsrmQuotaManager_GetIDsOfNames(IFsrmQuotaManager* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
419     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
420 }
421 static FORCEINLINE HRESULT IFsrmQuotaManager_Invoke(IFsrmQuotaManager* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
422     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
423 }
424 /*** IFsrmQuotaManager methods ***/
425 static FORCEINLINE HRESULT IFsrmQuotaManager_get_ActionVariables(IFsrmQuotaManager* This,SAFEARRAY **variables) {
426     return This->lpVtbl->get_ActionVariables(This,variables);
427 }
428 static FORCEINLINE HRESULT IFsrmQuotaManager_get_ActionVariableDescriptions(IFsrmQuotaManager* This,SAFEARRAY **descriptions) {
429     return This->lpVtbl->get_ActionVariableDescriptions(This,descriptions);
430 }
431 static FORCEINLINE HRESULT IFsrmQuotaManager_CreateQuota(IFsrmQuotaManager* This,BSTR path,IFsrmQuota **quota) {
432     return This->lpVtbl->CreateQuota(This,path,quota);
433 }
434 static FORCEINLINE HRESULT IFsrmQuotaManager_CreateAutoApplyQuota(IFsrmQuotaManager* This,BSTR quotaTemplateName,BSTR path,IFsrmAutoApplyQuota **quota) {
435     return This->lpVtbl->CreateAutoApplyQuota(This,quotaTemplateName,path,quota);
436 }
437 static FORCEINLINE HRESULT IFsrmQuotaManager_GetQuota(IFsrmQuotaManager* This,BSTR path,IFsrmQuota **quota) {
438     return This->lpVtbl->GetQuota(This,path,quota);
439 }
440 static FORCEINLINE HRESULT IFsrmQuotaManager_GetAutoApplyQuota(IFsrmQuotaManager* This,BSTR path,IFsrmAutoApplyQuota **quota) {
441     return This->lpVtbl->GetAutoApplyQuota(This,path,quota);
442 }
443 static FORCEINLINE HRESULT IFsrmQuotaManager_GetRestrictiveQuota(IFsrmQuotaManager* This,BSTR path,IFsrmQuota **quota) {
444     return This->lpVtbl->GetRestrictiveQuota(This,path,quota);
445 }
446 static FORCEINLINE HRESULT IFsrmQuotaManager_EnumQuotas(IFsrmQuotaManager* This,BSTR path,FsrmEnumOptions options,IFsrmCommittableCollection **quotas) {
447     return This->lpVtbl->EnumQuotas(This,path,options,quotas);
448 }
449 static FORCEINLINE HRESULT IFsrmQuotaManager_EnumAutoApplyQuotas(IFsrmQuotaManager* This,BSTR path,FsrmEnumOptions options,IFsrmCommittableCollection **quotas) {
450     return This->lpVtbl->EnumAutoApplyQuotas(This,path,options,quotas);
451 }
452 static FORCEINLINE HRESULT IFsrmQuotaManager_EnumEffectiveQuotas(IFsrmQuotaManager* This,BSTR path,FsrmEnumOptions options,IFsrmCommittableCollection **quotas) {
453     return This->lpVtbl->EnumEffectiveQuotas(This,path,options,quotas);
454 }
455 static FORCEINLINE HRESULT IFsrmQuotaManager_Scan(IFsrmQuotaManager* This,BSTR strPath) {
456     return This->lpVtbl->Scan(This,strPath);
457 }
458 static FORCEINLINE HRESULT IFsrmQuotaManager_CreateQuotaCollection(IFsrmQuotaManager* This,IFsrmCommittableCollection **collection) {
459     return This->lpVtbl->CreateQuotaCollection(This,collection);
460 }
461 #endif
462 #endif
463 
464 #endif
465 
466 
467 #endif  /* __IFsrmQuotaManager_INTERFACE_DEFINED__ */
468 
469 /*****************************************************************************
470  * IFsrmQuotaTemplateManager interface
471  */
472 #ifndef __IFsrmQuotaTemplateManager_INTERFACE_DEFINED__
473 #define __IFsrmQuotaTemplateManager_INTERFACE_DEFINED__
474 
475 DEFINE_GUID(IID_IFsrmQuotaTemplateManager, 0x4173ac41, 0x172d, 0x4d52, 0x96,0x3c, 0xfd,0xc7,0xe4,0x15,0xf7,0x17);
476 #if defined(__cplusplus) && !defined(CINTERFACE)
477 MIDL_INTERFACE("4173ac41-172d-4d52-963c-fdc7e415f717")
478 IFsrmQuotaTemplateManager : public IDispatch
479 {
480     virtual HRESULT STDMETHODCALLTYPE CreateTemplate(
481         IFsrmQuotaTemplate **quotaTemplate) = 0;
482 
483     virtual HRESULT STDMETHODCALLTYPE GetTemplate(
484         BSTR name,
485         IFsrmQuotaTemplate **quotaTemplate) = 0;
486 
487     virtual HRESULT STDMETHODCALLTYPE EnumTemplates(
488         FsrmEnumOptions options,
489         IFsrmCommittableCollection **quotaTemplates) = 0;
490 
491     virtual HRESULT STDMETHODCALLTYPE ExportTemplates(
492         VARIANT *quotaTemplateNamesArray,
493         BSTR *serializedQuotaTemplates) = 0;
494 
495     virtual HRESULT STDMETHODCALLTYPE ImportTemplates(
496         BSTR serializedQuotaTemplates,
497         VARIANT *quotaTemplateNamesArray,
498         IFsrmCommittableCollection **quotaTemplates) = 0;
499 
500 };
501 #ifdef __CRT_UUID_DECL
502 __CRT_UUID_DECL(IFsrmQuotaTemplateManager, 0x4173ac41, 0x172d, 0x4d52, 0x96,0x3c, 0xfd,0xc7,0xe4,0x15,0xf7,0x17)
503 #endif
504 #else
505 typedef struct IFsrmQuotaTemplateManagerVtbl {
506     BEGIN_INTERFACE
507 
508     /*** IUnknown methods ***/
509     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
510         IFsrmQuotaTemplateManager *This,
511         REFIID riid,
512         void **ppvObject);
513 
514     ULONG (STDMETHODCALLTYPE *AddRef)(
515         IFsrmQuotaTemplateManager *This);
516 
517     ULONG (STDMETHODCALLTYPE *Release)(
518         IFsrmQuotaTemplateManager *This);
519 
520     /*** IDispatch methods ***/
521     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
522         IFsrmQuotaTemplateManager *This,
523         UINT *pctinfo);
524 
525     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
526         IFsrmQuotaTemplateManager *This,
527         UINT iTInfo,
528         LCID lcid,
529         ITypeInfo **ppTInfo);
530 
531     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
532         IFsrmQuotaTemplateManager *This,
533         REFIID riid,
534         LPOLESTR *rgszNames,
535         UINT cNames,
536         LCID lcid,
537         DISPID *rgDispId);
538 
539     HRESULT (STDMETHODCALLTYPE *Invoke)(
540         IFsrmQuotaTemplateManager *This,
541         DISPID dispIdMember,
542         REFIID riid,
543         LCID lcid,
544         WORD wFlags,
545         DISPPARAMS *pDispParams,
546         VARIANT *pVarResult,
547         EXCEPINFO *pExcepInfo,
548         UINT *puArgErr);
549 
550     /*** IFsrmQuotaTemplateManager methods ***/
551     HRESULT (STDMETHODCALLTYPE *CreateTemplate)(
552         IFsrmQuotaTemplateManager *This,
553         IFsrmQuotaTemplate **quotaTemplate);
554 
555     HRESULT (STDMETHODCALLTYPE *GetTemplate)(
556         IFsrmQuotaTemplateManager *This,
557         BSTR name,
558         IFsrmQuotaTemplate **quotaTemplate);
559 
560     HRESULT (STDMETHODCALLTYPE *EnumTemplates)(
561         IFsrmQuotaTemplateManager *This,
562         FsrmEnumOptions options,
563         IFsrmCommittableCollection **quotaTemplates);
564 
565     HRESULT (STDMETHODCALLTYPE *ExportTemplates)(
566         IFsrmQuotaTemplateManager *This,
567         VARIANT *quotaTemplateNamesArray,
568         BSTR *serializedQuotaTemplates);
569 
570     HRESULT (STDMETHODCALLTYPE *ImportTemplates)(
571         IFsrmQuotaTemplateManager *This,
572         BSTR serializedQuotaTemplates,
573         VARIANT *quotaTemplateNamesArray,
574         IFsrmCommittableCollection **quotaTemplates);
575 
576     END_INTERFACE
577 } IFsrmQuotaTemplateManagerVtbl;
578 
579 interface IFsrmQuotaTemplateManager {
580     CONST_VTBL IFsrmQuotaTemplateManagerVtbl* lpVtbl;
581 };
582 
583 #ifdef COBJMACROS
584 #ifndef WIDL_C_INLINE_WRAPPERS
585 /*** IUnknown methods ***/
586 #define IFsrmQuotaTemplateManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
587 #define IFsrmQuotaTemplateManager_AddRef(This) (This)->lpVtbl->AddRef(This)
588 #define IFsrmQuotaTemplateManager_Release(This) (This)->lpVtbl->Release(This)
589 /*** IDispatch methods ***/
590 #define IFsrmQuotaTemplateManager_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
591 #define IFsrmQuotaTemplateManager_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
592 #define IFsrmQuotaTemplateManager_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
593 #define IFsrmQuotaTemplateManager_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
594 /*** IFsrmQuotaTemplateManager methods ***/
595 #define IFsrmQuotaTemplateManager_CreateTemplate(This,quotaTemplate) (This)->lpVtbl->CreateTemplate(This,quotaTemplate)
596 #define IFsrmQuotaTemplateManager_GetTemplate(This,name,quotaTemplate) (This)->lpVtbl->GetTemplate(This,name,quotaTemplate)
597 #define IFsrmQuotaTemplateManager_EnumTemplates(This,options,quotaTemplates) (This)->lpVtbl->EnumTemplates(This,options,quotaTemplates)
598 #define IFsrmQuotaTemplateManager_ExportTemplates(This,quotaTemplateNamesArray,serializedQuotaTemplates) (This)->lpVtbl->ExportTemplates(This,quotaTemplateNamesArray,serializedQuotaTemplates)
599 #define IFsrmQuotaTemplateManager_ImportTemplates(This,serializedQuotaTemplates,quotaTemplateNamesArray,quotaTemplates) (This)->lpVtbl->ImportTemplates(This,serializedQuotaTemplates,quotaTemplateNamesArray,quotaTemplates)
600 #else
601 /*** IUnknown methods ***/
602 static FORCEINLINE HRESULT IFsrmQuotaTemplateManager_QueryInterface(IFsrmQuotaTemplateManager* This,REFIID riid,void **ppvObject) {
603     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
604 }
605 static FORCEINLINE ULONG IFsrmQuotaTemplateManager_AddRef(IFsrmQuotaTemplateManager* This) {
606     return This->lpVtbl->AddRef(This);
607 }
608 static FORCEINLINE ULONG IFsrmQuotaTemplateManager_Release(IFsrmQuotaTemplateManager* This) {
609     return This->lpVtbl->Release(This);
610 }
611 /*** IDispatch methods ***/
612 static FORCEINLINE HRESULT IFsrmQuotaTemplateManager_GetTypeInfoCount(IFsrmQuotaTemplateManager* This,UINT *pctinfo) {
613     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
614 }
615 static FORCEINLINE HRESULT IFsrmQuotaTemplateManager_GetTypeInfo(IFsrmQuotaTemplateManager* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
616     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
617 }
618 static FORCEINLINE HRESULT IFsrmQuotaTemplateManager_GetIDsOfNames(IFsrmQuotaTemplateManager* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
619     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
620 }
621 static FORCEINLINE HRESULT IFsrmQuotaTemplateManager_Invoke(IFsrmQuotaTemplateManager* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
622     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
623 }
624 /*** IFsrmQuotaTemplateManager methods ***/
625 static FORCEINLINE HRESULT IFsrmQuotaTemplateManager_CreateTemplate(IFsrmQuotaTemplateManager* This,IFsrmQuotaTemplate **quotaTemplate) {
626     return This->lpVtbl->CreateTemplate(This,quotaTemplate);
627 }
628 static FORCEINLINE HRESULT IFsrmQuotaTemplateManager_GetTemplate(IFsrmQuotaTemplateManager* This,BSTR name,IFsrmQuotaTemplate **quotaTemplate) {
629     return This->lpVtbl->GetTemplate(This,name,quotaTemplate);
630 }
631 static FORCEINLINE HRESULT IFsrmQuotaTemplateManager_EnumTemplates(IFsrmQuotaTemplateManager* This,FsrmEnumOptions options,IFsrmCommittableCollection **quotaTemplates) {
632     return This->lpVtbl->EnumTemplates(This,options,quotaTemplates);
633 }
634 static FORCEINLINE HRESULT IFsrmQuotaTemplateManager_ExportTemplates(IFsrmQuotaTemplateManager* This,VARIANT *quotaTemplateNamesArray,BSTR *serializedQuotaTemplates) {
635     return This->lpVtbl->ExportTemplates(This,quotaTemplateNamesArray,serializedQuotaTemplates);
636 }
637 static FORCEINLINE HRESULT IFsrmQuotaTemplateManager_ImportTemplates(IFsrmQuotaTemplateManager* This,BSTR serializedQuotaTemplates,VARIANT *quotaTemplateNamesArray,IFsrmCommittableCollection **quotaTemplates) {
638     return This->lpVtbl->ImportTemplates(This,serializedQuotaTemplates,quotaTemplateNamesArray,quotaTemplates);
639 }
640 #endif
641 #endif
642 
643 #endif
644 
645 
646 #endif  /* __IFsrmQuotaTemplateManager_INTERFACE_DEFINED__ */
647 
648 /*****************************************************************************
649  * IFsrmQuotaBase interface
650  */
651 #ifndef __IFsrmQuotaBase_INTERFACE_DEFINED__
652 #define __IFsrmQuotaBase_INTERFACE_DEFINED__
653 
654 DEFINE_GUID(IID_IFsrmQuotaBase, 0x1568a795, 0x3924, 0x4118, 0xb7,0x4b, 0x68,0xd8,0xf0,0xfa,0x5d,0xaf);
655 #if defined(__cplusplus) && !defined(CINTERFACE)
656 MIDL_INTERFACE("1568a795-3924-4118-b74b-68d8f0fa5daf")
657 IFsrmQuotaBase : public IFsrmObject
658 {
659     virtual HRESULT STDMETHODCALLTYPE get_QuotaLimit(
660         VARIANT *quotaLimit) = 0;
661 
662     virtual HRESULT STDMETHODCALLTYPE put_QuotaLimit(
663         VARIANT quotaLimit) = 0;
664 
665     virtual HRESULT STDMETHODCALLTYPE get_QuotaFlags(
666         LONG *quotaFlags) = 0;
667 
668     virtual HRESULT STDMETHODCALLTYPE put_QuotaFlags(
669         LONG quotaFlags) = 0;
670 
671     virtual HRESULT STDMETHODCALLTYPE get_Thresholds(
672         SAFEARRAY **thresholds) = 0;
673 
674     virtual HRESULT STDMETHODCALLTYPE AddThreshold(
675         FSRM_QUOTA_THRESHOLD threshold) = 0;
676 
677     virtual HRESULT STDMETHODCALLTYPE DeleteThreshold(
678         FSRM_QUOTA_THRESHOLD threshold) = 0;
679 
680     virtual HRESULT STDMETHODCALLTYPE ModifyThreshold(
681         FSRM_QUOTA_THRESHOLD threshold,
682         FSRM_QUOTA_THRESHOLD newThreshold) = 0;
683 
684     virtual HRESULT STDMETHODCALLTYPE CreateThresholdAction(
685         FSRM_QUOTA_THRESHOLD threshold,
686         FsrmActionType actionType,
687         IFsrmAction **action) = 0;
688 
689     virtual HRESULT STDMETHODCALLTYPE EnumThresholdActions(
690         FSRM_QUOTA_THRESHOLD threshold,
691         IFsrmCollection **actions) = 0;
692 
693 };
694 #ifdef __CRT_UUID_DECL
695 __CRT_UUID_DECL(IFsrmQuotaBase, 0x1568a795, 0x3924, 0x4118, 0xb7,0x4b, 0x68,0xd8,0xf0,0xfa,0x5d,0xaf)
696 #endif
697 #else
698 typedef struct IFsrmQuotaBaseVtbl {
699     BEGIN_INTERFACE
700 
701     /*** IUnknown methods ***/
702     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
703         IFsrmQuotaBase *This,
704         REFIID riid,
705         void **ppvObject);
706 
707     ULONG (STDMETHODCALLTYPE *AddRef)(
708         IFsrmQuotaBase *This);
709 
710     ULONG (STDMETHODCALLTYPE *Release)(
711         IFsrmQuotaBase *This);
712 
713     /*** IDispatch methods ***/
714     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
715         IFsrmQuotaBase *This,
716         UINT *pctinfo);
717 
718     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
719         IFsrmQuotaBase *This,
720         UINT iTInfo,
721         LCID lcid,
722         ITypeInfo **ppTInfo);
723 
724     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
725         IFsrmQuotaBase *This,
726         REFIID riid,
727         LPOLESTR *rgszNames,
728         UINT cNames,
729         LCID lcid,
730         DISPID *rgDispId);
731 
732     HRESULT (STDMETHODCALLTYPE *Invoke)(
733         IFsrmQuotaBase *This,
734         DISPID dispIdMember,
735         REFIID riid,
736         LCID lcid,
737         WORD wFlags,
738         DISPPARAMS *pDispParams,
739         VARIANT *pVarResult,
740         EXCEPINFO *pExcepInfo,
741         UINT *puArgErr);
742 
743     /*** IFsrmObject methods ***/
744     HRESULT (STDMETHODCALLTYPE *get_Id)(
745         IFsrmQuotaBase *This,
746         FSRM_OBJECT_ID *id);
747 
748     HRESULT (STDMETHODCALLTYPE *get_Description)(
749         IFsrmQuotaBase *This,
750         BSTR *description);
751 
752     HRESULT (STDMETHODCALLTYPE *put_Description)(
753         IFsrmQuotaBase *This,
754         BSTR description);
755 
756     HRESULT (STDMETHODCALLTYPE *Delete)(
757         IFsrmQuotaBase *This);
758 
759     HRESULT (STDMETHODCALLTYPE *Commit)(
760         IFsrmQuotaBase *This);
761 
762     /*** IFsrmQuotaBase methods ***/
763     HRESULT (STDMETHODCALLTYPE *get_QuotaLimit)(
764         IFsrmQuotaBase *This,
765         VARIANT *quotaLimit);
766 
767     HRESULT (STDMETHODCALLTYPE *put_QuotaLimit)(
768         IFsrmQuotaBase *This,
769         VARIANT quotaLimit);
770 
771     HRESULT (STDMETHODCALLTYPE *get_QuotaFlags)(
772         IFsrmQuotaBase *This,
773         LONG *quotaFlags);
774 
775     HRESULT (STDMETHODCALLTYPE *put_QuotaFlags)(
776         IFsrmQuotaBase *This,
777         LONG quotaFlags);
778 
779     HRESULT (STDMETHODCALLTYPE *get_Thresholds)(
780         IFsrmQuotaBase *This,
781         SAFEARRAY **thresholds);
782 
783     HRESULT (STDMETHODCALLTYPE *AddThreshold)(
784         IFsrmQuotaBase *This,
785         FSRM_QUOTA_THRESHOLD threshold);
786 
787     HRESULT (STDMETHODCALLTYPE *DeleteThreshold)(
788         IFsrmQuotaBase *This,
789         FSRM_QUOTA_THRESHOLD threshold);
790 
791     HRESULT (STDMETHODCALLTYPE *ModifyThreshold)(
792         IFsrmQuotaBase *This,
793         FSRM_QUOTA_THRESHOLD threshold,
794         FSRM_QUOTA_THRESHOLD newThreshold);
795 
796     HRESULT (STDMETHODCALLTYPE *CreateThresholdAction)(
797         IFsrmQuotaBase *This,
798         FSRM_QUOTA_THRESHOLD threshold,
799         FsrmActionType actionType,
800         IFsrmAction **action);
801 
802     HRESULT (STDMETHODCALLTYPE *EnumThresholdActions)(
803         IFsrmQuotaBase *This,
804         FSRM_QUOTA_THRESHOLD threshold,
805         IFsrmCollection **actions);
806 
807     END_INTERFACE
808 } IFsrmQuotaBaseVtbl;
809 
810 interface IFsrmQuotaBase {
811     CONST_VTBL IFsrmQuotaBaseVtbl* lpVtbl;
812 };
813 
814 #ifdef COBJMACROS
815 #ifndef WIDL_C_INLINE_WRAPPERS
816 /*** IUnknown methods ***/
817 #define IFsrmQuotaBase_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
818 #define IFsrmQuotaBase_AddRef(This) (This)->lpVtbl->AddRef(This)
819 #define IFsrmQuotaBase_Release(This) (This)->lpVtbl->Release(This)
820 /*** IDispatch methods ***/
821 #define IFsrmQuotaBase_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
822 #define IFsrmQuotaBase_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
823 #define IFsrmQuotaBase_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
824 #define IFsrmQuotaBase_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
825 /*** IFsrmObject methods ***/
826 #define IFsrmQuotaBase_get_Id(This,id) (This)->lpVtbl->get_Id(This,id)
827 #define IFsrmQuotaBase_get_Description(This,description) (This)->lpVtbl->get_Description(This,description)
828 #define IFsrmQuotaBase_put_Description(This,description) (This)->lpVtbl->put_Description(This,description)
829 #define IFsrmQuotaBase_Delete(This) (This)->lpVtbl->Delete(This)
830 #define IFsrmQuotaBase_Commit(This) (This)->lpVtbl->Commit(This)
831 /*** IFsrmQuotaBase methods ***/
832 #define IFsrmQuotaBase_get_QuotaLimit(This,quotaLimit) (This)->lpVtbl->get_QuotaLimit(This,quotaLimit)
833 #define IFsrmQuotaBase_put_QuotaLimit(This,quotaLimit) (This)->lpVtbl->put_QuotaLimit(This,quotaLimit)
834 #define IFsrmQuotaBase_get_QuotaFlags(This,quotaFlags) (This)->lpVtbl->get_QuotaFlags(This,quotaFlags)
835 #define IFsrmQuotaBase_put_QuotaFlags(This,quotaFlags) (This)->lpVtbl->put_QuotaFlags(This,quotaFlags)
836 #define IFsrmQuotaBase_get_Thresholds(This,thresholds) (This)->lpVtbl->get_Thresholds(This,thresholds)
837 #define IFsrmQuotaBase_AddThreshold(This,threshold) (This)->lpVtbl->AddThreshold(This,threshold)
838 #define IFsrmQuotaBase_DeleteThreshold(This,threshold) (This)->lpVtbl->DeleteThreshold(This,threshold)
839 #define IFsrmQuotaBase_ModifyThreshold(This,threshold,newThreshold) (This)->lpVtbl->ModifyThreshold(This,threshold,newThreshold)
840 #define IFsrmQuotaBase_CreateThresholdAction(This,threshold,actionType,action) (This)->lpVtbl->CreateThresholdAction(This,threshold,actionType,action)
841 #define IFsrmQuotaBase_EnumThresholdActions(This,threshold,actions) (This)->lpVtbl->EnumThresholdActions(This,threshold,actions)
842 #else
843 /*** IUnknown methods ***/
844 static FORCEINLINE HRESULT IFsrmQuotaBase_QueryInterface(IFsrmQuotaBase* This,REFIID riid,void **ppvObject) {
845     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
846 }
847 static FORCEINLINE ULONG IFsrmQuotaBase_AddRef(IFsrmQuotaBase* This) {
848     return This->lpVtbl->AddRef(This);
849 }
850 static FORCEINLINE ULONG IFsrmQuotaBase_Release(IFsrmQuotaBase* This) {
851     return This->lpVtbl->Release(This);
852 }
853 /*** IDispatch methods ***/
854 static FORCEINLINE HRESULT IFsrmQuotaBase_GetTypeInfoCount(IFsrmQuotaBase* This,UINT *pctinfo) {
855     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
856 }
857 static FORCEINLINE HRESULT IFsrmQuotaBase_GetTypeInfo(IFsrmQuotaBase* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
858     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
859 }
860 static FORCEINLINE HRESULT IFsrmQuotaBase_GetIDsOfNames(IFsrmQuotaBase* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
861     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
862 }
863 static FORCEINLINE HRESULT IFsrmQuotaBase_Invoke(IFsrmQuotaBase* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
864     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
865 }
866 /*** IFsrmObject methods ***/
867 static FORCEINLINE HRESULT IFsrmQuotaBase_get_Id(IFsrmQuotaBase* This,FSRM_OBJECT_ID *id) {
868     return This->lpVtbl->get_Id(This,id);
869 }
870 static FORCEINLINE HRESULT IFsrmQuotaBase_get_Description(IFsrmQuotaBase* This,BSTR *description) {
871     return This->lpVtbl->get_Description(This,description);
872 }
873 static FORCEINLINE HRESULT IFsrmQuotaBase_put_Description(IFsrmQuotaBase* This,BSTR description) {
874     return This->lpVtbl->put_Description(This,description);
875 }
876 static FORCEINLINE HRESULT IFsrmQuotaBase_Delete(IFsrmQuotaBase* This) {
877     return This->lpVtbl->Delete(This);
878 }
879 static FORCEINLINE HRESULT IFsrmQuotaBase_Commit(IFsrmQuotaBase* This) {
880     return This->lpVtbl->Commit(This);
881 }
882 /*** IFsrmQuotaBase methods ***/
883 static FORCEINLINE HRESULT IFsrmQuotaBase_get_QuotaLimit(IFsrmQuotaBase* This,VARIANT *quotaLimit) {
884     return This->lpVtbl->get_QuotaLimit(This,quotaLimit);
885 }
886 static FORCEINLINE HRESULT IFsrmQuotaBase_put_QuotaLimit(IFsrmQuotaBase* This,VARIANT quotaLimit) {
887     return This->lpVtbl->put_QuotaLimit(This,quotaLimit);
888 }
889 static FORCEINLINE HRESULT IFsrmQuotaBase_get_QuotaFlags(IFsrmQuotaBase* This,LONG *quotaFlags) {
890     return This->lpVtbl->get_QuotaFlags(This,quotaFlags);
891 }
892 static FORCEINLINE HRESULT IFsrmQuotaBase_put_QuotaFlags(IFsrmQuotaBase* This,LONG quotaFlags) {
893     return This->lpVtbl->put_QuotaFlags(This,quotaFlags);
894 }
895 static FORCEINLINE HRESULT IFsrmQuotaBase_get_Thresholds(IFsrmQuotaBase* This,SAFEARRAY **thresholds) {
896     return This->lpVtbl->get_Thresholds(This,thresholds);
897 }
898 static FORCEINLINE HRESULT IFsrmQuotaBase_AddThreshold(IFsrmQuotaBase* This,FSRM_QUOTA_THRESHOLD threshold) {
899     return This->lpVtbl->AddThreshold(This,threshold);
900 }
901 static FORCEINLINE HRESULT IFsrmQuotaBase_DeleteThreshold(IFsrmQuotaBase* This,FSRM_QUOTA_THRESHOLD threshold) {
902     return This->lpVtbl->DeleteThreshold(This,threshold);
903 }
904 static FORCEINLINE HRESULT IFsrmQuotaBase_ModifyThreshold(IFsrmQuotaBase* This,FSRM_QUOTA_THRESHOLD threshold,FSRM_QUOTA_THRESHOLD newThreshold) {
905     return This->lpVtbl->ModifyThreshold(This,threshold,newThreshold);
906 }
907 static FORCEINLINE HRESULT IFsrmQuotaBase_CreateThresholdAction(IFsrmQuotaBase* This,FSRM_QUOTA_THRESHOLD threshold,FsrmActionType actionType,IFsrmAction **action) {
908     return This->lpVtbl->CreateThresholdAction(This,threshold,actionType,action);
909 }
910 static FORCEINLINE HRESULT IFsrmQuotaBase_EnumThresholdActions(IFsrmQuotaBase* This,FSRM_QUOTA_THRESHOLD threshold,IFsrmCollection **actions) {
911     return This->lpVtbl->EnumThresholdActions(This,threshold,actions);
912 }
913 #endif
914 #endif
915 
916 #endif
917 
918 
919 #endif  /* __IFsrmQuotaBase_INTERFACE_DEFINED__ */
920 
921 /*****************************************************************************
922  * IFsrmQuotaObject interface
923  */
924 #ifndef __IFsrmQuotaObject_INTERFACE_DEFINED__
925 #define __IFsrmQuotaObject_INTERFACE_DEFINED__
926 
927 DEFINE_GUID(IID_IFsrmQuotaObject, 0x42dc3511, 0x61d5, 0x48ae, 0xb6,0xdc, 0x59,0xfc,0x00,0xc0,0xa8,0xd6);
928 #if defined(__cplusplus) && !defined(CINTERFACE)
929 MIDL_INTERFACE("42dc3511-61d5-48ae-b6dc-59fc00c0a8d6")
930 IFsrmQuotaObject : public IFsrmQuotaBase
931 {
932     virtual HRESULT STDMETHODCALLTYPE get_Path(
933         BSTR *path) = 0;
934 
935     virtual HRESULT STDMETHODCALLTYPE get_UserSid(
936         BSTR *userSid) = 0;
937 
938     virtual HRESULT STDMETHODCALLTYPE get_UserAccount(
939         BSTR *userAccount) = 0;
940 
941     virtual HRESULT STDMETHODCALLTYPE get_SourceTemplateName(
942         BSTR *quotaTemplateName) = 0;
943 
944     virtual HRESULT STDMETHODCALLTYPE get_MatchesSourceTemplate(
945         VARIANT_BOOL *matches) = 0;
946 
947     virtual HRESULT STDMETHODCALLTYPE ApplyTemplate(
948         BSTR quotaTemplateName) = 0;
949 
950 };
951 #ifdef __CRT_UUID_DECL
952 __CRT_UUID_DECL(IFsrmQuotaObject, 0x42dc3511, 0x61d5, 0x48ae, 0xb6,0xdc, 0x59,0xfc,0x00,0xc0,0xa8,0xd6)
953 #endif
954 #else
955 typedef struct IFsrmQuotaObjectVtbl {
956     BEGIN_INTERFACE
957 
958     /*** IUnknown methods ***/
959     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
960         IFsrmQuotaObject *This,
961         REFIID riid,
962         void **ppvObject);
963 
964     ULONG (STDMETHODCALLTYPE *AddRef)(
965         IFsrmQuotaObject *This);
966 
967     ULONG (STDMETHODCALLTYPE *Release)(
968         IFsrmQuotaObject *This);
969 
970     /*** IDispatch methods ***/
971     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
972         IFsrmQuotaObject *This,
973         UINT *pctinfo);
974 
975     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
976         IFsrmQuotaObject *This,
977         UINT iTInfo,
978         LCID lcid,
979         ITypeInfo **ppTInfo);
980 
981     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
982         IFsrmQuotaObject *This,
983         REFIID riid,
984         LPOLESTR *rgszNames,
985         UINT cNames,
986         LCID lcid,
987         DISPID *rgDispId);
988 
989     HRESULT (STDMETHODCALLTYPE *Invoke)(
990         IFsrmQuotaObject *This,
991         DISPID dispIdMember,
992         REFIID riid,
993         LCID lcid,
994         WORD wFlags,
995         DISPPARAMS *pDispParams,
996         VARIANT *pVarResult,
997         EXCEPINFO *pExcepInfo,
998         UINT *puArgErr);
999 
1000     /*** IFsrmObject methods ***/
1001     HRESULT (STDMETHODCALLTYPE *get_Id)(
1002         IFsrmQuotaObject *This,
1003         FSRM_OBJECT_ID *id);
1004 
1005     HRESULT (STDMETHODCALLTYPE *get_Description)(
1006         IFsrmQuotaObject *This,
1007         BSTR *description);
1008 
1009     HRESULT (STDMETHODCALLTYPE *put_Description)(
1010         IFsrmQuotaObject *This,
1011         BSTR description);
1012 
1013     HRESULT (STDMETHODCALLTYPE *Delete)(
1014         IFsrmQuotaObject *This);
1015 
1016     HRESULT (STDMETHODCALLTYPE *Commit)(
1017         IFsrmQuotaObject *This);
1018 
1019     /*** IFsrmQuotaBase methods ***/
1020     HRESULT (STDMETHODCALLTYPE *get_QuotaLimit)(
1021         IFsrmQuotaObject *This,
1022         VARIANT *quotaLimit);
1023 
1024     HRESULT (STDMETHODCALLTYPE *put_QuotaLimit)(
1025         IFsrmQuotaObject *This,
1026         VARIANT quotaLimit);
1027 
1028     HRESULT (STDMETHODCALLTYPE *get_QuotaFlags)(
1029         IFsrmQuotaObject *This,
1030         LONG *quotaFlags);
1031 
1032     HRESULT (STDMETHODCALLTYPE *put_QuotaFlags)(
1033         IFsrmQuotaObject *This,
1034         LONG quotaFlags);
1035 
1036     HRESULT (STDMETHODCALLTYPE *get_Thresholds)(
1037         IFsrmQuotaObject *This,
1038         SAFEARRAY **thresholds);
1039 
1040     HRESULT (STDMETHODCALLTYPE *AddThreshold)(
1041         IFsrmQuotaObject *This,
1042         FSRM_QUOTA_THRESHOLD threshold);
1043 
1044     HRESULT (STDMETHODCALLTYPE *DeleteThreshold)(
1045         IFsrmQuotaObject *This,
1046         FSRM_QUOTA_THRESHOLD threshold);
1047 
1048     HRESULT (STDMETHODCALLTYPE *ModifyThreshold)(
1049         IFsrmQuotaObject *This,
1050         FSRM_QUOTA_THRESHOLD threshold,
1051         FSRM_QUOTA_THRESHOLD newThreshold);
1052 
1053     HRESULT (STDMETHODCALLTYPE *CreateThresholdAction)(
1054         IFsrmQuotaObject *This,
1055         FSRM_QUOTA_THRESHOLD threshold,
1056         FsrmActionType actionType,
1057         IFsrmAction **action);
1058 
1059     HRESULT (STDMETHODCALLTYPE *EnumThresholdActions)(
1060         IFsrmQuotaObject *This,
1061         FSRM_QUOTA_THRESHOLD threshold,
1062         IFsrmCollection **actions);
1063 
1064     /*** IFsrmQuotaObject methods ***/
1065     HRESULT (STDMETHODCALLTYPE *get_Path)(
1066         IFsrmQuotaObject *This,
1067         BSTR *path);
1068 
1069     HRESULT (STDMETHODCALLTYPE *get_UserSid)(
1070         IFsrmQuotaObject *This,
1071         BSTR *userSid);
1072 
1073     HRESULT (STDMETHODCALLTYPE *get_UserAccount)(
1074         IFsrmQuotaObject *This,
1075         BSTR *userAccount);
1076 
1077     HRESULT (STDMETHODCALLTYPE *get_SourceTemplateName)(
1078         IFsrmQuotaObject *This,
1079         BSTR *quotaTemplateName);
1080 
1081     HRESULT (STDMETHODCALLTYPE *get_MatchesSourceTemplate)(
1082         IFsrmQuotaObject *This,
1083         VARIANT_BOOL *matches);
1084 
1085     HRESULT (STDMETHODCALLTYPE *ApplyTemplate)(
1086         IFsrmQuotaObject *This,
1087         BSTR quotaTemplateName);
1088 
1089     END_INTERFACE
1090 } IFsrmQuotaObjectVtbl;
1091 
1092 interface IFsrmQuotaObject {
1093     CONST_VTBL IFsrmQuotaObjectVtbl* lpVtbl;
1094 };
1095 
1096 #ifdef COBJMACROS
1097 #ifndef WIDL_C_INLINE_WRAPPERS
1098 /*** IUnknown methods ***/
1099 #define IFsrmQuotaObject_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1100 #define IFsrmQuotaObject_AddRef(This) (This)->lpVtbl->AddRef(This)
1101 #define IFsrmQuotaObject_Release(This) (This)->lpVtbl->Release(This)
1102 /*** IDispatch methods ***/
1103 #define IFsrmQuotaObject_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
1104 #define IFsrmQuotaObject_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
1105 #define IFsrmQuotaObject_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
1106 #define IFsrmQuotaObject_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
1107 /*** IFsrmObject methods ***/
1108 #define IFsrmQuotaObject_get_Id(This,id) (This)->lpVtbl->get_Id(This,id)
1109 #define IFsrmQuotaObject_get_Description(This,description) (This)->lpVtbl->get_Description(This,description)
1110 #define IFsrmQuotaObject_put_Description(This,description) (This)->lpVtbl->put_Description(This,description)
1111 #define IFsrmQuotaObject_Delete(This) (This)->lpVtbl->Delete(This)
1112 #define IFsrmQuotaObject_Commit(This) (This)->lpVtbl->Commit(This)
1113 /*** IFsrmQuotaBase methods ***/
1114 #define IFsrmQuotaObject_get_QuotaLimit(This,quotaLimit) (This)->lpVtbl->get_QuotaLimit(This,quotaLimit)
1115 #define IFsrmQuotaObject_put_QuotaLimit(This,quotaLimit) (This)->lpVtbl->put_QuotaLimit(This,quotaLimit)
1116 #define IFsrmQuotaObject_get_QuotaFlags(This,quotaFlags) (This)->lpVtbl->get_QuotaFlags(This,quotaFlags)
1117 #define IFsrmQuotaObject_put_QuotaFlags(This,quotaFlags) (This)->lpVtbl->put_QuotaFlags(This,quotaFlags)
1118 #define IFsrmQuotaObject_get_Thresholds(This,thresholds) (This)->lpVtbl->get_Thresholds(This,thresholds)
1119 #define IFsrmQuotaObject_AddThreshold(This,threshold) (This)->lpVtbl->AddThreshold(This,threshold)
1120 #define IFsrmQuotaObject_DeleteThreshold(This,threshold) (This)->lpVtbl->DeleteThreshold(This,threshold)
1121 #define IFsrmQuotaObject_ModifyThreshold(This,threshold,newThreshold) (This)->lpVtbl->ModifyThreshold(This,threshold,newThreshold)
1122 #define IFsrmQuotaObject_CreateThresholdAction(This,threshold,actionType,action) (This)->lpVtbl->CreateThresholdAction(This,threshold,actionType,action)
1123 #define IFsrmQuotaObject_EnumThresholdActions(This,threshold,actions) (This)->lpVtbl->EnumThresholdActions(This,threshold,actions)
1124 /*** IFsrmQuotaObject methods ***/
1125 #define IFsrmQuotaObject_get_Path(This,path) (This)->lpVtbl->get_Path(This,path)
1126 #define IFsrmQuotaObject_get_UserSid(This,userSid) (This)->lpVtbl->get_UserSid(This,userSid)
1127 #define IFsrmQuotaObject_get_UserAccount(This,userAccount) (This)->lpVtbl->get_UserAccount(This,userAccount)
1128 #define IFsrmQuotaObject_get_SourceTemplateName(This,quotaTemplateName) (This)->lpVtbl->get_SourceTemplateName(This,quotaTemplateName)
1129 #define IFsrmQuotaObject_get_MatchesSourceTemplate(This,matches) (This)->lpVtbl->get_MatchesSourceTemplate(This,matches)
1130 #define IFsrmQuotaObject_ApplyTemplate(This,quotaTemplateName) (This)->lpVtbl->ApplyTemplate(This,quotaTemplateName)
1131 #else
1132 /*** IUnknown methods ***/
1133 static FORCEINLINE HRESULT IFsrmQuotaObject_QueryInterface(IFsrmQuotaObject* This,REFIID riid,void **ppvObject) {
1134     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1135 }
1136 static FORCEINLINE ULONG IFsrmQuotaObject_AddRef(IFsrmQuotaObject* This) {
1137     return This->lpVtbl->AddRef(This);
1138 }
1139 static FORCEINLINE ULONG IFsrmQuotaObject_Release(IFsrmQuotaObject* This) {
1140     return This->lpVtbl->Release(This);
1141 }
1142 /*** IDispatch methods ***/
1143 static FORCEINLINE HRESULT IFsrmQuotaObject_GetTypeInfoCount(IFsrmQuotaObject* This,UINT *pctinfo) {
1144     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
1145 }
1146 static FORCEINLINE HRESULT IFsrmQuotaObject_GetTypeInfo(IFsrmQuotaObject* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
1147     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
1148 }
1149 static FORCEINLINE HRESULT IFsrmQuotaObject_GetIDsOfNames(IFsrmQuotaObject* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
1150     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
1151 }
1152 static FORCEINLINE HRESULT IFsrmQuotaObject_Invoke(IFsrmQuotaObject* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
1153     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
1154 }
1155 /*** IFsrmObject methods ***/
1156 static FORCEINLINE HRESULT IFsrmQuotaObject_get_Id(IFsrmQuotaObject* This,FSRM_OBJECT_ID *id) {
1157     return This->lpVtbl->get_Id(This,id);
1158 }
1159 static FORCEINLINE HRESULT IFsrmQuotaObject_get_Description(IFsrmQuotaObject* This,BSTR *description) {
1160     return This->lpVtbl->get_Description(This,description);
1161 }
1162 static FORCEINLINE HRESULT IFsrmQuotaObject_put_Description(IFsrmQuotaObject* This,BSTR description) {
1163     return This->lpVtbl->put_Description(This,description);
1164 }
1165 static FORCEINLINE HRESULT IFsrmQuotaObject_Delete(IFsrmQuotaObject* This) {
1166     return This->lpVtbl->Delete(This);
1167 }
1168 static FORCEINLINE HRESULT IFsrmQuotaObject_Commit(IFsrmQuotaObject* This) {
1169     return This->lpVtbl->Commit(This);
1170 }
1171 /*** IFsrmQuotaBase methods ***/
1172 static FORCEINLINE HRESULT IFsrmQuotaObject_get_QuotaLimit(IFsrmQuotaObject* This,VARIANT *quotaLimit) {
1173     return This->lpVtbl->get_QuotaLimit(This,quotaLimit);
1174 }
1175 static FORCEINLINE HRESULT IFsrmQuotaObject_put_QuotaLimit(IFsrmQuotaObject* This,VARIANT quotaLimit) {
1176     return This->lpVtbl->put_QuotaLimit(This,quotaLimit);
1177 }
1178 static FORCEINLINE HRESULT IFsrmQuotaObject_get_QuotaFlags(IFsrmQuotaObject* This,LONG *quotaFlags) {
1179     return This->lpVtbl->get_QuotaFlags(This,quotaFlags);
1180 }
1181 static FORCEINLINE HRESULT IFsrmQuotaObject_put_QuotaFlags(IFsrmQuotaObject* This,LONG quotaFlags) {
1182     return This->lpVtbl->put_QuotaFlags(This,quotaFlags);
1183 }
1184 static FORCEINLINE HRESULT IFsrmQuotaObject_get_Thresholds(IFsrmQuotaObject* This,SAFEARRAY **thresholds) {
1185     return This->lpVtbl->get_Thresholds(This,thresholds);
1186 }
1187 static FORCEINLINE HRESULT IFsrmQuotaObject_AddThreshold(IFsrmQuotaObject* This,FSRM_QUOTA_THRESHOLD threshold) {
1188     return This->lpVtbl->AddThreshold(This,threshold);
1189 }
1190 static FORCEINLINE HRESULT IFsrmQuotaObject_DeleteThreshold(IFsrmQuotaObject* This,FSRM_QUOTA_THRESHOLD threshold) {
1191     return This->lpVtbl->DeleteThreshold(This,threshold);
1192 }
1193 static FORCEINLINE HRESULT IFsrmQuotaObject_ModifyThreshold(IFsrmQuotaObject* This,FSRM_QUOTA_THRESHOLD threshold,FSRM_QUOTA_THRESHOLD newThreshold) {
1194     return This->lpVtbl->ModifyThreshold(This,threshold,newThreshold);
1195 }
1196 static FORCEINLINE HRESULT IFsrmQuotaObject_CreateThresholdAction(IFsrmQuotaObject* This,FSRM_QUOTA_THRESHOLD threshold,FsrmActionType actionType,IFsrmAction **action) {
1197     return This->lpVtbl->CreateThresholdAction(This,threshold,actionType,action);
1198 }
1199 static FORCEINLINE HRESULT IFsrmQuotaObject_EnumThresholdActions(IFsrmQuotaObject* This,FSRM_QUOTA_THRESHOLD threshold,IFsrmCollection **actions) {
1200     return This->lpVtbl->EnumThresholdActions(This,threshold,actions);
1201 }
1202 /*** IFsrmQuotaObject methods ***/
1203 static FORCEINLINE HRESULT IFsrmQuotaObject_get_Path(IFsrmQuotaObject* This,BSTR *path) {
1204     return This->lpVtbl->get_Path(This,path);
1205 }
1206 static FORCEINLINE HRESULT IFsrmQuotaObject_get_UserSid(IFsrmQuotaObject* This,BSTR *userSid) {
1207     return This->lpVtbl->get_UserSid(This,userSid);
1208 }
1209 static FORCEINLINE HRESULT IFsrmQuotaObject_get_UserAccount(IFsrmQuotaObject* This,BSTR *userAccount) {
1210     return This->lpVtbl->get_UserAccount(This,userAccount);
1211 }
1212 static FORCEINLINE HRESULT IFsrmQuotaObject_get_SourceTemplateName(IFsrmQuotaObject* This,BSTR *quotaTemplateName) {
1213     return This->lpVtbl->get_SourceTemplateName(This,quotaTemplateName);
1214 }
1215 static FORCEINLINE HRESULT IFsrmQuotaObject_get_MatchesSourceTemplate(IFsrmQuotaObject* This,VARIANT_BOOL *matches) {
1216     return This->lpVtbl->get_MatchesSourceTemplate(This,matches);
1217 }
1218 static FORCEINLINE HRESULT IFsrmQuotaObject_ApplyTemplate(IFsrmQuotaObject* This,BSTR quotaTemplateName) {
1219     return This->lpVtbl->ApplyTemplate(This,quotaTemplateName);
1220 }
1221 #endif
1222 #endif
1223 
1224 #endif
1225 
1226 
1227 #endif  /* __IFsrmQuotaObject_INTERFACE_DEFINED__ */
1228 
1229 /*****************************************************************************
1230  * IFsrmQuotaTemplate interface
1231  */
1232 #ifndef __IFsrmQuotaTemplate_INTERFACE_DEFINED__
1233 #define __IFsrmQuotaTemplate_INTERFACE_DEFINED__
1234 
1235 DEFINE_GUID(IID_IFsrmQuotaTemplate, 0xa2efab31, 0x295e, 0x46bb, 0xb9,0x76, 0xe8,0x6d,0x58,0xb5,0x2e,0x8b);
1236 #if defined(__cplusplus) && !defined(CINTERFACE)
1237 MIDL_INTERFACE("a2efab31-295e-46bb-b976-e86d58b52e8b")
1238 IFsrmQuotaTemplate : public IFsrmQuotaBase
1239 {
1240     virtual HRESULT STDMETHODCALLTYPE get_Name(
1241         BSTR *name) = 0;
1242 
1243     virtual HRESULT STDMETHODCALLTYPE put_Name(
1244         BSTR name) = 0;
1245 
1246     virtual HRESULT STDMETHODCALLTYPE CopyTemplate(
1247         BSTR quotaTemplateName) = 0;
1248 
1249     virtual HRESULT STDMETHODCALLTYPE CommitAndUpdateDerived(
1250         FsrmCommitOptions commitOptions,
1251         FsrmTemplateApplyOptions applyOptions,
1252         IFsrmDerivedObjectsResult **derivedObjectsResult) = 0;
1253 
1254 };
1255 #ifdef __CRT_UUID_DECL
1256 __CRT_UUID_DECL(IFsrmQuotaTemplate, 0xa2efab31, 0x295e, 0x46bb, 0xb9,0x76, 0xe8,0x6d,0x58,0xb5,0x2e,0x8b)
1257 #endif
1258 #else
1259 typedef struct IFsrmQuotaTemplateVtbl {
1260     BEGIN_INTERFACE
1261 
1262     /*** IUnknown methods ***/
1263     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1264         IFsrmQuotaTemplate *This,
1265         REFIID riid,
1266         void **ppvObject);
1267 
1268     ULONG (STDMETHODCALLTYPE *AddRef)(
1269         IFsrmQuotaTemplate *This);
1270 
1271     ULONG (STDMETHODCALLTYPE *Release)(
1272         IFsrmQuotaTemplate *This);
1273 
1274     /*** IDispatch methods ***/
1275     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
1276         IFsrmQuotaTemplate *This,
1277         UINT *pctinfo);
1278 
1279     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
1280         IFsrmQuotaTemplate *This,
1281         UINT iTInfo,
1282         LCID lcid,
1283         ITypeInfo **ppTInfo);
1284 
1285     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
1286         IFsrmQuotaTemplate *This,
1287         REFIID riid,
1288         LPOLESTR *rgszNames,
1289         UINT cNames,
1290         LCID lcid,
1291         DISPID *rgDispId);
1292 
1293     HRESULT (STDMETHODCALLTYPE *Invoke)(
1294         IFsrmQuotaTemplate *This,
1295         DISPID dispIdMember,
1296         REFIID riid,
1297         LCID lcid,
1298         WORD wFlags,
1299         DISPPARAMS *pDispParams,
1300         VARIANT *pVarResult,
1301         EXCEPINFO *pExcepInfo,
1302         UINT *puArgErr);
1303 
1304     /*** IFsrmObject methods ***/
1305     HRESULT (STDMETHODCALLTYPE *get_Id)(
1306         IFsrmQuotaTemplate *This,
1307         FSRM_OBJECT_ID *id);
1308 
1309     HRESULT (STDMETHODCALLTYPE *get_Description)(
1310         IFsrmQuotaTemplate *This,
1311         BSTR *description);
1312 
1313     HRESULT (STDMETHODCALLTYPE *put_Description)(
1314         IFsrmQuotaTemplate *This,
1315         BSTR description);
1316 
1317     HRESULT (STDMETHODCALLTYPE *Delete)(
1318         IFsrmQuotaTemplate *This);
1319 
1320     HRESULT (STDMETHODCALLTYPE *Commit)(
1321         IFsrmQuotaTemplate *This);
1322 
1323     /*** IFsrmQuotaBase methods ***/
1324     HRESULT (STDMETHODCALLTYPE *get_QuotaLimit)(
1325         IFsrmQuotaTemplate *This,
1326         VARIANT *quotaLimit);
1327 
1328     HRESULT (STDMETHODCALLTYPE *put_QuotaLimit)(
1329         IFsrmQuotaTemplate *This,
1330         VARIANT quotaLimit);
1331 
1332     HRESULT (STDMETHODCALLTYPE *get_QuotaFlags)(
1333         IFsrmQuotaTemplate *This,
1334         LONG *quotaFlags);
1335 
1336     HRESULT (STDMETHODCALLTYPE *put_QuotaFlags)(
1337         IFsrmQuotaTemplate *This,
1338         LONG quotaFlags);
1339 
1340     HRESULT (STDMETHODCALLTYPE *get_Thresholds)(
1341         IFsrmQuotaTemplate *This,
1342         SAFEARRAY **thresholds);
1343 
1344     HRESULT (STDMETHODCALLTYPE *AddThreshold)(
1345         IFsrmQuotaTemplate *This,
1346         FSRM_QUOTA_THRESHOLD threshold);
1347 
1348     HRESULT (STDMETHODCALLTYPE *DeleteThreshold)(
1349         IFsrmQuotaTemplate *This,
1350         FSRM_QUOTA_THRESHOLD threshold);
1351 
1352     HRESULT (STDMETHODCALLTYPE *ModifyThreshold)(
1353         IFsrmQuotaTemplate *This,
1354         FSRM_QUOTA_THRESHOLD threshold,
1355         FSRM_QUOTA_THRESHOLD newThreshold);
1356 
1357     HRESULT (STDMETHODCALLTYPE *CreateThresholdAction)(
1358         IFsrmQuotaTemplate *This,
1359         FSRM_QUOTA_THRESHOLD threshold,
1360         FsrmActionType actionType,
1361         IFsrmAction **action);
1362 
1363     HRESULT (STDMETHODCALLTYPE *EnumThresholdActions)(
1364         IFsrmQuotaTemplate *This,
1365         FSRM_QUOTA_THRESHOLD threshold,
1366         IFsrmCollection **actions);
1367 
1368     /*** IFsrmQuotaTemplate methods ***/
1369     HRESULT (STDMETHODCALLTYPE *get_Name)(
1370         IFsrmQuotaTemplate *This,
1371         BSTR *name);
1372 
1373     HRESULT (STDMETHODCALLTYPE *put_Name)(
1374         IFsrmQuotaTemplate *This,
1375         BSTR name);
1376 
1377     HRESULT (STDMETHODCALLTYPE *CopyTemplate)(
1378         IFsrmQuotaTemplate *This,
1379         BSTR quotaTemplateName);
1380 
1381     HRESULT (STDMETHODCALLTYPE *CommitAndUpdateDerived)(
1382         IFsrmQuotaTemplate *This,
1383         FsrmCommitOptions commitOptions,
1384         FsrmTemplateApplyOptions applyOptions,
1385         IFsrmDerivedObjectsResult **derivedObjectsResult);
1386 
1387     END_INTERFACE
1388 } IFsrmQuotaTemplateVtbl;
1389 
1390 interface IFsrmQuotaTemplate {
1391     CONST_VTBL IFsrmQuotaTemplateVtbl* lpVtbl;
1392 };
1393 
1394 #ifdef COBJMACROS
1395 #ifndef WIDL_C_INLINE_WRAPPERS
1396 /*** IUnknown methods ***/
1397 #define IFsrmQuotaTemplate_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1398 #define IFsrmQuotaTemplate_AddRef(This) (This)->lpVtbl->AddRef(This)
1399 #define IFsrmQuotaTemplate_Release(This) (This)->lpVtbl->Release(This)
1400 /*** IDispatch methods ***/
1401 #define IFsrmQuotaTemplate_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
1402 #define IFsrmQuotaTemplate_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
1403 #define IFsrmQuotaTemplate_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
1404 #define IFsrmQuotaTemplate_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
1405 /*** IFsrmObject methods ***/
1406 #define IFsrmQuotaTemplate_get_Id(This,id) (This)->lpVtbl->get_Id(This,id)
1407 #define IFsrmQuotaTemplate_get_Description(This,description) (This)->lpVtbl->get_Description(This,description)
1408 #define IFsrmQuotaTemplate_put_Description(This,description) (This)->lpVtbl->put_Description(This,description)
1409 #define IFsrmQuotaTemplate_Delete(This) (This)->lpVtbl->Delete(This)
1410 #define IFsrmQuotaTemplate_Commit(This) (This)->lpVtbl->Commit(This)
1411 /*** IFsrmQuotaBase methods ***/
1412 #define IFsrmQuotaTemplate_get_QuotaLimit(This,quotaLimit) (This)->lpVtbl->get_QuotaLimit(This,quotaLimit)
1413 #define IFsrmQuotaTemplate_put_QuotaLimit(This,quotaLimit) (This)->lpVtbl->put_QuotaLimit(This,quotaLimit)
1414 #define IFsrmQuotaTemplate_get_QuotaFlags(This,quotaFlags) (This)->lpVtbl->get_QuotaFlags(This,quotaFlags)
1415 #define IFsrmQuotaTemplate_put_QuotaFlags(This,quotaFlags) (This)->lpVtbl->put_QuotaFlags(This,quotaFlags)
1416 #define IFsrmQuotaTemplate_get_Thresholds(This,thresholds) (This)->lpVtbl->get_Thresholds(This,thresholds)
1417 #define IFsrmQuotaTemplate_AddThreshold(This,threshold) (This)->lpVtbl->AddThreshold(This,threshold)
1418 #define IFsrmQuotaTemplate_DeleteThreshold(This,threshold) (This)->lpVtbl->DeleteThreshold(This,threshold)
1419 #define IFsrmQuotaTemplate_ModifyThreshold(This,threshold,newThreshold) (This)->lpVtbl->ModifyThreshold(This,threshold,newThreshold)
1420 #define IFsrmQuotaTemplate_CreateThresholdAction(This,threshold,actionType,action) (This)->lpVtbl->CreateThresholdAction(This,threshold,actionType,action)
1421 #define IFsrmQuotaTemplate_EnumThresholdActions(This,threshold,actions) (This)->lpVtbl->EnumThresholdActions(This,threshold,actions)
1422 /*** IFsrmQuotaTemplate methods ***/
1423 #define IFsrmQuotaTemplate_get_Name(This,name) (This)->lpVtbl->get_Name(This,name)
1424 #define IFsrmQuotaTemplate_put_Name(This,name) (This)->lpVtbl->put_Name(This,name)
1425 #define IFsrmQuotaTemplate_CopyTemplate(This,quotaTemplateName) (This)->lpVtbl->CopyTemplate(This,quotaTemplateName)
1426 #define IFsrmQuotaTemplate_CommitAndUpdateDerived(This,commitOptions,applyOptions,derivedObjectsResult) (This)->lpVtbl->CommitAndUpdateDerived(This,commitOptions,applyOptions,derivedObjectsResult)
1427 #else
1428 /*** IUnknown methods ***/
1429 static FORCEINLINE HRESULT IFsrmQuotaTemplate_QueryInterface(IFsrmQuotaTemplate* This,REFIID riid,void **ppvObject) {
1430     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1431 }
1432 static FORCEINLINE ULONG IFsrmQuotaTemplate_AddRef(IFsrmQuotaTemplate* This) {
1433     return This->lpVtbl->AddRef(This);
1434 }
1435 static FORCEINLINE ULONG IFsrmQuotaTemplate_Release(IFsrmQuotaTemplate* This) {
1436     return This->lpVtbl->Release(This);
1437 }
1438 /*** IDispatch methods ***/
1439 static FORCEINLINE HRESULT IFsrmQuotaTemplate_GetTypeInfoCount(IFsrmQuotaTemplate* This,UINT *pctinfo) {
1440     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
1441 }
1442 static FORCEINLINE HRESULT IFsrmQuotaTemplate_GetTypeInfo(IFsrmQuotaTemplate* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
1443     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
1444 }
1445 static FORCEINLINE HRESULT IFsrmQuotaTemplate_GetIDsOfNames(IFsrmQuotaTemplate* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
1446     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
1447 }
1448 static FORCEINLINE HRESULT IFsrmQuotaTemplate_Invoke(IFsrmQuotaTemplate* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
1449     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
1450 }
1451 /*** IFsrmObject methods ***/
1452 static FORCEINLINE HRESULT IFsrmQuotaTemplate_get_Id(IFsrmQuotaTemplate* This,FSRM_OBJECT_ID *id) {
1453     return This->lpVtbl->get_Id(This,id);
1454 }
1455 static FORCEINLINE HRESULT IFsrmQuotaTemplate_get_Description(IFsrmQuotaTemplate* This,BSTR *description) {
1456     return This->lpVtbl->get_Description(This,description);
1457 }
1458 static FORCEINLINE HRESULT IFsrmQuotaTemplate_put_Description(IFsrmQuotaTemplate* This,BSTR description) {
1459     return This->lpVtbl->put_Description(This,description);
1460 }
1461 static FORCEINLINE HRESULT IFsrmQuotaTemplate_Delete(IFsrmQuotaTemplate* This) {
1462     return This->lpVtbl->Delete(This);
1463 }
1464 static FORCEINLINE HRESULT IFsrmQuotaTemplate_Commit(IFsrmQuotaTemplate* This) {
1465     return This->lpVtbl->Commit(This);
1466 }
1467 /*** IFsrmQuotaBase methods ***/
1468 static FORCEINLINE HRESULT IFsrmQuotaTemplate_get_QuotaLimit(IFsrmQuotaTemplate* This,VARIANT *quotaLimit) {
1469     return This->lpVtbl->get_QuotaLimit(This,quotaLimit);
1470 }
1471 static FORCEINLINE HRESULT IFsrmQuotaTemplate_put_QuotaLimit(IFsrmQuotaTemplate* This,VARIANT quotaLimit) {
1472     return This->lpVtbl->put_QuotaLimit(This,quotaLimit);
1473 }
1474 static FORCEINLINE HRESULT IFsrmQuotaTemplate_get_QuotaFlags(IFsrmQuotaTemplate* This,LONG *quotaFlags) {
1475     return This->lpVtbl->get_QuotaFlags(This,quotaFlags);
1476 }
1477 static FORCEINLINE HRESULT IFsrmQuotaTemplate_put_QuotaFlags(IFsrmQuotaTemplate* This,LONG quotaFlags) {
1478     return This->lpVtbl->put_QuotaFlags(This,quotaFlags);
1479 }
1480 static FORCEINLINE HRESULT IFsrmQuotaTemplate_get_Thresholds(IFsrmQuotaTemplate* This,SAFEARRAY **thresholds) {
1481     return This->lpVtbl->get_Thresholds(This,thresholds);
1482 }
1483 static FORCEINLINE HRESULT IFsrmQuotaTemplate_AddThreshold(IFsrmQuotaTemplate* This,FSRM_QUOTA_THRESHOLD threshold) {
1484     return This->lpVtbl->AddThreshold(This,threshold);
1485 }
1486 static FORCEINLINE HRESULT IFsrmQuotaTemplate_DeleteThreshold(IFsrmQuotaTemplate* This,FSRM_QUOTA_THRESHOLD threshold) {
1487     return This->lpVtbl->DeleteThreshold(This,threshold);
1488 }
1489 static FORCEINLINE HRESULT IFsrmQuotaTemplate_ModifyThreshold(IFsrmQuotaTemplate* This,FSRM_QUOTA_THRESHOLD threshold,FSRM_QUOTA_THRESHOLD newThreshold) {
1490     return This->lpVtbl->ModifyThreshold(This,threshold,newThreshold);
1491 }
1492 static FORCEINLINE HRESULT IFsrmQuotaTemplate_CreateThresholdAction(IFsrmQuotaTemplate* This,FSRM_QUOTA_THRESHOLD threshold,FsrmActionType actionType,IFsrmAction **action) {
1493     return This->lpVtbl->CreateThresholdAction(This,threshold,actionType,action);
1494 }
1495 static FORCEINLINE HRESULT IFsrmQuotaTemplate_EnumThresholdActions(IFsrmQuotaTemplate* This,FSRM_QUOTA_THRESHOLD threshold,IFsrmCollection **actions) {
1496     return This->lpVtbl->EnumThresholdActions(This,threshold,actions);
1497 }
1498 /*** IFsrmQuotaTemplate methods ***/
1499 static FORCEINLINE HRESULT IFsrmQuotaTemplate_get_Name(IFsrmQuotaTemplate* This,BSTR *name) {
1500     return This->lpVtbl->get_Name(This,name);
1501 }
1502 static FORCEINLINE HRESULT IFsrmQuotaTemplate_put_Name(IFsrmQuotaTemplate* This,BSTR name) {
1503     return This->lpVtbl->put_Name(This,name);
1504 }
1505 static FORCEINLINE HRESULT IFsrmQuotaTemplate_CopyTemplate(IFsrmQuotaTemplate* This,BSTR quotaTemplateName) {
1506     return This->lpVtbl->CopyTemplate(This,quotaTemplateName);
1507 }
1508 static FORCEINLINE HRESULT IFsrmQuotaTemplate_CommitAndUpdateDerived(IFsrmQuotaTemplate* This,FsrmCommitOptions commitOptions,FsrmTemplateApplyOptions applyOptions,IFsrmDerivedObjectsResult **derivedObjectsResult) {
1509     return This->lpVtbl->CommitAndUpdateDerived(This,commitOptions,applyOptions,derivedObjectsResult);
1510 }
1511 #endif
1512 #endif
1513 
1514 #endif
1515 
1516 
1517 #endif  /* __IFsrmQuotaTemplate_INTERFACE_DEFINED__ */
1518 
1519 /*****************************************************************************
1520  * IFsrmQuota interface
1521  */
1522 #ifndef __IFsrmQuota_INTERFACE_DEFINED__
1523 #define __IFsrmQuota_INTERFACE_DEFINED__
1524 
1525 DEFINE_GUID(IID_IFsrmQuota, 0x377f739d, 0x9647, 0x4b8e, 0x97,0xd2, 0x5f,0xfc,0xe6,0xd7,0x59,0xcd);
1526 #if defined(__cplusplus) && !defined(CINTERFACE)
1527 MIDL_INTERFACE("377f739d-9647-4b8e-97d2-5ffce6d759cd")
1528 IFsrmQuota : public IFsrmQuotaObject
1529 {
1530     virtual HRESULT STDMETHODCALLTYPE get_QuotaUsed(
1531         VARIANT *used) = 0;
1532 
1533     virtual HRESULT STDMETHODCALLTYPE get_QuotaPeakUsage(
1534         VARIANT *peakUsage) = 0;
1535 
1536     virtual HRESULT STDMETHODCALLTYPE get_QuotaPeakUsageTime(
1537         DATE *peakUsageDateTime) = 0;
1538 
1539     virtual HRESULT STDMETHODCALLTYPE ResetPeakUsage(
1540         ) = 0;
1541 
1542     virtual HRESULT STDMETHODCALLTYPE RefreshUsageProperties(
1543         ) = 0;
1544 
1545 };
1546 #ifdef __CRT_UUID_DECL
1547 __CRT_UUID_DECL(IFsrmQuota, 0x377f739d, 0x9647, 0x4b8e, 0x97,0xd2, 0x5f,0xfc,0xe6,0xd7,0x59,0xcd)
1548 #endif
1549 #else
1550 typedef struct IFsrmQuotaVtbl {
1551     BEGIN_INTERFACE
1552 
1553     /*** IUnknown methods ***/
1554     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1555         IFsrmQuota *This,
1556         REFIID riid,
1557         void **ppvObject);
1558 
1559     ULONG (STDMETHODCALLTYPE *AddRef)(
1560         IFsrmQuota *This);
1561 
1562     ULONG (STDMETHODCALLTYPE *Release)(
1563         IFsrmQuota *This);
1564 
1565     /*** IDispatch methods ***/
1566     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
1567         IFsrmQuota *This,
1568         UINT *pctinfo);
1569 
1570     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
1571         IFsrmQuota *This,
1572         UINT iTInfo,
1573         LCID lcid,
1574         ITypeInfo **ppTInfo);
1575 
1576     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
1577         IFsrmQuota *This,
1578         REFIID riid,
1579         LPOLESTR *rgszNames,
1580         UINT cNames,
1581         LCID lcid,
1582         DISPID *rgDispId);
1583 
1584     HRESULT (STDMETHODCALLTYPE *Invoke)(
1585         IFsrmQuota *This,
1586         DISPID dispIdMember,
1587         REFIID riid,
1588         LCID lcid,
1589         WORD wFlags,
1590         DISPPARAMS *pDispParams,
1591         VARIANT *pVarResult,
1592         EXCEPINFO *pExcepInfo,
1593         UINT *puArgErr);
1594 
1595     /*** IFsrmObject methods ***/
1596     HRESULT (STDMETHODCALLTYPE *get_Id)(
1597         IFsrmQuota *This,
1598         FSRM_OBJECT_ID *id);
1599 
1600     HRESULT (STDMETHODCALLTYPE *get_Description)(
1601         IFsrmQuota *This,
1602         BSTR *description);
1603 
1604     HRESULT (STDMETHODCALLTYPE *put_Description)(
1605         IFsrmQuota *This,
1606         BSTR description);
1607 
1608     HRESULT (STDMETHODCALLTYPE *Delete)(
1609         IFsrmQuota *This);
1610 
1611     HRESULT (STDMETHODCALLTYPE *Commit)(
1612         IFsrmQuota *This);
1613 
1614     /*** IFsrmQuotaBase methods ***/
1615     HRESULT (STDMETHODCALLTYPE *get_QuotaLimit)(
1616         IFsrmQuota *This,
1617         VARIANT *quotaLimit);
1618 
1619     HRESULT (STDMETHODCALLTYPE *put_QuotaLimit)(
1620         IFsrmQuota *This,
1621         VARIANT quotaLimit);
1622 
1623     HRESULT (STDMETHODCALLTYPE *get_QuotaFlags)(
1624         IFsrmQuota *This,
1625         LONG *quotaFlags);
1626 
1627     HRESULT (STDMETHODCALLTYPE *put_QuotaFlags)(
1628         IFsrmQuota *This,
1629         LONG quotaFlags);
1630 
1631     HRESULT (STDMETHODCALLTYPE *get_Thresholds)(
1632         IFsrmQuota *This,
1633         SAFEARRAY **thresholds);
1634 
1635     HRESULT (STDMETHODCALLTYPE *AddThreshold)(
1636         IFsrmQuota *This,
1637         FSRM_QUOTA_THRESHOLD threshold);
1638 
1639     HRESULT (STDMETHODCALLTYPE *DeleteThreshold)(
1640         IFsrmQuota *This,
1641         FSRM_QUOTA_THRESHOLD threshold);
1642 
1643     HRESULT (STDMETHODCALLTYPE *ModifyThreshold)(
1644         IFsrmQuota *This,
1645         FSRM_QUOTA_THRESHOLD threshold,
1646         FSRM_QUOTA_THRESHOLD newThreshold);
1647 
1648     HRESULT (STDMETHODCALLTYPE *CreateThresholdAction)(
1649         IFsrmQuota *This,
1650         FSRM_QUOTA_THRESHOLD threshold,
1651         FsrmActionType actionType,
1652         IFsrmAction **action);
1653 
1654     HRESULT (STDMETHODCALLTYPE *EnumThresholdActions)(
1655         IFsrmQuota *This,
1656         FSRM_QUOTA_THRESHOLD threshold,
1657         IFsrmCollection **actions);
1658 
1659     /*** IFsrmQuotaObject methods ***/
1660     HRESULT (STDMETHODCALLTYPE *get_Path)(
1661         IFsrmQuota *This,
1662         BSTR *path);
1663 
1664     HRESULT (STDMETHODCALLTYPE *get_UserSid)(
1665         IFsrmQuota *This,
1666         BSTR *userSid);
1667 
1668     HRESULT (STDMETHODCALLTYPE *get_UserAccount)(
1669         IFsrmQuota *This,
1670         BSTR *userAccount);
1671 
1672     HRESULT (STDMETHODCALLTYPE *get_SourceTemplateName)(
1673         IFsrmQuota *This,
1674         BSTR *quotaTemplateName);
1675 
1676     HRESULT (STDMETHODCALLTYPE *get_MatchesSourceTemplate)(
1677         IFsrmQuota *This,
1678         VARIANT_BOOL *matches);
1679 
1680     HRESULT (STDMETHODCALLTYPE *ApplyTemplate)(
1681         IFsrmQuota *This,
1682         BSTR quotaTemplateName);
1683 
1684     /*** IFsrmQuota methods ***/
1685     HRESULT (STDMETHODCALLTYPE *get_QuotaUsed)(
1686         IFsrmQuota *This,
1687         VARIANT *used);
1688 
1689     HRESULT (STDMETHODCALLTYPE *get_QuotaPeakUsage)(
1690         IFsrmQuota *This,
1691         VARIANT *peakUsage);
1692 
1693     HRESULT (STDMETHODCALLTYPE *get_QuotaPeakUsageTime)(
1694         IFsrmQuota *This,
1695         DATE *peakUsageDateTime);
1696 
1697     HRESULT (STDMETHODCALLTYPE *ResetPeakUsage)(
1698         IFsrmQuota *This);
1699 
1700     HRESULT (STDMETHODCALLTYPE *RefreshUsageProperties)(
1701         IFsrmQuota *This);
1702 
1703     END_INTERFACE
1704 } IFsrmQuotaVtbl;
1705 
1706 interface IFsrmQuota {
1707     CONST_VTBL IFsrmQuotaVtbl* lpVtbl;
1708 };
1709 
1710 #ifdef COBJMACROS
1711 #ifndef WIDL_C_INLINE_WRAPPERS
1712 /*** IUnknown methods ***/
1713 #define IFsrmQuota_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1714 #define IFsrmQuota_AddRef(This) (This)->lpVtbl->AddRef(This)
1715 #define IFsrmQuota_Release(This) (This)->lpVtbl->Release(This)
1716 /*** IDispatch methods ***/
1717 #define IFsrmQuota_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
1718 #define IFsrmQuota_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
1719 #define IFsrmQuota_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
1720 #define IFsrmQuota_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
1721 /*** IFsrmObject methods ***/
1722 #define IFsrmQuota_get_Id(This,id) (This)->lpVtbl->get_Id(This,id)
1723 #define IFsrmQuota_get_Description(This,description) (This)->lpVtbl->get_Description(This,description)
1724 #define IFsrmQuota_put_Description(This,description) (This)->lpVtbl->put_Description(This,description)
1725 #define IFsrmQuota_Delete(This) (This)->lpVtbl->Delete(This)
1726 #define IFsrmQuota_Commit(This) (This)->lpVtbl->Commit(This)
1727 /*** IFsrmQuotaBase methods ***/
1728 #define IFsrmQuota_get_QuotaLimit(This,quotaLimit) (This)->lpVtbl->get_QuotaLimit(This,quotaLimit)
1729 #define IFsrmQuota_put_QuotaLimit(This,quotaLimit) (This)->lpVtbl->put_QuotaLimit(This,quotaLimit)
1730 #define IFsrmQuota_get_QuotaFlags(This,quotaFlags) (This)->lpVtbl->get_QuotaFlags(This,quotaFlags)
1731 #define IFsrmQuota_put_QuotaFlags(This,quotaFlags) (This)->lpVtbl->put_QuotaFlags(This,quotaFlags)
1732 #define IFsrmQuota_get_Thresholds(This,thresholds) (This)->lpVtbl->get_Thresholds(This,thresholds)
1733 #define IFsrmQuota_AddThreshold(This,threshold) (This)->lpVtbl->AddThreshold(This,threshold)
1734 #define IFsrmQuota_DeleteThreshold(This,threshold) (This)->lpVtbl->DeleteThreshold(This,threshold)
1735 #define IFsrmQuota_ModifyThreshold(This,threshold,newThreshold) (This)->lpVtbl->ModifyThreshold(This,threshold,newThreshold)
1736 #define IFsrmQuota_CreateThresholdAction(This,threshold,actionType,action) (This)->lpVtbl->CreateThresholdAction(This,threshold,actionType,action)
1737 #define IFsrmQuota_EnumThresholdActions(This,threshold,actions) (This)->lpVtbl->EnumThresholdActions(This,threshold,actions)
1738 /*** IFsrmQuotaObject methods ***/
1739 #define IFsrmQuota_get_Path(This,path) (This)->lpVtbl->get_Path(This,path)
1740 #define IFsrmQuota_get_UserSid(This,userSid) (This)->lpVtbl->get_UserSid(This,userSid)
1741 #define IFsrmQuota_get_UserAccount(This,userAccount) (This)->lpVtbl->get_UserAccount(This,userAccount)
1742 #define IFsrmQuota_get_SourceTemplateName(This,quotaTemplateName) (This)->lpVtbl->get_SourceTemplateName(This,quotaTemplateName)
1743 #define IFsrmQuota_get_MatchesSourceTemplate(This,matches) (This)->lpVtbl->get_MatchesSourceTemplate(This,matches)
1744 #define IFsrmQuota_ApplyTemplate(This,quotaTemplateName) (This)->lpVtbl->ApplyTemplate(This,quotaTemplateName)
1745 /*** IFsrmQuota methods ***/
1746 #define IFsrmQuota_get_QuotaUsed(This,used) (This)->lpVtbl->get_QuotaUsed(This,used)
1747 #define IFsrmQuota_get_QuotaPeakUsage(This,peakUsage) (This)->lpVtbl->get_QuotaPeakUsage(This,peakUsage)
1748 #define IFsrmQuota_get_QuotaPeakUsageTime(This,peakUsageDateTime) (This)->lpVtbl->get_QuotaPeakUsageTime(This,peakUsageDateTime)
1749 #define IFsrmQuota_ResetPeakUsage(This) (This)->lpVtbl->ResetPeakUsage(This)
1750 #define IFsrmQuota_RefreshUsageProperties(This) (This)->lpVtbl->RefreshUsageProperties(This)
1751 #else
1752 /*** IUnknown methods ***/
1753 static FORCEINLINE HRESULT IFsrmQuota_QueryInterface(IFsrmQuota* This,REFIID riid,void **ppvObject) {
1754     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1755 }
1756 static FORCEINLINE ULONG IFsrmQuota_AddRef(IFsrmQuota* This) {
1757     return This->lpVtbl->AddRef(This);
1758 }
1759 static FORCEINLINE ULONG IFsrmQuota_Release(IFsrmQuota* This) {
1760     return This->lpVtbl->Release(This);
1761 }
1762 /*** IDispatch methods ***/
1763 static FORCEINLINE HRESULT IFsrmQuota_GetTypeInfoCount(IFsrmQuota* This,UINT *pctinfo) {
1764     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
1765 }
1766 static FORCEINLINE HRESULT IFsrmQuota_GetTypeInfo(IFsrmQuota* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
1767     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
1768 }
1769 static FORCEINLINE HRESULT IFsrmQuota_GetIDsOfNames(IFsrmQuota* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
1770     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
1771 }
1772 static FORCEINLINE HRESULT IFsrmQuota_Invoke(IFsrmQuota* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
1773     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
1774 }
1775 /*** IFsrmObject methods ***/
1776 static FORCEINLINE HRESULT IFsrmQuota_get_Id(IFsrmQuota* This,FSRM_OBJECT_ID *id) {
1777     return This->lpVtbl->get_Id(This,id);
1778 }
1779 static FORCEINLINE HRESULT IFsrmQuota_get_Description(IFsrmQuota* This,BSTR *description) {
1780     return This->lpVtbl->get_Description(This,description);
1781 }
1782 static FORCEINLINE HRESULT IFsrmQuota_put_Description(IFsrmQuota* This,BSTR description) {
1783     return This->lpVtbl->put_Description(This,description);
1784 }
1785 static FORCEINLINE HRESULT IFsrmQuota_Delete(IFsrmQuota* This) {
1786     return This->lpVtbl->Delete(This);
1787 }
1788 static FORCEINLINE HRESULT IFsrmQuota_Commit(IFsrmQuota* This) {
1789     return This->lpVtbl->Commit(This);
1790 }
1791 /*** IFsrmQuotaBase methods ***/
1792 static FORCEINLINE HRESULT IFsrmQuota_get_QuotaLimit(IFsrmQuota* This,VARIANT *quotaLimit) {
1793     return This->lpVtbl->get_QuotaLimit(This,quotaLimit);
1794 }
1795 static FORCEINLINE HRESULT IFsrmQuota_put_QuotaLimit(IFsrmQuota* This,VARIANT quotaLimit) {
1796     return This->lpVtbl->put_QuotaLimit(This,quotaLimit);
1797 }
1798 static FORCEINLINE HRESULT IFsrmQuota_get_QuotaFlags(IFsrmQuota* This,LONG *quotaFlags) {
1799     return This->lpVtbl->get_QuotaFlags(This,quotaFlags);
1800 }
1801 static FORCEINLINE HRESULT IFsrmQuota_put_QuotaFlags(IFsrmQuota* This,LONG quotaFlags) {
1802     return This->lpVtbl->put_QuotaFlags(This,quotaFlags);
1803 }
1804 static FORCEINLINE HRESULT IFsrmQuota_get_Thresholds(IFsrmQuota* This,SAFEARRAY **thresholds) {
1805     return This->lpVtbl->get_Thresholds(This,thresholds);
1806 }
1807 static FORCEINLINE HRESULT IFsrmQuota_AddThreshold(IFsrmQuota* This,FSRM_QUOTA_THRESHOLD threshold) {
1808     return This->lpVtbl->AddThreshold(This,threshold);
1809 }
1810 static FORCEINLINE HRESULT IFsrmQuota_DeleteThreshold(IFsrmQuota* This,FSRM_QUOTA_THRESHOLD threshold) {
1811     return This->lpVtbl->DeleteThreshold(This,threshold);
1812 }
1813 static FORCEINLINE HRESULT IFsrmQuota_ModifyThreshold(IFsrmQuota* This,FSRM_QUOTA_THRESHOLD threshold,FSRM_QUOTA_THRESHOLD newThreshold) {
1814     return This->lpVtbl->ModifyThreshold(This,threshold,newThreshold);
1815 }
1816 static FORCEINLINE HRESULT IFsrmQuota_CreateThresholdAction(IFsrmQuota* This,FSRM_QUOTA_THRESHOLD threshold,FsrmActionType actionType,IFsrmAction **action) {
1817     return This->lpVtbl->CreateThresholdAction(This,threshold,actionType,action);
1818 }
1819 static FORCEINLINE HRESULT IFsrmQuota_EnumThresholdActions(IFsrmQuota* This,FSRM_QUOTA_THRESHOLD threshold,IFsrmCollection **actions) {
1820     return This->lpVtbl->EnumThresholdActions(This,threshold,actions);
1821 }
1822 /*** IFsrmQuotaObject methods ***/
1823 static FORCEINLINE HRESULT IFsrmQuota_get_Path(IFsrmQuota* This,BSTR *path) {
1824     return This->lpVtbl->get_Path(This,path);
1825 }
1826 static FORCEINLINE HRESULT IFsrmQuota_get_UserSid(IFsrmQuota* This,BSTR *userSid) {
1827     return This->lpVtbl->get_UserSid(This,userSid);
1828 }
1829 static FORCEINLINE HRESULT IFsrmQuota_get_UserAccount(IFsrmQuota* This,BSTR *userAccount) {
1830     return This->lpVtbl->get_UserAccount(This,userAccount);
1831 }
1832 static FORCEINLINE HRESULT IFsrmQuota_get_SourceTemplateName(IFsrmQuota* This,BSTR *quotaTemplateName) {
1833     return This->lpVtbl->get_SourceTemplateName(This,quotaTemplateName);
1834 }
1835 static FORCEINLINE HRESULT IFsrmQuota_get_MatchesSourceTemplate(IFsrmQuota* This,VARIANT_BOOL *matches) {
1836     return This->lpVtbl->get_MatchesSourceTemplate(This,matches);
1837 }
1838 static FORCEINLINE HRESULT IFsrmQuota_ApplyTemplate(IFsrmQuota* This,BSTR quotaTemplateName) {
1839     return This->lpVtbl->ApplyTemplate(This,quotaTemplateName);
1840 }
1841 /*** IFsrmQuota methods ***/
1842 static FORCEINLINE HRESULT IFsrmQuota_get_QuotaUsed(IFsrmQuota* This,VARIANT *used) {
1843     return This->lpVtbl->get_QuotaUsed(This,used);
1844 }
1845 static FORCEINLINE HRESULT IFsrmQuota_get_QuotaPeakUsage(IFsrmQuota* This,VARIANT *peakUsage) {
1846     return This->lpVtbl->get_QuotaPeakUsage(This,peakUsage);
1847 }
1848 static FORCEINLINE HRESULT IFsrmQuota_get_QuotaPeakUsageTime(IFsrmQuota* This,DATE *peakUsageDateTime) {
1849     return This->lpVtbl->get_QuotaPeakUsageTime(This,peakUsageDateTime);
1850 }
1851 static FORCEINLINE HRESULT IFsrmQuota_ResetPeakUsage(IFsrmQuota* This) {
1852     return This->lpVtbl->ResetPeakUsage(This);
1853 }
1854 static FORCEINLINE HRESULT IFsrmQuota_RefreshUsageProperties(IFsrmQuota* This) {
1855     return This->lpVtbl->RefreshUsageProperties(This);
1856 }
1857 #endif
1858 #endif
1859 
1860 #endif
1861 
1862 
1863 #endif  /* __IFsrmQuota_INTERFACE_DEFINED__ */
1864 
1865 /*****************************************************************************
1866  * IFsrmAutoApplyQuota interface
1867  */
1868 #ifndef __IFsrmAutoApplyQuota_INTERFACE_DEFINED__
1869 #define __IFsrmAutoApplyQuota_INTERFACE_DEFINED__
1870 
1871 DEFINE_GUID(IID_IFsrmAutoApplyQuota, 0xf82e5729, 0x6aba, 0x4740, 0xbf,0xc7, 0xc7,0xf5,0x8f,0x75,0xfb,0x7b);
1872 #if defined(__cplusplus) && !defined(CINTERFACE)
1873 MIDL_INTERFACE("f82e5729-6aba-4740-bfc7-c7f58f75fb7b")
1874 IFsrmAutoApplyQuota : public IFsrmQuotaObject
1875 {
1876     virtual HRESULT STDMETHODCALLTYPE get_ExcludeFolders(
1877         SAFEARRAY **folders) = 0;
1878 
1879     virtual HRESULT STDMETHODCALLTYPE put_ExcludeFolders(
1880         SAFEARRAY *folders) = 0;
1881 
1882     virtual HRESULT STDMETHODCALLTYPE CommitAndUpdateDerived(
1883         FsrmCommitOptions commitOptions,
1884         FsrmTemplateApplyOptions applyOptions,
1885         IFsrmDerivedObjectsResult **derivedObjectsResult) = 0;
1886 
1887 };
1888 #ifdef __CRT_UUID_DECL
1889 __CRT_UUID_DECL(IFsrmAutoApplyQuota, 0xf82e5729, 0x6aba, 0x4740, 0xbf,0xc7, 0xc7,0xf5,0x8f,0x75,0xfb,0x7b)
1890 #endif
1891 #else
1892 typedef struct IFsrmAutoApplyQuotaVtbl {
1893     BEGIN_INTERFACE
1894 
1895     /*** IUnknown methods ***/
1896     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1897         IFsrmAutoApplyQuota *This,
1898         REFIID riid,
1899         void **ppvObject);
1900 
1901     ULONG (STDMETHODCALLTYPE *AddRef)(
1902         IFsrmAutoApplyQuota *This);
1903 
1904     ULONG (STDMETHODCALLTYPE *Release)(
1905         IFsrmAutoApplyQuota *This);
1906 
1907     /*** IDispatch methods ***/
1908     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
1909         IFsrmAutoApplyQuota *This,
1910         UINT *pctinfo);
1911 
1912     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
1913         IFsrmAutoApplyQuota *This,
1914         UINT iTInfo,
1915         LCID lcid,
1916         ITypeInfo **ppTInfo);
1917 
1918     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
1919         IFsrmAutoApplyQuota *This,
1920         REFIID riid,
1921         LPOLESTR *rgszNames,
1922         UINT cNames,
1923         LCID lcid,
1924         DISPID *rgDispId);
1925 
1926     HRESULT (STDMETHODCALLTYPE *Invoke)(
1927         IFsrmAutoApplyQuota *This,
1928         DISPID dispIdMember,
1929         REFIID riid,
1930         LCID lcid,
1931         WORD wFlags,
1932         DISPPARAMS *pDispParams,
1933         VARIANT *pVarResult,
1934         EXCEPINFO *pExcepInfo,
1935         UINT *puArgErr);
1936 
1937     /*** IFsrmObject methods ***/
1938     HRESULT (STDMETHODCALLTYPE *get_Id)(
1939         IFsrmAutoApplyQuota *This,
1940         FSRM_OBJECT_ID *id);
1941 
1942     HRESULT (STDMETHODCALLTYPE *get_Description)(
1943         IFsrmAutoApplyQuota *This,
1944         BSTR *description);
1945 
1946     HRESULT (STDMETHODCALLTYPE *put_Description)(
1947         IFsrmAutoApplyQuota *This,
1948         BSTR description);
1949 
1950     HRESULT (STDMETHODCALLTYPE *Delete)(
1951         IFsrmAutoApplyQuota *This);
1952 
1953     HRESULT (STDMETHODCALLTYPE *Commit)(
1954         IFsrmAutoApplyQuota *This);
1955 
1956     /*** IFsrmQuotaBase methods ***/
1957     HRESULT (STDMETHODCALLTYPE *get_QuotaLimit)(
1958         IFsrmAutoApplyQuota *This,
1959         VARIANT *quotaLimit);
1960 
1961     HRESULT (STDMETHODCALLTYPE *put_QuotaLimit)(
1962         IFsrmAutoApplyQuota *This,
1963         VARIANT quotaLimit);
1964 
1965     HRESULT (STDMETHODCALLTYPE *get_QuotaFlags)(
1966         IFsrmAutoApplyQuota *This,
1967         LONG *quotaFlags);
1968 
1969     HRESULT (STDMETHODCALLTYPE *put_QuotaFlags)(
1970         IFsrmAutoApplyQuota *This,
1971         LONG quotaFlags);
1972 
1973     HRESULT (STDMETHODCALLTYPE *get_Thresholds)(
1974         IFsrmAutoApplyQuota *This,
1975         SAFEARRAY **thresholds);
1976 
1977     HRESULT (STDMETHODCALLTYPE *AddThreshold)(
1978         IFsrmAutoApplyQuota *This,
1979         FSRM_QUOTA_THRESHOLD threshold);
1980 
1981     HRESULT (STDMETHODCALLTYPE *DeleteThreshold)(
1982         IFsrmAutoApplyQuota *This,
1983         FSRM_QUOTA_THRESHOLD threshold);
1984 
1985     HRESULT (STDMETHODCALLTYPE *ModifyThreshold)(
1986         IFsrmAutoApplyQuota *This,
1987         FSRM_QUOTA_THRESHOLD threshold,
1988         FSRM_QUOTA_THRESHOLD newThreshold);
1989 
1990     HRESULT (STDMETHODCALLTYPE *CreateThresholdAction)(
1991         IFsrmAutoApplyQuota *This,
1992         FSRM_QUOTA_THRESHOLD threshold,
1993         FsrmActionType actionType,
1994         IFsrmAction **action);
1995 
1996     HRESULT (STDMETHODCALLTYPE *EnumThresholdActions)(
1997         IFsrmAutoApplyQuota *This,
1998         FSRM_QUOTA_THRESHOLD threshold,
1999         IFsrmCollection **actions);
2000 
2001     /*** IFsrmQuotaObject methods ***/
2002     HRESULT (STDMETHODCALLTYPE *get_Path)(
2003         IFsrmAutoApplyQuota *This,
2004         BSTR *path);
2005 
2006     HRESULT (STDMETHODCALLTYPE *get_UserSid)(
2007         IFsrmAutoApplyQuota *This,
2008         BSTR *userSid);
2009 
2010     HRESULT (STDMETHODCALLTYPE *get_UserAccount)(
2011         IFsrmAutoApplyQuota *This,
2012         BSTR *userAccount);
2013 
2014     HRESULT (STDMETHODCALLTYPE *get_SourceTemplateName)(
2015         IFsrmAutoApplyQuota *This,
2016         BSTR *quotaTemplateName);
2017 
2018     HRESULT (STDMETHODCALLTYPE *get_MatchesSourceTemplate)(
2019         IFsrmAutoApplyQuota *This,
2020         VARIANT_BOOL *matches);
2021 
2022     HRESULT (STDMETHODCALLTYPE *ApplyTemplate)(
2023         IFsrmAutoApplyQuota *This,
2024         BSTR quotaTemplateName);
2025 
2026     /*** IFsrmAutoApplyQuota methods ***/
2027     HRESULT (STDMETHODCALLTYPE *get_ExcludeFolders)(
2028         IFsrmAutoApplyQuota *This,
2029         SAFEARRAY **folders);
2030 
2031     HRESULT (STDMETHODCALLTYPE *put_ExcludeFolders)(
2032         IFsrmAutoApplyQuota *This,
2033         SAFEARRAY *folders);
2034 
2035     HRESULT (STDMETHODCALLTYPE *CommitAndUpdateDerived)(
2036         IFsrmAutoApplyQuota *This,
2037         FsrmCommitOptions commitOptions,
2038         FsrmTemplateApplyOptions applyOptions,
2039         IFsrmDerivedObjectsResult **derivedObjectsResult);
2040 
2041     END_INTERFACE
2042 } IFsrmAutoApplyQuotaVtbl;
2043 
2044 interface IFsrmAutoApplyQuota {
2045     CONST_VTBL IFsrmAutoApplyQuotaVtbl* lpVtbl;
2046 };
2047 
2048 #ifdef COBJMACROS
2049 #ifndef WIDL_C_INLINE_WRAPPERS
2050 /*** IUnknown methods ***/
2051 #define IFsrmAutoApplyQuota_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2052 #define IFsrmAutoApplyQuota_AddRef(This) (This)->lpVtbl->AddRef(This)
2053 #define IFsrmAutoApplyQuota_Release(This) (This)->lpVtbl->Release(This)
2054 /*** IDispatch methods ***/
2055 #define IFsrmAutoApplyQuota_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
2056 #define IFsrmAutoApplyQuota_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
2057 #define IFsrmAutoApplyQuota_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
2058 #define IFsrmAutoApplyQuota_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
2059 /*** IFsrmObject methods ***/
2060 #define IFsrmAutoApplyQuota_get_Id(This,id) (This)->lpVtbl->get_Id(This,id)
2061 #define IFsrmAutoApplyQuota_get_Description(This,description) (This)->lpVtbl->get_Description(This,description)
2062 #define IFsrmAutoApplyQuota_put_Description(This,description) (This)->lpVtbl->put_Description(This,description)
2063 #define IFsrmAutoApplyQuota_Delete(This) (This)->lpVtbl->Delete(This)
2064 #define IFsrmAutoApplyQuota_Commit(This) (This)->lpVtbl->Commit(This)
2065 /*** IFsrmQuotaBase methods ***/
2066 #define IFsrmAutoApplyQuota_get_QuotaLimit(This,quotaLimit) (This)->lpVtbl->get_QuotaLimit(This,quotaLimit)
2067 #define IFsrmAutoApplyQuota_put_QuotaLimit(This,quotaLimit) (This)->lpVtbl->put_QuotaLimit(This,quotaLimit)
2068 #define IFsrmAutoApplyQuota_get_QuotaFlags(This,quotaFlags) (This)->lpVtbl->get_QuotaFlags(This,quotaFlags)
2069 #define IFsrmAutoApplyQuota_put_QuotaFlags(This,quotaFlags) (This)->lpVtbl->put_QuotaFlags(This,quotaFlags)
2070 #define IFsrmAutoApplyQuota_get_Thresholds(This,thresholds) (This)->lpVtbl->get_Thresholds(This,thresholds)
2071 #define IFsrmAutoApplyQuota_AddThreshold(This,threshold) (This)->lpVtbl->AddThreshold(This,threshold)
2072 #define IFsrmAutoApplyQuota_DeleteThreshold(This,threshold) (This)->lpVtbl->DeleteThreshold(This,threshold)
2073 #define IFsrmAutoApplyQuota_ModifyThreshold(This,threshold,newThreshold) (This)->lpVtbl->ModifyThreshold(This,threshold,newThreshold)
2074 #define IFsrmAutoApplyQuota_CreateThresholdAction(This,threshold,actionType,action) (This)->lpVtbl->CreateThresholdAction(This,threshold,actionType,action)
2075 #define IFsrmAutoApplyQuota_EnumThresholdActions(This,threshold,actions) (This)->lpVtbl->EnumThresholdActions(This,threshold,actions)
2076 /*** IFsrmQuotaObject methods ***/
2077 #define IFsrmAutoApplyQuota_get_Path(This,path) (This)->lpVtbl->get_Path(This,path)
2078 #define IFsrmAutoApplyQuota_get_UserSid(This,userSid) (This)->lpVtbl->get_UserSid(This,userSid)
2079 #define IFsrmAutoApplyQuota_get_UserAccount(This,userAccount) (This)->lpVtbl->get_UserAccount(This,userAccount)
2080 #define IFsrmAutoApplyQuota_get_SourceTemplateName(This,quotaTemplateName) (This)->lpVtbl->get_SourceTemplateName(This,quotaTemplateName)
2081 #define IFsrmAutoApplyQuota_get_MatchesSourceTemplate(This,matches) (This)->lpVtbl->get_MatchesSourceTemplate(This,matches)
2082 #define IFsrmAutoApplyQuota_ApplyTemplate(This,quotaTemplateName) (This)->lpVtbl->ApplyTemplate(This,quotaTemplateName)
2083 /*** IFsrmAutoApplyQuota methods ***/
2084 #define IFsrmAutoApplyQuota_get_ExcludeFolders(This,folders) (This)->lpVtbl->get_ExcludeFolders(This,folders)
2085 #define IFsrmAutoApplyQuota_put_ExcludeFolders(This,folders) (This)->lpVtbl->put_ExcludeFolders(This,folders)
2086 #define IFsrmAutoApplyQuota_CommitAndUpdateDerived(This,commitOptions,applyOptions,derivedObjectsResult) (This)->lpVtbl->CommitAndUpdateDerived(This,commitOptions,applyOptions,derivedObjectsResult)
2087 #else
2088 /*** IUnknown methods ***/
2089 static FORCEINLINE HRESULT IFsrmAutoApplyQuota_QueryInterface(IFsrmAutoApplyQuota* This,REFIID riid,void **ppvObject) {
2090     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2091 }
2092 static FORCEINLINE ULONG IFsrmAutoApplyQuota_AddRef(IFsrmAutoApplyQuota* This) {
2093     return This->lpVtbl->AddRef(This);
2094 }
2095 static FORCEINLINE ULONG IFsrmAutoApplyQuota_Release(IFsrmAutoApplyQuota* This) {
2096     return This->lpVtbl->Release(This);
2097 }
2098 /*** IDispatch methods ***/
2099 static FORCEINLINE HRESULT IFsrmAutoApplyQuota_GetTypeInfoCount(IFsrmAutoApplyQuota* This,UINT *pctinfo) {
2100     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
2101 }
2102 static FORCEINLINE HRESULT IFsrmAutoApplyQuota_GetTypeInfo(IFsrmAutoApplyQuota* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
2103     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
2104 }
2105 static FORCEINLINE HRESULT IFsrmAutoApplyQuota_GetIDsOfNames(IFsrmAutoApplyQuota* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
2106     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
2107 }
2108 static FORCEINLINE HRESULT IFsrmAutoApplyQuota_Invoke(IFsrmAutoApplyQuota* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
2109     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
2110 }
2111 /*** IFsrmObject methods ***/
2112 static FORCEINLINE HRESULT IFsrmAutoApplyQuota_get_Id(IFsrmAutoApplyQuota* This,FSRM_OBJECT_ID *id) {
2113     return This->lpVtbl->get_Id(This,id);
2114 }
2115 static FORCEINLINE HRESULT IFsrmAutoApplyQuota_get_Description(IFsrmAutoApplyQuota* This,BSTR *description) {
2116     return This->lpVtbl->get_Description(This,description);
2117 }
2118 static FORCEINLINE HRESULT IFsrmAutoApplyQuota_put_Description(IFsrmAutoApplyQuota* This,BSTR description) {
2119     return This->lpVtbl->put_Description(This,description);
2120 }
2121 static FORCEINLINE HRESULT IFsrmAutoApplyQuota_Delete(IFsrmAutoApplyQuota* This) {
2122     return This->lpVtbl->Delete(This);
2123 }
2124 static FORCEINLINE HRESULT IFsrmAutoApplyQuota_Commit(IFsrmAutoApplyQuota* This) {
2125     return This->lpVtbl->Commit(This);
2126 }
2127 /*** IFsrmQuotaBase methods ***/
2128 static FORCEINLINE HRESULT IFsrmAutoApplyQuota_get_QuotaLimit(IFsrmAutoApplyQuota* This,VARIANT *quotaLimit) {
2129     return This->lpVtbl->get_QuotaLimit(This,quotaLimit);
2130 }
2131 static FORCEINLINE HRESULT IFsrmAutoApplyQuota_put_QuotaLimit(IFsrmAutoApplyQuota* This,VARIANT quotaLimit) {
2132     return This->lpVtbl->put_QuotaLimit(This,quotaLimit);
2133 }
2134 static FORCEINLINE HRESULT IFsrmAutoApplyQuota_get_QuotaFlags(IFsrmAutoApplyQuota* This,LONG *quotaFlags) {
2135     return This->lpVtbl->get_QuotaFlags(This,quotaFlags);
2136 }
2137 static FORCEINLINE HRESULT IFsrmAutoApplyQuota_put_QuotaFlags(IFsrmAutoApplyQuota* This,LONG quotaFlags) {
2138     return This->lpVtbl->put_QuotaFlags(This,quotaFlags);
2139 }
2140 static FORCEINLINE HRESULT IFsrmAutoApplyQuota_get_Thresholds(IFsrmAutoApplyQuota* This,SAFEARRAY **thresholds) {
2141     return This->lpVtbl->get_Thresholds(This,thresholds);
2142 }
2143 static FORCEINLINE HRESULT IFsrmAutoApplyQuota_AddThreshold(IFsrmAutoApplyQuota* This,FSRM_QUOTA_THRESHOLD threshold) {
2144     return This->lpVtbl->AddThreshold(This,threshold);
2145 }
2146 static FORCEINLINE HRESULT IFsrmAutoApplyQuota_DeleteThreshold(IFsrmAutoApplyQuota* This,FSRM_QUOTA_THRESHOLD threshold) {
2147     return This->lpVtbl->DeleteThreshold(This,threshold);
2148 }
2149 static FORCEINLINE HRESULT IFsrmAutoApplyQuota_ModifyThreshold(IFsrmAutoApplyQuota* This,FSRM_QUOTA_THRESHOLD threshold,FSRM_QUOTA_THRESHOLD newThreshold) {
2150     return This->lpVtbl->ModifyThreshold(This,threshold,newThreshold);
2151 }
2152 static FORCEINLINE HRESULT IFsrmAutoApplyQuota_CreateThresholdAction(IFsrmAutoApplyQuota* This,FSRM_QUOTA_THRESHOLD threshold,FsrmActionType actionType,IFsrmAction **action) {
2153     return This->lpVtbl->CreateThresholdAction(This,threshold,actionType,action);
2154 }
2155 static FORCEINLINE HRESULT IFsrmAutoApplyQuota_EnumThresholdActions(IFsrmAutoApplyQuota* This,FSRM_QUOTA_THRESHOLD threshold,IFsrmCollection **actions) {
2156     return This->lpVtbl->EnumThresholdActions(This,threshold,actions);
2157 }
2158 /*** IFsrmQuotaObject methods ***/
2159 static FORCEINLINE HRESULT IFsrmAutoApplyQuota_get_Path(IFsrmAutoApplyQuota* This,BSTR *path) {
2160     return This->lpVtbl->get_Path(This,path);
2161 }
2162 static FORCEINLINE HRESULT IFsrmAutoApplyQuota_get_UserSid(IFsrmAutoApplyQuota* This,BSTR *userSid) {
2163     return This->lpVtbl->get_UserSid(This,userSid);
2164 }
2165 static FORCEINLINE HRESULT IFsrmAutoApplyQuota_get_UserAccount(IFsrmAutoApplyQuota* This,BSTR *userAccount) {
2166     return This->lpVtbl->get_UserAccount(This,userAccount);
2167 }
2168 static FORCEINLINE HRESULT IFsrmAutoApplyQuota_get_SourceTemplateName(IFsrmAutoApplyQuota* This,BSTR *quotaTemplateName) {
2169     return This->lpVtbl->get_SourceTemplateName(This,quotaTemplateName);
2170 }
2171 static FORCEINLINE HRESULT IFsrmAutoApplyQuota_get_MatchesSourceTemplate(IFsrmAutoApplyQuota* This,VARIANT_BOOL *matches) {
2172     return This->lpVtbl->get_MatchesSourceTemplate(This,matches);
2173 }
2174 static FORCEINLINE HRESULT IFsrmAutoApplyQuota_ApplyTemplate(IFsrmAutoApplyQuota* This,BSTR quotaTemplateName) {
2175     return This->lpVtbl->ApplyTemplate(This,quotaTemplateName);
2176 }
2177 /*** IFsrmAutoApplyQuota methods ***/
2178 static FORCEINLINE HRESULT IFsrmAutoApplyQuota_get_ExcludeFolders(IFsrmAutoApplyQuota* This,SAFEARRAY **folders) {
2179     return This->lpVtbl->get_ExcludeFolders(This,folders);
2180 }
2181 static FORCEINLINE HRESULT IFsrmAutoApplyQuota_put_ExcludeFolders(IFsrmAutoApplyQuota* This,SAFEARRAY *folders) {
2182     return This->lpVtbl->put_ExcludeFolders(This,folders);
2183 }
2184 static FORCEINLINE HRESULT IFsrmAutoApplyQuota_CommitAndUpdateDerived(IFsrmAutoApplyQuota* This,FsrmCommitOptions commitOptions,FsrmTemplateApplyOptions applyOptions,IFsrmDerivedObjectsResult **derivedObjectsResult) {
2185     return This->lpVtbl->CommitAndUpdateDerived(This,commitOptions,applyOptions,derivedObjectsResult);
2186 }
2187 #endif
2188 #endif
2189 
2190 #endif
2191 
2192 
2193 #endif  /* __IFsrmAutoApplyQuota_INTERFACE_DEFINED__ */
2194 
2195 /*****************************************************************************
2196  * IFsrmQuotaManagerEx interface
2197  */
2198 #ifndef __IFsrmQuotaManagerEx_INTERFACE_DEFINED__
2199 #define __IFsrmQuotaManagerEx_INTERFACE_DEFINED__
2200 
2201 DEFINE_GUID(IID_IFsrmQuotaManagerEx, 0x4846cb01, 0xd430, 0x494f, 0xab,0xb4, 0xb1,0x05,0x49,0x99,0xfb,0x09);
2202 #if defined(__cplusplus) && !defined(CINTERFACE)
2203 MIDL_INTERFACE("4846cb01-d430-494f-abb4-b1054999fb09")
2204 IFsrmQuotaManagerEx : public IFsrmQuotaManager
2205 {
2206     virtual HRESULT STDMETHODCALLTYPE IsAffectedByQuota(
2207         BSTR path,
2208         FsrmEnumOptions options,
2209         VARIANT_BOOL *affected) = 0;
2210 
2211 };
2212 #ifdef __CRT_UUID_DECL
2213 __CRT_UUID_DECL(IFsrmQuotaManagerEx, 0x4846cb01, 0xd430, 0x494f, 0xab,0xb4, 0xb1,0x05,0x49,0x99,0xfb,0x09)
2214 #endif
2215 #else
2216 typedef struct IFsrmQuotaManagerExVtbl {
2217     BEGIN_INTERFACE
2218 
2219     /*** IUnknown methods ***/
2220     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2221         IFsrmQuotaManagerEx *This,
2222         REFIID riid,
2223         void **ppvObject);
2224 
2225     ULONG (STDMETHODCALLTYPE *AddRef)(
2226         IFsrmQuotaManagerEx *This);
2227 
2228     ULONG (STDMETHODCALLTYPE *Release)(
2229         IFsrmQuotaManagerEx *This);
2230 
2231     /*** IDispatch methods ***/
2232     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
2233         IFsrmQuotaManagerEx *This,
2234         UINT *pctinfo);
2235 
2236     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
2237         IFsrmQuotaManagerEx *This,
2238         UINT iTInfo,
2239         LCID lcid,
2240         ITypeInfo **ppTInfo);
2241 
2242     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
2243         IFsrmQuotaManagerEx *This,
2244         REFIID riid,
2245         LPOLESTR *rgszNames,
2246         UINT cNames,
2247         LCID lcid,
2248         DISPID *rgDispId);
2249 
2250     HRESULT (STDMETHODCALLTYPE *Invoke)(
2251         IFsrmQuotaManagerEx *This,
2252         DISPID dispIdMember,
2253         REFIID riid,
2254         LCID lcid,
2255         WORD wFlags,
2256         DISPPARAMS *pDispParams,
2257         VARIANT *pVarResult,
2258         EXCEPINFO *pExcepInfo,
2259         UINT *puArgErr);
2260 
2261     /*** IFsrmQuotaManager methods ***/
2262     HRESULT (STDMETHODCALLTYPE *get_ActionVariables)(
2263         IFsrmQuotaManagerEx *This,
2264         SAFEARRAY **variables);
2265 
2266     HRESULT (STDMETHODCALLTYPE *get_ActionVariableDescriptions)(
2267         IFsrmQuotaManagerEx *This,
2268         SAFEARRAY **descriptions);
2269 
2270     HRESULT (STDMETHODCALLTYPE *CreateQuota)(
2271         IFsrmQuotaManagerEx *This,
2272         BSTR path,
2273         IFsrmQuota **quota);
2274 
2275     HRESULT (STDMETHODCALLTYPE *CreateAutoApplyQuota)(
2276         IFsrmQuotaManagerEx *This,
2277         BSTR quotaTemplateName,
2278         BSTR path,
2279         IFsrmAutoApplyQuota **quota);
2280 
2281     HRESULT (STDMETHODCALLTYPE *GetQuota)(
2282         IFsrmQuotaManagerEx *This,
2283         BSTR path,
2284         IFsrmQuota **quota);
2285 
2286     HRESULT (STDMETHODCALLTYPE *GetAutoApplyQuota)(
2287         IFsrmQuotaManagerEx *This,
2288         BSTR path,
2289         IFsrmAutoApplyQuota **quota);
2290 
2291     HRESULT (STDMETHODCALLTYPE *GetRestrictiveQuota)(
2292         IFsrmQuotaManagerEx *This,
2293         BSTR path,
2294         IFsrmQuota **quota);
2295 
2296     HRESULT (STDMETHODCALLTYPE *EnumQuotas)(
2297         IFsrmQuotaManagerEx *This,
2298         BSTR path,
2299         FsrmEnumOptions options,
2300         IFsrmCommittableCollection **quotas);
2301 
2302     HRESULT (STDMETHODCALLTYPE *EnumAutoApplyQuotas)(
2303         IFsrmQuotaManagerEx *This,
2304         BSTR path,
2305         FsrmEnumOptions options,
2306         IFsrmCommittableCollection **quotas);
2307 
2308     HRESULT (STDMETHODCALLTYPE *EnumEffectiveQuotas)(
2309         IFsrmQuotaManagerEx *This,
2310         BSTR path,
2311         FsrmEnumOptions options,
2312         IFsrmCommittableCollection **quotas);
2313 
2314     HRESULT (STDMETHODCALLTYPE *Scan)(
2315         IFsrmQuotaManagerEx *This,
2316         BSTR strPath);
2317 
2318     HRESULT (STDMETHODCALLTYPE *CreateQuotaCollection)(
2319         IFsrmQuotaManagerEx *This,
2320         IFsrmCommittableCollection **collection);
2321 
2322     /*** IFsrmQuotaManagerEx methods ***/
2323     HRESULT (STDMETHODCALLTYPE *IsAffectedByQuota)(
2324         IFsrmQuotaManagerEx *This,
2325         BSTR path,
2326         FsrmEnumOptions options,
2327         VARIANT_BOOL *affected);
2328 
2329     END_INTERFACE
2330 } IFsrmQuotaManagerExVtbl;
2331 
2332 interface IFsrmQuotaManagerEx {
2333     CONST_VTBL IFsrmQuotaManagerExVtbl* lpVtbl;
2334 };
2335 
2336 #ifdef COBJMACROS
2337 #ifndef WIDL_C_INLINE_WRAPPERS
2338 /*** IUnknown methods ***/
2339 #define IFsrmQuotaManagerEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2340 #define IFsrmQuotaManagerEx_AddRef(This) (This)->lpVtbl->AddRef(This)
2341 #define IFsrmQuotaManagerEx_Release(This) (This)->lpVtbl->Release(This)
2342 /*** IDispatch methods ***/
2343 #define IFsrmQuotaManagerEx_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
2344 #define IFsrmQuotaManagerEx_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
2345 #define IFsrmQuotaManagerEx_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
2346 #define IFsrmQuotaManagerEx_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
2347 /*** IFsrmQuotaManager methods ***/
2348 #define IFsrmQuotaManagerEx_get_ActionVariables(This,variables) (This)->lpVtbl->get_ActionVariables(This,variables)
2349 #define IFsrmQuotaManagerEx_get_ActionVariableDescriptions(This,descriptions) (This)->lpVtbl->get_ActionVariableDescriptions(This,descriptions)
2350 #define IFsrmQuotaManagerEx_CreateQuota(This,path,quota) (This)->lpVtbl->CreateQuota(This,path,quota)
2351 #define IFsrmQuotaManagerEx_CreateAutoApplyQuota(This,quotaTemplateName,path,quota) (This)->lpVtbl->CreateAutoApplyQuota(This,quotaTemplateName,path,quota)
2352 #define IFsrmQuotaManagerEx_GetQuota(This,path,quota) (This)->lpVtbl->GetQuota(This,path,quota)
2353 #define IFsrmQuotaManagerEx_GetAutoApplyQuota(This,path,quota) (This)->lpVtbl->GetAutoApplyQuota(This,path,quota)
2354 #define IFsrmQuotaManagerEx_GetRestrictiveQuota(This,path,quota) (This)->lpVtbl->GetRestrictiveQuota(This,path,quota)
2355 #define IFsrmQuotaManagerEx_EnumQuotas(This,path,options,quotas) (This)->lpVtbl->EnumQuotas(This,path,options,quotas)
2356 #define IFsrmQuotaManagerEx_EnumAutoApplyQuotas(This,path,options,quotas) (This)->lpVtbl->EnumAutoApplyQuotas(This,path,options,quotas)
2357 #define IFsrmQuotaManagerEx_EnumEffectiveQuotas(This,path,options,quotas) (This)->lpVtbl->EnumEffectiveQuotas(This,path,options,quotas)
2358 #define IFsrmQuotaManagerEx_Scan(This,strPath) (This)->lpVtbl->Scan(This,strPath)
2359 #define IFsrmQuotaManagerEx_CreateQuotaCollection(This,collection) (This)->lpVtbl->CreateQuotaCollection(This,collection)
2360 /*** IFsrmQuotaManagerEx methods ***/
2361 #define IFsrmQuotaManagerEx_IsAffectedByQuota(This,path,options,affected) (This)->lpVtbl->IsAffectedByQuota(This,path,options,affected)
2362 #else
2363 /*** IUnknown methods ***/
2364 static FORCEINLINE HRESULT IFsrmQuotaManagerEx_QueryInterface(IFsrmQuotaManagerEx* This,REFIID riid,void **ppvObject) {
2365     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2366 }
2367 static FORCEINLINE ULONG IFsrmQuotaManagerEx_AddRef(IFsrmQuotaManagerEx* This) {
2368     return This->lpVtbl->AddRef(This);
2369 }
2370 static FORCEINLINE ULONG IFsrmQuotaManagerEx_Release(IFsrmQuotaManagerEx* This) {
2371     return This->lpVtbl->Release(This);
2372 }
2373 /*** IDispatch methods ***/
2374 static FORCEINLINE HRESULT IFsrmQuotaManagerEx_GetTypeInfoCount(IFsrmQuotaManagerEx* This,UINT *pctinfo) {
2375     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
2376 }
2377 static FORCEINLINE HRESULT IFsrmQuotaManagerEx_GetTypeInfo(IFsrmQuotaManagerEx* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
2378     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
2379 }
2380 static FORCEINLINE HRESULT IFsrmQuotaManagerEx_GetIDsOfNames(IFsrmQuotaManagerEx* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
2381     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
2382 }
2383 static FORCEINLINE HRESULT IFsrmQuotaManagerEx_Invoke(IFsrmQuotaManagerEx* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
2384     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
2385 }
2386 /*** IFsrmQuotaManager methods ***/
2387 static FORCEINLINE HRESULT IFsrmQuotaManagerEx_get_ActionVariables(IFsrmQuotaManagerEx* This,SAFEARRAY **variables) {
2388     return This->lpVtbl->get_ActionVariables(This,variables);
2389 }
2390 static FORCEINLINE HRESULT IFsrmQuotaManagerEx_get_ActionVariableDescriptions(IFsrmQuotaManagerEx* This,SAFEARRAY **descriptions) {
2391     return This->lpVtbl->get_ActionVariableDescriptions(This,descriptions);
2392 }
2393 static FORCEINLINE HRESULT IFsrmQuotaManagerEx_CreateQuota(IFsrmQuotaManagerEx* This,BSTR path,IFsrmQuota **quota) {
2394     return This->lpVtbl->CreateQuota(This,path,quota);
2395 }
2396 static FORCEINLINE HRESULT IFsrmQuotaManagerEx_CreateAutoApplyQuota(IFsrmQuotaManagerEx* This,BSTR quotaTemplateName,BSTR path,IFsrmAutoApplyQuota **quota) {
2397     return This->lpVtbl->CreateAutoApplyQuota(This,quotaTemplateName,path,quota);
2398 }
2399 static FORCEINLINE HRESULT IFsrmQuotaManagerEx_GetQuota(IFsrmQuotaManagerEx* This,BSTR path,IFsrmQuota **quota) {
2400     return This->lpVtbl->GetQuota(This,path,quota);
2401 }
2402 static FORCEINLINE HRESULT IFsrmQuotaManagerEx_GetAutoApplyQuota(IFsrmQuotaManagerEx* This,BSTR path,IFsrmAutoApplyQuota **quota) {
2403     return This->lpVtbl->GetAutoApplyQuota(This,path,quota);
2404 }
2405 static FORCEINLINE HRESULT IFsrmQuotaManagerEx_GetRestrictiveQuota(IFsrmQuotaManagerEx* This,BSTR path,IFsrmQuota **quota) {
2406     return This->lpVtbl->GetRestrictiveQuota(This,path,quota);
2407 }
2408 static FORCEINLINE HRESULT IFsrmQuotaManagerEx_EnumQuotas(IFsrmQuotaManagerEx* This,BSTR path,FsrmEnumOptions options,IFsrmCommittableCollection **quotas) {
2409     return This->lpVtbl->EnumQuotas(This,path,options,quotas);
2410 }
2411 static FORCEINLINE HRESULT IFsrmQuotaManagerEx_EnumAutoApplyQuotas(IFsrmQuotaManagerEx* This,BSTR path,FsrmEnumOptions options,IFsrmCommittableCollection **quotas) {
2412     return This->lpVtbl->EnumAutoApplyQuotas(This,path,options,quotas);
2413 }
2414 static FORCEINLINE HRESULT IFsrmQuotaManagerEx_EnumEffectiveQuotas(IFsrmQuotaManagerEx* This,BSTR path,FsrmEnumOptions options,IFsrmCommittableCollection **quotas) {
2415     return This->lpVtbl->EnumEffectiveQuotas(This,path,options,quotas);
2416 }
2417 static FORCEINLINE HRESULT IFsrmQuotaManagerEx_Scan(IFsrmQuotaManagerEx* This,BSTR strPath) {
2418     return This->lpVtbl->Scan(This,strPath);
2419 }
2420 static FORCEINLINE HRESULT IFsrmQuotaManagerEx_CreateQuotaCollection(IFsrmQuotaManagerEx* This,IFsrmCommittableCollection **collection) {
2421     return This->lpVtbl->CreateQuotaCollection(This,collection);
2422 }
2423 /*** IFsrmQuotaManagerEx methods ***/
2424 static FORCEINLINE HRESULT IFsrmQuotaManagerEx_IsAffectedByQuota(IFsrmQuotaManagerEx* This,BSTR path,FsrmEnumOptions options,VARIANT_BOOL *affected) {
2425     return This->lpVtbl->IsAffectedByQuota(This,path,options,affected);
2426 }
2427 #endif
2428 #endif
2429 
2430 #endif
2431 
2432 
2433 #endif  /* __IFsrmQuotaManagerEx_INTERFACE_DEFINED__ */
2434 
2435 /*****************************************************************************
2436  * IFsrmQuotaTemplateImported interface
2437  */
2438 #ifndef __IFsrmQuotaTemplateImported_INTERFACE_DEFINED__
2439 #define __IFsrmQuotaTemplateImported_INTERFACE_DEFINED__
2440 
2441 DEFINE_GUID(IID_IFsrmQuotaTemplateImported, 0x9a2bf113, 0xa329, 0x44cc, 0x80,0x9a, 0x5c,0x00,0xfc,0xe8,0xda,0x40);
2442 #if defined(__cplusplus) && !defined(CINTERFACE)
2443 MIDL_INTERFACE("9a2bf113-a329-44cc-809a-5c00fce8da40")
2444 IFsrmQuotaTemplateImported : public IFsrmQuotaTemplate
2445 {
2446     virtual HRESULT STDMETHODCALLTYPE get_OverwriteOnCommit(
2447         VARIANT_BOOL *overwrite) = 0;
2448 
2449     virtual HRESULT STDMETHODCALLTYPE put_OverwriteOnCommit(
2450         VARIANT_BOOL overwrite) = 0;
2451 
2452 };
2453 #ifdef __CRT_UUID_DECL
2454 __CRT_UUID_DECL(IFsrmQuotaTemplateImported, 0x9a2bf113, 0xa329, 0x44cc, 0x80,0x9a, 0x5c,0x00,0xfc,0xe8,0xda,0x40)
2455 #endif
2456 #else
2457 typedef struct IFsrmQuotaTemplateImportedVtbl {
2458     BEGIN_INTERFACE
2459 
2460     /*** IUnknown methods ***/
2461     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2462         IFsrmQuotaTemplateImported *This,
2463         REFIID riid,
2464         void **ppvObject);
2465 
2466     ULONG (STDMETHODCALLTYPE *AddRef)(
2467         IFsrmQuotaTemplateImported *This);
2468 
2469     ULONG (STDMETHODCALLTYPE *Release)(
2470         IFsrmQuotaTemplateImported *This);
2471 
2472     /*** IDispatch methods ***/
2473     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
2474         IFsrmQuotaTemplateImported *This,
2475         UINT *pctinfo);
2476 
2477     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
2478         IFsrmQuotaTemplateImported *This,
2479         UINT iTInfo,
2480         LCID lcid,
2481         ITypeInfo **ppTInfo);
2482 
2483     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
2484         IFsrmQuotaTemplateImported *This,
2485         REFIID riid,
2486         LPOLESTR *rgszNames,
2487         UINT cNames,
2488         LCID lcid,
2489         DISPID *rgDispId);
2490 
2491     HRESULT (STDMETHODCALLTYPE *Invoke)(
2492         IFsrmQuotaTemplateImported *This,
2493         DISPID dispIdMember,
2494         REFIID riid,
2495         LCID lcid,
2496         WORD wFlags,
2497         DISPPARAMS *pDispParams,
2498         VARIANT *pVarResult,
2499         EXCEPINFO *pExcepInfo,
2500         UINT *puArgErr);
2501 
2502     /*** IFsrmObject methods ***/
2503     HRESULT (STDMETHODCALLTYPE *get_Id)(
2504         IFsrmQuotaTemplateImported *This,
2505         FSRM_OBJECT_ID *id);
2506 
2507     HRESULT (STDMETHODCALLTYPE *get_Description)(
2508         IFsrmQuotaTemplateImported *This,
2509         BSTR *description);
2510 
2511     HRESULT (STDMETHODCALLTYPE *put_Description)(
2512         IFsrmQuotaTemplateImported *This,
2513         BSTR description);
2514 
2515     HRESULT (STDMETHODCALLTYPE *Delete)(
2516         IFsrmQuotaTemplateImported *This);
2517 
2518     HRESULT (STDMETHODCALLTYPE *Commit)(
2519         IFsrmQuotaTemplateImported *This);
2520 
2521     /*** IFsrmQuotaBase methods ***/
2522     HRESULT (STDMETHODCALLTYPE *get_QuotaLimit)(
2523         IFsrmQuotaTemplateImported *This,
2524         VARIANT *quotaLimit);
2525 
2526     HRESULT (STDMETHODCALLTYPE *put_QuotaLimit)(
2527         IFsrmQuotaTemplateImported *This,
2528         VARIANT quotaLimit);
2529 
2530     HRESULT (STDMETHODCALLTYPE *get_QuotaFlags)(
2531         IFsrmQuotaTemplateImported *This,
2532         LONG *quotaFlags);
2533 
2534     HRESULT (STDMETHODCALLTYPE *put_QuotaFlags)(
2535         IFsrmQuotaTemplateImported *This,
2536         LONG quotaFlags);
2537 
2538     HRESULT (STDMETHODCALLTYPE *get_Thresholds)(
2539         IFsrmQuotaTemplateImported *This,
2540         SAFEARRAY **thresholds);
2541 
2542     HRESULT (STDMETHODCALLTYPE *AddThreshold)(
2543         IFsrmQuotaTemplateImported *This,
2544         FSRM_QUOTA_THRESHOLD threshold);
2545 
2546     HRESULT (STDMETHODCALLTYPE *DeleteThreshold)(
2547         IFsrmQuotaTemplateImported *This,
2548         FSRM_QUOTA_THRESHOLD threshold);
2549 
2550     HRESULT (STDMETHODCALLTYPE *ModifyThreshold)(
2551         IFsrmQuotaTemplateImported *This,
2552         FSRM_QUOTA_THRESHOLD threshold,
2553         FSRM_QUOTA_THRESHOLD newThreshold);
2554 
2555     HRESULT (STDMETHODCALLTYPE *CreateThresholdAction)(
2556         IFsrmQuotaTemplateImported *This,
2557         FSRM_QUOTA_THRESHOLD threshold,
2558         FsrmActionType actionType,
2559         IFsrmAction **action);
2560 
2561     HRESULT (STDMETHODCALLTYPE *EnumThresholdActions)(
2562         IFsrmQuotaTemplateImported *This,
2563         FSRM_QUOTA_THRESHOLD threshold,
2564         IFsrmCollection **actions);
2565 
2566     /*** IFsrmQuotaTemplate methods ***/
2567     HRESULT (STDMETHODCALLTYPE *get_Name)(
2568         IFsrmQuotaTemplateImported *This,
2569         BSTR *name);
2570 
2571     HRESULT (STDMETHODCALLTYPE *put_Name)(
2572         IFsrmQuotaTemplateImported *This,
2573         BSTR name);
2574 
2575     HRESULT (STDMETHODCALLTYPE *CopyTemplate)(
2576         IFsrmQuotaTemplateImported *This,
2577         BSTR quotaTemplateName);
2578 
2579     HRESULT (STDMETHODCALLTYPE *CommitAndUpdateDerived)(
2580         IFsrmQuotaTemplateImported *This,
2581         FsrmCommitOptions commitOptions,
2582         FsrmTemplateApplyOptions applyOptions,
2583         IFsrmDerivedObjectsResult **derivedObjectsResult);
2584 
2585     /*** IFsrmQuotaTemplateImported methods ***/
2586     HRESULT (STDMETHODCALLTYPE *get_OverwriteOnCommit)(
2587         IFsrmQuotaTemplateImported *This,
2588         VARIANT_BOOL *overwrite);
2589 
2590     HRESULT (STDMETHODCALLTYPE *put_OverwriteOnCommit)(
2591         IFsrmQuotaTemplateImported *This,
2592         VARIANT_BOOL overwrite);
2593 
2594     END_INTERFACE
2595 } IFsrmQuotaTemplateImportedVtbl;
2596 
2597 interface IFsrmQuotaTemplateImported {
2598     CONST_VTBL IFsrmQuotaTemplateImportedVtbl* lpVtbl;
2599 };
2600 
2601 #ifdef COBJMACROS
2602 #ifndef WIDL_C_INLINE_WRAPPERS
2603 /*** IUnknown methods ***/
2604 #define IFsrmQuotaTemplateImported_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2605 #define IFsrmQuotaTemplateImported_AddRef(This) (This)->lpVtbl->AddRef(This)
2606 #define IFsrmQuotaTemplateImported_Release(This) (This)->lpVtbl->Release(This)
2607 /*** IDispatch methods ***/
2608 #define IFsrmQuotaTemplateImported_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
2609 #define IFsrmQuotaTemplateImported_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
2610 #define IFsrmQuotaTemplateImported_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
2611 #define IFsrmQuotaTemplateImported_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
2612 /*** IFsrmObject methods ***/
2613 #define IFsrmQuotaTemplateImported_get_Id(This,id) (This)->lpVtbl->get_Id(This,id)
2614 #define IFsrmQuotaTemplateImported_get_Description(This,description) (This)->lpVtbl->get_Description(This,description)
2615 #define IFsrmQuotaTemplateImported_put_Description(This,description) (This)->lpVtbl->put_Description(This,description)
2616 #define IFsrmQuotaTemplateImported_Delete(This) (This)->lpVtbl->Delete(This)
2617 #define IFsrmQuotaTemplateImported_Commit(This) (This)->lpVtbl->Commit(This)
2618 /*** IFsrmQuotaBase methods ***/
2619 #define IFsrmQuotaTemplateImported_get_QuotaLimit(This,quotaLimit) (This)->lpVtbl->get_QuotaLimit(This,quotaLimit)
2620 #define IFsrmQuotaTemplateImported_put_QuotaLimit(This,quotaLimit) (This)->lpVtbl->put_QuotaLimit(This,quotaLimit)
2621 #define IFsrmQuotaTemplateImported_get_QuotaFlags(This,quotaFlags) (This)->lpVtbl->get_QuotaFlags(This,quotaFlags)
2622 #define IFsrmQuotaTemplateImported_put_QuotaFlags(This,quotaFlags) (This)->lpVtbl->put_QuotaFlags(This,quotaFlags)
2623 #define IFsrmQuotaTemplateImported_get_Thresholds(This,thresholds) (This)->lpVtbl->get_Thresholds(This,thresholds)
2624 #define IFsrmQuotaTemplateImported_AddThreshold(This,threshold) (This)->lpVtbl->AddThreshold(This,threshold)
2625 #define IFsrmQuotaTemplateImported_DeleteThreshold(This,threshold) (This)->lpVtbl->DeleteThreshold(This,threshold)
2626 #define IFsrmQuotaTemplateImported_ModifyThreshold(This,threshold,newThreshold) (This)->lpVtbl->ModifyThreshold(This,threshold,newThreshold)
2627 #define IFsrmQuotaTemplateImported_CreateThresholdAction(This,threshold,actionType,action) (This)->lpVtbl->CreateThresholdAction(This,threshold,actionType,action)
2628 #define IFsrmQuotaTemplateImported_EnumThresholdActions(This,threshold,actions) (This)->lpVtbl->EnumThresholdActions(This,threshold,actions)
2629 /*** IFsrmQuotaTemplate methods ***/
2630 #define IFsrmQuotaTemplateImported_get_Name(This,name) (This)->lpVtbl->get_Name(This,name)
2631 #define IFsrmQuotaTemplateImported_put_Name(This,name) (This)->lpVtbl->put_Name(This,name)
2632 #define IFsrmQuotaTemplateImported_CopyTemplate(This,quotaTemplateName) (This)->lpVtbl->CopyTemplate(This,quotaTemplateName)
2633 #define IFsrmQuotaTemplateImported_CommitAndUpdateDerived(This,commitOptions,applyOptions,derivedObjectsResult) (This)->lpVtbl->CommitAndUpdateDerived(This,commitOptions,applyOptions,derivedObjectsResult)
2634 /*** IFsrmQuotaTemplateImported methods ***/
2635 #define IFsrmQuotaTemplateImported_get_OverwriteOnCommit(This,overwrite) (This)->lpVtbl->get_OverwriteOnCommit(This,overwrite)
2636 #define IFsrmQuotaTemplateImported_put_OverwriteOnCommit(This,overwrite) (This)->lpVtbl->put_OverwriteOnCommit(This,overwrite)
2637 #else
2638 /*** IUnknown methods ***/
2639 static FORCEINLINE HRESULT IFsrmQuotaTemplateImported_QueryInterface(IFsrmQuotaTemplateImported* This,REFIID riid,void **ppvObject) {
2640     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2641 }
2642 static FORCEINLINE ULONG IFsrmQuotaTemplateImported_AddRef(IFsrmQuotaTemplateImported* This) {
2643     return This->lpVtbl->AddRef(This);
2644 }
2645 static FORCEINLINE ULONG IFsrmQuotaTemplateImported_Release(IFsrmQuotaTemplateImported* This) {
2646     return This->lpVtbl->Release(This);
2647 }
2648 /*** IDispatch methods ***/
2649 static FORCEINLINE HRESULT IFsrmQuotaTemplateImported_GetTypeInfoCount(IFsrmQuotaTemplateImported* This,UINT *pctinfo) {
2650     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
2651 }
2652 static FORCEINLINE HRESULT IFsrmQuotaTemplateImported_GetTypeInfo(IFsrmQuotaTemplateImported* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
2653     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
2654 }
2655 static FORCEINLINE HRESULT IFsrmQuotaTemplateImported_GetIDsOfNames(IFsrmQuotaTemplateImported* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
2656     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
2657 }
2658 static FORCEINLINE HRESULT IFsrmQuotaTemplateImported_Invoke(IFsrmQuotaTemplateImported* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
2659     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
2660 }
2661 /*** IFsrmObject methods ***/
2662 static FORCEINLINE HRESULT IFsrmQuotaTemplateImported_get_Id(IFsrmQuotaTemplateImported* This,FSRM_OBJECT_ID *id) {
2663     return This->lpVtbl->get_Id(This,id);
2664 }
2665 static FORCEINLINE HRESULT IFsrmQuotaTemplateImported_get_Description(IFsrmQuotaTemplateImported* This,BSTR *description) {
2666     return This->lpVtbl->get_Description(This,description);
2667 }
2668 static FORCEINLINE HRESULT IFsrmQuotaTemplateImported_put_Description(IFsrmQuotaTemplateImported* This,BSTR description) {
2669     return This->lpVtbl->put_Description(This,description);
2670 }
2671 static FORCEINLINE HRESULT IFsrmQuotaTemplateImported_Delete(IFsrmQuotaTemplateImported* This) {
2672     return This->lpVtbl->Delete(This);
2673 }
2674 static FORCEINLINE HRESULT IFsrmQuotaTemplateImported_Commit(IFsrmQuotaTemplateImported* This) {
2675     return This->lpVtbl->Commit(This);
2676 }
2677 /*** IFsrmQuotaBase methods ***/
2678 static FORCEINLINE HRESULT IFsrmQuotaTemplateImported_get_QuotaLimit(IFsrmQuotaTemplateImported* This,VARIANT *quotaLimit) {
2679     return This->lpVtbl->get_QuotaLimit(This,quotaLimit);
2680 }
2681 static FORCEINLINE HRESULT IFsrmQuotaTemplateImported_put_QuotaLimit(IFsrmQuotaTemplateImported* This,VARIANT quotaLimit) {
2682     return This->lpVtbl->put_QuotaLimit(This,quotaLimit);
2683 }
2684 static FORCEINLINE HRESULT IFsrmQuotaTemplateImported_get_QuotaFlags(IFsrmQuotaTemplateImported* This,LONG *quotaFlags) {
2685     return This->lpVtbl->get_QuotaFlags(This,quotaFlags);
2686 }
2687 static FORCEINLINE HRESULT IFsrmQuotaTemplateImported_put_QuotaFlags(IFsrmQuotaTemplateImported* This,LONG quotaFlags) {
2688     return This->lpVtbl->put_QuotaFlags(This,quotaFlags);
2689 }
2690 static FORCEINLINE HRESULT IFsrmQuotaTemplateImported_get_Thresholds(IFsrmQuotaTemplateImported* This,SAFEARRAY **thresholds) {
2691     return This->lpVtbl->get_Thresholds(This,thresholds);
2692 }
2693 static FORCEINLINE HRESULT IFsrmQuotaTemplateImported_AddThreshold(IFsrmQuotaTemplateImported* This,FSRM_QUOTA_THRESHOLD threshold) {
2694     return This->lpVtbl->AddThreshold(This,threshold);
2695 }
2696 static FORCEINLINE HRESULT IFsrmQuotaTemplateImported_DeleteThreshold(IFsrmQuotaTemplateImported* This,FSRM_QUOTA_THRESHOLD threshold) {
2697     return This->lpVtbl->DeleteThreshold(This,threshold);
2698 }
2699 static FORCEINLINE HRESULT IFsrmQuotaTemplateImported_ModifyThreshold(IFsrmQuotaTemplateImported* This,FSRM_QUOTA_THRESHOLD threshold,FSRM_QUOTA_THRESHOLD newThreshold) {
2700     return This->lpVtbl->ModifyThreshold(This,threshold,newThreshold);
2701 }
2702 static FORCEINLINE HRESULT IFsrmQuotaTemplateImported_CreateThresholdAction(IFsrmQuotaTemplateImported* This,FSRM_QUOTA_THRESHOLD threshold,FsrmActionType actionType,IFsrmAction **action) {
2703     return This->lpVtbl->CreateThresholdAction(This,threshold,actionType,action);
2704 }
2705 static FORCEINLINE HRESULT IFsrmQuotaTemplateImported_EnumThresholdActions(IFsrmQuotaTemplateImported* This,FSRM_QUOTA_THRESHOLD threshold,IFsrmCollection **actions) {
2706     return This->lpVtbl->EnumThresholdActions(This,threshold,actions);
2707 }
2708 /*** IFsrmQuotaTemplate methods ***/
2709 static FORCEINLINE HRESULT IFsrmQuotaTemplateImported_get_Name(IFsrmQuotaTemplateImported* This,BSTR *name) {
2710     return This->lpVtbl->get_Name(This,name);
2711 }
2712 static FORCEINLINE HRESULT IFsrmQuotaTemplateImported_put_Name(IFsrmQuotaTemplateImported* This,BSTR name) {
2713     return This->lpVtbl->put_Name(This,name);
2714 }
2715 static FORCEINLINE HRESULT IFsrmQuotaTemplateImported_CopyTemplate(IFsrmQuotaTemplateImported* This,BSTR quotaTemplateName) {
2716     return This->lpVtbl->CopyTemplate(This,quotaTemplateName);
2717 }
2718 static FORCEINLINE HRESULT IFsrmQuotaTemplateImported_CommitAndUpdateDerived(IFsrmQuotaTemplateImported* This,FsrmCommitOptions commitOptions,FsrmTemplateApplyOptions applyOptions,IFsrmDerivedObjectsResult **derivedObjectsResult) {
2719     return This->lpVtbl->CommitAndUpdateDerived(This,commitOptions,applyOptions,derivedObjectsResult);
2720 }
2721 /*** IFsrmQuotaTemplateImported methods ***/
2722 static FORCEINLINE HRESULT IFsrmQuotaTemplateImported_get_OverwriteOnCommit(IFsrmQuotaTemplateImported* This,VARIANT_BOOL *overwrite) {
2723     return This->lpVtbl->get_OverwriteOnCommit(This,overwrite);
2724 }
2725 static FORCEINLINE HRESULT IFsrmQuotaTemplateImported_put_OverwriteOnCommit(IFsrmQuotaTemplateImported* This,VARIANT_BOOL overwrite) {
2726     return This->lpVtbl->put_OverwriteOnCommit(This,overwrite);
2727 }
2728 #endif
2729 #endif
2730 
2731 #endif
2732 
2733 
2734 #endif  /* __IFsrmQuotaTemplateImported_INTERFACE_DEFINED__ */
2735 
2736 #endif
2737 /* Begin additional prototypes for all interfaces */
2738 
2739 ULONG           __RPC_USER VARIANT_UserSize     (ULONG *, ULONG, VARIANT *);
2740 unsigned char * __RPC_USER VARIANT_UserMarshal  (ULONG *, unsigned char *, VARIANT *);
2741 unsigned char * __RPC_USER VARIANT_UserUnmarshal(ULONG *, unsigned char *, VARIANT *);
2742 void            __RPC_USER VARIANT_UserFree     (ULONG *, VARIANT *);
2743 ULONG           __RPC_USER BSTR_UserSize     (ULONG *, ULONG, BSTR *);
2744 unsigned char * __RPC_USER BSTR_UserMarshal  (ULONG *, unsigned char *, BSTR *);
2745 unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *);
2746 void            __RPC_USER BSTR_UserFree     (ULONG *, BSTR *);
2747 
2748 /* End additional prototypes */
2749 
2750 #ifdef __cplusplus
2751 }
2752 #endif
2753 
2754 #endif /* __fsrmquota_h__ */
2755