| 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 | import "oaidl.idl"; | 
 
 
 
 
 | 7 | import "fsrmenums.idl"; | 
 
 
 
 
 | 8 | import "fsrm.idl"; | 
 
 
 
 
 | 9 |  | 
 
 
 
 
 | 10 | cpp_quote("#include <winapifamily.h>") | 
 
 
 
 
 | 11 | cpp_quote("") | 
 
 
 
 
 | 12 | cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)") | 
 
 
 
 
 | 13 |  | 
 
 
 
 
 | 14 | interface IFsrmFileGroup; | 
 
 
 
 
 | 15 | interface IFsrmFileGroupImported; | 
 
 
 
 
 | 16 | interface IFsrmFileGroupManager; | 
 
 
 
 
 | 17 | interface IFsrmFileScreen; | 
 
 
 
 
 | 18 | interface IFsrmFileScreenBase; | 
 
 
 
 
 | 19 | interface IFsrmFileScreenException; | 
 
 
 
 
 | 20 | interface IFsrmFileScreenManager; | 
 
 
 
 
 | 21 | interface IFsrmFileScreenTemplate; | 
 
 
 
 
 | 22 | interface IFsrmFileScreenTemplateImported; | 
 
 
 
 
 | 23 | interface IFsrmFileScreenTemplateManager; | 
 
 
 
 
 | 24 |  | 
 
 
 
 
 | 25 | const DISPID FSRM_DISPID_FILEGROUP = FSRM_DISPID_FEATURE_FILESCREEN | 0x100000; | 
 
 
 
 
 | 26 | const DISPID FSRM_DISPID_FILEGROUP_IMPORTED = FSRM_DISPID_FILEGROUP | 0x10000; | 
 
 
 
 
 | 27 | const DISPID FSRM_DISPID_FILEGROUP_MANAGER = FSRM_DISPID_FEATURE_FILESCREEN | 0x200000; | 
 
 
 
 
 | 28 | const DISPID FSRM_DISPID_FILESCREEN_BASE = FSRM_DISPID_FEATURE_FILESCREEN | 0x300000; | 
 
 
 
 
 | 29 | const DISPID FSRM_DISPID_FILESCREEN = FSRM_DISPID_FILESCREEN_BASE | 0x10000; | 
 
 
 
 
 | 30 | const DISPID FSRM_DISPID_FILESCREEN_TEMPLATE = FSRM_DISPID_FILESCREEN_BASE | 0x20000; | 
 
 
 
 
 | 31 | const DISPID FSRM_DISPID_FILESCREEN_TEMPLATE_IMPORTED = FSRM_DISPID_FILESCREEN_TEMPLATE | 0x1000; | 
 
 
 
 
 | 32 | const DISPID FSRM_DISPID_FILESCREEN_EXCEPTION = FSRM_DISPID_FEATURE_FILESCREEN | 0x400000; | 
 
 
 
 
 | 33 | const DISPID FSRM_DISPID_FILESCREEN_MANAGER = FSRM_DISPID_FEATURE_FILESCREEN | 0x500000; | 
 
 
 
 
 | 34 | const DISPID FSRM_DISPID_FILESCREEN_TEMPLATE_MANAGER = FSRM_DISPID_FEATURE_FILESCREEN | 0x600000; | 
 
 
 
 
 | 35 |  | 
 
 
 
 
 | 36 | [object, uuid (426677d5-018c-485c-8a51-20b86d00bdc4), dual, pointer_default (unique)] | 
 
 
 
 
 | 37 | interface IFsrmFileGroupManager : IDispatch { | 
 
 
 
 
 | 38 | [id (FSRM_DISPID_FILEGROUP_MANAGER | 0x1)] HRESULT CreateFileGroup ([out, retval] IFsrmFileGroup **fileGroup); | 
 
 
 
 
 | 39 | [id (FSRM_DISPID_FILEGROUP_MANAGER | 0x2)] HRESULT GetFileGroup ([in] BSTR name,[out, retval] IFsrmFileGroup **fileGroup); | 
 
 
 
 
 | 40 | [id (FSRM_DISPID_FILEGROUP_MANAGER | 0x3)] HRESULT EnumFileGroups ([in, defaultvalue (FsrmEnumOptions_None)] FsrmEnumOptions options,[out, retval] IFsrmCommittableCollection **fileGroups); | 
 
 
 
 
 | 41 | [id (FSRM_DISPID_FILEGROUP_MANAGER | 0x4)] HRESULT ExportFileGroups ([in, defaultvalue (NULL)] VARIANT *fileGroupNamesArray,[out, retval] BSTR *serializedFileGroups); | 
 
 
 
 
 | 42 | [id (FSRM_DISPID_FILEGROUP_MANAGER | 0x5)] HRESULT ImportFileGroups ([in] BSTR serializedFileGroups,[in, defaultvalue (NULL)] VARIANT *fileGroupNamesArray,[out, retval] IFsrmCommittableCollection **fileGroups); | 
 
 
 
 
 | 43 | }; | 
 
 
 
 
 | 44 |  | 
 
 
 
 
 | 45 | [object, uuid (ff4fa04e-5a94-4bda-a3a0-d5b4d3c52eba), dual, pointer_default (unique)] | 
 
 
 
 
 | 46 | interface IFsrmFileScreenManager : IDispatch { | 
 
 
 
 
 | 47 | [propget, id (FSRM_DISPID_FILESCREEN_MANAGER | 0x81)] HRESULT ActionVariables ([out, retval] SAFEARRAY (VARIANT) *variables); | 
 
 
 
 
 | 48 | [propget, id (FSRM_DISPID_FILESCREEN_MANAGER | 0x82)] HRESULT ActionVariableDescriptions ([out, retval] SAFEARRAY (VARIANT) *descriptions); | 
 
 
 
 
 | 49 | [id (FSRM_DISPID_FILESCREEN_MANAGER | 0x1)] HRESULT CreateFileScreen ([in] BSTR path,[out, retval] IFsrmFileScreen **fileScreen); | 
 
 
 
 
 | 50 | [id (FSRM_DISPID_FILESCREEN_MANAGER | 0x2)] HRESULT GetFileScreen ([in] BSTR path,[out, retval] IFsrmFileScreen **fileScreen); | 
 
 
 
 
 | 51 | [id (FSRM_DISPID_FILESCREEN_MANAGER | 0x3)] HRESULT EnumFileScreens ([in, defaultvalue (L"")] BSTR path,[in, defaultvalue (FsrmEnumOptions_None)] FsrmEnumOptions options,[out, retval] IFsrmCommittableCollection **fileScreens); | 
 
 
 
 
 | 52 | [id (FSRM_DISPID_FILESCREEN_MANAGER | 0x4)] HRESULT CreateFileScreenException ([in] BSTR path,[out, retval] IFsrmFileScreenException **fileScreenException); | 
 
 
 
 
 | 53 | [id (FSRM_DISPID_FILESCREEN_MANAGER | 0x5)] HRESULT GetFileScreenException ([in] BSTR path,[out, retval] IFsrmFileScreenException **fileScreenException); | 
 
 
 
 
 | 54 | [id (FSRM_DISPID_FILESCREEN_MANAGER | 0x6)] HRESULT EnumFileScreenExceptions ([in, defaultvalue (L"")] BSTR path,[in, defaultvalue (FsrmEnumOptions_None)] FsrmEnumOptions options,[out, retval] IFsrmCommittableCollection **fileScreenExceptions); | 
 
 
 
 
 | 55 | [id (FSRM_DISPID_FILESCREEN_MANAGER | 0x7)] HRESULT CreateFileScreenCollection ([out, retval] IFsrmCommittableCollection **collection); | 
 
 
 
 
 | 56 | }; | 
 
 
 
 
 | 57 |  | 
 
 
 
 
 | 58 | [object, uuid (cfe36cba-1949-4e74-a14f-f1d580ceaf13), dual, pointer_default (unique)] | 
 
 
 
 
 | 59 | interface IFsrmFileScreenTemplateManager : IDispatch { | 
 
 
 
 
 | 60 | [id (FSRM_DISPID_FILESCREEN_TEMPLATE_MANAGER | 0x1)] HRESULT CreateTemplate ([out, retval] IFsrmFileScreenTemplate **fileScreenTemplate); | 
 
 
 
 
 | 61 | [id (FSRM_DISPID_FILESCREEN_TEMPLATE_MANAGER | 0x2)] HRESULT GetTemplate ([in] BSTR name,[out, retval] IFsrmFileScreenTemplate **fileScreenTemplate); | 
 
 
 
 
 | 62 | [id (FSRM_DISPID_FILESCREEN_TEMPLATE_MANAGER | 0x3)] HRESULT EnumTemplates ([in, defaultvalue (FsrmEnumOptions_None)] FsrmEnumOptions options,[out, retval] IFsrmCommittableCollection **fileScreenTemplates); | 
 
 
 
 
 | 63 | [id (FSRM_DISPID_FILESCREEN_TEMPLATE_MANAGER | 0x4)] HRESULT ExportTemplates ([in, defaultvalue (NULL)] VARIANT *fileScreenTemplateNamesArray,[out, retval] BSTR *serializedFileScreenTemplates); | 
 
 
 
 
 | 64 | [id (FSRM_DISPID_FILESCREEN_TEMPLATE_MANAGER | 0x5)] HRESULT ImportTemplates ([in] BSTR serializedFileScreenTemplates,[in, defaultvalue (NULL)] VARIANT *fileScreenTemplateNamesArray,[out, retval] IFsrmCommittableCollection **fileScreenTemplates); | 
 
 
 
 
 | 65 | }; | 
 
 
 
 
 | 66 |  | 
 
 
 
 
 | 67 | [object, uuid (8dd04909-0e34-4d55-afaa-89e1f1a1bbb9), dual, pointer_default (unique)] | 
 
 
 
 
 | 68 | interface IFsrmFileGroup : IFsrmObject { | 
 
 
 
 
 | 69 | [propget, id (FSRM_DISPID_FILEGROUP | 0x81)] HRESULT Name ([out, retval] BSTR *name); | 
 
 
 
 
 | 70 | [propput, id (FSRM_DISPID_FILEGROUP | 0x81)] HRESULT Name ([in] BSTR name); | 
 
 
 
 
 | 71 | [propget, id (FSRM_DISPID_FILEGROUP | 0x82)] HRESULT Members ([out, retval] IFsrmMutableCollection **members); | 
 
 
 
 
 | 72 | [propput, id (FSRM_DISPID_FILEGROUP | 0x82)] HRESULT Members ([in] IFsrmMutableCollection *members); | 
 
 
 
 
 | 73 | [propget, id (FSRM_DISPID_FILEGROUP | 0x83)] HRESULT NonMembers ([out, retval] IFsrmMutableCollection **nonMembers); | 
 
 
 
 
 | 74 | [propput, id (FSRM_DISPID_FILEGROUP | 0x83)] HRESULT NonMembers ([in] IFsrmMutableCollection *nonMembers); | 
 
 
 
 
 | 75 | }; | 
 
 
 
 
 | 76 |  | 
 
 
 
 
 | 77 | [object, uuid (f3637e80-5b22-4a2b-a637-bbb642b41cfc), dual, pointer_default (unique)] | 
 
 
 
 
 | 78 | interface IFsrmFileScreenBase : IFsrmObject { | 
 
 
 
 
 | 79 | [propget, id (FSRM_DISPID_FILESCREEN_BASE | 0x81)] HRESULT BlockedFileGroups ([out, retval] IFsrmMutableCollection **blockList); | 
 
 
 
 
 | 80 | [propput, id (FSRM_DISPID_FILESCREEN_BASE | 0x81)] HRESULT BlockedFileGroups ([in] IFsrmMutableCollection *blockList); | 
 
 
 
 
 | 81 | [propget, id (FSRM_DISPID_FILESCREEN_BASE | 0x82)] HRESULT FileScreenFlags ([out, retval] long *fileScreenFlags); | 
 
 
 
 
 | 82 | [propput, id (FSRM_DISPID_FILESCREEN_BASE | 0x82)] HRESULT FileScreenFlags ([in] long fileScreenFlags); | 
 
 
 
 
 | 83 | [id (FSRM_DISPID_FILESCREEN_BASE | 0x1)] HRESULT CreateAction ([in] FsrmActionType actionType,[out, retval] IFsrmAction **action); | 
 
 
 
 
 | 84 | [id (FSRM_DISPID_FILESCREEN_BASE | 0x2)] HRESULT EnumActions ([out, retval] IFsrmCollection **actions); | 
 
 
 
 
 | 85 | }; | 
 
 
 
 
 | 86 |  | 
 
 
 
 
 | 87 | [object, uuid (bee7ce02-df77-4515-9389-78f01c5afc1a), dual, pointer_default (unique)] | 
 
 
 
 
 | 88 | interface IFsrmFileScreenException : IFsrmObject { | 
 
 
 
 
 | 89 | [propget, id (FSRM_DISPID_FILESCREEN_EXCEPTION | 0x81)] HRESULT Path ([out, retval] BSTR *path); | 
 
 
 
 
 | 90 | [propget, id (FSRM_DISPID_FILESCREEN_EXCEPTION | 0x82)] HRESULT AllowedFileGroups ([out, retval] IFsrmMutableCollection **allowList); | 
 
 
 
 
 | 91 | [propput, id (FSRM_DISPID_FILESCREEN_EXCEPTION | 0x82)] HRESULT AllowedFileGroups ([in] IFsrmMutableCollection *allowList); | 
 
 
 
 
 | 92 | }; | 
 
 
 
 
 | 93 |  | 
 
 
 
 
 | 94 | [object, uuid (5f6325d3-ce88-4733-84c1-2d6aefc5ea07), dual, pointer_default (unique)] | 
 
 
 
 
 | 95 | interface IFsrmFileScreen : IFsrmFileScreenBase { | 
 
 
 
 
 | 96 | [propget, id (FSRM_DISPID_FILESCREEN | 0x81)] HRESULT Path ([out, retval] BSTR *path); | 
 
 
 
 
 | 97 | [propget, id (FSRM_DISPID_FILESCREEN | 0x82)] HRESULT SourceTemplateName ([out, retval] BSTR *fileScreenTemplateName); | 
 
 
 
 
 | 98 | [propget, id (FSRM_DISPID_FILESCREEN | 0x83)] HRESULT MatchesSourceTemplate ([out, retval] VARIANT_BOOL *matches); | 
 
 
 
 
 | 99 | [propget, id (FSRM_DISPID_FILESCREEN | 0x84)] HRESULT UserSid ([out, retval] BSTR *userSid); | 
 
 
 
 
 | 100 | [propget, id (FSRM_DISPID_FILESCREEN | 0x85)] HRESULT UserAccount ([out, retval] BSTR *userAccount); | 
 
 
 
 
 | 101 | [id (FSRM_DISPID_FILESCREEN | 0x1)] HRESULT ApplyTemplate ([in] BSTR fileScreenTemplateName); | 
 
 
 
 
 | 102 | }; | 
 
 
 
 
 | 103 |  | 
 
 
 
 
 | 104 | [object, uuid (ad55f10b-5f11-4be7-94ef-d9ee2e470ded), dual, pointer_default (unique)] | 
 
 
 
 
 | 105 | interface IFsrmFileGroupImported : IFsrmFileGroup { | 
 
 
 
 
 | 106 | [propget, id (FSRM_DISPID_FILEGROUP_IMPORTED | 0x81)] HRESULT OverwriteOnCommit ([out, retval] VARIANT_BOOL *overwrite); | 
 
 
 
 
 | 107 | [propput, id (FSRM_DISPID_FILEGROUP_IMPORTED | 0x81)] HRESULT OverwriteOnCommit ([in] VARIANT_BOOL overwrite); | 
 
 
 
 
 | 108 | }; | 
 
 
 
 
 | 109 |  | 
 
 
 
 
 | 110 | [object, uuid (205bebf8-dd93-452a-95a6-32b566b35828), dual, pointer_default (unique)] | 
 
 
 
 
 | 111 | interface IFsrmFileScreenTemplate : IFsrmFileScreenBase { | 
 
 
 
 
 | 112 | [propget, id (FSRM_DISPID_FILESCREEN_TEMPLATE | 0x81)] HRESULT Name ([out, retval] BSTR *name); | 
 
 
 
 
 | 113 | [propput, id (FSRM_DISPID_FILESCREEN_TEMPLATE | 0x81)] HRESULT Name ([in] BSTR name); | 
 
 
 
 
 | 114 | [id (FSRM_DISPID_FILESCREEN_TEMPLATE | 0x1)] HRESULT CopyTemplate ([in] BSTR fileScreenTemplateName); | 
 
 
 
 
 | 115 | [id (FSRM_DISPID_FILESCREEN_TEMPLATE | 0x2)] HRESULT CommitAndUpdateDerived ([in] FsrmCommitOptions commitOptions,[in] FsrmTemplateApplyOptions applyOptions,[out, retval] IFsrmDerivedObjectsResult **derivedObjectsResult); | 
 
 
 
 
 | 116 | }; | 
 
 
 
 
 | 117 |  | 
 
 
 
 
 | 118 | [object, uuid (e1010359-3e5d-4ecd-9fe4-ef48622fdf30), dual, pointer_default (unique)] | 
 
 
 
 
 | 119 | interface IFsrmFileScreenTemplateImported : IFsrmFileScreenTemplate { | 
 
 
 
 
 | 120 | [propget, id (FSRM_DISPID_FILESCREEN_TEMPLATE_IMPORTED | 0x81)] HRESULT OverwriteOnCommit ([out, retval] VARIANT_BOOL *overwrite); | 
 
 
 
 
 | 121 | [propput, id (FSRM_DISPID_FILESCREEN_TEMPLATE_IMPORTED | 0x81)] HRESULT OverwriteOnCommit ([in] VARIANT_BOOL overwrite); | 
 
 
 
 
 | 122 | }; | 
 
 
 
 
 | 123 | cpp_quote("#endif") |