Partager via


WrapCompressedRTFStream

S’applique à : Outlook 2013 | Outlook 2016

Crée un flux de texte au format RTF (Rich Text Format) non compressé à partir du format compressé utilisé dans la propriété PR_RTF_COMPRESSED (PidTagRtfCompressed).

Propriété Valeur
Fichier d’en-tête :
Mapidefs.h
Implémenté par :
MAPI
Appelé par :
Applications clientes
HRESULT WrapCompressedRTFStream(
  LPSTREAM lpCompressedRTFStream,
  ULONG ulflags,
  LPSTREAM FAR * lpUncompressedRTFStream
);

Paramètres

lpCompressedRTFStream

[in] Pointeur vers un flux ouvert sur la propriété PR_RTF_COMPRESSED d’un message.

ulFlags

[in] Masque de bits des indicateurs d’option pour la fonction. Les indicateurs suivants peuvent être définis :

MAPI_MODIFY

Indique si le client a l’intention de lire ou d’écrire l’interface de flux encapsulée retournée.

STORE_UNCOMPRESSED_RTF

RtF non compressé doit être écrit dans le flux vers lequel pointe lpCompressedRTFStream

lpUncompressedRTFStream

[out] Pointeur vers l’emplacement où WrapCompressedRTFStream retourne un flux pour le RTF non compressé.

Valeur renvoyée

S_OK

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

Remarques

Si l’indicateur MAPI_MODIFY est passé dans le paramètre ulFlags , le paramètre lpCompressedRTFStream doit déjà être ouvert pour la lecture et l’écriture. Le nouveau texte RTF non compressé doit être écrit dans l’interface de flux retournée dans lpUncompressedRTFStream. Étant donné qu’il n’est pas possible d’ajouter le flux existant, le texte entier du message doit être écrit.

Si zéro est passé dans le paramètre ulFlags , lpCompressedRTFStream peut être ouvert en lecture seule. Seul le texte du message entier peut être lu à partir de l’interface de flux retournée dans lpUncompressedRTFStream. Il n’est pas possible d’effectuer une recherche à partir du milieu du flux.

WrapCompressedRTFStream suppose que le pointeur du flux compressé est défini sur le début du flux. Certaines méthodes OLE IStream ne sont pas prises en charge par le flux non compressé retourné. Il s’agit notamment de IStream ::Clone, IStream ::LockRegion, IStream ::Revert, IStream ::Seek, IStream ::SetSize, IStream ::Stat et IStream ::UnlockRegion. Pour effectuer une copie dans l’ensemble du flux, une boucle de lecture/écriture est nécessaire.

Étant donné que le client écrit un nouveau rtf au format non compressé, il doit utiliser WrapCompressedRTFStream au lieu d’écrire directement dans le flux. Les clients prenant en charge RTF doivent rechercher l’indicateur STORE_UNCOMPRESSED_RTF dans la propriété PR_STORE_SUPPORT_MASK (PidTagStoreSupportMask) et le transmettre à WrapCompressed RTFStream s’il est défini.

Voir aussi

RTFSync