[OLE #131] Update ocidl.idl

Huw D M Davies h.davies1 at physics.ox.ac.uk
Wed Oct 26 06:27:50 CDT 2005


        Robert Shearman <rob at codeweavers.com>
        Add IFontEventsDisp and IProvideMultipleClassInfo
-- 
Huw Davies
huw at codeweavers.com
Index: include/ocidl.idl
===================================================================
RCS file: /home/wine/wine/include/ocidl.idl,v
retrieving revision 1.4
diff -u -p -r1.4 ocidl.idl
--- include/ocidl.idl	15 Aug 2005 20:53:40 -0000	1.4
+++ include/ocidl.idl	26 Oct 2005 11:23:43 -0000
@@ -32,6 +32,14 @@ import "urlmon.idl";
 ]
 interface IOleControlTypes
 {
+    typedef [v1_enum] enum tagUASFLAGS
+    {
+        UAS_NORMAL       = 0x0,
+        UAS_BLOCKED      = 0x1,
+        UAS_NOPARENTABLE = 0x2,
+        UAS_MASK         = 0x3
+    } UASFLAGS;
+
     typedef enum tagREADYSTATE
     {
         READYSTATE_UNINITIALIZED  = 0,
@@ -110,6 +118,20 @@ interface IFontDisp : IDispatch
 
 
 /*****************************************************************************
+ * IFontEventsDisp interface
+ */
+[
+    object,
+    uuid(4ef6100a-af88-11d0-9846-00c04fc29993),
+    pointer_default(unique)
+]
+interface IFontEventsDisp : IDispatch
+{
+    typedef IFontEventsDisp *LPFONTEVENTS;
+}
+
+
+/*****************************************************************************
  * IPicture interface
  */
 [
@@ -545,6 +567,36 @@ interface IProvideClassInfo2 : IProvideC
 }
 
 
+[
+    object,
+    uuid(a7aba9c1-8983-11cf-8f20-00805f2cd064),
+    pointer_default(unique)
+]
+interface IProvideMultipleClassInfo : IProvideClassInfo2
+{
+    cpp_quote("#define MULTICLASSINFO_GETTYPEINFO           0x00000001")
+    cpp_quote("#define MULTICLASSINFO_GETNUMRESERVEDDISPIDS 0x00000002")
+    cpp_quote("#define MULTICLASSINFO_GETIIDPRIMARY         0x00000004")
+    cpp_quote("#define MULTICLASSINFO_GETIIDSOURCE          0x00000008")
+
+    cpp_quote("#define TIFLAGS_EXTENDDISPATCHONLY           0x00000001")
+
+    typedef IProvideMultipleClassInfo *LPPROVIDEMULTIPLECLASSINFO;
+
+    HRESULT GetMultiTypeInfoCount( 
+        [out] ULONG *pcti);
+
+    HRESULT GetInfoOfIndex( 
+        [in] ULONG iti,
+        [in] DWORD dwFlags,
+        [out] ITypeInfo **pptiCoClass,
+        [out] DWORD *pdwTIFlags,
+        [out] ULONG *pcdispidReserved,
+        [out] IID *piidPrimary,
+        [out] IID *piidSource);
+}
+
+
 /*****************************************************************************
  * IConnectionPoint interface
  */
Index: dlls/oleaut32/regsvr.c
===================================================================
RCS file: /home/wine/wine/dlls/oleaut32/regsvr.c,v
retrieving revision 1.7
diff -u -p -r1.7 regsvr.c
--- dlls/oleaut32/regsvr.c	10 Aug 2005 13:02:43 -0000	1.7
+++ dlls/oleaut32/regsvr.c	26 Oct 2005 11:23:43 -0000
@@ -544,15 +544,6 @@ static struct regsvr_coclass const cocla
 /***********************************************************************
  *		interface list
  */
-
-/* FIXME: these interfaces should be defined in ocidl.idl */
-
-static IID const IID_IFontEventsDisp = {
-    0x4EF6100A, 0xAF88, 0x11D0, {0x98,0x46,0x00,0xC0,0x4F,0xC2,0x99,0x93} };
-
-static IID const IID_IProvideMultipleClassInfo = {
-    0xA7ABA9C1, 0x8983, 0x11CF, {0x8F,0x20,0x00,0x80,0x5F,0x2C,0xD0,0x64} };
-
 static struct regsvr_interface const interface_list[] = {
     {   &IID_IDispatch,
 	"IDispatch",



More information about the wine-patches mailing list