#pragma autorecover
#pragma classflags(64)
#pragma namespace("\\\\.\\root\\StandardCimV2")
instance of __namespace{ name="MS_804";};
#pragma namespace("\\\\.\\root\\StandardCimV2\\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 意味着元素完全无法工作。定义的状态集如下: \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("表示打印队列及其关联的设置。") : Amended ToSubclass,Version("1.0") : Amended,AMENDMENT, LOCALE("MS_804")] 
class MSFT_Printer : CIM_ManagedSystemElement
{
  [Description("此打印机的名称。") : Amended ToSubclass,key] string Name;
  [key,Description("此打印机驻留的服务器的名称。") : Amended ToSubclass] string ComputerName;
  [Description("此打印机在共享时使用的名称。") : Amended ToSubclass] string ShareName;
  [Description("与此打印机关联的端口的名称。") : Amended ToSubclass] string PortName;
  [Description("与此打印机关联的打印机驱动程序的名称。") : Amended ToSubclass] string DriverName;
  [Description("关于打印机物理位置的文字描述。") : Amended ToSubclass] string Location;
  [Description("打印机的描述性文本注释。") : Amended ToSubclass] string Comment;
  [Description("包含分隔页 PDL 的文件的路径。") : Amended ToSubclass] string SeparatorPageFile;
  [Description("此设备的打印处理器的名称。") : Amended ToSubclass] string PrintProcessor;
  [Description("打印机在记录打印作业时将使用的数据类型。") : Amended ToSubclass] string Datatype;
  [Description("指明此打印机当前是否已共享。") : Amended ToSubclass] boolean Shared;
  [Description("指明此打印机是否已发布到 Active Directory。") : Amended ToSubclass] boolean Published;
  [Description("在此打印机上设置的权限的 SDDL 表示。") : Amended ToSubclass] string PermissionSDDL;
  [Description("描述与此打印机所建立连接的呈现模式。") : Amended ToSubclass] uint32 RenderingMode;
  [Description("此打印机在调度打印作业时的优先级。") : Amended ToSubclass] uint32 Priority;
  [Description("此打印机上打印作业的默认作业优先级。") : Amended ToSubclass] uint32 DefaultJobPriority;
  [Description("打印机打印作业的最早时间，以 12:00 AM GMT (格林威治标准时间)之后经过的分钟数表示。") : Amended ToSubclass] uint32 StartTime;
  [Description("打印机打印作业的最晚时间，以 12:00 AM GMT (格林威治标准时间)之后经过的分钟数表示。") : Amended ToSubclass] uint32 UntilTime;
  [Description("打印机设备的状态。") : Amended ToSubclass,BitValues{"已暂停", "错误", "正在挂起删除", "卡纸", "缺纸", "手动送纸", "纸张问题", "脱机", "IO 在使用中", "忙", "正在打印", "收纸器已满", "不可用", "正在等待", "正在处理", "正在初始化", "正在预热", "墨粉不足", "无墨粉", "当前页无法打印", "用户干预", "内存不足", "机盖未关", "服务器未知", "节能", "服务器脱机", "需要驱动程序更新"} : Amended ToSubclass] uint32 PrinterStatus;
  [Description("此打印机上当前排队的打印作业数。") : Amended ToSubclass] uint32 JobCount;
  [Description("指定是否在打印后保留队列中的打印作业。") : Amended ToSubclass] boolean KeepPrintedJobs;
  [Description("指定是否已对此打印机禁用“分支机构远程日志记录”。") : Amended ToSubclass] boolean DisableBranchOfficeLogging;
  [Description("为此打印机指定“分支机构远程脱机日志记录”文件的最大大小(以 MB 为单位)。") : Amended ToSubclass] uint32 BranchOfficeOfflineLogSizeMB;
  [Description("描述与此打印机所建立连接的工作流应用程序策略。") : Amended ToSubclass] uint32 WorkflowPolicy;
  [key,Description("指示此队列的类型(连接或本地队列)。") : Amended ToSubclass] uint32 Type;
  [key,Description("指示此设备的类型(“标准打印机”或“3D 打印机”)。") : Amended ToSubclass] uint32 DeviceType;
  [Description("将一个新连接添加到共享打印队列。") : Amended ToSubclass] uint32 AddConnection([In,Description("指定共享队列的名称。") : Amended ToSubclass] string ConnectionName);
  [Description("使用现有打印机端口将新打印机添加到指定的服务器。") : Amended ToSubclass] uint32 AddByExistingPort([In,Description("指定打印机注释。") : Amended ToSubclass] string Comment,[In,Description("指定打印机将用于记录打印作业的数据类型") : Amended ToSubclass] string Datatype,[In,Description("指定要与此打印机关联的打印驱动程序的名称。") : Amended ToSubclass] string DriverName,[In,Description("指定打印机将打印作业的最晚时间，以 12:00 AM GMT (格林威治标准时间)之后经过的分钟数表示。") : Amended ToSubclass] uint32 UntilTime,[In,Description("指定是否应在后台打印后保留队列中的打印作业。") : Amended ToSubclass] boolean KeepPrintedJobs,[In,Description("指定打印机的位置。") : Amended ToSubclass] string Location,[In,Description("指定要添加的打印机的名称。") : Amended ToSubclass] string Name,[In,Description("将打印机的权限指定为 SDDL 字符串。") : Amended ToSubclass] string PermissionSDDL,[In,Description("指定为打印机使用或创建的端口的名称。") : Amended ToSubclass] string PortName,[In,Description("指定打印机使用的打印处理器的名称。") : Amended ToSubclass] string PrintProcessor,[In,Description("指定相对队列优先级。") : Amended ToSubclass] uint32 Priority,[In,Description("指定是否要在 AD 中发布打印机。") : Amended ToSubclass] boolean Published,[In,Description("指定打印机的呈现模式: SSR、CSR 或分支机构直接打印。") : Amended ToSubclass] uint32 RenderingMode,[In,Description("指定包含分隔页的 PDL 的文件的路径。") : Amended ToSubclass] string SeparatorPageFile,[In,Description("指定此打印机将添加到的计算机的名称。") : Amended ToSubclass] string ComputerName,[In,Description("指定这台打印机的共享名。") : Amended ToSubclass] string ShareName,[In,Description("指定是否将共享这台打印机。") : Amended ToSubclass] boolean Shared,[In,Description("指定打印机将打印作业的最早时间，以 12:00 AM GMT (格林威治标准时间)之后经过的分钟数表示。") : Amended ToSubclass] uint32 StartTime,[In,Description("指定是否已对此打印机禁用“分支机构远程日志记录”。") : Amended ToSubclass] boolean DisableBranchOfficeLogging,[In,Description("为此打印机指定“分支机构远程脱机日志记录”文件的最大大小(以 MB 为单位)。") : Amended ToSubclass] uint32 BranchOfficeOfflineLogSizeMB,[In,Description("为打印机指定工作流应用程序策略：“未初始化”、“已禁用”或“已启用”。") : Amended ToSubclass] uint32 WorkflowPolicy);
  [Description("使用新的 WSD 或 IPP 打印机端口将新打印机添加到指定服务器。") : Amended ToSubclass] uint32 AddByAdaptivePort([In,Description("指定打印机注释。") : Amended ToSubclass] string Comment,[In,Description("指定打印机将用于记录打印作业的数据类型") : Amended ToSubclass] string Datatype,[In,Description("用于 WSD 端口的定向发现的设备 URL，不能同时使用 IppUrl 指定此参数") : Amended ToSubclass] string DeviceURL,[In,Description("指定打印机将打印作业的最晚时间，以 12:00 AM GMT (格林威治标准时间)之后经过的分钟数表示。") : Amended ToSubclass] uint32 UntilTime,[In,Description("用于 WSD 端口的设备检测的多播 UUID，不能同时使用 IppUrl 指定此参数") : Amended ToSubclass] string DeviceUUID,[In,Description("用于 Ipp 端口的定向发现的 URL，不能同时使用 DeviceURL 或 DeviceUUID 指定此参数") : Amended ToSubclass] string IppUrl,[In,Description("指定是否应在后台打印后保留队列中的打印作业。") : Amended ToSubclass] boolean KeepPrintedJobs,[In,Description("指定打印机的位置。") : Amended ToSubclass] string Location,[In,Description("指定要添加的打印机的名称。") : Amended ToSubclass] string Name,[In,Description("将打印机的权限指定为 SDDL 字符串。") : Amended ToSubclass] string PermissionSDDL,[In,Description("指定打印机使用的打印处理器的名称。") : Amended ToSubclass] string PrintProcessor,[In,Description("指定相对队列优先级。") : Amended ToSubclass] uint32 Priority,[In,Description("指定是否要在 A.D 中发布打印机") : Amended ToSubclass] boolean Published,[In,Description("指定打印机的呈现模式: SSR、CSR 或分支机构直接打印。") : Amended ToSubclass] uint32 RenderingMode,[In,Description("指定包含分隔页的 PDL 的文件的路径。") : Amended ToSubclass] string SeparatorPageFile,[In,Description("指定此打印机将添加到的计算机的名称。") : Amended ToSubclass] string ComputerName,[In,Description("指定这台打印机的共享名。") : Amended ToSubclass] string ShareName,[In,Description("指定是否将共享这台打印机。") : Amended ToSubclass] boolean Shared,[In,Description("指定打印机将打印作业的最早时间，以 12:00 AM GMT (格林威治标准时间)之后经过的分钟数表示。") : Amended ToSubclass] uint32 StartTime,[In,Description("指定是否已对此打印机禁用“分支机构远程日志记录”。") : Amended ToSubclass] boolean DisableBranchOfficeLogging,[In,Description("为此打印机指定“分支机构远程脱机日志记录”文件的最大大小(以 MB 为单位)。") : Amended ToSubclass] uint32 BranchOfficeOfflineLogSizeMB,[In,Description("为打印机指定工作流应用程序策略：“未初始化”、“已禁用”或“已启用”。") : Amended ToSubclass] uint32 WorkflowPolicy);
  [Description("重命名指定的打印机。") : Amended ToSubclass] uint32 RenameByName([In,Description("要重命名的打印机的名称") : Amended ToSubclass] string Name,[In,Description("打印机的新名称。") : Amended ToSubclass] string NewName,[In,Description("这台打印机所在服务器的名称。") : Amended ToSubclass] string ComputerName);
  [Description("重命名指定的打印机") : Amended ToSubclass] uint32 RenameByObject([In,Description("MSFT_Printer 实例，用于指定要重命名的打印机。") : Amended ToSubclass] MSFT_Printer InputObject,[In,Description("打印机的新名称。") : Amended ToSubclass] string NewName);
};

