IMAPIForm::ShutdownForm
Aplica-se a: Outlook 2013 | Outlook 2016
Fecha o formulário.
HRESULT ShutdownForm(
ULONG ulSaveOptions
);
Parâmetros
ulSaveOptions
[in] Um valor que controla como ou se os dados no formulário são salvos antes do formulário ser fechado. Um dos sinalizadores a seguir pode ser definido:
SAVEOPTS_NOSAVE
Os dados de formulário não devem ser salvos.
SAVEOPTS_PROMPTSAVE
O usuário deve ser solicitado a salvar todos os dados alterados no formulário.
SAVEOPTS_SAVEIFDIRTY
Os dados de formulário devem ser salvos se eles tiverem sido alterados desde a última salvação. Se nenhuma interface de usuário estiver sendo exibida, o formulário poderá alternar opcionalmente para usar a funcionalidade para a opção SAVEOPTS_NOSAVE.
Valor de retorno
S_OK
O formulário foi fechado.
E_UNEXPECTED
O formulário já estava fechado por uma chamada anterior para ShutdownForm.
Comentários
Os visualizadores de formulário chamam o método IMAPIForm::ShutdownForm para fechar um formulário.
Observações para implementadores
Execute as seguintes tarefas na implementação do ShutdownForm:
Verifique se um visualizador ainda não chamou ShutdownForm e retorne E_UNEXPECTED se tiver. Embora isso seja improvável, você deve marcar.
Chame o método IUnknown::AddRef do formulário para que o armazenamento para o formulário e quaisquer estruturas de dados internas permaneçam disponíveis até que o processamento seja concluído.
Determine se há alterações não salvas nos dados do formulário. Salve dados não salvos de acordo com como o parâmetro ulSaveOptions é definido chamando o método IMAPIMessageSite::SaveMessage do visualizador.
Destrua a janela de interface do usuário do formulário.
Libere os objetos do site de mensagens e mensagens do formulário chamando seus métodos IUnknown::Release .
Notifique todos os visualizadores registrados do desligamento pendente chamando seus métodos IMAPIViewAdviseSink::OnShutdown .
Chame o método IMAPIViewContext::SetAdviseSink para cancelar o registro do formulário para notificação definindo o ponteiro do coletor de aconselhamento como nulo.
Chame a função MAPIFreeBuffer para liberar a memória para as propriedades do formulário.
Chame o método IUnknown::Release do formulário, correspondendo à chamada AddRef feita na etapa 2.
Retorne S_OK.
Observação
Depois que essas ações forem concluídas, os únicos métodos válidos no objeto de formulário que podem ser chamados são aqueles da interface IUnknown .
Notas para chamadores
Quando ShutdownForm retornar, independentemente de retornar um erro, libere o formulário chamando seu método IUnknown::Release . Você pode ignorar com segurança todos os erros retornados pelo ShutdownForm.
Confira também
IMAPIViewAdviseSink::OnShutdown