Ist die Callback-Funktion quasi "dein" WSARecv? Naja,
MSDN lesen sollte da helfen. Rückgabewert könnte man SOCKET_ERROR probieren, dazu noch ein WSASetLastError(WSAEWOULDBLOCK). Und eventuell ein Hook auf select() wenn, das Programm so arbeitet (mit Hilfe von select() wird ermittelt, ob ein Socket Daten im Puffer hat, die abrufbar sind, meine ich). Wäre interessant zu wissen, was du genau vorhast