[Description("表示 3D 打印队列及其关联的设置。") : Amended ToSubclass,Version("1.0") : Amended,AMENDMENT, LOCALE("MS_804")] 
class MSFT_3DPrinter : MSFT_Printer
{
};

[Description("打印机端口的基类。") : Amended ToSubclass,Version("1.0") : Amended,AMENDMENT, LOCALE("MS_804")] 
class MSFT_PrinterPort : CIM_ManagedSystemElement
{
  [Description("此端口的描述。") : Amended ToSubclass] string Description;
  [Description("此端口的名称。") : Amended ToSubclass,key] string Name;
  [key,Description("此端口的端口监视器的名称。") : Amended ToSubclass] string PortMonitor;
  [key,Description("此端口所在服务器的名称。") : Amended ToSubclass] string ComputerName;
};

[Description("表示 WSD 或 IPP 打印机端口") : Amended ToSubclass,Version("1.0") : Amended,AMENDMENT, LOCALE("MS_804")] 
class MSFT_AdaptivePrinterPort : MSFT_PrinterPort
{
  [Description("此端口的发现方法(多播或导向式发现)。") : Amended ToSubclass] uint32 DiscoveryMethod;
  [Description("此设备的 UUID (通过多播发现时)。") : Amended ToSubclass] string DeviceUUID;
  [Description("通过 WSD 定向发现)发现时，(此设备的 URL。") : Amended ToSubclass] string DeviceURL;
  [Description("通过 IPP 定向发现)发现时(此设备的 URL") : Amended ToSubclass] string IppUrl;
};

