1 | /**
|
---|
2 | * This file is part of the mingw-w64 runtime package.
|
---|
3 | * No warranty is given; refer to the file DISCLAIMER within this package.
|
---|
4 | */
|
---|
5 |
|
---|
6 |
|
---|
7 | import "oaidl.idl";
|
---|
8 | import "fsrmenums.idl";
|
---|
9 | import "fsrm.idl";
|
---|
10 |
|
---|
11 | cpp_quote("#include <winapifamily.h>")
|
---|
12 | cpp_quote("")
|
---|
13 | cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)")
|
---|
14 |
|
---|
15 | interface IFsrmAutoApplyQuota;
|
---|
16 | interface IFsrmQuota;
|
---|
17 | interface IFsrmQuotaBase;
|
---|
18 | interface IFsrmQuotaObject;
|
---|
19 | interface IFsrmQuotaManager;
|
---|
20 | interface IFsrmQuotaTemplate;
|
---|
21 | interface IFsrmQuotaTemplateImported;
|
---|
22 | interface IFsrmQuotaTemplateManager;
|
---|
23 |
|
---|
24 | typedef long FSRM_QUOTA_THRESHOLD;
|
---|
25 |
|
---|
26 | const DISPID FSRM_DISPID_QUOTA_BASE = FSRM_DISPID_FEATURE_QUOTA | 0x100000;
|
---|
27 | const DISPID FSRM_DISPID_QUOTA_OBJECT = FSRM_DISPID_QUOTA_BASE | 0x010000;
|
---|
28 | const DISPID FSRM_DISPID_QUOTA = FSRM_DISPID_QUOTA_OBJECT | 0x001000;
|
---|
29 | const DISPID FSRM_DISPID_AUTOAPPLYQUOTA = FSRM_DISPID_QUOTA_OBJECT | 0x002000;
|
---|
30 | const DISPID FSRM_DISPID_QUOTA_TEMPLATE = FSRM_DISPID_QUOTA_BASE | 0x020000;
|
---|
31 | const DISPID FSRM_DISPID_QUOTA_TEMPLATE_IMPORTED = FSRM_DISPID_QUOTA_TEMPLATE | 0x001000;
|
---|
32 | const DISPID FSRM_DISPID_QUOTA_MANAGER = FSRM_DISPID_FEATURE_QUOTA | 0x200000;
|
---|
33 | const DISPID FSRM_DISPID_QUOTA_TEMPLATE_MANAGER = FSRM_DISPID_FEATURE_QUOTA | 0x300000;
|
---|
34 | const DISPID FSRM_DISPID_QUOTA_MANAGER_EX = FSRM_DISPID_FEATURE_QUOTA | 0x400000;
|
---|
35 |
|
---|
36 | const ULONG FsrmMaxNumberThresholds = 16;
|
---|
37 | const ULONG FsrmMinThresholdValue = 1;
|
---|
38 | const ULONG FsrmMaxThresholdValue = 250;
|
---|
39 | const ULONG FsrmMinQuotaLimit = 1024;
|
---|
40 | const ULONG FsrmMaxExcludeFolders = 32;
|
---|
41 |
|
---|
42 | [object, uuid (8bb68c7d-19d8-4ffb-809e-be4fc1734014), dual, pointer_default (unique)]
|
---|
43 | interface IFsrmQuotaManager : IDispatch {
|
---|
44 | [propget, id (FSRM_DISPID_QUOTA_MANAGER | 0x81)] HRESULT ActionVariables ([out, retval] SAFEARRAY (VARIANT) *variables);
|
---|
45 | [propget, id (FSRM_DISPID_QUOTA_MANAGER | 0x82)] HRESULT ActionVariableDescriptions ([out, retval] SAFEARRAY (VARIANT) *descriptions);
|
---|
46 | [id (FSRM_DISPID_QUOTA_MANAGER | 0x1)] HRESULT CreateQuota ([in] BSTR path,[out, retval] IFsrmQuota **quota);
|
---|
47 | [id (FSRM_DISPID_QUOTA_MANAGER | 0x2)] HRESULT CreateAutoApplyQuota ([in] BSTR quotaTemplateName,[in] BSTR path,[out, retval] IFsrmAutoApplyQuota **quota);
|
---|
48 | [id (FSRM_DISPID_QUOTA_MANAGER | 0x3)] HRESULT GetQuota ([in] BSTR path,[out, retval] IFsrmQuota **quota);
|
---|
49 | [id (FSRM_DISPID_QUOTA_MANAGER | 0x4)] HRESULT GetAutoApplyQuota ([in] BSTR path,[out, retval] IFsrmAutoApplyQuota **quota);
|
---|
50 | [id (FSRM_DISPID_QUOTA_MANAGER | 0x5)] HRESULT GetRestrictiveQuota ([in] BSTR path,[out, retval] IFsrmQuota **quota);
|
---|
51 | [id (FSRM_DISPID_QUOTA_MANAGER | 0x6)] HRESULT EnumQuotas ([in, defaultvalue (L"")] BSTR path,[in, defaultvalue (FsrmEnumOptions_None)] FsrmEnumOptions options,[out, retval] IFsrmCommittableCollection **quotas);
|
---|
52 | [id (FSRM_DISPID_QUOTA_MANAGER | 0x7)] HRESULT EnumAutoApplyQuotas ([in, defaultvalue (L"")] BSTR path,[in, defaultvalue (FsrmEnumOptions_None)] FsrmEnumOptions options,[out, retval] IFsrmCommittableCollection **quotas);
|
---|
53 | [id (FSRM_DISPID_QUOTA_MANAGER | 0x8)] HRESULT EnumEffectiveQuotas ([in] BSTR path,[in, defaultvalue (FsrmEnumOptions_None)] FsrmEnumOptions options,[out, retval] IFsrmCommittableCollection **quotas);
|
---|
54 | [id (FSRM_DISPID_QUOTA_MANAGER | 0x9)] HRESULT Scan ([in] BSTR strPath);
|
---|
55 | [id (FSRM_DISPID_QUOTA_MANAGER | 0xa)] HRESULT CreateQuotaCollection ([out, retval] IFsrmCommittableCollection **collection);
|
---|
56 | };
|
---|
57 |
|
---|
58 | [object, uuid (4173ac41-172d-4d52-963c-fdc7e415f717), dual, pointer_default (unique)]
|
---|
59 | interface IFsrmQuotaTemplateManager : IDispatch {
|
---|
60 | [id (FSRM_DISPID_QUOTA_TEMPLATE_MANAGER | 0x1)] HRESULT CreateTemplate ([out, retval] IFsrmQuotaTemplate **quotaTemplate);
|
---|
61 | [id (FSRM_DISPID_QUOTA_TEMPLATE_MANAGER | 0x2)] HRESULT GetTemplate ([in, defaultvalue (L"")] BSTR name,[out, retval] IFsrmQuotaTemplate **quotaTemplate);
|
---|
62 | [id (FSRM_DISPID_QUOTA_TEMPLATE_MANAGER | 0x3)] HRESULT EnumTemplates ([in, defaultvalue (FsrmEnumOptions_None)] FsrmEnumOptions options,[out, retval] IFsrmCommittableCollection **quotaTemplates);
|
---|
63 | [id (FSRM_DISPID_QUOTA_TEMPLATE_MANAGER | 0x4)] HRESULT ExportTemplates ([in, defaultvalue (NULL)] VARIANT *quotaTemplateNamesArray,[out, retval] BSTR *serializedQuotaTemplates);
|
---|
64 | [id (FSRM_DISPID_QUOTA_TEMPLATE_MANAGER | 0x5)] HRESULT ImportTemplates ([in] BSTR serializedQuotaTemplates,[in, defaultvalue (NULL)] VARIANT *quotaTemplateNamesArray,[out, retval] IFsrmCommittableCollection **quotaTemplates);
|
---|
65 | };
|
---|
66 |
|
---|
67 | [object, uuid (1568a795-3924-4118-b74b-68d8f0fa5daf), dual, pointer_default (unique)]
|
---|
68 | interface IFsrmQuotaBase : IFsrmObject {
|
---|
69 | [propget, id (FSRM_DISPID_QUOTA_BASE | 0x81)] HRESULT QuotaLimit ([out, retval] VARIANT *quotaLimit);
|
---|
70 | [propput, id (FSRM_DISPID_QUOTA_BASE | 0x81)] HRESULT QuotaLimit ([in] VARIANT quotaLimit);
|
---|
71 | [propget, id (FSRM_DISPID_QUOTA_BASE | 0x82)] HRESULT QuotaFlags ([out, retval] long *quotaFlags);
|
---|
72 | [propput, id (FSRM_DISPID_QUOTA_BASE | 0x82)] HRESULT QuotaFlags ([in] long quotaFlags);
|
---|
73 | [propget, id (FSRM_DISPID_QUOTA_BASE | 0x83)] HRESULT Thresholds ([out, retval] SAFEARRAY (VARIANT) *thresholds);
|
---|
74 | [id (FSRM_DISPID_QUOTA_BASE | 0x1)] HRESULT AddThreshold ([in] FSRM_QUOTA_THRESHOLD threshold);
|
---|
75 | [id (FSRM_DISPID_QUOTA_BASE | 0x2)] HRESULT DeleteThreshold ([in] FSRM_QUOTA_THRESHOLD threshold);
|
---|
76 | [id (FSRM_DISPID_QUOTA_BASE | 0x3)] HRESULT ModifyThreshold ([in] FSRM_QUOTA_THRESHOLD threshold,[in] FSRM_QUOTA_THRESHOLD newThreshold);
|
---|
77 | [id (FSRM_DISPID_QUOTA_BASE | 0x4)] HRESULT CreateThresholdAction ([in] FSRM_QUOTA_THRESHOLD threshold,[in] FsrmActionType actionType,[out, retval] IFsrmAction **action);
|
---|
78 | [id (FSRM_DISPID_QUOTA_BASE | 0x5)] HRESULT EnumThresholdActions ([in] FSRM_QUOTA_THRESHOLD threshold,[out, retval] IFsrmCollection **actions);
|
---|
79 | }
|
---|
80 |
|
---|
81 | [object, uuid (42dc3511-61d5-48ae-b6dc-59fc00c0a8d6), dual, pointer_default (unique)]
|
---|
82 | interface IFsrmQuotaObject : IFsrmQuotaBase {
|
---|
83 | [propget, id (FSRM_DISPID_QUOTA_OBJECT | 0x81)] HRESULT Path ([out, retval] BSTR *path);
|
---|
84 | [propget, id (FSRM_DISPID_QUOTA_OBJECT | 0x82)] HRESULT UserSid ([out, retval] BSTR *userSid);
|
---|
85 | [propget, id (FSRM_DISPID_QUOTA_OBJECT | 0x83)] HRESULT UserAccount ([out, retval] BSTR *userAccount);
|
---|
86 | [propget, id (FSRM_DISPID_QUOTA_OBJECT | 0x84)] HRESULT SourceTemplateName ([out, retval] BSTR *quotaTemplateName);
|
---|
87 | [propget, id (FSRM_DISPID_QUOTA_OBJECT | 0x85)] HRESULT MatchesSourceTemplate ([out, retval] VARIANT_BOOL *matches);
|
---|
88 | [id (FSRM_DISPID_QUOTA_OBJECT | 0x1)] HRESULT ApplyTemplate ([in] BSTR quotaTemplateName);
|
---|
89 | };
|
---|
90 |
|
---|
91 | [object, uuid (a2efab31-295e-46bb-b976-e86d58b52e8b), dual, pointer_default (unique)]
|
---|
92 | interface IFsrmQuotaTemplate : IFsrmQuotaBase {
|
---|
93 | [propget, id (FSRM_DISPID_QUOTA_TEMPLATE | 0x81)] HRESULT Name ([out, retval] BSTR *name);
|
---|
94 | [propput, id (FSRM_DISPID_QUOTA_TEMPLATE | 0x81)] HRESULT Name ([in] BSTR name);
|
---|
95 | [id (FSRM_DISPID_QUOTA_TEMPLATE | 0x1)] HRESULT CopyTemplate ([in] BSTR quotaTemplateName);
|
---|
96 | [id (FSRM_DISPID_QUOTA_TEMPLATE | 0x2)] HRESULT CommitAndUpdateDerived ([in] FsrmCommitOptions commitOptions,[in] FsrmTemplateApplyOptions applyOptions,[out, retval] IFsrmDerivedObjectsResult **derivedObjectsResult);
|
---|
97 | };
|
---|
98 |
|
---|
99 | [object, uuid (377f739d-9647-4b8e-97d2-5ffce6d759cd), dual, pointer_default (unique)]
|
---|
100 | interface IFsrmQuota : IFsrmQuotaObject {
|
---|
101 | [propget, id (FSRM_DISPID_QUOTA | 0x81)] HRESULT QuotaUsed ([out, retval] VARIANT *used);
|
---|
102 | [propget, id (FSRM_DISPID_QUOTA | 0x82)] HRESULT QuotaPeakUsage ([out, retval] VARIANT *peakUsage);
|
---|
103 | [propget, id (FSRM_DISPID_QUOTA | 0x83)] HRESULT QuotaPeakUsageTime ([out, retval] DATE *peakUsageDateTime);
|
---|
104 | [id (FSRM_DISPID_QUOTA | 0x1)] HRESULT ResetPeakUsage ();
|
---|
105 | [id (FSRM_DISPID_QUOTA | 0x2)] HRESULT RefreshUsageProperties ();
|
---|
106 | };
|
---|
107 |
|
---|
108 | [object, uuid (f82e5729-6aba-4740-bfc7-c7f58f75fb7b), dual, pointer_default (unique)]
|
---|
109 | interface IFsrmAutoApplyQuota : IFsrmQuotaObject {
|
---|
110 | [propget, id (FSRM_DISPID_AUTOAPPLYQUOTA | 0x81)] HRESULT ExcludeFolders ([out, retval] SAFEARRAY (VARIANT) *folders);
|
---|
111 | [propput, id (FSRM_DISPID_AUTOAPPLYQUOTA | 0x81)] HRESULT ExcludeFolders ([in] SAFEARRAY (VARIANT) folders);
|
---|
112 | [id (FSRM_DISPID_AUTOAPPLYQUOTA | 0x1)] HRESULT CommitAndUpdateDerived ([in] FsrmCommitOptions commitOptions,[in] FsrmTemplateApplyOptions applyOptions,[out, retval] IFsrmDerivedObjectsResult **derivedObjectsResult);
|
---|
113 | };
|
---|
114 |
|
---|
115 | [object, uuid (4846cb01-d430-494f-abb4-b1054999fb09), dual, pointer_default (unique)]
|
---|
116 | interface IFsrmQuotaManagerEx : IFsrmQuotaManager {
|
---|
117 | [id (FSRM_DISPID_QUOTA_MANAGER_EX | 0x1)] HRESULT IsAffectedByQuota ([in] BSTR path,[in, defaultvalue (FsrmEnumOptions_None)] FsrmEnumOptions options,[out, retval] VARIANT_BOOL *affected);
|
---|
118 | };
|
---|
119 |
|
---|
120 | [object, uuid (9a2bf113-a329-44cc-809a-5c00fce8da40), dual, pointer_default (unique)]
|
---|
121 | interface IFsrmQuotaTemplateImported : IFsrmQuotaTemplate {
|
---|
122 | [propget, id (FSRM_DISPID_QUOTA_TEMPLATE_IMPORTED | 0x81)] HRESULT OverwriteOnCommit ([out, retval] VARIANT_BOOL *overwrite);
|
---|
123 | [propput, id (FSRM_DISPID_QUOTA_TEMPLATE_IMPORTED | 0x81)] HRESULT OverwriteOnCommit ([in] VARIANT_BOOL overwrite);
|
---|
124 | };
|
---|
125 | cpp_quote("#endif")
|
---|