Fix windows build
diff --git a/BUILD b/BUILD
index 3e6b0e2..2652f40 100644
--- a/BUILD
+++ b/BUILD
@@ -521,6 +521,7 @@
     "src/core/ext/lb_policy/pick_first/pick_first.c",
     "src/core/ext/lb_policy/round_robin/round_robin.c",
     "src/core/ext/resolver/dns/c_ares/dns_resolver_ares.c",
+    "src/core/ext/resolver/dns/c_ares/grpc_ares_ev_driver_fallback.c",
     "src/core/ext/resolver/dns/c_ares/grpc_ares_ev_driver_posix.c",
     "src/core/ext/resolver/dns/c_ares/grpc_ares_wrapper.c",
     "src/core/ext/resolver/dns/c_ares/grpc_ares_wrapper_fallback.c",
@@ -1273,6 +1274,7 @@
     "src/core/ext/client_channel/subchannel_index.c",
     "src/core/ext/client_channel/uri_parser.c",
     "src/core/ext/resolver/dns/c_ares/dns_resolver_ares.c",
+    "src/core/ext/resolver/dns/c_ares/grpc_ares_ev_driver_fallback.c",
     "src/core/ext/resolver/dns/c_ares/grpc_ares_ev_driver_posix.c",
     "src/core/ext/resolver/dns/c_ares/grpc_ares_wrapper.c",
     "src/core/ext/resolver/dns/c_ares/grpc_ares_wrapper_fallback.c",
@@ -2195,6 +2197,7 @@
     "src/core/ext/lb_policy/pick_first/pick_first.c",
     "src/core/ext/lb_policy/round_robin/round_robin.c",
     "src/core/ext/resolver/dns/c_ares/dns_resolver_ares.c",
+    "src/core/ext/resolver/dns/c_ares/grpc_ares_ev_driver_fallback.c",
     "src/core/ext/resolver/dns/c_ares/grpc_ares_ev_driver_posix.c",
     "src/core/ext/resolver/dns/c_ares/grpc_ares_wrapper.c",
     "src/core/ext/resolver/dns/c_ares/grpc_ares_wrapper_fallback.c",
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 6e6db36..4ec7b20 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -505,6 +505,7 @@
   src/core/ext/lb_policy/pick_first/pick_first.c
   src/core/ext/lb_policy/round_robin/round_robin.c
   src/core/ext/resolver/dns/c_ares/dns_resolver_ares.c
+  src/core/ext/resolver/dns/c_ares/grpc_ares_ev_driver_fallback.c
   src/core/ext/resolver/dns/c_ares/grpc_ares_ev_driver_posix.c
   src/core/ext/resolver/dns/c_ares/grpc_ares_wrapper.c
   src/core/ext/resolver/dns/c_ares/grpc_ares_wrapper_fallback.c
@@ -993,6 +994,7 @@
   src/core/ext/client_channel/subchannel_index.c
   src/core/ext/client_channel/uri_parser.c
   src/core/ext/resolver/dns/c_ares/dns_resolver_ares.c
+  src/core/ext/resolver/dns/c_ares/grpc_ares_ev_driver_fallback.c
   src/core/ext/resolver/dns/c_ares/grpc_ares_ev_driver_posix.c
   src/core/ext/resolver/dns/c_ares/grpc_ares_wrapper.c
   src/core/ext/resolver/dns/c_ares/grpc_ares_wrapper_fallback.c
diff --git a/Makefile b/Makefile
index a811e10..c0e7648 100644
--- a/Makefile
+++ b/Makefile
@@ -2823,6 +2823,7 @@
     src/core/ext/lb_policy/pick_first/pick_first.c \
     src/core/ext/lb_policy/round_robin/round_robin.c \
     src/core/ext/resolver/dns/c_ares/dns_resolver_ares.c \
+    src/core/ext/resolver/dns/c_ares/grpc_ares_ev_driver_fallback.c \
     src/core/ext/resolver/dns/c_ares/grpc_ares_ev_driver_posix.c \
     src/core/ext/resolver/dns/c_ares/grpc_ares_wrapper.c \
     src/core/ext/resolver/dns/c_ares/grpc_ares_wrapper_fallback.c \
@@ -3571,6 +3572,7 @@
     src/core/ext/client_channel/subchannel_index.c \
     src/core/ext/client_channel/uri_parser.c \
     src/core/ext/resolver/dns/c_ares/dns_resolver_ares.c \
