ReactOS 0.4.15-dev-7942-gd23573b
CQuickLaunchBand.h
Go to the documentation of this file.
1/*
2 * PROJECT: ReactOS shell extensions
3 * LICENSE: GPL - See COPYING in the top level directory
4 * FILE: dll/shellext/qcklnch/CQuickLaunchBand.h
5 * PURPOSE: Quick Launch Toolbar (Taskbar Shell Extension)
6 * PROGRAMMERS: Shriraj Sawant a.k.a SR13 <sr.official@hotmail.com>
7 */
8#pragma once
9
10extern const GUID CLSID_QuickLaunchBand;
11
12// Component category registration
15
16// COM class for quick launch
18 public CComCoClass<CQuickLaunchBand, &CLSID_QuickLaunchBand>,
19 public CComObjectRootEx<CComMultiThreadModelNoCS>,
20 public IObjectWithSite,
21 public IDeskBand,
22 public IPersistStream,
23 public IWinEventHandler,
24 public IOleCommandTarget,
25 public IContextMenu
26{
28 CComPtr<IUnknown> m_punkISFB;
29
30 public:
31
33 virtual ~CQuickLaunchBand();
34
36
37// ATL construct
38
40
41// IObjectWithSite
42
45 OUT void **ppvSite) override;
46
47 STDMETHOD(SetSite)(IN IUnknown *pUnkSite) override;
48
49// IDeskBand
50
51 STDMETHOD(GetWindow)(OUT HWND *phwnd) override;
52
53 STDMETHOD(ContextSensitiveHelp)(IN BOOL fEnterMode) override;
54
55 STDMETHOD(ShowDW)(IN BOOL bShow) override;
56
58
60 LPCRECT prcBorder,
61 IUnknown *punkToolbarSite,
62 BOOL fReserved) override;
63
65 IN DWORD dwBandID,
66 IN DWORD dwViewMode,
67 IN OUT DESKBANDINFO *pdbi) override;
68
69// IPersistStream
70
71 STDMETHOD(GetClassID)(OUT CLSID *pClassID) override;
72
73 STDMETHOD(GetSizeMax)(OUT ULARGE_INTEGER *pcbSize) override;
74
75 STDMETHOD(IsDirty)() override;
76
77 STDMETHOD(Load)(IN IStream *pStm) override;
78
80 IN IStream *pStm,
81 IN BOOL fClearDirty) override;
82
83// IWinEventHandler
84
86 HWND hWnd,
87 UINT uMsg,
90 LRESULT *theResult) override;
91
93
94// IOleCommandTarget
95
97 IN const GUID *pguidCmdGroup,
98 IN DWORD nCmdID,
99 IN DWORD nCmdexecopt,
100 IN VARIANT *pvaIn,
101 IN OUT VARIANT *pvaOut) override;
102
104 IN const GUID *pguidCmdGroup,
105 IN ULONG cCmds,
106 IN OUT OLECMD prgCmds[],
107 IN OUT OLECMDTEXT *pCmdText) override;
108
109// IContextMenu
111 UINT_PTR idCmd,
112 UINT uFlags,
113 UINT *pwReserved,
114 LPSTR pszName,
115 UINT cchMax) override;
116
118
120 HMENU hmenu,
121 UINT indexMenu,
122 UINT idCmdFirst,
123 UINT idCmdLast,
124 UINT uFlags) override;
125
126//*****************************************************************************************************
127
130
134 COM_INTERFACE_ENTRY_IID(IID_IDeskBand, IDeskBand)
138 COM_INTERFACE_ENTRY_IID(IID_IWinEventHandler, IWinEventHandler)
139 COM_INTERFACE_ENTRY_IID(IID_IOleCommandTarget, IOleCommandTarget)
140 COM_INTERFACE_ENTRY_IID(IID_IContextMenu, IContextMenu)
142};
const GUID CLSID_QuickLaunchBand
HRESULT UnregisterComCat()
HRESULT RegisterComCat()
UINT cchMax
HWND hWnd
Definition: settings.c:17
#define STDMETHOD(m)
Definition: basetyps.h:62
STDMETHOD() GetBandInfo(IN DWORD dwBandID, IN DWORD dwViewMode, IN OUT DESKBANDINFO *pdbi) override
STDMETHOD() ContainsWindow(IN HWND hWnd)
STDMETHOD() Save(IN IStream *pStm, IN BOOL fClearDirty) override
STDMETHOD() GetWindow(OUT HWND *phwnd) override
STDMETHOD() GetSizeMax(OUT ULARGE_INTEGER *pcbSize) override
CComPtr< IUnknown > m_punkISFB
STDMETHOD() InvokeCommand(LPCMINVOKECOMMANDINFO pici) override
STDMETHOD() IsDirty() override
STDMETHOD() SetSite(IN IUnknown *pUnkSite) override
STDMETHOD() Exec(IN const GUID *pguidCmdGroup, IN DWORD nCmdID, IN DWORD nCmdexecopt, IN VARIANT *pvaIn, IN OUT VARIANT *pvaOut) override
STDMETHOD() CloseDW(IN DWORD dwReserved) override
STDMETHOD() IsWindowOwner(HWND hWnd) override
STDMETHOD() Load(IN IStream *pStm) override
STDMETHOD() ResizeBorderDW(LPCRECT prcBorder, IUnknown *punkToolbarSite, BOOL fReserved) override
STDMETHOD() GetClassID(OUT CLSID *pClassID) override
STDMETHOD() GetSite(IN REFIID riid, OUT void **ppvSite) override
STDMETHOD() OnWinEvent(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT *theResult) override
STDMETHOD() ContextSensitiveHelp(IN BOOL fEnterMode) override
STDMETHOD() QueryContextMenu(HMENU hmenu, UINT indexMenu, UINT idCmdFirst, UINT idCmdLast, UINT uFlags) override
STDMETHOD() ShowDW(IN BOOL bShow) override
STDMETHOD() GetCommandString(UINT_PTR idCmd, UINT uFlags, UINT *pwReserved, LPSTR pszName, UINT cchMax) override
STDMETHOD() QueryStatus(IN const GUID *pguidCmdGroup, IN ULONG cCmds, IN OUT OLECMD prgCmds[], IN OUT OLECMDTEXT *pCmdText) override
WPARAM wParam
Definition: combotst.c:138
LPARAM lParam
Definition: combotst.c:139
UINT uFlags
Definition: api.c:59
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned long DWORD
Definition: ntddk_ex.h:95
REFIID riid
Definition: atlbase.h:39
#define COM_INTERFACE_ENTRY2_IID(iid, x, x2)
Definition: atlcom.h:609
#define BEGIN_COM_MAP(x)
Definition: atlcom.h:581
#define COM_INTERFACE_ENTRY_IID(iid, x)
Definition: atlcom.h:601
#define DECLARE_PROTECT_FINAL_CONSTRUCT()
Definition: atlcom.h:679
#define DECLARE_NOT_AGGREGATABLE(x)
Definition: atlcom.h:651
#define END_COM_MAP()
Definition: atlcom.h:592
const IID IID_IObjectWithSite
static const CLSID *static CLSID *static const GUID VARIANT VARIANT *static IServiceProvider DWORD *static HMENU
Definition: ordinal.c:63
unsigned __int3264 UINT_PTR
Definition: mstsclib_h.h:274
_In_ HANDLE _In_ DWORD _In_ DWORD _Inout_opt_ LPOVERLAPPED _In_opt_ LPTRANSMIT_FILE_BUFFERS _In_ DWORD dwReserved
Definition: mswsock.h:95
unsigned int UINT
Definition: ndis.h:50
const GUID IID_IOleWindow
const GUID IID_IPersist
Definition: proxy.cpp:14
const GUID IID_IPersistStream
Definition: proxy.cpp:13
#define REFIID
Definition: guiddef.h:118
#define IN
Definition: typedefs.h:39
uint32_t ULONG
Definition: typedefs.h:59
#define OUT
Definition: typedefs.h:40
static HMENU hmenu
Definition: win.c:66
LONG_PTR LPARAM
Definition: windef.h:208
LONG_PTR LRESULT
Definition: windef.h:209
UINT_PTR WPARAM
Definition: windef.h:207
char * LPSTR
Definition: xmlstorage.h:182