Reputation: 1353
I have an ASP.NET website that uses C# and I'd like to call functions from an unmanaged C/C++ DLL. How do I do it?
Upvotes: 6
Views: 6921
Reputation: 18181
Check out P/Invoke.
Calling Win32 DLLs in C# with P/Invoke
If it's a COM dll, then you can use COM Interop
Upvotes: 5
Reputation: 22404
Just adding that pinvoke.net is a great wiki/resource for your Win32 needs.
Upvotes: 0
Reputation: 4793
create an unmanaged dll:
extern "C" __declspec(dllexport) __cdecl int sum(int a,int b); ---->
create a namespace/class to DllImport the above DLL
using System.Runtime.InteropServices;
namespace ImportDLL
{
public class importdll
{
public importdll()
{
}
DllImport("mysum.dll",
EntryPoint="sum",
ExactSpelling=false,
CallingConvention = CallingConvention.Cdecl)]
public extern int myfun(int a, int b);
}
}
create a aspx code behind
using ImportDLL;
namespace TEST
{
public int my_result;
protected importdll imp = new importdll();
my_result = imp.myfun(1,1);
}
Upvotes: 10