I'm learning about Win32 programming, and the `WinMain` prototype looks like:

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

```

I was confused as to what this `WINAPI` identifier was for and found:

```
#define WINAPI      __stdcall

```

What does this do? I'm confused by this having something at all after a return type. What is `__stdcall` for? What does it mean when there is something between the return type and function name?