Platform SDK: MAPI

IMAPIMessageSite::GetSiteStatus

The IMAPIMessageSite::GetSiteStatus method returns information from a message site object about the message site's capabilities for the current message.

Quick Info

See IMAPIMessageSite : IUnknown.

HRESULT GetSiteStatus(
  ULONG FAR * lpulStatus  
);
 

Parameters

lpulStatus
[out] Pointer to a bitmask of flags giving information on message status. The following flags can be set:
VCSTATUS_COPY
The message can be copied.
VCSTATUS_DELETE
The message can be deleted.
VCSTATUS_DELETE_IS_MOVE
When deleted, a message is actually moved to a Deleted Items folder in its message store rather than being immediately removed from its message store.
VCSTATUS_MOVE
The message can be moved.
VCSTATUS_NEW_MESSAGE
A new message can be created.
VCSTATUS_SAVE
The message can be saved.
VCSTATUS_SUBMIT
The message can be submitted.

Return Values

S_OK
The call succeeded and has returned the expected value or values.

Remarks

Form objects call the IMAPIMessageSite::GetSiteStatus method to obtain the message site object's capabilities for the current message. The flags returned in the lpulStatus parameter provide information on the message site; typically, a form enables or disables menu commands based on information the flags provide on the capabilities of the message site implementation. If a new message is loaded into a form by the IPersistMessage::SaveCompleted method or the IPersistMessage::Load method, the status flags must be checked. Some message site objects, particularly read-only ones, do not permit messages to be saved or deleted.

Notes to Implementers

IMAPIMessageSite::GetSiteStatus may require your client application to do some calculation to determine what operations can and can't be performed on the current message. Typically, that involves looking at the status row for the current message's message store provider, or querying the store provider directly to determine which actions the client application can perform using the message store. For example, determining whether to return the MAPI_DELETE_IS_MOVE flag could be done by checking the message store object's PR_IPM_WASTEBASKET_ENTRYID property to see whether there is a Deleted Items folder in the message store.

For a list of interfaces related to form servers, see MAPI Form Interfaces.

See Also

IPersistMessage::Load, IPersistMessage::SaveCompleted