- Changes to allow WNetAddConnection*() and WNetCancelConnection*() to succeed regardless of available providers (where none have been implemented yet). Allowing for manual configuration outside of wine.
-- v5: mpr: WNetAddConnection*() and WNetCancelConnection*() always return success
From: Alexey Alyaev aalyaev@etersoft.ru
--- dlls/mpr/tests/mpr.c | 13 ++++++++++--- dlls/mpr/wnet.c | 19 +++++++++++++++---- 2 files changed, 25 insertions(+), 7 deletions(-)
diff --git a/dlls/mpr/tests/mpr.c b/dlls/mpr/tests/mpr.c index ab5c47c0490..2a0530195b6 100644 --- a/dlls/mpr/tests/mpr.c +++ b/dlls/mpr/tests/mpr.c @@ -286,10 +286,17 @@ static void test_WNetUseConnection(void) ret = pWNetUseConnectionA(NULL, netRes, NULL, NULL, 0, NULL, &bufSize, &outRes); if (ret != ERROR_ALREADY_ASSIGNED) break; } + if (ret == ERROR_ALREADY_ASSIGNED) goto end; /* no drives available */ - todo_wine ok(ret == WN_SUCCESS, "Unexpected return: %lu\n", ret); + + ok(ret == WN_SUCCESS, "Unexpected return: %lu\n", ret); ok(bufSize == 0, "Unexpected buffer size: %lu\n", bufSize); - if (ret == WN_SUCCESS) WNetCancelConnectionA(drive, TRUE); + + if (ret == WN_SUCCESS) + { + ret = WNetCancelConnectionA(drive, TRUE); + ok(ret == WN_SUCCESS, "Unexpected return: %lu\n", ret); + }
bufSize = 0; ret = pWNetUseConnectionA(NULL, netRes, NULL, NULL, 0, outBuf, &bufSize, &outRes); @@ -303,11 +310,11 @@ static void test_WNetUseConnection(void) ok(ret == ERROR_MORE_DATA, "Unexpected return: %lu\n", ret); ok(bufSize == 3, "Unexpected buffer size: %lu\n", bufSize); if (ret == WN_SUCCESS) WNetCancelConnectionA(drive, TRUE); + }
bufSize = 4; ret = pWNetUseConnectionA(NULL, netRes, NULL, NULL, 0, outBuf, &bufSize, &outRes); ok(ret == WN_SUCCESS, "Unexpected return: %lu\n", ret); - } ok(bufSize == 4, "Unexpected buffer size: %lu\n", bufSize); if (ret == WN_SUCCESS) WNetCancelConnectionA(drive, TRUE);
diff --git a/dlls/mpr/wnet.c b/dlls/mpr/wnet.c index 7c5b576598b..b0fb4607869 100644 --- a/dlls/mpr/wnet.c +++ b/dlls/mpr/wnet.c @@ -1986,8 +1986,11 @@ static DWORD wnet_use_connection( struct use_connection_context *ctxt ) WCHAR letter[3] = {'Z', ':', 0}; NETRESOURCEW netres;
- if (!providerTable || providerTable->numProviders == 0) - return WN_NO_NETWORK; + if (1) + { + FIXME("Returning success.\n"); + return WN_SUCCESS; + }
if (!ctxt->resource) return ERROR_INVALID_PARAMETER; @@ -2180,8 +2183,8 @@ DWORD WINAPI WNetUseConnectionA( HWND hwndOwner, NETRESOURCEA *resource, NETRESOURCEW resourceW; DWORD ret;
- TRACE( "(%p, %p, %p, %s, 0x%08lX, %p, %p, %p)\n", hwndOwner, resource, password, debugstr_a(userid), flags, - accessname, buffer_size, result ); + TRACE( "(%p, %p, %p, %s, 0x%08lX, %p, %p, %p)\n", hwndOwner, resource, + password, debugstr_a(userid), flags, accessname, buffer_size, result );
netresource_a_to_w(resource, &resourceW);
@@ -2246,6 +2249,14 @@ DWORD WINAPI WNetCancelConnection2W( LPCWSTR lpName, DWORD dwFlags, BOOL fForce DWORD ret = WN_NO_NETWORK; DWORD index;
+ TRACE("(%s, %ld, %u)\n", debugstr_w(lpName), dwFlags, fForce); + + if (1) + { + FIXME("Returning success.\n"); + return WN_SUCCESS; + } + if (providerTable != NULL) { for (index = 0; index < providerTable->numProviders; index++)