首页
社区
课程
招聘
[旧帖] [求助][求助]请问DialogFunc函数是什么调用规范? 0.00雪花
发表于: 2009-2-11 17:06 4941

[旧帖] [求助][求助]请问DialogFunc函数是什么调用规范? 0.00雪花

2009-2-11 17:06
4941
使用ida pro反汇编一个程序,程序使用dialogboxparama 调用对话框过程dialogfunc
函数原形为INT_PTR __stdcall DialogFunc(HWND, UINT, WPARAM, LPARAM)
调用时esp指向返回地址 esp+4指向hwnd esp+8指向uint
参数好象是从左向右入栈  这函数是win sdk的回调函数 ,但调用规范既不象cdecl 又不象stdcall ,到底是什么调用规范呢?请各位兄弟指点一二

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 196
活跃值: (135)
能力值: ( LV10,RANK:170 )
在线值:
发帖
回帖
粉丝
2
你从哪看出来它即不像....又不像....的?
在函数原型中都写上__stdcall了,一般也就是了.
离返回地址最近的是最后被传入的,而不是最先,
不管是...还是....它的传参顺序都是一样的,.只是在谁清栈的问题上不一样.
2009-2-11 17:39
0
雪    币: 2110
活跃值: (21)
能力值: (RANK:260 )
在线值:
发帖
回帖
粉丝
3
所有的WIN32回调函数都是声明为CALLBACK型的,在winbase.h(或者windef.h或其它文件中,我记不清了)CALLBACK是_stdcall的别名(宏定义)。

此外,Windows SDK的头文件还定义了WINAPI、APIENTRY等宏,都是_stdcall的别名。
2009-2-11 19:51
0
游客
登录 | 注册 方可回帖
返回
//