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 übergibt NULL.
lpStream
[in] Zeiger auf eine OLE IStream-Schnittstelle des Speicherstreamobjekts, die 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 das TNEF_ENCODE-Flag ( ulFlags-Parameter ) in seinem Aufruf von OpenTnefStream festgelegt hat, muss der lpszName-Parameter einen Zeiger ungleich NULL auf eine Zeichenfolge ungleich NULL angeben, die aus allen Zeichen besteht, die für die Benennung einer Datei gültig sind. MAPI lässt keine Zeichenfolgennamen zu, einschließlich der Zeichen "[", "]" oder ":", auch wenn das Dateisystem ihre Verwendung zulässt. Die Größe der für lpszName übergebenen Zeichenfolge darf den Wert von MAX_PATH, die maximale Länge einer Zeichenfolge, die einen Pfadnamen enthält, nicht überschreiten.
ulFlags
[in] Bitmaske von Flags, die verwendet werden, um den Modus der Funktion anzugeben. Die folgenden Flags 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 attribut der downen Ebene 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 den älteren Clientanwendungen. TNEF-Datenströme, die mit diesem Flag 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
Dieses Flag 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 dieses Flag festlegen, wenn die Funktion das Objekt für die nachfolgende Decodierung initialisieren soll.
TNEF_ENCODE
Das TNEF-Objekt für den angegebenen Datenstrom wird für Lese-/Schreibberechtigungen geöffnet. Der Transportanbieter muss dieses Flag 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 eine 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 von der OpenTnefStream-Funktion erstelltes TNEF-Objekt 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 ordnet und initialisiert eine ITnef-Schnittstelle des TNEF-Objekts, die der Anbieter beim Codieren einer MAPI-Nachrichten-IMessage-Schnittstelle in einer TNEF-Streamnachricht verwendet. 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 aus Kompatibilitätsgründen für diejenigen verwendet, die bereits TNEF verwenden.