Mike McCormack : mpr: Improve the stub for WNetGetUniversalNameW.

Alexandre Julliard julliard at wine.codeweavers.com
Tue Mar 28 04:44:31 CST 2006


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

Author: Mike McCormack <mike at codeweavers.com>
Date:   Tue Mar 28 14:42:33 2006 +0900

mpr: Improve the stub for WNetGetUniversalNameW.

---

 dlls/mpr/wnet.c |   29 +++++++++++++++++++++++++++--
 1 files changed, 27 insertions(+), 2 deletions(-)

diff --git a/dlls/mpr/wnet.c b/dlls/mpr/wnet.c
index a0f0bd3..0f148e2 100644
--- a/dlls/mpr/wnet.c
+++ b/dlls/mpr/wnet.c
@@ -1711,11 +1711,36 @@ DWORD WINAPI WNetGetUniversalNameA ( LPC
 DWORD WINAPI WNetGetUniversalNameW ( LPCWSTR lpLocalPath, DWORD dwInfoLevel,
                                      LPVOID lpBuffer, LPDWORD lpBufferSize )
 {
+    LPUNIVERSAL_NAME_INFOW uniw;
+    DWORD err, len;
+
     FIXME( "(%s, 0x%08lX, %p, %p): stub\n",
            debugstr_w(lpLocalPath), dwInfoLevel, lpBuffer, lpBufferSize);
 
-    SetLastError(WN_NO_NETWORK);
-    return WN_NO_NETWORK;
+    switch (dwInfoLevel)
+    {
+    case UNIVERSAL_NAME_INFO_LEVEL:
+        err = WN_MORE_DATA;
+        len = sizeof (*uniw) + lstrlenW(lpLocalPath);
+        if (*lpBufferSize <= len)
+            break;
+        uniw = lpBuffer;
+        uniw->lpUniversalName = (LPWSTR) &uniw[1];
+        lstrcpyW(uniw->lpUniversalName, lpLocalPath);
+        *lpBufferSize = len;
+        err = WN_NO_ERROR;
+        break;
+
+    case REMOTE_NAME_INFO_LEVEL:
+        err = WN_NO_NETWORK;
+        break;
+
+    default:
+        err = WN_BAD_VALUE;
+    }
+
+    SetLastError(err);
+    return err;
 }
 
 




More information about the wine-cvs mailing list