在Windows应用程序中经常能够看到LRESULT CALLBACK WndProc(HWND,UIINT, WPARAM,LPARAM)这句话,我们来详细讲讲。
(1)首先是对于LRESULT的理解
LRESULT是一个数据类型,
MSDN: 32-bit value returned from a window procedure or callback function
指的是从窗口程序或者回调函数返回的32位值
在winnt.h中typedef long LONG; 在windef.h中typedef LONG LRESULT;
所以LRESULT就是long,也就是长整形
之所以取名类LRESULT,L=>long 。 result表示结果,说明这个函数的返回值是某个结果。
(2)对于CALLBACK的理解
#define CALLBACK __stdcall
#define WINAPI __stdcall
#define WINAPIV __cdecl
#define APIENTRY WINAPI
#define APIPRIVATE __stdcal
l#define PASCAL __stdcall
由此可以看出这儿的CALLBACK指的函数调用规范。