From 2b4b10be9ab89dd21d342f7fb063e715284d01ff Mon Sep 17 00:00:00 2001 From: Nikolay Sivov Date: Thu, 28 Apr 2022 08:39:05 +0300 Subject: [PATCH] include: Add IParentAndItem definition. Signed-off-by: Nikolay Sivov Signed-off-by: Alexandre Julliard --- dlls/actxprxy/usrmarshal.c | 20 ++++++++++++++++++++ dlls/shell32/tests/shlfolder.c | 1 - include/shobjidl.idl | 25 +++++++++++++++++++++++++ 3 files changed, 45 insertions(+), 1 deletion(-) diff --git a/dlls/actxprxy/usrmarshal.c b/dlls/actxprxy/usrmarshal.c index 33db1327a8d..e4eada6848f 100644 --- a/dlls/actxprxy/usrmarshal.c +++ b/dlls/actxprxy/usrmarshal.c @@ -227,3 +227,23 @@ HRESULT __RPC_STUB IFolderView2_GetGroupBy_Proxy( TRACE("(%p)->(%p %p)\n", This, pkey, ascending); return IFolderView2_RemoteGetGroupBy_Proxy(This, pkey, ascending); } + +HRESULT __RPC_STUB IParentAndItem_GetParentAndItem_Stub( + IParentAndItem *This, + PIDLIST_ABSOLUTE *parent, + IShellFolder **folder, + PITEMID_CHILD *child) +{ + TRACE("(%p)->(%p %p %p)\n", This, parent, folder, child); + return IParentAndItem_GetParentAndItem(This, parent, folder, child); +} + +HRESULT __RPC_STUB IParentAndItem_GetParentAndItem_Proxy( + IParentAndItem *This, + PIDLIST_ABSOLUTE *parent, + IShellFolder **folder, + PITEMID_CHILD *child) +{ + TRACE("(%p)->(%p %p %p)\n", This, parent, folder, child); + return IParentAndItem_RemoteGetParentAndItem_Proxy(This, parent, folder, child); +} diff --git a/dlls/shell32/tests/shlfolder.c b/dlls/shell32/tests/shlfolder.c index f99045c33d5..abf2eeae17b 100644 --- a/dlls/shell32/tests/shlfolder.c +++ b/dlls/shell32/tests/shlfolder.c @@ -40,7 +40,6 @@ #include "wine/test.h" #include -DEFINE_GUID(IID_IParentAndItem, 0xB3A4B685, 0xB685, 0x4805, 0x99,0xD9, 0x5D,0xEA,0xD2,0x87,0x32,0x36); DEFINE_GUID(CLSID_ShellDocObjView, 0xe7e4bc40, 0xe76a, 0x11ce, 0xa9,0xbb, 0x00,0xaa,0x00,0x4a,0xe8,0x37); static HRESULT (WINAPI *pSHCreateItemFromIDList)(PCIDLIST_ABSOLUTE pidl, REFIID riid, void **ppv); diff --git a/include/shobjidl.idl b/include/shobjidl.idl index a23f3cfdd36..8113d9a7ff6 100644 --- a/include/shobjidl.idl +++ b/include/shobjidl.idl @@ -501,6 +501,31 @@ interface IShellItemImageFactory : IUnknown [out] HBITMAP *phbm); } +[ + object, + uuid(b3a4b685-b685-4805-99d9-5dead2873236), + pointer_default(unique) +] +interface IParentAndItem : IUnknown +{ + HRESULT SetParentAndItem( + [in, unique] PCIDLIST_ABSOLUTE parent, + [in, unique] IShellFolder *folder, + [in] PCUITEMID_CHILD child); + + [local] + HRESULT GetParentAndItem( + [out] PIDLIST_ABSOLUTE *parent, + [out] IShellFolder **folder, + [out] PITEMID_CHILD *child); + + [call_as(GetParentAndItem)] + HRESULT RemoteGetParentAndItem( + [out] PIDLIST_ABSOLUTE *parent, + [out] IShellFolder **folder, + [out] PITEMID_CHILD *child); +} + typedef [v1_enum] enum tagNWMF { NWMF_UNLOADING = 0x00000001, NWMF_USERINITED = 0x00000002,