PreprocessMessage
Aplica-se a: Outlook 2013 | Outlook 2016
Define uma função que pré-processa o conteúdo da mensagem ou o formato de uma mensagem.
Propriedade | Valor |
---|---|
Arquivo de cabeçalho: |
Mapispi.h |
Função definida implementada por: |
Provedores de transporte |
Função definida chamada por: |
Spooler MAPI |
HRESULT PreprocessMessage(
LPVOID lpvSession,
LPMESSAGE lpMessage,
LPADRBOOK lpAdrBook,
LPMAPIFOLDER lpFolder,
LPALLOCATEBUFFER AllocateBuffer,
LPALLOCATEMORE AllocateMore,
LPFREEBUFFER FreeBuffer,
ULONG FAR * lpcOutbound,
LPMESSAGE FAR * FAR * lpppMessage,
LPADRLIST FAR * lppRecipList
);
Parâmetros
lpvSession
[in] Ponteiro para a sessão a ser usada.
Lpmessage
[in] Ponteiro para a mensagem a ser pré-processada.
lpAdrBook
[in] Ponteiro para o catálogo de endereços do qual o usuário deve selecionar destinatários para a mensagem.
lpFolder
[in, out] Ponteiro para uma pasta. Na entrada, o parâmetro lpFolder aponta para a pasta que contém mensagens a serem pré-processadas. Na saída, o lpFolder aponta para a pasta em que as mensagens pré-processadas foram colocadas.
lpAllocateBuffer
[in] Ponteiro para a função MAPIAllocateBuffer , a ser usada para alocar memória.
lpAllocateMore
[in] Ponteiro para a função MAPIAllocateMore , a ser usada para alocar memória adicional quando necessário.
lpFreeBuffer
[in] Ponteiro para a função MAPIFreeBuffer , a ser usada para liberar memória.
lpcOutbound
[out] Ponteiro para o número de mensagens na matriz apontada pelo parâmetro lpppMessage .
lpppMessage
[out] Ponteiro para um ponteiro para uma matriz de ponteiros para mensagens pré-processadas ou geradas de outra forma.
lppRecipList
[out] Ponteiro para uma estrutura ADRLIST retornada opcional, listando destinatários detectados pelo pré-processador para os quais a mensagem não é entregue. Para obter mais informações sobre o conteúdo desta lista, consulte o método IMAPISupport::StatusRecips .
Valor de retorno
S_OK
O conteúdo da mensagem foi pré-processado com êxito.
Comentários
Um pré-processador de mensagens do provedor de transporte pode apresentar um indicador de progresso durante o pré-processamento de mensagens. No entanto, ele nunca deve apresentar uma caixa de diálogo que exija interação do usuário durante o pré-processamento de mensagens.
Quando um pré-processador adiciona grandes quantidades de dados a uma mensagem de saída, determinados procedimentos devem ser seguidos. Esse tipo de mensagem pode ser armazenado em um repositório de mensagens baseado em servidor, fazendo com que o pré-processador acesse um repositório remoto, um procedimento demorado. Para evitar ter que fazer isso, o pré-processador deve ter uma opção que lhe permita armazenar dados que tenham uma grande quantidade de espaço em um repositório de mensagens local e fornecer uma referência a esse repositório local na mensagem.
O pré-processador não deve liberar nenhum dos objetos originalmente passados para a função baseada em PreprocessMessage .
Antes que o spooler MAPI possa chamar uma função PreprocessMessage , o provedor de transporte deve ter registrado a função em uma chamada para o método IMAPISupport::RegisterPreprocessor . Depois de chamar uma função PreprocessMessage , o spooler não pode continuar enviando uma mensagem até que a função retorne.
O carreador MAPI é proprietário da tarefa de enviar mensagens. Isso significa que a mensagem original nunca é colocada em uma matriz de ponteiros de mensagem e que uma chamada para os métodos SubmitMessage nunca é necessária.
Confira também
IAddrBook : IMAPIProp
IMAPIFolder : IMAPIContainer
IMAPISupport: IUnknown