Add stub for StgCreateStorageEx()

Francois Gouget fgouget at codeweavers.com
Fri Apr 30 01:21:24 CDT 2004


Changelog:

  * dlls/ole32/ole32.spec
    dlls/ole32/storage32.c
    include/objbase.h

    Francois Gouget <fgouget at codeweavers.com>
    Add a stub for StgCreateStorageEx(). Returns 
STG_E_UNIMPLEMENTEDFUNCTION as per MSDN. Fixes an error saving files in 
Word XP.

-- 
Francois Gouget
fgouget at codeweavers.com

-------------- next part --------------
Index: dlls/ole32/ole32.spec
===================================================================
RCS file: /var/cvs/wine/dlls/ole32/ole32.spec,v
retrieving revision 1.52
diff -u -r1.52 ole32.spec
--- a/dlls/ole32/ole32.spec	11 Sep 2003 03:05:00 -0000	1.52
+++ b/dlls/ole32/ole32.spec	29 Apr 2004 23:06:36 -0000
@@ -233,7 +233,7 @@
 @ stub SNB_UserUnmarshal
 @ stdcall StgCreateDocfile(wstr long long ptr)
 @ stdcall StgCreateDocfileOnILockBytes(ptr long long ptr)
-@ stub StgCreateStorageEx
+@ stdcall StgCreateStorageEx(wstr long long long ptr ptr ptr ptr)
 @ stub StgGetIFillLockBytesOnFile
 @ stub StgGetIFillLockBytesOnILockBytes
 @ stdcall StgIsStorageFile(wstr)
Index: dlls/ole32/storage32.c
===================================================================
RCS file: /var/cvs/wine/dlls/ole32/storage32.c,v
retrieving revision 1.49
diff -u -r1.49 storage32.c
--- a/dlls/ole32/storage32.c	20 Apr 2004 02:14:00 -0000	1.49
+++ b/dlls/ole32/storage32.c	29 Apr 2004 23:06:36 -0000
@@ -5536,6 +5536,13 @@
   return hr;
 }
 
+HRESULT WINAPI StgCreateStorageEx(const WCHAR* pwcsName, DWORD grfMode, DWORD stgfmt, DWORD grfAttrs, STGOPTIONS* pStgOptions, void* reserved, REFIID riid, void** ppObjectOpen)
+{
+    TRACE("(%s, %lx, %lx, %lx, %p, %p, %p, %p)\n", debugstr_w(pwcsName),
+          grfMode, stgfmt, grfAttrs, pStgOptions, reserved, riid, ppObjectOpen);
+    return STG_E_UNIMPLEMENTEDFUNCTION;
+}
+
 /******************************************************************************
  *              StgOpenStorage        [OLE32.@]
  */
Index: include/objbase.h
===================================================================
RCS file: /var/cvs/wine/include/objbase.h,v
retrieving revision 1.38
diff -u -r1.38 objbase.h
--- a/include/objbase.h	23 Jan 2004 22:51:42 -0000	1.38
+++ b/include/objbase.h	29 Apr 2004 23:06:36 -0000
@@ -495,7 +495,16 @@
 #define STGM_NOSCRATCH		0x00100000
 #define STGM_NOSNAPSHOT		0x00200000
 
+typedef struct tagSTGOPTIONS
+{
+    USHORT usVersion;
+    USHORT reserved;
+    ULONG ulSectorSize;
+    const WCHAR* pwcsTemplateFile;
+} STGOPTIONS;
+
 HRESULT WINAPI StgCreateDocfile(LPCOLESTR pwcsName,DWORD grfMode,DWORD reserved,IStorage **ppstgOpen);
+HRESULT WINAPI StgCreateStorageEx(const WCHAR*,DWORD,DWORD,DWORD,STGOPTIONS*,void*,REFIID,void**);
 HRESULT WINAPI StgIsStorageFile(LPCOLESTR fn);
 HRESULT WINAPI StgIsStorageILockBytes(ILockBytes *plkbyt);
 HRESULT WINAPI StgOpenStorage(const OLECHAR* pwcsName,IStorage* pstgPriority,DWORD grfMode,SNB snbExclude,DWORD reserved,IStorage**ppstgOpen);


More information about the wine-patches mailing list