// Copyright (c) 1997-2003 Microsoft Corporation, All Rights Reserved

#pragma autorecover
#pragma classflags(64)
#pragma namespace("\\\\.\\Root\\CIMV2")
instance of __namespace{ name="ms_804";};
#pragma namespace("\\\\.\\Root\\CIMV2\\ms_804")

[Description("Win32_NamedJobObject 类表示用于为了控制作业对象中的进程寿命和资源而将进程分组的内核对象。只会检测已命名的作业对象。") : Amended ToSubclass,AMENDMENT, LOCALE(0x0804) : ToInstance] 
class Win32_NamedJobObject : CIM_CollectionOfMSEs
{
  [Key : ToInstance ToSubclass DisableOverride,Description("此属性指示用于标识作业对象的编号。\n作为内核对象，作业对象名称是区分大小写的。由于 WMI 键不区分大小写，指定的作业对象的名称必须修饰如下: 大写字母前面应有一个反斜杠。根据此约定，\"A\" 和 \"a\" 都是小写，\"\\A\" 和 \"\\a\" 是大写。") : Amended ToSubclass] string CollectionID;
  [Description("UIRestrictions 属性指示作业上有关 UI 的限制。") : Amended ToSubclass,Bitvalues{"桌面", "显示设置", "退出 Windows", "全局原子", "句柄", "读取剪贴板", "系统参数", "写入剪贴板"} : Amended ToSubclass] uint32 BasicUIRestrictions;
};

[Description("Win32_NamedJobObjectProcess 关联类将一个作业对象与该作业对象中包含的进程相关联。一个作业可以包括多个进程。") : Amended ToSubclass,AMENDMENT, LOCALE(0x0804) : ToInstance] 
class Win32_NamedJobObjectProcess : CIM_CollectedMSEs
{
  [Key : ToInstance ToSubclass DisableOverride,Description("此属性是对包含进程的 Win32_NamedJobObject 实例的引用。") : Amended ToSubclass] Win32_NamedJobObject Ref Collection;
  [Key : ToInstance ToSubclass DisableOverride,Description("此属性是对作为作业对象一部分的 Win32_Process 实例的引用。") : Amended ToSubclass] Win32_Process Ref Member;
};

