mirror of
git://source.winehq.org/git/wine.git
synced 2024-11-05 18:01:34 +00:00
1280 lines
31 KiB
Text
1280 lines
31 KiB
Text
/*
|
|
* Copyright (C) 1999 Paul Quinn
|
|
* Copyright (C) 1999 Francis Beaudet
|
|
* Copyright (C) 2003 Alexandre Julliard
|
|
*
|
|
* This library is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU Lesser General Public
|
|
* License as published by the Free Software Foundation; either
|
|
* version 2.1 of the License, or (at your option) any later version.
|
|
*
|
|
* This library is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
* Lesser General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU Lesser General Public
|
|
* License along with this library; if not, write to the Free Software
|
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
*/
|
|
|
|
import "oleidl.idl";
|
|
import "oaidl.idl";
|
|
import "servprov.idl";
|
|
import "urlmon.idl";
|
|
|
|
|
|
/*****************************************************************************
|
|
* IOleControlTypes interface
|
|
*/
|
|
[
|
|
pointer_default(unique)
|
|
]
|
|
interface IOleControlTypes
|
|
{
|
|
typedef enum tagREADYSTATE
|
|
{
|
|
READYSTATE_UNINITIALIZED = 0,
|
|
READYSTATE_LOADING = 1,
|
|
READYSTATE_LOADED = 2,
|
|
READYSTATE_INTERACTIVE = 3,
|
|
READYSTATE_COMPLETE = 4
|
|
} READYSTATE;
|
|
|
|
typedef struct tagVARIANT_BLOB
|
|
{
|
|
DWORD clSize;
|
|
DWORD rpcReserved;
|
|
[size_is(clSize-1)] ULONGLONG ahData[];
|
|
} wireVARIANT_BLOB;
|
|
|
|
typedef struct tagUserVARIANT
|
|
{
|
|
wireVARIANT_BLOB pVarBlob;
|
|
} UserVARIANT;
|
|
}
|
|
|
|
|
|
/*****************************************************************************
|
|
* IFont interface
|
|
*/
|
|
[
|
|
object,
|
|
uuid(bef6e002-a874-101a-8bba-00aa00300cab),
|
|
pointer_default(unique)
|
|
]
|
|
interface IFont : IUnknown
|
|
{
|
|
typedef IFont *LPFONT;
|
|
typedef TEXTMETRICW TEXTMETRICOLE, *LPTEXTMETRICOLE;
|
|
|
|
[propget] HRESULT Name( [out] BSTR *pname);
|
|
[propput] HRESULT Name( [in] BSTR name );
|
|
[propget] HRESULT Size( [out] CY *psize );
|
|
[propput] HRESULT Size( [in] CY size );
|
|
[propget] HRESULT Bold( [out] BOOL *pbold );
|
|
[propput] HRESULT Bold( [in] BOOL bold );
|
|
[propget] HRESULT Italic( [out] BOOL *pitalic );
|
|
[propput] HRESULT Italic( [in] BOOL italic );
|
|
[propget] HRESULT Underline( [out] BOOL *punderline );
|
|
[propput] HRESULT Underline( [in] BOOL underline );
|
|
[propget] HRESULT Strikethrough( [out] BOOL *pstrikethrough );
|
|
[propput] HRESULT Strikethrough( [in] BOOL strikethrough );
|
|
[propget] HRESULT Weight( [out] SHORT *pweight );
|
|
[propput] HRESULT Weight( [in] SHORT weight );
|
|
[propget] HRESULT Charset( [out] SHORT *pcharset );
|
|
[propput] HRESULT Charset( [in] SHORT charset );
|
|
[propget] HRESULT 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 );
|
|
}
|
|
|
|
|
|
/*****************************************************************************
|
|
* IFontDisp interface
|
|
*/
|
|
[
|
|
object,
|
|
uuid(bef6e003-a874-101a-8bba-00aa00300cab),
|
|
pointer_default(unique)
|
|
]
|
|
interface IFontDisp : IDispatch
|
|
{
|
|
typedef IFontDisp *LPFONTDISP;
|
|
}
|
|
|
|
|
|
/*****************************************************************************
|
|
* IPicture interface
|
|
*/
|
|
[
|
|
object,
|
|
uuid(7bf80980-bf32-101a-8bbb-00aa00300cab),
|
|
pointer_default(unique)
|
|
]
|
|
interface IPicture : IUnknown
|
|
{
|
|
typedef IPicture *LPPICTURE;
|
|
|
|
typedef enum tagPicture
|
|
{
|
|
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;
|
|
|
|
[propget] HRESULT Handle( [out] OLE_HANDLE *pHandle );
|
|
[propget] HRESULT hPal( [out] OLE_HANDLE *phPal );
|
|
[propget] HRESULT Type( [out] SHORT *pType );
|
|
[propget] HRESULT Width( [out] OLE_XSIZE_HIMETRIC *pWidth );
|
|
[propget] HRESULT 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 );
|
|
|
|
[propget] HRESULT CurDC( [out] HDC *phDC );
|
|
|
|
HRESULT SelectPicture(
|
|
[in] HDC hDCIn,
|
|
[out] HDC * phDCOut,
|
|
[out] OLE_HANDLE * phBmpOut);
|
|
|
|
[propget] HRESULT KeepOriginalFormat( [out] BOOL *pKeep );
|
|
|
|
[propput] HRESULT KeepOriginalFormat( [in] BOOL keep );
|
|
|
|
HRESULT PictureChanged();
|
|
|
|
HRESULT SaveAsFile(
|
|
[in] LPSTREAM pStream,
|
|
[in] BOOL fSaveMemCopy,
|
|
[out] LONG *pCbSize);
|
|
|
|
[propget] HRESULT Attributes( [out] DWORD *pDwAttr );
|
|
}
|
|
|
|
|
|
/*****************************************************************************
|
|
* IPictureDisp interface
|
|
*/
|
|
[
|
|
object,
|
|
uuid(7bf80981-bf32-101a-8bbb-00aa00300cab),
|
|
pointer_default(unique)
|
|
]
|
|
interface IPictureDisp : IDispatch
|
|
{
|
|
typedef IPictureDisp *LPPICTUREDISP;
|
|
}
|
|
|
|
|
|
/*****************************************************************************
|
|
* IOleControl interface
|
|
*/
|
|
[
|
|
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, *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 );
|
|
}
|
|
|
|
|
|
/*****************************************************************************
|
|
* IOleControlSite interface
|
|
*/
|
|
[
|
|
object,
|
|
uuid(b196b289-bab4-101a-b69c-00aa00341d07),
|
|
pointer_default(unique)
|
|
]
|
|
interface IOleControlSite : IUnknown
|
|
{
|
|
typedef IOleControlSite *LPOLECONTROLSITE;
|
|
|
|
typedef struct tagPOINTF
|
|
{
|
|
FLOAT x;
|
|
FLOAT y;
|
|
} POINTF, *LPPOINTF;
|
|
|
|
typedef enum tagXFORMCOORDS
|
|
{
|
|
XFORMCOORDS_POSITION = 0x1,
|
|
XFORMCOORDS_SIZE = 0x2,
|
|
XFORMCOORDS_HIMETRICTOCONTAINER = 0x4,
|
|
XFORMCOORDS_CONTAINERTOHIMETRIC = 0x8,
|
|
XFORMCOORDS_EVENTCOMPAT = 0x10
|
|
} XFORMCOORDS;
|
|
|
|
HRESULT OnControlInfoChanged();
|
|
|
|
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();
|
|
}
|
|
|
|
|
|
/*****************************************************************************
|
|
* IOleInPlaceSiteEx interface
|
|
*/
|
|
[
|
|
object,
|
|
uuid(9c2cad80-3424-11cf-b670-00aa004cd6d8),
|
|
pointer_default(unique)
|
|
]
|
|
interface IOleInPlaceSiteEx : IOleInPlaceSite
|
|
{
|
|
typedef IOleInPlaceSiteEx *LPOLEINPLACESITEEX;
|
|
|
|
typedef enum tagACTIVATEFLAGS
|
|
{
|
|
ACTIVATE_WINDOWLESS = 1
|
|
} ACTIVATE_FLAGS;
|
|
|
|
HRESULT OnInPlaceActivateEx( [out] BOOL * pfNoRedraw, [in] DWORD dwFlags );
|
|
HRESULT OnInPlaceDeactivateEx( [in] BOOL fNoRedraw );
|
|
HRESULT RequestUIActivate();
|
|
}
|
|
|
|
|
|
/*****************************************************************************
|
|
* IOleInPlaceSiteWindowless interface
|
|
*/
|
|
[
|
|
local,
|
|
object,
|
|
uuid(922eada0-3424-11cf-b670-00aa004cd6d8),
|
|
pointer_default(unique)
|
|
]
|
|
interface IOleInPlaceSiteWindowless : IOleInPlaceSiteEx
|
|
{
|
|
typedef IOleInPlaceSiteWindowless *LPOLEINPLACESITEWINDOWLESS;
|
|
|
|
typedef enum tagOLEDCFLAGS
|
|
{
|
|
OLEDC_NODRAW = 0x1,
|
|
OLEDC_PAINTBKGND = 0x2,
|
|
OLEDC_OFFSCREEN = 0x4
|
|
} OLEDCFLAGS;
|
|
|
|
HRESULT CanWindowlessActivate();
|
|
|
|
HRESULT GetCapture();
|
|
|
|
HRESULT SetCapture( [in] BOOL fCapture );
|
|
|
|
HRESULT GetFocus();
|
|
|
|
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);
|
|
}
|
|
|
|
|
|
/*****************************************************************************
|
|
* IOleInPlaceObjectWindowless interface
|
|
*/
|
|
[
|
|
local,
|
|
object,
|
|
uuid(1c2056cc-5ef4-101b-8bc8-00aa003e3b29),
|
|
pointer_default(unique)
|
|
]
|
|
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 );
|
|
}
|
|
|
|
|
|
/*****************************************************************************
|
|
* IClassFactory2 interface
|
|
*/
|
|
[
|
|
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, *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);
|
|
}
|
|
|
|
|
|
/*****************************************************************************
|
|
* IViewObject interface
|
|
*/
|
|
[
|
|
local,
|
|
object,
|
|
uuid(3af24292-0c96-11ce-a0cf-00aa00600ab8),
|
|
pointer_default(unique)
|
|
]
|
|
interface IViewObjectEx : IViewObject2
|
|
{
|
|
typedef IViewObjectEx *LPVIEWOBJECTEX;
|
|
|
|
typedef enum tagVIEWSTATUS
|
|
{
|
|
VIEWSTATUS_OPAQUE = 1,
|
|
VIEWSTATUS_SOLIDBKGND = 2,
|
|
VIEWSTATUS_DVASPECTOPAQUE = 4,
|
|
VIEWSTATUS_DVASPECTTRANSPARENT = 8,
|
|
VIEWSTATUS_SURFACE = 16,
|
|
VIEWSTATUS_3DSURFACE = 32
|
|
} VIEWSTATUS;
|
|
|
|
typedef enum tagHITRESULT
|
|
{
|
|
HITRESULT_OUTSIDE = 0,
|
|
HITRESULT_TRANSPARENT = 1,
|
|
HITRESULT_CLOSE = 2,
|
|
HITRESULT_HIT = 3
|
|
} HITRESULT;
|
|
|
|
typedef enum tagDVASPECT2
|
|
{
|
|
DVASPECT_OPAQUE = 16,
|
|
DVASPECT_TRANSPARENT = 32
|
|
} DVASPECT2;
|
|
|
|
typedef struct tagExtentInfo
|
|
{
|
|
ULONG cb;
|
|
DWORD dwExtentMode;
|
|
SIZEL sizelProposed;
|
|
} DVEXTENTINFO;
|
|
|
|
typedef 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);
|
|
}
|
|
|
|
|
|
/*****************************************************************************
|
|
* IProvideClassInfo interface
|
|
*/
|
|
[
|
|
object,
|
|
uuid(b196b283-bab4-101a-b69c-00aa00341d07),
|
|
pointer_default(unique)
|
|
]
|
|
interface IProvideClassInfo : IUnknown
|
|
{
|
|
typedef IProvideClassInfo *LPPROVIDECLASSINFO;
|
|
|
|
cpp_quote("#ifdef __WINESRC__")
|
|
cpp_quote("#undef GetClassInfo")
|
|
cpp_quote("#endif")
|
|
|
|
HRESULT GetClassInfo( [out] ITypeInfo ** ppTI );
|
|
}
|
|
|
|
|
|
/*****************************************************************************
|
|
* IProvideClassInfo2 interface
|
|
*/
|
|
[
|
|
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 );
|
|
}
|
|
|
|
|
|
/*****************************************************************************
|
|
* IConnectionPoint interface
|
|
*/
|
|
interface IConnectionPointContainer; /* forward declarations */
|
|
interface IEnumConnections;
|
|
|
|
[
|
|
object,
|
|
uuid(b196b286-bab4-101a-b69c-00aa00341d07),
|
|
pointer_default(unique)
|
|
]
|
|
interface IConnectionPoint : IUnknown
|
|
{
|
|
typedef IConnectionPoint *PCONNECTIONPOINT, *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 );
|
|
}
|
|
|
|
|
|
/*****************************************************************************
|
|
* IConnectionPointContainer interface
|
|
*/
|
|
interface IEnumConnectionPoints; /* forward declaration */
|
|
[
|
|
object,
|
|
uuid(b196b284-bab4-101a-b69c-00aa00341d07),
|
|
pointer_default(unique)
|
|
]
|
|
interface IConnectionPointContainer : IUnknown
|
|
{
|
|
typedef IConnectionPointContainer *PCONNECTIONPOINTCONTAINER, *LPCONNECTIONPOINTCONTAINER;
|
|
|
|
HRESULT EnumConnectionPoints( [out] IEnumConnectionPoints **ppEnum );
|
|
HRESULT FindConnectionPoint( [in] REFIID riid, [out] IConnectionPoint **ppCP );
|
|
}
|
|
|
|
|
|
/*****************************************************************************
|
|
* IEnumConnections interface
|
|
*/
|
|
[
|
|
object,
|
|
uuid(b196b287-bab4-101a-b69c-00aa00341d07),
|
|
pointer_default(unique)
|
|
]
|
|
interface IEnumConnections : IUnknown
|
|
{
|
|
typedef IEnumConnections *PENUMCONNECTIONS, *LPENUMCONNECTIONS;
|
|
|
|
typedef struct tagCONNECTDATA
|
|
{
|
|
IUnknown *pUnk;
|
|
DWORD dwCookie;
|
|
} CONNECTDATA, *PCONNECTDATA, *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();
|
|
|
|
HRESULT Clone( [out] IEnumConnections **ppEnum );
|
|
}
|
|
|
|
|
|
/*****************************************************************************
|
|
* IEnumConnectionPoints interface
|
|
*/
|
|
[
|
|
object,
|
|
uuid(b196b285-bab4-101a-b69c-00aa00341d07),
|
|
pointer_default(unique)
|
|
]
|
|
interface IEnumConnectionPoints : IUnknown
|
|
{
|
|
typedef IEnumConnectionPoints *PENUMCONNECTIONPOINTS, *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();
|
|
|
|
HRESULT Clone( [out] IEnumConnectionPoints **ppEnum );
|
|
}
|
|
|
|
|
|
/*****************************************************************************
|
|
* IPropertyPage interface
|
|
*/
|
|
interface IPropertyPageSite; /* forward declaration */
|
|
[
|
|
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, *LPPROPPAGEINFO;
|
|
|
|
HRESULT SetPageSite( [in] IPropertyPageSite *pPageSite );
|
|
|
|
HRESULT Activate(
|
|
[in] HWND hWndParent,
|
|
[in] LPCRECT pRect,
|
|
[in] BOOL bModal);
|
|
|
|
HRESULT Deactivate();
|
|
|
|
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();
|
|
|
|
HRESULT Apply();
|
|
|
|
HRESULT Help( [in] LPCOLESTR pszHelpDir );
|
|
|
|
HRESULT TranslateAccelerator( [in] MSG *pMsg );
|
|
}
|
|
|
|
|
|
/*****************************************************************************
|
|
* IPropertyPage2 interface
|
|
*/
|
|
[
|
|
object,
|
|
uuid(01e44665-24ac-101b-84ed-08002b2ec713),
|
|
pointer_default(unique)
|
|
]
|
|
interface IPropertyPage2 : IPropertyPage
|
|
{
|
|
typedef IPropertyPage2 *LPPROPERTYPAGE2;
|
|
|
|
HRESULT EditProperty( [in] DISPID dispID );
|
|
}
|
|
|
|
|
|
/*****************************************************************************
|
|
* IPropertyPageSite interface
|
|
*/
|
|
[
|
|
object,
|
|
uuid(b196b28c-bab4-101a-b69c-00aa00341d07),
|
|
pointer_default(unique)
|
|
]
|
|
interface IPropertyPageSite : IUnknown
|
|
{
|
|
typedef IPropertyPageSite *LPPROPERTYPAGESITE;
|
|
|
|
typedef enum tagPROPPAGESTATUS
|
|
{
|
|
PROPPAGESTATUS_DIRTY = 0x1,
|
|
PROPPAGESTATUS_VALIDATE = 0x2,
|
|
PROPPAGESTATUS_CLEAN = 0x4
|
|
} PROPPAGESTATUS;
|
|
|
|
HRESULT OnStatusChange( [in] DWORD dwFlags );
|
|
HRESULT GetLocaleID( [out] LCID *pLocaleID );
|
|
HRESULT GetPageContainer( [out] IUnknown **ppUnk );
|
|
HRESULT TranslateAccelerator( [in] MSG *pMsg );
|
|
}
|
|
|
|
|
|
/*****************************************************************************
|
|
* IPropertyNotifySink interface
|
|
*/
|
|
[
|
|
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 );
|
|
}
|
|
|
|
|
|
/*****************************************************************************
|
|
* ISimpleFrameSite interface
|
|
*/
|
|
[
|
|
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);
|
|
}
|
|
|
|
|
|
/*****************************************************************************
|
|
* IPersistStreamInit interface
|
|
*/
|
|
[
|
|
object,
|
|
uuid(7fd52380-4e07-101b-ae2d-08002b2ec713),
|
|
pointer_default(unique)
|
|
]
|
|
interface IPersistStreamInit : IPersist
|
|
{
|
|
typedef IPersistStreamInit *LPPERSISTSTREAMINIT;
|
|
|
|
HRESULT IsDirty();
|
|
HRESULT Load( [in] LPSTREAM pStm );
|
|
HRESULT Save( [in] LPSTREAM pStm, [in] BOOL fClearDirty );
|
|
HRESULT GetSizeMax( [out] ULARGE_INTEGER *pcbSize );
|
|
HRESULT InitNew();
|
|
}
|
|
|
|
|
|
/*****************************************************************************
|
|
* IPersistMemory interface
|
|
*/
|
|
[
|
|
object,
|
|
uuid(bd1ae5e0-a6ae-11ce-bd37-504200c10000),
|
|
pointer_default(unique)
|
|
]
|
|
interface IPersistMemory : IPersist
|
|
{
|
|
typedef IPersistMemory *LPPERSISTMEMORY;
|
|
|
|
HRESULT IsDirty();
|
|
|
|
[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(
|
|
[out, size_is(cbSize)] LPVOID pMem,
|
|
[in] BOOL fClearDirty,
|
|
[in] ULONG cbSize);
|
|
|
|
[call_as(Save)]
|
|
HRESULT RemoteSave(
|
|
[out, size_is(cbSize)] BYTE *pMem,
|
|
[in] BOOL fClearDirty,
|
|
[in] ULONG cbSize);
|
|
|
|
HRESULT GetSizeMax( [out] ULONG *pCbSize );
|
|
HRESULT InitNew();
|
|
}
|
|
|
|
|
|
/*****************************************************************************
|
|
* IPersistPropertyBag interface
|
|
*/
|
|
[
|
|
object,
|
|
uuid(37d84f60-42cb-11ce-8135-00aa004bb851),
|
|
pointer_default(unique)
|
|
]
|
|
interface IPersistPropertyBag : IPersist
|
|
{
|
|
typedef IPersistPropertyBag *LPPERSISTPROPERTYBAG;
|
|
|
|
HRESULT InitNew();
|
|
|
|
HRESULT Load(
|
|
[in] IPropertyBag *pPropBag,
|
|
[in] IErrorLog *pErrorLog);
|
|
|
|
HRESULT Save(
|
|
[in] IPropertyBag *pPropBag,
|
|
[in] BOOL fClearDirty,
|
|
[in] BOOL fSaveAllProperties);
|
|
}
|
|
|
|
|
|
/*****************************************************************************
|
|
* IPropertyBag2 interface
|
|
*/
|
|
[
|
|
object,
|
|
uuid(22f55882-280b-11d0-a8a9-00a0c90c2004),
|
|
pointer_default(unique)
|
|
]
|
|
interface IPropertyBag2 : IUnknown
|
|
{
|
|
typedef IPropertyBag2 *LPPROPERTYBAG2;
|
|
|
|
typedef enum tagPROPBAG2_TYPE
|
|
{
|
|
PROPBAG2_TYPE_UNDEFINED = 0,
|
|
PROPBAG2_TYPE_DATA = 1,
|
|
PROPBAG2_TYPE_URL = 2,
|
|
PROPBAG2_TYPE_OBJECT = 3,
|
|
PROPBAG2_TYPE_STREAM = 4,
|
|
PROPBAG2_TYPE_STORAGE = 5,
|
|
PROPBAG2_TYPE_MONIKER = 6
|
|
} PROPBAG2_TYPE;
|
|
|
|
typedef struct tagPROPBAG2
|
|
{
|
|
DWORD dwType;
|
|
VARTYPE vt;
|
|
CLIPFORMAT cfType;
|
|
DWORD dwHint;
|
|
LPOLESTR pstrName;
|
|
CLSID clsid;
|
|
} PROPBAG2;
|
|
|
|
HRESULT Read(
|
|
[in] ULONG cProperties,
|
|
[in] PROPBAG2 *pPropBag,
|
|
[in] IErrorLog *pErrLog,
|
|
[out] VARIANT *pvarValue,
|
|
[out] HRESULT *phrError);
|
|
|
|
HRESULT Write(
|
|
[in] ULONG cProperties,
|
|
[in] PROPBAG2 *pPropBag,
|
|
[in] VARIANT *pvarValue);
|
|
|
|
HRESULT CountProperties(
|
|
[out] ULONG *pcProperties );
|
|
|
|
HRESULT GetPropertyInfo(
|
|
[in] ULONG iProperty,
|
|
[in] ULONG cProperties,
|
|
[out] PROPBAG2 *pPropBag,
|
|
[out] ULONG *pcProperties);
|
|
|
|
HRESULT LoadObject(
|
|
[in] LPCOLESTR pstrName,
|
|
[in] DWORD dwHint,
|
|
[in] IUnknown *pUnkObject,
|
|
[in] IErrorLog *pErrLog);
|
|
}
|
|
|
|
|
|
/*****************************************************************************
|
|
* IPersistPropertyBag2 interface
|
|
*/
|
|
[
|
|
object,
|
|
uuid(22f55881-280b-11d0-a8a9-00a0c90c2004),
|
|
pointer_default(unique)
|
|
]
|
|
interface IPersistPropertyBag2 : IPersist
|
|
{
|
|
typedef IPersistPropertyBag2 *LPPERSISTPROPERTYBAG2;
|
|
|
|
HRESULT InitNew();
|
|
|
|
HRESULT Load(
|
|
[in] IPropertyBag2 *pPropBag,
|
|
[in] IErrorLog *pErrorLog);
|
|
|
|
HRESULT Save(
|
|
[in] IPropertyBag2 *pPropBag,
|
|
[in] BOOL fClearDirty,
|
|
[in] BOOL fSaveAllProperties);
|
|
|
|
HRESULT IsDirty();
|
|
}
|
|
|
|
|
|
/*****************************************************************************
|
|
* ISpecifyPropertyPages interface
|
|
*/
|
|
[
|
|
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, *LPCAUUID;
|
|
|
|
HRESULT GetPages( [out] CAUUID *pPages );
|
|
}
|
|
|
|
|
|
/*****************************************************************************
|
|
* IPerPropertyBrowsing interface
|
|
*/
|
|
[
|
|
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, *LPCALPOLESTR;
|
|
|
|
typedef struct tagCADWORD
|
|
{
|
|
ULONG cElems;
|
|
[size_is(cElems)] DWORD *pElems;
|
|
} CADWORD, *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);
|
|
}
|
|
|
|
|
|
/*****************************************************************************
|
|
* IAdviseSinkEx interface
|
|
*/
|
|
[
|
|
object,
|
|
uuid(3af24290-0c96-11ce-a0cf-00aa00600ab8),
|
|
pointer_default(unique)
|
|
]
|
|
interface IAdviseSinkEx : IAdviseSink
|
|
{
|
|
typedef IAdviseSinkEx *LPADVISESINKEX;
|
|
|
|
[local]
|
|
void OnViewStatusChange( [in] DWORD dwViewStatus );
|
|
|
|
[call_as(OnViewStatusChange)]
|
|
HRESULT RemoteOnViewStatusChange( [in] DWORD dwViewStatus );
|
|
}
|
|
|
|
|
|
/*****************************************************************************
|
|
* IPointerInactive interface
|
|
*/
|
|
[
|
|
object,
|
|
uuid(55980ba0-35aa-11cf-b671-00aa004cd6d8),
|
|
pointer_default(unique)
|
|
]
|
|
interface IPointerInactive : IUnknown
|
|
{
|
|
typedef IPointerInactive *LPPOINTERINACTIVE;
|
|
|
|
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);
|
|
}
|
|
|
|
|
|
/*****************************************************************************
|
|
* IObjectWithSite interface
|
|
*/
|
|
[
|
|
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)] PVOID *ppvSite);
|
|
}
|
|
|
|
|
|
/*****************************************************************************
|
|
* IOleUndoUnit interface
|
|
*/
|
|
interface IOleUndoManager; /* forward declaration */
|
|
[
|
|
object,
|
|
uuid(894ad3b0-ef97-11ce-9bc9-00aa00608e01),
|
|
pointer_default(unique)
|
|
]
|
|
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();
|
|
}
|
|
|
|
|
|
/*****************************************************************************
|
|
* IOleParentUndoUnit interface
|
|
*/
|
|
[
|
|
object,
|
|
uuid(a1faf330-ef97-11ce-9bc9-00aa00608e01),
|
|
pointer_default(unique)
|
|
]
|
|
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 );
|
|
}
|
|
|
|
|
|
/*****************************************************************************
|
|
* IEnumOleUndoUnits interface
|
|
*/
|
|
[
|
|
object,
|
|
uuid(b3e7c340-ef97-11ce-9bc9-00aa00608e01),
|
|
pointer_default(unique)
|
|
]
|
|
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();
|
|
|
|
HRESULT Clone( [out] IEnumOleUndoUnits **ppEnum );
|
|
}
|
|
|
|
|
|
/*****************************************************************************
|
|
* IOleUndoManager interface
|
|
*/
|
|
[
|
|
object,
|
|
uuid(d001f200-ef97-11ce-9bc9-00aa00608e01),
|
|
pointer_default(unique)
|
|
]
|
|
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 );
|
|
}
|
|
|
|
|
|
/*****************************************************************************
|
|
* IQuickActivate interface
|
|
*/
|
|
[
|
|
object,
|
|
uuid(cf51ed10-62fe-11cf-bf86-00a0c9034836),
|
|
pointer_default(unique)
|
|
]
|
|
interface IQuickActivate : IUnknown
|
|
{
|
|
typedef IQuickActivate *LPQUICKACTIVATE;
|
|
|
|
typedef enum tagQACONTAINERFLAGS
|
|
{
|
|
QACONTAINER_SHOWHATCHING = 0x1,
|
|
QACONTAINER_SHOWGRABHANDLES = 0x2,
|
|
QACONTAINER_USERMODE = 0x4,
|
|
QACONTAINER_DISPLAYASDEFAULT = 0x8,
|
|
QACONTAINER_UIDEAD = 0x10,
|
|
QACONTAINER_AUTOCLIP = 0x20,
|
|
QACONTAINER_MESSAGEREFLECT = 0x40,
|
|
QACONTAINER_SUPPORTSMNEMONICS = 0x80
|
|
} 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;
|
|
IBindHost *pBindHost;
|
|
IOleControlSite *pOleControlSite;
|
|
IServiceProvider *pServiceProvider;
|
|
} QACONTAINER;
|
|
|
|
typedef struct tagQACONTROL
|
|
{
|
|
ULONG cbSize;
|
|
DWORD dwMiscStatus;
|
|
DWORD dwViewStatus;
|
|
DWORD dwEventCookie;
|
|
DWORD dwPropNotifyCookie;
|
|
DWORD dwPointerActivationPolicy;
|
|
} QACONTROL;
|
|
|
|
[local]
|
|
HRESULT QuickActivate(
|
|
[in] QACONTAINER *pQaContainer,
|
|
[in,out] QACONTROL *pQaControl);
|
|
|
|
[call_as(QuickActivate)]
|
|
HRESULT RemoteQuickActivate(
|
|
[in] QACONTAINER *pQaContainer,
|
|
[out] QACONTROL *pQaControl);
|
|
|
|
HRESULT SetContentExtent( [in] LPSIZEL pSizel );
|
|
|
|
HRESULT GetContentExtent( [out] LPSIZEL pSizel );
|
|
}
|