CompareTo 函数

将对象与另一个 Windows 管理对象进行比较。

注意

此 API 仅供内部使用。 不应从开发人员代码中使用。

语法

HRESULT CompareTo (
   [in] int               vFunc,
   [in] IWbemClassObject* ptr,
   [in] LONG              flags,
   [in] IWbemClassObject* pCompareTo
);

参数

vFunc
[in] 未使用此参数。

ptr
[in] 指向 IWbemClassObject 实例的指针。

flags
[in] 标志的按位组合,用于指定比较时要考虑的对象特征。 有关详细信息,请参阅备注部分。

pCompareTo
[in] 要比较的对象。 pCompareTo 必须是有效的 IWbemClassObject 实例;它不能是 null

返回值

此函数返回的以下值是在 WbemCli.h 头文件中定义的,你也可以在代码中将这些值定义为常数:

常数 Value 说明
WBEM_E_FAILED 0x80041001 发生了未知错误。
WBEM_E_INVALID_PARAMETER 0x80041008 参数无效。
WBEM_E_UNEXPECTED 0x8004101d BeginEnumeration 的第二次调用是在没有对 EndEnumeration 进行干预调用的情况下进行的。
WBEM_S_NO_ERROR 0 函数调用成功。
WBEM_S_DIFFERENT 0x40003 对象不同。
WBEM_S_SAME 0 基于比较标志,对象是相同的。

注解

此函数包装对 IWbemClassObject::CompareTo 方法的调用。

可以作为 lEnumFlags 参数传递的标志是在 WbemCli.h 头文件中定义的,你也可以在代码中将这些标志定义为常数。 可以通过指定以下标志的按位组合来指定比较中涉及的各项特征:

常数 Value 说明
WBEM_FLAG_IGNORE_OBJECT_SOURCE 2 忽略源(它们来自的服务器和命名空间)。
WBEM_FLAG_IGNORE_QUALIFIERS 1 忽略所有限定符(包括 Key 和 Dynamic)
WBEM_FLAG_IGNORE_DEFAULT_VALUES 4 忽略属性的默认值。 此标志仅应用于类的比较。
WBEM_FLAG_IGNORE_FLAVOR 0x20 忽略限定符特色信息。 此标志仍然将限定符考虑在内,但会忽略特色信息区别,例如传播规则和替代限制。
WBEM_FLAG_IGNORE_CASE 0x10 在比较字符串值时忽略大小写。 这同时应用于字符串和限定符值。 无论是否设置此标志,属性和限定符名称的比较始终会区分大小写。
WBEM_FLAG_IGNORE_CLASS 0x8 假设要比较的对象是同一个类的实例。 因此,此标志仅比较与实例相关的信息。 使用此标志可以优化性能。 如果这些对象不属于同一类,则结果不确定。

或者,你可以指定单个复合标志,如下所示:

常数 Value 说明
WBEM_COMPARISON_INCLUDE_ALL 0 考虑在比较中使用所有功能。

要求

平台:请参阅系统要求

标头:WMINet_Utils.idl

.NET Framework 版本:自 4.7.2 起可用

另请参阅