fsrm.idl 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201
  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. cpp_quote("#include <winapifamily.h>")
  8. cpp_quote("")
  9. cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)")
  10. interface IFsrmObject;
  11. interface IFsrmCollection;
  12. interface IFsrmMutableCollection;
  13. interface IFsrmCommittableCollection;
  14. interface IFsrmAction;
  15. interface IFsrmActionEmail;
  16. interface IFsrmActionReport;
  17. interface IFsrmActionEventLog;
  18. interface IFsrmActionCommand;
  19. interface IFsrmSetting;
  20. interface IFsrmPathMapper;
  21. interface IFsrmExportImport;
  22. const DISPID FSRM_DISPID_FEATURE_MASK = 0xf000000;
  23. const DISPID FSRM_DISPID_INTERFACE_A_MASK = 0xf00000;
  24. const DISPID FSRM_DISPID_INTERFACE_B_MASK = 0xf0000;
  25. const DISPID FSRM_DISPID_INTERFACE_C_MASK = 0xf000;
  26. const DISPID FSRM_DISPID_INTERFACE_D_MASK = 0xf00;
  27. const DISPID FSRM_DISPID_INTERFACE_MASK = 0xffff00;
  28. const DISPID FSRM_DISPID_IS_PROPERTY = 0x80;
  29. const DISPID FSRM_DISPID_METHOD_NUM_MASK = 0x7f;
  30. const DISPID FSRM_DISPID_METHOD_MASK = 0xff;
  31. const DISPID FSRM_DISPID_FEATURE_GENERAL = 0x1000000;
  32. const DISPID FSRM_DISPID_FEATURE_QUOTA = 0x2000000;
  33. const DISPID FSRM_DISPID_FEATURE_FILESCREEN = 0x3000000;
  34. const DISPID FSRM_DISPID_FEATURE_REPORTS = 0x4000000;
  35. const DISPID FSRM_DISPID_FEATURE_CLASSIFICATION = 0x5000000;
  36. const DISPID FSRM_DISPID_FEATURE_PIPELINE = 0x6000000;
  37. const DISPID FSRM_DISPID_OBJECT = FSRM_DISPID_FEATURE_GENERAL | 0x100000;
  38. const DISPID FSRM_DISPID_COLLECTION = FSRM_DISPID_FEATURE_GENERAL | 0x200000;
  39. const DISPID FSRM_DISPID_COLLECTION_MUTABLE = FSRM_DISPID_COLLECTION | 0x10000;
  40. const DISPID FSRM_DISPID_COLLECTION_COMMITTABLE = FSRM_DISPID_COLLECTION_MUTABLE | 0x1000;
  41. const DISPID FSRM_DISPID_ACTION = FSRM_DISPID_FEATURE_GENERAL | 0x300000;
  42. const DISPID FSRM_DISPID_ACTION_EMAIL = FSRM_DISPID_ACTION | 0x10000;
  43. const DISPID FSRM_DISPID_ACTION_REPORT = FSRM_DISPID_ACTION | 0x20000;
  44. const DISPID FSRM_DISPID_ACTION_EVENTLOG = FSRM_DISPID_ACTION | 0x30000;
  45. const DISPID FSRM_DISPID_ACTION_COMMAND = FSRM_DISPID_ACTION | 0x40000;
  46. const DISPID FSRM_DISPID_ACTION_EMAIL2 = FSRM_DISPID_ACTION | 0x50000;
  47. const DISPID FSRM_DISPID_SETTING = FSRM_DISPID_FEATURE_GENERAL | 0x400000;
  48. const DISPID FSRM_DISPID_PATHMAPPER = FSRM_DISPID_FEATURE_GENERAL | 0x500000;
  49. const DISPID FSRM_DISPID_EXPORTIMPORT = FSRM_DISPID_FEATURE_GENERAL | 0x600000;
  50. const DISPID FSRM_DISPID_DERIVEDOBJECTSRESULT = FSRM_DISPID_FEATURE_GENERAL | 0x700000;
  51. const DISPID FSRM_DISPID_ADR = FSRM_DISPID_FEATURE_GENERAL | 0x800000;
  52. [object, uuid (96deb3b5-8b91-4a2a-9d93-80a35d8aa847), dual, hidden, nonextensible, pointer_default (unique)]
  53. interface IFsrmCommittableCollection : IFsrmMutableCollection {
  54. [id (FSRM_DISPID_COLLECTION_COMMITTABLE | 0x1)] HRESULT Commit ([in] FsrmCommitOptions options,[out, retval] IFsrmCollection **results);
  55. };
  56. [object, uuid (40002314-590b-45a5-8e1b-8c05da527e52), dual, oleautomation, pointer_default (unique)]
  57. interface IFsrmAccessDeniedRemediationClient : IDispatch {
  58. [id (FSRM_DISPID_ADR | 0x01)] HRESULT Show ([in] ULONG_PTR parentWnd,[in] BSTR accessPath,[in] AdrClientErrorType errorType,[in] long flags,[in, defaultvalue (L"")] BSTR windowTitle,[in, defaultvalue (L"")] BSTR windowMessage,[out, retval] long *result);
  59. };
  60. [object, uuid (6cd6408a-ae60-463b-9ef1-e117534d69dc), dual, pointer_default (unique)]
  61. interface IFsrmAction : IDispatch {
  62. [propget, id (FSRM_DISPID_ACTION | 0x81)] HRESULT Id ([out, retval] FSRM_OBJECT_ID *id);
  63. [propget, id (FSRM_DISPID_ACTION | 0x82)] HRESULT ActionType ([out, retval] FsrmActionType *actionType);
  64. [propget, id (FSRM_DISPID_ACTION | 0x83)] HRESULT RunLimitInterval ([out, retval] long *minutes);
  65. [propput, id (FSRM_DISPID_ACTION | 0x83)] HRESULT RunLimitInterval ([in] long minutes);
  66. [id (FSRM_DISPID_ACTION | 0x1)] HRESULT Delete ();
  67. };
  68. [object, uuid (12937789-e247-4917-9c20-f3ee9c7ee783), dual, pointer_default (unique)]
  69. interface IFsrmActionCommand : IFsrmAction {
  70. [propget, id (FSRM_DISPID_ACTION_COMMAND | 0x81)] HRESULT ExecutablePath ([out, retval] BSTR *executablePath);
  71. [propput, id (FSRM_DISPID_ACTION_COMMAND | 0x81)] HRESULT ExecutablePath ([in] BSTR executablePath);
  72. [propget, id (FSRM_DISPID_ACTION_COMMAND | 0x82)] HRESULT Arguments ([out, retval] BSTR *arguments);
  73. [propput, id (FSRM_DISPID_ACTION_COMMAND | 0x82)] HRESULT Arguments ([in] BSTR arguments);
  74. [propget, id (FSRM_DISPID_ACTION_COMMAND | 0x83)] HRESULT Account ([out, retval] FsrmAccountType *account);
  75. [propput, id (FSRM_DISPID_ACTION_COMMAND | 0x83)] HRESULT Account ([in] FsrmAccountType account);
  76. [propget, id (FSRM_DISPID_ACTION_COMMAND | 0x84)] HRESULT WorkingDirectory ([out, retval] BSTR *workingDirectory);
  77. [propput, id (FSRM_DISPID_ACTION_COMMAND | 0x84)] HRESULT WorkingDirectory ([in] BSTR workingDirectory);
  78. [propget, id (FSRM_DISPID_ACTION_COMMAND | 0x85)] HRESULT MonitorCommand ([out, retval] VARIANT_BOOL *monitorCommand);
  79. [propput, id (FSRM_DISPID_ACTION_COMMAND | 0x85)] HRESULT MonitorCommand ([in] VARIANT_BOOL monitorCommand);
  80. [propget, id (FSRM_DISPID_ACTION_COMMAND | 0x86)] HRESULT KillTimeOut ([out, retval] long *minutes);
  81. [propput, id (FSRM_DISPID_ACTION_COMMAND | 0x86)] HRESULT KillTimeOut ([in] long minutes);
  82. [propget, id (FSRM_DISPID_ACTION_COMMAND | 0x87)] HRESULT LogResult ([out, retval] VARIANT_BOOL *logResults);
  83. [propput, id (FSRM_DISPID_ACTION_COMMAND | 0x87)] HRESULT LogResult ([in] VARIANT_BOOL logResults);
  84. };
  85. [object, uuid (4c8f96c3-5d94-4f37-a4f4-f56ab463546f), dual, pointer_default (unique)]
  86. interface IFsrmActionEventLog : IFsrmAction {
  87. [propget, id (FSRM_DISPID_ACTION_EVENTLOG | 0x81)] HRESULT EventType ([out, retval] FsrmEventType *eventType);
  88. [propput, id (FSRM_DISPID_ACTION_EVENTLOG | 0x81)] HRESULT EventType ([in] FsrmEventType eventType);
  89. [propget, id (FSRM_DISPID_ACTION_EVENTLOG | 0x82)] HRESULT MessageText ([out, retval] BSTR *messageText);
  90. [propput, id (FSRM_DISPID_ACTION_EVENTLOG | 0x82)] HRESULT MessageText ([in] BSTR messageText);
  91. };
  92. [object, uuid (2dbe63c4-b340-48a0-a5b0-158e07fc567e), dual, pointer_default (unique)]
  93. interface IFsrmActionReport : IFsrmAction {
  94. [propget, id (FSRM_DISPID_ACTION_REPORT | 0x81)] HRESULT ReportTypes ([out, retval] SAFEARRAY (VARIANT) *reportTypes);
  95. [propput, id (FSRM_DISPID_ACTION_REPORT | 0x81)] HRESULT ReportTypes ([in] SAFEARRAY (VARIANT) reportTypes);
  96. [propget, id (FSRM_DISPID_ACTION_REPORT | 0x82)] HRESULT MailTo ([out, retval] BSTR *mailTo);
  97. [propput, id (FSRM_DISPID_ACTION_REPORT | 0x82)] HRESULT MailTo ([in] BSTR mailTo);
  98. };
  99. [object, uuid (f76fbf3b-8ddd-4b42-b05a-cb1c3ff1fee8), dual, hidden, nonextensible, pointer_default (unique)]
  100. interface IFsrmCollection : IDispatch {
  101. [propget, id (DISPID_NEWENUM), restricted] HRESULT _NewEnum ([out, retval] IUnknown **unknown);
  102. [propget, id (DISPID_VALUE)] HRESULT Item ([in] long index,[out, retval] VARIANT *item);
  103. [propget, id (FSRM_DISPID_COLLECTION | 0x81)] HRESULT Count ([out, retval] long *count);
  104. [propget, id (FSRM_DISPID_COLLECTION | 0x82)] HRESULT State ([out, retval] FsrmCollectionState *state);
  105. [id (FSRM_DISPID_COLLECTION | 0x1)] HRESULT Cancel ();
  106. [id (FSRM_DISPID_COLLECTION | 0x2)] HRESULT WaitForCompletion ([in] long waitSeconds,[out, retval] VARIANT_BOOL *completed);
  107. [id (FSRM_DISPID_COLLECTION | 0x3)] HRESULT GetById ([in] FSRM_OBJECT_ID id,[out, retval] VARIANT *entry);
  108. };
  109. [object, uuid (39322a2d-38ee-4d0d-8095-421a80849a82), dual, pointer_default (unique)]
  110. interface IFsrmDerivedObjectsResult : IDispatch {
  111. [propget, id (FSRM_DISPID_DERIVEDOBJECTSRESULT | 0x81)] HRESULT DerivedObjects ([out, retval] IFsrmCollection **derivedObjects);
  112. [propget, id (FSRM_DISPID_DERIVEDOBJECTSRESULT | 0x82)] HRESULT Results ([out, retval] IFsrmCollection **results);
  113. };
  114. [object, uuid (efcb0ab1-16c4-4a79-812c-725614c3306b), dual, pointer_default (unique)]
  115. interface IFsrmExportImport : IDispatch {
  116. [id (FSRM_DISPID_EXPORTIMPORT | 0x1)] HRESULT ExportFileGroups ([in] BSTR filePath,[in, defaultvalue (NULL)] VARIANT *fileGroupNamesSafeArray,[in, defaultvalue (L"")] BSTR remoteHost);
  117. [id (FSRM_DISPID_EXPORTIMPORT | 0x2)] HRESULT ImportFileGroups ([in] BSTR filePath,[in, defaultvalue (NULL)] VARIANT *fileGroupNamesSafeArray,[in, defaultvalue (L"")] BSTR remoteHost,[out, retval] IFsrmCommittableCollection **fileGroups);
  118. [id (FSRM_DISPID_EXPORTIMPORT | 0x3)] HRESULT ExportFileScreenTemplates ([in] BSTR filePath,[in, defaultvalue (NULL)] VARIANT *templateNamesSafeArray,[in, defaultvalue (L"")] BSTR remoteHost);
  119. [id (FSRM_DISPID_EXPORTIMPORT | 0x4)] HRESULT ImportFileScreenTemplates ([in] BSTR filePath,[in, defaultvalue (NULL)] VARIANT *templateNamesSafeArray,[in, defaultvalue (L"")] BSTR remoteHost,[out, retval] IFsrmCommittableCollection **templates);
  120. [id (FSRM_DISPID_EXPORTIMPORT | 0x5)] HRESULT ExportQuotaTemplates ([in] BSTR filePath,[in, defaultvalue (NULL)] VARIANT *templateNamesSafeArray,[in, defaultvalue (L"")] BSTR remoteHost);
  121. [id (FSRM_DISPID_EXPORTIMPORT | 0x6)] HRESULT ImportQuotaTemplates ([in] BSTR filePath,[in, defaultvalue (NULL)] VARIANT *templateNamesSafeArray,[in, defaultvalue (L"")] BSTR remoteHost,[out, retval] IFsrmCommittableCollection **templates);
  122. };
  123. [object, uuid (22bcef93-4a3f-4183-89f9-2f8b8a628aee), dual, hidden, nonextensible, pointer_default (unique)]
  124. interface IFsrmObject : IDispatch {
  125. [propget, id (FSRM_DISPID_OBJECT | 0x81)] HRESULT Id ([out, retval] FSRM_OBJECT_ID *id);
  126. [propget, id (FSRM_DISPID_OBJECT | 0x82)] HRESULT Description ([out, retval] BSTR *description);
  127. [propput, id (FSRM_DISPID_OBJECT | 0x82)] HRESULT Description ([in] BSTR description);
  128. [id (FSRM_DISPID_OBJECT | 0x1)] HRESULT Delete ();
  129. [id (FSRM_DISPID_OBJECT | 0x2)] HRESULT Commit ();
  130. };
  131. [object, uuid (6f4dbfff-6920-4821-a6c3-b7e94c1fd60c), dual, pointer_default (unique)]
  132. interface IFsrmPathMapper : IDispatch {
  133. [id (FSRM_DISPID_PATHMAPPER | 0x01)] HRESULT GetSharePathsForLocalPath ([in] BSTR localPath,[out, retval] SAFEARRAY (VARIANT) *sharePaths);
  134. };
  135. [object, uuid (f411d4fd-14be-4260-8c40-03b7c95e608a), dual, pointer_default (unique)]
  136. interface IFsrmSetting : IDispatch {
  137. [propget, id (FSRM_DISPID_SETTING | 0x81)] HRESULT SmtpServer ([out, retval] BSTR *smtpServer);
  138. [propput, id (FSRM_DISPID_SETTING | 0x81)] HRESULT SmtpServer ([in] BSTR smtpServer);
  139. [propget, id (FSRM_DISPID_SETTING | 0x82)] HRESULT MailFrom ([out, retval] BSTR *mailFrom);
  140. [propput, id (FSRM_DISPID_SETTING | 0x82)] HRESULT MailFrom ([in] BSTR mailFrom);
  141. [propget, id (FSRM_DISPID_SETTING | 0x83)] HRESULT AdminEmail ([out, retval] BSTR *adminEmail);
  142. [propput, id (FSRM_DISPID_SETTING | 0x83)] HRESULT AdminEmail ([in] BSTR adminEmail);
  143. [propget, id (FSRM_DISPID_SETTING | 0x84)] HRESULT DisableCommandLine ([out, retval] VARIANT_BOOL *disableCommandLine);
  144. [propput, id (FSRM_DISPID_SETTING | 0x84)] HRESULT DisableCommandLine ([in] VARIANT_BOOL disableCommandLine);
  145. [propget, id (FSRM_DISPID_SETTING | 0x85)] HRESULT EnableScreeningAudit ([out, retval] VARIANT_BOOL *enableScreeningAudit);
  146. [propput, id (FSRM_DISPID_SETTING | 0x85)] HRESULT EnableScreeningAudit ([in] VARIANT_BOOL enableScreeningAudit);
  147. [id (FSRM_DISPID_SETTING | 0x01)] HRESULT EmailTest ([in] BSTR mailTo);
  148. [id (FSRM_DISPID_SETTING | 0x02)] HRESULT SetActionRunLimitInterval ([in] FsrmActionType actionType,[in] long delayTimeMinutes);
  149. [id (FSRM_DISPID_SETTING | 0x03)] HRESULT GetActionRunLimitInterval ([in] FsrmActionType actionType,[out, retval] long *delayTimeMinutes);
  150. };
  151. [object, uuid (d646567d-26ae-4caa-9f84-4e0aad207fca), dual, pointer_default (unique)]
  152. interface IFsrmActionEmail : IFsrmAction {
  153. [propget, id (FSRM_DISPID_ACTION_EMAIL | 0x81)] HRESULT MailFrom ([out, retval] BSTR *mailFrom);
  154. [propput, id (FSRM_DISPID_ACTION_EMAIL | 0x81)] HRESULT MailFrom ([in] BSTR mailFrom);
  155. [propget, id (FSRM_DISPID_ACTION_EMAIL | 0x82)] HRESULT MailReplyTo ([out, retval] BSTR *mailReplyTo);
  156. [propput, id (FSRM_DISPID_ACTION_EMAIL | 0x82)] HRESULT MailReplyTo ([in] BSTR mailReplyTo);
  157. [propget, id (FSRM_DISPID_ACTION_EMAIL | 0x83)] HRESULT MailTo ([out, retval] BSTR *mailTo);
  158. [propput, id (FSRM_DISPID_ACTION_EMAIL | 0x83)] HRESULT MailTo ([in] BSTR mailTo);
  159. [propget, id (FSRM_DISPID_ACTION_EMAIL | 0x84)] HRESULT MailCc ([out, retval] BSTR *mailCc);
  160. [propput, id (FSRM_DISPID_ACTION_EMAIL | 0x84)] HRESULT MailCc ([in] BSTR mailCc);
  161. [propget, id (FSRM_DISPID_ACTION_EMAIL | 0x85)] HRESULT MailBcc ([out, retval] BSTR *mailBcc);
  162. [propput, id (FSRM_DISPID_ACTION_EMAIL | 0x85)] HRESULT MailBcc ([in] BSTR mailBcc);
  163. [propget, id (FSRM_DISPID_ACTION_EMAIL | 0x86)] HRESULT MailSubject ([out, retval] BSTR *mailSubject);
  164. [propput, id (FSRM_DISPID_ACTION_EMAIL | 0x86)] HRESULT MailSubject ([in] BSTR mailSubject);
  165. [propget, id (FSRM_DISPID_ACTION_EMAIL | 0x87)] HRESULT MessageText ([out, retval] BSTR *messageText);
  166. [propput, id (FSRM_DISPID_ACTION_EMAIL | 0x87)] HRESULT MessageText ([in] BSTR messageText);
  167. };
  168. [object, uuid (8276702f-2532-4839-89bf-4872609a2ea4), dual, pointer_default (unique)]
  169. interface IFsrmActionEmail2 : IFsrmActionEmail {
  170. [propget, id (FSRM_DISPID_ACTION_EMAIL2 | 0x81)] HRESULT AttachmentFileListSize ([out, retval] long *attachmentFileListSize);
  171. [propput, id (FSRM_DISPID_ACTION_EMAIL2 | 0x81)] HRESULT AttachmentFileListSize ([in] long attachmentFileListSize);
  172. };
  173. [object, uuid (1bb617b8-3886-49dc-af82-a6c90fa35dda), dual, hidden, nonextensible, pointer_default (unique)]
  174. interface IFsrmMutableCollection : IFsrmCollection {
  175. [id (FSRM_DISPID_COLLECTION_MUTABLE | 0x1)] HRESULT Add ([in] VARIANT item);
  176. [id (FSRM_DISPID_COLLECTION_MUTABLE | 0x2)] HRESULT Remove ([in] long index);
  177. [id (FSRM_DISPID_COLLECTION_MUTABLE | 0x3)] HRESULT RemoveById ([in] FSRM_OBJECT_ID id);
  178. [id (FSRM_DISPID_COLLECTION_MUTABLE | 0x4)] HRESULT Clone ([out, retval] IFsrmMutableCollection **collection);
  179. };
  180. cpp_quote("#endif")