现在有个C++做的DLL,我想用C#调用它的两个方法,这两方法的申明是:
class CHANNEL_API IMessageChannel
{
public:
virtual HRESULT SendRequest(Message* msg) = 0;
virtual HRESULT SetAddressPort(LPCTSTR Url, int port) = 0;
};
其中Message是一个
struct Message
{
TCHAR Command[MAX_PATH];
DWORD Flags;
TCHAR* Result;
};
请问我要如何在C#中调用这两个方法呢?
解决即送分~~ 谢谢大家了~!
class CHANNEL_API IMessageChannel
{
public:
virtual HRESULT SendRequest(Message* msg) = 0;
virtual HRESULT SetAddressPort(LPCTSTR Url, int port) = 0;
};
其中Message是一个
struct Message
{
TCHAR Command[MAX_PATH];
DWORD Flags;
TCHAR* Result;
};
请问我要如何在C#中调用这两个方法呢?
解决即送分~~ 谢谢大家了~!
public class Message
{
[MarshalAs(UnmanagedType.ByValTStr,SizeConst=MAX_PATH)]
public string command;
public int Flags;
[MarshalAs(UnmanagedType.LPTStr)]
public string Result;
}
-----------------------------------------------
[DllImport("yourdll")]
public static extern void SendRequest(ref Message msg);
[DllImport("yourdll")]
public static extern void SetAddressPort(string Url,int port);
没用过C++,不知道写得行不行,供你参考