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
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:
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:
|0x01||Do not test for data buffer alignment errors. Suppresses 1016 event.|
|0x02||Do not disable DLLs when a critical error occurs but still post the events.|
|0x04||Disable all perf counter function testing regardless of testing level.|
|0x08||Enable the disabling of DLLs if timeouts are exceeded.|
Normally only other critical errors would disable DLLs.
|0x10||Enable 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.