The unhelpful "Generic Failure" error is thrown from the following line of code, when running in one process, but not in another. I can't figure out what's different between the processes (they both run 32-bit as administrator).
WbemScripting::ISWbemObjectSetPtr hdobjects = services->ExecQuery("Select * from Win32_LogicalDisk","WQL",0x10,NULL);
Any ideas why?