Wrote a new oaidl.idl to replace include/wine/obj_oleaut.h and
include/wine/obj_errorinfo.h.
This commit is contained in:
parent
9d863f044d
commit
6463e3823a
|
@ -5,6 +5,7 @@ VPATH = @srcdir@
|
|||
MODULE = none
|
||||
|
||||
IDL_SRCS = \
|
||||
oaidl.idl \
|
||||
objidl.idl \
|
||||
unknwn.idl \
|
||||
wtypes.idl
|
||||
|
@ -88,7 +89,6 @@ WINDOWS_INCLUDES = \
|
|||
ntddstor.h \
|
||||
ntsecapi.h \
|
||||
ntstatus.h \
|
||||
oaidl.h \
|
||||
objbase.h \
|
||||
ocidl.h \
|
||||
ole2.h \
|
||||
|
@ -214,10 +214,8 @@ WINE_INCLUDES = \
|
|||
obj_dragdrophelper.h \
|
||||
obj_enumguid.h \
|
||||
obj_enumidlist.h \
|
||||
obj_errorinfo.h \
|
||||
obj_extracticon.h \
|
||||
obj_inplace.h \
|
||||
obj_oleaut.h \
|
||||
obj_olefont.h \
|
||||
obj_oleobj.h \
|
||||
obj_oleundo.h \
|
||||
|
|
5035
include/oaidl.h
5035
include/oaidl.h
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -1,110 +0,0 @@
|
|||
/*
|
||||
* Defines the COM interfaces and APIs related to ErrorInfo
|
||||
*
|
||||
* Copyright (C) 2000 Juergen Schmied
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#ifndef __WINE_WINE_OBJ_ERRORINFO_H
|
||||
#define __WINE_WINE_OBJ_ERRORINFO_H
|
||||
|
||||
DEFINE_GUID(IID_IErrorInfo,0x1CF2B120,0x547D,0x101B,0x8E,0x65,0x08,0x00,0x2B,0x2B,0xD1,0x19);
|
||||
typedef struct IErrorInfo IErrorInfo,*LPERRORINFO;
|
||||
|
||||
DEFINE_GUID(IID_ICreateErrorInfo,0x22F03340,0x547D,0x101B,0x8E,0x65,0x08,0x00,0x2B,0x2B,0xD1,0x19);
|
||||
typedef struct ICreateErrorInfo ICreateErrorInfo,*LPCREATEERRORINFO;
|
||||
|
||||
DEFINE_GUID(IID_ISupportErrorInfo,0xDF0B3D60,0x547D,0x101B,0x8E,0x65,0x08,0x00,0x2B,0x2B,0xD1,0x19);
|
||||
typedef struct ISupportErrorInfo ISupportErrorInfo,*LPSUPPORTERRORINFO;
|
||||
|
||||
/*****************************************************************************
|
||||
* IErrorInfo
|
||||
*/
|
||||
#define ICOM_INTERFACE IErrorInfo
|
||||
#define IErrorInfo_METHODS \
|
||||
ICOM_METHOD1(HRESULT, GetGUID, GUID * , pGUID) \
|
||||
ICOM_METHOD1(HRESULT, GetSource, BSTR* ,pBstrSource) \
|
||||
ICOM_METHOD1(HRESULT, GetDescription, BSTR*, pBstrDescription) \
|
||||
ICOM_METHOD1(HRESULT, GetHelpFile, BSTR*, pBstrHelpFile) \
|
||||
ICOM_METHOD1(HRESULT, GetHelpContext, DWORD*, pdwHelpContext)
|
||||
|
||||
#define IErrorInfo_IMETHODS \
|
||||
IUnknown_IMETHODS \
|
||||
IErrorInfo_METHODS
|
||||
ICOM_DEFINE(IErrorInfo, IUnknown)
|
||||
#undef ICOM_INTERFACE
|
||||
|
||||
/*** IUnknown methods ***/
|
||||
#define IErrorInfo_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
|
||||
#define IErrorInfo_AddRef(p) ICOM_CALL (AddRef,p)
|
||||
#define IErrorInfo_Release(p) ICOM_CALL (Release,p)
|
||||
/*** IErrorInfo methods ***/
|
||||
#define IErrorInfo_GetGUID(p,a) ICOM_CALL1 (GetGUID,p,a)
|
||||
#define IErrorInfo_GetSource(p,a) ICOM_CALL1 (GetSource,p,a)
|
||||
#define IErrorInfo_GetDescription(p,a) ICOM_CALL1 (GetDescription,p,a)
|
||||
#define IErrorInfo_GetHelpFile(p,a) ICOM_CALL1 (GetHelpFile,p,a)
|
||||
#define IErrorInfo_GetHelpContext(p,a) ICOM_CALL1 (GetHelpContext,p,a)
|
||||
|
||||
/*****************************************************************************
|
||||
* ICreateErrorInfo
|
||||
*/
|
||||
#define ICOM_INTERFACE ICreateErrorInfo
|
||||
#define ICreateErrorInfo_METHODS \
|
||||
ICOM_METHOD1(HRESULT, SetGUID, REFGUID, rguid) \
|
||||
ICOM_METHOD1(HRESULT, SetSource, LPOLESTR, szSource) \
|
||||
ICOM_METHOD1(HRESULT, SetDescription, LPOLESTR, szDescription) \
|
||||
ICOM_METHOD1(HRESULT, SetHelpFile, LPOLESTR, szHelpFile) \
|
||||
ICOM_METHOD1(HRESULT, SetHelpContext, DWORD, dwHelpContext)
|
||||
|
||||
#define ICreateErrorInfo_IMETHODS \
|
||||
IUnknown_IMETHODS \
|
||||
ICreateErrorInfo_METHODS
|
||||
ICOM_DEFINE(ICreateErrorInfo, IUnknown)
|
||||
#undef ICOM_INTERFACE
|
||||
|
||||
/*** IUnknown methods ***/
|
||||
#define ICreateErrorInfo_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
|
||||
#define ICreateErrorInfo_AddRef(p) ICOM_CALL (AddRef,p)
|
||||
#define ICreateErrorInfo_Release(p) ICOM_CALL (Release,p)
|
||||
/*** ICreateErrorInfo methods ***/
|
||||
#define ICreateErrorInfo_SetGUID(p,a) ICOM_CALL1 (SetGUID,p,a)
|
||||
#define ICreateErrorInfo_SetSource(p,a) ICOM_CALL1 (SetSource,p,a)
|
||||
#define ICreateErrorInfo_SetDescription(p,a) ICOM_CALL1 (SetDescription,p,a)
|
||||
#define ICreateErrorInfo_SetHelpFile(p,a) ICOM_CALL1 (SetHelpFile,p,a)
|
||||
#define ICreateErrorInfo_SetHelpContext(p,a) ICOM_CALL1 (SetHelpContext,p,a)
|
||||
|
||||
/*****************************************************************************
|
||||
* ISupportErrorInfo
|
||||
*/
|
||||
#define ICOM_INTERFACE ISupportErrorInfo
|
||||
#define ISupportErrorInfo_METHODS \
|
||||
ICOM_METHOD1(HRESULT, InterfaceSupportsErrorInfo, REFIID, riid )
|
||||
|
||||
#define ISupportErrorInfo_IMETHODS \
|
||||
IUnknown_IMETHODS \
|
||||
ISupportErrorInfo_METHODS
|
||||
ICOM_DEFINE(ISupportErrorInfo, IUnknown)
|
||||
#undef ICOM_INTERFACE
|
||||
|
||||
/*** IUnknown methods ***/
|
||||
#define ISupportErrorInfo_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
|
||||
#define ISupportErrorInfo_AddRef(p) ICOM_CALL (AddRef,p)
|
||||
#define ISupportErrorInfo_Release(p) ICOM_CALL (Release,p)
|
||||
/*** ISupportErrorInfo methods ***/
|
||||
#define ISupportErrorInfo_InterfaceSupportsErrorInfo(p,a) ICOM_CALL1 (InterfaceSupportsErrorInfo,p,a)
|
||||
|
||||
|
||||
#endif /* __WINE_WINE_OBJ_ERRORINFO_H */
|
|
@ -1,846 +0,0 @@
|
|||
/*
|
||||
* Defines the COM interfaces and APIs related to OLE automation support.
|
||||
*
|
||||
* Copyright (C) the Wine project
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#ifndef __WINE_WINE_OBJ_OLEAUT_H
|
||||
#define __WINE_WINE_OBJ_OLEAUT_H
|
||||
|
||||
/*****************************************************************************
|
||||
* Predeclare the interfaces
|
||||
*/
|
||||
DEFINE_OLEGUID(IID_IDispatch, 0x00020400,0,0);
|
||||
typedef struct IDispatch IDispatch,*LPDISPATCH;
|
||||
|
||||
DEFINE_OLEGUID(IID_ITypeInfo, 0x00020401,0,0);
|
||||
typedef struct ITypeInfo ITypeInfo,*LPTYPEINFO;
|
||||
|
||||
DEFINE_OLEGUID(IID_IRecordInfo, 0x0000002f,0,0);
|
||||
typedef struct IRecordInfo IRecordInfo,*LPRECORDINFO;
|
||||
|
||||
DEFINE_OLEGUID(IID_ITypeLib, 0x00020402,0,0);
|
||||
typedef struct ITypeLib ITypeLib,*LPTYPELIB;
|
||||
|
||||
DEFINE_OLEGUID(IID_ITypeComp, 0x00020403,0,0);
|
||||
typedef struct ITypeComp ITypeComp,*LPTYPECOMP;
|
||||
|
||||
DEFINE_OLEGUID(IID_IEnumVARIANT, 0x00020404,0,0);
|
||||
typedef struct IEnumVARIANT IEnumVARIANT,*LPENUMVARIANT;
|
||||
|
||||
DEFINE_OLEGUID(IID_ICreateTypeInfo, 0x00020405,0,0);
|
||||
typedef struct ICreateTypeInfo ICreateTypeInfo,*LPCREATETYPEINFO;
|
||||
|
||||
DEFINE_OLEGUID(IID_ICreateTypeLib, 0x00020406,0,0);
|
||||
typedef struct ICreateTypeLib ICreateTypeLib,*LPCREATETYPELIB;
|
||||
|
||||
DEFINE_OLEGUID(IID_ICreateTypeInfo2,0x0002040E,0,0);
|
||||
typedef struct ICreateTypeInfo2 ICreateTypeInfo2,*LPCREATETYPEINFO2;
|
||||
|
||||
DEFINE_OLEGUID(IID_ICreateTypeLib2, 0x0002040F,0,0);
|
||||
typedef struct ICreateTypeLib2 ICreateTypeLib2,*LPCREATETYPELIB2;
|
||||
|
||||
DEFINE_OLEGUID(IID_ITypeChangeEvents,0x00020410,0,0);
|
||||
typedef struct ITypeChangeEvents ITypeChangeEvents,*LPTYPECHANGEEVENTS;
|
||||
|
||||
DEFINE_OLEGUID(IID_ITypeLib2, 0x00020411,0,0);
|
||||
typedef struct ITypeLib2 ITypeLib2,*LPTYPELIB2;
|
||||
|
||||
DEFINE_OLEGUID(IID_ITypeInfo2, 0x00020412,0,0);
|
||||
typedef struct ITypeInfo2 ITypeInfo2,*LPTYPEINFO2;
|
||||
|
||||
/* The OLE Automation ProxyStub Interface Class (aka Typelib Marshaler) */
|
||||
DEFINE_OLEGUID(CLSID_PSOAInterface, 0x00020424,0,0);
|
||||
|
||||
/*****************************************************************************
|
||||
* Automation data types
|
||||
*/
|
||||
|
||||
/*****************************************************************
|
||||
* SafeArray defines and structs
|
||||
*/
|
||||
|
||||
#define FADF_AUTO ( 0x1 )
|
||||
#define FADF_STATIC ( 0x2 )
|
||||
#define FADF_EMBEDDED ( 0x4 )
|
||||
#define FADF_FIXEDSIZE ( 0x10 )
|
||||
#define FADF_RECORD ( 0x20 )
|
||||
#define FADF_HAVEIID ( 0x40 )
|
||||
#define FADF_HAVEVARTYPE ( 0x80 )
|
||||
#define FADF_BSTR ( 0x100 )
|
||||
#define FADF_UNKNOWN ( 0x200 )
|
||||
#define FADF_DISPATCH ( 0x400 )
|
||||
#define FADF_VARIANT ( 0x800 )
|
||||
#define FADF_RESERVED ( 0xf008 )
|
||||
|
||||
/* Undocumented flags */
|
||||
#define FADF_CREATEVECTOR ( 0x2000 ) /* set when the safe array is created using SafeArrayCreateVector */
|
||||
|
||||
|
||||
typedef struct tagSAFEARRAYBOUND
|
||||
{
|
||||
ULONG cElements; /* Number of elements in dimension */
|
||||
LONG lLbound; /* Lower bound of dimension */
|
||||
} SAFEARRAYBOUND;
|
||||
|
||||
typedef struct tagSAFEARRAY
|
||||
{
|
||||
USHORT cDims; /* Count of array dimension */
|
||||
USHORT fFeatures; /* Flags describing the array */
|
||||
ULONG cbElements; /* Size of each element */
|
||||
ULONG cLocks; /* Number of lock on array */
|
||||
PVOID pvData; /* Pointer to data valid when cLocks > 0 */
|
||||
SAFEARRAYBOUND rgsabound[ 1 ]; /* One bound for each dimension */
|
||||
} SAFEARRAY, *LPSAFEARRAY;
|
||||
|
||||
typedef enum tagCALLCONV {
|
||||
CC_CDECL = 1,
|
||||
CC_MSCPASCAL = CC_CDECL + 1,
|
||||
CC_PASCAL = CC_MSCPASCAL,
|
||||
CC_MACPASCAL = CC_PASCAL + 1,
|
||||
CC_STDCALL = CC_MACPASCAL + 1,
|
||||
CC_RESERVED = CC_STDCALL + 1,
|
||||
CC_SYSCALL = CC_RESERVED + 1,
|
||||
CC_MPWCDECL = CC_SYSCALL + 1,
|
||||
CC_MPWPASCAL = CC_MPWCDECL + 1,
|
||||
CC_MAX = CC_MPWPASCAL + 1
|
||||
} CALLCONV;
|
||||
|
||||
typedef CY CURRENCY;
|
||||
|
||||
/*
|
||||
* Declarations of the VARIANT structure and the VARIANT APIs.
|
||||
*/
|
||||
/* S_OK : Success.
|
||||
* DISP_E_BADVARTYPE : The variant type vt in not a valid type of variant.
|
||||
* DISP_E_OVERFLOW : The data pointed to by pvarSrc does not fit in the destination type.
|
||||
* DISP_E_TYPEMISMATCH : The variant type vt is not a valid type of variant.
|
||||
* E_INVALIDARG : One argument is invalid.
|
||||
* * E_OUTOFMEMORY : Memory could not be allocated for the conversion.
|
||||
* DISP_E_ARRAYISLOCKED : The variant contains an array that is locked.
|
||||
*/
|
||||
#if (__STDC__ && !defined(_FORCENAMELESSUNION)) || defined(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
|
||||
|
||||
typedef struct tagVARIANT VARIANT, *LPVARIANT;
|
||||
typedef struct tagVARIANT VARIANTARG, *LPVARIANTARG;
|
||||
|
||||
struct tagVARIANT
|
||||
{
|
||||
union
|
||||
{
|
||||
struct __tagVARIANT
|
||||
{
|
||||
VARTYPE vt;
|
||||
WORD wReserved1;
|
||||
WORD wReserved2;
|
||||
WORD wReserved3;
|
||||
union /* DUMMYUNIONNAME */
|
||||
{
|
||||
/* By value. */
|
||||
CHAR cVal;
|
||||
USHORT uiVal;
|
||||
ULONG ulVal;
|
||||
INT intVal;
|
||||
UINT uintVal;
|
||||
BYTE bVal;
|
||||
short iVal;
|
||||
long lVal;
|
||||
float fltVal;
|
||||
double dblVal;
|
||||
VARIANT_BOOL boolVal;
|
||||
SCODE scode;
|
||||
DATE date;
|
||||
BSTR bstrVal;
|
||||
CY cyVal;
|
||||
IUnknown* punkVal;
|
||||
IDispatch* pdispVal;
|
||||
SAFEARRAY* parray;
|
||||
|
||||
/* By reference */
|
||||
CHAR* pcVal;
|
||||
USHORT* puiVal;
|
||||
ULONG* pulVal;
|
||||
INT* pintVal;
|
||||
UINT* puintVal;
|
||||
BYTE* pbVal;
|
||||
short* piVal;
|
||||
long* plVal;
|
||||
float* pfltVal;
|
||||
double* pdblVal;
|
||||
VARIANT_BOOL* pboolVal;
|
||||
SCODE* pscode;
|
||||
DATE* pdate;
|
||||
BSTR* pbstrVal;
|
||||
VARIANT* pvarVal;
|
||||
PVOID byref;
|
||||
CY* pcyVal;
|
||||
DECIMAL* pdecVal;
|
||||
IUnknown** ppunkVal;
|
||||
IDispatch** ppdispVal;
|
||||
SAFEARRAY** pparray;
|
||||
} __VARIANT_NAME_3;
|
||||
} __VARIANT_NAME_2;
|
||||
DECIMAL decVal;
|
||||
} __VARIANT_NAME_1;
|
||||
};
|
||||
|
||||
|
||||
typedef LONG DISPID;
|
||||
typedef DWORD HREFTYPE;
|
||||
typedef DISPID MEMBERID;
|
||||
|
||||
#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 IMPLTYPEFLAG_FDEFAULT (0x1)
|
||||
#define IMPLTYPEFLAG_FSOURCE (0x2)
|
||||
#define IMPLTYPEFLAG_FRESTRICTED (0x4)
|
||||
#define IMPLTYPEFLAG_FDEFAULTVTABLE (0x8)
|
||||
|
||||
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 struct tagIDLDESC
|
||||
{
|
||||
ULONG dwReserved;
|
||||
USHORT wIDLFlags;
|
||||
} IDLDESC;
|
||||
|
||||
typedef struct tagPARAMDESCEX
|
||||
{
|
||||
ULONG cBytes;
|
||||
VARIANTARG varDefaultValue;
|
||||
} PARAMDESCEX, *LPPARAMDESCEX;
|
||||
|
||||
typedef struct tagPARAMDESC
|
||||
{
|
||||
LPPARAMDESCEX pparamdescex;
|
||||
USHORT wParamFlags;
|
||||
} PARAMDESC;
|
||||
|
||||
#define PARAMFLAG_NONE (0x00)
|
||||
#define PARAMFLAG_FIN (0x01)
|
||||
#define PARAMFLAG_FOUT (0x02)
|
||||
#define PARAMFLAG_FLCID (0x04)
|
||||
#define PARAMFLAG_FRETVAL (0x08)
|
||||
#define PARAMFLAG_FOPT (0x10)
|
||||
#define PARAMFLAG_FHASDEFAULT (0x20)
|
||||
#define PARAMFLAG_FHASCUSTDATA (0x40)
|
||||
|
||||
typedef struct tagTYPEDESC
|
||||
{
|
||||
union {
|
||||
struct tagTYPEDESC *lptdesc;
|
||||
struct tagARRAYDESC *lpadesc;
|
||||
HREFTYPE hreftype;
|
||||
} DUMMYUNIONNAME;
|
||||
VARTYPE vt;
|
||||
} TYPEDESC;
|
||||
|
||||
typedef struct tagELEMDESC
|
||||
{
|
||||
TYPEDESC tdesc;
|
||||
union {
|
||||
IDLDESC idldesc;
|
||||
PARAMDESC paramdesc;
|
||||
} DUMMYUNIONNAME;
|
||||
} ELEMDESC, *LPELEMDESC;
|
||||
|
||||
typedef enum tagTYPEKIND
|
||||
{
|
||||
TKIND_ENUM = 0,
|
||||
TKIND_RECORD = 1,
|
||||
TKIND_MODULE = 2,
|
||||
TKIND_INTERFACE = 3,
|
||||
TKIND_DISPATCH = 4,
|
||||
TKIND_COCLASS = 5,
|
||||
TKIND_ALIAS = 6,
|
||||
TKIND_UNION = 7,
|
||||
TKIND_MAX = 8
|
||||
} TYPEKIND;
|
||||
|
||||
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 enum tagTYPEFLAGS {
|
||||
TYPEFLAG_FAPPOBJECT = 0x01,
|
||||
TYPEFLAG_FCANCREATE = 0x02,
|
||||
TYPEFLAG_FLICENSED = 0x04,
|
||||
TYPEFLAG_FPREDECLID = 0x08,
|
||||
TYPEFLAG_FHIDDEN = 0x10,
|
||||
TYPEFLAG_FCONTROL = 0x20,
|
||||
TYPEFLAG_FDUAL = 0x40,
|
||||
TYPEFLAG_FNONEXTENSIBLE = 0x80,
|
||||
TYPEFLAG_FOLEAUTOMATION = 0x100,
|
||||
TYPEFLAG_FRESTRICTED = 0x200,
|
||||
TYPEFLAG_FAGGREGATABLE = 0x400,
|
||||
TYPEFLAG_FREPLACEABLE = 0x800,
|
||||
TYPEFLAG_FDISPATCHABLE = 0x1000,
|
||||
TYPEFLAG_FREVERSEBIND = 0x2000,
|
||||
TYPEFLAG_FPROXY = 0x4000
|
||||
} TYPEFLAGS;
|
||||
|
||||
typedef struct tagARRAYDESC
|
||||
{
|
||||
TYPEDESC tdescElem;
|
||||
USHORT cDims;
|
||||
SAFEARRAYBOUND rgbounds[1];
|
||||
} ARRAYDESC;
|
||||
|
||||
typedef enum tagFUNCKIND
|
||||
{
|
||||
FUNC_VIRTUAL = 0,
|
||||
FUNC_PUREVIRTUAL = 1,
|
||||
FUNC_NONVIRTUAL = 2,
|
||||
FUNC_STATIC = 3,
|
||||
FUNC_DISPATCH = 4
|
||||
} FUNCKIND;
|
||||
|
||||
typedef enum tagFUNCFLAGS
|
||||
{
|
||||
FUNCFLAG_FRESTRICTED = 0x1,
|
||||
FUNCFLAG_FSOURCE = 0x2,
|
||||
FUNCFLAG_FBINDABLE = 0x4,
|
||||
FUNCFLAG_FREQUESTEDIT = 0x8,
|
||||
FUNCFLAG_FDISPLAYBIND = 0x10,
|
||||
FUNCFLAG_FDEFAULTBIND = 0x20,
|
||||
FUNCFLAG_FHIDDEN = 0x40,
|
||||
FUNCFLAG_FUSESGETLASTERROR = 0x80,
|
||||
FUNCFLAG_FDEFAULTCOLLELEM = 0x100,
|
||||
FUNCFLAG_FUIDEFAULT = 0x200,
|
||||
FUNCFLAG_FNONBROWSABLE = 0x400,
|
||||
FUNCFLAG_FREPLACEABLE = 0x800,
|
||||
FUNCFLAG_FIMMEDIATEBIND = 0x1000
|
||||
} FUNCFLAGS;
|
||||
|
||||
typedef enum tagINVOKEKIND
|
||||
{
|
||||
INVOKE_FUNC = 1,
|
||||
INVOKE_PROPERTYGET = 2,
|
||||
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 = 0,
|
||||
VAR_STATIC = 1,
|
||||
VAR_CONST = 2,
|
||||
VAR_DISPATCH = 3
|
||||
} VARKIND;
|
||||
|
||||
typedef struct tagVARDESC
|
||||
{
|
||||
MEMBERID memid;
|
||||
LPOLESTR lpstrSchema;
|
||||
union {
|
||||
ULONG oInst;
|
||||
VARIANT *lpvarValue;
|
||||
} DUMMYUNIONNAME;
|
||||
ELEMDESC elemdescVar;
|
||||
WORD wVarFlags;
|
||||
VARKIND varkind;
|
||||
} VARDESC, *LPVARDESC;
|
||||
|
||||
typedef enum tagSYSKIND
|
||||
{
|
||||
SYS_WIN16 = 0,
|
||||
SYS_WIN32 = 1,
|
||||
SYS_MAC = 2
|
||||
} SYSKIND;
|
||||
|
||||
typedef enum tagLIBFLAGS
|
||||
{
|
||||
LIBFLAG_FRESTRICTED = 0x1,
|
||||
LIBFLAG_FCONTROL = 0x2,
|
||||
LIBFLAG_FHIDDEN = 0x4,
|
||||
LIBFLAG_FHASDISKIMAGE = 0x8
|
||||
} LIBFLAGS;
|
||||
|
||||
typedef struct tagTLIBATTR
|
||||
{
|
||||
GUID guid;
|
||||
LCID lcid;
|
||||
SYSKIND syskind;
|
||||
WORD wMajorVerNum;
|
||||
WORD wMinorVerNum;
|
||||
WORD wLibFlags;
|
||||
} TLIBATTR, *LPTLIBATTR;
|
||||
|
||||
typedef enum tagDESCKIND
|
||||
{
|
||||
DESCKIND_NONE = 0,
|
||||
DESCKIND_FUNCDESC = 1,
|
||||
DESCKIND_VARDESC = 2,
|
||||
DESCKIND_TYPECOMP = 3,
|
||||
DESCKIND_IMPLICITAPPOBJ = 4,
|
||||
DESCKIND_MAX = 5
|
||||
} DESCKIND;
|
||||
|
||||
typedef union tagBINDPTR
|
||||
{
|
||||
FUNCDESC *lpfuncdesc;
|
||||
VARDESC *lpvardesc;
|
||||
ITypeComp *lptcomp;
|
||||
} BINDPTR, *LPBINDPTR;
|
||||
|
||||
typedef enum tagVARFLAGS
|
||||
{
|
||||
VARFLAG_FREADONLY = 0x1,
|
||||
VARFLAG_FSOURCE = 0x2,
|
||||
VARFLAG_FBINDABLE = 0x4,
|
||||
VARFLAG_FREQUESTEDIT = 0x8,
|
||||
VARFLAG_FDISPLAYBIND = 0x10,
|
||||
VARFLAG_FDEFAULTBIND = 0x20,
|
||||
VARFLAG_FHIDDEN = 0x40,
|
||||
VARFLAG_FRESTRICTED = 0x80,
|
||||
VARFLAG_FDEFAULTCOLLELEM = 0x100,
|
||||
VARFLAG_FUIDEFAULT = 0x200,
|
||||
VARFLAG_FNONBROWSABLE = 0x400,
|
||||
VARFLAG_FREPLACEABLE = 0x800,
|
||||
VARFLAG_FIMMEDIATEBIND = 0x1000
|
||||
} VARFLAGS;
|
||||
|
||||
|
||||
/*
|
||||
* Declarations of the VARIANT structure and the VARIANT APIs.
|
||||
*/
|
||||
|
||||
/* S_OK : Success.
|
||||
* DISP_E_BADVARTYPE : The variant type vt in not a valid type of variant.
|
||||
* DISP_E_OVERFLOW : The data pointed to by pvarSrc does not fit in the destination type.
|
||||
* DISP_E_TYPEMISMATCH : The variant type vt is not a valid type of variant.
|
||||
* E_INVALIDARG : One argument is invalid.
|
||||
* E_OUTOFMEMORY : Memory could not be allocated for the conversion.
|
||||
* DISP_E_ARRAYISLOCKED : The variant contains an array that is locked.
|
||||
*/
|
||||
|
||||
|
||||
typedef struct tagCUSTDATAITEM {
|
||||
GUID guid;
|
||||
VARIANTARG varValue;
|
||||
} CUSTDATAITEM, *LPCUSTDATAITEM;
|
||||
|
||||
typedef struct tagCUSTDATA {
|
||||
INT cCustData;
|
||||
LPCUSTDATAITEM prgCustData; /* count cCustdata */
|
||||
} CUSTDATA, *LPCUSTDATA;
|
||||
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
* IDispatch interface
|
||||
*/
|
||||
#define ICOM_INTERFACE IDispatch
|
||||
#define IDispatch_METHODS \
|
||||
ICOM_METHOD1(HRESULT, GetTypeInfoCount, UINT*, pctinfo) \
|
||||
ICOM_METHOD3(HRESULT, GetTypeInfo, UINT, iTInfo, LCID, lcid, ITypeInfo**, ppTInfo) \
|
||||
ICOM_METHOD5(HRESULT, GetIDsOfNames, REFIID, riid, LPOLESTR*, rgszNames, UINT, cNames, LCID, lcid, DISPID*, rgDispId) \
|
||||
ICOM_METHOD8(HRESULT, Invoke, DISPID, dispIdMember, REFIID, riid, LCID, lcid, WORD, wFlags, DISPPARAMS*, pDispParams, VARIANT*, pVarResult, EXCEPINFO*, pExepInfo, UINT*, puArgErr)
|
||||
#define IDispatch_IMETHODS \
|
||||
IUnknown_IMETHODS \
|
||||
IDispatch_METHODS
|
||||
ICOM_DEFINE(IDispatch,IUnknown)
|
||||
#undef ICOM_INTERFACE
|
||||
|
||||
/*** IUnknown methods ***/
|
||||
#define IDispatch_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
|
||||
#define IDispatch_AddRef(p) ICOM_CALL (AddRef,p)
|
||||
#define IDispatch_Release(p) ICOM_CALL (Release,p)
|
||||
/*** IDispatch methods ***/
|
||||
#define IDispatch_GetTypeInfoCount(p,a) ICOM_CALL1 (GetTypeInfoCount,p,a)
|
||||
#define IDispatch_GetTypeInfo(p,a,b,c) ICOM_CALL3 (GetTypeInfo,p,a,b,c)
|
||||
#define IDispatch_GetIDsOfNames(p,a,b,c,d,e) ICOM_CALL5 (GetIDsOfNames,p,a,b,c,d,e)
|
||||
#define IDispatch_Invoke(p,a,b,c,d,e,f,g,h) ICOM_CALL8 (Invoke,p,a,b,c,d,e,f,g,h)
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
* ITypeInfo interface
|
||||
*/
|
||||
#define ICOM_INTERFACE ITypeInfo
|
||||
#define ITypeInfo_METHODS \
|
||||
ICOM_METHOD1(HRESULT,GetTypeAttr, TYPEATTR**,ppTypeAttr) \
|
||||
ICOM_METHOD1(HRESULT,GetTypeComp, ITypeComp**,ppTComp) \
|
||||
ICOM_METHOD2(HRESULT,GetFuncDesc, UINT,index, FUNCDESC**,ppFuncDesc) \
|
||||
ICOM_METHOD2(HRESULT,GetVarDesc, UINT,index, VARDESC**,ppVarDesc) \
|
||||
ICOM_METHOD4(HRESULT,GetNames, MEMBERID,memid, BSTR*,rgBstrNames, UINT,cMaxNames, UINT*,pcNames) \
|
||||
ICOM_METHOD2(HRESULT,GetRefTypeOfImplType, UINT,index, HREFTYPE*, pRefType) \
|
||||
ICOM_METHOD2(HRESULT,GetImplTypeFlags, UINT,index, INT*,pImplTypeFlags)\
|
||||
ICOM_METHOD3(HRESULT,GetIDsOfNames, LPOLESTR*,rgszNames, UINT,cNames, MEMBERID*,pMemId) \
|
||||
ICOM_METHOD7(HRESULT,Invoke, PVOID,pvInstance, MEMBERID,memid, WORD,wFlags, DISPPARAMS*,pDispParams, VARIANT*,pVarResult, EXCEPINFO*,pExcepInfo, UINT*,puArgErr) \
|
||||
ICOM_METHOD5(HRESULT,GetDocumentation, MEMBERID,memid, BSTR*,pBstrName, BSTR*,pBstrDocString, DWORD*,pdwHelpContext, BSTR*,pBstrHelpFile) \
|
||||
ICOM_METHOD5(HRESULT,GetDllEntry, MEMBERID,memid, INVOKEKIND,invKind, BSTR*,pBstrDllName, BSTR*,pBstrName, WORD*,pwOrdinal) \
|
||||
ICOM_METHOD2(HRESULT,GetRefTypeInfo, HREFTYPE,hRefType, ITypeInfo**,ppTInfo) \
|
||||
ICOM_METHOD3(HRESULT,AddressOfMember, MEMBERID,memid, INVOKEKIND,invKind, PVOID*,ppv) \
|
||||
ICOM_METHOD3(HRESULT,CreateInstance, IUnknown*,pUnkOuter, REFIID,riid, PVOID*,ppvObj) \
|
||||
ICOM_METHOD2(HRESULT,GetMops, MEMBERID,memid, BSTR*,pBstrMops) \
|
||||
ICOM_METHOD2(HRESULT,GetContainingTypeLib, ITypeLib**,ppTLib, UINT*,pIndex) \
|
||||
ICOM_METHOD1(HRESULT,ReleaseTypeAttr, TYPEATTR*,pTypeAttr) \
|
||||
ICOM_METHOD1(HRESULT,ReleaseFuncDesc, FUNCDESC*,pFuncDesc) \
|
||||
ICOM_METHOD1(HRESULT,ReleaseVarDesc, VARDESC*,pVarDesc)
|
||||
|
||||
#define ITypeInfo_IMETHODS \
|
||||
IUnknown_IMETHODS \
|
||||
ITypeInfo_METHODS
|
||||
ICOM_DEFINE(ITypeInfo,IUnknown)
|
||||
#undef ICOM_INTERFACE
|
||||
|
||||
/*** IUnknown methods ***/
|
||||
#define ITypeInfo_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
|
||||
#define ITypeInfo_AddRef(p) ICOM_CALL (AddRef,p)
|
||||
#define ITypeInfo_Release(p) ICOM_CALL (Release,p)
|
||||
/*** ITypeInfo methods ***/
|
||||
#define ITypeInfo_GetTypeAttr(p,a) ICOM_CALL1(GetTypeAttr,p,a)
|
||||
#define ITypeInfo_GetTypeComp(p,a) ICOM_CALL1(GetTypeComp,p,a)
|
||||
#define ITypeInfo_GetFuncDesc(p,a,b) ICOM_CALL2(GetFuncDesc,p,a,b)
|
||||
#define ITypeInfo_GetVarDesc(p,a,b) ICOM_CALL2(GetVarDesc,p,a,b)
|
||||
#define ITypeInfo_GetNames(p,a,b,c,d) ICOM_CALL4(GetNames,p,a,b,c,d)
|
||||
#define ITypeInfo_GetRefTypeOfImplType(p,a,b) ICOM_CALL2(GetRefTypeOfImplType,p,a,b)
|
||||
#define ITypeInfo_GetImplTypeFlags(p,a,b) ICOM_CALL2(GetImplTypeFlags,p,a,b)
|
||||
#define ITypeInfo_GetIDsOfNames(p,a,b,c) ICOM_CALL3(GetIDsOfNames,p,a,b,c)
|
||||
#define ITypeInfo_Invoke(p,a,b,c,d,e,f,g) ICOM_CALL7(Invoke,p,a,b,c,d,e,f,g)
|
||||
#define ITypeInfo_GetDocumentation(p,a,b,c,d,e) ICOM_CALL5(GetDocumentation,p,a,b,c,d,e)
|
||||
#define ITypeInfo_GetDllEntry(p,a,b,c,d,e) ICOM_CALL5(GetDllEntry,p,a,b,c,d,e)
|
||||
#define ITypeInfo_GetRefTypeInfo(p,a,b) ICOM_CALL2(GetRefTypeInfo,p,a,b)
|
||||
#define ITypeInfo_AddressOfMember(p,a,b,c) ICOM_CALL3(AddressOfMember,p,a,b,c)
|
||||
#define ITypeInfo_CreateInstance(p,a,b,c) ICOM_CALL3(CreateInstance,p,a,b,c)
|
||||
#define ITypeInfo_GetMops(p,a,b) ICOM_CALL2(GetMops,p,a,b)
|
||||
#define ITypeInfo_GetContainingTypeLib(p,a,b) ICOM_CALL2(GetContainingTypeLib,p,a,b)
|
||||
#define ITypeInfo_ReleaseTypeAttr(p,a) ICOM_CALL1(ReleaseTypeAttr,p,a)
|
||||
#define ITypeInfo_ReleaseFuncDesc(p,a) ICOM_CALL1(ReleaseFuncDesc,p,a)
|
||||
#define ITypeInfo_ReleaseVarDesc(p,a) ICOM_CALL1(ReleaseVarDesc,p,a)
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
* ITypeInfo2 interface
|
||||
*/
|
||||
#define ICOM_INTERFACE ITypeInfo2
|
||||
#define ITypeInfo2_METHODS \
|
||||
ICOM_METHOD1(HRESULT, GetTypeKind, TYPEKIND*, pTypeKind) \
|
||||
ICOM_METHOD1(HRESULT, GetTypeFlags, UINT*, pTypeFlags) \
|
||||
ICOM_METHOD3(HRESULT, GetFuncIndexOfMemId, MEMBERID, memid, INVOKEKIND,\
|
||||
invKind, UINT*, pFuncIndex) \
|
||||
ICOM_METHOD2(HRESULT, GetVarIndexOfMemId, MEMBERID, memid, UINT*, \
|
||||
pVarIndex) \
|
||||
ICOM_METHOD2(HRESULT, GetCustData, REFGUID, guid, VARIANT*, pVarVal) \
|
||||
ICOM_METHOD3(HRESULT, GetFuncCustData, UINT, index, REFGUID, guid,\
|
||||
VARIANT*, pVarVal) \
|
||||
ICOM_METHOD4(HRESULT, GetParamCustData, UINT, indexFunc, UINT,\
|
||||
indexParam, REFGUID, guid, VARIANT*, pVarVal) \
|
||||
ICOM_METHOD3(HRESULT, GetVarCustData, UINT, index, REFGUID, guid,\
|
||||
VARIANT*, pVarVal) \
|
||||
ICOM_METHOD3(HRESULT, GetImplTypeCustData, UINT, index, REFGUID, guid,\
|
||||
VARIANT*, pVarVal) \
|
||||
ICOM_METHOD5(HRESULT, GetDocumentation2, MEMBERID, memid, LCID, lcid,\
|
||||
BSTR*, pbstrHelpString, DWORD*, pdwHelpStringContext,\
|
||||
BSTR*, pbstrHelpStringDll) \
|
||||
ICOM_METHOD1(HRESULT, GetAllCustData, CUSTDATA*, pCustData) \
|
||||
ICOM_METHOD2(HRESULT, GetAllFuncCustData, UINT, index, CUSTDATA*,\
|
||||
pCustData)\
|
||||
ICOM_METHOD3(HRESULT, GetAllParamCustData, UINT, indexFunc, UINT,\
|
||||
indexParam, CUSTDATA*, pCustData) \
|
||||
ICOM_METHOD2(HRESULT, GetAllVarCustData, UINT, index, CUSTDATA*,\
|
||||
pCustData) \
|
||||
ICOM_METHOD2(HRESULT, GetAllImplTypeCustData, UINT, index, CUSTDATA*,\
|
||||
pCustData)
|
||||
|
||||
#define ITypeInfo2_IMETHODS \
|
||||
IUnknown_IMETHODS \
|
||||
ITypeInfo_METHODS \
|
||||
ITypeInfo2_METHODS
|
||||
ICOM_DEFINE(ITypeInfo2,ITypeInfo)
|
||||
#undef ICOM_INTERFACE
|
||||
|
||||
/*** IUnknown methods ***/
|
||||
#define ITypeInfo2_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
|
||||
#define ITypeInfo2_AddRef(p) ICOM_CALL (AddRef,p)
|
||||
#define ITypeInfo2_Release(p) ICOM_CALL (Release,p)
|
||||
/*** ITypeInfo methods ***/
|
||||
#define ITypeInfo2_GetTypeAttr(p,a) ICOM_CALL1(GetTypeAttr,p,a)
|
||||
#define ITypeInfo2_GetTypeComp(p,a) ICOM_CALL1(GetTypeComp,p,a)
|
||||
#define ITypeInfo2_GetFuncDesc(p,a,b) ICOM_CALL2(GetFuncDesc,p,a,b)
|
||||
#define ITypeInfo2_GetVarDesc(p,a,b) ICOM_CALL2(GetVarDesc,p,a,b)
|
||||
#define ITypeInfo2_GetNames(p,a,b,c,d) ICOM_CALL4(GetNames,p,a,b,c,d)
|
||||
#define ITypeInfo2_GetRefTypeOfImplType(p,a,b) ICOM_CALL2(GetRefTypeOfImplType,p,a,b)
|
||||
#define ITypeInfo2_GetImplTypeFlags(p,a,b) ICOM_CALL2(GetImplTypeFlags,p,a,b)
|
||||
#define ITypeInfo2_GetIDsOfNames(p,a,b,c) ICOM_CALL3(GetIDsOfNames,p,a,b,c)
|
||||
#define ITypeInfo2_Invoke(p,a,b,c,d,e,f,g) ICOM_CALL7(Invoke,p,a,b,c,d,e,f,g)
|
||||
#define ITypeInfo2_GetDocumentation(p,a,b,c,d,e) ICOM_CALL5(GetDocumentation,p,a,b,c,d,e)
|
||||
#define ITypeInfo2_GetDllEntry(p,a,b,c,d,e) ICOM_CALL5(GetDllEntry,p,a,b,c,d,e)
|
||||
#define ITypeInfo2_GetRefTypeInfo(p,a,b) ICOM_CALL2(GetRefTypeInfo,p,a,b)
|
||||
#define ITypeInfo2_AddressOfMember(p,a,b,c) ICOM_CALL3(AddressOfMember,p,a,b,c)
|
||||
#define ITypeInfo2_CreateInstance(p,a,b,c) ICOM_CALL3(CreateInstance,p,a,b,c)
|
||||
#define ITypeInfo2_GetMops(p,a,b) ICOM_CALL2(GetMops,p,a,b)
|
||||
#define ITypeInfo2_GetContainingTypeLib(p,a,b) ICOM_CALL2(GetContainingTypeLib,p,a,b)
|
||||
#define ITypeInfo2_ReleaseTypeAttr(p,a) ICOM_CALL1(ReleaseTypeAttr,p,a)
|
||||
#define ITypeInfo2_ReleaseFuncDesc(p,a) ICOM_CALL1(ReleaseFuncDesc,p,a)
|
||||
#define ITypeInfo2_ReleaseVarDesc(p,a) ICOM_CALL1(ReleaseVarDesc,p,a)
|
||||
/*** ITypeInfo2 methods ***/
|
||||
#define ITypeInfo2_GetTypeKind(p,a) ICOM_CALL1(GetTypeKind,p,a)
|
||||
#define ITypeInfo2_GetTypeFlags(p,a) ICOM_CALL1(GetTypeFlags,p,a)
|
||||
#define ITypeInfo2_GetFuncIndexOfMemId(p,a,b,c) ICOM_CALL3(GetFuncIndexOfMemId,p,a,b,c)
|
||||
#define ITypeInfo2_GetVarIndexOfMemId(p,a,b) ICOM_CALL2(GetVarIndexOfMemId,p,a,b)
|
||||
#define ITypeInfo2_GetCustData(p,a,b) ICOM_CALL2(GetCustData,p,a,b)
|
||||
#define ITypeInfo2_GetFuncCustData(p,a,b,c) ICOM_CALL3(GetFuncCustData,p,a,b,c)
|
||||
#define ITypeInfo2_GetParamCustData(p,a,b,c,d) ICOM_CALL4(GetParamCustData,p,a,b,c,d)
|
||||
#define ITypeInfo2_GetVarCustData(p,a,b,c) ICOM_CALL3(GetVarCustData,p,a,b,c)
|
||||
#define ITypeInfo2_GetImplTypeCustData(p,a,b,c) ICOM_CALL3(GetImplTypeCustData,p,a,b,c)
|
||||
#define ITypeInfo2_GetDocumentation2(p,a,b,c,d,e) ICOM_CALL5(GetDocumentation2,p,a,b,c,d,e)
|
||||
#define ITypeInfo2_GetAllCustData(p,a) ICOM_CALL1(GetAllCustData,p,a)
|
||||
#define ITypeInfo2_GetAllFuncCustData(p,a,b) ICOM_CALL2(GetAllFuncCustData,p,a,b)
|
||||
#define ITypeInfo2_GetAllParamCustData(p,a,b,c) ICOM_CALL3(GetAllParamCustData,p,a,b,c)
|
||||
#define ITypeInfo2_GetAllVarCustData(p,a,b) ICOM_CALL2(GetAllVarCustData,p,a,b)
|
||||
#define ITypeInfo2_GetAllImplTypeCustData(p,a,b) ICOM_CALL2(GetAllImplTypeCustData,p,a,b)
|
||||
|
||||
/*****************************************************************************
|
||||
* ITypeLib interface
|
||||
*/
|
||||
#define ICOM_INTERFACE ITypeLib
|
||||
#define ITypeLib_METHODS \
|
||||
ICOM_METHOD (UINT,GetTypeInfoCount) \
|
||||
ICOM_METHOD2(HRESULT,GetTypeInfo, UINT,index, ITypeInfo**,ppTInfo) \
|
||||
ICOM_METHOD2(HRESULT,GetTypeInfoType, UINT,index, TYPEKIND*,pTKind) \
|
||||
ICOM_METHOD2(HRESULT,GetTypeInfoOfGuid, REFGUID,guid, ITypeInfo**,ppTinfo) \
|
||||
ICOM_METHOD1(HRESULT,GetLibAttr, TLIBATTR**,ppTLibAttr) \
|
||||
ICOM_METHOD1(HRESULT,GetTypeComp, ITypeComp**,ppTComp) \
|
||||
ICOM_METHOD5(HRESULT,GetDocumentation, INT,index, BSTR*,pBstrName, BSTR*,pBstrDocString, DWORD*,pdwHelpContext, BSTR*,pBstrHelpFile) \
|
||||
ICOM_METHOD3(HRESULT,IsName, LPOLESTR,szNameBuf, ULONG,lHashVal, BOOL*,bfName) \
|
||||
ICOM_METHOD5(HRESULT,FindName, LPOLESTR,szNameBuf, ULONG,lHashVal, ITypeInfo**,ppTInfo, MEMBERID*,rgMemId, USHORT*,pcFound) \
|
||||
ICOM_METHOD1(VOID,ReleaseTLibAttr, TLIBATTR*,pTLibAttr)
|
||||
#define ITypeLib_IMETHODS \
|
||||
IUnknown_IMETHODS \
|
||||
ITypeLib_METHODS
|
||||
ICOM_DEFINE(ITypeLib,IUnknown)
|
||||
#undef ICOM_INTERFACE
|
||||
|
||||
/*** IUnknown methods ***/
|
||||
#define ITypeLib_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
|
||||
#define ITypeLib_AddRef(p) ICOM_CALL (AddRef,p)
|
||||
#define ITypeLib_Release(p) ICOM_CALL (Release,p)
|
||||
/*** ITypeLib methods ***/
|
||||
#define ITypeLib_GetTypeInfoCount(p) ICOM_CALL (GetTypeInfoCount,p)
|
||||
#define ITypeLib_GetTypeInfo(p,a,b) ICOM_CALL2(GetTypeInfo,p,a,b)
|
||||
#define ITypeLib_GetTypeInfoType(p,a,b) ICOM_CALL2(GetTypeInfoType,p,a,b)
|
||||
#define ITypeLib_GetTypeInfoOfGuid(p,a,b) ICOM_CALL2(GetTypeInfoOfGuid,p,a,b)
|
||||
#define ITypeLib_GetLibAttr(p,a) ICOM_CALL1(GetLibAttr,p,a)
|
||||
#define ITypeLib_GetTypeComp(p,a) ICOM_CALL1(GetTypeComp,p,a)
|
||||
#define ITypeLib_GetDocumentation(p,a,b,c,d,e) ICOM_CALL5(GetDocumentation,p,a,b,c,d,e)
|
||||
#define ITypeLib_IsName(p,a,b,c) ICOM_CALL3(IsName,p,a,b,c)
|
||||
#define ITypeLib_FindName(p,a,b,c,d,e) ICOM_CALL5(FindName,p,a,b,c,d,e)
|
||||
#define ITypeLib_ReleaseTLibAttr(p,a) ICOM_CALL1(ReleaseTLibAttr,p,a)
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
* ITypeLib2 interface
|
||||
*/
|
||||
#define ICOM_INTERFACE ITypeLib2
|
||||
#define ITypeLib2_METHODS \
|
||||
ICOM_METHOD2(HRESULT, GetCustData, REFGUID, guid, VARIANT*, pVarVal) \
|
||||
ICOM_METHOD2(HRESULT, GetLibStatistics, ULONG *, pcUniqueNames, ULONG*,pcchUniqueNames) \
|
||||
ICOM_METHOD5(HRESULT, GetDocumentation2, INT, index, LCID, lcid,BSTR*, pbstrHelpString, DWORD*, pdwHelpStringContext, BSTR*, strHelpStringDll) \
|
||||
ICOM_METHOD1(HRESULT, GetAllCustData, CUSTDATA *, pCustData)
|
||||
#define ITypeLib2_IMETHODS \
|
||||
IUnknown_IMETHODS \
|
||||
ITypeLib_IMETHODS \
|
||||
ITypeLib2_METHODS
|
||||
ICOM_DEFINE(ITypeLib2,ITypeLib)
|
||||
#undef ICOM_INTERFACE
|
||||
|
||||
/*** IUnknown methods ***/
|
||||
#define ITypeLib2_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
|
||||
#define ITypeLib2_AddRef(p) ICOM_CALL (AddRef,p)
|
||||
#define ITypeLib2_Release(p) ICOM_CALL (Release,p)
|
||||
/*** ITypeLib methods ***/
|
||||
#define ITypeLib2_GetTypeInfoCount(p) ICOM_CALL (GetTypeInfoCount,p)
|
||||
#define ITypeLib2_GetTypeInfo(p,a,b) ICOM_CALL2(GetTypeInfo,p,a,b)
|
||||
#define ITypeLib2_GetTypeInfoType(p,a,b) ICOM_CALL2(GetTypeInfoType,p,a,b)
|
||||
#define ITypeLib2_GetTypeInfoOfGuid(p,a,b) ICOM_CALL2(GetTypeInfoOfGuid,p,a,b)
|
||||
#define ITypeLib2_GetLibAttr(p,a) ICOM_CALL1(GetLibAttr,p,a)
|
||||
#define ITypeLib2_GetTypeComp(p,a) ICOM_CALL1(GetTypeComp,p,a)
|
||||
#define ITypeLib2_GetDocumentation(p,a,b,c,d,e) ICOM_CALL5(GetDocumentation,p,a,b,c,d,e)
|
||||
#define ITypeLib2_IsName(p,a,b,c) ICOM_CALL3(IsName,p,a,b,c)
|
||||
#define ITypeLib2_FindName(p,a,b,c,d,e) ICOM_CALL5(FindName,p,a,b,c,d,e)
|
||||
#define ITypeLib2_ReleaseTLibAttr(p,a) ICOM_CALL1(ReleaseTLibAttr,p,a)
|
||||
/*** ITypeLib2 methods ***/
|
||||
#define ITypeLib2_GetCustData(p,a,b) ICOM_CALL2(GetCustData,p,a,b)
|
||||
#define ITypeLib2_GetLibStatistics(p,a,b) ICOM_CALL2(GetLibStatistics,p,a,b)
|
||||
#define ITypeLib2_GetDocumentation2(p,a,b,c,d,e,f) ICOM_CALL5(GetDocumentation2,p,a,b,c,d,e)
|
||||
#define ITypeLib2_GetAllCustData(p,a) ICOM_CALL1(GetAllCustData,p,a)
|
||||
|
||||
/*****************************************************************************
|
||||
* ITypeComp interface
|
||||
*/
|
||||
#define ICOM_INTERFACE ITypeComp
|
||||
#define ITypeComp_METHODS \
|
||||
ICOM_METHOD6(HRESULT,Bind, LPOLESTR,szName, ULONG,lHashVal, WORD,wFlags, ITypeInfo**,ppTInfo, DESCKIND*,pDescKind, BINDPTR*,pBindPtr) \
|
||||
ICOM_METHOD4(HRESULT,BindType, LPOLESTR,szName, ULONG,lHashVal, ITypeInfo**,ppTInfo, ITypeComp**,ppTComp)
|
||||
#define ITypeComp_IMETHODS \
|
||||
IUnknown_IMETHODS \
|
||||
ITypeComp_METHODS
|
||||
ICOM_DEFINE(ITypeComp,IUnknown)
|
||||
#undef ICOM_INTERFACE
|
||||
|
||||
/*** IUnknown methods ***/
|
||||
#define ITypeComp_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
|
||||
#define ITypeComp_AddRef(p) ICOM_CALL (AddRef,p)
|
||||
#define ITypeComp_Release(p) ICOM_CALL (Release,p)
|
||||
/*** ITypeComp methods ***/
|
||||
#define ITypeComp_Bind(p,a,b,c,d,e,f) ICOM_CALL6(Bind,p,a,b,c,d,e,f)
|
||||
#define ITypeComp_BindType(p,a,b,c,d) ICOM_CALL4(BindType,p,a,b,c,d)
|
||||
|
||||
/*****************************************************************************
|
||||
* IEnumVARIANT interface
|
||||
*/
|
||||
#define ICOM_INTERFACE IEnumVARIANT
|
||||
#define IEnumVARIANT_METHODS \
|
||||
ICOM_METHOD3(HRESULT,Next, ULONG,celt, VARIANT*,rgVar, ULONG*,pCeltFetched) \
|
||||
ICOM_METHOD1(HRESULT,Skip, ULONG,celt) \
|
||||
ICOM_METHOD (HRESULT,Reset) \
|
||||
ICOM_METHOD1(HRESULT,Clone, IEnumVARIANT**,ppEnum)
|
||||
#define IEnumVARIANT_IMETHODS \
|
||||
IUnknown_IMETHODS \
|
||||
IEnumVARIANT_METHODS
|
||||
ICOM_DEFINE(IEnumVARIANT,IUnknown)
|
||||
#undef ICOM_INTERFACE
|
||||
|
||||
/*** IUnknown methods ***/
|
||||
#define IEnumVARIANT_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
|
||||
#define IEnumVARIANT_AddRef(p) ICOM_CALL (AddRef,p)
|
||||
#define IEnumVARIANT_Release(p) ICOM_CALL (Release,p)
|
||||
/*** IEnumVARIANT methods ***/
|
||||
#define IEnumVARIANT_Next(p,a,b,c) ICOM_CALL3(Next,p,a,b,c)
|
||||
#define IEnumVARIANT_Skip(p,a) ICOM_CALL1(Skip,p,a)
|
||||
#define IEnumVARIANT_Reset(p) ICOM_CALL (Reset,p)
|
||||
#define IEnumVARIANT_Clone(p,a) ICOM_CALL1(Clone,p,a)
|
||||
|
||||
/*****************************************************************************
|
||||
* IRecordInfo interface
|
||||
*/
|
||||
#define ICOM_INTERFACE IRecordInfo
|
||||
#define IRecordInfo_METHODS \
|
||||
ICOM_METHOD1(HRESULT, RecordInit, PVOID, pvNew) \
|
||||
ICOM_METHOD1(HRESULT, RecordClear, PVOID, pvExisting) \
|
||||
ICOM_METHOD2(HRESULT, RecordCopy, PVOID, pvExisting, PVOID, pvNew) \
|
||||
ICOM_METHOD1(HRESULT, GetGUID, GUID*, pguid) \
|
||||
ICOM_METHOD1(HRESULT, GetName, BSTR*, pbstrName) \
|
||||
ICOM_METHOD1(HRESULT, GetSize, ULONG*, pcbSize) \
|
||||
ICOM_METHOD1(HRESULT, GetTypeInfo, ITypeInfo**, ppTypeInfo) \
|
||||
ICOM_METHOD3(HRESULT, GetField, PVOID, pvData, LPCOLESTR, szFieldName, VARIANT*, pvarField) \
|
||||
ICOM_METHOD4(HRESULT, GetFieldNoCopy, PVOID, pvData, LPCOLESTR, szFieldName, VARIANT*, pvarField, PVOID *,ppvDataCArray) \
|
||||
ICOM_METHOD4(HRESULT, PutField, ULONG, wFlags, PVOID, pvData, LPCOLESTR, szFieldName, VARIANT*, pvarField) \
|
||||
ICOM_METHOD4(HRESULT, PutFieldNoCopy, ULONG, wFlags, PVOID, pvData, LPCOLESTR, szFieldName, VARIANT*, pvarField) \
|
||||
ICOM_METHOD2(HRESULT, GetFieldNames, ULONG*, pcNames, BSTR*, rgBstrNames) \
|
||||
ICOM_METHOD1(BOOL, IsMatchingType, IRecordInfo*, pRecordInfo) \
|
||||
ICOM_METHOD (LPVOID, RecordCreate) \
|
||||
ICOM_METHOD2(HRESULT, RecordCreateCopy, PVOID, pvSource, PVOID*, ppvDest) \
|
||||
ICOM_METHOD1(HRESULT, RecordDestroy, PVOID, pvRecord)
|
||||
|
||||
#define IRecordInfo_IMETHODS \
|
||||
IUnknown_IMETHODS \
|
||||
IRecordInfo_METHODS
|
||||
ICOM_DEFINE(IRecordInfo,IUnknown)
|
||||
#undef ICOM_INTERFACE
|
||||
|
||||
/*** IUnknown methods ***/
|
||||
#define IRecordInfo_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
|
||||
#define IRecordInfo_AddRef(p) ICOM_CALL (AddRef,p)
|
||||
#define IRecordInfo_Release(p) ICOM_CALL (Release,p)
|
||||
/*** IRecordInfo methods ***/
|
||||
#define IRecordInfo_RecordInit(p,a) ICOM_CALL1(RecordInit,p,a)
|
||||
#define IRecordInfo_RecordClear(p,a) ICOM_CALL1(RecordClear,p,a)
|
||||
#define IRecordInfo_RecordCopy(p,a,b) ICOM_CALL2(RecordCopy,p,a,b)
|
||||
#define IRecordInfo_GetGUID(p,a) ICOM_CALL1(GetGUID,p,a)
|
||||
#define IRecordInfo_GetName(p,a) ICOM_CALL1(GetName,p,a)
|
||||
#define IRecordInfo_GetTypeInfo(p,a) ICOM_CALL1(GetTypeInfo,p,a)
|
||||
#define IRecordInfo_GetField(p,a,b,c) ICOM_CALL3(GetField,p,a,b,c)
|
||||
#define IRecordInfo_GetFieldNoCopy(p,a,b,c,d) ICOM_CALL4(GetFieldNoCopy,p,a,b,c,d)
|
||||
#define IRecordInfo_PutField(p,a,b,c,d) ICOM_CALL4(PutField,p,a,b,c,d)
|
||||
#define IRecordInfo_PutFieldNoCopy(p,a,b,c,d) ICOM_CALL4(PutField,p,a,b,c,d)
|
||||
#define IRecordInfo_GetFieldNames(p,a,b) ICOM_CALL2(GetFieldNames,p,a,b)
|
||||
#define IRecordInfo_RecordCreate(p) ICOM_CALL (RecordCreate,p)
|
||||
#define IRecordInfo_RecordCreateCopy(p,a,b) ICOM_CALL2(RecordCreateCopy,p,a,b)
|
||||
#define IRecordInfo_RecordDestroy(p,a) ICOM_CALL1(RecordDestroy,p,a)
|
||||
|
||||
#endif /* __WINE_WINE_OBJ_OLEAUT_H */
|
Loading…
Reference in New Issue