The Win32 SDK includes functions that let you set counters used by the Windows NT Performance Monitor. The Microsoft Exchange Server SDK includes functions for performance monitoring:
| Function | Action | When Called |
|---|---|---|
| HrMonInit | Begins monitoring | When the gateway starts |
| HrMonUninit | Ends monitoring | When the gateway exits |
| HrMonCollectNDRStats | Updates statistics for NDR messages | After processing an NDR message |
| HrMonCollectMessageXferStats | Updates statistics for message transfers | After transferring a message |
| HrMonCollectAssociationStats | Updates statistics for associations | After creating, deleting, or changing associations |
| HrMonLockCounters | Locks a set of counters against access by other threads | Before accessing a user-defined counter |
| HrMonUnlockCounters | Unlocks a set of counters | After accessing a user-defined counter |
These and other functions used for performance monitoring are supplied in the libraries EXCHINST.LIB, MONITOR.LIB, and STATS.LIB. See also HrInstallServicePerfMon, HrRemoveServicePerfMon, COUNTERDEF.