Partager via


Structure MapiFileDescW (mapi.h)

Une structure MapiFileDescW 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.

Syntaxe

typedef struct {
  ULONG ulReserved;
  ULONG flFlags;
  ULONG nPosition;
  PWSTR lpszPathName;
  PWSTR lpszFileName;
  PVOID lpFileType;
} MapiFileDescW, *lpMapiFileDescW;

Membres

ulReserved

Type : ULONG

Réservés au; doit être 0.

flFlags

Type : ULONG

Masque de bits des indicateurs de pièce jointe. Les indicateurs suivants peuvent être définis.

Valeur Signification
MAPI_OLE
0x00000001
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
0x00000002
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

Type : ULONG

Entier utilisé pour indiquer où la pièce jointe est affichée dans le texte du message. Le texte du message est stocké dans le membre NoteText de la structure MapiMessageW , et l’entier est utilisé comme index pour identifier un caractère spécifique dans la chaîne de message, NoteText[nPosition], qui est remplacé par la pièce jointe.

La valeur -1 (0xFFFFFFFF) signifie que la position de la pièce jointe n’est pas indiquée et que l’application cliente doit fournir un moyen à l’utilisateur d’accéder à la pièce jointe.

lpszPathName

Type : PWSTR

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

Type : PWSTR

Pointeur vers le nom de fichier de la pièce jointe, tel que vu par le destinataire. Le nom de fichier visible par le destinataire 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

Type : PVOID

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.

Notes

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 affichés dans le texte du message. Si la pièce jointe OLE est modifiable, le destinataire peut double-cliquer dessus et son application source démarre 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 MapiFileDescW 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.

Lorsque vous utilisez le membre MapiFileDescWnPosition, 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 à des emplacements au-delà de la fin du texte du message.

Configuration requise

   
Client minimal pris en charge Windows 8 [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2012 [applications de bureau uniquement]
En-tête mapi.h

Voir aussi

MAPISendMailW

MapiFileDesc

MapiMessageW