ADRPARM
S’applique à : Outlook 2013 | Outlook 2016
Décrit l’affichage et le comportement de la boîte de dialogue d’adresse commune.
Valeur | Description |
---|---|
Fichier d’en-tête : |
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
Nombre d’octets dans l’identificateur d’entrée pointé par lpABContEntryID.
lpABContEntryID
Pointeur vers l’identificateur d’entrée du conteneur qui fournit la liste initiale des adresses de destinataire affichées dans la boîte de dialogue adresse.
ulFlags
Masque de bits des indicateurs associés à différentes options de boîte de dialogue d’adresse. Les indicateurs suivants peuvent être définis :
AB_RESOLVE
Activez la résolution de tous les noms après la fermeture de la boîte de dialogue d’adresse. Si des entrées ambiguës résultent du processus de résolution de noms, une boîte de dialogue s’affiche pour inviter l’utilisateur à les résoudre. La définition de cet indicateur garantit que tous les noms retournés par IAddrBook ::Address sont résolus.
AB_SELECTONLY
Désactivez la création d’adresses ponctuelles pour une liste de destinataires. Cet indicateur est utilisé uniquement si la boîte de dialogue est modale, comme indiqué par l’indicateur DIALOG_MODAL défini.
ADDRESS_ONE
L’utilisateur peut sélectionner exactement un destinataire au lieu de plusieurs destinataires dans une liste. Cet indicateur n’est valide que lorsque cDestFields est égal à zéro et que la boîte de dialogue est modale, comme indiqué par l’indicateur DIALOG_MODAL défini.
DIALOG_MODAL
Entraîne l’affichage de la version modale de la boîte de dialogue d’adresse commune. Cet indicateur ou ce DIALOG_SDI doit être défini ; ils ne peuvent pas être définis tous les deux.
DIALOG_OPTIONS
Entraîne l’affichage du bouton Options d’envoi dans la boîte de dialogue. Cet indicateur est utilisé uniquement si la boîte de dialogue est modale, comme indiqué par l’indicateur DIALOG_MODAL défini.
DIALOG_SDI
Entraîne l’affichage de la version sans mode de la boîte de dialogue d’adresse commune. Cet indicateur ou DIALOG_MODAL doit être défini ; ils ne peuvent pas être définis tous les deux. L’indicateur DIALOG_SDI est ignoré pour les clients non-Outlook et la version modale de la boîte de dialogue s’affiche. Par conséquent, un pointeur vers un handle ne doit pas être attendu dans le paramètre lpulUIParam de IAddrBook ::Address.
lpReserved
Réservé, doit être égal à zéro.
ulHelpContext
Spécifie le contexte dans l’aide qui s’affiche d’abord lorsque l’utilisateur clique sur le bouton Aide dans la boîte de dialogue Adresse.
lpszHelpFileName
Pointeur vers le nom d’un fichier d’aide qui sera associé à la boîte de dialogue d’adresse. Le membre lpszHelpFileName est utilisé avec ulHelpContext pour appeler la fonction Windows WinHelp .
lpfnABSDI
Pointeur vers une fonction MAPI basée sur le prototype ACCELERATEABSDI ou NULL. Ce membre s’applique uniquement à la version sans mode de la boîte de dialogue, comme indiqué par l’indicateur DIALOG_SDI défini. Les clients qui créent une structure ADRPARM à transmettre à IAddrBook ::Address doivent toujours définir le membre lpfnABSDI sur NULL. Si l’indicateur DIALOG_SDI est défini, MAPI le définit sur une fonction valide avant de le retourner. Les clients appellent cette fonction à partir de dans leur boucle de message pour s’assurer que les accélérateurs dans la boîte de dialogue du carnet d’adresses fonctionnent. Lorsque la boîte de dialogue est ignorée et que MAPI appelle la fonction pointée par le membre lpfnDismiss, les clients doivent déconnecter la fonction ACCELERATEABSDI de leur boucle de message.
lpfnDismiss
Pointeur vers une fonction basée sur le prototype DISMISSMODELESS ou NULL. Ce membre s’applique uniquement à la version sans mode de la boîte de dialogue uniquement, comme indiqué par l’indicateur DIALOG_SDI défini. MAPI appelle la fonction DISMISSMODELESS lorsque l’utilisateur ferme la boîte de dialogue d’adresse sans mode, informant un client appelant IAddrBook ::Address que la boîte de dialogue n’est plus active.
lpvDismissContext
Pointeur vers les informations de contexte à passer à la fonction DISMISSMODELESS pointée par le membre lpfnDismiss . Ce membre s’applique uniquement à la version sans mode de la boîte de dialogue, comme indiqué par l’indicateur DIALOG_SDI défini.
lpszCaption
Pointeur vers le texte à utiliser comme titre de la boîte de dialogue d’adresse commune.
lpszNewEntryTitle
Pointeur vers le texte à utiliser comme étiquette de bouton pour le bouton qui appelle la boîte de dialogue Nouvelle entrée ou une autre boîte de dialogue.
lpszDestWellsTitle
Pointeur vers du texte à utiliser comme titre pour les contrôles de zone de texte du destinataire qui peuvent apparaître dans la version modale de la boîte de dialogue adresse commune. Ce membre n’est pas utilisé pour les boîtes de dialogue sans mode.
cDestFields
Nombre de contrôles de zone de texte du destinataire dans la version modale de la boîte de dialogue d’adresse, ou zéro si la boîte de dialogue est sans mode. La boîte de dialogue adresse est ouverte pour la navigation uniquement lorsque les conditions suivantes sont remplies :
Le membre cDestFields est défini sur zéro.
L’indicateur DIALOG_BOX est défini.
L’indicateur ADDRESS_ONE n’est pas défini.
La définition de cDestFields sur 0XFFFFFFFF implique que MAPI doit créer le nombre par défaut de contrôles de zone de texte de destinataire. Dans ce cas, les membres lppszDestTitles et lpulDestComps doivent avoir la valeur NULL.
nDestFieldFocus
Indique le contrôle de zone de texte particulier qui doit avoir le focus initial lorsque la version modale de la boîte de dialogue s’affiche. Cette valeur doit être comprise entre 0 et la valeur de cDestFields moins 1.
lppszDestTitles
Pointeur vers un tableau d’étiquettes pour les boutons associés à chacun des contrôles de zone de texte affichés dans la version modale de la boîte de dialogue d’adresse. La valeur du membre cDestFields indique le nombre d’étiquettes incluses dans le tableau. Si le membre lppszDestTitles a la valeur NULL, la méthode Address utilise les titres par défaut.
lpulDestComps
Pointeur vers un tableau de valeurs de type destinataire, telles que MAPI_TO, MAPI_CC et MAPI_BCC, associé à chaque contrôle de zone de texte. La valeur du membre CDestFields indique le nombre de types de destinataires inclus dans le tableau. Les valeurs pointées par lpulDestComps peuvent être utilisées pour définir la propriété PR_RECIPIENT_TYPE (PidTagRecipientType) de chaque destinataire. Si le membre lpulDestComps a la valeur NULL, la méthode Address utilise les types de destinataires par défaut.
lpContRestriction
Pointeur vers une structure SRestriction qui limite le type d’entrées d’adresse qui peuvent être affichées dans la boîte de dialogue.
lpHierRestriction
Pointeur vers une structure SRestriction qui limite les conteneurs de carnets d’adresses qui peuvent fournir des entrées d’adresse à afficher dans la boîte de dialogue.
Remarques
Les structures ADRPARM sont utilisées par les clients et les fournisseurs de services pour contrôler l’apparence et le comportement des boîtes de dialogue d’adresse commune MAPI. Il existe deux variétés de boîte de dialogue d’adresse : modeless et modal. Certains des membres de la structure ADRPARM s’appliquent aux deux versions de la boîte de dialogue, mais d’autres s’appliquent uniquement à l’une des deux versions. Le tableau suivant associe les membres d’une structure ADRPARM à leur utilisation avec les boîtes de dialogue d’adresse courantes.
Membre ADRPARM | Type de boîte de dialogue |
---|---|
cbABContEntryID et lpABContEntryID |
Modal et sans mode |
ulFlags |
Modal et sans mode |
lpReserved |
Modal et sans mode |
ulHelpContext et lpszHelpFileName |
Modal et sans mode |
lpfnABSDI |
Sans mode |
lpfnDismiss et lpvDismissContext |
Sans mode |
lpszCaption |
Modal et sans mode |
lpszNewEntryTitle |
Modal |
lpszDestWellsTitle, cDestFields, nDestFieldFocus, lppszDestTitles et lpulDestComps |
Modal |
lpContRestriction |
Modal et sans mode |
lpHierRestriction |
Modal et sans mode |
La boîte de dialogue sans mode est un affichage en lecture seule des entrées d’un ou de plusieurs conteneurs de carnet d’adresses. La boîte de dialogue peut afficher toutes les entrées des conteneurs sélectionnés ou être limitée uniquement aux entrées et conteneurs qui correspondent aux critères établis par une restriction. La restriction de contenu pointée par lpContRestriction peut limiter les types d’entrées affichées et la restriction de hiérarchie pointée par lpHierRestriction peut limiter les conteneurs fournissant les entrées. Pour informer l’appelant lorsque la boîte de dialogue est ignorée, MAPI appelle une fonction fournie par l’appelant qui correspond au prototype DISMISSMODELESS . Une autre fonction, qui correspond au prototype ACCELERATEABSDI , est fournie par MAPI et appelée par l’appelant dans la boucle de message Windows pour faciliter le fonctionnement des raccourcis clavier. La version sans mode de la boîte de dialogue d’adresse MAPI peut être affichée lorsque les clients appellent IAddrBook ::Address ou lorsque les fournisseurs de services appellent IMAPISupport ::Address.
La boîte de dialogue modale est un affichage en lecture/écriture des entrées d’un ou plusieurs conteneurs. Son contenu peut être affecté de la même manière que la version sans mode par des restrictions définies dans les membres lpContRestriction et lpHierRestriction . En plus de la zone de liste affichant les entrées de conteneur, la boîte de dialogue modale peut contenir entre un et trois contrôles de zone de texte pour conserver les entrées sélectionnées par l’utilisateur. Chaque contrôle d’édition est associé à un type de destinataire particulier ou à une propriété PR_RECIPIENT_TYPE telle que MAPI_TO. La boîte de dialogue Adresse modale peut être affichée par l’une des méthodes Address ou lorsque les clients appellent IAddrBook ::D etails et les fournisseurs de services appellent IMAPISupport ::D etails.
Cette illustration inclut deux contrôles de zone de texte, car le membre cDestFields de la structure ADRPARM contrôlant l’affichage de cette boîte de dialogue a la valeur 2. Le premier contrôle a le focus initial, car le membre nDestFieldFocus est défini sur 0.
Le membre lpszNewEntryTitle pointe vers le texte d’une étiquette de bouton qui, lorsqu’elle est sélectionnée, entraîne l’affichage d’une boîte de dialogue supplémentaire. En règle générale, comme indiqué dans l’illustration de la boîte de dialogue modale, le bouton est intitulé Nouveau et la boîte de dialogue qui s’affiche répertorie tous les types d’adresses qui peuvent être créés par l’un des fournisseurs de carnets d’adresses dans le profil. Les clients provoquent l’affichage de cette boîte de dialogue Nouvelle entrée en appelant IAddrBook ::NewEntry et en transmettant zéro pour le paramètre cbEidNewEntryTpl et NULL pour le paramètre lpEidNewEntryTpl lorsque l’utilisateur sélectionne le bouton. Les informations incluses dans cette boîte de dialogue proviennent de la table unique MAPI.
Chaque entrée de cette boîte de dialogue est associée à un modèle permettant d’entrer les données requises pour créer une adresse du type particulier. La plupart des fournisseurs de carnets d’adresses fournissent un modèle pour chaque type d’entrée d’adresse qu’ils peuvent créer. Lorsqu’un utilisateur effectue une sélection dans cette boîte de dialogue, MAPI affiche le modèle correspondant.
Les quatre bits les plus significatifs du membre ulFlags de la structure ADRPARM contiennent un numéro de version identifiant la version de la structure ADRPARM. La version actuelle est 0 (zéro) ou ADRPARM_HELP_CTX. L’implémentation actuelle de MAPI échoue pour toute version de la structure autre que zéro.
Les versions ultérieures de la structure peuvent être complètement différentes ; ils peuvent ne pas prendre en charge la structure version zéro. Les macros suivantes sont fournies pour extraire le numéro de version du membre ulFlags et pour le combiner avec les indicateurs définis :
- GET_ADRPARM_VERSION (ulFlags)
- SET_ADRPARM_VERSION (ulFlags, ulVersion)
- ADRPARM_HELP_CTX