WMI ADAP Event Log Events [WMI]

The AutoDiscovery/AutoPurge ( ADAP) process transfers performance libraries to the WMI repository.

In Windows 2000, ADAP runs when:

  • The operating system is restarted or net stop/start is run.
  • The lodctr or unlodctr utilities are run.
  • Winmgmt /resyncperf <winmgmt process id> is run in a command screen.
Windows 2000:  ADAP was a part of Winmgmt.exe.
Windows XP:  ADAP is a separate process, Wmiadap.exe. ADAP still runs when lodctr, unlodctr, and Winmgmt /resyncperf are executed. However, ADAP only runs on system startup or net stop/start if a performance library has changed. ADAP also runs when:

  • A new Windows Driver Model (WDM) –enabled driver is added or removed.

    For more information about WDM device drivers, see http://www.microsoft.com/ddk.

  • Wmiadap is run in a command screen.

    Depending on the switches, the run of ADAP may transfer all performance libraries or WDM drivers. For information on the command switches for ADAP, see wmiadap.

The ADAP process generates the following logged events when it parses the performance libraries to build the Win32_PerfRawData and Win32_PerfFormattedData classes in the WMI repository. Performance classes can be found in the root\cimv2 namespace or, for WDM drivers, the root\wmi namespace. For information on how ADAP parses the performance libraries and the meaning of performance library status values such as -1, see Parsing the Performance Libraries and Changing the Status of a Performance Library.

Event Description
WBEM_MC_ADAP_BAD_PERFLIB_MEMORY
0xC0000020L
The performance DLL caused a memory corruption. ADAP sets performance library status to -1, causing the WBEM_MC_ADAP_BAD_PERFLIB_BAD_LIBRARY error message on subsequent ADAP runs.
WBEM_MC_ADAP_BAD_PERFLIB_EXCEPTION
0xC0000021L
The performance DLL caused an Access Violation. ADAP sets performance library status to -1, causing the WBEM_MC_ADAP_BAD_PERFLIB_BAD_LIBRARY event on subsequent ADAP runs.
WBEM_MC_ADAP_BAD_PERFLIB_TIMEOUT
0x40000022L
The performance DLL took more than 60 seconds to return on function call. A non-fatal condition.
WBEM_MC_ADAP_BAD_PERFLIB_INVALID_DATA
0xC0000023L
ADAP was unable to parse the data returned by a performance library. A non-fatal condition.
WBEM_MC_ADAP_BAD_PERFLIB_BAD_RETURN
0xC0000024L
ADAP received an invalid return code from a performance library. A non-fatal condition.
WBEM_MC_ADAP_BAD_PERFLIB_BAD_LIBRARY
0xC0000025L
ADAP found a status of -1 for the performance library and is ignoring it. This status is set for any of the following reasons:
  1. ADAP detected memory corruption or an access violation (a fatal error).
  2. A user ran the Winmgmt/clearadap command, but may not have had write permissions to the registry. The next time ADAP runs, it will either run successfully or generate an event indicating the actual problem with the performance library.
  3. ADAP was halted three times on the same day while processing a performance library. It can be halted by termination on the taskbar (for a manually run instance of ADAP) or by stopping WMI.
  4. ADAP encountered a performance library that caused a stop error. In this rare case, the library is marked as bad.
  5. ADAP failed to find the Open/Collect/Close functions.

If a performance library cannot be loaded, the -1 status is not set.

