summaryrefslogtreecommitdiffstats
path: root/public/sdk/inc/ocidl.idl
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--public/sdk/inc/ocidl.idl1571
1 files changed, 1571 insertions, 0 deletions
diff --git a/public/sdk/inc/ocidl.idl b/public/sdk/inc/ocidl.idl
new file mode 100644
index 000000000..3eb160631
--- /dev/null
+++ b/public/sdk/inc/ocidl.idl
@@ -0,0 +1,1571 @@
+//+---------------------------------------------------------------------------
+//
+// Microsoft Windows
+// Copyright (C) Microsoft Corporation, 1993 - 1996.
+//
+// File: ocidl.idl
+//
+//----------------------------------------------------------------------------
+
+cpp_quote("//+-------------------------------------------------------------------------")
+cpp_quote("//")
+cpp_quote("// Microsoft Windows")
+cpp_quote("// Copyright (C) Microsoft Corporation, 1993 - 1996.")
+cpp_quote("//")
+cpp_quote("//--------------------------------------------------------------------------")
+
+#ifndef DO_NO_IMPORTS
+import "oleidl.idl";
+import "oaidl.idl";
+#endif
+
+interface IEnumConnections;
+interface IEnumConnectionPoints;
+interface IConnectionPoint;
+interface IConnectionPointContainer;
+
+interface IClassFactory2;
+interface IProvideClassInfo;
+interface IProvideClassInfo2;
+interface IOleControl;
+interface IOleControlSite;
+interface IPropertyPage;
+interface IPropertyPage2;
+interface IPropertyPageSite;
+interface IPropertyNotifySink;
+interface ISpecifyPropertyPages;
+interface IPersistMemory;
+interface IPersistStreamInit;
+interface IPersistPropertyBag;
+interface ISimpleFrameSite;
+interface IFont;
+interface IPicture;
+interface IFontDisp;
+interface IPictureDisp;
+
+interface IAdviseSinkEx;
+interface IOleInPlaceObjectWindowless;
+interface IOleInPlaceSiteEx;
+interface IOleInPlaceSiteWindowless;
+interface IViewObjectEx;
+interface IOleUndoUnit;
+interface IOleParentUndoUnit;
+interface IEnumOleUndoUnits;
+interface IOleUndoManager;
+interface IQuickActivate;
+interface IPointerInactive;
+interface IObjectWithSite;
+
+interface IErrorLog;
+interface IPropertyBag;
+interface IPerPropertyBrowsing;
+
+
+[
+ version(1.0), pointer_default(unique)
+]
+
+interface IOleControlTypes
+{
+ typedef [v1_enum] enum tagUASFLAGS {
+ UAS_NORMAL = 0x00,
+ UAS_BLOCKED = 0x01,
+ UAS_NOPARENTENABLE = 0x02,
+ UAS_MASK = 0x03
+ } UASFLAGS;
+}
+
+
+[
+ object,
+ uuid(B196B287-BAB4-101A-B69C-00AA00341D07),
+ pointer_default(unique)
+]
+
+interface IEnumConnections : IUnknown
+{
+ typedef IEnumConnections * PENUMCONNECTIONS;
+ typedef IEnumConnections * LPENUMCONNECTIONS;
+
+ typedef struct tagCONNECTDATA {
+ IUnknown * pUnk;
+ DWORD dwCookie;
+ } CONNECTDATA;
+
+ typedef struct tagCONNECTDATA * PCONNECTDATA;
+ typedef struct tagCONNECTDATA * LPCONNECTDATA;
+
+ [local]
+ HRESULT Next(
+ [in] ULONG cConnections,
+ [out, size_is(cConnections), length_is(*pcFetched)]
+ LPCONNECTDATA rgcd,
+ [out] ULONG * pcFetched
+ );
+
+ [call_as(Next)]
+ HRESULT RemoteNext(
+ [in] ULONG cConnections,
+ [out, size_is(cConnections), length_is(*pcFetched)]
+ LPCONNECTDATA rgcd,
+ [out] ULONG * pcFetched
+ );
+
+ HRESULT Skip(
+ [in] ULONG cConnections
+ );
+
+ HRESULT Reset(
+ void
+ );
+
+ HRESULT Clone(
+ [out] IEnumConnections ** ppEnum
+ );
+}
+
+
+[
+ object,
+ uuid(B196B286-BAB4-101A-B69C-00AA00341D07),
+ pointer_default(unique)
+]
+
+interface IConnectionPoint : IUnknown
+{
+ typedef IConnectionPoint * PCONNECTIONPOINT;
+ typedef IConnectionPoint * LPCONNECTIONPOINT;
+
+ HRESULT GetConnectionInterface(
+ [out] IID * pIID
+ );
+
+ HRESULT GetConnectionPointContainer(
+ [out] IConnectionPointContainer ** ppCPC
+ );
+
+ HRESULT Advise(
+ [in] IUnknown * pUnkSink,
+ [out] DWORD * pdwCookie
+ );
+
+ HRESULT Unadvise(
+ [in] DWORD dwCookie
+ );
+
+ HRESULT EnumConnections(
+ [out] IEnumConnections ** ppEnum
+ );
+}
+
+
+[
+ object,
+ uuid(B196B285-BAB4-101A-B69C-00AA00341D07),
+ pointer_default(unique)
+]
+
+interface IEnumConnectionPoints : IUnknown
+{
+ typedef IEnumConnectionPoints * PENUMCONNECTIONPOINTS;
+ typedef IEnumConnectionPoints * LPENUMCONNECTIONPOINTS;
+
+ [local]
+ HRESULT Next(
+ [in] ULONG cConnections,
+ [out, size_is(cConnections), length_is(*pcFetched)]
+ LPCONNECTIONPOINT * ppCP,
+ [out] ULONG * pcFetched
+ );
+
+ [call_as(Next)]
+ HRESULT RemoteNext(
+ [in] ULONG cConnections,
+ [out, size_is(cConnections), length_is(*pcFetched)]
+ LPCONNECTIONPOINT * ppCP,
+ [out] ULONG * pcFetched
+ );
+
+ HRESULT Skip(
+ [in] ULONG cConnections
+ );
+
+ HRESULT Reset(
+ void
+ );
+
+ HRESULT Clone(
+ [out] IEnumConnectionPoints ** ppEnum
+ );
+}
+
+
+[
+ object,
+ uuid(B196B284-BAB4-101A-B69C-00AA00341D07),
+ pointer_default(unique)
+]
+
+interface IConnectionPointContainer : IUnknown
+{
+ typedef IConnectionPointContainer * PCONNECTIONPOINTCONTAINER;
+ typedef IConnectionPointContainer * LPCONNECTIONPOINTCONTAINER;
+
+ HRESULT EnumConnectionPoints
+ (
+ [out] IEnumConnectionPoints ** ppEnum
+ );
+
+ HRESULT FindConnectionPoint
+ (
+ [in] REFIID riid,
+ [out] IConnectionPoint ** ppCP
+ );
+}
+
+
+[
+ object,
+ uuid(B196B28F-BAB4-101A-B69C-00AA00341D07),
+ pointer_default(unique)
+]
+
+interface IClassFactory2 : IClassFactory
+{
+ typedef IClassFactory2 * LPCLASSFACTORY2;
+
+ typedef struct tagLICINFO {
+ LONG cbLicInfo;
+ BOOL fRuntimeKeyAvail;
+ BOOL fLicVerified;
+ } LICINFO;
+
+ typedef struct tagLICINFO * LPLICINFO;
+
+ HRESULT GetLicInfo(
+ [out] LICINFO * pLicInfo
+ );
+
+ HRESULT RequestLicKey(
+ [in] DWORD dwReserved,
+ [out] BSTR * pBstrKey
+ );
+
+ [local]
+ HRESULT CreateInstanceLic(
+ [in] IUnknown * pUnkOuter,
+ [in] IUnknown * pUnkReserved,
+ [in] REFIID riid,
+ [in] BSTR bstrKey,
+ [out, iid_is(riid)] PVOID * ppvObj
+ );
+
+ [call_as(CreateInstanceLic)]
+ HRESULT RemoteCreateInstanceLic(
+ [in] REFIID riid,
+ [in] BSTR bstrKey,
+ [out, iid_is(riid)] IUnknown ** ppvObj
+ );
+}
+
+
+[
+ object,
+ uuid(B196B283-BAB4-101A-B69C-00AA00341D07),
+ pointer_default(unique)
+]
+
+interface IProvideClassInfo : IUnknown
+{
+ typedef IProvideClassInfo * LPPROVIDECLASSINFO;
+
+ HRESULT GetClassInfo(
+ [out] ITypeInfo ** ppTI
+ );
+}
+
+
+[
+ object,
+ uuid(A6BC3AC0-DBAA-11CE-9DE3-00AA004BB851),
+ pointer_default(unique)
+]
+
+interface IProvideClassInfo2 : IProvideClassInfo
+{
+ typedef IProvideClassInfo2 * LPPROVIDECLASSINFO2;
+
+ typedef enum tagGUIDKIND {
+ GUIDKIND_DEFAULT_SOURCE_DISP_IID = 1
+ } GUIDKIND;
+
+ HRESULT GetGUID(
+ [in] DWORD dwGuidKind,
+ [out] GUID * pGUID
+ );
+}
+
+
+[
+ object,
+ uuid(B196B288-BAB4-101A-B69C-00AA00341D07),
+ pointer_default(unique)
+]
+
+interface IOleControl : IUnknown
+{
+ typedef IOleControl * LPOLECONTROL;
+
+ typedef struct tagCONTROLINFO {
+ ULONG cb;
+ HACCEL hAccel;
+ USHORT cAccel;
+ DWORD dwFlags;
+ } CONTROLINFO;
+
+ typedef struct tagCONTROLINFO * LPCONTROLINFO;
+
+ typedef enum tagCTRLINFO {
+ CTRLINFO_EATS_RETURN = 1,
+ CTRLINFO_EATS_ESCAPE = 2
+ } CTRLINFO;
+
+ HRESULT GetControlInfo(
+ [out] CONTROLINFO * pCI
+ );
+
+ HRESULT OnMnemonic(
+ [in] MSG * pMsg
+ );
+
+ HRESULT OnAmbientPropertyChange(
+ [in] DISPID dispID
+ );
+
+ HRESULT FreezeEvents(
+ [in] BOOL bFreeze
+ );
+}
+
+
+[
+ object,
+ uuid(B196B289-BAB4-101A-B69C-00AA00341D07),
+ pointer_default(unique)
+]
+
+interface IOleControlSite : IUnknown
+{
+ typedef IOleControlSite * LPOLECONTROLSITE;
+
+ typedef struct tagPOINTF {
+ FLOAT x;
+ FLOAT y;
+ } POINTF;
+
+ typedef struct tagPOINTF * LPPOINTF;
+
+ typedef enum tagXFORMCOORDS {
+ XFORMCOORDS_POSITION = 0x1,
+ XFORMCOORDS_SIZE = 0x2,
+ XFORMCOORDS_HIMETRICTOCONTAINER = 0x4,
+ XFORMCOORDS_CONTAINERTOHIMETRIC = 0x8
+ } XFORMCOORDS;
+
+ HRESULT OnControlInfoChanged(
+ void
+ );
+
+ HRESULT LockInPlaceActive(
+ [in] BOOL fLock
+ );
+
+ HRESULT GetExtendedControl(
+ [out] IDispatch ** ppDisp
+ );
+
+ HRESULT TransformCoords(
+ [in, out] POINTL * pPtlHimetric,
+ [in, out] POINTF * pPtfContainer,
+ [in] DWORD dwFlags
+ );
+
+ HRESULT TranslateAccelerator(
+ [in] MSG * pMsg,
+ [in] DWORD grfModifiers
+ );
+
+ HRESULT OnFocus(
+ [in] BOOL fGotFocus
+ );
+
+ HRESULT ShowPropertyFrame(
+ void
+ );
+}
+
+
+[
+ object,
+ uuid(B196B28D-BAB4-101A-B69C-00AA00341D07),
+ pointer_default(unique)
+]
+
+interface IPropertyPage : IUnknown
+{
+ typedef IPropertyPage * LPPROPERTYPAGE;
+
+ typedef struct tagPROPPAGEINFO {
+ ULONG cb;
+ LPOLESTR pszTitle;
+ SIZE size;
+ LPOLESTR pszDocString;
+ LPOLESTR pszHelpFile;
+ DWORD dwHelpContext;
+ } PROPPAGEINFO;
+
+ typedef struct tagPROPPAGEINFO * LPPROPPAGEINFO;
+
+ HRESULT SetPageSite(
+ [in] IPropertyPageSite * pPageSite
+ );
+
+ HRESULT Activate(
+ [in] HWND hWndParent,
+ [in] LPCRECT pRect,
+ [in] BOOL bModal
+ );
+
+ HRESULT Deactivate(
+ void
+ );
+
+ HRESULT GetPageInfo(
+ [out] PROPPAGEINFO * pPageInfo
+ );
+
+ HRESULT SetObjects(
+ [in] ULONG cObjects,
+ [in, size_is(cObjects)] IUnknown ** ppUnk
+ );
+
+ HRESULT Show(
+ [in] UINT nCmdShow
+ );
+
+ HRESULT Move(
+ [in] LPCRECT pRect
+ );
+
+ HRESULT IsPageDirty(
+ void
+ );
+
+ HRESULT Apply(
+ void
+ );
+
+ HRESULT Help(
+ [in] LPCOLESTR pszHelpDir
+ );
+
+ HRESULT TranslateAccelerator(
+ [in] MSG * pMsg
+ );
+}
+
+
+[
+ object,
+ uuid(01E44665-24AC-101B-84ED-08002B2EC713),
+ pointer_default(unique)
+]
+
+interface IPropertyPage2 : IPropertyPage
+{
+ typedef IPropertyPage2 * LPPROPERTYPAGE2;
+
+ HRESULT EditProperty(
+ [in] DISPID dispID
+ );
+}
+
+
+[
+ object,
+ uuid(B196B28C-BAB4-101A-B69C-00AA00341D07),
+ pointer_default(unique)
+]
+
+interface IPropertyPageSite : IUnknown
+{
+ typedef IPropertyPageSite * LPPROPERTYPAGESITE;
+
+ typedef enum tagPROPPAGESTATUS {
+ PROPPAGESTATUS_DIRTY = 0x01,
+ PROPPAGESTATUS_VALIDATE = 0x02,
+ PROPPAGESTATUS_CLEAN = 0x04
+ } PROPPAGESTATUS;
+
+ HRESULT OnStatusChange(
+ [in] DWORD dwFlags
+ );
+
+ HRESULT GetLocaleID(
+ [out] LCID * pLocaleID
+ );
+
+ HRESULT GetPageContainer(
+ [out] IUnknown ** ppUnk
+ );
+
+ HRESULT TranslateAccelerator(
+ [in] MSG * pMsg
+ );
+}
+
+
+[
+ object,
+ uuid(9BFBBC02-EFF1-101A-84ED-00AA00341D07),
+ pointer_default(unique)
+]
+
+interface IPropertyNotifySink : IUnknown
+{
+ typedef IPropertyNotifySink * LPPROPERTYNOTIFYSINK;
+
+ HRESULT OnChanged(
+ [in] DISPID dispID
+ );
+
+ HRESULT OnRequestEdit(
+ [in] DISPID dispID
+ );
+}
+
+
+[
+ object,
+ uuid(B196B28B-BAB4-101A-B69C-00AA00341D07),
+ pointer_default(unique)
+]
+
+interface ISpecifyPropertyPages : IUnknown
+{
+ typedef ISpecifyPropertyPages * LPSPECIFYPROPERTYPAGES;
+
+ typedef struct tagCAUUID {
+ ULONG cElems;
+ [size_is(cElems)] GUID * pElems;
+ } CAUUID;
+
+ typedef struct tagCAUUID * LPCAUUID;
+
+ HRESULT GetPages(
+ [out] CAUUID * pPages
+ );
+}
+
+
+[
+ object,
+ uuid(BD1AE5E0-A6AE-11CE-BD37-504200C10000),
+ pointer_default(unique)
+]
+
+interface IPersistMemory : IPersist
+{
+ typedef IPersistMemory * LPPERSISTMEMORY;
+
+ HRESULT IsDirty(
+ void
+ );
+
+ [local]
+ HRESULT Load(
+ [in, size_is(cbSize)] LPVOID pMem,
+ [in] ULONG cbSize
+ );
+
+ [call_as(Load)]
+ HRESULT RemoteLoad(
+ [in, size_is(cbSize)] BYTE * pMem,
+ [in] ULONG cbSize
+ );
+
+ [local]
+ HRESULT Save(
+ [in, size_is(cbSize)] LPVOID pMem,
+ [in] BOOL fClearDirty,
+ [in] ULONG cbSize
+ );
+
+ [call_as(Save)]
+ HRESULT RemoteSave(
+ [in, size_is(cbSize)] BYTE * pMem,
+ [in] BOOL fClearDirty,
+ [in] ULONG cbSize
+ );
+
+ HRESULT GetSizeMax(
+ [out] ULONG * pCbSize
+ );
+
+ HRESULT InitNew(
+ void
+ );
+}
+
+
+[
+ object,
+ uuid(7FD52380-4E07-101B-AE2D-08002B2EC713),
+ pointer_default(unique)
+]
+
+interface IPersistStreamInit : IPersist
+{
+ typedef IPersistStreamInit * LPPERSISTSTREAMINIT;
+
+ HRESULT IsDirty(
+ void
+ );
+
+ HRESULT Load(
+ [in] LPSTREAM pStm
+ );
+
+ HRESULT Save(
+ [in] LPSTREAM pStm,
+ [in] BOOL fClearDirty
+ );
+
+ HRESULT GetSizeMax(
+ [out] ULARGE_INTEGER * pCbSize
+ );
+
+ HRESULT InitNew(
+ void
+ );
+}
+
+
+[
+ object,
+ uuid(37D84F60-42CB-11CE-8135-00AA004BB851),
+ pointer_default(unique)
+]
+
+interface IPersistPropertyBag : IPersist
+{
+ typedef IPersistPropertyBag * LPPERSISTPROPERTYBAG;
+
+ HRESULT InitNew(
+ void
+ );
+
+ HRESULT Load(
+ [in] IPropertyBag * pPropBag,
+ [in] IErrorLog * pErrorLog
+ );
+
+ HRESULT Save(
+ [in] IPropertyBag * pPropBag,
+ [in] BOOL fClearDirty,
+ [in] BOOL fSaveAllProperties
+ );
+}
+
+
+[
+ object,
+ uuid(742B0E01-14E6-101B-914E-00AA00300CAB),
+ pointer_default(unique)
+]
+
+interface ISimpleFrameSite : IUnknown
+{
+ typedef ISimpleFrameSite * LPSIMPLEFRAMESITE;
+
+ HRESULT PreMessageFilter(
+ [in] HWND hWnd,
+ [in] UINT msg,
+ [in] WPARAM wp,
+ [in] LPARAM lp,
+ [out] LRESULT * plResult,
+ [out] DWORD * pdwCookie
+ );
+
+ HRESULT PostMessageFilter(
+ [in] HWND hWnd,
+ [in] UINT msg,
+ [in] WPARAM wp,
+ [in] LPARAM lp,
+ [out] LRESULT *plResult,
+ [in] DWORD dwCookie
+ );
+}
+
+
+[
+ object,
+ uuid(BEF6E002-A874-101A-8BBA-00AA00300CAB),
+ pointer_default(unique)
+]
+
+interface IFont : IUnknown
+{
+ typedef IFont * LPFONT;
+
+cpp_quote("#if defined(_WIN32) && !defined(OLE2ANSI)")
+ typedef TEXTMETRICW TEXTMETRICOLE;
+cpp_quote("#else")
+cpp_quote("typedef TEXTMETRIC TEXTMETRICOLE;")
+cpp_quote("#endif")
+
+ typedef TEXTMETRICOLE * LPTEXTMETRICOLE;
+
+ HRESULT get_Name(
+ [out] BSTR * pName
+ );
+
+ HRESULT put_Name(
+ [in] BSTR name
+ );
+
+ HRESULT get_Size(
+ [out] CY * pSize
+ );
+
+ HRESULT put_Size(
+ [in] CY size
+ );
+
+ HRESULT get_Bold(
+ [out] BOOL * pBold
+ );
+
+ HRESULT put_Bold(
+ [in] BOOL bold
+ );
+
+ HRESULT get_Italic(
+ [out] BOOL * pItalic
+ );
+
+ HRESULT put_Italic(
+ [in] BOOL italic
+ );
+
+ HRESULT get_Underline(
+ [out] BOOL * pUnderline
+ );
+
+ HRESULT put_Underline(
+ [in] BOOL underline
+ );
+
+ HRESULT get_Strikethrough(
+ [out] BOOL * pStrikethrough
+ );
+
+ HRESULT put_Strikethrough(
+ [in] BOOL strikethrough
+ );
+
+ HRESULT get_Weight(
+ [out] SHORT * pWeight
+ );
+
+ HRESULT put_Weight(
+ [in] SHORT weight
+ );
+
+ HRESULT get_Charset(
+ [out] SHORT * pCharset
+ );
+
+ HRESULT put_Charset(
+ [in] SHORT charset
+ );
+
+ HRESULT get_hFont(
+ [out] HFONT * phFont
+ );
+
+ HRESULT Clone(
+ [out] IFont ** ppFont
+ );
+
+ HRESULT IsEqual(
+ [in] IFont * pFontOther
+ );
+
+ HRESULT SetRatio(
+ [in] LONG cyLogical,
+ [in] LONG cyHimetric
+ );
+
+ HRESULT QueryTextMetrics(
+ [out] TEXTMETRICOLE * pTM
+ );
+
+ HRESULT AddRefHfont(
+ [in] HFONT hFont
+ );
+
+ HRESULT ReleaseHfont(
+ [in] HFONT hFont
+ );
+
+ HRESULT SetHdc(
+ [in] HDC hDC
+ );
+}
+
+
+[
+ object,
+ uuid(7BF80980-BF32-101A-8BBB-00AA00300CAB),
+ pointer_default(unique)
+]
+
+interface IPicture : IUnknown
+{
+ typedef IPicture * LPPICTURE;
+
+ typedef enum tagPictureAttributes {
+ PICTURE_SCALABLE = 0x1,
+ PICTURE_TRANSPARENT = 0x2
+ } PICTUREATTRIBUTES;
+
+ typedef UINT OLE_HANDLE;
+ typedef LONG OLE_XPOS_HIMETRIC;
+ typedef LONG OLE_YPOS_HIMETRIC;
+ typedef LONG OLE_XSIZE_HIMETRIC;
+ typedef LONG OLE_YSIZE_HIMETRIC;
+
+ HRESULT get_Handle(
+ [out] OLE_HANDLE * pHandle
+ );
+
+ HRESULT get_hPal(
+ [out] OLE_HANDLE * phPal
+ );
+
+ HRESULT get_Type(
+ [out] SHORT * pType
+ );
+
+ HRESULT get_Width(
+ [out] OLE_XSIZE_HIMETRIC * pWidth
+ );
+
+ HRESULT get_Height(
+ [out] OLE_YSIZE_HIMETRIC * pHeight
+ );
+
+ HRESULT Render(
+ [in] HDC hDC,
+ [in] LONG x,
+ [in] LONG y,
+ [in] LONG cx,
+ [in] LONG cy,
+ [in] OLE_XPOS_HIMETRIC xSrc,
+ [in] OLE_YPOS_HIMETRIC ySrc,
+ [in] OLE_XSIZE_HIMETRIC cxSrc,
+ [in] OLE_YSIZE_HIMETRIC cySrc,
+ [in] LPCRECT pRcWBounds
+ );
+
+ HRESULT set_hPal(
+ [in] OLE_HANDLE hPal
+ );
+
+ HRESULT get_CurDC(
+ [out] HDC * phDC
+ );
+
+ HRESULT SelectPicture(
+ [in] HDC hDCIn,
+ [out] HDC * phDCOut,
+ [out] OLE_HANDLE * phBmpOut
+ );
+
+ HRESULT get_KeepOriginalFormat(
+ [out] BOOL * pKeep
+ );
+
+ HRESULT put_KeepOriginalFormat(
+ [in] BOOL keep
+ );
+
+ HRESULT PictureChanged(
+ void
+ );
+
+ HRESULT SaveAsFile(
+ [in] LPSTREAM pStream,
+ [in] BOOL fSaveMemCopy,
+ [out] LONG * pCbSize
+ );
+
+ HRESULT get_Attributes(
+ [out] DWORD * pDwAttr
+ );
+}
+
+
+[
+ object,
+ uuid(BEF6E003-A874-101A-8BBA-00AA00300CAB),
+ pointer_default(unique)
+]
+
+interface IFontDisp : IDispatch
+{
+ typedef IFontDisp * LPFONTDISP;
+}
+
+
+[
+ object,
+ uuid(7BF80981-BF32-101A-8BBB-00AA00300CAB),
+ pointer_default(unique)
+]
+
+interface IPictureDisp : IDispatch
+{
+ typedef IPictureDisp * LPPICTUREDISP;
+}
+
+
+//+---------------------------------------------------------------------------
+//
+// Extensions to OLE and OLE Controls.
+//
+//----------------------------------------------------------------------------
+
+
+[
+ object,
+ pointer_default(unique),
+ uuid(3AF24290-0C96-11CE-A0CF-00AA00600AB8)
+]
+
+interface IAdviseSinkEx : IAdviseSink
+{
+ typedef IAdviseSinkEx * LPADVISESINKEX;
+
+ [local]
+ void OnViewStatusChange(
+ [in] DWORD dwViewStatus
+ );
+
+ [call_as(OnViewStatusChange), async]
+ void RemoteOnViewStatusChange(
+ [in] DWORD dwViewStatus
+ );
+}
+
+
+[
+ local,
+ object,
+ pointer_default(unique),
+ uuid(1C2056CC-5EF4-101B-8BC8-00AA003E3B29)
+]
+
+interface IOleInPlaceObjectWindowless : IOleInPlaceObject
+{
+ typedef IOleInPlaceObjectWindowless *LPOLEINPLACEOBJECTWINDOWLESS;
+
+ HRESULT OnWindowMessage(
+ [in] UINT msg,
+ [in] WPARAM wParam,
+ [in] LPARAM lParam,
+ [out] LRESULT * plResult
+ );
+
+ HRESULT GetDropTarget(
+ [out] IDropTarget ** ppDropTarget
+ );
+}
+
+
+[
+ object,
+ pointer_default(unique),
+ uuid(9C2CAD80-3424-11CF-B670-00AA004CD6D8)
+]
+
+interface IOleInPlaceSiteEx : IOleInPlaceSite
+{
+ typedef IOleInPlaceSiteEx * LPOLEINPLACESITEEX;
+
+ typedef [v1_enum] enum tagACTIVATEFLAGS {
+ ACTIVATE_WINDOWLESS = 1,
+ } ACTIVATEFLAGS;
+
+ HRESULT OnInPlaceActivateEx(
+ [out] BOOL * pfNoRedraw,
+ [in] DWORD dwFlags
+ );
+
+ HRESULT OnInPlaceDeactivateEx(
+ [in] BOOL fNoRedraw
+ );
+
+ HRESULT RequestUIActivate(
+ void
+ );
+}
+
+
+[
+ local,
+ object,
+ pointer_default(unique),
+ uuid(922EADA0-3424-11CF-B670-00AA004CD6D8)
+]
+
+interface IOleInPlaceSiteWindowless : IOleInPlaceSiteEx
+{
+ typedef IOleInPlaceSiteWindowless * LPOLEINPLACESITEWINDOWLESS;
+
+ typedef [v1_enum] enum tagOLEDCFLAGS {
+ OLEDC_NODRAW = 0x01,
+ OLEDC_PAINTBKGND = 0x02,
+ OLEDC_OFFSCREEN = 0x04
+ } OLEDCFLAGS;
+
+ HRESULT CanWindowlessActivate(
+ void
+ );
+
+ HRESULT GetCapture(
+ void
+ );
+
+ HRESULT SetCapture(
+ [in] BOOL fCapture
+ );
+
+ HRESULT GetFocus(
+ void
+ );
+
+ HRESULT SetFocus(
+ [in] BOOL fFocus
+ );
+
+ HRESULT GetDC(
+ [in] LPCRECT pRect,
+ [in] DWORD grfFlags,
+ [out] HDC * phDC
+ );
+
+ HRESULT ReleaseDC(
+ [in] HDC hDC
+ );
+
+ HRESULT InvalidateRect(
+ [in] LPCRECT pRect,
+ [in] BOOL fErase
+ );
+
+ HRESULT InvalidateRgn(
+ [in] HRGN hRGN,
+ [in] BOOL fErase
+ );
+
+ HRESULT ScrollRect(
+ [in] INT dx,
+ [in] INT dy,
+ [in] LPCRECT pRectScroll,
+ [in] LPCRECT pRectClip
+ );
+
+ HRESULT AdjustRect(
+ [in, out] LPRECT prc
+ );
+
+ HRESULT OnDefWindowMessage(
+ [in] UINT msg,
+ [in] WPARAM wParam,
+ [in] LPARAM lParam,
+ [out] LRESULT * plResult
+ );
+}
+
+
+[
+ local,
+ object,
+ pointer_default(unique),
+ uuid(3AF24292-0C96-11CE-A0CF-00AA00600AB8)
+]
+
+interface IViewObjectEx : IViewObject2
+{
+ typedef IViewObjectEx * LPVIEWOBJECTEX;
+
+ typedef [v1_enum] enum tagVIEWSTATUS {
+ VIEWSTATUS_OPAQUE = 1,
+ VIEWSTATUS_SOLIDBKGND = 2,
+ VIEWSTATUS_DVASPECTOPAQUE = 4,
+ VIEWSTATUS_DVASPECTTRANSPARENT = 8,
+ } VIEWSTATUS;
+
+ typedef [v1_enum] enum tagHITRESULT {
+ HITRESULT_OUTSIDE = 0,
+ HITRESULT_TRANSPARENT = 1,
+ HITRESULT_CLOSE = 2,
+ HITRESULT_HIT = 3
+ } HITRESULT;
+
+ typedef [v1_enum] enum tagDVASPECT2 {
+ DVASPECT_OPAQUE = 16,
+ DVASPECT_TRANSPARENT = 32,
+ } DVASPECT2;
+
+ typedef struct tagExtentInfo {
+ ULONG cb;
+ DWORD dwExtentMode;
+ SIZEL sizelProposed;
+ } DVEXTENTINFO;
+
+ typedef [v1_enum] enum tagExtentMode {
+ DVEXTENT_CONTENT,
+ DVEXTENT_INTEGRAL
+ } DVEXTENTMODE;
+
+ typedef [v1_enum] enum tagAspectInfoFlag {
+ DVASPECTINFOFLAG_CANOPTIMIZE = 1
+ } DVASPECTINFOFLAG;
+
+ typedef struct tagAspectInfo {
+ ULONG cb;
+ DWORD dwFlags;
+ } DVASPECTINFO;
+
+ HRESULT GetRect(
+ [in] DWORD dwAspect,
+ [out] LPRECTL pRect
+ );
+
+ HRESULT GetViewStatus(
+ [out] DWORD * pdwStatus
+ );
+
+ HRESULT QueryHitPoint(
+ [in] DWORD dwAspect,
+ [in] LPCRECT pRectBounds,
+ [in] POINT ptlLoc,
+ [in] LONG lCloseHint,
+ [out] DWORD * pHitResult
+ );
+
+ HRESULT QueryHitRect(
+ [in] DWORD dwAspect,
+ [in] LPCRECT pRectBounds,
+ [in] LPCRECT pRectLoc,
+ [in] LONG lCloseHint,
+ [out] DWORD * pHitResult
+ );
+
+ HRESULT GetNaturalExtent (
+ [in] DWORD dwAspect,
+ [in] LONG lindex,
+ [in] DVTARGETDEVICE * ptd,
+ [in] HDC hicTargetDev,
+ [in] DVEXTENTINFO * pExtentInfo,
+ [out] LPSIZEL pSizel
+ );
+}
+
+
+[
+ object,
+ pointer_default(unique),
+ uuid(894AD3B0-EF97-11CE-9BC9-00AA00608E01)
+]
+
+interface IOleUndoUnit : IUnknown
+{
+ typedef IOleUndoUnit * LPOLEUNDOUNIT;
+
+ HRESULT Do(
+ [in] IOleUndoManager * pUndoManager
+ );
+
+ HRESULT GetDescription(
+ [out] BSTR * pBstr
+ );
+
+ HRESULT GetUnitType(
+ [out] CLSID * pClsid,
+ [out] LONG * plID
+ );
+
+ HRESULT OnNextAdd(
+ void
+ );
+}
+
+
+[
+ object,
+ pointer_default(unique),
+ uuid(A1FAF330-EF97-11CE-9BC9-00AA00608E01)
+]
+
+interface IOleParentUndoUnit : IOleUndoUnit
+{
+ typedef IOleParentUndoUnit * LPOLEPARENTUNDOUNIT;
+
+ HRESULT Open(
+ [in] IOleParentUndoUnit * pPUU
+ );
+
+ HRESULT Close(
+ [in] IOleParentUndoUnit * pPUU,
+ [in] BOOL fCommit
+ );
+
+ HRESULT Add(
+ [in] IOleUndoUnit * pUU
+ );
+
+ HRESULT FindUnit(
+ [in] IOleUndoUnit * pUU
+ );
+
+ HRESULT GetParentState(
+ [out] DWORD * pdwState
+ );
+}
+
+
+[
+ object,
+ pointer_default(unique),
+ uuid(B3E7C340-EF97-11CE-9BC9-00AA00608E01)
+]
+
+interface IEnumOleUndoUnits : IUnknown
+{
+ typedef IEnumOleUndoUnits * LPENUMOLEUNDOUNITS;
+
+ [local]
+ HRESULT Next(
+ [in] ULONG cElt,
+ [out, size_is(cElt), length_is(*pcEltFetched)]
+ IOleUndoUnit ** rgElt,
+ [out] ULONG * pcEltFetched
+ );
+
+ [call_as(Next)]
+ HRESULT RemoteNext(
+ [in] ULONG cElt,
+ [out, size_is(cElt), length_is(*pcEltFetched)]
+ IOleUndoUnit ** rgElt,
+ [out] ULONG * pcEltFetched
+ );
+
+ HRESULT Skip(
+ [in] ULONG cElt
+ );
+
+ HRESULT Reset(
+ void
+ );
+
+ HRESULT Clone(
+ [out] IEnumOleUndoUnits ** ppEnum
+ );
+}
+
+
+[
+ object,
+ pointer_default(unique),
+ uuid(D001F200-EF97-11CE-9BC9-00AA00608E01)
+]
+
+interface IOleUndoManager : IUnknown
+{
+ typedef IOleUndoManager * LPOLEUNDOMANAGER;
+
+ HRESULT Open(
+ [in] IOleParentUndoUnit * pPUU
+ );
+
+ HRESULT Close(
+ [in] IOleParentUndoUnit * pPUU,
+ [in] BOOL fCommit
+ );
+
+ HRESULT Add(
+ [in] IOleUndoUnit * pUU
+ );
+
+ HRESULT GetOpenParentState(
+ [out] DWORD * pdwState
+ );
+
+ HRESULT DiscardFrom(
+ [in] IOleUndoUnit * pUU
+ );
+
+ HRESULT UndoTo(
+ [in] IOleUndoUnit * pUU
+ );
+
+ HRESULT RedoTo(
+ [in] IOleUndoUnit * pUU
+ );
+
+ HRESULT EnumUndoable(
+ [out] IEnumOleUndoUnits ** ppEnum
+ );
+
+ HRESULT EnumRedoable(
+ [out] IEnumOleUndoUnits ** ppEnum
+ );
+
+ HRESULT GetLastUndoDescription(
+ [out] BSTR * pBstr
+ );
+
+ HRESULT GetLastRedoDescription(
+ [out] BSTR * pBstr
+ );
+
+ HRESULT Enable(
+ [in] BOOL fEnable
+ );
+}
+
+
+[
+ local,
+ object,
+ pointer_default(unique),
+ uuid(CF51ED10-62FE-11CF-BF86-00A0C9034836)
+]
+
+interface IQuickActivate : IUnknown
+{
+ typedef IQuickActivate * LPQUICKACTIVATE;
+
+ typedef [v1_enum] enum tagQACONTAINERFLAGS {
+ QACONTAINER_SHOWHATCHING = 0x0001,
+ QACONTAINER_SHOWGRABHANDLES = 0x0002,
+ QACONTAINER_USERMODE = 0x0004,
+ QACONTAINER_DISPLAYASDEFAULT = 0x0008,
+ QACONTAINER_UIDEAD = 0x0010,
+ QACONTAINER_AUTOCLIP = 0x0020,
+ QACONTAINER_MESSAGEREFLECT = 0x0040,
+ QACONTAINER_SUPPORTSMNEMONICS = 0x0080
+ } QACONTAINERFLAGS;
+
+ typedef DWORD OLE_COLOR;
+
+ typedef struct tagQACONTAINER {
+ ULONG cbSize;
+ IOleClientSite * pClientSite;
+ IAdviseSinkEx * pAdviseSink;
+ IPropertyNotifySink * pPropertyNotifySink;
+ IUnknown * pUnkEventSink;
+ DWORD dwAmbientFlags;
+ OLE_COLOR colorFore;
+ OLE_COLOR colorBack;
+ IFont * pFont;
+ IOleUndoManager * pUndoMgr;
+ DWORD dwAppearance;
+ LONG lcid;
+ HPALETTE hpal;
+ struct IBindHost * pBindHost;
+ } QACONTAINER;
+
+ typedef struct tagQACONTROL {
+ ULONG cbSize;
+ DWORD dwMiscStatus;
+ DWORD dwViewStatus;
+ DWORD dwEventCookie;
+ DWORD dwPropNotifyCookie;
+ DWORD dwPointerActivationPolicy;
+ } QACONTROL;
+
+ HRESULT QuickActivate(
+ [in] QACONTAINER * pQaContainer,
+ [out] QACONTROL * pQaControl
+ );
+
+ HRESULT SetContentExtent(
+ LPSIZEL pSizel
+ );
+
+ HRESULT GetContentExtent(
+ LPSIZEL pSizel
+ );
+}
+
+
+[
+ object,
+ pointer_default(unique),
+ uuid(55980BA0-35AA-11CF-B671-00AA004CD6D8)
+]
+
+interface IPointerInactive : IUnknown
+{
+ typedef IPointerInactive * LPPOINTERINACTIVE;
+
+ typedef [v1_enum] enum tagPOINTERINACTIVE {
+ POINTERINACTIVE_ACTIVATEONENTRY = 1,
+ POINTERINACTIVE_DEACTIVATEONLEAVE = 2,
+ POINTERINACTIVE_ACTIVATEONDRAG = 4
+ } POINTERINACTIVE;
+
+ HRESULT GetActivationPolicy(
+ [out] DWORD * pdwPolicy
+ );
+
+ HRESULT OnInactiveMouseMove(
+ [in] LPCRECT pRectBounds,
+ [in] LONG x,
+ [in] LONG y,
+ [in] DWORD grfKeyState
+ );
+
+ HRESULT OnInactiveSetCursor(
+ [in] LPCRECT pRectBounds,
+ [in] LONG x,
+ [in] LONG y,
+ [in] DWORD dwMouseMsg,
+ [in] BOOL fSetAlways
+ );
+}
+
+
+[
+ object,
+ uuid(FC4801A3-2BA9-11CF-A229-00AA003D7352),
+ pointer_default(unique)
+]
+
+interface IObjectWithSite : IUnknown
+{
+ typedef IObjectWithSite * LPOBJECTWITHSITE;
+
+ HRESULT SetSite(
+ [in] IUnknown * pUnkSite
+ );
+
+ HRESULT GetSite(
+ [in] REFIID riid,
+ [out, iid_is(riid)] void ** ppvSite
+ );
+}
+
+
+[
+ object,
+ uuid(3127CA40-446E-11CE-8135-00AA004BB851),
+ pointer_default(unique)
+]
+
+interface IErrorLog : IUnknown
+{
+ typedef IErrorLog * LPERRORLOG;
+
+ HRESULT AddError(
+ [in] LPCOLESTR pszPropName,
+ [in] EXCEPINFO * pExcepInfo
+ );
+}
+
+
+[
+ object,
+ uuid(55272A00-42CB-11CE-8135-00AA004BB851),
+ pointer_default(unique)
+]
+
+interface IPropertyBag : IUnknown
+{
+ typedef IPropertyBag * LPPROPERTYBAG;
+
+ [local]
+ HRESULT Read(
+ [in] LPCOLESTR pszPropName,
+ [in, out] VARIANT * pVar,
+ [in] IErrorLog * pErrorLog
+ );
+
+ [call_as(Read)]
+ HRESULT RemoteRead(
+ [in] LPCOLESTR pszPropName,
+ [out] VARIANT * pVar,
+ [in] IErrorLog * pErrorLog,
+ [in] DWORD varType,
+ [in] IUnknown * pUnkObj
+ );
+
+ HRESULT Write(
+ [in] LPCOLESTR pszPropName,
+ [in] VARIANT * pVar
+ );
+}
+
+
+[
+ object,
+ uuid(376BD3AA-3845-101B-84ED-08002B2EC713),
+ pointer_default(unique)
+]
+
+interface IPerPropertyBrowsing : IUnknown
+{
+ typedef IPerPropertyBrowsing * LPPERPROPERTYBROWSING;
+
+ typedef struct tagCALPOLESTR {
+ ULONG cElems;
+ [size_is(cElems)] LPOLESTR * pElems;
+ } CALPOLESTR;
+
+ typedef struct tagCALPOLESTR * LPCALPOLESTR;
+
+ typedef struct tagCADWORD {
+ ULONG cElems;
+ [size_is(cElems)] DWORD * pElems;
+ } CADWORD;
+
+ typedef struct tagCADWORD * LPCADWORD;
+
+ HRESULT GetDisplayString(
+ [in] DISPID dispID,
+ [out] BSTR * pBstr
+ );
+
+ HRESULT MapPropertyToPage(
+ [in] DISPID dispID,
+ [out] CLSID * pClsid
+ );
+
+ HRESULT GetPredefinedStrings(
+ [in] DISPID dispID,
+ [out] CALPOLESTR * pCaStringsOut,
+ [out] CADWORD * pCaCookiesOut
+ );
+
+ HRESULT GetPredefinedValue(
+ [in] DISPID dispID,
+ [in] DWORD dwCookie,
+ [out] VARIANT * pVarOut
+ );
+}
+