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 起可用