@@ -846,6 +846,44 @@ HrIStorageFromStream (LPUNKNOWN lpUnkIn,
846846STDAPI_ (SCODE ) ScInitMapiUtil (ULONG ulFlags );
847847STDAPI_ (VOID ) DeinitMapiUtil (VOID );
848848
849+ // Definitions for WrapCompressedRTFStreamEx in param for WrapCompressedRTFStreamEX
850+ // https://learn.microsoft.com/en-us/previous-versions/office/developer/office-2007/bb905293(v=office.12)
851+ struct RTF_WCSINFO
852+ {
853+ ULONG size ; // Size of the structure
854+ ULONG ulFlags ;
855+ /****** MAPI_MODIFY ((ULONG) 0x00000001) above */
856+ /****** STORE_UNCOMPRESSED_RTF ((ULONG) 0x00008000) above */
857+ /****** MAPI_NATIVE_BODY ((ULONG) 0x00010000) mapidefs.h Only used for reading*/
858+ ULONG ulInCodePage ; // Codepage of the message, used when passing MAPI_NATIVE_BODY, ignored otherwise
859+ ULONG ulOutCodePage ; // Codepage of the Returned Stream, used when passing MAPI_NATIVE_BODY, ignored otherwise
860+ };
861+
862+ // out param type information for WrapCompressedRTFStreamEX
863+ // https://learn.microsoft.com/en-us/previous-versions/office/developer/office-2007/bb905294(v=office.12)
864+ struct RTF_WCSRETINFO
865+ {
866+ ULONG size ; // Size of the structure
867+ ULONG ulStreamFlags ;
868+ /****** MAPI_NATIVE_BODY_TYPE_RTF ((ULONG) 0x00000001) mapidefs.h */
869+ /****** MAPI_NATIVE_BODY_TYPE_HTML ((ULONG) 0x00000002) mapidefs.h */
870+ /****** MAPI_NATIVE_BODY_TYPE_PLAINTEXT ((ULONG) 0x00000004) mapidefs.h */
871+ };
872+
873+ STDAPI_ (HRESULT )
874+ WrapCompressedRTFStreamEx (
875+ LPSTREAM pCompressedRTFStream ,
876+ const RTF_WCSINFO * pWCSInfo ,
877+ LPSTREAM * ppUncompressedRTFStream ,
878+ RTF_WCSRETINFO * pRetInfo );
879+
880+ _Check_return_ STDAPI OpenStreamOnFileW (
881+ _In_ LPALLOCATEBUFFER lpAllocateBuffer ,
882+ _In_ LPFREEBUFFER lpFreeBuffer ,
883+ ULONG ulFlags ,
884+ _In_z_ LPCWSTR lpszFileName ,
885+ _In_opt_z_ LPCWSTR lpszPrefix ,
886+ _Out_ LPSTREAM FAR * lppStream );
849887
850888/*
851889 * Entry point names.
0 commit comments