EXTERN_C HRESULT STDAPICALLTYPE LoadOpenCoverSupportAssembly(IUnknown *pUnk) { #ifdef TRACE_ENABLED ATLTRACE(_T("****LoadInjectorAssembly - Start****")); #endif CComPtr<_AppDomain> pAppDomain; HRESULT hr = pUnk->QueryInterface(__uuidof(_AppDomain), (void**)&pAppDomain); ATLASSERT(hr == S_OK); LPSAFEARRAY lpAsmblyData = GetInjectedDllAsSafeArray(); ATLASSERT(lpAsmblyData != NULL); CComPtr<_Assembly> pAssembly; hr = pAppDomain->Load_3(lpAsmblyData, &pAssembly); ATLASSERT(hr == S_OK); SafeArrayDestroy(lpAsmblyData); CComVariant variant; hr = pAssembly->CreateInstance(W2BSTR(L"OpenCover.Support.DomainHelper"), &variant); ATLASSERT(hr == S_OK); CComPtr<IDomainHelper> pDomainHelper; hr = variant.punkVal->QueryInterface(__uuidof(IDomainHelper), (void**)&pDomainHelper); ATLASSERT(hr == S_OK); hr = pDomainHelper->AddResolveEventHandler(); ATLASSERT(hr == S_OK); #ifdef TRACE_ENABLED ATLTRACE(_T("****LoadInjectorAssembly - End****")); #endif return S_OK; }