Nikolay Sivov : include: Add IParentAndItem definition.

Alexandre Julliard julliard at winehq.org
Thu Apr 28 16:15:31 CDT 2022


Module: wine
Branch: master
Commit: 2b4b10be9ab89dd21d342f7fb063e715284d01ff
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=2b4b10be9ab89dd21d342f7fb063e715284d01ff

Author: Nikolay Sivov <nsivov at codeweavers.com>
Date:   Thu Apr 28 08:39:05 2022 +0300

include: Add IParentAndItem definition.

Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 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 <initguid.h>
-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,




More information about the wine-cvs mailing list