IMAPISupport::OpenTemplateID
S’applique à : Outlook 2013 | Outlook 2016
Ouvre une entrée de destinataire dans un fournisseur de carnet d’adresses étranger.
HRESULT OpenTemplateID(
ULONG cbTemplateID,
LPENTRYID lpTemplateID,
ULONG ulTemplateFlags,
LPMAPIPROP lpMAPIPropData,
LPCIID lpInterface,
LPMAPIPROP FAR * lppMAPIPropNew,
LPMAPIPROP lpMAPIPropSibling
);
Paramètres
cbTemplateID
[in] Nombre d’octets dans l’identificateur de modèle pointé par lpTemplateID.
lpTemplateID
[in] Pointeur vers l’identificateur de modèle PR_TEMPLATEID propriété (PidTagTemplateid) de l’entrée de destinataire à ouvrir.
ulTemplateFlags
[in] Masque de bits d’indicateurs utilisés pour décrire comment ouvrir l’entrée. L’indicateur suivant peut être défini :
FILL_ENTRY
Une nouvelle entrée est en cours de création. Lorsque le fournisseur étranger reçoit l’appel IABLogon ::OpenTemplateID suivant de MAPI, il peut contrôler la façon dont l’entrée est créée en modifiant les propriétés pointées par le paramètre lpMAPIPropData ou en retournant une implémentation d’interface spécifique dans lppMAPIPropNew pour contrôler la façon dont les propriétés de la nouvelle entrée sont définies.
lpMAPIPropData
[in] Pointeur vers l’implémentation de l’interface que l’appelant utilise pour accéder à l’entrée. Il s’agit de l’implémentation que le fournisseur étranger peut encapsuler avec sa propre implémentation et retourner dans le paramètre lppMAPIPropNew . Le paramètre lpMAPIPropData doit pointer vers une implémentation d’interface de lecture/écriture qui dérive de IMAPIProp : IUnknown et prend en charge l’interface demandée dans le paramètre lpInterface .
lpInterface
[in] Pointeur vers l’identificateur d’interface (IID) qui représente l’interface à utiliser pour accéder à l’entrée. Le paramètre lppMAPIPropNew pointe vers une interface du type spécifié par lpInterface. La transmission de la valeur NULL renvoie l’interface standard pour un utilisateur de messagerie, IID_IMailUser.
lppMAPIPropNew
[out] Pointeur vers l’implémentation d’interface que le fournisseur étranger fournit pour accéder à l’entrée.
lpMAPIPropSibling
Réservés au; doit avoir la valeur NULL.
Valeur renvoyée
S_OK
Le processus de liaison a réussi.
MAPI_E_UNKNOWN_ENTRYID
Le fournisseur de carnet d’adresses étranger n’existe pas.
Remarques
La méthode IMAPISupport ::OpenTemplateID est implémentée uniquement pour les objets de prise en charge du fournisseur de carnets d’adresses. OpenTemplateID est appelé uniquement par les fournisseurs de carnets d’adresses qui peuvent agir en tant qu’hôtes pour les entrées qui appartiennent à d’autres fournisseurs de carnets d’adresses, également appelés fournisseurs étrangers. Les fournisseurs d’hôtes appellent OpenTemplateID pour ouvrir une entrée étrangère, ce qui se produit lorsque les données du fournisseur hôte sont liées au code dans le fournisseur étranger.
Remarques pour les appelants
Appelez OpenTemplateID uniquement si vous prenez en charge le stockage des entrées avec des identificateurs de modèle provenant de fournisseurs de carnets d’adresses étrangers. Cette prise en charge impose des exigences supplémentaires à vos implémentations IABContainer ::CreateEntry et IABLogon ::OpenEntry . Pour plus d’informations, consultez les descriptions de ces méthodes et Agir en tant que fournisseur de carnet d’adresses hôte.
Si l’appel OpenTemplateID retourne en tant qu’interface liée la même implémentation d’objet de propriété que celle que vous avez passée, vous pouvez libérer votre référence à votre objet de propriété. Cela est dû au fait que le fournisseur étranger a appelé la méthode AddRef de l’objet pour conserver sa propre référence. Si le fournisseur étranger n’a pas besoin de conserver une référence à l’objet de propriété, OpenTemplateID renvoie l’objet de propriété indépendant.
Si OpenTemplateID échoue avec MAPI_E_UNKNOWN_ENTRYID, essayez de continuer en traitant l’entrée comme étant en lecture seule.