Use VerifyVersionInfo rather than GetVersionEx.

GetVersionEx has been deprecated.
diff --git a/asio/include/asio/detail/impl/win_iocp_io_service.ipp b/asio/include/asio/detail/impl/win_iocp_io_service.ipp
index a4f56dc..7a44e66 100644
--- a/asio/include/asio/detail/impl/win_iocp_io_service.ipp
+++ b/asio/include/asio/detail/impl/win_iocp_io_service.ipp
@@ -21,6 +21,7 @@
 
 #include "asio/error.hpp"
 #include "asio/io_service.hpp"
+#include "asio/detail/cstdint.hpp"
 #include "asio/detail/handler_alloc_helpers.hpp"
 #include "asio/detail/handler_invoke_helpers.hpp"
 #include "asio/detail/limits.hpp"
@@ -456,11 +457,17 @@
 
 DWORD win_iocp_io_service::get_gqcs_timeout()
 {
-  OSVERSIONINFO version_info;
-  version_info.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
-  if (::GetVersionEx(&version_info))
-    if (version_info.dwMajorVersion >= 6)
-      return INFINITE;
+  OSVERSIONINFOEX osvi;
+  ZeroMemory(&osvi, sizeof(osvi));
+  osvi.dwOSVersionInfoSize = sizeof(osvi);
+  osvi.dwMajorVersion = 6ul;
+
+  const uint64_t condition_mask = ::VerSetConditionMask(
+      0, VER_MAJORVERSION, VER_GREATER_EQUAL);
+
+  if (!!::VerifyVersionInfo(&osvi, VER_MAJORVERSION, condition_mask))
+    return INFINITE;
+
   return default_gqcs_timeout;
 }