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