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

Data type Range Default value
REG_DWORD 1 | 2 | 3 | 4 4


Determines the extent to which Perflib tests the data buffers of trusted performance counter DLLs.

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 reenabled them.

Value Meaning
1 High. The Performance Library tests the pointers and buffers of returned by trusted counter DLLs thoroughly. To protect the user's buffer from damage, Perflib sends the function a copy of the buffer, instead of the actual buffer.
2 Medium. The Performance Library checks pointers and buffer length, but does not test pointer references or buffer contents. It sends the DLL function a copy of the user's buffer so the actual buffer is not damaged.
3 Low. The Performance Library does not test pointers or buffers. However, it does send the trusted counter function a copy of the user's buffer so the actual buffer is not damaged.
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 2000 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 2000.

Activation method

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

Note Image Note

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, 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 Configuration Flags. This bit prevents Perflib from disabling any counters that fail any tests. It is not specific to trusted counters or data buffer integrity tests.

Perflib disables 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 them manually by changing the value of Disable Performance Counters to 1.

This entry has a different effect on Windows 2000 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.

Windows 2000 does not add this entry to the registry. You can add it by editing the registry or by using a program that edits the registry.

Tip Image 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.

Related Entries

Page Image

Page Image

Page Image

Page Image