This is one of the performance monitor error messages that plague some systems. You can take several approaches:
1. Ignore the message(s). They don't do any real harm. However, this can be hard advice to take. After all, if you were the type of person who ignores warning messages, you wouldn't be looking in the Event Viewer!
2. The performance library dredger sometimes gets confused and thinks that the library is corrupt. This is likely to be the case on your system, and if it is, the following procedure will clear it up -- until it happens again. First of all, crank up your Task Manager. Look on the Processes tab for the Process ID (PID) of the WinMgmt process. Then issue these two commands, in the order given, from a CMD prompt:
winmgmt /clearadap
winmgmt /resyncperf -p PID
where "PID" is replaced by the current PID of the WinMgmt process as shown in Task Manager.
3. If the error occurs repeatedly, you can disable the offending monitoring process. If you have the W2K Resource Kit (Professional or Server), use the exctrlst.exe utility to kill the culprit so that it doesn't run. In the case you've cited you'd be looking for winspool.drv. Actually, you can turn off ALL of the performance monitors. If you don't need to be using performance monitoring, you don't need the monitors to be running. In particular, the PerDisk monitor is kind of a resource hog as monitors go. You can see some small improvement in disk performance on most systems when you stop that monitor. If you don't have the W2K Resource Kit, you can download exctrlst.exe from Microsoft. I'm sorry that I don't know the URL off-hand, but let me know if you want it and can't find it. I'll locate it and post it.
4. If you wish/need to use Performance Monitoring on your system but wish to get rid of the error messages, you can alter / create different CollectTimeout and WbemAdapStatus values from the default values under the Performance keys for the various services that give you errors. For instance, for the spooler service monitor message you'd look in HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Spooler\Performance. A related registry change is to go to HKEY_LOCAL_MACHINE\Software\Microsoft\Wbem\CIMOM and change the ADAPPerflbTimeout value upward. However, doing this stuff requires some thought and effort that just isn't worth it unless you truly need to be monitoring performance. (Most personal users, and even most business users, don't. I only monitor performance routinely when setting up server or critical workstation configurations, and I monitor "mission-critical" servers constantly.)
BTW, you can also disable a performance counter for a given service by going to the appropriate Performance key in the registry and adding a REG_DWORD value named "Disable Performance Counters" (no quotes) and setting its value to 1. But using exctrlst.exe is much easier. It's a tiny file (24 KB), so downloading is no problem if you don't have the reskit.
Hope this is helpful.
Regards,
Jim