[Description("表示本地打印机端口。") : Amended ToSubclass,Version("1.0") : Amended,AMENDMENT, LOCALE("MS_804")] 
class MSFT_LocalPrinterPort : MSFT_PrinterPort
{
};

[Description("表示 LPR 打印机端口") : Amended ToSubclass,Version("1.0") : Amended,AMENDMENT, LOCALE("MS_804")] 
class MSFT_LprPrinterPort : MSFT_PrinterPort
{
  [Description("托管 LPR 打印机的服务器。") : Amended ToSubclass] string HostName;
  [Description("此 LPR 端口指向的打印机。") : Amended ToSubclass] string PrinterName;
};

[Description("表示打印队列中的一个打印作业") : Amended ToSubclass,Version("1.0") : Amended,AMENDMENT, LOCALE("MS_804")] 
class MSFT_PrintJob : CIM_ManagedSystemElement
{
  [key,Description("此作业的作业 ID。") : Amended ToSubclass] uint32 Id;
  [Description("与此作业关联的服务器。") : Amended ToSubclass] string ComputerName;
  [key,Description("与此作业关联的打印机。") : Amended ToSubclass] string PrinterName;
  [Description("已提交此作业的用户。") : Amended ToSubclass] string UserName;
  [Description("此作业的名称。") : Amended ToSubclass] string DocumentName;
  [Description("此作业的数据类型。") : Amended ToSubclass] string Datatype;
  [Description("此作业的优先级。") : Amended ToSubclass] uint32 Priority;
  [Description("此作业在打印队列中的位置。") : Amended ToSubclass] uint32 Position;
  [Description("此作业的提交时间。") : Amended ToSubclass] datetime SubmittedTime;
  [Description("此作业的大小(以字节为单位)。") : Amended ToSubclass] uint32 Size;
  [Description("处理此作业所用的时间(以毫秒为单位)。") : Amended ToSubclass] uint32 JobTime;
  [Description("此作业中已打印的页数。") : Amended ToSubclass] uint32 PagesPrinted;
  [Description("此作业中的总页数。") : Amended ToSubclass] uint32 TotalPages;
  [Description("此作业的状态。") : Amended ToSubclass,BitValues{"已暂停", "错误", "正在删除", "正在进行后台打印", "正在打印", "脱机", "缺纸", "已打印", "已删除", "已阻止", "用户干预", "重新启动", "完成", "已保留", "本地呈现"} : Amended ToSubclass] uint32 JobStatus;
  [Description("返回给定打印队列中的打印作业。") : Amended ToSubclass] uint32 GetByName([In,Description("指定服务器的名称。") : Amended ToSubclass] string ComputerName,[In,Description("指定要获取的作业的 ID。") : Amended ToSubclass] uint32 ID,[In,Description("指定将使用的打印机的名称。") : Amended ToSubclass] string PrinterName,[Out,Description("返回的打印作业。") : Amended ToSubclass] MSFT_PrintJob cmdletOutput[]);
  [Description("返回给定打印队列中的打印作业") : Amended ToSubclass] uint32 GetByObject([In,Description("指定要获取的作业的 ID。") : Amended ToSubclass] uint32 ID,[In,Description("指定将使用的打印机。") : Amended ToSubclass] MSFT_Printer PrinterObject,[Out,Description("返回的打印作业。") : Amended ToSubclass] MSFT_PrintJob cmdletOutput[]);
  [Description("从给定队列中删除打印作业。") : Amended ToSubclass] uint32 DeleteJobByObject([In,Description("指定要删除的打印作业。") : Amended ToSubclass] MSFT_PrintJob InputObject);
  [Description("从给定队列中删除打印作业。") : Amended ToSubclass] uint32 DeleteJobById([In,Description("指定该作业所在的服务器的名称。") : Amended ToSubclass] string ComputerName,[In,Description("指定要删除的打印作业的 ID。") : Amended ToSubclass] uint32 ID,[In,Description("指定要从中删除作业的打印队列的名称。") : Amended ToSubclass] string PrinterName);
  [Description("从给定队列中删除打印作业。") : Amended ToSubclass] uint32 DeleteJobByPrinterObject([In,Description("指定要删除的打印作业的 ID。") : Amended ToSubclass] uint32 ID,[In,Description("指定要从中删除作业的打印队列。") : Amended ToSubclass] MSFT_Printer PrinterObject);
  [Description("重新启动打印队列中的打印作业。") : Amended ToSubclass] uint32 RestartJobByObject([In,Description("指定要重新启动的打印作业。") : Amended ToSubclass] MSFT_PrintJob InputObject);
  [Description("重新启动打印队列中的打印作业。") : Amended ToSubclass] uint32 RestartJobById([In,Description("指定该作业所在的服务器的名称。") : Amended ToSubclass] string ComputerName,[In,Description("指定要重新启动的打印作业的 ID。") : Amended ToSubclass] uint32 ID,[In,Description("指定要重新启动其中作业的打印队列的名称。") : Amended ToSubclass] string PrinterName);
  [Description("重新启动打印队列中的打印作业。") : Amended ToSubclass] uint32 RestartJobByPrinterObject([In,Description("指定要重新启动的打印作业的 ID。") : Amended ToSubclass] uint32 ID,[In,Description("指定将使用的打印机。") : Amended ToSubclass] MSFT_Printer PrinterObject);
  [Description("resume-printjob cmdlet 将恢复打印作业") : Amended ToSubclass] uint32 ResumeJobByObject([In,Description("指定要恢复的打印作业。") : Amended ToSubclass] MSFT_PrintJob InputObject);
  [Description("恢复暂停的打印作业") : Amended ToSubclass] uint32 ResumeJobById([In,Description("指定所用服务器的名称。") : Amended ToSubclass] string ComputerName,[In,Description("指定要恢复的打印作业的 ID。") : Amended ToSubclass] uint32 ID,[In,Description("指定打印机名称。") : Amended ToSubclass] string PrinterName);
  [Description("恢复暂停的打印作业") : Amended ToSubclass] uint32 ResumeJobByPrinterObject([In,Description("指定要恢复的打印作业的 ID。") : Amended ToSubclass] uint32 ID,[In,Description("指定将使用的打印机。") : Amended ToSubclass] MSFT_Printer PrinterObject);
  [Description("暂停打印队列中的打印作业。") : Amended ToSubclass] uint32 SuspendJobByObject([In,Description("指定要暂停的打印作业。") : Amended ToSubclass] MSFT_PrintJob InputObject);
  [Description("暂停打印队列中的打印作业。") : Amended ToSubclass] uint32 SuspendJobById([In,Description("指定该作业所在的服务器的名称。") : Amended ToSubclass] string ComputerName,[In,Description("指定要暂停的打印作业的 ID。") : Amended ToSubclass] uint32 ID,[In,Description("指定要暂停其中作业的打印队列的名称。") : Amended ToSubclass] string PrinterName);
  [Description("暂停打印队列中的打印作业。") : Amended ToSubclass] uint32 SuspendJobByPrinterObject([In,Description("指定要暂停的打印作业的 ID。") : Amended ToSubclass] uint32 ID,[In,Description("指定将使用的打印机。") : Amended ToSubclass] MSFT_Printer PrinterObject);
};

