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>
13 public CComCoClass
<CBandSiteMenu
, &CLSID_ISFBand
>,
14 public CComObjectRootEx
<CComMultiThreadModelNoCS
>,
15 public IObjectWithSite
,
17 public IPersistStream
,
18 public IWinEventHandler
,
19 public IOleCommandTarget
,
20 public IShellFolderBand
,
25 CComPtr
<IUnknown
> m_Site
;
28 CComPtr
<IShellFolder
> m_pISF
;
29 PIDLIST_ABSOLUTE m_pidl
;
42 HRESULT
CreateSimpleToolbar(HWND hWndParent
);
46 virtual STDMETHODIMP
GetSite(
51 virtual STDMETHODIMP
SetSite(
57 virtual STDMETHODIMP
GetWindow(
61 virtual STDMETHODIMP
ContextSensitiveHelp(
65 virtual STDMETHODIMP
ShowDW(
69 virtual STDMETHODIMP
CloseDW(
73 virtual STDMETHODIMP
ResizeBorderDW(
75 IUnknown
*punkToolbarSite
,
79 virtual STDMETHODIMP
GetBandInfo(
82 IN OUT DESKBANDINFO
*pdbi
87 virtual STDMETHODIMP
GetClassID(
91 virtual STDMETHODIMP
GetSizeMax(
92 OUT ULARGE_INTEGER
*pcbSize
95 virtual STDMETHODIMP
IsDirty();
97 virtual STDMETHODIMP
Load(
101 virtual STDMETHODIMP
Save(
108 virtual STDMETHODIMP
ContainsWindow(
112 virtual STDMETHODIMP
OnWinEvent(
120 virtual STDMETHODIMP
IsWindowOwner(
126 virtual STDMETHODIMP
Exec(
127 IN
const GUID
*pguidCmdGroup
,
129 IN DWORD nCmdexecopt
,
131 IN OUT VARIANT
*pvaOut
134 virtual STDMETHODIMP
QueryStatus(
135 IN
const GUID
*pguidCmdGroup
,
137 IN OUT OLECMD prgCmds
[],
138 IN OUT OLECMDTEXT
*pCmdText
142 virtual STDMETHODIMP
GetBandInfoSFB(
146 virtual STDMETHODIMP
InitializeSFB(
148 PCIDLIST_ABSOLUTE pidl
151 virtual STDMETHODIMP
SetBandInfoSFB(
156 virtual STDMETHODIMP
GetCommandString(
164 virtual STDMETHODIMP
InvokeCommand(
165 LPCMINVOKECOMMANDINFO pici
168 virtual STDMETHODIMP
QueryContextMenu(
176 //*****************************************************************************************************
178 DECLARE_REGISTRY_RESOURCEID(IDR_ISFBAND
)
179 DECLARE_NOT_AGGREGATABLE(CISFBand
)
180 DECLARE_PROTECT_FINAL_CONSTRUCT()
182 BEGIN_COM_MAP(CISFBand
)
183 COM_INTERFACE_ENTRY2_IID(IID_IOleWindow
, IOleWindow
, IDeskBand
)
184 COM_INTERFACE_ENTRY2_IID(IID_IDockingWindow
, IDockingWindow
, IDeskBand
)
185 COM_INTERFACE_ENTRY_IID(IID_IDeskBand
, IDeskBand
)
186 COM_INTERFACE_ENTRY_IID(IID_IObjectWithSite
, IObjectWithSite
)
187 COM_INTERFACE_ENTRY_IID(IID_IPersist
, IPersist
)
188 COM_INTERFACE_ENTRY_IID(IID_IPersistStream
, IPersistStream
)
189 COM_INTERFACE_ENTRY_IID(IID_IWinEventHandler
, IWinEventHandler
)
190 COM_INTERFACE_ENTRY_IID(IID_IOleCommandTarget
, IOleCommandTarget
)
191 COM_INTERFACE_ENTRY_IID(IID_IShellFolderBand
, IShellFolderBand
)
192 COM_INTERFACE_ENTRY_IID(IID_IContextMenu
, IContextMenu
)
196 extern "C" HRESULT WINAPI
RSHELL_CISFBand_CreateInstance(REFIID riid
, void** ppv
);