Freigeben über


MAPIRESOLVENAME-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 MAPIResolveName-Funktion transformiert den Namen eines Nachrichtenempfängers, wie er von einem Benutzer eingegeben wird, in einen eindeutigen Adresslisteneintrag.

Syntax

MAPIRESOLVENAME Mapiresolvename;

ULONG Mapiresolvename(
  [in]  LHANDLE lhSession,
  [in]  ULONG_PTR ulUIParam,
  [in]  LPSTR lpszName,
  [in]  FLAGS flFlags,
        ULONG ulReserved,
        lpMapiRecipDesc *lppRecip
)
{...}

Parameter

[in] lhSession

Handle, das eine einfache MAPI-Sitzung oder 0 (null) darstellt. Wenn der Wert des lhSession-Parameters null ist, meldet sich die MAPI beim Benutzer an und erstellt eine Sitzung, die nur für die Dauer des Aufrufs vorhanden ist. Bei dieser temporären Sitzung kann es sich um eine vorhandene freigegebene Sitzung oder eine neue Sitzung handelt. Bei Bedarf wird das Anmeldedialogfeld angezeigt.

[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] lpszName

Zeiger auf den Namen, der aufgelöst werden soll.

[in] flFlags

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

Wert Bedeutung
MAPI_AB_NOMODIFY
Der Aufrufer fordert an, dass das Dialogfeld schreibgeschützt ist, wodurch Änderungen verhindert werden. MAPIResolveName ignoriert dieses Flag, wenn MAPI_DIALOG nicht festgelegt ist.
MAPI_DIALOG
Für die Namensauflösung sollte ein Dialogfeld angezeigt werden. Wenn dieses Flag nicht festgelegt ist und der Name nicht aufgelöst werden kann, gibt MAPIResolveName den MAPI_E_AMBIGUOUS_RECIPIENT Wert zurück.
MAPI_LOGON_UI
Es sollte ein Dialogfeld angezeigt werden, in dem der Benutzer bei Bedarf aufgefordert wird, sich anzumelden. Wenn das flag MAPI_LOGON_UI nicht festgelegt ist, zeigt die Clientanwendung kein Anmeldedialogfeld an und gibt einen Fehlerwert zurück, wenn der Benutzer nicht angemeldet ist.
MAPI_NEW_SESSION
Es sollte versucht werden, eine neue Sitzung zu erstellen, anstatt die freigegebene Sitzung der Umgebung zu erhalten. Wenn das flag MAPI_NEW_SESSION nicht festgelegt ist, verwendet MAPIResolveName eine vorhandene freigegebene Sitzung.

ulReserved

Reserviert; muss null sein.

lppRecip

Rückgabewert

Diese Funktion gibt einen der folgenden Werte zurück.

Rückgabecode Beschreibung
MAPI_E_AMBIGUOUS_RECIPIENT
Der angeforderte Empfänger wurde oder konnte nicht in einen eindeutigen Adresslisteneintrag aufgelöst werden.
MAPI_E_UNKNOWN_RECIPIENT
Der Empfänger konnte nicht in eine Adresse aufgelöst werden. Der Empfänger ist möglicherweise nicht vorhanden oder unbekannt.
MAPI_E_FAILURE
Mindestens ein nicht angegebener Fehler ist aufgetreten. Der Name wurde nicht aufgelöst.
MAPI_E_INSUFFICIENT_MEMORY
Es war nicht genügend Arbeitsspeicher vorhanden, um fortzufahren. Der Name wurde nicht aufgelöst.
MAPI_E_LOGIN_FAILURE
Es gab keine Standardanmeldung, und der Benutzer konnte sich nicht erfolgreich anmelden, wenn das Anmeldedialogfeld angezeigt wurde. Der Name wurde nicht aufgelöst.
MAPI_E_NOT_SUPPORTED
Der Vorgang wurde vom zugrunde liegenden Messagingsystem nicht unterstützt.
MAPI_E_USER_ABORT
Der Benutzer hat eines der Dialogfelder abgebrochen. Der Name wurde nicht aufgelöst.
SUCCESS_SUCCESS
Der Aufruf war erfolgreich, und der Name wurde aufgelöst.

Hinweise

Die MAPIResolveName-Funktion löst den Namen eines Nachrichtenempfängers (wie von einem Benutzer eingegeben) in einen eindeutigen Adresslisteneintrag auf und fordert den Benutzer bei Bedarf auf, zwischen möglichen Einträgen zu wählen. Eine Empfängerdeskriptorstruktur, die vollständig aufgelöste Informationen zum Eintrag enthält, wird zugeordnet und zurückgegeben. Der Aufrufer sollte diese MapiRecipDesc-Struktur irgendwann durch Aufrufen der MAPIFreeBuffer-Funktion freigeben. Wenn MAPIResolveName einen Fehlerwert zurückgibt, ist es nicht erforderlich, die Zuordnung des Arbeitsspeichers mit MAPIFreeBuffer aufzugeben.

Anforderungen

Anforderung Wert
Zielplattform Windows
Kopfzeile mapi.h

Weitere Informationen

MAPIFreeBuffer

MAPILogon

MapiRecipDesc

Einfache MAPI