[Version("1.0") : Amended,Description("封装打印机的配置信息。") : Amended ToSubclass,AMENDMENT, LOCALE("MS_804")] 
class MSFT_PrinterConfiguration
{
  [key,Description("与此配置关联的打印机。") : Amended ToSubclass] string PrinterName;
  [key,Description("打印机所在服务器的名称。") : Amended ToSubclass] string ComputerName;
  [Description("用于定义此设备的默认打印设置的打印票证 XML。") : Amended ToSubclass] string PrintTicketXML;
  [Description("用于定义此设备的打印功能的打印功能 XML。") : Amended ToSubclass] string PrintCapabilitiesXML;
  [Description("表示打印机的双面打印模式。") : Amended ToSubclass] uint32 DuplexingMode;
  [Description("指示排序是已启用还是已禁用。") : Amended ToSubclass] boolean Collate;
  [Description("表示打印机是否应使用颜色。") : Amended ToSubclass] boolean Color;
  [Description("指示所选的纸张大小。") : Amended ToSubclass] uint32 PaperSize;
  [Description("检索打印机的配置信息。") : Amended ToSubclass] uint32 GetByPrinterName([In,Description("打印机所在的服务器。") : Amended ToSubclass] string ComputerName,[In,Description("要检索其打印机配置的打印机的名称。") : Amended ToSubclass] string PrinterName,[Out,Description("请求的打印机所返回的配置。") : Amended ToSubclass] MSFT_PrinterConfiguration cmdletOutput);
  [Description("检索打印机的配置信息。") : Amended ToSubclass] uint32 GetByPrinterObject([In,Description("要检索其打印机配置的打印机。") : Amended ToSubclass] MSFT_Printer PrinterObject,[Out,Description("请求的打印机所返回的配置。") : Amended ToSubclass] MSFT_PrinterConfiguration cmdletOutput);
  [Description("设置打印机的配置信息") : Amended ToSubclass] uint32 SetByPrinterName([In,Description("指定默认情况下是否对此打印机的输出排序。") : Amended ToSubclass] boolean Collate,[In,Description("指定打印机是否应使用颜色。") : Amended ToSubclass] boolean Color,[In,Description("指定默认情况下打印机应使用的双面打印模式。") : Amended ToSubclass] uint32 DuplexingMode,[In,Description("指定默认情况下打印机应使用的纸张大小。") : Amended ToSubclass] uint32 PaperSize,[In,Description("指定用于定义此打印机的默认打印设置的打印票证 XML。") : Amended ToSubclass] string PrintTicketXML,[In,Description("指定打印机所在的服务器。") : Amended ToSubclass] string ComputerName,[In,Description("指定要为其设置配置信息的打印机。") : Amended ToSubclass] string PrinterName);
  [Description("设置打印机的配置信息") : Amended ToSubclass] uint32 SetByPrinterObject([In,Description("指定默认情况下是否对此打印机的输出排序。") : Amended ToSubclass] boolean Collate,[In,Description("指定打印机是否应使用颜色。") : Amended ToSubclass] boolean Color,[In,Description("指定默认情况下打印机应使用的双面打印模式。") : Amended ToSubclass] uint32 DuplexingMode,[In,Description("指定默认情况下打印机应使用的纸张大小。") : Amended ToSubclass] uint32 PaperSize,[In,Description("指定用于定义此打印机的默认打印设置的打印票证 XML。") : Amended ToSubclass] string PrintTicketXML,[In,Description("指定要更改其配置设置的打印机对象。") : Amended ToSubclass] MSFT_Printer PrinterObject);
  [Description("设置打印机的配置信息。") : Amended ToSubclass] uint32 SetByPrintConfigObject([In,Description("指定要设置的打印机配置设置。") : Amended ToSubclass] MSFT_PrinterConfiguration InputObject);
};

