Partager via


Tables MAPI

S’applique à : Outlook 2013 | Outlook 2016

Une table MAPI est un objet MAPI utilisé pour afficher une collection de propriétés appartenant à d’autres objets MAPI d’un type particulier. Les tables MAPI sont structurées dans un format de ligne et de colonne, chaque ligne représentant un objet et chaque colonne représentant une propriété de l’objet. L’une des propriétés généralement incluses dans chaque ligne est la propriété PR_ENTRYID (PidTagEntryId), un identificateur qui peut être utilisé pour ouvrir et modifier l’objet.

Étant donné que les lignes contiennent des valeurs de propriété, la récupération d’une ligne à partir d’une table est similaire à l’obtention d’un ensemble de propriétés directement à partir de l’objet que la ligne représente. Les deux opérations entraînent la récupération d’un tableau de valeurs de propriété. La différence main réside dans la gestion des propriétés de chaînes longues et binaires. Pour l’inclusion dans une table, certains implémenteurs de table tronquent ces propriétés à 255 octets. Lorsqu’elle est récupérée directement à partir de l’objet, la valeur complète est toujours disponible.

Les tables sont implémentées par les fournisseurs de carnet d’adresses et de magasin de messages et par MAPI, en fonction du type de table et des objets qu’elle contient. Un fournisseur de magasin de messages implémente des dossiers et une table de contenu pour chaque dossier qui inclut des informations sur les messages du dossier. Un fournisseur de carnets d’adresses implémente des conteneurs de carnets d’adresses et une table de hiérarchie qui affiche leurs organization. MAPI implémente plusieurs tables différentes, certaines pour les applications clientes, d’autres pour les fournisseurs de services et d’autres pour les deux. La table status est unique en ce que MAPI fournit finalement la table, mais les lignes sont composées de contributions de tous les types de fournisseurs de services en plus de MAPI.

L’illustration suivante montre l’une des utilisations fréquentes d’une table dans MAPI : pour afficher le contenu d’un dossier. Sur la droite se trouve un affichage de deux messages qui peuvent apparaître dans une application cliente de messagerie classique. L’affichage contient quatre informations sur chaque message : l’expéditeur, le destinataire, l’objet et le texte du message. Chaque information correspond à une propriété du message.

Sur la gauche se trouve une vue de la table de contenu qui inclut ces deux messages. Alors que la table de contenu peut avoir dix lignes, car le dossier contient dix messages, chaque ligne contenant plusieurs colonnes, cette vue particulière est limitée à seulement deux lignes et trois colonnes.

Le tableau suivant présente les propriétés qui composent le jeu de colonnes pour la vue de table.

Propriété Description
PR_SENDER_NAME (PidTagSenderName)
Nom de l’expéditeur
PR_ORIGINAL_DELIVERY_TIME (PidTagOriginalDeliveryTime)
Date et heure d’envoi du message
PR_SUBJECT (PidTagSubject)
Ligne d’objet du message

Notez que l’ensemble des propriétés affichées dans le message ne sont pas identiques à l’ensemble de colonnes affiché dans le tableau. L’implémenteur de la table, dans ce cas un fournisseur de magasin de messages, fournit un ensemble de colonnes par défaut dans un ordre par défaut. Le client peut modifier cet ensemble de colonnes, demander des colonnes supplémentaires ou rejeter celles par défaut, et demander qu’elles soient triées d’une manière spécifique. Le client peut également classer les lignes en les triant en fonction de la valeur d’une ou plusieurs colonnes.

Utilisation d’un tableau pour afficher le contenu du dossier

Utilisation d’une table pour afficher le contenu d’un dossier

Il existe deux interfaces permettant d’utiliser des tables :

  • IMAPITable : IUnknown offre aux clients et aux fournisseurs de services une vue en lecture seule des données sous-jacentes de la table, ce qui leur permet d’afficher et de modifier uniquement la présentation. Plusieurs utilisateurs peuvent accéder aux mêmes données simultanément avec IMAPITable. IMAPITable est implémenté par MAPI et par les fournisseurs de services.

  • ITableData : IUnknown permet aux clients et aux fournisseurs de services d’accéder en lecture/écriture aux données sous-jacentes de la table, ce qui leur permet d’apporter des modifications permanentes. IMAPITable est implémenté par MAPI et utilisé principalement par les fournisseurs de services qui y accèdent en appelant la fonction CreateTable . L’implémentation ITableData contient toutes les données de la table et toutes les restrictions associées en mémoire, ce qui la rend impropre à une utilisation avec des tables très volumineuses. Les restrictions composées et les opérations complexes telles que la catégorisation ne sont pas prises en charge.

Voir aussi