6 Appendix A: Full IDL
For ease of implementation, the full IDL is provided below.
This IDL imports the IDL from OLE Automation Protocol Specification (see [MS-OAUT], Appendix A), to provide support for the VARIANT and SAFEARRAY type definitions.
-
import "ms-dtyp.idl"; import "ms-oaut.idl"; #define SAFEARRAY(item) SAFEARRAY typedef byte BYTE; interface IDataCollectorSet; interface IDataManager; interface IFolderAction; interface IFolderActionCollection; interface IDataCollector; interface IPerformanceCounterDataCollector; interface ITraceDataCollector; interface IConfigurationDataCollector; interface IAlertDataCollector; interface IApiTracingDataCollector; interface IDataCollectorCollection; interface IDataCollectorSetCollection; interface ITraceDataProvider; interface ITraceDataProviderCollection; interface ISchedule; interface IScheduleCollection; interface IValueMapItem; interface IValueMap; typedef enum{ plaPerformanceCounter = 0, plaTrace = 1, plaConfiguration = 2, plaAlert = 3, plaApiTrace = 4 } DataCollectorType; typedef enum { plaCommaSeparated = 0, plaTabSeparated = 1, plaSql = 2, plaBinary = 3 } FileFormat; typedef enum { plaNone = 0x0000, plaPattern = 0x0001, plaComputer = 0x0002, plaMonthDayHour = 0x0100, plaSerialNumber = 0x0200, plaYearDayOfYear = 0x0400, plaYearMonth = 0x0800, plaYearMonthDay = 0x1000, plaYearMonthDayHour = 0x2000, plaMonthDayHourMinute = 0x4000 } AutoPathFormat; typedef enum { plaStopped = 0, plaRunning = 1, plaCompiling = 2, plaPending = 3, plaUndefined = 4 } DataCollectorSetStatus; typedef enum { plaTimeStamp = 0, plaPerformance = 1, plaSystem = 2, plaCycle = 3 } ClockType; typedef enum { plaFile = 0x0001, plaRealTime = 0x0002, plaBoth = 0x0003, plaBuffering = 0x0004 } StreamMode; typedef enum { plaCreateNew = 0x0001, plaModify = 0x0002, plaCreateOrModify = 0x0003, plaUpdateRunningInstance = 0x0010, plaFlushTrace = 0x0020, plaValidateOnly = 0x1000 } CommitMode; typedef enum { plaIndex = 1, plaFlag = 2, plaFlagArray = 3, plaValidation = 4 } ValueMapType; typedef enum { plaRunOnce = 0x00, plaSunday = 0x01, plaMonday = 0x02, plaTuesday = 0x04, plaWednesday = 0x08, plaThursday = 0x10, plaFriday = 0x20, plaSaturday = 0x40, plaEveryday = 0x7F } WeekDays; typedef enum { plaDeleteLargest = 0, plaDeleteOldest = 1 } ResourcePolicy; typedef enum { plaCreateReport = 0x01, plaRunRules = 0x02, plaCreateHtml = 0x04, plaFolderActions = 0x08, plaResourceFreeing = 0x10 } DataManagerSteps; typedef enum { plaCreateCab = 0x01, plaDeleteData = 0x02, plaSendCab = 0x04, plaDeleteCab = 0x08, plaDeleteReport = 0x10 } FolderActionSteps; [ object, uuid(03837520-098b-11d8-9414-505054503030), dual, oleautomation, ] interface IDataCollectorSet : IDispatch { [propget] HRESULT DataCollectors([out, retval]IDataCollectorCollection** collectors); [propget] HRESULT Duration([out, retval]unsigned long* seconds); [propput] HRESULT Duration([in]unsigned long seconds); [propget] HRESULT Description([out, retval]BSTR* description); [propput] HRESULT Description([in]BSTR description); [propget] HRESULT DescriptionUnresolved([out, retval] BSTR *Descr); [propget] HRESULT DisplayName([out, retval]BSTR *DisplayName); [propput] HRESULT DisplayName([in]BSTR DisplayName); [propget] HRESULT DisplayNameUnresolved([out, retval] BSTR *name); [propget] HRESULT Keywords([out, retval] SAFEARRAY(BSTR) * keywords); [propput] HRESULT Keywords([in]SAFEARRAY(BSTR) keywords); [propget] HRESULT LatestOutputLocation([out, retval]BSTR* path); [propput] HRESULT LatestOutputLocation([in]BSTR path); [id(DISPID_VALUE), propget] HRESULT Name([out, retval]BSTR* name); [propget] HRESULT OutputLocation([out, retval]BSTR* path); [propget] HRESULT RootPath([out, retval]BSTR* folder); [propput] HRESULT RootPath([in]BSTR folder); [propget] HRESULT Segment([out, retval]VARIANT_BOOL* segment); [propput] HRESULT Segment([in]VARIANT_BOOL segment); [propget] HRESULT SegmentMaxDuration([out, retval]unsigned long* seconds); [propput] HRESULT SegmentMaxDuration([in]unsigned long seconds); [propget] HRESULT SegmentMaxSize([out, retval]unsigned long* size); [propput] HRESULT SegmentMaxSize([in]unsigned long size); [propget] HRESULT SerialNumber([out, retval]unsigned long* index); [propput] HRESULT SerialNumber([in]unsigned long index); [propget] HRESULT Server([out, retval]BSTR* server); [propget] HRESULT Status([out, retval]DataCollectorSetStatus* status); [propget] HRESULT Subdirectory([out, retval]BSTR* folder); [propput] HRESULT Subdirectory([in]BSTR folder); [propget] HRESULT SubdirectoryFormat([out, retval]AutoPathFormat* format); [propput] HRESULT SubdirectoryFormat([in]AutoPathFormat format); [propget] HRESULT SubdirectoryFormatPattern([out, retval]BSTR* pattern); [propput] HRESULT SubdirectoryFormatPattern([in]BSTR pattern); [propget] HRESULT Task([out, retval]BSTR* task); [propput] HRESULT Task([in]BSTR task); [propget] HRESULT TaskRunAsSelf([out, retval]VARIANT_BOOL *RunAsSelf); [propput] HRESULT TaskRunAsSelf([in] VARIANT_BOOL RunAsSelf); [propget] HRESULT TaskArguments([out, retval]BSTR* task); [propput] HRESULT TaskArguments([in]BSTR task); [propget] HRESULT TaskUserTextArguments([out, retval]BSTR *UserText); [propput] HRESULT TaskUserTextArguments([in]BSTR UserText); [propget] HRESULT Schedules([out, retval]IScheduleCollection** ppSchedules); [propget] HRESULT SchedulesEnabled([out, retval]VARIANT_BOOL* enabled); [propput] HRESULT SchedulesEnabled([in]VARIANT_BOOL enabled); [propget] HRESULT UserAccount([out, retval]BSTR* user); [propget] HRESULT Xml([out, retval]BSTR* xml); [propget] HRESULT Security([out, retval]BSTR *pbstrSecurity); [propput] HRESULT Security([in]BSTR bstrSecurity); [propget] HRESULT StopOnCompletion([out, retval]VARIANT_BOOL *Stop); [propput] HRESULT StopOnCompletion([in]VARIANT_BOOL Stop); [propget] HRESULT DataManager([out, retval] IDataManager **DataManager); HRESULT SetCredentials(BSTR user, BSTR password); HRESULT Query([in] BSTR name, [in, unique] BSTR server); HRESULT Commit([in] BSTR name, [in, unique] BSTR server, CommitMode mode, [out, retval]IValueMap** validation); HRESULT Delete(); HRESULT Start([in] VARIANT_BOOL Synchronous); HRESULT Stop([in] VARIANT_BOOL Synchronous); HRESULT SetXml([in]BSTR xml, [out, retval]IValueMap** validation); HRESULT SetValue(BSTR key, BSTR value); HRESULT GetValue(BSTR key, [out, retval] BSTR* value); } [ object, uuid(03837541-098b-11d8-9414-505054503030), dual, oleautomation, ] interface IDataManager : IDispatch { [propget] HRESULT Enabled([out, retval] VARIANT_BOOL *pfEnabled); [propput] HRESULT Enabled([in] VARIANT_BOOL fEnabled); [propget] HRESULT CheckBeforeRunning([out, retval] VARIANT_BOOL *pfCheck); [propput] HRESULT CheckBeforeRunning([in] VARIANT_BOOL fCheck); [propget] HRESULT MinFreeDisk([out, retval] ULONG *MinFreeDisk); [propput] HRESULT MinFreeDisk([in] ULONG MinFreeDisk); [propget] HRESULT MaxSize([out, retval] ULONG *pulMaxSize); [propput] HRESULT MaxSize([in] ULONG ulMaxSize); [propget] HRESULT MaxFolderCount([out, retval] ULONG *pulMaxFolderCount); [propput] HRESULT MaxFolderCount([in] ULONG ulMaxFolderCount); [propget] HRESULT ResourcePolicy([out, retval] ResourcePolicy *pPolicy); [propput] HRESULT ResourcePolicy ([in] ResourcePolicy Policy); [propget] HRESULT FolderActions([out, retval] IFolderActionCollection **Actions); [propget] HRESULT ReportSchema([out, retval] BSTR *ReportSchema); [propput] HRESULT ReportSchema([in] BSTR ReportSchema); [propget] HRESULT ReportFileName([out, retval] BSTR *pbstrFilename); [propput] HRESULT ReportFileName([in] BSTR pbstrFilename); [propget] HRESULT RuleTargetFileName([out, retval] BSTR *Filename); [propput] HRESULT RuleTargetFileName([in] BSTR Filename); [propget] HRESULT EventsFileName([out, retval] BSTR *pbstrFilename); [propput] HRESULT EventsFileName([in] BSTR pbstrFilename); [propget] HRESULT Rules([out, retval] BSTR *pbstrXml); [propput] HRESULT Rules([in] BSTR bstrXml); HRESULT Run([in] DataManagerSteps Steps, [in] BSTR bstrFolder, [out, retval] IValueMap **Errors); HRESULT Extract([in] BSTR CabFilename, [in] BSTR DestinationPath); } [ object, uuid(03837543-098b-11d8-9414-505054503030), dual, oleautomation, ] interface IFolderAction : IDispatch { [propget] HRESULT Age([out, retval] ULONG *pulAge); [propput] HRESULT Age([in] ULONG ulAge); [propget] HRESULT Size([out, retval] ULONG *pulAge); [propput] HRESULT Size([in] ULONG ulAge); [propget] HRESULT Actions([out, retval] FolderActionSteps *Steps); [propput] HRESULT Actions([in] FolderActionSteps Steps); [propget] HRESULT SendCabTo([out, retval] BSTR *pbstrDestination); [propput] HRESULT SendCabTo([in] BSTR bstrDestination); } [ object, uuid(03837544-098b-11d8-9414-505054503030), dual, oleautomation, nonextensible ] interface IFolderActionCollection : IDispatch { [propget, id(1)] HRESULT Count([out, retval] ULONG *Count); [propget, id(DISPID_VALUE)] HRESULT Item([in] VARIANT Index, [out, retval] IFolderAction **Action); [propget, id(DISPID_NEWENUM)] HRESULT _NewEnum([out, retval] IUnknown **Enum); HRESULT Add(IFolderAction *Action); HRESULT Remove(VARIANT Index); HRESULT Clear(); HRESULT AddRange(IFolderActionCollection *Actions); HRESULT CreateFolderAction([out, retval] IFolderAction **FolderAction); } [ object, uuid(038374ff-098b-11d8-9414-505054503030), dual ] interface IDataCollector : IDispatch { [propget] HRESULT DataCollectorSet([out, retval]IDataCollectorSet** group); HRESULT Opnum8NotUsedOnWire(void); [propget] HRESULT DataCollectorType([out, retval]DataCollectorType* type); [propget] HRESULT FileName([out, retval]BSTR* name); [propput] HRESULT FileName([in]BSTR name); [propget] HRESULT FileNameFormat([out, retval]AutoPathFormat* format); [propput] HRESULT FileNameFormat([in]AutoPathFormat format); [propget] HRESULT FileNameFormatPattern([out, retval]BSTR* pattern); [propput] HRESULT FileNameFormatPattern([in]BSTR pattern); [propget] HRESULT LatestOutputLocation([out, retval]BSTR* path); [propput] HRESULT LatestOutputLocation([in]BSTR path); [propget] HRESULT LogAppend([out, retval]VARIANT_BOOL* append); [propput] HRESULT LogAppend([in]VARIANT_BOOL append); [propget] HRESULT LogCircular([out, retval]VARIANT_BOOL* circular); [propput] HRESULT LogCircular([in]VARIANT_BOOL circular); [propget] HRESULT LogOverwrite([out, retval]VARIANT_BOOL* overwrite); [propput] HRESULT LogOverwrite([in]VARIANT_BOOL overwrite); [propget] HRESULT Name([out, retval]BSTR* name); [propput] HRESULT Name([in]BSTR name); [propget] HRESULT OutputLocation([out, retval]BSTR* path); [propget] HRESULT Index([out, retval]long* index); HRESULT Opnum28NotUsedOnWire(void); [propget] HRESULT Xml([out, retval]BSTR *Xml); HRESULT SetXml([in]BSTR Xml, [out, retval]IValueMap** Validation); HRESULT Opnum31NotUsedOnWire(void); }; [ object, uuid(03837506-098b-11d8-9414-505054503030), dual ] interface IPerformanceCounterDataCollector : IDataCollector { [propget] HRESULT DataSourceName([out, retval]BSTR* dsn); [propput] HRESULT DataSourceName([in]BSTR dsn); [propget] HRESULT PerformanceCounters([out, retval]SAFEARRAY(BSTR)* counters); [propput] HRESULT PerformanceCounters([in]SAFEARRAY(BSTR) counters); [propget] HRESULT LogFileFormat([out, retval]FileFormat* format); [propput] HRESULT LogFileFormat([in]FileFormat format); [propget] HRESULT SampleInterval([out, retval]unsigned long* interval); [propput] HRESULT SampleInterval([in]unsigned long interval); [propget] HRESULT SegmentMaxRecords([out, retval]unsigned long* records); [propput] HRESULT SegmentMaxRecords([in]unsigned long records); }; [ object, uuid(03837514-098b-11d8-9414-505054503030), dual ] interface IConfigurationDataCollector : IDataCollector { [propget] HRESULT FileMaxCount([out, retval] unsigned long* count); [propput] HRESULT FileMaxCount([in] unsigned long count); [propget] HRESULT FileMaxRecursiveDepth([out, retval] unsigned long* depth); [propput] HRESULT FileMaxRecursiveDepth([in] unsigned long depth); [propget] HRESULT FileMaxTotalSize([out, retval] unsigned long* size); [propput] HRESULT FileMaxTotalSize([in] unsigned long size); [propget] HRESULT Files([out, retval] SAFEARRAY(BSTR) *Files); [propput] HRESULT Files([in] SAFEARRAY(BSTR) Files); [propget] HRESULT ManagementQueries([out, retval] SAFEARRAY(BSTR) *Queries); [propput] HRESULT ManagementQueries([in] SAFEARRAY(BSTR) Queries); [propget] HRESULT QueryNetworkAdapters([out, retval] VARIANT_BOOL *network); [propput] HRESULT QueryNetworkAdapters([in] VARIANT_BOOL network); [propget] HRESULT RegistryKeys([out, retval] SAFEARRAY(BSTR) *query); [propput] HRESULT RegistryKeys([in] SAFEARRAY(BSTR) query); [propget] HRESULT RegistryMaxRecursiveDepth([out, retval] unsigned long* depth); [propput] HRESULT RegistryMaxRecursiveDepth([in] unsigned long depth); [propget] HRESULT SystemStateFile([out, retval] BSTR *FileName); [propput] HRESULT SystemStateFile([in] BSTR FileName); }; [ object, uuid(03837516-098b-11d8-9414-505054503030), dual ] interface IAlertDataCollector : IDataCollector { [propget] HRESULT AlertThresholds([out, retval]SAFEARRAY(BSTR)* alerts); [propput] HRESULT AlertThresholds([in]SAFEARRAY(BSTR) alerts); [propget] HRESULT EventLog([out, retval]VARIANT_BOOL* log); [propput] HRESULT EventLog([in]VARIANT_BOOL log); [propget] HRESULT SampleInterval([out, retval]unsigned long* interval); [propput] HRESULT SampleInterval([in]unsigned long interval); [propget] HRESULT Task([out, retval]BSTR* task); [propput] HRESULT Task([in]BSTR task); [propget] HRESULT TaskRunAsSelf([out, retval]VARIANT_BOOL *RunAsSelf); [propput] HRESULT TaskRunAsSelf([in] VARIANT_BOOL RunAsSelf); [propget] HRESULT TaskArguments([out, retval]BSTR* task); [propput] HRESULT TaskArguments([in]BSTR task); [propget] HRESULT TaskUserTextArguments([out, retval]BSTR* task); [propput] HRESULT TaskUserTextArguments([in]BSTR task); [propget] HRESULT TriggerDataCollectorSet([out, retval]BSTR* name); [propput] HRESULT TriggerDataCollectorSet([in]BSTR name); }; [ object, uuid(0383750b-098b-11d8-9414-505054503030), dual ] interface ITraceDataCollector : IDataCollector { [propget] HRESULT BufferSize([out, retval]unsigned long* size); [propput] HRESULT BufferSize([in]unsigned long size); [propget] HRESULT BuffersLost([out, retval]unsigned long* buffers); HRESULT Opnum35NotUsedOnWire(void); [propget] HRESULT BuffersWritten([out, retval]unsigned long* buffers); HRESULT Opnum37NotUsedOnWire(void); [propget] HRESULT ClockType([out, retval]ClockType* clock); [propput] HRESULT ClockType([in]ClockType clock); [propget] HRESULT EventsLost([out, retval]unsigned long* events); HRESULT Opnum41NotUsedOnWire(void); [propget] HRESULT ExtendedModes([out, retval]unsigned long* mode); [propput] HRESULT ExtendedModes([in]unsigned long mode); [propget] HRESULT FlushTimer([out, retval]unsigned long* seconds); [propput] HRESULT FlushTimer([in]unsigned long seconds); [propget] HRESULT FreeBuffers([out, retval]unsigned long* buffers); HRESULT Opnum47NotUsedOnWire(void); [propget] HRESULT Guid([out, retval]GUID* guid); [propput] HRESULT Guid([in]GUID guid); [propget] HRESULT IsKernelTrace([out, retval]VARIANT_BOOL* kernel); [propget] HRESULT MaximumBuffers([out, retval]unsigned long* buffers); [propput] HRESULT MaximumBuffers([in]unsigned long buffers); [propget] HRESULT MinimumBuffers([out, retval]unsigned long* buffers); [propput] HRESULT MinimumBuffers([in]unsigned long buffers); [propget] HRESULT NumberOfBuffers([out, retval]unsigned long* buffers); [propput] HRESULT NumberOfBuffers([in]unsigned long buffers); [propget] HRESULT PreallocateFile([out, retval]VARIANT_BOOL* allocate); [propput] HRESULT PreallocateFile([in]VARIANT_BOOL allocate); [propget] HRESULT ProcessMode([out, retval]VARIANT_BOOL* process); [propput] HRESULT ProcessMode([in]VARIANT_BOOL process); [propget] HRESULT RealTimeBuffersLost([out, retval]unsigned long* buffers); HRESULT Opnum62NotUsedOnWire(void); [propget] HRESULT SessionId([out, retval]ULONG64* id); HRESULT Opnum64NotUsedOnWire(void); [propget] HRESULT SessionName([out, retval]BSTR* name); [propput] HRESULT SessionName([in]BSTR name); [propget] HRESULT SessionThreadId([out, retval]unsigned long* tid); HRESULT Opnum68NotUsedOnWire(void); [propget] HRESULT StreamMode([out, retval]StreamMode* mode); [propput] HRESULT StreamMode([in]StreamMode mode); [propget] HRESULT TraceDataProviders([out, retval]ITraceDataProviderCollection** providers); }; [ object, uuid(0383751a-098b-11d8-9414-505054503030), dual ] interface IApiTracingDataCollector : IDataCollector { [propget] HRESULT LogApiNamesOnly([out, retval]VARIANT_BOOL* logapinames); [propput] HRESULT LogApiNamesOnly([in]VARIANT_BOOL logapinames); [propget] HRESULT LogApisRecursively([out, retval]VARIANT_BOOL* logrecursively); [propput] HRESULT LogApisRecursively([in]VARIANT_BOOL logrecursively); [propget] HRESULT ExePath([out, retval]BSTR* exepath); [propput] HRESULT ExePath([in]BSTR exepath); [propget] HRESULT LogFilePath([out, retval]BSTR* logfilepath); [propput] HRESULT LogFilePath([in]BSTR logfilepath); [propget] HRESULT IncludeModules([out, retval]SAFEARRAY(BSTR)* includemodules); [propput] HRESULT IncludeModules([in]SAFEARRAY(BSTR) includemodules); [propget] HRESULT IncludeApis([out, retval]SAFEARRAY(BSTR)* includeapis); [propput] HRESULT IncludeApis([in]SAFEARRAY(BSTR) includeapis); [propget] HRESULT ExcludeApis([out, retval]SAFEARRAY(BSTR)* excludeapis); [propput] HRESULT ExcludeApis([in]SAFEARRAY(BSTR) excludeapis); }; [ object, uuid(03837512-098b-11d8-9414-505054503030), dual ] interface ITraceDataProvider : IDispatch { [propget] HRESULT DisplayName([out, retval]BSTR* name); [propput] HRESULT DisplayName([in]BSTR name); [propget] HRESULT Guid([out, retval]GUID* guid); [propput] HRESULT Guid([in]GUID guid); [propget] HRESULT Level([out, retval] IValueMap **ppLevel); [propget] HRESULT KeywordsAny([out, retval] IValueMap **ppKeywords); [propget] HRESULT KeywordsAll([out, retval] IValueMap **ppKeywords); [propget] HRESULT Properties([out, retval] IValueMap **ppProperties); [propget] HRESULT FilterEnabled([out, retval] VARIANT_BOOL *FilterEnabled); [propput] HRESULT FilterEnabled([in] VARIANT_BOOL FilterEnabled); [propget] HRESULT FilterType([out, retval] ULONG *pulType); [propput] HRESULT FilterType([in] ULONG ulType); [propget] HRESULT FilterData([out, retval] SAFEARRAY(BYTE)*ppData); [propput] HRESULT FilterData([in] SAFEARRAY(BYTE) pData); HRESULT Query([in] BSTR bstrName, [in, unique] BSTR bstrServer); HRESULT Resolve([in] IDispatch* pFrom); HRESULT SetSecurity([in] BSTR Sddl); HRESULT GetSecurity([in] ULONG SecurityInfo, [out, retval] BSTR *Sddl); HRESULT GetRegisteredProcesses([out] IValueMap **Processes); }; [ object, uuid(0383753a-098b-11d8-9414-505054503030), dual ] interface ISchedule : IDispatch { [propget] HRESULT StartDate([out, retval]VARIANT* start); [propput] HRESULT StartDate([in]VARIANT start); [propget] HRESULT EndDate([out, retval]VARIANT* end); [propput] HRESULT EndDate([in]VARIANT end); [propget] HRESULT StartTime([out, retval]VARIANT* start); [propput] HRESULT StartTime([in]VARIANT start); [propget] HRESULT Days([out, retval]WeekDays* days); [propput] HRESULT Days([in]WeekDays days ); }; [ object, uuid(03837510-098b-11d8-9414-505054503030), dual, oleautomation, nonextensible ] interface ITraceDataProviderCollection : IDispatch { [propget, id(1)] HRESULT Count([out, retval] long* retVal); [propget, id(DISPID_VALUE)] HRESULT Item([in] VARIANT index, [out, retval] ITraceDataProvider** ppProvider); [propget, id(DISPID_NEWENUM)] HRESULT _NewEnum([out, retval] IUnknown** retVal); HRESULT Add(ITraceDataProvider* pProvider); HRESULT Remove(VARIANT vProvider); HRESULT Clear(); HRESULT AddRange(ITraceDataProviderCollection* providers); HRESULT CreateTraceDataProvider([out, retval] ITraceDataProvider **Provider); HRESULT GetTraceDataProviders([in, unique] BSTR server); HRESULT GetTraceDataProvidersByProcess([in, unique] BSTR Server, [in] ULONG Pid); } [ object, uuid(0383753d-098b-11d8-9414-505054503030), dual, oleautomation, nonextensible ] interface IScheduleCollection : IDispatch { [propget, id(1)] HRESULT Count([out, retval] long* retVal); [propget, id(DISPID_VALUE)] HRESULT Item([in] VARIANT index, [out, retval] ISchedule** ppSchedule); [propget, id(DISPID_NEWENUM)] HRESULT _NewEnum([out, retval] IUnknown** retVal); HRESULT Add(ISchedule* pSchedule); HRESULT Remove(VARIANT vSchedule); HRESULT Clear(); HRESULT AddRange(IScheduleCollection* pSchedules); HRESULT CreateSchedule([out, retval] ISchedule **Schedule); } [ object, uuid(03837502-098b-11d8-9414-505054503030), dual, oleautomation, nonextensible ] interface IDataCollectorCollection : IDispatch { [propget, id(1)] HRESULT Count([out, retval] long* retVal); [propget, id(DISPID_VALUE)] HRESULT Item([in] VARIANT index, [out, retval] IDataCollector** collector); [propget, id(DISPID_NEWENUM)] HRESULT _NewEnum([out, retval] IUnknown** retVal); HRESULT Add(IDataCollector* collector); HRESULT Remove(VARIANT collector); HRESULT Clear(); HRESULT AddRange(IDataCollectorCollection* collectors); HRESULT CreateDataCollectorFromXml([in] BSTR bstrXml, [out] IValueMap** pValidation, [out, retval] IDataCollector **pCollector); HRESULT CreateDataCollector([in] DataCollectorType Type, [out,retval] IDataCollector **Collector); } [ object, uuid(03837524-098b-11d8-9414-505054503030), dual, oleautomation, nonextensible ] interface IDataCollectorSetCollection : IDispatch { [propget, id(1)] HRESULT Count([out, retval] long* retVal); [propget, id(DISPID_VALUE)] HRESULT Item([in] VARIANT index, [out, retval] IDataCollectorSet** set); [propget, id(DISPID_NEWENUM)] HRESULT _NewEnum([out, retval] IUnknown** retVal); HRESULT Add(IDataCollectorSet* set); HRESULT Remove(VARIANT set); HRESULT Clear(); HRESULT AddRange(IDataCollectorSetCollection* sets); HRESULT GetDataCollectorSets([in, unique] BSTR server, [in, unique] BSTR filter); } [ object, uuid(03837533-098b-11d8-9414-505054503030), dual, oleautomation, nonextensible ] interface IValueMapItem : IDispatch { [propget] HRESULT Description([out, retval]BSTR* description); [propput] HRESULT Description([in]BSTR description); [propget] HRESULT Enabled([out, retval]VARIANT_BOOL* enabled); [propput] HRESULT Enabled([in]VARIANT_BOOL enabled); [propget] HRESULT Key([out, retval]BSTR* key); [propput] HRESULT Key([in]BSTR key); [propget] HRESULT Value([out, retval] VARIANT *Value); [propput] HRESULT Value([in] VARIANT Value); [propget] HRESULT ValueMapType([out, retval]ValueMapType* type); [propput] HRESULT ValueMapType([in]ValueMapType type); } [ object, uuid(03837534-098b-11d8-9414-505054503030), dual, oleautomation, nonextensible ] interface IValueMap : IDispatch { [propget, id(1)] HRESULT Count([out, retval] long* retVal); [propget, id(DISPID_VALUE)] HRESULT Item([in] VARIANT index, [out, retval] IValueMapItem** value); [propget, id(DISPID_NEWENUM)] HRESULT _NewEnum([out, retval] IUnknown** retVal); [propget] HRESULT Description([out, retval]BSTR* description); [propput] HRESULT Description([in]BSTR description); [propget] HRESULT Value([out, retval] VARIANT *Value); [propput] HRESULT Value([in] VARIANT Value); [propget] HRESULT ValueMapType([out, retval]ValueMapType* type); [propput] HRESULT ValueMapType([in]ValueMapType type); HRESULT Add(VARIANT value); HRESULT Remove(VARIANT value); HRESULT Clear(); HRESULT AddRange(IValueMap* map); HRESULT CreateValueMapItem([out, retval] IValueMapItem **Item); }