[Description("表示打印机驱动程序") : Amended ToSubclass,AMENDMENT, LOCALE("MS_804")] 
class MSFT_PrinterDriver : CIM_ManagedSystemElement
{
  [Description("此驱动程序的名称。") : Amended ToSubclass,key] string Name;
  [key,Description("此驱动程序所安装在的服务器。") : Amended ToSubclass] string ComputerName;
  [key,Description("此驱动程序的环境。") : Amended ToSubclass] string PrinterEnvironment;
  [Description("此驱动程序在驱动程序存储中的路径。") : Amended ToSubclass] string Path;
  [Description("此驱动程序的数据文件。") : Amended ToSubclass] string DataFile;
  [Description("此驱动程序的配置文件。") : Amended ToSubclass] string ConfigFile;
  [Description("此驱动程序的帮助文件。") : Amended ToSubclass] string HelpFile;
  [Description("此驱动程序的依赖文件。") : Amended ToSubclass] string DependentFiles[];
  [Description("此驱动程序的语言监视器名称。") : Amended ToSubclass] string Monitor;
  [Description("此驱动程序的默认数据类型。") : Amended ToSubclass] string DefaultDatatype;
  [Description("此驱动程序的时间戳。") : Amended ToSubclass] datetime Date;
  [Description("此驱动程序的主要版本(例如 3 或 4)。") : Amended ToSubclass] uint32 MajorVersion;
  [Description("此驱动程序的特定于驱动程序的版本。") : Amended ToSubclass] uint64 DriverVersion;
  [Description("此驱动程序的制造商。") : Amended ToSubclass] string Manufacturer;
  [Description("此驱动程序的制造商的 URL。") : Amended ToSubclass] string OEMUrl;
  [Description("此驱动程序的硬件 ID。") : Amended ToSubclass] string HardwareID;
  [Description("此驱动程序所需的打印提供程序。") : Amended ToSubclass] string provider;
  [Description("此驱动程序所需的打印处理器。") : Amended ToSubclass] string PrintProcessor;
  [Description("供应商提供的此驱动程序的安装程序 dll 和入口点。") : Amended ToSubclass] string VendorSetup;
  [Description("与此驱动程序关联的任何颜色配置文件。") : Amended ToSubclass] string ColorProfiles[];
  [key,Description("此驱动程序的 INF 文件在驱动程序存储中的路径。") : Amended ToSubclass] string InfPath;
  [Description("指示此驱动程序是否可识别程序包。") : Amended ToSubclass] boolean IsPackageAware;
  [Description("此驱动程序所依赖的核心打印机驱动程序的列表。") : Amended ToSubclass] string CoreDriverDependencies[];
  [Description("与此驱动程序兼容的以前驱动程序名称的列表。") : Amended ToSubclass] string PreviousCompatibleNames[];
  [Description("将打印驱动程序安装到打印服务器的驱动程序存储中。") : Amended ToSubclass] uint32 Add([In,Description("驱动程序的名称。") : Amended ToSubclass] string Name,[In,Description("驱动程序的 INF 文件的路径。") : Amended ToSubclass] string InfPath,[In,Description("服务器的环境。") : Amended ToSubclass] string PrinterEnvironment,[In,Description("打印机驱动程序将添加到的服务器的名称。") : Amended ToSubclass] string ComputerName);
};

