Partager via


Structure MapiFileDesc (mapi.h)

Une structure MapiFileDesc contient des informations sur un fichier contenant une pièce jointe de message stockée en tant que fichier temporaire. Ce fichier peut contenir un objet OLE statique, un objet OLE incorporé, un message incorporé et d’autres types de fichiers. Pour la prise en charge d’Unicode, utilisez la structure MapiFileDescW .

Syntaxe

typedef struct {
  ULONG  ulReserved;
  ULONG  flFlags;
  ULONG  nPosition;
  LPSTR  lpszPathName;
  LPSTR  lpszFileName;
  LPVOID lpFileType;
} MapiFileDesc, *lpMapiFileDesc;

Membres

ulReserved

Réservés au; doit être égal à zéro.

flFlags

Masque de bits des indicateurs d’option. Les indicateurs suivants peuvent être définis.

Valeur Signification
MAPI_OLE
La pièce jointe est un objet OLE. Si MAPI_OLE_STATIC est également défini, la pièce jointe est un objet OLE statique. Si MAPI_OLE_STATIC n’est pas défini, la pièce jointe est un objet OLE incorporé.
MAPI_OLE_STATIC
La pièce jointe est un objet OLE statique.
 

Si aucun indicateur n’est défini, la pièce jointe est traitée comme un fichier de données.

nPosition

Entier utilisé pour indiquer où dans le texte du message pour afficher la pièce jointe. Les pièces jointes remplacent le caractère trouvé à une certaine position dans le texte du message. Autrement dit, les pièces jointes remplacent le caractère dans le champ de structure MapiMessageNoteText[nPosition]. La valeur -1 (0xFFFFFFFF) signifie que la position d’attachement n’est pas indiquée ; l’application cliente doit fournir à l’utilisateur un moyen d’accéder à la pièce jointe.

lpszPathName

Pointeur vers le chemin complet du fichier joint. Ce chemin doit inclure la lettre de lecteur de disque et le nom du répertoire.

lpszFileName

Pointeur vers le nom de fichier de pièce jointe vu par le destinataire, qui peut différer du nom de fichier dans le membre lpszPathName si des fichiers temporaires sont utilisés. Si le membre lpszFileName est vide ou NULL, le nom de fichier de lpszPathName est utilisé.

lpFileType

Pointeur vers le type de fichier de pièce jointe, qui peut être représenté avec une structure MapiFileTagExt . La valeur NULL indique un type de fichier inconnu ou un type de fichier déterminé par le système d’exploitation.

Remarques

MAPI simple fonctionne avec trois types de pièces jointes incorporées :

  • Pièces jointes de fichiers de données
  • Pièces jointes de fichier objet OLE modifiables
  • Pièces jointes de fichiers objet OLE statiques
Les pièces jointes de fichiers de données sont simplement des fichiers de données. Les pièces jointes de fichier objet OLE sont des objets OLE qui s’affichent dans le texte du message. Si la pièce jointe OLE est modifiable, le destinataire peut double-cliquer dessus et son application source est démarrée pour gérer la session de modification. Si la pièce jointe OLE est statique, l’objet ne peut pas être modifié. L’indicateur défini dans le membre flFlags de la structure MapiFileDesc détermine le type d’une pièce jointe particulière. Les messages incorporés peuvent être identifiés par un . Extension MSG dans le membre lpszFileName .

Les fichiers objet OLE sont des représentations de fichiers de flux d’objets OLE. L’application cliente peut recréer un objet OLE à partir du fichier en appelant la fonction OLE OleLoadFromStream avec un objet OLESTREAM qui lit le contenu du fichier. Si une pièce jointe OLE est incluse dans un message sortant, le flux d’objets OLE doit être écrit directement dans le fichier utilisé comme pièce jointe.

Lors de l’utilisation de la nPosition du membre MapiFileDesc, l’application cliente ne doit pas placer deux pièces jointes au même emplacement. Les applications clientes peuvent ne pas afficher les pièces jointes de fichiers à des emplacements au-delà de la fin du texte du message.

Configuration requise

Condition requise Valeur
En-tête mapi.h

Voir aussi

MapiFileDescW

MapiMessage

MapiMessageW