Freigeben über


ADRPARM

Gilt für: Outlook 2013 | Outlook 2016

Beschreibt die Anzeige und das Verhalten des Dialogfelds "Allgemeine Adresse".

Wert Beschreibung
Headerdatei
Mapidefs.h
typedef struct _ADRPARM
{
  ULONG cbABContEntryID;
  LPENTRYID lpABContEntryID;
  ULONG ulFlags;
  LPVOID lpReserved;
  ULONG ulHelpContext;
  LPSTR lpszHelpFileName;
  LPFNABSDI lpfnABSDI;
  LPFNDISMISS lpfnDismiss;
  LPVOID lpvDismissContext;
  LPSTR lpszCaption;
  LPSTR lpszNewEntryTitle;
  LPSTR lpszDestWellsTitle;
  ULONG cDestFields;
  ULONG nDestFieldFocus;
  LPSTR FAR *lppszDestTitles;
  ULONG FAR *lpulDestComps;
  LPSRestriction lpContRestriction;
  LPSRestriction lpHierRestriction;
} ADRPARM, FAR *LPADRPARM;

Members

cbABContEntryID

Anzahl der Bytes im Eintragsbezeichner, auf den lpABContEntryID verweist.

lpABContEntryID

Zeiger auf den Eintragsbezeichner des Containers, der die anfängliche Liste der Empfängeradressen bereitstellt, die im Adressdialogfeld angezeigt werden.

ulFlags

Bitmaske von Flags, die verschiedenen Optionen des Adressdialogfelds zugeordnet sind. Die folgenden Flags können festgelegt werden:

AB_RESOLVE

Aktivieren Sie die Auflösung aller Namen, nachdem das Adressdialogfeld geschlossen wurde. Wenn es mehrdeutige Einträge gibt, die sich aus dem Namensauflösungsprozess ergeben, wird ein Dialogfeld angezeigt, in dem der Benutzer um Hilfe beim Auflösen dieser Einträge aufgefordert wird. Durch Festlegen dieses Flags wird sichergestellt, dass alle von IAddrBook::Address zurückgegebenen Namen aufgelöst werden.

AB_SELECTONLY

Deaktivieren Sie die Erstellung einmaliger Adressen für eine Empfängerliste. Dieses Flag wird nur verwendet, wenn das Dialogfeld modal ist, wie durch das festgelegte DIALOG_MODAL Flag angegeben.

ADDRESS_ONE

Der Benutzer kann genau einen Empfänger anstelle mehrerer Empfänger aus einer Liste auswählen. Dieses Flag ist nur gültig, wenn cDestFields null ist und das Dialogfeld modal ist, wie durch das festgelegte DIALOG_MODAL-Flag angegeben.

DIALOG_MODAL

Bewirkt, dass die modale Version des Dialogfelds "Allgemeine Adresse" angezeigt wird. Entweder dieses Flag oder DIALOG_SDI sollte festgelegt werden. sie können nicht beide festgelegt werden.

DIALOG_OPTIONS

Bewirkt, dass die Schaltfläche Sendeoptionen im Dialogfeld angezeigt wird. Dieses Flag wird nur verwendet, wenn das Dialogfeld modal ist, wie durch das festgelegte DIALOG_MODAL Flag angegeben.

DIALOG_SDI

Bewirkt, dass die moduslose Version des Dialogfelds "Allgemeine Adresse" angezeigt wird. Entweder dieses Flag oder DIALOG_MODAL sollte festgelegt werden. sie können nicht beide festgelegt werden. Das DIALOG_SDI-Flag wird für Nicht-Outlook-Clients ignoriert, und die modale Version des Dialogfelds wird angezeigt. Daher sollte im lpulUIParam-Parameter von IAddrBook::Address kein Zeiger auf ein Handle erwartet werden.

lpReserved

Reserviert, muss null sein.

ulHelpContext

