IInterval::GetLimits 方法 (structuredquery.h)

指定间隔的下限和上限,其中每个限制可以是无限的,也可以是一个特定的值。

当条件树表示属性的值必须位于特定范围内时,属性可以表示为叶节点。 节点必须是 PROPVARIANT ,其中包含VT_UNKNOWN的 vt 值类型标记和 IUnknown* punkVal ,它是指向实现 IInterval 的对象的指针。

语法

HRESULT GetLimits(
  [out] INTERVAL_LIMIT_KIND *pilkLower,
  [out] PROPVARIANT         *ppropvarLower,
  [out] INTERVAL_LIMIT_KIND *pilkUpper,
  [out] PROPVARIANT         *ppropvarUpper
);

参数

[out] pilkLower

类型: INTERVAL_LIMIT_KIND*

INTERVAL_LIMIT_KIND 枚举接收指向值的指针,该值指示间隔的下限是非独占、独占还是无限。

[out] ppropvarLower

类型: PROPVARIANT*

接收指向间隔下限的值的指针。 如果 pilkLower 参数设置为 ILK_NEGATIVE_INFINITYILK_POSITIVE_INFINITY,则此值设置为 VT_EMPTY

[out] pilkUpper

类型: INTERVAL_LIMIT_KIND*

INTERVAL_LIMIT_KIND 枚举接收指向值的指针,该值指示间隔的上限是非独占、独占还是无限。

[out] ppropvarUpper

类型: PROPVARIANT*

接收指向间隔上限值的指针。 如果 pilkUpper 参数设置为 ILK_NEGATIVE_INFINITYILK_POSITIVE_INFINITY,则此值将设置为 VT_EMPTY

返回值

类型: HRESULT

如果该方法成功,则返回 S_OK。 否则,将返回 HRESULT 错误代码。

注解

此方法检索两 个INTERVAL_LIMIT_KIND的间隔限制 - PROPVARIANT 对。 第一对指定间隔的下限,第二个 pari 指定间隔的上限。

下限必须小于上限,否则间隔将为空。 唯一的例外是当下限和上限相等,并且两者都设置为 ILK_EXPLICIT_INCLUDED。 在这种情况下,范围是设置两个限制的单个值。 下表说明了这些对如何定义间隔。

pilkLower ppropvarLower pilkLower ppropvarLower 说明
ILK_EXPLICIT_INCLUDED 3 ILK_EXPLICIT_INCLUDED 3 范围中的最小值为 3,因为范围中显式包含 3。

范围内的最大值也是 3 (显式包含) ,间隔仅包含数字 3。

ILK_EXPLICIT_INCLUDED 3 ILK_EXPLICIT_EXCLUDED 3 范围中的最小值是 3 (显式包括) ,但上限也是 3,并且被显式排除。 因此,所描述的间隔为空间隔。
ILK_EXPLICIT_INCLUDED 3 ILK_EXPLICIT_EXCLUDED 6 整数间隔从 开始,包括 3,结束于 ,但不包括 6。
ILK_NEGATIVE_INFINITY VT_EMPTY ILK_POSITIVE_INFINITY VT_EMPTY 所有整数都包含在间隔中。

要求

要求
最低受支持的客户端 Windows XP SP2、Windows Vista [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 SP1 [仅限桌面应用]
目标平台 Windows
标头 structuredquery.h
可再发行组件 Windows 桌面搜索 (WDS) 3.0