Új hozzászólás Aktív témák

  • #10382336

    törölt tag

    Sziasztok!

    A következő kóddal lenne problémám.

    BSTR clsname = SysAllocString(L"Win32_OperatingSystem");
    BSTR MethodName = SysAllocString(L"Win32Shutdown");
    IWbemClassObject* pClsProc = NULL;
    IWbemClassObject* pInParams = NULL;
    IWbemClassObject* pOutMethod = NULL;
    IWbemClassObject* pClsProcInst = NULL;
    hres = pSvc->GetObject(clsname, 0, NULL, &pClsProc, NULL);

    if( SUCCEEDED(hres) ) {
    hres = pClsProc->GetMethod(MethodName, 0, &pInParams,NULL);

    if( SUCCEEDED(hres) ) {
    hres = pInParams->SpawnInstance(0, &pClsProcInst);

    if( SUCCEEDED(hres) ) {
    VARIANT pcVal;
    VARIANT rsVal;
    VariantInit(&pcVal);
    pcVal.vt = VT_I4;
    pcVal.lVal = 1;
    VariantInit(&rsVal);
    rsVal.vt = VT_I4;
    rsVal.lVal = 0;
    hres = pClsProcInst->Put(L"Flags", 0,&pcVal, 0 );
    hres = pClsProcInst->Put(L"Reserved", 0,&rsVal, 0);

    if( SUCCEEDED(hres) ) {
    hres = pSvc->ExecMethod(clsname, MethodName, 0, NULL, pClsProcInst, &pOutMethod, NULL);

    if(FAILED(hres)) {
    cout << "Could not execute method. Error code = 0x" << hex << hres << endl;
    Console::ReadLine();
    }
    }
    VariantClear(&pcVal);
    VariantClear(&rsVal);
    }
    }
    }

    [link]A kódot ennek az oldalnak a 6. pontja mintájára készítettem.
    Az oldalon lévő eredeti kóddal nincs is probléma. Azonban a fenti kódot sehogy sem tudom működésre bírni.
    Futtatás alatt ahogy a "hres = pSvc->ExecMethod(clsname, MethodName, 0, NULL, pClsProcInst, &pOutMethod, NULL);" részhez ér, ezt a hibaüzenetet írja ki: 0x8004102f
    [link]Win32Shutdown -leírása itt.
    Ha valaki tudja a hiba okát, kérem segítsen.

    Köszi.

Új hozzászólás Aktív témák