回调函数是做什么用的?
typedef void (CALLBACK* ONSERIESREAD)(CWnd*,BYTE* buf,int bufLen);
是什么意思?
typedef void (CALLBACK* ONSERIESREAD)(CWnd*,BYTE* buf,int bufLen);
是什么意思?
解决方案 »
- CToolBarCtrl的问题AddButtons崩溃???
- EnumWindows不到窗口
- 现在有EML 格式的邮件,存储在本地,想要在程序中获取邮件头信息,有什么好方法?
- 一个简单工程的release版本的exe工程在没有装vc的机器上面,还需要copy什么文件
- ActiveX DLL“若要注册模块 必须提供一个二进制名称”
- _TCHAR* 打印
- 用vc画一个带箭头的直线应该怎么画啊
- 如何实现几个字符串相加?
- Access violation at address 77e673bc in module 'kernel32.dll'.Write of address 00452128
- 怎样设置属性?
- 一个解答没看明白,开新贴接着问
- overlapped io 中的事件 必须是手动的?
typedef void (CALLBACK* ONSERIESREAD)(CWnd*,BYTE* buf,int bufLen);
ONSERIESREAD myFun = NULL;myFun = &CustomCallBack;
if(myFun)
{
myFun(XX,XX,XX);//调用,相当于在调用CustomCallBack函数
}
void CustomCallBack(CWnd*,BYTE* buf,int bufLen)
{
....
}
ONSERIESREAD是一个函数指针,返回值为void,有3个参数,调用约定为CALLBACK
使用:
ONSERIESREAD pFun = ....;
pFun(wnd,buf, buflen);
这是定义一个函数指针而已。
typedef void (CALLBACK* ONSERIESREAD)(CWnd*,BYTE* buf,int bufLen);
的意思是,定义一个函数指针类型ONSERIESREAD,该类型返回值为void,包含三个参数CWnd*,BYTE* buf,int bufLen,
CALLBACK 在这里应该是你自己定义的一种类型,可能是__stdcall,这个跟编译开关有关
所有的win32API都是__stdcall类型的。
用户自己写的函数,默认是__cdecl的。除非用户特别指定才能变。