[PATCH 2/3] activeds: ADsOpenObject should return E_FAIL by default.
Dmitry Timoshkov
dmitry at baikal.ru
Thu Mar 12 09:08:08 CDT 2020
Signed-off-by: Dmitry Timoshkov <dmitry at baikal.ru>
---
dlls/activeds/activeds_main.c | 6 +++---
dlls/adsldp/tests/Makefile.in | 2 +-
dlls/adsldp/tests/ldap.c | 6 ++++++
3 files changed, 10 insertions(+), 4 deletions(-)
diff --git a/dlls/activeds/activeds_main.c b/dlls/activeds/activeds_main.c
index c997cab912..564acab93e 100644
--- a/dlls/activeds/activeds_main.c
+++ b/dlls/activeds/activeds_main.c
@@ -127,10 +127,10 @@ HRESULT WINAPI ADsOpenObject(LPCWSTR path, LPCWSTR user, LPCWSTR password, DWORD
if (!path || !riid || !obj)
return E_INVALIDARG;
- if (RegOpenKeyExW(HKEY_LOCAL_MACHINE, L"Software\\Microsoft\\ADs\\Providers", 0, KEY_READ, &hkey))
- return E_ADS_BAD_PATHNAME;
+ hr = E_FAIL;
- hr = E_ADS_BAD_PATHNAME;
+ if (RegOpenKeyExW(HKEY_LOCAL_MACHINE, L"Software\\Microsoft\\ADs\\Providers", 0, KEY_READ, &hkey))
+ return hr;
for (;;)
{
diff --git a/dlls/adsldp/tests/Makefile.in b/dlls/adsldp/tests/Makefile.in
index 52141139d5..26b937aa68 100644
--- a/dlls/adsldp/tests/Makefile.in
+++ b/dlls/adsldp/tests/Makefile.in
@@ -1,5 +1,5 @@
TESTDLL = adsldp.dll
-IMPORTS = ole32 oleaut32 secur32 advapi32 uuid
+IMPORTS = ole32 oleaut32 secur32 advapi32 activeds uuid
C_SRCS = \
ldap.c \
diff --git a/dlls/adsldp/tests/ldap.c b/dlls/adsldp/tests/ldap.c
index 6f8c00aa89..e0e562e8bf 100644
--- a/dlls/adsldp/tests/ldap.c
+++ b/dlls/adsldp/tests/ldap.c
@@ -28,6 +28,7 @@
#include "objbase.h"
#include "iads.h"
#include "adserr.h"
+#include "adshlp.h"
#include "wine/test.h"
@@ -98,6 +99,11 @@ static void test_LDAP(void)
if (hr == S_OK)
IDispatch_Release(disp);
+ hr = ADsOpenObject(path, user, password, test[i].flags, &IID_IADs, (void **)&ads);
+ ok(hr == test[i].hr || hr == test[i].hr_ads_get, "%d: got %#x, expected %#x\n", i, hr, test[i].hr);
+ if (hr == S_OK)
+ IADs_Release(ads);
+
SysFreeString(path);
SysFreeString(user);
SysFreeString(password);
--
2.20.1
More information about the wine-devel
mailing list