Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to generate a 64 bit COM Proxy

I have a 32 bit COM server (and the source code for it) The source generates the server and a 32 bit proxy stub. (The MIDL compiler generates the proxy stub code.)

I would like to make a 64 bit proxy as well, so that 64 bit programs can talk to my 32 bit COM server.

How do I go about converting a 32 bit proxy into a 64 bit proxy that talks to a 32 bit process? I'm guessing that just recompiling with /D:_M_AMD64 is not enough.

like image 510
xt1 Avatar asked Jan 28 '11 16:01

xt1


1 Answers

The proxy code generated by the MIDL compiler should work. You just need to build a 64-bit dll from that code.

Make sure your types are defined properly. Make sure you avoid types like UINT_PTR which will not work when a 64-bit caller calls a 32-bit server.

like image 85
John Avatar answered Sep 30 '22 18:09

John