From 656618310b56b98d996fbc00b004ee50db261b14 Mon Sep 17 00:00:00 2001 From: Rob Shearman Date: Fri, 30 Nov 2007 18:02:47 +0000 Subject: [PATCH] oleaut32: Implement OLEPictureImpl_GetIDsOfNames. --- dlls/oleaut32/olepicture.c | 28 ++++++++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/dlls/oleaut32/olepicture.c b/dlls/oleaut32/olepicture.c index 30ecd1aee28..8a1c99b204e 100644 --- a/dlls/oleaut32/olepicture.c +++ b/dlls/oleaut32/olepicture.c @@ -2367,9 +2367,33 @@ static HRESULT WINAPI OLEPictureImpl_GetIDsOfNames( LCID lcid, DISPID* rgDispId) { - FIXME("():Stub\n"); + ITypeInfo * pTInfo; + HRESULT hres; - return E_NOTIMPL; + TRACE("(%p,%s,%p,cNames=%d,lcid=%04x,%p)\n", iface, debugstr_guid(riid), + rgszNames, cNames, (int)lcid, rgDispId); + + if (cNames == 0) + { + return E_INVALIDARG; + } + else + { + /* retrieve type information */ + hres = OLEPictureImpl_GetTypeInfo(iface, 0, lcid, &pTInfo); + + if (FAILED(hres)) + { + ERR("GetTypeInfo failed.\n"); + return hres; + } + + /* convert names to DISPIDs */ + hres = DispGetIDsOfNames (pTInfo, rgszNames, cNames, rgDispId); + ITypeInfo_Release(pTInfo); + + return hres; + } } /************************************************************************