Communicating With Your Application
Typically, a provider provides data on behalf of an application. For example, a server might create a performance DLL to provide its counter data. Communication between an application and its provider differs for user-mode and kernel-mode applications. Providers execute 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, kernel-mode applications must provide an IOCTL interface that returns the performance data to the provider.