PRB: Generic Failure Enumerating Instances with WMI's Performance Monitor Provider (295563)



The information in this article applies to:

  • Microsoft Windows Management Instrumentation 1.5

This article was previously published under Q295563
IMPORTANT: This article contains information about modifying the registry. Before you modify the registry, make sure to back it up and make sure that you understand how to restore the registry if a problem occurs. For information about how to back up, restore, and edit the registry, click the following article number to view the article in the Microsoft Knowledge Base:

256986 Description of the Microsoft Windows Registry

SYMPTOMS

When you are using Windows Management Instrumentation (WMI) and the Performance Monitor Provider for WMI to retrieve performance counter data for a specific performance object, the provider may fail to enumerate instances, and it returns the following error message:
"Generic Failure" (WBEM_E_FAILED 0x80041001)

CAUSE

If the performance object has multiple indexes registered under the multiple string "Counter" value, then the WMI Performance Provider may be using the wrong index.

RESOLUTION

WARNING: If you use Registry Editor incorrectly, you may cause serious problems that may require you to reinstall your operating system. Microsoft cannot guarantee that you can solve problems that result from using Registry Editor incorrectly. Use Registry Editor at your own risk.


The multistring Counter value is located under the following registry key for English systems:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PerfLib\009

You must use RegEdt32 to modify this value. The data is stored as MULTI_SZ strings. This data type consists of a list of Unicode strings, each terminated with UNICODE_NULL. The last string is followed by an additional UNICODE_NULL. The strings are listed in pairs. The first string of each pair is the Unicode string of the index, and the second string is the actual name of the index. The Counter data uses only even-numbered indexes.

To use the Windows 2000 Directory Services performance counters as an example, you should be able to search this string list for "NTDS" and only find once instance. "NTDS" would be followed by indexes and names of its associated counters.

If "NTDS" is found in the list more than once, you should note the associated indexes for each occurrence. Whichever index matches the "First Counter" value under HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\NTDS\Performance is the correct index and should be left in the registry. You should delete each incorrect occurrence of the "NTDS" pair and the associated counter pairs. Probably the best way to determine how many counters to delete for the particular performance object is to look in the Performance Monitor application and note what the first and last counters are.

Once this is complete, restart the WINMGMT service or simply restart the system.

MORE INFORMATION

For more information, see the following MSDN Online topics:

Modification Type:MinorLast Reviewed:3/20/2004
Keywords:kbDSWManage2003Swept kbBug kbpending kbprb kbWBEM KB295563