C#中调用APi函数(关于指针参数的传递 )

q359600900 2009-06-27 06:13:53
C#中如何传递指针参数

假如一个APi函数有
char * ,
DWORD * ,
UINT * 等等指针参数 ,我在C#端调用的时候应该怎么做呢, 最近的程序总是报 尝试读取或写入受保护的内存。这通常指示其他内存已损坏

http://topic.csdn.net/u/20090627/10/82b3a870-ae70-483b-8b9d-ff6c96d81003.html

各位帮帮忙 给个链接也行啊
...全文
215 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
wuyq11 2009-06-27
  • 打赏
  • 举报
回复
char *
ref string
((long*)
inPtr
参考
Deathsign 2009-06-27
  • 打赏
  • 举报
回复
char * , 为String 注意大小写
DWORD * , UINT * 为IntPtr
函数指针为 Marshal.GetFunctionxxxxx(代理名称);
moshangmoxia 2009-06-27
  • 打赏
  • 举报
回复
up
wenbin 2009-06-27
  • 打赏
  • 举报
回复
IntPtr buffer = Marshal.AllocHGlobal(size);
wenbin 2009-06-27
  • 打赏
  • 举报
回复
IntPtr pi;
然后用Marshal里面的有个方法申请一块非托管内存
传给pi

110,536

社区成员

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

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

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