holdingarea/llvm/llvm-gcc4.2-2.7-x86-mingw32/include/oleidl.h
branchbug235_bringup_0
changeset 20 d2d6724aef32
equal deleted inserted replaced
19:da7c1a80df0d 20:d2d6724aef32
       
     1 #ifndef _OLEIDL_H
       
     2 #define _OLEIDL_H
       
     3 #if __GNUC__ >=3
       
     4 #pragma GCC system_header
       
     5 #endif
       
     6 
       
     7 #ifdef __cplusplus
       
     8 extern "C" {
       
     9 #endif
       
    10 
       
    11 #include <objfwd.h>
       
    12 
       
    13 #define MK_ALT	32
       
    14 
       
    15 typedef _COM_interface IParseDisplayName *LPPARSEDISPLAYNAME;
       
    16 typedef _COM_interface IOleContainer *LPOLECONTAINER;
       
    17 typedef _COM_interface IOleClientSite *LPOLECLIENTSITE;
       
    18 typedef _COM_interface IOleObject *LPOLEOBJECT;
       
    19 typedef _COM_interface IDropTarget *LPDROPTARGET;
       
    20 typedef _COM_interface IDropSource *LPDROPSOURCE;
       
    21 typedef _COM_interface IEnumOleUndoUnits *LPENUMOLEUNDOUNITS;
       
    22 typedef _COM_interface IEnumOLEVERB *LPENUMOLEVERB;
       
    23 typedef _COM_interface IOleWindow *LPOLEWINDOW;
       
    24 typedef _COM_interface IOleInPlaceUIWindow *LPOLEINPLACEUIWINDOW;
       
    25 typedef _COM_interface IOleInPlaceActiveObject *LPOLEINPLACEACTIVEOBJECT;
       
    26 typedef _COM_interface IOleInPlaceFrame *LPOLEINPLACEFRAME;
       
    27 typedef _COM_interface IOleAdviseHolder *LPOLEADVISEHOLDER;
       
    28 typedef _COM_interface IViewObject *LPVIEWOBJECT;
       
    29 typedef _COM_interface IViewObject2 *LPVIEWOBJECT2;
       
    30 typedef _COM_interface IOleCache *LPOLECACHE;
       
    31 typedef _COM_interface IOleCache2 *LPOLECACHE2;
       
    32 typedef _COM_interface IOleCacheControl *LPOLECACHECONTROL;
       
    33 
       
    34 typedef enum tagBINDSPEED
       
    35 {
       
    36 	BINDSPEED_INDEFINITE=1,
       
    37 	BINDSPEED_MODERATE,
       
    38 	BINDSPEED_IMMEDIATE
       
    39 } BINDSPEED;
       
    40 typedef enum tagOLEWHICHMK {
       
    41 	OLEWHICHMK_CONTAINER=1,
       
    42 	OLEWHICHMK_OBJREL,
       
    43 	OLEWHICHMK_OBJFULL
       
    44 } OLEWHICHMK;
       
    45 typedef enum tagOLEGETMONIKER {
       
    46 	OLEGETMONIKER_ONLYIFTHERE=1,
       
    47 	OLEGETMONIKER_FORCEASSIGN,
       
    48 	OLEGETMONIKER_UNASSIGN,
       
    49 	OLEGETMONIKER_TEMPFORUSER
       
    50 } OLEGETMONIKER;
       
    51 typedef enum tagUSERCLASSTYPE {
       
    52 	USERCLASSTYPE_FULL=1,
       
    53 	USERCLASSTYPE_SHORT,
       
    54 	USERCLASSTYPE_APPNAME
       
    55 } USERCLASSTYPE;
       
    56 
       
    57 #ifdef __GNUC__
       
    58 __extension__  /* IS0 C says enums limited to range of int */ 
       
    59 #endif
       
    60 typedef enum tagDROPEFFECT {
       
    61 	DROPEFFECT_NONE=0,
       
    62 	DROPEFFECT_COPY=1,
       
    63 	DROPEFFECT_MOVE=2,
       
    64 	DROPEFFECT_LINK=4,
       
    65 	DROPEFFECT_SCROLL=0x80000000
       
    66 } DROPEFFECT;
       
    67 typedef struct tagOleMenuGroupWidths {
       
    68 	LONG width[6];
       
    69 } OLEMENUGROUPWIDTHS,*LPOLEMENUGROUPWIDTHS;
       
    70 typedef HGLOBAL HOLEMENU;
       
    71 typedef enum tagOLECLOSE {
       
    72 	OLECLOSE_SAVEIFDIRTY,
       
    73 	OLECLOSE_NOSAVE,
       
    74 	OLECLOSE_PROMPTSAVE
       
    75 } OLECLOSE;
       
    76 typedef struct tagOLEVERB {
       
    77 	LONG lVerb;
       
    78 	LPWSTR lpszVerbName;
       
    79 	DWORD fuFlags;
       
    80 	DWORD grfAttribs;
       
    81 } OLEVERB,*LPOLEVERB;
       
    82 typedef RECT BORDERWIDTHS;
       
    83 typedef LPRECT LPBORDERWIDTHS;
       
    84 typedef LPCRECT LPCBORDERWIDTHS;
       
    85 typedef struct tagOIFI {
       
    86 	UINT cb;
       
    87 	BOOL fMDIApp;
       
    88 	HWND hwndFrame;
       
    89 	HACCEL haccel;
       
    90 	UINT cAccelEntries;
       
    91 }OLEINPLACEFRAMEINFO,*LPOLEINPLACEFRAMEINFO;
       
    92 
       
    93 DECLARE_ENUMERATOR(OLEVERB);
       
    94 typedef IEnumOLEVERB IEnumOleVerb;
       
    95 
       
    96 EXTERN_C const IID IID_IParseDisplayName;
       
    97 #define INTERFACE IParseDisplayName
       
    98 DECLARE_INTERFACE_(IParseDisplayName,IUnknown)
       
    99 {
       
   100 	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
       
   101 	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
       
   102 	STDMETHOD_(ULONG,Release)(THIS) PURE;
       
   103 	STDMETHOD(ParseDisplayName)(THIS_ IBindCtx*,LPOLESTR,ULONG*,IMoniker**) PURE;
       
   104 };
       
   105 #undef INTERFACE
       
   106 
       
   107 #ifdef COBJMACROS
       
   108 #define IParseDisplayName_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
       
   109 #define IParseDisplayName_AddRef(T) (T)->lpVtbl->AddRef(T)
       
   110 #define IParseDisplayName_Release(T) (T)->lpVtbl->Release(T)
       
   111 #define IParseDisplayName_ParseDisplayName(T,a,b,c,d) (T)->lpVtbl->ParseDisplayName(T,a,b,c,d)
       
   112 #endif
       
   113 
       
   114 EXTERN_C const IID IID_IOleContainer;
       
   115 #define INTERFACE IOleContainer
       
   116 DECLARE_INTERFACE_(IOleContainer,IParseDisplayName)
       
   117 {
       
   118 	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
       
   119 	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
       
   120 	STDMETHOD_(ULONG,Release)(THIS) PURE;
       
   121 	STDMETHOD(ParseDisplayName)(THIS_ IBindCtx*,LPOLESTR,ULONG*,IMoniker**) PURE;
       
   122 	STDMETHOD(EnumObjects)(THIS_ DWORD,IEnumUnknown**) PURE;
       
   123 	STDMETHOD(LockContainer)(THIS_ BOOL) PURE;
       
   124 };
       
   125 #undef INTERFACE
       
   126 
       
   127 EXTERN_C const IID IID_IOleItemContainer;
       
   128 #define INTERFACE IOleItemContainer
       
   129 DECLARE_INTERFACE_(IOleItemContainer,IOleContainer)
       
   130 {
       
   131 	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
       
   132 	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
       
   133 	STDMETHOD_(ULONG,Release)(THIS) PURE;
       
   134 	STDMETHOD(ParseDisplayName)(THIS_ IBindCtx*,LPOLESTR,ULONG*,IMoniker**) PURE;
       
   135 	STDMETHOD(EnumObjects)(THIS_ DWORD,IEnumUnknown**) PURE;
       
   136 	STDMETHOD(LockContainer)(THIS_ BOOL) PURE;
       
   137 	STDMETHOD(GetObject)(THIS_ LPOLESTR,DWORD,IBindCtx*,REFIID,void**) PURE;
       
   138 	STDMETHOD(GetObjectStorage)(THIS_ LPOLESTR,IBindCtx*,REFIID,void**) PURE;
       
   139 	STDMETHOD(IsRunning)(THIS_ LPOLESTR) PURE;
       
   140 };
       
   141 #undef INTERFACE
       
   142 
       
   143 #ifdef COBJMACROS
       
   144 #define IOleItemContainer_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
       
   145 #define IOleItemContainer_AddRef(T) (T)->lpVtbl->AddRef(T)
       
   146 #define IOleItemContainer_Release(T) (T)->lpVtbl->Release(T)
       
   147 #define IOleItemContainer_ParseDisplayName(T,a,b,c,d) (T)->lpVtbl->ParseDisplayName(T,a,b,c,d)
       
   148 #define IOleItemContainer_EnumObjects(T,a,b) (T)->lpVtbl->EnumObjects(T,a,b)
       
   149 #define IOleItemContainer_LockContainer(T,a) (T)->lpVtbl->LockContainer(T,a)
       
   150 #define IOleItemContainer_GetObject(T,a,b,c,d,e) (T)->lpVtbl->GetObject(T,a,b,c,d,e)
       
   151 #define IOleItemContainer_GetObjectStorage(T,a,b,c,d) (T)->lpVtbl->GetObjectStorage(T,a,b,c,d)
       
   152 #define IOleItemContainer_IsRunning(T,a) (T)->lpVtbl->IsRunning(T,a)
       
   153 #endif
       
   154 
       
   155 EXTERN_C const IID IID_IOleClientSite;
       
   156 #define INTERFACE IOleClientSite
       
   157 DECLARE_INTERFACE_(IOleClientSite,IUnknown)
       
   158 {
       
   159 	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
       
   160 	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
       
   161 	STDMETHOD_(ULONG,Release)(THIS) PURE;
       
   162 	STDMETHOD(SaveObject)(THIS) PURE;
       
   163 	STDMETHOD(GetMoniker)(THIS_ DWORD,DWORD,LPMONIKER*) PURE;
       
   164 	STDMETHOD(GetContainer)(THIS_ LPOLECONTAINER*) PURE;
       
   165 	STDMETHOD(ShowObject)(THIS) PURE;
       
   166 	STDMETHOD(OnShowWindow)(THIS_ BOOL) PURE;
       
   167 	STDMETHOD(RequestNewObjectLayout)(THIS) PURE;
       
   168 };
       
   169 #undef INTERFACE
       
   170 
       
   171 #ifdef COBJMACROS
       
   172 #define IOleClientSite_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
       
   173 #define IOleClientSite_AddRef(T) (T)->lpVtbl->AddRef(T)
       
   174 #define IOleClientSite_Release(T) (T)->lpVtbl->Release(T)
       
   175 #define IOleClientSite_SaveObject(T) (T)->lpVtbl->SaveObject(T)
       
   176 #define IOleClientSite_GetMoniker(T,a,b,c) (T)->lpVtbl->GetMoniker(T,a,b,c)
       
   177 #define IOleClientSite_GetContainer(T,a) (T)->lpVtbl->GetContainer(T,a)
       
   178 #define IOleClientSite_ShowObject(T) (T)->lpVtbl->ShowObject(T)
       
   179 #define IOleClientSite_OnShowWindow(T,a) (T)->lpVtbl->OnShowWindow(T,a)
       
   180 #define IOleClientSite_RequestNewObjectLayout(T) (T)->lpVtbl->RequestNewObjectLayout(T)
       
   181 #endif
       
   182 
       
   183 EXTERN_C const IID IID_IOleObject;
       
   184 #define INTERFACE IOleObject
       
   185 DECLARE_INTERFACE_(IOleObject,IUnknown)
       
   186 {
       
   187 	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
       
   188 	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
       
   189 	STDMETHOD_(ULONG,Release)(THIS) PURE;
       
   190 	STDMETHOD(SetClientSite)(THIS_ LPOLECLIENTSITE) PURE;
       
   191 	STDMETHOD(GetClientSite)(THIS_ LPOLECLIENTSITE*) PURE;
       
   192 	STDMETHOD(SetHostNames)(THIS_ LPCOLESTR,LPCOLESTR) PURE;
       
   193 	STDMETHOD(Close)(THIS_ DWORD) PURE;
       
   194 	STDMETHOD(SetMoniker)(THIS_ DWORD,LPMONIKER) PURE;
       
   195 	STDMETHOD(GetMoniker)(THIS_ DWORD,DWORD,LPMONIKER*) PURE;
       
   196 	STDMETHOD(InitFromData)(THIS_ LPDATAOBJECT,BOOL,DWORD) PURE;
       
   197 	STDMETHOD(GetClipboardData)(THIS_ DWORD,LPDATAOBJECT*) PURE;
       
   198 	STDMETHOD(DoVerb)(THIS_ LONG,LPMSG,LPOLECLIENTSITE,LONG,HWND,LPCRECT) PURE;
       
   199 	STDMETHOD(EnumVerbs)(THIS_ LPENUMOLEVERB*) PURE;
       
   200 	STDMETHOD(Update)(THIS) PURE;
       
   201 	STDMETHOD(IsUpToDate)(THIS) PURE;
       
   202 	STDMETHOD(GetUserClassID)(THIS_ LPCLSID) PURE;
       
   203 	STDMETHOD(GetUserType)(THIS_ DWORD,LPOLESTR*) PURE;
       
   204 	STDMETHOD(SetExtent)(THIS_ DWORD,SIZEL*) PURE;
       
   205 	STDMETHOD(GetExtent)(THIS_ DWORD,SIZEL*) PURE;
       
   206 	STDMETHOD(Advise)(THIS_ LPADVISESINK,PDWORD) PURE;
       
   207 	STDMETHOD(Unadvise)(THIS_ DWORD) PURE;
       
   208 	STDMETHOD(EnumAdvise)(THIS_ LPENUMSTATDATA*) PURE;
       
   209 	STDMETHOD(GetMiscStatus)(THIS_ DWORD,PDWORD) PURE;
       
   210 	STDMETHOD(SetColorScheme)(THIS_ LPLOGPALETTE) PURE;
       
   211 };
       
   212 #undef INTERFACE
       
   213 
       
   214 #ifdef COBJMACROS
       
   215 #define IOleObject_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
       
   216 #define IOleObject_AddRef(T) (T)->lpVtbl->AddRef(T)
       
   217 #define IOleObject_Release(T) (T)->lpVtbl->Release(T)
       
   218 #define IOleObject_SetClientSite(T,a) (T)->lpVtbl->SetClientSite(T,a)
       
   219 #define IOleObject_GetClientSite(T,a) (T)->lpVtbl->GetClientSite(T,a)
       
   220 #define IOleObject_SetHostNames(T,a,b) (T)->lpVtbl->SetHostNames(T,a,b)
       
   221 #define IOleObject_Close(T,a) (T)->lpVtbl->Close(T,a)
       
   222 #define IOleObject_SetMoniker(T,a,b) (T)->lpVtbl->SetMoniker(T,a,b)
       
   223 #define IOleObject_GetMoniker(T,a,b,c) (T)->lpVtbl->GetMoniker(T,a,b,c)
       
   224 #define IOleObject_InitFromData(T,a,b,c) (T)->lpVtbl->InitFromData(T,a,b,c)
       
   225 #define IOleObject_GetClipboardData(T,a,b) (T)->lpVtbl->GetClipboardData(T,a,b)
       
   226 #define IOleObject_DoVerb(T,a,b,c,d,e,f) (T)->lpVtbl->DoVerb(T,a,b,c,d,e,f)
       
   227 #define IOleObject_EnumVerbs(T,a) (T)->lpVtbl->EnumVerbs(T,a)
       
   228 #define IOleObject_Update(T) (T)->lpVtbl->Update(T)
       
   229 #define IOleObject_IsUpToDate(T) (T)->lpVtbl->IsUpToDate(T)
       
   230 #define IOleObject_GetUserClassID(T,a) (T)->lpVtbl->GetUserClassID(T,a)
       
   231 #define IOleObject_GetUserType(T,a,b) (T)->lpVtbl->GetUserType(T,a,b)
       
   232 #define IOleObject_SetExtent(T,a,b) (T)->lpVtbl->SetExtent(T,a,b)
       
   233 #define IOleObject_GetExtent(T,a,b) (T)->lpVtbl->GetExtent(T,a,b)
       
   234 #define IOleObject_Advise(T,a,b) (T)->lpVtbl->Advise(T,a,b)
       
   235 #define IOleObject_Unadvise(T,a) (T)->lpVtbl->Unadvise(T,a)
       
   236 #define IOleObject_EnumAdvise(T,a) (T)->lpVtbl->EnumAdvise(T,a)
       
   237 #define IOleObject_GetMiscStatus(T,a,b) (T)->lpVtbl->GetMiscStatus(T,a,b)
       
   238 #define IOleObject_SetColorScheme(T,a) (T)->lpVtbl->SetColorScheme(T,a)
       
   239 #endif
       
   240 
       
   241 EXTERN_C const IID IID_IOleWindow;
       
   242 #define INTERFACE IOleWindow
       
   243 DECLARE_INTERFACE_(IOleWindow,IUnknown)
       
   244 {
       
   245 	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
       
   246 	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
       
   247 	STDMETHOD_(ULONG,Release)(THIS) PURE;
       
   248 	STDMETHOD(GetWindow)(THIS_ HWND*) PURE;
       
   249 	STDMETHOD(ContextSensitiveHelp)(THIS_ BOOL) PURE;
       
   250 };
       
   251 #undef INTERFACE
       
   252 
       
   253 #ifdef COBJMACROS
       
   254 #define IOleWindow_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
       
   255 #define IOleWindow_AddRef(T) (T)->lpVtbl->AddRef(T)
       
   256 #define IOleWindow_Release(T) (T)->lpVtbl->Release(T)
       
   257 #define IOleWindow_GetWindow(T,a) (T)->lpVtbl->GetWindow(T,a)
       
   258 #define IOleWindow_ContextSensitiveHelp(T,a) (T)->lpVtbl->ContextSensitiveHelp(T,a)
       
   259 #endif
       
   260 
       
   261 EXTERN_C const IID IID_IOleInPlaceUIWindow;
       
   262 #define INTERFACE IOleInPlaceUIWindow
       
   263 DECLARE_INTERFACE_(IOleInPlaceUIWindow,IOleWindow)
       
   264 {
       
   265 	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
       
   266 	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
       
   267 	STDMETHOD_(ULONG,Release)(THIS) PURE;
       
   268 	STDMETHOD(GetWindow)(THIS_ HWND*) PURE;
       
   269 	STDMETHOD(ContextSensitiveHelp)(THIS_ BOOL) PURE;
       
   270 	STDMETHOD(GetBorder)(THIS_ LPRECT) PURE;
       
   271 	STDMETHOD(RequestBorderSpace)(THIS_ LPCBORDERWIDTHS) PURE;
       
   272 	STDMETHOD(SetBorderSpace)(THIS_ LPCBORDERWIDTHS) PURE;
       
   273 	STDMETHOD(SetActiveObject)(THIS_ LPOLEINPLACEACTIVEOBJECT,LPCOLESTR) PURE;
       
   274 };
       
   275 #undef INTERFACE
       
   276 
       
   277 EXTERN_C const IID IID_IOleInPlaceObject;
       
   278 #define INTERFACE IOleInPlaceObject
       
   279 DECLARE_INTERFACE_(IOleInPlaceObject,IOleWindow)
       
   280 {
       
   281 	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
       
   282 	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
       
   283 	STDMETHOD_(ULONG,Release)(THIS) PURE;
       
   284 	STDMETHOD(GetWindow)(THIS_ HWND*) PURE;
       
   285 	STDMETHOD(ContextSensitiveHelp)(THIS_ BOOL) PURE;
       
   286 	STDMETHOD(InPlaceDeactivate)(THIS) PURE;
       
   287 	STDMETHOD(UIDeactivate)(THIS) PURE;
       
   288 	STDMETHOD(SetObjectRects)(THIS_ LPCRECT,LPCRECT) PURE;
       
   289 	STDMETHOD(ReactivateAndUndo)(THIS) PURE;
       
   290 };
       
   291 #undef INTERFACE
       
   292 
       
   293 EXTERN_C const IID IID_IOleInPlaceActiveObject;
       
   294 #define INTERFACE IOleInPlaceActiveObject
       
   295 DECLARE_INTERFACE_(IOleInPlaceActiveObject,IOleWindow)
       
   296 {
       
   297 	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
       
   298 	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
       
   299 	STDMETHOD_(ULONG,Release)(THIS) PURE;
       
   300 	STDMETHOD(GetWindow)(THIS_ HWND*) PURE;
       
   301 	STDMETHOD(ContextSensitiveHelp)(THIS_ BOOL) PURE;
       
   302 	STDMETHOD(TranslateAccelerator)(THIS_ LPMSG) PURE;
       
   303 	STDMETHOD(OnFrameWindowActivate)(THIS_ BOOL) PURE;
       
   304 	STDMETHOD(OnDocWindowActivate)(THIS_ BOOL) PURE;
       
   305 	STDMETHOD(ResizeBorder)(THIS_ LPCRECT,LPOLEINPLACEUIWINDOW,BOOL) PURE;
       
   306 	STDMETHOD(EnableModeless)(THIS_ BOOL) PURE;
       
   307 };
       
   308 #undef INTERFACE
       
   309 
       
   310 EXTERN_C const IID IID_IOleInPlaceFrame;
       
   311 #define INTERFACE IOleInPlaceFrame
       
   312 DECLARE_INTERFACE_(IOleInPlaceFrame,IOleInPlaceUIWindow)
       
   313 {
       
   314 	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
       
   315 	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
       
   316 	STDMETHOD_(ULONG,Release)(THIS) PURE;
       
   317 	STDMETHOD(GetWindow)(THIS_ HWND*) PURE;
       
   318 	STDMETHOD(ContextSensitiveHelp)(THIS_ BOOL) PURE;
       
   319 	STDMETHOD(GetBorder)(THIS_ LPRECT) PURE;
       
   320 	STDMETHOD(RequestBorderSpace)(THIS_ LPCBORDERWIDTHS) PURE;
       
   321 	STDMETHOD(SetBorderSpace)(THIS_ LPCBORDERWIDTHS) PURE;
       
   322 	STDMETHOD(SetActiveObject)(THIS_ LPOLEINPLACEACTIVEOBJECT,LPCOLESTR) PURE;
       
   323 	STDMETHOD(InsertMenus)(THIS_ HMENU,LPOLEMENUGROUPWIDTHS) PURE;
       
   324 	STDMETHOD(SetMenu)(THIS_ HMENU,HOLEMENU,HWND) PURE;
       
   325 	STDMETHOD(RemoveMenus)(THIS_ HMENU) PURE;
       
   326 	STDMETHOD(SetStatusText)(THIS_ LPCOLESTR) PURE;
       
   327 	STDMETHOD(EnableModeless)(THIS_ BOOL) PURE;
       
   328 	STDMETHOD(TranslateAccelerator)(THIS_ LPMSG,WORD) PURE;
       
   329 };
       
   330 #undef INTERFACE
       
   331 
       
   332 #ifdef COBJMACROS
       
   333 #define IOleInPlaceFrame_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
       
   334 #define IOleInPlaceFrame_AddRef(T) (T)->lpVtbl->AddRef(T)
       
   335 #define IOleInPlaceFrame_Release(T) (T)->lpVtbl->Release(T)
       
   336 #define IOleInPlaceFrame_GetWindow(T,a) (T)->lpVtbl->GetWindow(T,a)
       
   337 #define IOleInPlaceFrame_ContextSensitiveHelp(T,a) (T)->lpVtbl->ContextSensitiveHelp(T,a)
       
   338 #define IOleInPlaceFrame_GetBorder(T,a) (T)->lpVtbl->GetBorder(T,a)
       
   339 #define IOleInPlaceFrame_RequestBorderSpace(T,a) (T)->lpVtbl->RequestBorderSpace(T,a)
       
   340 #define IOleInPlaceFrame_SetBorderSpace(T,a) (T)->lpVtbl->SetBorderSpace(T,a)
       
   341 #define IOleInPlaceFrame_SetActiveObject(T,a,b) (T)->lpVtbl->SetActiveObject(T,a,b)
       
   342 #define IOleInPlaceFrame_InsertMenus(T,a,b) (T)->lpVtbl->InsertMenus(T,a,b)
       
   343 #define IOleInPlaceFrame_SetMenu(T,a,b,c) (T)->lpVtbl->SetMenu(T,a,b,c)
       
   344 #define IOleInPlaceFrame_RemoveMenus(T,a) (T)->lpVtbl->RemoveMenus(T,a)
       
   345 #define IOleInPlaceFrame_SetStatusText(T,a) (T)->lpVtbl->SetStatusText(T,a)
       
   346 #define IOleInPlaceFrame_EnableModeless(T,a) (T)->lpVtbl->EnableModeless(T,a)
       
   347 #define IOleInPlaceFrame_TranslateAccelerator(T,a,b) (T)->lpVtbl->TranslateAccelerator(T,a,b)
       
   348 #endif
       
   349 
       
   350 EXTERN_C const IID IID_IOleInPlaceSite;
       
   351 #define INTERFACE IOleInPlaceSite
       
   352 DECLARE_INTERFACE_(IOleInPlaceSite,IOleWindow)
       
   353 {
       
   354 	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
       
   355 	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
       
   356 	STDMETHOD_(ULONG,Release)(THIS) PURE;
       
   357 	STDMETHOD(GetWindow)(THIS_ HWND*) PURE;
       
   358 	STDMETHOD(ContextSensitiveHelp)(THIS_ BOOL) PURE;
       
   359 	STDMETHOD(CanInPlaceActivate)(THIS) PURE;
       
   360 	STDMETHOD(OnInPlaceActivate)(THIS) PURE;
       
   361 	STDMETHOD(OnUIActivate)(THIS) PURE;
       
   362 	STDMETHOD(GetWindowContext)(THIS_ IOleInPlaceFrame**,IOleInPlaceUIWindow**,LPRECT,LPRECT,LPOLEINPLACEFRAMEINFO) PURE;
       
   363 	STDMETHOD(Scroll)(THIS_ SIZE) PURE;
       
   364 	STDMETHOD(OnUIDeactivate)(THIS_ BOOL) PURE;
       
   365 	STDMETHOD(OnInPlaceDeactivate)(THIS) PURE;
       
   366 	STDMETHOD(DiscardUndoState)(THIS) PURE;
       
   367 	STDMETHOD(DeactivateAndUndo)(THIS) PURE;
       
   368 	STDMETHOD(OnPosRectChange)(THIS_ LPCRECT) PURE;
       
   369 };
       
   370 #undef INTERFACE
       
   371 
       
   372 EXTERN_C const IID IID_IOleAdviseHolder;
       
   373 #define INTERFACE IOleAdviseHolder
       
   374 DECLARE_INTERFACE_(IOleAdviseHolder,IUnknown)
       
   375 {
       
   376 	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
       
   377 	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
       
   378 	STDMETHOD_(ULONG,Release)(THIS) PURE;
       
   379 	STDMETHOD(Advise)(THIS_ LPADVISESINK,PDWORD) PURE;
       
   380 	STDMETHOD(Unadvise)(THIS_ DWORD) PURE;
       
   381 	STDMETHOD(EnumAdvise)(THIS_ LPENUMSTATDATA*) PURE;
       
   382 	STDMETHOD(SendOnRename)(THIS_ LPMONIKER) PURE;
       
   383 	STDMETHOD(SendOnSave)(THIS) PURE;
       
   384 	STDMETHOD(SendOnClose)(THIS) PURE;
       
   385 };
       
   386 #undef INTERFACE
       
   387 
       
   388 #ifdef COBJMACROS
       
   389 #define IOleAdviseHolder_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
       
   390 #define IOleAdviseHolder_AddRef(T) (T)->lpVtbl->AddRef(T)
       
   391 #define IOleAdviseHolder_Release(T) (T)->lpVtbl->Release(T)
       
   392 #define IOleAdviseHolder_Advise(T,a,b) (T)->lpVtbl->Advise(T,a,b)
       
   393 #define IOleAdviseHolder_Unadvise(T,a) (T)->lpVtbl->Unadvise(T,a)
       
   394 #define IOleAdviseHolder_EnumAdvise(T,a) (T)->lpVtbl->EnumAdvise(T,a)
       
   395 #define IOleAdviseHolder_SendOnRename(T,a) (T)->lpVtbl->SendOnRename(T,a)
       
   396 #define IOleAdviseHolder_SendOnSave(T) (T)->lpVtbl->SendOnSave(T)
       
   397 #define IOleAdviseHolder_SendOnClose(T) (T)->lpVtbl->SendOnClose(T)
       
   398 #endif
       
   399 
       
   400 EXTERN_C const IID IID_IDropSource;
       
   401 #define INTERFACE IDropSource
       
   402 DECLARE_INTERFACE_(IDropSource,IUnknown)
       
   403 {
       
   404 	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
       
   405 	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
       
   406 	STDMETHOD_(ULONG,Release)(THIS) PURE;
       
   407 	STDMETHOD(QueryContinueDrag)(THIS_ BOOL,DWORD) PURE;
       
   408 	STDMETHOD(GiveFeedback)(THIS_ DWORD) PURE;
       
   409 };
       
   410 #undef INTERFACE
       
   411 
       
   412 #ifdef COBJMACROS
       
   413 #define IDropSource_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
       
   414 #define IDropSource_AddRef(T) (T)->lpVtbl->AddRef(T)
       
   415 #define IDropSource_Release(T) (T)->lpVtbl->Release(T)
       
   416 #define IDropSource_QueryContinueDrag(T,a,b) (T)->lpVtbl->QueryContinueDrag(T,a,b)
       
   417 #define IDropSource_GiveFeedback(T,a) (T)->lpVtbl->GiveFeedback(T,a)
       
   418 #endif
       
   419 
       
   420 EXTERN_C const IID IID_IDropTarget;
       
   421 #define INTERFACE IDropTarget
       
   422 DECLARE_INTERFACE_(IDropTarget,IUnknown)
       
   423 {
       
   424 	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
       
   425 	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
       
   426 	STDMETHOD_(ULONG,Release)(THIS) PURE;
       
   427 	STDMETHOD(DragEnter)(THIS_ LPDATAOBJECT,DWORD,POINTL,PDWORD) PURE;
       
   428 	STDMETHOD(DragOver)(THIS_ DWORD,POINTL,PDWORD) PURE;
       
   429 	STDMETHOD(DragLeave)(THIS) PURE;
       
   430 	STDMETHOD(Drop)(THIS_ LPDATAOBJECT,DWORD,POINTL,PDWORD) PURE;
       
   431 };
       
   432 #undef INTERFACE
       
   433 
       
   434 #ifdef COBJMACROS
       
   435 #define IDropTarget_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
       
   436 #define IDropTarget_AddRef(T) (T)->lpVtbl->AddRef(T)
       
   437 #define IDropTarget_Release(T) (T)->lpVtbl->Release(T)
       
   438 #define IDropTarget_DragEnter(T,a,b,c,d) (T)->lpVtbl->DragEnter(T,a,b,c,d)
       
   439 #define IDropTarget_DragOver(T,a,b,c) (T)->lpVtbl->DragOver(T,a,b,c)
       
   440 #define IDropTarget_DragLeave(T) (T)->lpVtbl->DragLeave(T)
       
   441 #define IDropTarget_Drop(T,a,b,c,d) (T)->lpVtbl->Drop(T,a,b,c,d)
       
   442 #endif
       
   443 
       
   444 typedef BOOL(CALLBACK *__IView_pfncont)(DWORD);
       
   445 EXTERN_C const IID IID_IViewObject;
       
   446 #define INTERFACE IViewObject
       
   447 DECLARE_INTERFACE_(IViewObject,IUnknown)
       
   448 {
       
   449 	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
       
   450 	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
       
   451 	STDMETHOD_(ULONG,Release)(THIS) PURE;
       
   452 	STDMETHOD(Draw)(THIS_ DWORD,LONG,PVOID,DVTARGETDEVICE*,HDC,HDC,LPCRECTL,LPCRECTL,__IView_pfncont pfnContinue,DWORD) PURE;
       
   453 	STDMETHOD(GetColorSet)(THIS_ DWORD,LONG,PVOID,DVTARGETDEVICE*,HDC,LPLOGPALETTE*) PURE;
       
   454 	STDMETHOD(Freeze)(THIS_ DWORD,LONG,PVOID,PDWORD) PURE;
       
   455 	STDMETHOD(Unfreeze)(THIS_ DWORD) PURE;
       
   456 	STDMETHOD(SetAdvise)(THIS_ DWORD,DWORD,IAdviseSink*) PURE;
       
   457 	STDMETHOD(GetAdvise)(THIS_ PDWORD,PDWORD,IAdviseSink**) PURE;
       
   458 };
       
   459 #undef INTERFACE
       
   460 
       
   461 #ifdef COBJMACROS
       
   462 #define IViewObject_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
       
   463 #define IViewObject_AddRef(T) (T)->lpVtbl->AddRef(T)
       
   464 #define IViewObject_Release(T) (T)->lpVtbl->Release(T)
       
   465 #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)
       
   466 #define IViewObject_GetColorSet(T,a,b,c,d,e,f) (T)->lpVtbl->GetColorSet(T,a,b,c,d,e,f)
       
   467 #define IViewObject_Freeze(T,a,b,c,d) (T)->lpVtbl->Freeze(T,a,b,c,d)
       
   468 #define IViewObject_Unfreeze(T,a) (T)->lpVtbl->Unfreeze(T,a)
       
   469 #define IViewObject_SetAdvise(T,a,b,c) (T)->lpVtbl->SetAdvise(T,a,b,c)
       
   470 #define IViewObject_GetAdvise(T,a,b,c) (T)->lpVtbl->GetAdvise(T,a,b,c)
       
   471 #endif
       
   472 
       
   473 EXTERN_C const IID IID_IViewObject2;
       
   474 #define INTERFACE IViewObject2
       
   475 DECLARE_INTERFACE_(IViewObject2,IViewObject)
       
   476 {
       
   477 	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
       
   478 	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
       
   479 	STDMETHOD_(ULONG,Release)(THIS) PURE;
       
   480 	STDMETHOD(Draw)(THIS_ DWORD,LONG,PVOID,DVTARGETDEVICE*,HDC,HDC,LPCRECTL,LPCRECTL,__IView_pfncont pfnContinue,DWORD) PURE;
       
   481 	STDMETHOD(GetColorSet)(THIS_ DWORD,LONG,PVOID,DVTARGETDEVICE*,HDC,LPLOGPALETTE*) PURE;
       
   482 	STDMETHOD(Freeze)(THIS_ DWORD,LONG,PVOID,PDWORD) PURE;
       
   483 	STDMETHOD(Unfreeze)(THIS_ DWORD) PURE;
       
   484 	STDMETHOD(SetAdvise)(THIS_ DWORD,DWORD,IAdviseSink*) PURE;
       
   485 	STDMETHOD(GetAdvise)(THIS_ PDWORD,PDWORD,IAdviseSink**) PURE;
       
   486 	STDMETHOD(GetExtent)(THIS_ DWORD,LONG,DVTARGETDEVICE*,LPSIZEL) PURE;
       
   487 };
       
   488 #undef INTERFACE
       
   489 
       
   490 #ifdef COBJMACROS
       
   491 #define IViewObject2_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
       
   492 #define IViewObject2_AddRef(T) (T)->lpVtbl->AddRef(T)
       
   493 #define IViewObject2_Release(T) (T)->lpVtbl->Release(T)
       
   494 #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)
       
   495 #define IViewObject2_GetColorSet(T,a,b,c,d,e,f) (T)->lpVtbl->GetColorSet(T,a,b,c,d,e,f)
       
   496 #define IViewObject2_Freeze(T,a,b,c,d) (T)->lpVtbl->Freeze(T,a,b,c,d)
       
   497 #define IViewObject2_Unfreeze(T,a) (T)->lpVtbl->Unfreeze(T,a)
       
   498 #define IViewObject2_SetAdvise(T,a,b,c) (T)->lpVtbl->SetAdvise(T,a,b,c)
       
   499 #define IViewObject2_GetAdvise(T,a,b,c) (T)->lpVtbl->GetAdvise(T,a,b,c)
       
   500 #define IViewObject2_GetExtent(T,a,b,c,d) (T)->lpVtbl->GetExtent(T,a,b,c,d)
       
   501 #endif
       
   502 
       
   503 EXTERN_C const IID IID_IOleCache;
       
   504 #define INTERFACE IOleCache
       
   505 DECLARE_INTERFACE_(IOleCache,IUnknown)
       
   506 {
       
   507 	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
       
   508 	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
       
   509 	STDMETHOD_(ULONG,Release)(THIS) PURE;
       
   510 	STDMETHOD(Cache)(THIS_ FORMATETC*,DWORD,DWORD*) PURE;
       
   511 	STDMETHOD(Uncache)(THIS_ DWORD) PURE; 
       
   512 	STDMETHOD(EnumCache)(THIS_ IEnumSTATDATA**); 
       
   513 	STDMETHOD(InitCache)(THIS_ LPDATAOBJECT); 
       
   514 	STDMETHOD(SetData)(THIS_ FORMATETC*,STGMEDIUM*,BOOL); 
       
   515 };
       
   516 #undef INTERFACE
       
   517 
       
   518 #ifdef COBJMACROS
       
   519 #define IOleCache_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
       
   520 #define IOleCache_AddRef(T) (T)->lpVtbl->AddRef(T)
       
   521 #define IOleCache_Release(T) (T)->lpVtbl->Release(T)
       
   522 #define IOleCache_Cache(T,a,b,c) (T)->lpVtbl->Cache(T,a,b,c)
       
   523 #define IOleCache_Uncache(T,a) (T)->lpVtbl->Uncache(T,a)
       
   524 #define IOleCache_EnumCache(T,a) (T)->lpVtbl->EnumCache(T,a)
       
   525 #define IOleCache_InitCache(T,a) (T)->lpVtbl->InitCache(T,a)
       
   526 #define IOleCache_SetData(T,a,b,c) (T)->lpVtbl->SetData(T,a,b,c)
       
   527 #endif
       
   528 
       
   529 EXTERN_C const IID IID_IOleCache2;
       
   530 #define INTERFACE IOleCache2
       
   531 DECLARE_INTERFACE_(IOleCache2,IOleCache)
       
   532 {
       
   533 	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
       
   534 	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
       
   535 	STDMETHOD_(ULONG,Release)(THIS) PURE;
       
   536 	STDMETHOD(Cache)(THIS_ FORMATETC*,DWORD,DWORD*) PURE;
       
   537 	STDMETHOD(Uncache)(THIS_ DWORD) PURE; 
       
   538 	STDMETHOD(EnumCache)(THIS_ IEnumSTATDATA**) PURE; 
       
   539 	STDMETHOD(InitCache)(THIS_ LPDATAOBJECT) PURE; 
       
   540 	STDMETHOD(SetData)(THIS_ FORMATETC*,STGMEDIUM*,BOOL) PURE; 
       
   541 	STDMETHOD(UpdateCache)(THIS_ LPDATAOBJECT,DWORD,LPVOID) PURE; 
       
   542 	STDMETHOD(DiscardCache)(THIS_ DWORD) PURE;
       
   543 };
       
   544 #undef INTERFACE
       
   545 
       
   546 #ifdef COBJMACROS
       
   547 #define IOleCache2_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
       
   548 #define IOleCache2_AddRef(T) (T)->lpVtbl->AddRef(T)
       
   549 #define IOleCache2_Release(T) (T)->lpVtbl->Release(T)
       
   550 #define IOleCache2_Cache(T,a,b,c) (T)->lpVtbl->Cache(T,a,b,c)
       
   551 #define IOleCache2_Uncache(T,a) (T)->lpVtbl->Uncache(T,a)
       
   552 #define IOleCache2_EnumCache(T,a) (T)->lpVtbl->EnumCache(T,a)
       
   553 #define IOleCache2_InitCache(T,a) (T)->lpVtbl->InitCache(T,a)
       
   554 #define IOleCache2_SetData(T,a,b,c) (T)->lpVtbl->SetData(T,a,b,c)
       
   555 #define IOleCache2_UpdateCache(T,a,b,c) (T)->lpVtbl->UpdateCache(T,a,b,c)
       
   556 #define IOleCache2_DiscardCache(T,a) (T)->lpVtbl->DiscardCache(T,a)
       
   557 #endif
       
   558 
       
   559 EXTERN_C const IID IID_IOleCacheControl;
       
   560 #define INTERFACE IOleCacheControl
       
   561 DECLARE_INTERFACE_(IOleCacheControl,IUnknown)
       
   562 {
       
   563 	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
       
   564 	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
       
   565 	STDMETHOD_(ULONG,Release)(THIS) PURE;
       
   566 	STDMETHOD(OnRun)(THIS_ LPDATAOBJECT) PURE;
       
   567 	STDMETHOD(OnStop)(THIS) PURE;
       
   568 };
       
   569 #undef INTERFACE
       
   570 
       
   571 #ifdef __cplusplus
       
   572 }
       
   573 #endif
       
   574 #endif
       
   575