我导入了一些用于创建实时视频的dll . 这里myprob是我有c代码
int PLAYER_SDK_SPEC CreatePlayer(HWND hWndParent,RECT&rectPlayer,const char * szWndTitle);
在c#我有导入dll喜欢
[DllImport(“PlayerLib”)] public static extern int CreatePlayer(IntPtr Handle,Rectangle RECT,StringBuilder szWndTitle);
我称之为CreatePlayer的函数(this.Handle,rect,str6);
但它会产生一些未处理的异常......请帮我解决这个问题,提前谢谢
1 回答
我不认为P / Invoke声明是正确的 . 据我所知,它应该是:
原始版本引用了一个矩形,因此您应该这样做 . 另外我不确定
Rectangle
类型和RECT
类型的C是否相等 . 也许你必须在C#中声明一个struct RECT
.看看pinvoke.net . 在那里你会找到带有
RECT
参数的函数,你会在那里找到关于如何将矩形传递给C函数的提示 .