2 * PROJECT: ReactOS shell extensions
3 * LICENSE: GPL - See COPYING in the top level directory
4 * FILE: dll/shellext/qcklnch/CISFBand.h
5 * PURPOSE: Quick Launch Toolbar (Taskbar Shell Extension)
6 * PROGRAMMERS: Shriraj Sawant a.k.a SR13 <sr.official@hotmail.com>
12 public CComCoClass
<CBandSiteMenu
, &CLSID_ISFBand
>,
13 public CComObjectRootEx
<CComMultiThreadModelNoCS
>,
14 public IObjectWithSite
,
16 public IPersistStream
,
17 public IWinEventHandler
,
18 public IOleCommandTarget
,
19 public IShellFolderBand
,
24 CComPtr
<IUnknown
> m_Site
;
27 CComPtr
<IShellFolder
> m_pISF
;
28 PIDLIST_ABSOLUTE m_pidl
;
41 HRESULT
CreateSimpleToolbar(HWND hWndParent
);
45 virtual STDMETHODIMP
GetSite(
50 virtual STDMETHODIMP
SetSite(
56 virtual STDMETHODIMP
GetWindow(
60 virtual STDMETHODIMP
ContextSensitiveHelp(
64 virtual STDMETHODIMP
ShowDW(
68 virtual STDMETHODIMP
CloseDW(
72 virtual STDMETHODIMP
ResizeBorderDW(
74 IUnknown
*punkToolbarSite
,
78 virtual STDMETHODIMP
GetBandInfo(
81 IN OUT DESKBANDINFO
*pdbi
86 virtual STDMETHODIMP
GetClassID(
90 virtual STDMETHODIMP
GetSizeMax(
91 OUT ULARGE_INTEGER
*pcbSize
94 virtual STDMETHODIMP
IsDirty();
96 virtual STDMETHODIMP
Load(
100 virtual STDMETHODIMP
Save(
107 virtual STDMETHODIMP
ContainsWindow(
111 virtual STDMETHODIMP
OnWinEvent(
119 virtual STDMETHODIMP
IsWindowOwner(
125 virtual STDMETHODIMP
Exec(
126 IN
const GUID
*pguidCmdGroup
,
128 IN DWORD nCmdexecopt
,
130 IN OUT VARIANT
*pvaOut
133 virtual STDMETHODIMP
QueryStatus(
134 IN
const GUID
*pguidCmdGroup
,
136 IN OUT OLECMD prgCmds
[],
137 IN OUT OLECMDTEXT
*pCmdText
141 virtual STDMETHODIMP
GetBandInfoSFB(
145 virtual STDMETHODIMP
InitializeSFB(
147 PCIDLIST_ABSOLUTE pidl
150 virtual STDMETHODIMP
SetBandInfoSFB(
155 virtual STDMETHODIMP
GetCommandString(
163 virtual STDMETHODIMP
InvokeCommand(
164 LPCMINVOKECOMMANDINFO pici
167 virtual STDMETHODIMP
QueryContextMenu(
175 //*****************************************************************************************************
177 DECLARE_REGISTRY_RESOURCEID(IDR_ISFBAND
)
178 DECLARE_NOT_AGGREGATABLE(CISFBand
)
179 DECLARE_PROTECT_FINAL_CONSTRUCT()
181 BEGIN_COM_MAP(CISFBand
)
182 COM_INTERFACE_ENTRY2_IID(IID_IOleWindow
, IOleWindow
, IDeskBand
)
183 COM_INTERFACE_ENTRY2_IID(IID_IDockingWindow
, IDockingWindow
, IDeskBand
)
184 COM_INTERFACE_ENTRY_IID(IID_IDeskBand
, IDeskBand
)
185 COM_INTERFACE_ENTRY_IID(IID_IObjectWithSite
, IObjectWithSite
)
186 COM_INTERFACE_ENTRY_IID(IID_IPersist
, IPersist
)
187 COM_INTERFACE_ENTRY_IID(IID_IPersistStream
, IPersistStream
)
188 COM_INTERFACE_ENTRY_IID(IID_IWinEventHandler
, IWinEventHandler
)
189 COM_INTERFACE_ENTRY_IID(IID_IOleCommandTarget
, IOleCommandTarget
)
190 COM_INTERFACE_ENTRY_IID(IID_IShellFolderBand
, IShellFolderBand
)
191 COM_INTERFACE_ENTRY_IID(IID_IContextMenu
, IContextMenu
)
195 extern "C" HRESULT WINAPI
RSHELL_CISFBand_CreateInstance(REFIID riid
, void** ppv
);