Details
Product:Windows Operating System
Event ID:4099
Source:WmiAdapter
Version:5.2
Symbolic Name:WMI_ADAPTER_OPEN_SC_FAIL
Message:Open of service failed.
   
Explanation

The performance counter DLL could not communicate with the Windows Management Instrumentation (WMI) Performance Adapter service. WMI allows developers to define high-performance objects. WMI includes a performance counter DLL that makes these performance objects visible in Perfmon. This DLL communicates with WMI through the named WMI Performance Adapter service.

When the performance counter DLL cannot communicate with the WMI Performance Adapter service, WMI high-performance objects are not visible in Perfmon. The most common reason they cannot communicate is that the service is not enabled (start type=disabled). Most high-performance objects come from device drivers such as those commonly used for batteries in laptops.

   
User Action

To verify that the WMI Performance Adapter service is enabled

  1. Click Start, point to Control Panel, point to Administrative Tools, and then double-click Services.
  2. Double-click WMI Performance Adapter.
  3. In the Startup type list, click Manual.

To verify that there are high performance counter objects in WMI

  • Use Cscript to run the following script:

' Find all performance classes
computer = “.”
namespace = “root\wmi”

Set WMISvc = GetObject(“winmgmts:\\” & computer & “\” & namespace)
Set colSWbemObjectSet = WMISvc.Subclassesof(“Win32_Perf”)
for each cls in colSwbemObjectSet
	wscript.echo “Class name: ” & cls.path_
next

The output should look approximately like this:
Class name: \\YOUR-MACHINE\ROOT\wmi:Win32_PerfRawData
Class name: \\YOUR-MACHINE\ROOT\wmi:Win32_PerfFormattedData
Class name: \\YOUR-MACHINE\ROOT\wmi:MSBatteryClass
Class name: \\YOUR-MACHINE\ROOT\wmi:BatteryTemperature
Class name: \\YOUR-MACHINE\ROOT\wmi:BatteryStatus

If Win32_PerfRaw and Win32_PerfFormattedData are the only subclasses, then there are no high-performance objects in WMI. If there are high-performance objects in WMI, verify that they are correctly enabled in Perfmon.

To verify that high-performance counters are correctly enabled in Perfmon

  1. At the command prompt, type perfmon.exe, and then press ENTER.
  2. Click the Add button (+). This adds a test WMI object to Perfmon.
  3. In the Performance objects list, click WMI Objects.
  4. Click Add, and then click Close.
  5. In the list of counters, verify that the number of instances for HiPerf Classes is greater than zero.

This procedure confirms that the start type is manual and the WMI Performance Adapter service is enabled. If this corrective action does not solve the problem, check for other error messages that are closer to the root cause.


Currently there are no Microsoft Knowledge Base articles available for this specific error or event message. For information about other support options you can use to find answers online, see http://support.microsoft.com/default.aspx.