当前位置导航:炫浪网>>网络学院>>编程开发>>C++教程>>C++ Builder教程

文件系统驱动编程基础篇之4——Wmi管理规范

  二、WMI简介

  一)基于Web的企业管理(Web-Based Enterprise Management (WBEM))的提出是为了解决企业在快速发展的过程中,总成本(Total cost of ownership(TCO)) 也随之快速增长的矛盾,它作为一项业界倡议,起始于1996年,规范了企业网络中受管资源的描述与使用。WBEM建立在通用信息模型(Common Information Model (CIM, 由Desktop Management Task Force,即DMTF推动的工业化标准))规划(schema)的基础上。WBEM提出了一个标准化的的方法用于建立统一的框架,不同技术和平台上产生的管理信息均以相同的形式供管理程序访问,这样就减少了维护费用和企业网络的寿命周期成本(life cycle costs)。(注:Common除了译为“通用”,也可译为“公共”)

文件系统驱动编程基础篇之4——Wmi管理规范

  从根本上说,WBEM提供了数据定义的信息标准和组件交互的处理标准。

  二)CIM是一种机制,用于为受管资源建模并以受管对象格式(Managed Object Format (MOF))表现这些模型。使用 CIM 和 MOF,组成受管资源或资源网络的组件可以象在面向对象设计过程中使用的组件一样被建模和看待。

  CIM由一个核心模型,许多通用模型以及扩展模型组成。核心模型是一系列类、连接和属性的集合,该对象组提供了所有管理域公用的基本信息模型;通用模型提供特定管理域的通用信息模型,这些特定的管理域,如系统、应用程序、设备、用户和网络等;扩展模型代表通用模型的特定技术扩展。

  A core model—incorporates classes applicable to all management domains.

  Common models—incorporate classes common to specific management domains, independent of particular technologies or implementations. Common domains include systems, applications, devices, users, and networks. These models provide a basis for the development of management applications and include a set of base classes for extension into technology-specific areas.

  Extension models—these represent technology-specific extensions of the common models. These models are specific to environments, such as operating systems (for example, UNIX, or Microsoft Windows).

  三)Windows Management Instrumentation——通常译为WMI管理规范,是微软提出的,与WBEM兼容的技术,同样也兼容于CIM2.0或2.5。WMI是Windows管理服务的主要组件,它提供的功能如下(从资料2节选,重点记忆红字即可mcieels):

  A rich and consistent model of Windows 98 and Windows 2000 operation, configuration, and status. 是一个模型

  A COM API that supplies a single point of access to all management information. 可COM访问

  Interoperability with other Windows 2000 management services, which will simplify vendors' efforts to create well-integrated management applications. 可协作

  A flexible architecture that allows vendors to extend the information model to cover new devices, applications, and other enhancements by writing code modules (WMI providers). 可扩展

  A powerful event architecture that allows changes in management information to be identified, aggregated, compared to and associated with other management information, and forwarded to local or remote management applications. 有事件机制

  A rich query language(WQL) that enables detailed queries of the information model. 可查询

  A scriptable API, which enables management application developers to use Visual Basic? or Windows Script Host (WSH). 可脚本访问

文件系统驱动编程基础篇之4——Wmi管理规范

  图10-2是上图架构的简化,在WMI模型中,数据和事件被分成了消费者(Consumers)和生产者(Providers)两类。数据块就是抽象类的实例,其概念与C++中的类概念一致。如同C++中的类,WMI类也有数据成员和实现对象行为的方法。数据块中的内容并不是由WMI指定,而是由数据生产者和数据的使用目的决定的。送往驱动程序的数据最有可能来自管理者本身的操作。而驱动程序发出的数据通常是某种性能的统计数据,这些数据的消费者可能是某个性能监视程序。

文件系统驱动编程基础篇之4——Wmi管理规范

文件系统驱动编程基础篇之4——Wmi管理规范

  WMI类允许同时存在全球化和本地化的数据,详看资料3。

  WMI类又可称为主类(master class),由基类(basic class)和amendment(修正,纠正之意,用于本地化,难以揣摩合适的译文^_^)类组成。主类包含所有的属性集和限定(qualifiers)。基类是主类的子集,包含所有的属性集和部分限定,不包含本地限定(localizable qualifiers)。amendment和主类具有相同的名字,是一个抽象类,包含了关于本地限定的属性子集(includes a subset of properties with localizable qualifiers),不包含主类的其他属性。

  amendment总是位于包含基类定义的命名空间下的子命名空间。每一个子命名空间包含着特别本地化(particular locale)的amendment类,这样设计的结果是多种语言的子命名空间可以被加入到储存库(repository,见架构图)中,因此可同时存在多种语言的类定义:

  ROOT\CIMV2

  ROOT\CIMV2\MS_409

  ROOT\CIMV2\MS_407

  WMI允许存在多重命名空间,每个命名空间中包含的类属于一个或多个用户模式生产者。生产者使用平台SDK中公开的COM接口来注册Windows管理服务(Windows Management Service)。操作系统(包括所有设备驱动程序)支持一个名为root\cimv2的命名空间,里面包含了CIM版本2。

  四)WDM驱动程序可以作为WMI类实例的生产者。一个描述了驱动程序支持的各种类(驱动程序可以为这些类提供数据)的脚本称为驱动程序规划(schema)。我们可以使用MOF(Managed Object Format)语言定义规划。系统则维护一个称为储存库(repository)的数据字典,它包含了所有已知的规划定义。如果驱动程序做得正确,系统将在初始化驱动程序时自动把规划放到储存库中。

  WDM生产者是WMI生产者的一个组成部分,它可以访问WDM硬件驱动的类、实例、方法和事件。硬件驱动的类位于root\wmi命名空间,Wmi.mof和Wmicore.mof定义了主要的WDM类。WDM生产者允许管理程序从满足WMI-for-WDM的设备驱动访问数据和事件,生产者主要以IWbemServices接口的形式提供这些服务。

  为了查看命名空间,可到微软站点下载安装WMITools软件。WMI CIM Studio以树视图的形式展现了分层的命名空间。

共4页 首页 上一页 1 2 3 4 下一页 尾页 跳转到
相关内容
赞助商链接