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