Some Windows platforms may generate perflib errors in the event log file relating to the use of performance counters. To suppress these errors, follow the commands described below.

The usual error in the event log is as follows:

vent ID: 1010

Detail Text:
The Collect Procedure for the (service name) service in DLL (DLL name) generated an exception or returned an invalid status. Performance data returned by counter DLL will not be returned in Perf Data Block. Exception or status code returned is DWORD 0.

Perflib calls the performance extension functions in a structured exception handler __try block. This is posted if an exception occurred or RaiseException was called in the Collect function. The data field will have the exception code. For example, C0000005 means there was an Access Violation.

Expertise: Developer of named extensible counter DLL

To suppress these error messages, edit the following key in the Windows Registry:

 HKEY_LOCAL_MACHINESoftwareMicrosoftWindows NTCurrentVersionPerflib

The value to modify is a REG_DWORD value called Configuration Flags.

If this value is not present, add it and select one of the following values:

0x01Do not test for data buffer alignment errors. Suppresses 1016 event.
0x02Do not disable DLLs when a critical error occurs but still post the events.
0x04Disable all perf counter function testing regardless of testing level.
0x08Enable the disabling of DLLs if timeouts are exceeded.
Normally only other critical errors would disable DLLs.
0x10Enable the collection of statistics for each performance DLL.
This is the default of Configuration Flags, if the value is not present.

The generally recommended value is 0x04 as this will generally cause perflib to ignore most errors and not stop the loading of performance counters after an error.

You can suppress additional logging entries by changing the following values in the KEY_LOCAL_MACHINESoftwareMicrosoftWindows NTCurrentVersionPerflib key:


1object and counter lengths are checked for consistency
2buffer overflows or guard pages are checked
3no checking is made but does not suppress exception handling


0no errors are reported
1user event log error messages (1000-1013)
2warnings and errors used for debugging (1000-2002)
3verbose, all information (1000-3000)


Set the EventLogLevel value to 0.

If you continue to encounter errors, contact uptime Support for further assistance.