[Description("此类表示作业对象的 IO 记帐信息。") : Amended ToSubclass,AMENDMENT, LOCALE(0x0804) : ToInstance] 
class Win32_NamedJobObjectActgInfo : CIM_StatisticalInformation
{
  [Description("Name 属性定义用于标识统计信息和指标的标签。创建子类时，可以将此属性重写为 Key 属性。\n作为内核对象，作业对象名称是区分大小写的。由于 WMI 键不区分大小写，指定的作业对象的名称必须修饰如下: 大写字母前面应有一个反斜杠。根据此约定，\"A\" 和 \"a\" 都是小写，\"\\A\" 和 \"\\a\" 是大写。") : Amended ToSubclass,Key : ToInstance ToSubclass DisableOverride] string Name;
  [Description("指定与此作业关联的所有活动进程以及不再与此作业关联的所有已终止进程的用户模式执行总时间(以 100 纳秒为单位)。") : Amended ToSubclass,Units("100 纳秒") : Amended ToSubclass] uint64 TotalUserTime;
  [Description("指定与此作业关联的所有活动进程以及不再与此作业关联的所有已终止进程的内核模式执行总时间(以 100 纳秒为单位)。") : Amended ToSubclass,Units("100 纳秒") : Amended ToSubclass] uint64 TotalKernelTime;
  [Description("指定自上次设置每作业用户模式时间限制的调用以来，与此作业关联的所有活动进程(以及不再与此作业关联的所有已终止进程)的用户模式执行总时间(以 100 纳秒为单位)。创建此作业时以及每次建立每作业用户模式时间限制时，此属性设置为 0") : Amended ToSubclass,Units("100 纳秒") : Amended ToSubclass] uint64 ThisPeriodTotalUserTime;
  [Description("指定自上次设置每作业内核模式时间限制的调用以来，与此作业关联的所有活动进程(以及不再与此作业关联的所有已终止进程)的内核模式执行总时间(以 100 纳秒为单位)。创建此作业时以及每次建立每作业内核模式时间限制时，此属性设置为 0。") : Amended ToSubclass,Units("100 纳秒") : Amended ToSubclass] uint64 ThisPeriodTotalKernelTime;
  [Description("指定与此作业关联的所有活动进程和不再与此作业关联的已终止进程遇到的页面错误总数。") : Amended ToSubclass] uint32 TotalPageFaultCount;
  [Description("指定在作业的生存期内与该作业关联的进程的总数，包括那些已终止的进程。例如，如果某一进程已与某一作业相关联，但由于违反某限制而导致关联失败，则此值将增加。") : Amended ToSubclass] uint32 TotalProcesses;
  [Description("指定当前与作业关联的进程的总数。如果某一进程已与某一作业相关联，但由于违反某限制而导致关联失败，则此值将暂时增加。当已终止的进程退出并且所有对该进程的引用已释放时，此值将减少。") : Amended ToSubclass] uint32 ActiveProcesses;
  [Description("指定由于违反某限制而终止的进程的总数。") : Amended ToSubclass] uint32 TotalTerminatedProcesses;
  [Description("指定当前与此作业关联的所有进程和曾与此作业关联的所有进程执行的读取操作数。") : Amended ToSubclass] uint64 ReadOperationCount;
  [Description("指定当前与此作业关联的所有进程和曾与此作业关联的所有进程执行的写入操作数。") : Amended ToSubclass] uint64 WriteOperationCount;
  [Description("指定当前与此作业关联的所有进程和曾与此作业关联的所有进程执行的读取和写入操作以外的 I/O 操作数。") : Amended ToSubclass] uint64 OtherOperationCount;
  [Description("指定当前与此作业关联的所有进程和曾与此作业关联的所有进程读取的字节数。") : Amended ToSubclass] uint64 ReadTransferCount;
  [Description("指定当前与此作业关联的所有进程和曾与此作业关联的所有进程写入的字节数。") : Amended ToSubclass] uint64 WriteTransferCount;
  [Description("指定当前与此作业关联的所有进程和曾与此作业关联的所有进程执行读取和写入操作以外的操作期间传输的字节数。") : Amended ToSubclass] uint64 OtherTransferCount;
  [Description("指定曾与作业关联的任何进程使用的最大进程内存(以 KB 为单位)。") : Amended ToSubclass,Units("千字节") : Amended ToSubclass] uint32 PeakProcessMemoryUsed;
  [Description("指定与作业关联的所有进程的内存使用峰值(以 KB 为单位)。") : Amended ToSubclass,Units("千字节") : Amended ToSubclass] uint32 PeakJobMemoryUsed;
};

[Description("Win32_NamedJobObjectStatistics 关联类将一个作业对象实例与包含该作业的记帐信息的 I/O 记帐信息实例相关联。") : Amended ToSubclass,AMENDMENT, LOCALE(0x0804) : ToInstance] 
class Win32_NamedJobObjectStatistics : Win32_CollectionStatistics
{
  [Key : ToInstance ToSubclass DisableOverride,Description("此属性是对包含作业对象相关统计信息的实例的引用。") : Amended ToSubclass] Win32_NamedJobObjectActgInfo Ref Stats;
  [Key : ToInstance ToSubclass DisableOverride,Description("此属性是对作业对象的实例的引用。") : Amended ToSubclass] Win32_NamedJobObject Ref Collection;
};

[Description("Win32_NamedJobObjectLimit 关联类将一个作业对象与该作业的作业对象限制设置相关联。") : Amended ToSubclass,AMENDMENT, LOCALE(0x0804) : ToInstance] 
class Win32_NamedJobObjectLimit : CIM_CollectionSetting
{
  [Key : ToInstance ToSubclass DisableOverride,Description("此属性是对包含作业对象限制设置的实例的引用。") : Amended ToSubclass] Win32_NamedJobObjectLimitSetting Ref Setting;
  [Key : ToInstance ToSubclass DisableOverride,Description("此属性是对作业对象的实例的引用。") : Amended ToSubclass] Win32_NamedJobObject Ref Collection;
};

