SetAttribIMsgOnIStg

适用于:Outlook 2013 | Outlook 2016

设置或更改 OpenIMsgOnIStg 函数提供的 IMessage 对象的属性属性。

属性
标头文件:
Imessage.h
实现者:
MAPI
调用者:
客户端应用程序和消息存储提供程序
HRESULT SetAttribIMsgOnIStg(
  LPVOID lpObject,
  LPSPropTagArray lpPropTags,
  LPSPropAttrArray lpPropAttrs,
  LPSPropProblemArray FAR * lppPropProblems
);

参数

lpObject

[in]指向要为其设置属性属性的 对象的指针。

lpPropTags

[in]指向 SPropTagArray 结构的指针,该结构包含属性标记数组,指示要为其设置属性属性的属性。

lpPropAttrs

[in]指向列出要设置的属性属性的 SPropAttrArray 结构的指针。

lppPropProblems

[out]指向返回的包含一组属性问题的 SPropProblemArray 结构的指针。 如果 SetAttribIMsgOnIStg 已能够设置某些属性,但不是全部属性,则此结构可识别遇到的问题。 如果在 lppPropProblems 参数中传递了指向 NULL 的指针,则即使未设置某些属性,也不会返回属性问题数组。

返回值

S_OK

调用成功,并返回了预期的值。

MAPI_W_ERRORS_RETURNED

调用总体成功,但无法访问一个或多个属性,并且返回的属性类型为 PT_ERROR。

备注

只能在属性对象(即实现 IMAPIProp 的对象)上访问属性属性: IUnknown 接口。 为了使 MAPI 属性在 OLE 结构化存储对象上可用,OpenIMsgOnIStg 在 OLE IStorage 对象之上生成 IMessage : IMAPIProp 对象。 可以使用 SetAttribIMsgOnIStg 设置或更改此类对象的属性属性,并使用 GetAttribIMsgOnIStg 检索。

注意GetAttribIMsgOnIStgSetAttribIMsgOnIStg 不会对所有 IMessage 对象进行操作。 它们仅对 OpenIMsgOnIStg 返回的 IStorage 上的 IStorage 对象有效。

lpPropAttrs 参数中,属性的数量和位置必须与 lpPropTags 参数中传递的属性标记的数量和位置匹配。

SetAttribIMsgOnIStg 函数用于在 IMessage 架构需要时使消息属性只读。 示例消息存储提供程序将其用于此目的。 有关详细信息,请参阅 消息