c++回调标准Windows项目[已关闭]

rkue9o1l  于 2023-02-06  发布在  Windows
关注(0)|答案(1)|浏览(142)

12小时前关门了。
Improve this question
标准WindowsProject包含LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); INT_PTR CALLBACK About(HWND, UINT, WPARAM, LPARAM);我知道它正在调用约定__stdcall。CALLBACK对回调有什么作用吗?

2w2cym1i

2w2cym1i1#

MSDN说:
CALLBACK、WINAPI和APIENTRY都用于定义具有__stdcall调用约定的函数。Windows API中的大多数函数都是使用WINAPI声明的。您可能希望对实现的回调函数使用CALLBACK,以帮助将函数标识为回调函数。
另请注意,在16位版本的Windows中,WIN_APICALLBACK过去是不同的
大多数人在回调函数(如LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);)中使用CALLBACK,因为Windows调用您在WNDCLASS结构中提供的窗口过程,但由于CALLBACK被定义为__stdcall调用约定,因此有些人还将其用于调用系统函数

相关问题