如何取带作用域的函数地址

我写的一个C++的MFC程序,如下图:PageEndProc这个函数会作为一个回调函数传入funcAplIFEntryEventFunc这个函数,我再头文件里声明了一个事件PostScanEveryPage,需要在回调时触发这个事件。但是因为PageEndProc这个没加作用域限制符CPnScanOCXCtrl::导致调用PostScanEveryPage会提示为定义标识符;如果加上这个标识符,在传入funcAplIFEntryEventFunc会提示转换无效。不知道怎么做才是对的。
图片说明
// For Tool Kit
long _stdcall PageEndProc(SCAN_PAGEINFO* pPage)
{
//char str[260];
//memset(&str, 0x00, sizeof(str));
//long err = 0;
//if(funcAplIFGetOrgFileName){
// funcAplIFGetOrgFileName(str, &err);
//}

gPageCnt++;
PostScanEveryPage(gPageCnt);
return 0;

}

LONG CPnScanOCXCtrl::Scan(LONG nXferCount, LONG bAsync)
{
AFX_MANAGE_STATE(AfxGetStaticModuleState());

// TODO: 在此添加调度处理程序代码

long sts;
long errNo;

if (!funcAplIFEntryEventFunc) {
    return 0;
}
if (!funcAplIFScanExec) {
    return 0;
}
// set event function
sts = funcAplIFEntryEventFunc((long)PageEndProc, NULL, &errNo);

图片说明

你这个不是函数作用域,而是成员函数。
成员函数的函数原型末尾有一个CPnScanOCXCtrl * this的隐含参数。加上去就匹配了。

http://blog.csdn.net/wonghifong0223/article/details/48521215建议参考一下吧