IPropData::HrGetPropAccess

适用于:Outlook 2013 | Outlook 2016

检索对象的一个或多个属性的访问级别和状态。

HRESULT HrGetPropAccess(
  LPSPropTagArray FAR * lppPropTagArray,
  ULONG FAR * FAR * lprgulAccess
);

参数

lppPropTagArray

[in,out]输入时,一个属性标记数组,指示要检索其访问级别和状态的属性;否则为指向 NULL 的指针,指示 HrGetPropAccess 应检索所有属性的访问级别和状态。 输出时,会检索其访问和状态标志的属性标记数组。 标志存储在 lprgulAccess 参数指向的数组中。

lprgulAccess

[out]指向标志位掩码数组的指针。 每个位掩码指示 lpPropTagArray 参数指向的数组中标识的每个属性的访问级别或状态或两者。 这两个数组是位置的,其中第一个 lprgulAccess 指向的位掩码用于描述 lpPropTagArray 指向的第一个属性,依序排列。 对于每个属性标记,可以设置以下标志:

访问级别标志 状态标志
IPROP_READONLY,指示无法修改属性。 IPROP_CLEAN,指示属性尚未修改。
IPROP_READWRITE,指示可以修改属性。 IPROP_DIRTY,指示属性已修改。

返回值

S_OK

已成功返回属性的访问级别和状态标志。

备注

IPropData::HrGetPropAccess 方法检索一组标志,这些标志指示一个或多个属性的访问级别和状态。

调用者注意:

可以将 HrGetPropAccess 用于以下目的:

  • 确定客户端是更改还是删除了可写属性。

  • 防止客户端使用 IMAPIProp 方法更改或删除属性。

如果已删除 lppPropTagArray 指向的属性标记数组中的某个属性, 则 HrGetPropAccess 在输出时将数组条目设置为 0。 如果将 lppPropTagArray 设置为 NULL,并且对象的其中一个属性已被删除,则会在数组中返回已删除的属性。

如果已修改属性,则会在 lprgulAccess 指向的数组中的相应条目中设置其IPROP_DIRTY标志。 不会设置IPROP_READONLY和IPROP_READWRITE。

如果未修改或删除属性,则只会设置IPROP_READONLY或IPROP_READWRITE标志。

另请参阅

SPropTagArray

IPropData : IMAPIProp