diff --git a/reactos/dll/win32/shell32/dataobject.c b/reactos/dll/win32/shell32/dataobject.c index 9d42868a33c..e3d9487ed98 100644 --- a/reactos/dll/win32/shell32/dataobject.c +++ b/reactos/dll/win32/shell32/dataobject.c @@ -451,3 +451,17 @@ LPDATAOBJECT IDataObject_Constructor(HWND hwndOwner, TRACE("(%p)->(apidl=%p cidl=%u)\n",dto, apidl, cidl); return (LPDATAOBJECT)dto; } + +/************************************************************************* + * SHCreateDataObject [SHELL32.@] + * + */ + +HRESULT WINAPI SHCreateDataObject(LPCITEMIDLIST pidlFolder, UINT cidl, LPCITEMIDLIST* apidl, IDataObject *pdtInner, REFIID riid, void **ppv) +{ + if (IsEqualIID(riid, &IID_IDataObject)) + { + return CIDLData_CreateFromIDArray(pidlFolder, cidl, apidl, ppv); + } + return E_FAIL; +} diff --git a/reactos/dll/win32/shell32/shellord.c b/reactos/dll/win32/shell32/shellord.c index c865b52a4f7..5513b5d4ddd 100644 --- a/reactos/dll/win32/shell32/shellord.c +++ b/reactos/dll/win32/shell32/shellord.c @@ -1816,9 +1816,9 @@ void WINAPI SHDestroyPropSheetExtArray(HPSXA hpsxa) */ HRESULT WINAPI CIDLData_CreateFromIDArray( LPCITEMIDLIST pidlFolder, - DWORD cpidlFiles, + UINT cpidlFiles, LPCITEMIDLIST *lppidlFiles, - LPDATAOBJECT *ppdataObject) + IDataObject **ppdataObject) { UINT i; HWND hwnd = 0; /*FIXME: who should be hwnd of owner? set to desktop */ diff --git a/reactos/dll/win32/shell32/undocshell.h b/reactos/dll/win32/shell32/undocshell.h index e43f361dc65..fb42ac78bb9 100644 --- a/reactos/dll/win32/shell32/undocshell.h +++ b/reactos/dll/win32/shell32/undocshell.h @@ -350,12 +350,6 @@ BOOL WINAPI DAD_SetDragImageFromListView( BOOL WINAPI DAD_ShowDragImage(BOOL bShow); -HRESULT WINAPI CIDLData_CreateFromIDArray( - LPCITEMIDLIST pidlFolder, - DWORD cpidlFiles, - LPCITEMIDLIST *lppidlFiles, - LPDATAOBJECT *ppdataObject); - /**************************************************************************** * Path Manipulation Routines */