Freigeben über


IMessage::ModifyRecipients

Gilt für: Outlook 2013 | Outlook 2016

Hinzugef�gt, gel�scht oder Empf�nger der Nachricht �ndert.

HRESULT ModifyRecipients(
  ULONG ulFlags,
  LPADRLIST lpMods
);

Parameter

ulFlags

[in] Bitmask of flags that controls the recipient changes. Wenn null für den ulFlags-Parameter übergeben wird, ersetzt ModifyRecipients alle vorhandenen Empfänger durch die Empfängerliste, auf die der lpMods-Parameter verweist. Die folgenden Flags können für ulFlags festgelegt werden:

MODRECIP_ADD

Die Empfänger, auf die der lpMods-Parameter verweist, sollten der Empfängerliste hinzugefügt werden.

MODRECIP_MODIFY

Die Empfänger, auf die der lpMods-Parameter verweist, sollten vorhandene Empfänger ersetzen. Alle vorhandenen Eigenschaften werden durch die in der entsprechenden ADRENTRY Struktur ersetzt.

MODRECIP_REMOVE

Vorhandene Empfänger sollten aus der Empfängerliste entfernt werden, indem als Index die eigenschaft PR_ROWID (PidTagRowid) verwendet wird, die im Eigenschaftenwertarray jedes Empfängereintrags im lpMods-Parameter enthalten ist.

lpMods

[in] Zeiger auf eine ADRLIST -Struktur, die eine Liste der Empf�nger hinzugef�gt, gel�scht oder ge�ndert werden, in der Nachricht enth�lt.

Rückgabewert

S_OK

Die Empf�ngerliste wurde erfolgreich ge�ndert.

Hinweise

Die IMessage::ModifyRecipients -Methode �ndert die Nachricht Empf�ngerliste. Es ist in dieser Liste gehalten in eine ADRLIST -Struktur, dass die Empf�nger Tabelle erstellt wird.

Die ADRLIST -Datenstruktur enth�lt eine ADRENTRY -Struktur f�r jeden Empf�nger und jede ADRENTRY -Datenstruktur enth�lt ein Array der Eigenschaftswerte, die die Empf�ngereigenschaften beschreibt.

Empf�nger in der Struktur ADRLIST k�nnen gel�st oder nicht aufgel�st werden. Der Unterschied liegt in der Anzahl und Typ der Eigenschaften, die eingebunden werden. Ein nicht aufgelöster Empfänger enthält nur die Eigenschaften PR_DISPLAY_NAME (PidTagDisplayName) und PR_RECIPIENT_TYPE (PidTagRecipientType), während ein aufgelöster Empfänger diese beiden Eigenschaften plus PR_ADDRTYPE (PidTagAddressType) und PR_ENTRYID (PidTagEntryId) enthält. Wenn PR_EMAIL_ADDRESS (PidTagEmailAddress) verfügbar ist, kann sie auch einbezogen werden.

Durch die Zeit, die eine Nachricht gesendet wird, muss nur aufgel�sten Empf�nger in der Empf�ngerliste enthalten. Nicht aufgel�sten Empf�nger verursachen Unzustellbarkeitsberichten erstellt und an den urspr�nglichen Absender der Nachricht gesendet werden. Weitere Informationen zu den Vorgang der Namensaufl�sung aus Sicht des Clients finden Sie unter Aufl�sen von Namen. Weitere Informationen aus der Perspektive der Adressbuchanbieter finden Sie unter Implementieren der Namensaufl�sung.

Nicht aufgel�st und nicht aufgel�sten Empf�nger kann ein Empf�nger NULL sein. Das cValues Mitglied der ADRENTRY -Struktur f�r den Empf�nger auf 0 (null) festgelegt ist und der rgPropVals Member wird auf NULL festgelegt.

Hinweise für Aufrufer

Sie k�nnen eine Empf�ngerliste durch Aufrufen von IAddrBook::Address zum Anzeigen des Standarddialogfelds und der Benutzer aufgefordert, w�hlen Sie Eintr�ge erstellen. Die Adressliste, auf die der lppAdrList-Parameter an Address verweist, kann als lpMods-Parameter an ModifyRecipients übergeben werden.

