Platform SDK: Performance Monitoring

Creating Other Registry Entries

To obtain the performance data for some applications (those that return counters using the DeviceIoControl function), it is necessary to use the CreateFile function to open the device associated with the application. In this case, the name specified in CreateFile must also be installed in the DOS Devices node of the registry, as shown here:

HKEY_LOCAL_MACHINE

\SYSTEM

\CurrentControlSet

\Control

\Session Manager

\DOS Devices

Applications that manage multiple device instances with performance data for each device must put a Linkage key in its Services key. The Linkage key contains an Export value whose data is a list of the device names. For example, a system with two Etherlink cards could have the following registry entries:

HKEY_LOCAL_MACHINE

\SYSTEM

\CurrentControlSet

\Services

\Elnkii

\Linkage

Export = "\Device\Elnk01" "\Device\Elnk02"

\Performance

Library = "ElnkStat.dll"

Open = "OpenElnkStats"

Collect = "GetElnkStats"

Close = "CloseElnkStats"

\Elnk01

\Linkage

\Parameters

\Elnk02

\Linkage

\Parameters

When the system calls the Open function in an application's performance DLL, its argument is a string containing the list of device names from the application's Export value, if it is present. The Open function can then use these names to determine the devices for which to collect performance data.