Module: wine Branch: master Commit: 7013f068f37c0e1482f7474c024cd2775d8bac02 URL: https://source.winehq.org/git/wine.git/?a=commit;h=7013f068f37c0e1482f7474c0...
Author: Nikolay Sivov nsivov@codeweavers.com Date: Tue Sep 14 11:47:55 2021 +0300
ole32: Implement ParseDisplayName() for class moniker.
Signed-off-by: Nikolay Sivov nsivov@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/ole32/classmoniker.c | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-)
diff --git a/dlls/ole32/classmoniker.c b/dlls/ole32/classmoniker.c index 4872014a508..ac4854347c8 100644 --- a/dlls/ole32/classmoniker.c +++ b/dlls/ole32/classmoniker.c @@ -512,18 +512,21 @@ static HRESULT WINAPI ClassMoniker_GetDisplayName(IMoniker *iface, return S_OK; }
-/****************************************************************************** - * ClassMoniker_ParseDisplayName - ******************************************************************************/ -static HRESULT WINAPI ClassMoniker_ParseDisplayName(IMoniker* iface, - IBindCtx* pbc, - IMoniker* pmkToLeft, - LPOLESTR pszDisplayName, - ULONG* pchEaten, - IMoniker** ppmkOut) -{ - FIXME("(%p, %p, %s, %p, %p)\n", pbc, pmkToLeft, debugstr_w(pszDisplayName), pchEaten, ppmkOut); - return E_NOTIMPL; +static HRESULT WINAPI ClassMoniker_ParseDisplayName(IMoniker *iface, IBindCtx *pbc, + IMoniker *pmkToLeft, LPOLESTR display_name, ULONG *eaten, IMoniker **result) +{ + IParseDisplayName *parser; + HRESULT hr; + + TRACE("%p, %p, %p, %s, %p, %p\n", iface, pbc, pmkToLeft, debugstr_w(display_name), eaten, result); + + if (SUCCEEDED(hr = IMoniker_BindToObject(iface, pbc, pmkToLeft, &IID_IParseDisplayName, (void **)&parser))) + { + hr = IParseDisplayName_ParseDisplayName(parser, pbc, display_name, eaten, result); + IParseDisplayName_Release(parser); + } + + return hr; }
/******************************************************************************