activeds: Implement remaining cases for IADsPathname::Set().
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
3656d57a9a
commit
606ececd8e
|
@ -184,8 +184,32 @@ static HRESULT WINAPI path_Set(IADsPathname *iface, BSTR adspath, LONG type)
|
||||||
|
|
||||||
if (!adspath) return E_INVALIDARG;
|
if (!adspath) return E_INVALIDARG;
|
||||||
|
|
||||||
|
if (type == ADS_SETTYPE_PROVIDER)
|
||||||
|
{
|
||||||
|
SysFreeString(path->provider);
|
||||||
|
path->provider = SysAllocString(adspath);
|
||||||
|
return path->provider ? S_OK : E_OUTOFMEMORY;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (type == ADS_SETTYPE_SERVER)
|
||||||
|
{
|
||||||
|
SysFreeString(path->server);
|
||||||
|
path->server = SysAllocString(adspath);
|
||||||
|
return path->server ? S_OK : E_OUTOFMEMORY;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (type == ADS_SETTYPE_DN)
|
||||||
|
{
|
||||||
|
SysFreeString(path->dn);
|
||||||
|
path->dn = SysAllocString(adspath);
|
||||||
|
return path->dn ? S_OK : E_OUTOFMEMORY;
|
||||||
|
}
|
||||||
|
|
||||||
if (type != ADS_SETTYPE_FULL)
|
if (type != ADS_SETTYPE_FULL)
|
||||||
|
{
|
||||||
FIXME("type %d not implemented\n", type);
|
FIXME("type %d not implemented\n", type);
|
||||||
|
return E_INVALIDARG;
|
||||||
|
}
|
||||||
|
|
||||||
hr = parse_path(adspath, &provider, &server, &dn);
|
hr = parse_path(adspath, &provider, &server, &dn);
|
||||||
if (hr == S_OK)
|
if (hr == S_OK)
|
||||||
|
|
Loading…
Reference in New Issue