|
Sorry if this isn't quite the "right" spot for this question, but it kind of covers several areas so it's not really a good fit in just one area.
I wrote an add-in, Home Server SMART, and some folks have been having a problem. They get an error message that says the WMI call failed with the error "not supported."
I decided to dig into this more deeply, and I wrote a small test application to simulate the various WMI calls, and I tested it against a variety of different computers and OSes...Server 2003, Server 2008, Vista, 7...x86 and x64.
Long story short, the WMI queries that are generating problems are all within the MSStorageDriver class, in the "root/wmi" namespace. The WMI classes I use are MSStorageDriver_ATAPISmartData, MSStorageDriver_FailurePredictThresholds and MSStorageDriver_FailurePredictStatus. On some of the computers, invoking a query against any of those, as well as the parent class, generates "not supported" 0x8004100C.
For example, if I run WBEMtest.exe on one computer, and issue the query "select * from MSStorageDriver_FailurePredictThresholds" I get several WMI objects back, but on others I get 0x8004100C. I can't seem to figure out why some of these machines generate the error and why some don't. The only consistent thing is that the error either appears all the time or not at all; in other words, the test app won't fail and then pass on the same machine.
I tested two machines with SATA RAID...one NVIDIA, one Intel. Each has standalone disks as well as RAID-1 volumes; both of those machines passed with flying colors. But on a Dell server with a Dell PERC 4 and a Compaq Smart Array 5300 RAID adapter, I got "not supported."
When you have a system with no devices with SMART capabilities, they simply don't present data in the storage driver; you would get NULL back, not an error. Even devices that don't return full SMART data still return something back via MSStorageDriver_FailurePredictStatus.
If you google the MSStorageDriver class and its subclasses, you will find it is VERY POORLY documented. Whereas Win32_DiskDrive, for instance, is beautifully documented by Microsoft, complete with the full set of properties and methods, and which OSes support them, the doco on MSStorageDriver is pretty much stuff other folks have pieced together. The error 0x8004100C is also pretty poorly documented, and I think in this case it may be a red herring.
You will probably stumble across a Microsoft hotfix for 0x8004100C for some Server 2003 builds. The English x86 build is NOT supported, plus there's no hotfix for Server 2008. So I'm guessing it's not a bug, so to speak, with the OS. But since my add-in relies on WMI, I need WMI to generate valid data.
I'm hoping there are some WMI experts out there who can shed some light on the subject, even if the light you shed is just a bit more on what the 0x8004100C error really means, other than its ambiguous "not supported."
Danke, Matt
_________________ EX490 Intel E5300, 2 GB 4.5 TB Storage
|