windows-nt/Source/XPSP1/NT/com/ole32/idl/internal/srvhdl.idl
2020-09-26 16:20:57 +08:00

293 lines
6 KiB
Plaintext

//+-------------------------------------------------------------------------
//
// Microsoft Windows
// Copyright (C) Microsoft Corporation, 1992 - 1997.
//
// File: srvhndlr.idl
//
//--------------------------------------------------------------------------
[
object,
uuid(F4F569D0-593B-101A-B569-08002B2DBF7A),
pointer_default(unique)
]
interface IServerHandler : IUnknown
{
#ifndef DO_NO_IMPORTS
import "oleidl.idl";
import "unknwn.idl";
import "iface.idl";
import "objidl.idl";
import "obase.idl";
#endif
cpp_quote("//+-------------------------------------------------------------------------")
cpp_quote("//")
cpp_quote("// Microsoft Windows")
cpp_quote("// Copyright (C) Microsoft Corporation, 1992 - 1997.")
cpp_quote("//")
cpp_quote("//--------------------------------------------------------------------------")
typedef [unique] IServerHandler *LPSERVERHANDLER;
HRESULT Run
(
[in] DWORD dwDHFlags,
[in] REFIID riidClientInterface,
[in, unique] MInterfacePointer* pIRDClientInterface,
[in] BOOL fHasIPSite,
[in, unique] LPOLESTR szContainerApp,
[in, unique] LPOLESTR szContainerObj,
[in, unique] IStorage * pStg,
[in, unique] IAdviseSink* pAdvSink,
[out] DWORD *pdwConnection,
[out] HRESULT *hresultClsidUser,
[out] CLSID *pContClassID,
[out] HRESULT *hresultContentMiscStatus,
[out] DWORD *pdwMiscStatus
);
HRESULT DoVerb
(
[in] LONG iVerb,
[in, unique] LPMSG lpmsg,
[in] BOOL fRunClientSite,
[in, unique] IOleClientSite *pClientSite,
[in] LONG lindex,
[in] HWND hwndParent,
[in, unique] LPCRECT lprcPosRect
);
HRESULT SetClientSite
(
[in, unique] IOleClientSite *pClientSite
);
// IDataObject Methods
HRESULT GetData(
[in, unique] FORMATETC *pformatetcIn,
[out] STGMEDIUM *pmedium);
HRESULT GetDataHere(
[in, unique] FORMATETC *pformatetc,
[in, out] STGMEDIUM *pmedium);
HRESULT QueryGetData(
[in, unique] FORMATETC *pformatetc);
HRESULT GetCanonicalFormatEtc(
[in, unique] FORMATETC *pformatectIn,
[out] FORMATETC *pformatetcOut);
HRESULT SetData(
[in, unique] FORMATETC *pformatetc,
[in, unique] STGMEDIUM *pmedium,
[in] BOOL fRelease);
HRESULT EnumFormatEtc(
[in] DWORD dwDirection,
[out] IEnumFORMATETC **ppenumFormatEtc);
HRESULT DAdvise(
[in] FORMATETC *pformatetc,
[in] DWORD advf,
[in, unique] IAdviseSink *pAdvSink,
[out] DWORD *pdwConnection);
HRESULT DUnadvise(
[in] DWORD dwConnection);
HRESULT EnumDAdvise(
[out] IEnumSTATDATA **ppenumAdvise);
}
[
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;
// IOleClientSite methods
HRESULT SaveObject
(
);
HRESULT GetMoniker
(
[in] DWORD dwAssign,
[in] DWORD dwWhichMoniker,
[out] IMoniker **ppmk
);
HRESULT GetContainer
(
[out] IOleContainer **ppContainer
);
HRESULT ShowObject
(
);
HRESULT OnShowWindow
(
[in] BOOL fShow
);
HRESULT RequestNewObjectLayout
(
);
// 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
(
[out] HWND *phwndOIPS
);
}