Freigeben über


PreprocessMessage

Gilt für: Outlook 2013 | Outlook 2016

Definiert eine Funktion, die Nachrichteninhalte oder das Format einer Nachricht vorverarbeitet.

Eigenschaft Wert
Headerdatei
Mapispi.h
Definierte Funktion implementiert von:
Transportanbieter
Definierte Funktion aufgerufen von:
MAPI-Spooler
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
);

Parameter

lpvSession

[in] Zeiger auf die zu verwendende Sitzung.

lpMessage

[in] Zeiger auf die Nachricht, die vorverarbeitet werden soll.

lpAdrBook

[in] Zeiger auf das Adressbuch, aus dem der Benutzer Empfänger für die Nachricht auswählen soll.

lpFolder

[in, out] Zeiger auf einen Ordner. Bei der Eingabe verweist der lpFolder-Parameter auf den Ordner, der vorverarbeitete Nachrichten enthält. Bei der Ausgabe zeigt lpFolder auf den Ordner, in dem vorverarbeitete Nachrichten platziert wurden.

lpAllocateBuffer

[in] Zeiger auf die MAPIAllocateBuffer-Funktion , die zum Zuweisen von Arbeitsspeicher verwendet werden soll.

lpAllocateMehr

[in] Zeiger auf die MAPIAllocateMore-Funktion , die verwendet werden soll, um bei Bedarf zusätzlichen Arbeitsspeicher zuzuweisen.

lpFreeBuffer

[in] Zeiger auf die MAPIFreeBuffer-Funktion , die zum Freigeben von Arbeitsspeicher verwendet werden soll.

lpcOutbound

[out] Zeiger auf die Anzahl der Nachrichten im Array, auf die der lpppMessage-Parameter zeigt.

lpppMessage

[out] Zeiger auf einen Zeiger auf ein Array von Zeigern auf vorverarbeitete oder anderweitig generierte Nachrichten.

lppRecipList

[out] Zeiger auf eine optional zurückgegebene ADRLIST-Struktur , in der vorprozessorerkannte Empfänger aufgelistet werden, für die die Nachricht nicht zustellbar ist. Weitere Informationen zum Inhalt dieser Liste finden Sie unter der IMAPISupport::StatusRecips-Methode .

Rückgabewert

S_OK

Nachrichteninhalte wurden erfolgreich vorverarbeitet.

Hinweise

Ein Transportanbieter-Nachrichtenpräprozessor kann während der Nachrichtenvorverarbeitung einen Statusindikator darstellen. Es sollte jedoch nie ein Dialogfeld angezeigt werden, das eine Benutzerinteraktion während der Nachrichtenvorverarbeitung erfordert.

Wenn ein Präprozessor einer ausgehenden Nachricht große Datenmengen hinzufügt, sollten bestimmte Verfahren befolgt werden. Diese Art von Nachricht kann in einem serverbasierten Nachrichtenspeicher gespeichert werden, wodurch der Präprozessor auf einen Remotespeicher zugreift, was eine zeitaufwendige Prozedur ist. Um dies zu vermeiden, sollte der Präprozessor über eine Option verfügen, die es ermöglicht, Daten zu speichern, die viel Speicherplatz in einem lokalen Nachrichtenspeicher belegen, und einen Verweis auf diesen lokalen Speicher in der Nachricht bereitzustellen.

Der Präprozessor darf keines der Objekte freigeben, die ursprünglich an die PreprocessMessage-basierte Funktion übergeben wurden.

Bevor der MAPI-Spooler eine PreprocessMessage-Funktion aufrufen kann, muss der Transportanbieter die Funktion in einem Aufruf der IMAPISupport::RegisterPreprocessor-Methode registriert haben. Nach dem Aufrufen einer PreprocessMessage-Funktion kann der Spooler die Übermittlung einer Nachricht erst fortsetzen, wenn die Funktion zurückgegeben wird.

Der MAPI-Spooler besitzt die Aufgabe, Nachrichten zu übermitteln. Dies bedeutet, dass die ursprüngliche Nachricht nie in einem Array von Nachrichtenzeigern platziert wird und dass nie ein Aufruf der SubmitMessage-Methoden erforderlich ist.

Siehe auch

IAddrBook : IMAPIProp
IMAPIFolder : IMAPIContainer
IMAPISupport: IUnknown