WMI Zugriff schlägt fehl

From: Meier Rudolf (meiru_at_gmx.net)
Date: 09/28/04


Date: Tue, 28 Sep 2004 20:48:47 +0200

Hallo

Ich hab folgendes Versucht:

IWbemServices pWbemServices = ...; // -> wird irgendwie gesetzt
(funktioniert)
BSTR sA = ::SysAllocString(L\\\\.\\root\\cimv2:Win32_...");

BSTR sB = ::SysAllocString(L"Methodname");

IWbemClassObject* outparam;

hRes = pWbemServices->ExecMethod(sA, sB, WBEM_FLAG_RETURN_IMMEDIATELY, NULL,
NULL, &outparam, NULL);

::SysFreeString(sA); ::SysFreeString(sB);

outparam->Release();

pWbemServices->Release();

Nun, das Problem ist, dass dieser Funktionsaufruf "funktioniert", wenn ich
&outparam durch NULL ersetze. Wenn ich jedoch dieses "&outparem" da
hinsetze, dann läuft gar nichts mehr. hRes wird dann zum Wert 0xc000005 ...
wieso? Die aufgerufenen Funktionen haben nur einen Parameter, der mit [out]
gekennzeichnet ist... keine [in] Parameter... woran kann das liegen??

Hat sonst jemand ein Beispiel dazu (in C++, nicht wie man das überall findet
in VB oder C#).

danke

MR