holdingarea/llvm/llvm-gcc4.2-2.7-x86-mingw32/include/oleidl.h
branchbug235_bringup_0
changeset 20 d2d6724aef32
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/holdingarea/llvm/llvm-gcc4.2-2.7-x86-mingw32/include/oleidl.h	Thu Sep 16 09:43:14 2010 +0100
@@ -0,0 +1,575 @@
+#ifndef _OLEIDL_H
+#define _OLEIDL_H
+#if __GNUC__ >=3
+#pragma GCC system_header
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <objfwd.h>
+
+#define MK_ALT	32
+
+typedef _COM_interface IParseDisplayName *LPPARSEDISPLAYNAME;
+typedef _COM_interface IOleContainer *LPOLECONTAINER;
+typedef _COM_interface IOleClientSite *LPOLECLIENTSITE;
+typedef _COM_interface IOleObject *LPOLEOBJECT;
+typedef _COM_interface IDropTarget *LPDROPTARGET;
+typedef _COM_interface IDropSource *LPDROPSOURCE;
+typedef _COM_interface IEnumOleUndoUnits *LPENUMOLEUNDOUNITS;
+typedef _COM_interface IEnumOLEVERB *LPENUMOLEVERB;
+typedef _COM_interface IOleWindow *LPOLEWINDOW;
+typedef _COM_interface IOleInPlaceUIWindow *LPOLEINPLACEUIWINDOW;
+typedef _COM_interface IOleInPlaceActiveObject *LPOLEINPLACEACTIVEOBJECT;
+typedef _COM_interface IOleInPlaceFrame *LPOLEINPLACEFRAME;
+typedef _COM_interface IOleAdviseHolder *LPOLEADVISEHOLDER;
+typedef _COM_interface IViewObject *LPVIEWOBJECT;
+typedef _COM_interface IViewObject2 *LPVIEWOBJECT2;
+typedef _COM_interface IOleCache *LPOLECACHE;
+typedef _COM_interface IOleCache2 *LPOLECACHE2;
+typedef _COM_interface IOleCacheControl *LPOLECACHECONTROL;
+
+typedef enum tagBINDSPEED
+{
+	BINDSPEED_INDEFINITE=1,
+	BINDSPEED_MODERATE,
+	BINDSPEED_IMMEDIATE
+} BINDSPEED;
+typedef enum tagOLEWHICHMK {
+	OLEWHICHMK_CONTAINER=1,
+	OLEWHICHMK_OBJREL,
+	OLEWHICHMK_OBJFULL
+} OLEWHICHMK;
+typedef enum tagOLEGETMONIKER {
+	OLEGETMONIKER_ONLYIFTHERE=1,
+	OLEGETMONIKER_FORCEASSIGN,
+	OLEGETMONIKER_UNASSIGN,
+	OLEGETMONIKER_TEMPFORUSER
+} OLEGETMONIKER;
+typedef enum tagUSERCLASSTYPE {
+	USERCLASSTYPE_FULL=1,
+	USERCLASSTYPE_SHORT,
+	USERCLASSTYPE_APPNAME
+} USERCLASSTYPE;
+
+#ifdef __GNUC__
+__extension__  /* IS0 C says enums limited to range of int */ 
+#endif
+typedef enum tagDROPEFFECT {
+	DROPEFFECT_NONE=0,
+	DROPEFFECT_COPY=1,
+	DROPEFFECT_MOVE=2,
+	DROPEFFECT_LINK=4,
+	DROPEFFECT_SCROLL=0x80000000
+} DROPEFFECT;
+typedef struct tagOleMenuGroupWidths {
+	LONG width[6];
+} OLEMENUGROUPWIDTHS,*LPOLEMENUGROUPWIDTHS;
+typedef HGLOBAL HOLEMENU;
+typedef enum tagOLECLOSE {
+	OLECLOSE_SAVEIFDIRTY,
+	OLECLOSE_NOSAVE,
+	OLECLOSE_PROMPTSAVE
+} OLECLOSE;
+typedef struct tagOLEVERB {
+	LONG lVerb;
+	LPWSTR lpszVerbName;
+	DWORD fuFlags;
+	DWORD grfAttribs;
+} OLEVERB,*LPOLEVERB;
+typedef RECT BORDERWIDTHS;
+typedef LPRECT LPBORDERWIDTHS;
+typedef LPCRECT LPCBORDERWIDTHS;
+typedef struct tagOIFI {
+	UINT cb;
+	BOOL fMDIApp;
+	HWND hwndFrame;
+	HACCEL haccel;
+	UINT cAccelEntries;
+}OLEINPLACEFRAMEINFO,*LPOLEINPLACEFRAMEINFO;
+
+DECLARE_ENUMERATOR(OLEVERB);
+typedef IEnumOLEVERB IEnumOleVerb;
+
+EXTERN_C const IID IID_IParseDisplayName;
+#define INTERFACE IParseDisplayName
+DECLARE_INTERFACE_(IParseDisplayName,IUnknown)
+{
+	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
+	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
+	STDMETHOD_(ULONG,Release)(THIS) PURE;
+	STDMETHOD(ParseDisplayName)(THIS_ IBindCtx*,LPOLESTR,ULONG*,IMoniker**) PURE;
+};
+#undef INTERFACE
+
+#ifdef COBJMACROS
+#define IParseDisplayName_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
+#define IParseDisplayName_AddRef(T) (T)->lpVtbl->AddRef(T)
+#define IParseDisplayName_Release(T) (T)->lpVtbl->Release(T)
+#define IParseDisplayName_ParseDisplayName(T,a,b,c,d) (T)->lpVtbl->ParseDisplayName(T,a,b,c,d)
+#endif
+
+EXTERN_C const IID IID_IOleContainer;
+#define INTERFACE IOleContainer
+DECLARE_INTERFACE_(IOleContainer,IParseDisplayName)
+{
+	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
+	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
+	STDMETHOD_(ULONG,Release)(THIS) PURE;
+	STDMETHOD(ParseDisplayName)(THIS_ IBindCtx*,LPOLESTR,ULONG*,IMoniker**) PURE;
+	STDMETHOD(EnumObjects)(THIS_ DWORD,IEnumUnknown**) PURE;
+	STDMETHOD(LockContainer)(THIS_ BOOL) PURE;
+};
+#undef INTERFACE
+
+EXTERN_C const IID IID_IOleItemContainer;
+#define INTERFACE IOleItemContainer
+DECLARE_INTERFACE_(IOleItemContainer,IOleContainer)
+{
+	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
+	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
+	STDMETHOD_(ULONG,Release)(THIS) PURE;
+	STDMETHOD(ParseDisplayName)(THIS_ IBindCtx*,LPOLESTR,ULONG*,IMoniker**) PURE;
+	STDMETHOD(EnumObjects)(THIS_ DWORD,IEnumUnknown**) PURE;
+	STDMETHOD(LockContainer)(THIS_ BOOL) PURE;
+	STDMETHOD(GetObject)(THIS_ LPOLESTR,DWORD,IBindCtx*,REFIID,void**) PURE;
+	STDMETHOD(GetObjectStorage)(THIS_ LPOLESTR,IBindCtx*,REFIID,void**) PURE;
+	STDMETHOD(IsRunning)(THIS_ LPOLESTR) PURE;
+};
+#undef INTERFACE
+
+#ifdef COBJMACROS
+#define IOleItemContainer_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
+#define IOleItemContainer_AddRef(T) (T)->lpVtbl->AddRef(T)
+#define IOleItemContainer_Release(T) (T)->lpVtbl->Release(T)
+#define IOleItemContainer_ParseDisplayName(T,a,b,c,d) (T)->lpVtbl->ParseDisplayName(T,a,b,c,d)
+#define IOleItemContainer_EnumObjects(T,a,b) (T)->lpVtbl->EnumObjects(T,a,b)
+#define IOleItemContainer_LockContainer(T,a) (T)->lpVtbl->LockContainer(T,a)
+#define IOleItemContainer_GetObject(T,a,b,c,d,e) (T)->lpVtbl->GetObject(T,a,b,c,d,e)
+#define IOleItemContainer_GetObjectStorage(T,a,b,c,d) (T)->lpVtbl->GetObjectStorage(T,a,b,c,d)
+#define IOleItemContainer_IsRunning(T,a) (T)->lpVtbl->IsRunning(T,a)
+#endif
+
+EXTERN_C const IID IID_IOleClientSite;
+#define INTERFACE IOleClientSite
+DECLARE_INTERFACE_(IOleClientSite,IUnknown)
+{
+	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
+	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
+	STDMETHOD_(ULONG,Release)(THIS) PURE;
+	STDMETHOD(SaveObject)(THIS) PURE;
+	STDMETHOD(GetMoniker)(THIS_ DWORD,DWORD,LPMONIKER*) PURE;
+	STDMETHOD(GetContainer)(THIS_ LPOLECONTAINER*) PURE;
+	STDMETHOD(ShowObject)(THIS) PURE;
+	STDMETHOD(OnShowWindow)(THIS_ BOOL) PURE;
+	STDMETHOD(RequestNewObjectLayout)(THIS) PURE;
+};
+#undef INTERFACE
+
+#ifdef COBJMACROS
+#define IOleClientSite_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
+#define IOleClientSite_AddRef(T) (T)->lpVtbl->AddRef(T)
+#define IOleClientSite_Release(T) (T)->lpVtbl->Release(T)
+#define IOleClientSite_SaveObject(T) (T)->lpVtbl->SaveObject(T)
+#define IOleClientSite_GetMoniker(T,a,b,c) (T)->lpVtbl->GetMoniker(T,a,b,c)
+#define IOleClientSite_GetContainer(T,a) (T)->lpVtbl->GetContainer(T,a)
+#define IOleClientSite_ShowObject(T) (T)->lpVtbl->ShowObject(T)
+#define IOleClientSite_OnShowWindow(T,a) (T)->lpVtbl->OnShowWindow(T,a)
+#define IOleClientSite_RequestNewObjectLayout(T) (T)->lpVtbl->RequestNewObjectLayout(T)
+#endif
+
+EXTERN_C const IID IID_IOleObject;
+#define INTERFACE IOleObject
+DECLARE_INTERFACE_(IOleObject,IUnknown)
+{
+	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
+	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
+	STDMETHOD_(ULONG,Release)(THIS) PURE;
+	STDMETHOD(SetClientSite)(THIS_ LPOLECLIENTSITE) PURE;
+	STDMETHOD(GetClientSite)(THIS_ LPOLECLIENTSITE*) PURE;
+	STDMETHOD(SetHostNames)(THIS_ LPCOLESTR,LPCOLESTR) PURE;
+	STDMETHOD(Close)(THIS_ DWORD) PURE;
+	STDMETHOD(SetMoniker)(THIS_ DWORD,LPMONIKER) PURE;
+	STDMETHOD(GetMoniker)(THIS_ DWORD,DWORD,LPMONIKER*) PURE;
+	STDMETHOD(InitFromData)(THIS_ LPDATAOBJECT,BOOL,DWORD) PURE;
+	STDMETHOD(GetClipboardData)(THIS_ DWORD,LPDATAOBJECT*) PURE;
+	STDMETHOD(DoVerb)(THIS_ LONG,LPMSG,LPOLECLIENTSITE,LONG,HWND,LPCRECT) PURE;
+	STDMETHOD(EnumVerbs)(THIS_ LPENUMOLEVERB*) PURE;
+	STDMETHOD(Update)(THIS) PURE;
+	STDMETHOD(IsUpToDate)(THIS) PURE;
+	STDMETHOD(GetUserClassID)(THIS_ LPCLSID) PURE;
+	STDMETHOD(GetUserType)(THIS_ DWORD,LPOLESTR*) PURE;
+	STDMETHOD(SetExtent)(THIS_ DWORD,SIZEL*) PURE;
+	STDMETHOD(GetExtent)(THIS_ DWORD,SIZEL*) PURE;
+	STDMETHOD(Advise)(THIS_ LPADVISESINK,PDWORD) PURE;
+	STDMETHOD(Unadvise)(THIS_ DWORD) PURE;
+	STDMETHOD(EnumAdvise)(THIS_ LPENUMSTATDATA*) PURE;
+	STDMETHOD(GetMiscStatus)(THIS_ DWORD,PDWORD) PURE;
+	STDMETHOD(SetColorScheme)(THIS_ LPLOGPALETTE) PURE;
+};
+#undef INTERFACE
+
+#ifdef COBJMACROS
+#define IOleObject_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
+#define IOleObject_AddRef(T) (T)->lpVtbl->AddRef(T)
+#define IOleObject_Release(T) (T)->lpVtbl->Release(T)
+#define IOleObject_SetClientSite(T,a) (T)->lpVtbl->SetClientSite(T,a)
+#define IOleObject_GetClientSite(T,a) (T)->lpVtbl->GetClientSite(T,a)
+#define IOleObject_SetHostNames(T,a,b) (T)->lpVtbl->SetHostNames(T,a,b)
+#define IOleObject_Close(T,a) (T)->lpVtbl->Close(T,a)
+#define IOleObject_SetMoniker(T,a,b) (T)->lpVtbl->SetMoniker(T,a,b)
+#define IOleObject_GetMoniker(T,a,b,c) (T)->lpVtbl->GetMoniker(T,a,b,c)
+#define IOleObject_InitFromData(T,a,b,c) (T)->lpVtbl->InitFromData(T,a,b,c)
+#define IOleObject_GetClipboardData(T,a,b) (T)->lpVtbl->GetClipboardData(T,a,b)
+#define IOleObject_DoVerb(T,a,b,c,d,e,f) (T)->lpVtbl->DoVerb(T,a,b,c,d,e,f)
+#define IOleObject_EnumVerbs(T,a) (T)->lpVtbl->EnumVerbs(T,a)
+#define IOleObject_Update(T) (T)->lpVtbl->Update(T)
+#define IOleObject_IsUpToDate(T) (T)->lpVtbl->IsUpToDate(T)
+#define IOleObject_GetUserClassID(T,a) (T)->lpVtbl->GetUserClassID(T,a)
+#define IOleObject_GetUserType(T,a,b) (T)->lpVtbl->GetUserType(T,a,b)
+#define IOleObject_SetExtent(T,a,b) (T)->lpVtbl->SetExtent(T,a,b)
+#define IOleObject_GetExtent(T,a,b) (T)->lpVtbl->GetExtent(T,a,b)
+#define IOleObject_Advise(T,a,b) (T)->lpVtbl->Advise(T,a,b)
+#define IOleObject_Unadvise(T,a) (T)->lpVtbl->Unadvise(T,a)
+#define IOleObject_EnumAdvise(T,a) (T)->lpVtbl->EnumAdvise(T,a)
+#define IOleObject_GetMiscStatus(T,a,b) (T)->lpVtbl->GetMiscStatus(T,a,b)
+#define IOleObject_SetColorScheme(T,a) (T)->lpVtbl->SetColorScheme(T,a)
+#endif
+
+EXTERN_C const IID IID_IOleWindow;
+#define INTERFACE IOleWindow
+DECLARE_INTERFACE_(IOleWindow,IUnknown)
+{
+	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
+	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
+	STDMETHOD_(ULONG,Release)(THIS) PURE;
+	STDMETHOD(GetWindow)(THIS_ HWND*) PURE;
+	STDMETHOD(ContextSensitiveHelp)(THIS_ BOOL) PURE;
+};
+#undef INTERFACE
+
+#ifdef COBJMACROS
+#define IOleWindow_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
+#define IOleWindow_AddRef(T) (T)->lpVtbl->AddRef(T)
+#define IOleWindow_Release(T) (T)->lpVtbl->Release(T)
+#define IOleWindow_GetWindow(T,a) (T)->lpVtbl->GetWindow(T,a)
+#define IOleWindow_ContextSensitiveHelp(T,a) (T)->lpVtbl->ContextSensitiveHelp(T,a)
+#endif
+
+EXTERN_C const IID IID_IOleInPlaceUIWindow;
+#define INTERFACE IOleInPlaceUIWindow
+DECLARE_INTERFACE_(IOleInPlaceUIWindow,IOleWindow)
+{
+	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
+	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
+	STDMETHOD_(ULONG,Release)(THIS) PURE;
+	STDMETHOD(GetWindow)(THIS_ HWND*) PURE;
+	STDMETHOD(ContextSensitiveHelp)(THIS_ BOOL) PURE;
+	STDMETHOD(GetBorder)(THIS_ LPRECT) PURE;
+	STDMETHOD(RequestBorderSpace)(THIS_ LPCBORDERWIDTHS) PURE;
+	STDMETHOD(SetBorderSpace)(THIS_ LPCBORDERWIDTHS) PURE;
+	STDMETHOD(SetActiveObject)(THIS_ LPOLEINPLACEACTIVEOBJECT,LPCOLESTR) PURE;
+};
+#undef INTERFACE
+
+EXTERN_C const IID IID_IOleInPlaceObject;
+#define INTERFACE IOleInPlaceObject
+DECLARE_INTERFACE_(IOleInPlaceObject,IOleWindow)
+{
+	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
+	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
+	STDMETHOD_(ULONG,Release)(THIS) PURE;
+	STDMETHOD(GetWindow)(THIS_ HWND*) PURE;
+	STDMETHOD(ContextSensitiveHelp)(THIS_ BOOL) PURE;
+	STDMETHOD(InPlaceDeactivate)(THIS) PURE;
+	STDMETHOD(UIDeactivate)(THIS) PURE;
+	STDMETHOD(SetObjectRects)(THIS_ LPCRECT,LPCRECT) PURE;
+	STDMETHOD(ReactivateAndUndo)(THIS) PURE;
+};
+#undef INTERFACE
+
+EXTERN_C const IID IID_IOleInPlaceActiveObject;
+#define INTERFACE IOleInPlaceActiveObject
+DECLARE_INTERFACE_(IOleInPlaceActiveObject,IOleWindow)
+{
+	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
+	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
+	STDMETHOD_(ULONG,Release)(THIS) PURE;
+	STDMETHOD(GetWindow)(THIS_ HWND*) PURE;
+	STDMETHOD(ContextSensitiveHelp)(THIS_ BOOL) PURE;
+	STDMETHOD(TranslateAccelerator)(THIS_ LPMSG) PURE;
+	STDMETHOD(OnFrameWindowActivate)(THIS_ BOOL) PURE;
+	STDMETHOD(OnDocWindowActivate)(THIS_ BOOL) PURE;
+	STDMETHOD(ResizeBorder)(THIS_ LPCRECT,LPOLEINPLACEUIWINDOW,BOOL) PURE;
+	STDMETHOD(EnableModeless)(THIS_ BOOL) PURE;
+};
+#undef INTERFACE
+
+EXTERN_C const IID IID_IOleInPlaceFrame;
+#define INTERFACE IOleInPlaceFrame
+DECLARE_INTERFACE_(IOleInPlaceFrame,IOleInPlaceUIWindow)
+{
+	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
+	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
+	STDMETHOD_(ULONG,Release)(THIS) PURE;
+	STDMETHOD(GetWindow)(THIS_ HWND*) PURE;
+	STDMETHOD(ContextSensitiveHelp)(THIS_ BOOL) PURE;
+	STDMETHOD(GetBorder)(THIS_ LPRECT) PURE;
+	STDMETHOD(RequestBorderSpace)(THIS_ LPCBORDERWIDTHS) PURE;
+	STDMETHOD(SetBorderSpace)(THIS_ LPCBORDERWIDTHS) PURE;
+	STDMETHOD(SetActiveObject)(THIS_ LPOLEINPLACEACTIVEOBJECT,LPCOLESTR) PURE;
+	STDMETHOD(InsertMenus)(THIS_ HMENU,LPOLEMENUGROUPWIDTHS) PURE;
+	STDMETHOD(SetMenu)(THIS_ HMENU,HOLEMENU,HWND) PURE;
+	STDMETHOD(RemoveMenus)(THIS_ HMENU) PURE;
+	STDMETHOD(SetStatusText)(THIS_ LPCOLESTR) PURE;
+	STDMETHOD(EnableModeless)(THIS_ BOOL) PURE;
+	STDMETHOD(TranslateAccelerator)(THIS_ LPMSG,WORD) PURE;
+};
+#undef INTERFACE
+
+#ifdef COBJMACROS
+#define IOleInPlaceFrame_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
+#define IOleInPlaceFrame_AddRef(T) (T)->lpVtbl->AddRef(T)
+#define IOleInPlaceFrame_Release(T) (T)->lpVtbl->Release(T)
+#define IOleInPlaceFrame_GetWindow(T,a) (T)->lpVtbl->GetWindow(T,a)
+#define IOleInPlaceFrame_ContextSensitiveHelp(T,a) (T)->lpVtbl->ContextSensitiveHelp(T,a)
+#define IOleInPlaceFrame_GetBorder(T,a) (T)->lpVtbl->GetBorder(T,a)
+#define IOleInPlaceFrame_RequestBorderSpace(T,a) (T)->lpVtbl->RequestBorderSpace(T,a)
+#define IOleInPlaceFrame_SetBorderSpace(T,a) (T)->lpVtbl->SetBorderSpace(T,a)
+#define IOleInPlaceFrame_SetActiveObject(T,a,b) (T)->lpVtbl->SetActiveObject(T,a,b)
+#define IOleInPlaceFrame_InsertMenus(T,a,b) (T)->lpVtbl->InsertMenus(T,a,b)
+#define IOleInPlaceFrame_SetMenu(T,a,b,c) (T)->lpVtbl->SetMenu(T,a,b,c)
+#define IOleInPlaceFrame_RemoveMenus(T,a) (T)->lpVtbl->RemoveMenus(T,a)
+#define IOleInPlaceFrame_SetStatusText(T,a) (T)->lpVtbl->SetStatusText(T,a)
+#define IOleInPlaceFrame_EnableModeless(T,a) (T)->lpVtbl->EnableModeless(T,a)
+#define IOleInPlaceFrame_TranslateAccelerator(T,a,b) (T)->lpVtbl->TranslateAccelerator(T,a,b)
+#endif
+
+EXTERN_C const IID IID_IOleInPlaceSite;
+#define INTERFACE IOleInPlaceSite
+DECLARE_INTERFACE_(IOleInPlaceSite,IOleWindow)
+{
+	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
+	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
+	STDMETHOD_(ULONG,Release)(THIS) PURE;
+	STDMETHOD(GetWindow)(THIS_ HWND*) PURE;
+	STDMETHOD(ContextSensitiveHelp)(THIS_ BOOL) PURE;
+	STDMETHOD(CanInPlaceActivate)(THIS) PURE;
+	STDMETHOD(OnInPlaceActivate)(THIS) PURE;
+	STDMETHOD(OnUIActivate)(THIS) PURE;
+	STDMETHOD(GetWindowContext)(THIS_ IOleInPlaceFrame**,IOleInPlaceUIWindow**,LPRECT,LPRECT,LPOLEINPLACEFRAMEINFO) PURE;
+	STDMETHOD(Scroll)(THIS_ SIZE) PURE;
+	STDMETHOD(OnUIDeactivate)(THIS_ BOOL) PURE;
+	STDMETHOD(OnInPlaceDeactivate)(THIS) PURE;
+	STDMETHOD(DiscardUndoState)(THIS) PURE;
+	STDMETHOD(DeactivateAndUndo)(THIS) PURE;
+	STDMETHOD(OnPosRectChange)(THIS_ LPCRECT) PURE;
+};
+#undef INTERFACE
+
+EXTERN_C const IID IID_IOleAdviseHolder;
+#define INTERFACE IOleAdviseHolder
+DECLARE_INTERFACE_(IOleAdviseHolder,IUnknown)
+{
+	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
+	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
+	STDMETHOD_(ULONG,Release)(THIS) PURE;
+	STDMETHOD(Advise)(THIS_ LPADVISESINK,PDWORD) PURE;
+	STDMETHOD(Unadvise)(THIS_ DWORD) PURE;
+	STDMETHOD(EnumAdvise)(THIS_ LPENUMSTATDATA*) PURE;
+	STDMETHOD(SendOnRename)(THIS_ LPMONIKER) PURE;
+	STDMETHOD(SendOnSave)(THIS) PURE;
+	STDMETHOD(SendOnClose)(THIS) PURE;
+};
+#undef INTERFACE
+
+#ifdef COBJMACROS
+#define IOleAdviseHolder_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
+#define IOleAdviseHolder_AddRef(T) (T)->lpVtbl->AddRef(T)
+#define IOleAdviseHolder_Release(T) (T)->lpVtbl->Release(T)
+#define IOleAdviseHolder_Advise(T,a,b) (T)->lpVtbl->Advise(T,a,b)
+#define IOleAdviseHolder_Unadvise(T,a) (T)->lpVtbl->Unadvise(T,a)
+#define IOleAdviseHolder_EnumAdvise(T,a) (T)->lpVtbl->EnumAdvise(T,a)
+#define IOleAdviseHolder_SendOnRename(T,a) (T)->lpVtbl->SendOnRename(T,a)
+#define IOleAdviseHolder_SendOnSave(T) (T)->lpVtbl->SendOnSave(T)
+#define IOleAdviseHolder_SendOnClose(T) (T)->lpVtbl->SendOnClose(T)
+#endif
+
+EXTERN_C const IID IID_IDropSource;
+#define INTERFACE IDropSource
+DECLARE_INTERFACE_(IDropSource,IUnknown)
+{
+	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
+	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
+	STDMETHOD_(ULONG,Release)(THIS) PURE;
+	STDMETHOD(QueryContinueDrag)(THIS_ BOOL,DWORD) PURE;
+	STDMETHOD(GiveFeedback)(THIS_ DWORD) PURE;
+};
+#undef INTERFACE
+
+#ifdef COBJMACROS
+#define IDropSource_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
+#define IDropSource_AddRef(T) (T)->lpVtbl->AddRef(T)
+#define IDropSource_Release(T) (T)->lpVtbl->Release(T)
+#define IDropSource_QueryContinueDrag(T,a,b) (T)->lpVtbl->QueryContinueDrag(T,a,b)
+#define IDropSource_GiveFeedback(T,a) (T)->lpVtbl->GiveFeedback(T,a)
+#endif
+
+EXTERN_C const IID IID_IDropTarget;
+#define INTERFACE IDropTarget
+DECLARE_INTERFACE_(IDropTarget,IUnknown)
+{
+	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
+	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
+	STDMETHOD_(ULONG,Release)(THIS) PURE;
+	STDMETHOD(DragEnter)(THIS_ LPDATAOBJECT,DWORD,POINTL,PDWORD) PURE;
+	STDMETHOD(DragOver)(THIS_ DWORD,POINTL,PDWORD) PURE;
+	STDMETHOD(DragLeave)(THIS) PURE;
+	STDMETHOD(Drop)(THIS_ LPDATAOBJECT,DWORD,POINTL,PDWORD) PURE;
+};
+#undef INTERFACE
+
+#ifdef COBJMACROS
+#define IDropTarget_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
+#define IDropTarget_AddRef(T) (T)->lpVtbl->AddRef(T)
+#define IDropTarget_Release(T) (T)->lpVtbl->Release(T)
+#define IDropTarget_DragEnter(T,a,b,c,d) (T)->lpVtbl->DragEnter(T,a,b,c,d)
+#define IDropTarget_DragOver(T,a,b,c) (T)->lpVtbl->DragOver(T,a,b,c)
+#define IDropTarget_DragLeave(T) (T)->lpVtbl->DragLeave(T)
+#define IDropTarget_Drop(T,a,b,c,d) (T)->lpVtbl->Drop(T,a,b,c,d)
+#endif
+
+typedef BOOL(CALLBACK *__IView_pfncont)(DWORD);
+EXTERN_C const IID IID_IViewObject;
+#define INTERFACE IViewObject
+DECLARE_INTERFACE_(IViewObject,IUnknown)
+{
+	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
+	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
+	STDMETHOD_(ULONG,Release)(THIS) PURE;
+	STDMETHOD(Draw)(THIS_ DWORD,LONG,PVOID,DVTARGETDEVICE*,HDC,HDC,LPCRECTL,LPCRECTL,__IView_pfncont pfnContinue,DWORD) PURE;
+	STDMETHOD(GetColorSet)(THIS_ DWORD,LONG,PVOID,DVTARGETDEVICE*,HDC,LPLOGPALETTE*) PURE;
+	STDMETHOD(Freeze)(THIS_ DWORD,LONG,PVOID,PDWORD) PURE;
+	STDMETHOD(Unfreeze)(THIS_ DWORD) PURE;
+	STDMETHOD(SetAdvise)(THIS_ DWORD,DWORD,IAdviseSink*) PURE;
+	STDMETHOD(GetAdvise)(THIS_ PDWORD,PDWORD,IAdviseSink**) PURE;
+};
+#undef INTERFACE
+
+#ifdef COBJMACROS
+#define IViewObject_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
+#define IViewObject_AddRef(T) (T)->lpVtbl->AddRef(T)
+#define IViewObject_Release(T) (T)->lpVtbl->Release(T)
+#define IViewObject_Draw(T,a,b,c,d,e,f,g,h,i,j) (T)->lpVtbl->Draw(T,a,b,c,d,e,f,g,h,i,j)
+#define IViewObject_GetColorSet(T,a,b,c,d,e,f) (T)->lpVtbl->GetColorSet(T,a,b,c,d,e,f)
+#define IViewObject_Freeze(T,a,b,c,d) (T)->lpVtbl->Freeze(T,a,b,c,d)
+#define IViewObject_Unfreeze(T,a) (T)->lpVtbl->Unfreeze(T,a)
+#define IViewObject_SetAdvise(T,a,b,c) (T)->lpVtbl->SetAdvise(T,a,b,c)
+#define IViewObject_GetAdvise(T,a,b,c) (T)->lpVtbl->GetAdvise(T,a,b,c)
+#endif
+
+EXTERN_C const IID IID_IViewObject2;
+#define INTERFACE IViewObject2
+DECLARE_INTERFACE_(IViewObject2,IViewObject)
+{
+	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
+	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
+	STDMETHOD_(ULONG,Release)(THIS) PURE;
+	STDMETHOD(Draw)(THIS_ DWORD,LONG,PVOID,DVTARGETDEVICE*,HDC,HDC,LPCRECTL,LPCRECTL,__IView_pfncont pfnContinue,DWORD) PURE;
+	STDMETHOD(GetColorSet)(THIS_ DWORD,LONG,PVOID,DVTARGETDEVICE*,HDC,LPLOGPALETTE*) PURE;
+	STDMETHOD(Freeze)(THIS_ DWORD,LONG,PVOID,PDWORD) PURE;
+	STDMETHOD(Unfreeze)(THIS_ DWORD) PURE;
+	STDMETHOD(SetAdvise)(THIS_ DWORD,DWORD,IAdviseSink*) PURE;
+	STDMETHOD(GetAdvise)(THIS_ PDWORD,PDWORD,IAdviseSink**) PURE;
+	STDMETHOD(GetExtent)(THIS_ DWORD,LONG,DVTARGETDEVICE*,LPSIZEL) PURE;
+};
+#undef INTERFACE
+
+#ifdef COBJMACROS
+#define IViewObject2_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
+#define IViewObject2_AddRef(T) (T)->lpVtbl->AddRef(T)
+#define IViewObject2_Release(T) (T)->lpVtbl->Release(T)
+#define IViewObject2_Draw(T,a,b,c,d,e,f,g,h,i,j) (T)->lpVtbl->Draw(T,a,b,c,d,e,f,g,h,i,j)
+#define IViewObject2_GetColorSet(T,a,b,c,d,e,f) (T)->lpVtbl->GetColorSet(T,a,b,c,d,e,f)
+#define IViewObject2_Freeze(T,a,b,c,d) (T)->lpVtbl->Freeze(T,a,b,c,d)
+#define IViewObject2_Unfreeze(T,a) (T)->lpVtbl->Unfreeze(T,a)
+#define IViewObject2_SetAdvise(T,a,b,c) (T)->lpVtbl->SetAdvise(T,a,b,c)
+#define IViewObject2_GetAdvise(T,a,b,c) (T)->lpVtbl->GetAdvise(T,a,b,c)
+#define IViewObject2_GetExtent(T,a,b,c,d) (T)->lpVtbl->GetExtent(T,a,b,c,d)
+#endif
+
+EXTERN_C const IID IID_IOleCache;
+#define INTERFACE IOleCache
+DECLARE_INTERFACE_(IOleCache,IUnknown)
+{
+	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
+	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
+	STDMETHOD_(ULONG,Release)(THIS) PURE;
+	STDMETHOD(Cache)(THIS_ FORMATETC*,DWORD,DWORD*) PURE;
+	STDMETHOD(Uncache)(THIS_ DWORD) PURE; 
+	STDMETHOD(EnumCache)(THIS_ IEnumSTATDATA**); 
+	STDMETHOD(InitCache)(THIS_ LPDATAOBJECT); 
+	STDMETHOD(SetData)(THIS_ FORMATETC*,STGMEDIUM*,BOOL); 
+};
+#undef INTERFACE
+
+#ifdef COBJMACROS
+#define IOleCache_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
+#define IOleCache_AddRef(T) (T)->lpVtbl->AddRef(T)
+#define IOleCache_Release(T) (T)->lpVtbl->Release(T)
+#define IOleCache_Cache(T,a,b,c) (T)->lpVtbl->Cache(T,a,b,c)
+#define IOleCache_Uncache(T,a) (T)->lpVtbl->Uncache(T,a)
+#define IOleCache_EnumCache(T,a) (T)->lpVtbl->EnumCache(T,a)
+#define IOleCache_InitCache(T,a) (T)->lpVtbl->InitCache(T,a)
+#define IOleCache_SetData(T,a,b,c) (T)->lpVtbl->SetData(T,a,b,c)
+#endif
+
+EXTERN_C const IID IID_IOleCache2;
+#define INTERFACE IOleCache2
+DECLARE_INTERFACE_(IOleCache2,IOleCache)
+{
+	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
+	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
+	STDMETHOD_(ULONG,Release)(THIS) PURE;
+	STDMETHOD(Cache)(THIS_ FORMATETC*,DWORD,DWORD*) PURE;
+	STDMETHOD(Uncache)(THIS_ DWORD) PURE; 
+	STDMETHOD(EnumCache)(THIS_ IEnumSTATDATA**) PURE; 
+	STDMETHOD(InitCache)(THIS_ LPDATAOBJECT) PURE; 
+	STDMETHOD(SetData)(THIS_ FORMATETC*,STGMEDIUM*,BOOL) PURE; 
+	STDMETHOD(UpdateCache)(THIS_ LPDATAOBJECT,DWORD,LPVOID) PURE; 
+	STDMETHOD(DiscardCache)(THIS_ DWORD) PURE;
+};
+#undef INTERFACE
+
+#ifdef COBJMACROS
+#define IOleCache2_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
+#define IOleCache2_AddRef(T) (T)->lpVtbl->AddRef(T)
+#define IOleCache2_Release(T) (T)->lpVtbl->Release(T)
+#define IOleCache2_Cache(T,a,b,c) (T)->lpVtbl->Cache(T,a,b,c)
+#define IOleCache2_Uncache(T,a) (T)->lpVtbl->Uncache(T,a)
+#define IOleCache2_EnumCache(T,a) (T)->lpVtbl->EnumCache(T,a)
+#define IOleCache2_InitCache(T,a) (T)->lpVtbl->InitCache(T,a)
+#define IOleCache2_SetData(T,a,b,c) (T)->lpVtbl->SetData(T,a,b,c)
+#define IOleCache2_UpdateCache(T,a,b,c) (T)->lpVtbl->UpdateCache(T,a,b,c)
+#define IOleCache2_DiscardCache(T,a) (T)->lpVtbl->DiscardCache(T,a)
+#endif
+
+EXTERN_C const IID IID_IOleCacheControl;
+#define INTERFACE IOleCacheControl
+DECLARE_INTERFACE_(IOleCacheControl,IUnknown)
+{
+	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
+	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
+	STDMETHOD_(ULONG,Release)(THIS) PURE;
+	STDMETHOD(OnRun)(THIS_ LPDATAOBJECT) PURE;
+	STDMETHOD(OnStop)(THIS) PURE;
+};
+#undef INTERFACE
+
+#ifdef __cplusplus
+}
+#endif
+#endif
+