菜鸟求救C#调用DLL 回调函数不执行

anm2005 2009-07-31 05:27:21
回调函数原型
typedef void (WINAPI *HHCALLBACK)(int CmdType, ERRTYPE errType, int nDevId,int nChannelID, void *pContext);

ERRTYPE 是个枚举类型

要调用的dll中的函数
HHAPI_DLL int __stdcall Initialize( char* pConfigFileName, HHCALLBACK pCallback );


我声明的委托
public delegate void HHCALLBACK(int CmdType, ERRTYPE errType, intnDevId, int nChannelID, IntPtr pContext);

DLl的引用
[DllImport("HHSDK.dll", CharSet = CharSet.Ansi, SetLastError = true)]
public static extern int HHInitialize(StringBuilder pConfigFileName, JSCALLBACK pCallback);

回调函数体
public static void call(int CmdType, ERRTYPE errType, int nDevId, int nChannelID, IntPtr pContext)
{

。。。。。。。。。。。

}

问题:::

在程序中执行 这个HHInitialize有返回值1

可是这个回调函数无法执行。

请问是什么原因。小弟感激涕零。。。。。。。。。救命啊!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!


...全文
229 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Mars.xj 2011-12-06
  • 打赏
  • 举报
回复
HHCALLBACK callback=new HHCALLBACK(call);
HHInitialize("pConfigFileName", callback);

wk99239 2011-09-20
  • 打赏
  • 举报
回复
这样调用不成功,80%是那个回调函数的问题,翻翻关于API标准,应该会找到答案
天祈 2011-09-20
  • 打赏
  • 举报
回复
我就说说我的经验,我出现的不回调都是dll引用那块的回调函数多了ref或者少了ref的修饰,你看看你的sdk说明文档是不是也有这错误
anm2005 2009-07-31
  • 打赏
  • 举报
回复
明天再来看 有没解答
anm2005 2009-07-31
  • 打赏
  • 举报
回复
哎 CSDN 的人了?

13,190

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 分析与设计
社区管理员
  • 分析与设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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