https://git.reactos.org/?p=reactos.git;a=commitdiff;h=d114f48fd4045291d49c65521fb7459ba4d416b2
commit d114f48fd4045291d49c65521fb7459ba4d416b2 Author: Giannis Adamopoulos <gadamopou...@reactos.org> AuthorDate: Mon Oct 16 16:35:11 2017 +0300 [PSDK] Add CLSID_ISFBand, IShellFolderBand and IFolderBandPriv --- sdk/include/psdk/shlguid.h | 4 ++++ sdk/include/psdk/shlobj.h | 33 +++++++++++++++++++++++++++++++++ sdk/include/psdk/shobjidl.idl | 17 +++++++++++++++++ 3 files changed, 54 insertions(+) diff --git a/sdk/include/psdk/shlguid.h b/sdk/include/psdk/shlguid.h index fa9b433373..3518f3c0e9 100644 --- a/sdk/include/psdk/shlguid.h +++ b/sdk/include/psdk/shlguid.h @@ -263,4 +263,8 @@ DEFINE_GUID(BHID_ThumbnailHandler, 0x7B2E650A, 0x8E20, 0x4F4A, 0xB0,0x9E, 0x65,0 DEFINE_GUID(BHID_AssociationArray, 0xBEA9EF17, 0x82F1, 0x4F60, 0x92,0x84, 0x4F,0x8D,0xB7,0x5C,0x3B,0xE9); DEFINE_GUID(BHID_EnumAssocHandlers,0xB8AB0B9C, 0xC2EC, 0x4F7A, 0x91,0x8D, 0x31,0x49,0x00,0xE6,0x28,0x0A); +DEFINE_GUID(CLSID_ISFBand, 0xD82BE2B0, 0x5764, 0x11D0, 0xA9, 0x6E, 0x00, 0xC0, 0x4F, 0xD7, 0x05, 0xA2); +DEFINE_GUID(IID_IShellFolderBand, 0x7fe80cc8, 0xc247, 0x11d0, 0xb9, 0x3a, 0x00, 0xa0, 0xc9, 0x03, 0x12, 0xe1); +DEFINE_GUID(IID_IFolderBandPriv, 0x47c01f95, 0xe185, 0x412c, 0xb5, 0xc5, 0x4f, 0x27, 0xdf, 0x96, 0x5a, 0xea); + #endif /* __WINE_SHLGUID_H */ diff --git a/sdk/include/psdk/shlobj.h b/sdk/include/psdk/shlobj.h index 853e30cd06..fe01c6a1c7 100644 --- a/sdk/include/psdk/shlobj.h +++ b/sdk/include/psdk/shlobj.h @@ -2386,6 +2386,39 @@ DECLARE_INTERFACE_(IDockingWindowSite, IOleWindow) typedef void (CALLBACK *PFNASYNCICONTASKBALLBACK)(LPCITEMIDLIST pidl, LPVOID pvData, LPVOID pvHint, INT iIconIndex, INT iOpenIconIndex); +#include <pshpack8.h> + +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 <poppack.h> + +#undef INTERFACE +#define INTERFACE IShellFolderBand + +DECLARE_INTERFACE_(IShellFolderBand, IUnknown) +{ + // *** IUnknown methods *** + STDMETHOD(QueryInterface) (THIS_ REFIID riid, 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/sdk/include/psdk/shobjidl.idl b/sdk/include/psdk/shobjidl.idl index 5590163068..efcf9a362b 100644 --- a/sdk/include/psdk/shobjidl.idl +++ b/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); +}