IMAPISession::ShowForm
Aplica-se a: Outlook 2013 | Outlook 2016
Exibe um formulário.
HRESULT ShowForm(
ULONG_PTR ulUIParam,
LPMDB lpMsgStore,
LPMAPIFOLDER lpParentFolder,
LPCIID lpInterface,
ULONG ulMessageToken,
LPMESSAGE lpMessageSent,
ULONG ulFlags,
ULONG ulMessageStatus,
ULONG ulMessageFlags,
ULONG ulAccess,
LPSTR lpszMessageClass
);
Parâmetros
ulUIParam
[in] Um identificador para a janela pai do formulário.
lpMsgStore
[in] Um ponteiro para o repositório de mensagens que contém a pasta apontada pelo parâmetro lpParentFolder .
lpParentFolder
[in] Um ponteiro para a pasta na qual a mensagem associada ao parâmetro ulMessageToken foi criada.
lpInterface
[in] Um ponteiro para o IID (identificador de interface) que representa a interface a ser usada para acessar a mensagem exibida no formulário. O parâmetro lpInterface deve ser NULL ou IID_IMessage. Passar NULL resulta na interface padrão, IMessage, sendo usada.
ulMessageToken
[in] O token associado à mensagem a ser exibida no formulário. O parâmetro ulMessageToken deve ser definido como o conteúdo do parâmetro lpulMessageToken da chamada anterior para IMAPISession::P repareForm.
lpMessageSent
[in] Reservados; deve ser NULL.
ulFlags
[in] Um bitmask de sinalizadores que controla como e se a mensagem é salva. Os seguintes sinalizadores podem ser definidos:
MAPI_NEW_MESSAGE
A mensagem nunca foi salva (ou seja, o método IMAPIProp::SaveChanges nunca foi chamado).
MAPI_POST_MESSAGE
A mensagem deve ser salva na pasta pai. A mensagem não é processada para envio, mas é postada na pasta. Se esse sinalizador não estiver definido, a mensagem será copiada para a Caixa de Saída e será processada para envio.
ulMessageStatus
[in] Um bitmask de sinalizadores copiados da propriedade PR_MSG_STATUS (PidTagMessageStatus) da mensagem associada ao token no parâmetro ulMessageToken . Os sinalizadores fornecem informações sobre o estado da mensagem.
ulMessageFlags
[in] Um bitmask de sinalizadores copiados da propriedade PR_MESSAGE_FLAGS (PidTagMessageFlags) da mensagem associada ao token no parâmetro ulMessageToken . Esses sinalizadores fornecem mais informações sobre o estado da mensagem.
ulAccess
[in] Um sinalizador que indica o nível de permissão da mensagem exibida no formulário. Essas informações são copiadas da propriedade PR_ACCESS (PidTagAccess) da mensagem associada ao token no parâmetro ulMessageToken .
lpszMessageClass
[in] Um ponteiro para a classe de mensagem da mensagem que está sendo exibida no formulário, copiado da propriedade PR_MESSAGE_CLASS (PidTagMessageClass) da mensagem associada ao token no parâmetro ulMessageToken .
Valor de retorno
S_OK
O formulário foi exibido com êxito.
MAPI_E_USER_CANCEL
O usuário cancelou a operação, normalmente clicando no botão Cancelar em uma caixa de diálogo.
Comentários
O método IMAPISession::ShowForm exibe um formulário de mensagem que foi preparado pelo método IMAPISession::P repareForm .
Notas para chamadores
Você deve ter apenas uma única referência à mensagem passada no parâmetro lpMessage do método PrepareForm.
Lembre-se de que as implementações de formulário podem retornar valores de erro diferentes dos documentados pelo MAPI. Se você puder usar esses valores de erro para fazer uma determinação mais precisa da condição de erro, faça isso. Caso contrário, lide com esses erros como você lidaria com MAPI_E_CALL_FAILED.
Referência do MFCMAPI
Para ver códigos de exemplo do MFCMAPI, confira a tabela a seguir.
Arquivo | Função | Comentário |
---|---|---|
MAPIFormFunctions.cpp |
OpenMessageModal |
O MFCMAPI usa o método IMAPISession::ShowForm , juntamente com o método PrepareForm , para exibir uma mensagem em um formulário modal. |