Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

744 lines
24 KiB

  1. /*++
  2. Copyright (C) 1996-1999 Microsoft Corporation
  3. Module Name:
  4. smonctrl.odl
  5. Abstract:
  6. <abstract>
  7. --*/
  8. #include "smonid.h" // Sysmon DISPID values
  9. #include <olectl.h>
  10. //LIBID_SystemMonitor
  11. [
  12. uuid(1B773E42-2509-11cf-942F-008029004347)
  13. , helpstring("System Monitor Control")
  14. , lcid(0x0000)
  15. , version(3.6)
  16. ]
  17. library SystemMonitor
  18. {
  19. //importlib("stdole32.tlb");
  20. importlib(STDOLE_TLB);
  21. importlib(STDTYPE_TLB);
  22. // Display type constants
  23. typedef
  24. [
  25. helpstring("System Monitor display type constants")
  26. ]
  27. enum eDisplayTypeConstant {
  28. [helpstring("Line graph.")] sysmonLineGraph = 0x0001,
  29. [helpstring("Histogram.")] sysmonHistogram = 0x0002,
  30. [helpstring("Report.")] sysmonReport = 0x0003
  31. } DisplayTypeConstants;
  32. // Report value type constants
  33. typedef
  34. [
  35. helpstring("System Monitor report value type constants")
  36. ]
  37. enum eReportValueTypeConstant {
  38. [helpstring("Use default.")]
  39. sysmonDefaultValue = 0x0000,
  40. [helpstring("Current value.")]
  41. sysmonCurrentValue = 0x0001,
  42. [helpstring("Average value over the graph display interval.")]
  43. sysmonAverage = 0x0002,
  44. [helpstring("Minimum value in the graph display interval.")]
  45. sysmonMinimum = 0x0003,
  46. [helpstring("Maximum value in the graph display interval.")]
  47. sysmonMaximum = 0x0004
  48. } ReportValueTypeConstants;
  49. // Data source type constants
  50. typedef
  51. [
  52. helpstring("System Monitor data source type constants")
  53. ]
  54. enum eDataSourceTypeConstant {
  55. [helpstring("No data source.")] sysmonNullDataSource = 0xFFFFFFFF,
  56. [helpstring("Current activity.")] sysmonCurrentActivity = 0x0001,
  57. [helpstring("Log files.")] sysmonLogFiles = 0x0002,
  58. [helpstring("SQL Log.")] sysmonSqlLog = 0x0003
  59. } DataSourceTypeConstants;
  60. //IID_ICounterItem
  61. [
  62. uuid(771A9520-EE28-11ce-941E-008029004347)
  63. , helpstring("Definition of interface ICounterItem")
  64. , hidden
  65. , odl
  66. ]
  67. interface ICounterItem : IUnknown
  68. {
  69. //Properties
  70. [id(DISPID_VALUE), propget, helpstring("Current value.")]
  71. HRESULT Value([out, retval] double *pdblValue);
  72. [id(DISPID_COUNTERITEM_COLOR), propput, helpstring("Color.")]
  73. HRESULT Color([in] OLE_COLOR Color);
  74. [id(DISPID_COUNTERITEM_COLOR), propget]
  75. HRESULT Color([out, retval] OLE_COLOR *pColor);
  76. [id(DISPID_COUNTERITEM_WIDTH), propput, helpstring("Width.")]
  77. HRESULT Width([in] INT iWidth);
  78. [id(DISPID_COUNTERITEM_WIDTH), propget]
  79. HRESULT Width([out, retval] INT *piValue);
  80. [id(DISPID_COUNTERITEM_LINESTYLE), propput, helpstring("Line style.")]
  81. HRESULT LineStyle([in] INT iLineStyle);
  82. [id(DISPID_COUNTERITEM_LINESTYLE), propget]
  83. HRESULT LineStyle([out, retval] INT *piValue);
  84. [id(DISPID_COUNTERITEM_SCALEFACTOR), propput, helpstring("Scale factor.")]
  85. HRESULT ScaleFactor([in] INT iScale);
  86. [id(DISPID_COUNTERITEM_SCALEFACTOR), propget]
  87. HRESULT ScaleFactor([out, retval] INT *piValue);
  88. [id(DISPID_COUNTERITEM_PATH), propget]
  89. HRESULT Path([out, retval] BSTR *pstrValue);
  90. //Beta 1: [id(6), propget, helpstring("Current value.")]
  91. HRESULT GetValue([out]double *Value, [out]long *Status);
  92. HRESULT GetStatistics([out]double *Max, [out]double *Min,
  93. [out]double *Avg, [out]long *Status);
  94. }
  95. //DIID_DICounterItem
  96. [
  97. uuid(C08C4FF2-0E2E-11cf-942C-008029004347)
  98. , hidden
  99. , helpstring("Definition of dispinterface DICounterItem")
  100. ]
  101. dispinterface DICounterItem
  102. {
  103. interface ICounterItem;
  104. }
  105. //
  106. // IID_ICounters
  107. //
  108. [
  109. uuid(79167962-28FC-11cf-942F-008029004347),
  110. helpstring("Counter collection"),
  111. dual,
  112. hidden,
  113. odl
  114. ]
  115. interface ICounters : IDispatch
  116. {
  117. [propget]
  118. HRESULT Count([out,retval]long *pLong);
  119. [propget, restricted, id(DISPID_NEWENUM)]
  120. HRESULT _NewEnum([out,retval]IUnknown** ppIunk);
  121. [propget, id(DISPID_VALUE)]
  122. HRESULT Item([in]VARIANT index,[out,retval]DICounterItem **ppI);
  123. HRESULT Add([in]BSTR pathname, [out,retval]DICounterItem **ppI);
  124. HRESULT Remove([in]VARIANT index);
  125. }
  126. //IID_ILogFileItem
  127. [
  128. uuid(D6B518DD-05C7-418a-89E6-4F9CE8C6841E)
  129. , helpstring("Definition of interface ILogFileItem")
  130. , hidden
  131. , odl
  132. ]
  133. interface ILogFileItem : IUnknown
  134. {
  135. //Properties
  136. [id(DISPID_VALUE), propget, helpstring("Log file path.")]
  137. HRESULT Path([out, retval] BSTR *pstrValue);
  138. }
  139. //DIID_DILogFileItem
  140. [
  141. uuid(8D093FFC-F777-4917-82D1-833FBC54C58F)
  142. , hidden
  143. , helpstring("Definition of dispinterface DILogFileItem")
  144. ]
  145. dispinterface DILogFileItem
  146. {
  147. interface ILogFileItem;
  148. }
  149. //
  150. // IID_ILogFiles
  151. //
  152. [
  153. uuid(6A2A97E6-6851-41ea-87AD-2A8225335865),
  154. helpstring("Log file collection"),
  155. dual,
  156. hidden,
  157. odl
  158. ]
  159. interface ILogFiles : IDispatch
  160. {
  161. [propget]
  162. HRESULT Count([out,retval]long *pLong);
  163. [propget, restricted, id(DISPID_NEWENUM)]
  164. HRESULT _NewEnum([out,retval]IUnknown** ppIunk);
  165. [propget, id(DISPID_VALUE)]
  166. HRESULT Item([in]VARIANT index,[out,retval]DILogFileItem **ppI);
  167. HRESULT Add([in]BSTR pathname, [out,retval]DILogFileItem **ppI);
  168. HRESULT Remove([in]VARIANT index);
  169. }
  170. //
  171. // IID_ISystemMonitor
  172. //
  173. [
  174. uuid(194EB241-C32C-11cf-9398-00AA00A3DDEA)
  175. , helpstring("Definition of interface ISystemMonitor")
  176. , hidden
  177. , odl
  178. ]
  179. interface ISystemMonitor : IUnknown
  180. {
  181. //Properties
  182. [id(DISPID_APPEARANCE), propget, helpstring("The appearance.")]
  183. HRESULT Appearance([out, retval] INT *iAppearance);
  184. [id(DISPID_APPEARANCE), propput]
  185. HRESULT Appearance([in] INT iAppearance);
  186. [id(DISPID_BACKCOLOR), propget, helpstring("The background color.")]
  187. HRESULT BackColor([out, retval] OLE_COLOR *pColor);
  188. [id(DISPID_BACKCOLOR), propput]
  189. HRESULT BackColor([in] OLE_COLOR Color);
  190. [id(DISPID_BORDERSTYLE), propget, helpstring("The border style.")]
  191. HRESULT BorderStyle([out, retval] INT *iBorderStyle);
  192. [id(DISPID_BORDERSTYLE), propput]
  193. HRESULT BorderStyle([in] INT iBorderStyle);
  194. [id(DISPID_FORECOLOR), propget, helpstring("The foreground color.")]
  195. HRESULT ForeColor([out, retval] OLE_COLOR *pColor);
  196. [id(DISPID_FORECOLOR), propput]
  197. HRESULT ForeColor([in] OLE_COLOR Color);
  198. [id(DISPID_FONT), propget, helpstring("The font for all text.")]
  199. HRESULT Font([out,retval] IFontDisp **ppFont);
  200. [id(DISPID_FONT), propputref]
  201. HRESULT Font([in] IFontDisp *pFont);
  202. [id(DISPID_VALUE), propget, helpstring("The counter collection.")]
  203. HRESULT Counters([out, retval] ICounters **ppICounters);
  204. [id(DISPID_SYSMON_VERTICALGRID), propput, helpstring("Show vertical grid.")]
  205. HRESULT ShowVerticalGrid([in] boolean bState);
  206. [id(DISPID_SYSMON_VERTICALGRID), propget]
  207. HRESULT ShowVerticalGrid([out, retval] boolean *pbState);
  208. [id(DISPID_SYSMON_HORIZONTALGRID), propput, helpstring("Show horizontal grid.")]
  209. HRESULT ShowHorizontalGrid([in] boolean bState);
  210. [id(DISPID_SYSMON_HORIZONTALGRID), propget]
  211. HRESULT ShowHorizontalGrid([out, retval] boolean *pbState);
  212. [id(DISPID_SYSMON_LEGEND), propput, helpstring("Show counters legend.")]
  213. HRESULT ShowLegend([in] boolean bState);
  214. [id(DISPID_SYSMON_LEGEND), propget]
  215. HRESULT ShowLegend([out, retval] boolean *pbState);
  216. [id(DISPID_SYSMON_SCALELABELS), propput, helpstring("Show scale labels.")]
  217. HRESULT ShowScaleLabels([in] boolean bState);
  218. [id(DISPID_SYSMON_SCALELABELS), propget]
  219. HRESULT ShowScaleLabels([out, retval] boolean *pbState);
  220. [id(DISPID_SYSMON_VALUEBAR), propput, helpstring("Show value bar.")]
  221. HRESULT ShowValueBar([in] boolean bState);
  222. [id(DISPID_SYSMON_VALUEBAR), propget]
  223. HRESULT ShowValueBar([out, retval] boolean *pbState);
  224. [id(DISPID_SYSMON_MAXIMUMSCALE), propput, helpstring("Maximum scale value.")]
  225. HRESULT MaximumScale([in] INT iValue);
  226. [id(DISPID_SYSMON_MAXIMUMSCALE), propget]
  227. HRESULT MaximumScale([out, retval] INT *piValue);
  228. [id(DISPID_SYSMON_MINIMUMSCALE), propput, helpstring("Minimum scale value.")]
  229. HRESULT MinimumScale([in] INT iValue);
  230. [id(DISPID_SYSMON_MINIMUMSCALE), propget]
  231. HRESULT MinimumScale([out, retval] INT *piValue);
  232. [id(DISPID_SYSMON_UPDATEINTERVAL), propput, helpstring("Data sample interval.")]
  233. HRESULT UpdateInterval([in] FLOAT fValue);
  234. [id(DISPID_SYSMON_UPDATEINTERVAL), propget]
  235. HRESULT UpdateInterval([out, retval] FLOAT *pfValue);
  236. [id(DISPID_SYSMON_DISPLAYTYPE), propput, helpstring("Display type.")]
  237. HRESULT DisplayType([in] DisplayTypeConstants eDisplayType);
  238. [id(DISPID_SYSMON_DISPLAYTYPE), propget]
  239. HRESULT DisplayType([out, retval] DisplayTypeConstants *peDisplayType);
  240. [id(DISPID_SYSMON_MANUALUPDATE), propput, helpstring("Manual update.")]
  241. HRESULT ManualUpdate([in] boolean bState);
  242. [id(DISPID_SYSMON_MANUALUPDATE), propget]
  243. HRESULT ManualUpdate([out, retval] boolean *pbState);
  244. [id(DISPID_SYSMON_GRAPHTITLE), propput, helpstring("Graph title.")]
  245. HRESULT GraphTitle([in] BSTR bsTitle);
  246. [id(DISPID_SYSMON_GRAPHTITLE), propget]
  247. HRESULT GraphTitle([out, retval] BSTR *pbsTitle);
  248. [id(DISPID_SYSMON_YAXISLABEL), propput, helpstring("Y axis label.")]
  249. HRESULT YAxisLabel([in] BSTR bsTitle);
  250. [id(DISPID_SYSMON_YAXISLABEL), propget]
  251. HRESULT YAxisLabel([out, retval] BSTR *pbsTitle);
  252. //Beta 1: [id(13), propget, helpstring("Counter collection.")]
  253. [id(DISPID_SYSMON_COLLECTSAMPLE), helpstring("Collect sample for each counter.")]
  254. HRESULT CollectSample(void);
  255. [id(DISPID_SYSMON_UPDATEGRAPH), helpstring("Apply visual changes to graph.")]
  256. HRESULT UpdateGraph(void);
  257. [id(DISPID_SYSMON_BROWSECOUNTERS), helpstring("Display counter browser.")]
  258. HRESULT BrowseCounters(void);
  259. [id(DISPID_SYSMON_DISPLAYPROPERTIES), helpstring("Display properties.")]
  260. HRESULT DisplayProperties(void);
  261. [id(DISPID_SYSMON_COUNTER), hidden]
  262. HRESULT Counter([in] INT iIndex, [out] ICounterItem **ppICounter);
  263. [id(DISPID_SYSMON_ADDCOUNTER), hidden]
  264. HRESULT AddCounter([in] BSTR bsPath, [out] ICounterItem **ppICounter);
  265. [id(DISPID_SYSMON_DELETECOUNTER), hidden]
  266. HRESULT DeleteCounter([in] ICounterItem *pCtr);
  267. [id(DISPID_SYSMON_BACKCOLORCTL), propget, helpstring("Control panel background color.")]
  268. HRESULT BackColorCtl([out, retval] OLE_COLOR *pColor);
  269. [id(DISPID_SYSMON_BACKCOLORCTL), propput]
  270. HRESULT BackColorCtl([in] OLE_COLOR Color);
  271. [id(DISPID_SYSMON_LOGFILENAME), propput, helpstring("Log file name.")]
  272. HRESULT LogFileName([in] BSTR bsFileName);
  273. [id(DISPID_SYSMON_LOGFILENAME), propget]
  274. HRESULT LogFileName([out, retval] BSTR *bsFileName);
  275. [id(DISPID_SYSMON_LOGVIEWSTART), propput, helpstring("Start time of log file view.")]
  276. HRESULT LogViewStart([in] DATE StartTime);
  277. [id(DISPID_SYSMON_LOGVIEWSTART), propget]
  278. HRESULT LogViewStart([out, retval] DATE *StartTime);
  279. [id(DISPID_SYSMON_LOGVIEWSTOP), propput, helpstring("Stop time of log file view.")]
  280. HRESULT LogViewStop([in] DATE StopTime);
  281. [id(DISPID_SYSMON_LOGVIEWSTOP), propget]
  282. HRESULT LogViewStop([out, retval] DATE *StopTime);
  283. [id(DISPID_SYSMON_GRIDCOLOR), propget, helpstring("Graph grid color.")]
  284. HRESULT GridColor([out, retval] OLE_COLOR *pColor);
  285. [id(DISPID_SYSMON_GRIDCOLOR), propput]
  286. HRESULT GridColor([in] OLE_COLOR Color);
  287. [id(DISPID_SYSMON_TIMEBARCOLOR), propget, helpstring("Graph time bar color.")]
  288. HRESULT TimeBarColor([out, retval] OLE_COLOR *pColor);
  289. [id(DISPID_SYSMON_TIMEBARCOLOR), propput]
  290. HRESULT TimeBarColor([in] OLE_COLOR Color);
  291. [id(DISPID_SYSMON_HIGHLIGHT), propget, helpstring("Highlight the selected counter..")]
  292. HRESULT Highlight([out, retval] boolean *pbState);
  293. [id(DISPID_SYSMON_HIGHLIGHT), propput]
  294. HRESULT Highlight([in] boolean bState);
  295. [id(DISPID_SYSMON_TOOLBAR), propget, helpstring("Show the toolbar")]
  296. HRESULT ShowToolbar([out, retval] boolean *pbState);
  297. [id(DISPID_SYSMON_TOOLBAR), propput]
  298. HRESULT ShowToolbar([in] boolean bState);
  299. [id(DISPID_SYSMON_PASTE), helpstring("Paste Counters from clipboard.")]
  300. HRESULT Paste (void);
  301. [id(DISPID_SYSMON_COPY), helpstring("Copy Counters to clipboard.")]
  302. HRESULT Copy (void);
  303. [id(DISPID_SYSMON_RESET), helpstring("Delete all counters in the control.")]
  304. HRESULT Reset (void);
  305. [id(DISPID_SYSMON_READONLY), propput, helpstring("Disallow property modifications.")]
  306. HRESULT ReadOnly([in] boolean bState);
  307. [id(DISPID_SYSMON_READONLY), propget]
  308. HRESULT ReadOnly([out, retval] boolean *pbState);
  309. [id(DISPID_SYSMON_REPORTVALUETUPE), propput, helpstring("Report value.")]
  310. HRESULT ReportValueType([in] ReportValueTypeConstants eReportValueType);
  311. [id(DISPID_SYSMON_REPORTVALUETUPE), propget]
  312. HRESULT ReportValueType([out, retval] ReportValueTypeConstants *peReportValueType);
  313. [id(DISPID_SYSMON_MONITORDUPLICATEINSTANCES), propput, helpstring("Allow monitoring of duplicate counter instances.")]
  314. HRESULT MonitorDuplicateInstances([in] boolean bState);
  315. [id(DISPID_SYSMON_MONITORDUPLICATEINSTANCES), propget]
  316. HRESULT MonitorDuplicateInstances([out, retval] boolean* pbState);
  317. [id(DISPID_SYSMON_DISPLAYFILTER), propput, helpstring("Number of samples per display interval.")]
  318. HRESULT DisplayFilter([in] INT iValue);
  319. [id(DISPID_SYSMON_DISPLAYFILTER), propget]
  320. HRESULT DisplayFilter([out, retval] INT* piValue);
  321. [id(DISPID_SYSMON_LOGFILES), propget, helpstring("The log file collection.")]
  322. HRESULT LogFiles([out, retval] ILogFiles** ppILogFiles);
  323. [id(DISPID_SYSMON_DATASOURCETYPE), propput, helpstring("Data source type.")]
  324. HRESULT DataSourceType([in] DataSourceTypeConstants eDataSourceType);
  325. [id(DISPID_SYSMON_DATASOURCETYPE), propget]
  326. HRESULT DataSourceType([out, retval] DataSourceTypeConstants *peDataSourceType);
  327. [id(DISPID_SYSMON_SQLDSNNAME), propput, helpstring("SQL DSN name.")]
  328. HRESULT SqlDsnName([in] BSTR bsSqlDsnName);
  329. [id(DISPID_SYSMON_SQLDSNNAME), propget]
  330. HRESULT SqlDsnName([out, retval] BSTR *bsSqlDsnName);
  331. [id(DISPID_SYSMON_SQLLOGSETNAME), propput, helpstring("SQL logset name.")]
  332. HRESULT SqlLogSetName([in] BSTR bsSqlLogSetName);
  333. [id(DISPID_SYSMON_SQLLOGSETNAME), propget]
  334. HRESULT SqlLogSetName([out, retval] BSTR *bsSqlLogSetName);
  335. }
  336. //
  337. //DIID_DISystemMonitorInternal
  338. //
  339. [
  340. uuid(194EB242-C32C-11cf-9398-00AA00A3DDEA)
  341. , hidden
  342. , helpstring("Definition of dispinterface DISystemMonitorInternal`")
  343. ]
  344. dispinterface DISystemMonitorInternal
  345. {
  346. interface ISystemMonitor;
  347. }
  348. //DIID_DISystemMonitor
  349. [
  350. uuid(13D73D81-C32E-11cf-9398-00AA00A3DDEA)
  351. , hidden
  352. , helpstring("Definition of dispinterface DISystemMonitor")
  353. ]
  354. dispinterface DISystemMonitor
  355. {
  356. properties:
  357. [id(DISPID_APPEARANCE), helpstring("The appearance.")]
  358. INT Appearance;
  359. [id(DISPID_BACKCOLOR), helpstring("The background color.")]
  360. OLE_COLOR BackColor;
  361. [id(DISPID_BORDERSTYLE), helpstring("The border style.")]
  362. INT BorderStyle;
  363. [id(DISPID_FORECOLOR), helpstring("The foreground color.")]
  364. OLE_COLOR ForeColor;
  365. [id(DISPID_FONT), helpstring("The font for all text.")]
  366. IFontDisp *Font;
  367. [id(DISPID_SYSMON_VERTICALGRID), helpstring("Show vertical grid.")]
  368. boolean ShowVerticalGrid;
  369. [id(DISPID_SYSMON_HORIZONTALGRID), helpstring("Show horizontal grid.")]
  370. boolean ShowHorizontalGrid;
  371. [id(DISPID_SYSMON_LEGEND), helpstring("Show counters legend.")]
  372. boolean ShowLegend;
  373. [id(DISPID_SYSMON_SCALELABELS), helpstring("Show scale labels.")]
  374. boolean ShowScaleLabels;
  375. [id(DISPID_SYSMON_VALUEBAR), helpstring("Show value bar.")]
  376. boolean ShowValueBar;
  377. [id(DISPID_SYSMON_MAXIMUMSCALE), helpstring("Maximum scale value.")]
  378. INT MaximumScale;
  379. [id(DISPID_SYSMON_MINIMUMSCALE), helpstring("Minimum scale value.")]
  380. INT MinimumScale;
  381. [id(DISPID_SYSMON_UPDATEINTERVAL), helpstring("Data sample interval.")]
  382. FLOAT UpdateInterval;
  383. [id(DISPID_SYSMON_DISPLAYTYPE), helpstring("Display type.")]
  384. DisplayTypeConstants DisplayType;
  385. [id(DISPID_SYSMON_MANUALUPDATE), helpstring("Manual update.")]
  386. boolean ManualUpdate;
  387. [id(DISPID_SYSMON_GRAPHTITLE), helpstring("Graph title.")]
  388. BSTR GraphTitle;
  389. [id(DISPID_SYSMON_YAXISLABEL), helpstring("Y axis label.")]
  390. BSTR YAxisLabel;
  391. [id(DISPID_VALUE), helpstring("The counter collection.")] ICounters *Counters;
  392. //[id(13)] ICounters *Counters;
  393. [id(DISPID_SYSMON_BACKCOLORCTL), helpstring("Control panel background color.")]
  394. OLE_COLOR BackColorCtl;
  395. [id(DISPID_SYSMON_LOGFILENAME), helpstring("Log file name.")]
  396. BSTR LogFileName;
  397. [id(DISPID_SYSMON_LOGVIEWSTART), helpstring("Start time of log file view.")]
  398. DATE LogViewStart;
  399. [id(DISPID_SYSMON_LOGVIEWSTOP), helpstring("Stop time of log file view.")]
  400. DATE LogViewStop;
  401. [id(DISPID_SYSMON_GRIDCOLOR), helpstring("Graph grid color.")]
  402. OLE_COLOR GridColor;
  403. [id(DISPID_SYSMON_TIMEBARCOLOR), helpstring("Graph time bar color.")]
  404. OLE_COLOR TimeBarColor;
  405. [id(DISPID_SYSMON_HIGHLIGHT), helpstring("Highlight the selected counter.")]
  406. boolean Highlight;
  407. [id(DISPID_SYSMON_TOOLBAR), helpstring("Show the toolbar")]
  408. boolean ShowToolbar;
  409. [id(DISPID_SYSMON_READONLY), helpstring("Disallow property modifications.")]
  410. boolean ReadOnly;
  411. [id(DISPID_SYSMON_REPORTVALUETUPE), helpstring("Report value.")]
  412. ReportValueTypeConstants ReportValueType;
  413. [id(DISPID_SYSMON_MONITORDUPLICATEINSTANCES),
  414. helpstring("Allow monitoring of duplicate counter instances.")]
  415. boolean MonitorDuplicateInstances;
  416. [id(DISPID_SYSMON_DISPLAYFILTER),
  417. helpstring("Number of samples per display interval.")]
  418. INT DisplayFilter;
  419. [id(DISPID_SYSMON_LOGFILES), helpstring("The log file collection.")]
  420. ILogFiles* LogFiles;
  421. [id(DISPID_SYSMON_DATASOURCETYPE), helpstring("Data source type.")]
  422. DataSourceTypeConstants DataSourceType;
  423. [id(DISPID_SYSMON_SQLDSNNAME), helpstring("SQL DSN name.")] BSTR SqlDsnName;
  424. [id(DISPID_SYSMON_SQLLOGSETNAME), helpstring("SQL logset name.")] BSTR SqlLogSetName;
  425. methods:
  426. [id(DISPID_SYSMON_COLLECTSAMPLE), helpstring("Collect sample for each counter.")]
  427. void CollectSample(void);
  428. [id(DISPID_SYSMON_UPDATEGRAPH), helpstring("Apply visual changes to graph.")]
  429. void UpdateGraph(void);
  430. [id(DISPID_SYSMON_BROWSECOUNTERS), helpstring("Display counter browser.")]
  431. void BrowseCounters(void);
  432. [id(DISPID_SYSMON_DISPLAYPROPERTIES), helpstring("Display properties.")]
  433. void DisplayProperties(void);
  434. /*
  435. [id(18), hidden]
  436. void Counter([in] INT iIndex, [out] ICounterItem **ppICounter);
  437. [id(19), hidden]
  438. void AddCounter([in] BSTR bsPath, [out] ICounterItem **ppICounter);
  439. [id(20), hidden]
  440. void DeleteCounter([in] ICounterItem *pCtr);
  441. */
  442. [id(DISPID_SYSMON_PASTE), helpstring("Paste Counters from clipboard.")]
  443. void Paste (void);
  444. [id(DISPID_SYSMON_COPY), helpstring("Copy Counters to clipboard.")]
  445. void Copy (void);
  446. [id(DISPID_SYSMON_RESET), helpstring("Delete all counters in the control.")]
  447. void Reset (void);
  448. }
  449. //IID_ISystemMonitorEvents
  450. [
  451. uuid(EE660EA0-4ABD-11cf-943A-008029004347)
  452. , helpstring("System Monitor Events")
  453. , odl
  454. ]
  455. interface ISystemMonitorEvents : IUnknown
  456. {
  457. [id(DISPID_SMONEVENT_COUNTERSELECTED), helpstring("A counter was selected.")]
  458. void OnCounterSelected([in] INT Index);
  459. [id(DISPID_SMONEVENT_COUNTERADDED), helpstring("A counter was added.")]
  460. void OnCounterAdded([in] INT Index);
  461. [id(DISPID_SMONEVENT_COUNTERDELETED), helpstring("A counter was deleted.")]
  462. void OnCounterDeleted([in] INT Index);
  463. [id(DISPID_SMONEVENT_SAMPLECOLLECTED),
  464. helpstring("A sample of all counter values was collected.")]
  465. void OnSampleCollected(void);
  466. [id(DISPID_SMONEVENT_DBLCLICK),
  467. helpstring("The left mouse button was double clicked.")]
  468. void OnDblClick([in] INT Index);
  469. }
  470. //
  471. // DIID_DISystemMonitorEvents
  472. //
  473. [
  474. uuid(84979930-4AB3-11cf-943A-008029004347)
  475. , helpstring("System Monitor Events")
  476. ]
  477. dispinterface DISystemMonitorEvents
  478. {
  479. properties:
  480. methods:
  481. [id(DISPID_SMONEVENT_COUNTERSELECTED), helpstring("A counter was selected.")]
  482. void OnCounterSelected([in] INT iIndex);
  483. [id(DISPID_SMONEVENT_COUNTERADDED), helpstring("A counter was added.")]
  484. void OnCounterAdded([in] INT iIndex);
  485. [id(DISPID_SMONEVENT_COUNTERDELETED), helpstring("A counter was deleted.")]
  486. void OnCounterDeleted([in] INT iIndex);
  487. [id(DISPID_SMONEVENT_SAMPLECOLLECTED),
  488. helpstring("A sample of all counter values was collected.")]
  489. void OnSampleCollected(void);
  490. [id(DISPID_SMONEVENT_DBLCLICK),
  491. helpstring("The left mouse button was double clicked.")]
  492. void OnDblClick([in ] INT Index);
  493. }
  494. //
  495. // CLSID_SystemMonitor
  496. //
  497. [
  498. uuid(C4D2D8E0-D1DD-11ce-940F-008029004347)
  499. , helpstring("System Monitor Control Type Information")
  500. , control
  501. ]
  502. coclass SystemMonitor
  503. {
  504. [default] dispinterface DISystemMonitor;
  505. interface ISystemMonitor;
  506. [default, source] dispinterface DISystemMonitorEvents;
  507. }
  508. //
  509. // CLSID_CounterItem
  510. //
  511. [
  512. uuid(C4D2D8E0-D1DD-11ce-940F-008029004348)
  513. , helpstring("System Monitor Counter Item Type Information")
  514. , control
  515. ]
  516. coclass CounterItem
  517. {
  518. [default] dispinterface DICounterItem;
  519. interface ICounterItem;
  520. }
  521. //
  522. // CLSID_Counters
  523. //
  524. [
  525. uuid(B2B066D2-2AAC-11cf-942F-008029004347)
  526. , helpstring("System Monitor Counter Collection Type Information")
  527. ]
  528. coclass Counters
  529. {
  530. interface ICounters;
  531. }
  532. //
  533. // CLSID_LogFileItem
  534. //
  535. [
  536. uuid(16EC5BE8-DF93-4237-94E4-9EE918111D71)
  537. , helpstring("System Monitor Log File Item Type Information")
  538. , control
  539. ]
  540. coclass LogFileItem
  541. {
  542. [default] dispinterface DILogFileItem;
  543. interface ILogFileItem;
  544. }
  545. //
  546. // CLSID_LogFiles
  547. //
  548. [
  549. uuid(2735D9FD-F6B9-4f19-A5D9-E2D068584BC5)
  550. , helpstring("System Monitor Log File Collection Type Information")
  551. ]
  552. coclass LogFiles
  553. {
  554. interface ILogFiles;
  555. }
  556. };