Creating the Performance DLL

Your application's performance DLL defines the counter and object data structures that it uses to pass performance data to the performance monitor application. Your DLL also provides the following exported functions that are called by the system in response to requests for performance data.

Function Description
Open Initializes performance monitoring for the application.
Collect Reports performance data when requested.
Close Closes performance monitoring.

The prototypes for these functions, and the structures and constants used to define counters and counter objects, are defined in the WINPERF.H file distributed with the Platform SDK.

Communication between an application and its performance DLL differs for user-mode and privileged-mode applications. The application's performance DLL executes in user mode. Because of this, user-mode applications, such as print and display applications, can use any technique for interprocess communication, such as named pipes, file mapping, or RPC. However, privileged-mode applications must provide an IOCTL interface that returns the performance data to the performance DLL.