[Description("Win32_NamedJobObjectLimitSetting 类表示作业对象的限制设置。这些限制设置根据限制设置标志是如何设置的，指定可用于作业的资源。") : Amended ToSubclass,AMENDMENT, LOCALE(0x0804) : ToInstance] 
class Win32_NamedJobObjectLimitSetting : CIM_Setting
{
  [Key : ToInstance ToSubclass DisableOverride,Description("用于标识作业对象限制设置实例的标识符。\n作为内核对象，作业对象名称是区分大小写的。由于 WMI 键不区分大小写，指定的作业对象的名称必须修饰如下: 大写字母前面应有一个反斜杠。根据此约定，\"A\" 和 \"a\" 都是小写，\"\\A\" 和 \"\\a\" 是大写。") : Amended ToSubclass] string SettingID;
  [Description(" 指定每进程内存限制(以 KB 为单位)。除非 LimitFlags 指定“限制进程内存”，否则将忽略此项。") : Amended ToSubclass,Units("千字节") : Amended ToSubclass] uint32 ProcessMemoryLimit;
  [Description(" 指定每作业内存限制(以 KB 为单位)。除非 LimitFlags 指定“限制作业内存”值，否则将忽略此项。") : Amended ToSubclass] uint32 JobMemoryLimit;
  [Description(" 指定每进程用户模式执行时间限制(以 100 纳秒为单位)。除非 LimitFlags 指定“限制进程时间”，否则将忽略此项。系统定期进行检查以确定每个与此作业关联的进程是否累积了超过设置限制的用户模式时间。如果已累积超过设置限制的用户模式时间，则该进程将被终止。") : Amended ToSubclass,Units("100 纳秒") : Amended ToSubclass] uint64 PerProcessUserTimeLimit;
  [Description("指定每作业用户模式执行时间限制(以 100 纳秒为单位)。系统会将与作业关联的进程的当前时间添加到此限制上。例如，如果将此限制设置为 1 分钟，并且作业有一个已累积 5 分钟用户模式时间的进程，则实际强制实施的限制为 6 分钟。") : Amended ToSubclass,Units("100 纳秒") : Amended ToSubclass] uint64 PerJobUserTimeLimit;
  [Description("LimitFlags 属性指示生效的限制。以下一个或多个限制可以生效: \n限制工作集 - 使与此作业关联的所有进程使用相同的最小和最大工作集大小。\n限制进程时间 - 为每个当前活动的进程以及所有将来与此作业关联的进程建立用户模式执行时间限制。\n限制作业时间 - 为作业建立用户模式执行时间限制。此标志不能与“限制保留作业时间”一起使用。\n活动进程限制 - 建立与此作业关联的同时活动进程的最大数量。\n限制相关性 - 使与此作业关联的所有进程使用同一处理器相关性。\n限制优先级类别 - 使与此作业关联的所有进程使用同一优先级类别。\n限制保留作业时间 - 保留你以前设置的任何作业时间限制。只要设置了此标志，就可以建立一次每作业时间限制，然后在后续调用中修改其他限制。此标志不能与“限制作业时间”一起使用。\n限制计划类别 - 使作业中的所有进程都使用同一计划类别。\n限制进程内存 - 使所有与此作业关联的进程都限制其提交内存。当一个进程尝试提交超过每进程限制的内存时，该进程将失败。如果作业对象与一个完成端口相关联，JOB_OBJECT_MSG_PROCESS_MEMORY_LIMIT 消息将发送到该完成端口。\n限制作业内存 - 使所有与此作业关联的进程限制其作业范围的提交内存总和。当一个进程尝试提交超过作业范围限制的内存时，该进程将失败。如果作业对象与一个完成端口相关联，JOB_OBJECT_MSG_JOB_MEMORY_LIMIT 消息将发送到该完成端口。\n限制死于未处理的异常 - 强制使用 SEM_NOGPFAULTERRORBOX 标志为与此作业关联的每个进程调用 SetErrorMode 函数。\n限制允许分离 - 如果任何与此作业关联的进程在该限制生效时使用 CREATE_BREAKAWAY_FROM_JOB 标志创建子进程，则该子进程将不会与此作业相关联。\n允许无提示分离 - 允许任何与此作业关联的进程创建不与此作业关联的子进程。") : Amended ToSubclass,BitValues{"限制工作集", "限制进程时间", "限制作业时间", "活动进程限制", "限制相关性", "限制优先级类别", "限制保留作业时间", "限制计划类别", "限制进程内存", "限制作业内存", "限制死于未处理的异常", "限制允许分离", "允许无提示分离"} : Amended ToSubclass] uint32 LimitFlags;
  [Description("为所有与此作业关联的进程指定最小工作集大小。除非 LimitFlags 指定“限制工作集”，否则将忽略此项") : Amended ToSubclass] uint32 MinimumWorkingSetSize;
  [Description("为所有与此作业关联的进程指定最大工作集大小。除非 LimitFlags 指定“限制工作集”，否则将忽略此项") : Amended ToSubclass] uint32 MaximumWorkingSetSize;
  [Description("为作业指定活动进程限制。如果尝试将一个进程与一个作业相关联，并且这将导致活动进程计数超过此限制，则该进程将终止并且关联将失败。除非 LimitFlags 指定“活动进程限制”，否则将忽略此项。") : Amended ToSubclass] uint32 ActiveProcessLimit;
  [Description("为与此作业关联的所有进程指定处理器相关性。每个线程的相关性均设置为此值，但线程可以随后自由地设置其相关性，不过前提为它是指定的关联掩码的子集。进程无法设置其自身的关联掩码。除非 LimitFlags 指定“限制相关性”，否则将忽略此项。") : Amended ToSubclass] uint32 Affinity;
  [Description("为与此作业关联的所有进程指定优先级类别。进程与线程无法修改其优先级类别。除非 LimitFlags 指定“限制优先级”，否则将忽略此项。") : Amended ToSubclass] uint32 PriorityClass;
  [Description("为与此作业关联的所有进程指定计划类别。有效值为 0 到 9。使用 0 表示相对于其他线程来说优先级最低的计划类别，而 9 表示相对于其他线程来说优先级最高的计划类别。除非 LimitFlags 指定“限制计划级别”，否则将忽略此项。") : Amended ToSubclass] uint32 SchedulingClass;
};