+    src/core/ext/resolver/dns/c_ares/grpc_ares_ev_driver_fallback.c \
     src/core/ext/resolver/dns/c_ares/grpc_ares_ev_driver_posix.c \
     src/core/ext/resolver/dns/c_ares/grpc_ares_wrapper.c \
     src/core/ext/resolver/dns/c_ares/grpc_ares_wrapper_fallback.c \
diff --git a/binding.gyp b/binding.gyp
index 9dcd2e3..5d707cd 100644
--- a/binding.gyp
+++ b/binding.gyp
@@ -761,6 +761,7 @@
         'src/core/ext/lb_policy/pick_first/pick_first.c',
         'src/core/ext/lb_policy/round_robin/round_robin.c',
         'src/core/ext/resolver/dns/c_ares/dns_resolver_ares.c',
+        'src/core/ext/resolver/dns/c_ares/grpc_ares_ev_driver_fallback.c',
         'src/core/ext/resolver/dns/c_ares/grpc_ares_ev_driver_posix.c',
         'src/core/ext/resolver/dns/c_ares/grpc_ares_wrapper.c',
         'src/core/ext/resolver/dns/c_ares/grpc_ares_wrapper_fallback.c',
diff --git a/build.yaml b/build.yaml
index 02caafc..99fb2d8 100644
--- a/build.yaml
+++ b/build.yaml
@@ -465,6 +465,7 @@
   - src/core/ext/resolver/dns/c_ares/grpc_ares_wrapper.h
   src:
   - src/core/ext/resolver/dns/c_ares/dns_resolver_ares.c
+  - src/core/ext/resolver/dns/c_ares/grpc_ares_ev_driver_fallback.c
   - src/core/ext/resolver/dns/c_ares/grpc_ares_ev_driver_posix.c
   - src/core/ext/resolver/dns/c_ares/grpc_ares_wrapper.c
   - src/core/ext/resolver/dns/c_ares/grpc_ares_wrapper_fallback.c
diff --git a/config.m4 b/config.m4
index a7effbf..45d30a7 100644
--- a/config.m4
+++ b/config.m4
@@ -273,6 +273,7 @@
     src/core/ext/lb_policy/pick_first/pick_first.c \
     src/core/ext/lb_policy/round_robin/round_robin.c \
     src/core/ext/resolver/dns/c_ares/dns_resolver_ares.c \
+    src/core/ext/resolver/dns/c_ares/grpc_ares_ev_driver_fallback.c \
     src/core/ext/resolver/dns/c_ares/grpc_ares_ev_driver_posix.c \
     src/core/ext/resolver/dns/c_ares/grpc_ares_wrapper.c \
     src/core/ext/resolver/dns/c_ares/grpc_ares_wrapper_fallback.c \
diff --git a/gRPC-Core.podspec b/gRPC-Core.podspec
index ad4d985..7e08f91 100644
--- a/gRPC-Core.podspec
+++ b/gRPC-Core.podspec
@@ -616,6 +616,7 @@
                       'src/core/ext/lb_policy/pick_first/pick_first.c',
                       'src/core/ext/lb_policy/round_robin/round_robin.c',
                       'src/core/ext/resolver/dns/c_ares/dns_resolver_ares.c',
+                      'src/core/ext/resolver/dns/c_ares/grpc_ares_ev_driver_fallback.c',
                       'src/core/ext/resolver/dns/c_ares/grpc_ares_ev_driver_posix.c',
                       'src/core/ext/resolver/dns/c_ares/grpc_ares_wrapper.c',
                       'src/core/ext/resolver/dns/c_ares/grpc_ares_wrapper_fallback.c',
diff --git a/grpc.gemspec b/grpc.gemspec
index f8793e0..860f42b 100755
--- a/grpc.gemspec
+++ b/grpc.gemspec
@@ -535,6 +535,7 @@
   s.files += %w( src/core/ext/lb_policy/pick_first/pick_first.c )
   s.files += %w( src/core/ext/lb_policy/round_robin/round_robin.c )
   s.files += %w( src/core/ext/resolver/dns/c_ares/dns_resolver_ares.c )
+  s.files += %w( src/core/ext/resolver/dns/c_ares/grpc_ares_ev_driver_fallback.c )
   s.files += %w( src/core/ext/resolver/dns/c_ares/grpc_ares_ev_driver_posix.c )
   s.files += %w( src/core/ext/resolver/dns/c_ares/grpc_ares_wrapper.c )
   s.files += %w( src/core/ext/resolver/dns/c_ares/grpc_ares_wrapper_fallback.c )
