C#调用复杂API函数的问题

xiaoyu111 2005-03-04 07:46:06
函数大致为:
void Frame(
BOOL * pfKey,
LONG * plSize //C++语言,pfKey表示bool型指针变量,plSize表示LONG型的指针变量
);
我是这样定义函数的:
[DllImport("User32.dll")] public static extern void Frame(ref bool pfKey,ref int plSize);

调用时,是这样:
Frame(ref pfKey1,ref plSize1);
调用时出错,谁知道C++中带指针的Bool型变量参数该如何定义和调用?
...全文
155 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaoyu111 2005-03-13
  • 打赏
  • 举报
回复
谢谢fangxinggood(JustACoder) 的帮助,User32中是没有Frame方法,我调用的那个函数很复杂,所以我只是把最难的两个参数写出来了,函数名也做了简化,前几天,我已经用你给的方法,将我的函数调用出来,万分感谢!!现在结贴了。
wpp9999 2005-03-06
  • 打赏
  • 举报
回复
up
haoco 2005-03-06
  • 打赏
  • 举报
回复
up
机器人 2005-03-04
  • 打赏
  • 举报
回复
首先:
[DllImport("User32.dll",EntryPoint="Frame")]public static extern void Frame(ref bool pfKey,ref int plSize);

ref 规定传递到 ref 参数的参数必须最先初始化。将此方法与 out 参数相比,后者的参数在传递到 out 参数之前不必显式初始化。
bool pfKey = true;
int plSize = 300;
Frame(ref pfKey,ref plSize);

我调试了一下。出异常:User32中没有Frame方法。
isaacyh 2005-03-04
  • 打赏
  • 举报
回复
指针的话试试 IntPtr

111,125

社区成员

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

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

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