8#if !defined(OCF_OCBOCOLE_H)
12#if defined(BI_HAS_PRAGMA_ONCE)
30# define BOLEDLL _T("BOCOF64.DLL")
31# define BOLEDLLW _T("BOCOFW64.DLL")
33# define BOLEDLL _T("BOCOF.DLL")
34# define BOLEDLLW _T("BOCOFW.DLL")
39# define BOLEDLL _T("BOCOF.so")
40# define BOLEDLLW _T("BOCOFW.so")
43#define BOLEBIND "CreateClassMgr"
44#define BOLE_FILEVER_LS 0x00010054L
45#define BOLE_FILEVER_MS 0x00010001L
50#if defined(INIT_BGUID)
51# define DEFINE_BOLEGUID(name, l) \
52 EXTERN_C __declspec(dllexport) const GUID CDECL name = \
53 { l, 0, 0, {0xC0,0,0,0,0,0,0,0x46} }
56# if defined(_BUILDOCFDLL)
57# define DEFINE_BOLEGUID(name, l) EXTERN_C const GUID CDECL name
59# define DEFINE_BOLEGUID(name, l) EXTERN_C __declspec(dllimport) const GUID CDECL name
62# define DEFINE_BOLEGUID(name, l) EXTERN_C const GUID CDECL name
166#define HIMETRIC_PER_INCH 2540
168#ifdef MAP_PIX_TO_LOGHIM
169#undef MAP_PIX_TO_LOGHIM
171#define MAP_PIX_TO_LOGHIM(pixel, pixelsPerInch) \
172 ((ULONG) ((((ULONG)HIMETRIC_PER_INCH) * pixel + (pixelsPerInch >> 1)) / pixelsPerInch))
174#ifdef MAP_LOGHIM_TO_PIX
175#undef MAP_LOGHIM_TO_PIX
177#define MAP_LOGHIM_TO_PIX(hiMetric, pixelsPerInch) \
178 (UINT) ((((double) hiMetric) * pixelsPerInch + (HIMETRIC_PER_INCH >> 1)) / HIMETRIC_PER_INCH)
188 IUnknown * pAggregator,
193 IUnknown * pAggregator,
284 BCID, BOOL embedInSelf,
313 BCID, BOOL embedInSelf,
448 LPCOLESTR, BOOL) = 0;
559 virtual HRESULT
_IFUNC Init(BOOL selfEmbed, LPCOLESTR pszProgId,
596 return ResultFromScode(E_NOINTERFACE);
599#define DEFINE_INLINE_QI(I, P) \
600inline HRESULT _IFUNC I##_QueryInterface(I * This, REFIID iid, LPVOID * pif) \
602 return (iid == IID_##I) ? \
603 (*pif = This), This->AddRef(), HR_OK : \
604 P##_QueryInterface(This, iid, pif); \
607#define DEFINE_INLINE_QI2(I, P1, P2) \
608inline HRESULT _IFUNC I##_QueryInterface(I * This, REFIID iid, LPVOID * pif) \
610 return (iid == IID_##I) ? \
611 (*pif = This), ((P1*)This)->AddRef(), HR_OK : \
612 SUCCEEDED(P1##_QueryInterface(This, iid, pif))? HR_OK :\
613 P2##_QueryInterface(This, iid, pif); \
IBApplication – Supported at frame window/app object of container apps.
virtual void _IFUNC ShutdownMaybe()=0
virtual TOcHelp _IFUNC HelpMode(TOcHelp)=0
virtual HRESULT _IFUNC IsMDI()=0
virtual HRESULT _IFUNC OnModalDialog(BOOL)=0
virtual LPCOLESTR _IFUNC GetAppName()=0
virtual void _IFUNC DialogHelpNotify(TOcDialogHelp)=0
virtual HRESULT _IFUNC CanEmbed()=0
virtual HRESULT _IFUNC CanLink()=0
IBClass – Supported by BOleFactory.
virtual BOOL _IFUNC AllowEmbedFromSelf()=0
virtual HRESULT _IFUNC GetClassID(CLSID *pOut)=0
virtual BOOL _IFUNC IsA(CLSID &pOut)=0
virtual HRESULT _IFUNC Init(BOOL selfEmbed, LPCOLESTR pszProgId, IBClassMgr *pCM, BCID rid)=0
virtual HRESULT _IFUNC GetEmbeddingHelperFactory(LPUNKNOWN *ppF)=0
virtual HRESULT _IFUNC Revoke()=0
virtual HRESULT _IFUNC Register(BOOL singleUse)=0
IClassMgr abstract base class.
virtual HRESULT _IFUNC ComponentInfoGet(IUnknown **ppInfo, IUnknown *pAggregator, BCID classId)=0
virtual HRESULT _IFUNC ComponentCreate(IUnknown **ppRet, IUnknown *pAggregator, BCID classId)=0
IBContainer – Supported by container app's document window.
virtual HRESULT _IFUNC FindDropDest(owl::TPoint *, IBDropDest **)=0
virtual HRESULT _IFUNC AllowInPlace()=0
virtual HRESULT _IFUNC BringToFront()=0
IContains abstract base class.
virtual HRESULT _IFUNC Init(LPCOLESTR)=0
virtual HRESULT _IFUNC GetPart(IBPart **, LPCOLESTR)=0
virtual HRESULT _IFUNC GetSizeMax(ULARGE_INTEGER *)=0
virtual HRESULT _IFUNC GetEventTypeInfo(ITypeInfo **ppTypeInfo)=0
virtual HRESULT _IFUNC GetCtrlDispatch(IDispatch **ppDispatch)=0
virtual HRESULT _IFUNC AboutBox()=0
virtual HRESULT _IFUNC Save(LPSTREAM)=0
virtual HRESULT _IFUNC AmbientChanged(DISPID dispid)=0
virtual HRESULT _IFUNC Refresh()=0
virtual HRESULT _IFUNC OnMnemonic(LPMSG)=0
virtual HRESULT _IFUNC FreezeEvents(BOOL)=0
virtual HRESULT _IFUNC SetAmbientDispatch(IDispatch *)=0
virtual HRESULT _IFUNC DoClick()=0
virtual HRESULT _IFUNC GetClassInfo(LPTYPEINFO *)=0
virtual HRESULT _IFUNC SetEventDispatch(IDispatch *)=0
virtual HRESULT _IFUNC GetEventIID(IID *iidEvent)=0
virtual HRESULT _IFUNC GetControlInfo(LPCONTROLINFO)=0
virtual HRESULT _IFUNC TransformCoords(owl::TPointL *lpptlHimetric, owl::TPointF *lpptfContainer, DWORD flags)=0
virtual HRESULT _IFUNC Init(UINT, IBControl *, UINT)=0
virtual HRESULT _IFUNC OnControlFocus(BOOL fGotFocus)=0
virtual HRESULT _IFUNC OnPropertyChanged(DISPID dispid)=0
virtual HRESULT _IFUNC OnPropertyRequestEdit(DISPID dispid)=0
IBDataConsumer – Supported by containers who want to accept drag/drop and paste.
IBDataNegotiator – Enumerats formats for drag/drop and paste.
virtual owl::uint _IFUNC CountFormats()=0
virtual HRESULT _IFUNC GetFormat(owl::uint, TOcFormatInfo *)=0
IBDataProvider2 – new version of IBDataProvider.
virtual HRESULT _IFUNC SetFormatData(TOcFormatInfo *fmt, HANDLE data, BOOL release)=0
IBDataProvider – Supported by parts and/or sites which can be copied to the OLE2 clipboard.
virtual HRESULT _IFUNC Save(IStorage *, BOOL fSamAsLoad, BOOL fRemember)=0
virtual HRESULT _IFUNC Draw(HDC, const RECTL *, const RECTL *, TOcAspect, TOcDraw bd=drNone)=0
virtual HRESULT _IFUNC GetPartSize(owl::TSize *)=0
virtual HANDLE _IFUNC GetFormatData(TOcFormatInfo *)=0
virtual HRESULT _IFUNC IsDirty()=0
virtual HRESULT _IFUNC GetClassID(LPCLSID)=0
virtual void _IFUNC SetDirty(BOOL)=0
IBDocument – Supported by BOleDocument one per container child window.
virtual HRESULT _IFUNC Init(IBContainer *)=0
virtual HRESULT _IFUNC EnumLinks(IBLinkInfo **)=0
virtual HRESULT _IFUNC OnSetFocus(BOOL)=0
virtual void _IFUNC OnClose()=0
virtual HRESULT _IFUNC BrowseLinks()=0
virtual void _IFUNC OnResize()=0
virtual HRESULT _IFUNC UpdateLinks()=0
virtual void _IFUNC OnActivate(BOOL)=0
IBDropDest – Supported by container app's document window and/or other areas inside the window.
virtual HRESULT _IFUNC Drop(TOcInitInfo *, owl::TPoint *, const owl::TRect *)=0
virtual HRESULT _IFUNC GetScrollRect(owl::TRect *)=0
virtual HRESULT _IFUNC Scroll(TOcScrollDir scrollDir)=0
virtual void _IFUNC DragFeedback(owl::TPoint *, const owl::TRect *, TOcMouseAction, owl::uint, HRESULT &)=0
virtual HRESULT _IFUNC FreezeEvents(BOOL)=0
virtual HRESULT _IFUNC GetSinkList(IBSinkList **)=0
virtual HRESULT _IFUNC RegisterConnectionPoint(LPCONNECTIONPOINT)=0
virtual HRESULT _IFUNC RegisterEventsSet(REFIID, UINT)=0
virtual HRESULT _IFUNC GetSinkListForIID(REFIID, IBSinkList **)=0
IBLinkInfo – Supported by BOleParts which are link objects.
virtual HRESULT _IFUNC SourceOpen()=0
virtual HRESULT _IFUNC SourceGet(LPOLESTR, owl::uint count)=0
virtual HRESULT _IFUNC UpdateNow()=0
virtual HRESULT _IFUNC UpdateGet(TOcLinkUpdate *)=0
virtual HRESULT _IFUNC SourceBreak()=0
virtual HRESULT _IFUNC SourceSet(LPOLESTR)=0
virtual HRESULT _IFUNC UpdateSet(TOcLinkUpdate)=0
ILinkable abstract base class.
virtual HRESULT _IFUNC OnRename(IBLinkable *pContainer, LPCOLESTR name)=0
virtual HRESULT _IFUNC GetMoniker(IMoniker **ppMon)=0
IBOverrideBrowseLinks – Supported by containers(who aggregate BOleDoc) who want to override our Brows...
virtual HRESULT _IFUNC BrowseLinks()=0
IBPart2 – Supported by server objects.
IBPart – Supported by server objects.
virtual HRESULT _IFUNC ShowTools(BOOL)=0
virtual HRESULT _IFUNC Open(BOOL)=0
virtual HRESULT _IFUNC InsertMenus(HMENU, TOcMenuWidths *)=0
virtual LPOLESTR _IFUNC GetName(TOcPartName)=0
virtual HRESULT _IFUNC Activate(BOOL)=0
virtual HRESULT _IFUNC Close()=0
virtual void _IFUNC FrameResized(const owl::TRect *, BOOL)=0
virtual HRESULT _IFUNC DragFeedback(owl::TPoint *, BOOL)=0
virtual HRESULT _IFUNC SetHost(IBContainer *pObjContainer)=0
virtual HWND _IFUNC OpenInPlace(HWND)=0
virtual HRESULT _IFUNC CanOpenInPlace()=0
virtual HRESULT _IFUNC SetPartPos(owl::TRect *)=0
virtual HRESULT _IFUNC Show(BOOL)=0
virtual HRESULT _IFUNC GetPalette(LOGPALETTE **)=0
virtual HRESULT _IFUNC SetPartSize(owl::TSize *)=0
virtual HRESULT _IFUNC DoVerb(owl::uint)=0
virtual HRESULT _IFUNC Init(IBSite *, TOcInitInfo *)=0
virtual HRESULT _IFUNC EnumVerbs(TOcVerb *)=0
virtual HRESULT _IFUNC DoQueryInterface(const IID &iid, void **pif)=0
virtual HRESULT _IFUNC Init(IBContains *pC, LPCOLESTR szProgId)=0
virtual HRESULT _IFUNC SetMoniker(IMoniker *pMon)=0
virtual HRESULT _IFUNC UnregisterControlClass(LPCOLESTR)=0
virtual HRESULT _IFUNC RegisterControlClass(LPCOLESTR, IBClassMgr *, BCID, BOOL embedInSelf, BOOL singleUse)=0
virtual HRESULT _IFUNC BrowseControls(TOcInitInfo *)=0
IService abstract base class.
virtual HRESULT _IFUNC OnModalDialog(BOOL)=0
virtual HRESULT _IFUNC BrowseClipboard(TOcInitInfo *)=0
virtual TOcHelp _IFUNC HelpMode(TOcHelp)=0
virtual void _IFUNC OnResize()=0
virtual HRESULT _IFUNC Clip(IBDataProvider *, BOOL, BOOL, BOOL)=0
virtual HRESULT _IFUNC ConvertUI(IBPart *, BOOL, TOcConvertInfo *)=0
virtual TOcMenuEnable _IFUNC EnableEditMenu(TOcMenuEnable, IBDataConsumer *)=0
virtual HRESULT _IFUNC UnregisterClass(LPCOLESTR)=0
virtual HRESULT _IFUNC ConvertGuts(IBPart *, BOOL, TOcConvertInfo *)=0
virtual HRESULT _IFUNC Paste(TOcInitInfo *)=0
virtual HRESULT _IFUNC Init(IBApplication *)=0
virtual HRESULT _IFUNC TranslateAccel(MSG *)=0
virtual HRESULT _IFUNC CanClose()=0
virtual void _IFUNC OnActivate(BOOL)=0
virtual IStorage *_IFUNC CreateStorageOnFile(LPCOLESTR, BOOL)=0
virtual HRESULT _IFUNC RegisterClass(LPCOLESTR, IBClassMgr *, BCID, BOOL embedInSelf, BOOL singleUse)=0
virtual HRESULT _IFUNC Drag(IBDataProvider *, TOcDropAction, TOcDropAction *)=0
virtual HRESULT _IFUNC OnSetFocus(BOOL)=0
virtual HRESULT _IFUNC Browse(TOcInitInfo *)=0
virtual HRESULT _IFUNC NextSink(LPVOID *)=0
virtual HRESULT _IFUNC GetSinkAt(int, LPVOID *)=0
virtual HRESULT _IFUNC Reset()=0
IBSite2 – Add flexibility to have parent of site not be container.
virtual HRESULT _IFUNC GetParentWindow(HWND *)=0
IBSite – Supported by container apps for each linked/embedded object.
virtual HRESULT _IFUNC GetSiteRect(owl::TRect *, owl::TRect *)=0
virtual HRESULT _IFUNC DiscardUndo()=0
virtual void _IFUNC OnSetFocus(BOOL)=0
virtual void _IFUNC Invalidate(TOcInvalidate)=0
virtual HRESULT _IFUNC GetZoom(TOcScaleInfo *pScale)=0
virtual HRESULT _IFUNC SiteShow(BOOL)=0
virtual HRESULT _IFUNC Init(IBDataProvider *, IBPart *, LPCOLESTR, BOOL)=0
virtual HRESULT _IFUNC SetSiteExtent(const owl::TSize *)=0
virtual HRESULT _IFUNC SetSiteRect(const owl::TRect *)=0
virtual void _IFUNC Disconnect()=0
IBWindow – Supported on child window and frame window of container apps.
virtual HRESULT _IFUNC SetBorderSpace(const owl::TRect *)=0
virtual LPCOLESTR _IFUNC GetWindowTitle()=0
virtual HRESULT _IFUNC InsertContainerMenus(HMENU, TOcMenuWidths *)=0
virtual HRESULT _IFUNC Accelerator(MSG *)=0
virtual void _IFUNC RestoreUI()=0
virtual HRESULT _IFUNC RequestBorderSpace(const owl::TRect *)=0
virtual HWND _IFUNC GetWindow()=0
virtual void _IFUNC AppendWindowTitle(LPCOLESTR)=0
virtual HRESULT _IFUNC SetStatusText(LPCOLESTR)=0
virtual HRESULT _IFUNC GetWindowRect(owl::TRect *)=0
virtual HRESULT _IFUNC SetFrameMenu(HMENU)=0
virtual HRESULT _IFUNC GetAccelerators(HACCEL *, int *)=0
TPointF is similar to TPoint, but uses floating variables rather than integers.
TPoint is a support class, derived from tagPOINT.
TPointL is similar to TPoint, but uses long rather than int variables.
TRect is a mathematical class derived from tagRect.
The tagSIZE struct is defined as.
Classes for window system geometry.
Object Component Framework (COM encapsulation)
class _ICLASS IBEventClass
const BCID cidBOleControlFactory
const BCID cidBOleInProcHandler
const BCID cidBOleInProcSite
class _ICLASS IBEventsHandler
class _ICLASS IBOverrideBrowseLinks
const BCID cidBOleContainer
const BCID cidBOleControlSite
const BCID cidBOleFactory
class _ICLASS IBContainer
const BCID cidBOlePicture
class _ICLASS IBDataState
class _ICLASS IBDataConsumer
class _ICLASS IBControlSite
const BCID cidBOleControl
class _ICLASS IBDataProvider2
const BCID cidBOleShadowData
HRESULT _IFUNC IUnknown_QueryInterface(IUnknown *, REFIID iid, LPVOID *pif)
class _ICLASS IBOverrideHelpButton
class _ICLASS IBDataProvider
class _ICLASS IBApplication
const BCID cidBOleService
class _ICLASS IBRootLinkable
class _ICLASS IBDataNegotiator
const BCID cidBOleDocument
#define DEFINE_INLINE_QI2(I, P1, P2)
#define DEFINE_BOLEGUID(name, l)
#define DEFINE_INLINE_QI(I, P)
interface _ICLASS IStorage
Various general OC enums and structs.