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.

1582 lines
41 KiB

  1. //#---------------------------------------------------------------
  2. // File: smtpdata.h
  3. //
  4. // Synopsis: Constant data structures for the SMTP
  5. // Server's counter objects & counters.
  6. //
  7. // Copyright (C) 1995 Microsoft Corporation
  8. // All rights reserved.
  9. //
  10. // Authors: toddch - based on msn sources by rkamicar, keithmo
  11. //----------------------------------------------------------------
  12. #ifdef THISFILE
  13. #undef THISFILE
  14. #endif
  15. static const char __szTraceSourceFile[] = __FILE__;
  16. #define THISFILE __szTraceSourceFile
  17. #define NOTRACE
  18. #include <windows.h>
  19. #include <winperf.h>
  20. #include "smtpctrs.h"
  21. #include "smtpdata.h"
  22. //
  23. // Initialize the constant portitions of these data structure.
  24. // Certain parts (especially the name/help indices) will be
  25. // updated at initialization time.
  26. //
  27. SMTP_DATA_DEFINITION SmtpDataDefinition =
  28. {
  29. {
  30. sizeof(SMTP_DATA_DEFINITION) + // Total Length of at least one instance
  31. sizeof(SMTP_INSTANCE_DEFINITION) +
  32. SIZE_OF_SMTP_PERFORMANCE_DATA,
  33. sizeof(SMTP_DATA_DEFINITION), // Definition Length
  34. sizeof(PERF_OBJECT_TYPE), // Header Length
  35. SMTP_COUNTER_OBJECT, // Name Index into Title DB
  36. 0, // String
  37. SMTP_COUNTER_OBJECT, // Help Index into Title DB
  38. 0, // String
  39. PERF_DETAIL_ADVANCED,
  40. NUMBER_OF_SMTP_COUNTERS,
  41. 0, // Default
  42. PERF_NO_INSTANCES,
  43. 0, // UNICODE instance strings
  44. // These two aren't needed since
  45. // we're not a High Perf. Timer
  46. { 0, 0 }, // Sample Time in "Object" units
  47. { 0, 0 } // Freq. of "Object" units in hz.
  48. },
  49. { // SmtpBytesSentTtl
  50. sizeof(PERF_COUNTER_DEFINITION),
  51. SMTP_BYTES_SENT_TTL_COUNTER, // Name Index into Title DB
  52. 0, // String
  53. SMTP_BYTES_SENT_TTL_COUNTER, // Help Index into Title DB
  54. 0,
  55. -6, // Scale (1/10000)
  56. PERF_DETAIL_ADVANCED,
  57. PERF_COUNTER_LARGE_RAWCOUNT,
  58. sizeof(unsigned __int64),
  59. SMTP_BYTES_SENT_TTL_OFFSET
  60. },
  61. { // SmtpBytesSentPerSec
  62. sizeof(PERF_COUNTER_DEFINITION),
  63. SMTP_BYTES_SENT_PER_SEC_COUNTER,
  64. 0,
  65. SMTP_BYTES_SENT_PER_SEC_COUNTER,
  66. 0,
  67. -3,
  68. PERF_DETAIL_ADVANCED,
  69. PERF_COUNTER_BULK_COUNT,
  70. sizeof(unsigned __int64),
  71. SMTP_BYTES_SENT_PER_SEC_OFFSET
  72. },
  73. { // SmtpBytesRcvdTtl
  74. sizeof(PERF_COUNTER_DEFINITION),
  75. SMTP_BYTES_RCVD_TTL_COUNTER,
  76. 0,
  77. SMTP_BYTES_RCVD_TTL_COUNTER,
  78. 0,
  79. -6,
  80. PERF_DETAIL_ADVANCED,
  81. PERF_COUNTER_LARGE_RAWCOUNT,
  82. sizeof(unsigned __int64),
  83. SMTP_BYTES_RCVD_TTL_OFFSET
  84. },
  85. { // SmtpBytesRcvdPerSec
  86. sizeof(PERF_COUNTER_DEFINITION),
  87. SMTP_BYTES_RCVD_PER_SEC_COUNTER,
  88. 0,
  89. SMTP_BYTES_RCVD_PER_SEC_COUNTER,
  90. 0,
  91. -3, // Scale (1/1)
  92. PERF_DETAIL_ADVANCED,
  93. PERF_COUNTER_BULK_COUNT,
  94. sizeof(unsigned __int64),
  95. SMTP_BYTES_RCVD_PER_SEC_OFFSET
  96. },
  97. { // SmtpBytesTtl
  98. sizeof(PERF_COUNTER_DEFINITION),
  99. SMTP_BYTES_TTL_COUNTER,
  100. 0,
  101. SMTP_BYTES_TTL_COUNTER,
  102. 0,
  103. -6,
  104. PERF_DETAIL_ADVANCED,
  105. PERF_COUNTER_LARGE_RAWCOUNT,
  106. sizeof(unsigned __int64),
  107. SMTP_BYTES_TTL_OFFSET
  108. },
  109. { // SmtpBytesTtlPerSec
  110. sizeof(PERF_COUNTER_DEFINITION),
  111. SMTP_BYTES_TTL_PER_SEC_COUNTER,
  112. 0,
  113. SMTP_BYTES_TTL_PER_SEC_COUNTER,
  114. 0,
  115. -3,
  116. PERF_DETAIL_ADVANCED,
  117. PERF_COUNTER_BULK_COUNT,
  118. sizeof(unsigned __int64),
  119. SMTP_BYTES_TTL_PER_SEC_OFFSET
  120. },
  121. { // SmtpBytesSentMsg
  122. sizeof(PERF_COUNTER_DEFINITION),
  123. SMTP_BYTES_SENT_MSG_COUNTER, // Name Index into Title DB
  124. 0, // String
  125. SMTP_BYTES_SENT_MSG_COUNTER, // Help Index into Title DB
  126. 0,
  127. -6, // Scale (1/10000)
  128. PERF_DETAIL_ADVANCED,
  129. PERF_COUNTER_LARGE_RAWCOUNT,
  130. sizeof(unsigned __int64),
  131. SMTP_BYTES_SENT_MSG_OFFSET
  132. },
  133. { // SmtpBytesSentMsgPerSec
  134. sizeof(PERF_COUNTER_DEFINITION),
  135. SMTP_BYTES_SENT_MSG_PER_SEC_COUNTER,
  136. 0,
  137. SMTP_BYTES_SENT_MSG_PER_SEC_COUNTER,
  138. 0,
  139. -3,
  140. PERF_DETAIL_ADVANCED,
  141. PERF_COUNTER_BULK_COUNT,
  142. sizeof(unsigned __int64),
  143. SMTP_BYTES_SENT_MSG_PER_SEC_OFFSET
  144. },
  145. { // SmtpBytesRcvdMsg
  146. sizeof(PERF_COUNTER_DEFINITION),
  147. SMTP_BYTES_RCVD_MSG_COUNTER,
  148. 0,
  149. SMTP_BYTES_RCVD_MSG_COUNTER,
  150. 0,
  151. -6,
  152. PERF_DETAIL_ADVANCED,
  153. PERF_COUNTER_LARGE_RAWCOUNT,
  154. sizeof(unsigned __int64),
  155. SMTP_BYTES_RCVD_MSG_OFFSET
  156. },
  157. { // SmtpBytesRcvdMsgPerSec
  158. sizeof(PERF_COUNTER_DEFINITION),
  159. SMTP_BYTES_RCVD_MSG_PER_SEC_COUNTER,
  160. 0,
  161. SMTP_BYTES_RCVD_MSG_PER_SEC_COUNTER,
  162. 0,
  163. -3, // Scale (1/1)
  164. PERF_DETAIL_ADVANCED,
  165. PERF_COUNTER_BULK_COUNT,
  166. sizeof(unsigned __int64),
  167. SMTP_BYTES_RCVD_MSG_PER_SEC_OFFSET
  168. },
  169. { // SmtpBytesMsg
  170. sizeof(PERF_COUNTER_DEFINITION),
  171. SMTP_BYTES_MSG_COUNTER,
  172. 0,
  173. SMTP_BYTES_MSG_COUNTER,
  174. 0,
  175. -6,
  176. PERF_DETAIL_ADVANCED,
  177. PERF_COUNTER_LARGE_RAWCOUNT,
  178. sizeof(unsigned __int64),
  179. SMTP_BYTES_MSG_OFFSET
  180. },
  181. { // SmtpBytesMsgPerSec
  182. sizeof(PERF_COUNTER_DEFINITION),
  183. SMTP_BYTES_MSG_PER_SEC_COUNTER,
  184. 0,
  185. SMTP_BYTES_MSG_PER_SEC_COUNTER,
  186. 0,
  187. -3,
  188. PERF_DETAIL_ADVANCED,
  189. PERF_COUNTER_BULK_COUNT,
  190. sizeof(unsigned __int64),
  191. SMTP_BYTES_MSG_PER_SEC_OFFSET
  192. },
  193. { // SmtpMsgRcvdTtl
  194. sizeof(PERF_COUNTER_DEFINITION),
  195. SMTP_MSG_RCVD_TTL_COUNTER,
  196. 0,
  197. SMTP_MSG_RCVD_TTL_COUNTER,
  198. 0,
  199. 0,
  200. PERF_DETAIL_ADVANCED,
  201. PERF_COUNTER_RAWCOUNT,
  202. sizeof(DWORD),
  203. SMTP_MSG_RCVD_TTL_OFFSET
  204. },
  205. { // SmtpMsgRcvdPerSec
  206. sizeof(PERF_COUNTER_DEFINITION),
  207. SMTP_MSG_RCVD_PER_SEC_COUNTER,
  208. 0,
  209. SMTP_MSG_RCVD_PER_SEC_COUNTER,
  210. 0,
  211. 0,
  212. PERF_DETAIL_ADVANCED,
  213. PERF_COUNTER_COUNTER,
  214. sizeof(DWORD),
  215. SMTP_MSG_RCVD_PER_SEC_OFFSET
  216. },
  217. { // SmtpAvgRcptsPerMsgRcvd
  218. sizeof(PERF_COUNTER_DEFINITION),
  219. SMTP_AVG_RCPTS_PER_MSG_RCVD_COUNTER,
  220. 0,
  221. SMTP_AVG_RCPTS_PER_MSG_RCVD_COUNTER,
  222. 0,
  223. 0,
  224. PERF_DETAIL_ADVANCED,
  225. PERF_RAW_FRACTION,
  226. sizeof(DWORD),
  227. SMTP_AVG_RCPTS_PER_MSG_RCVD_OFFSET
  228. },
  229. { // SmtpBaseAvgRcptsPerMsgRcvd
  230. sizeof(PERF_COUNTER_DEFINITION),
  231. SMTP_BASE_AVG_RCPTS_PER_MSG_RCVD_COUNTER,
  232. 0,
  233. SMTP_BASE_AVG_RCPTS_PER_MSG_RCVD_COUNTER,
  234. 0,
  235. 0,
  236. PERF_DETAIL_ADVANCED,
  237. PERF_RAW_BASE,
  238. sizeof(DWORD),
  239. SMTP_BASE_AVG_RCPTS_PER_MSG_RCVD_OFFSET
  240. },
  241. { // SmtpPctLclRcptsPerMsgRcvd
  242. sizeof(PERF_COUNTER_DEFINITION),
  243. SMTP_PCT_LCL_RCPTS_PER_MSG_RCVD_COUNTER,
  244. 0,
  245. SMTP_PCT_LCL_RCPTS_PER_MSG_RCVD_COUNTER,
  246. 0,
  247. 0,
  248. PERF_DETAIL_ADVANCED,
  249. PERF_RAW_FRACTION,
  250. sizeof(DWORD),
  251. SMTP_PCT_LCL_RCPTS_PER_MSG_RCVD_OFFSET
  252. },
  253. { // SmtpBasePctLclRcptsPerMsgRcvd
  254. sizeof(PERF_COUNTER_DEFINITION),
  255. SMTP_BASE_PCT_LCL_RCPTS_PER_MSG_RCVD_COUNTER,
  256. 0,
  257. SMTP_BASE_PCT_LCL_RCPTS_PER_MSG_RCVD_COUNTER,
  258. 0,
  259. 0,
  260. PERF_DETAIL_ADVANCED,
  261. PERF_RAW_BASE,
  262. sizeof(DWORD),
  263. SMTP_BASE_PCT_LCL_RCPTS_PER_MSG_RCVD_OFFSET
  264. },
  265. { // SmtpPctRmtRcptsPerMsgRcvd
  266. sizeof(PERF_COUNTER_DEFINITION),
  267. SMTP_PCT_RMT_RCPTS_PER_MSG_RCVD_COUNTER,
  268. 0,
  269. SMTP_PCT_RMT_RCPTS_PER_MSG_RCVD_COUNTER,
  270. 0,
  271. 0,
  272. PERF_DETAIL_ADVANCED,
  273. PERF_RAW_FRACTION,
  274. sizeof(DWORD),
  275. SMTP_PCT_RMT_RCPTS_PER_MSG_RCVD_OFFSET
  276. },
  277. { // SmtpBasePctRmtRcptsPerMsgRcvd
  278. sizeof(PERF_COUNTER_DEFINITION),
  279. SMTP_BASE_PCT_RMT_RCPTS_PER_MSG_RCVD_COUNTER,
  280. 0,
  281. SMTP_BASE_PCT_RMT_RCPTS_PER_MSG_RCVD_COUNTER,
  282. 0,
  283. 0,
  284. PERF_DETAIL_ADVANCED,
  285. PERF_RAW_BASE,
  286. sizeof(DWORD),
  287. SMTP_BASE_PCT_RMT_RCPTS_PER_MSG_RCVD_OFFSET
  288. },
  289. { // SmtpMsgRcvdRefusedSize
  290. sizeof(PERF_COUNTER_DEFINITION),
  291. SMTP_MSG_RCVD_REFUSED_SIZE_COUNTER,
  292. 0,
  293. SMTP_MSG_RCVD_REFUSED_SIZE_COUNTER,
  294. 0,
  295. 0,
  296. PERF_DETAIL_ADVANCED,
  297. PERF_COUNTER_RAWCOUNT,
  298. sizeof(DWORD),
  299. SMTP_MSG_RCVD_REFUSED_SIZE_OFFSET
  300. },
  301. { // SmtpMsgRcvdRefusedCAddr
  302. sizeof(PERF_COUNTER_DEFINITION),
  303. SMTP_MSG_RCVD_REFUSED_CADDR_COUNTER,
  304. 0,
  305. SMTP_MSG_RCVD_REFUSED_CADDR_COUNTER,
  306. 0,
  307. 0,
  308. PERF_DETAIL_ADVANCED,
  309. PERF_COUNTER_RAWCOUNT,
  310. sizeof(DWORD),
  311. SMTP_MSG_RCVD_REFUSED_CADDR_OFFSET
  312. },
  313. { // SmtpMsgRcvdRefusedMail
  314. sizeof(PERF_COUNTER_DEFINITION),
  315. SMTP_MSG_RCVD_REFUSED_MAIL_COUNTER,
  316. 0,
  317. SMTP_MSG_RCVD_REFUSED_MAIL_COUNTER,
  318. 0,
  319. 0,
  320. PERF_DETAIL_ADVANCED,
  321. PERF_COUNTER_RAWCOUNT,
  322. sizeof(DWORD),
  323. SMTP_MSG_RCVD_REFUSED_MAIL_OFFSET
  324. },
  325. { // SmtpMsgDlvrTtl
  326. sizeof(PERF_COUNTER_DEFINITION),
  327. SMTP_MSG_DLVR_TTL_COUNTER,
  328. 0,
  329. SMTP_MSG_DLVR_TTL_COUNTER,
  330. 0,
  331. 0,
  332. PERF_DETAIL_ADVANCED,
  333. PERF_COUNTER_RAWCOUNT,
  334. sizeof(DWORD),
  335. SMTP_MSG_DLVR_TTL_OFFSET
  336. },
  337. { // SmtpMsgDlvrPerSec
  338. sizeof(PERF_COUNTER_DEFINITION),
  339. SMTP_MSG_DLVR_PER_SEC_COUNTER,
  340. 0,
  341. SMTP_MSG_DLVR_PER_SEC_COUNTER,
  342. 0,
  343. 0,
  344. PERF_DETAIL_ADVANCED,
  345. PERF_COUNTER_COUNTER,
  346. sizeof(DWORD),
  347. SMTP_MSG_DLVR_PER_SEC_OFFSET
  348. },
  349. { // SmtpMsgDlvrRetriesTtl
  350. sizeof(PERF_COUNTER_DEFINITION),
  351. SMTP_MSG_DLVR_RETRIES_TTL_COUNTER,
  352. 0,
  353. SMTP_MSG_DLVR_RETRIES_TTL_COUNTER,
  354. 0,
  355. 0,
  356. PERF_DETAIL_ADVANCED,
  357. PERF_COUNTER_RAWCOUNT,
  358. sizeof(DWORD),
  359. SMTP_MSG_DLVR_RETRIES_TTL_OFFSET
  360. },
  361. { // SmtpAvgRetriesPerMsgDlvr
  362. sizeof(PERF_COUNTER_DEFINITION),
  363. SMTP_AVG_RETRIES_PER_MSG_DLVR_COUNTER,
  364. 0,
  365. SMTP_AVG_RETRIES_PER_MSG_DLVR_COUNTER,
  366. 0,
  367. 0,
  368. PERF_DETAIL_ADVANCED,
  369. PERF_RAW_FRACTION,
  370. sizeof(DWORD),
  371. SMTP_AVG_RETRIES_PER_MSG_DLVR_OFFSET
  372. },
  373. { // SmtpBaseAvgRetriesPerMsgDlvr
  374. sizeof(PERF_COUNTER_DEFINITION),
  375. SMTP_BASE_AVG_RETRIES_PER_MSG_DLVR_COUNTER,
  376. 0,
  377. SMTP_BASE_AVG_RETRIES_PER_MSG_DLVR_COUNTER,
  378. 0,
  379. 0,
  380. PERF_DETAIL_ADVANCED,
  381. PERF_RAW_BASE,
  382. sizeof(DWORD),
  383. SMTP_BASE_AVG_RETRIES_PER_MSG_DLVR_OFFSET
  384. },
  385. { // SmtpMsgFwdTtl
  386. sizeof(PERF_COUNTER_DEFINITION),
  387. SMTP_MSG_FWD_TTL_COUNTER,
  388. 0,
  389. SMTP_MSG_FWD_TTL_COUNTER,
  390. 0,
  391. 0,
  392. PERF_DETAIL_ADVANCED,
  393. PERF_COUNTER_RAWCOUNT,
  394. sizeof(DWORD),
  395. SMTP_MSG_FWD_TTL_OFFSET
  396. },
  397. { // SmtpMsgFwdPerSec
  398. sizeof(PERF_COUNTER_DEFINITION),
  399. SMTP_MSG_FWD_PER_SEC_COUNTER,
  400. 0,
  401. SMTP_MSG_FWD_PER_SEC_COUNTER,
  402. 0,
  403. 0,
  404. PERF_DETAIL_ADVANCED,
  405. PERF_COUNTER_COUNTER,
  406. sizeof(DWORD),
  407. SMTP_MSG_FWD_PER_SEC_OFFSET
  408. },
  409. { // SmtpNdrGenerated
  410. sizeof(PERF_COUNTER_DEFINITION),
  411. SMTP_NDR_GENERATED_COUNTER,
  412. 0,
  413. SMTP_NDR_GENERATED_COUNTER,
  414. 0,
  415. 0,
  416. PERF_DETAIL_ADVANCED,
  417. PERF_COUNTER_RAWCOUNT,
  418. sizeof(DWORD),
  419. SMTP_NDR_GENERATED_OFFSET
  420. },
  421. { // SmtpLocalQLength
  422. sizeof(PERF_COUNTER_DEFINITION),
  423. SMTP_LOCALQ_LENGTH_COUNTER,
  424. 0,
  425. SMTP_LOCALQ_LENGTH_COUNTER,
  426. 0,
  427. 0,
  428. PERF_DETAIL_ADVANCED,
  429. PERF_COUNTER_RAWCOUNT,
  430. sizeof(DWORD),
  431. SMTP_LOCALQ_LENGTH_OFFSET
  432. },
  433. { // SmtpRetryQLength
  434. sizeof(PERF_COUNTER_DEFINITION),
  435. SMTP_RETRYQ_LENGTH_COUNTER,
  436. 0,
  437. SMTP_RETRYQ_LENGTH_COUNTER,
  438. 0,
  439. 0,
  440. PERF_DETAIL_ADVANCED,
  441. PERF_COUNTER_RAWCOUNT,
  442. sizeof(DWORD),
  443. SMTP_RETRYQ_LENGTH_OFFSET
  444. },
  445. { // SmtpNumMailFileHandles
  446. sizeof(PERF_COUNTER_DEFINITION),
  447. SMTP_NUM_MAILFILE_HANDLES_COUNTER,
  448. 0,
  449. SMTP_NUM_MAILFILE_HANDLES_COUNTER,
  450. 0,
  451. 0,
  452. PERF_DETAIL_ADVANCED,
  453. PERF_COUNTER_RAWCOUNT,
  454. sizeof(DWORD),
  455. SMTP_NUM_MAILFILE_HANDLES_OFFSET
  456. },
  457. { // SmtpNumQueueFileHandles
  458. sizeof(PERF_COUNTER_DEFINITION),
  459. SMTP_NUM_QUEUEFILE_HANDLES_COUNTER,
  460. 0,
  461. SMTP_NUM_QUEUEFILE_HANDLES_COUNTER,
  462. 0,
  463. 0,
  464. PERF_DETAIL_ADVANCED,
  465. PERF_COUNTER_RAWCOUNT,
  466. sizeof(DWORD),
  467. SMTP_NUM_QUEUEFILE_HANDLES_OFFSET
  468. },
  469. { // SmtpCatQLength
  470. sizeof(PERF_COUNTER_DEFINITION),
  471. SMTP_CATQ_LENGTH_COUNTER,
  472. 0,
  473. SMTP_CATQ_LENGTH_COUNTER,
  474. 0,
  475. 0,
  476. PERF_DETAIL_ADVANCED,
  477. PERF_COUNTER_RAWCOUNT,
  478. sizeof(DWORD),
  479. SMTP_CATQ_LENGTH_OFFSET
  480. },
  481. { // SmtpMsgSentTtl
  482. sizeof(PERF_COUNTER_DEFINITION),
  483. SMTP_MSG_SENT_TTL_COUNTER,
  484. 0,
  485. SMTP_MSG_SENT_TTL_COUNTER,
  486. 0,
  487. 0,
  488. PERF_DETAIL_ADVANCED,
  489. PERF_COUNTER_RAWCOUNT,
  490. sizeof(DWORD),
  491. SMTP_MSG_SENT_TTL_OFFSET
  492. },
  493. { // SmtpMsgSentPerSec
  494. sizeof(PERF_COUNTER_DEFINITION),
  495. SMTP_MSG_SENT_PER_SEC_COUNTER,
  496. 0,
  497. SMTP_MSG_SENT_PER_SEC_COUNTER,
  498. 0,
  499. 0,
  500. PERF_DETAIL_ADVANCED,
  501. PERF_COUNTER_COUNTER,
  502. sizeof(DWORD),
  503. SMTP_MSG_SENT_PER_SEC_OFFSET
  504. },
  505. { // SmtpMsgSendRetriesTtl
  506. sizeof(PERF_COUNTER_DEFINITION),
  507. SMTP_MSG_SEND_RETRIES_TTL_COUNTER,
  508. 0,
  509. SMTP_MSG_SEND_RETRIES_TTL_COUNTER,
  510. 0,
  511. 0,
  512. PERF_DETAIL_ADVANCED,
  513. PERF_COUNTER_RAWCOUNT,
  514. sizeof(DWORD),
  515. SMTP_MSG_SEND_RETRIES_TTL_OFFSET
  516. },
  517. { // SmtpAvgRetriesPerMsgSend
  518. sizeof(PERF_COUNTER_DEFINITION),
  519. SMTP_AVG_RETRIES_PER_MSG_SEND_COUNTER,
  520. 0,
  521. SMTP_AVG_RETRIES_PER_MSG_SEND_COUNTER,
  522. 0,
  523. 0,
  524. PERF_DETAIL_ADVANCED,
  525. PERF_RAW_FRACTION,
  526. sizeof(DWORD),
  527. SMTP_AVG_RETRIES_PER_MSG_SEND_OFFSET
  528. },
  529. { // SmtpBaseAvgRetriesPerMsgSend
  530. sizeof(PERF_COUNTER_DEFINITION),
  531. SMTP_BASE_AVG_RETRIES_PER_MSG_SEND_COUNTER,
  532. 0,
  533. SMTP_BASE_AVG_RETRIES_PER_MSG_SEND_COUNTER,
  534. 0,
  535. 0,
  536. PERF_DETAIL_ADVANCED,
  537. PERF_RAW_BASE,
  538. sizeof(DWORD),
  539. SMTP_BASE_AVG_RETRIES_PER_MSG_SEND_OFFSET
  540. },
  541. { // SmtpAvgRcptsPerMsgSent
  542. sizeof(PERF_COUNTER_DEFINITION),
  543. SMTP_AVG_RCPTS_PER_MSG_SENT_COUNTER,
  544. 0,
  545. SMTP_AVG_RCPTS_PER_MSG_SENT_COUNTER,
  546. 0,
  547. 0,
  548. PERF_DETAIL_ADVANCED,
  549. PERF_RAW_FRACTION,
  550. sizeof(DWORD),
  551. SMTP_AVG_RCPTS_PER_MSG_SENT_OFFSET
  552. },
  553. { // SmtpBaseAvgRcptsPerMsgSent
  554. sizeof(PERF_COUNTER_DEFINITION),
  555. SMTP_BASE_AVG_RCPTS_PER_MSG_SENT_COUNTER,
  556. 0,
  557. SMTP_BASE_AVG_RCPTS_PER_MSG_SENT_COUNTER,
  558. 0,
  559. 0,
  560. PERF_DETAIL_ADVANCED,
  561. PERF_RAW_BASE,
  562. sizeof(DWORD),
  563. SMTP_BASE_AVG_RCPTS_PER_MSG_SENT_OFFSET
  564. },
  565. { // SmtpRemoteQLength
  566. sizeof(PERF_COUNTER_DEFINITION),
  567. SMTP_REMOTEQ_LENGTH_COUNTER,
  568. 0,
  569. SMTP_REMOTEQ_LENGTH_COUNTER,
  570. 0,
  571. 0,
  572. PERF_DETAIL_ADVANCED,
  573. PERF_COUNTER_RAWCOUNT,
  574. sizeof(DWORD),
  575. SMTP_REMOTEQ_LENGTH_OFFSET
  576. },
  577. { // SmtpDnsQueriesTtl
  578. sizeof(PERF_COUNTER_DEFINITION),
  579. SMTP_DNS_QUERIES_TTL_COUNTER,
  580. 0,
  581. SMTP_DNS_QUERIES_TTL_COUNTER,
  582. 0,
  583. 0,
  584. PERF_DETAIL_ADVANCED,
  585. PERF_COUNTER_RAWCOUNT,
  586. sizeof(DWORD),
  587. SMTP_DNS_QUERIES_TTL_OFFSET
  588. },
  589. { // SmtpDnsQueriesPerSec
  590. sizeof(PERF_COUNTER_DEFINITION),
  591. SMTP_DNS_QUERIES_PER_SEC_COUNTER,
  592. 0,
  593. SMTP_DNS_QUERIES_PER_SEC_COUNTER,
  594. 0,
  595. 0,
  596. PERF_DETAIL_ADVANCED,
  597. PERF_COUNTER_COUNTER,
  598. sizeof(DWORD),
  599. SMTP_DNS_QUERIES_PER_SEC_OFFSET
  600. },
  601. { // SmtpRemoteRetryQueueLemgth
  602. sizeof(PERF_COUNTER_DEFINITION),
  603. SMTP_REMOTE_RETRY_QUEUE_LENGTH_COUNTER,
  604. 0,
  605. SMTP_REMOTE_RETRY_QUEUE_LENGTH_COUNTER,
  606. 0,
  607. 0,
  608. PERF_DETAIL_ADVANCED,
  609. PERF_COUNTER_RAWCOUNT,
  610. sizeof(DWORD),
  611. SMTP_REMOTE_RETRY_QUEUE_LENGTH_OFFSET
  612. },
  613. { // SmtpConnInTtl
  614. sizeof(PERF_COUNTER_DEFINITION),
  615. SMTP_CONN_IN_TTL_COUNTER,
  616. 0,
  617. SMTP_CONN_IN_TTL_COUNTER,
  618. 0,
  619. 0,
  620. PERF_DETAIL_ADVANCED,
  621. PERF_COUNTER_RAWCOUNT,
  622. sizeof(DWORD),
  623. SMTP_CONN_IN_TTL_OFFSET
  624. },
  625. { // SmtpConnInCurr
  626. sizeof(PERF_COUNTER_DEFINITION),
  627. SMTP_CONN_IN_CURR_COUNTER,
  628. 0,
  629. SMTP_CONN_IN_CURR_COUNTER,
  630. 0,
  631. 0,
  632. PERF_DETAIL_ADVANCED,
  633. PERF_COUNTER_RAWCOUNT,
  634. sizeof(DWORD),
  635. SMTP_CONN_IN_CURR_OFFSET
  636. },
  637. { // SmtpConnOutTtl
  638. sizeof(PERF_COUNTER_DEFINITION),
  639. SMTP_CONN_OUT_TTL_COUNTER,
  640. 0,
  641. SMTP_CONN_OUT_TTL_COUNTER,
  642. 0,
  643. 0,
  644. PERF_DETAIL_ADVANCED,
  645. PERF_COUNTER_RAWCOUNT,
  646. sizeof(DWORD),
  647. SMTP_CONN_OUT_TTL_OFFSET
  648. },
  649. { // SmtpConnOutCurr
  650. sizeof(PERF_COUNTER_DEFINITION),
  651. SMTP_CONN_OUT_CURR_COUNTER,
  652. 0,
  653. SMTP_CONN_OUT_CURR_COUNTER,
  654. 0,
  655. 0,
  656. PERF_DETAIL_ADVANCED,
  657. PERF_COUNTER_RAWCOUNT,
  658. sizeof(DWORD),
  659. SMTP_CONN_OUT_CURR_OFFSET
  660. },
  661. { // SmtpConnOutRefused
  662. sizeof(PERF_COUNTER_DEFINITION),
  663. SMTP_CONN_OUT_REFUSED_COUNTER,
  664. 0,
  665. SMTP_CONN_OUT_REFUSED_COUNTER,
  666. 0,
  667. 0,
  668. PERF_DETAIL_ADVANCED,
  669. PERF_COUNTER_RAWCOUNT,
  670. sizeof(DWORD),
  671. SMTP_CONN_OUT_REFUSED_OFFSET
  672. },
  673. { // SmtpErrTtl
  674. sizeof(PERF_COUNTER_DEFINITION),
  675. SMTP_ERR_TTL_COUNTER,
  676. 0,
  677. SMTP_ERR_TTL_COUNTER,
  678. 0,
  679. 0,
  680. PERF_DETAIL_ADVANCED,
  681. PERF_COUNTER_RAWCOUNT,
  682. sizeof(DWORD),
  683. SMTP_ERR_TTL_OFFSET
  684. },
  685. { // SmtpErrPerSec
  686. sizeof(PERF_COUNTER_DEFINITION),
  687. SMTP_ERR_PER_SEC_COUNTER,
  688. 0,
  689. SMTP_ERR_PER_SEC_COUNTER,
  690. 0,
  691. 0,
  692. PERF_DETAIL_ADVANCED,
  693. PERF_COUNTER_COUNTER,
  694. sizeof(DWORD),
  695. SMTP_ERR_PER_SEC_OFFSET
  696. },
  697. { // SmtpDirectoryDropsTtl
  698. sizeof(PERF_COUNTER_DEFINITION),
  699. SMTP_DIR_DROPS_TTL_COUNTER,
  700. 0,
  701. SMTP_DIR_DROPS_TTL_COUNTER,
  702. 0,
  703. 0,
  704. PERF_DETAIL_ADVANCED,
  705. PERF_COUNTER_RAWCOUNT,
  706. sizeof(DWORD),
  707. SMTP_DIR_DROPS_OFFSET
  708. },
  709. { // SmtpDirectoryDropsPerSec
  710. sizeof(PERF_COUNTER_DEFINITION),
  711. SMTP_DIR_DROPS_PER_SEC_COUNTER,
  712. 0,
  713. SMTP_DIR_DROPS_PER_SEC_COUNTER,
  714. 0,
  715. 0,
  716. PERF_DETAIL_ADVANCED,
  717. PERF_COUNTER_COUNTER,
  718. sizeof(DWORD),
  719. SMTP_DIR_DROPS_PER_SEC_OFFSET
  720. },
  721. { // SmtpRoutingTblLookupsTtl
  722. sizeof(PERF_COUNTER_DEFINITION),
  723. SMTP_RT_LOOKUPS_TTL_COUNTER,
  724. 0,
  725. SMTP_RT_LOOKUPS_TTL_COUNTER,
  726. 0,
  727. 0,
  728. PERF_DETAIL_ADVANCED,
  729. PERF_COUNTER_RAWCOUNT,
  730. sizeof(DWORD),
  731. SMTP_RT_LOOKUPS_OFFSET
  732. },
  733. { // SmtpRoutingTblLookupsPerSec
  734. sizeof(PERF_COUNTER_DEFINITION),
  735. SMTP_RT_LOOKUPS_PER_SEC_COUNTER,
  736. 0,
  737. SMTP_RT_LOOKUPS_PER_SEC_COUNTER,
  738. 0,
  739. 0,
  740. PERF_DETAIL_ADVANCED,
  741. PERF_COUNTER_COUNTER,
  742. sizeof(DWORD),
  743. SMTP_RT_LOOKUPS_PER_SEC_OFFSET
  744. },
  745. { // SmtpETRNMsgsTtl
  746. sizeof(PERF_COUNTER_DEFINITION),
  747. SMTP_ETRN_MSGS_TTL_COUNTER,
  748. 0,
  749. SMTP_ETRN_MSGS_TTL_COUNTER,
  750. 0,
  751. 0,
  752. PERF_DETAIL_ADVANCED,
  753. PERF_COUNTER_RAWCOUNT,
  754. sizeof(DWORD),
  755. SMTP_ETRN_MSGS_OFFSET
  756. },
  757. { // SmtpETRNMsgsPerSec
  758. sizeof(PERF_COUNTER_DEFINITION),
  759. SMTP_ETRN_MSGS_PER_SEC_COUNTER,
  760. 0,
  761. SMTP_ETRN_MSGS_PER_SEC_COUNTER,
  762. 0,
  763. 0,
  764. PERF_DETAIL_ADVANCED,
  765. PERF_COUNTER_COUNTER,
  766. sizeof(DWORD),
  767. SMTP_ETRN_MSGS_PER_SEC_OFFSET
  768. },
  769. {
  770. sizeof(PERF_COUNTER_DEFINITION),
  771. SMTP_MSG_BADMAIL_NO_RECIPIENTS_COUNTER,
  772. 0,
  773. SMTP_MSG_BADMAIL_NO_RECIPIENTS_COUNTER,
  774. 0,
  775. 0,
  776. PERF_DETAIL_ADVANCED,
  777. PERF_COUNTER_RAWCOUNT,
  778. sizeof(DWORD),
  779. SMTP_MSG_BADMAIL_NO_RECIPIENTS_OFFSET
  780. },
  781. {
  782. sizeof(PERF_COUNTER_DEFINITION),
  783. SMTP_MSG_BADMAIL_HOP_COUNT_EXCEEDED_COUNTER,
  784. 0,
  785. SMTP_MSG_BADMAIL_HOP_COUNT_EXCEEDED_COUNTER,
  786. 0,
  787. 0,
  788. PERF_DETAIL_ADVANCED,
  789. PERF_COUNTER_RAWCOUNT,
  790. sizeof(DWORD),
  791. SMTP_MSG_BADMAIL_HOP_COUNT_EXCEEDED_OFFSET
  792. },
  793. {
  794. sizeof(PERF_COUNTER_DEFINITION),
  795. SMTP_MSG_BADMAIL_FAILURE_GENERAL_COUNTER,
  796. 0,
  797. SMTP_MSG_BADMAIL_FAILURE_GENERAL_COUNTER,
  798. 0,
  799. 0,
  800. PERF_DETAIL_ADVANCED,
  801. PERF_COUNTER_RAWCOUNT,
  802. sizeof(DWORD),
  803. SMTP_MSG_BADMAIL_FAILURE_GENERAL_OFFSET
  804. },
  805. {
  806. sizeof(PERF_COUNTER_DEFINITION),
  807. SMTP_MSG_BADMAIL_BAD_PICKUP_FILE_COUNTER,
  808. 0,
  809. SMTP_MSG_BADMAIL_BAD_PICKUP_FILE_COUNTER,
  810. 0,
  811. 0,
  812. PERF_DETAIL_ADVANCED,
  813. PERF_COUNTER_RAWCOUNT,
  814. sizeof(DWORD),
  815. SMTP_MSG_BADMAIL_BAD_PICKUP_FILE_OFFSET
  816. },
  817. {
  818. sizeof(PERF_COUNTER_DEFINITION),
  819. SMTP_MSG_BADMAIL_EVENT_COUNTER,
  820. 0,
  821. SMTP_MSG_BADMAIL_EVENT_COUNTER,
  822. 0,
  823. 0,
  824. PERF_DETAIL_ADVANCED,
  825. PERF_COUNTER_RAWCOUNT,
  826. sizeof(DWORD),
  827. SMTP_MSG_BADMAIL_EVENT_OFFSET
  828. },
  829. {
  830. sizeof(PERF_COUNTER_DEFINITION),
  831. SMTP_MSG_BADMAIL_NDR_OF_DSN_COUNTER,
  832. 0,
  833. SMTP_MSG_BADMAIL_NDR_OF_DSN_COUNTER,
  834. 0,
  835. 0,
  836. PERF_DETAIL_ADVANCED,
  837. PERF_COUNTER_RAWCOUNT,
  838. sizeof(DWORD),
  839. SMTP_MSG_BADMAIL_NDR_OF_DSN_OFFSET
  840. },
  841. {
  842. sizeof(PERF_COUNTER_DEFINITION),
  843. SMTP_MSG_PENDING_ROUTING_COUNTER,
  844. 0,
  845. SMTP_MSG_PENDING_ROUTING_COUNTER,
  846. 0,
  847. 0,
  848. PERF_DETAIL_ADVANCED,
  849. PERF_COUNTER_RAWCOUNT,
  850. sizeof(DWORD),
  851. SMTP_MSG_PENDING_ROUTING_OFFSET
  852. },
  853. {
  854. sizeof(PERF_COUNTER_DEFINITION),
  855. SMTP_MSG_PENDING_UNREACHABLE_LINK_COUNTER,
  856. 0,
  857. SMTP_MSG_PENDING_UNREACHABLE_LINK_COUNTER,
  858. 0,
  859. 0,
  860. PERF_DETAIL_ADVANCED,
  861. PERF_COUNTER_RAWCOUNT,
  862. sizeof(DWORD),
  863. SMTP_MSG_PENDING_UNREACHABLE_LINK_OFFSET
  864. },
  865. {
  866. sizeof(PERF_COUNTER_DEFINITION),
  867. SMTP_SUBMITTED_MESSAGES_COUNTER,
  868. 0,
  869. SMTP_SUBMITTED_MESSAGES_COUNTER,
  870. 0,
  871. 0,
  872. PERF_DETAIL_ADVANCED,
  873. PERF_COUNTER_RAWCOUNT,
  874. sizeof(DWORD),
  875. SMTP_SUBMITTED_MESSAGES_OFFSET
  876. },
  877. {
  878. sizeof(PERF_COUNTER_DEFINITION),
  879. SMTP_DSN_FAILURES_COUNTER,
  880. 0,
  881. SMTP_DSN_FAILURES_COUNTER,
  882. 0,
  883. 0,
  884. PERF_DETAIL_ADVANCED,
  885. PERF_COUNTER_RAWCOUNT,
  886. sizeof(DWORD),
  887. SMTP_DSN_FAILURES_OFFSET
  888. },
  889. {
  890. sizeof(PERF_COUNTER_DEFINITION),
  891. SMTP_MSG_IN_LOCAL_DELIVERY_COUNTER,
  892. 0,
  893. SMTP_MSG_IN_LOCAL_DELIVERY_COUNTER,
  894. 0,
  895. 0,
  896. PERF_DETAIL_ADVANCED,
  897. PERF_COUNTER_RAWCOUNT,
  898. sizeof(DWORD),
  899. SMTP_MSG_IN_LOCAL_DELIVERY_OFFSET
  900. },
  901. { // CatSubmissions
  902. sizeof(PERF_COUNTER_DEFINITION),
  903. SMTP_CAT_SUBMISSIONS_COUNTER,
  904. 0,
  905. SMTP_CAT_SUBMISSIONS_COUNTER,
  906. 0,
  907. 0,
  908. PERF_DETAIL_ADVANCED,
  909. PERF_COUNTER_RAWCOUNT,
  910. sizeof(DWORD),
  911. SMTP_CATSUBMISSIONS_OFFSET
  912. },
  913. { // CatSubmissionsPerSec
  914. sizeof(PERF_COUNTER_DEFINITION),
  915. SMTP_CAT_SUBMISSIONS_PER_SEC_COUNTER,
  916. 0,
  917. SMTP_CAT_SUBMISSIONS_PER_SEC_COUNTER,
  918. 0,
  919. 0,
  920. PERF_DETAIL_ADVANCED,
  921. PERF_COUNTER_COUNTER,
  922. sizeof(DWORD),
  923. SMTP_CATSUBMISSIONS_OFFSET
  924. },
  925. { // CatCompletions
  926. sizeof(PERF_COUNTER_DEFINITION),
  927. SMTP_CAT_COMPLETIONS_COUNTER,
  928. 0,
  929. SMTP_CAT_COMPLETIONS_COUNTER,
  930. 0,
  931. 0,
  932. PERF_DETAIL_ADVANCED,
  933. PERF_COUNTER_RAWCOUNT,
  934. sizeof(DWORD),
  935. SMTP_CATCOMPLETIONS_OFFSET
  936. },
  937. { // CatCompletionsPerSec
  938. sizeof(PERF_COUNTER_DEFINITION),
  939. SMTP_CAT_COMPLETIONS_PER_SEC_COUNTER,
  940. 0,
  941. SMTP_CAT_COMPLETIONS_PER_SEC_COUNTER,
  942. 0,
  943. 0,
  944. PERF_DETAIL_ADVANCED,
  945. PERF_COUNTER_COUNTER,
  946. sizeof(DWORD),
  947. SMTP_CATCOMPLETIONS_OFFSET
  948. },
  949. { // CatCurrentCategorizations
  950. sizeof(PERF_COUNTER_DEFINITION),
  951. SMTP_CAT_CURRENT_CATEGORIZATIONS_COUNTER,
  952. 0,
  953. SMTP_CAT_CURRENT_CATEGORIZATIONS_COUNTER,
  954. 0,
  955. 0,
  956. PERF_DETAIL_ADVANCED,
  957. PERF_COUNTER_RAWCOUNT,
  958. sizeof(DWORD),
  959. SMTP_CURRENTCATEGORIZATIONS_OFFSET
  960. },
  961. { // CatSucceededCategorizations
  962. sizeof(PERF_COUNTER_DEFINITION),
  963. SMTP_CAT_SUCCEEDED_CATEGORIZATIONS_COUNTER,
  964. 0,
  965. SMTP_CAT_SUCCEEDED_CATEGORIZATIONS_COUNTER,
  966. 0,
  967. 0,
  968. PERF_DETAIL_ADVANCED,
  969. PERF_COUNTER_RAWCOUNT,
  970. sizeof(DWORD),
  971. SMTP_SUCCEEDEDCATEGORIZATIONS_OFFSET
  972. },
  973. { // CatHardFailures
  974. sizeof(PERF_COUNTER_DEFINITION),
  975. SMTP_CAT_HARD_FAILURES_COUNTER,
  976. 0,
  977. SMTP_CAT_HARD_FAILURES_COUNTER,
  978. 0,
  979. 0,
  980. PERF_DETAIL_ADVANCED,
  981. PERF_COUNTER_RAWCOUNT,
  982. sizeof(DWORD),
  983. SMTP_HARDFAILURECATEGORIZATIONS_OFFSET
  984. },
  985. { // CatRetryFailures
  986. sizeof(PERF_COUNTER_DEFINITION),
  987. SMTP_CAT_RETRY_FAILURES_COUNTER,
  988. 0,
  989. SMTP_CAT_RETRY_FAILURES_COUNTER,
  990. 0,
  991. 0,
  992. PERF_DETAIL_ADVANCED,
  993. PERF_COUNTER_RAWCOUNT,
  994. sizeof(DWORD),
  995. SMTP_RETRYFAILURECATEGORIZATIONS_OFFSET
  996. },
  997. { // CatOutOfMemoryFailures
  998. sizeof(PERF_COUNTER_DEFINITION),
  999. SMTP_CAT_RETRY_OUTOFMEMORY_COUNTER,
  1000. 0,
  1001. SMTP_CAT_RETRY_OUTOFMEMORY_COUNTER,
  1002. 0,
  1003. 0,
  1004. PERF_DETAIL_ADVANCED,
  1005. PERF_COUNTER_RAWCOUNT,
  1006. sizeof(DWORD),
  1007. SMTP_RETRYOUTOFMEMORY_OFFSET
  1008. },
  1009. { // CatDsLogonFailures
  1010. sizeof(PERF_COUNTER_DEFINITION),
  1011. SMTP_CAT_RETRY_DSLOGON_COUNTER,
  1012. 0,
  1013. SMTP_CAT_RETRY_DSLOGON_COUNTER,
  1014. 0,
  1015. 0,
  1016. PERF_DETAIL_ADVANCED,
  1017. PERF_COUNTER_RAWCOUNT,
  1018. sizeof(DWORD),
  1019. SMTP_RETRYDSLOGON_OFFSET
  1020. },
  1021. { // CatDsConnectionFailures
  1022. sizeof(PERF_COUNTER_DEFINITION),
  1023. SMTP_CAT_RETRY_DSCONNECTION_COUNTER,
  1024. 0,
  1025. SMTP_CAT_RETRY_DSCONNECTION_COUNTER,
  1026. 0,
  1027. 0,
  1028. PERF_DETAIL_ADVANCED,
  1029. PERF_COUNTER_RAWCOUNT,
  1030. sizeof(DWORD),
  1031. SMTP_RETRYDSCONNECTION_OFFSET
  1032. },
  1033. { // CatGenericRetryFailures
  1034. sizeof(PERF_COUNTER_DEFINITION),
  1035. SMTP_CAT_RETRY_GENERIC_COUNTER,
  1036. 0,
  1037. SMTP_CAT_RETRY_GENERIC_COUNTER,
  1038. 0,
  1039. 0,
  1040. PERF_DETAIL_ADVANCED,
  1041. PERF_COUNTER_RAWCOUNT,
  1042. sizeof(DWORD),
  1043. SMTP_RETRYDSLOGON_OFFSET
  1044. },
  1045. { // CatMsgsOut
  1046. sizeof(PERF_COUNTER_DEFINITION),
  1047. SMTP_CAT_MSGS_OUT_COUNTER,
  1048. 0,
  1049. SMTP_CAT_MSGS_OUT_COUNTER,
  1050. 0,
  1051. 0,
  1052. PERF_DETAIL_ADVANCED,
  1053. PERF_COUNTER_RAWCOUNT,
  1054. sizeof(DWORD),
  1055. SMTP_MESSAGESSUBMITTEDTOQUEUEING_OFFSET
  1056. },
  1057. { // CatMsgsCreated
  1058. sizeof(PERF_COUNTER_DEFINITION),
  1059. SMTP_CAT_MSGS_CREATED_COUNTER,
  1060. 0,
  1061. SMTP_CAT_MSGS_CREATED_COUNTER,
  1062. 0,
  1063. 0,
  1064. PERF_DETAIL_ADVANCED,
  1065. PERF_COUNTER_RAWCOUNT,
  1066. sizeof(DWORD),
  1067. SMTP_MESSAGESCREATED_OFFSET
  1068. },
  1069. { // CatMsgsAborted
  1070. sizeof(PERF_COUNTER_DEFINITION),
  1071. SMTP_CAT_MSGS_ABORTED_COUNTER,
  1072. 0,
  1073. SMTP_CAT_MSGS_ABORTED_COUNTER,
  1074. 0,
  1075. 0,
  1076. PERF_DETAIL_ADVANCED,
  1077. PERF_COUNTER_RAWCOUNT,
  1078. sizeof(DWORD),
  1079. SMTP_MESSAGESABORTED_OFFSET
  1080. },
  1081. { // CatRecipsPreCat
  1082. sizeof(PERF_COUNTER_DEFINITION),
  1083. SMTP_CAT_RECIPS_PRECAT_COUNTER,
  1084. 0,
  1085. SMTP_CAT_RECIPS_PRECAT_COUNTER,
  1086. 0,
  1087. 0,
  1088. PERF_DETAIL_ADVANCED,
  1089. PERF_COUNTER_RAWCOUNT,
  1090. sizeof(DWORD),
  1091. SMTP_PRECATRECIPIENTS_OFFSET
  1092. },
  1093. { // CatRecipsPostCat
  1094. sizeof(PERF_COUNTER_DEFINITION),
  1095. SMTP_CAT_RECIPS_POSTCAT_COUNTER,
  1096. 0,
  1097. SMTP_CAT_RECIPS_POSTCAT_COUNTER,
  1098. 0,
  1099. 0,
  1100. PERF_DETAIL_ADVANCED,
  1101. PERF_COUNTER_RAWCOUNT,
  1102. sizeof(DWORD),
  1103. SMTP_POSTCATRECIPIENTS_OFFSET
  1104. },
  1105. { // CatRecipsNDRd
  1106. sizeof(PERF_COUNTER_DEFINITION),
  1107. SMTP_CAT_RECIPS_NDRD_COUNTER,
  1108. 0,
  1109. SMTP_CAT_RECIPS_NDRD_COUNTER,
  1110. 0,
  1111. 0,
  1112. PERF_DETAIL_ADVANCED,
  1113. PERF_COUNTER_RAWCOUNT,
  1114. sizeof(DWORD),
  1115. SMTP_NDRDRECIPIENTS_OFFSET
  1116. },
  1117. { // CatRecipsUnresolved
  1118. sizeof(PERF_COUNTER_DEFINITION),
  1119. SMTP_CAT_RECIPS_UNRESOLVED_COUNTER,
  1120. 0,
  1121. SMTP_CAT_RECIPS_UNRESOLVED_COUNTER,
  1122. 0,
  1123. 0,
  1124. PERF_DETAIL_ADVANCED,
  1125. PERF_COUNTER_RAWCOUNT,
  1126. sizeof(DWORD),
  1127. SMTP_UNRESOLVEDRECIPIENTS_OFFSET
  1128. },
  1129. { // CatRecipsAmbiguous
  1130. sizeof(PERF_COUNTER_DEFINITION),
  1131. SMTP_CAT_RECIPS_AMBIGUOUS_COUNTER,
  1132. 0,
  1133. SMTP_CAT_RECIPS_AMBIGUOUS_COUNTER,
  1134. 0,
  1135. 0,
  1136. PERF_DETAIL_ADVANCED,
  1137. PERF_COUNTER_RAWCOUNT,
  1138. sizeof(DWORD),
  1139. SMTP_AMBIGUOUSRECIPIENTS_OFFSET
  1140. },
  1141. { // CatRecipsIllegal
  1142. sizeof(PERF_COUNTER_DEFINITION),
  1143. SMTP_CAT_RECIPS_ILLEGAL_COUNTER,
  1144. 0,
  1145. SMTP_CAT_RECIPS_ILLEGAL_COUNTER,
  1146. 0,
  1147. 0,
  1148. PERF_DETAIL_ADVANCED,
  1149. PERF_COUNTER_RAWCOUNT,
  1150. sizeof(DWORD),
  1151. SMTP_ILLEGALRECIPIENTS_OFFSET
  1152. },
  1153. { // CatRecipsLoop
  1154. sizeof(PERF_COUNTER_DEFINITION),
  1155. SMTP_CAT_RECIPS_LOOP_COUNTER,
  1156. 0,
  1157. SMTP_CAT_RECIPS_LOOP_COUNTER,
  1158. 0,
  1159. 0,
  1160. PERF_DETAIL_ADVANCED,
  1161. PERF_COUNTER_RAWCOUNT,
  1162. sizeof(DWORD),
  1163. SMTP_LOOPRECIPIENTS_OFFSET
  1164. },
  1165. { // CatRecipsGenericFailure
  1166. sizeof(PERF_COUNTER_DEFINITION),
  1167. SMTP_CAT_RECIPS_GENERICFAILURE_COUNTER,
  1168. 0,
  1169. SMTP_CAT_RECIPS_GENERICFAILURE_COUNTER,
  1170. 0,
  1171. 0,
  1172. PERF_DETAIL_ADVANCED,
  1173. PERF_COUNTER_RAWCOUNT,
  1174. sizeof(DWORD),
  1175. SMTP_GENERICFAILURERECIPIENTS_OFFSET
  1176. },
  1177. { // CatRecipsInMemory
  1178. sizeof(PERF_COUNTER_DEFINITION),
  1179. SMTP_CAT_RECIPS_INMEMORY_COUNTER,
  1180. 0,
  1181. SMTP_CAT_RECIPS_INMEMORY_COUNTER,
  1182. 0,
  1183. 0,
  1184. PERF_DETAIL_ADVANCED,
  1185. PERF_COUNTER_RAWCOUNT,
  1186. sizeof(DWORD),
  1187. SMTP_RECIPSINMEMORY_OFFSET
  1188. },
  1189. { // CatSendersUnresolved
  1190. sizeof(PERF_COUNTER_DEFINITION),
  1191. SMTP_CAT_SENDERS_UNRESOLVED_COUNTER,
  1192. 0,
  1193. SMTP_CAT_SENDERS_UNRESOLVED_COUNTER,
  1194. 0,
  1195. 0,
  1196. PERF_DETAIL_ADVANCED,
  1197. PERF_COUNTER_RAWCOUNT,
  1198. sizeof(DWORD),
  1199. SMTP_UNRESOLVEDSENDERS_OFFSET
  1200. },
  1201. { // CatSendersAmbiguous
  1202. sizeof(PERF_COUNTER_DEFINITION),
  1203. SMTP_CAT_SENDERS_AMBIGUOUS_COUNTER,
  1204. 0,
  1205. SMTP_CAT_SENDERS_AMBIGUOUS_COUNTER,
  1206. 0,
  1207. 0,
  1208. PERF_DETAIL_ADVANCED,
  1209. PERF_COUNTER_RAWCOUNT,
  1210. sizeof(DWORD),
  1211. SMTP_AMBIGUOUSSENDERS_OFFSET
  1212. },
  1213. { // CatAddressLookups
  1214. sizeof(PERF_COUNTER_DEFINITION),
  1215. SMTP_CAT_ADDRESS_LOOKUPS_COUNTER,
  1216. 0,
  1217. SMTP_CAT_ADDRESS_LOOKUPS_COUNTER,
  1218. 0,
  1219. 0,
  1220. PERF_DETAIL_ADVANCED,
  1221. PERF_COUNTER_RAWCOUNT,
  1222. sizeof(DWORD),
  1223. SMTP_ADDRESSLOOKUPS_OFFSET
  1224. },
  1225. { // CatAddressLookupsPerSec
  1226. sizeof(PERF_COUNTER_DEFINITION),
  1227. SMTP_CAT_ADDRESS_LOOKUPS_PER_SEC_COUNTER,
  1228. 0,
  1229. SMTP_CAT_ADDRESS_LOOKUPS_PER_SEC_COUNTER,
  1230. 0,
  1231. 0,
  1232. PERF_DETAIL_ADVANCED,
  1233. PERF_COUNTER_COUNTER,
  1234. sizeof(DWORD),
  1235. SMTP_ADDRESSLOOKUPS_OFFSET
  1236. },
  1237. { // CatAddressCompletions
  1238. sizeof(PERF_COUNTER_DEFINITION),
  1239. SMTP_CAT_ADDRESS_LOOKUP_COMPLETIONS_COUNTER,
  1240. 0,
  1241. SMTP_CAT_ADDRESS_LOOKUP_COMPLETIONS_COUNTER,
  1242. 0,
  1243. 0,
  1244. PERF_DETAIL_ADVANCED,
  1245. PERF_COUNTER_RAWCOUNT,
  1246. sizeof(DWORD),
  1247. SMTP_ADDRESSLOOKUPCOMPLETIONS_OFFSET
  1248. },
  1249. { // CatAddressCompletionsPerSec
  1250. sizeof(PERF_COUNTER_DEFINITION),
  1251. SMTP_CAT_ADDRESS_LOOKUP_COMPLETIONS_PER_SEC_COUNTER,
  1252. 0,
  1253. SMTP_CAT_ADDRESS_LOOKUP_COMPLETIONS_PER_SEC_COUNTER,
  1254. 0,
  1255. 0,
  1256. PERF_DETAIL_ADVANCED,
  1257. PERF_COUNTER_COUNTER,
  1258. sizeof(DWORD),
  1259. SMTP_ADDRESSLOOKUPCOMPLETIONS_OFFSET
  1260. },
  1261. { // CatAddressLookupsNotFound
  1262. sizeof(PERF_COUNTER_DEFINITION),
  1263. SMTP_CAT_ADDRESS_LOOKUPS_NOT_FOUND_COUNTER,
  1264. 0,
  1265. SMTP_CAT_ADDRESS_LOOKUPS_NOT_FOUND_COUNTER,
  1266. 0,
  1267. 0,
  1268. PERF_DETAIL_ADVANCED,
  1269. PERF_COUNTER_RAWCOUNT,
  1270. sizeof(DWORD),
  1271. SMTP_ADDRESSLOOKUPSNOTFOUND_OFFSET
  1272. },
  1273. { // CatMailMsgDuplicateCollisions
  1274. sizeof(PERF_COUNTER_DEFINITION),
  1275. SMTP_CAT_MAILMSG_DUPLICATE_COLLISIONS_COUNTER,
  1276. 0,
  1277. SMTP_CAT_MAILMSG_DUPLICATE_COLLISIONS_COUNTER,
  1278. 0,
  1279. 0,
  1280. PERF_DETAIL_ADVANCED,
  1281. PERF_COUNTER_RAWCOUNT,
  1282. sizeof(DWORD),
  1283. SMTP_MAILMSGDUPLICATECOLLISIONS_OFFSET
  1284. },
  1285. { // CatLDAPConnections
  1286. sizeof(PERF_COUNTER_DEFINITION),
  1287. SMTP_CAT_LDAP_CONNECTIONS_COUNTER,
  1288. 0,
  1289. SMTP_CAT_LDAP_CONNECTIONS_COUNTER,
  1290. 0,
  1291. 0,
  1292. PERF_DETAIL_ADVANCED,
  1293. PERF_COUNTER_RAWCOUNT,
  1294. sizeof(DWORD),
  1295. SMTP_CONNECTIONS_OFFSET
  1296. },
  1297. { // CatLDAPConnectionFailures
  1298. sizeof(PERF_COUNTER_DEFINITION),
  1299. SMTP_CAT_LDAP_CONNECTION_FAILURES_COUNTER,
  1300. 0,
  1301. SMTP_CAT_LDAP_CONNECTION_FAILURES_COUNTER,
  1302. 0,
  1303. 0,
  1304. PERF_DETAIL_ADVANCED,
  1305. PERF_COUNTER_RAWCOUNT,
  1306. sizeof(DWORD),
  1307. SMTP_CONNECTFAILURES_OFFSET
  1308. },
  1309. { // CatLDAPOpenConnections
  1310. sizeof(PERF_COUNTER_DEFINITION),
  1311. SMTP_CAT_LDAP_OPEN_CONNECTIONS_COUNTER,
  1312. 0,
  1313. SMTP_CAT_LDAP_OPEN_CONNECTIONS_COUNTER,
  1314. 0,
  1315. 0,
  1316. PERF_DETAIL_ADVANCED,
  1317. PERF_COUNTER_RAWCOUNT,
  1318. sizeof(DWORD),
  1319. SMTP_OPENCONNECTIONS_OFFSET
  1320. },
  1321. { // CatLDAPBinds
  1322. sizeof(PERF_COUNTER_DEFINITION),
  1323. SMTP_CAT_LDAP_BINDS_COUNTER,
  1324. 0,
  1325. SMTP_CAT_LDAP_BINDS_COUNTER,
  1326. 0,
  1327. 0,
  1328. PERF_DETAIL_ADVANCED,
  1329. PERF_COUNTER_RAWCOUNT,
  1330. sizeof(DWORD),
  1331. SMTP_BINDS_OFFSET
  1332. },
  1333. { // CatLDAPBindFailures
  1334. sizeof(PERF_COUNTER_DEFINITION),
  1335. SMTP_CAT_LDAP_BIND_FAILURES_COUNTER,
  1336. 0,
  1337. SMTP_CAT_LDAP_BIND_FAILURES_COUNTER,
  1338. 0,
  1339. 0,
  1340. PERF_DETAIL_ADVANCED,
  1341. PERF_COUNTER_RAWCOUNT,
  1342. sizeof(DWORD),
  1343. SMTP_BINDFAILURES_OFFSET
  1344. },
  1345. { // CatLDAPSearches
  1346. sizeof(PERF_COUNTER_DEFINITION),
  1347. SMTP_CAT_LDAP_SEARCHES_COUNTER,
  1348. 0,
  1349. SMTP_CAT_LDAP_SEARCHES_COUNTER,
  1350. 0,
  1351. 0,
  1352. PERF_DETAIL_ADVANCED,
  1353. PERF_COUNTER_RAWCOUNT,
  1354. sizeof(DWORD),
  1355. SMTP_SEARCHES_OFFSET
  1356. },
  1357. { // CatLDAPSearchesPerSec
  1358. sizeof(PERF_COUNTER_DEFINITION),
  1359. SMTP_CAT_LDAP_SEARCHES_PER_SEC_COUNTER,
  1360. 0,
  1361. SMTP_CAT_LDAP_SEARCHES_PER_SEC_COUNTER,
  1362. 0,
  1363. 0,
  1364. PERF_DETAIL_ADVANCED,
  1365. PERF_COUNTER_COUNTER,
  1366. sizeof(DWORD),
  1367. SMTP_SEARCHES_OFFSET
  1368. },
  1369. { // CatLDAPPagedSearches
  1370. sizeof(PERF_COUNTER_DEFINITION),
  1371. SMTP_CAT_LDAP_PAGED_SEARCHES_COUNTER,
  1372. 0,
  1373. SMTP_CAT_LDAP_PAGED_SEARCHES_COUNTER,
  1374. 0,
  1375. 0,
  1376. PERF_DETAIL_ADVANCED,
  1377. PERF_COUNTER_RAWCOUNT,
  1378. sizeof(DWORD),
  1379. SMTP_PAGEDSEARCHES_OFFSET
  1380. },
  1381. { // CatLDAPSearchFailures
  1382. sizeof(PERF_COUNTER_DEFINITION),
  1383. SMTP_CAT_LDAP_SEARCH_FAILURES_COUNTER,
  1384. 0,
  1385. SMTP_CAT_LDAP_SEARCH_FAILURES_COUNTER,
  1386. 0,
  1387. 0,
  1388. PERF_DETAIL_ADVANCED,
  1389. PERF_COUNTER_RAWCOUNT,
  1390. sizeof(DWORD),
  1391. SMTP_SEARCHFAILURES_OFFSET
  1392. },
  1393. { // CatLDAPPagedSearchFailures
  1394. sizeof(PERF_COUNTER_DEFINITION),
  1395. SMTP_CAT_LDAP_PAGED_SEARCH_FAILURES_COUNTER,
  1396. 0,
  1397. SMTP_CAT_LDAP_PAGED_SEARCH_FAILURES_COUNTER,
  1398. 0,
  1399. 0,
  1400. PERF_DETAIL_ADVANCED,
  1401. PERF_COUNTER_RAWCOUNT,
  1402. sizeof(DWORD),
  1403. SMTP_PAGEDSEARCHFAILURES_OFFSET
  1404. },
  1405. { // CatLDAPSearchesCompleted
  1406. sizeof(PERF_COUNTER_DEFINITION),
  1407. SMTP_CAT_LDAP_SEARCHES_COMPLETED_COUNTER,
  1408. 0,
  1409. SMTP_CAT_LDAP_SEARCHES_COMPLETED_COUNTER,
  1410. 0,
  1411. 0,
  1412. PERF_DETAIL_ADVANCED,
  1413. PERF_COUNTER_RAWCOUNT,
  1414. sizeof(DWORD),
  1415. SMTP_SEARCHESCOMPLETED_OFFSET
  1416. },
  1417. { // CatLDAPSearchesCompletedPerSec
  1418. sizeof(PERF_COUNTER_DEFINITION),
  1419. SMTP_CAT_LDAP_SEARCHES_COMPLETED_PER_SEC_COUNTER,
  1420. 0,
  1421. SMTP_CAT_LDAP_SEARCHES_COMPLETED_PER_SEC_COUNTER,
  1422. 0,
  1423. 0,
  1424. PERF_DETAIL_ADVANCED,
  1425. PERF_COUNTER_COUNTER,
  1426. sizeof(DWORD),
  1427. SMTP_SEARCHESCOMPLETED_OFFSET
  1428. },
  1429. { // CatLDAPPagedSearchesCompleted
  1430. sizeof(PERF_COUNTER_DEFINITION),
  1431. SMTP_CAT_LDAP_PAGED_SEARCHES_COMPLETED_COUNTER,
  1432. 0,
  1433. SMTP_CAT_LDAP_PAGED_SEARCHES_COMPLETED_COUNTER,
  1434. 0,
  1435. 0,
  1436. PERF_DETAIL_ADVANCED,
  1437. PERF_COUNTER_RAWCOUNT,
  1438. sizeof(DWORD),
  1439. SMTP_PAGEDSEARCHESCOMPLETED_OFFSET
  1440. },
  1441. { // CatLDAPSearchesCompeltedFailure
  1442. sizeof(PERF_COUNTER_DEFINITION),
  1443. SMTP_CAT_LDAP_SEARCHES_COMPLETED_FAILURE_COUNTER,
  1444. 0,
  1445. SMTP_CAT_LDAP_SEARCHES_COMPLETED_FAILURE_COUNTER,
  1446. 0,
  1447. 0,
  1448. PERF_DETAIL_ADVANCED,
  1449. PERF_COUNTER_RAWCOUNT,
  1450. sizeof(DWORD),
  1451. SMTP_SEARCHCOMPLETIONFAILURES_OFFSET
  1452. },
  1453. { // CatLDAPPagedSearchesCompletedFailure
  1454. sizeof(PERF_COUNTER_DEFINITION),
  1455. SMTP_CAT_LDAP_PAGED_SEARCHES_COMPLETED_FAILURE_COUNTER,
  1456. 0,
  1457. SMTP_CAT_LDAP_PAGED_SEARCHES_COMPLETED_FAILURE_COUNTER,
  1458. 0,
  1459. 0,
  1460. PERF_DETAIL_ADVANCED,
  1461. PERF_COUNTER_RAWCOUNT,
  1462. sizeof(DWORD),
  1463. SMTP_PAGEDSEARCHCOMPLETIONFAILURES_OFFSET
  1464. },
  1465. { // CatLDAPGeneralCompletionFailure
  1466. sizeof(PERF_COUNTER_DEFINITION),
  1467. SMTP_CAT_LDAP_GENERAL_COMPLETION_FAILURES_COUNTER,
  1468. 0,
  1469. SMTP_CAT_LDAP_GENERAL_COMPLETION_FAILURES_COUNTER,
  1470. 0,
  1471. 0,
  1472. PERF_DETAIL_ADVANCED,
  1473. PERF_COUNTER_RAWCOUNT,
  1474. sizeof(DWORD),
  1475. SMTP_GENERALCOMPLETIONFAILURES_OFFSET
  1476. },
  1477. { // CatLDAPAbandonedSearches
  1478. sizeof(PERF_COUNTER_DEFINITION),
  1479. SMTP_CAT_LDAP_ABANDONED_SEARCHES_COUNTER,
  1480. 0,
  1481. SMTP_CAT_LDAP_ABANDONED_SEARCHES_COUNTER,
  1482. 0,
  1483. 0,
  1484. PERF_DETAIL_ADVANCED,
  1485. PERF_COUNTER_RAWCOUNT,
  1486. sizeof(DWORD),
  1487. SMTP_ABANDONEDSEARCHES_OFFSET
  1488. },
  1489. { // CatLDAPPendingSearches
  1490. sizeof(PERF_COUNTER_DEFINITION),
  1491. SMTP_CAT_LDAP_PENDING_SEARCHES_COUNTER,
  1492. 0,
  1493. SMTP_CAT_LDAP_PENDING_SEARCHES_COUNTER,
  1494. 0,
  1495. 0,
  1496. PERF_DETAIL_ADVANCED,
  1497. PERF_COUNTER_RAWCOUNT,
  1498. sizeof(DWORD),
  1499. SMTP_PENDINGSEARCHES_OFFSET
  1500. }
  1501. };
  1502. // Initialize the Instance Data Structure. Parts will be updated at collection time.
  1503. SMTP_INSTANCE_DEFINITION SmtpInstanceDefinition =
  1504. {
  1505. {
  1506. sizeof(SMTP_INSTANCE_DEFINITION), // ByteLength
  1507. 0, // ParentObjectTitleIndex
  1508. 0, // ParentObjectInstance
  1509. PERF_NO_UNIQUE_ID, // UniqueID
  1510. sizeof(PERF_INSTANCE_DEFINITION), // OffsetToName
  1511. 0 // NameLength (will be updated)
  1512. }
  1513. };