Comment utiliser les propriétés nommées pour relier les écritures de carnet d'adresses de contacts aux messages électroniques, les adresses de messagerie et les images les pièces jointes dans Outlook 2003

Traductions disponibles Traductions disponibles
Numéro d'article: 912237 - Voir les produits auxquels s'applique cet article
Cet article a été archivé. Il est proposé « en l'état » et ne sera plus mis à jour.
Agrandir tout | Réduire tout

Sommaire

INTRODUCTION

Le carnet d'adresses de contact est une fonctionnalité dans Microsoft Office Outlook 2003 Service Pack 2 (SP2), que dans versions antérieures de Microsoft Outlook. Cet article explique comment utiliser les propriétés nommées pour relier les écritures carnet d'adresses de contacts aux messages électroniques, les adresses de messagerie et les images les pièces jointes dans Outlook 2003 SP2.

Plus d'informations

Sur le carnet d'adresses de contacts

Le fournisseur de carnet d'adresses de contrat qui est inclu dans Outlook 2003 SP2 est contab32.dll. Ce fournisseur affiche les informations d'un dossier Contacts dans la forme d'un Carnet d'adresses contacts. Le fournisseur cela afin que vous puissiez utiliser les contacts du Carnet d'adresses contacts pour envoyer des messages électroniques. Tous les contacts dont une adresse de messagerie ou un numéro de télécopie sont représentés dans le Carnet d'adresses contacts par une liste distincte pour chaque numéro télécopie ou adresse de messagerie. Car un contact peut ont jusqu'à trois adresses de messagerie et trois numéros de télécopie, chaque contact peut donc être représenté par jusqu'à six entrées distinctes dans le Carnet d'adresses contacts.

Comment relier les écritures de carnet d'adresses de contacts à des messages électroniques

Les informations contenues dans une entrée de contact du carnet d'adresses sont un sous-ensemble des informations qui se trouve dans le message électronique sous-jacente au contact. La structure CONTAB_ENTRYID suivante peut être utilisée pour déterminer l'entrée du Carnet d'adresses contacts duquel un message sous-jacente est dérivé.

définition
#pragma pack(4)
typedef struct _contab_entryid
{
  BYTE misc1[4];
  MAPIUID misc2;
  ULONG misc3;
  ULONG misc4;
  ULONG misc5;
  // EntryID of contact in store.
  ULONG cbeid;
  BYTE abeid[1];
} CONTAB_ENTRYID, *LPCONTAB_ENTRYID;
#pragma pack()
Cbeid ULONG ; abeid BYTE [1]} CONTAB_ENTRYID, * LPCONTAB_ENTRYID; # pragma pack() CONTAB_ENTRYID la structure définit le format des objets ID de IMailUser entrée qui sont utilisés dans le Carnet d'adresses contacts. Vous pouvez obtenir ID d'entrée de ce type à partir d'une ou les deux des sources suivantes :
  • La colonne PR_ENTRYID sur de la table de contenu carnet d'adresses de contacts
  • La propriété PR_ENTRYID sur d'un objet IMailUser ouvert à partir du carnet d'adresses de contacts
Pour ouvrir le message sous-jacent, typecast l'ID d'entrée carnet d'adresses de contact à cette structure. Puis, utiliser les membres cbeid et abeid en tant qu'ID d'entrée. ?s du contact

exemple Microsoft fournit des exemples de programmation pour illustration uniquement, sans garantie explicite ou implicite. Cela inclut, mais n'est pas limité aux garanties implicites de qualité marchande ou d'adéquation à un usage particulier. Cet article suppose que vous êtes familiarisé avec le langage de programmation présenté et les outils qui sont utilisés pour créer et déboguer des procédures. Les techniciens du support technique Microsoft peuvent vous expliquer les fonctionnalités d'une procédure particulière, mais ils ne sont pas modifier les exemples en vue de fournir des fonctionnalités supplémentaires ou de créer des procédures répondant à vos besoins spécifiques.
HRESULT HrOpenContact(
  LPMAPISESSION lpSession,
  ULONG cbEntryID,
  LPENTRYID lpEntryID,  
  ULONG ulFlags,
  LPMESSAGE* lpContactMessage)
{
  ULONG ulObjType = NULL;
  if (sizeof(CONTAB_ENTRYID) > cbEntryID)
      return MAPI_E_INVALID_PARAMETER;
  LPCONTAB_ENTRYID lpContabEID = (LPCONTAB_ENTRYID) lpEntryID;
  HRESULT hRes = lpSession->OpenEntry(
      lpContabEID->cbeid,
      (LPENTRYID) lpContabEID->abeid,
      NULL,
      ulFlags,
      &ulObjType,
      (LPUNKNOWN*) lpContactMessage);
  return hRes;
}

Comment relier les écritures de carnet d'adresses de contacts à des adresses de messagerie

La seule accéder aux adresses de messagerie dans un message de carnet d'adresses de contacts consiste à via les propriétés nommées dans le message sous-jacent. Les propriétés décrits ici sont des propriétés en lecture seule. Outlook 2003 ne prend pas en charge les solutions qui écrire sur ces propriétés.

