MapiFileDesc-Struktur (mapi.h)

Eine MapiFileDesc-Struktur enthält Informationen zu einer Datei, die eine Nachrichtenanlage enthält, die als temporäre Datei gespeichert ist. Diese Datei kann ein statisches OLE-Objekt, ein eingebettetes OLE-Objekt, eine eingebettete Nachricht und andere Dateitypen enthalten. Verwenden Sie für Unicode-Unterstützung die MapiFileDescW-Struktur .

Syntax

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

Member

ulReserved

Reserviert; muss null sein.

flFlags

Bitmaske von Optionsflags. Die folgenden Flags können festgelegt werden.

Wert Bedeutung
MAPI_OLE
Die Anlage ist ein OLE-Objekt. Wenn MAPI_OLE_STATIC ebenfalls festgelegt ist, handelt es sich bei der Anlage um ein statisches OLE-Objekt. Wenn MAPI_OLE_STATIC nicht festgelegt ist, ist die Anlage ein eingebettetes OLE-Objekt.
MAPI_OLE_STATIC
Die Anlage ist ein statisches OLE-Objekt.
 

Wenn keines der beiden Flags festgelegt ist, wird die Anlage als Datendatei behandelt.

nPosition

Eine ganze Zahl, die verwendet wird, um anzugeben, wo in der Nachricht text die Anlage gerendert werden soll. Anlagen ersetzen das Zeichen, das an einer bestimmten Position im Nachrichtentext gefunden wird. Das heißt, Anlagen ersetzen das Zeichen im MapiMessage-StrukturfeldNoteText[nPosition]. Ein Wert von -1 (0xFFFFFFFF) bedeutet, dass die Anlageposition nicht angegeben ist; Die Clientanwendung muss dem Benutzer eine Möglichkeit bieten, auf die Anlage zuzugreifen.

lpszPathName

Zeiger auf den vollqualifizierten Pfad der angefügten Datei. Dieser Pfad sollte den Laufwerkbuchstaben und den Verzeichnisnamen enthalten.

lpszFileName

Zeiger auf den Vom Empfänger angezeigten Dateinamen der Anlage, der sich vom Dateinamen im lpszPathName-Element unterscheiden kann, wenn temporäre Dateien verwendet werden. Wenn das element lpszFileName leer oder NULL ist, wird der Dateiname von lpszPathName verwendet.

lpFileType

Zeiger auf den Anlagendateityp, der mit einer MapiFileTagExt-Struktur dargestellt werden kann. Der Wert NULL gibt einen unbekannten Dateityp oder einen vom Betriebssystem bestimmten Dateityp an.

Hinweise

Simple MAPI funktioniert mit drei Arten von eingebetteten Anlagen:

  • Anlagen von Datendateien
  • Bearbeitbare OLE-Objektdateianlagen
  • Anlagen statischer OLE-Objektdateien
Datendateianlagen sind einfach Datendateien. ANLAGEN VON OLE-Objektdateien sind OLE-Objekte, die im Nachrichtentext angezeigt werden. Wenn die OLE-Anlage bearbeitbar ist, kann der Empfänger darauf doppelklicken, und die Quellanwendung wird gestartet, um die Bearbeitungssitzung zu verarbeiten. Wenn die OLE-Anlage statisch ist, kann das Objekt nicht bearbeitet werden. Das im flFlags-Element der MapiFileDesc-Struktur festgelegte Flag bestimmt die Art einer bestimmten Anlage. Eingebettete Nachrichten können durch einen identifiziert werden. MSG-Erweiterung im lpszFileName-Element .

OLE-Objektdateien sind Dateidarstellungen von OLE-Objektstreams. Die Clientanwendung kann ein OLE-Objekt aus der Datei neu erstellen, indem sie die OLE-Funktion OleLoadFromStream mit einem OLESTREAM-Objekt aufruft, das den Dateiinhalt liest. Wenn eine OLE-Dateianlage in einer ausgehenden Nachricht enthalten ist, sollte der OLE-Objektstream direkt in die Datei geschrieben werden, die als Anlage verwendet wird.

Bei Verwendung des MapiFileDesc-MembersnPosition sollte die Clientanwendung nicht zwei Anlagen am gleichen Speicherort platzieren. Clientanwendungen zeigen möglicherweise keine Dateianlagen an Positionen an, die über das Ende des Nachrichtentexts hinausgehen.

Anforderungen

Anforderung Wert
Header mapi.h

Weitere Informationen

MapiFileDescW

MapiMessage

MapiMessageW