Scenario: Calling unmanged C++ instance methods from a C# application.
It appears I can successfully call an unmanaged instance method using
CallingConvention.ThisCall. However, one of the methods I'm calling has a
callback function is called with the thiscall convention.
It appears, however, there is no way to define a delegate that uses
thiscall.
I've been toying with the idea of some kind of shim method that would take
translate the thiscall call into a stdcall invocation of the delegate (by
creating a new stack frame that includes the "this" pointer in ecx as the
first parameter).
I'm having trouble figuring out a way to do this essentially completely
within C# although I wouldn't have a problem creating a shim method or class
dynamically (using IL, for example).
Does anyone have any clever approaches to doing something like this?
Thanks,
Doug Harber
Douglas Harber - 17 Jan 2006 04:49 GMT
Oops...I meant to post this in the Interop group. I'll repost there.
Doug Harber
> Scenario: Calling unmanged C++ instance methods from a C# application.
>
[quoted text clipped - 18 lines]
> Thanks,
> Doug Harber