fsrmscreen.idl 9.3 KB

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