[Version("1.0") : Amended,Description("包含 NFC 标记的打印机数据。") : Amended ToSubclass,AMENDMENT, LOCALE("MS_804")] 
class MSFT_PrinterNfcTag
{
  [Description("打印机的 UNC 共享路径。") : Amended ToSubclass] string SharePath[];
  [Description("打印机的 WSD 地址。") : Amended ToSubclass] string WsdAddress[];
  [Description("指示标记是否已锁定，以防更改标记内容。") : Amended ToSubclass] boolean Locked;
};

[Description("公开用于读取和写入打印机 NFC 标记的方法。") : Amended ToSubclass,AMENDMENT, LOCALE("MS_804")] 
class MSFT_PrinterNfcTagTasks
{
  [Description("点击系统的默认 NFC 写入程序时，会将打印机连接数据写入到下一个 NFC 标记。") : Amended ToSubclass] uint32 WriteByManualSpecification([In,Description("指定一个或多个要写入到该标记的共享路径(如 \\printServer\\shareName)") : Amended ToSubclass] string SharePath[],[In,Description("指定一个或多个要写入到该标记的 WSD 主机地址。") : Amended ToSubclass] string WsdAddress[],[In,Description("指定是否要锁定标记以防更改标记内容。") : Amended ToSubclass] boolean Lock);
  [Description("点击系统的默认 NFC 写入程序时，会将打印机连接数据写入到下一个 NFC 标记。") : Amended ToSubclass] uint32 WriteByPrinterNfcTag([In,Description("指定要通过 NfcTag 对象(从 read-printernfctag 返回)在 NFC 标记上编码的打印机") : Amended ToSubclass] MSFT_PrinterNfcTag InputObject);
  [Description("点击系统的默认 NFC 读取程序时，会从下一个 NFC 标记读取打印机连接数据。") : Amended ToSubclass] uint32 Read([Out,Description("返回的 NFC 数据。") : Amended ToSubclass] MSFT_PrinterNfcTag cmdletOutput);
};

