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. |