Compartilhar via


ITnef::Finish

Aplica-se a: Outlook 2013 | Outlook 2016

Conclui o processamento de todas as operações TNEF (Formato de Encapsulamento) Transport-Neutral que estão enfileiradas e aguardando.

HRESULT Finish(
  ULONG ulFlags,
  WORD FAR * lpKey,
  LPSTnefProblemArray FAR * lpProblem
);

Parâmetros

ulFlags

[in] Reservados; deve ser zero.

lpKey

[out] Um ponteiro para a propriedade chave PR_ATTACH_NUM (PidTagAttachNumber) de um anexo. O objeto de encapsulamento TNEF usa essa chave para corresponder um anexo à marca de posicionamento de anexo em uma mensagem. Essa chave deve ser exclusiva para cada anexo.

lpProblem

[out] Um ponteiro para um ponteiro para uma estrutura STnefProblemArray retornada. A estrutura STnefProblemArray indica quais propriedades, se houver, não foram codificadas corretamente. Se NULL for passado no parâmetro lpProblem , nenhuma matriz de problemas de propriedade será retornada.

Valor de retorno

S_OK

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

Comentários

Provedores de transporte, provedores de armazenamento de mensagens e gateways chamam o método ITnef::Finish para executar a codificação de todas as propriedades para as quais a codificação foi solicitada em chamadas para os métodos ITnef::AddProps e ITnef::SetProps . Se o objeto TNEF foi aberto com o sinalizador TNEF_ENCODE para a função OpenTnefStream ou OpenTnefStreamEx , o método Finish codifica as propriedades solicitadas no fluxo de encapsulamento passado para esse objeto. Se o objeto TNEF foi aberto com o sinalizador TNEF_DECODE, o método Finish decodificará as propriedades do fluxo TNEF e as gravará de volta na mensagem à qual pertencem.

Após a chamada Concluir , o ponteiro para o fluxo de encapsulamento aponta para o final dos dados TNEF. Se o provedor ou gateway precisar usar os dados de fluxo TNEF após a chamada Concluir , ele deverá redefinir o ponteiro de fluxo para o início dos dados de fluxo TNEF.

A implementação do TNEF relata problemas de codificação de fluxo TNEF sem interromper o processo de término . A estrutura STnefProblemArray retornada no parâmetro lpProblem indica quais atributos TNEF ou propriedades MAPI, se houver, não puderam ser processados. O valor retornado no membro de código de uma das estruturas STnefProblem contidas no STnefProblemArray indica o problema específico. O provedor ou gateway pode trabalhar na suposição de que todas as propriedades ou atributos para os quais o Finish não retorna um relatório de problema foram processados com êxito.

Se um provedor ou gateway não funcionar com matrizes problemáticas, ele poderá passar NULL no lpProblem; nesse caso, nenhuma matriz de problemas é retornada.

O valor retornado em lpProblem só será válido se a chamada retornar S_OK. Quando S_OK é retornado, o provedor ou gateway deve marcar os valores retornados na estrutura STnefProblemArray. Se ocorrer um erro na chamada, a estrutura STnefProblemArray não será preenchida e o provedor de chamada ou gateway não deverá usar ou liberar a estrutura. Se nenhum erro ocorrer na chamada, o provedor de chamada ou gateway deverá liberar a memória do STnefProblemArray chamando a função MAPIFreeBuffer .

Referência do MFCMAPI

Para ver códigos de exemplo do MFCMAPI, confira a tabela a seguir.

Arquivo Função Comentário
File.cpp
SaveToTNEF
O MFCMAPI usa o método ITnef::Finish para concluir o processamento do novo fluxo TNEF.

Confira também

ITnef::AddProps

MAPIFreeBuffer

OpenTnefStream

OpenTnefStreamEx

Propriedade Canônica PidTagAttachNumber

STnefProblemArray

ITnef : IUnknown

MFCMAPI como exemplo de código