mapi32: Forward WrapCompressedRTFStream to the registered provider, if any.

Hans Leidekker hans at codeweavers.com
Wed Oct 17 04:09:08 CDT 2012


---
 dlls/mapi32/mapi32.spec |    2 +-
 dlls/mapi32/util.c      |   13 +++++++++++++
 dlls/mapi32/util.h      |    1 +
 3 files changed, 15 insertions(+), 1 deletion(-)

diff --git a/dlls/mapi32/mapi32.spec b/dlls/mapi32/mapi32.spec
index c84cfd4..82ea8a7 100644
--- a/dlls/mapi32/mapi32.spec
+++ b/dlls/mapi32/mapi32.spec
@@ -122,7 +122,7 @@
 182 stdcall FBadColumnSet at 4(ptr) FBadColumnSet
 183 stub RTFSync at 12
 184 stub RTFSync
-185 stub WrapCompressedRTFStream at 12
+185 stdcall WrapCompressedRTFStream at 12(ptr long ptr) WrapCompressedRTFStream
 186 stub WrapCompressedRTFStream
 187 stub __ValidateParameters at 8
 188 stub __CPPValidateParameters at 8
diff --git a/dlls/mapi32/util.c b/dlls/mapi32/util.c
index 2b1957c..89d866c 100644
--- a/dlls/mapi32/util.c
+++ b/dlls/mapi32/util.c
@@ -935,6 +935,18 @@ HRESULT WINAPI HrQueryAllRows(LPMAPITABLE lpTable, LPSPropTagArray lpPropTags,
     return MAPI_E_CALL_FAILED;
 }
 
+/**************************************************************************
+ *  WrapCompressedRTFStream   (MAPI32.185)
+ */
+HRESULT WINAPI WrapCompressedRTFStream(LPSTREAM compressed, ULONG flags, LPSTREAM *uncompressed)
+{
+    if (mapiFunctions.WrapCompressedRTFStream)
+        return mapiFunctions.WrapCompressedRTFStream(compressed, flags, uncompressed);
+
+    FIXME("(%p, 0x%08x, %p): stub\n", compressed, flags, uncompressed);
+    return MAPI_E_NO_SUPPORT;
+}
+
 static HMODULE mapi_provider;
 static HMODULE mapi_ex_provider;
 
@@ -1099,6 +1111,7 @@ void load_mapi_providers(void)
         mapiFunctions.MAPIOpenLocalFormContainer = (void *) GetProcAddress(mapi_ex_provider, "MAPIOpenLocalFormContainer");
         mapiFunctions.OpenStreamOnFile = (void*) GetProcAddress(mapi_ex_provider, "OpenStreamOnFile at 24");
         mapiFunctions.ScInitMapiUtil = (void*) GetProcAddress(mapi_ex_provider, "ScInitMapiUtil at 4");
+        mapiFunctions.WrapCompressedRTFStream = (void*) GetProcAddress(mapi_ex_provider, "WrapCompressedRTFStream at 12");
     }
 
 cleanUp:
diff --git a/dlls/mapi32/util.h b/dlls/mapi32/util.h
index 4582855..e8a5241 100644
--- a/dlls/mapi32/util.h
+++ b/dlls/mapi32/util.h
@@ -59,6 +59,7 @@ typedef struct MAPI_FUNCTIONS {
     HRESULT  (WINAPI *HrQueryAllRows)             (LPMAPITABLE, LPSPropTagArray, LPSRestriction, LPSSortOrderSet, LONG, LPSRowSet *);
     HRESULT  (WINAPI *OpenStreamOnFile)           (LPALLOCATEBUFFER, LPFREEBUFFER, ULONG, LPWSTR, LPWSTR, LPSTREAM *);
     SCODE    (WINAPI *ScInitMapiUtil)             (ULONG ulReserved);
+    HRESULT  (WINAPI *WrapCompressedRTFStream)    (LPSTREAM, ULONG, LPSTREAM *);
 } MAPI_FUNCTIONS;
 
 extern MAPI_FUNCTIONS mapiFunctions DECLSPEC_HIDDEN;
-- 
1.7.10.4






More information about the wine-patches mailing list