diff --git a/components/net/cpp/src/peer.cpp b/components/net/cpp/src/peer.cpp
index facb97bf7402c72f74b840f5835dc2ac8c1206c1..264a22a7bfa9d84cc1ff6235bfff445479383c26 100644
--- a/components/net/cpp/src/peer.cpp
+++ b/components/net/cpp/src/peer.cpp
@@ -685,9 +685,10 @@ int Peer::_send() {
 
 	// Could do work here.
 
-	c = WSAGetOverlappedResult(sock_, &ovl, (LPDWORD)&bytessent, TRUE, 0);
+	DWORD flags = 0;
+	c = WSAGetOverlappedResult(sock_, &ovl, (LPDWORD)&bytessent, TRUE, (LPDWORD)&flags);
 
-	if (!c) {
+	if (c == FALSE) {
 		socketError();
 		return false;
 	}