[PATCH 3/3] activeds: Implement ADsGetObject.

Dmitry Timoshkov dmitry at baikal.ru
Thu Mar 12 09:08:11 CDT 2020


Signed-off-by: Dmitry Timoshkov <dmitry at baikal.ru>
---
 dlls/activeds/activeds_main.c | 5 ++---
 dlls/adsldp/tests/ldap.c      | 5 +++++
 2 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/dlls/activeds/activeds_main.c b/dlls/activeds/activeds_main.c
index 564acab93e..b5b082073e 100644
--- a/dlls/activeds/activeds_main.c
+++ b/dlls/activeds/activeds_main.c
@@ -61,10 +61,9 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
 /*****************************************************
  * ADsGetObject     [ACTIVEDS.3]
  */
-HRESULT WINAPI ADsGetObject(LPCWSTR lpszPathName, REFIID riid, VOID** ppObject)
+HRESULT WINAPI ADsGetObject(LPCWSTR path, REFIID riid, void **obj)
 {
-    FIXME("(%s)->(%s,%p)!stub\n",debugstr_w(lpszPathName), debugstr_guid(riid), ppObject);
-    return E_NOTIMPL;
+    return ADsOpenObject(path, NULL, NULL, ADS_SECURE_AUTHENTICATION, riid, obj);
 }
 
 /*****************************************************
diff --git a/dlls/adsldp/tests/ldap.c b/dlls/adsldp/tests/ldap.c
index e0e562e8bf..28e41e4d95 100644
--- a/dlls/adsldp/tests/ldap.c
+++ b/dlls/adsldp/tests/ldap.c
@@ -104,6 +104,11 @@ static void test_LDAP(void)
         if (hr == S_OK)
             IADs_Release(ads);
 
+        hr = ADsGetObject(path, &IID_IDispatch, (void **)&disp);
+        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)
+            IDispatch_Release(disp);
+
         SysFreeString(path);
         SysFreeString(user);
         SysFreeString(password);
-- 
2.20.1




More information about the wine-devel mailing list