?
@Tester: Das Problem ist gelösst, siehe anderen Thread.
@Jochen: Der Umstieg von "Multithreaded DLL" auf "Multithreaded" und die Änderung "Projekt -> Einstellungen -> Registrierkarte Allgemein -> MFC in einer gemeinsam genutzten DLL verwenden" auf "Benutze statische MFC Bibliothek" bewirken das ich keine externen MFC dll mehr benötige. Richtig? Also ist mein Programm von diesem Gesichtspunkt aus Win95 ready?
Wenn ich diesen Code auf einem nacktem Windows95 ausführe, wo wird es dann "krachen"? Soweit ich im Web gesucht habe ist Com auch für Win95 vorhanden. CoCreateInstance würde dann die CLSID von WMI nicht finden und etwas anderes als 0 zurückgeben? (Ich kann es nicht testen, weil wir in der Firma nur WinXP haben.) Wenn es so ist muß ich den Code nicht in eine extra DLL auslagern.
hres = CoInitializeEx(0, COINIT_MULTITHREADED);
if (hres>=0) {
hres = CoInitializeSecurity(0, -1, 0, 0, RPC_C_AUTHN_LEVEL_DEFAULT,RPC_C_IMP_LEVEL_IMPERSONATE, 0, EOAC_NONE, 0);
IWbemLocator *pLoc=0;
hres = CoCreateInstance(CLSID_WbemLocator, 0, CLSCTX_INPROC_SERVER, IID_IWbemLocator, reinterpret_cast<void **>(&pLoc));
...