SHCloneSpecialIDList implemented.
SHGetDataFromIDListA corrected.
diff --git a/dlls/shell32/pidl.c b/dlls/shell32/pidl.c
index b2433d4..5819b6a 100644
--- a/dlls/shell32/pidl.c
+++ b/dlls/shell32/pidl.c
@@ -134,6 +134,29 @@
return newpidl;
}
+
+/*************************************************************************
+ * SHCloneSpecialIDList [SHELL32.89]
+ *
+ * PARAMETERS
+ * hwndOwner [in]
+ * nFolder [in] CSIDL_xxxxx ??
+ *
+ * RETURNS
+ * pidl ??
+ * NOTES
+ * exported by ordinal
+ */
+LPITEMIDLIST WINAPI SHCloneSpecialIDList(HWND32 hwndOwner,DWORD nFolder,DWORD x3)
+{ LPITEMIDLIST ppidl;
+ WARN(shell,"(hwnd=0x%x,csidl=0x%lx,0x%lx):semi-stub.\n",
+ hwndOwner,nFolder,x3);
+
+ SHGetSpecialFolderLocation(hwndOwner, nFolder, &ppidl);
+
+ return ppidl;
+}
+
/*************************************************************************
* ILGlobalClone [SHELL32.97]
*
@@ -316,8 +339,9 @@
*
* NOTES
*/
-LPITEMIDLIST WINAPI SHGetRealIDL(DWORD x, DWORD y, DWORD z)
-{ FIXME(pidl,"0x%04lx 0x%04lx 0x%04lx\n",x,y,z);
+LPITEMIDLIST WINAPI SHGetRealIDL(LPSHELLFOLDER lpsf, LPITEMIDLIST pidl, DWORD z)
+{ FIXME(pidl,"sf=%p pidl=%p 0x%04lx\n",lpsf,pidl,z);
+ pdump (pidl);
return 0;
}
@@ -491,6 +515,30 @@
}
return _ILCreateValue(lpszElement);
}
+/*************************************************************************
+ * SHGetDataFromIDListA [SHELL32.247]
+ *
+ */
+HRESULT WINAPI SHGetDataFromIDList32A(LPSHELLFOLDER psf, LPCITEMIDLIST pidl, int nFormat, LPVOID dest, int len)
+{ FIXME(shell,"sf=%p pidl=%p 0x%04x %p 0x%04x stub\n",psf,pidl,nFormat,dest,len);
+ switch (nFormat)
+ { case SHGDFIL_FINDDATA:
+ case SHGDFIL_NETRESOURCE:
+ case SHGDFIL_DESCRIPTIONID:
+ break;
+ default:
+ ERR(shell,"Unknown SHGDFIL %i, please report\n", nFormat);
+ }
+ return E_INVALIDARG;
+}
+/*************************************************************************
+ * SHGetDataFromIDListW [SHELL32.247]
+ *
+ */
+HRESULT WINAPI SHGetDataFromIDList32W(LPSHELLFOLDER psf, LPCITEMIDLIST pidl, int nFormat, LPVOID dest, int len)
+{ FIXME(shell,"sf=%p pidl=%p 0x%04x %p 0x%04x stub\n",psf,pidl,nFormat,dest,len);
+ return SHGetDataFromIDList32A( psf, pidl, nFormat, dest, len);
+}
/**************************************************************************
* internal functions