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