PropVariantCompareEx 函数 (propvarutil.h)

通过允许调用方根据指定的比较单位和标志比较两个 PROPVARIANT 结构来扩展 PropVariantCompare

语法

PSSTDAPI_(int) PropVariantCompareEx(
  [in] REFPROPVARIANT        propvar1,
  [in] REFPROPVARIANT        propvar2,
  [in] PROPVAR_COMPARE_UNIT  unit,
  [in] PROPVAR_COMPARE_FLAGS flags
);

参数

[in] propvar1

类型: REFPROPVARIANT

对第一个 PROPVARIANT 结构的引用。

[in] propvar2

类型: REFPROPVARIANT

对第二 个 PROPVARIANT 结构的引用。

[in] unit

类型: PROPVAR_COMPARE_UNIT

在适当情况下指定 PROPVAR_COMPARE_UNIT中定义的比较单位之一。

[in] flags

类型: PROPVAR_COMPARE_FLAGS

指定以下标记之一:

PVCF_DEFAULT (0x00000000)

比较字符串时,请使用 StrCmpLogical

PVCF_TREATEMPTYASGREATERTHAN (0x00000001)

将空值或 null 值视为大于非空值。 此值可以与任何其他值进行 OR。

PVCF_USESTRCMP (0x00000002)

比较字符串时,请使用 StrCmp

PVCF_USESTRCMPC (0x00000004)

比较字符串时,请使用 StrCmpC

PVCF_USESTRCMPI (0x00000008)

比较字符串时,请使用 StrCmpI

PVCF_USESTRCMPIC (0x00000010)

比较字符串时,请使用 StrCmpIC

返回值

类型: INT

  • 如果 propvar1 大于 propvar2,则返回 1
  • 如果 propvar1 等于 propvar2,则返回 0
  • 如果 propvar1 小于 propvar2,则返回 -1

注解

此函数不会比较所有类型;目前只有所选类型是可比较的。

默认情况下,VT_NULL/VT_EMPTY/0 元素向量被视为小于任何其他 vartype。

如果 vartype 不同,此函数会尝试在比较 propvar2 之前将 propvar2 转换为 propvar1 的 vartype。

注意 此函数的行为以及它返回的结果可能会因发布而更改。 它不应用于规范排序应用程序。
 

要求

要求
最低受支持的客户端 Windows XP SP2、Windows Vista [桌面应用 |UWP 应用]
最低受支持的服务器 Windows Server 2003 SP1 [桌面应用 |UWP 应用]
目标平台 Windows
标头 propvarutil.h
Library Propsys.lib
DLL Propsys.dll (6.0 或更高版本)
可再发行组件 Windows 桌面搜索 (WDS) 3.0