Freigeben über


ITnef::FinishComponent

Gilt für: Outlook 2013 | Outlook 2016

Verarbeitet einzelne Komponenten aus einer Nachricht einzeln in einen TNEF-Stream (Transport-Neutral Encapsulation Format).

HRESULT FinishComponent(
  ULONG ulFlags,
  ULONG ulComponentID,
  LPSPropTagArray lpCustomPropList,
  LPSPropValue lpCustomProps,
  LPSPropTagArray lpPropList,
  LPSTnefProblemArray FAR * lppProblems
);

Parameter

ulFlags

[in] Eine Bitmaske von Flags, die steuert, welche Komponente abgeschlossen wird. Eines oder ein anderes der folgenden Flags muss festgelegt werden:

TNEF_COMPONENT_ATTACHMENT

Die Verarbeitung für ein Anlageobjekt wird abgeschlossen; Der ulComponentID-Parameter enthält die eigenschaft PR_ATTACH_NUM (PidTagAttachNumber) der Anlage.

TNEF_COMPONENT_MESSAGE

Die Verarbeitung für ein Nachrichtenobjekt wird abgeschlossen.

ulComponentID

[in] 0, um die Verarbeitung einer Nachricht oder die PR_ATTACH_NUM Eigenschaft einer zu verarbeitenden Anlage anzugeben. Wenn das TNEF_COMPONENT_MESSAGE-Flag im ulFlags-Parameter festgelegt ist, muss ulComponentID 0 sein.

lpCustomPropList

[in] Ein Zeiger auf eine SPropTagArray-Struktur , die Eigenschaftstags enthält, die die im lpCustomProps-Parameter übergebenen Eigenschaften identifizieren. Es muss eine 1:1-Entsprechung zwischen jedem Eigenschaftswert in lpCustomProps und einem Eigenschaftstag im lpCustomPropList-Parameter bestehen.

lpCustomProps

[in] Ein Zeiger auf eine SPropValue-Struktur , die Eigenschaftswerte für die zu codierenden Eigenschaften enthält.

lpPropList

[in] Ein Zeiger auf eine SPropTagArray-Struktur , die Eigenschaftstags für die zu codierenden Eigenschaften enthält.

lppProblems

[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 lppProblems-Parameter übergeben wird, wird kein Eigenschaftenproblemarray zurückgegeben.

Rückgabewert

S_OK

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

Hinweise

Transportanbieter, Nachrichtenspeicheranbieter und Gateways rufen die ITnef::FinishComponent-Methode auf, um die TNEF-Verarbeitung für eine Komponente durchzuführen, entweder für eine Nachricht oder eine Anlage, wie durch das im ulFlags-Parameter festgelegte Flag angegeben.

Damit die Komponentenverarbeitung aktiviert wird, übergibt der aufrufende Anbieter oder gateway das TNEF_COMPONENT_ENCODING-Flag in ulFlags für die OpenTnefStream- oder OpenTnefStreamEx-Funktion , die das Objekt zum Empfangen der Codierung geöffnet hat.

Das Übergeben von Werten in den Parametern lpCustomPropList und lpCustomProps führt eine Komponentencodierung aus, die der von der ITnef::SetProps-Methode entsprechenden Codierung entspricht. Die Übergabe eines Werts im lpPropList-Parameter führt eine Komponentencodierung aus, die der von der ITnef::AddProps-Methode mit dem in ulFlags festgelegten TNEF_PROP_INCLUDE-Flag entspricht. Wenn Sie diese Werte übergeben, können Sie Codierungen mit einem einzelnen Aufruf anstelle mehrerer Aufrufe ausführen.

Die TNEF-Implementierung meldet TNEF-Streamcodierungsprobleme, ohne den FinishComponent-Prozess zu beenden. Die in lppProblems 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 FinishComponent keinen Problembericht zurückgibt, erfolgreich verarbeitet wurden.

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

Der in lppProblems 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 das 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.

Siehe auch

ITnef::AddProps
ITnef::SetProps
MAPIFreeBuffer
OpenTnefStream
OpenTnefStreamEx
SPropTagArray
STnefProblemArray
ITnef : IUnknown