「WMI」-WMI-For-C COM-调用方法


           Win32 Provider仅仅提供类实例信息Provider会提供方法供户调调方法流程:
    1) 取Provider实例象
            调IWbemServicesGetObject方法取想调Provider类型实例IWbemClassObject 类型指针返回
        BSTR MethodName  SysAllocString(LCreate)
        BSTR ClassName  SysAllocString(LWin32_Process)
        IWbemClassObject* pClass  NULL
        hres  pSvc>GetObject(ClassName 0 NULL &pClass NULL)
    2)取Provider提供方法参数
            调IWbemClassObjectGetMethod方法取想调方法参数IWbemClassObject类型指针返 回
        IWbemClassObject* pInParamsDefinition  NULL
        hres  pClass>GetMethod(MethodName 0 
            &pInParamsDefinition NULL)
    3)生成Provider提供方法参数象
            调IWbemClassObjectSpawnInstance方法生成调方法参数实例需第二步参数类型指针调 SpawnInstance方法传递该方法IWbemClassObject指针作生成参数象指针
        IWbemClassObject* pClassInstance  NULL
        hres  pInParamsDefinition>SpawnInstance(0 &pClassInstance)
    4)设置参数象属性
            调IWbemClassObjectPut方法设置参数象类型
        VARIANT varCommand
        varCommandvt  VT_BSTR
        varCommandbstrVal  Lnotepadexe
        hres  pClassInstance>Put(LCommandLine 0
            &varCommand 0)
        wprintf(LThe command is s  V_BSTR(&varCommand))
    5)调方法
            查询信息相调方法分步方式异步方式步方式等执行进程结束继续执行异步方式利实现IWbemObjectSink 接口类型创建新线程继续运行前线程新创建线程完成调方法然回调IWbemObjectSink Indicate函数处理函数返回值
            步方式调IWbemServicesExecMethod方法调Provider提供方法前生成关参数实例传该方法
        IWbemClassObject* pOutParams  NULL
        hres  pSvc>ExecMethod(ClassName MethodName 0
            NULL pClassInstance &pOutParams NULL)
            异步方式调样Provider函数步方式异步方式调IWbemServicesExecMethodAsync方法 第三参数IFlag设置WBEM_FLAG_SEND_STATUS接受调时中间状态信息没输出参数(例中pOutParams) 参数实现IWbemObjectSink接口类型
        QuerySink *pSink  new QuerySink()
        hres  pSvc>ExecMethodAsync(ClassName MethodName WBEM_FLAG_SEND_STATUS
            NULL pClassInstance pSink)
            调方法查询信息出种半步方式步方法调者线程等方法执行完异步方法需编程员继承IWbemObjectSink接 口进行线程编程半步方式种折中方法进行IWbemServices实例中方法调创建线程查询然写入 IWbemCallResult接口实例中线程查询
        IWbemCallResult *pCallRes  0
        IWbemClassObject *pObj  0
        hres  pSvc>ExecMethod(ClassName MethodName WBEM_FLAG_RETURN_IMMEDIATELY
            NULL pClassInstanceNULL &pCallRes)

        while (true)
        {
            LONG lStatus  0
            HRESULT hRes  pCallRes>GetCallStatus(5000 &lStatus)
            if ((hRes  WBEM_S_NO_ERROR))
                break
            if ((hRes  WBEM_S_TIMEDOUT))
                continue
        }

        hres  pCallRes>GetResultObject(5000 &pObj)
        if (hres)
        {
            pCallRes>Release()
            return 1
        }

        VARIANT varReturnValue
        hres  pObj>Get(_bstr_t(LReturnValue) 0 
            &varReturnValue NULL 0)

        cout << varReturnValuelVal << endl
        pCallRes>Release()
        pObj>Release()

           通WMI调方法基形式XP调方法功较少VistaWindowsroot\wmi命名空间中提供 Provider方法代驱动做事情
           较遗憾MSDN文档MS提供WMI Tool实际体现数致WmiSetBrightnessMethods类SetBrightness方法两参数样情 况uint8uint64dotNet台准备样Put进两参数hres 返回S_OK execMethod时会出现类型匹配错误较挠头~希果朋友路恰巧知道C++COM调方法留言者加 QQ十分感谢
    文档香网(httpswwwxiangdangnet)户传

    《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
    该内容是文档的文本内容,更好的格式请下载文档

    下载文档到电脑,查找使用更方便

    文档的实际排版效果,会与网站的显示效果略有不同!!

    需要 10 香币 [ 分享文档获得香币 ]

    下载文档

    相关文档

    「WMI」WMI-For-C COM-查询信息

    查询信息        WMI最主要的一个功能就是在WMI储备库里查询一些类和实例的信息,我们可以调用一个同步查询,也可以调用一个异步查询。        同步查询是在当前进行下执行的查询;异...

    3年前   
    412    0

    「WMI」WMI-For-C COM基础知识

    知识背景        WBEM——Web Based Enterprise Management是一种行业规范,建立了在企业网络中访问和共享管理信息的标准。        WMI——Wind...

    3年前   
    335    0

    SQL中调用ORACLE存储过程

    SQL Server 调用Oracle的存储过程 收藏 原文如下:通过SQL  Linked  Server 执行Oracle 存储过程小结1 举例我们可以通过下面的方法在SQL Server...

    1个月前   
    138    0

    空调用制冷技术课程设计

    XX 学 院 设计说明书 空调用制冷技术 设计计算书专 业 班 级 ...

    3年前   
    482    0

    聚焦问题解决 发展计算思维—《过程调用》教学案例

    聚焦问题解决 发展计算思维—《过程调用》教学案例一、教学内容分析算法与程序设计是信息技术学科的核心内容之一,是发展学生计算思维的重要载体。《过程调用》是浙江省小学信息技术五年级下册第12课,位...

    1年前   
    320    1

    调查方法及论文写作方法

    调查方法及论文写作方法调查方法及论文写作方法——课堂笔记整理时间:2009年4月17日星期五地点:工业设计系西二西205记录人:工设71 杨增耀 070120061. 调查方法1.1学生求教学...

    12年前   
    666    0

    案例方法

    企业经营战略课程中的 案例方法 清华大学经济管理学院 石永恒 ·这份电子文件具有知识产权。未经许可,不得以任何形式进行传播。 ·这份电子文件提供的信息是不完整的。...

    9年前   
    25628    0

    民法学研习方法与大型论文写作方法

    民法学研习方法与大型论文写作方法)民法学研习方法与大型论文写作方法演讲人:王泽鉴教授时间:2006年9月14日读其书知其人,知其人读其书。1960年代我在台大念书的时候,台大和德国考试的内容完...

    11年前   
    554    0

    小学语文学习方法及记忆方法大全

    小学语文有哪些好的学习方法?为什么小学生的作文水平总是提不上去?这些都是困扰孩子、老师、家长的话题,下面就为大家整理了小学语文学习方法及记忆方法大全,让我们一起来常识一下。

    2年前   
    453    0

    「招聘方法」内部选拔的方法

    内部选拔的方法人员招聘与选拔是根据工作需要,运用相关方法和技术,吸引并选择最适合人选的过程。其任务是确保企业能够获得充足的职位候选人,并能以合理的成本从职位申请人中选拔出最符合企业需要的员工。...

    11年前   
    729    0

    关于小学数学学习方法及复习方法

    关于小学数学学习方法及复习方法   小学数学学习方法  观察法  观察法,是通过观察题目中数字的变化规律及位置特点,条件与结论之间的关系,题目的结构特点及图形的特征,从而发现题目中的数量关系,...

    4年前   
    814    0

    论文修改方法

    论文修改方法  古今作家在修改文章方面,积累了丰富的经验,值得我们在修改论文中借鉴和参考。  一、虚心征求别人的意见   在初稿完成后,请他人帮助修改的方法,是一种较好的方法。俗话说:“旁观者...

    9年前   
    788    0

    科研方法与论文写作

    科研方法与论文写作《科研方法与论文写作》《科研方法与论文写作》复习提纲第一章科学研究的概论1、科学的定义 P12、科学的分类 P23、科学研究的概念、内容、特征 P34、基础研究、应用研究、开...

    10年前   
    708    0

    高效团队建设方法

    高效团队建设方法魏成权我国自古以来,就有“一个好汉三个帮”的说法。以史为鉴可以知兴替!在楚汉争霸中,西楚霸王独臂英雄最终抵挡不住二流子刘邦的三驾马车(萧何、韩信、张良),痛失大好局势。因此,现...

    12年前   
    789    0

    论文写作方法

    论文写作方法每周都认真读1-2篇Science, Nature, Cell等高级别文章。而且Science对中国人是免费的!Nature中也有许多内容是免费的。一位研究生导师心目中理想的论文:...

    11年前   
    614    0

    团队建设方法1

    团队建设方法 团队的影响: 团队一种为了实现某一目标而由相互协作的个体组成的正式群体。因此,所有的工作团队都是群体但只有正式群体才能成为工作团队。二十几年前,当沃尔沃、丰田等公司把团队引...

    10年前   
    772    0

    开题报告的方法指导

    开题报告的方法指导  临近毕业了,大家的论文写好了吗,下文是开题报告的方法,希望大家有所收获!  一、如何选择问题  我一起萦绕于怀的,是在写博士论文开题报告的一年多时间里,导师薛澜教授反复追...

    9年前   
    713    0

    ATSE的选用方法

      ATSE的选用方法 ATSE已经越来越广泛运用在各种重要用电场合,不难发现,绝大多数设计师在选择ATSE时,仅仅关注其额定电流和级数,而对决定ATSE工作特性的关键指标:转换条件、使...

    8年前   
    5509    0

    拟办的方法

    拟办的方法  拟办的方法,应具体问题具体分析,不能千篇一律地写为:“请“秘书工作”同志批示”,应针对不同情况有区别的提出拟办意见:  (1)对上级来文的拟办,应提出要求办理、贯彻落实的具体人员...

    10年前   
    767    0

    写日记的方法

    写日记的方法写日记的方法步骤/方法1、写好一句话一年级学生学完汉语拼音后,就可以开始有意识地教给他们一些简单句式。如:“什么时候,谁在什么地方干什么”、“什么时候,什么怎么样了”、“什么时候,...

    9年前   
    572    0

    文档贡献者

    奋斗不止500年

    贡献于2021-07-17

    下载需要 10 香币 [香币充值 ]
    亲,您也可以通过 分享原创文档 来获得香币奖励!
    下载文档

    该用户的其他文档