ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

ocidl.idl
Go to the documentation of this file.
00001 /*
00002  * Copyright (C) 1999 Paul Quinn
00003  * Copyright (C) 1999 Francis Beaudet
00004  * Copyright (C) 2003 Alexandre Julliard
00005  *
00006  * This library is free software; you can redistribute it and/or
00007  * modify it under the terms of the GNU Lesser General Public
00008  * License as published by the Free Software Foundation; either
00009  * version 2.1 of the License, or (at your option) any later version.
00010  *
00011  * This library is distributed in the hope that it will be useful,
00012  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00013  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00014  * Lesser General Public License for more details.
00015  *
00016  * You should have received a copy of the GNU Lesser General Public
00017  * License along with this library; if not, write to the Free Software
00018  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
00019  */
00020 
00021 #ifndef DO_NO_IMPORTS
00022 import "oleidl.idl";
00023 import "oaidl.idl";
00024 import "servprov.idl";
00025 import "urlmon.idl";
00026 #endif
00027 
00028 /*****************************************************************************
00029  * IOleControlTypes interface
00030  */
00031 [
00032     pointer_default(unique)
00033 ]
00034 interface IOleControlTypes
00035 {
00036     typedef [v1_enum] enum tagUASFLAGS
00037     {
00038         UAS_NORMAL       = 0x0,
00039         UAS_BLOCKED      = 0x1,
00040         UAS_NOPARENTABLE = 0x2,
00041         UAS_MASK         = 0x3
00042     } UASFLAGS;
00043 
00044     typedef enum tagREADYSTATE
00045     {
00046         READYSTATE_UNINITIALIZED  = 0,
00047         READYSTATE_LOADING  = 1,
00048         READYSTATE_LOADED = 2,
00049         READYSTATE_INTERACTIVE  = 3,
00050         READYSTATE_COMPLETE = 4
00051     } READYSTATE;
00052 
00053     typedef struct tagVARIANT_BLOB
00054     {
00055         DWORD clSize;
00056         DWORD rpcReserved;
00057         [size_is(clSize-1)] ULONGLONG ahData[];
00058     } wireVARIANT_BLOB;
00059 
00060     typedef struct tagUserVARIANT
00061     {
00062       wireVARIANT_BLOB pVarBlob;
00063     } UserVARIANT;
00064 }
00065 
00066 
00067 /*****************************************************************************
00068  * IFont interface
00069  */
00070 [
00071     object,
00072     uuid(bef6e002-a874-101a-8bba-00aa00300cab),
00073     pointer_default(unique)
00074 ]
00075 interface IFont : IUnknown
00076 {
00077     typedef IFont *LPFONT;
00078     typedef TEXTMETRICW TEXTMETRICOLE, *LPTEXTMETRICOLE;
00079 
00080     [propget] HRESULT Name( [out] BSTR *pname);
00081     [propput] HRESULT Name( [in] BSTR name );
00082     [propget] HRESULT Size( [out] CY *psize );
00083     [propput] HRESULT Size( [in] CY size );
00084     [propget] HRESULT Bold( [out] BOOL *pbold );
00085     [propput] HRESULT Bold( [in] BOOL bold );
00086     [propget] HRESULT Italic( [out] BOOL *pitalic );
00087     [propput] HRESULT Italic( [in] BOOL italic );
00088     [propget] HRESULT Underline( [out] BOOL *punderline );
00089     [propput] HRESULT Underline( [in] BOOL underline );
00090     [propget] HRESULT Strikethrough( [out] BOOL *pstrikethrough );
00091     [propput] HRESULT Strikethrough( [in] BOOL strikethrough );
00092     [propget] HRESULT Weight( [out] SHORT *pweight );
00093     [propput] HRESULT Weight( [in] SHORT weight );
00094     [propget] HRESULT Charset( [out] SHORT *pcharset );
00095     [propput] HRESULT Charset( [in] SHORT charset );
00096     [propget] HRESULT hFont( [out] HFONT *phfont );
00097     HRESULT Clone( [out] IFont **ppfont );
00098     HRESULT IsEqual( [in] IFont *pFontOther );
00099     HRESULT SetRatio( [in] LONG cyLogical, [in] LONG cyHimetric );
00100     HRESULT QueryTextMetrics( [out] TEXTMETRICOLE * ptm );
00101     HRESULT AddRefHfont( [in] HFONT hfont );
00102     HRESULT ReleaseHfont( [in] HFONT hfont );
00103     HRESULT SetHdc( [in] HDC hdc );
00104 }
00105 
00106 
00107 /*****************************************************************************
00108  * IFontDisp interface
00109  */
00110 [
00111     object,
00112     uuid(bef6e003-a874-101a-8bba-00aa00300cab),
00113     pointer_default(unique)
00114 ]
00115 interface IFontDisp : IDispatch
00116 {
00117     typedef IFontDisp *LPFONTDISP;
00118 }
00119 
00120 
00121 /*****************************************************************************
00122  * IFontEventsDisp interface
00123  */
00124 [
00125     object,
00126     uuid(4ef6100a-af88-11d0-9846-00c04fc29993),
00127     pointer_default(unique)
00128 ]
00129 interface IFontEventsDisp : IDispatch
00130 {
00131     typedef IFontEventsDisp *LPFONTEVENTS;
00132 }
00133 
00134 
00135 /*****************************************************************************
00136  * IPicture interface
00137  */
00138 [
00139     object,
00140     uuid(7bf80980-bf32-101a-8bbb-00aa00300cab),
00141     pointer_default(unique)
00142 ]
00143 interface IPicture : IUnknown
00144 {
00145     typedef IPicture *LPPICTURE;
00146 
00147     typedef enum tagPicture
00148     {
00149         PICTURE_SCALABLE = 0x1,
00150         PICTURE_TRANSPARENT = 0x2
00151     } PICTUREATTRIBUTES;
00152 
00153     typedef UINT OLE_HANDLE;
00154     typedef LONG OLE_XPOS_HIMETRIC;
00155     typedef LONG OLE_YPOS_HIMETRIC;
00156     typedef LONG OLE_XSIZE_HIMETRIC;
00157     typedef LONG OLE_YSIZE_HIMETRIC;
00158 
00159     [propget] HRESULT Handle( [out] OLE_HANDLE *pHandle );
00160     [propget] HRESULT hPal( [out] OLE_HANDLE *phPal );
00161     [propget] HRESULT Type( [out] SHORT *pType );
00162     [propget] HRESULT Width( [out] OLE_XSIZE_HIMETRIC *pWidth );
00163     [propget] HRESULT Height( [out] OLE_YSIZE_HIMETRIC *pHeight );
00164 
00165     HRESULT Render(
00166         [in] HDC hdc,
00167         [in] LONG x,
00168         [in] LONG y,
00169         [in] LONG cx,
00170         [in] LONG cy,
00171         [in] OLE_XPOS_HIMETRIC xSrc,
00172         [in] OLE_YPOS_HIMETRIC ySrc,
00173         [in] OLE_XSIZE_HIMETRIC cxSrc,
00174         [in] OLE_YSIZE_HIMETRIC cySrc,
00175         [in] LPCRECT pRcWBounds);
00176 
00177     HRESULT set_hPal( [in] OLE_HANDLE hPal );
00178 
00179     [propget] HRESULT CurDC( [out] HDC *phDC );
00180 
00181     HRESULT SelectPicture(
00182         [in] HDC hDCIn,
00183         [out] HDC * phDCOut,
00184         [out] OLE_HANDLE * phBmpOut);
00185 
00186     [propget] HRESULT KeepOriginalFormat( [out] BOOL *pKeep );
00187 
00188     [propput] HRESULT KeepOriginalFormat( [in] BOOL keep );
00189 
00190     HRESULT PictureChanged();
00191 
00192     HRESULT SaveAsFile(
00193         [in] LPSTREAM pStream,
00194         [in] BOOL fSaveMemCopy,
00195         [out] LONG *pCbSize);
00196 
00197     [propget] HRESULT Attributes( [out] DWORD *pDwAttr );
00198 }
00199 
00200 
00201 /*****************************************************************************
00202  * IPictureDisp interface
00203  */
00204 [
00205     object,
00206     uuid(7bf80981-bf32-101a-8bbb-00aa00300cab),
00207     pointer_default(unique)
00208 ]
00209 interface IPictureDisp : IDispatch
00210 {
00211     typedef IPictureDisp *LPPICTUREDISP;
00212 }
00213 
00214 
00215 /*****************************************************************************
00216  * IOleControl interface
00217  */
00218 [
00219     object,
00220     uuid(b196b288-bab4-101a-b69c-00aa00341d07),
00221     pointer_default(unique)
00222 ]
00223 
00224 interface IOleControl : IUnknown
00225 {
00226     typedef IOleControl *LPOLECONTROL;
00227 
00228     typedef struct tagCONTROLINFO
00229     {
00230         ULONG cb;
00231         HACCEL hAccel;
00232         USHORT cAccel;
00233         DWORD dwFlags;
00234     } CONTROLINFO, *LPCONTROLINFO;
00235 
00236     typedef enum tagCTRLINFO
00237     {
00238         CTRLINFO_EATS_RETURN = 1,
00239         CTRLINFO_EATS_ESCAPE = 2
00240     } CTRLINFO;
00241 
00242     HRESULT GetControlInfo( [out] CONTROLINFO *pCI );
00243     HRESULT OnMnemonic( [in] MSG *pMsg );
00244     HRESULT OnAmbientPropertyChange( [in] DISPID dispID );
00245     HRESULT FreezeEvents( [in] BOOL bFreeze );
00246 }
00247 
00248 
00249 /*****************************************************************************
00250  * IOleControlSite interface
00251  */
00252 [
00253     object,
00254     uuid(b196b289-bab4-101a-b69c-00aa00341d07),
00255     pointer_default(unique)
00256 ]
00257 interface IOleControlSite : IUnknown
00258 {
00259     typedef IOleControlSite *LPOLECONTROLSITE;
00260 
00261     typedef struct tagPOINTF
00262     {
00263         FLOAT x;
00264         FLOAT y;
00265     } POINTF, *LPPOINTF;
00266 
00267     typedef enum tagXFORMCOORDS
00268     {
00269     XFORMCOORDS_POSITION = 0x1,
00270     XFORMCOORDS_SIZE = 0x2,
00271     XFORMCOORDS_HIMETRICTOCONTAINER = 0x4,
00272     XFORMCOORDS_CONTAINERTOHIMETRIC = 0x8,
00273         XFORMCOORDS_EVENTCOMPAT = 0x10
00274     } XFORMCOORDS;
00275 
00276     HRESULT OnControlInfoChanged();
00277 
00278     HRESULT LockInPlaceActive( [in] BOOL fLock );
00279 
00280     HRESULT GetExtendedControl( [out] IDispatch ** ppDisp );
00281 
00282     HRESULT TransformCoords(
00283         [in, out] POINTL *pPtlHimetric,
00284         [in, out] POINTF *pPtfContainer,
00285         [in] DWORD dwFlags);
00286 
00287     HRESULT TranslateAccelerator( [in] MSG *pMsg, [in] DWORD grfModifiers );
00288 
00289     HRESULT OnFocus( [in] BOOL fGotFocus );
00290 
00291     HRESULT ShowPropertyFrame();
00292 }
00293 
00294 
00295 /*****************************************************************************
00296  * IOleInPlaceSiteEx interface
00297  */
00298 [
00299     object,
00300     uuid(9c2cad80-3424-11cf-b670-00aa004cd6d8),
00301     pointer_default(unique)
00302 ]
00303 interface IOleInPlaceSiteEx : IOleInPlaceSite
00304 {
00305     typedef IOleInPlaceSiteEx *LPOLEINPLACESITEEX;
00306 
00307     typedef enum tagACTIVATEFLAGS
00308     {
00309         ACTIVATE_WINDOWLESS = 1
00310     } ACTIVATE_FLAGS;
00311 
00312     HRESULT OnInPlaceActivateEx( [out] BOOL * pfNoRedraw, [in] DWORD dwFlags );
00313     HRESULT OnInPlaceDeactivateEx( [in] BOOL fNoRedraw );
00314     HRESULT RequestUIActivate();
00315 }
00316 
00317 
00318 /*****************************************************************************
00319  * IOleInPlaceSiteWindowless interface
00320  */
00321 [
00322     local,
00323     object,
00324     uuid(922eada0-3424-11cf-b670-00aa004cd6d8),
00325     pointer_default(unique)
00326 ]
00327 interface IOleInPlaceSiteWindowless : IOleInPlaceSiteEx
00328 {
00329     typedef IOleInPlaceSiteWindowless *LPOLEINPLACESITEWINDOWLESS;
00330 
00331     typedef enum tagOLEDCFLAGS
00332     {
00333         OLEDC_NODRAW = 0x1,
00334         OLEDC_PAINTBKGND = 0x2,
00335         OLEDC_OFFSCREEN = 0x4
00336     } OLEDCFLAGS;
00337 
00338     HRESULT CanWindowlessActivate();
00339 
00340     HRESULT GetCapture();
00341 
00342     HRESULT SetCapture( [in] BOOL fCapture );
00343 
00344     HRESULT GetFocus();
00345 
00346     HRESULT SetFocus( [in] BOOL fFocus );
00347 
00348     HRESULT GetDC(
00349         [in] LPCRECT pRect,
00350         [in] DWORD grfFlags,
00351         [out] HDC *phDC);
00352 
00353     HRESULT ReleaseDC( [in] HDC hDC );
00354 
00355     HRESULT InvalidateRect(
00356         [in] LPCRECT pRect,
00357         [in] BOOL fErase);
00358 
00359     HRESULT InvalidateRgn(
00360         [in] HRGN hRGN,
00361         [in] BOOL fErase);
00362 
00363     HRESULT ScrollRect(
00364         [in] INT dx,
00365         [in] INT dy,
00366         [in] LPCRECT pRectScroll,
00367         [in] LPCRECT pRectClip);
00368 
00369     HRESULT AdjustRect( [in, out] LPRECT prc );
00370 
00371     HRESULT OnDefWindowMessage(
00372         [in] UINT msg,
00373         [in] WPARAM wParam,
00374         [in] LPARAM lParam,
00375         [out] LRESULT *plResult);
00376 }
00377 
00378 
00379 /*****************************************************************************
00380  * IOleInPlaceObjectWindowless interface
00381  */
00382 [
00383     local,
00384     object,
00385     uuid(1c2056cc-5ef4-101b-8bc8-00aa003e3b29),
00386     pointer_default(unique)
00387 ]
00388 interface IOleInPlaceObjectWindowless : IOleInPlaceObject
00389 {
00390     typedef IOleInPlaceObjectWindowless *LPOLEINPLACEOBJECTWINDOWLESS;
00391 
00392     HRESULT OnWindowMessage(
00393         [in] UINT msg,
00394         [in] WPARAM wParam,
00395         [in] LPARAM lParam,
00396         [out] LRESULT *plResult);
00397 
00398     HRESULT GetDropTarget( [out] IDropTarget **ppDropTarget );
00399 }
00400 
00401 
00402 /*****************************************************************************
00403  * IClassFactory2 interface
00404  */
00405 [
00406     object,
00407     uuid(b196b28f-bab4-101a-b69c-00aa00341d07),
00408     pointer_default(unique)
00409 ]
00410 interface IClassFactory2 : IClassFactory
00411 {
00412     typedef IClassFactory2 *LPCLASSFACTORY2;
00413 
00414     typedef struct tagLICINFO
00415     {
00416         LONG cbLicInfo;
00417         BOOL fRuntimeKeyAvail;
00418         BOOL fLicVerified;
00419     } LICINFO, *LPLICINFO;
00420 
00421     HRESULT GetLicInfo( [out] LICINFO *pLicInfo );
00422 
00423     HRESULT RequestLicKey(
00424         [in] DWORD dwReserved,
00425         [out] BSTR *pBstrKey);
00426 
00427     [local]
00428     HRESULT CreateInstanceLic(
00429         [in] IUnknown *pUnkOuter,
00430         [in] IUnknown *pUnkReserved,
00431         [in] REFIID riid,
00432         [in] BSTR bstrKey,
00433         [out, iid_is(riid)] PVOID *ppvObj);
00434 
00435     [call_as(CreateInstanceLic)]
00436     HRESULT RemoteCreateInstanceLic(
00437         [in] REFIID riid,
00438         [in] BSTR bstrKey,
00439         [out, iid_is(riid)] IUnknown **ppvObj);
00440 }
00441 
00442 
00443 /*****************************************************************************
00444  * IViewObject interface
00445  */
00446 [
00447     local,
00448     object,
00449     uuid(3af24292-0c96-11ce-a0cf-00aa00600ab8),
00450     pointer_default(unique)
00451 ]
00452 interface IViewObjectEx : IViewObject2
00453 {
00454     typedef IViewObjectEx *LPVIEWOBJECTEX;
00455 
00456     typedef enum tagVIEWSTATUS
00457     {
00458         VIEWSTATUS_OPAQUE = 1,
00459         VIEWSTATUS_SOLIDBKGND = 2,
00460         VIEWSTATUS_DVASPECTOPAQUE = 4,
00461         VIEWSTATUS_DVASPECTTRANSPARENT = 8,
00462         VIEWSTATUS_SURFACE = 16,
00463         VIEWSTATUS_3DSURFACE = 32
00464     } VIEWSTATUS;
00465 
00466     typedef enum tagHITRESULT
00467     {
00468         HITRESULT_OUTSIDE = 0,
00469         HITRESULT_TRANSPARENT = 1,
00470         HITRESULT_CLOSE = 2,
00471         HITRESULT_HIT = 3
00472     } HITRESULT;
00473 
00474     typedef enum tagDVASPECT2
00475     {
00476         DVASPECT_OPAQUE = 16,
00477         DVASPECT_TRANSPARENT = 32
00478     } DVASPECT2;
00479 
00480     typedef struct tagExtentInfo
00481     {
00482         ULONG cb;
00483         DWORD dwExtentMode;
00484         SIZEL sizelProposed;
00485     } DVEXTENTINFO;
00486 
00487     typedef enum tagAspectInfoFlag
00488     {
00489         DVASPECTINFOFLAG_CANOPTIMIZE = 1
00490     } DVASPECTINFOFLAG;
00491 
00492     typedef struct tagAspectInfo
00493     {
00494         ULONG cb;
00495         DWORD dwFlags;
00496     } DVASPECTINFO;
00497 
00498     HRESULT GetRect(
00499         [in] DWORD dwAspect,
00500         [out] LPRECTL pRect);
00501 
00502     HRESULT GetViewStatus( [out] DWORD *pdwStatus );
00503 
00504     HRESULT QueryHitPoint(
00505         [in] DWORD dwAspect,
00506         [in] LPCRECT pRectBounds,
00507         [in] POINT ptlLoc,
00508         [in] LONG lCloseHint,
00509         [out] DWORD *pHitResult);
00510 
00511     HRESULT QueryHitRect(
00512         [in] DWORD dwAspect,
00513         [in] LPCRECT pRectBounds,
00514         [in] LPCRECT pRectLoc,
00515         [in] LONG lCloseHint,
00516         [out] DWORD *pHitResult);
00517 
00518     HRESULT GetNaturalExtent (
00519         [in] DWORD dwAspect,
00520         [in] LONG lindex,
00521         [in] DVTARGETDEVICE *ptd,
00522         [in] HDC hicTargetDev,
00523         [in] DVEXTENTINFO *pExtentInfo,
00524         [out] LPSIZEL pSizel);
00525 }
00526 
00527 
00528 /*****************************************************************************
00529  * IProvideClassInfo interface
00530  */
00531 [
00532     object,
00533     uuid(b196b283-bab4-101a-b69c-00aa00341d07),
00534     pointer_default(unique)
00535 ]
00536 interface IProvideClassInfo : IUnknown
00537 {
00538     typedef IProvideClassInfo *LPPROVIDECLASSINFO;
00539 
00540 cpp_quote("#ifdef WINE_NO_UNICODE_MACROS")
00541 cpp_quote("#undef GetClassInfo")
00542 cpp_quote("#endif")
00543 
00544     HRESULT GetClassInfo( [out] ITypeInfo ** ppTI );
00545 }
00546 
00547 
00548 /*****************************************************************************
00549  * IProvideClassInfo2 interface
00550  */
00551 [
00552     object,
00553     uuid(a6bc3ac0-dbaa-11ce-9de3-00aa004bb851),
00554     pointer_default(unique)
00555 ]
00556 interface IProvideClassInfo2 : IProvideClassInfo
00557 {
00558     typedef IProvideClassInfo2 *LPPROVIDECLASSINFO2;
00559 
00560     typedef enum tagGUIDKIND
00561     {
00562         GUIDKIND_DEFAULT_SOURCE_DISP_IID = 1
00563     } GUIDKIND;
00564 
00565     HRESULT GetGUID(
00566         [in]  DWORD dwGuidKind,
00567         [out] GUID *pGUID );
00568 }
00569 
00570 
00571 [
00572     object,
00573     uuid(a7aba9c1-8983-11cf-8f20-00805f2cd064),
00574     pointer_default(unique)
00575 ]
00576 interface IProvideMultipleClassInfo : IProvideClassInfo2
00577 {
00578     cpp_quote("#define MULTICLASSINFO_GETTYPEINFO           0x00000001")
00579     cpp_quote("#define MULTICLASSINFO_GETNUMRESERVEDDISPIDS 0x00000002")
00580     cpp_quote("#define MULTICLASSINFO_GETIIDPRIMARY         0x00000004")
00581     cpp_quote("#define MULTICLASSINFO_GETIIDSOURCE          0x00000008")
00582 
00583     cpp_quote("#define TIFLAGS_EXTENDDISPATCHONLY           0x00000001")
00584 
00585     typedef IProvideMultipleClassInfo *LPPROVIDEMULTIPLECLASSINFO;
00586 
00587     HRESULT GetMultiTypeInfoCount( 
00588         [out] ULONG *pcti);
00589 
00590     HRESULT GetInfoOfIndex( 
00591         [in] ULONG iti,
00592         [in] DWORD dwFlags,
00593         [out] ITypeInfo **pptiCoClass,
00594         [out] DWORD *pdwTIFlags,
00595         [out] ULONG *pcdispidReserved,
00596         [out] IID *piidPrimary,
00597         [out] IID *piidSource);
00598 }
00599 
00600 
00601 /*****************************************************************************
00602  * IConnectionPoint interface
00603  */
00604 interface IConnectionPointContainer; /* forward declarations */
00605 interface IEnumConnections;
00606 
00607 [
00608     object,
00609     uuid(b196b286-bab4-101a-b69c-00aa00341d07),
00610     pointer_default(unique)
00611 ]
00612 interface IConnectionPoint : IUnknown
00613 {
00614     typedef IConnectionPoint *PCONNECTIONPOINT, *LPCONNECTIONPOINT;
00615 
00616     HRESULT GetConnectionInterface( [out] IID *pIID );
00617     HRESULT GetConnectionPointContainer( [out] IConnectionPointContainer **ppCPC );
00618     HRESULT Advise( [in] IUnknown *pUnkSink, [out] DWORD *pdwCookie );
00619     HRESULT Unadvise( [in] DWORD dwCookie );
00620     HRESULT EnumConnections( [out] IEnumConnections **ppEnum );
00621 }
00622 
00623 
00624 /*****************************************************************************
00625  * IConnectionPointContainer interface
00626  */
00627 interface IEnumConnectionPoints; /* forward declaration */
00628 [
00629     object,
00630     uuid(b196b284-bab4-101a-b69c-00aa00341d07),
00631     pointer_default(unique)
00632 ]
00633 interface IConnectionPointContainer : IUnknown
00634 {
00635     typedef IConnectionPointContainer *PCONNECTIONPOINTCONTAINER, *LPCONNECTIONPOINTCONTAINER;
00636 
00637     HRESULT EnumConnectionPoints( [out] IEnumConnectionPoints **ppEnum );
00638     HRESULT FindConnectionPoint( [in] REFIID riid, [out] IConnectionPoint **ppCP );
00639 }
00640 
00641 
00642 /*****************************************************************************
00643  * IEnumConnections interface
00644  */
00645 [
00646     object,
00647     uuid(b196b287-bab4-101a-b69c-00aa00341d07),
00648     pointer_default(unique)
00649 ]
00650 interface IEnumConnections : IUnknown
00651 {
00652     typedef IEnumConnections *PENUMCONNECTIONS, *LPENUMCONNECTIONS;
00653 
00654     typedef struct tagCONNECTDATA
00655     {
00656         IUnknown *pUnk;
00657         DWORD dwCookie;
00658     } CONNECTDATA, *PCONNECTDATA, *LPCONNECTDATA;
00659 
00660     [local]
00661     HRESULT Next(
00662         [in] ULONG cConnections,
00663         [out, size_is(cConnections), length_is(*pcFetched)] LPCONNECTDATA rgcd,
00664         [out] ULONG *pcFetched);
00665 
00666     [call_as(Next)]
00667     HRESULT RemoteNext(
00668         [in] ULONG cConnections,
00669         [out, size_is(cConnections), length_is(*pcFetched)] LPCONNECTDATA rgcd,
00670         [out] ULONG *pcFetched);
00671 
00672     HRESULT Skip( [in] ULONG cConnections );
00673 
00674     HRESULT Reset();
00675 
00676     HRESULT Clone( [out] IEnumConnections **ppEnum );
00677 }
00678 
00679 
00680 /*****************************************************************************
00681  * IEnumConnectionPoints interface
00682  */
00683 [
00684     object,
00685     uuid(b196b285-bab4-101a-b69c-00aa00341d07),
00686     pointer_default(unique)
00687 ]
00688 interface IEnumConnectionPoints : IUnknown
00689 {
00690     typedef IEnumConnectionPoints *PENUMCONNECTIONPOINTS, *LPENUMCONNECTIONPOINTS;
00691 
00692     [local]
00693     HRESULT Next(
00694         [in] ULONG cConnections,
00695         [out, size_is(cConnections), length_is(*pcFetched)] LPCONNECTIONPOINT *ppCP,
00696         [out] ULONG *pcFetched);
00697 
00698     [call_as(Next)]
00699     HRESULT RemoteNext(
00700         [in] ULONG cConnections,
00701         [out, size_is(cConnections), length_is(*pcFetched)] LPCONNECTIONPOINT *ppCP,
00702         [out] ULONG *pcFetched);
00703 
00704     HRESULT Skip( [in] ULONG cConnections );
00705 
00706     HRESULT Reset();
00707 
00708     HRESULT Clone( [out] IEnumConnectionPoints **ppEnum );
00709 }
00710 
00711 
00712 /*****************************************************************************
00713  * IPropertyPage interface
00714  */
00715 interface IPropertyPageSite;  /* forward declaration */
00716 [
00717     object,
00718     uuid(b196b28d-bab4-101a-b69c-00aa00341d07),
00719     pointer_default(unique)
00720 ]
00721 interface IPropertyPage : IUnknown
00722 {
00723     typedef IPropertyPage *LPPROPERTYPAGE;
00724 
00725     typedef struct tagPROPPAGEINFO
00726     {
00727         ULONG cb;
00728         LPOLESTR pszTitle;
00729         SIZE size;
00730         LPOLESTR pszDocString;
00731         LPOLESTR pszHelpFile;
00732         DWORD dwHelpContext;
00733     } PROPPAGEINFO, *LPPROPPAGEINFO;
00734 
00735     HRESULT SetPageSite( [in] IPropertyPageSite *pPageSite );
00736 
00737     HRESULT Activate(
00738         [in] HWND hWndParent,
00739         [in] LPCRECT pRect,
00740         [in] BOOL bModal);
00741 
00742     HRESULT Deactivate();
00743 
00744     HRESULT GetPageInfo( [out] PROPPAGEINFO *pPageInfo );
00745 
00746     HRESULT SetObjects(
00747         [in] ULONG cObjects,
00748         [in, size_is(cObjects)] IUnknown **ppUnk);
00749 
00750     HRESULT Show( [in] UINT nCmdShow );
00751 
00752     HRESULT Move( [in] LPCRECT pRect );
00753 
00754     HRESULT IsPageDirty();
00755 
00756     HRESULT Apply();
00757 
00758     HRESULT Help( [in] LPCOLESTR pszHelpDir );
00759 
00760     HRESULT TranslateAccelerator( [in] MSG *pMsg );
00761 }
00762 
00763 
00764 /*****************************************************************************
00765  * IPropertyPage2 interface
00766  */
00767 [
00768     object,
00769     uuid(01e44665-24ac-101b-84ed-08002b2ec713),
00770     pointer_default(unique)
00771 ]
00772 interface IPropertyPage2 : IPropertyPage
00773 {
00774     typedef IPropertyPage2 *LPPROPERTYPAGE2;
00775 
00776     HRESULT EditProperty( [in] DISPID dispID );
00777 }
00778 
00779 
00780 /*****************************************************************************
00781  * IPropertyPageSite interface
00782  */
00783 [
00784     object,
00785     uuid(b196b28c-bab4-101a-b69c-00aa00341d07),
00786     pointer_default(unique)
00787 ]
00788 interface IPropertyPageSite : IUnknown
00789 {
00790     typedef IPropertyPageSite *LPPROPERTYPAGESITE;
00791 
00792     typedef enum tagPROPPAGESTATUS
00793     {
00794         PROPPAGESTATUS_DIRTY = 0x1,
00795         PROPPAGESTATUS_VALIDATE = 0x2,
00796         PROPPAGESTATUS_CLEAN = 0x4
00797     } PROPPAGESTATUS;
00798 
00799     HRESULT OnStatusChange( [in] DWORD dwFlags );
00800     HRESULT GetLocaleID( [out] LCID *pLocaleID );
00801     HRESULT GetPageContainer( [out] IUnknown **ppUnk );
00802     HRESULT TranslateAccelerator( [in] MSG *pMsg );
00803 }
00804 
00805 
00806 /*****************************************************************************
00807  * IPropertyNotifySink interface
00808  */
00809 [
00810     object,
00811     uuid(9bfbbc02-eff1-101a-84ed-00aa00341d07),
00812     pointer_default(unique)
00813 ]
00814 interface IPropertyNotifySink : IUnknown
00815 {
00816     typedef IPropertyNotifySink *LPPROPERTYNOTIFYSINK;
00817 
00818     HRESULT OnChanged( [in] DISPID dispID );
00819     HRESULT OnRequestEdit( [in] DISPID dispID );
00820 }
00821 
00822 
00823 /*****************************************************************************
00824  * ISimpleFrameSite interface
00825  */
00826 [
00827     object,
00828     uuid(742b0e01-14e6-101b-914e-00aa00300cab),
00829     pointer_default(unique)
00830 ]
00831 interface ISimpleFrameSite : IUnknown
00832 {
00833     typedef ISimpleFrameSite *LPSIMPLEFRAMESITE;
00834 
00835     HRESULT PreMessageFilter(
00836         [in] HWND hWnd,
00837         [in] UINT msg,
00838         [in] WPARAM wp,
00839         [in] LPARAM lp,
00840         [out] LRESULT *plResult,
00841         [out] DWORD *pdwCookie);
00842 
00843     HRESULT PostMessageFilter(
00844         [in] HWND hWnd,
00845         [in] UINT msg,
00846         [in] WPARAM wp,
00847         [in] LPARAM lp,
00848         [out] LRESULT *plResult,
00849         [in] DWORD dwCookie);
00850 }
00851 
00852 
00853 /*****************************************************************************
00854  * IPersistStreamInit interface
00855  */
00856 [
00857     object,
00858     uuid(7fd52380-4e07-101b-ae2d-08002b2ec713),
00859     pointer_default(unique)
00860 ]
00861 interface IPersistStreamInit : IPersist
00862 {
00863     typedef IPersistStreamInit *LPPERSISTSTREAMINIT;
00864 
00865     HRESULT IsDirty();
00866     HRESULT Load( [in] LPSTREAM pStm );
00867     HRESULT Save( [in] LPSTREAM pStm, [in] BOOL fClearDirty );
00868     HRESULT GetSizeMax( [out] ULARGE_INTEGER *pcbSize );
00869     HRESULT InitNew();
00870 }
00871 
00872 
00873 /*****************************************************************************
00874  * IPersistMemory interface
00875  */
00876 [
00877     object,
00878     uuid(bd1ae5e0-a6ae-11ce-bd37-504200c10000),
00879     pointer_default(unique)
00880 ]
00881 interface IPersistMemory : IPersist
00882 {
00883     typedef IPersistMemory *LPPERSISTMEMORY;
00884 
00885     HRESULT IsDirty();
00886 
00887     [local]
00888     HRESULT Load(
00889         [in, size_is(cbSize)] LPVOID pMem,
00890         [in] ULONG cbSize);
00891 
00892     [call_as(Load)]
00893     HRESULT RemoteLoad(
00894         [in, size_is(cbSize)] BYTE *pMem,
00895         [in] ULONG cbSize);
00896 
00897     [local]
00898     HRESULT Save(
00899         [out, size_is(cbSize)] LPVOID pMem,
00900         [in] BOOL fClearDirty,
00901         [in] ULONG cbSize);
00902 
00903     [call_as(Save)]
00904     HRESULT RemoteSave(
00905         [out, size_is(cbSize)] BYTE *pMem,
00906         [in] BOOL fClearDirty,
00907         [in] ULONG cbSize);
00908 
00909     HRESULT GetSizeMax( [out] ULONG *pCbSize );
00910     HRESULT InitNew();
00911 }
00912 
00913 
00914 /*****************************************************************************
00915  * IPersistPropertyBag interface
00916  */
00917 [
00918     object,
00919     uuid(37d84f60-42cb-11ce-8135-00aa004bb851),
00920     pointer_default(unique)
00921 ]
00922 interface IPersistPropertyBag : IPersist
00923 {
00924     typedef IPersistPropertyBag *LPPERSISTPROPERTYBAG;
00925 
00926     HRESULT InitNew();
00927 
00928     HRESULT Load(
00929         [in] IPropertyBag *pPropBag,
00930         [in] IErrorLog *pErrorLog);
00931 
00932     HRESULT Save(
00933         [in] IPropertyBag *pPropBag,
00934         [in] BOOL fClearDirty,
00935         [in] BOOL fSaveAllProperties);
00936 }
00937 
00938 
00939 /*****************************************************************************
00940  * IPropertyBag2 interface
00941  */
00942 [
00943     object,
00944     uuid(22f55882-280b-11d0-a8a9-00a0c90c2004),
00945     pointer_default(unique)
00946 ]
00947 interface IPropertyBag2 : IUnknown
00948 {
00949     typedef IPropertyBag2 *LPPROPERTYBAG2;
00950 
00951     typedef enum tagPROPBAG2_TYPE
00952     {
00953         PROPBAG2_TYPE_UNDEFINED = 0,
00954         PROPBAG2_TYPE_DATA = 1,
00955         PROPBAG2_TYPE_URL = 2,
00956         PROPBAG2_TYPE_OBJECT = 3,
00957         PROPBAG2_TYPE_STREAM = 4,
00958         PROPBAG2_TYPE_STORAGE = 5,
00959         PROPBAG2_TYPE_MONIKER = 6
00960     } PROPBAG2_TYPE;
00961 
00962     typedef struct tagPROPBAG2
00963     {
00964         DWORD dwType;
00965         VARTYPE vt;
00966         CLIPFORMAT cfType;
00967         DWORD dwHint;
00968         LPOLESTR pstrName;
00969         CLSID clsid;
00970     } PROPBAG2;
00971 
00972     HRESULT Read(
00973         [in] ULONG cProperties,
00974         [in] PROPBAG2 *pPropBag,
00975         [in] IErrorLog *pErrLog,
00976         [out] VARIANT *pvarValue,
00977         [out] HRESULT *phrError);
00978 
00979     HRESULT Write(
00980         [in] ULONG cProperties,
00981         [in] PROPBAG2 *pPropBag,
00982         [in] VARIANT *pvarValue);
00983 
00984     HRESULT CountProperties(
00985         [out] ULONG *pcProperties );
00986 
00987     HRESULT GetPropertyInfo(
00988         [in] ULONG iProperty,
00989         [in] ULONG cProperties,
00990         [out] PROPBAG2 *pPropBag,
00991         [out] ULONG *pcProperties);
00992 
00993     HRESULT LoadObject(
00994         [in] LPCOLESTR pstrName,
00995         [in] DWORD dwHint,
00996         [in] IUnknown *pUnkObject,
00997         [in] IErrorLog *pErrLog);
00998 }
00999 
01000 
01001 /*****************************************************************************
01002  * IPersistPropertyBag2 interface
01003  */
01004 [
01005     object,
01006     uuid(22f55881-280b-11d0-a8a9-00a0c90c2004),
01007     pointer_default(unique)
01008 ]
01009 interface IPersistPropertyBag2 : IPersist
01010 {
01011     typedef IPersistPropertyBag2 *LPPERSISTPROPERTYBAG2;
01012 
01013     HRESULT InitNew();
01014 
01015     HRESULT Load(
01016         [in] IPropertyBag2 *pPropBag,
01017         [in] IErrorLog *pErrorLog);
01018 
01019     HRESULT Save(
01020         [in] IPropertyBag2 *pPropBag,
01021         [in] BOOL fClearDirty,
01022         [in] BOOL fSaveAllProperties);
01023 
01024     HRESULT IsDirty();
01025 }
01026 
01027 
01028 /*****************************************************************************
01029  * ISpecifyPropertyPages interface
01030  */
01031 [
01032     object,
01033     uuid(b196b28b-bab4-101a-b69c-00aa00341d07),
01034     pointer_default(unique)
01035 ]
01036 interface ISpecifyPropertyPages : IUnknown
01037 {
01038     typedef ISpecifyPropertyPages *LPSPECIFYPROPERTYPAGES;
01039 
01040     typedef struct tagCAUUID
01041     {
01042     ULONG cElems;
01043         [size_is(cElems)] GUID *pElems;
01044     } CAUUID, *LPCAUUID;
01045 
01046     HRESULT GetPages( [out] CAUUID *pPages );
01047 }
01048 
01049 
01050 /*****************************************************************************
01051  * IPerPropertyBrowsing interface
01052  */
01053 [
01054     object,
01055     uuid(376bd3aa-3845-101b-84ed-08002b2ec713),
01056     pointer_default(unique)
01057 ]
01058 interface IPerPropertyBrowsing : IUnknown
01059 {
01060     typedef IPerPropertyBrowsing *LPPERPROPERTYBROWSING;
01061 
01062     typedef struct tagCALPOLESTR
01063     {
01064         ULONG cElems;
01065         [size_is(cElems)] LPOLESTR *pElems;
01066     } CALPOLESTR, *LPCALPOLESTR;
01067 
01068     typedef struct tagCADWORD
01069     {
01070         ULONG cElems;
01071         [size_is(cElems)] DWORD *pElems;
01072     } CADWORD, *LPCADWORD;
01073 
01074     HRESULT GetDisplayString(
01075         [in] DISPID dispID,
01076         [out] BSTR *pBstr);
01077 
01078     HRESULT MapPropertyToPage(
01079         [in] DISPID dispID,
01080         [out] CLSID *pClsid);
01081 
01082     HRESULT GetPredefinedStrings(
01083         [in] DISPID dispID,
01084         [out] CALPOLESTR *pCaStringsOut,
01085         [out] CADWORD *pCaCookiesOut);
01086 
01087     HRESULT GetPredefinedValue(
01088         [in] DISPID dispID,
01089         [in] DWORD dwCookie,
01090         [out] VARIANT *pVarOut);
01091 }
01092 
01093 
01094 /*****************************************************************************
01095  * IAdviseSinkEx interface
01096  */
01097 [
01098     object,
01099     uuid(3af24290-0c96-11ce-a0cf-00aa00600ab8),
01100     pointer_default(unique)
01101 ]
01102 interface IAdviseSinkEx : IAdviseSink
01103 {
01104     typedef IAdviseSinkEx *LPADVISESINKEX;
01105 
01106     [local]
01107     void OnViewStatusChange( [in] DWORD dwViewStatus );
01108 
01109     [call_as(OnViewStatusChange)]
01110     HRESULT RemoteOnViewStatusChange( [in] DWORD dwViewStatus );
01111 }
01112 
01113 
01114 /*****************************************************************************
01115  * IPointerInactive interface
01116  */
01117 [
01118     object,
01119     uuid(55980ba0-35aa-11cf-b671-00aa004cd6d8),
01120     pointer_default(unique)
01121 ]
01122 interface IPointerInactive : IUnknown
01123 {
01124     typedef IPointerInactive *LPPOINTERINACTIVE;
01125 
01126     HRESULT GetActivationPolicy(
01127         [out] DWORD *pdwPolicy);
01128 
01129     HRESULT OnInactiveMouseMove(
01130         [in] LPCRECT pRectBounds,
01131         [in] LONG x,
01132         [in] LONG y,
01133         [in] DWORD grfKeyState);
01134 
01135     HRESULT OnInactiveSetCursor(
01136         [in] LPCRECT pRectBounds,
01137         [in] LONG x,
01138         [in] LONG y,
01139         [in] DWORD dwMouseMsg,
01140         [in] BOOL fSetAlways);
01141 }
01142 
01143 
01144 /*****************************************************************************
01145  * IObjectWithSite interface
01146  */
01147 [
01148     object,
01149     uuid(fc4801a3-2ba9-11cf-a229-00aa003d7352),
01150     pointer_default(unique)
01151 ]
01152 interface IObjectWithSite : IUnknown
01153 {
01154     typedef IObjectWithSite *LPOBJECTWITHSITE;
01155 
01156     HRESULT SetSite(
01157         [in] IUnknown * pUnkSite);
01158 
01159     HRESULT GetSite(
01160         [in] REFIID riid, 
01161         [out, iid_is(riid)] PVOID *ppvSite);
01162 }
01163 
01164 
01165 /*****************************************************************************
01166  * IOleUndoUnit interface
01167  */
01168 interface IOleUndoManager;  /* forward declaration */
01169 [
01170     object,
01171     uuid(894ad3b0-ef97-11ce-9bc9-00aa00608e01),
01172     pointer_default(unique)
01173 ]
01174 interface IOleUndoUnit : IUnknown
01175 {
01176     typedef IOleUndoUnit *LPOLEUNDOUNIT;
01177 
01178     HRESULT Do( [in] IOleUndoManager *pUndoManager );
01179     HRESULT GetDescription( [out] BSTR *pBstr );
01180     HRESULT GetUnitType( [out] CLSID *pClsid, [out] LONG *plID );
01181     HRESULT OnNextAdd();
01182 }
01183 
01184 
01185 /*****************************************************************************
01186  * IOleParentUndoUnit interface
01187  */
01188 [
01189     object,
01190     uuid(a1faf330-ef97-11ce-9bc9-00aa00608e01),
01191     pointer_default(unique)
01192 ]
01193 interface IOleParentUndoUnit : IOleUndoUnit
01194 {
01195     typedef IOleParentUndoUnit *LPOLEPARENTUNDOUNIT;
01196 
01197     HRESULT Open( [in] IOleParentUndoUnit *pPUU );
01198     HRESULT Close( [in] IOleParentUndoUnit *pPUU, [in] BOOL fCommit );
01199     HRESULT Add( [in] IOleUndoUnit *pUU );
01200     HRESULT FindUnit( [in] IOleUndoUnit *pUU );
01201     HRESULT GetParentState( [out] DWORD *pdwState );
01202 }
01203 
01204 
01205 /*****************************************************************************
01206  * IEnumOleUndoUnits interface
01207  */
01208 [
01209     object,
01210     uuid(b3e7c340-ef97-11ce-9bc9-00aa00608e01),
01211     pointer_default(unique)
01212 ]
01213 interface IEnumOleUndoUnits : IUnknown
01214 {
01215     typedef IEnumOleUndoUnits *LPENUMOLEUNDOUNITS;
01216 
01217     [local]
01218     HRESULT Next(
01219         [in] ULONG cElt,
01220         [out, size_is(cElt), length_is(*pcEltFetched)] IOleUndoUnit **rgElt,
01221         [out] ULONG *pcEltFetched);
01222 
01223     [call_as(Next)]
01224     HRESULT RemoteNext(
01225         [in] ULONG cElt,
01226         [out, size_is(cElt), length_is(*pcEltFetched)] IOleUndoUnit **rgElt,
01227         [out] ULONG *pcEltFetched);
01228 
01229     HRESULT Skip( [in] ULONG cElt );
01230 
01231     HRESULT Reset();
01232 
01233     HRESULT Clone( [out] IEnumOleUndoUnits **ppEnum );
01234 }
01235 
01236 
01237 /*****************************************************************************
01238  * IOleUndoManager interface
01239  */
01240 [
01241     object,
01242     uuid(d001f200-ef97-11ce-9bc9-00aa00608e01),
01243     pointer_default(unique)
01244 ]
01245 interface IOleUndoManager : IUnknown
01246 {
01247 cpp_quote("#define SID_SOleUndoManager IID_IOleUndoManager")
01248     typedef IOleUndoManager *LPOLEUNDOMANAGER;
01249 
01250     HRESULT Open( [in] IOleParentUndoUnit *pPUU );
01251     HRESULT Close( [in] IOleParentUndoUnit *pPUU, [in] BOOL fCommit );
01252     HRESULT Add( [in] IOleUndoUnit *pUU );
01253     HRESULT GetOpenParentState( [out] DWORD *pdwState );
01254     HRESULT DiscardFrom( [in] IOleUndoUnit *pUU );
01255     HRESULT UndoTo( [in] IOleUndoUnit *pUU );
01256     HRESULT RedoTo( [in] IOleUndoUnit *pUU );
01257     HRESULT EnumUndoable( [out] IEnumOleUndoUnits **ppEnum );
01258     HRESULT EnumRedoable( [out] IEnumOleUndoUnits **ppEnum );
01259     HRESULT GetLastUndoDescription( [out] BSTR *pBstr );
01260     HRESULT GetLastRedoDescription( [out] BSTR *pBstr );
01261     HRESULT Enable( [in] BOOL fEnable );
01262 }
01263 
01264 
01265 /*****************************************************************************
01266  * IQuickActivate interface
01267  */
01268 [
01269     object,
01270     uuid(cf51ed10-62fe-11cf-bf86-00a0c9034836),
01271     pointer_default(unique)
01272 ]
01273 interface IQuickActivate : IUnknown
01274 {
01275     typedef IQuickActivate *LPQUICKACTIVATE;
01276 
01277     typedef enum tagQACONTAINERFLAGS
01278     {
01279         QACONTAINER_SHOWHATCHING = 0x1,
01280         QACONTAINER_SHOWGRABHANDLES = 0x2,
01281         QACONTAINER_USERMODE = 0x4,
01282         QACONTAINER_DISPLAYASDEFAULT = 0x8,
01283         QACONTAINER_UIDEAD = 0x10,
01284         QACONTAINER_AUTOCLIP = 0x20,
01285         QACONTAINER_MESSAGEREFLECT = 0x40,
01286         QACONTAINER_SUPPORTSMNEMONICS = 0x80
01287     } QACONTAINERFLAGS;
01288 
01289     typedef DWORD OLE_COLOR;
01290     
01291     typedef struct tagQACONTAINER
01292     {
01293         ULONG cbSize;
01294         IOleClientSite *pClientSite;
01295         IAdviseSinkEx *pAdviseSink;
01296         IPropertyNotifySink *pPropertyNotifySink;
01297         IUnknown *pUnkEventSink;
01298         DWORD dwAmbientFlags;
01299         OLE_COLOR colorFore;
01300         OLE_COLOR colorBack;
01301         IFont *pFont;
01302         IOleUndoManager *pUndoMgr;
01303         DWORD dwAppearance;
01304         LONG lcid;
01305         HPALETTE hpal;
01306         IBindHost *pBindHost;
01307         IOleControlSite *pOleControlSite;
01308         IServiceProvider *pServiceProvider;
01309     } QACONTAINER;
01310 
01311     typedef struct tagQACONTROL
01312     {
01313         ULONG cbSize;
01314         DWORD dwMiscStatus;
01315         DWORD dwViewStatus;
01316         DWORD dwEventCookie;
01317         DWORD dwPropNotifyCookie;
01318         DWORD dwPointerActivationPolicy;
01319     } QACONTROL;
01320 
01321     [local]
01322     HRESULT QuickActivate(
01323         [in] QACONTAINER *pQaContainer,
01324         [in,out] QACONTROL *pQaControl);
01325 
01326     [call_as(QuickActivate)]
01327     HRESULT RemoteQuickActivate(
01328         [in] QACONTAINER *pQaContainer,
01329         [out] QACONTROL *pQaControl);
01330 
01331     HRESULT SetContentExtent( [in] LPSIZEL pSizel );
01332 
01333     HRESULT GetContentExtent( [out] LPSIZEL pSizel );
01334 }

Generated on Sat May 26 2012 04:30:57 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.