在winnt.h中typedef long LONG
在windef.h中typedef LONG LRESULT
所以LRESULT就是长整型。之所以取名类LRESULT,是搜闭穗因为L即long;result表示结果,说明这个函数的返回值是某个结果。
CALLBACK是由用户设计却由windows系统呼叫的函数,统称为callback函数。某些API函数要求以callback作为你参数之一。
回调函数,这里也叫窗口函数,来世卜执行窗口的消息循环,在建立窗口类的时候,可以指明窗口函数地址。
看一下这个例子吧,我是这样理解的:#include
"iostream.h"
#include
"windows.h"
typedef
void
(CALLBACK
*MyFun)(void)//回调函数定运洞散义
void
CALLBACK
callback()
//
回调函数
{
cout<<"****callback****\n"
}
void
Call_CallBack(MyFun
mycb)
{
cout<<"****Call_CallBack****\n"
mycb()
cout<<"__________________\n"
}
void
main()
{
Call_CallBack(callback)
}
//
其他人需要修改的话只要修改callback函数里的内容就行了,一般sdk封装后都会有回调,这样他人在调用sdk的时候就可以实现回调函数里的内颤悄容。
如果旁氏你需要理论的,网上搜回调函数,内容哈多随便看
callback函数定义回调函数答塌运就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用为调用它所指向的函数时,我们就说这是回调函数。回调函数不是由该函数的实现方直接调用,衫缓而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。
在计算机程序设计中,回调函数,或简称回调(Callback),是指通过函数参数传递到其它代码的,某一块可执行代码的引用。这清梁一设计允许了底层代码调用在高层定义的子程序:
例如:defmy_callback(input):print"functionmy_callbackwascalledwith%sinput"%(input,)defcaller(input,func):func(input)foriinrange(5):caller(i,my_callback)执行结果是:functionmy_callbackwascalledwith0inputfunctionmy_callbackwascalledwith1inputfunctionmy_callbackwascalledwith2inputfunctionmy_callbackwascalledwith3inputfunctionmy_callbackwascalledwith4input
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)