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);
+}

Reply via email to