Partager via


ITnef::FinishComponent

S’applique à : Outlook 2013 | Outlook 2016

Traite les composants individuels d’un message à la fois dans un flux TNEF (Transport-Neutral Encapsulation Format).

HRESULT FinishComponent(
  ULONG ulFlags,
  ULONG ulComponentID,
  LPSPropTagArray lpCustomPropList,
  LPSPropValue lpCustomProps,
  LPSPropTagArray lpPropList,
  LPSTnefProblemArray FAR * lppProblems
);

Paramètres

ulFlags

[in] Masque de bits d’indicateurs qui contrôle le composant qui sera terminé. L’un ou l’autre des indicateurs suivants doit être défini :

TNEF_COMPONENT_ATTACHMENT

Le traitement est terminé pour un objet joint ; Le paramètre ulComponentID contient la propriété PR_ATTACH_NUM (PidTagAttachNumber) de la pièce jointe.

TNEF_COMPONENT_MESSAGE

Le traitement est terminé pour un objet message.

ulComponentID

[in] 0 pour indiquer le traitement d’un message, ou la propriété PR_ATTACH_NUM d’une pièce jointe à traiter. Si l’indicateur TNEF_COMPONENT_MESSAGE est défini dans le paramètre ulFlags , ulComponentID doit avoir la valeur 0.

lpCustomPropList

[in] Pointeur vers une structure SPropTagArray qui contient des balises de propriété qui identifient les propriétés passées dans le paramètre lpCustomProps . Il doit y avoir une correspondance un-à-un entre chaque valeur de propriété dans lpCustomProps et une balise de propriété dans le paramètre lpCustomPropList .

lpCustomProps

[in] Pointeur vers une structure SPropValue qui contient des valeurs de propriété pour les propriétés à encoder.

lpPropList

[in] Pointeur vers une structure SPropTagArray qui contient des balises de propriété pour les propriétés à encoder.

lppProblems

[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 lppProblems , aucun tableau de problèmes de propriété n’est retourné.

Valeur renvoyée

S_OK

L'appel a r�ussi et a renvoy� la valeur attendue ou les valeurs.

Remarques

Les fournisseurs de transport, les fournisseurs de magasins de messages et les passerelles appellent la méthode ITnef ::FinishComponent pour effectuer le traitement TNEF pour un composant, un message ou une pièce jointe, comme indiqué par l’indicateur défini dans le paramètre ulFlags .

Pour que le traitement des composants soit activé, le fournisseur ou la passerelle appelant transmet l’indicateur TNEF_COMPONENT_ENCODING dans ulFlags pour la fonction OpenTnefStream ou OpenTnefStreamEx qui a ouvert l’objet pour recevoir l’encodage.

La transmission de valeurs dans les paramètres lpCustomPropList et lpCustomProps effectue un encodage de composant équivalent à celui effectué par la méthode ITnef ::SetProps . Le passage d’une valeur dans le paramètre lpPropList effectue un encodage de composant équivalent à celui effectué par la méthode ITnef ::AddProps avec l’indicateur TNEF_PROP_INCLUDE défini dans ulFlags. Le passage de ces valeurs vous permet d’effectuer des encodages avec un seul appel au lieu de plusieurs appels.

L’implémentation de TNEF signale des problèmes d’encodage de flux TNEF sans arrêter le processus FinishComponent . La structure STnefProblemArray retournée dans lppProblems indique les attributs TNEF ou les propriétés MAPI, le cas échéant, qui 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 se baser sur l’hypothèse que toutes les propriétés ou attributs pour lesquels FinishComponent 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 les tableaux de problèmes, il peut passer NULL dans lppProblems ; dans ce cas, aucun tableau de problème n’est retourné.

La valeur retournée dans lppProblems n’est valide que 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 .

Voir aussi

ITnef::AddProps
ITnef::SetProps
MAPIFreeBuffer
OpenTnefStream
OpenTnefStreamEx
SPropTagArray
STnefProblemArray
ITnef : IUnknown