#pragma autorecover #pragma namespace("\\\\.\\root\\standardcimv2") instance of __namespace{ name="MS_804";}; #pragma namespace("\\\\.\\root\\standardcimv2\\MS_804") [Version("2.7.0") : Amended,Description("CIM_Component 是一种一般性关联,用于在托管元素间建立“从属”关系。例如,它可用于定义系统的多个组件或多个部分。") : Amended ToSubclass,AMENDMENT, LOCALE("MS_804")] class CIM_Component { [key,Description("关联中的父元素。") : Amended ToSubclass] CIM_ManagedElement Ref GroupComponent; [key,Description("关联中的子元素。") : Amended ToSubclass] CIM_ManagedElement Ref PartComponent; }; [Version("2.19.0") : Amended,Description("ManagedElement 是一个抽象类,为 CIM 架构中的非关联类提供一个公共超类(即继承树的顶部)。") : Amended ToSubclass,AMENDMENT, LOCALE("MS_804")] class CIM_ManagedElement { [Description("InstanceID 是一个可选属性,可用于在实例化 Namespace 的作用域内模糊并唯一地标识此类的实例。此类的各种子类可能会替代此属性,使其成为必要属性或密钥。此类子类可能还会修改首选的算法,以确保唯一性(如下方所定义)。\n为确保在 NameSpace 内的唯一性,InstanceID 的值应使用以下“首选”算法来构造: \n: \n其中 以冒号 (:) 分隔,并且 中必须包含用于创建或定义 InstanceID 的版权、商标或商业实体拥有的其他唯一名称,或者公认世界权威机构向该商业实体分配的注册 ID。(此要求与架构类名称的 _ 结构类似。) 此外,为确保唯一性, 中必须包含一个冒号 (:)。在使用此算法时,InstanceID 中的第一个冒号必须位于 之间。\n 由商业实体选择,不得再用于标识其他基础(实际)元素。如果 不为空并且不使用上述“首选”算法,则负责定义的实体必须保证最终构造的 InstanceID 不会在此提供程序或任何其他提供程序为此实例的 NameSpace 创建的任何 InstanceID 中发生重复使用情况。\n如果对于 DMTF 定义的实例, 未设置为空,则必须使用“首选”算法,并且将 设置为 CIM。") : Amended ToSubclass] string InstanceID; [Description("Caption 属性是关于对象的简短文字描述(只有一行的字符串)。") : Amended ToSubclass] string Caption; [Description("Description 属性提供关于对象的文字描述。") : Amended ToSubclass] string Description; [Description("对象的用户友好名称。此属性允许每个实例在其密钥属性、标识数据和描述信息之外创建一个用户友好名称。\n请注意,ManagedSystemElement 的 Name 属性也被定义为用户友好名称。但是,该属性通常被分类为密钥子类。正常情况下,同一属性无法在不引起任何不一致的情况下既标识身份又充当用户友好名称。如果存在 Name 属性并且其不是密钥属性(例如 LogicalDevice 的该属性),则 Name 属性和 ElementName 属性中可显示相同的信息。请注意,如果存在 CIM_EnabledLogicalElementCapabilities 的关联实例,则此属性可能会受在该类的 ElementNameMask 和 MaxElementNameLen 属性中定义的限制所限。") : Amended ToSubclass] string ElementName; }; [Description("CIM_ManagedSystemElement 是 System Element 层次结构的基类。任何可辨别的系统组件都能包含在此类中。系统组件的示例包括: \n- 应用程序服务器、数据库和应用程序等软件组件 \n- 文件、进程和线程等操作系统组件 \n- 磁盘驱动器、控制器、处理器和打印机等设备组件\n- 芯片和卡等物理组件。") : Amended ToSubclass,Version("2.22.0") : Amended,AMENDMENT, LOCALE("MS_804")] class CIM_ManagedSystemElement : CIM_ManagedElement { [Description("一个日期时间值,表示对象的安装时间。缺少该值并不表示未安装对象。") : Amended ToSubclass] datetime InstallDate; [Description("Name 属性定义对象的名称标签。在被分类为子类时,Name 属性可能会被替代为密钥属性。") : Amended ToSubclass] string Name; [Description("表明元素的当前状态。定义了各种工作状态。其中的许多枚举\\值都一目了然。但是,也有少数值并非如此,以下将对这些值予以详细说明。\n“已强调”表明元素正在工作,但是需要注意。过载、过热等都属于“强调”状态。\n“预测故障”表明元素表面上正在工作,但是预计不久会出现故障。\n“正在维修”说明元素正在接受配置、维护、清洁或其他方式的管理。\n“无连接”表明监视系统了解此元素,但是一直无法与其建立通信。\n“通信中断”表明 ManagedSystem 元素已知存在,并且过去曾成功建立联系,但是现在不可访问。\n“已停止”和“已中止”类似,只是前者暗示正常有序地停止,而后者暗示紧急停止,元素的状态和配置可能需要更新。\n“休止”表明元素处于非活动状态或静态。\n“支持实体出错”表明此元素可能“良好”,但是此元素所依赖的另一个元素可能出现错误。由于低层网络问题而无法工作的网络服务或端点就属于这种情况。\n“已完成”表明该元素已完成操作。此值应与“良好”、“错误”或“已降级”组合使用,使客户端可以确定整个操作是已经良好地完成(已通过)、已经完成但出现错误(出现故障),还是已经完成但是降级(操作已完成,但是未“良好”地完成或未报告错误)。\n“电源模式”表明元素在 Associated PowerManagementService 关联中包含其他电源模式信息。\nOperationalStatus 替换 ManagedSystemElement 的 Status 属性,以便提供一致的枚举方法,满足实现数组属性的需要,从而可以从现在\\的环境迁移到未来的环境。以前未进行此更改是因为需要 DEPRECATED 限定符。由于在管理应用程序中广泛使用现有的 Status 属性,强烈建议提供程序/工具同时提供 Status 和 OperationalStatus 属性。此外,OperationalStatus 的第一个值应包含元素的主要状态。如果有 Status 属性,则 Status (由于是单值)也应提供元素的主要状态。") : Amended ToSubclass,Values{"未知", "其他", "良好", "已降级", "已强调", "预测故障", "错误", "不可恢复的错误", "正在启动", "正在停止", "已停止", "正在维修", "无连接", "通信中断", "已中止", "休止", "支持实体出错", "已完成", "电源模式", "DMTF 保留", "供应商保留"} : Amended ToSubclass] uint16 OperationalStatus[]; [Description("描述各种 OperationalStatus 数组值的字符串。例如,如果为 OperationalStatus 分配的值为“正在停止”,则此属性可能包含对对象停止原因的描述。请注意,此数组中的项与 OperationalStatus 中处于相同数组索引的项相关。") : Amended ToSubclass] string StatusDescriptions[]; [Description("表明对象当前状态的字符串。定义了各种工作和非工作状态。此属性替代 OperationalStatus 被弃用,后者在枚举中包括相同的语义。此更改出于以下 3 个原因: \n1) 以数组的形式更准确地定义状态。当某个状态实际上是多值属性时(例如,某个元素的状态可能是“良好”和“已停止”),这种定义便能克服通过单个值描述状态的局限性。 \n2) MaxLen 为 10 的限制太严格,无法清楚地描述枚举值。 \n3) 对 uint16 数据类型的更改在定义 CIM V2.0 时已讨论。但是,现有的 V1.0 使用的是字符串属性,不希望修改其代码。因此,Status 归属到 Schema 中。使用 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 在状态集中为以后增加 HealthStates 保留了未用的部分。") : Amended ToSubclass,Values{"未知", "良好", "已降级/警告", "次要故障", "主要故障", "关键故障", "不可恢复的错误", "DMTF 保留"} : Amended ToSubclass] uint16 HealthState; [Description("CommunicationStatus 表明检测与基础 ManagedElement 的通信能力。CommunicationStatus 包含以下某个值: 未知、无、通信良好、通信中断或无连接。\n如果返回空值,则表明该检测(提供程序)未实现此属性。\n“未知”表明该实现一般情况下能返回此属性,但是当前无法返回。\n“不可用”表明该检测(提供程序)能返回此属性的值,但是一直无法为此硬件返回此属性的值,或者由于此属性并不提供任何有意义的信息(例如某个属性只是为了向另一个属性添加附加信息),因而有意未使用此属性。\n“通信良好”表明已与元素建立了通信,但是未传输任何服务质量信息。\n“无连接”表明监视系统了解此元素,但是一直无法与其建立通信 \n“通信中断”表明 ManagedElement 元素已知存在,并且过去曾成功建立联系,但是现在不可访问。") : Amended ToSubclass,Values{"未知", "不可用", "通信良好", "通信中断", "无连接", "DMTF 保留", "供应商保留"} : Amended ToSubclass] uint16 CommunicationStatus; [Description("DetailedStatus 作为 PrimaryStatus 的补充,可提供其他状态详细信息。它包含以下某个值: 不可用、无其他信息、已强调、预测故障、错误、不可恢复的错误或支持实体出错。DetailedStatus 是对元素 PrimaryStatus 的扩充。\n如果返回空值,则表明该检测(提供程序)未实现此属性。\n“不可用”表明该检测(提供程序)能返回此属性的值,但是一直无法为此硬件返回此属性的值,或者由于此属性并不提供任何有意义的信息(例如某个属性只是为了向另一个属性添加附加信息),因而有意未使用此属性。 \n“无其他信息”表明元素如 PrimaryStatus 的“良好”状态所示在正常工作。\n“已强调”表明元素正在工作,但是需要注意。过载、过热等都属于“强调”状态。\n \n“已强调”表明元素正在工作,但是需要注意。过载、过热等都属于“强调”状态。\n“预测故障”表明元素表面上正在工作,但是预计不久会出现故障。\n“正在维修”说明元素正在接受配置、维护、清洁或其他方式的管理。\n“无法恢复的错误”表明此元素出现需要人工干预的错误。\n“支持实体出错”表明此元素可能“良好”,但是此元素所依赖的另一个元素可能出现错误。由于低层网络问题而无法工作的网络服务或端点就属于这种情况。") : Amended ToSubclass,Values{"不可用", "无其他信息", "已强调", "预测故障", "不可恢复的错误", "支持实体出错", "DMTF 保留", "供应商保留"} : Amended ToSubclass] uint16 DetailedStatus; [Description("OperatingStatus 提供针对元素工作状况的当前状态值,可用于提供有关 EnabledState 值的更多详细信息。当元素从一种状态向另一种状态过渡时,例如元素处于 EnabledState 与 RequestedState 之间的过渡或其他过渡期,OperatingStatus 还可以提供过渡状态信息。\nOperatingStatus 包含以下某个值:未知、不可用、正在使用、正在启动、正在停止、已停止、已中止、已休止、已完成、正在迁移、正在向外迁移、正在向内迁移、正在拍摄快照、正在关闭或正在测试 \n如果返回空值,则表明该检测(提供程序)未实现此属性。\n“未知”表明该实现一般情况下能返回此属性,但是当前无法返回。\n“无”表明该检测(提供程序)能返回此属性的值,但是一直无法为此硬件返回此属性的值,或者由于此属性并不提供任何有意义的信息(例如某个属性只是为了向另一个属性添加附加信息),因而有意未使用此属性。\n“正在维修”说明元素正在接受配置、维护、清洁或其他方式的管理。\n“正在启动”表明元素正在初始化。\n“正在停止”表明元素正在进入有序的停止状态。\n“已停止”和“已中止”类似,只是前者暗示正常有序地停止,而后者暗示紧急停止,元素的状态和配置可能需要更新。\n“休止”表明元素处于非活动状态或静态。\n“已完成”表明该元素已完成操作。此值应与 PrimaryStatus 中的“良好”、“错误”或“已降级”组合使用,使客户端可以确定整个操作是已经良好地完成(已通过)、已经完成但出现错误(出现故障),还是已经完成但是降级(操作已完成,但是未“良好”地完成或未报告错误)。\n“正在迁移”表明元素正在宿主元素之间移动。 \n“正在向内迁移”表明元素正在向某个新的宿主元素移入。 \n“正在向外迁移”表明元素正在从宿主元素移出。\n“正在关闭”表明元素正在进入紧急停止状态。\n“正在测试”表明元素正在执行测试功能。\n“正在过渡”表明元素处于两种状态之间的过渡期,即该元素目前在前一状态和下一状态中均不完全可用。在没有其他适用的值可以表明到某个特定状态的过渡时,应使用此值。\n“正在工作”表明元素正在工作,可以使用。") : Amended ToSubclass,Values{"未知", "不可用", "正在服务", "正在启动", "正在停止", "已停止", "已中止", "休止", "已完成", "正在迁移", "正在迁出", "正在迁入", "正在快照", "正在关闭", "正在测试", "正在转换", "正在维修", "DMTF 保留", "供应商保留"} : Amended ToSubclass] uint16 OperatingStatus; [Description("PrimaryStatus 提供了一个高级状态值,用来对应状态的红-黄-绿三种类型展示。该值应与 DetailedStatus 一同使用,这样才能提供 ManagedElement 及其子组件的高级和详细的运行状况状态。\nPrimaryStatus 的值包括: 未知、正常、降级或错误。“未知”表示执行通常能够返回此属性,但当时还无法返回。\n“正常”表示 ManagedElement 运行正常。\n“降级”表示 ManagedElement 运行在正常级别之下。\n“错误”表示 ManagedElement 出现了错误状况。") : Amended ToSubclass,Values{"未知", "良好", "已降级", "错误", "DMTF 保留", "供应商保留"} : Amended ToSubclass] uint16 PrimaryStatus; }; [Description("CIM_LogicalElement 是所有代表抽象系统组件(例如文件、进程或 LogicalDevice)的系统组件的基类。") : Amended ToSubclass,Version("2.6.0") : Amended,AMENDMENT, LOCALE("MS_804")] class CIM_LogicalElement : CIM_ManagedSystemElement { }; [Description("此类封装数据包捕获提供程序与数据包捕获目标之间的关联。") : Amended ToSubclass,AMENDMENT, LOCALE("MS_804")] class MSFT_NetEventCaptureTarget_CaptureProvider : CIM_Component { [key,Description("标识数据包捕获提供程序。") : Amended ToSubclass] MSFT_NetEventPacketCaptureProvider Ref GroupComponent; [key,Description("标识数据包捕获目标。") : Amended ToSubclass] MSFT_NetEventPacketCaptureTarget Ref PartComponent; }; [Description("此类将封装计算机上的数据包捕获目标") : Amended ToSubclass,AMENDMENT, LOCALE("MS_804")] class MSFT_NetEventPacketCaptureTarget : CIM_LogicalElement { [Description("对象的名称") : Amended ToSubclass] string Name; [key,Description("对象的唯一标识键。") : Amended ToSubclass] string Id; [Description("数据包捕获提供程序的名称。") : Amended ToSubclass] string ProviderName; [Description("捕获的当前状态。") : Amended ToSubclass] uint32 CaptureStatus; }; [Description("此类将封装要在其上捕获流量的目标网络适配器。") : Amended ToSubclass,AMENDMENT, LOCALE("MS_804")] class MSFT_NetEventNetworkAdapter : MSFT_NetEventPacketCaptureTarget { [Description("目标网络适配器的友好名称或描述。") : Amended ToSubclass] string InterfaceDescription; }; [Description("此类将封装计算机上用于事件捕获的 ETW 提供程序。") : Amended ToSubclass,AMENDMENT, LOCALE("MS_804")] class MSFT_NetEventProviderBase : CIM_LogicalElement { [Description("提供程序的名称") : Amended ToSubclass] string Name; [key,Description("GUID,计算机上安装的提供程序的唯一 ID。") : Amended ToSubclass] string Guid; [key,Description("Guid,会话的唯一 ID,属于会话的一部分,否则 Guid 为 NULL。") : Amended ToSubclass] string SessionGuid; [Description("提供程序的会话(属于会话时)。") : Amended ToSubclass] string SessionName; [Description("事件捕获的最高事件级别。") : Amended ToSubclass] uint8 Level; [Description("为事件捕获指定的 MatchAnyKeyword 掩码。") : Amended ToSubclass] uint64 MatchAnyKeyword; [Description("为事件捕获指定的 MatchAllKeyword 掩码。") : Amended ToSubclass] uint64 MatchAllKeyword; }; [Description("此类将封装计算机上的数据包捕获筛选器 ETW 提供程序") : Amended ToSubclass,AMENDMENT, LOCALE("MS_804")] class MSFT_NetEventPacketCaptureProvider : MSFT_NetEventProviderBase { [Description("捕获的类型 - “物理”、\"VMSwitch\" 或“两者”") : Amended ToSubclass] uint8 CaptureType; [Description("指定是目标网络堆栈中的每个可能层都需要捕获,还是只有默认层才需要捕获。对于 VMSwitch,筛选器将默认安装在扩展堆栈之上。对于物理网络适配器,筛选器将安装在微型端口上方。") : Amended ToSubclass] boolean MultiLayer; [Description("指定用于筛选的 MAC 地址或 LinkLayerAddress") : Amended ToSubclass] string LinkLayerAddress[]; [Description("指定用于筛选的 EtherType") : Amended ToSubclass] uint16 EtherType[]; [Description("指定用于筛选的 IP 地址(V4/V6)") : Amended ToSubclass] string IPAddresses[]; [Description("指定用于筛选的 IP 协议") : Amended ToSubclass] uint8 IPProtocols[]; [Description("指定数据包截断长度(以字节为单位)。默认长度为 128,最小长度为 14。如果值为零,则禁用截断。") : Amended ToSubclass] uint16 TruncationLength; [Description("指定添加 VM 目标时要捕获的流量方向 - “入口”、“出口”或 \"IngressAndEgress\"。") : Amended ToSubclass] uint8 VmCaptureDirection; }; [Description("此类将封装计算机上用于事件捕获的 ETW 提供程序") : Amended ToSubclass,AMENDMENT, LOCALE("MS_804")] class MSFT_NetEventProvider : MSFT_NetEventProviderBase { }; [Description("此类将封装计算机上的 ETW 捕获会话。") : Amended ToSubclass,AMENDMENT, LOCALE("MS_804")] class MSFT_NetEventSession : CIM_LogicalElement { [Description("会话的友好名称。") : Amended ToSubclass] string Name; [key,Description("GUID,会话的唯一 ID") : Amended ToSubclass] string Guid; [Description("捕获的模式 - SaveToFile、RealtimeRPC、RealtimeLocal。") : Amended ToSubclass] uint8 CaptureMode; [Description("事件捕获跟踪将写入到的本地文件名。只有当 CaptureMode 等于 SaveToFile 时才有效") : Amended ToSubclass] string LocalFilePath; [Description("事件捕获跟踪将写入到的本地文件的最大大小(以 MB 为单位)。只有当 CaptureMode 等于 SaveToFile 时才有效。最小值为 1。如果设置为 0,则文件大小没有限制。") : Amended ToSubclass] uint32 MaxFileSize; [Description("ETW 会话的跟踪缓冲区大小。值范围为 1KB 到 1024KB。") : Amended ToSubclass] uint32 TraceBufferSize; [Description("用于 ETW 会话的跟踪缓冲区的最大数目。") : Amended ToSubclass] uint8 MaxNumberOfBuffers; [Description("会话的当前状态 - “正在运行”、“已停止”、“失败”") : Amended ToSubclass] uint8 SessionStatus; [Description("启动事件捕获,同时应用会话配置") : Amended ToSubclass] uint32 Start(); [Description("停止事件捕获") : Amended ToSubclass] uint32 Stop(); }; [Description("此类将封装会话与提供程序之间的关联") : Amended ToSubclass,AMENDMENT, LOCALE("MS_804")] class MSFT_NetEventSession_Provider : CIM_Component { [key,Description("标识会话") : Amended ToSubclass] MSFT_NetEventSession Ref GroupComponent; [key,Description("标识提供程序") : Amended ToSubclass] MSFT_NetEventProvider Ref PartComponent; }; [Description("此类封装了一个 VM 网络适配器,该适配器与要捕获其流量的虚拟交换机上的端口相对应。") : Amended ToSubclass,AMENDMENT, LOCALE("MS_804")] class MSFT_NetEventVmNetworkAdapter : MSFT_NetEventPacketCaptureTarget { [Description("VM 网络适配器的 MacAddress 或 LinkLayerAddress。") : Amended ToSubclass] string MacAddress; [Description("VM 网络适配器连接到的虚拟交换机的名称。") : Amended ToSubclass] string SwitchName; [Description("VM 网络适配器的端口名称。") : Amended ToSubclass] string PortName; [Description("VM 网络适配器所属的虚拟机的名称。") : Amended ToSubclass] string VMName; [Description("VM 网络适配器所属的虚拟机的 ID。") : Amended ToSubclass] string VMId; }; [Description("封装要捕获其流量的 hyper-v 主机上的虚拟交换机。") : Amended ToSubclass,AMENDMENT, LOCALE("MS_804")] class MSFT_NetEventVmSwitch : MSFT_NetEventPacketCaptureTarget { };