[Description("Win32_NamedJobObjectSecLimit 关联类将一个作业对象与作业对象安全限制设置相关联。") : Amended ToSubclass,AMENDMENT, LOCALE(0x0804) : ToInstance] 
class Win32_NamedJobObjectSecLimit : CIM_CollectionSetting
{
  [Key : ToInstance ToSubclass DisableOverride,Description("此属性是对包含作业对象安全限制设置的实例的引用。") : Amended ToSubclass] Win32_NamedJobObjectSecLimitSetting Ref Setting;
  [Key : ToInstance ToSubclass DisableOverride,Description("此属性是对作业对象的实例的引用。") : Amended ToSubclass] Win32_NamedJobObject Ref Collection;
};

[Description("Win32_NamedJobObjectSecLimitSetting 类表示作业对象的安全限制设置。有关作业对象安全限制设置的详细信息，请参阅“平台 SDK 基本服务”文档中的“作业对象安全性和访问权限”主题。") : Amended ToSubclass,AMENDMENT, LOCALE(0x0804) : ToInstance] 
class Win32_NamedJobObjectSecLimitSetting : CIM_Setting
{
  [Key : ToInstance ToSubclass DisableOverride,Description("用于标识作业对象安全限制设置实例的标识符。\n作为内核对象，作业对象名称是区分大小写的。由于 WMI 键不区分大小写，指定的作业对象的名称必须修饰如下: 大写字母前面应有一个反斜杠。根据此约定，\"A\" 和 \"a\" 都是小写，\"\\A\" 和 \"\\a\" 是大写。") : Amended ToSubclass] string SettingID;
  [Description("为作业指定安全限制。值为“无管理员”可阻止作业中的任何进程使用指定了本地管理员组的令牌。值为“受限令牌”可阻止作业中的任何进程使用并非使用 CreateRestrictedToken 函数创建的令牌。值为“特定令牌”可强制作业中的进程在其下运行。值为“筛选令牌”可在进程模拟客户端时将筛选器应用于令牌。需要至少设置以下属性之一: SidsToDisable、PrivilegesToDelete 或 RestrictedSids。") : Amended ToSubclass,Values{"无管理员", "受限令牌", "特定令牌", "筛选令牌"} : Amended ToSubclass] uint32 SecurityLimitFlags;
  [Description("如果 SecurityLimitFlagss 为“筛选令牌”，则此属性指定要为访问检查禁用的 SID。如果不希望禁用任何 SID，则此属性可为 NULL。") : Amended ToSubclass] Win32_TokenGroups SIDsToDisable;
  [Description("如果 SecurityLimitFlags 为“筛选令牌”，则此属性指定将添加到访问令牌的“仅拒绝”SID。如果不希望指定任何“仅拒绝”SID，则此属性可为 NULL。") : Amended ToSubclass] Win32_TokenGroups RestrictedSIDs;
  [Description("如果 SecurityLimitFlags 为“筛选令牌”，此属性指定要从令牌中删除的特权。如果不希望删除任何特权，则此属性可为 NULL。") : Amended ToSubclass] Win32_TokenPrivileges PrivilegesToDelete;
};

