Post by spidyPost by Igor TandetnikPost by spidyI downloaded PassThruAPP and while running I am getting exceptions..
Is there an new version of it, looks like I am having very old
version.
I lost interest and stoped development on it a long time ago. That old
version is all there is. Having said that, it's still working for me.
You are probably doing something wrong.
Post by spidyAlso is there some explanation of its code?
No, not really. You can ask here, and I'll do my best to answer. In case
it's not clear, I'm the author.
--
With best wishes,
Igor Tandetnik
With sufficient thrust, pigs fly just fine. However, this is not
necessarily a good idea. It is hard to be sure where they are going to
land, and it could be dangerous sitting under them as they fly
overhead. -- RFC 1925
Okay so here is exception
---------------------------
Microsoft Visual C++ Debug Library
---------------------------
Debug Assertion Failed!
Program: C:\Program Files\Internet Explorer\iexplore.exe
File: c:\program files\microsoft visual studio 8\vc\atlmfc\include
\atlcore.h
Line: 182
Expression: m_bInitialized
For information on how your program can cause an assertion
failure, see the Visual C++ documentation on asserts.
(Press Retry to debug the application)
---------------------------
Abort Retry Ignore
---------------------------
call stack shows it originates from
inline HRESULT CComClassFactoryProtocol::SetTargetClassFactory(
IClassFactory* pCF)
{
HRESULT hr = (pCF ? pCF->LockServer(TRUE) : S_OK);
if (SUCCEEDED(hr))
{
ObjectLock lock(this);-------------------------> Exception
if (m_spTargetCF)
{
// LockServer(FALSE) is assumed to always succeed. Otherwise,
// it is impossible to implement correct semantics
HRESULT hr1 = m_spTargetCF->LockServer(FALSE);
hr1;
ATLASSERT(SUCCEEDED(hr1));
}
m_spTargetCF = pCF;
}
return hr;
}
Even If I comment Object Lock(this) , some more exceptions appear
triggered by ASSERT statements
inline HRESULT WINAPI QueryInterfaceDebug(void* pv, REFIID riid,
LPVOID* ppv, DWORD_PTR dw, IUnknown* punkTarget)
{
ATLASSERT(pv != 0);
ATLASSERT(ppv != 0);
ATLASSERT(punkTarget != 0);
CComPtr<IUnknown> spUnk;
HRESULT hr = punkTarget->QueryInterface(riid,
reinterpret_cast<void**>(&spUnk));
ATLASSERT(FAILED(hr) || spUnk != 0);
if (SUCCEEDED(hr))
{
ATLTRACE(_T("Unrecognized interface supported by target unknown"));
ATLASSERT(false);
---------------------------------------------------------------------------
}
// We don't support this interface, so return an error.
// The operations above are for debugging purposes only,
// this function is not supposed to ever return success
return E_NOINTERFACE;
}