From b344e147b3c3fcd16d8b01ff49a0653d39c2d56d Mon Sep 17 00:00:00 2001 From: Johannes Anderwald Date: Sun, 25 Nov 2007 20:41:28 +0000 Subject: [PATCH] - implement SHCreateDataObject - fix prototype of CIDLData_CreateFromIDArray - remove CIDLData_CreateFromIDArray from undocshell.h as its now documented in shlobj.h svn path=/trunk/; revision=30759 --- reactos/dll/win32/shell32/dataobject.c | 14 ++++++++++++++ reactos/dll/win32/shell32/shellord.c | 4 ++-- reactos/dll/win32/shell32/undocshell.h | 6 ------ 3 files changed, 16 insertions(+), 8 deletions(-) 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 */