Because you can’t port VB6 inproc dll, I suggest you write a 32-bit out-of-process server that implements the same interface and delegates it to the VB6 code. Then, your 64-bit application can call the out-of-process server because COM will be responsible for marshalling one of the processes Type of space.
It’s not pretty, it’s kind of feasible!
I have a 32-bit in-process STA VB6 DLL. I regretfully cannot do anything about it. My C# components benefit greatly from 64-bit. Anyway from my 64-bit Process call/interface this 32-bit dll? Any kind of packaging or anything?
There is no direct way to do this.
Since you cannot port VB6 inproc dll, I suggest you write a 32-bit process Out-of-process server, which implements the same interface and delegates it to the VB6 code. Then, your 64-bit application can call the out-of-process server because COM will be responsible for marshalling the types between processes.
It Not pretty, kind of feasible!