Mike Kaplinskiy : iphlpapi: Set the overlapped status to pending as well as returning ERROR_IO_PENDING .

Alexandre Julliard julliard at winehq.org
Mon May 23 13:24:57 CDT 2011


Module: wine
Branch: master
Commit: e2e98ae36fb6d48583e3977b02d27c4bd1a46882
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=e2e98ae36fb6d48583e3977b02d27c4bd1a46882

Author: Mike Kaplinskiy <mike.kaplinskiy at gmail.com>
Date:   Sun May 22 03:22:45 2011 -0400

iphlpapi: Set the overlapped status to pending as well as returning ERROR_IO_PENDING.

---

 dlls/iphlpapi/iphlpapi_main.c  |    2 ++
 dlls/iphlpapi/tests/iphlpapi.c |    4 ++--
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/dlls/iphlpapi/iphlpapi_main.c b/dlls/iphlpapi/iphlpapi_main.c
index 87aa4ac..70b4876 100644
--- a/dlls/iphlpapi/iphlpapi_main.c
+++ b/dlls/iphlpapi/iphlpapi_main.c
@@ -49,6 +49,7 @@
 #include "winreg.h"
 #define USE_WS_PREFIX
 #include "winsock2.h"
+#include "winternl.h"
 #include "ws2ipdef.h"
 #include "iphlpapi.h"
 #include "ifenum.h"
@@ -2033,6 +2034,7 @@ DWORD WINAPI NotifyAddrChange(PHANDLE Handle, LPOVERLAPPED overlapped)
 {
   FIXME("(Handle %p, overlapped %p): stub\n", Handle, overlapped);
   if (Handle) *Handle = INVALID_HANDLE_VALUE;
+  if (overlapped) ((IO_STATUS_BLOCK *) overlapped)->u.Status = STATUS_PENDING;
   return ERROR_IO_PENDING;
 }
 
diff --git a/dlls/iphlpapi/tests/iphlpapi.c b/dlls/iphlpapi/tests/iphlpapi.c
index 6f41adf..cd1ef23 100644
--- a/dlls/iphlpapi/tests/iphlpapi.c
+++ b/dlls/iphlpapi/tests/iphlpapi.c
@@ -849,9 +849,9 @@ static void testNotifyAddrChange(void)
     ok(ret == ERROR_IO_PENDING, "NotifyAddrChange returned %d, expected ERROR_IO_PENDING\n", ret);
     todo_wine ok(handle != INVALID_HANDLE_VALUE, "NotifyAddrChange returned invalid file handle\n");
     success = GetOverlappedResult(handle, &overlapped, &bytes, FALSE);
-    todo_wine ok(success == FALSE, "GetOverlappedResult returned TRUE, expected FALSE\n");
+    ok(success == FALSE, "GetOverlappedResult returned TRUE, expected FALSE\n");
     ret = GetLastError();
-    todo_wine ok(ret == ERROR_IO_INCOMPLETE, "GetLastError returned %d, expected ERROR_IO_INCOMPLETE\n", ret);
+    ok(ret == ERROR_IO_INCOMPLETE, "GetLastError returned %d, expected ERROR_IO_INCOMPLETE\n", ret);
     success = gCancelIPChangeNotify(&overlapped);
     todo_wine ok(success == TRUE, "CancelIPChangeNotify returned FALSE, expected TRUE\n");
 




More information about the wine-cvs mailing list