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 PCIDLIST_ABSOLUTE m_pidl
;
40 HRESULT
CreateSimpleToolbar(HWND hWndParent
);
44 virtual STDMETHODIMP
GetSite(
49 virtual STDMETHODIMP
SetSite(
55 virtual STDMETHODIMP
GetWindow(
59 virtual STDMETHODIMP
ContextSensitiveHelp(
63 virtual STDMETHODIMP
ShowDW(
67 virtual STDMETHODIMP
CloseDW(
71 virtual STDMETHODIMP
ResizeBorderDW(
73 IUnknown
*punkToolbarSite
,
77 virtual STDMETHODIMP
GetBandInfo(
80 IN OUT DESKBANDINFO
*pdbi
85 virtual STDMETHODIMP
GetClassID(
89 virtual STDMETHODIMP
GetSizeMax(
90 OUT ULARGE_INTEGER
*pcbSize
93 virtual STDMETHODIMP
IsDirty();
95 virtual STDMETHODIMP
Load(
99 virtual STDMETHODIMP
Save(
106 virtual STDMETHODIMP
ContainsWindow(
110 virtual STDMETHODIMP
OnWinEvent(
118 virtual STDMETHODIMP
IsWindowOwner(
124 virtual STDMETHODIMP
Exec(
125 IN
const GUID
*pguidCmdGroup
,
127 IN DWORD nCmdexecopt
,
129 IN OUT VARIANT
*pvaOut
132 virtual STDMETHODIMP
QueryStatus(
133 IN
const GUID
*pguidCmdGroup
,
135 IN OUT OLECMD prgCmds
[],
136 IN OUT OLECMDTEXT
*pCmdText
140 virtual STDMETHODIMP
GetBandInfoSFB(
144 virtual STDMETHODIMP
InitializeSFB(
146 PCIDLIST_ABSOLUTE pidl
149 virtual STDMETHODIMP
SetBandInfoSFB(
154 virtual STDMETHODIMP
GetCommandString(
162 virtual STDMETHODIMP
InvokeCommand(
163 LPCMINVOKECOMMANDINFO pici
166 virtual STDMETHODIMP
QueryContextMenu(
174 //*****************************************************************************************************
176 DECLARE_REGISTRY_RESOURCEID(IDR_ISFBAND
)
177 DECLARE_NOT_AGGREGATABLE(CISFBand
)
178 DECLARE_PROTECT_FINAL_CONSTRUCT()
180 BEGIN_COM_MAP(CISFBand
)
181 COM_INTERFACE_ENTRY2_IID(IID_IOleWindow
, IOleWindow
, IDeskBand
)
182 COM_INTERFACE_ENTRY2_IID(IID_IDockingWindow
, IDockingWindow
, IDeskBand
)
183 COM_INTERFACE_ENTRY_IID(IID_IDeskBand
, IDeskBand
)
184 COM_INTERFACE_ENTRY_IID(IID_IObjectWithSite
, IObjectWithSite
)
185 COM_INTERFACE_ENTRY_IID(IID_IPersist
, IPersist
)
186 COM_INTERFACE_ENTRY_IID(IID_IPersistStream
, IPersistStream
)
187 COM_INTERFACE_ENTRY_IID(IID_IWinEventHandler
, IWinEventHandler
)
188 COM_INTERFACE_ENTRY_IID(IID_IOleCommandTarget
, IOleCommandTarget
)
189 COM_INTERFACE_ENTRY_IID(IID_IShellFolderBand
, IShellFolderBand
)
190 COM_INTERFACE_ENTRY_IID(IID_IContextMenu
, IContextMenu
)
196 HRESULT WINAPI
CISFBand_CreateInstance(REFIID riid
, void** ppv
);