From fdff19033599ef2a5036803adbf31baa3a27af01 Mon Sep 17 00:00:00 2001 From: Giannis Adamopoulos Date: Sat, 30 Jul 2016 11:53:16 +0000 Subject: [PATCH] [BROWSEUI] - Use the _CreateInstance postfix for all functions that instantiate a class. - Move the the CreateInstance functions of the exported classes to browseui.h where we can select uniformly which built in classes we use. svn path=/trunk/; revision=72053 --- reactos/dll/win32/browseui/addressband.cpp | 21 +-- reactos/dll/win32/browseui/addresseditbox.cpp | 5 - reactos/dll/win32/browseui/bandproxy.cpp | 5 - reactos/dll/win32/browseui/basebar.cpp | 2 +- reactos/dll/win32/browseui/basebarsite.cpp | 2 +- reactos/dll/win32/browseui/brandband.cpp | 5 - reactos/dll/win32/browseui/browseui.h | 122 ++++++++++++++++++ reactos/dll/win32/browseui/explorerband.cpp | 6 - reactos/dll/win32/browseui/explorerband.h | 3 - .../dll/win32/browseui/internettoolbar.cpp | 45 +------ reactos/dll/win32/browseui/internettoolbar.h | 2 - reactos/dll/win32/browseui/precomp.h | 50 +------ reactos/dll/win32/browseui/shellbrowser.cpp | 49 ++----- reactos/dll/win32/browseui/toolsband.cpp | 2 +- reactos/dll/win32/browseui/travellog.cpp | 2 +- 15 files changed, 147 insertions(+), 174 deletions(-) create mode 100644 reactos/dll/win32/browseui/browseui.h diff --git a/reactos/dll/win32/browseui/addressband.cpp b/reactos/dll/win32/browseui/addressband.cpp index 7068ee8d1c6..8b09dce2804 100644 --- a/reactos/dll/win32/browseui/addressband.cpp +++ b/reactos/dll/win32/browseui/addressband.cpp @@ -27,8 +27,6 @@ Implements the navigation band of the cabinet window #include #include -HRESULT CreateAddressEditBox(REFIID riid, void **ppv); - /* TODO: ****Add command handler for show/hide Go button to OnWinEvent @@ -155,19 +153,9 @@ HRESULT STDMETHODCALLTYPE CAddressBand::SetSite(IUnknown *pUnkSite) fEditControl = reinterpret_cast(SendMessage(CBEM_GETEDITCONTROL, 0, 0)); fComboBox = reinterpret_cast(SendMessage(CBEM_GETCOMBOCONTROL, 0, 0)); -#if 1 - hResult = CoCreateInstance(CLSID_AddressEditBox, NULL, CLSCTX_INPROC_SERVER, - IID_PPV_ARG(IAddressEditBox, &fAddressEditBox)); -#else - hResult = E_FAIL; -#endif + hResult = CAddressEditBox_CreateInstance(IID_PPV_ARG(IAddressEditBox, &fAddressEditBox)); if (FAILED_UNEXPECTEDLY(hResult)) - { - // instantiate new version - hResult = CreateAddressEditBox(IID_PPV_ARG(IAddressEditBox, &fAddressEditBox)); - if (FAILED_UNEXPECTEDLY(hResult)) - return hResult; - } + return hResult; hResult = fAddressEditBox->QueryInterface(IID_PPV_ARG(IShellService, &shellService)); if (FAILED_UNEXPECTEDLY(hResult)) @@ -642,11 +630,6 @@ LRESULT CAddressBand::OnWindowPosChanging(UINT uMsg, WPARAM wParam, LPARAM lPara return 0; } -HRESULT CreateAddressBand(REFIID riid, void **ppv) -{ - return ShellObjectCreator(riid, ppv); -} - void CAddressBand::CreateGoButton() { const TBBUTTON buttonInfo [] = { { 0, 1, TBSTATE_ENABLED, 0 } }; diff --git a/reactos/dll/win32/browseui/addresseditbox.cpp b/reactos/dll/win32/browseui/addresseditbox.cpp index 2b0aaf48dda..d6b1adc58dc 100644 --- a/reactos/dll/win32/browseui/addresseditbox.cpp +++ b/reactos/dll/win32/browseui/addresseditbox.cpp @@ -330,8 +330,3 @@ HRESULT STDMETHODCALLTYPE CAddressEditBox::GetSizeMax(ULARGE_INTEGER *pcbSize) { return E_NOTIMPL; } - -HRESULT CreateAddressEditBox(REFIID riid, void **ppv) -{ - return ShellObjectCreator(riid, ppv); -} diff --git a/reactos/dll/win32/browseui/bandproxy.cpp b/reactos/dll/win32/browseui/bandproxy.cpp index 0a145070d84..5ca4a7feb2d 100644 --- a/reactos/dll/win32/browseui/bandproxy.cpp +++ b/reactos/dll/win32/browseui/bandproxy.cpp @@ -125,8 +125,3 @@ HRESULT STDMETHODCALLTYPE CBandProxy::NavigateToURL(long paramC, long param10) { return E_NOTIMPL; } - -HRESULT CreateBandProxy(REFIID riid, void **ppv) -{ - return ShellObjectCreator(riid, ppv); -} diff --git a/reactos/dll/win32/browseui/basebar.cpp b/reactos/dll/win32/browseui/basebar.cpp index 642d653f9b3..6a30462e0b4 100644 --- a/reactos/dll/win32/browseui/basebar.cpp +++ b/reactos/dll/win32/browseui/basebar.cpp @@ -548,7 +548,7 @@ LRESULT CBaseBar::OnCaptureChanged(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL return 0; } -HRESULT CreateBaseBar(REFIID riid, void **ppv, BOOL vertical) +HRESULT CBaseBar_CreateInstance(REFIID riid, void **ppv, BOOL vertical) { return ShellObjectCreatorInit(vertical, riid, ppv); } diff --git a/reactos/dll/win32/browseui/basebarsite.cpp b/reactos/dll/win32/browseui/basebarsite.cpp index 44a006633ad..5a53387c86a 100644 --- a/reactos/dll/win32/browseui/basebarsite.cpp +++ b/reactos/dll/win32/browseui/basebarsite.cpp @@ -830,7 +830,7 @@ HRESULT CBaseBarSite::ShowBand(DWORD dwBandID) return S_OK; } -HRESULT CreateBaseBarSite(REFIID riid, void **ppv, BOOL bVertical) +HRESULT CBaseBarSite_CreateInstance(REFIID riid, void **ppv, BOOL bVertical) { return ShellObjectCreatorInit(bVertical, riid, ppv); } diff --git a/reactos/dll/win32/browseui/brandband.cpp b/reactos/dll/win32/browseui/brandband.cpp index a49efde467d..512039ff24b 100644 --- a/reactos/dll/win32/browseui/brandband.cpp +++ b/reactos/dll/win32/browseui/brandband.cpp @@ -456,8 +456,3 @@ LRESULT CBrandBand::OnTimer(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHand Invalidate(FALSE); return 0; } - -HRESULT CreateBrandBand(REFIID riid, void **ppv) -{ - return ShellObjectCreator(riid, ppv); -} diff --git a/reactos/dll/win32/browseui/browseui.h b/reactos/dll/win32/browseui/browseui.h new file mode 100644 index 00000000000..4a07238b1d0 --- /dev/null +++ b/reactos/dll/win32/browseui/browseui.h @@ -0,0 +1,122 @@ +#pragma once + +#define USE_CUSTOM_MENUBAND 1 +#define USE_CUSTOM_MERGEDFOLDER 1 +#define USE_CUSTOM_ADDRESSBAND 1 +#define USE_CUSTOM_ADDRESSEDITBOX 1 +#define USE_CUSTOM_BANDPROXY 1 +#define USE_CUSTOM_BRANDBAND 1 +#define USE_CUSTOM_EXPLORERBAND 1 +#define USE_CUSTOM_INTERNETTOOLBAR 1 + +/* Constructors for the classes that are not exported */ +HRESULT CTravelLog_CreateInstance(REFIID riid, void **ppv); +HRESULT CBaseBar_CreateInstance(REFIID riid, void **ppv, BOOL vertical); +HRESULT CBaseBarSite_CreateInstance(REFIID riid, void **ppv, BOOL bVertical); +HRESULT CToolsBand_CreateInstance(REFIID riid, void **ppv); + +static inline +HRESULT CAddressBand_CreateInstance(REFIID riid, void **ppv) +{ +#if USE_CUSTOM_ADDRESSBAND + return ShellObjectCreator(riid, ppv); +#else + return CoCreateInstance(CLSID_SH_AddressBand, NULL, CLSCTX_INPROC_SERVER, IID_PPV_ARG(IUnknown, toolsBar)); +#endif +} + +static inline +HRESULT CAddressEditBox_CreateInstance(REFIID riid, void **ppv) +{ +#if USE_CUSTOM_ADDRESSEDITBOX + return ShellObjectCreator(riid, ppv); +#else + return CoCreateInstance(CLSID_AddressEditBox, NULL, CLSCTX_INPROC_SERVER, IID_PPV_ARG(riid, &ppv)); +#endif +} + +static inline +HRESULT CBandProxy_CreateInstance(REFIID riid, void **ppv) +{ +#if USE_CUSTOM_BANDPROXY + return ShellObjectCreator(riid, ppv); +#else + return CoCreateInstance(CLSID_BandProxy, NULL, CLSCTX_INPROC_SERVER, IID_PPV_ARG(riid, &ppv)); +#endif +} + +static inline +HRESULT CBrandBand_CreateInstance(REFIID riid, void **ppv) +{ +#if USE_CUSTOM_BRANDBAND + return ShellObjectCreator(riid, ppv); +#else + return CoCreateInstance(CLSID_BrandBand, NULL, CLSCTX_INPROC_SERVER, riid, ppv); +#endif +} + +static inline +HRESULT WINAPI CExplorerBand_CreateInstance(REFIID riid, LPVOID *ppv) +{ +#if USE_CUSTOM_EXPLORERBAND + return ShellObjectCreator(riid, ppv); +#else + return CoCreateInstance(CLSID_ExplorerBand, NULL, CLSCTX_INPROC_SERVER, riid, ppv); +#endif +} + +static inline +HRESULT CInternetToolbar_CreateInstance(REFIID riid, void **ppv) +{ +#if USE_CUSTOM_INTERNETTOOLBAR + return ShellObjectCreator(riid, ppv); +#else + return CoCreateInstance(CLSID_InternetToolbar, NULL, CLSCTX_INPROC_SERVER, riid, ppv); +#endif +} + +typedef HRESULT(WINAPI * PMENUBAND_CONSTRUCTOR)(REFIID riid, void **ppv); +typedef HRESULT(WINAPI * PMERGEDFOLDER_CONSTRUCTOR)(REFIID riid, void **ppv); + +static inline +HRESULT CMergedFolder_CreateInstance(REFIID riid, void **ppv) +{ +#if USE_CUSTOM_MERGEDFOLDER + HMODULE hRShell = GetModuleHandle(L"rshell.dll"); + if (!hRShell) + hRShell = LoadLibrary(L"rshell.dll"); + + if (hRShell) + { + PMERGEDFOLDER_CONSTRUCTOR pCMergedFolder_Constructor = (PMERGEDFOLDER_CONSTRUCTOR) + GetProcAddress(hRShell, "CMergedFolder_Constructor"); + + if (pCMergedFolder_Constructor) + { + return pCMergedFolder_Constructor(riid, ppv); + } + } +#endif + return CoCreateInstance(CLSID_MergedFolder, NULL, CLSCTX_INPROC_SERVER, riid, ppv); +} + +static inline +HRESULT CMenuBand_CreateInstance(REFIID iid, LPVOID *ppv) +{ +#if USE_CUSTOM_MENUBAND + HMODULE hRShell = GetModuleHandleW(L"rshell.dll"); + + if (!hRShell) + hRShell = LoadLibraryW(L"rshell.dll"); + + if (hRShell) + { + PMENUBAND_CONSTRUCTOR func = (PMENUBAND_CONSTRUCTOR) GetProcAddress(hRShell, "CMenuBand_Constructor"); + if (func) + { + return func(iid , ppv); + } + } +#endif + return CoCreateInstance(CLSID_MenuBand, NULL, CLSCTX_INPROC_SERVER, iid, ppv); +} diff --git a/reactos/dll/win32/browseui/explorerband.cpp b/reactos/dll/win32/browseui/explorerband.cpp index f0a6a3d35fe..bf224a9465b 100644 --- a/reactos/dll/win32/browseui/explorerband.cpp +++ b/reactos/dll/win32/browseui/explorerband.cpp @@ -28,12 +28,6 @@ #define UNIMPLEMENTED DbgPrint("%s is UNIMPLEMENTED!\n", __FUNCTION__) #endif -extern "C" -HRESULT WINAPI CExplorerBand_Constructor(REFIID riid, LPVOID *ppv) -{ - return ShellObjectCreator(riid, ppv); -} - CExplorerBand::CExplorerBand() : pSite(NULL), fVisible(FALSE), bNavigating(FALSE), dwBandID(0) { diff --git a/reactos/dll/win32/browseui/explorerband.h b/reactos/dll/win32/browseui/explorerband.h index 0c5a8fcd661..f73fe9af314 100644 --- a/reactos/dll/win32/browseui/explorerband.h +++ b/reactos/dll/win32/browseui/explorerband.h @@ -184,6 +184,3 @@ public: MESSAGE_HANDLER(WM_RBUTTONDOWN, ContextMenuHack) END_MSG_MAP() }; - -extern "C" -HRESULT WINAPI CExplorerBand_Constructor(REFIID riid, LPVOID *ppv); \ No newline at end of file diff --git a/reactos/dll/win32/browseui/internettoolbar.cpp b/reactos/dll/win32/browseui/internettoolbar.cpp index fdd7aa46295..b6ca3703955 100644 --- a/reactos/dll/win32/browseui/internettoolbar.cpp +++ b/reactos/dll/win32/browseui/internettoolbar.cpp @@ -78,10 +78,6 @@ TODO: */ extern HRESULT WINAPI SHBindToFolder(LPCITEMIDLIST path, IShellFolder **newFolder); -extern HRESULT CreateToolsBar(REFIID riid, void **ppv); -extern HRESULT CreateBrandBand(REFIID riid, void **ppv); -extern HRESULT CreateBandProxy(REFIID riid, void **ppv); -extern HRESULT CreateAddressBand(REFIID riid, void **ppv); HRESULT IUnknown_RelayWinEvent(IUnknown * punk, HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT *theResult) { @@ -442,7 +438,7 @@ static HRESULT GetFavoritesFolder(IShellFolder ** ppsfFavorites, LPITEMIDLIST * if (FAILED_UNEXPECTEDLY(hr)) return hr; - hr = CreateMergedFolder(IID_PPV_ARG(IAugmentedShellFolder, &pasf)); + hr = CMergedFolder_CreateInstance(IID_PPV_ARG(IAugmentedShellFolder, &pasf)); if (FAILED_UNEXPECTEDLY(hr)) { *ppsfFavorites = psfUserFavorites.Detach(); @@ -503,7 +499,7 @@ HRESULT STDMETHODCALLTYPE CMenuCallback::GetObject(LPSMDATA psmd, REFIID riid, v if (fFavoritesMenu.p == NULL) { - hResult = CreateMenuBand(IID_PPV_ARG(IShellMenu, &newMenu)); + hResult = CMenuBand_CreateInstance(IID_PPV_ARG(IShellMenu, &newMenu)); if (FAILED_UNEXPECTEDLY(hResult)) return hResult; hResult = newMenu->Initialize(this, FCIDM_MENU_FAVORITES, -1, SMINIT_VERTICAL | SMINIT_CACHED); @@ -671,7 +667,7 @@ HRESULT CInternetToolbar::CreateMenuBar(IShellMenu **pMenuBar) *pMenuBar = NULL; - hResult = CreateMenuBand(IID_PPV_ARG(IShellMenu, &menubar)); + hResult = CMenuBand_CreateInstance(IID_PPV_ARG(IShellMenu, &menubar)); if (FAILED_UNEXPECTEDLY(hResult)) return hResult; @@ -719,29 +715,6 @@ HRESULT CInternetToolbar::CreateMenuBar(IShellMenu **pMenuBar) return S_OK; } -HRESULT CInternetToolbar::CreateBrandBand(IUnknown **logoBar) -{ -#if 1 - return ::CreateBrandBand(IID_PPV_ARG(IUnknown, logoBar)); -#else - return CoCreateInstance(CLSID_BrandBand, NULL, CLSCTX_INPROC_SERVER, IID_PPV_ARG(IUnknown, logoBar)); -#endif -} - -HRESULT CInternetToolbar::CreateToolsBar(IUnknown **toolsBar) -{ - return ::CreateToolsBar(IID_PPV_ARG(IUnknown, toolsBar)); -} - -HRESULT CInternetToolbar::CreateAddressBand(IUnknown **toolsBar) -{ -#if 1 - return ::CreateAddressBand(IID_PPV_ARG(IUnknown, toolsBar)); -#else - return CoCreateInstance(CLSID_SH_AddressBand, NULL, CLSCTX_INPROC_SERVER, IID_PPV_ARG(IUnknown, toolsBar)); -#endif -} - HRESULT CInternetToolbar::LockUnlockToolbars(bool locked) { REBARBANDINFOW rebarBandInfo; @@ -817,7 +790,7 @@ HRESULT CInternetToolbar::CreateAndInitBandProxy() hResult = serviceProvider->QueryService(SID_IBandProxy, IID_PPV_ARG(IBandProxy, &fBandProxy)); if (FAILED_UNEXPECTEDLY(hResult)) { - hResult = CreateBandProxy(IID_PPV_ARG(IBandProxy, &fBandProxy)); + hResult = CBandProxy_CreateInstance(IID_PPV_ARG(IBandProxy, &fBandProxy)); if (FAILED_UNEXPECTEDLY(hResult)) return hResult; hResult = fBandProxy->SetSite(fSite); @@ -1048,7 +1021,7 @@ HRESULT STDMETHODCALLTYPE CInternetToolbar::InitNew() // and it will put them in their own row, sized to take up the whole row. #if 0 /* Create and attach the brand/logo to the rebar */ - hResult = CreateBrandBand(&logoBar); + hResult = CBrandBand_CreateInstance(IID_PPV_ARG(IUnknown, &logoBar)); if (FAILED_UNEXPECTEDLY(hResult)) return hResult; AddDockItem(logoBar, ITBBID_BRANDBAND, CDockSite::ITF_NOGRIPPER | CDockSite::ITF_NOTITLE | CDockSite::ITF_FIXEDSIZE); @@ -1056,7 +1029,7 @@ HRESULT STDMETHODCALLTYPE CInternetToolbar::InitNew() #endif /* Create and attach the standard toolbar to the rebar */ - hResult = CreateToolsBar(&toolsBar); + hResult = CToolsBand_CreateInstance(IID_PPV_ARG(IUnknown, &toolsBar)); if (FAILED_UNEXPECTEDLY(hResult)) return hResult; AddDockItem(toolsBar, ITBBID_TOOLSBAND, CDockSite::ITF_NOTITLE | CDockSite::ITF_NEWBANDALWAYS | CDockSite::ITF_GRIPPERALWAYS); @@ -1066,7 +1039,7 @@ HRESULT STDMETHODCALLTYPE CInternetToolbar::InitNew() return hResult; /* Create and attach the address/navigation toolbar to the rebar */ - hResult = CreateAddressBand(&navigationBar); + hResult = CAddressBand_CreateInstance(IID_PPV_ARG(IUnknown, &navigationBar)); if (FAILED_UNEXPECTEDLY(hResult)) return hResult; AddDockItem(navigationBar, ITBBID_ADDRESSBAND, CDockSite::ITF_NEWBANDALWAYS | CDockSite::ITF_GRIPPERALWAYS); @@ -1875,7 +1848,3 @@ LRESULT CInternetToolbar::OnLUp(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &b return 0; } -HRESULT CreateInternetToolbar(REFIID riid, void **ppv) -{ - return ShellObjectCreator(riid, ppv); -} diff --git a/reactos/dll/win32/browseui/internettoolbar.h b/reactos/dll/win32/browseui/internettoolbar.h index f2ec69f8743..4c919bac3d6 100644 --- a/reactos/dll/win32/browseui/internettoolbar.h +++ b/reactos/dll/win32/browseui/internettoolbar.h @@ -98,9 +98,7 @@ public: void AddDockItem(IUnknown *newItem, int bandID, int flags); HRESULT ReserveBorderSpace(LONG maxHeight = -1); HRESULT CreateMenuBar(IShellMenu **menuBar); - HRESULT CreateBrandBand(IUnknown **logoBar); HRESULT CreateToolsBar(IUnknown **toolsBar); - HRESULT CreateAddressBand(IUnknown **toolsBar); HRESULT LockUnlockToolbars(bool locked); HRESULT CommandStateChanged(bool newValue, int commandID); HRESULT CreateAndInitBandProxy(); diff --git a/reactos/dll/win32/browseui/precomp.h b/reactos/dll/win32/browseui/precomp.h index bd6e82c2e2d..83a5e590291 100644 --- a/reactos/dll/win32/browseui/precomp.h +++ b/reactos/dll/win32/browseui/precomp.h @@ -49,57 +49,9 @@ #include "regtreeoptions.h" #include "explorerband.h" #include "CProgressDialog.h" +#include "browseui.h" #include WINE_DEFAULT_DEBUG_CHANNEL(browseui); - -#define USE_CUSTOM_MENUBAND 1 - -typedef HRESULT(WINAPI * PMENUBAND_CONSTRUCTOR)(REFIID riid, void **ppv); -typedef HRESULT(WINAPI * PMERGEDFOLDER_CONSTRUCTOR)(REFIID riid, void **ppv); - -static inline -HRESULT CreateMergedFolder(REFIID riid, void **ppv) -{ -#if 1 - HMODULE hRShell = GetModuleHandle(L"rshell.dll"); - if (!hRShell) - hRShell = LoadLibrary(L"rshell.dll"); - - if (hRShell) - { - PMERGEDFOLDER_CONSTRUCTOR pCMergedFolder_Constructor = (PMERGEDFOLDER_CONSTRUCTOR) - GetProcAddress(hRShell, "CMergedFolder_Constructor"); - - if (pCMergedFolder_Constructor) - { - return pCMergedFolder_Constructor(riid, ppv); - } - } -#endif - return CoCreateInstance(CLSID_MergedFolder, NULL, CLSCTX_INPROC_SERVER, riid, ppv); -} - -static inline -HRESULT CreateMenuBand(REFIID iid, LPVOID *ppv) -{ -#if USE_CUSTOM_MENUBAND - HMODULE hRShell = GetModuleHandleW(L"rshell.dll"); - - if (!hRShell) - hRShell = LoadLibraryW(L"rshell.dll"); - - if (hRShell) - { - PMENUBAND_CONSTRUCTOR func = (PMENUBAND_CONSTRUCTOR) GetProcAddress(hRShell, "CMenuBand_Constructor"); - if (func) - { - return func(iid , ppv); - } - } -#endif - return CoCreateInstance(CLSID_MenuBand, NULL, CLSCTX_INPROC_SERVER, iid, ppv); -} - #endif /* _BROWSEUI_PCH_ */ diff --git a/reactos/dll/win32/browseui/shellbrowser.cpp b/reactos/dll/win32/browseui/shellbrowser.cpp index 0b7163d4f67..d6ce8bb32a3 100644 --- a/reactos/dll/win32/browseui/shellbrowser.cpp +++ b/reactos/dll/win32/browseui/shellbrowser.cpp @@ -24,8 +24,6 @@ #include #include -#define USE_CUSTOM_EXPLORERBAND 1 - extern HRESULT IUnknown_ShowDW(IUnknown * punk, BOOL fShow); #include "newatlinterfaces.h" @@ -129,14 +127,6 @@ BOOL createNewStuff = false; // this class is private to browseui.dll and is not registered externally? //DEFINE_GUID(CLSID_ShellFldSetExt, 0x6D5313C0, 0x8C62, 0x11D1, 0xB2, 0xCD, 0x00, 0x60, 0x97, 0xDF, 0x8C, 0x11); - -extern HRESULT CreateTravelLog(REFIID riid, void **ppv); -extern HRESULT CreateBaseBar(REFIID riid, void **ppv, BOOL vertical); -extern HRESULT CreateBaseBarSite(REFIID riid, void **ppv, BOOL vertical); - -// temporary -extern HRESULT CreateInternetToolbar(REFIID riid, void **ppv); - void DeleteMenuItems(HMENU theMenu, unsigned int firstIDToDelete, unsigned int lastIDToDelete) { MENUITEMINFO menuItemInfo; @@ -325,7 +315,7 @@ public: HRESULT BrowseToPath(IShellFolder *newShellFolder, LPCITEMIDLIST absolutePIDL, FOLDERSETTINGS *folderSettings, long flags); HRESULT GetMenuBand(REFIID riid, void **shellMenu); - HRESULT GetBaseBar(bool vertical, IUnknown **theBaseBar); + HRESULT GetBaseBar(bool vertical, REFIID riid, void **theBaseBar); BOOL IsBandLoaded(const CLSID clsidBand, bool verticali, DWORD *pdwBandID); HRESULT ShowBand(const CLSID &classID, bool vertical); HRESULT NavigateToParent(); @@ -740,15 +730,9 @@ HRESULT CShellBrowser::Initialize(LPITEMIDLIST pidl, long b, long c, long d) if (m_hWnd == NULL) return E_FAIL; -#if 0 - hResult = CoCreateInstance(CLSID_InternetToolbar, NULL, CLSCTX_INPROC_SERVER, IID_PPV_ARG(IUnknown, &fClientBars[BIInternetToolbar].clientBar)); + hResult = CInternetToolbar_CreateInstance(IID_PPV_ARG(IUnknown, &clientBar)); if (FAILED_UNEXPECTEDLY(hResult)) return hResult; -#else - hResult = CreateInternetToolbar(IID_PPV_ARG(IUnknown, &clientBar)); - if (FAILED_UNEXPECTEDLY(hResult)) - return hResult; -#endif fClientBars[BIInternetToolbar].clientBar = clientBar; @@ -1105,7 +1089,7 @@ HRESULT CShellBrowser::GetMenuBand(REFIID riid, void **shellMenu) return deskBand->QueryInterface(riid, shellMenu); } -HRESULT CShellBrowser::GetBaseBar(bool vertical, IUnknown **theBaseBar) +HRESULT CShellBrowser::GetBaseBar(bool vertical, REFIID riid, void **theBaseBar) { CComPtr newBaseBar; CComPtr deskBar; @@ -1120,10 +1104,10 @@ HRESULT CShellBrowser::GetBaseBar(bool vertical, IUnknown **theBaseBar) cache = &fClientBars[BIHorizontalBaseBar].clientBar.p; if (*cache == NULL) { - hResult = CreateBaseBar(IID_PPV_ARG(IUnknown, &newBaseBar), vertical); + hResult = CBaseBar_CreateInstance(IID_PPV_ARG(IUnknown, &newBaseBar), vertical); if (FAILED_UNEXPECTEDLY(hResult)) return hResult; - hResult = CreateBaseBarSite(IID_PPV_ARG(IUnknown, &newBaseBarSite), vertical); + hResult = CBaseBarSite_CreateInstance(IID_PPV_ARG(IUnknown, &newBaseBarSite), vertical); if (FAILED_UNEXPECTEDLY(hResult)) return hResult; @@ -1152,13 +1136,12 @@ HRESULT CShellBrowser::GetBaseBar(bool vertical, IUnknown **theBaseBar) return hResult; } - return (*cache)->QueryInterface(IID_PPV_ARG(IUnknown, theBaseBar)); + return (*cache)->QueryInterface(riid, theBaseBar); } BOOL CShellBrowser::IsBandLoaded(const CLSID clsidBand, bool vertical, DWORD *pdwBandID) { HRESULT hResult; - CComPtr baseBar; CComPtr deskBar; CComPtr baseBarSite; CComPtr bandSite; @@ -1168,10 +1151,7 @@ BOOL CShellBrowser::IsBandLoaded(const CLSID clsidBand, bool vertical, DWORD *pd DWORD i; /* Get our basebarsite to be able to enumerate bands */ - hResult = GetBaseBar(vertical, &baseBar); - if (FAILED_UNEXPECTEDLY(hResult)) - return FALSE; - hResult = baseBar->QueryInterface(IID_PPV_ARG(IDeskBar, &deskBar)); + hResult = GetBaseBar(vertical, IID_PPV_ARG(IDeskBar, &deskBar)); if (FAILED_UNEXPECTEDLY(hResult)) return FALSE; hResult = deskBar->GetClient(&baseBarSite); @@ -1213,41 +1193,34 @@ HRESULT CShellBrowser::ShowBand(const CLSID &classID, bool vertical) CComPtr dockingWindow; CComPtr baseBarSite; CComPtr newBand; - CComPtr theBaseBar; CComPtr deskBar; VARIANT vaIn; HRESULT hResult; DWORD dwBandID; - hResult = GetBaseBar(vertical, (IUnknown **)&theBaseBar); + hResult = GetBaseBar(vertical, IID_PPV_ARG(IDeskBar, &deskBar)); if (FAILED_UNEXPECTEDLY(hResult)) return hResult; - hResult = theBaseBar->QueryInterface(IID_PPV_ARG(IDeskBar, &deskBar)); - if (FAILED_UNEXPECTEDLY(hResult)) - return hResult; - hResult = deskBar->GetClient(&baseBarSite); if (FAILED_UNEXPECTEDLY(hResult)) return hResult; - hResult = theBaseBar->QueryInterface(IID_PPV_ARG(IDockingWindow, &dockingWindow)); + hResult = deskBar->QueryInterface(IID_PPV_ARG(IDockingWindow, &dockingWindow)); if (FAILED_UNEXPECTEDLY(hResult)) return hResult; if (!IsBandLoaded(classID, vertical, &dwBandID)) { -#if USE_CUSTOM_EXPLORERBAND TRACE("ShowBand called for CLSID %s, vertical=%d...\n", wine_dbgstr_guid(&classID), vertical); if (IsEqualCLSID(CLSID_ExplorerBand, classID)) { TRACE("CLSID_ExplorerBand requested, building internal band.\n"); - hResult = CExplorerBand_Constructor(IID_PPV_ARG(IUnknown, &newBand)); + hResult = CExplorerBand_CreateInstance(IID_PPV_ARG(IUnknown, &newBand)); if (FAILED_UNEXPECTEDLY(hResult)) return hResult; } else -#endif { TRACE("A different CLSID requested, using CoCreateInstance.\n"); hResult = CoCreateInstance(classID, NULL, CLSCTX_INPROC_SERVER, IID_PPV_ARG(IUnknown, &newBand)); @@ -2388,7 +2361,7 @@ HRESULT STDMETHODCALLTYPE CShellBrowser::GetTravelLog(ITravelLog **pptl) *pptl = NULL; if (fTravelLog.p == NULL) { - hResult = CreateTravelLog(IID_PPV_ARG(ITravelLog, &fTravelLog)); + hResult = CTravelLog_CreateInstance(IID_PPV_ARG(ITravelLog, &fTravelLog)); if (FAILED_UNEXPECTEDLY(hResult)) return hResult; } diff --git a/reactos/dll/win32/browseui/toolsband.cpp b/reactos/dll/win32/browseui/toolsband.cpp index 259db7f9a24..5318f3ad581 100644 --- a/reactos/dll/win32/browseui/toolsband.cpp +++ b/reactos/dll/win32/browseui/toolsband.cpp @@ -433,7 +433,7 @@ LRESULT CToolsBand::OnGetButtonInfo(UINT idControl, NMHDR *pNMHDR, BOOL &bHandle return 0; } -HRESULT CreateToolsBar(REFIID riid, void **ppv) +HRESULT CToolsBand_CreateInstance(REFIID riid, void **ppv) { return ShellObjectCreator(riid, ppv); } diff --git a/reactos/dll/win32/browseui/travellog.cpp b/reactos/dll/win32/browseui/travellog.cpp index bd5b886c333..47697839a97 100644 --- a/reactos/dll/win32/browseui/travellog.cpp +++ b/reactos/dll/win32/browseui/travellog.cpp @@ -624,7 +624,7 @@ HRESULT STDMETHODCALLTYPE CTravelLog::Revert() return E_NOTIMPL; } -HRESULT CreateTravelLog(REFIID riid, void **ppv) +HRESULT CTravelLog_CreateInstance(REFIID riid, void **ppv) { return ShellObjectCreatorInit(riid, ppv); }