IMAPIMessageSite::GetSiteStatus

适用于:Outlook 2013 | Outlook 2016

从消息站点对象返回有关消息站点对当前消息的功能的信息。

HRESULT GetSiteStatus(
  ULONG FAR * lpulStatus
);

参数

lpulStatus

[out]指向标志的位掩码的指针,该标志提供有关消息状态的信息。 可以设置以下标志:

VCSTATUS_COPY

可以复制消息。

VCSTATUS_DELETE

可以删除该消息。

VCSTATUS_DELETE_IS_MOVE

删除邮件时,邮件将移动到邮件存储中的 “已删除邮件” 文件夹中,而不是立即从邮件存储区中删除。

VCSTATUS_MOVE

可以移动消息。

VCSTATUS_NEW_MESSAGE

可以创建新消息。

VCSTATUS_SAVE

可以保存消息。

VCSTATUS_SUBMIT

可以提交邮件。

返回值

S_OK

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

备注

表单对象调用 IMAPIMessageSite::GetSiteStatus 方法以获取消息站点对象对当前邮件的功能。 lpulStatus 参数中返回的标志提供有关消息站点的信息。 通常,窗体启用或禁用菜单命令,具体取决于标志提供的有关消息站点实现功能的信息。 如果 IPersistMessage::SaveCompleted 方法或 IPersistMessage::Load 方法将新消息加载到窗体中,则必须检查状态标志。 某些消息网站对象(尤其是只读对象)不允许保存或删除消息。

针对实现者的说明

IMAPIMessageSite::GetSiteStatus 方法可能要求客户端应用程序执行一些计算,以确定可以对当前消息执行或不能执行哪些操作。 通常,这包括查看当前消息存储提供程序的状态行,或查询存储提供程序以确定客户端应用程序可以使用消息存储执行哪些操作。 例如,若要确定是否返回MAPI_DELETE_IS_MOVE标志,检查邮件存储对象的PR_IPM_WASTEBASKET_ENTRYID (PidTagIpmWastebasketEntryId) 属性,以查看邮件存储中是否存在“已删除邮件”文件夹。

有关与表单服务器相关的接口的列表,请参阅 MAPI 表单接口

MFCMAPI 引用

有关 MFCMAPI 示例代码,请参阅下表。

文件 函数 Comment
MyMAPIFormViewer.cpp
CMyMAPIFormViewer::GetSiteStatus
MFCMAPI 使用 IMAPIMessageSite::GetSiteStatus 方法获取指定站点的状态。 它可以返回VCSTATUS_NEW_MESSAGE、VCSTATUS_SAVE或VCSTATUS_SUBMIT。

另请参阅

IPersistMessage::Load

IPersistMessage::SaveCompleted

PidTagIpmWastebasketEntryId 规范属性

IMAPIMessageSite : IUnknown

MFCMAPI 代码示例

MAPI 表单接口