Qual é o sentido de definir uma convenção de chamada?

Por exemplo

int WINAPI WinMain ( HINSTANCE instance, HINSTANCE prev_instance, PSTR cmd_line, int cmd_show )

WINAPI é uma definição que se parece com isso:

#define WINAPI      __stdcall

por que você não pode simplesmente fazer:

int __stdcall WinMain ( HINSTANCE instance, HINSTANCE prev_instance, PSTR cmd_line, int cmd_show )

Na verdade, acho que meu problema é que sou meio que confuso com define o typedef. Alguém pode me explicar isso? o que a definição faz e por que você não pode simplesmente escrever __stdcall em seu lugar?

questionAnswers(10)

yourAnswerToTheQuestion