Autosyncing with Wine HEAD

svn path=/trunk/; revision=26498
This commit is contained in:
The Wine Synchronizer 2007-04-25 08:21:43 +00:00
parent dbf733fa0d
commit 9e6fba7c97

View file

@ -1489,7 +1489,7 @@ DWORD WINAPI WNetCancelConnection2W( LPCWSTR lpName, DWORD dwFlags, BOOL fForce
/***************************************************************** /*****************************************************************
* WNetRestoreConnectionA [MPR.@] * WNetRestoreConnectionA [MPR.@]
*/ */
DWORD WINAPI WNetRestoreConnectionA( HWND hwndOwner, LPSTR lpszDevice ) DWORD WINAPI WNetRestoreConnectionA( HWND hwndOwner, LPCSTR lpszDevice )
{ {
FIXME( "(%p, %s), stub\n", hwndOwner, debugstr_a(lpszDevice) ); FIXME( "(%p, %s), stub\n", hwndOwner, debugstr_a(lpszDevice) );
@ -1500,7 +1500,7 @@ DWORD WINAPI WNetRestoreConnectionA( HWND hwndOwner, LPSTR lpszDevice )
/***************************************************************** /*****************************************************************
* WNetRestoreConnectionW [MPR.@] * WNetRestoreConnectionW [MPR.@]
*/ */
DWORD WINAPI WNetRestoreConnectionW( HWND hwndOwner, LPWSTR lpszDevice ) DWORD WINAPI WNetRestoreConnectionW( HWND hwndOwner, LPCWSTR lpszDevice )
{ {
FIXME( "(%p, %s), stub\n", hwndOwner, debugstr_w(lpszDevice) ); FIXME( "(%p, %s), stub\n", hwndOwner, debugstr_w(lpszDevice) );
@ -1700,11 +1700,40 @@ DWORD WINAPI WNetSetConnectionW( LPCWSTR lpName, DWORD dwProperty,
DWORD WINAPI WNetGetUniversalNameA ( LPCSTR lpLocalPath, DWORD dwInfoLevel, DWORD WINAPI WNetGetUniversalNameA ( LPCSTR lpLocalPath, DWORD dwInfoLevel,
LPVOID lpBuffer, LPDWORD lpBufferSize ) LPVOID lpBuffer, LPDWORD lpBufferSize )
{ {
DWORD err, size;
FIXME( "(%s, 0x%08X, %p, %p): stub\n", FIXME( "(%s, 0x%08X, %p, %p): stub\n",
debugstr_a(lpLocalPath), dwInfoLevel, lpBuffer, lpBufferSize); debugstr_a(lpLocalPath), dwInfoLevel, lpBuffer, lpBufferSize);
SetLastError(WN_NO_NETWORK); switch (dwInfoLevel)
return WN_NO_NETWORK; {
case UNIVERSAL_NAME_INFO_LEVEL:
{
LPUNIVERSAL_NAME_INFOA info = (LPUNIVERSAL_NAME_INFOA)lpBuffer;
size = sizeof(*info) + lstrlenA(lpLocalPath) + 1;
if (*lpBufferSize < size)
{
err = WN_MORE_DATA;
break;
}
info->lpUniversalName = (char *)info + sizeof(*info);
lstrcpyA(info->lpUniversalName, lpLocalPath);
*lpBufferSize = size;
err = WN_NO_ERROR;
break;
}
case REMOTE_NAME_INFO_LEVEL:
err = WN_NO_NETWORK;
break;
default:
err = WN_BAD_VALUE;
break;
}
SetLastError(err);
return err;
} }
/***************************************************************** /*****************************************************************
@ -1713,8 +1742,7 @@ DWORD WINAPI WNetGetUniversalNameA ( LPCSTR lpLocalPath, DWORD dwInfoLevel,
DWORD WINAPI WNetGetUniversalNameW ( LPCWSTR lpLocalPath, DWORD dwInfoLevel, DWORD WINAPI WNetGetUniversalNameW ( LPCWSTR lpLocalPath, DWORD dwInfoLevel,
LPVOID lpBuffer, LPDWORD lpBufferSize ) LPVOID lpBuffer, LPDWORD lpBufferSize )
{ {
LPUNIVERSAL_NAME_INFOW uniw; DWORD err, size;
DWORD err, len;
FIXME( "(%s, 0x%08X, %p, %p): stub\n", FIXME( "(%s, 0x%08X, %p, %p): stub\n",
debugstr_w(lpLocalPath), dwInfoLevel, lpBuffer, lpBufferSize); debugstr_w(lpLocalPath), dwInfoLevel, lpBuffer, lpBufferSize);
@ -1722,23 +1750,28 @@ DWORD WINAPI WNetGetUniversalNameW ( LPCWSTR lpLocalPath, DWORD dwInfoLevel,
switch (dwInfoLevel) switch (dwInfoLevel)
{ {
case UNIVERSAL_NAME_INFO_LEVEL: case UNIVERSAL_NAME_INFO_LEVEL:
err = WN_MORE_DATA; {
len = sizeof (*uniw) + lstrlenW(lpLocalPath); LPUNIVERSAL_NAME_INFOW info = (LPUNIVERSAL_NAME_INFOW)lpBuffer;
if (*lpBufferSize <= len)
size = sizeof(*info) + (lstrlenW(lpLocalPath) + 1) * sizeof(WCHAR);
if (*lpBufferSize < size)
{
err = WN_MORE_DATA;
break; break;
uniw = lpBuffer; }
uniw->lpUniversalName = (LPWSTR) &uniw[1]; info->lpUniversalName = (LPWSTR)((char *)info + sizeof(*info));
lstrcpyW(uniw->lpUniversalName, lpLocalPath); lstrcpyW(info->lpUniversalName, lpLocalPath);
*lpBufferSize = len; *lpBufferSize = size;
err = WN_NO_ERROR; err = WN_NO_ERROR;
break; break;
}
case REMOTE_NAME_INFO_LEVEL: case REMOTE_NAME_INFO_LEVEL:
err = WN_NO_NETWORK; err = WN_NO_NETWORK;
break; break;
default: default:
err = WN_BAD_VALUE; err = WN_BAD_VALUE;
break;
} }
SetLastError(err); SetLastError(err);