Well given that WSAStartup only needs to be called once (you can call it many times, but you need to match it with the same number of WSACleanup calls), I'd say calling it every time in a dialog proc is bad news.