//+------------------------------------------------------------------------- // // Microsoft Windows // Copyright (C) Microsoft Corporation, 1992 - 1995. // // File: srvhndlr.idl // //-------------------------------------------------------------------------- #ifndef DO_NO_IMPORTS import "oleidl.idl"; import "unknwn.idl"; #endif [ object, uuid(F4F569D0-593B-101A-B569-08002B2DBF7A), pointer_default(unique) ] interface IServerHandler : IUnknown { cpp_quote("//+-------------------------------------------------------------------------") cpp_quote("//") cpp_quote("// Microsoft Windows") cpp_quote("// Copyright (C) Microsoft Corporation, 1992 - 1995.") cpp_quote("//") cpp_quote("//--------------------------------------------------------------------------") typedef [unique] IServerHandler *LPSERVERHANDLER; typedef struct tagInSrvRun { DWORD dwOperation; // in parameter // IUnknown *pUnk; // Unknown of object IMoniker *pMnk; // Moniker IOleContainer *pOCont; // container object // optional clientsite of container //IOleClientSite *pOContCS; // the client ole object // Storage for IPersistStorage IStorage *pStg; // DoVerb stuff LONG iVerb; LPMSG lpmsg; LONG lindex; HWND hwndParent; RECT *lprcPosRect; // inplace stuff DWORD dwInPlace; // inplace options DWORD dwInFlags; // generic Flags DWORD dwInOptions; // SetHostName LPOLESTR pszContainerApp; LPOLESTR pszContainerObj; // AdviseSink IAdviseSink *pAS; // IAdviseSink DWORD dwConnOle; CLSID *pContClassID; } INSRVRUN, *PINSRVRUN; typedef struct tagOutSrvRunInit { DWORD dwOperation; // out parameter IOleObject *pOO; // IOleObject IDataObject *pDO; // IDataObject IPersistStorage *pPStg; // IPersistStorage HRESULT hrSetHostNames; HRESULT hrPStg; HRESULT hrAdvise; DWORD dwConnOle; CLSID *pUserClassID; // the user class id DWORD dwOutFlag; DWORD dwOutOptions; } OUTSRVRUN, *POUTSRVRUN; typedef struct tagSrvRunDoVerb { IUnknown *pUnk; } SRVRUNDOVERB, *PSRVRUNDOVERB; typedef struct tagSrvDoVerb { IUnknown *pUnk; } SRVDOVERB, *PSRVDOVERB; HRESULT RunAndInitialize ( [in] INSRVRUN *pInSrvRun, [out] OUTSRVRUN **pOutSrvRun ); HRESULT RunAndDoVerb ( [in] INSRVRUN *pInSrvRun, [out] OUTSRVRUN **pOutSrvRun ); HRESULT DoVerb ( [in] INSRVRUN *pInSrvRun, [out] OUTSRVRUN **pOutSrvRun ); HRESULT CloseAndRelease ( [in] DWORD dwClose ); } [ object, uuid(F4F569D1-593B-101A-B569-08002B2DBF7A), pointer_default(unique) ] //interface IClientSiteHandler : IOleClientSite interface IClientSiteHandler : IUnknown { cpp_quote("//+-------------------------------------------------------------------------") cpp_quote("//") cpp_quote("// Microsoft Windows") cpp_quote("// Copyright (C) Microsoft Corporation, 1992 - 1995.") cpp_quote("//") cpp_quote("//--------------------------------------------------------------------------") typedef [unique] IClientSiteHandler *LPCLIENTSITEHANDLER; typedef struct tagInSrvInPlace { DWORD dwOperation; DWORD dwDelegateID; DWORD dwInFlags; // generic Flags DWORD dwInOptions; // IOleObject::GetExtend DWORD dwDrawAspect; SIZEL sizel; // IOleInPlaceObject *pOIPObj; } INSRVINPLACE, *PINSRVINPLACE; typedef struct tagOutSrvInPlace { DWORD dwOperation; DWORD dwOutFlags; // generic Flags DWORD dwOutOptions; HWND hwnd; IOleInPlaceFrame *pOIPFrame; IOleInPlaceUIWindow *pOIPUIWnd; LPRECT lprcPosRect; LPRECT lprcClipRect; LPOLEINPLACEFRAMEINFO lpFrameInfo; RECT rcPosRect; RECT rcClipRect; OLEINPLACEFRAMEINFO FrameInfo; // menu stuff HMENU hmenuShared; OLEMENUGROUPWIDTHS MenuWidths; // LPOLESTR pszStatusText; // IOleObject::SetExtend DWORD dwDrawAspect; SIZEL sizel; } OUTSRVINPLACE, *POUTSRVINPLACE; [local] HRESULT __stdcall PrivQueryInterface( [in] DWORD dwId, [in] REFIID riidResult, [out, iid_is(riidResult)] void **ppvResult); [call_as(PrivQueryInterface)] HRESULT __stdcall RemotePrivQueryInterface( [in] DWORD dwId, [in] REFIID riidResult, [out, iid_is(riidResult)] IUnknown **ppvResult); HRESULT PrivAddRef( [in] DWORD dwId ); HRESULT PrivRelease( [in] DWORD dwId ); // IOleClientSite methods HRESULT SaveObject ( [in] DWORD dwId ); HRESULT GetMoniker ( [in] DWORD dwId, [in] DWORD dwAssign, [in] DWORD dwWhichMoniker, [out] IMoniker **ppmk ); HRESULT GetContainer ( [in] DWORD dwId, [out] IOleContainer **ppContainer ); HRESULT ShowObject ( [in] DWORD dwId ); HRESULT OnShowWindow ( [in] DWORD dwId, [in] BOOL fShow ); HRESULT RequestNewObjectLayout ( [in] DWORD dwId ); // IOleInPlaceSite methods [input_sync] HRESULT GetWindow ( [out] HWND *phwnd ); HRESULT ContextSensitiveHelp ( [in] BOOL fEnterMode ); HRESULT CanInPlaceActivate ( void ); HRESULT OnInPlaceActivate ( void ); HRESULT OnUIActivate ( void ); HRESULT GetWindowContext ( [out] IOleInPlaceFrame **ppFrame, [out] IOleInPlaceUIWindow **ppDoc, [out] LPRECT lprcPosRect, [out] LPRECT lprcClipRect, [in, out] LPOLEINPLACEFRAMEINFO lpFrameInfo ); HRESULT Scroll ( [in] SIZE scrollExtant ); HRESULT OnUIDeactivate ( [in] BOOL fUndoable ); HRESULT OnInPlaceDeactivate ( void ); HRESULT DiscardUndoState ( void ); HRESULT DeactivateAndUndo ( void ); HRESULT OnPosRectChange ( [in] LPCRECT lprcPosRect ); HRESULT GoInPlaceActivate ( [in] INSRVINPLACE *pInSrvInPlace, [out] OUTSRVINPLACE **pOutSrvInPlace ); HRESULT GoInPlace ( [in] INSRVINPLACE *pInSrvInPlace, [out] OUTSRVINPLACE **pOutSrvInPlace ); HRESULT UndoPlace ( [in] INSRVINPLACE *pInSrvInPlace, [out] OUTSRVINPLACE **pOutSrvInPlace ); }