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标志。