Gibt den Kontext in der Hilfe an, der zuerst angezeigt wird, wenn der Benutzer im Dialogfeld Adresse auf die Schaltfläche Hilfe klickt.

lpszHelpFileName

Zeiger auf den Namen einer Hilfedatei, die dem Dialogfeld "Adresse" zugeordnet wird. Das lpszHelpFileName-Element wird zusammen mit ulHelpContext verwendet, um die Windows WinHelp-Funktion aufzurufen.

lpfnABSDI

Zeiger auf eine MAPI-Funktion, die auf dem ACCELERATEABSDI-Prototyp oder NULL basiert. Dieser Member gilt nur für die moduslose Version des Dialogfelds, wie durch das festgelegte DIALOG_SDI-Flag angegeben. Clients, die eine ADRPARM-Struktur erstellen, die an IAddrBook::Address übergeben werden soll, müssen den lpfnABSDI-Member immer auf NULL festlegen. Wenn das DIALOG_SDI-Flag festgelegt ist, legt MAPI es vor der Rückgabe auf eine gültige Funktion fest. Clients rufen diese Funktion in ihrer Nachrichtenschleife auf, um sicherzustellen, dass Zugriffstasten im Adressbuchdialogfeld funktionieren. Wenn das Dialogfeld geschlossen wird und MAPI die Funktion aufruft, auf die vom lpfnDismiss-Member verwiesen wird, sollten Clients den Hook der ACCELERATEABSDI-Funktion aus ihrer Nachrichtenschleife aufheben.

lpfnDismiss

Zeiger auf eine Funktion, die auf dem DISMISSMODELESS-Prototyp oder NULL basiert. Dieser Member gilt nur für die moduslose Version des Dialogfelds, wie durch das festgelegte DIALOG_SDI-Flag angegeben. MAPI ruft die DISMISSMODELESS-Funktion auf, wenn der Benutzer das Dialogfeld für die moduslose Adresse schließt und einen Client informiert, der IAddrBook::Address aufruft, dass das Dialogfeld nicht mehr aktiv ist.

lpvDismissContext

Zeiger auf Kontextinformationen, die an die FUNKTION DISMISSMODELESS übergeben werden sollen, auf die der lpfnDismiss-Member zeigt. Dieser Member gilt nur für die moduslose Version des Dialogfelds, wie durch das festgelegte DIALOG_SDI-Flag angegeben.

lpszCaption

Zeiger auf Text, der als Titel für das Dialogfeld "Allgemeine Adresse" verwendet werden soll.

lpszNewEntryTitle

Zeiger auf Text, der als Schaltflächenbeschriftung für die Schaltfläche verwendet werden soll, die entweder das Dialogfeld Neuer Eintrag oder ein anderes Dialogfeld aufruft.

lpszDestWellsTitle

Zeiger auf Text, der als Titel für die Empfängertextfeld-Steuerelemente verwendet werden soll, die in der modalen Version des Dialogfelds "Allgemeine Adresse" angezeigt werden können. Dieses Element wird nicht für dialogfelder ohne Modus verwendet.

cDestFields

Anzahl der Empfängertextfeld-Steuerelemente in der modalen Version des Adressdialogfelds oder 0 (null), wenn das Dialogfeld moduslos ist. Das Dialogfeld "Adresse" ist nur dann zum Durchsuchen geöffnet, wenn die folgenden Bedingungen erfüllt sind:

  • Das cDestFields-Element ist auf 0 (null) festgelegt.

  • Das DIALOG_BOX-Flag ist festgelegt.

  • Das ADDRESS_ONE-Flag ist nicht festgelegt.

    Das Festlegen von cDestFields auf 0XFFFFFFFF impliziert, dass MAPI die Standardanzahl von Empfängertextfeld-Steuerelementen erstellen sollte. In diesem Fall müssen die Elemente lppszDestTitles und lpulDestComps NULL sein.

nDestFieldFocus

