Compartilhar via


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