在WMI技术介绍和应用——WMI概述中介绍了我们可以使用C.DOC

在WMI技术介绍和应用——WMI概述中介绍了我们可以使用C.DOC

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
在WMI技术介绍和应用——WMI概述中介绍了我们可以使用C

HYPERLINK /breaksoftware/article/details/8439975 WMI技术介绍和应用——VC开发WMI应用的基本步骤 ? ? ? ? 在 HYPERLINK /breaksoftware/article/details/8424317 \t _blank 《WMI技术介绍和应用——WMI概述》中介绍了我们可以使用C++、.net或者支持ActiveX技术的脚本语言来使用WMI。但是各种语言对WMI的控制能力是不同的,比如脚本语言只能用来从WMI获取数据或者接收事件通知。而C++还可以编写WMI提供者和发送消息。和脚本语言相比,C++对WMI有强大的控制和定制性,当然也具有更大的复杂性。本文将主要讲述使用VC如何搭建一个使用WMI的框架。 HYPERLINK /breaksoftware/article/details/8439975 \t _self (转载请指明出于breaksoftware的csdn博客) ? ? ? ? 为了方便使用,我将该搭建步骤封转到了一个类中 [cpp] HYPERLINK /breaksoftware/article/details/8439975 \o view plain view plain HYPERLINK /breaksoftware/article/details/8439975 \o copy copy HYPERLINK /breaksoftware/article/details/8439975 \o print print HYPERLINK /breaksoftware/article/details/8439975 \o ? ? class?CWMI?? {?? public:?? ????CWMI();?? ????~CWMI(void);?? public:?? ????HRESULT?ExcuteFun();?? protected:?? ????VOID?SetNamespace(wstring?wstrNamespace);?? private:?? ????HRESULT?InitialCom();?? ????HRESULT?SetComSecLevels();?? ????HRESULT?ObtainLocator2WMI(CComPtrIWbemLocator?pLoc);?? ????HRESULT?Connect2WMI(CComPtrIWbemLocator?pLoc,CComPtrIWbemServices?pSvc);?? ????HRESULT?SetProxySecLevels(CComPtrIWbemServices?pSvc);?? ????virtual?HRESULT?Excute(CComPtrIWbemServices?pSvc)?=?0;?? private:?? ????wstring?m_wstrNamespace;?? };?? ? ? ? ? SetNamespace用于设置命名空间。在 HYPERLINK /breaksoftware/article/details/8424317 \t _blank 《WMI技术介绍和应用——WMI概述》中我们提到,WMI中存在诸如root\default、root\cimv2等WMI命令空间。因为我们要使用的WMI功能和命名空间有很大的关联,所以该类将提供这个设置命令空间的函数。 [cpp] HYPERLINK /breaksoftware/article/details/8439975 \o view plain view plain HYPERLINK /breaksoftware/article/details/8439975 \o copy copy HYPERLINK /breaksoftware/article/details/8439975 \o print print HYPERLINK /breaksoftware/article/details/8439975 \o ? ? VOID?CWMI::SetNamespace(wstring?wstrNamespace)?? {?? ????m_wstrNamespace?=?wstrNamespace;?? }?? ? ? ? ? 剩下的函数就承载着了使用WMI步骤的逻辑和流程。 ? ? ? ? 初始化COM库 ? ? ? ? 我们还要将之前的WMI框架图列出来 ? ? ? ?? ? ? ? ? WMI是基于COM技术的。在WMI Consumers层,我们发现,C++程序是直接和WMI COM API进行交互。所以我们要先初始化COM组件库。 [cpp] HYPERL

文档评论(0)

fengruiling + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档