Freigeben über


IMAPISupport::Address

Gilt für: Outlook 2013 | Outlook 2016

Zeigt das Dialogfeld "Allgemeine Adresse" an.

HRESULT Address(
  ULONG_PTR FAR * lpulUIParam,
  LPADRPARM lpAdrParms,
  LPADRLIST FAR * lppAdrList
);

Parameter

lpulUIParam

[in, out] Ein Zeiger auf das Handle des übergeordneten Fensters des Dialogfelds. Bei der Eingabe muss immer ein Fensterhandle übergeben werden. Wenn bei der Ausgabe das DIALOG_SDI-Flag in der ADRPARM-Struktur festgelegt wird, auf die der lpAdrParms-Parameter verweist, wird das Fensterhandle des dialogfelds ohne Modus zurückgegeben.

lpAdrParms

[in, out] Ein Zeiger auf eine ADRPARM-Struktur , die die Darstellung und das Verhalten des Adressdialogfelds steuert.

lppAdrList

[in, out] Ein Zeiger auf einen Zeiger auf eine Adressliste. Bei der Eingabe ist diese Liste entweder die aktuelle Liste der Empfänger in einer Nachricht oder NULL, wenn keine solche Liste vorhanden ist. Bei der Ausgabe verweist lppAdrList auf eine aktualisierte Liste von Nachrichtenempfängern.

Rückgabewert

S_OK

Das Dialogfeld "Adresse" wurde erfolgreich angezeigt.

Hinweise

Die IMAPISupport::Address-Methode wird für Adressbuchanbieterunterstützungsobjekte implementiert. Adressbuchanbieter rufen Address auf, um eine Liste von Nachrichtenempfängern zu erstellen oder zu aktualisieren.

Jeder Empfänger wird in einer ADRENTRY-Struktur beschrieben, die in der ADRLIST-Struktur enthalten ist, auf die der lppAdrList-Parameter verweist. Die ADRENTRY-Struktur enthält ein Array von Empfängereigenschaftswerten, von denen einer der Typ des Empfängers oder PR_RECIPIENT_TYPE (PidTagRecipientType)-Eigenschaft ist. Diese ADRLIST-Struktur kann an einen Client übergeben werden, um als lpMods-Parameter in einem Aufruf von IMessage::ModifyRecipients zu verwenden.

Jeder Empfänger in der ADRLIST-Struktur kann entweder aufgelöst werden, was angibt, dass einer seiner Eigenschaftswerte seine PR_ENTRYID-Eigenschaft (PidTagEntryId) ist, oder nicht aufgelöst werden, was angibt, dass die PR_ENTRYID-Eigenschaft fehlt.

Zusätzlich zu PR_ENTRYID enthalten aufgelöste Empfänger die folgenden Eigenschaften:

Nicht aufgelöste Empfänger umfassen in der Regel nur PR_DISPLAY_NAME und PR_RECIPIENT_TYPE.

Hinweise für Aufrufer

Die vom Aufrufer übergebene ADRLIST-Struktur kann eine andere Größe aufweisen als die Struktur, die MAPI zurückgibt. Wenn Sie Arbeitsspeicher für die ADRLIST-Struktur zuweisen, weisen Sie den Arbeitsspeicher für jede SPropValue-Struktur separat zu.

Verwenden Sie die Zeiger auf die MAPI-Speicherbelegungsfunktionen, die an Ihre ABProviderInit-Funktion übergeben werden, um Arbeitsspeicher zuzuweisen. Ordnen Sie Arbeitsspeicher mit der MAPIAllocateBuffer-Funktion für ADRLIST und jeder Eigenschaftswertstruktur in den ADRENTRY-Strukturen in ADRLIST zu.

Wenn Address eine größere ADRLIST-Struktur zurückgeben muss oder Sie NULL für lppAdrList übergeben haben, gibt Address die ursprüngliche Struktur frei und ordnet eine neue zu. Address ordnet auch zusätzliche Eigenschaftswertstrukturen in der ADRLIST-Struktur zu und gibt alte strukturen nach Bedarf frei. Weitere Informationen zur Speicherverwaltung für ADRLIST-Strukturen finden Sie unter Verwalten von Arbeitsspeicher für ADRLIST- und SRowSet-Strukturen.

Address gibt sofort zurück, wenn das DIALOG_SDI-Flag in der ADRPARM-Struktur im lpAdrParms-Parameter festgelegt wurde.

Siehe auch

ABProviderInit
ADRENTRY
ADRLIST
ADRPARM
FreePadrlist
FreeProws
IMAPISupport::GetMemAllocRoutines
IMAPITable::QueryRows
IMessage::ModifyRecipients
MAPIAllocateBuffer
MAPIAllocateMore
MAPIFreeBuffer
PidTagAddressType (kanonische Eigenschaft)
PidTagDisplayName (kanonische Eigenschaft)
PidTagDisplayType (kanonische Eigenschaft)
PidTagEntryId (kanonische Eigenschaft)
PidTagRecipientType (kanonische Eigenschaft)
SPropValue
SRowSet
IMAPISupport : IUnknownManaging Memory for ADRLIST and SRowSet Structures