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

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

[Description("CliQualifier 类的实例表示影响关联对象处理的限定符。这些限定符从基础 WMI 对象上的限定符提取，并应以同一方式进行处理。例如，应将 ValueMap 视为对可以与 Set 谓词一起用于属性的值的约束。应将 MaxLen 限定符视为对可在 Set 中提供的字符数的约束。") : Amended ToSubclass,AMENDMENT, LOCALE(0x0804)] 
class MSFT_CliQualifier
{
  [Description("限定符的名称 - 此名称必须在限定符应用于的对象的限定符集中唯一") : Amended ToSubclass] STRING Name;
  [Description("限定符的值。请注意，将严格遵循 WMI 约定，存在但没有值的限定符将不会在此属性中有任何条目。例如，Write 限定符通常在使用时没有值，此限定符的存在被视为指示该属性是可写的 - 其值是不相关的。") : Amended ToSubclass] STRING QualifierValue[];
};

[Description("CliParam 类的实例定义了谓词参数。每个谓词都有该谓词所接受的参数列表(可能为空)。CliParam 实例定义了参数的名称、参数的默认值、参数的类型以及参数是否是可选的。") : Amended ToSubclass,AMENDMENT, LOCALE(0x0804)] 
class MSFT_CliParam
{
  [Description("默认字符串定义了在用户选择不提供任何实际值时用于参数的默认值。") : Amended ToSubclass] STRING Default;
  [Description("Description 属性提供参数的描述") : Amended ToSubclass] String Description;
  [Description("可选布尔值，该值指示参数是否可省略。") : Amended ToSubclass] BOOLEAN Optional;
  [Description("ParaId 字符串为参数的正式名称。") : Amended ToSubclass] STRING ParaId;
  [Description("适用于此参数的限定符") : Amended ToSubclass] MSFT_CliQualifier Qualifiers[];
  [Description("Type 字符串定义了为此参数提供的任何值的所需格式。") : Amended ToSubclass] STRING Type;
};

[Description("CliVerb 类的实例表示通过别名提供的行为。Name 属性定义了在命令中使用谓词时要调用的实际函数。该函数可以是系统定义的标准函数(如 CALL)的固定列表，也可以是别名的目标上的方法。谓词既有描述谓词执行什么操作的 Descriptions 属性，又有描述谓词应如何调用的 Usages 属性。") : Amended ToSubclass,AMENDMENT, LOCALE(0x0804)] 
class MSFT_CliVerb
{
  [Description("Derivation 字符串表示谓词所基于的方法的名称或标准谓词(例如，标准谓词 \"CALL\")的名称。") : Amended ToSubclass] STRING Derivation;
  [Description("Description 属性提供谓词的描述") : Amended ToSubclass] String Description;
  [Description("Name 字符串提供谓词的名称。") : Amended ToSubclass] STRING Name;
  [Description("Parameters 数组提供描述谓词所接受的参数的对象数组。") : Amended ToSubclass] MSFT_CliParam Parameters[];
  [Description("适用于此谓词的限定符") : Amended ToSubclass] MSFT_CliQualifier Qualifiers[];
  [Description("VerbType 属性标识谓词的类型。如果 VerbType 属性具有值 2 (命令行)，则谓词是通过调用 Derivation 属性中指定的命令行实用工具执行的。如果未将任何参数作为谓词定义的一部分提供，那么在调用时，到下一个回车为止的文本应传递给 Derivation 属性中指定的实用工具。如果将任何参数作为谓词定义的一部分提供，则应使用参数定义检查调用时提供的实际参数。") : Amended ToSubclass,Values{"类方法", "标准", "命令行"} : Amended ToSubclass] uint32 VerbType;
  [Description("Usages 数组提供了用于定义应如何使用谓词的文本。") : Amended ToSubclass] String Usage;
};

