activeds: Implement ADsGetObject.

Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
feature/deterministic
Dmitry Timoshkov 2020-03-13 11:53:34 +08:00 committed by Alexandre Julliard
parent 2a1841f5cf
commit 18d7356f0c
2 changed files with 12 additions and 3 deletions

View File

@ -61,10 +61,14 @@ 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;
HRESULT hr;
hr = ADsOpenObject(path, NULL, NULL, ADS_SECURE_AUTHENTICATION, riid, obj);
if (hr != S_OK)
hr = ADsOpenObject(path, NULL, NULL, 0, riid, obj);
return hr;
}
/*****************************************************

View File

@ -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);