Freigeben über


OpenTnefStream

Gilt für: Outlook 2013 | Outlook 2016

Wird von einem Transportanbieter aufgerufen, um eine MAPI-TNEF-Sitzung (Transport Neutral Encapsulation Format) zu initiieren.

Eigenschaft Wert
Headerdatei
Tnef.h
Implementiert von:
MAPI
Aufgerufen von:
Transportanbieter
HRESULT OpenTnefStream(
  LPVOID lpvSupport,
  LPSTREAM lpStream,
  LPSTR lpszStreamName, 
  ULONG ulFlags,
  LPMESSAGE lpMessage,
  WORD wKey,
  LPITNEF FAR * lppTNEF
);

Parameter

lpvSupport

[in] Übergibt ein Unterstützungsobjekt oder NULL.

lpStream

[in] Zeiger auf eine OLE-IStream-Schnittstelle eines Speicherstreamobjekts, das eine Quelle oder ein Ziel für eine TNEF-Streamnachricht bereitstellt.

lpszStreamName

[in] Zeiger auf den Namen des Datenstroms, den das TNEF-Objekt verwendet. Wenn der Aufrufer die TNEF_ENCODE-Kennzeichnung (ulFlags-Parameter) in seinem Aufruf von OpenTnefStream festgelegt hat, muss der lpszName-Parameter einen Nicht-NULL-Zeiger auf eine Zeichenfolge ungleich NULL angeben, die aus Zeichen besteht, die für den Namen einer Datei gültig sind. MAPI lässt keine Zeichenfolgennamen zu, die die Zeichen „[“, „]“ oder „:“ enthalten, auch wenn das Dateisystem deren Verwendung zulässt. Die Größe der für lpszName übergebenen Zeichenfolge darf den Wert von MAX_PATH, der maximalen Länge einer Zeichenfolge, die einen Pfadnamen enthält, nicht überschreiten.

ulFlags

[in] Bitmaske von Kennzeichnungen, die verwendet werden, um den Modus der Funktion anzugeben. Die folgenden Werte können festgelegt werden:

TNEF_BEST_DATA

Alle möglichen Eigenschaften werden ihren Down-Level-Attributen zugeordnet, aber wenn ein möglicher Datenverlust aufgrund der Konvertierung in ein Down-Level-Attribut auftritt, wird die Eigenschaft auch in den Kapselungen codiert. Beachten Sie, dass dies zur Duplizierung von Informationen im TNEF-Stream führt. TNEF_BEST_DATA ist die Standardeinstellung, wenn keine anderen Modi angegeben werden.

TNEF_COMPATIBILITY

Bietet Abwärtskompatibilität mit älteren Clientanwendungen. TNEF-Datenströme, die mit dieser Kennzeichnung codiert sind, ordnen alle möglichen Eigenschaften dem entsprechenden Down-Level-Attribut zu. Dieser Modus verursacht auch die Standardeinstellung einiger Eigenschaften, die für Down-Level-Clients erforderlich sind.

Achtung

Diese Kennzeichnung ist veraltet und sollte nicht verwendet werden.

TNEF_DECODE

Das TNEF-Objekt im angegebenen Stream wird mit schreibgeschütztem Zugriff geöffnet. Der Transportanbieter muss diese Kennzeichnung festlegen, wenn die Funktion das Objekt für die nachfolgende Decodierung initialisieren soll.

TNEF_ENCODE

Das TNEF-Objekt im angegebenen Stream wird mit Lese-/Schreibberechtigungen geöffnet. Der Transportanbieter muss diese Kennzeichnung festlegen, wenn die Funktion das Objekt für die nachfolgende Codierung initialisieren soll.

TNEF_PURE

Codiert alle Eigenschaften in die MAPI-Kapselungsblöcke. Daher besteht eine „reine“ TNEF-Datei höchstens aus attMAPIProps, attAttachment, attRenddata und attRecipTable. Dieser Modus ist ideal für die Verwendung, wenn keine Abwärtskompatibilität erforderlich ist.

lpMessage

[in] Zeiger auf ein Nachrichtenobjekt als Ziel für eine decodierte Nachricht mit Anlagen oder als Quelle für eine codierte Nachricht mit Anlagen. Alle Eigenschaften einer Zielnachricht können durch die Eigenschaften einer codierten Nachricht überschrieben werden.

wKey

[in] Ein Suchschlüssel, den das TNEF-Objekt verwendet, um Anlagen mit den in den Nachrichtentext eingefügten Texttags abzugleichen. Dieser Wert sollte nachrichtenübergreifend relativ eindeutig sein.

lppTNEF

[out] Zeiger auf das neue TNEF-Objekt.

Rückgabewert

S_OK

Der Aufruf erfolgreich ausgeführt und der erwartete Wert oder Werte zurückgegeben hat.

Hinweise

Ein TNEF-Objekt, das von der OpenTnefStream-Funktion erstellt wurde, ruft später die OLE-Methode IUnknown::AddRef auf, um Verweise für das Unterstützungsobjekt, das Streamobjekt und das Nachrichtenobjekt hinzuzufügen. Der Transportanbieter kann die Verweise für alle drei Objekte mit einem einzigen Aufruf der OLE-Methode IUnknown::Release für das TNEF-Objekt freigeben.

OpenTnefStream reserviert und initialisiert ein TNEF-Objekt ITnef-Schnittstelle, die der Anbieter zum Codieren einer MAPI-Nachricht IMessage-Schnittstelle in eine TNEF-Streamnachricht verwenden kann. Alternativ kann die Funktion das Objekt für den Anbieter einrichten, das in nachfolgenden Aufrufen von ITnef::ExtractProps verwendet wird, um eine TNEF-Streamnachricht in eine MAPI-Nachricht zu decodieren. Um das TNEF-Objekt freizugeben und die Sitzung zu schließen, muss der Transportanbieter die geerbte IUnknown::Release-Methode für das Objekt aufrufen.

Diese Funktion ist der ursprüngliche Einstiegspunkt für den TNEF-Zugriff und wurde durch OpenTnefStreamEx ersetzt, wird aber weiterhin für die Kompatibilität für diejenigen verwendet, die TNEF bereits verwenden.

Siehe auch