diff --git a/package.xml b/package.xml
index 15310d7..c485dfb 100644
--- a/package.xml
+++ b/package.xml
@@ -542,6 +542,7 @@
     <file baseinstalldir="/" name="src/core/ext/lb_policy/pick_first/pick_first.c" role="src" />
     <file baseinstalldir="/" name="src/core/ext/lb_policy/round_robin/round_robin.c" role="src" />
     <file baseinstalldir="/" name="src/core/ext/resolver/dns/c_ares/dns_resolver_ares.c" role="src" />
+    <file baseinstalldir="/" name="src/core/ext/resolver/dns/c_ares/grpc_ares_ev_driver_fallback.c" role="src" />
     <file baseinstalldir="/" name="src/core/ext/resolver/dns/c_ares/grpc_ares_ev_driver_posix.c" role="src" />
     <file baseinstalldir="/" name="src/core/ext/resolver/dns/c_ares/grpc_ares_wrapper.c" role="src" />
     <file baseinstalldir="/" name="src/core/ext/resolver/dns/c_ares/grpc_ares_wrapper_fallback.c" role="src" />
diff --git a/src/core/ext/resolver/dns/c_ares/grpc_ares_ev_driver.h b/src/core/ext/resolver/dns/c_ares/grpc_ares_ev_driver.h
index 4d2b451..f31d958 100644
--- a/src/core/ext/resolver/dns/c_ares/grpc_ares_ev_driver.h
+++ b/src/core/ext/resolver/dns/c_ares/grpc_ares_ev_driver.h
@@ -34,9 +34,6 @@
 #ifndef GRPC_CORE_EXT_RESOLVER_DNS_C_ARES_GRPC_ARES_EV_DRIVER_H
 #define GRPC_CORE_EXT_RESOLVER_DNS_C_ARES_GRPC_ARES_EV_DRIVER_H
 
-#include <grpc/support/port_platform.h>
-#ifndef GRPC_NATIVE_ADDRESS_RESOLVE
-
 #include "src/core/lib/iomgr/exec_ctx.h"
 #include "src/core/lib/iomgr/pollset_set.h"
 
@@ -64,6 +61,4 @@
 void grpc_ares_ev_driver_destroy(grpc_exec_ctx *exec_ctx,
                                  grpc_ares_ev_driver *ev_driver);
 
-#endif /* GRPC_NATIVE_ADDRESS_RESOLVE */
-
 #endif /* GRPC_CORE_EXT_RESOLVER_DNS_C_ARES_GRPC_ARES_EV_DRIVER_H */
diff --git a/src/core/ext/resolver/dns/c_ares/grpc_ares_ev_driver_windows.c b/src/core/ext/resolver/dns/c_ares/grpc_ares_ev_driver_fallback.c
similarity index 72%
rename from src/core/ext/resolver/dns/c_ares/grpc_ares_ev_driver_windows.c
rename to src/core/ext/resolver/dns/c_ares/grpc_ares_ev_driver_fallback.c
index 4c055d9..2b5fd44 100644
--- a/src/core/ext/resolver/dns/c_ares/grpc_ares_ev_driver_windows.c
+++ b/src/core/ext/resolver/dns/c_ares/grpc_ares_ev_driver_fallback.c
@@ -30,8 +30,27 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  *
  */
+
 #include <grpc/support/port_platform.h>
-#ifdef GPR_WINSOCK_SOCKET
+#ifdef GRPC_NATIVE_ADDRESS_RESOLVE
+
 #include "src/core/ext/resolver/dns/c_ares/grpc_ares_ev_driver.h"
 
