函數(shù)調(diào)用方式分為兩類:標(biāo)準(zhǔn)調(diào)用約定、C/C++調(diào)用約定。
標(biāo)準(zhǔn)調(diào)用約定(__stdcall):這些函數(shù)將在返回到調(diào)用者之間將參數(shù)從棧中刪除。
C/C++調(diào)用約定(__cdecl):棧的清理工作由調(diào)用者來完成。
除C/C++之外的其他語言缺省情況下使用標(biāo)準(zhǔn)調(diào)用。
MICROSOFT平臺上的COM接口提供的所有函數(shù)使用的均是標(biāo)準(zhǔn)調(diào)用約定,參數(shù)可變的函數(shù)使用的則是C調(diào)用約定。
WINDEF.H中
#define pascal __stdcall
OBJBASE.H中
#define STDMETHODCALLTYPE __stdcall