MAPIREADMAIL-Rückruffunktion (mapi.h)

[Von der Verwendung dieser Funktion wird abgeraten. Sie kann in nachfolgenden Versionen von Windows geändert oder nicht verfügbar sein.]

Die MAPIReadMail-Funktion ruft eine Nachricht zum Lesen ab.

Syntax

MAPIREADMAIL Mapireadmail;

ULONG Mapireadmail(
  [in]  LHANDLE lhSession,
  [in]  ULONG_PTR ulUIParam,
  [in]  LPSTR lpszMessageID,
  [in]  FLAGS flFlags,
        ULONG ulReserved,
        lpMapiMessage *lppMessage
)
{...}

Parameter

[in] lhSession

Verarbeiten sie eine einfache MAPI-Sitzung. Der Wert des lhSession-Parameters muss eine gültige Sitzung darstellen. es darf nicht 0 sein.

[in] ulUIParam

Übergeordnetes Fensterhandle oder Null, das angibt, dass es sich bei der Anzeige eines Dialogfelds um ein Modal der Anwendung handelt. Wenn der ulUIParam-Parameter ein übergeordnetes Fensterhandle enthält, ist er vom Typ HWND (in eine ULONG_PTR umgewandelt). Wenn während des Anrufs kein Dialogfeld angezeigt wird, wird ulUIParam ignoriert.

[in] lpszMessageID

Zeiger auf eine Nachrichtenbezeichnerzeichenfolge für die zu lesende Nachricht. Die Zeichenfolge wird vom Aufrufer zugeordnet.

[in] flFlags

Bitmaske von Optionsflags. Die folgenden Flags können festgelegt werden.

Wert Bedeutung
MAPI_BODY_AS_FILE
MAPIReadMail sollte den Nachrichtentext in eine temporäre Datei schreiben und als erste Anlage in der Anlageliste hinzufügen.
MAPI_ENVELOPE_ONLY
MAPIReadMail sollte nur den Nachrichtenheader lesen. Dateianlagen werden nicht in temporäre Dateien kopiert, und weder temporäre Dateinamen noch Nachrichtentext werden geschrieben. Das Festlegen dieses Flags verbessert die Leistung.
MAPI_PEEK
MAPIReadMail markiert die Nachricht nicht als gelesen. Das Markieren einer Nachricht als gelesen wirkt sich auf die Darstellung in der Benutzeroberfläche aus und generiert einen Lesebeleg. Wenn das Messagingsystem dieses Flag nicht unterstützt, markiert MAPIReadMail die Nachricht immer als gelesen. Wenn BEI MAPIReadMail ein Fehler auftritt, bleibt die Nachricht ungelesen.
MAPI_SUPPRESS_ATTACH
MAPIReadMail sollte keine Dateianlagen kopieren, sondern Nachrichtentext in die MapiMessage-Struktur schreiben. MAPIReadMail ignoriert dieses Flag, wenn die aufrufende Anwendung das MAPI_ENVELOPE_ONLY-Flag festgelegt hat. Das Festlegen des MAPI_SUPPRESS_ATTACH-Flags verbessert die Leistung.

ulReserved

Reserviert; muss null sein.

lppMessage

Rückgabewert

Diese Funktion gibt einen der folgenden Werte zurück.

Rückgabecode Beschreibung
MAPI_E_ATTACHMENT_WRITE_FAILURE
Eine Anlage konnte nicht in eine temporäre Datei geschrieben werden. Überprüfen Sie die Verzeichnisberechtigungen.
MAPI_E_DISK_FULL
Eine Anlage konnte nicht in eine temporäre Datei geschrieben werden, da auf dem Datenträger nicht genügend Speicherplatz vorhanden war.
MAPI_E_FAILURE
Mindestens ein nicht angegebener Fehler ist beim Lesen der Nachricht aufgetreten.
MAPI_E_INSUFFICIENT_MEMORY
Es war nicht genügend Arbeitsspeicher vorhanden, um die Nachricht zu lesen.
MAPI_E_INVALID_MESSAGE
Im Parameter lpszMessageID wurde ein ungültiger Nachrichtenbezeichner übergeben.
MAPI_E_INVALID_SESSION
Im lhSession-Parameter wurde ein ungültiges Sitzungshandle übergeben. Es wurde keine Nachricht abgerufen.
MAPI_E_TOO_MANY_FILES
Die Nachricht enthält zu viele Dateianlagen. Die Nachricht konnte nicht gelesen werden.
MAPI_E_TOO_MANY_RECIPIENTS
Es gab zu viele Empfänger der Nachricht. Die Nachricht konnte nicht gelesen werden.
SUCCESS_SUCCESS
Der Aufruf war erfolgreich, und die Nachricht wurde gelesen.

Hinweise

Die MAPIReadMail-Funktion gibt eine Nachricht zurück, wobei der Nachrichteninhalt in dieselben Parameter und Strukturen unterteilt wird, die in der MAPISendMail-Funktion verwendet werden. MAPIReadMail füllt einen Speicherblock mit der MapiMessage-Struktur aus, die Nachrichtenelemente wie Betreff, Nachrichtenklasse, Lieferzeit und Absender enthält. Dateianlagen werden in temporären Dateien gespeichert, und die Namen werden an den Aufrufer in der Nachrichtenstruktur zurückgegeben. Empfänger, Anlagen und Inhalte werden aus der Nachricht kopiert, bevor MAPIReadMail an den Aufrufer zurückgibt, sodass spätere Änderungen an den Dateien sich nicht auf den Inhalt der Nachricht auswirken.

Ein Flag wird bereitgestellt, um anzugeben, dass nur Umschlaginformationen vom Aufruf zurückgegeben werden sollen. Ein anderes Flag (in der MapiMessage-Struktur ) gibt an, ob die Nachricht als gesendet oder nicht gekennzeichnet ist.

Der Aufrufer ist für das Freigeben der MapiMessage-Struktur verantwortlich, indem er die MAPIFreeBuffer-Funktion aufruft und alle Dateien löscht, die mit anlagen verknüpft sind, die in der Nachricht enthalten sind.

Verwenden Sie vor dem Aufrufen von MAPIReadMail die MAPIFindNext-Funktion , um zu überprüfen, ob die zu lesende Nachricht diejenige ist, die Sie lesen möchten. Da Nachrichtenbezeichner systemspezifisch und undurchsichtig sind und jederzeit ungültig werden können, betrachtet MAPIReadMail einen Nachrichtenbezeichner nur für die aktuelle Einfache MAPI-Sitzung als gültig.

Requirements (Anforderungen)

   
Zielplattform Windows
Kopfzeile mapi.h

Weitere Informationen

MAPIFreeBuffer

MAPILogon

MapiMessage

Einfache MAPI