FIX: Corruption of the Perflib Registry Values

ID: Q128404


The information in this article applies to:
  • Microsoft Win32 Application Programming Interface (API), included with:
    • Microsoft Windows NT 3.5


SYMPTOMS

The Performance Monitoring tool can be affected by a corruption problem in the Perflib key. The following symptoms are evidence of this corruption problem:

  • The explain text is not displayed.

    -or-


  • The objects and counters are not displayed.

    -or-


  • The explain text, objects, and counters are not displayed.



CAUSE

When an .INI file, which contains an extra language entry not associated with any specific objects and counters, is passed as a parameter to LODCTR.EXE, the values of 'Last Counter' and 'Last Help' are set to zero. This in turn causes the Performance Monitoring tool to fail.

The following is an example of a problem-causing .INI file:


     [info]
     drivername=SampPerf
     symbolfile=sampperf.h

     [languages]
     009=English
     011=OtherLanguage  <-- problem area

     [text]
     SampObj_009_Name=SampPerf
     SampObj_009_Help=A sample performance object.

     Count_1_009_Name=Tests/sec
     Count_1_009_Help=The number of tests completed. 
A further complication arises when a user attempts to rectify the situation by executing UNLODCTR.EXE. At this point, because Last Counter and Last Help are set to zero, UNLODCTR.EXE only resets '\009\HELP' and '\009\COUNTER' to NULL.


RESOLUTION

To resolve this corruption problem, you must restore the Registry to its former state by using one of the following five methods:

  • Backup and restore the local copy of the Registry by using Windows NT Backup.

    -or-


  • Copy and restore the data located in the %WINNT%\SYSTEM32\CONFIG directory. This can be done only if Windows NT was installed on a FAT partition.

    -or-


  • Save and restore the SOFTWARE registry hive.

    -or-


  • Save and restore the Registry values First Counter, First Help, Last Counter, and Last Help.

    -or-


  • Save and restore the Registry by using REGBACK.EXE and REGREST.EXE. Both programs are available with the Windows NT Resource Kit (RESKIT).


If the user ran UNLODCTR.EXE to attempt to fix the problem, you will also need to restore \009\HELP and \009\COUNTER, which you can do by simply rebooting the computer running Windows NT.

WARNING: The Registry is a vital part of Windows NT; improper modification of its keys and values can cause Windows NT to malfunction.


STATUS

Microsoft has confirmed this to be a bug in the Microsoft products listed at the beginning of this article. This problem was corrected in Windows NT 3.51.

Additional query words: 3.50


Keywords          : 
Version           : winnt:3.5
Platform          : winnt 
Issue type        : 


Last Reviewed: October 19, 1999
© 1999 Microsoft Corporation. All rights reserved. Terms of Use.