I have 64bit COM object written in C++ and 64bit (not Any CPU) managed DCOM server. When I try to pass a reference of my COM object to the managed DCOM server I get an error. After debugging I found that the wrapper in .tli returns 0x80004002 (E_NOINTERFACE).
When I compile both COM object and the managed DCOM server for x86 everything works fine. I saw that tlbimp.exe tool has /machine option but when I try to use it for my 64bit binary I get the following error:
TlbImp : error TI0000 : A single valid machine type compatible with the input type library must be specified
Currently I using tlbimp.exe against 32bit binary and then copy/paste the source code shown in .NET Reflector. As far as I can see the code is not platform specific and as I said when I compile both projects for x86 everything works fine. Still it seems there
is something wrong with x64 marshalling.
Thanks in advance
View Complete Post