Hi again! :)

I'm on my way to get in touch with COM (in fact I already managed to create
a shortcut on my Desktop... yeehaa :cool: ) and my question is more a general
one:

What is the magic (or better: the reason ;) ) behind export-names (in DLLs) like
those:

??_7__non_rtti_object@@6B@
??_7bad_typeid@@6B@
??_E__non_rtti_object@@UAEPAXI@Z
??_U@YAPAXI@Z
??0__non_rtti_object@@QAE@PBD@Z

As you can see, they have lots of "@", "?" and capitals in their names.
The above is from msvcrt.dll, but I already found such strange exports in other
DLLs as well, and I have reasons to assume that it has something to do with COM.

If you know about it, a short example would be nice :)


I also would like to know if there are some good ASM-related COM-tutorials available
on the internet for free. I've already read through Ernest Murphy's tuts, but
sometimes his grammar is not sufficient to make me understand what he means. I've
got the feeling that it's not complete, because after I read through his tuts and I looked
at his example sources, I still wasn't able to understand some part of the declarations.


Thanks in advance for all info.

btw: Happy new year 11111010011b ! :alright:


aweX <-
Posted on 2003-01-06 03:32:05 by aweX
aweX,

these names are "decorated names" from VC++ and have nothing to do with COM. The names are generated by the C++ compiler encoding return type + type of parameters of the function into the name (and so supporting polymorphism on the technical level).

Jepheth
Posted on 2003-01-06 04:39:56 by japheth
This link has some article on MASM32 and COM... Maurice M. wrote the TBL2INC.EXE tool that i now believe Japheth has superceeded with is COMView ;)

http://www.com4me.net/

Im glad your learing COM, its been getting quite around here lately... ((and muttering to myself is not too healthy ;) ))
Posted on 2003-01-06 17:50:05 by NaN