IMAPISupport::Address
S’applique à : Outlook 2013 | Outlook 2016
Affiche la boîte de dialogue adresse commune.
HRESULT Address(
ULONG_PTR FAR * lpulUIParam,
LPADRPARM lpAdrParms,
LPADRLIST FAR * lppAdrList
);
Paramètres
lpulUIParam
[in, out] Pointeur vers le handle de la fenêtre parente de la boîte de dialogue. Lors de l’entrée, un handle de fenêtre doit toujours être passé. En sortie, si l’indicateur DIALOG_SDI est défini dans la structure ADRPARM pointée par le paramètre lpAdrParms , le handle de fenêtre de la boîte de dialogue sans mode est retourné.
lpAdrParms
[in, out] Pointeur vers une structure ADRPARM qui contrôle la présentation et le comportement de la boîte de dialogue d’adresse.
lppAdrList
[in, out] Pointeur vers un pointeur vers une liste d’adresses. En entrée, cette liste est la liste actuelle des destinataires dans un message ou NULL, si aucune liste de ce type n’existe. Dans la sortie, lppAdrList pointe vers une liste mise à jour des destinataires du message.
Valeur renvoyée
S_OK
La boîte de dialogue adresse s’est affichée avec succès.
Remarques
La méthode IMAPISupport ::Address est implémentée pour les objets de prise en charge du fournisseur de carnets d’adresses. Les fournisseurs de carnets d’adresses appellent Address pour créer ou mettre à jour une liste de destinataires de messages.
Chaque destinataire est décrit dans une structure ADRENTRY qui est incluse dans la structure ADRLIST pointée par le paramètre lppAdrList . La structure ADRENTRY contient un tableau de valeurs de propriété de destinataire, dont l’une est le type du destinataire ou la propriété PR_RECIPIENT_TYPE (PidTagRecipientType). Cette structure ADRLIST peut être passée à un client pour l’utiliser comme paramètre lpMods dans un appel à IMessage ::ModifyRecipients.
Chaque destinataire de la structure ADRLIST peut être résolu, ce qui indique que l’une de ses valeurs de propriété est sa propriété PR_ENTRYID (PidTagEntryId), ou non résolu, ce qui indique que la propriété PR_ENTRYID est manquante.
Outre les PR_ENTRYID, les destinataires résolus incluent les propriétés suivantes :
PR_RECIPIENT_TYPE
PR_DISPLAY_NAME (PidTagDisplayName)
PR_ADDRTYPE (PidTagAddressType)
PR_DISPLAY_TYPE (PidTagDisplayType)
Les destinataires non résolus incluent généralement uniquement les PR_DISPLAY_NAME et les PR_RECIPIENT_TYPE.
Remarques pour les appelants
La structure ADRLIST que l’appelant transmet peut avoir une taille différente de la structure retournée par MAPI. Lorsque vous allouez de la mémoire pour la structure ADRLIST , allouez la mémoire pour chaque structure SPropValue séparément.
Utilisez les pointeurs vers les fonctions d’allocation de mémoire MAPI passées à votre fonction ABProviderInit pour allouer de la mémoire. Allouez de la mémoire avec la fonction MAPIAllocateBuffer pour ADRLIST et chaque structure de valeur de propriété dans les structures ADRENTRY dans ADRLIST.
Si Address doit retourner une structure ADRLIST plus grande, ou si vous avez passé NULL pour lppAdrList, Address libère la structure d’origine et en alloue une nouvelle. Address alloue également des structures de valeur de propriété supplémentaires dans la structure ADRLIST et libère les anciennes selon les besoins. Pour plus d’informations sur la gestion de la mémoire pour les structures ADRLIST , consultez Gestion de la mémoire pour les structures ADRLIST et SRowSet.
Address retourne immédiatement si l’indicateur DIALOG_SDI a été défini dans la structure ADRPARM dans le paramètre lpAdrParms .
Voir aussi
ABProviderInit
ADRENTRY
ADRLIST
ADRPARM
FreePadrlist
FreeProws
IMAPISupport::GetMemAllocRoutines
IMAPITable::QueryRows
IMessage::ModifyRecipients
MAPIAllocateBuffer
MAPIAllocateMore
MAPIFreeBuffer
Propriété canonique PidTagAddressType
Propriété canonique PidTagDisplayName
Propriété canonique PidTagDisplayType
Propriété canonique PidTagEntryId
Propriété canonique PidTagRecipientType
SPropValue
SRowSet
IMAPISupport : IUnknownManaging Memory for ADRLIST et SRowSet Structures