I do presume that you use some proprietary (i.e. not part of C or C++ standards) definitions. I have no access to them, but you have. Consult the MS documentation to see the definition of words: WINAPI, SOCKET, LPWSABUF, DWORD, LPDWORD, DWORD, LPWSAOVERLAPPED, LPWSAOVERLAPPED_COMPLETION_ROUTINE.
The rest is probably similar in nature to: typedefint ( * foo)( int, int );
You already had a thread about function pointers.
The foo is a name of a type of function pointer object that can point to any function that takes two integer arguments and return an int value.