mingw-5.1.4/win32/include/ocidl.h
changeset 0 76b1f169d9fe
equal deleted inserted replaced
-1:000000000000 0:76b1f169d9fe
       
     1 #ifndef _OCIDL_H
       
     2 #define _OCIDL_H
       
     3 #if __GNUC__ >= 3
       
     4 #pragma GCC system_header
       
     5 #endif
       
     6 
       
     7 #ifdef __cplusplus
       
     8 extern "C" {
       
     9 #endif
       
    10 
       
    11 #include <ole2.h>
       
    12 
       
    13 typedef _COM_interface IErrorLog *LPERRORLOG;
       
    14 typedef _COM_interface IPropertyBag *LPPROPERTYBAG;
       
    15 typedef _COM_interface IPropertyBag2 *LPPROPERTYBAG2;
       
    16 typedef _COM_interface IEnumConnections *LPENUMCONNECTIONS;
       
    17 typedef _COM_interface IConnectionPoint *LPCONNECTIONPOINT;
       
    18 typedef _COM_interface IEnumConnectionPoints *LPENUMCONNECTIONPOINTS;
       
    19 typedef _COM_interface IPropertyPageSite *LPPROPERTYPAGESITE;
       
    20 typedef _COM_interface IFont *LPFONT;
       
    21 typedef _COM_interface IFontDisp *LPFONTDISP;
       
    22 typedef _COM_interface IOleUndoManager *LPOLEUNDOMANAGER;
       
    23 
       
    24 #ifndef OLE2ANSI
       
    25 typedef TEXTMETRICW TEXTMETRICOLE;
       
    26 #else
       
    27 typedef TEXTMETRIC TEXTMETRICOLE;
       
    28 #endif
       
    29 typedef TEXTMETRICOLE *LPTEXTMETRICOLE;
       
    30 typedef DWORD OLE_COLOR;
       
    31 typedef UINT OLE_HANDLE;
       
    32 typedef long OLE_XPOS_HIMETRIC;
       
    33 typedef long OLE_YPOS_HIMETRIC;
       
    34 typedef long OLE_XSIZE_HIMETRIC;
       
    35 typedef long OLE_YSIZE_HIMETRIC;
       
    36 
       
    37 typedef enum tagREADYSTATE {
       
    38 	READYSTATE_UNINITIALIZED = 0,
       
    39 	READYSTATE_LOADING = 1,
       
    40 	READYSTATE_LOADED = 2,
       
    41 	READYSTATE_INTERACTIVE = 3,
       
    42 	READYSTATE_COMPLETE = 4
       
    43 } READYSTATE;
       
    44 typedef enum tagPROPBAG2_TYPE {
       
    45 	PROPBAG2_TYPE_UNDEFINED	= 0,
       
    46 	PROPBAG2_TYPE_DATA = 1,
       
    47 	PROPBAG2_TYPE_URL = 2,
       
    48 	PROPBAG2_TYPE_OBJECT = 3,
       
    49 	PROPBAG2_TYPE_STREAM = 4,
       
    50 	PROPBAG2_TYPE_STORAGE = 5,
       
    51 	PROPBAG2_TYPE_MONIKER = 6
       
    52 } PROPBAG2_TYPE;
       
    53 typedef struct tagPROPBAG2
       
    54 {
       
    55 	DWORD dwType;
       
    56 	VARTYPE vt;
       
    57 	CLIPFORMAT cfType;
       
    58 	DWORD dwHint;
       
    59 	LPOLESTR pstrName;
       
    60 	CLSID clsid;
       
    61 } PROPBAG2;
       
    62 typedef enum tagQACONTAINERFLAGS
       
    63 {
       
    64 	QACONTAINER_SHOWHATCHING = 1,
       
    65 	QACONTAINER_SHOWGRABHANDLES = 2,
       
    66 	QACONTAINER_USERMODE = 4,
       
    67 	QACONTAINER_DISPLAYASDEFAULT = 8,
       
    68 	QACONTAINER_UIDEAD = 16,
       
    69 	QACONTAINER_AUTOCLIP = 32,
       
    70 	QACONTAINER_MESSAGEREFLECT = 64,
       
    71 	QACONTAINER_SUPPORTSMNEMONICS = 128
       
    72 } QACONTAINERFLAGS;
       
    73 typedef struct tagQACONTAINER
       
    74 {
       
    75 	ULONG cbSize;
       
    76 	_COM_interface IOleClientSite *pClientSite;
       
    77 	_COM_interface IAdviseSinkEx *pAdviseSink;
       
    78 	_COM_interface IPropertyNotifySink *pPropertyNotifySink;
       
    79 	IUnknown *pUnkEventSink;
       
    80 	DWORD dwAmbientFlags;
       
    81 	OLE_COLOR colorFore;
       
    82 	OLE_COLOR colorBack;
       
    83 	_COM_interface IFont *pFont;
       
    84 	_COM_interface IOleUndoManager *pUndoMgr;
       
    85 	DWORD dwAppearance;
       
    86 	LONG lcid;
       
    87 	HPALETTE hpal;
       
    88 	_COM_interface IBindHost *pBindHost;
       
    89 	_COM_interface IOleControlSite *pOleControlSite;
       
    90 	_COM_interface IServiceProvider *pServiceProvider;
       
    91 } QACONTAINER;
       
    92 typedef struct tagQACONTROL
       
    93 {
       
    94 	ULONG cbSize;
       
    95 	DWORD dwMiscStatus;
       
    96 	DWORD dwViewStatus;
       
    97 	DWORD dwEventCookie;
       
    98 	DWORD dwPropNotifyCookie;
       
    99 	DWORD dwPointerActivationPolicy;
       
   100 } QACONTROL;
       
   101 typedef struct tagPOINTF {
       
   102 	float x;
       
   103 	float y;
       
   104 } POINTF,*LPPOINTF;
       
   105 typedef struct tagCONTROLINFO {
       
   106 	ULONG cb;
       
   107 	HACCEL hAccel;
       
   108 	USHORT cAccel;
       
   109 	DWORD dwFlags;
       
   110 } CONTROLINFO,*LPCONTROLINFO;
       
   111 typedef struct tagCONNECTDATA {
       
   112 	LPUNKNOWN pUnk;
       
   113 	DWORD dwCookie;
       
   114 } CONNECTDATA,*LPCONNECTDATA;
       
   115 typedef struct tagLICINFO {
       
   116 	long cbLicInfo;
       
   117 	BOOL fRuntimeKeyAvail;
       
   118 	BOOL fLicVerified;
       
   119 } LICINFO,*LPLICINFO;
       
   120 typedef struct tagCAUUID {
       
   121 	ULONG cElems;
       
   122 	GUID *pElems;
       
   123 } CAUUID,*LPCAUUID;
       
   124 typedef struct tagCALPOLESTR {
       
   125 	ULONG cElems;
       
   126 	LPOLESTR *pElems;
       
   127 } CALPOLESTR,*LPCALPOLESTR;
       
   128 typedef struct tagCADWORD {
       
   129 	ULONG cElems;
       
   130 	DWORD *pElems;
       
   131 } CADWORD,*LPCADWORD;
       
   132 typedef struct tagPROPPAGEINFO {
       
   133 	ULONG cb;
       
   134 	LPOLESTR pszTitle;
       
   135 	SIZE size;
       
   136 	LPOLESTR pszDocString;
       
   137 	LPOLESTR pszHelpFile;
       
   138 	DWORD dwHelpContext;
       
   139 } PROPPAGEINFO,*LPPROPPAGEINFO;
       
   140 
       
   141 EXTERN_C const IID IID_IOleControl;
       
   142 #define INTERFACE IOleControl
       
   143 DECLARE_INTERFACE_(IOleControl,IUnknown)
       
   144 {
       
   145 	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
       
   146 	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
       
   147 	STDMETHOD_(ULONG,Release)(THIS) PURE;
       
   148 	STDMETHOD(GetControlInfo)(THIS_ LPCONTROLINFO) PURE;
       
   149 	STDMETHOD(OnMnemonic)(THIS_ LPMSG) PURE;
       
   150 	STDMETHOD(OnAmbientPropertyChange)(THIS_ DISPID) PURE;
       
   151 	STDMETHOD(FreezeEvents)(THIS_ BOOL) PURE;
       
   152 };
       
   153 #undef INTERFACE
       
   154 
       
   155 EXTERN_C const IID IID_IOleControlSite;
       
   156 #define INTERFACE IOleControlSite
       
   157 DECLARE_INTERFACE_(IOleControlSite,IUnknown)
       
   158 {
       
   159 	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
       
   160 	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
       
   161 	STDMETHOD_(ULONG,Release)(THIS) PURE;
       
   162 	STDMETHOD(OnControlInfoChanged)(THIS) PURE;
       
   163 	STDMETHOD(LockInPlaceActive)(THIS_ BOOL) PURE;
       
   164 	STDMETHOD(GetExtendedControl)(THIS_ LPDISPATCH*) PURE;
       
   165 	STDMETHOD(TransformCoords)(THIS_ POINTL*,POINTF*,DWORD) PURE;
       
   166 	STDMETHOD(TranslateAccelerator)(THIS_ LPMSG,DWORD) PURE;
       
   167 	STDMETHOD(OnFocus)(THIS_ BOOL) PURE;
       
   168 	STDMETHOD(ShowPropertyFrame)(THIS) PURE;
       
   169 };
       
   170 #undef INTERFACE
       
   171 
       
   172 #ifdef COBJMACROS
       
   173 #define IOleControlSite_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
       
   174 #define IOleControlSite_AddRef(T) (T)->lpVtbl->AddRef(T)
       
   175 #define IOleControlSite_Release(T) (T)->lpVtbl->Release(T)
       
   176 #define IOleControlSite_OnControlInfoChanged(T) (T)->lpVtbl->OnControlInfoChanged(T)
       
   177 #define IOleControlSite_LockInPlaceActive(T,a) (T)->lpVtbl->LockInPlaceActive(T,a)
       
   178 #define IOleControlSite_GetExtendedControl(T,a) (T)->lpVtbl->GetExtendedControl(T,a)
       
   179 #define IOleControlSite_TransformCoords(T,a,b,c) (T)->lpVtbl->TransformCoords(T,a,b,c)
       
   180 #define IOleControlSite_TranslateAccelerator(T,a,b) (T)->lpVtbl->TranslateAccelerator(T,a,b)
       
   181 #define IOleControlSite_OnFocus(T,a) (T)->lpVtbl->OnFocus(T,a)
       
   182 #define IOleControlSite_ShowPropertyFrame(T) (T)->lpVtbl->ShowPropertyFrame(T)
       
   183 #endif
       
   184 
       
   185 EXTERN_C const IID IID_ISimpleFrameSite;
       
   186 #define INTERFACE ISimpleFrameSite
       
   187 DECLARE_INTERFACE_(ISimpleFrameSite,IUnknown)
       
   188 {
       
   189 	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
       
   190 	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
       
   191 	STDMETHOD_(ULONG,Release)(THIS) PURE;
       
   192 	STDMETHOD(PreMessageFilter)(THIS_ HWND,UINT,WPARAM,LPARAM,LRESULT*,PDWORD) PURE;
       
   193 	STDMETHOD(PostMessageFilter)(THIS_ HWND,UINT,WPARAM,LPARAM,LRESULT*,DWORD) PURE;
       
   194 };
       
   195 #undef INTERFACE
       
   196 
       
   197 EXTERN_C const IID IID_IErrorLog;
       
   198 #define INTERFACE IErrorLog
       
   199 DECLARE_INTERFACE_(IErrorLog,IUnknown)
       
   200 {
       
   201 	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
       
   202 	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
       
   203 	STDMETHOD_(ULONG,Release)(THIS) PURE;
       
   204 	STDMETHOD(AddError)(THIS_ LPCOLESTR,LPEXCEPINFO) PURE;
       
   205 };
       
   206 #undef INTERFACE
       
   207 
       
   208 EXTERN_C const IID IID_IPropertyBag;
       
   209 #define INTERFACE IPropertyBag
       
   210 DECLARE_INTERFACE_(IPropertyBag,IUnknown)
       
   211 {
       
   212 	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
       
   213 	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
       
   214 	STDMETHOD_(ULONG,Release)(THIS) PURE;
       
   215 	STDMETHOD(Read)(THIS_ LPCOLESTR,LPVARIANT,LPERRORLOG) PURE;
       
   216 	STDMETHOD(Write)(THIS_ LPCOLESTR,LPVARIANT) PURE;
       
   217 };
       
   218 #undef INTERFACE
       
   219 
       
   220 EXTERN_C const IID IID_IPropertyBag2;
       
   221 #define INTERFACE IPropertyBag2
       
   222 DECLARE_INTERFACE_(IPropertyBag2,IUnknown)
       
   223 {
       
   224 	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
       
   225 	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
       
   226 	STDMETHOD_(ULONG,Release)(THIS) PURE;
       
   227 	STDMETHOD(Read)(THIS_ ULONG,PROPBAG2*,LPERRORLOG,VARIANT*,HRESULT*) PURE;
       
   228 	STDMETHOD(Write)(THIS_ ULONG,PROPBAG2*,VARIANT*) PURE;
       
   229 	STDMETHOD(CountProperties)(THIS_ ULONG*) PURE;
       
   230 	STDMETHOD(GetPropertyInfo)(THIS_ ULONG,ULONG,PROPBAG2*,ULONG*) PURE;
       
   231 	STDMETHOD(LoadObject)(THIS_ LPCOLESTR,DWORD,IUnknown*,LPERRORLOG) PURE;
       
   232 };
       
   233 #undef INTERFACE
       
   234 
       
   235 EXTERN_C const IID IID_IPersistPropertyBag;
       
   236 #define INTERFACE IPersistPropertyBag
       
   237 DECLARE_INTERFACE_(IPersistPropertyBag,IPersist)
       
   238 {
       
   239 	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
       
   240 	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
       
   241 	STDMETHOD_(ULONG,Release)(THIS) PURE;
       
   242 	STDMETHOD(GetClassID)(THIS_ LPCLSID) PURE;
       
   243 	STDMETHOD(InitNew)(THIS) PURE;
       
   244 	STDMETHOD(Load)(THIS_ LPPROPERTYBAG,LPERRORLOG) PURE;
       
   245 	STDMETHOD(Save)(THIS_ LPPROPERTYBAG,BOOL,BOOL) PURE;
       
   246 };
       
   247 #undef INTERFACE
       
   248 
       
   249 #ifdef COBJMACROS
       
   250 #define IPersistPropertyBag_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
       
   251 #define IPersistPropertyBag_AddRef(T) (T)->lpVtbl->AddRef(T)
       
   252 #define IPersistPropertyBag_Release(T) (T)->lpVtbl->Release(T)
       
   253 #define IPersistPropertyBag_GetClassID(T,a) (T)->lpVtbl->GetClassID(T,a)
       
   254 #define IPersistPropertyBag_InitNew(T) (T)->lpVtbl->InitNew(T)
       
   255 #define IPersistPropertyBag_Load(T,a,b) (T)->lpVtbl->Load(T,a,b)
       
   256 #define IPersistPropertyBag_Save(T,a,b,c) (T)->lpVtbl->Save(T,a,b,c)
       
   257 #endif
       
   258 
       
   259 EXTERN_C const IID IID_IPersistPropertyBag2;
       
   260 #define INTERFACE IPersistPropertyBag2
       
   261 DECLARE_INTERFACE_(IPersistPropertyBag2,IPersist)
       
   262 {
       
   263 	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
       
   264 	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
       
   265 	STDMETHOD_(ULONG,Release)(THIS) PURE;
       
   266 	STDMETHOD(GetClassID)(THIS_ LPCLSID) PURE;
       
   267 	STDMETHOD(InitNew)(THIS) PURE;
       
   268 	STDMETHOD(Load)(THIS_ LPPROPERTYBAG2,LPERRORLOG) PURE;
       
   269 	STDMETHOD(Save)(THIS_ LPPROPERTYBAG2,BOOL,BOOL) PURE;
       
   270 	STDMETHOD(IsDirty)(THIS) PURE;
       
   271 };
       
   272 #undef INTERFACE
       
   273 
       
   274 #ifdef COBJMACROS
       
   275 #define IPersistPropertyBag2_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
       
   276 #define IPersistPropertyBag2_AddRef(T) (T)->lpVtbl->AddRef(T)
       
   277 #define IPersistPropertyBag2_Release(T) (T)->lpVtbl->Release(T)
       
   278 #define IPersistPropertyBag2_GetClassID(T,a) (T)->lpVtbl->GetClassID(T,a)
       
   279 #define IPersistPropertyBag2_InitNew(T) (T)->lpVtbl->InitNew(T)
       
   280 #define IPersistPropertyBag2_Load(T,a,b) (T)->lpVtbl->Load(T,a,b)
       
   281 #define IPersistPropertyBag2_Save(T,a,b,c) (T)->lpVtbl->Save(T,a,b,c)
       
   282 #define IPersistPropertyBag2_IsDirty(T) (T)->lpVtbl->IsDirty(T)
       
   283 #endif
       
   284 
       
   285 EXTERN_C const IID IID_IPersistStreamInit;
       
   286 #define INTERFACE IPersistStreamInit
       
   287 DECLARE_INTERFACE_(IPersistStreamInit,IPersist)
       
   288 {
       
   289 	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
       
   290 	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
       
   291 	STDMETHOD_(ULONG,Release)(THIS) PURE;
       
   292 	STDMETHOD(GetClassID)(THIS_ LPCLSID) PURE;
       
   293 	STDMETHOD(IsDirty)(THIS) PURE;
       
   294 	STDMETHOD(Load)(THIS_ LPSTREAM) PURE;
       
   295 	STDMETHOD(Save)(THIS_ LPSTREAM,BOOL) PURE;
       
   296 	STDMETHOD(GetSizeMax)(THIS_ PULARGE_INTEGER) PURE;
       
   297 	STDMETHOD(InitNew)(THIS) PURE;
       
   298 };
       
   299 #undef INTERFACE
       
   300 
       
   301 EXTERN_C const IID IID_IPersistMemory;
       
   302 #define INTERFACE IPersistMemory
       
   303 DECLARE_INTERFACE_(IPersistMemory,IPersist)
       
   304 {
       
   305 	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
       
   306 	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
       
   307 	STDMETHOD_(ULONG,Release)(THIS) PURE;
       
   308 	STDMETHOD(GetClassID)(THIS_ LPCLSID) PURE;
       
   309 	STDMETHOD(IsDirty)(THIS) PURE;
       
   310 	STDMETHOD(Load)(THIS_ PVOID,ULONG) PURE;
       
   311 	STDMETHOD(Save)(THIS_ PVOID,BOOL,ULONG) PURE;
       
   312 	STDMETHOD(GetSizeMax)(THIS_ PULONG) PURE;
       
   313 	STDMETHOD(InitNew)(THIS) PURE;
       
   314 };
       
   315 #undef INTERFACE
       
   316 
       
   317 EXTERN_C const IID IID_IPropertyNotifySink;
       
   318 #define INTERFACE IPropertyNotifySink
       
   319 DECLARE_INTERFACE_(IPropertyNotifySink,IUnknown)
       
   320 {
       
   321 	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
       
   322 	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
       
   323 	STDMETHOD_(ULONG,Release)(THIS) PURE;
       
   324 	STDMETHOD(OnChanged)(THIS_ DISPID) PURE;
       
   325 	STDMETHOD(OnRequestEdit)(THIS_ DISPID) PURE;
       
   326 };
       
   327 #undef INTERFACE
       
   328 
       
   329 #ifdef COBJMACROS
       
   330 #define IPropertyNotifySink_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
       
   331 #define IPropertyNotifySink_AddRef(T) (T)->lpVtbl->AddRef(T)
       
   332 #define IPropertyNotifySink_Release(T) (T)->lpVtbl->Release(T)
       
   333 #define IPropertyNotifySink_OnChanged(T,a) (T)->lpVtbl->OnChanged(T,a)
       
   334 #define IPropertyNotifySink_OnRequestEdit(T,a) (T)->lpVtbl->OnRequestEdit(T,a)
       
   335 #endif
       
   336 
       
   337 EXTERN_C const IID IID_IProvideClassInfo;
       
   338 #define INTERFACE IProvideClassInfo
       
   339 DECLARE_INTERFACE_(IProvideClassInfo,IUnknown)
       
   340 {
       
   341 	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
       
   342 	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
       
   343 	STDMETHOD_(ULONG,Release)(THIS) PURE;
       
   344 	STDMETHOD(GetClassInfo)(THIS_ LPTYPEINFO*) PURE;
       
   345 };
       
   346 #undef INTERFACE
       
   347 
       
   348 EXTERN_C const IID IID_IProvideClassInfo2;
       
   349 #define INTERFACE IProvideClassInfo2
       
   350 DECLARE_INTERFACE_(IProvideClassInfo2,IProvideClassInfo)
       
   351 {
       
   352 	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
       
   353 	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
       
   354 	STDMETHOD_(ULONG,Release)(THIS) PURE;
       
   355 	STDMETHOD(GetClassInfo)(THIS_ LPTYPEINFO*) PURE;
       
   356 	STDMETHOD(GetGUID)(THIS_ DWORD,GUID*) PURE;
       
   357 };
       
   358 #undef INTERFACE
       
   359 
       
   360 EXTERN_C const IID IID_IConnectionPointContainer;
       
   361 #define INTERFACE IConnectionPointContainer
       
   362 DECLARE_INTERFACE_(IConnectionPointContainer,IUnknown)
       
   363 {
       
   364 	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
       
   365 	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
       
   366 	STDMETHOD_(ULONG,Release)(THIS) PURE;
       
   367 	STDMETHOD(EnumConnectionPoints)(THIS_ LPENUMCONNECTIONPOINTS*) PURE;
       
   368 	STDMETHOD(FindConnectionPoint)(THIS_ REFIID,LPCONNECTIONPOINT*) PURE;
       
   369 };
       
   370 #undef INTERFACE
       
   371 
       
   372 #ifdef COBJMACROS
       
   373 #define IConnectionPointContainer_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
       
   374 #define IConnectionPointContainer_AddRef(T) (T)->lpVtbl->AddRef(T)
       
   375 #define IConnectionPointContainer_Release(T) (T)->lpVtbl->Release(T)
       
   376 #define IConnectionPointContainer_EnumConnectionPoints(T,a) (T)->lpVtbl->EnumConnectionPoints(T,a)
       
   377 #define IConnectionPointContainer_FindConnectionPoint(T,a,b) (T)->lpVtbl->FindConnectionPoint(T,a,b)
       
   378 #endif
       
   379 
       
   380 EXTERN_C const IID IID_IEnumConnectionPoints;
       
   381 #define INTERFACE IEnumConnectionPoints
       
   382 DECLARE_INTERFACE_(IEnumConnectionPoints,IUnknown)
       
   383 {
       
   384 	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
       
   385 	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
       
   386 	STDMETHOD_(ULONG,Release)(THIS) PURE;
       
   387 	STDMETHOD(Next)(THIS_ ULONG,LPCONNECTIONPOINT*,ULONG*) PURE;
       
   388 	STDMETHOD(Skip)(THIS_ ULONG) PURE;
       
   389 	STDMETHOD(Reset)(THIS) PURE;
       
   390 	STDMETHOD(Clone)(THIS_ LPENUMCONNECTIONPOINTS*) PURE;
       
   391 };
       
   392 #undef INTERFACE
       
   393 
       
   394 EXTERN_C const IID IID_IConnectionPoint;
       
   395 #define INTERFACE IConnectionPoint
       
   396 DECLARE_INTERFACE_(IConnectionPoint,IUnknown)
       
   397 {
       
   398 	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
       
   399 	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
       
   400 	STDMETHOD_(ULONG,Release)(THIS) PURE;
       
   401 	STDMETHOD(GetConnectionInterface)(THIS_ IID*) PURE;
       
   402 	STDMETHOD(GetConnectionPointContainer)(THIS_ IConnectionPointContainer**) PURE;
       
   403 	STDMETHOD(Advise)(THIS_ LPUNKNOWN,PDWORD) PURE;
       
   404 	STDMETHOD(Unadvise)(THIS_ DWORD) PURE;
       
   405 	STDMETHOD(EnumConnections)(THIS_ LPENUMCONNECTIONS*) PURE;
       
   406 };
       
   407 #undef INTERFACE
       
   408 
       
   409 #ifdef COBJMACROS
       
   410 #define IConnectionPoint_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
       
   411 #define IConnectionPoint_AddRef(T) (T)->lpVtbl->AddRef(T)
       
   412 #define IConnectionPoint_Release(T) (T)->lpVtbl->Release(T)
       
   413 #define IConnectionPoint_GetConnectionInterface(T,a) (T)->lpVtbl->GetConnectionInterface(T,a)
       
   414 #define IConnectionPoint_GetConnectionPointContainer(T,a) (T)->lpVtbl->GetConnectionPointContainer(T,a)
       
   415 #define IConnectionPoint_Advise(T,a,b) (T)->lpVtbl->Advise(T,a,b)
       
   416 #define IConnectionPoint_Unadvise(T,a) (T)->lpVtbl->Unadvise(T,a)
       
   417 #define IConnectionPoint_EnumConnections(T,a) (T)->lpVtbl->EnumConnections(T,a)
       
   418 #endif
       
   419 
       
   420 EXTERN_C const IID IID_IEnumConnections;
       
   421 #define INTERFACE IEnumConnections
       
   422 DECLARE_INTERFACE_(IEnumConnections,IUnknown)
       
   423 {
       
   424 	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
       
   425 	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
       
   426 	STDMETHOD_(ULONG,Release)(THIS) PURE;
       
   427 	STDMETHOD(Next)(THIS_ ULONG,LPCONNECTDATA,PULONG) PURE;
       
   428 	STDMETHOD(Skip)(THIS_ ULONG) PURE;
       
   429 	STDMETHOD(Reset)(THIS) PURE;
       
   430 	STDMETHOD(Clone)(THIS_ LPENUMCONNECTIONS*) PURE;
       
   431 };
       
   432 #undef INTERFACE
       
   433 
       
   434 #ifdef COBJMACROS
       
   435 #define IEnumConnections_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
       
   436 #define IEnumConnections_AddRef(T) (T)->lpVtbl->AddRef(T)
       
   437 #define IEnumConnections_Release(T) (T)->lpVtbl->Release(T)
       
   438 #define IEnumConnections_Next(T,a,b,c) (T)->lpVtbl->Next(T,a,b,c)
       
   439 #define IEnumConnections_Skip(T,a) (T)->lpVtbl->Skip(T,a)
       
   440 #define IEnumConnections_Reset(T) (T)->lpVtbl->Reset(T)
       
   441 #define IEnumConnections_Clone(T,a) (T)->lpVtbl->Clone(T,a)
       
   442 #endif
       
   443 
       
   444 EXTERN_C const IID IID_IClassFactory2;
       
   445 #define INTERFACE IClassFactory2
       
   446 DECLARE_INTERFACE_(IClassFactory2,IClassFactory)
       
   447 {
       
   448 	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
       
   449 	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
       
   450 	STDMETHOD_(ULONG,Release)(THIS) PURE;
       
   451 	STDMETHOD(CreateInstance)(THIS_ LPUNKNOWN,REFIID,PVOID*) PURE;
       
   452 	STDMETHOD(LockServer)(THIS_ BOOL) PURE;
       
   453 	STDMETHOD(GetLicInfo)(THIS_ LPLICINFO) PURE;
       
   454 	STDMETHOD(RequestLicKey)(THIS_ DWORD,BSTR*) PURE;
       
   455 	STDMETHOD(CreateInstanceLic)(THIS_ LPUNKNOWN,LPUNKNOWN,REFIID,BSTR,PVOID*) PURE;
       
   456 };
       
   457 #undef INTERFACE
       
   458 
       
   459 EXTERN_C const IID IID_ISpecifyPropertyPages;
       
   460 #define INTERFACE ISpecifyPropertyPages
       
   461 DECLARE_INTERFACE_(ISpecifyPropertyPages,IUnknown)
       
   462 {
       
   463 	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
       
   464 	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
       
   465 	STDMETHOD_(ULONG,Release)(THIS) PURE;
       
   466 	STDMETHOD(GetPages)(THIS_ CAUUID*) PURE;
       
   467 };
       
   468 #undef INTERFACE
       
   469 
       
   470 EXTERN_C const IID IID_IPerPropertyBrowsing;
       
   471 #define INTERFACE IPerPropertyBrowsing
       
   472 DECLARE_INTERFACE_(IPerPropertyBrowsing,IUnknown)
       
   473 {
       
   474 	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
       
   475 	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
       
   476 	STDMETHOD_(ULONG,Release)(THIS) PURE;
       
   477 	STDMETHOD(GetDisplayString)(THIS_ DISPID,BSTR*) PURE;
       
   478 	STDMETHOD(MapPropertyToPage)(THIS_ DISPID,LPCLSID) PURE;
       
   479 	STDMETHOD(GetPredefinedStrings)(THIS_ DISPID,CALPOLESTR*,CADWORD*) PURE;
       
   480 	STDMETHOD(GetPredefinedValue)(THIS_ DISPID,DWORD,VARIANT*) PURE;
       
   481 };
       
   482 #undef INTERFACE
       
   483 
       
   484 EXTERN_C const IID IID_IPropertyPageSite;
       
   485 #define INTERFACE IPropertyPageSite
       
   486 DECLARE_INTERFACE_(IPropertyPageSite,IUnknown)
       
   487 {
       
   488 	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
       
   489 	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
       
   490 	STDMETHOD_(ULONG,Release)(THIS) PURE;
       
   491 	STDMETHOD(OnStatusChange)(THIS_ DWORD) PURE;
       
   492 	STDMETHOD(GetLocaleID)(THIS_ LCID*) PURE;
       
   493 	STDMETHOD(GetPageContainer)(THIS_ LPUNKNOWN*) PURE;
       
   494 	STDMETHOD(TranslateAccelerator)(THIS_ LPMSG) PURE;
       
   495 };
       
   496 #undef INTERFACE
       
   497 
       
   498 EXTERN_C const IID IID_IPropertyPage;
       
   499 #define INTERFACE IPropertyPage
       
   500 DECLARE_INTERFACE_(IPropertyPage,IUnknown)
       
   501 {
       
   502 	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
       
   503 	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
       
   504 	STDMETHOD_(ULONG,Release)(THIS) PURE;
       
   505 	STDMETHOD(SetPageSite)(THIS_ LPPROPERTYPAGESITE) PURE;
       
   506 	STDMETHOD(Activate)(THIS_ HWND,LPCRECT,BOOL) PURE;
       
   507 	STDMETHOD(Deactivate)(THIS) PURE;
       
   508 	STDMETHOD(GetPageInfo)(THIS_ LPPROPPAGEINFO) PURE;
       
   509 	STDMETHOD(SetObjects)(THIS_ ULONG,LPUNKNOWN*) PURE;
       
   510 	STDMETHOD(Show)(THIS_ UINT) PURE;
       
   511 	STDMETHOD(Move)(THIS_ LPCRECT) PURE;
       
   512 	STDMETHOD(IsPageDirty)(THIS) PURE;
       
   513 	STDMETHOD(Apply)(THIS) PURE;
       
   514 	STDMETHOD(Help)(THIS_ LPCOLESTR) PURE;
       
   515 	STDMETHOD(TranslateAccelerator)(THIS_ LPMSG) PURE;
       
   516 };
       
   517 #undef INTERFACE
       
   518 
       
   519 EXTERN_C const IID IID_IPropertyPage2;
       
   520 #define INTERFACE IPropertyPage2
       
   521 DECLARE_INTERFACE_(IPropertyPage2,IPropertyPage)
       
   522 {
       
   523 	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
       
   524 	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
       
   525 	STDMETHOD_(ULONG,Release)(THIS) PURE;
       
   526 	STDMETHOD(SetPageSite)(THIS_ LPPROPERTYPAGESITE) PURE;
       
   527 	STDMETHOD(Activate)(THIS_ HWND,LPCRECT,BOOL) PURE;
       
   528 	STDMETHOD(Deactivate)(THIS) PURE;
       
   529 	STDMETHOD(GetPageInfo)(THIS_ LPPROPPAGEINFO) PURE;
       
   530 	STDMETHOD(SetObjects)(THIS_ ULONG,LPUNKNOWN*) PURE;
       
   531 	STDMETHOD(Show)(THIS_ UINT) PURE;
       
   532 	STDMETHOD(Move)(THIS_ LPCRECT) PURE;
       
   533 	STDMETHOD(IsPageDirty)(THIS) PURE;
       
   534 	STDMETHOD(Apply)(THIS) PURE;
       
   535 	STDMETHOD(Help)(THIS_ LPCOLESTR) PURE;
       
   536 	STDMETHOD(TranslateAccelerator)(THIS_ LPMSG) PURE;
       
   537 	STDMETHOD(EditProperty)(THIS_ DISPID) PURE;
       
   538 };
       
   539 #undef INTERFACE
       
   540 
       
   541 EXTERN_C const IID IID_IFont;
       
   542 #define INTERFACE IFont
       
   543 DECLARE_INTERFACE_(IFont,IUnknown)
       
   544 {
       
   545 	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
       
   546 	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
       
   547 	STDMETHOD_(ULONG,Release)(THIS) PURE;
       
   548 	STDMETHOD(get_Name)(THIS_ BSTR*) PURE;
       
   549 	STDMETHOD(put_Name)(THIS_ BSTR) PURE;
       
   550 	STDMETHOD(get_Size)(THIS_ CY*) PURE;
       
   551 	STDMETHOD(put_Size)(THIS_ CY) PURE;
       
   552 	STDMETHOD(get_Bold)(THIS_ BOOL*) PURE;
       
   553 	STDMETHOD(put_Bold)(THIS_ BOOL) PURE;
       
   554 	STDMETHOD(get_Italic)(THIS_ BOOL*) PURE;
       
   555 	STDMETHOD(put_Italic)(THIS_ BOOL) PURE;
       
   556 	STDMETHOD(get_Underline)(THIS_ BOOL*) PURE;
       
   557 	STDMETHOD(put_Underline)(THIS_ BOOL) PURE;
       
   558 	STDMETHOD(get_Strikethrough)(THIS_ BOOL*) PURE;
       
   559 	STDMETHOD(put_Strikethrough)(THIS_ BOOL) PURE;
       
   560 	STDMETHOD(get_Weight)(THIS_ short*) PURE;
       
   561 	STDMETHOD(put_Weight)(THIS_ short) PURE;
       
   562 	STDMETHOD(get_Charset)(THIS_ short*) PURE;
       
   563 	STDMETHOD(put_Charset)(THIS_ short) PURE;
       
   564 	STDMETHOD(get_hFont)(THIS_ HFONT*) PURE;
       
   565 	STDMETHOD(Clone)(THIS_ IFont**) PURE;
       
   566 	STDMETHOD(IsEqual)(THIS_ IFont*) PURE;
       
   567 	STDMETHOD(SetRatio)(THIS_ long,long) PURE;
       
   568 	STDMETHOD(QueryTextMetrics)(THIS_ LPTEXTMETRICOLE) PURE;
       
   569 	STDMETHOD(AddRefHfont)(THIS_ HFONT) PURE;
       
   570 	STDMETHOD(ReleaseHfont)(THIS_ HFONT) PURE;
       
   571 	STDMETHOD(SetHdc)(THIS_ HDC) PURE;
       
   572 };
       
   573 #undef INTERFACE
       
   574 
       
   575 EXTERN_C const IID IID_IFontDisp;
       
   576 #define INTERFACE IFontDisp
       
   577 DECLARE_INTERFACE_(IFontDisp,IDispatch)
       
   578 {
       
   579 	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
       
   580 	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
       
   581 	STDMETHOD_(ULONG,Release)(THIS) PURE;
       
   582 	STDMETHOD(GetTypeInfoCount)(THIS_ UINT*) PURE;
       
   583 	STDMETHOD(GetTypeInfo)(THIS_ UINT,LCID,LPTYPEINFO*) PURE;
       
   584 	STDMETHOD(GetIDsOfNames)(THIS_ REFIID,LPOLESTR*,UINT,LCID,DISPID*) PURE;
       
   585 	STDMETHOD(Invoke)(THIS_ DISPID,REFIID,LCID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*) PURE;
       
   586 };
       
   587 #undef INTERFACE
       
   588 
       
   589 EXTERN_C const IID IID_IPicture;
       
   590 #define INTERFACE IPicture
       
   591 DECLARE_INTERFACE_(IPicture,IUnknown)
       
   592 {
       
   593 	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
       
   594 	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
       
   595 	STDMETHOD_(ULONG,Release)(THIS) PURE;
       
   596 	STDMETHOD(get_Handle)(THIS_ OLE_HANDLE*) PURE;
       
   597 	STDMETHOD(get_hPal)(THIS_ OLE_HANDLE*) PURE;
       
   598 	STDMETHOD(get_Type)(THIS_ short*) PURE;
       
   599 	STDMETHOD(get_Width)(THIS_ OLE_XSIZE_HIMETRIC*) PURE;
       
   600 	STDMETHOD(get_Height)(THIS_ OLE_YSIZE_HIMETRIC*) PURE;
       
   601 	STDMETHOD(Render)(THIS_ HDC,long,long,long,long,OLE_XPOS_HIMETRIC,OLE_YPOS_HIMETRIC,OLE_XSIZE_HIMETRIC,OLE_YSIZE_HIMETRIC,LPCRECT) PURE;
       
   602 	STDMETHOD(set_hPal)(THIS_ OLE_HANDLE) PURE;
       
   603 	STDMETHOD(get_CurDC)(THIS_ HDC*) PURE;
       
   604 	STDMETHOD(SelectPicture)(THIS_ HDC,HDC*,OLE_HANDLE*) PURE;
       
   605 	STDMETHOD(get_KeepOriginalFormat)(THIS_ BOOL*) PURE;
       
   606 	STDMETHOD(put_KeepOriginalFormat)(THIS_ BOOL) PURE;
       
   607 	STDMETHOD(PictureChanged)(THIS) PURE;
       
   608 	STDMETHOD(SaveAsFile)(THIS_ LPSTREAM,BOOL,LONG*) PURE;
       
   609 	STDMETHOD(get_Attributes)(THIS_ PDWORD) PURE;
       
   610 };
       
   611 #undef INTERFACE
       
   612 
       
   613 #ifdef COBJMACROS
       
   614 #define IPicture_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
       
   615 #define IPicture_AddRef(p) (p)->lpVtbl->AddRef(p)
       
   616 #define IPicture_Release(p) (p)->lpVtbl->Release(p)
       
   617 #define IPicture_get_Handle(p,a) (p)->lpVtbl->get_Handle(p,a)
       
   618 #define IPicture_get_hPal(p,a) (p)->lpVtbl->get_hPal(p,a)
       
   619 #define IPicture_get_Type(p,a) (p)->lpVtbl->get_Type(p,a)
       
   620 #define IPicture_get_Width(p,a) (p)->lpVtbl->get_Width(p,a)
       
   621 #define IPicture_get_Height(p,a) (p)->lpVtbl->get_Height(p,a)
       
   622 #define IPicture_Render(p,a,b,c,d,e,f,g,h,i,j) (p)->lpVtbl->Render(p,a,b,c,d,e,f,g,h,i,j)
       
   623 #define IPicture_set_hPal(p,a) (p)->lpVtbl->set_hPal(p,a)
       
   624 #define IPicture_get_CurDC(p,a) (p)->lpVtbl->get_CurDC(p,a)
       
   625 #define IPicture_SelectPicture(p,a,b,c) (p)->lpVtbl->SelectPicture(p,a,b,c)
       
   626 #define IPicture_get_KeepOriginalFormat(p,a) (p)->lpVtbl->get_KeepOriginalFormat(p,a)
       
   627 #define IPicture_put_KeepOriginalFormat(p,a) (p)->lpVtbl->put_KeepOriginalFormat(p,a)
       
   628 #define IPicture_PictureChanged(p) (p)->lpVtbl->PictureChanged(p)
       
   629 #define IPicture_SaveAsFile(p,a,b,c) (p)->lpVtbl->SaveAsFile(p,a,b,c)
       
   630 #define IPicture_get_Attributes(p,a) (p)->lpVtbl->get_Attributes(p,a)
       
   631 #endif
       
   632 
       
   633 EXTERN_C const IID IID_IPictureDisp;
       
   634 #define INTERFACE IPictureDisp
       
   635 DECLARE_INTERFACE_(IPictureDisp,IDispatch)
       
   636 {
       
   637 	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
       
   638 	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
       
   639 	STDMETHOD_(ULONG,Release)(THIS) PURE;
       
   640 	STDMETHOD(GetTypeInfoCount)(THIS_ UINT*) PURE;
       
   641 	STDMETHOD(GetTypeInfo)(THIS_ UINT,LCID,LPTYPEINFO*) PURE;
       
   642 	STDMETHOD(GetIDsOfNames)(THIS_ REFIID,LPOLESTR*,UINT,LCID,DISPID*) PURE;
       
   643 	STDMETHOD(Invoke)(THIS_ DISPID,REFIID,LCID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*) PURE;
       
   644 };
       
   645 #undef INTERFACE
       
   646 
       
   647 EXTERN_C const IID IID_IOleInPlaceSiteEx;
       
   648 #define INTERFACE IOleInPlaceSiteEx
       
   649 DECLARE_INTERFACE_(IOleInPlaceSiteEx,IOleInPlaceSite)
       
   650 {
       
   651 	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
       
   652 	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
       
   653 	STDMETHOD_(ULONG,Release)(THIS) PURE;
       
   654 	STDMETHOD(GetWindow)(THIS_ HWND*) PURE;
       
   655 	STDMETHOD(ContextSensitiveHelp)(THIS_ BOOL) PURE;
       
   656 	STDMETHOD(CanInPlaceActivate)(THIS) PURE;
       
   657 	STDMETHOD(OnInPlaceActivate)(THIS) PURE;
       
   658 	STDMETHOD(OnUIActivate)(THIS) PURE;
       
   659 	STDMETHOD(GetWindowContext)(THIS_ IOleInPlaceFrame**,IOleInPlaceUIWindow**,LPRECT,LPRECT,LPOLEINPLACEFRAMEINFO) PURE;
       
   660 	STDMETHOD(Scroll)(THIS_ SIZE) PURE;
       
   661 	STDMETHOD(OnUIDeactivate)(THIS_ BOOL) PURE;
       
   662 	STDMETHOD(OnInPlaceDeactivate)(THIS) PURE;
       
   663 	STDMETHOD(DiscardUndoState)(THIS) PURE;
       
   664 	STDMETHOD(DeactivateAndUndo)(THIS) PURE;
       
   665 	STDMETHOD(OnPosRectChange)(THIS_ LPCRECT) PURE;
       
   666 	STDMETHOD(OnInPlaceActivateEx)(THIS_ BOOL*,DWORD) PURE;
       
   667 	STDMETHOD(OnInPlaceDeactivateEx)(THIS_ BOOL) PURE;
       
   668 	STDMETHOD(RequestUIActivate)(THIS) PURE;
       
   669 };
       
   670 #undef INTERFACE
       
   671 
       
   672 EXTERN_C const IID IID_IObjectWithSite;
       
   673 #define INTERFACE IObjectWithSite
       
   674 DECLARE_INTERFACE_(IObjectWithSite,IUnknown)
       
   675 {
       
   676 	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
       
   677 	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
       
   678 	STDMETHOD_(ULONG,Release)(THIS) PURE;
       
   679 	STDMETHOD(SetSite)(THIS_ IUnknown*) PURE;
       
   680 	STDMETHOD(GetSite)(THIS_ REFIID, void**) PURE;
       
   681 };
       
   682 #undef INTERFACE
       
   683 
       
   684 EXTERN_C const IID IID_IOleInPlaceSiteWindowless;
       
   685 #define INTERFACE IOleInPlaceSiteWindowless
       
   686 DECLARE_INTERFACE_(IOleInPlaceSiteWindowless,IOleInPlaceSiteEx)
       
   687 {
       
   688 	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
       
   689 	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
       
   690 	STDMETHOD_(ULONG,Release)(THIS) PURE;
       
   691 	STDMETHOD(GetWindow)(THIS_ HWND*) PURE;
       
   692 	STDMETHOD(ContextSensitiveHelp)(THIS_ BOOL) PURE;
       
   693 	STDMETHOD(CanInPlaceActivate)(THIS) PURE;
       
   694 	STDMETHOD(OnInPlaceActivate)(THIS) PURE;
       
   695 	STDMETHOD(OnUIActivate)(THIS) PURE;
       
   696 	STDMETHOD(GetWindowContext)(THIS_ IOleInPlaceFrame**,IOleInPlaceUIWindow**,LPRECT,LPRECT,LPOLEINPLACEFRAMEINFO) PURE;
       
   697 	STDMETHOD(Scroll)(THIS_ SIZE) PURE;
       
   698 	STDMETHOD(OnUIDeactivate)(THIS_ BOOL) PURE;
       
   699 	STDMETHOD(OnInPlaceDeactivate)(THIS) PURE;
       
   700 	STDMETHOD(DiscardUndoState)(THIS) PURE;
       
   701 	STDMETHOD(DeactivateAndUndo)(THIS) PURE;
       
   702 	STDMETHOD(OnPosRectChange)(THIS_ LPCRECT) PURE;
       
   703 
       
   704 	STDMETHOD(OnInPlaceActivateEx)(THIS_ BOOL*,DWORD) PURE;
       
   705 	STDMETHOD(OnInPlaceDeactivateEx)(THIS_ BOOL) PURE;
       
   706 	STDMETHOD(RequestUIActivate)(THIS) PURE;
       
   707 
       
   708 	STDMETHOD(CanWindowlessActivate)(THIS) PURE;
       
   709 	STDMETHOD(GetCapture)(THIS) PURE;
       
   710 	STDMETHOD(SetCapture)(THIS_ BOOL) PURE;
       
   711 	STDMETHOD(GetFocus)(THIS) PURE;
       
   712 	STDMETHOD(SetFocus)(THIS_ BOOL) PURE;
       
   713 	STDMETHOD(GetDC)(THIS_ LPCRECT,DWORD,HDC*) PURE;
       
   714 	STDMETHOD(ReleaseDC)(THIS_ HDC) PURE;
       
   715 	STDMETHOD(InvalidateRect)(THIS_ LPCRECT,BOOL) PURE;
       
   716 	STDMETHOD(InvalidateRgn)(THIS_ HRGN,BOOL) PURE;
       
   717 	STDMETHOD(ScrollRect)(THIS_ INT,INT,LPCRECT,LPCRECT) PURE;
       
   718 	STDMETHOD(AdjustRect)(THIS_ LPCRECT) PURE;
       
   719 	STDMETHOD(OnDefWindowMessage)(THIS_ UINT,WPARAM,LPARAM,LRESULT*) PURE;
       
   720 };
       
   721 #undef INTERFACE
       
   722 
       
   723 EXTERN_C const IID IID_IAdviseSinkEx;
       
   724 #define INTERFACE IAdviseSinkEx
       
   725 DECLARE_INTERFACE_(IAdviseSinkEx,IUnknown)
       
   726 {
       
   727 	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
       
   728 	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
       
   729 	STDMETHOD_(ULONG,Release)(THIS) PURE;
       
   730 	STDMETHOD_(void,OnDataChange)(THIS_ FORMATETC*,STGMEDIUM*) PURE;
       
   731 	STDMETHOD_(void,OnViewChange)(THIS_ DWORD,LONG) PURE;
       
   732 	STDMETHOD_(void,OnRename)(THIS_ IMoniker*) PURE;
       
   733 	STDMETHOD_(void,OnSave)(THIS) PURE;
       
   734 	STDMETHOD_(void,OnClose)(THIS) PURE;
       
   735 	STDMETHOD(OnViewStatusChange)(THIS_ DWORD) PURE;
       
   736 };
       
   737 #undef INTERFACE
       
   738 
       
   739 EXTERN_C const IID IID_IPointerInactive;
       
   740 #define INTERFACE IPointerInactive
       
   741 DECLARE_INTERFACE_(IPointerInactive,IUnknown)
       
   742 {
       
   743 	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
       
   744 	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
       
   745 	STDMETHOD_(ULONG,Release)(THIS) PURE;
       
   746 	STDMETHOD(GetActivationPolicy)(THIS_ DWORD*) PURE;
       
   747 	STDMETHOD(OnInactiveMouseMove)(THIS_ LPCRECT,LONG,LONG,DWORD) PURE;
       
   748 	STDMETHOD(OnInactiveSetCursor)(THIS_ LPCRECT,LONG,LONG,DWORD,BOOL) PURE;
       
   749 };
       
   750 #undef INTERFACE
       
   751 
       
   752 EXTERN_C const IID IID_IOleUndoUnit;
       
   753 #define INTERFACE IOleUndoUnit
       
   754 DECLARE_INTERFACE_(IOleUndoUnit,IUnknown)
       
   755 {
       
   756 	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
       
   757 	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
       
   758 	STDMETHOD_(ULONG,Release)(THIS) PURE;
       
   759 	STDMETHOD(Do)(THIS_ LPOLEUNDOMANAGER) PURE;
       
   760 	STDMETHOD(GetDescription)(THIS_ BSTR*) PURE;
       
   761 	STDMETHOD(GetUnitType)(THIS_ CLSID*,LONG*) PURE;
       
   762 	STDMETHOD(OnNextAdd)(THIS) PURE;
       
   763 };
       
   764 #undef INTERFACE
       
   765 
       
   766 EXTERN_C const IID IID_IOleParentUndoUnit;
       
   767 #define INTERFACE IOleParentUndoUnit
       
   768 DECLARE_INTERFACE_(IOleParentUndoUnit,IOleUndoUnit)
       
   769 {
       
   770 	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
       
   771 	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
       
   772 	STDMETHOD_(ULONG,Release)(THIS) PURE;
       
   773 	STDMETHOD(Do)(THIS_ LPOLEUNDOMANAGER) PURE;
       
   774 	STDMETHOD(GetDescription)(THIS_ BSTR*) PURE;
       
   775 	STDMETHOD(GetUnitType)(THIS_ CLSID*,LONG*) PURE;
       
   776 	STDMETHOD(OnNextAdd)(THIS) PURE;
       
   777 	STDMETHOD(Open)(THIS_ IOleParentUndoUnit*) PURE;
       
   778 	STDMETHOD(Close)(THIS_ IOleParentUndoUnit*,BOOL) PURE;
       
   779 	STDMETHOD(Add)(THIS_ IOleUndoUnit*) PURE;
       
   780 	STDMETHOD(FindUnit)(THIS_ IOleUndoUnit*) PURE;
       
   781 	STDMETHOD(GetParentState)(THIS_ DWORD*) PURE;
       
   782 };
       
   783 #undef INTERFACE
       
   784 
       
   785 EXTERN_C const IID IID_IEnumOleUndoUnits;
       
   786 #define INTERFACE IEnumOleUndoUnits
       
   787 DECLARE_INTERFACE_(IEnumOleUndoUnits,IUnknown)
       
   788 {
       
   789 	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
       
   790 	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
       
   791 	STDMETHOD_(ULONG,Release)(THIS) PURE;
       
   792 	STDMETHOD(Next)(THIS_ ULONG,IOleUndoUnit**,ULONG*) PURE;        
       
   793 	STDMETHOD(Skip)(THIS_ ULONG) PURE;
       
   794 	STDMETHOD(Reset)(THIS) PURE;
       
   795 	STDMETHOD(Clone)(THIS_ IEnumOleUndoUnits**) PURE;
       
   796 };
       
   797 #undef INTERFACE
       
   798 
       
   799 EXTERN_C const IID IID_IOleUndoManager;
       
   800 #define INTERFACE IOleUndoManager
       
   801 DECLARE_INTERFACE_(IOleUndoManager,IUnknown)
       
   802 {
       
   803 	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
       
   804 	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
       
   805 	STDMETHOD_(ULONG,Release)(THIS) PURE;
       
   806 	STDMETHOD(Open)(THIS_ IOleParentUndoUnit*) PURE;
       
   807 	STDMETHOD(Close)(THIS_ IOleParentUndoUnit*,BOOL) PURE;
       
   808 	STDMETHOD(Add)(THIS_ IOleUndoUnit*) PURE;
       
   809 	STDMETHOD(GetOpenParentState)(THIS_ DWORD*) PURE;
       
   810 	STDMETHOD(DiscardFrom)(THIS_ IOleUndoUnit*) PURE;
       
   811 	STDMETHOD(UndoTo)(THIS_ IOleUndoUnit*) PURE;
       
   812 	STDMETHOD(RedoTo)(THIS_ IOleUndoUnit*) PURE;
       
   813 	STDMETHOD(EnumUndoable)(THIS_ IEnumOleUndoUnits**) PURE;
       
   814 	STDMETHOD(EnumRedoable)(THIS_ IEnumOleUndoUnits**) PURE;
       
   815 	STDMETHOD(GetLastUndoDescription)(THIS_ BSTR*) PURE;
       
   816 	STDMETHOD(GetLastRedoDescription)(THIS_ BSTR*) PURE;
       
   817 	STDMETHOD(Enable)(THIS_ BOOL) PURE;
       
   818 };
       
   819 #undef INTERFACE
       
   820 
       
   821 EXTERN_C const IID IID_IQuickActivate;
       
   822 #define INTERFACE IQuickActivate
       
   823 DECLARE_INTERFACE_(IQuickActivate,IUnknown)
       
   824 {
       
   825 	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
       
   826 	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
       
   827 	STDMETHOD_(ULONG,Release)(THIS) PURE;
       
   828 	STDMETHOD(QuickActivate)(THIS_ QACONTAINER*,QACONTROL*) PURE;
       
   829 	STDMETHOD(SetContentExtent)(THIS_ LPSIZEL) PURE;
       
   830 	STDMETHOD(GetContentExtent)(THIS_ LPSIZEL) PURE;
       
   831 };
       
   832 #undef INTERFACE
       
   833 
       
   834 #ifdef __cplusplus
       
   835 }
       
   836 #endif
       
   837 #endif