WrapCompressedRTFStream
Gilt für: Outlook 2013 | Outlook 2016
Erstellt einen Textstream im unkomprimierten Rich-Text-Format (RTF) aus dem komprimierten Format, das in der eigenschaft PR_RTF_COMPRESSED (PidTagRtfCompressed) verwendet wird.
Eigenschaft | Wert |
---|---|
Headerdatei |
Mapidefs.h |
Implementiert von: |
MAPI |
Aufgerufen von: |
Clientanwendungen |
HRESULT WrapCompressedRTFStream(
LPSTREAM lpCompressedRTFStream,
ULONG ulflags,
LPSTREAM FAR * lpUncompressedRTFStream
);
Parameter
lpCompressedRTFStream
[in] Zeiger auf einen Datenstrom, der in der PR_RTF_COMPRESSED-Eigenschaft einer Nachricht geöffnet wird.
ulFlags
[in] Bitmaske von Optionsflags für die Funktion. Die folgenden Flags können festgelegt werden:
MAPI_MODIFY
Gibt an, ob der Client die zurückgegebene umschlossene Streamschnittstelle lesen oder schreiben möchte.
STORE_UNCOMPRESSED_RTF
Nicht komprimierte RTF sollte in den Stream geschrieben werden, auf den lpCompressedRTFStream verweist.
lpUncompressedRTFStream
[out] Zeiger auf den Speicherort, an dem WrapCompressedRTFStream einen Stream für die nicht komprimierte RTF zurückgibt.
Rückgabewert
S_OK
Der Aufruf erfolgreich ausgef�hrt und der erwartete Wert oder Werte zur�ckgegeben hat.
Hinweise
Wenn das MAPI_MODIFY-Flag im ulFlags-Parameter übergeben wird, muss der lpCompressedRTFStream-Parameter bereits zum Lesen und Schreiben geöffnet sein. Neuer, nicht komprimierter RTF-Text sollte in die stream-Schnittstelle geschrieben werden, die in lpUncompressedRTFStream zurückgegeben wird. Da es nicht möglich ist, den vorhandenen Stream anzufügen, muss der gesamte Nachrichtentext geschrieben werden.
Wenn null im ulFlags-Parameter übergeben wird, kann lpCompressedRTFStream schreibgeschützt geöffnet werden. Nur der gesamte Nachrichtentext kann aus der in lpUncompressedRTFStream zurückgegebenen Streamschnittstelle gelesen werden. Es ist nicht möglich, ab der Mitte des Datenstroms zu suchen.
WrapCompressedRTFStream geht davon aus, dass der Zeiger des komprimierten Datenstroms auf den Anfang des Datenstroms festgelegt ist. Bestimmte OLE IStream-Methoden werden vom zurückgegebenen nicht komprimierten Stream nicht unterstützt. Dazu gehören IStream::Clone, IStream::LockRegion, IStream::Revert, IStream::Seek, IStream::SetSize, IStream::Stat und IStream::UnlockRegion. Um in den gesamten Stream zu kopieren, ist eine Lese-/Schreibschleife erforderlich.
Da der Client neue RTF im unkomprimierten Format schreibt, sollte er WrapCompressedRTFStream verwenden, anstatt direkt in den Stream zu schreiben. RTF-fähige Clients sollten nach dem STORE_UNCOMPRESSED_RTF-Flag in der eigenschaft PR_STORE_SUPPORT_MASK (PidTagStoreSupportMask) suchen und es an WrapCompressed RTFStream übergeben, wenn es festgelegt ist.