Freigeben über


ITnef::Finish

Gilt für: Outlook 2013 | Outlook 2016

Beendet die Verarbeitung aller TNEF-Vorgänge (Transport-Neutral Encapsulation Format), die sich in der Warteschlange befinden und warten.

HRESULT Finish(
  ULONG ulFlags,
  WORD FAR * lpKey,
  LPSTnefProblemArray FAR * lpProblem
);

Parameter

ulFlags

[in] Reserviert. NULL muss sein.

lpKey

[out] Ein Zeiger auf die schlüsseleigenschaft PR_ATTACH_NUM (PidTagAttachNumber) einer Anlage. Das TNEF-Kapselungsobjekt verwendet diesen Schlüssel, um eine Anlage mit ihrem Anlagenplatzierungstag in einer Nachricht abzugleichen. Dieser Schlüssel sollte für jede Anlage eindeutig sein.

lpProblem

[out] Ein Zeiger auf einen Zeiger auf eine zurückgegebene STnefProblemArray-Struktur . Die STnefProblemArray-Struktur gibt an, welche Eigenschaften ggf. nicht ordnungsgemäß codiert wurden. Wenn NULL im lpProblem-Parameter übergeben wird, wird kein Eigenschaftenproblemarray zurückgegeben.

Rückgabewert

S_OK

Der Aufruf war erfolgreich und hat den erwarteten Wert oder die erwarteten Werte zurückgegeben.

Hinweise

Transportanbieter, Nachrichtenspeicheranbieter und Gateways rufen die ITnef::Finish-Methode auf, um die Codierung aller Eigenschaften durchzuführen, für die die Codierung in Aufrufen der Methoden ITnef::AddProps und ITnef::SetProps angefordert wurde. Wenn das TNEF-Objekt mit dem TNEF_ENCODE-Flag für die OpenTnefStream - oder OpenTnefStreamEx-Funktion geöffnet wurde, codiert die Finish-Methode die angeforderten Eigenschaften in den an dieses Objekt übergebenen Kapselungsdatenstrom. Wenn das TNEF-Objekt mit dem TNEF_DECODE-Flag geöffnet wurde, decodiert die Finish-Methode die Eigenschaften aus dem TNEF-Stream und schreibt sie zurück in die Nachricht, zu der sie gehören.

Nach dem Finish-Aufruf zeigt der Zeiger auf den Kapselungsdatenstrom auf das Ende der TNEF-Daten. Wenn der Anbieter oder das Gateway die TNEF-Datenstromdaten nach dem Finish-Aufruf verwenden muss, muss er den Streamzeiger auf den Anfang der TNEF-Streamdaten zurücksetzen.

Die TNEF-Implementierung meldet TNEF-Streamcodierungsprobleme, ohne den Fertig stellen zu müssen. Die im lpProblem-Parameter zurückgegebene STnefProblemArray-Struktur gibt an, welche TNEF-Attribute oder MAPI-Eigenschaften ggf. nicht verarbeitet werden konnten. Der wert, der im scode-Member einer der in STnefProblemArray enthaltenen STnefProblem-Strukturen zurückgegeben wird, gibt das spezifische Problem an. Der Anbieter oder das Gateway kann davon ausgehen, dass alle Eigenschaften oder Attribute, für die Finish keinen Problembericht zurückgibt, erfolgreich verarbeitet wurden.

Wenn ein Anbieter oder Gateway nicht mit Problemarrays funktioniert, kann es NULL in lpProblem übergeben. In diesem Fall wird kein Problemarray zurückgegeben.

Der in lpProblem zurückgegebene Wert ist nur gültig, wenn der Aufruf S_OK zurückgibt. Wenn S_OK zurückgegeben wird, sollte der Anbieter oder das Gateway die in der STnefProblemArray-Struktur zurückgegebenen Werte überprüfen. Wenn beim Aufruf ein Fehler auftritt, wird die STnefProblemArray-Struktur nicht ausgefüllt, und der aufrufende Anbieter oder gateway sollte die Struktur nicht verwenden oder freigeben. Wenn beim Aufruf kein Fehler auftritt, muss der aufrufende Anbieter oder das gateway den Arbeitsspeicher für das STnefProblemArray freigeben, indem die MAPIFreeBuffer-Funktion aufgerufen wird.

MFCMAPI-Referenz

Einen MFCMAP-Beispielcode finden Sie in der folgenden Tabelle.

Datei Funktion Kommentar
File.cpp
SaveToTNEF
MFCMAPI verwendet die ITnef::Finish-Methode , um die Verarbeitung des neuen TNEF-Streams abzuschließen.

Siehe auch

ITnef::AddProps

MAPIFreeBuffer

OpenTnefStream

OpenTnefStreamEx

PidTagAttachNumber (kanonische Eigenschaft)

STnefProblemArray

ITnef : IUnknown

MFCMAPI (engl.) als ein Codebeispiel