From a34b262695c6515d29cee7136b7b8a9ddc3b60e1 Mon Sep 17 00:00:00 2001 From: Giannis Adamopoulos Date: Tue, 13 Jun 2017 15:00:50 +0000 Subject: [PATCH] [PSDK] -Add IShellFolderBand and IFolderBandPriv interfaces. svn path=/branches/GSoC_2017/shellext/; revision=75025 --- reactos/sdk/include/psdk/shlobj.h | 33 +++++++++++++++++++++++++++ reactos/sdk/include/psdk/shobjidl.idl | 17 ++++++++++++++ 2 files changed, 50 insertions(+) diff --git a/reactos/sdk/include/psdk/shlobj.h b/reactos/sdk/include/psdk/shlobj.h index 277c521a1b4..710fcfb796f 100644 --- a/reactos/sdk/include/psdk/shlobj.h +++ b/reactos/sdk/include/psdk/shlobj.h @@ -2384,6 +2384,39 @@ DECLARE_INTERFACE_(IDockingWindowSite, IOleWindow) typedef void (CALLBACK *PFNASYNCICONTASKBALLBACK)(LPCITEMIDLIST pidl, LPVOID pvData, LPVOID pvHint, INT iIconIndex, INT iOpenIconIndex); +#include + +typedef struct { + DWORD dwMask; + DWORD dwStateMask; + DWORD dwState; + COLORREF crBkgnd; + COLORREF crBtnLt; + COLORREF crBtnDk; + WORD wViewMode; + WORD wAlign; + IShellFolder * psf; + PIDLIST_ABSOLUTE pidl; +} BANDINFOSFB, *PBANDINFOSFB; + +#include + +#undef INTERFACE +#define INTERFACE IShellFolderBand + +DECLARE_INTERFACE_(IShellFolderBand, IUnknown) +{ + // *** IUnknown methods *** + STDMETHOD(QueryInterface) (THIS_ REFIID riid, __out void **ppv) PURE; + STDMETHOD_(ULONG,AddRef) (THIS) PURE; + STDMETHOD_(ULONG,Release) (THIS) PURE; + + // *** IShellFolderBand Methods *** + STDMETHOD(InitializeSFB)(THIS_ IShellFolder *psf, PCIDLIST_ABSOLUTE pidl) PURE; + STDMETHOD(SetBandInfoSFB)(THIS_ PBANDINFOSFB pbi) PURE; + STDMETHOD(GetBandInfoSFB)(THIS_ PBANDINFOSFB pbi) PURE; +}; + /***************************************************************************** * Control Panel functions */ diff --git a/reactos/sdk/include/psdk/shobjidl.idl b/reactos/sdk/include/psdk/shobjidl.idl index 55901630686..efcf9a362b5 100644 --- a/reactos/sdk/include/psdk/shobjidl.idl +++ b/reactos/sdk/include/psdk/shobjidl.idl @@ -4458,3 +4458,20 @@ interface IShellTaskScheduler : IUnknown [in] DWORD dwReleaseStatus, [in] DWORD dwThreadTimeout); } + + +[ + uuid(47c01f95-e185-412c-b5c5-4f27df965aea), + object, + pointer_default(unique) +] +interface IFolderBandPriv : IUnknown +{ + HRESULT SetCascade([in] BOOL fCascade); + + HRESULT SetAccelerators([in] BOOL fAccelerators); + + HRESULT SetNoIcons([in] BOOL fNoIcons); + + HRESULT SetNoText([in] BOOL fNoText); +}