Module: wine Branch: master Commit: 27743c81a9ef2fe80c677891dba25e51cb0527d1 URL: http://source.winehq.org/git/wine.git/?a=commit;h=27743c81a9ef2fe80c677891db...
Author: Dmitry Timoshkov dmitry@baikal.ru Date: Wed Jun 20 14:00:08 2012 +0900
windowscodecs: Implement MetadataHandler_GetMetadataHandlerInfo.
---
dlls/windowscodecs/info.c | 3 +++ dlls/windowscodecs/metadatahandler.c | 16 ++++++++++++++-- 2 files changed, 17 insertions(+), 2 deletions(-)
diff --git a/dlls/windowscodecs/info.c b/dlls/windowscodecs/info.c index 47cbc85..a2cc1a7 100644 --- a/dlls/windowscodecs/info.c +++ b/dlls/windowscodecs/info.c @@ -1618,7 +1618,10 @@ HRESULT CreateComponentInfo(REFCLSID clsid, IWICComponentInfo **ppIInfo) hr = HRESULT_FROM_WIN32(res); } else + { + FIXME("%s is not supported\n", wine_dbgstr_guid(clsid)); hr = E_FAIL; + }
RegCloseKey(clsidkey);
diff --git a/dlls/windowscodecs/metadatahandler.c b/dlls/windowscodecs/metadatahandler.c index 6433136..80fd32d 100644 --- a/dlls/windowscodecs/metadatahandler.c +++ b/dlls/windowscodecs/metadatahandler.c @@ -145,8 +145,20 @@ static HRESULT WINAPI MetadataHandler_GetMetadataFormat(IWICMetadataWriter *ifac static HRESULT WINAPI MetadataHandler_GetMetadataHandlerInfo(IWICMetadataWriter *iface, IWICMetadataHandlerInfo **ppIHandler) { - FIXME("(%p,%p): stub\n", iface, ppIHandler); - return E_NOTIMPL; + HRESULT hr; + IWICComponentInfo *component_info; + MetadataHandler *This = impl_from_IWICMetadataWriter(iface); + + TRACE("%p,%p\n", iface, ppIHandler); + + hr = CreateComponentInfo(This->vtable->clsid, &component_info); + if (FAILED(hr)) return hr; + + hr = IWICComponentInfo_QueryInterface(component_info, &IID_IWICMetadataHandlerInfo, + (void **)ppIHandler); + + IWICComponentInfo_Release(component_info); + return hr; }
static HRESULT WINAPI MetadataHandler_GetCount(IWICMetadataWriter *iface,