Re: Global Interface Table Problem.
- From: "Dinesh Venugopalan" <dinesh@xxxxxxxxxxx>
- Date: Thu, 18 May 2006 09:08:41 +0530
Hello Mr Igor,
Thanks for the reply and I am sorry for my late reply I live in different
time zone.
In your post below you have said that "The apartment (thread) in which the
COM object was created is dead, and
the object died with it". If that was the case then dont you think it
should have behaved uniformaly in all the threads. As I had mentioned in my
post that when I create GIT and other interfaces in the primary thread of
IE, close this window and move on to the window created by the primary
thread using File -> New or CTRL N. in this second window GIT world
perfectly. But the vise versa is not happenning.
You also asked me "Why not just implement a regular C++ class in your DLL"
.. The answer to that is that there are other modules present which are
called from the hooks and these modules can be in any language but they all
support com. So we thought if we use com to store our data it will be easy
for us to pass it to these modules.
"Igor Tandetnik" <itandetnik@xxxxxxxx> wrote in message
news:uTcWSTceGHA.1792@xxxxxxxxxxxxxxxxxxxxxxx
Dinesh Venugopalan <dinesh@xxxxxxxxxxx> wrote:
The problem I am facing is this.
Lets say we have 2 IE window A and B. Where A is the
primary window and B is create by doing "file" -> "new" on A.
If the pointers are created in A and if I close A and record in B my
GIT queries work properly.
But if I create pointers in B, close the B window and record in A.
GIT query fails and returns the error values as 0x80070057 which
translates to "The parameter is incorrect".
The apartment (thread) in which the COM object was created is dead, and
the object died with it.
Personally, I'd not use a COM object in this scenario at all. Why not just
implement a regular C++ class in your DLL? Or perhaps a COM-like object,
but don't use COM mechanisms for creting and managing it. Just make the
object thread-safe and share it directly in a global variable.
--
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
.
- Follow-Ups:
- Re: Global Interface Table Problem.
- From: Igor Tandetnik
- Re: Global Interface Table Problem.
- References:
- Global Interface Table Problem.
- From: Dinesh Venugopalan
- Re: Global Interface Table Problem.
- From: Igor Tandetnik
- Global Interface Table Problem.
- Prev by Date: Re: Reading a byte array from a Variant
- Next by Date: Re: Global Interface Table Problem.
- Previous by thread: Re: Global Interface Table Problem.
- Next by thread: Re: Global Interface Table Problem.
- Index(es):
Relevant Pages
|