Поделиться через


WrapCompressedRTFStream

Область применения: Outlook 2013 | Outlook 2016

Создает текстовый поток в несжатом формате RTF из сжатого формата, используемого в свойстве PR_RTF_COMPRESSED (PidTagRtfCompressed).

Свойство Значение
Файл заголовка:
Mapidefs.h
Реализовано в:
MAPI
Вызывающая сторона:
Клиентские приложения
HRESULT WrapCompressedRTFStream(
  LPSTREAM lpCompressedRTFStream,
  ULONG ulflags,
  LPSTREAM FAR * lpUncompressedRTFStream
);

Параметры

lpCompressedRTFStream

[в] Указатель на поток, открытый в свойстве PR_RTF_COMPRESSED сообщения.

ulFlags

[в] Битовая маска флагов параметров для функции. Можно задать следующие флаги:

MAPI_MODIFY

Указывает, намерен ли клиент считывать или записывать возвращенный интерфейс потока в оболочке.

STORE_UNCOMPRESSED_RTF

Несжатый RTF должен быть записан в поток, на который указывает lpCompressedRTFStream

lpUncompressedRTFStream

[out] Указатель на расположение, в котором WrapCompressedRTFStream возвращает поток для несжатого RTF.

Возвращаемое значение

S_OK

����� ������� � ������ ��������� ��������� ��� ��������.

Замечания

Если флаг MAPI_MODIFY передается в параметре ulFlags , параметр lpCompressedRTFStream уже должен быть открыт для чтения и записи. Новый несжатый текст RTF должен быть записан в интерфейс потока, возвращаемый в lpUncompressedRTFStream. Так как невозможно добавить существующий поток, необходимо написать весь текст сообщения.

Если в параметре ulFlags передается ноль, то lpCompressedRTFStream можно открыть только для чтения. Из интерфейса потока, возвращенного в lpUncompressedRTFStream, можно считывать только весь текст сообщения. Невозможно выполнить поиск, начиная с середины потока.

WrapCompressedRTFStream предполагает, что для указателя сжатого потока задано начало потока. Некоторые методы OLE IStream не поддерживаются возвращаемым несжатой передачей. К ним относятся IStream::Clone, IStream::LockRegion, IStream::Revert, IStream::Seek, IStream::SetSize, IStream::Stat и IStream::UnlockRegion. Для копирования во весь поток требуется цикл чтения и записи.

Так как клиент записывает новые RTF в несжатом формате, он должен использовать WrapCompressedRTFStream вместо прямой записи в поток. Клиенты с поддержкой RTF должны найти флаг STORE_UNCOMPRESSED_RTF в свойстве PR_STORE_SUPPORT_MASK (PidTagStoreSupportMask) и передать его в WrapCompressed RTFStream , если он задан.

См. также

RTFSync