Module: wine Branch: master Commit: 96a93ee608b2919d1a8f583002e8262ef54a6743 URL: http://source.winehq.org/git/wine.git/?a=commit;h=96a93ee608b2919d1a8f583002...
Author: Pierre Schweitzer pierre@reactos.org Date: Fri Dec 30 21:17:27 2016 +0100
mpr: Enumerate connections capability before looking for functions entry points.
Signed-off-by: Pierre Schweitzer pierre@reactos.org Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/mpr/wnet.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/dlls/mpr/wnet.c b/dlls/mpr/wnet.c index 50f71d2..cbbc1bd 100644 --- a/dlls/mpr/wnet.c +++ b/dlls/mpr/wnet.c @@ -178,6 +178,7 @@ static void _tryLoadProvider(PCWSTR provider) TRACE("loaded lib %p\n", hLib); if (getCaps) { + DWORD connectCap; PWNetProvider provider = &providerTable->table[providerTable->numProviders];
@@ -211,9 +212,13 @@ static void _tryLoadProvider(PCWSTR provider) WARN("Couldn't load enumeration functions\n"); } } - provider->addConnection = MPR_GETPROC(NPAddConnection); - provider->addConnection3 = MPR_GETPROC(NPAddConnection3); - provider->cancelConnection = MPR_GETPROC(NPCancelConnection); + connectCap = getCaps(WNNC_CONNECTION); + if (connectCap & WNNC_CON_ADDCONNECTION) + provider->addConnection = MPR_GETPROC(NPAddConnection); + if (connectCap & WNNC_CON_ADDCONNECTION3) + provider->addConnection3 = MPR_GETPROC(NPAddConnection3); + if (connectCap & WNNC_CON_CANCELCONNECTION) + provider->cancelConnection = MPR_GETPROC(NPCancelConnection); TRACE("NPAddConnection %p\n", provider->addConnection); TRACE("NPAddConnection3 %p\n", provider->addConnection3); TRACE("NPCancelConnection %p\n", provider->cancelConnection);