Hello
I have developed an NPAPI plugin for Firefox/Safari that I am now trying to get to work in Chrome without much success.
After some debugging I have found that in Chrome the plugin is getting stuck when I am creating an ActiveX control. The ActiveX control is loaded from the plugin DLL via the usual CoCreateInstance. However, this call never seems to return and Chrome locks up. The relevant call stack is given below. It appears that it is getting stuck in CDllHost::GetApartmentToken.
Anyone any ideas why?
Thanks
Mark
______________________________________________________
Call Stack:
Code:ntdll.dll!_KiFastSystemCallRet@0() user32.dll!_NtUserMessageCall@28() + 0xc bytes user32.dll!_SendMessageW@16() + 0x49 bytes ole32.dll!CDllHost::GetApartmentToken() + 0x409e2 bytes ole32.dll!DoSTApartmentCreate() + 0x12 bytes ole32.dll!CClassCache::GetActivatorFromDllHost() + 0x556e5 bytes ole32.dll!CClassCache::GetOrCreateApartment() + 0x20 bytes ole32.dll!FindOrCreateApartment() + 0x46 bytes ole32.dll!CProcessActivator::GetApartmentActivator() + 0x89 bytes ole32.dll!CProcessActivator::CCICallback() + 0x17 bytes ole32.dll!CProcessActivator::AttemptActivation() + 0x2c bytes ole32.dll!CProcessActivator::ActivateByContext() + 0x46 bytes ole32.dll!CProcessActivator::CreateInstance() + 0x49 bytes ole32.dll!ActivationPropertiesIn::DelegateCreateInstance() + 0x4b bytes ole32.dll!CClientContextActivator::CreateInstance() + 0x8f bytes ole32.dll!ActivationPropertiesIn::DelegateCreateInstance() + 0x4b bytes ole32.dll!ICoCreateInstanceEx() + 0x10b4b bytes ole32.dll!CComActivator::DoCreateInstance() + 0x28 bytes ole32.dll!_CoCreateInstanceEx@24() + 0x1e bytes ole32.dll!_CoCreateInstance@20() + 0x34 bytes npagraph.dll!ATL::CreateNormalizedObject(const wchar_t * lpszTricsData=0x10b9a164, const _GUID & riid={...}, void * * ppvObj=0x0127f540, bool & bWasHTML=false, wchar_t * bstrLicKey=0x00000000) Line 135 + 0x16 bytes C++ npagraph.dll!ATL::CAxHostWindow::CreateControlLicEx(const wchar_t * lpszTricsData=0x10b9a164, HWND__ * hWnd=0x00190eec, IStream * pStream=0x00000000, IUnknown * * ppUnk=0x0127f540, const _GUID & iidAdvise={...}, IUnknown * punkSink=0x00000000, wchar_t * bstrLic=0x00000000) Line 844 + 0x1a bytes C++ npagraph.dll!ATL::CAxHostWindow::CreateControlEx(const wchar_t * lpszTricsData=0x10b9a164, HWND__ * hWnd=0x00190eec, IStream * pStream=0x00000000, IUnknown * * ppUnk=0x0127f540, const _GUID & iidAdvise={...}, IUnknown * punkSink=0x00000000) Line 732 C++ npagraph.dll!ATL::CAxWindowT<ATL::CWindow>::CreateControlEx(const wchar_t * lpszName=0x10b9a164, IStream * pStream=0x00000000, IUnknown * * ppUnkContainer=0x00000000, IUnknown * * ppUnkControl=0x0127f5ec, const _GUID & iidSink={...}, IUnknown * punkSink=0x00000000) Line 2036 + 0x38 bytes C++ npagraph.dll!agraphfirefoxplugin::CreateToolbars(HWND__ * parenthwnd=0x00190ff2) Line 650 + 0x27 bytes C++ npagraph.dll!agraphfirefoxplugin::CreateControlWindow(OWL::TRect & pluginrect={...}) Line 571 C++ npagraph.dll!agraphfirefoxplugin::init(_NPWindow * aWindow=0x0101b738) Line 384 C++ npagraph.dll!NPP_SetWindow(_NPP * instance=0x00fb0060, _NPWindow * pNPWindow=0x0101b738) Line 112 + 0x10 bytes C++ chrome.dll!NPAPI::PluginInstance::NPP_SetWindow(_NPWindow * window=0x0101b738) Line 233 + 0x9 bytes C++ chrome.dll!WebPluginDelegateImpl::WindowedSetWindow() Line 794 C++ chrome.dll!WebPluginDelegateImpl::UpdateGeometry(const gfx::Rect & window_rect={...}, const gfx::Rect & clip_rect={...}) Line 388 + 0x1c bytes C++


LinkBack URL
About LinkBacks



Reply With Quote
BETTER GMAIL for Google Chrome 