[Description("CliProperty 类的实例描述将在格式中使用的值。每个属性都有名称、描述和派生。请注意，任何格式设置策略(例如，数值的截断长度或格式设置策略)均将在为包含该属性的格式定义的样式表中定义。") : Amended ToSubclass,AMENDMENT, LOCALE(0x0804)] 
class MSFT_CliProperty
{
  [Description("Derivation 字符串提供命令行实用工具将用于派生属性值的表达式。派生必须是由别名的 WMIObject 或命令行命令(例如 \"w System Get Name\")定义的属性的名称。") : Amended ToSubclass] STRING Derivation;
  [Description("Description 属性提供属性的描述") : Amended ToSubclass] String Description;
  [Description("Name 字符串提供要显示的属性的名称。") : Amended ToSubclass] STRING Name;
  [Description("适用于此属性的限定符") : Amended ToSubclass] MSFT_CliQualifier Qualifiers[];
};

[Description("CliFormat 类的实例表示别名的显示策略。显示策略包括要显示的属性列表和显示属性时要使用的格式(由 XSL 样式表表示)") : Amended ToSubclass,AMENDMENT, LOCALE(0x0804)] 
class MSFT_CliFormat
{
  [Description("Format 字符串提供可以用于设置类别输出格式的 XSL 文件的位置。") : Amended ToSubclass] STRING Format;
  [Description("Name 字符串对应于与 SHOW 命令一起使用的格式。格式名称可以是系统定义的格式(FULL、BRIEF、INSTANCE)之一，也可以是用户定义的任意格式。") : Amended ToSubclass] STRING Name;
  [Description("Properties 数组是要为此格式显示的属性列表。") : Amended ToSubclass] MSFT_CliProperty Properties[];
};

[Description("CliConnection 类定义了在建立与别名将作用于的命名空间的连接时要与所属别名一起使用的参数。如果其中一个连接属性未指定，则它应默认为实用工具会话的该属性的当前值。") : Amended ToSubclass,AMENDMENT, LOCALE(0x0804)] 
class MSFT_CliConnection
{
  [Description("可选。如果 strAuthority 参数以字符串 \"kerberos:\" 开头，则使用 Kerberos 身份验证，并且此参数应包含 Kerberos 主体名称。如果 strAuthority 参数包含任何其他值，则使用 NTLM 身份验证，并且此参数应包含 NTLM 域名。如果将此参数留空，则操作系统将与 DCOM 协商以确定是使用 NTLM 身份验证还是使用 Kerberos 身份验证。此参数应只用于连接到远程 WMI 服务器。如果你尝试为本地 WMI 连接设置授权，则连接尝试将失败。有关详细信息，请参阅 WMI SDK 帮助文件中的“在脚本 API 中使用 Kerberos 或 NTLM 身份验证”。") : Amended ToSubclass] STRING Authority;
  [Description("可选。指定了本地化代码的字符串。如果要使用当前区域设置，请将它留空。如果不为空，此参数必须是指示检索信息时应使用的区域设置的字符串。对于 Microsoft 区域设置标识符，此字符串的格式为 \"MS_xxxx\"，其中 xxxx 是指示 LCID 的十六进制形式的字符串。例如，美国英语将显示为 \"MS_409\"") : Amended ToSubclass] STRING Locale;
  [Description("可选。指定要登录到的命名空间的字符串。例如，若要登录到 root\\default 命名空间，请使用 \"root\\default\"。如果未指定此参数，则将默认为已配置为脚本的默认命名空间的命名空间。有关此参数的默认值的详细信息，请参阅有关对象创建和名字对象的 WMI SDK 帮助文章。") : Amended ToSubclass] STRING NameSpace;
  [Description("可选。指定在尝试连接时要使用的密码的字符串。将此项留空可使用当前登录用户的密码。密码参数应只用于连接到远程 WMI 服务器。如果你尝试为本地 WMI 连接指定密码，则连接尝试将失败。") : Amended ToSubclass] STRING Password;
  [Description("可选。为使用 DCOM 访问远程计算机，此参数指定计算机名称。一个示例是 \"myserver\"。如果未提供此参数，则调用默认为本地计算机。") : Amended ToSubclass] STRING Server;
  [Description("可选。指定在尝试连接时要使用的用户名的字符串。此项可以采用用户名或“域\\用户名”形式。将其留空可使用当前登录的用户名。StrUser 参数应只用于连接到远程 WMI 服务器。如果你尝试为本地 WMI 连接指定 strUser，则连接尝试将失败。") : Amended ToSubclass] STRING User;
};

