Freigeben über


ITnef::ExtractProps

Gilt für: Outlook 2013 | Outlook 2016

Extrahiert die Eigenschaften aus einer TNEF-Kapselung.

HRESULT ExtractProps(
  ULONG ulFlags,
  LPSPropTagArray lpPropList,
  LPSTnefProblemArray FAR * lpProblems
);

Parameter

ulFlags

[in] Eine Bitmaske von Flags, die steuert, wie Eigenschaften decodiert werden. Die folgenden Flags können festgelegt werden:

TNEF_PROP_EXCLUDE

Decodiert alle Eigenschaften, die nicht im lpPropList-Parameter angegeben sind.

TNEF_PROP_INCLUDE

Decodiert alle in lpPropList angegebenen Eigenschaften.

lpPropList

[in] Ein Zeiger auf die Liste der Eigenschaften, die in den Decodierungsvorgang eingeschlossen oder davon ausgeschlossen werden sollen.

lpProblems

[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 lpProblems-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.

MAPI_E_CORRUPT_DATA

Daten, die in einen Stream decodiert werden, sind beschädigt.

Hinweise

Transportanbieter, Nachrichtenspeicheranbieter und Gateways rufen die ITnef::ExtractProps-Methode auf, um Eigenschaften aus der Kapselung einer Nachricht oder einer Anlage zu extrahieren (d. h. zu decodieren), die an die OpenTnefStream-Funktion übergeben wurde. Der aufrufende Anbieter oder das Gateway kann eine Liste der zu decodierten Eigenschaften angeben. Anbieter und Gateways können auch ExtractProps verwenden, um Informationen zu jeder speziellen Behandlung von Anlagen bereitzustellen.

ExtractProps füllt die ursprüngliche Nachricht, die an OpenTnefStream übergeben wurde, mit den decodierten Eigenschaften auf. Nachfolgende ExtractProps-Aufrufe gehen zurück zur Nachricht und extrahieren die neue Liste der Eigenschaften.

Im Gegensatz zur ITnef::AddProps-Methode , die angeforderte Aktionen in die Warteschlange stellt, bis die ITnef::Finish-Methode aufgerufen wird, decodiert die ExtractProps-Methode die gekapselten Eigenschaften sofort beim Aufruf. Aus diesem Grund sollte die Zielnachricht für die Kapselungsdecodierung relativ leer sein. Vorhandene Eigenschaften in der Zielnachricht werden durch gekapselte Eigenschaften überschrieben.

ExtractProps wird nur für Objekte unterstützt, die mit dem TNEF_DECODE-Flag für die OpenTnefStream- oder OpenTnefStreamEx-Funktion geöffnet werden.

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

Hinweis

Wenn eine Eigenschaft im MAPI-Kapselungsblock nicht verarbeitet werden kann und der Datenstrom während der Decodierung eines TNEF-Streams unzuverlässig bleibt, wird die Decodierung des Kapselungsblocks beendet und ein Problem gemeldet. Das Problemarray für diesen Problemtyp enthält 0L für den ulPropTag-MemberattMAPIProps oder attAttachment für den ulAttribute-Member und MAPI_E_UNABLE_TO_COMPLETE für den scode-Member . Beachten Sie, dass die Decodierung des Datenstroms nicht angehalten wird, nur die Decodierung des MAPI-Kapselungsblocks. Die Datenstromdecodierung wird mit dem nächsten Attributblock fortgesetzt.

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 lpProblems 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 Speicher für die STnefProblemArray-Struktur freigeben, indem die MAPIFreeBuffer-Funktion aufgerufen wird.

Siehe auch

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