Renderizando um anexo em texto sem formatação

Aplica-se a: Outlook 2013 | Outlook 2016

Para renderizar um anexo em uma mensagem com texto sem formatação, recupere a propriedade PR_RENDERING_POSITION (PidTagRenderingPosition) do anexo e aplique-a aos dados na propriedade PR_ATTACH_RENDERING (PidTagAttachRendering). Há duas maneiras de recuperar PR_RENDERING_POSITION:

  • Abra o anexo chamando o método IMessage::OpenAttach da mensagem e, em seguida, solicite a propriedade PR_RENDERING_POSITION chamando o método IMAPIProp::GetProps do anexo. Para obter mais informações, consulte IMessage::OpenAttach e IMAPIProp::GetProps.

  • Chame o método IMessage::GetAttachmentTable da mensagem para acessar sua tabela de anexos e recuperar a coluna que contém a propriedade PR_RENDERING_POSITION. Esta forma é sempre preferível. Para obter mais informações, consulte IMessage::GetAttachmentTable.

Lembre-se de que muitos repositórios de mensagens com reconhecimento de RTF não calculam PR_RENDERING_POSITION até que um cliente solicite a propriedade PR_BODY (PidTagBody) de uma mensagem. Até esse momento, PR_RENDERING_POSITION geralmente representa um valor aproximado. Os provedores de repositório de mensagens têm permissão para fornecer aos clientes um valor aproximado para aprimorar o desempenho.

A renderização de um arquivo ou anexo binário é armazenada em sua propriedade PR_ATTACH_RENDERING . Você tem a opção de recuperar PR_ATTACH_RENDERING da mesma forma que recuperou PR_RENDERING_POSITION: diretamente do anexo ou da tabela de anexos. Para PR_ATTACH_RENDERING, a primeira estratégia, embora mais demorada, é mais segura. Como alguns provedores de repositório de mensagens truncam suas colunas de tabela para 255 bytes ou, em alguns casos, 510 bytes, é difícil ter certeza de que a coluna PR_ATTACH_RENDERING contém a renderização completa. Ao recuperar a propriedade diretamente do anexo, ela sempre estará completa.

Nem o OLE nem os anexos de mensagens estão definidos PR_ATTACH_RENDERING. Em vez disso, as informações de renderização para anexos OLE 1 são armazenadas no fluxo de texto da mensagem. Para anexos OLE 2, ele é armazenado em um fluxo filho especial do objeto de armazenamento. As informações de renderização para anexos de mensagens estão disponíveis por meio do gerenciador de formulários.

Para recuperar a renderização de um anexo de mensagem

  1. Use a classe de mensagem da mensagem para acessar o gerenciador de formulários.

  2. Acesse a propriedade PR_MINI_ICON do gerenciador de formulários. Para obter mais informações, consulte PR_MINI_ICON (PidTagMiniIcon).