From 3c2bda8f834a57d237de220c6cced8c2ec1806ea Mon Sep 17 00:00:00 2001 From: Robert Shearman Date: Thu, 27 Oct 2005 10:19:54 +0000 Subject: [PATCH] Add IFontEventsDisp and IProvideMultipleClassInfo. --- dlls/oleaut32/regsvr.c | 9 -------- include/ocidl.idl | 52 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 52 insertions(+), 9 deletions(-) diff --git a/dlls/oleaut32/regsvr.c b/dlls/oleaut32/regsvr.c index 9ab5fd45be..fc92295c1f 100644 --- a/dlls/oleaut32/regsvr.c +++ b/dlls/oleaut32/regsvr.c @@ -544,15 +544,6 @@ static struct regsvr_coclass const coclass_list[] = { /*********************************************************************** * 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", diff --git a/include/ocidl.idl b/include/ocidl.idl index 8cfaf5e9b2..c7df31657d 100644 --- a/include/ocidl.idl +++ b/include/ocidl.idl @@ -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, @@ -109,6 +117,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 : IProvideClassInfo } +[ + 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 */ -- 2.32.0.93.g670b81a890