ocidl.h
来自「开放源码的编译器open watcom 1.6.0版的源代码」· C头文件 代码 · 共 838 行 · 第 1/3 页
H
838 行
#ifndef _OCIDL_H
#define _OCIDL_H
#if __GNUC__ >= 3
#pragma GCC system_header
#endif
#ifdef __cplusplus
extern "C" {
#endif
#include <ole2.h>
typedef _COM_interface IErrorLog *LPERRORLOG;
typedef _COM_interface IPropertyBag *LPPROPERTYBAG;
typedef _COM_interface IPropertyBag2 *LPPROPERTYBAG2;
typedef _COM_interface IEnumConnections *LPENUMCONNECTIONS;
typedef _COM_interface IConnectionPoint *LPCONNECTIONPOINT;
typedef _COM_interface IEnumConnectionPoints *LPENUMCONNECTIONPOINTS;
typedef _COM_interface IPropertyPageSite *LPPROPERTYPAGESITE;
typedef _COM_interface IFont *LPFONT;
typedef _COM_interface IFontDisp *LPFONTDISP;
typedef _COM_interface IOleUndoManager *LPOLEUNDOMANAGER;
#ifndef OLE2ANSI
typedef TEXTMETRICW TEXTMETRICOLE;
#else
typedef TEXTMETRIC TEXTMETRICOLE;
#endif
typedef TEXTMETRICOLE *LPTEXTMETRICOLE;
typedef DWORD OLE_COLOR;
typedef UINT OLE_HANDLE;
typedef long OLE_XPOS_HIMETRIC;
typedef long OLE_YPOS_HIMETRIC;
typedef long OLE_XSIZE_HIMETRIC;
typedef long OLE_YSIZE_HIMETRIC;
typedef enum tagREADYSTATE {
READYSTATE_UNINITIALIZED = 0,
READYSTATE_LOADING = 1,
READYSTATE_LOADED = 2,
READYSTATE_INTERACTIVE = 3,
READYSTATE_COMPLETE = 4
} READYSTATE;
typedef enum tagPROPBAG2_TYPE {
PROPBAG2_TYPE_UNDEFINED = 0,
PROPBAG2_TYPE_DATA = 1,
PROPBAG2_TYPE_URL = 2,
PROPBAG2_TYPE_OBJECT = 3,
PROPBAG2_TYPE_STREAM = 4,
PROPBAG2_TYPE_STORAGE = 5,
PROPBAG2_TYPE_MONIKER = 6
} PROPBAG2_TYPE;
typedef struct tagPROPBAG2
{
DWORD dwType;
VARTYPE vt;
CLIPFORMAT cfType;
DWORD dwHint;
LPOLESTR pstrName;
CLSID clsid;
} PROPBAG2;
typedef enum tagQACONTAINERFLAGS
{
QACONTAINER_SHOWHATCHING = 1,
QACONTAINER_SHOWGRABHANDLES = 2,
QACONTAINER_USERMODE = 4,
QACONTAINER_DISPLAYASDEFAULT = 8,
QACONTAINER_UIDEAD = 16,
QACONTAINER_AUTOCLIP = 32,
QACONTAINER_MESSAGEREFLECT = 64,
QACONTAINER_SUPPORTSMNEMONICS = 128
} QACONTAINERFLAGS;
typedef struct tagQACONTAINER
{
ULONG cbSize;
_COM_interface IOleClientSite *pClientSite;
_COM_interface IAdviseSinkEx *pAdviseSink;
_COM_interface IPropertyNotifySink *pPropertyNotifySink;
IUnknown *pUnkEventSink;
DWORD dwAmbientFlags;
OLE_COLOR colorFore;
OLE_COLOR colorBack;
_COM_interface IFont *pFont;
_COM_interface IOleUndoManager *pUndoMgr;
DWORD dwAppearance;
LONG lcid;
HPALETTE hpal;
_COM_interface IBindHost *pBindHost;
_COM_interface IOleControlSite *pOleControlSite;
_COM_interface IServiceProvider *pServiceProvider;
} QACONTAINER;
typedef struct tagQACONTROL
{
ULONG cbSize;
DWORD dwMiscStatus;
DWORD dwViewStatus;
DWORD dwEventCookie;
DWORD dwPropNotifyCookie;
DWORD dwPointerActivationPolicy;
} QACONTROL;
typedef struct tagPOINTF {
float x;
float y;
} POINTF,*LPPOINTF;
typedef struct tagCONTROLINFO {
ULONG cb;
HACCEL hAccel;
USHORT cAccel;
DWORD dwFlags;
} CONTROLINFO,*LPCONTROLINFO;
typedef struct tagCONNECTDATA {
LPUNKNOWN pUnk;
DWORD dwCookie;
} CONNECTDATA,*LPCONNECTDATA;
typedef struct tagLICINFO {
long cbLicInfo;
BOOL fRuntimeKeyAvail;
BOOL fLicVerified;
} LICINFO,*LPLICINFO;
typedef struct tagCAUUID {
ULONG cElems;
GUID *pElems;
} CAUUID,*LPCAUUID;
typedef struct tagCALPOLESTR {
ULONG cElems;
LPOLESTR *pElems;
} CALPOLESTR,*LPCALPOLESTR;
typedef struct tagCADWORD {
ULONG cElems;
DWORD *pElems;
} CADWORD,*LPCADWORD;
typedef struct tagPROPPAGEINFO {
ULONG cb;
LPOLESTR pszTitle;
SIZE size;
LPOLESTR pszDocString;
LPOLESTR pszHelpFile;
DWORD dwHelpContext;
} PROPPAGEINFO,*LPPROPPAGEINFO;
EXTERN_C const IID IID_IOleControl;
#define INTERFACE IOleControl
DECLARE_INTERFACE_(IOleControl,IUnknown)
{
STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
STDMETHOD_(ULONG,AddRef)(THIS) PURE;
STDMETHOD_(ULONG,Release)(THIS) PURE;
STDMETHOD(GetControlInfo)(THIS_ LPCONTROLINFO) PURE;
STDMETHOD(OnMnemonic)(THIS_ LPMSG) PURE;
STDMETHOD(OnAmbientPropertyChange)(THIS_ DISPID) PURE;
STDMETHOD(FreezeEvents)(THIS_ BOOL) PURE;
};
#undef INTERFACE
EXTERN_C const IID IID_IOleControlSite;
#define INTERFACE IOleControlSite
DECLARE_INTERFACE_(IOleControlSite,IUnknown)
{
STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
STDMETHOD_(ULONG,AddRef)(THIS) PURE;
STDMETHOD_(ULONG,Release)(THIS) PURE;
STDMETHOD(OnControlInfoChanged)(THIS) PURE;
STDMETHOD(LockInPlaceActive)(THIS_ BOOL) PURE;
STDMETHOD(GetExtendedControl)(THIS_ LPDISPATCH*) PURE;
STDMETHOD(TransformCoords)(THIS_ POINTL*,POINTF*,DWORD) PURE;
STDMETHOD(TranslateAccelerator)(THIS_ LPMSG,DWORD) PURE;
STDMETHOD(OnFocus)(THIS_ BOOL) PURE;
STDMETHOD(ShowPropertyFrame)(THIS) PURE;
};
#undef INTERFACE
#ifdef COBJMACROS
#define IOleControlSite_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
#define IOleControlSite_AddRef(T) (T)->lpVtbl->AddRef(T)
#define IOleControlSite_Release(T) (T)->lpVtbl->Release(T)
#define IOleControlSite_OnControlInfoChanged(T) (T)->lpVtbl->OnControlInfoChanged(T)
#define IOleControlSite_LockInPlaceActive(T,a) (T)->lpVtbl->LockInPlaceActive(T,a)
#define IOleControlSite_GetExtendedControl(T,a) (T)->lpVtbl->GetExtendedControl(T,a)
#define IOleControlSite_TransformCoords(T,a,b,c) (T)->lpVtbl->TransformCoords(T,a,b,c)
#define IOleControlSite_TranslateAccelerator(T,a,b) (T)->lpVtbl->TranslateAccelerator(T,a,b)
#define IOleControlSite_OnFocus(T,a) (T)->lpVtbl->OnFocus(T,a)
#define IOleControlSite_ShowPropertyFrame(T) (T)->lpVtbl->ShowPropertyFrame(T)
#endif
EXTERN_C const IID IID_ISimpleFrameSite;
#define INTERFACE ISimpleFrameSite
DECLARE_INTERFACE_(ISimpleFrameSite,IUnknown)
{
STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
STDMETHOD_(ULONG,AddRef)(THIS) PURE;
STDMETHOD_(ULONG,Release)(THIS) PURE;
STDMETHOD(PreMessageFilter)(THIS_ HWND,UINT,WPARAM,LPARAM,LRESULT*,PDWORD) PURE;
STDMETHOD(PostMessageFilter)(THIS_ HWND,UINT,WPARAM,LPARAM,LRESULT*,DWORD) PURE;
};
#undef INTERFACE
EXTERN_C const IID IID_IErrorLog;
#define INTERFACE IErrorLog
DECLARE_INTERFACE_(IErrorLog,IUnknown)
{
STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
STDMETHOD_(ULONG,AddRef)(THIS) PURE;
STDMETHOD_(ULONG,Release)(THIS) PURE;
STDMETHOD(AddError)(THIS_ LPCOLESTR,LPEXCEPINFO) PURE;
};
#undef INTERFACE
EXTERN_C const IID IID_IPropertyBag;
#define INTERFACE IPropertyBag
DECLARE_INTERFACE_(IPropertyBag,IUnknown)
{
STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
STDMETHOD_(ULONG,AddRef)(THIS) PURE;
STDMETHOD_(ULONG,Release)(THIS) PURE;
STDMETHOD(Read)(THIS_ LPCOLESTR,LPVARIANT,LPERRORLOG) PURE;
STDMETHOD(Write)(THIS_ LPCOLESTR,LPVARIANT) PURE;
};
#undef INTERFACE
EXTERN_C const IID IID_IPropertyBag2;
#define INTERFACE IPropertyBag2
DECLARE_INTERFACE_(IPropertyBag2,IUnknown)
{
STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
STDMETHOD_(ULONG,AddRef)(THIS) PURE;
STDMETHOD_(ULONG,Release)(THIS) PURE;
STDMETHOD(Read)(THIS_ ULONG,PROPBAG2*,LPERRORLOG,VARIANT*,HRESULT*) PURE;
STDMETHOD(Write)(THIS_ ULONG,PROPBAG2*,VARIANT*) PURE;
STDMETHOD(CountProperties)(THIS_ ULONG*) PURE;
STDMETHOD(GetPropertyInfo)(THIS_ ULONG,ULONG,PROPBAG2*,ULONG*) PURE;
STDMETHOD(LoadObject)(THIS_ LPCOLESTR,DWORD,IUnknown*,LPERRORLOG) PURE;
};
#undef INTERFACE
EXTERN_C const IID IID_IPersistPropertyBag;
#define INTERFACE IPersistPropertyBag
DECLARE_INTERFACE_(IPersistPropertyBag,IPersist)
{
STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
STDMETHOD_(ULONG,AddRef)(THIS) PURE;
STDMETHOD_(ULONG,Release)(THIS) PURE;
STDMETHOD(GetClassID)(THIS_ LPCLSID) PURE;
STDMETHOD(InitNew)(THIS) PURE;
STDMETHOD(Load)(THIS_ LPPROPERTYBAG,LPERRORLOG) PURE;
STDMETHOD(Save)(THIS_ LPPROPERTYBAG,BOOL,BOOL) PURE;
};
#undef INTERFACE
#ifdef COBJMACROS
#define IPersistPropertyBag_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
#define IPersistPropertyBag_AddRef(T) (T)->lpVtbl->AddRef(T)
#define IPersistPropertyBag_Release(T) (T)->lpVtbl->Release(T)
#define IPersistPropertyBag_GetClassID(T,a) (T)->lpVtbl->GetClassID(T,a)
#define IPersistPropertyBag_InitNew(T) (T)->lpVtbl->InitNew(T)
#define IPersistPropertyBag_Load(T,a,b) (T)->lpVtbl->Load(T,a,b)
#define IPersistPropertyBag_Save(T,a,b,c) (T)->lpVtbl->Save(T,a,b,c)
#endif
EXTERN_C const IID IID_IPersistPropertyBag2;
#define INTERFACE IPersistPropertyBag2
DECLARE_INTERFACE_(IPersistPropertyBag2,IPersist)
{
STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
STDMETHOD_(ULONG,AddRef)(THIS) PURE;
STDMETHOD_(ULONG,Release)(THIS) PURE;
STDMETHOD(GetClassID)(THIS_ LPCLSID) PURE;
STDMETHOD(InitNew)(THIS) PURE;
STDMETHOD(Load)(THIS_ LPPROPERTYBAG2,LPERRORLOG) PURE;
STDMETHOD(Save)(THIS_ LPPROPERTYBAG2,BOOL,BOOL) PURE;
STDMETHOD(IsDirty)(THIS) PURE;
};
#undef INTERFACE
#ifdef COBJMACROS
#define IPersistPropertyBag2_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
#define IPersistPropertyBag2_AddRef(T) (T)->lpVtbl->AddRef(T)
#define IPersistPropertyBag2_Release(T) (T)->lpVtbl->Release(T)
#define IPersistPropertyBag2_GetClassID(T,a) (T)->lpVtbl->GetClassID(T,a)
#define IPersistPropertyBag2_InitNew(T) (T)->lpVtbl->InitNew(T)
#define IPersistPropertyBag2_Load(T,a,b) (T)->lpVtbl->Load(T,a,b)
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?