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.