Для тех, кто хочет найти соглашение о вызовах, чтобы они могли вызывать функции WSAAPI из другого языка, WSAAPI определяется в Winsock2.h как:
#define WSAAPI FAR PASCAL
Затем в minwindef.h:
#define FAR far
#define far
#if (!defined(_MAC)) && ((_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED))
#define pascal __stdcall
#else
#define pascal
#endif
#ifdef _MAC
#ifdef _68K_
#define PASCAL __pascal
#else
#define PASCAL
#endif
#elif (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED)
#define PASCAL __stdcall
#else
#define PASCAL pascal
#endif
_MSC_VER 800 - это Visual C ++ 1.0 , что является древним.
Похоже, что если вы пишете код Mac и определено _68K_, вы получаете соглашение о вызовах __pascal.Если вы используете Visual C ++> = 1.0 и разрабатываете для Windows, это соглашение о вызовах __stdcall.В противном случае это либо __stdcall, либо ничего, в зависимости от того, определен ли _STDCALL_SUPPORTED.
Таким образом, в основном WSAAPI, вероятно, оценивает __stdcall на вашем компьютере.