[QCKLNCH]

-Whitespace fixes
-Minor suggestions fixed.
-Minor refactors and some code fixes.

CR-122 (https://code.reactos.org/cru/CR-122#details)

svn path=/branches/GSoC_2017/shellext/; revision=75260
This commit is contained in:
Shriraj Sawant 2017-07-01 20:22:13 +00:00
parent 8a98b9a578
commit 26958e704b
9 changed files with 231 additions and 236 deletions

View file

@ -33,7 +33,7 @@ CISFBand::~CISFBand()
} }
// *** CWindowImpl *** // *** CWindowImpl ***
//Subclassing // Subclassing
LRESULT CISFBand::OnLButtonUp(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled) LRESULT CISFBand::OnLButtonUp(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
{ {
@ -100,7 +100,7 @@ LRESULT CISFBand::OnRButtonUp(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHa
return 0; return 0;
} }
//ToolbarTest // ToolbarTest
HWND CISFBand::CreateSimpleToolbar(HWND hWndParent, HINSTANCE hInst) HWND CISFBand::CreateSimpleToolbar(HWND hWndParent, HINSTANCE hInst)
{ {
// Declare and initialize local constants. // Declare and initialize local constants.
@ -120,7 +120,7 @@ HWND CISFBand::CreateSimpleToolbar(HWND hWndParent, HINSTANCE hInst)
return NULL; return NULL;
SendMessage(hWndToolbar, TB_SETIMAGELIST, 0, (LPARAM)piml); SendMessage(hWndToolbar, TB_SETIMAGELIST, 0, (LPARAM)piml);
//Enumerate objects // Enumerate objects
CComPtr<IEnumIDList> pedl; CComPtr<IEnumIDList> pedl;
LPITEMIDLIST pidl = NULL; LPITEMIDLIST pidl = NULL;
STRRET stret; STRRET stret;
@ -150,7 +150,7 @@ HWND CISFBand::CreateSimpleToolbar(HWND hWndParent, HINSTANCE hInst)
/*****************************************************************************/ /*****************************************************************************/
// *** IObjectWithSite *** // *** IObjectWithSite ***
HRESULT STDMETHODCALLTYPE CISFBand::SetSite(IUnknown *pUnkSite) STDMETHODIMP CISFBand::SetSite(IUnknown *pUnkSite)
{ {
HRESULT hr; HRESULT hr;
HWND hwndParent; HWND hwndParent;
@ -173,7 +173,7 @@ HWND CISFBand::CreateSimpleToolbar(HWND hWndParent, HINSTANCE hInst)
return S_OK; return S_OK;
} }
HRESULT STDMETHODCALLTYPE CISFBand::GetSite(IN REFIID riid, OUT VOID **ppvSite) STDMETHODIMP CISFBand::GetSite(IN REFIID riid, OUT VOID **ppvSite)
{ {
TRACE("CISFBand::GetSite(0x%p,0x%p)\n", riid, ppvSite); TRACE("CISFBand::GetSite(0x%p,0x%p)\n", riid, ppvSite);
@ -190,7 +190,7 @@ HWND CISFBand::CreateSimpleToolbar(HWND hWndParent, HINSTANCE hInst)
/*****************************************************************************/ /*****************************************************************************/
// *** IDeskBand *** // *** IDeskBand ***
HRESULT STDMETHODCALLTYPE CISFBand::GetWindow(OUT HWND *phwnd) STDMETHODIMP CISFBand::GetWindow(OUT HWND *phwnd)
{ {
if (!m_hWndTb) if (!m_hWndTb)
return E_FAIL; return E_FAIL;
@ -201,13 +201,13 @@ HWND CISFBand::CreateSimpleToolbar(HWND hWndParent, HINSTANCE hInst)
return S_OK; return S_OK;
} }
HRESULT STDMETHODCALLTYPE CISFBand::ContextSensitiveHelp(IN BOOL fEnterMode) STDMETHODIMP CISFBand::ContextSensitiveHelp(IN BOOL fEnterMode)
{ {
/* FIXME: Implement */ /* FIXME: Implement */
return E_NOTIMPL; return E_NOTIMPL;
} }
HRESULT STDMETHODCALLTYPE CISFBand::ShowDW(IN BOOL bShow) STDMETHODIMP CISFBand::ShowDW(IN BOOL bShow)
{ {
if (m_hWndTb) if (m_hWndTb)
{ {
@ -217,7 +217,7 @@ HWND CISFBand::CreateSimpleToolbar(HWND hWndParent, HINSTANCE hInst)
return S_OK; return S_OK;
} }
HRESULT STDMETHODCALLTYPE CISFBand::CloseDW(IN DWORD dwReserved) STDMETHODIMP CISFBand::CloseDW(IN DWORD dwReserved)
{ {
if (m_hWndTb) if (m_hWndTb)
{ {
@ -229,14 +229,14 @@ HWND CISFBand::CreateSimpleToolbar(HWND hWndParent, HINSTANCE hInst)
return S_OK; return S_OK;
} }
HRESULT STDMETHODCALLTYPE CISFBand::ResizeBorderDW(LPCRECT prcBorder, IUnknown *punkToolbarSite, BOOL fReserved) STDMETHODIMP CISFBand::ResizeBorderDW(LPCRECT prcBorder, IUnknown *punkToolbarSite, BOOL fReserved)
{ {
/* No need to implement this method */ /* No need to implement this method */
return E_NOTIMPL; return E_NOTIMPL;
} }
HRESULT STDMETHODCALLTYPE CISFBand::GetBandInfo(IN DWORD dwBandID, IN DWORD dwViewMode, IN OUT DESKBANDINFO *pdbi) STDMETHODIMP CISFBand::GetBandInfo(IN DWORD dwBandID, IN DWORD dwViewMode, IN OUT DESKBANDINFO *pdbi)
{ {
TRACE("CTaskBand::GetBandInfo(0x%x,0x%x,0x%p) hWnd=0x%p\n", dwBandID, dwViewMode, pdbi, m_hWndTb); TRACE("CTaskBand::GetBandInfo(0x%x,0x%x,0x%p) hWnd=0x%p\n", dwBandID, dwViewMode, pdbi, m_hWndTb);
@ -298,21 +298,21 @@ HWND CISFBand::CreateSimpleToolbar(HWND hWndParent, HINSTANCE hInst)
/*****************************************************************************/ /*****************************************************************************/
// *** IDeskBar *** // *** IDeskBar ***
HRESULT STDMETHODCALLTYPE CISFBand::SetClient(IN IUnknown *punkClient) STDMETHODIMP CISFBand::SetClient(IN IUnknown *punkClient)
{ {
TRACE("IDeskBar::SetClient(0x%p)\n", punkClient); TRACE("IDeskBar::SetClient(0x%p)\n", punkClient);
return E_NOTIMPL; return E_NOTIMPL;
} }
HRESULT STDMETHODCALLTYPE CISFBand::GetClient(OUT IUnknown **ppunkClient) STDMETHODIMP CISFBand::GetClient(OUT IUnknown **ppunkClient)
{ {
TRACE("IDeskBar::GetClient(0x%p)\n", ppunkClient); TRACE("IDeskBar::GetClient(0x%p)\n", ppunkClient);
return E_NOTIMPL; return E_NOTIMPL;
} }
HRESULT STDMETHODCALLTYPE CISFBand::OnPosRectChangeDB(IN RECT *prc) STDMETHODIMP CISFBand::OnPosRectChangeDB(IN RECT *prc)
{ {
TRACE("IDeskBar::OnPosRectChangeDB(0x%p=(%d,%d,%d,%d))\n", prc, prc->left, prc->top, prc->right, prc->bottom); TRACE("IDeskBar::OnPosRectChangeDB(0x%p=(%d,%d,%d,%d))\n", prc, prc->left, prc->top, prc->right, prc->bottom);
@ -321,7 +321,7 @@ HWND CISFBand::CreateSimpleToolbar(HWND hWndParent, HINSTANCE hInst)
/*****************************************************************************/ /*****************************************************************************/
// *** IPersistStream *** // *** IPersistStream ***
HRESULT STDMETHODCALLTYPE CISFBand::GetClassID(OUT CLSID *pClassID) STDMETHODIMP CISFBand::GetClassID(OUT CLSID *pClassID)
{ {
TRACE("CISFBand::GetClassID(0x%p)\n", pClassID); TRACE("CISFBand::GetClassID(0x%p)\n", pClassID);
/* We're going to return the (internal!) CLSID of the quick launch band */ /* We're going to return the (internal!) CLSID of the quick launch band */
@ -330,14 +330,14 @@ HWND CISFBand::CreateSimpleToolbar(HWND hWndParent, HINSTANCE hInst)
return S_OK; return S_OK;
} }
HRESULT STDMETHODCALLTYPE CISFBand::IsDirty() STDMETHODIMP CISFBand::IsDirty()
{ {
/* The object hasn't changed since the last save! */ /* The object hasn't changed since the last save! */
return S_FALSE; return S_FALSE;
} }
HRESULT STDMETHODCALLTYPE CISFBand::Load(IN IStream *pStm) STDMETHODIMP CISFBand::Load(IN IStream *pStm)
{ {
TRACE("CISFBand::Load called\n"); TRACE("CISFBand::Load called\n");
/* Nothing to do */ /* Nothing to do */
@ -345,14 +345,14 @@ HWND CISFBand::CreateSimpleToolbar(HWND hWndParent, HINSTANCE hInst)
return S_OK; return S_OK;
} }
HRESULT STDMETHODCALLTYPE CISFBand::Save(IN IStream *pStm, IN BOOL fClearDirty) STDMETHODIMP CISFBand::Save(IN IStream *pStm, IN BOOL fClearDirty)
{ {
/* Nothing to do */ /* Nothing to do */
return S_OK; return S_OK;
} }
HRESULT STDMETHODCALLTYPE CISFBand::GetSizeMax(OUT ULARGE_INTEGER *pcbSize) STDMETHODIMP CISFBand::GetSizeMax(OUT ULARGE_INTEGER *pcbSize)
{ {
TRACE("CISFBand::GetSizeMax called\n"); TRACE("CISFBand::GetSizeMax called\n");
@ -361,14 +361,14 @@ HWND CISFBand::CreateSimpleToolbar(HWND hWndParent, HINSTANCE hInst)
/*****************************************************************************/ /*****************************************************************************/
// *** IWinEventHandler *** // *** IWinEventHandler ***
HRESULT STDMETHODCALLTYPE CISFBand::ProcessMessage(IN HWND hWnd, IN UINT uMsg, IN WPARAM wParam, IN LPARAM lParam, OUT LRESULT *plrResult) STDMETHODIMP CISFBand::ProcessMessage(IN HWND hWnd, IN UINT uMsg, IN WPARAM wParam, IN LPARAM lParam, OUT LRESULT *plrResult)
{ {
TRACE("CISFBand: IWinEventHandler::ProcessMessage(0x%p, 0x%x, 0x%p, 0x%p, 0x%p)\n", hWnd, uMsg, wParam, lParam, plrResult); TRACE("CISFBand: IWinEventHandler::ProcessMessage(0x%p, 0x%x, 0x%p, 0x%p, 0x%p)\n", hWnd, uMsg, wParam, lParam, plrResult);
return E_NOTIMPL; return E_NOTIMPL;
} }
HRESULT STDMETHODCALLTYPE CISFBand::ContainsWindow(IN HWND hWnd) STDMETHODIMP CISFBand::ContainsWindow(IN HWND hWnd)
{ {
if (hWnd == m_hWndTb || ::IsChild(m_hWndTb, hWnd)) if (hWnd == m_hWndTb || ::IsChild(m_hWndTb, hWnd))
{ {
@ -379,28 +379,28 @@ HWND CISFBand::CreateSimpleToolbar(HWND hWndParent, HINSTANCE hInst)
return S_FALSE; return S_FALSE;
} }
HRESULT STDMETHODCALLTYPE CISFBand::OnWinEvent(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT *theResult) STDMETHODIMP CISFBand::OnWinEvent(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT *theResult)
{ {
UNIMPLEMENTED; UNIMPLEMENTED;
return E_NOTIMPL; return E_NOTIMPL;
} }
HRESULT STDMETHODCALLTYPE CISFBand::IsWindowOwner(HWND hWnd) STDMETHODIMP CISFBand::IsWindowOwner(HWND hWnd)
{ {
return (hWnd == m_hWndTb) ? S_OK : S_FALSE; return (hWnd == m_hWndTb) ? S_OK : S_FALSE;
} }
/*****************************************************************************/ /*****************************************************************************/
// *** IOleCommandTarget methods *** // *** IOleCommandTarget methods ***
HRESULT STDMETHODCALLTYPE CISFBand::QueryStatus(const GUID *pguidCmdGroup, ULONG cCmds, OLECMD prgCmds [], OLECMDTEXT *pCmdText) STDMETHODIMP CISFBand::QueryStatus(const GUID *pguidCmdGroup, ULONG cCmds, OLECMD prgCmds [], OLECMDTEXT *pCmdText)
{ {
UNIMPLEMENTED; UNIMPLEMENTED;
return E_NOTIMPL; return E_NOTIMPL;
} }
HRESULT STDMETHODCALLTYPE CISFBand::Exec(const GUID *pguidCmdGroup, DWORD nCmdID, DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut) STDMETHODIMP CISFBand::Exec(const GUID *pguidCmdGroup, DWORD nCmdID, DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut)
{ {
if (IsEqualIID(*pguidCmdGroup, IID_IBandSite)) if (IsEqualIID(*pguidCmdGroup, IID_IBandSite))
{ {
@ -419,12 +419,12 @@ HWND CISFBand::CreateSimpleToolbar(HWND hWndParent, HINSTANCE hInst)
/*****************************************************************************/ /*****************************************************************************/
// *** IShellFolderBand *** // *** IShellFolderBand ***
HRESULT STDMETHODCALLTYPE CISFBand::GetBandInfoSFB(PBANDINFOSFB pbi) STDMETHODIMP CISFBand::GetBandInfoSFB(PBANDINFOSFB pbi)
{ {
return E_NOTIMPL; return E_NOTIMPL;
} }
HRESULT STDMETHODCALLTYPE CISFBand::InitializeSFB(IShellFolder *psf, PCIDLIST_ABSOLUTE pidl) STDMETHODIMP CISFBand::InitializeSFB(IShellFolder *psf, PCIDLIST_ABSOLUTE pidl)
{ {
LPITEMIDLIST pidlRoot; LPITEMIDLIST pidlRoot;
SHGetSpecialFolderLocation(0, CSIDL_DESKTOP, &pidlRoot); SHGetSpecialFolderLocation(0, CSIDL_DESKTOP, &pidlRoot);
@ -443,14 +443,14 @@ HWND CISFBand::CreateSimpleToolbar(HWND hWndParent, HINSTANCE hInst)
return S_OK; return S_OK;
} }
HRESULT STDMETHODCALLTYPE CISFBand::SetBandInfoSFB( PBANDINFOSFB pbi) STDMETHODIMP CISFBand::SetBandInfoSFB( PBANDINFOSFB pbi)
{ {
return E_NOTIMPL; return E_NOTIMPL;
} }
/*****************************************************************************/ /*****************************************************************************/
// *** IContextMenu *** // *** IContextMenu ***
HRESULT STDMETHODCALLTYPE CISFBand::GetCommandString(UINT_PTR idCmd, UINT uFlags, UINT *pwReserved, LPSTR pszName, UINT cchMax) STDMETHODIMP CISFBand::GetCommandString(UINT_PTR idCmd, UINT uFlags, UINT *pwReserved, LPSTR pszName, UINT cchMax)
{ {
/*HRESULT hr = E_INVALIDARG; /*HRESULT hr = E_INVALIDARG;
@ -481,7 +481,7 @@ HWND CISFBand::CreateSimpleToolbar(HWND hWndParent, HINSTANCE hInst)
return S_OK; return S_OK;
} }
HRESULT STDMETHODCALLTYPE CISFBand::InvokeCommand(LPCMINVOKECOMMANDINFO pici) STDMETHODIMP CISFBand::InvokeCommand(LPCMINVOKECOMMANDINFO pici)
{ {
if (!HIWORD(pici->lpVerb)) if (!HIWORD(pici->lpVerb))
{ {
@ -537,9 +537,9 @@ HWND CISFBand::CreateSimpleToolbar(HWND hWndParent, HINSTANCE hInst)
return S_OK; return S_OK;
} }
HRESULT STDMETHODCALLTYPE CISFBand::QueryContextMenu(HMENU hmenu, UINT indexMenu, UINT idCmdFirst, UINT idCmdLast, UINT uFlags) STDMETHODIMP CISFBand::QueryContextMenu(HMENU hmenu, UINT indexMenu, UINT idCmdFirst, UINT idCmdLast, UINT uFlags)
{ {
HMENU qMenu = LoadMenu(_AtlBaseModule.GetResourceInstance(), MAKEINTRESOURCE(IDR_POPUPMENU)); HMENU qMenu = LoadMenu(_AtlBaseModule.GetResourceInstance(), MAKEINTRESOURCE(IDM_POPUPMENU));
UINT idMax = Shell_MergeMenus(hmenu, GetSubMenu(qMenu, 0), indexMenu, idCmdFirst, idCmdLast, MM_SUBMENUSHAVEIDS); UINT idMax = Shell_MergeMenus(hmenu, GetSubMenu(qMenu, 0), indexMenu, idCmdFirst, idCmdLast, MM_SUBMENUSHAVEIDS);
if(m_textFlag) if(m_textFlag)
@ -562,7 +562,7 @@ HWND CISFBand::CreateSimpleToolbar(HWND hWndParent, HINSTANCE hInst)
} }
/*****************************************************************************/ /*****************************************************************************/
//C Constructor // C Constructor
extern "C" extern "C"
HRESULT WINAPI CISFBand_CreateInstance(REFIID riid, void** ppv) HRESULT WINAPI CISFBand_CreateInstance(REFIID riid, void** ppv)
{ {

View file

@ -7,7 +7,7 @@
*/ */
#pragma once #pragma once
//COM class for cisfband // COM class for cisfband
class CISFBand : class CISFBand :
public CWindowImpl<CISFBand>, public CWindowImpl<CISFBand>,
public CComCoClass<CISFBand>, public CComCoClass<CISFBand>,
@ -21,17 +21,17 @@ class CISFBand :
public IShellFolderBand, public IShellFolderBand,
public IContextMenu public IContextMenu
{ {
//band // band
DWORD m_BandID; DWORD m_BandID;
CComPtr<IUnknown> m_Site; CComPtr<IUnknown> m_Site;
//Toolbar // Toolbar
HWND m_hWndTb; HWND m_hWndTb;
HINSTANCE m_hInstance; HINSTANCE m_hInstance;
CComPtr<IShellFolder> m_pISF; CComPtr<IShellFolder> m_pISF;
PCIDLIST_ABSOLUTE m_pidl; PCIDLIST_ABSOLUTE m_pidl;
//Menu // Menu
BOOL m_textFlag; BOOL m_textFlag;
BOOL m_iconFlag; BOOL m_iconFlag;
@ -40,90 +40,90 @@ public:
CISFBand(); CISFBand();
virtual ~CISFBand(); virtual ~CISFBand();
//Personal Methods // Personal Methods
HWND CreateSimpleToolbar(HWND hWndParent, HINSTANCE hInst); HWND CreateSimpleToolbar(HWND hWndParent, HINSTANCE hInst);
LRESULT OnLButtonUp(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled); LRESULT OnLButtonUp(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
LRESULT OnRButtonUp(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled); LRESULT OnRButtonUp(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
//IObjectWithSite // IObjectWithSite
virtual HRESULT STDMETHODCALLTYPE GetSite( virtual STDMETHODIMP GetSite(
/*[in]*/ REFIID riid, IN REFIID riid,
/*[out]*/ void **ppvSite OUT void **ppvSite
); );
virtual HRESULT STDMETHODCALLTYPE SetSite( virtual STDMETHODIMP SetSite(
/*[in]*/ IUnknown *pUnkSite IN IUnknown *pUnkSite
); );
//IDeskBand // IDeskBand
virtual HRESULT STDMETHODCALLTYPE GetWindow( virtual STDMETHODIMP GetWindow(
OUT HWND *phwnd OUT HWND *phwnd
); );
virtual HRESULT STDMETHODCALLTYPE ContextSensitiveHelp( virtual STDMETHODIMP ContextSensitiveHelp(
IN BOOL fEnterMode IN BOOL fEnterMode
); );
virtual HRESULT STDMETHODCALLTYPE ShowDW( virtual STDMETHODIMP ShowDW(
IN BOOL bShow IN BOOL bShow
); );
virtual HRESULT STDMETHODCALLTYPE CloseDW( virtual STDMETHODIMP CloseDW(
IN DWORD dwReserved IN DWORD dwReserved
); );
virtual HRESULT STDMETHODCALLTYPE ResizeBorderDW( virtual STDMETHODIMP ResizeBorderDW(
LPCRECT prcBorder, LPCRECT prcBorder,
IUnknown *punkToolbarSite, IUnknown *punkToolbarSite,
BOOL fReserved BOOL fReserved
); );
virtual HRESULT STDMETHODCALLTYPE GetBandInfo( virtual STDMETHODIMP GetBandInfo(
IN DWORD dwBandID, IN DWORD dwBandID,
IN DWORD dwViewMode, IN DWORD dwViewMode,
IN OUT DESKBANDINFO *pdbi IN OUT DESKBANDINFO *pdbi
); );
//IDeskBar // IDeskBar
virtual HRESULT STDMETHODCALLTYPE GetClient( virtual STDMETHODIMP GetClient(
/*[out]*/ IUnknown **ppunkClient OUT IUnknown **ppunkClient
); );
virtual HRESULT STDMETHODCALLTYPE OnPosRectChangeDB( virtual STDMETHODIMP OnPosRectChangeDB(
/*[in]*/ LPRECT prc IN LPRECT prc
); );
virtual HRESULT STDMETHODCALLTYPE SetClient( virtual STDMETHODIMP SetClient(
/*[in, optional]*/ IUnknown *punkClient IN OPTIONAL IUnknown *punkClient
); );
//IPersistStream // IPersistStream
virtual HRESULT STDMETHODCALLTYPE GetClassID( virtual STDMETHODIMP GetClassID(
/*[out]*/ OUT CLSID *pClassID OUT CLSID *pClassID
); );
virtual HRESULT STDMETHODCALLTYPE GetSizeMax( virtual STDMETHODIMP GetSizeMax(
/*[out]*/ ULARGE_INTEGER *pcbSize OUT ULARGE_INTEGER *pcbSize
); );
virtual HRESULT STDMETHODCALLTYPE IsDirty(); virtual STDMETHODIMP IsDirty();
virtual HRESULT STDMETHODCALLTYPE Load( virtual STDMETHODIMP Load(
/*[in]*/ IStream *pStm IN IStream *pStm
); );
virtual HRESULT STDMETHODCALLTYPE Save( virtual STDMETHODIMP Save(
/*[in]*/ IStream *pStm, IN IStream *pStm,
/*[in]*/ BOOL fClearDirty IN BOOL fClearDirty
); );
//IWinEventHandler // IWinEventHandler
virtual HRESULT STDMETHODCALLTYPE ProcessMessage( virtual STDMETHODIMP ProcessMessage(
IN HWND hWnd, IN HWND hWnd,
IN UINT uMsg, IN UINT uMsg,
IN WPARAM wParam, IN WPARAM wParam,
@ -131,11 +131,11 @@ public:
OUT LRESULT *plrResult OUT LRESULT *plrResult
); );
virtual HRESULT STDMETHODCALLTYPE ContainsWindow( virtual STDMETHODIMP ContainsWindow(
IN HWND hWnd IN HWND hWnd
); );
virtual HRESULT STDMETHODCALLTYPE OnWinEvent( virtual STDMETHODIMP OnWinEvent(
HWND hWnd, HWND hWnd,
UINT uMsg, UINT uMsg,
WPARAM wParam, WPARAM wParam,
@ -143,43 +143,43 @@ public:
LRESULT *theResult LRESULT *theResult
); );
virtual HRESULT STDMETHODCALLTYPE IsWindowOwner( virtual STDMETHODIMP IsWindowOwner(
HWND hWnd HWND hWnd
); );
//IOleCommandTarget // IOleCommandTarget
virtual HRESULT STDMETHODCALLTYPE Exec( virtual STDMETHODIMP Exec(
/*[in]*/ const GUID *pguidCmdGroup, IN const GUID *pguidCmdGroup,
/*[in]*/ DWORD nCmdID, IN DWORD nCmdID,
/*[in]*/ DWORD nCmdexecopt, IN DWORD nCmdexecopt,
/*[in]*/ VARIANT *pvaIn, IN VARIANT *pvaIn,
/*[in, out]*/ VARIANT *pvaOut IN OUT VARIANT *pvaOut
); );
virtual HRESULT STDMETHODCALLTYPE QueryStatus( virtual STDMETHODIMP QueryStatus(
/*[in]*/ const GUID *pguidCmdGroup, IN const GUID *pguidCmdGroup,
/*[in]*/ ULONG cCmds, IN ULONG cCmds,
/*[in, out]*/ OLECMD prgCmds[], IN OUT OLECMD prgCmds[],
/*[in, out]*/ OLECMDTEXT *pCmdText IN OUT OLECMDTEXT *pCmdText
); );
//IShellFolderBand // IShellFolderBand
virtual HRESULT STDMETHODCALLTYPE GetBandInfoSFB( virtual STDMETHODIMP GetBandInfoSFB(
PBANDINFOSFB pbi PBANDINFOSFB pbi
); );
virtual HRESULT STDMETHODCALLTYPE InitializeSFB( virtual STDMETHODIMP InitializeSFB(
IShellFolder *psf, IShellFolder *psf,
PCIDLIST_ABSOLUTE pidl PCIDLIST_ABSOLUTE pidl
); );
virtual HRESULT STDMETHODCALLTYPE SetBandInfoSFB( virtual STDMETHODIMP SetBandInfoSFB(
PBANDINFOSFB pbi PBANDINFOSFB pbi
); );
//IContextMenu // IContextMenu
virtual HRESULT STDMETHODCALLTYPE GetCommandString( virtual STDMETHODIMP GetCommandString(
UINT_PTR idCmd, UINT_PTR idCmd,
UINT uFlags, UINT uFlags,
UINT *pwReserved, UINT *pwReserved,
@ -187,11 +187,11 @@ public:
UINT cchMax UINT cchMax
); );
virtual HRESULT STDMETHODCALLTYPE InvokeCommand( virtual STDMETHODIMP InvokeCommand(
LPCMINVOKECOMMANDINFO pici LPCMINVOKECOMMANDINFO pici
); );
virtual HRESULT STDMETHODCALLTYPE QueryContextMenu( virtual STDMETHODIMP QueryContextMenu(
HMENU hmenu, HMENU hmenu,
UINT indexMenu, UINT indexMenu,
UINT idCmdFirst, UINT idCmdFirst,
@ -221,6 +221,6 @@ public:
END_COM_MAP() END_COM_MAP()
}; };
//C Constructor // C Constructor
extern "C" extern "C"
HRESULT WINAPI CISFBand_CreateInstance(REFIID riid, void** ppv); HRESULT WINAPI CISFBand_CreateInstance(REFIID riid, void** ppv);

View file

@ -15,10 +15,12 @@ include_directories(
spec2def(qcklnch.dll qcklnch.spec) spec2def(qcklnch.dll qcklnch.spec)
add_library(qcklnch SHARED add_library(qcklnch SHARED
qcklnch.cpp
qcklnch.rc qcklnch.rc
qcklnch.cpp
CQuickLaunchBand.cpp CQuickLaunchBand.cpp
CISFBand.cpp CISFBand.cpp
CQuickLaunchBand.h
CISFBand.h
${CMAKE_CURRENT_BINARY_DIR}/qcklnch.def) ${CMAKE_CURRENT_BINARY_DIR}/qcklnch.def)
set_module_type(qcklnch win32dll UNICODE) set_module_type(qcklnch win32dll UNICODE)

View file

@ -13,7 +13,7 @@ WINE_DEFAULT_DEBUG_CHANNEL(qcklnch);
// {260CB95D-4544-44F6-A079-575BAA60B72F} // {260CB95D-4544-44F6-A079-575BAA60B72F}
static const GUID CLSID_QuickLaunchBand = { 0x260cb95d, 0x4544, 0x44f6, { 0xa0, 0x79, 0x57, 0x5b, 0xaa, 0x60, 0xb7, 0x2f } }; static const GUID CLSID_QuickLaunchBand = { 0x260cb95d, 0x4544, 0x44f6, { 0xa0, 0x79, 0x57, 0x5b, 0xaa, 0x60, 0xb7, 0x2f } };
//Componenet Category Registration // Componenet Category Registration
HRESULT RegisterComCat() HRESULT RegisterComCat()
{ {
CComPtr<ICatRegister> pcr; CComPtr<ICatRegister> pcr;
@ -38,7 +38,7 @@ static const GUID CLSID_QuickLaunchBand = { 0x260cb95d, 0x4544, 0x44f6, { 0xa0,
return hr; return hr;
} }
//Pidl Browser // Pidl Browser
LPITEMIDLIST PidlBrowse(HWND hwnd, int nCSIDL) LPITEMIDLIST PidlBrowse(HWND hwnd, int nCSIDL)
{ {
LPITEMIDLIST pidlRoot = NULL; LPITEMIDLIST pidlRoot = NULL;
@ -61,14 +61,14 @@ static const GUID CLSID_QuickLaunchBand = { 0x260cb95d, 0x4544, 0x44f6, { 0xa0,
return pidlSelected; return pidlSelected;
} }
//CQuickLaunchBand // CQuickLaunchBand
CQuickLaunchBand::CQuickLaunchBand() {} CQuickLaunchBand::CQuickLaunchBand() {}
CQuickLaunchBand::~CQuickLaunchBand() {} CQuickLaunchBand::~CQuickLaunchBand() {}
/*****************************************************************************/ /*****************************************************************************/
//ATL Construct // ATL Construct
HRESULT CQuickLaunchBand::FinalConstruct() HRESULT CQuickLaunchBand::FinalConstruct()
{ {
@ -90,12 +90,12 @@ static const GUID CLSID_QuickLaunchBand = { 0x260cb95d, 0x4544, 0x44f6, { 0xa0,
return hr; return hr;
} }
//IObjectWithSite // IObjectWithSite
HRESULT STDMETHODCALLTYPE CQuickLaunchBand::SetSite(IUnknown *pUnkSite) STDMETHODIMP CQuickLaunchBand::SetSite(IUnknown *pUnkSite)
{ {
TRACE("CQuickLaunchBand::SetSite(0x%p)\n", pUnkSite); TRACE("CQuickLaunchBand::SetSite(0x%p)\n", pUnkSite);
//Internal CISFBand Calls // Internal CISFBand Calls
CComPtr<IObjectWithSite> pIOWS; CComPtr<IObjectWithSite> pIOWS;
HRESULT hr = m_punkISFB->QueryInterface(IID_IObjectWithSite, (void**)&pIOWS); HRESULT hr = m_punkISFB->QueryInterface(IID_IObjectWithSite, (void**)&pIOWS);
if (FAILED(hr)) return hr; if (FAILED(hr)) return hr;
@ -103,11 +103,11 @@ static const GUID CLSID_QuickLaunchBand = { 0x260cb95d, 0x4544, 0x44f6, { 0xa0,
return pIOWS->SetSite(pUnkSite); return pIOWS->SetSite(pUnkSite);
} }
HRESULT STDMETHODCALLTYPE CQuickLaunchBand::GetSite(IN REFIID riid, OUT VOID **ppvSite) STDMETHODIMP CQuickLaunchBand::GetSite(IN REFIID riid, OUT VOID **ppvSite)
{ {
TRACE("CQuickLaunchBand::GetSite(0x%p,0x%p)\n", riid, ppvSite); TRACE("CQuickLaunchBand::GetSite(0x%p,0x%p)\n", riid, ppvSite);
//Internal CISFBand Calls // Internal CISFBand Calls
CComPtr<IObjectWithSite> pIOWS; CComPtr<IObjectWithSite> pIOWS;
HRESULT hr = m_punkISFB->QueryInterface(IID_IObjectWithSite, (void**)&pIOWS); HRESULT hr = m_punkISFB->QueryInterface(IID_IObjectWithSite, (void**)&pIOWS);
if (FAILED(hr)) return hr; if (FAILED(hr)) return hr;
@ -116,10 +116,10 @@ static const GUID CLSID_QuickLaunchBand = { 0x260cb95d, 0x4544, 0x44f6, { 0xa0,
} }
/*****************************************************************************/ /*****************************************************************************/
//IDeskBand // IDeskBand
HRESULT STDMETHODCALLTYPE CQuickLaunchBand::GetWindow(OUT HWND *phwnd) STDMETHODIMP CQuickLaunchBand::GetWindow(OUT HWND *phwnd)
{ {
//Internal CISFBand Calls // Internal CISFBand Calls
CComPtr<IDeskBand> pIDB; CComPtr<IDeskBand> pIDB;
HRESULT hr = m_punkISFB->QueryInterface(IID_IDeskBand, (void**)&pIDB); HRESULT hr = m_punkISFB->QueryInterface(IID_IDeskBand, (void**)&pIDB);
if (FAILED(hr)) return hr; if (FAILED(hr)) return hr;
@ -127,9 +127,9 @@ static const GUID CLSID_QuickLaunchBand = { 0x260cb95d, 0x4544, 0x44f6, { 0xa0,
return pIDB->GetWindow(phwnd); return pIDB->GetWindow(phwnd);
} }
HRESULT STDMETHODCALLTYPE CQuickLaunchBand::ContextSensitiveHelp(IN BOOL fEnterMode) STDMETHODIMP CQuickLaunchBand::ContextSensitiveHelp(IN BOOL fEnterMode)
{ {
//Internal CISFBand Calls // Internal CISFBand Calls
CComPtr<IDeskBand> pIDB; CComPtr<IDeskBand> pIDB;
HRESULT hr = m_punkISFB->QueryInterface(IID_IDeskBand, (void**)&pIDB); HRESULT hr = m_punkISFB->QueryInterface(IID_IDeskBand, (void**)&pIDB);
if (FAILED(hr)) return hr; if (FAILED(hr)) return hr;
@ -137,9 +137,9 @@ static const GUID CLSID_QuickLaunchBand = { 0x260cb95d, 0x4544, 0x44f6, { 0xa0,
return pIDB->ContextSensitiveHelp(fEnterMode); return pIDB->ContextSensitiveHelp(fEnterMode);
} }
HRESULT STDMETHODCALLTYPE CQuickLaunchBand::ShowDW(IN BOOL bShow) STDMETHODIMP CQuickLaunchBand::ShowDW(IN BOOL bShow)
{ {
//Internal CISFBand Calls // Internal CISFBand Calls
CComPtr<IDeskBand> pIDB; CComPtr<IDeskBand> pIDB;
HRESULT hr = m_punkISFB->QueryInterface(IID_IDeskBand, (void**)&pIDB); HRESULT hr = m_punkISFB->QueryInterface(IID_IDeskBand, (void**)&pIDB);
if (FAILED(hr)) return hr; if (FAILED(hr)) return hr;
@ -147,9 +147,9 @@ static const GUID CLSID_QuickLaunchBand = { 0x260cb95d, 0x4544, 0x44f6, { 0xa0,
return pIDB->ShowDW(bShow); return pIDB->ShowDW(bShow);
} }
HRESULT STDMETHODCALLTYPE CQuickLaunchBand::CloseDW(IN DWORD dwReserved) STDMETHODIMP CQuickLaunchBand::CloseDW(IN DWORD dwReserved)
{ {
//Internal CISFBand Calls // Internal CISFBand Calls
CComPtr<IDeskBand> pIDB; CComPtr<IDeskBand> pIDB;
HRESULT hr = m_punkISFB->QueryInterface(IID_IDeskBand, (void**)&pIDB); HRESULT hr = m_punkISFB->QueryInterface(IID_IDeskBand, (void**)&pIDB);
if (FAILED(hr)) return hr; if (FAILED(hr)) return hr;
@ -157,9 +157,9 @@ static const GUID CLSID_QuickLaunchBand = { 0x260cb95d, 0x4544, 0x44f6, { 0xa0,
return pIDB->CloseDW(dwReserved); return pIDB->CloseDW(dwReserved);
} }
HRESULT STDMETHODCALLTYPE CQuickLaunchBand::ResizeBorderDW(LPCRECT prcBorder, IUnknown *punkToolbarSite, BOOL fReserved) STDMETHODIMP CQuickLaunchBand::ResizeBorderDW(LPCRECT prcBorder, IUnknown *punkToolbarSite, BOOL fReserved)
{ {
//Internal CISFBand Calls // Internal CISFBand Calls
CComPtr<IDeskBand> pIDB; CComPtr<IDeskBand> pIDB;
HRESULT hr = m_punkISFB->QueryInterface(IID_IDeskBand, (void**)&pIDB); HRESULT hr = m_punkISFB->QueryInterface(IID_IDeskBand, (void**)&pIDB);
if (FAILED(hr)) return hr; if (FAILED(hr)) return hr;
@ -167,11 +167,11 @@ static const GUID CLSID_QuickLaunchBand = { 0x260cb95d, 0x4544, 0x44f6, { 0xa0,
return pIDB->ResizeBorderDW(prcBorder, punkToolbarSite, fReserved); return pIDB->ResizeBorderDW(prcBorder, punkToolbarSite, fReserved);
} }
HRESULT STDMETHODCALLTYPE CQuickLaunchBand::GetBandInfo(IN DWORD dwBandID, IN DWORD dwViewMode, IN OUT DESKBANDINFO *pdbi) STDMETHODIMP CQuickLaunchBand::GetBandInfo(IN DWORD dwBandID, IN DWORD dwViewMode, IN OUT DESKBANDINFO *pdbi)
{ {
TRACE("CQuickLaunchBand::GetBandInfo(0x%x,0x%x,0x%p)\n", dwBandID, dwViewMode, pdbi); TRACE("CQuickLaunchBand::GetBandInfo(0x%x,0x%x,0x%p)\n", dwBandID, dwViewMode, pdbi);
//Internal CISFBand Calls // Internal CISFBand Calls
CComPtr<IDeskBand> pIDB; CComPtr<IDeskBand> pIDB;
HRESULT hr = m_punkISFB->QueryInterface(IID_IDeskBand, (void**)&pIDB); HRESULT hr = m_punkISFB->QueryInterface(IID_IDeskBand, (void**)&pIDB);
if (FAILED(hr)) return hr; if (FAILED(hr)) return hr;
@ -180,12 +180,12 @@ static const GUID CLSID_QuickLaunchBand = { 0x260cb95d, 0x4544, 0x44f6, { 0xa0,
} }
/*****************************************************************************/ /*****************************************************************************/
//IDeskBar // IDeskBar
HRESULT STDMETHODCALLTYPE CQuickLaunchBand::SetClient(IN IUnknown *punkClient) STDMETHODIMP CQuickLaunchBand::SetClient(IN IUnknown *punkClient)
{ {
TRACE("IDeskBar::SetClient(0x%p)\n", punkClient); TRACE("IDeskBar::SetClient(0x%p)\n", punkClient);
//Internal CISFBand Calls // Internal CISFBand Calls
CComPtr<IDeskBar> pIDB; CComPtr<IDeskBar> pIDB;
HRESULT hr = m_punkISFB->QueryInterface(IID_IDeskBar, (void**)&pIDB); HRESULT hr = m_punkISFB->QueryInterface(IID_IDeskBar, (void**)&pIDB);
if (FAILED(hr)) return hr; if (FAILED(hr)) return hr;
@ -193,11 +193,11 @@ static const GUID CLSID_QuickLaunchBand = { 0x260cb95d, 0x4544, 0x44f6, { 0xa0,
return pIDB->SetClient(punkClient); return pIDB->SetClient(punkClient);
} }
HRESULT STDMETHODCALLTYPE CQuickLaunchBand::GetClient(OUT IUnknown **ppunkClient) STDMETHODIMP CQuickLaunchBand::GetClient(OUT IUnknown **ppunkClient)
{ {
TRACE("IDeskBar::GetClient(0x%p)\n", ppunkClient); TRACE("IDeskBar::GetClient(0x%p)\n", ppunkClient);
//Internal CISFBand Calls // Internal CISFBand Calls
CComPtr<IDeskBar> pIDB; CComPtr<IDeskBar> pIDB;
HRESULT hr = m_punkISFB->QueryInterface(IID_IDeskBar, (void**)&pIDB); HRESULT hr = m_punkISFB->QueryInterface(IID_IDeskBar, (void**)&pIDB);
if (FAILED(hr)) return hr; if (FAILED(hr)) return hr;
@ -205,11 +205,11 @@ static const GUID CLSID_QuickLaunchBand = { 0x260cb95d, 0x4544, 0x44f6, { 0xa0,
return pIDB->GetClient(ppunkClient); return pIDB->GetClient(ppunkClient);
} }
HRESULT STDMETHODCALLTYPE CQuickLaunchBand::OnPosRectChangeDB(IN RECT *prc) STDMETHODIMP CQuickLaunchBand::OnPosRectChangeDB(IN RECT *prc)
{ {
TRACE("IDeskBar::OnPosRectChangeDB(0x%p=(%d,%d,%d,%d))\n", prc, prc->left, prc->top, prc->right, prc->bottom); TRACE("IDeskBar::OnPosRectChangeDB(0x%p=(%d,%d,%d,%d))\n", prc, prc->left, prc->top, prc->right, prc->bottom);
//Internal CISFBand Calls // Internal CISFBand Calls
CComPtr<IDeskBar> pIDB; CComPtr<IDeskBar> pIDB;
HRESULT hr = m_punkISFB->QueryInterface(IID_IDeskBar, (void**)&pIDB); HRESULT hr = m_punkISFB->QueryInterface(IID_IDeskBar, (void**)&pIDB);
if (FAILED(hr)) return hr; if (FAILED(hr)) return hr;
@ -218,12 +218,12 @@ static const GUID CLSID_QuickLaunchBand = { 0x260cb95d, 0x4544, 0x44f6, { 0xa0,
} }
/*****************************************************************************/ /*****************************************************************************/
//IPersistStream // IPersistStream
HRESULT STDMETHODCALLTYPE CQuickLaunchBand::GetClassID(OUT CLSID *pClassID) STDMETHODIMP CQuickLaunchBand::GetClassID(OUT CLSID *pClassID)
{ {
TRACE("CQuickLaunchBand::GetClassID(0x%p)\n", pClassID); TRACE("CQuickLaunchBand::GetClassID(0x%p)\n", pClassID);
//Internal CISFBand Calls // Internal CISFBand Calls
CComPtr<IPersistStream> pIPS; CComPtr<IPersistStream> pIPS;
HRESULT hr = m_punkISFB->QueryInterface(IID_IPersistStream, (void**)&pIPS); HRESULT hr = m_punkISFB->QueryInterface(IID_IPersistStream, (void**)&pIPS);
if (FAILED(hr)) return hr; if (FAILED(hr)) return hr;
@ -231,9 +231,9 @@ static const GUID CLSID_QuickLaunchBand = { 0x260cb95d, 0x4544, 0x44f6, { 0xa0,
return pIPS->GetClassID(pClassID); return pIPS->GetClassID(pClassID);
} }
HRESULT STDMETHODCALLTYPE CQuickLaunchBand::IsDirty() STDMETHODIMP CQuickLaunchBand::IsDirty()
{ {
//Internal CISFBand Calls // Internal CISFBand Calls
CComPtr<IPersistStream> pIPS; CComPtr<IPersistStream> pIPS;
HRESULT hr = m_punkISFB->QueryInterface(IID_IPersistStream, (void**)&pIPS); HRESULT hr = m_punkISFB->QueryInterface(IID_IPersistStream, (void**)&pIPS);
if (FAILED(hr)) return hr; if (FAILED(hr)) return hr;
@ -241,11 +241,11 @@ static const GUID CLSID_QuickLaunchBand = { 0x260cb95d, 0x4544, 0x44f6, { 0xa0,
return pIPS->IsDirty(); return pIPS->IsDirty();
} }
HRESULT STDMETHODCALLTYPE CQuickLaunchBand::Load(IN IStream *pStm) STDMETHODIMP CQuickLaunchBand::Load(IN IStream *pStm)
{ {
TRACE("CQuickLaunchBand::Load called\n"); TRACE("CQuickLaunchBand::Load called\n");
//Internal CISFBand Calls // Internal CISFBand Calls
CComPtr<IPersistStream> pIPS; CComPtr<IPersistStream> pIPS;
HRESULT hr = m_punkISFB->QueryInterface(IID_IPersistStream, (void**)&pIPS); HRESULT hr = m_punkISFB->QueryInterface(IID_IPersistStream, (void**)&pIPS);
if (FAILED(hr)) return hr; if (FAILED(hr)) return hr;
@ -253,9 +253,9 @@ static const GUID CLSID_QuickLaunchBand = { 0x260cb95d, 0x4544, 0x44f6, { 0xa0,
return pIPS->Load(pStm); return pIPS->Load(pStm);
} }
HRESULT STDMETHODCALLTYPE CQuickLaunchBand::Save(IN IStream *pStm, IN BOOL fClearDirty) STDMETHODIMP CQuickLaunchBand::Save(IN IStream *pStm, IN BOOL fClearDirty)
{ {
//Internal CISFBand Calls // Internal CISFBand Calls
CComPtr<IPersistStream> pIPS; CComPtr<IPersistStream> pIPS;
HRESULT hr = m_punkISFB->QueryInterface(IID_IPersistStream, (void**)&pIPS); HRESULT hr = m_punkISFB->QueryInterface(IID_IPersistStream, (void**)&pIPS);
if (FAILED(hr)) return hr; if (FAILED(hr)) return hr;
@ -263,11 +263,11 @@ static const GUID CLSID_QuickLaunchBand = { 0x260cb95d, 0x4544, 0x44f6, { 0xa0,
return pIPS->Save(pStm, fClearDirty); return pIPS->Save(pStm, fClearDirty);
} }
HRESULT STDMETHODCALLTYPE CQuickLaunchBand::GetSizeMax(OUT ULARGE_INTEGER *pcbSize) STDMETHODIMP CQuickLaunchBand::GetSizeMax(OUT ULARGE_INTEGER *pcbSize)
{ {
TRACE("CQuickLaunchBand::GetSizeMax called\n"); TRACE("CQuickLaunchBand::GetSizeMax called\n");
//Internal CISFBand Calls // Internal CISFBand Calls
CComPtr<IPersistStream> pIPS; CComPtr<IPersistStream> pIPS;
HRESULT hr = m_punkISFB->QueryInterface(IID_IPersistStream, (void**)&pIPS); HRESULT hr = m_punkISFB->QueryInterface(IID_IPersistStream, (void**)&pIPS);
if (FAILED(hr)) return hr; if (FAILED(hr)) return hr;
@ -277,22 +277,22 @@ static const GUID CLSID_QuickLaunchBand = { 0x260cb95d, 0x4544, 0x44f6, { 0xa0,
/*****************************************************************************/ /*****************************************************************************/
//IWinEventHandler // IWinEventHandler
HRESULT STDMETHODCALLTYPE CQuickLaunchBand::ProcessMessage(IN HWND hWnd, IN UINT uMsg, IN WPARAM wParam, IN LPARAM lParam, OUT LRESULT *plrResult) STDMETHODIMP CQuickLaunchBand::ProcessMessage(IN HWND hWnd, IN UINT uMsg, IN WPARAM wParam, IN LPARAM lParam, OUT LRESULT *plrResult)
{ {
TRACE("CQuickLaunchBand: IWinEventHandler::ProcessMessage(0x%p, 0x%x, 0x%p, 0x%p, 0x%p)\n", hWnd, uMsg, wParam, lParam, plrResult); TRACE("CQuickLaunchBand: IWinEventHandler::ProcessMessage(0x%p, 0x%x, 0x%p, 0x%p, 0x%p)\n", hWnd, uMsg, wParam, lParam, plrResult);
return E_NOTIMPL; return E_NOTIMPL;
} }
HRESULT STDMETHODCALLTYPE CQuickLaunchBand::ContainsWindow(IN HWND hWnd) STDMETHODIMP CQuickLaunchBand::ContainsWindow(IN HWND hWnd)
{ {
return E_NOTIMPL; return E_NOTIMPL;
} }
HRESULT STDMETHODCALLTYPE CQuickLaunchBand::OnWinEvent(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT *theResult) STDMETHODIMP CQuickLaunchBand::OnWinEvent(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT *theResult)
{ {
//Internal CISFBand Calls // Internal CISFBand Calls
CComPtr<IWinEventHandler> pWEH; CComPtr<IWinEventHandler> pWEH;
HRESULT hr = m_punkISFB->QueryInterface(IID_IWinEventHandler, (void**)&pWEH); HRESULT hr = m_punkISFB->QueryInterface(IID_IWinEventHandler, (void**)&pWEH);
if (FAILED(hr)) return hr; if (FAILED(hr)) return hr;
@ -300,9 +300,9 @@ static const GUID CLSID_QuickLaunchBand = { 0x260cb95d, 0x4544, 0x44f6, { 0xa0,
return pWEH->OnWinEvent(hWnd, uMsg, wParam, lParam, theResult); return pWEH->OnWinEvent(hWnd, uMsg, wParam, lParam, theResult);
} }
HRESULT STDMETHODCALLTYPE CQuickLaunchBand::IsWindowOwner(HWND hWnd) STDMETHODIMP CQuickLaunchBand::IsWindowOwner(HWND hWnd)
{ {
//Internal CISFBand Calls // Internal CISFBand Calls
CComPtr<IWinEventHandler> pWEH; CComPtr<IWinEventHandler> pWEH;
HRESULT hr = m_punkISFB->QueryInterface(IID_IWinEventHandler, (void**)&pWEH); HRESULT hr = m_punkISFB->QueryInterface(IID_IWinEventHandler, (void**)&pWEH);
if (FAILED(hr)) return hr; if (FAILED(hr)) return hr;
@ -312,9 +312,9 @@ static const GUID CLSID_QuickLaunchBand = { 0x260cb95d, 0x4544, 0x44f6, { 0xa0,
/*****************************************************************************/ /*****************************************************************************/
// *** IOleCommandTarget methods *** // *** IOleCommandTarget methods ***
HRESULT STDMETHODCALLTYPE CQuickLaunchBand::QueryStatus(const GUID *pguidCmdGroup, ULONG cCmds, OLECMD prgCmds [], OLECMDTEXT *pCmdText) STDMETHODIMP CQuickLaunchBand::QueryStatus(const GUID *pguidCmdGroup, ULONG cCmds, OLECMD prgCmds [], OLECMDTEXT *pCmdText)
{ {
//Internal CISFBand Calls // Internal CISFBand Calls
CComPtr<IOleCommandTarget> pOCT; CComPtr<IOleCommandTarget> pOCT;
HRESULT hr = m_punkISFB->QueryInterface(IID_IOleCommandTarget, (void**)&pOCT); HRESULT hr = m_punkISFB->QueryInterface(IID_IOleCommandTarget, (void**)&pOCT);
if (FAILED(hr)) return hr; if (FAILED(hr)) return hr;
@ -322,9 +322,9 @@ static const GUID CLSID_QuickLaunchBand = { 0x260cb95d, 0x4544, 0x44f6, { 0xa0,
return pOCT->QueryStatus(pguidCmdGroup, cCmds, prgCmds, pCmdText); return pOCT->QueryStatus(pguidCmdGroup, cCmds, prgCmds, pCmdText);
} }
HRESULT STDMETHODCALLTYPE CQuickLaunchBand::Exec(const GUID *pguidCmdGroup, DWORD nCmdID, DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut) STDMETHODIMP CQuickLaunchBand::Exec(const GUID *pguidCmdGroup, DWORD nCmdID, DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut)
{ {
//Internal CISFBand Calls // Internal CISFBand Calls
CComPtr<IOleCommandTarget> pOCT; CComPtr<IOleCommandTarget> pOCT;
HRESULT hr = m_punkISFB->QueryInterface(IID_IOleCommandTarget, (void**)&pOCT); HRESULT hr = m_punkISFB->QueryInterface(IID_IOleCommandTarget, (void**)&pOCT);
if (FAILED(hr)) return hr; if (FAILED(hr)) return hr;
@ -334,9 +334,9 @@ static const GUID CLSID_QuickLaunchBand = { 0x260cb95d, 0x4544, 0x44f6, { 0xa0,
/*****************************************************************************/ /*****************************************************************************/
// *** IContextMenu *** // *** IContextMenu ***
HRESULT STDMETHODCALLTYPE CQuickLaunchBand::GetCommandString(UINT_PTR idCmd, UINT uFlags, UINT *pwReserved, LPSTR pszName, UINT cchMax) STDMETHODIMP CQuickLaunchBand::GetCommandString(UINT_PTR idCmd, UINT uFlags, UINT *pwReserved, LPSTR pszName, UINT cchMax)
{ {
//Internal CISFBand Calls // Internal CISFBand Calls
CComPtr<IContextMenu> pICM; CComPtr<IContextMenu> pICM;
HRESULT hr = m_punkISFB->QueryInterface(IID_IContextMenu, (void**)&pICM); HRESULT hr = m_punkISFB->QueryInterface(IID_IContextMenu, (void**)&pICM);
if (FAILED(hr)) return hr; if (FAILED(hr)) return hr;
@ -344,9 +344,9 @@ static const GUID CLSID_QuickLaunchBand = { 0x260cb95d, 0x4544, 0x44f6, { 0xa0,
return pICM->GetCommandString(idCmd, uFlags, pwReserved, pszName, cchMax); return pICM->GetCommandString(idCmd, uFlags, pwReserved, pszName, cchMax);
} }
HRESULT STDMETHODCALLTYPE CQuickLaunchBand::InvokeCommand(LPCMINVOKECOMMANDINFO pici) STDMETHODIMP CQuickLaunchBand::InvokeCommand(LPCMINVOKECOMMANDINFO pici)
{ {
//Internal CISFBand Calls // Internal CISFBand Calls
CComPtr<IContextMenu> pICM; CComPtr<IContextMenu> pICM;
HRESULT hr = m_punkISFB->QueryInterface(IID_IContextMenu, (void**)&pICM); HRESULT hr = m_punkISFB->QueryInterface(IID_IContextMenu, (void**)&pICM);
if (FAILED(hr)) return hr; if (FAILED(hr)) return hr;
@ -354,9 +354,9 @@ static const GUID CLSID_QuickLaunchBand = { 0x260cb95d, 0x4544, 0x44f6, { 0xa0,
return pICM->InvokeCommand(pici); return pICM->InvokeCommand(pici);
} }
HRESULT STDMETHODCALLTYPE CQuickLaunchBand::QueryContextMenu(HMENU hmenu, UINT indexMenu, UINT idCmdFirst, UINT idCmdLast, UINT uFlags) STDMETHODIMP CQuickLaunchBand::QueryContextMenu(HMENU hmenu, UINT indexMenu, UINT idCmdFirst, UINT idCmdLast, UINT uFlags)
{ {
//Internal CISFBand Calls // Internal CISFBand Calls
CComPtr<IContextMenu> pICM; CComPtr<IContextMenu> pICM;
HRESULT hr = m_punkISFB->QueryInterface(IID_IContextMenu, (void**)&pICM); HRESULT hr = m_punkISFB->QueryInterface(IID_IContextMenu, (void**)&pICM);
if (FAILED(hr)) return hr; if (FAILED(hr)) return hr;

View file

@ -9,11 +9,11 @@
extern const GUID CLSID_QuickLaunchBand; extern const GUID CLSID_QuickLaunchBand;
//Component category registration // Component category registration
HRESULT RegisterComCat(); HRESULT RegisterComCat();
HRESULT UnregisterComCat(); HRESULT UnregisterComCat();
//COM class for quick launch // COM class for quick launch
class CQuickLaunchBand : class CQuickLaunchBand :
public CComCoClass<CQuickLaunchBand, &CLSID_QuickLaunchBand>, public CComCoClass<CQuickLaunchBand, &CLSID_QuickLaunchBand>,
public CComObjectRootEx<CComMultiThreadModelNoCS>, public CComObjectRootEx<CComMultiThreadModelNoCS>,
@ -33,89 +33,89 @@ class CQuickLaunchBand :
CQuickLaunchBand(); CQuickLaunchBand();
virtual ~CQuickLaunchBand(); virtual ~CQuickLaunchBand();
//ATL construct // ATL construct
HRESULT FinalConstruct(); HRESULT FinalConstruct();
//IObjectWithSite // IObjectWithSite
virtual HRESULT STDMETHODCALLTYPE GetSite( virtual STDMETHODIMP GetSite(
/*[in]*/ REFIID riid, IN REFIID riid,
/*[out]*/ void **ppvSite OUT void **ppvSite
); );
virtual HRESULT STDMETHODCALLTYPE SetSite( virtual STDMETHODIMP SetSite(
/*[in]*/ IUnknown *pUnkSite IN IUnknown *pUnkSite
); );
//IDeskBand // IDeskBand
virtual HRESULT STDMETHODCALLTYPE GetWindow( virtual STDMETHODIMP GetWindow(
OUT HWND *phwnd OUT HWND *phwnd
); );
virtual HRESULT STDMETHODCALLTYPE ContextSensitiveHelp( virtual STDMETHODIMP ContextSensitiveHelp(
IN BOOL fEnterMode IN BOOL fEnterMode
); );
virtual HRESULT STDMETHODCALLTYPE ShowDW( virtual STDMETHODIMP ShowDW(
IN BOOL bShow IN BOOL bShow
); );
virtual HRESULT STDMETHODCALLTYPE CloseDW( virtual STDMETHODIMP CloseDW(
IN DWORD dwReserved IN DWORD dwReserved
); );
virtual HRESULT STDMETHODCALLTYPE ResizeBorderDW( virtual STDMETHODIMP ResizeBorderDW(
LPCRECT prcBorder, LPCRECT prcBorder,
IUnknown *punkToolbarSite, IUnknown *punkToolbarSite,
BOOL fReserved BOOL fReserved
); );
virtual HRESULT STDMETHODCALLTYPE GetBandInfo( virtual STDMETHODIMP GetBandInfo(
IN DWORD dwBandID, IN DWORD dwBandID,
IN DWORD dwViewMode, IN DWORD dwViewMode,
IN OUT DESKBANDINFO *pdbi IN OUT DESKBANDINFO *pdbi
); );
//IDeskBar // IDeskBar
virtual HRESULT STDMETHODCALLTYPE GetClient( virtual STDMETHODIMP GetClient(
/*[out]*/ IUnknown **ppunkClient OUT IUnknown **ppunkClient
); );
virtual HRESULT STDMETHODCALLTYPE OnPosRectChangeDB( virtual STDMETHODIMP OnPosRectChangeDB(
/*[in]*/ LPRECT prc IN LPRECT prc
); );
virtual HRESULT STDMETHODCALLTYPE SetClient( virtual STDMETHODIMP SetClient(
/*[in, optional]*/ IUnknown *punkClient IN OPTIONAL IUnknown *punkClient
); );
//IPersistStream // IPersistStream
virtual HRESULT STDMETHODCALLTYPE GetClassID( virtual STDMETHODIMP GetClassID(
/*[out]*/ OUT CLSID *pClassID OUT CLSID *pClassID
); );
virtual HRESULT STDMETHODCALLTYPE GetSizeMax( virtual STDMETHODIMP GetSizeMax(
/*[out]*/ ULARGE_INTEGER *pcbSize OUT ULARGE_INTEGER *pcbSize
); );
virtual HRESULT STDMETHODCALLTYPE IsDirty(); virtual STDMETHODIMP IsDirty();
virtual HRESULT STDMETHODCALLTYPE Load( virtual STDMETHODIMP Load(
/*[in]*/ IStream *pStm IN IStream *pStm
); );
virtual HRESULT STDMETHODCALLTYPE Save( virtual STDMETHODIMP Save(
/*[in]*/ IStream *pStm, IN IStream *pStm,
/*[in]*/ BOOL fClearDirty IN BOOL fClearDirty
); );
//IWinEventHandler // IWinEventHandler
virtual HRESULT STDMETHODCALLTYPE ProcessMessage( virtual STDMETHODIMP ProcessMessage(
IN HWND hWnd, IN HWND hWnd,
IN UINT uMsg, IN UINT uMsg,
IN WPARAM wParam, IN WPARAM wParam,
@ -123,11 +123,11 @@ class CQuickLaunchBand :
OUT LRESULT *plrResult OUT LRESULT *plrResult
); );
virtual HRESULT STDMETHODCALLTYPE ContainsWindow( virtual STDMETHODIMP ContainsWindow(
IN HWND hWnd IN HWND hWnd
); );
virtual HRESULT STDMETHODCALLTYPE OnWinEvent( virtual STDMETHODIMP OnWinEvent(
HWND hWnd, HWND hWnd,
UINT uMsg, UINT uMsg,
WPARAM wParam, WPARAM wParam,
@ -135,29 +135,29 @@ class CQuickLaunchBand :
LRESULT *theResult LRESULT *theResult
); );
virtual HRESULT STDMETHODCALLTYPE IsWindowOwner( virtual STDMETHODIMP IsWindowOwner(
HWND hWnd HWND hWnd
); );
//IOleCommandTarget // IOleCommandTarget
virtual HRESULT STDMETHODCALLTYPE Exec( virtual STDMETHODIMP Exec(
/*[in]*/ const GUID *pguidCmdGroup, IN const GUID *pguidCmdGroup,
/*[in]*/ DWORD nCmdID, IN DWORD nCmdID,
/*[in]*/ DWORD nCmdexecopt, IN DWORD nCmdexecopt,
/*[in]*/ VARIANT *pvaIn, IN VARIANT *pvaIn,
/*[in, out]*/ VARIANT *pvaOut IN OUT VARIANT *pvaOut
); );
virtual HRESULT STDMETHODCALLTYPE QueryStatus( virtual STDMETHODIMP QueryStatus(
/*[in]*/ const GUID *pguidCmdGroup, IN const GUID *pguidCmdGroup,
/*[in]*/ ULONG cCmds, IN ULONG cCmds,
/*[in, out]*/ OLECMD prgCmds[], IN OUT OLECMD prgCmds[],
/*[in, out]*/ OLECMDTEXT *pCmdText IN OUT OLECMDTEXT *pCmdText
); );
//IContextMenu // IContextMenu
virtual HRESULT STDMETHODCALLTYPE GetCommandString( virtual STDMETHODIMP GetCommandString(
UINT_PTR idCmd, UINT_PTR idCmd,
UINT uFlags, UINT uFlags,
UINT *pwReserved, UINT *pwReserved,
@ -165,11 +165,11 @@ class CQuickLaunchBand :
UINT cchMax UINT cchMax
); );
virtual HRESULT STDMETHODCALLTYPE InvokeCommand( virtual STDMETHODIMP InvokeCommand(
LPCMINVOKECOMMANDINFO pici LPCMINVOKECOMMANDINFO pici
); );
virtual HRESULT STDMETHODCALLTYPE QueryContextMenu( virtual STDMETHODIMP QueryContextMenu(
HMENU hmenu, HMENU hmenu,
UINT indexMenu, UINT indexMenu,
UINT idCmdFirst, UINT idCmdFirst,

View file

@ -19,11 +19,6 @@ END_OBJECT_MAP()
HINSTANCE g_hInstance; HINSTANCE g_hInstance;
CComModule g_Module; CComModule g_Module;
void *operator new (size_t, void *buf)
{
return buf;
}
STDAPI_(BOOL) STDAPI_(BOOL)
DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID fImpLoad) DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID fImpLoad)
{ {
@ -46,22 +41,20 @@ STDAPI
DllRegisterServer(void) DllRegisterServer(void)
{ {
HRESULT hr = g_Module.DllRegisterServer(FALSE); HRESULT hr = g_Module.DllRegisterServer(FALSE);
if (FAILED(hr)) if (FAILED(hr))
return hr; return hr;
else
return RegisterComCat(); return RegisterComCat();
} }
STDAPI STDAPI
DllUnregisterServer(void) DllUnregisterServer(void)
{ {
HRESULT hr = UnregisterComCat(); HRESULT hr = UnregisterComCat();
if (FAILED(hr)) if (FAILED(hr))
return hr; return hr;
else
return g_Module.DllUnregisterServer(FALSE); return g_Module.DllUnregisterServer(FALSE);
} }
STDAPI STDAPI

View file

@ -7,7 +7,7 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
IDR_QCKLNCH REGISTRY "rgs/qcklnch.rgs" IDR_QCKLNCH REGISTRY "rgs/qcklnch.rgs"
IDR_POPUPMENU MENUEX DISCARDABLE IDM_POPUPMENU MENUEX DISCARDABLE
BEGIN BEGIN
POPUP "" POPUP ""
BEGIN BEGIN

View file

@ -1,8 +1,8 @@
#pragma once #pragma once
#define IDR_QCKLNCH 1001 #define IDR_QCKLNCH 1001
#define IDR_POPUPMENU 2000 #define IDM_POPUPMENU 2000
#define IDM_LARGE_ICONS 1 #define IDM_LARGE_ICONS 1
#define IDM_SMALL_ICONS 2 #define IDM_SMALL_ICONS 2
#define IDM_SHOW_TEXT 3 #define IDM_SHOW_TEXT 3
#define IDM_VIEW_MENU 4 #define IDM_VIEW_MENU 4

View file

@ -1,13 +1,13 @@
HKCR HKCR
{ {
NoRemove CLSID NoRemove CLSID
{ {
ForceRemove {260CB95D-4544-44F6-A079-575BAA60B72F} = s 'Quick Launch' ForceRemove {260CB95D-4544-44F6-A079-575BAA60B72F} = s 'Quick Launch'
{ {
InprocServer32 = s '%MODULE%' InprocServer32 = s '%MODULE%'
{ {
val ThreadingModel = s 'Apartment' val ThreadingModel = s 'Apartment'
} }
} }
} }
} }