Add SHCreateStdEnumFmtEtc to shell32.dll

Rolf Kalbermatter rolf.kalbermatter at citeng.com
Thu Sep 5 16:16:29 CDT 2002


Replace stub definition for SHCreateStdEnumFmtEtc with real function

Changelog:

 * dlls/shell32/shell32.spec
   dlls/shell32/shellord.c

   Implement SHCreateStdEnumFmtEtc

Index: dlls/shell32/shell32.spec
===================================================================
RCS file: /home/wine/wine/dlls/shell32/shell32.spec,v
retrieving revision 1.55
diff -u -r1.55 shell32.spec
--- dlls/shell32/shell32.spec	14 Aug 2002 21:03:07 -0000	1.55
+++ dlls/shell32/shell32.spec	5 Sep 2002 20:54:42 -0000
@@ -67,7 +67,7 @@
   71 stdcall Shell_GetImageList(ptr ptr) Shell_GetImageList
   72 stdcall Shell_GetCachedImageIndex(ptr ptr long)
Shell_GetCachedImageIndexAW
   73 stdcall SHShellFolderView_Message(long long long)
SHShellFolderView_Message
-  74 stub SHCreateStdEnumFmtEtc
+  74 stdcall SHCreateStdEnumFmtEtc(long ptr ptr) SHCreateStdEnumFmtEtc
   75 stdcall PathYetAnotherMakeUniqueName(ptr ptr ptr ptr)
PathYetAnotherMakeUniqueNameA
   76 stub DragQueryInfo
   77 stdcall SHMapPIDLToSystemImageListIndex(long long long)
SHMapPIDLToSystemImageListIndex

Index: dlls/shell32/shellord.c
===================================================================
RCS file: /home/wine/wine/dlls/shell32/shellord.c,v
retrieving revision 1.103
diff -u -r1.103 shellord.c
--- dlls/shell32/shellord.c	17 Aug 2002 00:21:54 -0000	1.103
+++ dlls/shell32/shellord.c	5 Sep 2002 20:56:25 -0000
@@ -19,6 +19,8 @@
  * License along with this library; if not, write to the Free Software
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
USA
  */
+#include "config.h"
+
 #include <string.h>
 #include <stdio.h>
 #include "winerror.h"
@@ -257,6 +259,32 @@
 	FIXME("%04x %08lx %08lx stub\n",hwndCabinet, dwMessage, dwParam);
 	return 0;
 }
+
+/*************************************************************************
+ * SHCreateStdEnumFmtEtc			[SHELL32.74]
+ *
+ * NOTES
+ *
+ */
+HRESULT WINAPI SHCreateStdEnumFmtEtc(
+	DWORD cFormats,
+	const FORMATETC *lpFormats,
+	LPENUMFORMATETC *ppenumFormatetc)
+{
+	IEnumFORMATETC *pef;
+	HRESULT hRes;
+	TRACE("cf=%d fe=%p pef=%p\n", cFormats, lpFormats, ppenumFormatetc);
+
+	pef = IEnumFORMATETC_Constructor(cFormats, lpFormats);
+	if (!pef)
+	  return E_OUTOFMEMORY;
+
+	IEnumFORMATETC_AddRef(pef);
+	hRes = IEnumFORMATETC_QueryInterface(pef, &IID_IEnumFORMATETC, (LPVOID
*)ppenumFormatetc);
+	IEnumFORMATETC_Release(pef);
+
+	return hRes;
+}

 /*************************************************************************
  * RegisterShellHook				[SHELL32.181]

Rolf Kalbermatter





More information about the wine-patches mailing list