用vc开发的控件有一个接口如下:
GetData([out] BYTE* pBuf, [in] LONG BufSize, [out] LONG* DataSize);
即通过pBuf输出数据,DataSize输出数据的长度。客户使用C#语言开发。
使用该控件时,系统默认的数据封送声明为:
GetData(out byte pBuf, out int BufSize, out int DataSize);
由于是控件,无法更改系统生成的接口声明。
如果是dll, 可以将GetData声明为:
GetData(IntPtr pBuf, out int BufSize, out int DataSize); 而解决问题。请问,c#中应该怎样编写代码才能通过GetData接口正确获取需要的数据?谢谢!!!
解决方案 »
- 开发VS2008插件怎么添加菜单项
- 访问被拒绝
- 请教我如何开发一个管理windows桌面的软件
- 写了个操作SQL Server数据库的类,大家给看看
- C#数据库的表有无“当前记录”这样的概念?没见到有这样的对象属性?
- foreach 只循环了一次?
- 怎么在c#中读取mib的一个表?并在listview中显示出来?
- 动态生成的控件会被rectangleShape覆盖,什么原因?
- c#怎么实现服务器间的通讯?数据传输的方式怎么控制呢?
- 自己人的C#网站,www.csharphq.com 大家来捧场!
- 客户端上传txt文件,如何判断客户端的txt内容格式?顶者有分
- 一个DataGrid的问题让我很晕,大家来帮个忙
GetData(Byte[] pBuf, out int BufSize, out int DataSize);
C#能够指定类型的就指定类型,毕竟类型转换,特别是指针转船成为某一个具体的类型的时候不如C来得简单。