Gibt das bestimmte Textfeld-Steuerelement an, das den anfänglichen Fokus haben soll, wenn die modale Version des Dialogfelds angezeigt wird. Dieser Wert muss zwischen 0 und dem Wert von cDestFields minus 1 sein.

lppszDestTitles

Zeiger auf ein Array von Bezeichnungen für Schaltflächen, die den einzelnen Textfeldsteuerelementen zugeordnet sind, die in der modalen Version des Adressdialogfelds angezeigt werden. Der Wert des cDestFields-Elements gibt die Anzahl der im Array enthaltenen Bezeichnungen an. Wenn der lppszDestTitles-Member NULL ist, verwendet die Address-Methode Standardtitel.

lpulDestComps

Zeiger auf ein Array von Empfängertypwerten, z. B. MAPI_TO, MAPI_CC und MAPI_BCC, das jedem Textfeldsteuerelement zugeordnet ist. Der Wert des CDestFields-Elements gibt die Anzahl der Empfängertypen an, die im Array enthalten sind. Die Werte, auf die von lpulDestComps verwiesen wird, können verwendet werden, um die eigenschaft PR_RECIPIENT_TYPE (PidTagRecipientType) jedes Empfängers festzulegen. Wenn der lpulDestComps-Member NULL ist, verwendet die Address-Methode Standardempfängertypen.

lpContRestriction

Zeiger auf eine SRestriction-Struktur , die den Typ der Adresseinträge einschränkt, die im Dialogfeld angezeigt werden können.

lpHierRestriction

Zeiger auf eine SRestriction-Struktur , die die Adressbuchcontainer einschränkt, die Adresseinträge bereitstellen können, die im Dialogfeld angezeigt werden sollen.

Hinweise

ADRPARM-Strukturen werden von Clients und Dienstanbietern verwendet, um die Darstellung und das Verhalten der MAPI-Dialogfelder für allgemeine Adressen zu steuern. Es gibt zwei Varianten des Adressdialogfelds: moduslos und modal. Einige der Member in der ADRPARM-Struktur gelten für beide Versionen des Dialogfelds, aber einige gelten nur für eine der beiden Versionen. In der folgenden Tabelle werden die Elemente einer ADRPARM-Struktur auf ihre Verwendung mit den allgemeinen Adressdialogfeldern verknüpft.

ADRPARM-Mitglied Typ des Dialogfelds
cbABContEntryID und lpABContEntryID
Modal und moduslos
ulFlags
Modal und moduslos
lpReserved
Modal und moduslos
ulHelpContext und lpszHelpFileName
Modal und moduslos
lpfnABSDI
Modeless
lpfnDismiss und lpvDismissContext
Modeless
lpszCaption
Modal und moduslos
lpszNewEntryTitle
Modal
lpszDestWellsTitle, cDestFields, nDestFieldFocus, lppszDestTitles und lpulDestComps
Modal
lpContRestriction
Modal und moduslos
lpHierRestriction
Modal und moduslos

Das Dialogfeld ohne Modus ist eine schreibgeschützte Anzeige von Einträgen aus einem oder mehreren Adressbuchcontainern. Das Dialogfeld kann alle Einträge aus den ausgewählten Containern anzeigen oder auf die Einträge und Container beschränkt werden, die den kriterien entsprechen, die durch eine Einschränkung festgelegt wurden. Die Inhaltsbeschränkung, auf die von lpContRestriction verwiesen wird, kann die Typen der angezeigten Einträge einschränken, und die Hierarchieeinschränkung, auf die lpHierRestriction verweist, kann die Container einschränken, die die Einträge bereitstellen. Um den Aufrufer zu informieren, wenn das Dialogfeld geschlossen wird, ruft MAPI eine Funktion auf, die vom Aufrufer bereitgestellt wird, der mit dem DISMISSMODELESS-Prototyp übereinstimmt. Eine weitere Funktion, die dem ACCELERATEABSDI-Prototyp entspricht, wird von MAPI bereitgestellt und vom Aufrufer in der Windows-Nachrichtenschleife aufgerufen, um die Arbeit mit Tastenkombinationen zu erleichtern. Die moduslose Version des MapI-Adressdialogfelds kann angezeigt werden, wenn Clients IAddrBook::Address aufrufen oder Dienstanbieter IMAPISupport::Address aufrufen.

