#pragma autorecover
#pragma namespace("\\\\.\\root\\microsoft\\windows\\EventTracingManagement")
instance of __namespace{ name="MS_804";};
#pragma namespace("\\\\.\\root\\microsoft\\windows\\EventTracingManagement\\MS_804")

[Version("2.19.0") : Amended,Description("ManagedElement 是一个抽象类，为 CIM 架构中的非关联类提供一个公共超类(即继承树的顶部)。") : Amended ToSubclass,AMENDMENT, LOCALE("MS_804")] 
class CIM_ManagedElement
{
  [Description("InstanceID 是一个可选属性，可用于在实例化 Namespace 的作用域内模糊并唯一地标识此类的实例。此类的各种子类可能会替代此属性，使其成为必要属性或密钥。此类子类可能还会修改首选的算法，以确保唯一性（如下方所定义）。\n为确保在 NameSpace 内的唯一性，InstanceID 的值应使用以下“首选”算法来构造: \n<OrgID>:<LocalID> \n其中<OrgID> 和 <LocalID> 以冒号 (:) 分隔，并且 <OrgID> 中必须包含用于创建或定义 InstanceID 的版权、商标或商业实体拥有的其他唯一名称，或者公认世界权威机构向该商业实体分配的注册 ID。(此要求与架构类名称的 <Schema Name>_<Class Name> 结构类似。) 此外，为确保唯一性，<OrgID> 中必须包含一个冒号 (:)。在使用此算法时，InstanceID 中的第一个冒号必须位于 <OrgID> 和 <LocalID> 之间。\n<LocalID> 由商业实体选择，不得再用于标识其他基础(实际)元素。如果 <LocalID> 不为空并且不使用上述“首选”算法，则负责定义的实体必须保证最终构造的 InstanceID 不会在此提供程序或任何其他提供程序为此实例的 NameSpace 创建的任何 InstanceID 中发生重复使用情况。\n如果对于 DMTF 定义的实例，<LocalID> 未设置为空，则必须使用“首选”算法，并且将 <OrgID> 设置为 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 意味着元素完全无法工作。定义的 Continuum 如下: \n“不可恢复的错误”(30) - 元素以失败而告终，并且无法恢复。此元素提供的所有功能均已丧失。\n“关键故障”(25) - 元素无法工作，并且可能无法恢复。\n“主要故障”(20) - 元素失败。此组件的部分或全部功能可能已降级或无法使用。\n“次要故障”(15) - 所有功能均可以使用，但是有些功能可能已降级。\n“已降级/警告”(10) - 元素正在工作，并且提供所有功能。但是元素未实现最佳效果。例如，元素可能未实现最佳性能或报告了可恢复的错误。 \n“良好”(5) - 元素功能完全正常，使用正常的操作参数工作，没有出现错误。\n“未知”(0) - 此时无法报告 HealthState。 \nDMTF 在 Continuum 中为以后增加 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 是所有代表抽象系统组件(例如文件、进程或 LogicalDevices)的系统组件的基类。") : Amended ToSubclass,Version("2.6.0") : Amended,AMENDMENT, LOCALE("MS_804")] 
class CIM_LogicalElement : CIM_ManagedSystemElement
{
};

[Description("自动记录程序会话配置类。") : Amended ToSubclass,Version("1.0") : Amended,AMENDMENT, LOCALE("MS_804")] 
class MSFT_AutologgerConfig : CIM_LogicalElement
{
  [Description("新自动记录程序会话配置的名称。") : Amended ToSubclass,key] string Name;
  [Description("每个缓冲区的大小，以 KB 为单位。应小于 1 MB。") : Amended ToSubclass] uint32 BufferSize;
  [Description("记录每个事件的时间戳时使用的计时器。") : Amended ToSubclass,Values{"性能计数器值(高分辨率)", "系统计时器", "CPU 周期计数器"} : Amended ToSubclass] uint32 ClockType;
  [Description("若要禁用实时持久性，请将此值设置为 1。") : Amended ToSubclass] uint32 DisableRealtimePersistence;
  [Description("ETW 创建的日志文件实例的最大数目。") : Amended ToSubclass] uint32 FileCount;
  [Description("日志文件的完全限定路径。默认值为 %SystemRoot%\\System32\\LogFiles\\WMI\\<名称>.etl。") : Amended ToSubclass] string LocalFilePath;
  [Description("ETW 创建的日志文件实例的最大数目。") : Amended ToSubclass] uint32 FileMax;
  [Description("强制刷新跟踪缓冲区的频率，以秒为单位。") : Amended ToSubclass] uint32 FlushTimer;
  [Description("自动记录程序会话配置 ID。") : Amended ToSubclass] string Guid;
  [Description("指定一种或多种日志模式，例如 EVENT_TRACE_REAL_TIME_MODE 0x100。每种模式都是一个位域。 ") : Amended ToSubclass] uint32 LogFileMode;
  [Description("在创建新的日志文件之前现有日志文件的最大大小，以 MB 为单位。默认值为 100 MB。") : Amended ToSubclass] uint32 MaximumFileSize;
  [Description("ETW 跟踪会话缓冲区的最大数目。") : Amended ToSubclass] uint32 MaximumBuffers;
  [Description("ETW 跟踪会话缓冲区的最小数目。") : Amended ToSubclass] uint32 MinimumBuffers;
  [Description("1: 启动时创建一个 ETW 跟踪会话; 0: 启动时不创建此类会话。") : Amended ToSubclass] uint32 Start;
  [Description("自动记录程序的启动状态; 否则为 win32 错误代码。") : Amended ToSubclass] uint32 InitStatus;
};

[Description("此类用于封装计算机上的 ETW 跟踪提供程序。") : Amended ToSubclass,Version("1.0") : Amended,AMENDMENT, LOCALE("MS_804")] 
class MSFT_EtwTraceProvider : CIM_LogicalElement
{
  [Description("提供程序的名称") : Amended ToSubclass] string Name;
  [key,Description("GUID，计算机上安装的提供程序的唯一 ID。") : Amended ToSubclass] string Guid;
  [key,Description("提供程序的自动记录程序(属于自动记录程序配置时)。") : Amended ToSubclass] string AutologgerName;
  [key,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] uint32 Property;
};

[Description("实时 ETW 跟踪会话类。") : Amended ToSubclass,Version("1.0") : Amended,AMENDMENT, LOCALE("MS_804")] 
class MSFT_EtwTraceSession : CIM_LogicalElement
{
  [Description("要获取的 ETW 跟踪会话的名称。") : Amended ToSubclass,key] string Name;
  [Description("ETW 跟踪会话的日志文件模式。") : Amended ToSubclass] uint32 LogFileMode;
  [Description("ETW 跟踪会话缓冲区大小，以 KB 为单位。") : Amended ToSubclass] uint32 BufferSize;
  [Description("ETW 跟踪会话缓冲区的最小数目。") : Amended ToSubclass] uint32 MinimumBuffers;
  [Description("ETW 跟踪会话缓冲区的最大数目。") : Amended ToSubclass] uint32 MaximumBuffers;
  [Description("ETW 跟踪会话刷新捕获缓冲区的超时值。") : Amended ToSubclass] uint32 FlushTimer;
  [Description("ETW 会话时钟类型。") : Amended ToSubclass,Values{"性能计数器值(高分辨率)", "系统计时器", "CPU 周期计数器"} : Amended ToSubclass] uint32 ClockType;
  [Description("用于记录事件的文件的最大大小") : Amended ToSubclass] uint32 MaximumFileSize;
  [Description("事件捕获跟踪要写入到的本地文件名。") : Amended ToSubclass] string LocalFilePath;
  [Description("将指定的 ETW 跟踪会话的日志文件发送到配置的远程共享。") : Amended ToSubclass] uint32 Send([In] string DestinationFolder,[In] boolean DeleteFile,[Out] string SourceFilePath,[Out] uint32 ErrorCode);
};
