Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
For ease of implementation, the full interface definition language (IDL) is provided as follows, where "ms-dtyp.idl" is the IDL found in [MS-DTYP] section 5 and "ms-oaut.idl" is the IDL found in [MS-OAUT].
This IDL does not include a pointer_default declaration. As noted in [MS-RPCE], this declaration is not required in MIDL, and, in this case, pointer_default(unique) is assumed.
-
import "ms-dtyp.idl"; import "ms-oaut.idl"; #define SAFEARRAY(VARIANT) SAFEARRAY typedef GUID FSRM_OBJECT_ID; typedef enum _FsrmQuotaFlags { FsrmQuotaFlags_Enforce = 0x00000100, FsrmQuotaFlags_Disable = 0x00000200, FsrmQuotaFlags_StatusIncomplete = 0x00010000, FsrmQuotaFlags_StatusRebuilding = 0x00020000 } FsrmQuotaFlags; typedef enum _FsrmFileScreenFlags { FsrmFileScreenFlags_Enforce = 0x00000001 } FsrmFileScreenFlags; typedef enum _FsrmCollectionState { FsrmCollectionState_Fetching = 1, FsrmCollectionState_Committing = 2, FsrmCollectionState_Complete = 3, FsrmCollectionState_Cancelled = 4 } FsrmCollectionState; typedef enum _FsrmEnumOptions { FsrmEnumOptions_None = 0x00000000, FsrmEnumOptions_Asynchronous = 0x00000001, FsrmEnumOptions_CheckRecycleBin = 0x00000002, FsrmEnumOptions_IncludeClusterNodes = 0x00000004, FsrmEnumOptions_IncludeDeprecatedObjects = 0x00000008 } FsrmEnumOptions; typedef enum _FsrmCommitOptions { FsrmCommitOptions_None = 0x00000000, FsrmCommitOptions_Asynchronous = 0x00000001 } FsrmCommitOptions; typedef enum _FsrmTemplateApplyOptions { FsrmTemplateApplyOptions_ApplyToDerivedMatching = 1, FsrmTemplateApplyOptions_ApplyToDerivedAll = 2 } FsrmTemplateApplyOptions; typedef enum _FsrmActionType { FsrmActionType_Unknown = 0, FsrmActionType_EventLog = 1, FsrmActionType_Email = 2, FsrmActionType_Command = 3, FsrmActionType_Report = 4 } FsrmActionType; typedef enum _FsrmEventType { FsrmEventType_Unknown = 0, FsrmEventType_Information = 1, FsrmEventType_Warning = 2, FsrmEventType_Error = 3 } FsrmEventType; typedef enum _FsrmAccountType { FsrmAccountType_Unknown = 0, FsrmAccountType_NetworkService = 1, FsrmAccountType_LocalService = 2, FsrmAccountType_LocalSystem = 3, FsrmAccountType_InProc = 4, FsrmAccountType_External = 5, FsrmAccountType_Automatic = 500 } FsrmAccountType; typedef enum _FsrmReportType { FsrmReportType_Unknown = 0, FsrmReportType_LargeFiles = 1, FsrmReportType_FilesByType = 2, FsrmReportType_LeastRecentlyAccessed = 3, FsrmReportType_MostRecentlyAccessed = 4, FsrmReportType_QuotaUsage = 5, FsrmReportType_FilesByOwner = 6, FsrmReportType_ExportReport = 7, FsrmReportType_DuplicateFiles = 8, FsrmReportType_FileScreenAudit = 9, FsrmReportType_FilesByProperty = 10, FsrmReportType_AutomaticClassification = 11, FsrmReportType_Expiration = 12, FsrmReportType_FoldersByProperty = 13 } FsrmReportType; typedef enum _FsrmReportFormat { FsrmReportFormat_Unknown = 0, FsrmReportFormat_DHtml = 1, FsrmReportFormat_Html = 2, FsrmReportFormat_Txt = 3, FsrmReportFormat_Csv = 4, FsrmReportFormat_Xml = 5 } FsrmReportFormat; typedef enum _FsrmReportRunningStatus { FsrmReportRunningStatus_Unknown = 0, FsrmReportRunningStatus_NotRunning = 1, FsrmReportRunningStatus_Queued = 2, FsrmReportRunningStatus_Running = 3 } FsrmReportRunningStatus; typedef enum _FsrmReportGenerationContext { FsrmReportGenerationContext_Undefined = 1, FsrmReportGenerationContext_ScheduledReport = 2, FsrmReportGenerationContext_InteractiveReport = 3, FsrmReportGenerationContext_IncidentReport = 4 } FsrmReportGenerationContext; typedef enum _FsrmReportFilter { FsrmReportFilter_MinSize = 1, FsrmReportFilter_MinAgeDays = 2, FsrmReportFilter_MaxAgeDays = 3, FsrmReportFilter_MinQuotaUsage = 4, FsrmReportFilter_FileGroups = 5, FsrmReportFilter_Owners = 6, FsrmReportFilter_NamePattern = 7, FsrmReportFilter_Property = 8 } FsrmReportFilter; typedef enum _FsrmReportLimit { FsrmReportLimit_MaxFiles = 1, FsrmReportLimit_MaxFileGroups = 2, FsrmReportLimit_MaxOwners = 3, FsrmReportLimit_MaxFilesPerFileGroup = 4, FsrmReportLimit_MaxFilesPerOwner = 5, FsrmReportLimit_MaxFilesPerDuplGroup = 6, FsrmReportLimit_MaxDuplicateGroups = 7, FsrmReportLimit_MaxQuotas = 8, FsrmReportLimit_MaxFileScreenEvents = 9, FsrmReportLimit_MaxPropertyValues = 10, FsrmReportLimit_MaxFilesPerPropertyValue = 11, FsrmReportLimit_MaxFolders = 12 } FsrmReportLimit; typedef enum _FsrmPropertyDefinitionType { FsrmPropertyDefinitionType_Unknown = 0, FsrmPropertyDefinitionType_OrderedList = 1, FsrmPropertyDefinitionType_MultiChoiceList = 2, FsrmPropertyDefinitionType_SingleChoiceList = 3, FsrmPropertyDefinitionType_String = 4, FsrmPropertyDefinitionType_MultiString = 5, FsrmPropertyDefinitionType_Int = 6, FsrmPropertyDefinitionType_Bool = 7, FsrmPropertyDefinitionType_Date = 8 } FsrmPropertyDefinitionType; typedef enum _FsrmRuleType { FsrmRuleType_Unknown = 0, FsrmRuleType_Classification = 1, FsrmRuleType_Generic = 2 } FsrmRuleType; typedef enum _FsrmRuleFlags { FsrmRuleFlags_Disabled = 0x00000100, FsrmRuleFlags_Invalid = 0x00001000 } FsrmRuleFlags; typedef enum _FsrmClassificationLoggingFlags { FsrmClassificationLoggingFlags_None = 0x00000000, FsrmClassificationLoggingFlags_ClassificationsInLogFile = 0x00000001, FsrmClassificationLoggingFlags_ErrorsInLogFile = 0x00000002, FsrmClassificationLoggingFlags_ClassificationsInSystemLog = 0x00000004, FsrmClassificationLoggingFlags_ErrorsInSystemLog = 0x00000008 } FsrmClassificationLoggingFlags; typedef enum _FsrmExecutionOption { FsrmExecutionOption_Unknown = 0, FsrmExecutionOption_EvaluateUnset = 1, FsrmExecutionOption_ReEvaluate_ConsiderExistingValue = 2, FsrmExecutionOption_ReEvaluate_IgnoreExistingValue = 3 } FsrmExecutionOption; typedef enum _FsrmStorageModuleCaps { FsrmStorageModuleCaps_Unknown = 0x00000000, FsrmStorageModuleCaps_CanGet = 0x00000001, FsrmStorageModuleCaps_CanSet = 0x00000002, FsrmStorageModuleCaps_CanHandleDirectories = 0x00000004, FsrmStorageModuleCaps_CanHandleFiles = 0x00000008 } FsrmStorageModuleCaps; typedef enum _FsrmStorageModuleType { FsrmStorageModuleType_Unknown = 0x00000000, FsrmStorageModuleType_Cache = 0x00000001, FsrmStorageModuleType_InFile = 0x00000002, FsrmStorageModuleType_Database = 0x00000003, FsrmStorageModuleType_System = 0x00000064 } FsrmStorageModuleType; typedef enum _FsrmPropertyFlags { FsrmPropertyFlags_Orphaned = 0x00000001, FsrmPropertyFlags_RetrievedFromCache = 0x00000002, FsrmPropertyFlags_RetrievedFromStorage = 0x00000004, FsrmPropertyFlags_SetByClassifier = 0x00000008, FsrmPropertyFlags_Deleted = 0x00000010, FsrmPropertyFlags_Reclassified = 0x00000020, FsrmPropertyFlags_AggregationFailed = 0x00000040, FsrmPropertyFlags_Existing = 0x00000080, FsrmPropertyFlags_FailedLoadingProperties = 0x00000100, FsrmPropertyFlags_FailedClassifyingProperties = 0x00000200, FsrmPropertyFlags_FailedSavingProperties = 0x00000400, FsrmPropertyFlags_Secure = 0x00000800, FsrmPropertyFlags_PolicyDerived = 0x00001000, FsrmPropertyFlags_Inherited = 0x00002000, FsrmPropertyFlags_Manual = 0x00004000, FsrmPropertyFlags_PropertySourceMask = 0x0000000E } FsrmPropertyFlags; typedef enum _FsrmPipelineModuleType { FsrmPipelineModuleType_Unknown = 0, FsrmPipelineModuleType_Storage = 1, FsrmPipelineModuleType_Classifier = 2, } FsrmPipelineModuleType; typedef enum _FsrmGetFilePropertyOptions { FsrmGetFilePropertyOptions_None = 0x00000000, FsrmGetFilePropertyOptions_NoRuleEvaluation = 0x00000001, FsrmGetFilePropertyOptions_Persistent = 0x00000002, FsrmGetFilePropertyOptions_FailOnPersistErrors = 0x00000004, FsrmGetFilePropertyOptions_SkipOrphaned = 0x00000008 } FsrmGetFilePropertyOptions; typedef enum _FsrmFileManagementType { FsrmFileManagementType_Unknown = 0, FsrmFileManagementType_Expiration = 1, FsrmFileManagementType_Custom = 2, FsrmFileManagementType_Rms = 3 } FsrmFileManagementType; typedef enum _FsrmFileManagementLoggingFlags { FsrmFileManagementLoggingFlags_None = 0x00000000, FsrmFileManagementLoggingFlags_Error = 0x00000001, FsrmFileManagementLoggingFlags_Information = 0x00000002, FsrmFileManagementLoggingFlags_Audit = 0x00000004 } FsrmFileManagementLoggingFlags; typedef enum _FsrmPropertyConditionType { FsrmPropertyConditionType_Unknown = 0, FsrmPropertyConditionType_Equal = 1, FsrmPropertyConditionType_NotEqual = 2, FsrmPropertyConditionType_GreaterThan = 3, FsrmPropertyConditionType_LessThan = 4, FsrmPropertyConditionType_Contain = 5, FsrmPropertyConditionType_Exist = 6, FsrmPropertyConditionType_NotExist = 7, FsrmPropertyConditionType_StartWith = 8, FsrmPropertyConditionType_EndWith = 9, FsrmPropertyConditionType_ContainedIn = 10, FsrmPropertyConditionType_PrefixOf = 11, FsrmPropertyConditionType_SuffixOf = 12 } FsrmPropertyConditionType; interface IFsrmObject; interface IFsrmCollection; interface IFsrmMutableCollection; interface IFsrmCommittableCollection; interface IFsrmAction; interface IFsrmActionEmail; interface IFsrmActionReport; interface IFsrmActionEventLog; interface IFsrmActionCommand; interface IFsrmSetting; interface IFsrmPathMapper; const DISPID FSRM_DISPID_FEATURE_MASK = 0x0F000000; const DISPID FSRM_DISPID_INTERFACE_A_MASK = 0x00F00000; const DISPID FSRM_DISPID_INTERFACE_B_MASK = 0x000F0000; const DISPID FSRM_DISPID_INTERFACE_C_MASK = 0x0000F000; const DISPID FSRM_DISPID_INTERFACE_D_MASK = 0x00000F00; const DISPID FSRM_DISPID_INTERFACE_MASK = FSRM_DISPID_INTERFACE_A_MASK | FSRM_DISPID_INTERFACE_B_MASK | FSRM_DISPID_INTERFACE_C_MASK | FSRM_DISPID_INTERFACE_D_MASK; const DISPID FSRM_DISPID_IS_PROPERTY = 0x00000080; const DISPID FSRM_DISPID_METHOD_NUM_MASK = 0x0000007F; const DISPID FSRM_DISPID_METHOD_MASK = FSRM_DISPID_IS_PROPERTY | FSRM_DISPID_METHOD_NUM_MASK; #define FSRM_PROPERTY(x) x | FSRM_DISPID_IS_PROPERTY const DISPID FSRM_DISPID_FEATURE_GENERAL = 0x01000000; const DISPID FSRM_DISPID_FEATURE_QUOTA = 0x02000000; const DISPID FSRM_DISPID_FEATURE_FILESCREEN = 0x03000000; const DISPID FSRM_DISPID_FEATURE_REPORTS = 0x04000000; const DISPID FSRM_DISPID_FEATURE_CLASSIFICATION = 0x05000000; const DISPID FSRM_DISPID_FEATURE_PIPELINE = 0x06000000; const DISPID FSRM_DISPID_OBJECT = FSRM_DISPID_FEATURE_GENERAL | 0x100000; const DISPID FSRM_DISPID_COLLECTION = FSRM_DISPID_FEATURE_GENERAL | 0x200000; const DISPID FSRM_DISPID_COLLECTION_MUTABLE = FSRM_DISPID_COLLECTION | 0x010000; const DISPID FSRM_DISPID_COLLECTION_COMMITTABLE = FSRM_DISPID_COLLECTION_MUTABLE | 0x001000; const DISPID FSRM_DISPID_ACTION = FSRM_DISPID_FEATURE_GENERAL | 0x300000; const DISPID FSRM_DISPID_ACTION_EMAIL = FSRM_DISPID_ACTION | 0x010000; const DISPID FSRM_DISPID_ACTION_REPORT = FSRM_DISPID_ACTION | 0x020000; const DISPID FSRM_DISPID_ACTION_EVENTLOG = FSRM_DISPID_ACTION | 0x030000; const DISPID FSRM_DISPID_ACTION_COMMAND = FSRM_DISPID_ACTION | 0x040000; const DISPID FSRM_DISPID_ACTION_EMAIL2 = FSRM_DISPID_ACTION | 0x050000; const DISPID FSRM_DISPID_SETTING = FSRM_DISPID_FEATURE_GENERAL | 0x400000; const DISPID FSRM_DISPID_PATHMAPPER = FSRM_DISPID_FEATURE_GENERAL | 0x500000; const DISPID FSRM_DISPID_DERIVEDOBJECTSRESULT = FSRM_DISPID_FEATURE_GENERAL | 0x700000; [ object, uuid(22bcef93-4a3f-4183-89f9-2f8b8a628aee), dual, hidden, nonextensible, pointer_default(unique) ]interface IFsrmObject : IDispatch { [propget, id(FSRM_PROPERTY(FSRM_DISPID_OBJECT | 0x01))] HRESULT Id([out, retval] FSRM_OBJECT_ID *id); [propget, id(FSRM_PROPERTY(FSRM_DISPID_OBJECT | 0x02))] HRESULT Description([out, retval] BSTR *description); [propput, id(FSRM_PROPERTY(FSRM_DISPID_OBJECT | 0x02))] HRESULT Description([in] BSTR description); [id(FSRM_DISPID_OBJECT | 0x01)] HRESULT Delete(); [id(FSRM_DISPID_OBJECT | 0x02)] HRESULT Commit(); }; [ object, uuid(f76fbf3b-8ddd-4b42-b05a-cb1c3ff1fee8), dual, hidden, nonextensible, pointer_default(unique) ]interface IFsrmCollection : IDispatch { [propget, id(DISPID_NEWENUM), restricted] HRESULT _NewEnum([out, retval] IUnknown **unknown); [propget, id(DISPID_VALUE)] HRESULT Item( [in] long index, [out, retval] VARIANT *item); [propget, id(FSRM_PROPERTY(FSRM_DISPID_COLLECTION | 0x01))] HRESULT Count([out, retval] long *count); [propget, id(FSRM_PROPERTY(FSRM_DISPID_COLLECTION | 0x02))] HRESULT State([out, retval] FsrmCollectionState *state); [id(FSRM_DISPID_COLLECTION | 0x01)] HRESULT Cancel(); [id(FSRM_DISPID_COLLECTION | 0x02)] HRESULT WaitForCompletion( [in] long waitSeconds, [out, retval] VARIANT_BOOL *completed); [id(FSRM_DISPID_COLLECTION | 0x03)] HRESULT GetById( [in] FSRM_OBJECT_ID id, [out, retval] VARIANT *entry); }; [ object, uuid(1bb617b8-3886-49dc-af82-a6c90fa35dda), dual, hidden, nonextensible, pointer_default(unique) ]interface IFsrmMutableCollection : IFsrmCollection { [id(FSRM_DISPID_COLLECTION_MUTABLE | 0x01)] HRESULT Add([in] VARIANT item); [id(FSRM_DISPID_COLLECTION_MUTABLE | 0x02)] HRESULT Remove([in] long index); [id(FSRM_DISPID_COLLECTION_MUTABLE | 0x03)] HRESULT RemoveById([in] FSRM_OBJECT_ID id); [id(FSRM_DISPID_COLLECTION_MUTABLE | 0x04)] HRESULT Clone([out, retval] IFsrmMutableCollection **collection); }; [ object, uuid(96deb3b5-8b91-4a2a-9d93-80a35d8aa847), dual, hidden, nonextensible, pointer_default(unique) ]interface IFsrmCommittableCollection : IFsrmMutableCollection { [id(FSRM_DISPID_COLLECTION_COMMITTABLE | 0x01)] HRESULT Commit( [in] FsrmCommitOptions options, [out, retval] IFsrmCollection **results); }; [ object, uuid(6cd6408a-ae60-463b-9ef1-e117534d69dc), dual, pointer_default(unique) ]interface IFsrmAction : IDispatch { [propget, id(FSRM_PROPERTY(FSRM_DISPID_ACTION | 0x01))] HRESULT Id([out, retval] FSRM_OBJECT_ID *id); [propget, id(FSRM_PROPERTY(FSRM_DISPID_ACTION | 0x02))] HRESULT ActionType([out, retval] FsrmActionType *actionType); [propget, id(FSRM_PROPERTY(FSRM_DISPID_ACTION | 0x03))] HRESULT RunLimitInterval([out, retval] long *minutes); [propput, id(FSRM_PROPERTY(FSRM_DISPID_ACTION | 0x03))] HRESULT RunLimitInterval([in] long minutes); [id(FSRM_DISPID_ACTION | 0x01)] HRESULT Delete(); }; [ object, uuid(d646567d-26ae-4caa-9f84-4e0aad207fca), dual, pointer_default(unique) ]interface IFsrmActionEmail : IFsrmAction { [propget, id(FSRM_PROPERTY(FSRM_DISPID_ACTION_EMAIL | 0x01))] HRESULT MailFrom([out, retval] BSTR *mailFrom); [propput, id(FSRM_PROPERTY(FSRM_DISPID_ACTION_EMAIL | 0x01))] HRESULT MailFrom([in] BSTR mailFrom); [propget, id(FSRM_PROPERTY(FSRM_DISPID_ACTION_EMAIL | 0x02))] HRESULT MailReplyTo([out, retval] BSTR *mailReplyTo); [propput, id(FSRM_PROPERTY(FSRM_DISPID_ACTION_EMAIL | 0x02))] HRESULT MailReplyTo([in] BSTR mailReplyTo); [propget, id(FSRM_PROPERTY(FSRM_DISPID_ACTION_EMAIL | 0x03))] HRESULT MailTo([out, retval] BSTR *mailTo); [propput, id(FSRM_PROPERTY(FSRM_DISPID_ACTION_EMAIL | 0x03))] HRESULT MailTo([in] BSTR mailTo); [propget, id(FSRM_PROPERTY(FSRM_DISPID_ACTION_EMAIL | 0x04))] HRESULT MailCc([out, retval] BSTR *mailCc); [propput, id(FSRM_PROPERTY(FSRM_DISPID_ACTION_EMAIL | 0x04))] HRESULT MailCc([in] BSTR mailCc); [propget, id(FSRM_PROPERTY(FSRM_DISPID_ACTION_EMAIL | 0x05))] HRESULT MailBcc([out, retval] BSTR *mailBcc); [propput, id(FSRM_PROPERTY(FSRM_DISPID_ACTION_EMAIL | 0x05))] HRESULT MailBcc([in] BSTR mailBcc); [propget, id(FSRM_PROPERTY(FSRM_DISPID_ACTION_EMAIL | 0x06))] HRESULT MailSubject([out, retval] BSTR *mailSubject); [propput, id(FSRM_PROPERTY(FSRM_DISPID_ACTION_EMAIL | 0x06))] HRESULT MailSubject([in] BSTR mailSubject); [propget, id(FSRM_PROPERTY(FSRM_DISPID_ACTION_EMAIL | 0x07))] HRESULT MessageText([out, retval] BSTR *messageText); [propput, id(FSRM_PROPERTY(FSRM_DISPID_ACTION_EMAIL | 0x07))] HRESULT MessageText([in] BSTR messageText); }; [ object, uuid(8276702f-2532-4839-89bf-4872609a2ea4), dual, pointer_default(unique) ]interface IFsrmActionEmail2 : IFsrmActionEmail { [propget, id(FSRM_PROPERTY(FSRM_DISPID_ACTION_EMAIL2 | 0x01))] HRESULT AttachmentFileListSize([out, retval] long *attachmentFileListSize); [propput, id(FSRM_PROPERTY(FSRM_DISPID_ACTION_EMAIL2 | 0x01))] HRESULT AttachmentFileListSize([in] long attachmentFileListSize); }; [ object, uuid(2dbe63c4-b340-48a0-a5b0-158e07fc567e), dual, pointer_default(unique) ]interface IFsrmActionReport : IFsrmAction { [propget, id(FSRM_PROPERTY(FSRM_DISPID_ACTION_REPORT | 0x01))] HRESULT ReportTypes([out, retval] SAFEARRAY(VARIANT) *reportTypes); [propput, id(FSRM_PROPERTY(FSRM_DISPID_ACTION_REPORT | 0x01))] HRESULT ReportTypes([in] SAFEARRAY(VARIANT) reportTypes); [propget, id(FSRM_PROPERTY(FSRM_DISPID_ACTION_REPORT | 0x02))] HRESULT MailTo([out, retval] BSTR *mailTo); [propput, id(FSRM_PROPERTY(FSRM_DISPID_ACTION_REPORT | 0x02))] HRESULT MailTo([in] BSTR mailTo); }; [ object, uuid(4c8f96c3-5d94-4f37-a4f4-f56ab463546f), dual, pointer_default(unique) ]interface IFsrmActionEventLog : IFsrmAction { [propget, id(FSRM_PROPERTY(FSRM_DISPID_ACTION_EVENTLOG | 0x01))] HRESULT EventType([out, retval] FsrmEventType *eventType); [propput, id(FSRM_PROPERTY(FSRM_DISPID_ACTION_EVENTLOG | 0x01))] HRESULT EventType([in] FsrmEventType eventType); [propget, id(FSRM_PROPERTY(FSRM_DISPID_ACTION_EVENTLOG | 0x02))] HRESULT MessageText([out, retval] BSTR *messageText); [propput, id(FSRM_PROPERTY(FSRM_DISPID_ACTION_EVENTLOG | 0x02))] HRESULT MessageText([in] BSTR messageText); }; [ object, uuid(12937789-e247-4917-9c20-f3ee9c7ee783), dual, pointer_default(unique) ]interface IFsrmActionCommand : IFsrmAction { [propget, id(FSRM_PROPERTY(FSRM_DISPID_ACTION_COMMAND | 0x01))] HRESULT ExecutablePath([out, retval] BSTR *executablePath); [propput, id(FSRM_PROPERTY(FSRM_DISPID_ACTION_COMMAND | 0x01))] HRESULT ExecutablePath([in] BSTR executablePath); [propget, id(FSRM_PROPERTY(FSRM_DISPID_ACTION_COMMAND | 0x02))] HRESULT Arguments([out, retval] BSTR *arguments); [propput, id(FSRM_PROPERTY(FSRM_DISPID_ACTION_COMMAND | 0x02))] HRESULT Arguments([in] BSTR arguments); [propget, id(FSRM_PROPERTY(FSRM_DISPID_ACTION_COMMAND | 0x03))] HRESULT Account([out, retval] FsrmAccountType *account); [propput, id(FSRM_PROPERTY(FSRM_DISPID_ACTION_COMMAND | 0x03))] HRESULT Account([in] FsrmAccountType account); [propget, id(FSRM_PROPERTY(FSRM_DISPID_ACTION_COMMAND | 0x04))] HRESULT WorkingDirectory([out, retval] BSTR *workingDirectory); [propput, id(FSRM_PROPERTY(FSRM_DISPID_ACTION_COMMAND | 0x04))] HRESULT WorkingDirectory([in] BSTR workingDirectory); [propget, id(FSRM_PROPERTY(FSRM_DISPID_ACTION_COMMAND | 0x05))] HRESULT MonitorCommand([out, retval] VARIANT_BOOL *monitorCommand); [propput, id(FSRM_PROPERTY(FSRM_DISPID_ACTION_COMMAND | 0x05))] HRESULT MonitorCommand([in] VARIANT_BOOL monitorCommand); [propget, id(FSRM_PROPERTY(FSRM_DISPID_ACTION_COMMAND | 0x06))] HRESULT KillTimeOut([out, retval] long *minutes); [propput, id(FSRM_PROPERTY(FSRM_DISPID_ACTION_COMMAND | 0x06))] HRESULT KillTimeOut([in] long minutes); [propget, id(FSRM_PROPERTY(FSRM_DISPID_ACTION_COMMAND | 0x07))] HRESULT LogResult([out, retval] VARIANT_BOOL *logResults); [propput, id(FSRM_PROPERTY(FSRM_DISPID_ACTION_COMMAND | 0x07))] HRESULT LogResult([in] VARIANT_BOOL logResults); }; [ object, uuid(f411d4fd-14be-4260-8c40-03b7c95e608a), dual, pointer_default(unique) ]interface IFsrmSetting : IDispatch { [propget, id(FSRM_PROPERTY(FSRM_DISPID_SETTING | 0x01))] HRESULT SmtpServer([out,retval] BSTR *smtpServer); [propput, id(FSRM_PROPERTY(FSRM_DISPID_SETTING | 0x01))] HRESULT SmtpServer([in] BSTR smtpServer); [propget, id(FSRM_PROPERTY(FSRM_DISPID_SETTING | 0x02))] HRESULT MailFrom([out,retval] BSTR *mailFrom); [propput, id(FSRM_PROPERTY(FSRM_DISPID_SETTING | 0x02))] HRESULT MailFrom([in] BSTR mailFrom); [propget, id(FSRM_PROPERTY(FSRM_DISPID_SETTING | 0x03))] HRESULT AdminEmail([out,retval] BSTR *adminEmail); [propput, id(FSRM_PROPERTY(FSRM_DISPID_SETTING | 0x03))] HRESULT AdminEmail([in] BSTR adminEmail); [propget, id(FSRM_PROPERTY(FSRM_DISPID_SETTING | 0x04))] HRESULT DisableCommandLine([out,retval] VARIANT_BOOL *disableCommandLine); [propput, id(FSRM_PROPERTY(FSRM_DISPID_SETTING | 0x04))] HRESULT DisableCommandLine([in] VARIANT_BOOL disableCommandLine); [propget, id(FSRM_PROPERTY(FSRM_DISPID_SETTING | 0x05))] HRESULT EnableScreeningAudit([out,retval] VARIANT_BOOL *enableScreeningAudit); [propput, id(FSRM_PROPERTY(FSRM_DISPID_SETTING | 0x05))] HRESULT EnableScreeningAudit([in] VARIANT_BOOL enableScreeningAudit); [id(FSRM_DISPID_SETTING | 0x01)] HRESULT EmailTest([in] BSTR mailTo); [id(FSRM_DISPID_SETTING | 0x02)] HRESULT SetActionRunLimitInterval( [in] FsrmActionType actionType, [in] long delayTimeMinutes); [id(FSRM_DISPID_SETTING | 0x03)] HRESULT GetActionRunLimitInterval( [in] FsrmActionType actionType, [out, retval] long *delayTimeMinutes); }; [ object, uuid(6f4dbfff-6920-4821-a6c3-b7e94c1fd60c), dual, pointer_default(unique) ]interface IFsrmPathMapper : IDispatch { [id(FSRM_DISPID_PATHMAPPER | 0x01)] HRESULT GetSharePathsForLocalPath( [in] BSTR localPath, [out, retval] SAFEARRAY(VARIANT)* sharePaths); }; [ object, uuid(39322a2d-38ee-4d0d-8095-421a80849a82), dual, pointer_default(unique) ]interface IFsrmDerivedObjectsResult : IDispatch { [propget, id(FSRM_PROPERTY(FSRM_DISPID_DERIVEDOBJECTSRESULT | 0x01))] HRESULT DerivedObjects([out, retval] IFsrmCollection **derivedObjects); [propget, id(FSRM_PROPERTY(FSRM_DISPID_DERIVEDOBJECTSRESULT | 0x02))] HRESULT Results([out, retval] IFsrmCollection **results); }; interface IFsrmPropertyDefinition; interface IFsrmPropertyDefinition2; interface IFsrmPropertyDefinitionValue; interface IFsrmProperty; interface IFsrmRule; interface IFsrmClassificationRule; interface IFsrmPipelineModuleDefinition; const DISPID FSRM_DISPID_PROPERTY_DEFINITION = FSRM_DISPID_FEATURE_CLASSIFICATION | 0x100000; const DISPID FSRM_DISPID_PROPERTY_DEFINITION2 = FSRM_DISPID_PROPERTY_DEFINITION | 0x010000; const DISPID FSRM_DISPID_PROPERTY = FSRM_DISPID_FEATURE_CLASSIFICATION | 0x200000; const DISPID FSRM_DISPID_RULE = FSRM_DISPID_FEATURE_CLASSIFICATION | 0x300000; const DISPID FSRM_DISPID_CLASSIFICATION_RULE = FSRM_DISPID_RULE | 0x010000; const DISPID FSRM_DISPID_EXPIRATION_RULE = FSRM_DISPID_RULE | 0x020000; const DISPID FSRM_DISPID_PIPELINE_MODULE_DEFINITION = FSRM_DISPID_FEATURE_CLASSIFICATION | 0x400000; const DISPID FSRM_DISPID_CLASSIFIER_MODULE_DEFINITION = FSRM_DISPID_PIPELINE_MODULE_DEFINITION | 0x010000; const DISPID FSRM_DISPID_STORAGE_MODULE_DEFINITION = FSRM_DISPID_PIPELINE_MODULE_DEFINITION | 0x020000; const DISPID FSRM_DISPID_CLASSIFICATION_MANAGER = FSRM_DISPID_FEATURE_CLASSIFICATION | 0x500000; const DISPID FSRM_DISPID_CLASSIFICATION_MANAGER2 = FSRM_DISPID_CLASSIFICATION_MANAGER | 0x010000; const DISPID FSRM_DISPID_CLASSIFICATION_EVENTS = FSRM_DISPID_FEATURE_CLASSIFICATION | 0x600000; const DISPID FSRM_DISPID_PROPERTY_DEFINITION_VALUE = FSRM_DISPID_FEATURE_CLASSIFICATION | 0x700000; const DISPID FSRM_DISPID_PROPERTY_BAG = FSRM_DISPID_FEATURE_PIPELINE | 0x600000; const DISPID FSRM_DISPID_PIPELINE_MODULE_IMPLEMENTATION = FSRM_DISPID_FEATURE_PIPELINE | 0x700000; const DISPID FSRM_DISPID_PIPELINE_MODULE_CONNECTOR = FSRM_DISPID_FEATURE_PIPELINE | 0x800000; const DISPID FSRM_DISPID_PIPELINE_MODULE_HOST = FSRM_DISPID_FEATURE_PIPELINE | 0x900000; const ULONG FsrmMaxNumberPropertyDefinitions = 200; [ object, uuid(ede0150f-e9a3-419c-877c-01fe5d24c5d3), dual, pointer_default(unique) ] interface IFsrmPropertyDefinition : IFsrmObject {[propget, id(FSRM_PROPERTY(FSRM_DISPID_PROPERTY_DEFINITION | 0x01))] HRESULT Name([out, retval] BSTR *name); [propput, id(FSRM_PROPERTY(FSRM_DISPID_PROPERTY_DEFINITION | 0x01))] HRESULT Name([in] BSTR name); [propget, id(FSRM_PROPERTY(FSRM_DISPID_PROPERTY_DEFINITION | 0x02))] HRESULT Type([out, retval] FsrmPropertyDefinitionType *type); [propput, id(FSRM_PROPERTY(FSRM_DISPID_PROPERTY_DEFINITION | 0x02))] HRESULT Type([in] FsrmPropertyDefinitionType type); [propget, id(FSRM_PROPERTY(FSRM_DISPID_PROPERTY_DEFINITION | 0x03))] HRESULT PossibleValues([out, retval] SAFEARRAY(VARIANT) *possibleValues); [propput, id(FSRM_PROPERTY(FSRM_DISPID_PROPERTY_DEFINITION | 0x03))] HRESULT PossibleValues([in] SAFEARRAY(VARIANT) possibleValues); [propget, id(FSRM_PROPERTY(FSRM_DISPID_PROPERTY_DEFINITION | 0x04))] HRESULT ValueDescriptions([out, retval] SAFEARRAY(VARIANT) *valueDescriptions); [propput, id(FSRM_PROPERTY(FSRM_DISPID_PROPERTY_DEFINITION | 0x04))] HRESULT ValueDescriptions([in] SAFEARRAY(VARIANT) valueDescriptions); [propget, id(FSRM_PROPERTY(FSRM_DISPID_PROPERTY_DEFINITION | 0x05))] HRESULT Parameters([out, retval] SAFEARRAY(VARIANT) *parameters); [propput, id(FSRM_PROPERTY(FSRM_DISPID_PROPERTY_DEFINITION | 0x05))] HRESULT Parameters ([in] SAFEARRAY(VARIANT) parameters); }; [ object, uuid(47782152-d16c-4229-b4e1-0ddfe308b9f6), dual, helpstring("IFsrmPropertyDefinition2 Interface"), pointer_default(unique) ] interface IFsrmPropertyDefinition2 : IFsrmPropertyDefinition { // // Properties // [propget, id(FSRM_PROPERTY(FSRM_DISPID_PROPERTY_DEFINITION2 | 0x01)), helpstring("This property contains the flags for the property definition")] HRESULT PropertyDefinitionFlags([out, retval] long *propertyDefinitionFlags); [propget, id(FSRM_PROPERTY(FSRM_DISPID_PROPERTY_DEFINITION2 | 0x02)), helpstring("This property is the display name of the property definition")] HRESULT DisplayName([out, retval] BSTR *name); [propput, id(FSRM_PROPERTY(FSRM_DISPID_PROPERTY_DEFINITION2 | 0x02)), helpstring("This property is the display name of the property definition")] HRESULT DisplayName([in] BSTR name); [propget, id(FSRM_PROPERTY(FSRM_DISPID_PROPERTY_DEFINITION2 | 0x03)), helpstring("This property contains the object types the property definition can apply to")] HRESULT AppliesTo([out, retval] long *appliesTo); [propget, id(FSRM_PROPERTY(FSRM_DISPID_PROPERTY_DEFINITION2 | 0x04)), helpstring("This property contains the possible value definitions of the property definition")] HRESULT ValueDefinitions([out, retval] IFsrmCollection **valueDefinitions); }; [ object, uuid(E946D148-BD67-4178-8E22-1C44925ED710), dual, helpstring("IFsrmPropertyDefinitionValue Interface"), pointer_default(unique) ] interface IFsrmPropertyDefinitionValue : IDispatch { // // Properties // [propget, id(FSRM_PROPERTY(FSRM_DISPID_PROPERTY_DEFINITION_VALUE | 0x01)), helpstring("This property contains the name of the property definition value")] HRESULT Name([out, retval] BSTR *name); [propget, id(FSRM_PROPERTY(FSRM_DISPID_PROPERTY_DEFINITION_VALUE | 0x02)), helpstring("This property contains the display name of the property definition value")] HRESULT DisplayName([out, retval] BSTR *displayName); [propget, id(FSRM_PROPERTY(FSRM_DISPID_PROPERTY_DEFINITION_VALUE | 0x03)), helpstring("This property contains the description of the property definition value")] HRESULT Description([out, retval] BSTR *description); [propget, id(FSRM_PROPERTY(FSRM_DISPID_PROPERTY_DEFINITION_VALUE | 0x04)), helpstring("This property contains the unique ID of the property definition value")] HRESULT UniqueID([out, retval] BSTR *uniqueID); }; [ object, uuid(4a73fee4-4102-4fcc-9ffb-38614f9ee768), dual, pointer_default(unique) ]interface IFsrmProperty : IDispatch { [propget, id(FSRM_PROPERTY(FSRM_DISPID_PROPERTY | 0x01))] HRESULT Name([out, retval] BSTR *name); [propget, id(FSRM_PROPERTY(FSRM_DISPID_PROPERTY | 0x02))] HRESULT Value([out, retval] BSTR *value); [propget, id(FSRM_PROPERTY(FSRM_DISPID_PROPERTY | 0x03))] HRESULT Sources([out, retval] SAFEARRAY(VARIANT) *sources); [propget, id(FSRM_PROPERTY(FSRM_DISPID_PROPERTY | 0x04))] HRESULT PropertyFlags([out, retval] long *flags); }; [ object, uuid(cb0df960-16f5-4495-9079-3f9360d831df), dual, pointer_default(unique) ]interface IFsrmRule : IFsrmObject { [propget, id(FSRM_PROPERTY(FSRM_DISPID_RULE | 0x01))] HRESULT Name([out, retval] BSTR *name); [propput, id(FSRM_PROPERTY(FSRM_DISPID_RULE | 0x01))] HRESULT Name([in] BSTR name); [propget, id(FSRM_PROPERTY(FSRM_DISPID_RULE | 0x02))] HRESULT RuleType([out, retval] FsrmRuleType *ruleType); [propget, id(FSRM_PROPERTY(FSRM_DISPID_RULE | 0x03))] HRESULT ModuleDefinitionName([out, retval] BSTR *moduleDefinitionName); [propput, id(FSRM_PROPERTY(FSRM_DISPID_RULE | 0x03))] HRESULT ModuleDefinitionName([in] BSTR moduleDefinitionName); [propget, id(FSRM_PROPERTY(FSRM_DISPID_RULE | 0x04))] HRESULT NamespaceRoots([out, retval] SAFEARRAY(VARIANT) *namespaceRoots); [propput, id(FSRM_PROPERTY(FSRM_DISPID_RULE | 0x04))] HRESULT NamespaceRoots([in] SAFEARRAY(VARIANT) namespaceRoots); [propget, id(FSRM_PROPERTY(FSRM_DISPID_RULE | 0x05))] HRESULT RuleFlags([out, retval] long *ruleFlags); [propput, id(FSRM_PROPERTY(FSRM_DISPID_RULE | 0x05))] HRESULT RuleFlags([in] long ruleFlags); [propget, id(FSRM_PROPERTY(FSRM_DISPID_RULE | 0x06))] HRESULT Parameters([out, retval] SAFEARRAY(VARIANT) *parameters); [propput, id(FSRM_PROPERTY(FSRM_DISPID_RULE | 0x06))] HRESULT Parameters([in] SAFEARRAY(VARIANT) parameters); [propget, id(FSRM_PROPERTY(FSRM_DISPID_RULE | 0x07))] HRESULT LastModified([out, retval] DATE *lastModified); }; [ object, uuid(afc052c2-5315-45ab-841b-c6db0e120148), dual, pointer_default(unique) ]interface IFsrmClassificationRule : IFsrmRule {[propget, id(FSRM_PROPERTY(FSRM_DISPID_CLASSIFICATION_RULE | 0x01))] HRESULT ExecutionOption([out, retval] FsrmExecutionOption *executionOption); [propput, id(FSRM_PROPERTY(FSRM_DISPID_CLASSIFICATION_RULE | 0x01))] HRESULT ExecutionOption([in] FsrmExecutionOption executionOption); [propget, id(FSRM_PROPERTY(FSRM_DISPID_CLASSIFICATION_RULE | 0x02))] HRESULT PropertyAffected([out, retval] BSTR *property); [propput, id(FSRM_PROPERTY(FSRM_DISPID_CLASSIFICATION_RULE | 0x02))] HRESULT PropertyAffected([in] BSTR property); [propget, id(FSRM_PROPERTY(FSRM_DISPID_CLASSIFICATION_RULE | 0x03))] HRESULT Value([out, retval] BSTR *value); [propput, id(FSRM_PROPERTY(FSRM_DISPID_CLASSIFICATION_RULE | 0x03))] HRESULT Value([in] BSTR value); }; [ object, uuid(515c1277-2c81-440e-8fcf-367921ed4f59), dual, pointer_default(unique) ]interface IFsrmPipelineModuleDefinition : IFsrmObject { [propget, id(FSRM_PROPERTY(FSRM_DISPID_PIPELINE_MODULE_DEFINITION | 0x01))] HRESULT ModuleClsid([out, retval] BSTR* moduleClsid); [propput, id(FSRM_PROPERTY(FSRM_DISPID_PIPELINE_MODULE_DEFINITION | 0x01))] HRESULT ModuleClsid([in] BSTR moduleClsid); [propget, id(FSRM_PROPERTY(FSRM_DISPID_PIPELINE_MODULE_DEFINITION | 0x02))] HRESULT Name([out, retval] BSTR *name); [propput, id(FSRM_PROPERTY(FSRM_DISPID_PIPELINE_MODULE_DEFINITION | 0x02))] HRESULT Name([in] BSTR name); [propget, id(FSRM_PROPERTY(FSRM_DISPID_PIPELINE_MODULE_DEFINITION | 0x03))] HRESULT Company([out, retval] BSTR* company); [propput, id(FSRM_PROPERTY(FSRM_DISPID_PIPELINE_MODULE_DEFINITION | 0x03))] HRESULT Company([in] BSTR company); [propget, id(FSRM_PROPERTY(FSRM_DISPID_PIPELINE_MODULE_DEFINITION | 0x04))] HRESULT Version([out, retval] BSTR* version); [propput, id(FSRM_PROPERTY(FSRM_DISPID_PIPELINE_MODULE_DEFINITION | 0x04))] HRESULT Version([in] BSTR version); [propget, id(FSRM_PROPERTY(FSRM_DISPID_PIPELINE_MODULE_DEFINITION | 0x05))] HRESULT ModuleType([out, retval] FsrmPipelineModuleType *moduleType); [propget, id(FSRM_PROPERTY(FSRM_DISPID_PIPELINE_MODULE_DEFINITION | 0x06))] HRESULT Enabled([out, retval] VARIANT_BOOL *enabled); [propput, id(FSRM_PROPERTY(FSRM_DISPID_PIPELINE_MODULE_DEFINITION | 0x06))] HRESULT Enabled([in] VARIANT_BOOL enabled); [propget, id(FSRM_PROPERTY(FSRM_DISPID_PIPELINE_MODULE_DEFINITION | 0x07))] HRESULT NeedsFileContent([out, retval] VARIANT_BOOL* needsFileContent); [propput, id(FSRM_PROPERTY(FSRM_DISPID_PIPELINE_MODULE_DEFINITION | 0x07))] HRESULT NeedsFileContent([in] VARIANT_BOOL needsFileContent); [propget, id(FSRM_PROPERTY(FSRM_DISPID_PIPELINE_MODULE_DEFINITION | 0x08))] HRESULT Account([out, retval] FsrmAccountType* retrievalAccount); [propput, id(FSRM_PROPERTY(FSRM_DISPID_PIPELINE_MODULE_DEFINITION | 0x08))] HRESULT Account([in] FsrmAccountType retrievalAccount); [propget, id(FSRM_PROPERTY(FSRM_DISPID_PIPELINE_MODULE_DEFINITION | 0x09))] HRESULT SupportedExtensions([out, retval] SAFEARRAY(VARIANT)* supportedExtensions); [propput, id(FSRM_PROPERTY(FSRM_DISPID_PIPELINE_MODULE_DEFINITION | 0x09))] HRESULT SupportedExtensions([in] SAFEARRAY(VARIANT) supportedExtensions); [propget, id(FSRM_PROPERTY(FSRM_DISPID_PIPELINE_MODULE_DEFINITION | 0xA))] HRESULT Parameters([out, retval] SAFEARRAY(VARIANT)* parameters); [propput, id(FSRM_PROPERTY(FSRM_DISPID_PIPELINE_MODULE_DEFINITION | 0xA))] HRESULT Parameters([in] SAFEARRAY(VARIANT) parameters); }; [ object, uuid(bb36ea26-6318-4b8c-8592-f72dd602e7a5), dual, pointer_default(unique) ]interface IFsrmClassifierModuleDefinition : IFsrmPipelineModuleDefinition { [propget, id(FSRM_PROPERTY(FSRM_DISPID_CLASSIFIER_MODULE_DEFINITION | 0x01))] HRESULT PropertiesAffected([out, retval] SAFEARRAY(VARIANT) *propertiesAffected); [propput, id(FSRM_PROPERTY(FSRM_DISPID_CLASSIFIER_MODULE_DEFINITION | 0x01))] HRESULT PropertiesAffected([in] SAFEARRAY(VARIANT) propertiesAffected); [propget, id(FSRM_PROPERTY(FSRM_DISPID_CLASSIFIER_MODULE_DEFINITION | 0x02))] HRESULT PropertiesUsed([out, retval] SAFEARRAY(VARIANT)* propertiesUsed); [propput, id(FSRM_PROPERTY(FSRM_DISPID_CLASSIFIER_MODULE_DEFINITION | 0x02))] HRESULT PropertiesUsed([in] SAFEARRAY(VARIANT) propertiesUsed); [propget, id(FSRM_PROPERTY(FSRM_DISPID_CLASSIFIER_MODULE_DEFINITION | 0x03))] HRESULT NeedsExplicitValue([out, retval] VARIANT_BOOL *needsExplicitValue); [propput, id(FSRM_PROPERTY(FSRM_DISPID_CLASSIFIER_MODULE_DEFINITION | 0x03))] HRESULT NeedsExplicitValue([in] VARIANT_BOOL needsExplicitValue); }; [ object, uuid(d2dc89da-ee91-48a0-85d8-cc72a56f7d04), dual, pointer_default(unique) ]interface IFsrmClassificationManager : IDispatch { [propget, id(FSRM_PROPERTY(FSRM_DISPID_CLASSIFICATION_MANAGER | 0x01))] HRESULT ClassificationReportFormats([out, retval] SAFEARRAY(VARIANT) *formats); [propput, id(FSRM_PROPERTY(FSRM_DISPID_CLASSIFICATION_MANAGER | 0x01))] HRESULT ClassificationReportFormats([in] SAFEARRAY(VARIANT) formats); [propget, id(FSRM_PROPERTY(FSRM_DISPID_CLASSIFICATION_MANAGER | 0x02))] HRESULT Logging([out, retval] long *logging); [propput, id(FSRM_PROPERTY(FSRM_DISPID_CLASSIFICATION_MANAGER | 0x02))] HRESULT Logging([in] long logging); [propget, id(FSRM_PROPERTY(FSRM_DISPID_CLASSIFICATION_MANAGER | 0x03))] HRESULT ClassificationReportMailTo([out, retval] BSTR *mailTo); [propput, id(FSRM_PROPERTY(FSRM_DISPID_CLASSIFICATION_MANAGER | 0x03))] HRESULT ClassificationReportMailTo([in] BSTR mailTo); [propget, id(FSRM_PROPERTY(FSRM_DISPID_CLASSIFICATION_MANAGER | 0x04))] HRESULT ClassificationReportEnabled([out, retval] VARIANT_BOOL *reportEnabled); [propput, id(FSRM_PROPERTY(FSRM_DISPID_CLASSIFICATION_MANAGER | 0x04))] HRESULT ClassificationReportEnabled([in] VARIANT_BOOL reportEnabled); [propget, id(FSRM_PROPERTY(FSRM_DISPID_CLASSIFICATION_MANAGER | 0x05))] HRESULT ClassificationLastReportPathWithoutExtension( [out, retval] BSTR *lastReportPath); [propget, id(FSRM_PROPERTY(FSRM_DISPID_CLASSIFICATION_MANAGER | 0x06))] HRESULT ClassificationLastError([out, retval] BSTR *lastError); [propget, id(FSRM_PROPERTY(FSRM_DISPID_CLASSIFICATION_MANAGER | 0x07))] HRESULT ClassificationRunningStatus([out, retval] FsrmReportRunningStatus *runningStatus); [id(FSRM_DISPID_CLASSIFICATION_MANAGER | 0x01)] HRESULT EnumPropertyDefinitions( [in, defaultvalue(FsrmEnumOptions_None)] FsrmEnumOptions options, [out, retval] IFsrmCollection **propertyDefinitions); [id(FSRM_DISPID_CLASSIFICATION_MANAGER | 0x02)] HRESULT CreatePropertyDefinition( [out, retval] IFsrmPropertyDefinition **propertyDefinition); [id(FSRM_DISPID_CLASSIFICATION_MANAGER | 0x03)] HRESULT GetPropertyDefinition( [in] BSTR propertyName, [out, retval] IFsrmPropertyDefinition **propertyDefinition); [id(FSRM_DISPID_CLASSIFICATION_MANAGER | 0x04)] HRESULT EnumRules( [in] FsrmRuleType ruleType, [in, defaultvalue(FsrmEnumOptions_None)] FsrmEnumOptions options, [out, retval] IFsrmCollection **Rules); [id(FSRM_DISPID_CLASSIFICATION_MANAGER | 0x05)] HRESULT CreateRule( [in] FsrmRuleType ruleType, [out, retval] IFsrmRule **Rule); [id(FSRM_DISPID_CLASSIFICATION_MANAGER | 0x06)] HRESULT GetRule( [in] BSTR ruleName, [in] FsrmRuleType ruleType, [out, retval] IFsrmRule **Rule); [id(FSRM_DISPID_CLASSIFICATION_MANAGER | 0x07)] HRESULT EnumModuleDefinitions( [in] FsrmPipelineModuleType moduleType, [in, defaultvalue(FsrmEnumOptions_None)] FsrmEnumOptions options, [out, retval] IFsrmCollection **moduleDefinitions); [id(FSRM_DISPID_CLASSIFICATION_MANAGER | 0x08)] HRESULT CreateModuleDefinition( [in] FsrmPipelineModuleType moduleType, [out, retval] IFsrmPipelineModuleDefinition** moduleDefinition ); [id(FSRM_DISPID_CLASSIFICATION_MANAGER | 0x09)] HRESULT GetModuleDefinition( [in] BSTR moduleName, [in] FsrmPipelineModuleType moduleType, [out, retval] IFsrmPipelineModuleDefinition** moduleDefinition ); [id(FSRM_DISPID_CLASSIFICATION_MANAGER | 0x0A)] HRESULT RunClassification( [in] FsrmReportGenerationContext context, [in] BSTR reserved); [id(FSRM_DISPID_CLASSIFICATION_MANAGER | 0x0B)] HRESULT WaitForClassificationCompletion( [in] long waitSeconds, [out, retval] VARIANT_BOOL *completed); [id(FSRM_DISPID_CLASSIFICATION_MANAGER | 0x0C)] HRESULT CancelClassification(); [id(FSRM_DISPID_CLASSIFICATION_MANAGER | 0x0D)] HRESULT EnumFileProperties( [in] BSTR filePath, [in, defaultvalue(FsrmGetFilePropertyOptions_None)] FsrmGetFilePropertyOptions options, [out, retval] IFsrmCollection** fileProperties ); [id(FSRM_DISPID_CLASSIFICATION_MANAGER | 0x0E)] HRESULT GetFileProperty( [in] BSTR filePath, [in] BSTR propertyName, [in, defaultvalue(FsrmGetFilePropertyOptions_None)] FsrmGetFilePropertyOptions options, [out, retval] IFsrmProperty** property); [id(FSRM_DISPID_CLASSIFICATION_MANAGER | 0x0F)] HRESULT SetFileProperty( [in] BSTR filePath, [in] BSTR propertyName, [in] BSTR propertyValue ); [id(FSRM_DISPID_CLASSIFICATION_MANAGER | 0x10)] HRESULT ClearFileProperty( [in] BSTR filePath, [in] BSTR property ); }; [ object, uuid(15a81350-497d-4aba-80e9-d4dbcc5521fe), dual, pointer_default(unique) ] interface IFsrmStorageModuleDefinition : IFsrmPipelineModuleDefinition { [propget, id(FSRM_PROPERTY(FSRM_DISPID_STORAGE_MODULE_DEFINITION | 0x01))] HRESULT Capabilities( [out, retval] FsrmStorageModuleCaps* capabilities ); [propput, id(FSRM_PROPERTY(FSRM_DISPID_STORAGE_MODULE_DEFINITION | 0x01))] HRESULT Capabilities( [in] FsrmStorageModuleCaps capabilities ); [propget, id(FSRM_PROPERTY(FSRM_DISPID_STORAGE_MODULE_DEFINITION | 0x02))] HRESULT StorageType( [out, retval] FsrmStorageModuleType* storageType ); [propput, id(FSRM_PROPERTY(FSRM_DISPID_STORAGE_MODULE_DEFINITION | 0x02))] HRESULT StorageType( [in] FsrmStorageModuleType storageType ); [propget, id(FSRM_PROPERTY(FSRM_DISPID_STORAGE_MODULE_DEFINITION | 0x03))] HRESULT UpdatesFileContent( [out, retval] VARIANT_BOOL* updatesFileContent ); [propput, id(FSRM_PROPERTY(FSRM_DISPID_STORAGE_MODULE_DEFINITION | 0x03))] HRESULT UpdatesFileContent ( [in] VARIANT_BOOL updatesFileContent ); } interface IFsrmQuotaBase; interface IFsrmQuotaObject; interface IFsrmQuota; interface IFsrmAutoApplyQuota; interface IFsrmQuotaManager; interface IFsrmQuotaTemplate; interface IFsrmQuotaTemplateImported; interface IFsrmQuotaTemplateManager; const DISPID FSRM_DISPID_QUOTA_BASE = FSRM_DISPID_FEATURE_QUOTA | 0x100000; const DISPID FSRM_DISPID_QUOTA_OBJECT = FSRM_DISPID_QUOTA_BASE | 0x010000; const DISPID FSRM_DISPID_QUOTA = FSRM_DISPID_QUOTA_OBJECT | 0x001000; const DISPID FSRM_DISPID_AUTOAPPLYQUOTA = FSRM_DISPID_QUOTA_OBJECT | 0x002000; const DISPID FSRM_DISPID_QUOTA_TEMPLATE = FSRM_DISPID_QUOTA_BASE | 0x020000; const DISPID FSRM_DISPID_QUOTA_TEMPLATE_IMPORTED = FSRM_DISPID_QUOTA_TEMPLATE | 0x001000; const DISPID FSRM_DISPID_QUOTA_MANAGER = FSRM_DISPID_FEATURE_QUOTA | 0x200000; const DISPID FSRM_DISPID_QUOTA_TEMPLATE_MANAGER = FSRM_DISPID_FEATURE_QUOTA | 0x300000; const DISPID FSRM_DISPID_QUOTA_MANAGER_EX = FSRM_DISPID_FEATURE_QUOTA | 0x400000; typedef long FSRM_QUOTA_THRESHOLD; const ULONG FsrmMaxNumberThresholds = 16; const ULONG FsrmMinThresholdValue = 1; const ULONG FsrmMaxThresholdValue = 250; const ULONG FsrmMinQuotaLimit = 1024; const ULONG FsrmMaxExcludeFolders = 32; [ object, uuid(1568a795-3924-4118-b74b-68d8f0fa5daf), dual, pointer_default(unique) ]interface IFsrmQuotaBase : IFsrmObject { [propget, id(FSRM_PROPERTY(FSRM_DISPID_QUOTA_BASE | 0x01))] HRESULT QuotaLimit([out, retval] VARIANT *quotaLimit); [propput, id(FSRM_PROPERTY(FSRM_DISPID_QUOTA_BASE | 0x01))] HRESULT QuotaLimit([in] VARIANT quotaLimit); [propget, id(FSRM_PROPERTY(FSRM_DISPID_QUOTA_BASE | 0x02))] HRESULT QuotaFlags([out, retval] long *quotaFlags); [propput, id(FSRM_PROPERTY(FSRM_DISPID_QUOTA_BASE | 0x02))] HRESULT QuotaFlags([in] long quotaFlags); [propget, id(FSRM_PROPERTY(FSRM_DISPID_QUOTA_BASE | 0x03))] HRESULT Thresholds([out, retval] SAFEARRAY(VARIANT) *thresholds); [id(FSRM_DISPID_QUOTA_BASE | 0x01)] HRESULT AddThreshold([in] FSRM_QUOTA_THRESHOLD threshold); [id(FSRM_DISPID_QUOTA_BASE | 0x02)] HRESULT DeleteThreshold([in] FSRM_QUOTA_THRESHOLD threshold); [id(FSRM_DISPID_QUOTA_BASE | 0x03)] HRESULT ModifyThreshold( [in] FSRM_QUOTA_THRESHOLD threshold, [in] FSRM_QUOTA_THRESHOLD newThreshold); [id(FSRM_DISPID_QUOTA_BASE | 0x04)] HRESULT CreateThresholdAction( [in] FSRM_QUOTA_THRESHOLD threshold, [in] FsrmActionType actionType, [out, retval] IFsrmAction **action); [id(FSRM_DISPID_QUOTA_BASE | 0x05)] HRESULT EnumThresholdActions( [in] FSRM_QUOTA_THRESHOLD threshold, [out, retval] IFsrmCollection **actions); } [ object, uuid(42dc3511-61d5-48ae-b6dc-59fc00c0a8d6), dual, pointer_default(unique) ]interface IFsrmQuotaObject : IFsrmQuotaBase { [propget, id(FSRM_PROPERTY(FSRM_DISPID_QUOTA_OBJECT | 0x01))] HRESULT Path([out, retval] BSTR *path); [propget, id(FSRM_PROPERTY(FSRM_DISPID_QUOTA_OBJECT | 0x02))] HRESULT UserSid([out, retval] BSTR *userSid); [propget, id(FSRM_PROPERTY(FSRM_DISPID_QUOTA_OBJECT | 0x03))] HRESULT UserAccount([out, retval] BSTR *userAccount); [propget, id(FSRM_PROPERTY(FSRM_DISPID_QUOTA_OBJECT | 0x04))] HRESULT SourceTemplateName([out, retval] BSTR *quotaTemplateName); [propget, id(FSRM_PROPERTY(FSRM_DISPID_QUOTA_OBJECT | 0x05))] HRESULT MatchesSourceTemplate([out, retval] VARIANT_BOOL *matches); [id(FSRM_DISPID_QUOTA_OBJECT | 0x01)] HRESULT ApplyTemplate([in] BSTR quotaTemplateName); }; [ object, uuid(377f739d-9647-4b8e-97d2-5ffce6d759cd), dual, pointer_default(unique) ]interface IFsrmQuota : IFsrmQuotaObject { [propget, id(FSRM_PROPERTY(FSRM_DISPID_QUOTA | 0x01))] HRESULT QuotaUsed([out, retval] VARIANT *used); [propget, id(FSRM_PROPERTY(FSRM_DISPID_QUOTA | 0x02))] HRESULT QuotaPeakUsage([out, retval] VARIANT *peakUsage); [propget, id(FSRM_PROPERTY(FSRM_DISPID_QUOTA | 0x03))] HRESULT QuotaPeakUsageTime([out, retval] DATE *peakUsageDateTime); [id(FSRM_DISPID_QUOTA | 0x01)] HRESULT ResetPeakUsage(); [id(FSRM_DISPID_QUOTA | 0x02)] HRESULT RefreshUsageProperties(); }; [ object, uuid(f82e5729-6aba-4740-bfc7-c7f58f75fb7b), dual, pointer_default(unique) ]interface IFsrmAutoApplyQuota : IFsrmQuotaObject { [propget, id(FSRM_PROPERTY(FSRM_DISPID_AUTOAPPLYQUOTA | 0x01))] HRESULT ExcludeFolders([out, retval] SAFEARRAY(VARIANT) *folders); [propput, id(FSRM_PROPERTY(FSRM_DISPID_AUTOAPPLYQUOTA | 0x01))] HRESULT ExcludeFolders([in] SAFEARRAY(VARIANT) folders); [id(FSRM_DISPID_AUTOAPPLYQUOTA | 0x01)] HRESULT CommitAndUpdateDerived( [in] FsrmCommitOptions commitOptions, [in] FsrmTemplateApplyOptions applyOptions, [out, retval] IFsrmDerivedObjectsResult **derivedObjectsResult); }; [ object, uuid(8bb68c7d-19d8-4ffb-809e-be4fc1734014), dual, pointer_default(unique) ]interface IFsrmQuotaManager : IDispatch { [propget, id(FSRM_PROPERTY(FSRM_DISPID_QUOTA_MANAGER | 0x01))] HRESULT ActionVariables([out, retval] SAFEARRAY(VARIANT) *variables); [propget, id(FSRM_PROPERTY(FSRM_DISPID_QUOTA_MANAGER | 0x02))] HRESULT ActionVariableDescriptions([out, retval] SAFEARRAY(VARIANT) *descriptions); [id(FSRM_DISPID_QUOTA_MANAGER | 0x01)] HRESULT CreateQuota( [in] BSTR path, [out, retval] IFsrmQuota **quota); [id(FSRM_DISPID_QUOTA_MANAGER | 0x02)] HRESULT CreateAutoApplyQuota( [in] BSTR quotaTemplateName, [in] BSTR path, [out, retval] IFsrmAutoApplyQuota **quota); [id(FSRM_DISPID_QUOTA_MANAGER | 0x03)] HRESULT GetQuota( [in] BSTR path, [out, retval] IFsrmQuota **quota); [id(FSRM_DISPID_QUOTA_MANAGER | 0x04)] HRESULT GetAutoApplyQuota( [in] BSTR path, [out, retval] IFsrmAutoApplyQuota **quota); [id(FSRM_DISPID_QUOTA_MANAGER | 0x05)] HRESULT GetRestrictiveQuota( [in] BSTR path, [out, retval] IFsrmQuota **quota); [id(FSRM_DISPID_QUOTA_MANAGER | 0x06)] HRESULT EnumQuotas( [in, defaultvalue(L"")] BSTR path, [in, defaultvalue(FsrmEnumOptions_None)] FsrmEnumOptions options, [out, retval] IFsrmCommittableCollection **quotas); [id(FSRM_DISPID_QUOTA_MANAGER | 0x07)] HRESULT EnumAutoApplyQuotas( [in, defaultvalue(L"")] BSTR path, [in, defaultvalue(FsrmEnumOptions_None)] FsrmEnumOptions options, [out, retval] IFsrmCommittableCollection **quotas); [id(FSRM_DISPID_QUOTA_MANAGER | 0x08)] HRESULT EnumEffectiveQuotas( [in] BSTR path, [in, defaultvalue(FsrmEnumOptions_None)] FsrmEnumOptions options, [out, retval] IFsrmCommittableCollection **quotas); [id(FSRM_DISPID_QUOTA_MANAGER | 0x09)] HRESULT Scan([in] BSTR strPath); [id(FSRM_DISPID_QUOTA_MANAGER | 0x0A)] HRESULT CreateQuotaCollection([out, retval] IFsrmCommittableCollection **collection); }; [ object, uuid(4846cb01-d430-494f-abb4-b1054999fb09), dual, helpstring("IFsrmQuotaManagerEx Interface"), pointer_default(unique) ] interface IFsrmQuotaManagerEx : IFsrmQuotaManager { [id(FSRM_DISPID_QUOTA_MANAGER_EX | 0x01), helpstring("This method is used to check whether a given path is subject to quota")] HRESULT IsAffectedByQuota( [in] BSTR path, [in, defaultvalue(FsrmEnumOptions_None)] FsrmEnumOptions options, [out, retval] VARIANT_BOOL *affected); } [ object, uuid(a2efab31-295e-46bb-b976-e86d58b52e8b), dual, pointer_default(unique) ]interface IFsrmQuotaTemplate : IFsrmQuotaBase { [propget, id(FSRM_PROPERTY(FSRM_DISPID_QUOTA_TEMPLATE | 0x01))] HRESULT Name([out, retval] BSTR *name); [propput, id(FSRM_PROPERTY(FSRM_DISPID_QUOTA_TEMPLATE | 0x01))] HRESULT Name([in] BSTR name); [id(FSRM_DISPID_QUOTA_TEMPLATE | 0x01)] HRESULT CopyTemplate([in] BSTR quotaTemplateName); [id(FSRM_DISPID_QUOTA_TEMPLATE | 0x02)] HRESULT CommitAndUpdateDerived( [in] FsrmCommitOptions commitOptions, [in] FsrmTemplateApplyOptions applyOptions, [out, retval] IFsrmDerivedObjectsResult **derivedObjectsResult); }; [ object, uuid(9a2bf113-a329-44cc-809a-5c00fce8da40), dual, pointer_default(unique) ]interface IFsrmQuotaTemplateImported : IFsrmQuotaTemplate { [propget, id(FSRM_PROPERTY(FSRM_DISPID_QUOTA_TEMPLATE_IMPORTED | 0x01))] HRESULT OverwriteOnCommit([out, retval] VARIANT_BOOL *overwrite); [propput, id(FSRM_PROPERTY(FSRM_DISPID_QUOTA_TEMPLATE_IMPORTED | 0x01))] HRESULT OverwriteOnCommit([in] VARIANT_BOOL overwrite); }; [ object, uuid(4173ac41-172d-4d52-963c-fdc7e415f717), dual, pointer_default(unique) ]interface IFsrmQuotaTemplateManager : IDispatch { [id(FSRM_DISPID_QUOTA_TEMPLATE_MANAGER | 0x01)] HRESULT CreateTemplate([out,retval] IFsrmQuotaTemplate **quotaTemplate); [id(FSRM_DISPID_QUOTA_TEMPLATE_MANAGER | 0x02)] HRESULT GetTemplate( [in, defaultvalue(L"")] BSTR name, [out, retval] IFsrmQuotaTemplate **quotaTemplate); [id(FSRM_DISPID_QUOTA_TEMPLATE_MANAGER | 0x03)] HRESULT EnumTemplates( [in, defaultvalue(FsrmEnumOptions_None)] FsrmEnumOptions options, [out, retval] IFsrmCommittableCollection **quotaTemplates); [id(FSRM_DISPID_QUOTA_TEMPLATE_MANAGER | 0x04)] HRESULT ExportTemplates( [in, defaultvalue(NULL)] VARIANT* quotaTemplateNamesArray, [out, retval] BSTR *serializedQuotaTemplates); [id(FSRM_DISPID_QUOTA_TEMPLATE_MANAGER | 0x05)] HRESULT ImportTemplates( [in] BSTR serializedQuotaTemplates, [in, defaultvalue(NULL)] VARIANT* quotaTemplateNamesArray, [out, retval] IFsrmCommittableCollection **quotaTemplates); }; interface IFsrmReportManager; interface IFsrmReportJob; interface IFsrmReport; interface IFsrmFileManagementJobManager; interface IFsrmFileManagementJob; interface IFsrmPropertyCondition; const DISPID FSRM_DISPID_REPORT_MANAGER = FSRM_DISPID_FEATURE_REPORTS | 0x100000; const DISPID FSRM_DISPID_REPORT_JOB = FSRM_DISPID_FEATURE_REPORTS | 0x200000; const DISPID FSRM_DISPID_REPORT = FSRM_DISPID_FEATURE_REPORTS | 0x300000; const DISPID FSRM_DISPID_REPORT_SCHEDULER = FSRM_DISPID_FEATURE_REPORTS | 0x400000; const DISPID FSRM_DISPID_FILE_MANAGEMENT_JOB_MANAGER = FSRM_DISPID_FEATURE_REPORTS | 0x500000; const DISPID FSRM_DISPID_FILE_MANAGEMENT_JOB = FSRM_DISPID_FEATURE_REPORTS | 0x600000; const DISPID FSRM_DISPID_FILE_MANAGEMENT_NOTIFICATION = FSRM_DISPID_FEATURE_REPORTS | 0x700000; const DISPID FSRM_DISPID_PROPERTY_CONDITION = FSRM_DISPID_FEATURE_REPORTS | 0x800000; [ odl, uuid(27b899fe-6ffa-4481-a184-d3daade8a02b), version(1.0), dual, oleautomation ]interface IFsrmReportManager : IDispatch { [id(FSRM_DISPID_REPORT_MANAGER | 0x01)] HRESULT EnumReportJobs( [in, defaultvalue(FsrmEnumOptions_None)] FsrmEnumOptions options, [out, retval] IFsrmCollection **reportJobs); [id(FSRM_DISPID_REPORT_MANAGER | 0x02)] HRESULT CreateReportJob( [out, retval] IFsrmReportJob **reportJob); [id(FSRM_DISPID_REPORT_MANAGER | 0x03)] HRESULT GetReportJob( [in] BSTR taskName, [out, retval] IFsrmReportJob **reportJob); [id(FSRM_DISPID_REPORT_MANAGER | 0x04)] HRESULT GetOutputDirectory( [in] FsrmReportGenerationContext context, [out, retval] BSTR *path); [id(FSRM_DISPID_REPORT_MANAGER | 0x05)] HRESULT SetOutputDirectory( [in] FsrmReportGenerationContext context, [in] BSTR path); [id(FSRM_DISPID_REPORT_MANAGER | 0x06)] HRESULT IsFilterValidForReportType( [in] FsrmReportType reportType, [in] FsrmReportFilter filter, [out, retval] VARIANT_BOOL *valid); [id(FSRM_DISPID_REPORT_MANAGER | 0x07)] HRESULT GetDefaultFilter( [in] FsrmReportType reportType, [in] FsrmReportFilter filter, [out, retval] VARIANT *filterValue); [id(FSRM_DISPID_REPORT_MANAGER | 0x08)] HRESULT SetDefaultFilter( [in] FsrmReportType reportType, [in] FsrmReportFilter filter, [in] VARIANT filterValue); [id(FSRM_DISPID_REPORT_MANAGER | 0x09)] HRESULT GetReportSizeLimit( [in] FsrmReportLimit limit, [out, retval] VARIANT *limitValue); [id(FSRM_DISPID_REPORT_MANAGER | 0x0A)] HRESULT SetReportSizeLimit( [in] FsrmReportLimit limit, [in] VARIANT limitValue); }; [ odl, uuid(38e87280-715c-4c7d-a280-ea1651a19fef), version(1.0), dual, oleautomation ]interface IFsrmReportJob : IFsrmObject { [propget, id(FSRM_PROPERTY(FSRM_DISPID_REPORT_JOB | 0x01))] HRESULT Task([out, retval] BSTR *taskName); [propput, id(FSRM_PROPERTY(FSRM_DISPID_REPORT_JOB | 0x01))] HRESULT Task([in] BSTR taskName); [propget, id(FSRM_PROPERTY(FSRM_DISPID_REPORT_JOB | 0x02))] HRESULT NamespaceRoots([out, retval] SAFEARRAY(VARIANT) *namespaceRoots); [propput, id(FSRM_PROPERTY(FSRM_DISPID_REPORT_JOB | 0x02))] HRESULT NamespaceRoots([in] SAFEARRAY(VARIANT) namespaceRoots); [propget, id(FSRM_PROPERTY(FSRM_DISPID_REPORT_JOB | 0x03))] HRESULT Formats([out, retval] SAFEARRAY(VARIANT) *formats); [propput, id(FSRM_PROPERTY(FSRM_DISPID_REPORT_JOB | 0x03))] HRESULT Formats([in] SAFEARRAY(VARIANT) formats); [propget, id(FSRM_PROPERTY(FSRM_DISPID_REPORT_JOB | 0x04))] HRESULT MailTo([out, retval] BSTR *mailTo); [propput, id(FSRM_PROPERTY(FSRM_DISPID_REPORT_JOB | 0x04))] HRESULT MailTo([in] BSTR mailTo); [propget, id(FSRM_PROPERTY(FSRM_DISPID_REPORT_JOB | 0x05))] HRESULT RunningStatus([out, retval] FsrmReportRunningStatus *runningStatus); [propget, id(FSRM_PROPERTY(FSRM_DISPID_REPORT_JOB | 0x06))] HRESULT LastRun([out, retval] DATE *lastRun); [propget, id(FSRM_PROPERTY(FSRM_DISPID_REPORT_JOB | 0x07))] HRESULT LastError([out, retval] BSTR *lastError); [propget, id(FSRM_PROPERTY(FSRM_DISPID_REPORT_JOB | 0x08))] HRESULT LastGeneratedInDirectory([out, retval] BSTR *path); [id(FSRM_DISPID_REPORT_JOB | 0x01)] HRESULT EnumReports([out, retval] IFsrmCollection **reports); [id(FSRM_DISPID_REPORT_JOB | 0x02)] HRESULT CreateReport( [in] FsrmReportType reportType, [out, retval] IFsrmReport **report); [id(FSRM_DISPID_REPORT_JOB | 0x03)] HRESULT Run([in] FsrmReportGenerationContext context); [id(FSRM_DISPID_REPORT_JOB | 0x04)] HRESULT WaitForCompletion( [in] long waitSeconds, [out, retval] VARIANT_BOOL *completed); [id(FSRM_DISPID_REPORT_JOB | 0x05)] HRESULT Cancel(); }; [ odl, uuid(d8cc81d9-46b8-4fa4-bfa5-4aa9dec9b638), version(1.0), dual, oleautomation ]interface IFsrmReport : IDispatch { [propget, id(FSRM_PROPERTY(FSRM_DISPID_REPORT | 0x01))] HRESULT Type([out, retval] FsrmReportType *reportType); [propget, id(FSRM_PROPERTY(FSRM_DISPID_REPORT | 0x02))] HRESULT Name([out, retval] BSTR *name); [propput, id(FSRM_PROPERTY(FSRM_DISPID_REPORT | 0x02))] HRESULT Name([in] BSTR name); [propget, id(FSRM_PROPERTY(FSRM_DISPID_REPORT | 0x03))] HRESULT Description([out, retval] BSTR *description); [propput, id(FSRM_PROPERTY(FSRM_DISPID_REPORT | 0x03))] HRESULT Description([in] BSTR description); [propget, id(FSRM_PROPERTY(FSRM_DISPID_REPORT | 0x04))] HRESULT LastGeneratedFileNamePrefix([out, retval] BSTR *prefix); [id(FSRM_DISPID_REPORT | 0x01)] HRESULT GetFilter( [in] FsrmReportFilter filter, [out, retval] VARIANT *filterValue); [id(FSRM_DISPID_REPORT | 0x02)] HRESULT SetFilter( [in] FsrmReportFilter filter, [in] VARIANT filterValue); [id(FSRM_DISPID_REPORT | 0x03)] HRESULT Delete(); }; [ odl, uuid(6879caf9-6617-4484-8719-71c3d8645f94), version(1.0), dual, oleautomation ]interface IFsrmReportScheduler : IDispatch { [id(FSRM_DISPID_REPORT_SCHEDULER | 0x01)] HRESULT VerifyNamespaces([in] VARIANT* namespacesSafeArray); [id(FSRM_DISPID_REPORT_SCHEDULER | 0x02)] HRESULT CreateScheduleTask( [in] BSTR taskName, [in] VARIANT* namespacesSafeArray, [in] BSTR serializedTask); [id(FSRM_DISPID_REPORT_SCHEDULER | 0x03)] HRESULT ModifyScheduleTask( [in] BSTR taskName, [in] VARIANT* namespacesSafeArray, [in] BSTR serializedTask); [id(FSRM_DISPID_REPORT_SCHEDULER | 0x04)] HRESULT DeleteScheduleTask([in] BSTR taskName); }; [ odl, uuid(ee321ecb-d95e-48e9-907c-c7685a013235), version(1.0), dual, oleautomation ]interface IFsrmFileManagementJobManager : IDispatch { [propget, id(FSRM_PROPERTY(FSRM_DISPID_FILE_MANAGEMENT_JOB_MANAGER | 0x01))] HRESULT ActionVariables([out, retval] SAFEARRAY(VARIANT) *variables); [propget, id(FSRM_PROPERTY(FSRM_DISPID_FILE_MANAGEMENT_JOB_MANAGER | 0x02))] HRESULT ActionVariableDescriptions([out, retval] SAFEARRAY(VARIANT) *descriptions); [id(FSRM_DISPID_FILE_MANAGEMENT_JOB_MANAGER | 0x1)] HRESULT EnumFileManagementJobs( [in, defaultvalue(FsrmEnumOptions_None)] FsrmEnumOptions options, [out, retval] IFsrmCollection **fileManagementJobs); [id(FSRM_DISPID_FILE_MANAGEMENT_JOB_MANAGER | 0x2)] HRESULT CreateFileManagementJob( [out, retval] IFsrmFileManagementJob** fileManagementJob); [id(FSRM_DISPID_FILE_MANAGEMENT_JOB_MANAGER | 0x3)] HRESULT GetFileManagementJob( [in] BSTR name, [out, retval] IFsrmFileManagementJob** fileManagementJob); }; [ odl, uuid(0770687e-9f36-4d6f-8778-599d188461c9), version(1.0), dual, oleautomation ]interface IFsrmFileManagementJob : IFsrmObject { const LONG FsrmDaysNotSpecified = -1; const DATE FsrmDateNotSpecified = ((DATE) -1); [propget, id(FSRM_PROPERTY(FSRM_DISPID_FILE_MANAGEMENT_JOB | 0x01))] HRESULT Name([out, retval] BSTR *name); [propput, id(FSRM_PROPERTY(FSRM_DISPID_FILE_MANAGEMENT_JOB | 0x01))] HRESULT Name([in] BSTR name); [propget, id(FSRM_PROPERTY(FSRM_DISPID_FILE_MANAGEMENT_JOB | 0x02))] HRESULT NamespaceRoots([out, retval] SAFEARRAY(VARIANT) *namespaceRoots); [propput, id(FSRM_PROPERTY(FSRM_DISPID_FILE_MANAGEMENT_JOB | 0x02))] HRESULT NamespaceRoots([in] SAFEARRAY(VARIANT) namespaceRoots); [propget, id(FSRM_PROPERTY(FSRM_DISPID_FILE_MANAGEMENT_JOB | 0x03))] HRESULT Enabled([out, retval] VARIANT_BOOL *enabled); [propput, id(FSRM_PROPERTY(FSRM_DISPID_FILE_MANAGEMENT_JOB | 0x03))] HRESULT Enabled([in] VARIANT_BOOL enabled); [propget, id(FSRM_PROPERTY(FSRM_DISPID_FILE_MANAGEMENT_JOB | 0x04))] HRESULT OperationType([out, retval] FsrmFileManagementType *operationType); [propput, id(FSRM_PROPERTY(FSRM_DISPID_FILE_MANAGEMENT_JOB | 0x04))] HRESULT OperationType([in] FsrmFileManagementType operationType); [propget, id(FSRM_PROPERTY(FSRM_DISPID_FILE_MANAGEMENT_JOB | 0x05))] HRESULT ExpirationDirectory([out, retval] BSTR *expirationDirectory); [propput, id(FSRM_PROPERTY(FSRM_DISPID_FILE_MANAGEMENT_JOB | 0x05))] HRESULT ExpirationDirectory([in] BSTR expirationDirectory); [propget, id(FSRM_PROPERTY(FSRM_DISPID_FILE_MANAGEMENT_JOB | 0x06))] HRESULT CustomAction([out, retval] IFsrmActionCommand **action); [propget, id(FSRM_PROPERTY(FSRM_DISPID_FILE_MANAGEMENT_JOB | 0x07))] HRESULT Notifications([out, retval] SAFEARRAY(VARIANT) *notifications); [propget, id(FSRM_PROPERTY(FSRM_DISPID_FILE_MANAGEMENT_JOB | 0x08))] HRESULT Logging([out, retval] long *loggingFlags); [propput, id(FSRM_PROPERTY(FSRM_DISPID_FILE_MANAGEMENT_JOB | 0x08))] HRESULT Logging([in] long loggingFlags); [propget, id(FSRM_PROPERTY(FSRM_DISPID_FILE_MANAGEMENT_JOB | 0x09))] HRESULT ReportEnabled([out, retval] VARIANT_BOOL *reportEnabled); [propput, id(FSRM_PROPERTY(FSRM_DISPID_FILE_MANAGEMENT_JOB | 0x09))] HRESULT ReportEnabled([in] VARIANT_BOOL reportEnabled); [propget, id(FSRM_PROPERTY(FSRM_DISPID_FILE_MANAGEMENT_JOB | 0x0a))] HRESULT Formats([out, retval] SAFEARRAY(VARIANT) *formats); [propput, id(FSRM_PROPERTY(FSRM_DISPID_FILE_MANAGEMENT_JOB | 0x0a))] HRESULT Formats([in] SAFEARRAY(VARIANT) formats); [propget, id(FSRM_PROPERTY(FSRM_DISPID_FILE_MANAGEMENT_JOB | 0x0b))] HRESULT MailTo([out, retval] BSTR *mailTo); [propput, id(FSRM_PROPERTY(FSRM_DISPID_FILE_MANAGEMENT_JOB | 0x0b))] HRESULT MailTo([in] BSTR mailTo); [propget, id(FSRM_PROPERTY(FSRM_DISPID_FILE_MANAGEMENT_JOB | 0x0c))] HRESULT DaysSinceFileCreated([out, retval] long *daysSinceCreation); [propput, id(FSRM_PROPERTY(FSRM_DISPID_FILE_MANAGEMENT_JOB | 0x0c))] HRESULT DaysSinceFileCreated([in] long daysSinceCreation); [propget, id(FSRM_PROPERTY(FSRM_DISPID_FILE_MANAGEMENT_JOB | 0x0d))] HRESULT DaysSinceFileLastAccessed([out, retval] long *daysSinceAccess); [propput, id(FSRM_PROPERTY(FSRM_DISPID_FILE_MANAGEMENT_JOB | 0x0d))] HRESULT DaysSinceFileLastAccessed([in] long daysSinceAccess); [propget, id(FSRM_PROPERTY(FSRM_DISPID_FILE_MANAGEMENT_JOB | 0x0e))] HRESULT DaysSinceFileLastModified([out, retval] long *daysSinceModify); [propput, id(FSRM_PROPERTY(FSRM_DISPID_FILE_MANAGEMENT_JOB | 0x0e))] HRESULT DaysSinceFileLastModified([in] long daysSinceModify); [propget, id(FSRM_PROPERTY(FSRM_DISPID_FILE_MANAGEMENT_JOB | 0x0f))] HRESULT PropertyConditions([out, retval] IFsrmCollection **propertyConditions); [propget, id(FSRM_PROPERTY(FSRM_DISPID_FILE_MANAGEMENT_JOB | 0x10))] HRESULT FromDate([out, retval] DATE *fromDate); [propput, id(FSRM_PROPERTY(FSRM_DISPID_FILE_MANAGEMENT_JOB | 0x10))] HRESULT FromDate([in] DATE fromDate); [propget, id(FSRM_PROPERTY(FSRM_DISPID_FILE_MANAGEMENT_JOB | 0x11))] HRESULT Task([out, retval] BSTR *taskName); [propput, id(FSRM_PROPERTY(FSRM_DISPID_FILE_MANAGEMENT_JOB | 0x11))] HRESULT Task([in] BSTR taskName); [propget, id(FSRM_PROPERTY(FSRM_DISPID_FILE_MANAGEMENT_JOB | 0x12))] HRESULT Parameters([out, retval] SAFEARRAY(VARIANT) *parameters); [propput, id(FSRM_PROPERTY(FSRM_DISPID_FILE_MANAGEMENT_JOB | 0x12))] HRESULT Parameters([in] SAFEARRAY(VARIANT) parameters); [propget, id(FSRM_PROPERTY(FSRM_DISPID_FILE_MANAGEMENT_JOB | 0x13))] HRESULT RunningStatus([out, retval] FsrmReportRunningStatus *runningStatus); [propget, id(FSRM_PROPERTY(FSRM_DISPID_FILE_MANAGEMENT_JOB | 0x14))] HRESULT LastError([out, retval] BSTR *lastError); [propget, id(FSRM_PROPERTY(FSRM_DISPID_FILE_MANAGEMENT_JOB | 0x15))] HRESULT LastReportPathWithoutExtension([out, retval] BSTR* path); [propget, id(FSRM_PROPERTY(FSRM_DISPID_FILE_MANAGEMENT_JOB | 0x16))] HRESULT LastRun([out, retval] DATE *lastRun); [propget, id(FSRM_PROPERTY(FSRM_DISPID_FILE_MANAGEMENT_JOB | 0x17))] HRESULT FileNamePattern([out, retval] BSTR *fileNamePattern); [propput, id(FSRM_PROPERTY(FSRM_DISPID_FILE_MANAGEMENT_JOB | 0x17))] HRESULT FileNamePattern([in] BSTR *fileNamePattern); [id(FSRM_DISPID_FILE_MANAGEMENT_JOB | 0x01)] HRESULT Run([in] FsrmReportGenerationContext context); [id(FSRM_DISPID_FILE_MANAGEMENT_JOB | 0x02)] HRESULT WaitForCompletion( [in] long waitSeconds, [out, retval] VARIANT_BOOL *completed); [id(FSRM_DISPID_FILE_MANAGEMENT_JOB | 0x03)] HRESULT Cancel(); [id(FSRM_DISPID_FILE_MANAGEMENT_JOB | 0x04)] HRESULT AddNotification([in] long days); [id(FSRM_DISPID_FILE_MANAGEMENT_JOB | 0x05)] HRESULT DeleteNotification([in] long days); [id(FSRM_DISPID_FILE_MANAGEMENT_JOB | 0x06)] HRESULT ModifyNotification( [in] long days, [in] long newDays); [id(FSRM_DISPID_FILE_MANAGEMENT_JOB | 0x07)] HRESULT CreateNotificationAction( [in] long days, [in] FsrmActionType actionType, [out, retval] IFsrmAction **action); [id(FSRM_DISPID_FILE_MANAGEMENT_JOB | 0x08)] HRESULT EnumNotificationActions( [in] long days, [out, retval] IFsrmCollection **actions); [id(FSRM_DISPID_FILE_MANAGEMENT_JOB_MANAGER | 0x09)] HRESULT CreatePropertyCondition( [in] BSTR name, [out, retval] IFsrmPropertyCondition** propertyCondition); [id(FSRM_DISPID_FILE_MANAGEMENT_JOB_MANAGER | 0x0a)] HRESULT CreateCustomAction( [out, retval] IFsrmActionCommand** customAction); }; [ odl, uuid(326af66f-2ac0-4f68-bf8c-4759f054fa29), version(1.0), dual, oleautomation ]interface IFsrmPropertyCondition : IDispatch { [propget, id(FSRM_PROPERTY(FSRM_DISPID_PROPERTY_CONDITION | 0x01))] HRESULT Name([out, retval] BSTR *name); [propput, id(FSRM_PROPERTY(FSRM_DISPID_PROPERTY_CONDITION | 0x01))] HRESULT Name([in] BSTR name); [propget, id(FSRM_PROPERTY(FSRM_DISPID_PROPERTY_CONDITION | 0x02))] HRESULT Type([out, retval] FsrmPropertyConditionType *type); [propput, id(FSRM_PROPERTY(FSRM_DISPID_PROPERTY_CONDITION | 0x02))] HRESULT Type([in] FsrmPropertyConditionType type); [propget, id(FSRM_PROPERTY(FSRM_DISPID_PROPERTY_CONDITION | 0x03))] HRESULT Value([out, retval] BSTR *value); [propput, id(FSRM_PROPERTY(FSRM_DISPID_PROPERTY_CONDITION | 0x03))] HRESULT Value([in] BSTR value); [id(FSRM_DISPID_PROPERTY_CONDITION | 0x01)] HRESULT Delete(); }; interface IFsrmFileGroup; interface IFsrmFileGroupImported; interface IFsrmFileGroupManager; interface IFsrmFileScreenBase; interface IFsrmFileScreen; interface IFsrmFileScreenException; interface IFsrmFileScreenManager; interface IFsrmFileScreenTemplate; interface IFsrmFileScreenTemplateImported; interface IFsrmFileScreenTemplateManager; const DISPID FSRM_DISPID_FILEGROUP = FSRM_DISPID_FEATURE_FILESCREEN | 0x100000; const DISPID FSRM_DISPID_FILEGROUP_IMPORTED = FSRM_DISPID_FILEGROUP | 0x010000; const DISPID FSRM_DISPID_FILEGROUP_MANAGER = FSRM_DISPID_FEATURE_FILESCREEN | 0x200000; const DISPID FSRM_DISPID_FILESCREEN_BASE = FSRM_DISPID_FEATURE_FILESCREEN | 0x300000; const DISPID FSRM_DISPID_FILESCREEN = FSRM_DISPID_FILESCREEN_BASE | 0x010000; const DISPID FSRM_DISPID_FILESCREEN_TEMPLATE = FSRM_DISPID_FILESCREEN_BASE | 0x020000; const DISPID FSRM_DISPID_FILESCREEN_TEMPLATE_IMPORTED = FSRM_DISPID_FILESCREEN_TEMPLATE | 0x001000; const DISPID FSRM_DISPID_FILESCREEN_EXCEPTION = FSRM_DISPID_FEATURE_FILESCREEN | 0x400000; const DISPID FSRM_DISPID_FILESCREEN_MANAGER = FSRM_DISPID_FEATURE_FILESCREEN | 0x500000; const DISPID FSRM_DISPID_FILESCREEN_TEMPLATE_MANAGER = FSRM_DISPID_FEATURE_FILESCREEN | 0x600000; [ object, uuid(8dd04909-0e34-4d55-afaa-89e1f1a1bbb9), dual, pointer_default(unique) ]interface IFsrmFileGroup : IFsrmObject { [propget, id(FSRM_PROPERTY(FSRM_DISPID_FILEGROUP | 0x01))] HRESULT Name([out, retval] BSTR *name); [propput, id(FSRM_PROPERTY(FSRM_DISPID_FILEGROUP | 0x01))] HRESULT Name([in] BSTR name); [propget, id(FSRM_PROPERTY(FSRM_DISPID_FILEGROUP | 0x02))] HRESULT Members([out, retval] IFsrmMutableCollection **members); [propput, id(FSRM_PROPERTY(FSRM_DISPID_FILEGROUP | 0x02))] HRESULT Members([in] IFsrmMutableCollection *members); [propget, id(FSRM_PROPERTY(FSRM_DISPID_FILEGROUP | 0x03))] HRESULT NonMembers([out, retval] IFsrmMutableCollection **nonMembers); [propput, id(FSRM_PROPERTY(FSRM_DISPID_FILEGROUP | 0x03))] HRESULT NonMembers([in] IFsrmMutableCollection *nonMembers); }; [ object, uuid(ad55f10b-5f11-4be7-94ef-d9ee2e470ded), dual, pointer_default(unique) ]interface IFsrmFileGroupImported : IFsrmFileGroup { [propget, id(FSRM_PROPERTY(FSRM_DISPID_FILEGROUP_IMPORTED | 0x01))] HRESULT OverwriteOnCommit([out, retval] VARIANT_BOOL *overwrite); [propput, id(FSRM_PROPERTY(FSRM_DISPID_FILEGROUP_IMPORTED | 0x01))] HRESULT OverwriteOnCommit([in] VARIANT_BOOL overwrite); }; [ object, uuid(426677d5-018c-485c-8a51-20b86d00bdc4), dual, pointer_default(unique) ]interface IFsrmFileGroupManager : IDispatch { [id(FSRM_DISPID_FILEGROUP_MANAGER | 0x01)] HRESULT CreateFileGroup([out, retval] IFsrmFileGroup **fileGroup); [id(FSRM_DISPID_FILEGROUP_MANAGER | 0x02)] HRESULT GetFileGroup( [in] BSTR name, [out, retval] IFsrmFileGroup **fileGroup); [id(FSRM_DISPID_FILEGROUP_MANAGER | 0x03)] HRESULT EnumFileGroups( [in, defaultvalue(FsrmEnumOptions_None)] FsrmEnumOptions options, [out, retval] IFsrmCommittableCollection **fileGroups); [id(FSRM_DISPID_FILEGROUP_MANAGER | 0x04)] HRESULT ExportFileGroups( [in, defaultvalue(NULL)] VARIANT* fileGroupNamesArray, [out, retval] BSTR *serializedFileGroups); [id(FSRM_DISPID_FILEGROUP_MANAGER | 0x05)] HRESULT ImportFileGroups( [in] BSTR serializedFileGroups, [in, defaultvalue(NULL)] VARIANT* fileGroupNamesArray, [out, retval] IFsrmCommittableCollection **fileGroups); }; [ object, uuid(f3637e80-5b22-4a2b-a637-bbb642b41cfc), dual, pointer_default(unique) ]interface IFsrmFileScreenBase : IFsrmObject { [propget, id(FSRM_PROPERTY(FSRM_DISPID_FILESCREEN_BASE | 0x01))] HRESULT BlockedFileGroups([out, retval] IFsrmMutableCollection **blockList); [propput, id(FSRM_PROPERTY(FSRM_DISPID_FILESCREEN_BASE | 0x01))] HRESULT BlockedFileGroups([in] IFsrmMutableCollection *blockList); [propget, id(FSRM_PROPERTY(FSRM_DISPID_FILESCREEN_BASE | 0x02))] HRESULT FileScreenFlags([out, retval] long *fileScreenFlags); [propput, id(FSRM_PROPERTY(FSRM_DISPID_FILESCREEN_BASE | 0x02))] HRESULT FileScreenFlags([in] long fileScreenFlags); [id(FSRM_DISPID_FILESCREEN_BASE | 0x01)] HRESULT CreateAction( [in] FsrmActionType actionType, [out, retval] IFsrmAction **action); [id(FSRM_DISPID_FILESCREEN_BASE | 0x02)] HRESULT EnumActions([out, retval] IFsrmCollection **actions); }; [ object, uuid(5f6325d3-ce88-4733-84c1-2d6aefc5ea07), dual, pointer_default(unique) ]interface IFsrmFileScreen : IFsrmFileScreenBase { [propget, id(FSRM_PROPERTY(FSRM_DISPID_FILESCREEN | 0x01))] HRESULT Path([out, retval] BSTR *path); [propget, id(FSRM_PROPERTY(FSRM_DISPID_FILESCREEN | 0x02))] HRESULT SourceTemplateName([out, retval] BSTR *fileScreenTemplateName); [propget, id(FSRM_PROPERTY(FSRM_DISPID_FILESCREEN | 0x03))] HRESULT MatchesSourceTemplate([out, retval] VARIANT_BOOL *matches); [propget, id(FSRM_PROPERTY(FSRM_DISPID_FILESCREEN | 0x04))] HRESULT UserSid([out, retval] BSTR *userSid); [propget, id(FSRM_PROPERTY(FSRM_DISPID_FILESCREEN | 0x05))] HRESULT UserAccount([out, retval] BSTR *userAccount); [id(FSRM_DISPID_FILESCREEN | 0x01)] HRESULT ApplyTemplate([in] BSTR fileScreenTemplateName); }; [ object, uuid(bee7ce02-df77-4515-9389-78f01c5afc1a), dual, pointer_default(unique) ]interface IFsrmFileScreenException : IFsrmObject { [propget, id(FSRM_PROPERTY(FSRM_DISPID_FILESCREEN_EXCEPTION | 0x01))] HRESULT Path([out, retval] BSTR *path); [propget, id(FSRM_PROPERTY(FSRM_DISPID_FILESCREEN_EXCEPTION | 0x02))] HRESULT AllowedFileGroups([out, retval] IFsrmMutableCollection **allowList); [propput, id(FSRM_PROPERTY(FSRM_DISPID_FILESCREEN_EXCEPTION | 0x02))] HRESULT AllowedFileGroups([in] IFsrmMutableCollection *allowList); }; [ object, uuid(ff4fa04e-5a94-4bda-a3a0-d5b4d3c52eba), dual, pointer_default(unique) ]interface IFsrmFileScreenManager : IDispatch { [propget, id(FSRM_PROPERTY(FSRM_DISPID_FILESCREEN_MANAGER | 0x01))] HRESULT ActionVariables([out, retval] SAFEARRAY(VARIANT) *variables); [propget, id(FSRM_PROPERTY(FSRM_DISPID_FILESCREEN_MANAGER | 0x02))] HRESULT ActionVariableDescriptions([out, retval] SAFEARRAY(VARIANT) *descriptions); [id(FSRM_DISPID_FILESCREEN_MANAGER | 0x01)] HRESULT CreateFileScreen( [in] BSTR path, [out, retval] IFsrmFileScreen **fileScreen); [id(FSRM_DISPID_FILESCREEN_MANAGER | 0x02)] HRESULT GetFileScreen( [in] BSTR path, [out, retval] IFsrmFileScreen **fileScreen); [id(FSRM_DISPID_FILESCREEN_MANAGER | 0x03)] HRESULT EnumFileScreens( [in, defaultvalue(L"")] BSTR path, [in, defaultvalue(FsrmEnumOptions_None)] FsrmEnumOptions options, [out, retval] IFsrmCommittableCollection **fileScreens); [id(FSRM_DISPID_FILESCREEN_MANAGER | 0x04)] HRESULT CreateFileScreenException( [in] BSTR path, [out, retval] IFsrmFileScreenException **fileScreenException); [id(FSRM_DISPID_FILESCREEN_MANAGER | 0x05)] HRESULT GetFileScreenException( [in] BSTR path, [out, retval] IFsrmFileScreenException **fileScreenException); [id(FSRM_DISPID_FILESCREEN_MANAGER | 0x06)] HRESULT EnumFileScreenExceptions( [in, defaultvalue(L"")] BSTR path, [in, defaultvalue(FsrmEnumOptions_None)] FsrmEnumOptions options, [out, retval] IFsrmCommittableCollection **fileScreenExceptions); [id(FSRM_DISPID_FILESCREEN_MANAGER | 0x07)] HRESULT CreateFileScreenCollection([out, retval] IFsrmCommittableCollection **collection); }; [ object, uuid(205bebf8-dd93-452a-95a6-32b566b35828), dual, pointer_default(unique) ]interface IFsrmFileScreenTemplate : IFsrmFileScreenBase { [propget, id(FSRM_PROPERTY(FSRM_DISPID_FILESCREEN_TEMPLATE | 0x01))] HRESULT Name([out, retval] BSTR *name); [propput, id(FSRM_PROPERTY(FSRM_DISPID_FILESCREEN_TEMPLATE | 0x01))] HRESULT Name([in] BSTR name); [id(FSRM_DISPID_FILESCREEN_TEMPLATE | 0x01)] HRESULT CopyTemplate([in] BSTR fileScreenTemplateName); [id(FSRM_DISPID_FILESCREEN_TEMPLATE | 0x02)] HRESULT CommitAndUpdateDerived( [in] FsrmCommitOptions commitOptions, [in] FsrmTemplateApplyOptions applyOptions, [out, retval] IFsrmDerivedObjectsResult **derivedObjectsResult); }; [ object, uuid(e1010359-3e5d-4ecd-9fe4-ef48622fdf30), dual, pointer_default(unique) ]interface IFsrmFileScreenTemplateImported : IFsrmFileScreenTemplate { [propget, id(FSRM_PROPERTY(FSRM_DISPID_FILESCREEN_TEMPLATE_IMPORTED | 0x01))] HRESULT OverwriteOnCommit([out, retval] VARIANT_BOOL *overwrite); [propput, id(FSRM_PROPERTY(FSRM_DISPID_FILESCREEN_TEMPLATE_IMPORTED | 0x01))] HRESULT OverwriteOnCommit([in] VARIANT_BOOL overwrite); }; [ object, uuid(cfe36cba-1949-4e74-a14f-f1d580ceaf13), dual, pointer_default(unique) ]interface IFsrmFileScreenTemplateManager : IDispatch { [id(FSRM_DISPID_FILESCREEN_TEMPLATE_MANAGER | 0x01)] HRESULT CreateTemplate([out, retval] IFsrmFileScreenTemplate **fileScreenTemplate); [id(FSRM_DISPID_FILESCREEN_TEMPLATE_MANAGER | 0x02)] HRESULT GetTemplate( [in] BSTR name, [out, retval] IFsrmFileScreenTemplate **fileScreenTemplate); [id(FSRM_DISPID_FILESCREEN_TEMPLATE_MANAGER | 0x03)] HRESULT EnumTemplates( [in, defaultvalue(FsrmEnumOptions_None)] FsrmEnumOptions options, [out, retval] IFsrmCommittableCollection **fileScreenTemplates); [id(FSRM_DISPID_FILESCREEN_TEMPLATE_MANAGER | 0x04)] HRESULT ExportTemplates( [in, defaultvalue(NULL)] VARIANT* fileScreenTemplateNamesArray, [out, retval] BSTR *serializedFileScreenTemplates); [id(FSRM_DISPID_FILESCREEN_TEMPLATE_MANAGER | 0x05)] HRESULT ImportTemplates( [in] BSTR serializedFileScreenTemplates, [in, defaultvalue(NULL)] VARIANT* fileScreenTemplateNamesArray, [out, retval] IFsrmCommittableCollection **fileScreenTemplates); };