Compartilhar via


IMAPISupport::PrepareSubmit

Aplica-se a: Outlook 2013 | Outlook 2016

Prepara uma mensagem para envio ao spooler MAPI.

HRESULT PrepareSubmit(
LPMESSAGE lpMessage,
ULONG FAR * lpulFlags
);

Parâmetros

Lpmessage

[in] Um ponteiro para a mensagem a ser preparada.

lpulFlags

[in, out] Na entrada, o parâmetro lpulFlags é reservado e deve ser zero. Na saída, lpulFlags deve ser NULL.

Valor de retorno

S_OK

A mensagem foi preparada com êxito.

Comentários

O método IMAPISupport::P repareSubmit é implementado para objetos de suporte do provedor do repositório de mensagens. Os provedores do repositório de mensagens chamam PrepareSubmit na implementação do método IMessage::SubmitMessage para preparar uma mensagem para envio ao spooler MAPI.

PrepareSubmit é usado para manipular mensagens que têm o sinalizador MSGFLAG_RESEND definido em sua propriedade PR_MESSAGE_FLAGS (PidTagMessageFlags). MSGFLAG_RESEND é definido para mensagens que incluem uma solicitação a ser ressentida quando uma transmissão inicial falha. PrepareSubmit determina qual dos destinatários da lista de destinatários recebeu com êxito a mensagem e qual não recebeu.

Para acessar a lista de destinatários, PrepareSubmit chama o método IMessage::GetRecipientTable da mensagem. Para recuperar os dados do destinatário, PrepareSubmit chama o método IMAPITable::QueryRows da tabela do destinatário. Para cada linha na tabela, PrepareSubmit verifica a propriedade PR_RECIPIENT_TYPE (PidTagRecipientType) e executa uma das seguintes ações:

  • Se o sinalizador MAPI_SUBMITTED estiver definido, PrepareSubmit limpará o sinalizador e definirá a propriedade PR_RESPONSIBILITY (PidTagResponsibility) como FALSE.

  • Se o sinalizador de MAPI_SUBMITTED não estiver definido, PrepareSubmitalterará PR_RECIPIENT_TYPE para MAPI_P1 e definirá PR_RESPONSIBILITY como TRUE.

Notas para chamadores

Antes de chamar PrepareSubmit, certifique-se de ter chamado o método IMAPISupport::SpoolerNotify e defina o sinalizador NOTIFY_READYTOSEND no parâmetro ulFlags . A chamada SpoolerNotify deve ser feita uma vez por sessão antes da chamada para PrepareSubmit. O SpoolerNotify sincroniza o spooler MAPI e garante que todos os provedores de transporte necessários estejam conectados e seus tipos de endereço sejam registrados.

Confira também

IMAPIFolder::GetMessageStatus
IMessage::SubmitMessage
IMAPISupport: IUnknown