Fix handler tracking on WinRT.
diff --git a/asio/include/asio/detail/impl/handler_tracking.ipp b/asio/include/asio/detail/impl/handler_tracking.ipp
index d3a1cad..37a4f92 100644
--- a/asio/include/asio/detail/impl/handler_tracking.ipp
+++ b/asio/include/asio/detail/impl/handler_tracking.ipp
@@ -39,7 +39,9 @@
 # include "asio/wait_traits.hpp"
 #endif // defined(ASIO_HAS_BOOST_DATE_TIME)
 
-#if !defined(ASIO_WINDOWS)
+#if defined(ASIO_WINDOWS_RUNTIME)
+# include "asio/detail/socket_types.hpp"
+#elif !defined(ASIO_WINDOWS)
 # include <unistd.h>
 #endif // !defined(ASIO_WINDOWS)
 
@@ -327,7 +329,11 @@
 
   va_end(args);
 
-#if defined(ASIO_WINDOWS)
+#if defined(ASIO_WINDOWS_RUNTIME)
+  wchar_t wline[256] = L"";
+  mbstowcs_s(0, wline, sizeof(wline) / sizeof(wchar_t), line, length);
+  ::OutputDebugStringW(wline);
+#elif defined(ASIO_WINDOWS)
   HANDLE stderr_handle = ::GetStdHandle(STD_ERROR_HANDLE);
   DWORD bytes_written = 0;
   ::WriteFile(stderr_handle, line, length, &bytes_written, 0);
diff --git a/asio/include/asio/detail/winrt_resolve_op.hpp b/asio/include/asio/detail/winrt_resolve_op.hpp
index 312f42a..1c21501 100644
--- a/asio/include/asio/detail/winrt_resolve_op.hpp
+++ b/asio/include/asio/detail/winrt_resolve_op.hpp
@@ -98,7 +98,7 @@
     if (owner)
     {
       fenced_block b(fenced_block::half);
-      ASIO_HANDLER_INVOCATION_BEGIN((handler.arg1_, handler.arg2_));
+      ASIO_HANDLER_INVOCATION_BEGIN((handler.arg1_, "..."));
       w.complete(handler, handler.handler_);
       ASIO_HANDLER_INVOCATION_END;
     }
diff --git a/asio/include/asio/detail/winrt_resolver_service.hpp b/asio/include/asio/detail/winrt_resolver_service.hpp
index 43520e2..68ce1ff 100644
--- a/asio/include/asio/detail/winrt_resolver_service.hpp
+++ b/asio/include/asio/detail/winrt_resolver_service.hpp
@@ -117,7 +117,7 @@
 
   // Asynchronously resolve a query to a list of entries.
   template <typename Handler>
-  void async_resolve(implementation_type&,
+  void async_resolve(implementation_type& impl,
       const query_type& query, Handler& handler)
   {
     bool is_continuation =
@@ -131,6 +131,7 @@
 
     ASIO_HANDLER_CREATION((io_service_.context(),
           *p.p, "resolver", &impl, 0, "async_resolve"));
+    (void)impl;
 
     try
     {
diff --git a/asio/include/asio/detail/winrt_socket_connect_op.hpp b/asio/include/asio/detail/winrt_socket_connect_op.hpp
index 7440e77..f2a4634 100644
--- a/asio/include/asio/detail/winrt_socket_connect_op.hpp
+++ b/asio/include/asio/detail/winrt_socket_connect_op.hpp
@@ -72,7 +72,7 @@
     if (owner)
     {
       fenced_block b(fenced_block::half);
-      ASIO_HANDLER_INVOCATION_BEGIN((handler.arg1_, handler.arg2_));
+      ASIO_HANDLER_INVOCATION_BEGIN((handler.arg1_));
       w.complete(handler, handler.handler_);
       ASIO_HANDLER_INVOCATION_END;
     }