Implemented IsEqual.
This commit is contained in:
parent
86976d53e2
commit
01fefd636e
|
@ -643,9 +643,34 @@ static HRESULT WINAPI URLMonikerImpl_Enum(IMoniker* iface,BOOL fForward, IEnumMo
|
||||||
static HRESULT WINAPI URLMonikerImpl_IsEqual(IMoniker* iface,IMoniker* pmkOtherMoniker)
|
static HRESULT WINAPI URLMonikerImpl_IsEqual(IMoniker* iface,IMoniker* pmkOtherMoniker)
|
||||||
{
|
{
|
||||||
ICOM_THIS(URLMonikerImpl,iface);
|
ICOM_THIS(URLMonikerImpl,iface);
|
||||||
FIXME("(%p)->(%p): stub\n",This,pmkOtherMoniker);
|
CLSID clsid;
|
||||||
|
LPOLESTR urlPath;
|
||||||
|
IBindCtx* bind;
|
||||||
|
HRESULT res;
|
||||||
|
|
||||||
return E_NOTIMPL;
|
TRACE("(%p,%p)\n",This,pmkOtherMoniker);
|
||||||
|
|
||||||
|
if(pmkOtherMoniker==NULL)
|
||||||
|
return E_INVALIDARG;
|
||||||
|
|
||||||
|
IMoniker_GetClassID(pmkOtherMoniker,&clsid);
|
||||||
|
|
||||||
|
if(!IsEqualCLSID(&clsid,&CLSID_StdURLMoniker))
|
||||||
|
return S_FALSE;
|
||||||
|
|
||||||
|
res = CreateBindCtx(0,&bind);
|
||||||
|
if(FAILED(res))
|
||||||
|
return res;
|
||||||
|
|
||||||
|
res = S_FALSE;
|
||||||
|
if(SUCCEEDED(IMoniker_GetDisplayName(pmkOtherMoniker,bind,NULL,&urlPath))) {
|
||||||
|
int result = lstrcmpiW(urlPath, This->URLName);
|
||||||
|
CoTaskMemFree(urlPath);
|
||||||
|
if(result == 0)
|
||||||
|
res = S_OK;
|
||||||
|
}
|
||||||
|
IUnknown_Release(bind);
|
||||||
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue