if (browser == NULL)
return E_POINTER;
- hResult = fSite->QueryInterface(IID_IServiceProvider, reinterpret_cast<void **>(&serviceProvider));
- if (FAILED(hResult))
+ hResult = fSite->QueryInterface(IID_PPV_ARG(IServiceProvider, &serviceProvider));
+ if (FAILED_UNEXPECTEDLY(hResult))
return hResult;
hResult = serviceProvider->QueryService(
- SID_IWebBrowserApp, IID_IWebBrowser2, reinterpret_cast<void **>(&webBrowser));
- if (FAILED(hResult))
+ SID_IWebBrowserApp, IID_PPV_ARG(IWebBrowser2, &webBrowser));
+ if (FAILED_UNEXPECTEDLY(hResult))
return hResult;
*browser = webBrowser.Detach();
return S_OK;
HRESULT hResult;
hResult = FindBrowserWindow(&webBrowser);
- if (FAILED(hResult) || webBrowser.p == NULL)
+ if (FAILED_UNEXPECTEDLY(hResult) || webBrowser.p == NULL)
return S_FALSE;
return S_OK;
}
HRESULT hResult;
hResult = FindBrowserWindow(&webBrowserUnknown);
- if (FAILED(hResult))
+ if (FAILED_UNEXPECTEDLY(hResult))
return hResult;
- hResult = webBrowserUnknown->QueryInterface(IID_IWebBrowserApp, reinterpret_cast<void **>(&webBrowser));
- if (FAILED(hResult))
+ hResult = webBrowserUnknown->QueryInterface(IID_PPV_ARG(IWebBrowser2, &webBrowser));
+ if (FAILED_UNEXPECTEDLY(hResult))
return hResult;
hResult = webBrowser->put_Visible(TRUE);
- hResult = webBrowser->QueryInterface(IID_IServiceProvider, reinterpret_cast<void **>(&serviceProvider));
+ hResult = webBrowser->QueryInterface(IID_PPV_ARG(IServiceProvider, &serviceProvider));
if (SUCCEEDED(hResult))
{
hResult = serviceProvider->QueryService(SID_STopLevelBrowser,
- IID_IOleWindow, reinterpret_cast<void **>(&oleWindow));
+ IID_PPV_ARG(IOleWindow, &oleWindow));
if (SUCCEEDED(hResult))
{
hResult = oleWindow->GetWindow(&browserWindow);
return E_OUTOFMEMORY;
memcpy(V_ARRAY(&args)->pvData, pidl, arraySize);
hResult = webBrowser->Navigate2(&args, &emptyVariant, &emptyVariant, &emptyVariant, &emptyVariant);
- if (FAILED(hResult))
+ if (FAILED_UNEXPECTEDLY(hResult))
return hResult;
return S_OK;
}
HRESULT CreateBandProxy(REFIID riid, void **ppv)
{
- CComObject<CBandProxy> *theBandProxy;
- HRESULT hResult;
-
- if (ppv == NULL)
- return E_POINTER;
- *ppv = NULL;
- ATLTRY (theBandProxy = new CComObject<CBandProxy>);
- if (theBandProxy == NULL)
- return E_OUTOFMEMORY;
- hResult = theBandProxy->QueryInterface(riid, reinterpret_cast<void **>(ppv));
- if (FAILED(hResult))
- {
- delete theBandProxy;
- return hResult;
- }
- return S_OK;
+ return ShellObjectCreator<CBandProxy>(riid, ppv);
}