IPersistMessage::SaveCompleted
Aplica-se a: Outlook 2013 | Outlook 2016
Notifica o formulário em que uma operação de salvamento foi concluída.
HRESULT SaveCompleted(
LPMESSAGE pMessage
);
Parâmetros
pMessage
[in] Um ponteiro para a mensagem recém-salva.
Valor de retorno
S_OK
A notificação foi bem-sucedida.
E_INVALIDARG
O parâmetro pMessage é NULL e o formulário está no estado HandsOffFromNormal ou HandsOffAfterSave .
E_UNEXPECTED
O formulário não está em um dos seguintes estados:
HandsOffFromNormal
HandsOffAfterSave
Comentários
O método IPersistMessage::SaveCompleted é chamado por um visualizador de formulários para notificar o formulário de que todas as alterações pendentes foram salvas. SaveCompleted deve ser chamado somente quando o formulário estiver em um dos seguintes estados:
HandsOffFromNormal
HandsOffAfterSave
NoScribble
Observações para implementadores
Há várias ações possíveis que o método SaveCompleted pode executar, dependendo do parâmetro do ponteiro da mensagem e em que estado a mensagem está. No entanto, quando uma ação for bem-sucedida, salve sempre o estado atual da mensagem para o qual o parâmetro pMessage aponta e faça a transição do formulário para seu estado normal .
A tabela a seguir descreve as condições que afetam as ações que você deve tomar na implementação do SaveCompleted.
Condition | Action |
---|---|
O parâmetro pMessage é NULL e o parâmetro fSameAsLoad do método IPersistMessage::Save é definido como TRUE. | Chame o método IMAPIViewAdviseSink::OnSaved de todos os visualizadores registrados, marque o formulário como limpo e retorne S_OK. |
O parâmetro pMessage é NULL e o parâmetro fSameAsLoad do método IPersistMessage::Save é definido como FALSE. | Retorne S_OK. |
O formulário está no estado HandsOffFromNormal. | Libere a mensagem atual e substitua-a pela mensagem apontada pelo parâmetro pMessage . Chame o método IUnknown::AddRef da mensagem de substituição e retorne S_OK. |
O formulário está no estado HandsOffAfterSave. | Chame o método IMAPIViewAdviseSink::OnSaved de todos os visualizadores registrados, marque o formulário como limpo e retorne S_OK. |
O formulário está no estado NoScribble . | Libere a mensagem atual e substitua-a pela mensagem apontada por pMessage. Chame o método IUnknown::AddRef da mensagem de substituição. Chame o método IMAPIViewAdviseSink::OnSaved de todos os visualizadores registrados, marque o formulário como limpo e retorne S_OK. |
O formulário está em um dos estados do HandsOff e o parâmetro pMessage é definido como NULL. | Retornar E_INVALIDARG. |
O formulário está em um estado diferente de um dos estados do HandsOff ou do estado NoScribble. | Retornar E_UNEXPECTED. |
Para obter mais informações sobre como salvar objetos de armazenamento, consulte a documentação dos métodos IPersistStorage::SaveCompleted ou IPersistFile::SaveCompleted .