View Full Version : A question regarding COM
ronnie291983
February 2nd, 2010, 00:26
Hi,
Had a question regarding COM,
When we create an instance of interface using CoCreateInstance then the pointer returned by this API is suppose "x".
CoCreateInstance(target, NULL, flags, IID_IDispatch, tmpObj)
where "x" is "tmpobj"
Does X point to virtual function table?
does *(x) point to QueryInterface ; and
*(x+4) point to AddRef;
etc......
Is this assumption correct?
Can't find any resources for this. Appreciate any kind of help.
wtbw
February 2nd, 2010, 02:37
http://blogs.msdn.com/oldnewthing/archive/2004/02/05/68017.aspx

ronnie291983
February 2nd, 2010, 03:52
thanks man, i hope it was not too easy to find

wtbw
February 2nd, 2010, 03:55
No problem, had it bookmarked!
FrankRizzo
February 12th, 2010, 20:36
OK, since we're talking about COM here, I can ask my stupid question.
Is there a util which will list all the methods/variables available in a COM object (Outside of object explorer in Visual Studio)?
A nice little .exe that just dumped out the info would be ideal! Does such a thing exist?
disavowed
February 13th, 2010, 15:09
http://www.japheth.de/COMView.html
FrankRizzo
February 13th, 2010, 15:12
WOW! Thanks disavowed, that's one badass app.
disavowed
February 13th, 2010, 18:10
No problem. It's also open source, effectively, since it was written in ASM

ronnie291983
February 14th, 2010, 22:46
thanks for the link, this link wud have saved a lot of effort for me,

, i had to write code for this, if ur interested in writing code for this u can use tlbinf32.dll, which is a activex component, this will extract the typelib info for u.
But this will not give u the VFtable address etc.
U need to use CoCreateInstance to get the interface address and then follow two redirections to get to the Vftable.
dELTA
March 10th, 2010, 15:38
There are of course a bunch of other useful COM apps in the CRCETL too, in addition to COMView:
http://www.woodmann.com/collaborative/tools/Category:COM_Tools
Powered by vBulletin® Version 4.2.2 Copyright © 2020 vBulletin Solutions, Inc. All rights reserved.