-
Help!? extern stdcall -> to managed code.
I have an application that makes an _stdcall to an exported function within
a DLL called "CreatePluginInstance".
What i am trying to do - is to write an adapter in C++ that will export the
required "CreatePluginInstance" function and internally proxy all the calls
to an assembly written in VB.Net
And i hit a wall - as soon as i enable managed extensions in C++ - the resulting
DLL's extern "C" _stdcall CreatePluginInstance exported function cannot be
called any longer. But i need the managed extensions to be able to load the
assembly!
So how can i have exported functions and calls to managed assembly in the
same component? It seems to be either/or. Please let me know if this is possible.
The only way i see this can be done - is to call the dotnet assembly using
COM interop without using managed extensions. But i specifically want to
avoid that due to performance reasons - and want to proxy the data into managed
assembly directly.
Can this be done?
-
Re: Help!? extern stdcall -> to managed code.
You can use P/Invoke to get at the function (not COM interop, though they
have similarities).
Only BLT'able types can be marshaled directly (types that have the same physical
structure in managed/unmanaged code, such as simple numerics).
An easier way of doing all this may be to head over to Desaware. They have
a component that does this for you, and I believe they just released it for
.NET.
-Rob
"Vlad Ivanov" <nomail@nomail.com> wrote:
>
>I have an application that makes an _stdcall to an exported function within
>a DLL called "CreatePluginInstance".
>
>What i am trying to do - is to write an adapter in C++ that will export
the
>required "CreatePluginInstance" function and internally proxy all the calls
>to an assembly written in VB.Net
>
>And i hit a wall - as soon as i enable managed extensions in C++ - the resulting
>DLL's extern "C" _stdcall CreatePluginInstance exported function cannot
be
>called any longer. But i need the managed extensions to be able to load
the
>assembly!
>
>So how can i have exported functions and calls to managed assembly in the
>same component? It seems to be either/or. Please let me know if this is
possible.
>The only way i see this can be done - is to call the dotnet assembly using
>COM interop without using managed extensions. But i specifically want to
>avoid that due to performance reasons - and want to proxy the data into
managed
>assembly directly.
>
>Can this be done?
>
>
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
Forum Rules
|
Top DevX Stories
Easy Web Services with SQL Server 2005 HTTP Endpoints
JavaOne 2005: Java Platform Roadmap Focuses on Ease of Development, Sun Focuses on the "Free" in F.O.S.S.
Wed Yourself to UML with the Power of Associations
Microsoft to Add AJAX Capabilities to ASP.NET
IBM's Cloudscape Versus MySQL
|
Bookmarks