[BROWSEUI]
authorGiannis Adamopoulos <gadamopoulos@reactos.org>
Sat, 30 Jul 2016 11:53:16 +0000 (11:53 +0000)
committerGiannis Adamopoulos <gadamopoulos@reactos.org>
Sat, 30 Jul 2016 11:53:16 +0000 (11:53 +0000)
- 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

15 files changed:
reactos/dll/win32/browseui/addressband.cpp
reactos/dll/win32/browseui/addresseditbox.cpp
reactos/dll/win32/browseui/bandproxy.cpp
reactos/dll/win32/browseui/basebar.cpp
reactos/dll/win32/browseui/basebarsite.cpp
reactos/dll/win32/browseui/brandband.cpp
reactos/dll/win32/browseui/browseui.h [new file with mode: 0644]
reactos/dll/win32/browseui/explorerband.cpp
reactos/dll/win32/browseui/explorerband.h
reactos/dll/win32/browseui/internettoolbar.cpp
reactos/dll/win32/browseui/internettoolbar.h
reactos/dll/win32/browseui/precomp.h
reactos/dll/win32/browseui/shellbrowser.cpp
reactos/dll/win32/browseui/toolsband.cpp
reactos/dll/win32/browseui/travellog.cpp

index 7068ee8..8b09dce 100644 (file)
@@ -27,8 +27,6 @@ Implements the navigation band of the cabinet window
 #include <shlwapi_undoc.h>
 #include <shellapi.h>
 
-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<HWND>(SendMessage(CBEM_GETEDITCONTROL, 0, 0));
     fComboBox = reinterpret_cast<HWND>(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<CAddressBand>(riid, ppv);
-}
-
 void CAddressBand::CreateGoButton()
 {
     const TBBUTTON buttonInfo [] = { { 0, 1, TBSTATE_ENABLED, 0 } };
index 2b0aaf4..d6b1adc 100644 (file)
@@ -330,8 +330,3 @@ HRESULT STDMETHODCALLTYPE CAddressEditBox::GetSizeMax(ULARGE_INTEGER *pcbSize)
 {
     return E_NOTIMPL;
 }
-
-HRESULT CreateAddressEditBox(REFIID riid, void **ppv)
-{
-    return ShellObjectCreator<CAddressEditBox>(riid, ppv);
-}
index 0a14507..5ca4a7f 100644 (file)
@@ -125,8 +125,3 @@ HRESULT STDMETHODCALLTYPE CBandProxy::NavigateToURL(long paramC, long param10)
 {
     return E_NOTIMPL;
 }
-
-HRESULT CreateBandProxy(REFIID riid, void **ppv)
-{
-    return ShellObjectCreator<CBandProxy>(riid, ppv);
-}
index 642d653..6a30462 100644 (file)
@@ -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<CBaseBar, BOOL>(vertical, riid, ppv);
 }
index 44a0066..5a53387 100644 (file)
@@ -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<CBaseBarSite, BOOL>(bVertical, riid, ppv);
 }
index a49efde..512039f 100644 (file)
@@ -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<CBrandBand>(riid, ppv);
-}
diff --git a/reactos/dll/win32/browseui/browseui.h b/reactos/dll/win32/browseui/browseui.h
new file mode 100644 (file)
index 0000000..4a07238
--- /dev/null
@@ -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<CAddressBand>(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<CAddressEditBox>(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<CBandProxy>(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<CBrandBand>(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<CExplorerBand>(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<CInternetToolbar>(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);
+}
index f0a6a3d..bf224a9 100644 (file)
 #define UNIMPLEMENTED DbgPrint("%s is UNIMPLEMENTED!\n", __FUNCTION__)
 #endif
 
-extern "C"
-HRESULT WINAPI CExplorerBand_Constructor(REFIID riid, LPVOID *ppv)
-{
-    return ShellObjectCreator<CExplorerBand>(riid, ppv);
-}
-
 CExplorerBand::CExplorerBand() :
     pSite(NULL), fVisible(FALSE), bNavigating(FALSE), dwBandID(0)
 {
index 0c5a8fc..f73fe9a 100644 (file)
@@ -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
index fdd7aa4..b6ca370 100644 (file)
@@ -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<CInternetToolbar>(riid, ppv);
-}
index f2ec69f..4c919ba 100644 (file)
@@ -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();
index bd6e82c..83a5e59 100644 (file)
 #include "regtreeoptions.h"
 #include "explorerband.h"
 #include "CProgressDialog.h"
+#include "browseui.h"
 #include <stdio.h>
 
 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_ */
index 0b7163d..d6ce8bb 100644 (file)
@@ -24,8 +24,6 @@
 #include <htiframe.h>
 #include <strsafe.h>
 
-#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));
-    if (FAILED_UNEXPECTEDLY(hResult))
-        return hResult;
-#else
-    hResult = CreateInternetToolbar(IID_PPV_ARG(IUnknown, &clientBar));
+    hResult = CInternetToolbar_CreateInstance(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<IUnknown>                       newBaseBar;
     CComPtr<IDeskBar>                       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<IUnknown>                       baseBar;
     CComPtr<IDeskBar>                       deskBar;
     CComPtr<IUnknown>                       baseBarSite;
     CComPtr<IBandSite>                      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<IDockingWindow>                 dockingWindow;
     CComPtr<IUnknown>                       baseBarSite;
     CComPtr<IUnknown>                       newBand;
-    CComPtr<IUnknown>                       theBaseBar;
     CComPtr<IDeskBar>                       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;
     }
index 259db7f..5318f3a 100644 (file)
@@ -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<CToolsBand>(riid, ppv);
 }
index bd5b886..4769783 100644 (file)
@@ -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<CTravelLog>(riid, ppv);
 }