Tables des pièces jointes
S’applique à : Outlook 2013 | Outlook 2016
Une table de pièces jointes contient des informations sur tous les objets de pièce jointe associés à un message envoyé ou à un message sous composition.
Seules les pièces jointes qui ont été enregistrées par le biais d’un appel à la méthode IMAPIProp ::SaveChanges du message sont incluses dans la table. Les tables de pièces jointes sont implémentées par les fournisseurs de magasins de messages et utilisées par les applications clientes et les fournisseurs de transport.
Une table de pièces jointes est accessible en appelant l’une des opérations suivantes :
IMAPIProp ::OpenProperty, demandant la propriété PR_MESSAGE_ATTACHMENTS (PidTagMessageAttachments).
Les tables de pièces jointes sont dynamiques.
Les fournisseurs de magasins de messages ne sont pas tenus de prendre en charge le tri sur leurs tables de pièces jointes. Si le tri n’est pas pris en charge, la table doit être présentée dans l’ordre par position de rendu , propriété PR_RENDERING_POSITION (PidTagRenderingPosition).
Les fournisseurs de magasins de messages ne sont pas non plus tenus de prendre en charge les restrictions sur leurs tables de pièces jointes. Les fournisseurs qui ne prennent pas en charge les restrictions retournent MAPI_E_NO_SUPPORT à partir de leurs implémentations de IMAPITable ::Restrict et IMAPITable ::FindRow.
Les tables de pièces jointes peuvent être petites ; il n’y a que quatre colonnes dans l’ensemble de colonnes requis :
PR_ATTACH_NUM (PidTagAttachNumber)
PR_INSTANCE_KEY (PidTagInstanceKey)
PR_RECORD_KEY (PidTagRecordKey)
PR_RENDERING_POSITION
PR_ATTACH_NUM est nontransmitable et contient une valeur permettant d’identifier de manière unique une pièce jointe dans un message. Cette propriété est souvent utilisée comme index dans les lignes de la table. PR_ATTACH_NUM a une courte durée de vie ; elle est valide uniquement lorsque le message contenant la pièce jointe est ouvert. Sa valeur est garantie pour rester constante tant que la table de pièces jointes est ouverte.
PR_INSTANCE_KEY est nécessaire dans presque toutes les tables. Il est utilisé pour identifier de façon unique une ligne particulière.
PR_RECORD_KEY est couramment utilisé pour identifier un objet de manière unique à des fins de comparaison. Contrairement à PR_ATTACH_NUM, PR_RECORD_KEY a la même étendue qu’un identificateur d’entrée à long terme ; il reste disponible et valide même après la fermeture et la réouverture du message. Pour plus d’informations sur l’utilisation des clés d’enregistrement dans MAPI, consultez Clés d’enregistrement et de recherche MAPI.
PR_RENDERING_POSITION indique comment une pièce jointe doit être affichée dans un message texte enrichi. Il peut être défini sur un décalage en caractères, le premier caractère du contenu du message stocké dans la propriété PR_BODY (PidTagBody) étant offset 0 ou -1 (0xFFFFFFFF), ce qui indique que la pièce jointe ne doit pas être affichée dans le texte du message. Ne pas définir PR_RENDERING_POSITION est également une option.
Lorsqu’une table de pièces jointes est triée par position de rendu, le fournisseur de magasin de messages la traite comme une valeur signée (PT_LONG). Par conséquent, les pièces jointes avec des positions de rendu de -1 sont triées avant les pièces jointes avec des positions de rendu qui reflètent des décalages valides.
Pour plus d’informations sur le rendu d’une pièce jointe dans un message en texte brut, consultez Rendu d’une pièce jointe en texte brut.
Pour plus d’informations sur le rendu d’une pièce jointe dans du texte mis en forme tel que RTF (Rich Text Format), consultez Rendu d’une pièce jointe en texte RTF.
Voici quelques-unes des propriétés que les fournisseurs de magasins de messages incluent généralement dans une table de pièces jointes, car elles sont faciles à calculer ou à récupérer :
Propriété | ... |
---|---|
PR_ATTACH_ENCODING (PidTagAttachEncoding) |
PR_ATTACH_EXTENSION (PidTagAttachExtension) |
PR_ATTACH_FILENAME (PidTagAttachFilename) |
PR_ATTACH_LONG_FILENAME (PidTagAttachLongFilename) |
PR_ATTACH_PATHNAME (PidTagAttachPathname) |
PR_ATTACH_LONG_PATHNAME (PidTagAttachLongPathname) |
PR_ATTACH_METHOD (PidTagAttachMethod) |
PR_ATTACH_TAG (PidTagAttachTag) |
PR_CREATION_TIME (PidTagCreationTime) |
PR_ATTACH_TRANSPORT_NAME (PidTagAttachTransportName) |
PR_DISPLAY_NAME (PidTagDisplayName) |
PR_LAST_MODIFICATION_TIME (PidTagLastModificationTime) |