[Description("CliAlias 类的实例表示别名。这些别名由 WMI 命令实用工具用作重构 WMI 架构提供的功能的机制。重构通过角色完成。角色由命名空间表示。CliAlias 实例以这样的方式组织为面向角色的命名空间: 特定操作角色所需的别名将会全都一起找到。例如，所有打印机管理别名将在 \\\\.\\root\\ops\\printer 命名空间中找到。每个别名均由一组格式和谓词组成。格式为别名提供各种显示策略(例如 FULL 或 BRIEF)。谓词表示通过别名提供的行为(例如，打印机的上下文中的 RESET)。每个格式均由一组属性组成。别名本身通过包含 WQL 查询或有效路径(可以只是类名)的 Target 属性(定义了别名适用于的实例或实例集)与架构相关。") : Amended ToSubclass,AMENDMENT, LOCALE(0x0804)] 
class MSFT_CliAlias
{
  [Description("Connection 对象定义了在连接到 WMI 时所需的参数") : Amended ToSubclass] MSFT_CliConnection Connection;
  [Description("Description 属性提供别名的描述") : Amended ToSubclass] String Description;
  [Description("Formats 数组的元素定义了要为此别名显示的属性列表。这是按格式名称(例如，FULL、BRIEF、INSTANCE 或用户定义的限定符)索引的列表。") : Amended ToSubclass] MSFT_CliFormat Formats[];
  [Description("FriendlyName 字符串提供了别名的名称。该名称将在定义了别名的命名空间的上下文中唯一。请注意，CLASS、QUERY、PATH 和 RESTORE 不能用作别名，因为它们出现在语法中的同一位置。") : Amended ToSubclass,key : ToInstance ToSubclass DisableOverride] STRING FriendlyName;
  [Description("PWhere 属性定义了 from/where 子句(即没有 Select 子句的 WQL 查询)。查询字符串可以包含替换参数(前面有 \"#\" 标记的令牌)，这些参数指示值将替换到查询字符串中的位置。参数值将从别名后紧跟的令牌中获取(如果该令牌不能解析为开关或谓词) - 例如，这将允许 \"w KillProcess 154\" 等命令，其中 KillProcess 别名的 PWhere 值将为 \"From Win32_process Where ProcessId = #ProcId\"") : Amended ToSubclass] STRING PWhere;
  [Description("适用于此别名的限定符") : Amended ToSubclass] MSFT_CliQualifier Qualifiers[];
  [Description("Target 字符串定义了要通过别名作用于的对象。该字符串可以是简单的类名或 WQL 查询。如果 Target 属性为空，则别名只能使用基于命令行实用工具的谓词") : Amended ToSubclass] STRING Target;
  [Description("Verbs 数组是此别名支持的谓词列表。") : Amended ToSubclass] MSFT_CliVerb Verbs[];
};

[Description("CliSeeAlso 关联提供了一个别名与可以用作同一角色的一部分的相关别名之间的关系。") : Amended ToSubclass,AMENDMENT, LOCALE(0x0804)] 
class MSFT_CliSeeAlso
{
  [Description("Descriptions 属性提供了 SeeAlsoAlias 如何与原始别名相关的描述") : Amended ToSubclass] String Description;
};

[Description("可转换条目定义了一个值或一组值与其他值之间的映射。") : Amended ToSubclass,AMENDMENT, LOCALE(0x0804)] 
class MSFT_CliTranslateTableEntry
{
  [Description("FromValue 属性定义要转换的值或值集。如果值是值集，则应使用语法 <value1>-<value2>。这将解释为以排序顺序表示 value1 和 value2 之间(包括 value1 和 value2)的任何值。如果要包含 \"-\" 字符，则应使用 \\ 字符进行转义") : Amended ToSubclass] string FromValue;
  [Description("ToValue 属性定义要替换由 FromValue 属性识别的值的值。") : Amended ToSubclass] string ToValue;
};

[AMENDMENT, LOCALE(0x0804)] 
class MSFT_CliTranslateTable
{
  [key,Description("Name 属性提供了表的唯一标识符。该标识符可以在 Translate 开关中引用。") : Amended ToSubclass] string Name;
  [Description("Tbl 属性提供用于定义要对此转换表执行的转换的转换表项的数组。") : Amended ToSubclass] MSFT_CliTranslateTableEntry Tbl[];
};