Wenn Sie Eigenschaften f�r einen Empf�nger in der Struktur ADRLIST angeben, schlie�en Sie alle Eigenschaften des Empf�ngers, nicht nur diejenigen neuen oder ge�nderten. Wenn Sie ein Empf�nger ge�ndert wird, werden alle Eigenschaften, die nicht in der Struktur ADRLIST enthalten gel�scht. Zum Abrufen der aktuellen Gruppe von Eigenschaften f�r alle Empf�nger einer Nachricht GetRecipientTable aufrufen und Abrufen von allen Zeilen. Da ein SRowSet dieselbe Struktur wie eine ADRLISTist, k�nnen Sie diese austauschbar verwenden.

ModifyRecipients ersetzt alle Einträge in der aktuellen Empfängerliste durch die Informationen, auf die lpMods verweist, wenn keines der Flags im ulFlags-Parameter festgelegt ist.

Wenn Sie das MODRECIP_MODIFY-Flag festlegen, ersetzt ModifyRecipients jede gesamte Empfängerzeile durch die zugeordnete Zeile in der ADRLIST-Struktur , die in lpMods übergeben wird. Achten Sie darauf, dass alle Eigenschaften angeben, die ein Empf�nger haben sollen, unabh�ngig davon, ob sie ge�ndert haben, um zu verhindern, dass Sie versehentlich gel�scht wird.

Es folgen einige Regeln zum Festlegen der Eigenschaften der Empf�nger in der Struktur ADRLIST:

  • Verwenden Sie PT_NULL nicht als einen Eigenschaftentyp aus. ModifyRecipients gibt einen Fehler zur�ck, wenn dieser Wert auftreten.

  • Verwenden Sie PT_ERROR nicht als einen Eigenschaftentyp aus. ModifyRecipients wird dieser Wert ignoriert.

  • Schließen Sie die eigenschaft PR_ROWID für alle Empfänger ein, wenn Sie entweder das MODRECIP_REMOVE- oder MODRECIP_MODIFY-Flag in ulFlags festlegen.

  • Schließen Sie die eigenschaft PR_ROWID für keinen der Empfänger ein, wenn Sie das MODRECIP_ADD-Flag in ulFlags festlegen oder null in ulFlags übergeben.

Wenn Sie entweder die PR_ADDRTYPE-Eigenschaft oder PR_EMAIL_ADDRESS-Eigenschaft für einen Empfänger einschließen und eine oder beide eigenschaften mit dem Adresstyp und der Adresse des Empfängers, wie durch PR_ENTRYID identifiziert, inkonsistent sind, sind die Ergebnisse nicht definiert. Das heißt, es gibt drei Möglichkeiten, je nach Dienstanbieter:

  • Die Nachricht wird an die Adresse, die von den Eigenschaften PR_ADDRTYPE und PR_EMAIL_ADDRESS beschriebenen �bermittelt werden.

  • Die Nachricht wird an den Empf�nger durch PR_ENTRYIDidentifizierten �bermittelt werden.

  • Die Nachricht wird aufgrund der Mehrdeutigkeit der Adressinformationen unzustellbar deklariert werden.

Verwenden Sie die Regeln f�r die Zuweisung in Verwalten von Arbeitsspeicher f�r ADRLIST und SRowSet Strukturen beschriebenen Speicherzuordnung f�r die Empf�ngerliste. ModifyRecipients Freigabe nicht die Struktur ADRLIST noch keines der Unterstrukturen frei. Die Struktur ADRLIST und jede SPropValue Struktur m�ssen separat mithilfe der Funktion MAPIAllocateBuffer so, dass jeweils einzeln freigegeben werden zugeordnet werden. Wenn die Methode zus�tzlichen Speicherplatz f�r alle SPropValue Struktur erfordert, kann es die SPropValue -Struktur mit einer neuen ersetzen, die sp�ter mithilfe der MAPIFreeBufferfreigegeben werden k�nnen. SPropValue Originalstruktur sollten auch mithilfe der MAPIFreeBufferfreigegeben werden.

MFCMAPI-Referenz

Einen MFCMAP-Beispielcode finden Sie in der folgenden Tabelle.

Datei Funktion Comment
MAPIABFunctions.cpp
AddRecipient
MFCMAPI (engl.) verwendet die IMessage::ModifyRecipients -Methode, um einen neuen Empf�nger einer Nachricht hinzuf�gen.

Siehe auch

ADRENTRY

ADRLIST

IAddrBook::Address

IMAPISupport::Address

MAPIAllocateBuffer

MAPIFreeBuffer

SPropValue

IMessage: IMAPIProp

MFCMAPI (engl.) als ein Codebeispiel