WBEM_MC_ADAP_DUPLICATE_CLASS
0xC0000026L
A performance library returns a duplicate object to ADAP. A non-fatal condition.
WBEM_MC_ADAP_DUPLICATE_PROPERTY
0xC0000027L
A performance library returns a duplicate property to ADAP. A non-fatal condition.
WBEM_MC_ADAP_GENERAL_OBJECT_FAILURE
0xC0000028L
WMI returned an error to ADAP while creating an object. This is not a performance library error and, while non-fatal, may indicate other problems such as missing performance counter classes in WMI.
WBEM_MC_ADAP_MISSING_OBJECT_INDEX
0xC0000029L
A performance library returned an invalid names database index for an object. This can indicate either a corrupt names database or a misbehaving performance library. This is not a performance library error and, while non-fatal, may indicate other problems such as missing performance counter classes in WMI.
WBEM_MC_ADAP_MISSING_PROPERTY_INDEX
0xC000002AL
A performance library returned an invalid names database index for a property. This can indicate either a corrupt names database or a misbehaving performance library. This is a non-fatal error, although there may be problems with performance counters on the machine.
WBEM_MC_ADAP_CONNECTION_FAILURE
0xC000002BL
ADAP was unable to connect to a WMI namespace. This is not a performance library error and, while non-fatal, may indicate other problems such as missing performance counter classes in WMI.
WBEM_MC_ADAP_MISSING_BASE_CLASS
0xC000002CL
ADAP was unable to locate the Win32_Perf base class or Win32_PerfRawData base class. This is not a performance library error and, while non-fatal, may indicate other problems, such as missing performance counter classes in WMI.
WBEM_MC_ADAP_ENUM_FAILURE
0xC000002DL
ADAP was unable to enumerate classes under Win32_PerfRawData. This is not a performance library error and, while non-fatal, may indicate other problems, such as missing performance counter classes in WMI.
WBEM_MC_ADAP_PERFLIB_SUBKEY_FAILURE
0xC000002EL
ADAP was unable to open a performance names database. This is not a performance library error and, while non-fatal, may indicate other problems, such as missing performance counter classes in WMI.
WBEM_MC_ADAP_PERFLIB_REG_VALUE_FAILURE
0xC000002FL
ADAP was unable to retrieve data from the performance library subkey. This is not a performance library error and, while non-fatal, may indicate other problems, such as missing performance counter classes in WMI.
WBEM_MC_ADAP_PERFLIB_PUTCLASS_FAILURE
0xC0000030L
ADAP was unable to save a performance library class to WMI. This is not a performance library error and, while non-fatal, may indicate other problems, such as missing performance counter classes in WMI.
WBEM_MC_ADAP_PERFLIB_REMOVECLASS_FAILURE
0xC0000031L
ADAP was unable to remove a performance library class from WMI. This is not a performance library error and, while non-fatal, may indicate other problems, such as missing performance counter classes in WMI.
WBEM_MC_ADAP_BAD_PERFLIB_INVALID_ENTRYPOINT
0xC0000032L
ADAP was unable to locate a specified entry point in a performance library. This is a non-fatal performance library error but may indicate other problems, such as missing performance counter classes in WMI. ADAP marks the performance library status as bad (set to -1).
WBEM_MC_ADAP_BAD_PERFLIB_FAILED_LOADLIBRARY
0xC0000033L
ADAP was unable to load a performance library. This is a non-fatal performance library error but may indicate other problems, such as missing performance counter classes in WMI.
WBEM_MC_ADAP_BAD_PERFLIB_BAD_PROPERTYTYPE
0xC0000034L
A performance library returned invalid data in the form of a bad property type. This is a non-fatal performance library error but may indicate other problems, such as missing performance counter classes in WMI.
WBEM_MC_ADAP_BAD_NAME_DB
0xC0000035L
ADAP was unable to load a names database from the registry. This is a non-fatal performance library error but may indicate other problems, such as missing performance counter classes in WMI or missing counters in System Monitor.
WBEM_MC_ADAP_STARTING
0x40000036L
WMI ADAP is starting.
WBEM_MC_ADAP_STOPPING
0x40000037L
WMI ADAP is stopping.
WBEM_MC_ADAP_UNABLE_TO_ADD_PROVIDER
0xC0000038L
ADAP was unable to create a provider instance object for the performance counter provider. This is not a performance library error and, while non-fatal, may indicate other problems such as missing performance counter classes in WMI.
WBEM_MC_ADAP_UNABLE_TO_ADD_PROVREG
0xC0000039L
ADAP was unable to create a provider registration for the Performance Counter provider. This is not a performance library error and, while non-fatal, may indicate other problems such as missing performance counter classes in WMI.
WBEM_MC_ADAP_UNABLE_TO_ADD_WIN32PERF
0xC000003AL
ADAP was unable to create the Win32_Perf base class. This is not a performance library error and, while non-fatal, may indicate other problems such as missing performance counter classes in WMI.
WBEM_MC_ADAP_UNABLE_TO_ADD_WIN32PERFRAWDATA
0xC000003BL
ADAP was unable to create the Win32_PerfRawData base class. This is not a performance library error and, while non-fatal, may indicate other problems such as missing performance counter classes in WMI.
WBEM_MC_ADAP_PROCESSING_FAILURE
0xC000003CL
ADAP was unable to process performance libraries due to an unspecified error. This is not a performance library error and, while non-fatal, may indicate other problems such as missing performance counter classes in WMI.
WBEM_MC_ADAP_PERFLIB_FUNCTION_TIMEOUT
0xC000003DL
ADAP was unable to process a performance library because a function call took longer than 60 seconds to return. This is a non-fatal performance library error but other problems may also exist, such as missing performance counter classes in WMI.
WBEM_MC_ADAP_BLOB_HAS_NO_SIZE
0xC000003EL
A performance library returned inconsistent data, incorrectly indicating that the library contained a particular object when the object did not exist. This is a non-fatal error but may indicate other problems, such as missing performance counter classes in WMI.