Owen Rudge : comctl32: Add stubs for image list functions introduced in Vista.

Alexandre Julliard julliard at winehq.org
Thu Aug 13 10:41:09 CDT 2009


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

Author: Owen Rudge <orudge at codeweavers.com>
Date:   Wed Aug 12 21:51:36 2009 +0100

comctl32: Add stubs for image list functions introduced in Vista.

---

 dlls/comctl32/comctl32.spec |    2 +
 dlls/comctl32/imagelist.c   |   45 +++++++++++++++++++++++++++++++++++++++++++
 include/commctrl.h          |    1 +
 include/commoncontrols.idl  |    2 +
 4 files changed, 50 insertions(+), 0 deletions(-)

diff --git a/dlls/comctl32/comctl32.spec b/dlls/comctl32/comctl32.spec
index 6b8f662..e852916 100644
--- a/dlls/comctl32/comctl32.spec
+++ b/dlls/comctl32/comctl32.spec
@@ -139,10 +139,12 @@
 @ stdcall FlatSB_SetScrollRange (long long long long long)
 @ stdcall FlatSB_ShowScrollBar (long long long)
 @ stdcall GetMUILanguage()
+@ stdcall HIMAGELIST_QueryInterface(ptr ptr ptr)
 @ stdcall ImageList_Add(ptr long long)
 @ stdcall ImageList_AddIcon(ptr long)
 @ stdcall ImageList_AddMasked(ptr long long)
 @ stdcall ImageList_BeginDrag(ptr long long long)
+@ stdcall ImageList_CoCreateInstance(ptr ptr ptr ptr)
 @ stdcall ImageList_Copy(ptr long ptr long long)
 @ stdcall ImageList_Create(long long long long long)
 @ stdcall ImageList_Destroy(ptr)
diff --git a/dlls/comctl32/imagelist.c b/dlls/comctl32/imagelist.c
index 84971f7..d3f0b36 100644
--- a/dlls/comctl32/imagelist.c
+++ b/dlls/comctl32/imagelist.c
@@ -6,6 +6,7 @@
  *  Copyright 2001, 2004 Michael Stefaniuc
  *  Copyright 2001 Charles Loep for CodeWeavers
  *  Copyright 2002 Dimitrie O. Paun
+ *  Copyright 2009 Owen Rudge for CodeWeavers
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -2906,3 +2907,47 @@ ImageList_SetColorTable (HIMAGELIST himl, UINT uStartIndex, UINT cEntries, CONST
 {
     return SetDIBColorTable(himl->hdcImage, uStartIndex, cEntries, prgb);
 }
+
+/*************************************************************************
+ * ImageList_CoCreateInstance [COMCTL32.@]
+ *
+ * Creates a new imagelist instance and returns an interface pointer to it.
+ *
+ * PARAMS
+ *     rclsid      [I] A reference to the CLSID (CLSID_ImageList).
+ *     punkOuter   [I] Pointer to IUnknown interface for aggregation, if desired
+ *     riid        [I] Identifier of the requested interface.
+ *     ppv         [O] Returns the address of the pointer requested, or NULL.
+ *
+ * RETURNS
+ *     Success: S_OK.
+ *     Failure: Error value.
+ */
+HRESULT WINAPI
+ImageList_CoCreateInstance (REFCLSID rclsid, const IUnknown *punkOuter, REFIID riid, void **ppv)
+{
+    FIXME("STUB: %s %p %s %p\n", debugstr_guid(rclsid), punkOuter, debugstr_guid(riid), ppv);
+    return E_NOINTERFACE;
+}
+
+/*************************************************************************
+ * HIMAGELIST_QueryInterface [COMCTL32.@]
+ *
+ * Returns a pointer to an IImageList or IImageList2 object for the given
+ * HIMAGELIST.
+ *
+ * PARAMS
+ *     himl        [I] Image list handle.
+ *     riid        [I] Identifier of the requested interface.
+ *     ppv         [O] Returns the address of the pointer requested, or NULL.
+ *
+ * RETURNS
+ *     Success: S_OK.
+ *     Failure: Error value.
+ */
+HRESULT WINAPI
+HIMAGELIST_QueryInterface (HIMAGELIST himl, REFIID riid, void **ppv)
+{
+    FIXME("STUB: %p %s %p\n", himl, debugstr_guid(riid), ppv);
+    return E_NOINTERFACE;
+}
diff --git a/include/commctrl.h b/include/commctrl.h
index 8673ba9..17d8b86 100644
--- a/include/commctrl.h
+++ b/include/commctrl.h
@@ -584,6 +584,7 @@ typedef struct _IMAGELISTDRAWPARAMS
 } IMAGELISTDRAWPARAMS, *LPIMAGELISTDRAWPARAMS;
 
 
+HRESULT  WINAPI HIMAGELIST_QueryInterface(HIMAGELIST,REFIID,void **);
 INT      WINAPI ImageList_Add(HIMAGELIST,HBITMAP,HBITMAP);
 INT      WINAPI ImageList_AddMasked(HIMAGELIST,HBITMAP,COLORREF);
 BOOL     WINAPI ImageList_BeginDrag(HIMAGELIST,INT,INT,INT);
diff --git a/include/commoncontrols.idl b/include/commoncontrols.idl
index a162b38..6e00837 100644
--- a/include/commoncontrols.idl
+++ b/include/commoncontrols.idl
@@ -61,6 +61,8 @@ typedef struct
 typedef IMAGELISTDRAWPARAMS* LPIMAGELISTDRAWPARAMS;
 cpp_quote("#endif")
 
+cpp_quote("HRESULT WINAPI ImageList_CoCreateInstance(REFCLSID,const IUnknown *, REFIID,void **);")
+
 const UINT ILIF_ALPHA = 1;
 
 [




More information about the wine-cvs mailing list