网站大量收购独家精品文档,联系QQ:2885784924

《五、CIM储存库和CIM类2.docxVIP

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《五、CIM储存库和CIM类2

五、 CIM储存库和CIM类(2)? ? 在本节的第(1)部分我们介绍了CIM储存库中的命名空间,并给出了如何获得CIM所有命名空间的VB代码(例程9),同时我们还指出CMI储存库的顶层是命名空间,在命名空间的下一层就是CIM类,接下来我们就介绍CIM类。CIM类的分类? ? 如前面图1中所示,在CIM储存库中(CIM命名空间下)有3种通用的类:系统类、核心和公共类、扩展类,下面我们看一下这3种类是如何区分的? ? 1)系统类? ? 系统类是支持内部 WMI 配置和操作(例如,命名空间配置、命名空间安全性、提供程序注册以及事件订阅和通知)的类。浏览 CIM 时,您可以通过前缀在每个系统类名前的两条下划线轻易地识别出系统类。例如,图 1 中展示的 __SystemClass、__Provider 和 __Win32Provider 类都是系统类。在上面例程8、9中调用的 __NAMESPACE 类是另一个系统类的示例。? ? 我们来看一个系统类的例子,__Win32Provider 系统类定义存储在 CIM 中的提供程序注册信息。CIMOM(WMI 服务)使用存储在 CIM 中的提供程序注册信息,将动态托管资源的请求映射到相应的提供程序。就象例程8中使用 __NAMESPACE 系统类进行的演示,我们可以使用相同的 WMI 编程技术来检索并显示所有在 root\cimv2 命名空间中注册的 __Win32Provider 实例,在代码窗口添加1个List1控件,代码如下(例程10):Option ExplicitDim objSWbemServices As SWbemServicesDim objSWbemObjectSet As SWbemObjectSetDim objSWbemObject As SWbemObjectPrivate Sub Form_Load()? ? Set objSWbemServices = GetObject(winmgmts:\\.\root\cimv2)? ? Set objSWbemObjectSet = objSWbemServices.InstancesOf(__Win32Provider)? ? For Each objSWbemObject In objSWbemObjectSet? ?? ???List1.AddItem objSWbemObject.Name? ? NextEnd Sub? ? 除非您在写一本关于 WMI 的书,否则您不太可能会在 WMI 应用程序中用到系统类。有一个例外是 WMI 监视程序,即使用WMI事件方式(WMI事件就是一个 WMI 托管资源的实时通知),我们会在后面的章节中讨论 WMI 事件。? ? 2)核心和公共类? ? 核心和公共类扮演了两个角色。首先,也是最重要的,它们表现抽象类 — 系统和应用程序软件开发人员(例如 Microsoft 的开发人员)从这些抽象类派生和创建特定技术的扩展类。其次,它们定义了特殊管理区域所共有的,但是不受限于特殊的技术或实现的资源。Distributed Management Task Force (DMTF) 定义并维护这组可以通过 CIM_ 前缀来识别的核心和公共类。图 1 中四个以 CIM_ 开头的类是核心和公共类(这里要注意不要混淆CIM类和CIM_ 前缀来识别的核心和公共类,CIM类包括3种通用的类:系统类、核心和公共类、扩展类,而CIM_ 前缀的类为“核心和公共类”的标识)。? ? 在 root\cimv2 命名空间中定义的大约 275 个核心和公共类中,除了几个例外其余全部都是抽象类。这意味着什么呢?这意味着我们将极少在 WMI 脚本中使用核心和公共类(以 CIM_ 为前缀的类)。为什么?因为您不能检索抽象类的实例,抽象类只能用作新类的基础。因为核心和公共类中的 271 个都是抽象的,所以它们主要被软件开发人员用来创建特定技术扩展类。? ? 那么,例外是什么呢?275 个核心和公共类中的 4 个不是抽象类。它们是使用 Win32 提供程序 (cimwin32.dll) 来检索托管资源实例的动态类。请记录下来,这 4 个动态类是 CIM_DataFile、CIM_DirectoryContainsFile、CIM_ProcessExecutable 和 CIM_VideoControllerResolution。? ? 3)扩展类? ? 扩展类是由系统和应用程序软件开发人员创建的特定技术类。图 1 中展示的Win32_BaseService、Win32_Service、Win32_SystemServices 和 Win32_ComputerSystem 类是 Microsoft 扩展类。在 root\c

文档评论(0)

1983xuesheng + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档