ExtCounterTestLevel

Applies To: Windows Server 2003, Windows Server 2003 R2, Windows Server 2003 with SP1, Windows Server 2003 with SP2

HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib

Data type Range Default value

REG_DWORD

1 | 2 | 3 | 4

4

Description

Specifies the extent to which Perflib tests the data buffers of a trusted performance counter dynamic-link library (DLL).

If a counter DLL fails the buffer integrity test specified by the value of this entry, then, by default, Perflib records an error in the Application Log (Source = Perflib) and disables the counters. Perflib does not load the counters again until you have manually re-enabled them.

Value Meaning

1

High. The Performance Library thoroughly tests the pointers and buffers of returned trusted counter DLLs. To protect the user's buffer from damage, Perflib sends the DLL function a copy of the buffer, instead of the actual buffer.

2

Medium. The Performance Library checks pointers and buffer length, but it does not test pointer references or buffer contents. To protect the user's buffer from damage, Perflib sends the DLL function a copy of the buffer, instead of the actual buffer.

3

Low. The Performance Library does not test pointers or buffers. To protect the user's buffer from damage, Perflib sends the DLL function a copy of the buffer, instead of the actual buffer.

4

None. The Performance Library does not test pointers or buffers, and it sends the user's buffer, not a copy. This value minimizes System Monitor overhead, especially when monitoring applications that require large performance data buffers.

Perflib tests the integrity of data buffers to identify and eliminate defective counter DLLs. One defective counter DLL can harm your Windows Server 2003 performance tools, preventing them from displaying any performance data and, in some cases, causing errors that shut down the system and start Dr. Watson for Windows.

This entry does not exist in the registry by default. You can add it by using the registry editor Regedit.exe.

Activation Method

To make changes to this entry effective, either restart the Remote Registry Service or restart Windows.

Notes

  • The data buffer integrity test is one of several Perflib run-time reliability tests. To configure the Perflib test feature, use the Configuration Flags entry.

  • If the 0x4 bit (100) is set in the value of Configuration Flags, then Perflib does not perform data buffer integrity tests on any counters, including trusted counters.

  • To prevent Perflib from disabling counters when they fail a test, set the 0x2 (10) bit in the value of the Configuration Flags entry. This bit prevents Perflib from disabling any counters that fail any tests. It is not specific to trusted counters or to data buffer integrity tests.

  • Perflib disables a counter by setting the value of Disable Performance Counters for that service to 1. After you have repaired or replaced the counter DLL, you must re-enable it manually by changing the value of Disable Performance Counters to 1.

  • This entry has a different effect on Windows 2000 and Windows Server 2003 than it has on Windows NT 4.0 and earlier. In Windows NT 4.0 and earlier, it determines the testing level for extensible counters. For more information, see Regentry.hlp in the Windows NT Resource Kit 4.0.

Tip

  • If a performance counter does not appear in your performance monitoring tool, check the Application Log in Event Viewer for events recorded by Perflib.

See Also

Concepts

Configuration Flags
EventLogLevel Entry
Library Validation Code
Disable Performance Counters