[求助]关于CH375SetDeviceNotify,急!

我用VC++编的应用程序(初学,只知皮毛), CH375SetDeviceNotify(0,NULL,NotifyRoutine);这句出错 提示:error C2664: 'CH375SetDeviceNotify' : cannot convert parameter 3 from 'void (unsigned long)' to 'void (__stdcall *)(unsigned long)'None of the functions with this name in scope match the target type

NotifyRoutine定义如下: void CWINDlg::NotifyRoutine ( // 设备事件通知回调程序 ULONG iEventStatus ) // 设备事件和当前状态: 0=设备拔出事件, 3=设备插入事件 { //在中断程序中对系统资源不能操作太多,所以将插拔事件处理通过PostMessage()放到IDC_INT_DEVARRIVAL中处理 if(iEventStatus==CH375_DEVICE_ARRIVAL) { m_state="设备已插上"; //将设备插入消息发送到窗体进行处理 UpdateData(false); } else if(iEventStatus==CH375_DEVICE_REMOVE) { m_state="设备已拔出"; //将设备拔出消息发送到窗体进行处理 UpdateData(false); } return; }

请高手相助,谢谢!

那是您函数定义的类型出错,函数需要的是callback类型.建议您参考CH341EVT.zip\ch341par程序里的CH341的CH341SetDeviceNotify()用法. 另外一种用法: 函数原形为:void CALLBACK CWINDlg::NotifyRoutine( // 设备事件通知回调程序 ULONG iEventStatus ) { } 声明类函数时声明成静态的: statci void CALLBACK NotifyRoutine (ULONG iEventStatus) 这两种方法都可以用.


谢谢


只有登录才能回复,可以选择微信账号登录