// Copyright (c) 1997-2004 Microsoft Corporation, All Rights Reserved #pragma autorecover #pragma classflags(64) #pragma namespace("\\\\.\\root\\Hardware") instance of __namespace{ name="ms_804";}; #pragma namespace("\\\\.\\root\\Hardware\\ms_804") [Description("ManagedElement 是一个抽象类,它为 CIM 架构中的非关联类提供一个公共超类(或继承树的顶部)。") : Amended ToSubclass,AMENDMENT, LOCALE(0x0804)] class CIM_ManagedElement { [Description("Caption 属性是关于对象的简短文字描述(只有一行的字符串)。") : Amended ToSubclass] string Caption; [Description("Description 属性提供关于对象的文字描述。") : Amended ToSubclass] string Description; [Description("对象的用户友好名称。此属性不仅允许每个实例定义其键属性/标识数据和描述信息,还允许每个实例定义一个用户友好名称。\n请注意,ManagedSystemElement 的 Name 属性也定义为用户友好名称。但是,通常会为此属性创建子类作为键。同一属性既表示标识又表示用户友好名称而又不会导致不一致,是不合逻辑的。如果 Name 存在但不是键(例如对于 LogicalDevice 实例),则 Name 属性和 ElementName 属性中可能存在相同信息。") : Amended ToSubclass] string ElementName; }; [Description("CIM_ManagedSystemElement 是系统元素层次结构的基类。任何可辨别的系统组件都能包含在此类中。系统组件的示例包括:\n- 应用程序服务器、数据库和应用程序等软件组件 \n- 文件、进程和线程等操作系统组件 \n- 磁盘驱动器、控制器、处理器和打印机等设备组件 \n- 芯片和卡等物理组件。") : Amended ToSubclass,AMENDMENT, LOCALE(0x0804)] class CIM_ManagedSystemElement : CIM_ManagedElement { [Description("一个日期/时间值,用于指示对象的安装时间。缺少该值并不指示未安装对象。") : Amended ToSubclass] datetime InstallDate; [Description("Name 属性定义用于标识对象的标签。创建子类时,可以将 Name 属性重写为 Key 属性。") : Amended ToSubclass] string Name; [Description("指示元素的当前状态。定义了各种运行状态。许多枚举值都是无需解释的。但是,也有少数值并非如此,下面将对这些值予以详细说明。\n“已强调”指示元素正在工作,但需要注意。例如,过载、过热等都属于“已强调”状态。\n“预计故障”指示元素表面上正在工作,但预计不久会出现故障。\n“服务中”说明正在对元素进行配置、维护、清理或其他方式的管理。\n“无连接”指示监视系统了解此元素,但是一直无法与其建立通信。\n“通信中断”指示 ManagedSystem 元素已知存在,并且过去曾成功建立连接,但是当前不可访问。\n“已停止”和“已中止”类似,只是前者暗示正常有序地停止,而后者暗示紧急停止,元素的状态和配置可能需要更新。\n“休止”指示元素处于非活动状态或静止状态。\n“支持实体出错”指示此元素可能“正常”,但此元素所依赖的另一个元素出现错误。由于更低层的网络问题而无法正常工作的网络服务或终结点就属于这种情况。\n“已完成”指示该元素已完成操作。此值应与“正常”、“错误”或“已降级”组合使用,使客户端可以确定整个操作是已通过(已正常地完成)还是出现故障(已完成但出现错误)。“已完成但已降级”暗示操作已完成,但未“正常”完成或报告错误。\n“电源模式”指示元素在关联的 PowerManagementService 关联中包含其他电源模式信息。\nOperationalStatus 替换 ManagedSystemElement 中的 Status 属性,以便提供一致的枚举方法,满足数组属性的实施需要,以及从当前的环境迁移到未来的环境。以前之所以未进行此更改,是因为需要 DEPRECATED 限定符。由于在管理应用程序中广泛使用现有的 Status 属性,强烈建议提供程序或工具同时提供 Status 和 OperationalStatus 属性。此外,OperationalStatus 的第一个值应包含元素的主要状态。如果进行检测,Status (由于是单值的)也应提供元素的主要状态。") : Amended ToSubclass,Values{"未知", "其他", "正常", "已降级", "已强调", "预计故障", "错误", "不可恢复的错误", "正在启动", "正在停止", "已停止", "服务中", "无连接", "通信中断", "已中止", "休止", "支持实体出错", "已完成", "电源模式", "DMTF 保留", "供应商保留"} : Amended ToSubclass] uint16 OperationalStatus[]; [Description("描述各种 OperationalStatus 数组值的字符串。例如,如果为 OperationalStatus 分配的值为“正在停止”,则此属性可能包含关于为何正在停止对象的解释。请注意,此数组中的项与 OperationalStatus 中处于相同数组索引处的项相关。") : Amended ToSubclass] string StatusDescriptions[]; [Description("一个指示对象当前状态的字符串。各种运行和非运行状态均已定义。此属性已弃用,取而代之的是 OperationalStatus,后者在其枚举中包括相同的语义。此更改出于以下 3 个原因: 1) 以数组的形式定义状态会更准确。当某个状态实际上是多值属性时(例如,某个元素的状态可能是“正常”和“已停止”),此定义就能克服通过单个值描述状态的局限性。2) MaxLen 为 10 的限制太严格,导致枚举值模糊不清。3) 对 uint16 数据类型的更改在定义 CIM V2.0 时已讨论。但是,现有 V1.0 实施使用了字符串属性,不希望修改其代码。因此,状态已归属到架构中。使用 Deprecated 限定符不仅可以保留现有属性,而且允许使用 OperationalStatus 改进定义。") : Amended ToSubclass] string Status; [Description("指示元素的当前运行状况。此属性表明该元素(不必是其子组件)的运行状况。可能的值为 0 到 30,其中 5 表示元素完全正常,30 表示元素完全无法工作。定义的状态集如下: \n“不可恢复的错误”(30) - 元素以失败告终,并且无法恢复。此元素提供的所有功能均已丧失。\n“严重故障”(25) - 元素无法工作,并且可能无法恢复。\n“主要故障”(20) - 元素出现故障。此组件的部分或全部功能可能已降级或无法使用。\n“次要故障”(15) - 所有功能均可使用,但是有些功能可能已降级。\n“已降级/警告”(10) - 元素正常工作,并且提供所有功能。但是元素未最大程度地发挥其功能。例如,元素可能未以最佳性能运行,或正在报告可恢复的错误。\n“正常”(5) - 元素功能完全正常,并使用正常的操作参数运行,没有出现错误。\n“未知”(0) - 该实现此时无法报告 HealthState。\nDMTF 已保留了状态集的未用部分,以便将来供附加的 HealthState 使用。") : Amended ToSubclass,Values{"未知", "正常", "已降级/警告", "次要故障", "主要故障", "严重故障", "不可恢复的错误", "DMTF 保留"} : Amended ToSubclass] uint16 HealthState; }; [Description("CIM_LogicalElement 是所有代表抽象系统组件(例如文件、进程或 LogicalDevices)的系统组件的基类。") : Amended ToSubclass,AMENDMENT, LOCALE(0x0804)] class CIM_LogicalElement : CIM_ManagedSystemElement { }; [Description("此类扩展了 LogicalElement,以对已启用和已禁用元素(如 LogicalDevice 或 ServiceAccessPoint)的概念进行抽象。") : Amended ToSubclass,AMENDMENT, LOCALE(0x0804)] class CIM_EnabledLogicalElement : CIM_LogicalElement { [Description("EnabledState 是一个指示元素的启用/禁用状态的整数枚举。它也可以指示这些请求状态之间的转换。例如,“正在关闭”(值 = 4)和“正在启动”(值 = 10)是“已启用”和“已禁用”之间的临时状态。以下文本简要概述了各种启用/禁用状态: \n“已启用”(2)指示元素正在/可能在执行命令,将处理任何排队的命令并将新请求排入队列。\n“已禁用”(3)指示元素将不执行命令,并丢弃任何新请求。\n“正在关闭”(4)指示元素正处于向“已禁用”状态转换的过程中。\n“不适用”(5)指示元素不支持被启用/禁用。\n“已启用但脱机”(6)指示元素可能会完成命令,但将丢弃任何新请求。\n“测试”(7)指示元素处于测试状态。\n“已延迟”(8)指示元素可能会完成命令,但会将任何新请求排入队列。\n“静止”(9)指示元素已启用但处于受限制模式。元素的行为类似于“已启用”状态,但它只处理有限的命令集。所有其他请求将排入队列。\n“正在启动”(10)指示元素正处于向“已启用”状态转换的过程中。新请求将排入队列。") : Amended ToSubclass,Values{"未知", "其他", "已启用", "已禁用", "正在关闭", "不适用", "已启用但脱机", "正在测试", "已延迟", "静止", "正在启动", "DMTF 保留", "供应商保留"} : Amended ToSubclass] uint16 EnabledState; [Description("一个字符串,用于在 EnabledState 属性设置为 1 (“其他”)时描述元素的启用/禁用状态。当 EnabledState 为 1 以外的任何值时,必须将此属性设置为 NULL。") : Amended ToSubclass] string OtherEnabledState; [Description("RequestedState 是一个整数枚举,用于指示元素的上次请求状态或所需状态。元素的实际状态由 EnabledState 表示。提供此属性是为了比较上次请求的状态和当前启用/禁用状态。请注意,当 EnabledState 设置为 5 (“不适用”)时,此属性没有任何意义。默认情况下,元素的 RequestedState 是 5 (“无更改”)。有关 RequestedState 枚举中的值的解释,请参阅 EnabledState 的属性描述。\n\n应注意的是,在 RequestedState 中有两个新值是基于 EnabledState 的状态构建的。这两个值是“重新启动”(10)和“重置”(11)。前者(“重新启动”)指的是执行“关闭”然后转换到“已启用”状态。后者(“重置”)指示元素先处于“已禁用”状态,然后处于“已启用”状态。此外,还应注意请求“关闭”和“已禁用”之间的区别。前者(“关闭”)请求按顺序转换到“已禁用”状态,并可能涉及移除电源,以完全清除任何现有状态。后者(“已禁用”状态)请求立即禁用该元素,这样该元素就不会执行或接受任何命令或处理请求。\n\n此属性设置为方法调用(如 CIM_Service 上的 Start 或 StopService)的结果,也可以在子类中重写并定义为 WRITEable。使用方法进行处理被认为优于使用 WRITEable 属性,因为它允许显式调用操作并返回结果代码。\n\nEnabledLogicalElement 的特定实例可能不支持 RequestedStateChange。如果出现这种情况,则将使用值 12 (“不适用”)。") : Amended ToSubclass,Values{"已启用", "已禁用", "关闭", "无更改", "脱机", "测试", "已延迟", "静止", "重新启动", "重置", "不适用", "DMTF 保留", "供应商保留"} : Amended ToSubclass] uint16 RequestedState; [Description("一个枚举值,用于指示管理员为元素的启用状态提供的默认配置/启动配置。默认情况下,元素“已启用”(值 = 2)。") : Amended ToSubclass,Values{"已启用", "已禁用", "不适用", "已启用但脱机", "没有默认值", "DMTF 保留", "供应商保留"} : Amended ToSubclass] uint16 EnabledDefault; [Description("上次更改元素的 EnabledState 的日期/时间。如果元素的状态未更改而此属性已填充,则必须将其设为 0 时间间隔值。如果已请求状态更改,但被拒绝或尚未处理,则不能更新此属性。") : Amended ToSubclass] datetime TimeOfLastStateChange; [Description("请求将元素的状态更改为 RequestedState 参数中指定的值。当请求的状态更改发生时,元素的 EnabledState 和 RequestedState 将相同。多次调用 RequestStateChange 方法可能导致以前的请求被覆盖/丢失。\n如果返回 0,则指示任务已成功完成,并且不需要使用 ConcreteJob。如果返回 4096 (0x1000),则任务将需要一些时间才能完成,ConcreteJob 将被创建,其引用将在输出参数 Job 中返回。任何其他返回代码均指示错误情况。") : Amended ToSubclass,Values{"已完成且没有错误", "不支持", "未知/未指定的错误", "在超时期限内无法完成", "失败", "无效的参数", "正在使用", "DMTF 保留", "已检查方法参数 - 作业已启动", "无效的状态转换", "不支持使用超时参数", "忙碌", "方法保留", "供应商特定"} : Amended ToSubclass] uint32 RequestStateChange([IN,Description("为元素请求的状态。如果 RequestStateChange 方法的返回代码为 0、3 或 4096 (0x1000) - 分别对应于“已完成且没有错误”、“超时”或“作业已启动”,则会将此信息放入到实例的 RequestedState 属性中。有关 RequestedState 值的详细含义,请参阅 EnabledState 和 RequestedState 属性的描述。") : Amended ToSubclass,Values{"已启用", "已禁用", "关闭", "脱机", "测试", "延迟", "静止", "重新启动", "重置", "DMTF 保留", "供应商保留"} : Amended ToSubclass] uint16 RequestedState,[IN(FALSE),OUT,Description("对作业的引用(如果任务已完成,则可能为 Null)。") : Amended ToSubclass] CIM_ConcreteJob Ref Job,[IN,Description("指定客户端预期转换到新状态所需最长时间的超时期限。必须使用时间间隔格式来指定 TimeoutPeriod。值为 0 或 Null 参数指示客户端对转换没有时间要求。\n如果此属性不包含 0 或 Null 并且相应的实现不支持此参数,则必须返回“不支持使用超时参数”的返回代码。") : Amended ToSubclass] datetime TimeoutPeriod); }; [Description("CIM_System 表示由组件部分(通过 SystemComponent 关系定义)组成的作为一个“功能整体”运行的实体。System 是 CIM 层次结构中的顶级对象,不需要作用域或只需要较弱的关系即可存在并具有上下文。应在企业级唯一命名并管理 System。例如,ComputerSystem 是一种 System,可以在企业中唯一命名并独立管理。但是,计算机中的电源(或电源子“系统”)并非如此。\n\n尽管可以将 System 视为 Collection,但这不是正确的模型。Collection 只是“容纳”成员的一个“容器”。System 是更高级别的抽象,是在其各个组件之外构建的。它不仅仅是各个部分的总和。请注意,System 是 EnabledLogicalElement 的子类,允许整个抽象在比启用或禁用其组件部分更高的级别上进行功能性启用或禁用。") : Amended ToSubclass,AMENDMENT, LOCALE(0x0804)] class CIM_System : CIM_EnabledLogicalElement { [Key,Description("CreationClassName 指示在创建实例时使用的类或子类的名称。此属性与该类的其他键属性一起使用时,可以唯一标识该类及其子类的所有实例。") : Amended ToSubclass] string CreationClassName; [Key,Description("继承的 Name 用作企业环境中 System 实例的键。") : Amended ToSubclass] string Name; [Description("System 对象及其派生对象是 CIM 的顶级对象。它们为大量组件提供作用域。必须具备唯一的 System 键。可以在 System 的各个子类中定义启发,尝试始终生成相同的 System 名称键。NameFormat 属性标识如何使用子类的启发生成了 System 名称。") : Amended ToSubclass] string NameFormat; [Description("主系统所有者的名称。系统所有者是系统的主要用户。") : Amended ToSubclass] string PrimaryOwnerName; [Description("一个字符串,提供主要系统所有者的联系信息(如电话号码、电子邮件地址等)。") : Amended ToSubclass] string PrimaryOwnerContact; [Description("指定此 System 在托管环境中所充当的管理员定义角色的字符串数组(容器)。例如“构建 8 台打印服务器”或“Boise 用户目录”。一个系统可以履行多个角色。\n请注意,System 的“角色”的工具视图通过实例化 System 的特定子类和/或子类中的属性进行定义。例如 ComputerSystem 的用途是通过 Dedicated 和 OtherDedicatedDescription 属性进行定义的。") : Amended ToSubclass] string Roles[]; }; [Description("这是 ManagedSystemElement 的一个特殊分组。该分组被视为一个实体,反映其所有组件由相同的用户、用户组或策略进行类似的管理。该分组作为一个聚合点,将下列一个或多个元素关联起来: 终端系统可以访问的网络设备(例如路由器和交换机)、服务器和其他资源。此设备分组的作用不可或缺,可以确保对该分组中的所有设备应用相同的管理策略和操作。AdminDomain 的特定行为和/或语义可以通过其聚合和关联的实体来标识。") : Amended ToSubclass,AMENDMENT, LOCALE(0x0804)] class CIM_AdminDomain : CIM_System { [Description("NameFormat 属性确定如何使用 CIM V2 系统模型规范中指定的启发生成 AdminDomain 的名称。此属性假定通过按顺序遍历记录的规则来确定和分配名称。NameFormat 值列表定义了分配 AdminDomain 名称的优先顺序。\n\n\"FC\" 已弃用并已由 \"WWN\" 代替,以便与其他 ValueMap 保持一致。") : Amended ToSubclass,Values{"其他", "自治系统", "网络访问提供商", "网络运营中心", "接入点", "区域网络提供商", "IP", "IPX", "SNA", "拨号", "WAN", "LAN", "ISDN", "帧中继", "ATM", "E.164", "Infiniband", "光纤通道", "策略存储库", "光纤通道全球通用名称"} : Amended ToSubclass] string NameFormat; }; [Description("从 System 派生的类,是一个特殊的 ManagedSystemElement 集合。此集合提供计算功能,并作为一个聚合点,将下列一个或多个元素关联起来: FileSystem、OperatingSystem、Processor 和 Memory (Volatile 存储和/或 NonVolatile 存储)。") : Amended ToSubclass,AMENDMENT, LOCALE(0x0804)] class CIM_ComputerSystem : CIM_System { [Description("ComputerSystem 对象及其派生对象是 CIM 的顶级对象。它们为大量组件提供作用域。必须具备唯一的 System 键。NameFormat 属性确定如何生成 ComputerSystem 名称。NameFormat ValueMap 限定符定义了用于分配名称的各种机制。请注意,可以使用继承的 ElementName 属性分配其他名称并将其用于 ComputerSystem,以更好地满足企业需求。") : Amended ToSubclass] string NameFormat; [Description("除了系统名称信息之外,OtherIdentifyingInfo 还捕获其他可用于标识 ComputerSystem 的数据。一个示例就是保留节点的光纤通道全球通用名称(WWN)。请注意,只要光纤通道名称存在并且唯一(可以用作 System 键),则此属性将为 NULL,而 WWN 将成为 System 键,其数据放置在 Name 属性中。") : Amended ToSubclass] string OtherIdentifyingInfo[]; [Description("一个自由格式的字符串数组,用于为 OtherIdentifying Info 数组中的项提供说明和详细信息。请注意,此数组的每一项与 OtherIdentifyingInfo 中处于相同索引处的项有关。") : Amended ToSubclass] string IdentifyingDescriptions[]; [Description("一个枚举,用于指示 ComputerSystem 是否是具有特殊用途(与“一般用途”相对)的系统(即专用于特定用途)。例如,可以指定系统专用于“打印”(值=11)或用作“集线器”(值=8)。\n对值 17 (“移动用户设备”)需要进行说明。例如,移动电话或商店中的条形码扫描仪(通过无线射频进行通信)属于专用用户设备。这些系统在功能和可编程性方面非常有限,并不被视为“一般用途”的计算平台。而手持式计算机则属于“一般用途”(即非专用)的移动系统。尽管其可编程性有限,但是用户可以下载新软件,并可以扩展其功能。") : Amended ToSubclass,Values{"非专用", "未知", "其他", "存储", "路由器", "交换机", "第 3 层交换机", "中央办公室交换机", "集线器", "访问服务器", "防火墙", "打印", "I/O", "Web 缓存", "管理", "块服务器", "文件服务器", "移动用户设备", "中继器", "网桥/扩展器", "网关", "存储仿真器", "媒体库", "ExtenderNode", "NAS 头", "独立 NAS", "UPS", "IP 电话", "DMTF 保留", "供应商保留"} : Amended ToSubclass] uint16 Dedicated[]; [Description("一个字符串,用于描述在 Dedicated 数组中包括值 2 (“其他”)时如何或为何使系统成为专用系统。") : Amended ToSubclass] string OtherDedicatedDescriptions[]; [Description("如果已启用(值 = 4),则可以通过硬件(例如电源和重置按钮)重置 ComputerSystem。如果已禁用(值 = 3),则不允许硬件重置。除了“已启用”和“已禁用”外,还定义了其他属性值 -“未实现”(5)、“其他”(1)和“未知”(2)。") : Amended ToSubclass,Values{"其他", "未知", "已禁用", "已启用", "未实现"} : Amended ToSubclass] uint16 ResetCapability; [Description("描述 ComputerSystem 的电源管理功能的枚举数组。此属性已弃用。应改用关联的 PowerManagement Capabilities 类中的 PowerCapabilites 属性。") : Amended ToSubclass,Values{"未知", "不支持", "已禁用", "已启用", "自动进入节能模式", "可设置电源状态", "支持电源重启", "支持定时通电"} : Amended ToSubclass] uint16 PowerManagementCapabilities[]; [Description("设置计算机的电源状态。此方法已弃用。改用关联的 PowerManagementService 类中的 SetPowerState 方法。") : Amended ToSubclass] uint32 SetPowerState([IN,Description("ComputerSystem 所需的状态。") : Amended ToSubclass,Values{"全功耗", "节能 - 低功耗模式", "节能 - 待机", "节能 - 其他", "电源重启", "关闭电源", "休眠", "软关机"} : Amended ToSubclass] uint32 PowerState,[IN,Description("Time 指明应何时设置电源状态,它要么是一个常规的日期时间值,要么是一个间隔时间值(其中间隔时间从收到方法调用时开始)。") : Amended ToSubclass] datetime Time); }; [Description("Collection 是一个抽象类,它为表示 ManagedElements 及其子类的集合的数据元素提供公共超类。") : Amended ToSubclass,AMENDMENT, LOCALE(0x0804)] class CIM_Collection : CIM_ManagedElement { }; [Description("SystemSpecificCollection 表示由 System 设置作用域(或包含)的一般概念的集合。它表示只有在 System 的上下文中才有意义的集合和/或其元素受 System 定义限制的集合。这在(必需的)关联 HostedCollection 进行了明确描述。\n在 AdminDomain 的上下文中收集网络端口、端口分组和别名(根据客户要求)的光纤通道区就属于 SystemSpecificCollection 的示例。该集合不属于域的一部分,只是域中的设备和其他集合的任意分组。换句话说,集合的上下文已限制到域,其成员也受域的限制。") : Amended ToSubclass,AMENDMENT, LOCALE(0x0804)] class CIM_SystemSpecificCollection : CIM_Collection { [Key,Description("在实例化 Namespace 的作用域内,InstanceID 以不透明的方式唯一标识此类的实例。为了确保在 NameSpace 中的唯一性,InstanceID 的值应使用下列“首选”算法构造: \n: \n其中 通过冒号(\":\")分隔, 必须包括由创建/定义 InstanceID 的商业实体拥有的版权化、商标化或其他形式的唯一名称,或是由公认的全球性机构为商业实体分配的注册 ID (类似于架构类名的 <架构名称>_<类名> 结构)。此外,为了确保唯一性, 不得包含冒号(\":\")。在使用此算法时,InstanceID 中的第一个冒号必须出现在 之间。\n 由商业实体选择,不应反复用于标识不同的基础(实际)元素。如果不使用上面的“首选”算法,定义实体必须确保不在此提供程序或其他提供程序为此实例的 NameSpace 生成的任何 InstanceID 间重复使用生成的 InstanceID。\n对于 DMTF 定义的实例,使用“首选”算法时, 必须设置为 \"CIM\"。") : Amended ToSubclass] string InstanceID; }; [Description("一种不一定在物理硬件中实现的硬件实体的抽象或仿真。任何用于管理逻辑设备操作或配置的逻辑设备特征都包含在 LogicalDevice 对象中或与之相关联。打印机操作属性的示例将包括支持的纸张大小或检测到的错误。传感器设备配置属性的示例将包括阈值设置。一个逻辑设备可存在多个配置。这些配置可以包含在 Setting 对象中并与 LogicalDevice 相关联。") : Amended ToSubclass,AMENDMENT, LOCALE(0x0804)] class CIM_LogicalDevice : CIM_EnabledLogicalElement { [Key,Description("作用域系统的 CreationClassName。") : Amended ToSubclass] string SystemCreationClassName; [Key,Description("作用域系统的名称。") : Amended ToSubclass] string SystemName; [Key,Description("CreationClassName 指示在创建实例时使用的类或子类的名称。此属性与该类的其他键属性一起使用时,可以唯一标识该类及其子类的所有实例。") : Amended ToSubclass] string CreationClassName; [Key,Description("唯一命名 LogicalDevice 的地址或其他标识性信息。") : Amended ToSubclass] string DeviceID; [Description("布尔值,指明设备是否支持电源管理。已弃用此属性,取而代之的是使用一个关联的 PowerManagementCapabilities 类(使用 ElementCapabilities 关系进行关联)来指明支持电源管理。") : Amended ToSubclass] boolean PowerManagementSupported; [Description("一个枚举数组,用于描述设备的电源管理功能。已弃用此属性,取而代之的是使用一个关联的 PowerManagementCapabilities 类中的 PowerCapabilites 属性。") : Amended ToSubclass,Values{"未知", "不支持", "已禁用", "已启用", "自动进入节能模式", "可设置电源状态", "支持电源重启", "支持定时通电"} : Amended ToSubclass] uint16 PowerManagementCapabilities[]; [Description("设备的主要可用性和状态。(其他状态信息可以使用 Additional Availability 数组属性指定。)例如,Availability 属性指示设备是正在运行且采用全功率模式(值 = 3),还是处于警告(4)、测试(5)、已降级(10)或节能状态(值 13-15 和 17)。有关节能状态的定义如下: 值 13 (“节能 - 未知”)指示已知设备处于节能模式,但不知其确切状态;14 (“节能 - 低功率模式”)指示设备处于节能状态,但仍在运行并可能表现出性能已下降;15 (“节能 - 待机”)指示设备未在运行但可以快速转入全功率运行状态;值 17 (“节能 - 警告”)指示设备虽然处于节能模式,但也处于警告状态。") : Amended ToSubclass,Values{"其他", "未知", "正在运行/全功耗", "警告", "正在测试", "不适用", "关闭电源", "脱机", "休息", "已降级", "未安装", "安装错误", "节能 - 未知", "节能 - 低功耗模式", "节能 - 待机", "电源重启", "节能 - 警告", "已暂停", "未就绪", "未配置", "已静止"} : Amended ToSubclass] uint16 Availability; [Description("StatusInfo 属性指示逻辑设备是处于“已启用”(值 = 3)、“已禁用”(值 = 4)还是“其他”(1)或“未知”(2)状态。如果此属性不适用于 LogicalDevice,则应使用值 5 (“不适用”)。StatusInfo 已弃用,取而代之的是名称更明确的属性 EnabledState,后者继承自 ManagedSystemElement,包含更多枚举值。\n如果设备(“已启用”)(值 = 3),则表示设备已接通电源,并且已经过配置,可以正常工作。设备的功能不一定处于活动状态,具体取决于设备的 Availability (或 AdditionalAvailability)指示设备是处于(“正在运行/全功率”)(值 = 3)状态还是处于(“脱机”)(值 = 8)状态。如果处于“已启用但脱机”模式,设备可能正在执行带外请求,例如运行诊断功能。如果处于(“已禁用”)(StatusInfo 值=4)状态,设备只能被“启用”或关闭电源。在个人计算机环境中,(“已禁用”)意味着设备的驱动程序不在堆栈中。在其他环境中,可以通过删除设备的配置文件来禁用设备。禁用的设备在物理上存在于系统中并且占用资源,但在加载驱动程序、加载配置文件或发生其他某种“启用”活动之前,无法与该设备进行通信。") : Amended ToSubclass,Values{"其他", "未知", "已启用", "已禁用", "不适用"} : Amended ToSubclass] uint16 StatusInfo; [Description("LastErrorCode 捕获 LogicalDevice 报告的上一个错误代码。") : Amended ToSubclass] uint32 LastErrorCode; [Description("ErrorDescription 是一个自由格式字符串,提供有关 LastErrorCode 中所记录错误的更多信息,以及可以采取的任何纠正操作的信息。") : Amended ToSubclass] string ErrorDescription; [Description("ErrorCleared 是一个布尔属性,指明现已清除 LastErrorCode 中报告的错误。") : Amended ToSubclass] boolean ErrorCleared; [Description("OtherIdentifyingInfo 捕获 DeviceID 信息之外可能用于标识 LogicalDevice 的其他数据。例如,在此属性中保持设备操作系统的用户友好名称。") : Amended ToSubclass] string OtherIdentifyingInfo[]; [Description("此设备自上次电源重启以来连续处于通电状态的小时数。") : Amended ToSubclass] uint64 PowerOnHours; [Description("此设备通电的总小时数。") : Amended ToSubclass] uint64 TotalPowerOnHours; [Description("一个自由格式的字符串数组,用于为 OtherIdentifyingInfo 数组中的项提供说明和详细信息。请注意,此数组的每一项与 OtherIdentifyingInfo 中处于相同索引处的项有关。") : Amended ToSubclass] string IdentifyingDescriptions[]; [Description("除 Availability 属性中指定的设备可用性和状态之外的其他设备可用性和状态。Availability 属性指示设备的主要状态和可用性。在某些情况下,此属性不足以指示设备的完整状态。在这些情况下,可以使用 AdditionalAvailability 属性提供进一步的信息。例如,设备的主要可用性可以是“脱机”(值 = 8),但可能还处于低功率状态(AdditonalAvailability 值 = 14),或者设备可能正在运行诊断功能(AdditionalAvailability 值 = 5“正在测试”)。") : Amended ToSubclass,Values{"其他", "未知", "正在运行/全功耗", "警告", "正在测试", "不适用", "关闭电源", "脱机", "休息", "已降级", "未安装", "安装错误", "节能 - 未知", "节能 - 低功耗模式", "节能 - 待机", "电源重启", "节能 - 警告", "已暂停", "未就绪", "未配置", "已静止"} : Amended ToSubclass] uint16 AdditionalAvailability[]; [Description("MaxQuiesceTime 属性已弃用。在评估“静止”的使用时,已确定此单个属性不足以描述设备将自动退出静止状态的时间。实际上,已确定了设备退出静止状态的最可能方案将基于队列中未处理的请求数,而不是基于最长时间。这将在以后进行重新评估和重新定位。\n设备可以在“已静止”状态下运行的最长时间(以毫秒为单位)。设备的状态在其 Availability 和 AdditionalAvailability 属性中定义,其中“已静止”由值 21 表示。在到达时间限制时发生的情况取决于设备。设备可能会退出静止状态,可能会脱机,也可能会执行其他操作。值为 0 指示设备可以无限期保持静止状态。") : Amended ToSubclass] uint64 MaxQuiesceTime; [Description("设置设备的电源状态。已弃用此方法,取而代之的是使用关联的 PowerManagementService 类中的 SetPowerState 方法。") : Amended ToSubclass] uint32 SetPowerState([IN,Description("要设置的电源状态。") : Amended ToSubclass,Values{"全功耗", "节能 - 低功耗模式", "节能 - 待机", "节能 - 其他", "电源重启", "关闭电源"} : Amended ToSubclass] uint16 PowerState,[IN,Description("Time 指明应何时设置电源状态,它要么是一个常规的日期时间值,要么是一个间隔时间值(其中间隔时间从收到方法调用时开始)。") : Amended ToSubclass] datetime Time); [Description("请求重置 LogicalDevice。如果该请求已成功执行,返回值应为 0;如果该请求不受支持,返回值应为 1;如果出错,返回值应为其他某个值。在子类中,可以在方法中使用 ValueMap 限定符指定可能的返回代码集。ValueMap 内容“转换”为的字符串也可以在该子类中指定为 Values 数组限定符。") : Amended ToSubclass] uint32 Reset(); [Description("EnableDevice 方法已弃用,取而代之的是更一般的 RequestStateChange 方法,后者与此方法提供的功能直接重叠。\n请求启用(“启用”输入参数 = TRUE)或禁用(输入参数 = FALSE) LogicalDevice。如果成功,设备的 StatusInfo/EnabledState 属性应反映所需的状态(已启用/已禁用)。请注意,此方法的功能与 RequestedState 属性重叠。RequestedState 已添加到模型中,以维护上一个状态请求的记录(即保留值)。调用 EnableDevice 方法时应相应地设置 RequestedState 属性。\n如果该请求已成功执行,返回代码应为 0,如果该请求不受支持,返回代码应为 1,如果出错,返回代码应为其他某个值。在子类中,可以在方法中使用 ValueMap 限定符指定可能的返回代码集。ValueMap 内容“转换”为的字符串也可以在该子类中指定为 Values 数组限定符。") : Amended ToSubclass] uint32 EnableDevice([IN,Description("如果为 TRUE,则启用设备;如果为 FALSE,则禁用设备。") : Amended ToSubclass] boolean Enabled); [Description("OnlineDevice 方法已弃用,取而代之的是更一般的 RequestStateChange 方法,后者与此方法提供的功能直接重叠。\n请求将 LogicalDevice 联机(“联机”输入参数 = TRUE)或脱机(输入参数 = FALSE)。“联机”指示设备已准备好接受请求、可正常工作并且正在完全正常地运行。在这种情况下,设备的 Availability 属性值将设置为 3 (“正在运行/全功率”)。“脱机”指示设备已接通电源并且可以正常工作,但是未处理功能请求。在脱机状态下,设备也许可以运行诊断功能或生成操作警报。例如,在打印机上按下“脱机”按钮时,设备将无法再处理打印作业,但可用于诊断或维护。\n如果此方法成功,设备的 Availability 和 AdditionalAvailability 属性应反映更新后的状态。如果尝试将设备联机或脱机时出现故障,则应保持当前状态。也就是说,如果不成功,请求不应使设备处于中间状态。在将设备从“脱机”模式恢复为“联机”模式时,应尽可能将设备还原到其上一个“联机”状态。仅当设备的 EnabledState/StatusInfo 为“已启用”并且设备已经过配置时,该设备才可以联机或脱机。\n如果成功,OnlineDevice 应返回 0;如果根本不支持该请求,应返回 1;如果由于设备的当前状态而不支持该请求,应返回 2;如果出现其他错误,应返回其他某个值。在子类中,可以在方法中使用 ValueMap 限定符指定可能的返回代码集。ValueMap 内容“转换”为的字符串也可以在该子类中指定为 Values 数组限定符。\n请注意,此方法的功能与 RequestedState 属性重叠。RequestedState 已添加到模型中,以维护上一个状态请求的记录(即保留值)。调用 OnlineDevice 方法时应相应地设置 RequestedState 属性。") : Amended ToSubclass] uint32 OnlineDevice([IN,Description("如果为 TRUE 则将设备联机,如果为 FALSE 则将设备脱机。") : Amended ToSubclass] boolean Online); [Description("QuiesceDevice 方法已弃用,取而代之的是更一般的 RequestStateChange 方法,后者直接与此方法提供的功能重叠。\n请求 LogicalDevice 完全停止所有当前活动(“静止”输入参数 = TRUE)或恢复活动(输入参数 = FALSE)。要使此方法能够让设备进入静止状态,该设备的 Availability (或 Additional Availability)应为“正在运行/全功率”(值 = 3),并且 EnabledStatus/StatusInfo 应为“已启用”。例如,如果处于已静止状态,设备随后可以脱机进行诊断,或者可被禁用以便关闭电源和进行热交换。要使此方法能够让设备退出已静止状态,该设备的 Availability (或 AdditionalAvailability)应为“已静止”(值 = 21),并且 EnabledStatus/StatusInfo 应为“已启用”。在这种情况下,设备将返回到“已启用”和“正在运行/全功率”状态。\n该方法的返回代码应指示静止是否成功。如果成功,应返回 0;如果根本不支持该请求,应返回 1;如果由于设备的当前状态而不支持该请求,应返回 2;如果出现任何其他错误,应返回其他某个值。在子类中,可以在方法中使用 ValueMap 限定符指定可能的返回代码集。ValueMap 内容“转换”为的字符串也可以在该子类中指定为 Values 数组限定符。") : Amended ToSubclass] uint32 QuiesceDevice([IN,Description("如果设置为 TRUE,则干净地停止所有活动;如果设置为 FALSE,则恢复活动。") : Amended ToSubclass] boolean Quiesce); [Description("请求该设备在后备存储中捕获其当前配置、设置和/或状态信息。通常情况下,这是由 SettingData 的 ConfigurationData 子类处理的。因此,该方法已弃用。\n\n该方法返回的信息可在以后使用(通过 RestoreProperties 方法),以使设备恢复为当前“状况”。并非所有设备都支持该方法。如果成功,该方法应返回 0;如果该请求不受支持,应返回 1;如果出现任何其他错误,应返回其他某个值。在子类中,可以在方法中使用 ValueMap 限定符指定可能的返回代码集。ValueMap 内容“转换”为的字符串也可以在该子类中指定为 Values 数组限定符。") : Amended ToSubclass] uint32 SaveProperties(); [Description("请求该设备从后备存储重新建立配置、设置和/或状态信息。通常情况下,这是由 SettingData 的 ConfigurationData 子类处理的。因此,该方法已弃用。\n\n以前可能已捕获了这些信息(通过 SaveProperties 方法)。并非所有设备都支持该方法。如果成功,该方法应返回 0;如果该请求不受支持,应返回 1;如果出现任何其他错误,应返回其他某个值。在子类中,可以在方法中使用 ValueMap 限定符指定可能的返回代码集。ValueMap 内容“转换”为的字符串也可以在该子类中指定为 Values 数组限定符。") : Amended ToSubclass] uint32 RestoreProperties(); }; [Description("传感器是可以度量某种物理属性的特征(例如 UnitaryComputer System 的温度或电压特征)的硬件设备。") : Amended ToSubclass,AMENDMENT, LOCALE(0x0804)] class CIM_Sensor : CIM_LogicalDevice { [Description("传感器的类型,例如电压传感器或温度传感器。如果类型设置为“其他”,则可以使用 OtherSensorType Description 进一步标识该类型,如果传感器有数字读数,则传感器的类型可通过单位隐式确定。不同传感器类型的描述如下: 温度传感器测量环境温度。电压和电流传感器测量电压和电流读数。转速计测量设备的转速。例如,风扇设备可以使用关联的转速计测量其速度。计数器是通用的传感器,用于度量设备的某种数字属性。计数器的值可以清除,但从不会减小。开关传感器具有“打开”/“关闭”、“开”/“关”或“启动”/“关闭”等状态。锁具有“锁定/解锁”状态。湿度、烟雾检测和气流传感器度量相应的环境特征。存在传感器检测 PhysicalElement 是否存在。") : Amended ToSubclass,Values{"未知", "其他", "温度", "电压", "电流", "转速计", "计数器", "开关", "锁", "湿度", "烟雾检测", "存在", "空气流量"} : Amended ToSubclass] uint16 SensorType; [Description("描述传感器类型的字符串 - 在 SensorType 属性设置为“其他”时使用。") : Amended ToSubclass] string OtherSensorTypeDescription; [Description("PossibleStates 枚举传感器的字符串输出。例如,“开关”传感器可能输出状态“开”或“关”。“开关”的另一种实现可能输出状态“打开”和“关闭”。另一个示例是支持阈值的 NumericSensor。此传感器可以报告“正常”、“非常致命”、“绝非严重”等状态。不发布读数和阈值但在内部存储此数据的 NumericSensor 仍可以报告其状态。") : Amended ToSubclass] string PossibleStates[]; [Description("传感器指明的当前状态。它始终是“PossibleStates”之一。") : Amended ToSubclass] string CurrentState; [Description("传感器硬件或仪器用来检测传感器当前状态的轮训间隔。") : Amended ToSubclass] uint64 PollingInterval; }; [Description("数字传感器能够返回数字读数,并可以有选择地支持阈值设置。") : Amended ToSubclass,AMENDMENT, LOCALE(0x0804)] class CIM_NumericSensor : CIM_Sensor { [Description("此传感器返回的值的基本单位。此传感器返回的所有值均采用通过(BaseUnits * 10 的 UnitModifier 次幂)得到的单位表示。例如,如果 BaseUnits 为伏特并且 UnitModifier 为 -6,则返回值的单位是微伏。但是,如果 RateUnits 属性设置为“无”以外的值,则单位将进一步限定为速率单位。在上例中,如果 RateUnits 设置为“每秒”,则传感器返回的值以微伏/秒为单位。除非通过 Units 限定符显式重写,否则这些单位适用于传感器的所有数字属性。") : Amended ToSubclass,Values{"未知", "其他", "摄氏度", "华氏度", "开氏度", "伏", "安培", "瓦特", "焦耳", "库仑", "VA", "尼特", "流明", "勒克斯", "烛光", "kPa", "PSI", "牛顿", "CFM", "RPM", "赫兹", "秒", "分钟", "小时", "天", "周", "密耳", "英寸", "英尺", "立方英寸", "立方英尺", "米", "立方厘米", "立方米", "升", "液量盎司", "弧度", "球面度", "转", "周期", "重力", "盎司", "磅", "英尺-磅", "盎司-英寸", "高斯", "吉伯", "亨利", "法拉", "欧姆", "西门子", "摩尔", "贝克勒耳", "PPM (百万分之一)", "分贝", "DbA", "DbC", "戈瑞", "希沃特", "色温开氏度", "位", "字节", "字(数据)", "DoubleWords", "QuadWords", "百分比"} : Amended ToSubclass] uint16 BaseUnits; [Description("此传感器返回的值的单位乘数。此传感器返回的所有值均采用通过(BaseUnits * 10 的 UnitModifier 次幂)得到的单位表示。例如,如果 BaseUnits 为伏特并且 Unit Modifier 为 -6,则返回值的单位为微伏。但是,如果 RateUnits 属性设置为“无”以外的值,则单位将进一步限定为速率单位。在上例中,如果 RateUnits 设置为“每秒”,则传感器返回的值以微伏/秒为单位。除非由 Units 限定符显式重写,否则这些单位适用于传感器的所有数字属性。") : Amended ToSubclass] sint32 UnitModifier; [Description("指定此传感器返回的单位是否是速率单位。此传感器返回的所有值均采用通过(BaseUnits * 10 的 UnitModifier 次幂)得到的单位表示。除非此属性(RateUnits)的值不是“无”,否则均是如此。例如,如果 BaseUnits 为伏特并且 UnitModifier 为 -6,则返回值的单位为微伏。但是,如果 RateUnits 属性设置为“无”以外的值,则单位将进一步限定为速率单位。在上例中,如果 RateUnits 设置为“每秒”,则传感器返回的值以微伏/秒为单位。除非通过 Units 限定符显式重写,否则这些单位适用于传感器的所有数字属性。CurrentReading 的任何实现均应使用 Counter 或 Gauge 限定符进行限定,具体取决于要建模的传感器的特征。") : Amended ToSubclass,Values{"无", "每微秒", "每毫秒", "每秒", "每分钟", "每小时", "每天", "每周", "每月", "每年"} : Amended ToSubclass] uint16 RateUnits; [Description("传感器指明的当前值。") : Amended ToSubclass] sint32 CurrentReading; [Description("NominalReading 指明 NumericSensor 的“正常”值或应得的值。") : Amended ToSubclass] sint32 NominalReading; [Description("NormalMax 为用户提供有关 NumericSensor 最大正常范围的指导。") : Amended ToSubclass] sint32 NormalMax; [Description("NormalMin 为用户提供有关 NumericSensor 最小正常范围的指导。") : Amended ToSubclass] sint32 NormalMin; [Description("MaxReadable 指明可以由 NumericSensor 读取的被测量属性的最大值。") : Amended ToSubclass] sint32 MaxReadable; [Description("MinReadable 指明可以由 NumericSensor 读取的被测量属性的最小值。") : Amended ToSubclass] sint32 MinReadable; [Description("Resolution 指示传感器解析所度量属性的差异的能力。此度量的单位由 BaseUnit*UnitModifier/RateUnit 确定。") : Amended ToSubclass] uint32 Resolution; [Description("此属性将弃用,取而代之的是使用 Resolution 和 Accuracy 属性。\n指示用于所度量属性的传感器容差。Tolerance 与 Resolution 和 Accuracy 一起用于计算所度量物理属性的实际值。容差可能会因设备是否在其动态范围内以线性方式变化而有所不同。") : Amended ToSubclass] sint32 Tolerance; [Description("指示用于所度量属性的传感器准确度。它的值会以正/负百分比的形式记录。Accuracy 与 Resolution 一起用于计算所度量物理属性的实际值。容差可能会因设备是否在其动态范围内以线性方式变化而有所不同。") : Amended ToSubclass] sint32 Accuracy; [Description("指示传感器在其动态范围内是否以线性方式变化。") : Amended ToSubclass] boolean IsLinear; [Description("指示围绕阈值构建的余量。传感器读数紧密围绕阈值波动时,此余量可以避免不必要的状态更改。这种波动可能是由于传感器的容差/准确性/解析度或环境因素造成的。一旦超过阈值,传感器的状态就应更改。但是,除非传感器读数的更改超过了滞后值,否则状态不会在旧状态和新状态之间波动。此度量的单位由 BaseUnit*UnitModifier/RateUnit 确定。") : Amended ToSubclass] uint32 Hysteresis; [Description("传感器的阈值指定用于确定传感器正在 Normal、NonCritical、Critical 还是 Fatal 条件下运行的范围(最小值和最大值)。如果 CurrentReading 介于 LowerThresholdNonCritical 和 Upper ThresholdNonCritical 之间,传感器将报告正常值。如果 CurrentReading 介于 LowerThresholdNonCritical 和 LowerThresholdCritical 之间,则 CurrentState 为 NonCritical。") : Amended ToSubclass] sint32 LowerThresholdNonCritical; [Description("传感器的阈值指定用于确定传感器正在 Normal、NonCritical、Critical 还是 Fatal 条件下运行的范围(最小值和最大值)。如果 CurrentReading 介于 LowerThresholdNonCritical 和 UpperThresholdNonCritical 之间,传感器将报告正常值。如果 CurrentReading 介于 UpperThresholdNonCritical 和 UpperThresholdCritical 之间,则 CurrentState 为 NonCritical。") : Amended ToSubclass] sint32 UpperThresholdNonCritical; [Description("传感器的阈值指定用于确定传感器正在 Normal、NonCritical、Critical 还是 Fatal 条件下运行的范围(最小值和最大值)。如果 CurrentReading 介于 LowerThresholdCritical 和 Lower ThresholdFatal 之间,则 CurrentState 为 Critical。") : Amended ToSubclass] sint32 LowerThresholdCritical; [Description("传感器的阈值指定用于确定传感器正在 Normal、NonCritical、Critical 还是 Fatal 条件下运行的范围(最小值和最大值)。如果 CurrentReading 介于 UpperThresholdCritical 和 Upper ThresholdFatal 之间,则 CurrentState 为 Critical。") : Amended ToSubclass] sint32 UpperThresholdCritical; [Description("传感器的阈值指定用于确定传感器正在 Normal、NonCritical、Critical 还是 Fatal 条件下运行的范围(最小值和最大值)。如果 CurrentReading 低于 LowerThresholdFatal,则 CurrentState 为 Fatal。") : Amended ToSubclass] sint32 LowerThresholdFatal; [Description("传感器的阈值指定用于确定传感器正在 Normal、NonCritical、Critical 还是 Fatal 条件下运行的范围(最小值和最大值)。如果 CurrentReading 高于 UpperThresholdFatal,则 CurrentState 为 Fatal。") : Amended ToSubclass] sint32 UpperThresholdFatal; [Description("表示此传感器支持的阈值的数组。") : Amended ToSubclass,Values{"LowerThresholdNonCritical", "UpperThresholdNonCritical", "LowerThresholdCritical", "UpperThresholdCritical", "LowerThresholdFatal", "UpperThresholdFatal"} : Amended ToSubclass] uint16 SupportedThresholds[]; [Description("表示当前为此传感器启用的阈值的数组。") : Amended ToSubclass,Values{"LowerThresholdNonCritical", "UpperThresholdNonCritical", "LowerThresholdCritical", "UpperThresholdCritical", "LowerThresholdFatal", "UpperThresholdFatal"} : Amended ToSubclass] uint16 EnabledThresholds[]; [Description("表示传感器支持的可写阈值的数组。") : Amended ToSubclass,Values{"LowerThresholdNonCritical", "UpperThresholdNonCritical", "LowerThresholdCritical", "UpperThresholdCritical", "LowerThresholdFatal", "UpperThresholdFatal"} : Amended ToSubclass] uint16 SettableThresholds[]; [Description("此方法将阈值的值重置为硬件默认值。如果成功,此方法返回 0;如果此方法不受支持,返回 1;如果出错,返回任何其他值。在子类中,可以在方法中使用 ValueMap 限定符指定可能的返回代码集。ValueMap 内容“转换”为的字符串也可以在该子类中作为 Values 数组限定符指定。") : Amended ToSubclass] uint32 RestoreDefaultThresholds(); [Description("此方法已弃用,因为当前传感器读数可以通过 GetInstance 操作进行检索。\n对于非线性传感器,解析度、准确性、容差和滞后会随着当前读数的变化而变化。可以使用此方法根据给定读数获取这些因素。如果成功,返回 0;如果此方法不受支持,返回 1;如果出错,返回任何其他值。在子类中,可以在方法中使用 ValueMap 限定符指定可能的返回代码集。ValueMap 内容“转换”为的字符串也可以在该子类中作为 Values 数组限定符指定。") : Amended ToSubclass] uint32 GetNonLinearFactors([IN,Description("要获取其信息的传感器读数。") : Amended ToSubclass] sint32 SensorReading,[IN(FALSE),OUT,Description("读数的准确性。") : Amended ToSubclass] sint32 Accuracy,[IN(FALSE),OUT,Description("读数的解析度。") : Amended ToSubclass] uint32 Resolution,[IN(FALSE),OUT,Description("读数的容差。") : Amended ToSubclass] sint32 Tolerance,[IN(FALSE),OUT,Description("读数的滞后。") : Amended ToSubclass] uint32 Hysteresis); }; [Description("Log 代表任何类型的事件、错误或者信息注册或历史记录。该对象描述日志是否存在以及日志的特征。Log 不指示数据的表示形式,也不指示记录/消息如何存储在日志中,以及/或者记录/消息是如何进行访问的。子类将定义相应的方法和行为。") : Amended ToSubclass,AMENDMENT, LOCALE(0x0804)] class CIM_Log : CIM_EnabledLogicalElement { [Description("Log 中可以捕获的最大记录数。如果未定义,应指定零值。") : Amended ToSubclass] uint64 MaxNumberOfRecords; [Description("Log 中的当前记录数。") : Amended ToSubclass] uint64 CurrentNumberOfRecords; [Description("请求清除 Log 中的所有项。\n如果该请求已成功执行,返回值应为 0;如果该请求不受支持,返回值应为 1;如果出错,返回值应为 ValueMap/Values 限定符指示的其他某个值。") : Amended ToSubclass,Values{"已完成且没有错误", "不支持", "未指定的错误", "超时", "失败", "无效的参数", "DMTF_Reserved", "Method_Reserved", "Vendor_Reserved"} : Amended ToSubclass] uint32 ClearLog(); }; [Description("LogRecord 对象可以描述 MessageLog 中的项的定义格式,也可以用于实例化 Log 中的实际记录。后一种方法提供的语义定义以及对 MessageLog 中各项的控制远远多于 Log 类的记录处理方法所提供的。建议使用 LogRecord 的子类为各 Log 项中的数据建模,以避免创建具有一个无语义属性(例如 RecordData)的 LogRecord。\n可以通过为 RecordID 和 Message Timestamp 键属性建立命名约定来指定 LogRecord 的定义格式。") : Amended ToSubclass,AMENDMENT, LOCALE(0x0804)] class CIM_LogRecord : CIM_ManagedElement { [Key,Description("作用域 Log 的 CreationClassName。") : Amended ToSubclass] string LogCreationClassName; [Key,Description("作用域 Log 的 Name。") : Amended ToSubclass] string LogName; [Key,Description("CreationClassName 指示在创建实例时使用的类或子类的名称。此属性与该类的其他键属性一起使用时,可以唯一标识该类及其子类的所有实例。") : Amended ToSubclass] string CreationClassName; [Key,Description("具有 MessageTimestamp 属性的 RecordID 用于唯一标识 MessageLog 中的 LogRecord。请注意,此属性与 MessageLog 方法的 RecordNumber 参数不同。后者只是顺序值,有助于在日志中执行迭代时跟踪位置。另一方面,RecordID 真正是 LogRecord 实例的标识符。可以将其设置为记录的顺序位置,但这不是必需的。") : Amended ToSubclass] string RecordID; [Key,Description("LogRecord 的键结构包括该项的时间戳。") : Amended ToSubclass] datetime MessageTimestamp; [Description("描述 LogRecord 的数据结构的自由格式字符串。") : Amended ToSubclass] string DataFormat; [Description("描述 RecordData 属性中信息的数据结构的字符串。如果 RecordFormat 字符串为 <空>,则 RecordData 应解释为自由格式的字符串。\n\n若要描述 RecordData 的数据结构,RecordFormat 字符串应以如下形式构造: \n- 第一个字符为分隔符,用于将字符串的其余部分分析为子字符串。\n- 每个子字符串由分隔符分隔,并应采用 CIM 属性声明的格式(即,数据类型和属性名称)。这一组声明可用于解释以类似方式分隔的 RecordData 属性。\n例如,如果使用 \"*\" 分隔符,RecordFormat = \"*string ThisDay*uint32 ThisYear*datetime SomeTime\" \n可用于解释: RecordData = \"*This is Friday*2002*20020807141000.000000-300\"。") : Amended ToSubclass] string RecordFormat; [Description("包含 LogRecord 数据的字符串。\n如果相应的 RecordFormat 属性为 <空>,或无法根据建议的格式进行分析,则 RecordData 应解释为自由格式的字符串。如果 RecordFormat 属性包含可分析的格式信息(根据 RecordFormat Description 限定符中的建议),RecordData 字符串应根据此格式进行分析。在这种情况下,RecordData 应以分隔符开头,并且此字符应当用于按照所述的方式分隔子字符串。然后,RecordData 字符串可以由数据使用者进行分析,并相应地进行类型化。") : Amended ToSubclass] string RecordData; }; [Description("RecordLog 用作 LogRecord 对象的聚合点。此类呈现的日志视图级别高于其对等类 MessageLog (使用迭代程序),并引入了新的键结构。可通过使用标准 CIM 操作(定义为 WBEM 的一部分)访问此日志中的记录。") : Amended ToSubclass,AMENDMENT, LOCALE(0x0804)] class CIM_RecordLog : CIM_Log { [Key,Description("在实例化 Namespace 的作用域内,InstanceID 以不透明的方式唯一标识此类的实例。\n为了确保在 NameSpace 中的唯一性,InstanceID 的值应使用下列“首选”算法构造: \n: \n其中 通过冒号(\":\")分隔, 必须包括由创建/定义 InstanceID 的商业实体拥有的版权化、商标化或其他形式的唯一名称,或是由公认的全球性机构为商业实体分配的注册 ID (类似于架构类名的 <架构名称>_<类名> 结构)。此外,为了确保唯一性, 不得包含冒号(\":\")。在使用此算法时,InstanceID 中的第一个冒号必须出现在 之间。\n 由商业实体选择,不应反复用于标识不同的基础(实际)元素。如果不使用上面的“首选”算法,定义实体必须确保不在此提供程序或其他提供程序为此实例的 NameSpace 生成的任何 InstanceID 间重复使用生成的 InstanceID。\n对于 DMTF 定义的实例,使用“首选”算法时, 必须设置为 \"CIM\"。") : Amended ToSubclass] string InstanceID; }; [Description("RegisteredProfile 描述了一组 CIM 架构类,这些类带有以交互方式管理实际实体或支持使用方案所必需的属性和方法。RegisteredProfile 可以由 DMTF 或其他标准组织定义。请注意,此类不应与 CIM_Profile 相混淆,后者收集要作为元素的“配置文件”应用的 SettingData 实例。\n RegisteredProfile 是一个命名“标准”,用于特定系统、子系统、服务或其他实体针对一组指定的用途进行基于 CIM 的管理。它是一种完整、独立的定义,与子类 RegisteredSubProfile 不同,后者需要上下文的作用域配置文件。\nRegisteredProfile 或 SubProfile 的用法必须在定义配置文件的文档中指定。使用配置文件可以管理操作系统、存储阵列或数据库的各个方面。配置文件的名称由其创作组织定义并设置作用域。") : Amended ToSubclass,AMENDMENT, LOCALE(0x0804)] class CIM_RegisteredProfile : CIM_ManagedElement { [Key,Description("在实例化 Namespace 的作用域内,InstanceID 以不透明的方式唯一标识此类的实例。为了确保在 NameSpace 中的唯一性,InstanceID 的值应使用下列“首选”算法构造: \n: \n其中 通过冒号(\":\")分隔, 必须包括由创建/定义 InstanceID 的商业实体拥有的版权化、商标化或其他形式的唯一名称,或是由公认的全球性机构为商业实体分配的注册 ID (类似于架构类名的 <架构名称>_<类名> 结构)。此外,为了确保唯一性, 不得包含冒号(\":\")。在使用此算法时,InstanceID 中的第一个冒号必须出现在 之间。\n 由组织实体选择,不应反复用于标识不同的基础(实际)元素。如果不使用上面的“首选”算法,定义实体必须确保不在此提供程序或其他提供程序为此实例的 NameSpace 生成的任何 InstanceID 间重复使用生成的 InstanceID。\n对于 DMTF 定义的实例,使用“首选”算法时, 必须设置为 \"CIM\"。") : Amended ToSubclass] string InstanceID; [Description("定义此配置文件的组织。") : Amended ToSubclass,Values{"其他", "DMTF", "CompTIA", "Consortium for Service Innovation", "快速", "GGF", "INTAP", "itSMF", "NAC", "西北能效联盟", "SNIA", "TM 论坛", "国际开放标准组织", "ANSI", "IEEE", "IETF", "INCITS", "ISO", "W3C"} : Amended ToSubclass] uint16 RegisteredOrganization; [Description("一个自由格式的字符串,在已为 RegisteredOrganization 指定 1 (\"其他\")时提供组织描述。") : Amended ToSubclass] string OtherRegisteredOrganization; [Description("该已注册配置文件的名称。由于同一 RegisteredName 可以存在多个版本,RegisteredName、RegisteredOrganization 和 RegisteredVersion 的组合必须在组织的范围内唯一标识已注册的配置文件。") : Amended ToSubclass] string RegisteredName; [Description("此配置文件的版本。表示版本的字符串必须采用以下格式: \nM + \".\" + N + \".\" + U \n其中: \nM - 描述配置文件的创建或上次修改的主要版本(采用数字形式)。\nN - 描述配置文件的创建或上次修改的次要版本(采用数字形式)。\nU - 描述配置文件的创建或上次修改的更新(例如勘误表、修补程序等,采用数字形式)。") : Amended ToSubclass] string RegisteredVersion; [Description("此属性表示配置文件信息的播发。它由 WBEM 基础结构的播发服务用于确定应通过哪些机制播发哪些内容。该属性是一个数组,这样,配置文件便可以使用多种机制进行播发。注意: 如果此属性为 Null/未初始化,这等效于指定值 2 (“未播发”)。") : Amended ToSubclass,Values{"其他", "未播发", "SLP"} : Amended ToSubclass] uint16 AdvertiseTypes[]; [Description("提供与 AdvertiseType 相关的附加信息的自由格式字符串。当 AdvertiseType 为 1 (\"其他\")时,必须提供描述。此数组中的项对应于 AdvertiseTypes 数组中处于相同索引处的项。如果类型设置为“未播发”或 \"SLP\",则不需要附加描述。但是,当 SLP 模板扩展时,或者当定义了其他播发机制时,则可能需要附加描述的支持。此数组已定义为支持该功能。") : Amended ToSubclass] string AdvertiseTypeDescriptions[]; }; [Description("Group 类用于将 ManagedElement 收集到组中。定义此类是为了纳入常用的 LDAP 属性,以允许实现轻松地从 LDAP 可访问目录派生此信息。此类的属性是相关类 OtherGroupInformation 的子集,该相关类定义了所有组属性并采用数组形式以实现目录兼容性。") : Amended ToSubclass,AMENDMENT, LOCALE(0x0804)] class CIM_Group : CIM_Collection { [Key,Description("CreationClassName 指示在创建实例时使用的类或子类的名称。此属性与该类的其他键属性一起使用时,可以唯一标识该类及其子类的所有实例。") : Amended ToSubclass] string CreationClassName; [Key,Description("Name 属性定义用于标识对象的标签。对于 LDAP 派生的实例,可以将 Name 属性值设置为 LDAP 访问的对象实例的可分辨名称。") : Amended ToSubclass] string Name; [Description("BusinessCategory 属性可用于描述组成员执行的业务活动的类型。") : Amended ToSubclass] string BusinessCategory; [Description("公用名是一个(可能不明确的)名称,通常用于在某个有限范围(例如,组织)内标识组,并且符合它所关联的国家/地区或区域性的命名约定。") : Amended ToSubclass] string CommonName; }; [Description("CIM_Account 是 SecurityService 为了跟踪该服务管理的身份和特权而保留的信息。Account 的常见示例是 UNIX /etc/passwd 文件中的条目。多种安全服务使用这些条目中的各种信息 - /bin/login 程序使用帐户名(\"root\")和哈希密码对用户进行身份验证,而文件服务则可以使用 UserID 字段(\"0\")和 GroupID 字段(\"0\")记录所有权并确定对文件系统中的文件的访问控制特权。定义此类是为了纳入常用的 LDAP 属性,以允许实现轻松地从 LDAP 可访问目录派生此信息。\n\nAccount 的语义与类 CIM_Identity 的语义重叠。但是,Account 的多个方面(如其与系统的特定联系)很有价值,并且已广泛实现。因此,Account 和 Identity 类使用 LogicalIdentity (AccountIdentity) 的子类相关联,而不是在 CIM 架构中弃用 Account 类。当帐户已经过身份验证时,相应的身份的 TrustEstablished 布尔值将设置为 TRUE。然后,便可以按照用于实现授权目的的定义使用 Identity 类。") : Amended ToSubclass,AMENDMENT, LOCALE(0x0804)] class CIM_Account : CIM_LogicalElement { [Key,Description("作用域系统的 CCN。") : Amended ToSubclass] string SystemCreationClassName; [Key,Description("作用域系统的名称。") : Amended ToSubclass] string SystemName; [Key,Description("CreationClassName 指示在创建实例时使用的类或子类的名称。此属性与该类的其他键属性一起使用时,可以唯一标识该类及其子类的所有实例。") : Amended ToSubclass] string CreationClassName; [Key,Description("Name 属性定义用于标识对象的标签。此属性的值可以设置为与 UserID 属性的值相同;对于 LDAP 派生的实例,Name 属性值可以设置为 LDAP 访问的对象实例的 distinguishedName。") : Amended ToSubclass] string Name; [Description("UserID 是 SecurityService 用于表示身份的值。对于身份验证服务,UserID 可以是用户的名称,而对于授权服务,UserID 可以是用作身份映射句柄的值。") : Amended ToSubclass] string UserID; [Description("对于 LDAP 派生的实例,ObjectClass 属性值可设置为 ObjectClass 特性值。") : Amended ToSubclass] string ObjectClass[]; [Description("Descriptions 属性值可以包含用户可读的对象描述。对于 LDAP 派生的实例,Description 特性可能具有多个值,因此不能放在继承的 Description 属性中。") : Amended ToSubclass] string Descriptions[]; [Description("根据 RFC1274,帐户适用于的系统的主机名。该主机名可以是完全限定的 DNS 名称,也可以是非限定主机名。") : Amended ToSubclass] string Host[]; [Description("此属性包含区域(例如,城市、郡/县或其他地理区域)的名称。") : Amended ToSubclass] string LocalityName[]; [Description("与该帐户相关的组织的名称。") : Amended ToSubclass] string OrganizationName[]; [Description("与该帐户相关的组织单位的名称。") : Amended ToSubclass] string OU[]; [Description("对于 LDAP 派生的实例,SeeAlso 属性指定其他目录对象的可分辨名称,这些目录对象可以是同一实际对象的其他方面(在某种意义上)。") : Amended ToSubclass] string SeeAlso[]; [Description("基于 inetOrgPerson 并为实现目录兼容,UserCertificate 属性可用于指定人员的公钥证书。") : Amended ToSubclass] string UserCertificate[]; [Description("对于 LDAP 派生的实例,UserPassword 属性可以包含用于访问目录中人员的资源的加密密码。") : Amended ToSubclass] string UserPassword[]; }; [Description("特权是按角色或身份授权或拒绝授权的所有类型活动的基类。单个特权被授予还是被拒绝授予,是使用 PrivilegeGranted 布尔值定义的。任何未明确授予的特权均视为被拒绝授予。显式拒绝授予(已授予特权 = FALSE)优先于任何授予的特权。\n\n使用者(角色和身份)与特权的关联是使用策略完成的,或者是通过子类上的关联显式完成的。受保护的实体(目标)可以用类似的方式定义。\n\n请注意,特权可以通过分级的角色继承,也可以重叠。例如,拒绝任何实例写入到特定 CIM 服务器命名空间的特权将与该命名空间中在实例级别定义特定访问权限的特权重叠。在此示例中,AuthorizedSubject 是身份或角色,而 AuthorizedTarget 是前一种情况下的命名空间和后一种情况下的特定实例。") : Amended ToSubclass,AMENDMENT, LOCALE(0x0804)] class CIM_Privilege : CIM_ManagedElement { [Key,Description("在实例化 Namespace 的作用域内,InstanceID 以不透明的方式唯一标识此类的实例。为了确保在 NameSpace 中的唯一性,InstanceID 的值应使用下列“首选”算法构造: \n: \n其中 通过冒号(\":\")分隔, 必须包括由创建/定义 InstanceID 的商业实体拥有的版权化、商标化或其他形式的唯一名称,或是由公认的全球性机构为商业实体分配的注册 ID (类似于架构类名的 <架构名称>_<类名> 结构)。此外,为了确保唯一性, 不得包含冒号(\":\")。在使用此算法时,InstanceID 中的第一个冒号必须出现在 之间。\n 由商业实体选择,不应反复用于标识不同的基础(实际)元素。如果不使用上面的“首选”算法,定义实体必须确保不在此提供程序或其他提供程序为此实例的 NameSpace 生成的任何 InstanceID 间重复使用生成的 InstanceID。对于 DMTF 定义的实例,使用“首选”算法时, 必须设置为 \"CIM\"。") : Amended ToSubclass] string InstanceID; [Description("一个布尔值,用于指示是授予特权(TRUE)还是拒绝授予特权(FALSE)。默认值是授予权限。") : Amended ToSubclass] boolean PrivilegeGranted; [Description("指示已授权或已拒绝授权的活动的枚举。这些活动适用于 ActivityQualifiers 数组中指定的所有实体。枚举中的值简单明了,只有一个除外(4 =“检测”)。此值指示可能确定某个实体存在,但不一定是特定数据(这需要具有“读取”特权)。可以通过“隐藏文件”来对此活动进行举例说明 - 如果你列出目录的内容,你将看不到隐藏文件。但是,如果你知道具体的文件名,或者知道如何公开隐藏文件,则可以“检测到”这些文件。另一个示例是在目录实现中定义搜索特权的功能。") : Amended ToSubclass,Values{"其他", "创建", "删除", "检测", "读取", "写入", "执行", "DMTF 保留", "供应商保留"} : Amended ToSubclass] uint16 Activities[]; [Description("ActivityQualifiers 属性是用来进一步限定和指定已授予或已拒绝授予的特权的字符串值数组。例如,它用于指定一组允许或拒绝进行“读取”/“写入”访问的文件。它也可以定义可以“执行”的类方法。ActivityQualifiers 中各个项的语义的详细信息是由 QualifierFormats 数组中的相应项提供的。") : Amended ToSubclass] string ActivityQualifiers[]; [Description("定义 ActivityQualifiers 数组中的相应项的语义。其中每个“格式”及其用法的示例如下: \n- 2 = 类名。示例: 如果授权目标是 CIM 服务或命名空间,则 ActivityQualifiers 项可以定义被授权的使用者能够创建或删除的一组类。\n-3 = <类.>属性。示例: 如果授权目标是 CIM 服务、命名空间或实例集合,则 ActivityQualifiers 项能够定义可以或不可以访问的类属性。在这种情况下,类名将与属性名一起指定以避免出现模棱两可的情况,因为 CIM 服务、命名空间或集合可以管理多个类。另一方面,如果授权目标是单个实例,则不可能存在模棱两可的情况,可以省略类名。若要指定所有属性,则应使用通配符字符串 \"* \"。\n-4 = <类.>方法。此示例与上面的属性示例非常相似。与上面一样,若要选择所有方法,可以指定字符串 \"* \"。\n-5 = 对象引用。示例: 如果授权目标是 CIM 服务或命名空间,则 ActivityQualifiers 项可以定义已被授权的使用者可以访问的一组对象引用(作为字符串)。\n-6 = 命名空间。示例: 如果授权目标是 CIM 服务,则 ActivityQualifiers 项可以定义已被授权的使用者可以访问的一组命名空间。\n-7 = URL。示例: 授权目标可能未定义,但特权可以用来按单个身份或为特定角色(如“17 以下”角色)拒绝对特定 URL 的访问。\n-8 = 目录/文件名。示例: 如果授权目标是文件系统,则 ActivityQualifiers 项可以定义访问权限受保护的一组目录和文件。\n-9 = 命令行指令。示例: 如果授权目标是计算机系统或服务,则 ActivityQualifiers 项能够定义已被授权的使用者可以或不可以“执行”的一组命令行指令。") : Amended ToSubclass,Values{"类名", "<类.>属性", "<类.>方法", "对象引用", "命名空间", "URL", "目录/文件名", "命令行指令", "DMTF 保留", "供应商保留"} : Amended ToSubclass] uint16 QualifierFormats[]; }; [Description("特权是对角色或身份授权或拒绝授权的所有类型活动的基类。AuthorizedPrivilege 是定义授权策略规则的静态呈现的一个子类。角色和身份与 AuthorizedPrivilege 的关联是使用 AuthorizedSubject 关系实现的。受保护的实体是使用 AuthorizedTarget 关系定义的。\n\n请注意,此类及其 AuthorizedSubject/Target 关联提供一个支持简写形式的静态机制来表示授权策略。") : Amended ToSubclass,AMENDMENT, LOCALE(0x0804)] class CIM_AuthorizedPrivilege : CIM_Privilege { }; [Description("Collection 的具体版本。此类表示一个泛型可实例化集合,如一组 ComputerSystem (例如,可用于执行作业的主机池)。它已定义为 CIM_Collection 抽象类的具体子类,用于代替未添加任何语义的许多具体子类。请注意,为 Collection 定义附加语义时,不能为此类创建子类。特定语义将继续定义为抽象 CIM_Collection 的子类。ConcreteCollection 已限制为只能用作一般集合或容器的具体形式。创建此具体子类被认为是比将 Collection 从抽象类更改为具体类更审慎的做法。") : Amended ToSubclass,AMENDMENT, LOCALE(0x0804)] class CIM_ConcreteCollection : CIM_Collection { [Key,Description("在实例化 Namespace 的作用域内,InstanceID 以不透明的方式唯一标识此类的实例。为了确保在 NameSpace 中的唯一性,InstanceID 的值应使用下列“首选”算法构造: \n: \n其中 通过冒号(\":\")分隔, 必须包括由创建/定义 InstanceID 的商业实体拥有的版权化、商标化或其他形式的唯一名称,或是由公认的全球性机构为商业实体分配的注册 ID (类似于架构类名的 <架构名称>_<类名> 结构)。此外,为了确保唯一性, 不得包含冒号(\":\")。在使用此算法时,InstanceID 中的第一个冒号必须出现在 之间。\n\n 由商业实体选择,不应反复用于标识不同的基础(实际)元素。如果不使用上面的“首选”算法,定义实体必须确保不在此提供程序或其他提供程序为此实例的 NameSpace 生成的任何 InstanceID 间重复使用生成的 InstanceID。") : Amended ToSubclass] string InstanceID; }; [Description("用于 IPMI 的 AdminDomain") : Amended ToSubclass,AMENDMENT, LOCALE(0x0804)] class AdminDomain : CIM_AdminDomain { }; [Description("用于 IPMI 的 ComputerSystem") : Amended ToSubclass,AMENDMENT, LOCALE(0x0804)] class ComputerSystem : CIM_ComputerSystem { }; [Description("用于 IPMI 的 SystemSpecificCollection") : Amended ToSubclass,AMENDMENT, LOCALE(0x0804)] class SystemSpecificCollection : CIM_SystemSpecificCollection { }; [Description("用于 IPMI 的传感器(离散传感器)") : Amended ToSubclass,AMENDMENT, LOCALE(0x0804)] class Sensor : CIM_Sensor { }; [Description("用于 IPMI 的 NumericSensor") : Amended ToSubclass,AMENDMENT, LOCALE(0x0804)] class NumericSensor : CIM_NumericSensor { }; [Description("用于 IPMI 的 RecordLog") : Amended ToSubclass,AMENDMENT, LOCALE(0x0804)] class RecordLog : CIM_RecordLog { }; [Description("用于 IPMI 的 LogRecord") : Amended ToSubclass,AMENDMENT, LOCALE(0x0804)] class LogRecord : CIM_LogRecord { }; [Description("用于 IPMI 的 RegisteredProfile") : Amended ToSubclass,AMENDMENT, LOCALE(0x0804)] class RegisteredProfile : CIM_RegisteredProfile { }; [Description("用于 IPMI 的 PrivilegeGroup") : Amended ToSubclass,AMENDMENT, LOCALE(0x0804)] class PrivilegeGroup : CIM_Group { }; [Description("用于 IPMI 的帐户") : Amended ToSubclass,AMENDMENT, LOCALE(0x0804)] class Account : CIM_Account { }; [Description("用于 IPMI 的 AuthorizedPrivilege") : Amended ToSubclass,AMENDMENT, LOCALE(0x0804)] class AuthorizedPrivilege : CIM_AuthorizedPrivilege { }; [Description("用于 IPMI 的 ConcreteCollection") : Amended ToSubclass,AMENDMENT, LOCALE(0x0804)] class ConcreteCollection : CIM_ConcreteCollection { };