Das modale Dialogfeld ist eine Lese-/Schreibanzeige von Einträgen aus einem oder mehreren Containern. Der Inhalt kann auf die gleiche Weise wie die version ohne Modus durch Einschränkungen beeinflusst werden, die in den Membern lpContRestriction und lpHierRestriction festgelegt sind. Zusätzlich zum Listenfeld, in dem Containereinträge angezeigt werden, kann das modale Dialogfeld zwischen einem und drei Textfeld-Steuerelementen zum Speichern der vom Benutzer ausgewählten Einträge enthalten. Jedes Bearbeitungssteuerelement ist einem bestimmten Empfängertyp oder einer PR_RECIPIENT_TYPE Eigenschaft wie MAPI_TO zugeordnet. Das modale Adressdialogfeld kann durch eine der Address-Methoden oder angezeigt werden, wenn Clients IAddrBook::D etails aufrufen und Dienstanbieter IMAPISupport::D etails aufrufen.

Diese Abbildung enthält zwei Textfeldsteuerelemente, da das cDestFields-Element der ADRPARM-Struktur , das die Anzeige dieses Dialogfelds steuert, auf 2 festgelegt ist. Das erste Steuerelement hat den anfänglichen Fokus, da das nDestFieldFocus-Element auf 0 festgelegt ist.

Das lpszNewEntryTitle-Element verweist auf Text für eine Schaltflächenbezeichnung, die bei Auswahl ein zusätzliches Dialogfeld anzeigt. Wie in der Abbildung des modalen Dialogfelds gezeigt, hat die Schaltfläche in der Regel die Bezeichnung Neu , und das angezeigte Dialogfeld listet alle Adresstypen auf, die von einem der Adressbuchanbieter im Profil erstellt werden können. Clients bewirken, dass dieses Dialogfeld Neuer Eintrag angezeigt wird, indem IAddrBook::NewEntry aufgerufen wird und null für den cbEidNewEntryTpl-Parameter und NULL für den lpEidNewEntryTpl-Parameter übergeben wird, wenn der Benutzer die Schaltfläche auswählt. Die informationen, die in diesem Dialogfeld enthalten sind, stammen aus der einmaligen MAPI-Tabelle.

Jeder Eintrag in diesem Dialogfeld ist einer Vorlage für die Eingabe der Daten zugeordnet, die zum Erstellen einer Adresse des jeweiligen Typs erforderlich sind. Die meisten Adressbuchanbieter stellen eine Vorlage für jeden Typ von Adresseintrag bereit, den sie erstellen können. Wenn ein Benutzer eine Auswahl aus diesem Dialogfeld trifft, zeigt MAPI die entsprechende Vorlage an.

Die wichtigsten vier Bits des ulFlags-Elements der ADRPARM-Struktur enthalten eine Versionsnummer, die die Version der ADRPARM-Struktur angibt. Die aktuelle Version ist 0 (null) oder ADRPARM_HELP_CTX. Die aktuelle Implementierung von MAPI schlägt für jede Version der Struktur fehl, die nicht 0 (null) ist.

Zukünftige Versionen der Struktur können völlig anders sein; Sie unterstützen möglicherweise nicht die Versions-Null-Struktur. Die folgenden Makros werden zum Extrahieren der Versionsnummer aus dem ulFlags-Member und zum Kombinieren mit den definierten Flags bereitgestellt:

  • GET_ADRPARM_VERSION (ulFlags)
  • SET_ADRPARM_VERSION (ulFlags, ulVersion)
  • ADRPARM_HELP_CTX

Siehe auch