-#endif /* GPR_WINSOCK_SOCKET */
+struct grpc_ares_ev_driver {};
+
+void grpc_ares_ev_driver_start(grpc_exec_ctx *exec_ctx,
+                               grpc_ares_ev_driver *ev_driver) {}
+
+void *grpc_ares_ev_driver_get_channel(grpc_ares_ev_driver *ev_driver) {
+  return NULL;
+}
+
+grpc_error *grpc_ares_ev_driver_create(grpc_ares_ev_driver **ev_driver,
+                                       grpc_pollset_set *pollset_set) {
+  return GRPC_ERROR_NONE;
+}
+
+void grpc_ares_ev_driver_destroy(grpc_exec_ctx *exec_ctx,
+                                 grpc_ares_ev_driver *ev_driver) {}
+
+#endif /* GRPC_NATIVE_ADDRESS_RESOLVE */
diff --git a/src/core/ext/resolver/dns/c_ares/grpc_ares_wrapper_fallback.c b/src/core/ext/resolver/dns/c_ares/grpc_ares_wrapper_fallback.c
index 6c1053a..05eae51 100644
--- a/src/core/ext/resolver/dns/c_ares/grpc_ares_wrapper_fallback.c
+++ b/src/core/ext/resolver/dns/c_ares/grpc_ares_wrapper_fallback.c
@@ -40,7 +40,7 @@
 
 void grpc_resolve_address_ares_impl(grpc_exec_ctx *exec_ctx, const char *name,
                                     const char *default_port,
-                                    grpc_pollset_set *pollset_set,
+                                    grpc_ares_ev_driver *ev_driver,
                                     grpc_closure *on_done,
                                     grpc_resolved_addresses **addrs) {
   grpc_resolve_address(exec_ctx, name, default_port, on_done, addrs);
@@ -48,7 +48,7 @@
 
 void (*grpc_resolve_address_ares)(
     grpc_exec_ctx *exec_ctx, const char *name, const char *default_port,
-    grpc_pollset_set *pollset_set, grpc_closure *on_done,
+    grpc_ares_ev_driver *ev_driver, grpc_closure *on_done,
     grpc_resolved_addresses **addrs) = grpc_resolve_address_ares_impl;
 
 grpc_error *grpc_ares_init(void) { return GRPC_ERROR_NONE; }
diff --git a/src/python/grpcio/grpc_core_dependencies.py b/src/python/grpcio/grpc_core_dependencies.py
index ab3fe9c..7aeb491 100644
--- a/src/python/grpcio/grpc_core_dependencies.py
+++ b/src/python/grpcio/grpc_core_dependencies.py
@@ -267,6 +267,7 @@
   'src/core/ext/lb_policy/pick_first/pick_first.c',
   'src/core/ext/lb_policy/round_robin/round_robin.c',
   'src/core/ext/resolver/dns/c_ares/dns_resolver_ares.c',
+  'src/core/ext/resolver/dns/c_ares/grpc_ares_ev_driver_fallback.c',
   'src/core/ext/resolver/dns/c_ares/grpc_ares_ev_driver_posix.c',
   'src/core/ext/resolver/dns/c_ares/grpc_ares_wrapper.c',
   'src/core/ext/resolver/dns/c_ares/grpc_ares_wrapper_fallback.c',
diff --git a/tools/doxygen/Doxyfile.core.internal b/tools/doxygen/Doxyfile.core.internal
index 5d6d6f2..bd30636 100644
--- a/tools/doxygen/Doxyfile.core.internal
+++ b/tools/doxygen/Doxyfile.core.internal
@@ -1152,6 +1152,7 @@
 src/core/ext/lb_policy/pick_first/pick_first.c \
 src/core/ext/lb_policy/round_robin/round_robin.c \
 src/core/ext/resolver/dns/c_ares/dns_resolver_ares.c \
+src/core/ext/resolver/dns/c_ares/grpc_ares_ev_driver_fallback.c \
 src/core/ext/resolver/dns/c_ares/grpc_ares_ev_driver_posix.c \
 src/core/ext/resolver/dns/c_ares/grpc_ares_wrapper.c \
 src/core/ext/resolver/dns/c_ares/grpc_ares_wrapper_fallback.c \
diff --git a/tools/run_tests/sources_and_headers.json b/tools/run_tests/sources_and_headers.json
index aa8b1b9..f294eb1 100644
--- a/tools/run_tests/sources_and_headers.json
+++ b/tools/run_tests/sources_and_headers.json
@@ -7087,6 +7087,7 @@
     "src": [
       "src/core/ext/resolver/dns/c_ares/dns_resolver_ares.c", 
       "src/core/ext/resolver/dns/c_ares/grpc_ares_ev_driver.h", 
+      "src/core/ext/resolver/dns/c_ares/grpc_ares_ev_driver_fallback.c", 
       "src/core/ext/resolver/dns/c_ares/grpc_ares_ev_driver_posix.c", 
       "src/core/ext/resolver/dns/c_ares/grpc_ares_wrapper.c", 
       "src/core/ext/resolver/dns/c_ares/grpc_ares_wrapper.h", 
diff --git a/vsprojects/vcxproj/grpc/grpc.vcxproj b/vsprojects/vcxproj/grpc/grpc.vcxproj
index d39a824..e217f4c 100644
--- a/vsprojects/vcxproj/grpc/grpc.vcxproj
+++ b/vsprojects/vcxproj/grpc/grpc.vcxproj
@@ -853,6 +853,8 @@
     </ClCompile>
     <ClCompile Include="$(SolutionDir)\..\src\core\ext\resolver\dns\c_ares\dns_resolver_ares.c">
     </ClCompile>
+    <ClCompile Include="$(SolutionDir)\..\src\core\ext\resolver\dns\c_ares\grpc_ares_ev_driver_fallback.c">
+    </ClCompile>
     <ClCompile Include="$(SolutionDir)\..\src\core\ext\resolver\dns\c_ares\grpc_ares_ev_driver_posix.c">
     </ClCompile>
     <ClCompile Include="$(SolutionDir)\..\src\core\ext\resolver\dns\c_ares\grpc_ares_wrapper.c">
diff --git a/vsprojects/vcxproj/grpc/grpc.vcxproj.filters b/vsprojects/vcxproj/grpc/grpc.vcxproj.filters
index 41954f2..65c4229 100644
--- a/vsprojects/vcxproj/grpc/grpc.vcxproj.filters
+++ b/vsprojects/vcxproj/grpc/grpc.vcxproj.filters
@@ -571,6 +571,9 @@
     <ClCompile Include="$(SolutionDir)\..\src\core\ext\resolver\dns\c_ares\dns_resolver_ares.c">
       <Filter>src\core\ext\resolver\dns\c_ares</Filter>
     </ClCompile>
+    <ClCompile Include="$(SolutionDir)\..\src\core\ext\resolver\dns\c_ares\grpc_ares_ev_driver_fallback.c">
+      <Filter>src\core\ext\resolver\dns\c_ares</Filter>
+    </ClCompile>
     <ClCompile Include="$(SolutionDir)\..\src\core\ext\resolver\dns\c_ares\grpc_ares_ev_driver_posix.c">
       <Filter>src\core\ext\resolver\dns\c_ares</Filter>
     </ClCompile>
diff --git a/vsprojects/vcxproj/grpc_unsecure/grpc_unsecure.vcxproj b/vsprojects/vcxproj/grpc_unsecure/grpc_unsecure.vcxproj
index 7c4b4d6..258efdf 100644
--- a/vsprojects/vcxproj/grpc_unsecure/grpc_unsecure.vcxproj
+++ b/vsprojects/vcxproj/grpc_unsecure/grpc_unsecure.vcxproj
@@ -747,6 +747,8 @@
     </ClCompile>
     <ClCompile Include="$(SolutionDir)\..\src\core\ext\resolver\dns\c_ares\dns_resolver_ares.c">
     </ClCompile>
+    <ClCompile Include="$(SolutionDir)\..\src\core\ext\resolver\dns\c_ares\grpc_ares_ev_driver_fallback.c">
+    </ClCompile>
     <ClCompile Include="$(SolutionDir)\..\src\core\ext\resolver\dns\c_ares\grpc_ares_ev_driver_posix.c">
     </ClCompile>
     <ClCompile Include="$(SolutionDir)\..\src\core\ext\resolver\dns\c_ares\grpc_ares_wrapper.c">
diff --git a/vsprojects/vcxproj/grpc_unsecure/grpc_unsecure.vcxproj.filters b/vsprojects/vcxproj/grpc_unsecure/grpc_unsecure.vcxproj.filters
index 3d3a2e7..f2528bf 100644
--- a/vsprojects/vcxproj/grpc_unsecure/grpc_unsecure.vcxproj.filters
+++ b/vsprojects/vcxproj/grpc_unsecure/grpc_unsecure.vcxproj.filters
@@ -463,6 +463,9 @@
     <ClCompile Include="$(SolutionDir)\..\src\core\ext\resolver\dns\c_ares\dns_resolver_ares.c">
       <Filter>src\core\ext\resolver\dns\c_ares</Filter>
     </ClCompile>
+    <ClCompile Include="$(SolutionDir)\..\src\core\ext\resolver\dns\c_ares\grpc_ares_ev_driver_fallback.c">
+      <Filter>src\core\ext\resolver\dns\c_ares</Filter>
+    </ClCompile>
     <ClCompile Include="$(SolutionDir)\..\src\core\ext\resolver\dns\c_ares\grpc_ares_ev_driver_posix.c">
       <Filter>src\core\ext\resolver\dns\c_ares</Filter>
     </ClCompile>