Partager via


ITnef::Finish

S’applique à : Outlook 2013 | Outlook 2016

Termine le traitement de toutes les opérations TNEF (Encapsulation Format) Transport-Neutral qui sont mises en file d’attente et en attente.

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

Paramètres

ulFlags

[in] R�serv� ; doit �tre �gal � z�ro.

lpKey

[out] Pointeur vers la propriété de clé PR_ATTACH_NUM (PidTagAttachNumber) d’une pièce jointe. L’objet d’encapsulation TNEF utilise cette clé pour faire correspondre une pièce jointe à sa balise de placement de pièce jointe dans un message. Cette clé doit être propre à chaque pièce jointe.

lpProblem

[out] Pointeur vers un pointeur vers une structure STnefProblemArray retournée. La structure STnefProblemArray indique quelles propriétés, le cas échéant, n’ont pas été correctement codées. Si NULL est passé dans le paramètre lpProblem , aucun tableau de problèmes de propriété n’est retourné.

Valeur renvoyée

S_OK

L’appel a réussi et a retourné la ou les valeurs attendues.

Remarques

Les fournisseurs de transport, les fournisseurs de magasins de messages et les passerelles appellent la méthode ITnef ::Finish pour effectuer l’encodage de toutes les propriétés pour lesquelles l’encodage a été demandé dans les appels aux méthodes ITnef ::AddProps et ITnef ::SetProps . Si l’objet TNEF a été ouvert avec l’indicateur TNEF_ENCODE pour la fonction OpenTnefStream ou OpenTnefStreamEx , la méthode Finish encode les propriétés demandées dans le flux d’encapsulation passé à cet objet. Si l’objet TNEF a été ouvert avec l’indicateur TNEF_DECODE, la méthode Finish décode les propriétés du flux TNEF et les réécrit dans le message auquel elles appartiennent.

Après l’appel Finish , le pointeur vers le flux d’encapsulation pointe vers la fin des données TNEF. Si le fournisseur ou la passerelle doit utiliser les données de flux TNEF après l’appel Finish , il doit réinitialiser le pointeur de flux au début des données de flux TNEF.

L’implémentation TNEF signale les problèmes d’encodage de flux TNEF sans arrêter le processus Finish . La structure STnefProblemArray retournée dans le paramètre lpProblem indique quels attributs TNEF ou propriétés MAPI, le cas échéant, n’ont pas pu être traités. La valeur retournée dans le membre scode de l’une des structures STnefProblem contenues dans STnefProblemArray indique le problème spécifique. Le fournisseur ou la passerelle peut fonctionner sur l’hypothèse que toutes les propriétés ou attributs pour lesquels Finish ne retourne pas de rapport de problème ont été traités avec succès.

Si un fournisseur ou une passerelle ne fonctionne pas avec des tableaux problématiques, il peut passer NULL dans lpProblem ; dans ce cas, aucun tableau de problème n’est retourné.

La valeur retournée dans lpProblem est valide uniquement si l’appel retourne S_OK. Lorsque S_OK est retourné, le fournisseur ou la passerelle doit case activée les valeurs retournées dans la structure STnefProblemArray. Si une erreur se produit sur l’appel, la structure STnefProblemArray n’est pas renseignée et le fournisseur ou la passerelle appelant ne doit pas utiliser ou libérer la structure. Si aucune erreur ne se produit lors de l’appel, le fournisseur appelant ou la passerelle doit libérer la mémoire pour STnefProblemArray en appelant la fonction MAPIFreeBuffer .

Référence MFCMAPI

Pour voir un exemple de code MFCMAPI, consultez le tableau suivant.

Fichier Fonction Commentaire
File.cpp
SaveToTNEF
MFCMAPI utilise la méthode ITnef ::Finish pour terminer le traitement du nouveau flux TNEF.

Voir aussi

ITnef::AddProps

MAPIFreeBuffer

OpenTnefStream

OpenTnefStreamEx

Propriété canonique PidTagAttachNumber

STnefProblemArray

ITnef : IUnknown

MFCMAPI comme un exemple de Code