Partager via


IMAPISupport::NewEntry

S’applique à : Outlook 2013 | Outlook 2016

Ajoute un nouveau destinataire directement à 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 de la boîte de dialogue.

ulFlags

[in] R�serv� ; doit �tre �gal � z�ro.

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 pour recevoir la nouvelle entrée. Si cbEIDContainer a la valeur 0 et que lpEIDContainer a la valeur NULL, NewEntry crée un identificateur d’entrée unique du même type que celui généré par un appel à la méthode IMAPISupport ::CreateOneOff .

cbEIDNewEntryTpl

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

lpEIDNewEntryTpl

[in] Pointeur vers l’identificateur d’entrée du modèle à utiliser pour créer l’entrée. Si cbEIDNewEntryTpl a la valeur 0 et que lpEIDNewEntryTpl a la valeur NULL, NewEntry affiche une boîte de dialogue qui permet à l’utilisateur de 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 de l’entrée nouvellement créée.

Valeur renvoyée

S_OK

La nouvelle entrée a été créée avec succès.

Remarques

La méthode IMAPISupport ::NewEntry est implémentée pour les objets de prise en charge du fournisseur de carnets d’adresses. Les fournisseurs de carnet d’adresses appellent NewEntry pour créer une nouvelle 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 0.

Si vous souhaitez autoriser l’utilisateur d’une application cliente à sélectionner le type d’entrée à créer, passez 0 dans cbEIDNewEntryTpl et NULL dans lpEIDNewEntryTpl. NewEntry affiche la table unique MAPI, une liste de modèles pris en charge par MAPI et chacun des fournisseurs de carnets 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 IMAPISupport ::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 IMAPISupport ::NewEntry et définissez le paramètre lpEIDNewEntryTpl sur l’identificateur d’entrée du modèle sélectionné. L’identificateur d’entrée est la colonne PR_ENTRYID (PidTagEntryId) de la ligne du modèle dans la table unique. Passez 0 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

IMAPIProp::OpenProperty

IMAPISupport::OpenEntry

PidTagCreateTemplates, propriété canonique

IMAPISupport : IUnknown