c#调用vc++编写的dll

qubeat 2009-06-23 06:15:43
vc++中的函数定义

DRAWYUV_API BOOL WINAPI DrawImageFormYUVBuf(HANDLE m_handle,PBYTE in_Y,PBYTE in_U,PBYTE in_V,RECT *Rectdes = NULL);

其中rect是struct,相关定义如下
typedef struct tagRECT
{
LONG left;
LONG top;
LONG right;
LONG bottom;
} RECT, *PRECT, NEAR *NPRECT, FAR *LPRECT;

今天在网上找了一天,虽然找到了有关结构调用的方法,但是有很多种,不知道哪种最合适,另外打死找不到带有参数说明符的调用方法,c#不支持,请教各路高手给点办法或者建议,是在头痛到死了……
另外还有
DRAWYUV_API HANDLE WINAPI CreateDrawYUV();
...全文
33 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
qubeat 2009-06-24
  • 打赏
  • 举报
回复
谢谢zgke,生成成功了,但是具体使用是否会出现问题还不清楚……
有人对视频监控比较熟悉的吗?我完全不知道视频监控的工作原理,虽然可以调用相关的vc++的dll文件,但是如何工作我还是不知道……
zgke 2009-06-24
  • 打赏
  • 举报
回复
这样看看.
[DllImport("???.dll")]
public static extern bool DrawImageFormYUVBuf(IntPtr m_handle, ushort[] in_Y, ushort[] in_U, ushort[] in_V, ref RECT Rectdes);


public struct RECT
{
int left;
int top;
int right;
int bottom;
}
chenchangxiong 2009-06-24
  • 打赏
  • 举报
回复
仅仅是传入的话,在C#里定义这样的rect好像就ok了
一般out的struct要用IntPtr,然后调用Marshal.PtrToStructure
具体的可以看下

http://topic.csdn.net/u/20090617/11/8724752d-aec9-416a-a641-20f9fa0fbe34.html
qubeat 2009-06-24
  • 打赏
  • 举报
回复
自己顶一下,有人能帮帮忙吗?第一次搞这种东西,确实没经验。

110,570

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