Partager via


PreprocessMessage

S’applique à : Outlook 2013 | Outlook 2016

Définit une fonction qui prétraite le contenu d’un message ou le format d’un message.

Propriété Valeur
Fichier d’en-tête :
Mapispi.h
Fonction définie implémentée par :
Fournisseurs de transport
Fonction définie appelée par :
Spouleur 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
);

Paramètres

lpvSession

[in] Pointeur vers la session à utiliser.

lpMessage

[in] Pointeur vers le message à prétraiter.

lpAdrBook

[in] Pointeur vers le carnet d’adresses à partir duquel l’utilisateur doit sélectionner les destinataires du message.

lpFolder

[in, out] Pointeur vers un dossier. En entrée, le paramètre lpFolder pointe vers le dossier qui contient les messages à prétraiter. Dans la sortie, lpFolder pointe vers le dossier où les messages prétraités ont été placés.

lpAllocateBuffer

[in] Pointeur vers la fonction MAPIAllocateBuffer , à utiliser pour allouer de la mémoire.

lpAllocatePlus

[in] Pointeur vers la fonction MAPIAllocateMore , à utiliser pour allouer de la mémoire supplémentaire si nécessaire.

lpFreeBuffer

[in] Pointeur vers la fonction MAPIFreeBuffer , à utiliser pour libérer de la mémoire.

lpcOutbound

[out] Pointeur vers le nombre de messages dans le tableau vers lequel pointe le paramètre lpppMessage .

lpppMessage

[out] Pointeur vers un tableau de pointeurs vers des messages prétraités ou générés.

lppRecipList

[out] Pointeur vers une structure ADRLIST retournée facultative, répertoriant les destinataires détectés par le préprocesseur pour lesquels le message n’est pas remis. Pour plus d’informations sur le contenu de cette liste, consultez la méthode IMAPISupport ::StatusRecips .

Valeur renvoyée

S_OK

Le contenu du message a été prétraité avec succès.

Remarques

Un préprocesseur de message de fournisseur de transport peut présenter un indicateur de progression pendant le prétraitement des messages. Toutefois, il ne doit jamais présenter de boîte de dialogue nécessitant une interaction de l’utilisateur pendant le prétraitement des messages.

Lorsqu’un préprocesseur ajoute de grandes quantités de données à un message sortant, certaines procédures doivent être suivies. Ce type de message peut être stocké dans une banque de messages basée sur un serveur, ce qui amène le préprocesseur à accéder à un magasin distant, une procédure fastidieuse. Pour éviter d’avoir à le faire, le préprocesseur doit disposer d’une option qui lui permet de stocker des données qui prennent une grande quantité d’espace dans une banque de messages locale et de fournir une référence à ce magasin local dans le message.

Le préprocesseur ne doit libérer aucun des objets initialement passés à la fonction basée sur PreprocessMessage .

Avant que le spouleur MAPI puisse appeler une fonction PreprocessMessage , le fournisseur de transport doit avoir inscrit la fonction dans un appel à la méthode IMAPISupport ::RegisterPreprocessor . Après avoir appelé une fonction PreprocessMessage , le spouleur ne peut pas continuer à envoyer un message tant que la fonction n’est pas retournée.

Le spouleur MAPI est propriétaire de la tâche d’envoi des messages. Cela signifie que le message d’origine n’est jamais placé dans un tableau de pointeurs de message et qu’un appel aux méthodes SubmitMessage n’est jamais nécessaire.

Voir aussi

IAddrBook : IMAPIProp
IMAPIFolder : IMAPIContainer
IMAPISupport : IUnknown