max value for SO_RCVBUF in Windows?
SO_RCVBUF in winsock is not limited by the TCP window size. At least for pre-Vista stacks. It would be limited by non-paged pool availability, which is a whole different topic.So you can make it quite big, if you want to.
Obligatory unsolicited advice: If you are using a large buffer because you are receiving infrequently, I would look into asynchronous I/O with events/select/completion ports.
I can't recall for sure, but I believe Windows supports the POSIX function fpathconf()
with the _PC_SOCK_MAXBUF
option. If so, this is exactly what you're looking for.