SOL9 2.0 Class: SWbemServicesEx

 SOL9 C++ Class Library  SOL9 Samples  SOL9 Tutorial  SOL9 FAQ  SOL9 ClassTree 

Source code

/*
 * SWbemServicesEx.h 
 * Copyright (c) 2012 Antillia.com TOSHIYUKI ARAI. ALL RIGHTS RESERVED. 
 */




#pragma once

#include <sol/wmi/SWbemServices.h>


namespace SOL {

class SWbemServicesEx :public SWbemServices
{

public:
    SWbemServicesEx(IDispatch* pDisp=NULL)
    :SWbemServices(pDisp)
    {

    }

public:
    ISWbemServicesEx* get()
    {
        return (ISWbemServicesEx*)getIDispatch();
    }

public:
    SWbemServicesEx& operator=(ISWbemServicesEx* pDisp)
    { 
        set(pDisp);
        return *this;
    }

public:

    ISWbemObjectPath* put( 
            /* [in] */ ISWbemObjectEx *objWbemObject,
            /* [defaultvalue][in] */ long iFlags,
            /* [defaultvalue][in] */ IDispatch *objWbemNamedValueSet)
    {
        ISWbemObjectPath* pObjWbemObjectPath = NULL;
        HRESULT hr = E_FAIL;
        ISWbemServicesEx* services = get();

        if (FAILED(hr = services -> Put( 
                objWbemObject,
                iFlags,
                objWbemNamedValueSet,
                &pObjWbemObjectPath))) {
            throw Exception(E_FAIL, "%s: %s", "E_FAIL",__FUNCTION__);
        }
        return pObjWbemObjectPath;
    }           
        
public:
    HRESULT putAsync( 
            /* [in] */ ISWbemSink *objWbemSink,
            /* [in] */ ISWbemObjectEx *objWbemObject,
            /* [defaultvalue][in] */ long iFlags = wbemChangeFlagCreateOrUpdate,
            /* [defaultvalue][in] */ IDispatch *objWbemNamedValueSet = 0,
            /* [defaultvalue][in] */ IDispatch *objWbemAsyncContext = 0)
    {
        HRESULT hr = E_FAIL;
        ISWbemServicesEx* services = get();

        if (FAILED(hr = services -> PutAsync( 
                objWbemSink,
                objWbemObject,
                iFlags,
                objWbemNamedValueSet,
                objWbemAsyncContext))) {

                throw Exception(E_FAIL, "%s: %s", "E_FAIL",__FUNCTION__);
        }
        return hr;
    }           

};

}

Last modified: 1 Apr 2012

Copyright (c) 2009-2012 Antillia.com ALL RIGHTS RESERVED.