https://git.reactos.org/?p=reactos.git;a=commitdiff;h=d114f48fd4045291d49c6…
commit d114f48fd4045291d49c65521fb7459ba4d416b2
Author: Giannis Adamopoulos <gadamopoulos(a)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);
+}