FIX: Corruption of the Perflib Registry Values

Last reviewed: October 29, 1997
Article ID: Q128404
3.50 WINDOWS NT kbprg kbfixlist kbbuglist

The information in this article applies to:

  • Microsoft Win32 Application Programming Interface (API) included with:

        - Microsoft Windows NT version 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 reference words: 3.50
KBCategory: kbprg kbfixlist kbbuglist
KBSubcategory: BseMisc
Solution Type : kbfix


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: October 29, 1997
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.