Partager via


Définition de nouvelles propriétés MAPI

S’applique à : Outlook 2013 | Outlook 2016

Malgré la richesse des propriétés fournies par MAPI pour une utilisation par les clients et les fournisseurs de services, MAPI permet de créer de nouvelles propriétés si nécessaire. Certains scénarios valides pour la définition de nouvelles propriétés publiques incluent un client créant des propriétés pour prendre en charge une nouvelle classe de message et un fournisseur de services créant de nouvelles propriétés pour exposer des fonctionnalités système de messagerie uniques.

Il n’est généralement pas valide pour un fournisseur de services de définir de nouvelles propriétés pour une classe de message ou un objet MAPI existant. L’un des principaux avantages de l’utilisation de MAPI est que les identificateurs et formats standard d’un grand nombre d’éléments du système de messagerie sont configurés, ce qui permet aux utilisateurs de mélanger et de faire correspondre en toute transparence les fournisseurs de services. Les fournisseurs de services qui utilisent des propriétés non standard ne fonctionnent pas aussi bien avec les autres fournisseurs de services.

Les clients peuvent créer des propriétés de contenu pour de nouvelles classes de message en :

  • Utilisation d’identificateurs de propriété dans une plage désignée pour les propriétés de contenu spécifiques à la classe de message.

    • Ou-
  • Utilisation de propriétés nommées.

La première option est préférable, car tous les fournisseurs de services ne prennent pas en charge les propriétés nommées. MAPI définit deux plages distinctes que les clients doivent utiliser pour les nouvelles propriétés de contenu spécifiques à la classe de message :

  • 0x6800 à 0x7BFF pour les propriétés transmettables

  • 0x7C00 à 0x7FFF pour les propriétés non transmitables

Les identificateurs de propriété doivent se trouver dans des plages prédéfinies pour éviter les collisions entre les propriétés définies par différents fournisseurs ou utilisateurs. Toutefois, les utilisateurs de propriétés de ces plages ne peuvent pas faire d’hypothèses quant au comportement des propriétés. Chaque client qui crée une classe de message a accès à ces plages ; Une propriété avec l’identificateur xxxx peut signifier un comportement pour une classe de message et un autre comportement pour une autre classe de message.

Les propriétés nommées sont utilisées pour garantir qu’une propriété spécifique est unique à une classe de message. Les identificateurs de propriété nommés commencent dans la plage 0x8000. Les clients définissent un ou plusieurs noms, puis appellent la méthode IMAPIProp ::GetIDsFromNames de la banque de messages pour associer un identificateur à chaque nom. Les propriétés nommées peuvent être utilisées par les clients ou les fournisseurs de services pour définir de nouvelles propriétés pour n’importe quel objet uniquement si le propriétaire de l’objet prend en charge les propriétés nommées. Les utilisateurs de ces propriétés appellent GetIDsFromNames et une méthode IMAPIProp associée, GetNamesFromIDs, pour mapper entre un nom et son identificateur.

Toutes les propriétés, nouvelles ou existantes, doivent utiliser l’ensemble de types de propriétés prédéfinis. Les nouveaux types de propriétés ne peuvent pas être ajoutés et les types existants ne peuvent pas être modifiés ou supprimés. Les propriétés simples et de petite taille, telles que les propriétés à caractère unique ou entier 16 bits, peuvent être stockées dans n’importe quel type approprié. Par exemple, les entiers peuvent être stockés en tant que ULONG et les chaînes peuvent être stockées en tant que PT_STRING8.

Utilisez le type PT_BINARY pour indiquer un tableau d’octets compté. Ce type de propriété est utile pour étendre les types de données qui peuvent être stockés dans un objet . Les octets sont transmis dans l’ordre et aucune hypothèse n’est faite concernant la signification des données. Lorsqu’une application cliente lit les données d’une telle propriété, les données sont inchangées par rapport à la façon dont elles ont été stockées. Le client doit effectuer tout échange d’octets nécessaire lors du déplacement de données entre les processeurs.

Voir aussi

Vue d’ensemble de la propriété MAPI