Partager via


ITnef::ExtractProps

S’applique à : Outlook 2013 | Outlook 2016

Extrait les propriétés d’une encapsulation TNEF.

HRESULT ExtractProps(
  ULONG ulFlags,
  LPSPropTagArray lpPropList,
  LPSTnefProblemArray FAR * lpProblems
);

Paramètres

ulFlags

[in] Masque de bits d’indicateurs qui contrôle la façon dont les propriétés sont décodées. Les indicateurs suivants peuvent être définis :

TNEF_PROP_EXCLUDE

Décode toutes les propriétés non spécifiées dans le paramètre lpPropList .

TNEF_PROP_INCLUDE

Décode toutes les propriétés spécifiées dans lpPropList.

lpPropList

[in] Pointeur vers la liste des propriétés à inclure ou exclure de l’opération de décodage.

lpProblems

[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 lpProblems , 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.

MAPI_E_CORRUPT_DATA

Les données en cours de décodage dans un flux sont endommagées.

Remarques

Les fournisseurs de transport, les fournisseurs de magasins de messages et les passerelles appellent la méthode ITnef ::ExtractProps pour extraire (c’est-à-dire décoder) les propriétés de l’encapsulation d’un message ou d’une pièce jointe passée à la fonction OpenTnefStream . Le fournisseur ou la passerelle appelant peut spécifier une liste de propriétés à décoder. Les fournisseurs et les passerelles peuvent également utiliser ExtractProps pour fournir des informations sur toute gestion spéciale des pièces jointes.

ExtractProps remplit le message d’origine passé dans OpenTnefStream avec les propriétés décodées. Les appels ExtractProps suivants retournent au message et extraient la nouvelle liste de propriétés.

Contrairement à la méthode ITnef ::AddProps , qui met en file d’attente les actions demandées jusqu’à ce que la méthode ITnef ::Finish soit appelée, la méthode ExtractProps décode les propriétés encapsulées immédiatement lorsqu’elle est appelée. Pour cette raison, le message cible pour le décodage de l’encapsulation doit être relativement vide. Les propriétés existantes dans le message cible sont remplacées par les propriétés encapsulées.

ExtractProps est pris en charge uniquement pour les objets ouverts avec l’indicateur TNEF_DECODE pour la fonction OpenTnefStream ou OpenTnefStreamEx .

L’implémentation de TNEF signale des problèmes d’encodage de flux TNEF sans arrêter le processus ExtractProps . La structure STnefProblemArray retournée dans lpProblems 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 fonctionner sur l’hypothèse que toutes les propriétés ou attributs pour lesquels ExtractProps ne retourne pas de rapport de problème ont été traités avec succès.

Remarque

Si une propriété dans le bloc d’encapsulation MAPI ne peut pas être traitée et laisse le flux non fiable pendant le décodage d’un flux TNEF, le décodage du bloc d’encapsulation est arrêté et un problème est signalé. Le tableau de problèmes pour ce type de problème contient 0L pour le membre ulPropTag , attMAPIProps ou attAttachment pour le membre ulAttribute , et MAPI_E_UNABLE_TO_COMPLETE pour le membre scode . Notez que le décodage du flux n’est pas arrêté, mais simplement le décodage du bloc d’encapsulation MAPI. Le décodage de flux se poursuit avec le bloc d’attribut suivant.

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 lpProblems 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 sur l’appel, le fournisseur ou la passerelle appelant doit libérer la mémoire de la structure STnefProblemArray en appelant la fonction MAPIFreeBuffer .

Voir aussi

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