Rob Shearman : oleaut32: Implement OLEPictureImpl_GetIDsOfNames.

Alexandre Julliard julliard at winehq.org
Mon Dec 3 09:17:41 CST 2007


Module: wine
Branch: master
Commit: 656618310b56b98d996fbc00b004ee50db261b14
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=656618310b56b98d996fbc00b004ee50db261b14

Author: Rob Shearman <rob at codeweavers.com>
Date:   Fri Nov 30 18:02:47 2007 +0000

oleaut32: Implement OLEPictureImpl_GetIDsOfNames.

---

 dlls/oleaut32/olepicture.c |   28 ++++++++++++++++++++++++++--
 1 files changed, 26 insertions(+), 2 deletions(-)

diff --git a/dlls/oleaut32/olepicture.c b/dlls/oleaut32/olepicture.c
index 30ecd1a..8a1c99b 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;
+  }
 }
 
 /************************************************************************




More information about the wine-cvs mailing list