/************************************************************************* * DllGetClassObject (SHDOCVW.@) */ HRESULT WINAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, void **ppv) { TRACE("\n"); if(IsEqualGUID(&CLSID_WebBrowser, rclsid) || IsEqualGUID(&CLSID_WebBrowser_V1, rclsid) || IsEqualGUID(&CLSID_InternetShortcut, rclsid) || IsEqualGUID(&CLSID_CUrlHistory, rclsid) || IsEqualGUID(&CLSID_TaskbarList, rclsid)) return get_ieframe_object(rclsid, riid, ppv); /* As a last resort, figure if the CLSID belongs to a 'Shell Instance Object' */ return SHDOCVW_GetShellInstanceObjectClassObject(rclsid, riid, ppv); }
/************************************************************************* * DllGetClassObject (SHDOCVW.@) */ HRESULT WINAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, void **ppv) { static IClassFactoryImpl WB1ClassFactory = {&WBCF_Vtbl, WebBrowserV1_Create}; static IClassFactoryImpl WB2ClassFactory = {&WBCF_Vtbl, WebBrowserV2_Create}; static IClassFactoryImpl CUHClassFactory = {&WBCF_Vtbl, CUrlHistory_Create}; TRACE("\n"); if(IsEqualGUID(&CLSID_WebBrowser, rclsid)) return IClassFactory_QueryInterface(FACTORY(&WB2ClassFactory), riid, ppv); if(IsEqualGUID(&CLSID_WebBrowser_V1, rclsid)) return IClassFactory_QueryInterface(FACTORY(&WB1ClassFactory), riid, ppv); if(IsEqualGUID(&CLSID_CUrlHistory, rclsid)) return IClassFactory_QueryInterface(FACTORY(&CUHClassFactory), riid, ppv); /* As a last resort, figure if the CLSID belongs to a 'Shell Instance Object' */ return SHDOCVW_GetShellInstanceObjectClassObject(rclsid, riid, ppv); }