[Version("1.0") : Amended,Description("提供用于添加端口的静态方法。") : Amended ToSubclass,AMENDMENT, LOCALE("MS_804")] 
class MSFT_PrinterPortTasks
{
  [Description("在给定服务器上创建新的本地打印机端口") : Amended ToSubclass] uint32 AddByLocalPort([In,Description("打印机端口将添加到的服务器的名称。") : Amended ToSubclass] string ComputerName,[In,Description("端口的名称。") : Amended ToSubclass] string Name);
  [Description("在给定服务器上创建新的 LPR 打印机端口") : Amended ToSubclass] uint32 AddByLprPort([In,Description("打印机端口将添加到的服务器的名称。") : Amended ToSubclass] string ComputerName,[In,Description("托管 LPR 设备的服务器的名称。") : Amended ToSubclass] string HostName,[In,Description("打印机的 LPR 名称。") : Amended ToSubclass] string PrinterName);
  [Description("在处于 TCP 模式的给定服务器上创建新的 TCP/IP 打印机端口。") : Amended ToSubclass] uint32 AddByTcpPort([In,Description("打印机端口将添加到的服务器的名称。") : Amended ToSubclass] string ComputerName,[In,Description("端口的名称。") : Amended ToSubclass] string Name,[In,Description("TCP/IP 端口号。默认值为 9100。") : Amended ToSubclass] uint32 PortNumber,[In,Description("TCP 端口的主机地址。") : Amended ToSubclass] string PrinterHostAddress,[In,Description("启用 SNMP 并指定索引。") : Amended ToSubclass] uint32 SNMP,[In,Description("SNMP 社区名称。在已启用 SNMP 时必须指定。") : Amended ToSubclass] string SNMPCommunity);
  [Description("在处于 LPR 模式的给定服务器上创建新的 TCP/IP 打印机端口。") : Amended ToSubclass] uint32 AddByTcpPortLprMode([In,Description("指定打印机端口将添加到的服务器的名称。") : Amended ToSubclass] string ComputerName,[In,Description("启用 LPR 字节计数。") : Amended ToSubclass] boolean LprByteCounting,[In,Description("LPR 端口的主机地址。") : Amended ToSubclass] string LprHostAddress,[In,Description("LPR 队列名称。") : Amended ToSubclass] string LprQueueName,[In,Description("端口的名称。") : Amended ToSubclass] string Name,[In,Description("TCP/IP 端口号。默认值为 515。") : Amended ToSubclass] uint32 PortNumber,[In,Description("启用 SNMP 并指定索引。") : Amended ToSubclass] uint32 SNMP,[In,Description("SNMP 社区名称。在已启用 SNMP 时必须指定。") : Amended ToSubclass] string SNMPCommunity);
};

