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