static HRESULT ITrayBandSiteImpl_AddTaskBand(IN OUT ITrayBandSiteImpl *This) { #if 0 /* FIXME: This is the code for the simple taskbar */ IObjectWithSite *pOws; HRESULT hRet; hRet = ITaskBand_QueryInterface(This->TaskBand, &IID_IObjectWithSite, (PVOID*)&pOws); if (SUCCEEDED(hRet)) { hRet = IObjectWithSite_SetSite(pOws, (IUnknown *)This->TaskBand); IObjectWithSite_Release(pOws); } return hRet; #else if (!ITrayBandSiteImpl_HasTaskBand(This)) { return IBandSite_AddBand(This->BandSite, (IUnknown *)This->TaskBand); } return S_OK; #endif }
static HRESULT STDMETHODCALLTYPE ITrayBandSiteImpl_AddBand(IN OUT IBandSite *iface, IN IUnknown *punk) { ITrayBandSiteImpl *This = ITrayBandSiteImpl_from_IBandSite(iface); IOleCommandTarget *pOct; HRESULT hRet; hRet = IUnknown_QueryInterface(punk, &IID_IOleCommandTarget, (PVOID*)&pOct); if (SUCCEEDED(hRet)) { /* Send the DBID_DELAYINIT command to initialize the band to be added */ /* FIXME: Should be delayed */ IOleCommandTarget_Exec(pOct, &IID_IDeskBand, DBID_DELAYINIT, 0, NULL, NULL); IOleCommandTarget_Release(pOct); } return IBandSite_AddBand(This->BandSite, punk); }
static HRESULT WINAPI StartMenu_IInitializeObject_Initialize(IInitializeObject *iface) { HRESULT hr; StartMenu *This = impl_from_IInitializeObject(iface); TRACE("StartMenu_IInitializeObject_Initialize (%p)\n", iface); hr = MenuBandSite_Constructor(NULL, &IID_IBandSite, (LPVOID*)&This->pBandSite); if (FAILED(hr)) return hr; return IBandSite_AddBand(This->pBandSite, (IUnknown*)&This->menuBandVtbl); }