Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für: Outlook 2013 | Outlook 2016
Erstellt ein TNEF-Objekt (Transport-Neutral Encapsulation Format), das zum Codieren oder Decodieren eines Nachrichtenobjekts in einen TNEF-Datenstrom zur Verwendung durch Transporte oder Gateways und Nachrichtenspeicher verwendet werden kann. Dies ist der Einstiegspunkt für den TNEF-Zugriff.
| Eigenschaft | Wert |
|---|---|
| Headerdatei |
Tnef.h |
| Implementiert von: |
MAPI |
| Aufgerufen von: |
Transportanbieter |
HRESULT OpenTnefStreamEx(
LPVOID lpvSupport,
LPSTREAM lpStream,
LPSTR lpszStreamName,
ULONG ulFlags,
LPMESSAGE lpMessage,
WORD wKeyVal,
LPADDRESSBOOK lpAddressBook,
LPITNEF FAR * lppTNEF
);
Parameter
lpvSupport
[in] Übergibt ein Supportobjekt oder übergibt NULL. Wenn NULL, sollte der lpAddressBook-Parameter ungleich NULL sein.
lpStream
[in] Zeiger auf ein Speicherstreamobjekt, z. B. eine OLE IStream-Schnittstelle, 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 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 Zeichenfolge, die für den Parameter lpszName übergeben wird, darf nicht den Wert von MAX_PATH überschreiten, der maximalen Länge einer Zeichenfolge, die einen Pfadnamen enthält.
ulFlags
[in] Bitmaske von Flags, 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 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 im angegebenen Stream wird für Lese-/Schreibberechtigung 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 den Attributen attMAPIProps, attAttachment, attRenddata und attRecipTable. Dieser Modus eignet sich ideal, 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.
wKeyVal
[in] Ein Suchschlüssel, den das TNEF-Objekt verwendet, um Anlagen mit den in den Nachrichtentext eingefügten Texttags abzugleichen. Dieser Wert sollte in allen Nachrichten relativ eindeutig sein.
lpAddressBook
[in] Zeiger auf ein Adressbuchobjekt, das zum Abrufen von Adressinformationen für Eintragsbezeichner verwendet wird.
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
Die Funktion OpenTnefStreamEx -ist der empfohlene Ersatz für OpenTnefStream, dem ursprünglichen Einstiegspunkt für den TNEF-Zugriff.
Ein TNEF-Objekt, das von der OpenTnefStreamEx-Funktion erstellt wurde, ruft später die OLE-Methode IUnknown::AddRef auf, um Verweise für das Supportobjekt, 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.
OpenTnefStreamEx ordnet dem Anbieter ein TNEF-Objekt zu, das beim Codieren einer MAPI-Nachricht in eine TNEF-Streamnachricht verwendet werden soll, und initialisiert es. Alternativ kann diese 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.
Der Basiswert für den wKeyVal-Parameter darf nicht Null sein und darf nicht bei jedem Aufruf von OpenTnefStreamExgleich sein. Verwenden Sie stattdessen Zufallszahlen, die auf der Systemzeit aus dem Zufallszahlengenerator der Laufzeitbibliothek basieren.
MFCMAPI-Referenz
Einen MFCMAP-Beispielcode finden Sie in der folgenden Tabelle.
| Datei | Funktion | Kommentar |
|---|---|---|
| File.cpp |
LoadFromTNEF |
MFCMAPI verwendet die OpenTnefStreamEx-Methode, um einen Stream in der TNEF-Datei zu öffnen, damit Eigenschaften extrahiert werden können. |