définitions
DEFINE_OLEGUID(PSETID_Address, MAKELONG(0x2000+(0x04),0x0006),0,0);
#define dispidEmailAddrType 0x8082
#define dispidEmailEmailAddress 0x8083
#define dispidEmail2AddrType 0x8092
#define dispidEmail2EmailAddress 0x8093
#define dispidEmail3AddrType 0x80A2
#define dispidEmail3EmailAddress 0x80A3
DEFINE_OLEGUID(PSETID_Address, MAKELONG(0x2000+(0x04),0x0006),0,0); #define dispidEmailAddrType 0x8082 #define dispidEmailEmailAddress 0x8083 #define dispidEmail2AddrType 0x8092 #define dispidEmail2EmailAddress 0x8093 #define dispidEmail3AddrType 0x80A2 #define dispidEmail3EmailAddress... l'utilisation

Vous pouvez utiliser les constantes suivantes pour remplir la structure MAPINAMEID. Ces constantes sont les différents champs de la structure.
Réduire ce tableauAgrandir ce tableau
ConstanteChamp
PSETID_AdresslpGuid
MNID_IDulKind
DISPIDCouvercle
Après avoir rempli la structure MAPINAMEID, utilisez la méthode GetIDsFromNames pour obtenir la propriété ID actuelle de ces propriétés. Ces propriétés sont toutes les propriétés de chaîne.

exemple Microsoft fournit des exemples de programmation pour illustration uniquement, sans garantie explicite ou implicite. Cela inclut, mais n'est pas limité aux garanties implicites de qualité marchande ou d'adéquation à un usage particulier. Cet article suppose que vous êtes familiarisé avec le langage de programmation présenté et les outils qui sont utilisés pour créer et déboguer des procédures. Les techniciens du support technique Microsoft peuvent vous expliquer les fonctionnalités d'une procédure particulière, mais ils ne sont pas modifier les exemples en vue de fournir des fonctionnalités supplémentaires ou de créer des procédures répondant à vos besoins spécifiques.
HRESULT HrGetEmail1(LPMESSAGE lpContact)
{
  HRESULT hRes = S_OK;
  LPSPropTagArray lpNamedPropTags = NULL;
  MAPINAMEID NamedID = {0};
  LPMAPINAMEID lpNamedID = &NamedID;
  NamedID.lpguid = (LPGUID)&PSETID_Address;
  NamedID.ulKind = MNID_ID;
  NamedID.Kind.lID = dispidEmailEmailAddress;
  hRes = lpContact->GetIDsFromNames(
      1,
      &lpNamedID,
      NULL,
      &lpNamedPropTags);
  if (SUCCEEDED(hRes) && lpNamedPropTags)
  {
      SPropTagArray sPropTagArray;
      sPropTagArray.cValues = 1;
      sPropTagArray.aulPropTag[0] = CHANGE_PROP_TYPE(lpNamedPropTags->aulPropTag[0],PT_STRING8);
      LPSPropValue lpProps = NULL;
      ULONG cProps = 0;
      hRes = lpContact->GetProps(
        &sPropTagArray,
        NULL,
        &cProps,
        &lpProps);
    if (SUCCEEDED(hRes) &&
      1 == cProps &&
      lpProps &&
      PT_STRING8 == PROP_TYPE(lpProps[0].ulPropTag) &&
      lpProps[0].Value.lpszA)
      {
          printf("Email address 1 = \"%s\"\n",lpProps[0].Value.lpszA);
      }
    MAPIFreeBuffer(lpProps);
    MAPIFreeBuffer(lpNamedPropTags);
  }
  return hRes;
}

Comment relier les écritures carnet d'adresses de contacts à des images

Outlook prend en charge une seule image pour chaque contact. Cette image est stockée comme pièce jointe dans le message sous-jacent. Pour déterminer les pièces jointes contient l'image, utilisez la propriété PR_ATTACHMENT_CONTACTPHOTO . La propriété qui est décrite ici est une propriété en lecture seule. Outlook ne prend pas en charge les solutions qui écrit dans cette propriété.

définition

#define PR_ATTACHMENT_CONTACTPHOTO PROP_TAG( PT_BOOLEAN, 0x7FFF)
l'utilisation

La propriété PR_ATTACHMENT_CONTACTPHOTO sont accessibles en tant que colonne de la table jointe qui est obtenue via IMessage::GetAttachmentTable. La propriété PR_ATTACHMENT_CONTACTPHOTO est accessible en tant que propriété de l'objet IAttach. Si la valeur de la propriété PR_ATTACHMENT_CONTACTPHOTO est true, la pièce jointe contient l'image du contact. L'image est stockée sous la forme d'un fichier .jpeg. Utilisez les méthodes MAPI standard pour extraire cette pièce jointe dans un fichier.

Références

Pour plus d'informations, reportez-vous au adresse aux sites Web de Microsoft aux adresses suivantes :
http://msdn2.microsoft.com/en-us/library/bb905282.aspx
http://msdn2.microsoft.com/en-us/library/bb820925.aspx
http://msdn2.microsoft.com/en-us/library/bb821181.aspx

Propriétés

Numéro d'article: 912237 - Dernière mise à jour: mercredi 5 février 2014 - Version: 2.1
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Office Outlook 2003 sur le système suivant
    • Microsoft Office 2003 Service Pack 2
Mots-clés : 
kbnosurvey kbarchive kbmt kbhowto KB912237 KbMtfr
Traduction automatique
IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d?articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d?avoir accès, dans votre propre langue, à l?ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s?exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s?efforce aussi continuellement de faire évoluer son système de traduction automatique.
La version anglaise de cet article est la suivante: 912237
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com