Compartilhar via


WrapCompressedRTFStream

Aplica-se a: Outlook 2013 | Outlook 2016

Cria um fluxo de texto em RTF (Formato de Texto Rico) não compactado do formato compactado usado na propriedade PR_RTF_COMPRESSED (PidTagRtfCompressed).

Propriedade Valor
Arquivo de cabeçalho:
Mapidefs.h
Implementado por:
MAPI
Chamado por:
Aplicativos do cliente
HRESULT WrapCompressedRTFStream(
  LPSTREAM lpCompressedRTFStream,
  ULONG ulflags,
  LPSTREAM FAR * lpUncompressedRTFStream
);

Parâmetros

lpCompressedRTFStream

[in] Ponteiro para um fluxo aberto na propriedade PR_RTF_COMPRESSED de uma mensagem.

ulFlags

[in] Bitmask de sinalizadores de opção para a função. Os seguintes sinalizadores podem ser definidos:

MAPI_MODIFY

Se o cliente pretende ler ou gravar a interface de fluxo encapsulada retornada.

STORE_UNCOMPRESSED_RTF

O RTF não compactado deve ser gravado no fluxo apontado por lpCompressedRTFStream

lpUncompressedRTFStream

[out] Ponteiro para o local em que WrapCompressedRTFStream retorna um fluxo para o RTF não compactado.

Valor de retorno

S_OK

A chamada foi bem-sucedida e retornou o valor ou valores esperados.

Comentários

Se o sinalizador MAPI_MODIFY for passado no parâmetro ulFlags , o parâmetro lpCompressedRTFStream já deve estar aberto para leitura e gravação. Novo texto RTF não compactado deve ser gravado na interface do fluxo retornada em lpUncompressedRTFStream. Como não é possível acrescentar o fluxo existente, todo o texto da mensagem deve ser gravado.

Se zero for passado no parâmetro ulFlags , lpCompressedRTFStream poderá ser aberto somente leitura. Somente o texto inteiro da mensagem pode ser lido fora da interface do fluxo retornada em lpUncompressedRTFStream. Não é possível pesquisar a partir do meio do fluxo.

WrapCompressedRTFStream pressupõe que o ponteiro do fluxo compactado esteja definido como o início do fluxo. Certos métodos OLE IStream não têm suporte pelo fluxo não compactado retornado. Estes incluem IStream::Clone, IStream::LockRegion, IStream::Revert, IStream::Seek, IStream::SetSize, IStream::Stat e IStream::UnlockRegion. Para copiar para todo o fluxo, é necessário um loop de leitura/gravação.

Como o cliente grava novo RTF em formato não compactado, ele deve usar WrapCompressedRTFStream, em vez de gravar diretamente no fluxo. Os clientes com reconhecimento RTF devem pesquisar o sinalizador de STORE_UNCOMPRESSED_RTF na propriedade PR_STORE_SUPPORT_MASK (PidTagStoreSupportMask) e passá-lo para WrapCompressed RTFStream se ele estiver definido.

Confira também

RTFSync