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

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

[Description("在 SOM 中定义一条规则(以查询形式表示)") : Amended ToSubclass,AMENDMENT, LOCALE(0x0804)] 
class MSFT_Rule
{
  [Description("表示查询时所用的语言") : Amended ToSubclass] string QueryLanguage;
  [Description("要对查询进行评估的命名空间") : Amended ToSubclass] string TargetNameSpace;
  [Description("感兴趣的查询") : Amended ToSubclass] string Query;
};

[Description("提供一组规则(以在目标计算机上评估的查询形式表示)") : Amended ToSubclass,AMENDMENT, LOCALE(0x0804)] 
class MSFT_SomFilter
{
  [key,Description("此实例的唯一标识符，应是注册表格式的 GUID") : Amended ToSubclass] string ID;
  [key,Description("此对象的域，采用 DNS 格式: \"redmond.corp.microsoft.com\"") : Amended ToSubclass] String Domain;
  [Description("此 SOM 筛选器的用户友好名称") : Amended ToSubclass] string Name;
  [Description("用于描述此 SOM 筛选器的描述性文本") : Amended ToSubclass] String Description;
  [Description("要评估的规则") : Amended ToSubclass] MSFT_Rule Rules[];
  [Description("确定用规则表示的查询是否适用于此计算机。如果所有用规则表示的查询都返回结果，则返回 S_OK (0)；如果并非所有查询都返回结果，则返回 S_FALSE (1)；如果出错，则返回适用的 WMI 错误代码。") : Amended ToSubclass] Uint32 Evaluate();
  [Description("评估一组 SOM，返回与评估每个 SOM 的结果匹配的数组结果代码") : Amended ToSubclass] Uint32 BatchEvaluate([IN] MSFT_SomFilter Ref filters[],[OUT] Uint32 results[]);
  [Description("此 SOMFilter 的创建者") : Amended ToSubclass] String Author;
  [Description("作者所在的组织") : Amended ToSubclass] String SourceOrganization;
  [Description("上次更新此对象的时间") : Amended ToSubclass] DateTime ChangeDate;
  [Description("创建此对象的时间") : Amended ToSubclass] DateTime CreationDate;
};

#pragma DeleteClass("MSFT_RangeParam", NOFAIL)
#pragma DeleteClass("MSFT_PolicyTemplate", NOFAIL)
#pragma DeleteClass("MSFT_PolicyType", NOFAIL)
#pragma DeleteClass("MSFT_WMIGPO", NOFAIL)