home *** CD-ROM | disk | FTP | other *** search
- #ifndef _OAIDL_H
- #define _OAIDL_H
- #ifdef __cplusplus
- extern "C" {
- #endif
- #ifdef NONAMELESSUNION
- #define __VARIANT_NAME_1 n1
- #define __VARIANT_NAME_2 n2
- #define __VARIANT_NAME_3 n3
- #else
- #define __tagVARIANT
- #define __VARIANT_NAME_1
- #define __VARIANT_NAME_2
- #define __VARIANT_NAME_3
- #endif
- #define DISPID_UNKNOWN (-1)
- #define DISPID_VALUE (0)
- #define DISPID_PROPERTYPUT (-3)
- #define DISPID_NEWENUM (-4)
- #define DISPID_EVALUATE (-5)
- #define DISPID_CONSTRUCTOR (-6)
- #define DISPID_DESTRUCTOR (-7)
- #define DISPID_COLLECT (-8)
- #define FADF_AUTO (1)
- #define FADF_STATIC (2)
- #define FADF_EMBEDDED (4)
- #define FADF_FIXEDSIZE (16)
- #define FADF_BSTR (256)
- #define FADF_UNKNOWN (512)
- #define FADF_DISPATCH (1024)
- #define FADF_VARIANT (2048)
- #define FADF_RESERVED (0xf0e8)
- #define PARAMFLAG_NONE (0)
- #define PARAMFLAG_FIN (1)
- #define PARAMFLAG_FOUT (2)
- #define PARAMFLAG_FLCID (4)
- #define PARAMFLAG_FRETVAL (8)
- #define PARAMFLAG_FOPT (16)
- #define PARAMFLAG_FHASDEFAULT (32)
- #define IDLFLAG_NONE PARAMFLAG_NONE
- #define IDLFLAG_FIN PARAMFLAG_FIN
- #define IDLFLAG_FOUT PARAMFLAG_FOUT
- #define IDLFLAG_FLCID PARAMFLAG_FLCID
- #define IDLFLAG_FRETVAL PARAMFLAG_FRETVAL
- #define IMPLTYPEFLAG_FDEFAULT 1
- #define IMPLTYPEFLAG_FSOURCE 2
- #define IMPLTYPEFLAG_FRESTRICTED 4
- #define IMPLTYPEFLAG_FDEFAULTVTABLE 8
-
- typedef interface ITypeLib *LPTYPELIB;
- typedef interface ICreateTypeInfo *LPCREATETYPEINFO;
- typedef interface ICreateTypeInfo2 *LPCREATETYPEINFO2;
- typedef interface ICreateTypeLib *LPCREATETYPELIB;
- typedef interface ICreateTypeLib2 *LPCREATETYPELIB2;
- typedef interface ITypeInfo *LPTYPEINFO;
- typedef interface IErrorInfo *LPERRORINFO;
- typedef interface IDispatch *LPDISPATCH;
- typedef interface ICreateErrorInfo *LPCREATEERRORINFO;
-
- extern const IID IID_ITypeLib;
- extern const IID IID_ICreateTypeInfo;
- extern const IID IID_ICreateTypeInfo2;
- extern const IID IID_ICreateTypeLib;
- extern const IID IID_ICreateTypeLib2;
- extern const IID IID_ITypeInfo;
- extern const IID IID_IErrorInfo;
- extern const IID IID_IDispatch;
- extern const IID IID_ICreateErrorInfo;
- extern const GUID IID_ISupportErrorInfo;
-
- typedef enum tagSYSKIND {
- SYS_WIN16,SYS_WIN32,SYS_MAC
- } SYSKIND;
- typedef enum tagLIBFLAGS {
- LIBFLAG_FRESTRICTED=1,LIBFLAG_FCONTROL=2,LIBFLAG_FHIDDEN=4,
- LIBFLAG_FHASDISKIMAGE=8
- } LIBFLAGS;
- typedef struct tagTLIBATTR {
- GUID guid;
- LCID lcid;
- SYSKIND syskind;
- WORD wMajorVerNum;
- WORD wMinorVerNum;
- WORD wLibFlags;
- } TLIBATTR,*LPTLIBATTR;
- typedef CY CURRENCY;
- typedef struct tagSAFEARRAYBOUND {
- ULONG cElements;
- LONG lLbound;
- }SAFEARRAYBOUND,*LPSAFEARRAYBOUND;
- typedef struct _wireSAFEARR_BSTR
- {
- ULONG Size;
- wireBSTR *aBstr;
- }SAFEARR_BSTR;
- typedef struct _wireSAFEARR_UNKNOWN {
- ULONG Size;
- IUnknown **apUnknown;
- }SAFEARR_UNKNOWN;
- typedef struct _wireSAFEARR_DISPATCH {
- ULONG Size;
- LPDISPATCH *apDispatch;
- }SAFEARR_DISPATCH;
- typedef struct _wireSAFEARR_VARIANT {
- ULONG Size;
- struct _wireVARIANT *aVariant;
- }SAFEARR_VARIANT;
- typedef enum tagSF_TYPE {
- SF_ERROR=VT_ERROR,
- SF_I1=VT_I1,
- SF_I2=VT_I2,
- SF_I4=VT_I4,
- SF_I8=VT_I8,
- SF_BSTR=VT_BSTR,
- SF_UNKNOWN=VT_UNKNOWN,
- SF_DISPATCH=VT_DISPATCH,
- SF_VARIANT=VT_VARIANT
- }SF_TYPE;
- typedef struct _wireSAFEARRAY_UNION {
- ULONG sfType;
- union {
- SAFEARR_BSTR BstrStr;
- SAFEARR_UNKNOWN UnknownStr;
- SAFEARR_DISPATCH DispatchStr;
- SAFEARR_VARIANT VariantStr;
- BYTE_SIZEDARR ByteStr;
- WORD_SIZEDARR WordStr;
- DWORD_SIZEDARR LongStr;
- HYPER_SIZEDARR HyperStr;
- }u;
- }SAFEARRAYUNION;
- typedef struct _wireSAFEARRAY {
- USHORT cDims;
- USHORT fFeatures;
- ULONG cbElements;
- ULONG cLocks;
- SAFEARRAYUNION uArrayStructs;
- SAFEARRAYBOUND rgsabound[1];
- }*wireSAFEARRAY;
- typedef wireSAFEARRAY *wirePSAFEARRAY;
- typedef struct tagSAFEARRAY {
- USHORT cDims;
- USHORT fFeatures;
- ULONG cbElements;
- ULONG cLocks;
- PVOID pvData;
- SAFEARRAYBOUND rgsabound[1];
- }SAFEARRAY,*LPSAFEARRAY;
- typedef struct tagVARIANT {
- VARTYPE vt;
- WORD wReserved1;
- WORD wReserved2;
- WORD wReserved3;
- union {
- long lVal;
- unsigned char bVal;
- short iVal;
- float fltVal;
- double dblVal;
- VARIANT_BOOL boolVal;
- SCODE scode;
- CY cyVal;
- DATE date;
- BSTR bstrVal;
- IUnknown *punkVal;
- LPDISPATCH pdispVal;
- SAFEARRAY *parray;
- unsigned char *pbVal;
- short *piVal;
- long *plVal;
- float *pfltVal;
- double *pdblVal;
- VARIANT_BOOL *pbool;
- SCODE *pscode;
- CY *pcyVal;
- DATE *pdate;
- BSTR *pbstrVal;
- IUnknown **ppunkVal;
- LPDISPATCH *ppdispVal;
- SAFEARRAY **pparray;
- struct tagVARIANT *pvarVal;
- void *byref;
- } DUMMYUNIONNAME;
- } VARIANT,*LPVARIANT;
- typedef VARIANT VARIANTARG;
- typedef VARIANT *LPVARIANTARG;
- typedef struct _wireVARIANT {
- DWORD clSize;
- DWORD rpcReserved;
- USHORT vt;
- USHORT wReserved1;
- USHORT wReserved2;
- USHORT wReserved3;
- union {
- LONG lVal;
- BYTE bVal;
- SHORT iVal;
- FLOAT fltVal;
- DOUBLE dblVal;
- VARIANT_BOOL boolVal;
- SCODE scode;
- CY cyVal;
- DATE date;
- wireBSTR bstrVal;
- IUnknown *punkVal;
- LPDISPATCH pdispVal;
- wireSAFEARRAY parray;
- BYTE *pbVal;
- SHORT *piVal;
- LONG *plVal;
- FLOAT *pfltVal;
- DOUBLE *pdblVal;
- VARIANT_BOOL *pboolVal;
- SCODE *pscode;
- CY *pcyVal;
- DATE *pdate;
- wireBSTR *pbstrVal;
- IUnknown **ppunkVal;
- LPDISPATCH *ppdispVal;
- wireSAFEARRAY *pparray;
- struct _wireVARIANT *pvarVal;
- CHAR cVal;
- USHORT uiVal;
- ULONG ulVal;
- INT intVal;
- UINT uintVal;
- DECIMAL decVal;
- DECIMAL *pdecVal;
- CHAR *pcVal;
- USHORT *puiVal;
- ULONG *pulVal;
- INT *pintVal;
- UINT *puintVal;
- } DUMMYUNIONNAME;
- } wireVARIANT;
- typedef LONG DISPID;
- typedef DISPID MEMBERID;
- typedef DWORD HREFTYPE;
- typedef enum tagTYPEKIND {
- TKIND_ENUM,TKIND_RECORD,TKIND_MODULE,TKIND_INTERFACE,TKIND_DISPATCH,
- TKIND_COCLASS,TKIND_ALIAS,TKIND_UNION,TKIND_MAX
- }TYPEKIND;
- typedef struct tagTYPEDESC {
- union {
- struct tagTYPEDESC *lptdesc;
- struct tagARRAYDESC *lpadesc;
- HREFTYPE hreftype;
- } DUMMYUNIONNAME;
- VARTYPE vt;
- }TYPEDESC;
- typedef struct tagARRAYDESC {
- TYPEDESC tdescElem;
- USHORT cDims;
- SAFEARRAYBOUND rgbounds[1];
- }ARRAYDESC;
- typedef struct tagPARAMDESCEX {
- ULONG cBytes;
- VARIANTARG varDefaultValue;
- }PARAMDESCEX,*LPPARAMDESCEX;
- typedef struct tagPARAMDESC {
- LPPARAMDESCEX pparamdescex;
- USHORT wParamFlags;
- }PARAMDESC,*LPPARAMDESC;
- typedef struct tagIDLDESC {
- ULONG dwReserved;
- USHORT wIDLFlags;
- }IDLDESC,*LPIDLDESC;
- typedef struct tagELEMDESC {
- TYPEDESC tdesc;
- union {
- IDLDESC idldesc;
- PARAMDESC paramdesc;
- } DUMMYUNIONNAME;
- } ELEMDESC,*LPELEMDESC;
- typedef struct tagTYPEATTR {
- GUID guid;
- LCID lcid;
- DWORD dwReserved;
- MEMBERID memidConstructor;
- MEMBERID memidDestructor;
- LPOLESTR lpstrSchema;
- ULONG cbSizeInstance;
- TYPEKIND typekind;
- WORD cFuncs;
- WORD cVars;
- WORD cImplTypes;
- WORD cbSizeVft;
- WORD cbAlignment;
- WORD wTypeFlags;
- WORD wMajorVerNum;
- WORD wMinorVerNum;
- TYPEDESC tdescAlias;
- IDLDESC idldescType;
- }TYPEATTR,*LPTYPEATTR;
- typedef struct tagDISPPARAMS {
- VARIANTARG *rgvarg;
- DISPID *rgdispidNamedArgs;
- UINT cArgs;
- UINT cNamedArgs;
- }DISPPARAMS;
- typedef struct tagEXCEPINFO {
- WORD wCode;
- WORD wReserved;
- BSTR bstrSource;
- BSTR bstrDescription;
- BSTR bstrHelpFile;
- DWORD dwHelpContext;
- PVOID pvReserved;
- HRESULT(__stdcall * pfnDeferredFillIn)(struct tagEXCEPINFO*);
- SCODE scode;
- } EXCEPINFO,*LPEXCEPINFO;
- typedef enum tagCALLCONV {
- CC_FASTCALL,CC_CDECL,CC_MSCPASCAL,CC_PASCAL=CC_MSCPASCAL,
- CC_MACPASCAL,CC_STDCALL,CC_FPFASTCALL,CC_SYSCALL,CC_MPWCDECL,
- CC_MPWPASCAL,CC_MAX=CC_MPWPASCAL
- }CALLCONV;
- typedef enum tagFUNCKIND {
- FUNC_VIRTUAL,FUNC_PUREVIRTUAL,FUNC_NONVIRTUAL,
- FUNC_STATIC= FUNC_NONVIRTUAL,FUNC_DISPATCH
- }FUNCKIND;
- typedef enum tagINVOKEKIND {
- INVOKE_FUNC=1,INVOKE_PROPERTYGET,INVOKE_PROPERTYPUT=4,
- INVOKE_PROPERTYPUTREF=8
- }INVOKEKIND;
- typedef struct tagFUNCDESC {
- MEMBERID memid;
- SCODE *lprgscode;
- ELEMDESC *lprgelemdescParam;
- FUNCKIND funckind;
- INVOKEKIND invkind;
- CALLCONV callconv;
- SHORT cParams;
- SHORT cParamsOpt;
- SHORT oVft;
- SHORT cScodes;
- ELEMDESC elemdescFunc;
- WORD wFuncFlags;
- }FUNCDESC,*LPFUNCDESC;
- typedef enum tagVARKIND {
- VAR_PERINSTANCE,VAR_STATIC,VAR_CONST,VAR_DISPATCH
- } VARKIND;
- typedef struct tagVARDESC {
- MEMBERID memid;
- LPOLESTR lpstrSchema;
- union {
- ULONG oInst;
- VARIANT *lpvarValue;
- } DUMMYUNIONNAME;
- ELEMDESC elemdescVar;
- WORD wVarFlags;
- VARKIND varkind;
- } VARDESC,*LPVARDESC;
- typedef enum tagTYPEFLAGS {
- TYPEFLAG_FAPPOBJECT=1,TYPEFLAG_FCANCREATE=2,TYPEFLAG_FLICENSED=4,
- TYPEFLAG_FPREDECLID=8,TYPEFLAG_FHIDDEN=16,TYPEFLAG_FCONTROL=32,
- TYPEFLAG_FDUAL=64,TYPEFLAG_FNONEXTENSIBLE=128,
- TYPEFLAG_FOLEAUTOMATION=256,TYPEFLAG_FRESTRICTED=512,
- TYPEFLAG_FAGGREGATABLE=1024,TYPEFLAG_FREPLACEABLE=2048,
- TYPEFLAG_FDISPATCHABLE=4096,TYPEFLAG_FREVERSEBIND=8192
- } TYPEFLAGS;
- typedef enum tagFUNCFLAGS {
- FUNCFLAG_FRESTRICTED=1,FUNCFLAG_FSOURCE=2,FUNCFLAG_FBINDABLE=4,
- FUNCFLAG_FREQUESTEDIT=8,FUNCFLAG_FDISPLAYBIND=16,FUNCFLAG_FDEFAULTBIND=32,
- FUNCFLAG_FHIDDEN=64,FUNCFLAG_FUSESGETLASTERROR=128,FUNCFLAG_FDEFAULTCOLLELEM=256,
- FUNCFLAG_FUIDEFAULT=512,FUNCFLAG_FNONBROWSABLE=1024,FUNCFLAG_FREPLACEABLE=2048,
- FUNCFLAG_FIMMEDIATEBIND=4096
- } FUNCFLAGS;
- typedef enum tagVARFLAGS {
- VARFLAG_FREADONLY=1,VARFLAG_FSOURCE=2,VARFLAG_FBINDABLE=4,VARFLAG_FREQUESTEDIT=8,
- VARFLAG_FDISPLAYBIND=16,VARFLAG_FDEFAULTBIND=32,VARFLAG_FHIDDEN=64,VARFLAG_FRESTRICTED=128,
- VARFLAG_FDEFAULTCOLLELEM=256,VARFLAG_FUIDEFAULT=512,VARFLAG_FNONBROWSABLE=1024,
- VARFLAG_FREPLACEABLE=2048,VARFLAG_FIMMEDIATEBIND=4096
- } VARFLAGS;
- typedef struct tagCLEANLOCALSTORAGE {
- IUnknown *pInterface;
- PVOID pStorage;
- DWORD flags;
- } CLEANLOCALSTORAGE;
- typedef struct tagCUSTDATAITEM {
- GUID guid;
- VARIANTARG varValue;
- } CUSTDATAITEM,*LPCUSTDATAITEM;
- typedef struct tagCUSTDATA {
- DWORD cCustData;
- LPCUSTDATAITEM prgCustData;
- } CUSTDATA,*LPCUSTDATA;
-
- #undef INTERFACE
- #define INTERFACE IDispatch
- DECLARE_INTERFACE_(IDispatch,IUnknown)
- {
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(GetTypeInfoCount)(THIS_ UINT*) PURE;
- STDMETHOD(GetTypeInfo)(THIS_ UINT,LCID,LPTYPEINFO*) PURE;
- STDMETHOD(GetIDsOfNames)(THIS_ REFIID,LPOLESTR*,UINT,LCID,DISPID*) PURE;
- STDMETHOD(Invoke)(THIS_ DISPID,REFIID,LCID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*) PURE;
- };
-
- #ifdef __cplusplus
- }
- #endif
- #endif
-