MAPIFINDNEXT-Rückruffunktion (mapi.h)

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

Die MAPIFindNext-Funktion ruft den nächsten (oder ersten) Nachrichtenbezeichner eines angegebenen Typs eingehender Nachrichten ab.

Syntax

MAPIFINDNEXT Mapifindnext;

ULONG Mapifindnext(
  [in]  LHANDLE lhSession,
  [in]  ULONG_PTR ulUIParam,
  [in]  LPSTR lpszMessageType,
  [in]  LPSTR lpszSeedMessageID,
  [in]  FLAGS flFlags,
        ULONG ulReserved,
  [out] LPSTR lpszMessageID
)
{...}

Parameter

[in] lhSession

Sitzungshandle, das eine einfache MAPI-Sitzung darstellt. Der Wert des lhSession-Parameters muss eine gültige Sitzung darstellen. sie darf nicht 0 (null) sein.

[in] ulUIParam

Ziehpunkt des übergeordneten Fensters oder null, was angibt, dass es sich bei der Anzeige eines Dialogfelds um eine modale 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 Aufrufs kein Dialogfeld angezeigt wird, wird ulUIParam ignoriert.

[in] lpszMessageType

Zeiger auf eine Zeichenfolge, die die zu durchsuchende Nachrichtenklasse identifiziert. Um eine zwischenmenschliche Nachricht (IPM) zu finden , geben Sie null im lpszMessageType-Parameter an, oder zeigen Sie auf eine leere Zeichenfolge. Messagingsysteme, deren einzige unterstützte Nachrichtenklasse IPM ist, können diesen Parameter ignorieren.

[in] lpszSeedMessageID

Zeiger auf eine Zeichenfolge, die den Nachrichtenbezeichnerwert für die Anforderung enthält. Wenn der lpszSeedMessageID-ParameterNULL ist oder auf eine leere Zeichenfolge zeigt, ruft MAPIFindNext die erste Nachricht ab, die dem im lpszMessageType-Parameter angegebenen Typ entspricht.

[in] flFlags

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

Wert Bedeutung
MAPI_GUARANTEE_FIFO
Die zurückgegebenen Nachrichtenbezeichner sollten in der Reihenfolge der empfangenen Zeit vorliegen. MAPIFindNext-Aufrufe können länger dauern, wenn dieses Flag festgelegt ist. Einige Implementierungen können diese Anforderung nicht berücksichtigen und geben den wert der MAPI_E_NO_SUPPORT zurück.
MAPI_LONG_MSGID
Der zurückgegebene Nachrichtenbezeichner kann bis zu 512 Zeichen lang sein. Wenn dieses Flag festgelegt ist, muss der lpszMessageID-Parameter groß genug sein, um 512 Zeichen aufzunehmen.

Ältere Versionen von MAPI unterstützten kleinere Nachrichtenbezeichner (64 Bytes) und enthielten dieses Flag nicht. MAPIFindNext ist ohne dieses Flag erfolgreich, solange lpszMessageID groß genug ist, um den Nachrichtenbezeichner zu speichern. Wenn lpszMessageID den Nachrichtenbezeichner nicht enthalten kann, schlägt MAPIFindNext fehl.

MAPI_UNREAD_ONLY
Nur ungelesene Nachrichten des angegebenen Typs sollten aufgelistet werden. Wenn dieses Flag nicht festgelegt ist, kann MAPIFindNext jede Nachricht des angegebenen Typs zurückgeben.

ulReserved

Reserviert; muss null sein.

[out] lpszMessageID

Zeiger auf den zurückgegebenen Nachrichtenbezeichner. Der Aufrufer ist für die Zuweisung des Arbeitsspeichers verantwortlich. Um die Kompatibilität sicherzustellen, weisen Sie 512 Zeichen zu, und legen Sie MAPI_LONG_MSGID im flFlags-Parameter fest. Ein kleinerer Puffer ist nur ausreichend, wenn der zurückgegebene Nachrichtenbezeichner immer maximal 64 Zeichen umfasst.

Rückgabewert

Diese Funktion gibt einen der folgenden Werte zurück.

Rückgabecode Beschreibung
MAPI_E_FAILURE
Mindestens ein nicht angegebener Fehler ist beim Abgleich mit dem Nachrichtentyp aufgetreten. Der Aufruf ist fehlgeschlagen, bevor der Nachrichtentypabgleich erfolgen konnte.
MAPI_E_INSUFFICIENT_MEMORY
Es war nicht genügend Arbeitsspeicher vorhanden, um fortzufahren. Es wurde keine Nachricht gefunden.
MAPI_E_INVALID_MESSAGE
Im Parameter lpszSeedMessageID wurde ein ungültiger Nachrichtenbezeichner übergeben. Es wurde keine Nachricht gefunden.
MAPI_E_INVALID_SESSION
Im lhSession-Parameter wurde ein ungültiges Sitzungshandle übergeben. Es wurde keine Nachricht gefunden.
MAPI_E_NO_MESSAGES
Eine übereinstimmende Nachricht wurde nicht gefunden.
SUCCESS_SUCCESS
Der Aufruf war erfolgreich, und der Nachrichtenbezeichner wurde zurückgegeben.

Hinweise

Die MAPIFindNext-Funktion ermöglicht einer Clientanwendung das Aufzählen von Nachrichten eines bestimmten Typs. Diese Funktion kann wiederholt aufgerufen werden, um alle Nachrichten im Ordner auflisten zu können. Nachrichtenbezeichner, die von MAPIFindNext zurückgegeben werden, können in anderen einfachen MAPI-Aufrufen verwendet werden, um Nachrichteninhalte abzurufen und Nachrichten zu löschen. Diese Funktion dient zur Verarbeitung eingehender Nachrichten, nicht zur Verwaltung empfangener Nachrichten.

MAPIFindNext sucht nach Nachrichten in dem Ordner, in dem neue Nachrichten des angegebenen Typs übermittelt werden. MAPIFindNext-Aufrufe können nur im Kontext einer gültigen Simple MAPI-Sitzung erfolgen, die mit der MAPILogon-Funktion eingerichtet wurde.

Wenn der lpszSeedMessageID-ParameterNULL ist oder auf eine leere Zeichenfolge zeigt, gibt MAPIFindNext den Nachrichtenbezeichner für die erste Nachricht des typs zurück, der durch den lpszMessageType-Parameter angegeben wird. Wenn lpszSeedMessageID einen gültigen Bezeichner enthält, gibt die Funktion die nächste übereinstimmende Nachricht des typs zurück, der durch lpszMessageType angegeben wird. Wiederholte Aufrufe von MAPIFindNext führen letztendlich zu einer Rückgabe des MAPI_E_NO_MESSAGES Werts, was bedeutet, dass die Enumeration abgeschlossen ist.

Der Nachrichtentypabgleich erfolgt für Nachrichtenklassenzeichenfolgen. Alle Nachrichtentypen, deren Namen übereinstimmen (bis zur in lpszMessageType angegebenen Länge), werden zurückgegeben.

Da Nachrichtenbezeichner messagingsystemspezifisch sind und jederzeit ungültig werden können, sind Nachrichten-IDs nur für die aktuelle Sitzung gültig. Wenn der in lpszSeedMessageID übergebene Nachrichtenbezeichner ungültig ist, gibt MAPIFindNext den MAPI_E_INVALID_MESSAGE Wert zurück.

Anforderungen

Anforderung Wert
Zielplattform Windows
Kopfzeile mapi.h

Weitere Informationen

MAPILogon

Einfache MAPI