views:

66

answers:

0

I have DLL running in IE context and it crashed on UnLoad under ApplicationVerifier. The error states that COM proxy was called from wrong context or in other words, COM object was accessed from a wrong apartment.

A COM Proxy was called from the wrong context. 75a867c0 - Pointer to IID of interface being called on.
2 - Method number being called.
0 - The apartment that the proxy is valid in.
a7c - The current apartment. vrfcore!VerifierRegisterLayerEx+11b ( @ 0)
ole32!ObjectStublessClient30+14a8d ( @ 0)
ole32!CoReleaseServerProcess+165 ( @ 0)
ole32!WdtpInterfacePointer_UserUnmarshal+20fc ( @ 0) ...

The code flow is pretty complex and thus, I am trying to gather as much info as possible from WinDBG. Is it possible to print a list of existing COM apartments and their threads in WinDBG? How can I find more information about "current apartment" and finally: what exactly is the method number? It does not look like a COM methods of my object.

Thanks.