[Description("Win32_TokenGroups 抽象类包含与访问令牌关联的组帐户安全标识符(SID)的相关信息。有关令牌组和 TOKEN_GROUPS 结构的详细信息，请参阅“平台 SDK 访问控制”文档中的“访问令牌”主题。") : Amended ToSubclass,AMENDMENT, LOCALE(0x0804) : ToInstance] 
class Win32_TokenGroups
{
  [Description("在访问令牌中指定组数。") : Amended ToSubclass] uint32 GroupCount;
  [Description("指定 SID 和属性的数组。") : Amended ToSubclass] Win32_SIDandAttributes Groups[];
};

[Description("Win32_TokenPrivileges 抽象类包含有关访问令牌的特权集的信息。作业对象中的每个进程或线程都有一个指定哪些资源或操作可用于该进程或线程的访问令牌。有关详细信息，请参阅“平台 SDK 访问控制”文档中的“访问令牌”主题。") : Amended ToSubclass,AMENDMENT, LOCALE(0x0804) : ToInstance] 
class Win32_TokenPrivileges
{
  [Description("指定特权数组中的项数。") : Amended ToSubclass] uint32 PrivilegeCount;
  [Description("指定 LUID 和属性的数组。") : Amended ToSubclass] Win32_LUIDandAttributes Privileges[];
};

[Description("此类表示安全标识符(SID)及其属性。") : Amended ToSubclass,AMENDMENT, LOCALE(0x0804) : ToInstance] 
class Win32_SIDandAttributes
{
  [Description("指定安全标识符(SID)。") : Amended ToSubclass] Win32_SID SID;
  [Description("指定 SID 的属性。此值最多包含 32 个一位标志。其含义取决于 SID 的定义和用法。") : Amended ToSubclass] uint32 Attributes;
};

[Description("Win32_LUIDandAttributes 抽象类表示特权的本地唯一标识符(LUID)和一组指示特权属性(例如，特权是否已启用)的位标志。每个 LUID 和属性结构定义了进程的安全特权的可用性。有关详细信息，请参阅 LUID_AND_ATTRIBUTES。") : Amended ToSubclass,AMENDMENT, LOCALE(0x0804) : ToInstance] 
class Win32_LUIDandAttributes
{
  [Description("指定 LUID 值。") : Amended ToSubclass] Win32_LUID LUID;
  [Description("指定 LUID 的属性。此值包含两个 32 位标志。其含义取决于 LUID 的 LUIDSpecifies 属性的定义和用法。") : Amended ToSubclass] uint32 Attributes;
};

[Description("Win32_LUID 抽象类表示本地唯一的标识符(LUID)，即只在本地计算机上唯一的标识符。Win32_LUID 类的实例标识进程或线程，以便进程或线程可与由 Win32_LUIDandAttributes 类的实例表示的安全令牌特权相关联。有关 LUID 在安全性中充当的角色的详细信息，请参阅 LUID。") : Amended ToSubclass,AMENDMENT, LOCALE(0x0804) : ToInstance] 
class Win32_LUID
{
  [Description("指定 LUID 的最高有效位。") : Amended ToSubclass] uint32 HighPart;
  [Description("指定 LUID 的最低有效位。") : Amended ToSubclass] uint32 LowPart;
};

[Description("Win32_JobObjectStatus 类报告在作业对象提供程序中尝试任何失败的操作时获得的错误信息。") : Amended ToSubclass,AMENDMENT, LOCALE(0x0804) : ToInstance] 
class Win32_JobObjectStatus : __ExtendedStatus
{
  [Description("Win32ErrorCode 属性包含最近遇到的导致操作失败的 Win32 错误代码。") : Amended ToSubclass] uint32 Win32ErrorCode;
  [Description("AdditionalDescription 属性包含与错误相关的附加信息。") : Amended ToSubclass] string AdditionalDescription;
};