[Description("表示打印队列中设置的驱动程序属性") : Amended ToSubclass,AMENDMENT, LOCALE("MS_804")] 
class MSFT_PrinterProperty : CIM_ManagedElement
{
  [key,Description("打印机所在服务器的名称。") : Amended ToSubclass] string ComputerName;
  [key,Description("此属性所属的打印机的名称。") : Amended ToSubclass] string PrinterName;
  [key,Description("打印机上设置的属性名称。") : Amended ToSubclass] string PropertyName;
  [key,Description("属性的类型(布尔型、整型或字符串)。") : Amended ToSubclass] uint32 Type;
  [Description("属性的值。") : Amended ToSubclass] string Value;
  [Description("设置指定打印机的属性") : Amended ToSubclass] uint32 SetByPrinterName([In,Description("指定打印机所在的服务器。") : Amended ToSubclass] string ComputerName,[In,Description("指定要设置其属性的打印机。") : Amended ToSubclass] string PrinterName,[In,Description("指定要修改的属性。") : Amended ToSubclass] string PropertyName,[In,Description("指定新的属性值。") : Amended ToSubclass] string Value);
  [Description("通过 MSFT_PrinterProperty 对象设置属性") : Amended ToSubclass] uint32 SetByPrinterPropertyObject([In,Description("指定要设置的属性。") : Amended ToSubclass] MSFT_PrinterProperty InputObject);
  [Description("通过 MSFT_Printer 对象设置驱动程序属性") : Amended ToSubclass] uint32 SetByPrinterObject([In,Description("指定要更改其属性的打印机对象。") : Amended ToSubclass] MSFT_Printer PrinterObject,[In,Description("指定要修改的属性。") : Amended ToSubclass] string PropertyName,[In,Description("指定新的属性值。") : Amended ToSubclass] string Value);
};

[Description("表示 TCP/IP 打印机端口") : Amended ToSubclass,Version("1.0") : Amended,AMENDMENT, LOCALE("MS_804")] 
class MSFT_TcpIpPrinterPort : MSFT_PrinterPort
{
  [Description("此端口的主机地址或 IP。") : Amended ToSubclass] string PrinterHostAddress;
  [Description("此端口的主机 IP 地址。") : Amended ToSubclass] string PrinterHostIP;
  [Description("此端口的 TCP/IP 端口地址。") : Amended ToSubclass] uint32 PortNumber;
  [Description("此端口的 SNMP 社区。") : Amended ToSubclass] string SNMPCommunity;
  [Description("此端口的 SNMP 索引。") : Amended ToSubclass] uint32 SNMPIndex;
  [Description("指定是否已为此端口启用 SNMP。") : Amended ToSubclass] boolean SNMPEnabled;
  [Description("此端口的协议(RAW 或 LPR)。") : Amended ToSubclass] uint32 Protocol;
  [Description("此端口的 LPR 队列名称(如果针对 LPR 协议进行配置)。") : Amended ToSubclass] string LprQueueName;
  [Description("指定是否已为此端口启用 LPR 字节计数(如果针对 LPR 协议进行配置)。") : Amended ToSubclass] boolean LprByteCounting;
};
