18,356
社区成员
发帖
与我相关
我的任务
分享
// 例如Xxx类中定义回调函数如下:
class Xxx
{
// ……
static DWORD CallBackFunction(LPVOID Context);
virtual DWORD OnCallBack();
};
DWORD Xxx::CallBackFunction(LPVOID Context)
{
Xxx* object = (Xxx*)Context;
return object->OnCallBack();
}
// 先声明回调函数指针类型:
typedef DWORD (*CALLBACKPROC)(LPVOID Context);
// 再类似这样定义Login函数:
BOOL Login(CALLBACKPROC CallBackFun, LPVOID Context)
{
// ……
DWORD returnValue = CallBackFun(Context);
// ……
return TRUE;
}
// 在Xxx的某个成员函数中这样调用Login函数:
BOOL b = Login(CallBackFunction, this);