Partager via


IAddrBook::NewEntry

S’applique à : Outlook 2013 | Outlook 2016

Ajoute un nouveau destinataire à un conteneur de carnet d’adresses ou à la liste des destinataires d’un message sortant.

HRESULT NewEntry(
  ULONG_PTR ulUIParam,
  ULONG ulFlags,
  ULONG cbEIDContainer,
  LPENTRYID lpEIDContainer,
  ULONG cbEIDNewEntryTpl,
  LPENTRYID lpEIDNewEntryTpl,
  ULONG FAR * lpcbEIDNewEntry,
  LPENTRYID FAR * lppEIDNewEntry
);

Paramètres

ulUIParam

[in] Handle de la fenêtre parente pour la boîte de dialogue.

ulFlags

[in] Masque de bits d’indicateurs qui contrôle le type du texte utilisé. L’indicateur suivant peut être défini :

MAPI_UNICODE

Les chaînes transmises sont au format Unicode. Si l’indicateur MAPI_UNICODE n’est pas défini, les chaînes sont au format ANSI.

cbEIDContainer

[in] Nombre d’octets dans l’identificateur d’entrée vers lequel pointe le paramètre lpEIDContainer .

lpEIDContainer

[in] Pointeur vers l’identificateur d’entrée du conteneur dans lequel le nouveau destinataire doit être ajouté. Si le paramètre cbEIDContainer est égal à zéro, la méthode NewEntry retourne un identificateur d’entrée de destinataire et une liste de modèles comme si la méthode IAddrBook ::CreateOneOff avait été appelée.

cbEIDNewEntryTpl

[in] Nombre d’octets dans l’identificateur d’entrée vers lequel pointe le paramètre lpEIDNewEntryTpl .

lpEIDNewEntryTpl

[in] Pointeur vers un modèle unique qui sera utilisé pour créer le nouveau destinataire. Si cbEIDNewEntryTpl a la valeur zéro et que lpEIDNewEntryTpl a la valeur NULL, NewEntry affiche une boîte de dialogue avec laquelle l’utilisateur peut sélectionner dans une liste de modèles pour ajouter de nouvelles entrées.

lpcbEIDNewEntry

[out] Pointeur vers le nombre d’octets dans l’identificateur d’entrée vers lequel pointe le paramètre lppEIDNewEntry .

lppEIDNewEntry

[out] Pointeur vers un pointeur vers l’identificateur d’entrée du nouveau destinataire.

Valeur renvoyée

S_OK

La nouvelle entrée de carnet d’adresses a été créée avec succès.

Remarques

La méthode NewEntry crée une entrée de carnet d’adresses, à ajouter directement dans un conteneur ou à utiliser pour traiter un message sortant.

Remarques pour les appelants

Si vous souhaitez que la nouvelle entrée soit ajoutée à un conteneur spécifique, définissez lpEIDContainer sur l’identificateur d’entrée du conteneur et cbEIDContainer sur le nombre d’octets dans l’identificateur d’entrée.

Si vous souhaitez que la nouvelle entrée soit ajoutée à la liste des destinataires d’un message sortant, définissez lpEIDContainer sur NULL et cbEIDContainer sur zéro.

Si vous souhaitez autoriser l’utilisateur d’une application cliente à sélectionner le type d’entrée à créer, passez zéro dans cbEIDNewEntryTpl et NULL dans lpEIDNewEntryTpl. La méthode NewEntry affiche la table unique MAPI, une liste de modèles pris en charge par MAPI et par chaque fournisseur de carnet d’adresses dans la session. Chaque modèle peut créer une entrée de destinataire pour un ou plusieurs types d’adresses.

Si vous souhaitez conserver l’identificateur d’entrée de la nouvelle entrée, passez des pointeurs valides dans les paramètres lpcbEIDNewEntry et lppEIDNewEntry . Vous êtes responsable de la libération de cet identificateur d’entrée lorsque vous en avez terminé en appelant la fonction MAPIFreeBuffer .

Pour utiliser un modèle particulier afin d’ajouter une nouvelle entrée à un conteneur modifiable, procédez comme suit :

  1. Appelez la méthode IMAPISession ::OpenEntry pour ouvrir le conteneur de destination et définissez le paramètre lpEntryID sur l’identificateur d’entrée du conteneur.

  2. Appelez la méthode IMAPIProp ::OpenProperty du conteneur de destination et définissez le paramètre ulPropTagsur PR_CREATE_TEMPLATES (PidTagCreateTemplates) et le paramètre lpiid sur IID_IMAPITable. Le conteneur retourne une table unique qui répertorie tous les modèles qu’il prend en charge pour la création d’entrées.

  3. Récupérez la ligne qui représente le modèle pour le type particulier d’entrée que vous souhaitez créer. La colonne PR_ADDRTYPE (PidTagAddressType) indique le type d’adresse pris en charge par le modèle.

  4. Appelez la méthode NewEntry et définissez lpEIDNewEntryTpl sur l’identificateur d’entrée du modèle sélectionné. L’identificateur d’entrée sera la colonne PR_ENTRYID (PidTagEntryId) de la ligne du modèle dans la table unique. Passez zéro dans cbEIDContainer et NULL dans lpEIDContainer. Transmettez un pointeur valide dans le paramètre lppEIDNewEntry si vous souhaitez conserver l’identificateur d’entrée de la nouvelle entrée.

Voir aussi

IAddrBook::OpenEntry

IMAPIProp::OpenProperty

PidTagCreateTemplates, propriété canonique

IAddrBook : IMAPIProp