shlwapi: IUnknown_EnumObjects
Huw D M Davies
h.davies1 at physics.ox.ac.uk
Wed Aug 10 05:37:25 CDT 2005
Huw Davies <huw at codeweavers.com>
Implement IUnknown_EnumObjects
--
Huw Davies
huw at codeweavers.com
Index: dlls/shlwapi/ordinal.c
===================================================================
RCS file: /home/wine/wine/dlls/shlwapi/ordinal.c,v
retrieving revision 1.111
diff -u -p -r1.111 ordinal.c
--- dlls/shlwapi/ordinal.c 9 Aug 2005 10:21:35 -0000 1.111
+++ dlls/shlwapi/ordinal.c 10 Aug 2005 10:35:47 -0000
@@ -3579,6 +3579,31 @@ BOOL WINAPI GetOpenFileNameWrapW(LPOPENF
return pGetOpenFileNameW(ofn);
}
+/*************************************************************************
+ * @ [SHLWAPI.404]
+ */
+HRESULT WINAPI IUnknown_EnumObjects(LPSHELLFOLDER lpFolder, HWND hwnd, SHCONTF flags, IEnumIDList **ppenum)
+{
+ IPersist *persist;
+ HRESULT hr;
+
+ hr = IShellFolder_QueryInterface(lpFolder, &IID_IPersist, (LPVOID)&persist);
+ if(SUCCEEDED(hr))
+ {
+ CLSID clsid;
+ hr = IPersist_GetClassID(persist, &clsid);
+ if(SUCCEEDED(hr))
+ {
+ if(IsEqualCLSID(&clsid, &CLSID_ShellFSFolder))
+ hr = IShellFolder_EnumObjects(lpFolder, hwnd, flags, ppenum);
+ else
+ hr = E_FAIL;
+ }
+ IPersist_Release(persist);
+ }
+ return hr;
+}
+
/* INTERNAL: Map from HLS color space to RGB */
static WORD WINAPI ConvertHue(int wHue, WORD wMid1, WORD wMid2)
{
Index: dlls/shlwapi/shlwapi.spec
===================================================================
RCS file: /home/wine/wine/dlls/shlwapi/shlwapi.spec,v
retrieving revision 1.104
diff -u -p -r1.104 shlwapi.spec
--- dlls/shlwapi/shlwapi.spec 9 Aug 2005 20:34:57 -0000 1.104
+++ dlls/shlwapi/shlwapi.spec 10 Aug 2005 10:35:47 -0000
@@ -401,7 +401,7 @@
401 stdcall -noname PageSetupDlgWrapW(ptr)
402 stdcall -noname PrintDlgWrapW(ptr)
403 stdcall -noname GetOpenFileNameWrapW(ptr)
-404 stub -noname IShellFolder_EnumObjects
+404 stdcall -noname IUnknown_EnumObjects(ptr ptr long ptr)
405 stdcall -noname MLBuildResURLA(str ptr long str ptr long)
406 stdcall -noname MLBuildResURLW(wstr ptr long wstr ptr long)
407 stub -noname AssocMakeProgid
More information about the wine-patches
mailing list