| cpp_quote("/**") | |
| cpp_quote(" * This file is part of the mingw-w64 runtime package.") | |
| cpp_quote(" * No warranty is given; refer to the file DISCLAIMER within this package.") | |
| cpp_quote(" */") | |
| cpp_quote("") | |
| cpp_quote("#include <winapifamily.h>") | |
| #ifndef DO_NO_IMPORTS | |
| import "objidl.idl"; | |
| #endif | |
| cpp_quote("") | |
| cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)") | |
| interface ICreateTypeInfo; | |
| interface ICreateTypeInfo2; | |
| interface ICreateTypeLib; | |
| interface ICreateTypeLib2; | |
| cpp_quote("#endif") | |
| cpp_quote("") | |
| cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)") | |
| interface IDispatch; | |
| interface IEnumVARIANT; | |
| interface ITypeComp; | |
| cpp_quote("#endif") | |
| cpp_quote("") | |
| cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)") | |
| interface ITypeInfo; | |
| interface ITypeInfo2; | |
| interface ITypeLib; | |
| interface ITypeLib2; | |
| interface ITypeChangeEvents; | |
| interface IErrorInfo; | |
| interface ICreateErrorInfo; | |
| interface ISupportErrorInfo; | |
| interface ITypeFactory; | |
| interface ITypeMarshal; | |
| interface IRecordInfo; | |
| cpp_quote("#endif") | |
| cpp_quote("") | |
| cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)") | |
| [version (1.0), pointer_default (unique)] | |
| interface IOleAutomationTypes { | |
| typedef CY CURRENCY; | |
| typedef struct tagSAFEARRAYBOUND { | |
| ULONG cElements; | |
| LONG lLbound; | |
| } SAFEARRAYBOUND,*LPSAFEARRAYBOUND; | |
| cpp_quote("") | |
| typedef [unique] struct _wireVARIANT *wireVARIANT; | |
| typedef [unique] struct _wireBRECORD *wireBRECORD; | |
| cpp_quote("") | |
| typedef struct _wireSAFEARR_BSTR { | |
| ULONG Size; | |
| [size_is (Size), ref] wireBSTR *aBstr; | |
| } SAFEARR_BSTR; | |
| cpp_quote("") | |
| typedef struct _wireSAFEARR_UNKNOWN { | |
| ULONG Size; | |
| [size_is (Size), ref] IUnknown **apUnknown; | |
| } SAFEARR_UNKNOWN; | |
| cpp_quote("") | |
| typedef struct _wireSAFEARR_DISPATCH { | |
| ULONG Size; | |
| [size_is (Size), ref] IDispatch **apDispatch; | |
| } SAFEARR_DISPATCH; | |
| cpp_quote("") | |
| typedef struct _wireSAFEARR_VARIANT { | |
| ULONG Size; | |
| [size_is (Size), ref] wireVARIANT *aVariant; | |
| } SAFEARR_VARIANT; | |
| cpp_quote("") | |
| typedef struct _wireSAFEARR_BRECORD { | |
| ULONG Size; | |
| [size_is (Size), ref] wireBRECORD *aRecord; | |
| } SAFEARR_BRECORD; | |
| cpp_quote("") | |
| typedef struct _wireSAFEARR_HAVEIID { | |
| ULONG Size; | |
| [size_is (Size), ref] IUnknown **apUnknown; | |
| IID iid; | |
| } SAFEARR_HAVEIID; | |
| cpp_quote("") | |
| typedef [v1_enum] 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_RECORD = VT_RECORD, | |
| SF_HAVEIID = VT_UNKNOWN | VT_RESERVED | |
| } SF_TYPE; | |
| cpp_quote("") | |
| typedef union _wireSAFEARRAY_UNION switch (ULONG sfType) u { | |
| case SF_BSTR: SAFEARR_BSTR BstrStr; | |
| case SF_UNKNOWN: SAFEARR_UNKNOWN UnknownStr; | |
| case SF_DISPATCH: SAFEARR_DISPATCH DispatchStr; | |
| case SF_VARIANT: SAFEARR_VARIANT VariantStr; | |
| case SF_RECORD: SAFEARR_BRECORD RecordStr; | |
| case SF_HAVEIID: SAFEARR_HAVEIID HaveIidStr; | |
| case SF_I1: BYTE_SIZEDARR ByteStr; | |
| case SF_I2: WORD_SIZEDARR WordStr; | |
| case SF_I4: DWORD_SIZEDARR LongStr; | |
| case SF_I8: HYPER_SIZEDARR HyperStr; | |
| } SAFEARRAYUNION; | |
| cpp_quote("") | |
| typedef [unique] struct _wireSAFEARRAY { | |
| USHORT cDims; | |
| USHORT fFeatures; | |
| ULONG cbElements; | |
| ULONG cLocks; | |
| SAFEARRAYUNION uArrayStructs; | |
| [size_is (cDims)] SAFEARRAYBOUND rgsabound[]; | |
| } *wireSAFEARRAY; | |
| typedef [unique] wireSAFEARRAY *wirePSAFEARRAY; | |
| cpp_quote("") | |
| typedef struct tagSAFEARRAY { | |
| USHORT cDims; | |
| USHORT fFeatures; | |
| ULONG cbElements; | |
| ULONG cLocks; | |
| PVOID pvData; | |
| SAFEARRAYBOUND rgsabound[]; | |
| } SAFEARRAY; | |
| typedef [wire_marshal (wirePSAFEARRAY)] SAFEARRAY *LPSAFEARRAY; | |
| cpp_quote("") | |
| const USHORT FADF_AUTO = 0x0001; | |
| const USHORT FADF_STATIC = 0x0002; | |
| const USHORT FADF_EMBEDDED = 0x0004; | |
| const USHORT FADF_FIXEDSIZE = 0x0010; | |
| const USHORT FADF_RECORD = 0x0020; | |
| const USHORT FADF_HAVEIID = 0x0040; | |
| const USHORT FADF_HAVEVARTYPE= 0x0080; | |
| const USHORT FADF_BSTR = 0x0100; | |
| const USHORT FADF_UNKNOWN = 0x0200; | |
| const USHORT FADF_DISPATCH = 0x0400; | |
| const USHORT FADF_VARIANT = 0x0800; | |
| const USHORT FADF_RESERVED = 0xf008; | |
| cpp_quote("") | |
| cpp_quote("/* Kludge for 3.0 release to disable new default-behavior.") | |
| cpp_quote(" * For now we define _FORCENAMELESSUNION. For 4.0 this define") | |
| cpp_quote(" * will be removed. */") | |
| cpp_quote("#ifndef _FORCENAMELESSUNION") | |
| cpp_quote("#define _FORCENAMELESSUNION 1") | |
| cpp_quote("#endif") | |
| cpp_quote("") | |
| cpp_quote("#if (__STDC__ && !defined(__cplusplus) && !defined(_FORCENAMELESSUNION)) || defined(NONAMELESSUNION) || (defined (_MSC_VER) && !defined(_MSC_EXTENSIONS) && !defined(_FORCENAMELESSUNION))") | |
| cpp_quote("#define __VARIANT_NAME_1 n1") | |
| cpp_quote("#define __VARIANT_NAME_2 n2") | |
| cpp_quote("#define __VARIANT_NAME_3 n3") | |
| cpp_quote("#define __VARIANT_NAME_4 brecVal") | |
| cpp_quote("#else") | |
| cpp_quote("#define __tagVARIANT") | |
| cpp_quote("#define __VARIANT_NAME_1") | |
| cpp_quote("#define __VARIANT_NAME_2") | |
| cpp_quote("#define __VARIANT_NAME_3") | |
| cpp_quote("#define __tagBRECORD") | |
| cpp_quote("#define __VARIANT_NAME_4") | |
| cpp_quote("#endif") | |
| cpp_quote("") | |
| typedef [wire_marshal (wireVARIANT)] struct tagVARIANT VARIANT; | |
| cpp_quote("") | |
| struct tagVARIANT { | |
| union { | |
| struct __tagVARIANT { | |
| VARTYPE vt; | |
| WORD wReserved1; | |
| WORD wReserved2; | |
| WORD wReserved3; | |
| union { | |
| LONGLONG llVal; | |
| LONG lVal; | |
| BYTE bVal; | |
| SHORT iVal; | |
| FLOAT fltVal; | |
| DOUBLE dblVal; | |
| VARIANT_BOOL boolVal; | |
| /* Removed due conflict with bool and gcc's inablity to express a macro expanding to a comment. | |
| _VARIANT_BOOL bool; */ | |
| SCODE scode; | |
| CY cyVal; | |
| DATE date; | |
| BSTR bstrVal; | |
| IUnknown *punkVal; | |
| IDispatch *pdispVal; | |
| SAFEARRAY *parray; | |
| BYTE *pbVal; | |
| SHORT *piVal; | |
| LONG *plVal; | |
| LONGLONG *pllVal; | |
| FLOAT *pfltVal; | |
| DOUBLE *pdblVal; | |
| VARIANT_BOOL *pboolVal; | |
| /* Removed due conflict with bool and gcc's inablity to express a macro expanding to a comment. | |
| _VARIANT_BOOL *pbool; */ | |
| SCODE *pscode; | |
| CY *pcyVal; | |
| DATE *pdate; | |
| BSTR *pbstrVal; | |
| IUnknown **ppunkVal; | |
| IDispatch **ppdispVal; | |
| SAFEARRAY **pparray; | |
| VARIANT *pvarVal; | |
| PVOID byref; | |
| CHAR cVal; | |
| USHORT uiVal; | |
| ULONG ulVal; | |
| ULONGLONG ullVal; | |
| INT intVal; | |
| UINT uintVal; | |
| DECIMAL *pdecVal; | |
| CHAR *pcVal; | |
| USHORT *puiVal; | |
| ULONG *pulVal; | |
| ULONGLONG *pullVal; | |
| INT *pintVal; | |
| UINT *puintVal; | |
| struct __tagBRECORD { | |
| PVOID pvRecord; | |
| IRecordInfo *pRecInfo; | |
| } __VARIANT_NAME_4; | |
| } __VARIANT_NAME_3; | |
| } __VARIANT_NAME_2; | |
| DECIMAL decVal; | |
| } __VARIANT_NAME_1; | |
| }; | |
| cpp_quote("") | |
| typedef VARIANT *LPVARIANT; | |
| typedef VARIANT VARIANTARG; | |
| typedef VARIANT *LPVARIANTARG; | |
| cpp_quote("#if 0") | |
| typedef const VARIANT *REFVARIANT; | |
| cpp_quote("#else") | |
| cpp_quote("") | |
| cpp_quote("#ifndef _REFVARIANT_DEFINED") | |
| cpp_quote("#define _REFVARIANT_DEFINED") | |
| cpp_quote("#ifdef __cplusplus") | |
| cpp_quote("#define REFVARIANT const VARIANT &") | |
| cpp_quote("#else") | |
| cpp_quote("#define REFVARIANT const VARIANT * __MIDL_CONST") | |
| cpp_quote("#endif") | |
| cpp_quote("#endif") | |
| cpp_quote("#endif") | |
| cpp_quote("") | |
| struct _wireBRECORD { | |
| ULONG fFlags; | |
| ULONG clSize; | |
| IRecordInfo *pRecInfo; | |
| [size_is (clSize)] byte *pRecord; | |
| }; | |
| cpp_quote("") | |
| struct _wireVARIANT { | |
| DWORD clSize; | |
| DWORD rpcReserved; | |
| USHORT vt; | |
| USHORT wReserved1; | |
| USHORT wReserved2; | |
| USHORT wReserved3; | |
| [switch_type (ULONG), switch_is (vt)] union { | |
| [case (VT_I8)] LONGLONG llVal; | |
| [case (VT_I4)] LONG lVal; | |
| [case (VT_UI1)] BYTE bVal; | |
| [case (VT_I2)] SHORT iVal; | |
| [case (VT_R4)] FLOAT fltVal; | |
| [case (VT_R8)] DOUBLE dblVal; | |
| [case (VT_BOOL)] VARIANT_BOOL boolVal; | |
| [case (VT_ERROR)] SCODE scode; | |
| [case (VT_CY)] CY cyVal; | |
| [case (VT_DATE)] DATE date; | |
| [case (VT_BSTR)] wireBSTR bstrVal; | |
| [case (VT_UNKNOWN)] IUnknown *punkVal; | |
| [case (VT_DISPATCH)] IDispatch *pdispVal; | |
| [case (VT_ARRAY)] wirePSAFEARRAY parray; | |
| [case (VT_RECORD, VT_RECORD|VT_BYREF)] | |
| wireBRECORD brecVal; | |
| [case (VT_UI1|VT_BYREF)] | |
| BYTE *pbVal; | |
| [case (VT_I2|VT_BYREF)] | |
| SHORT *piVal; | |
| [case (VT_I4|VT_BYREF)] | |
| LONG *plVal; | |
| [case (VT_I8|VT_BYREF)] | |
| LONGLONG *pllVal; | |
| [case (VT_R4|VT_BYREF)] | |
| FLOAT *pfltVal; | |
| [case (VT_R8|VT_BYREF)] | |
| DOUBLE *pdblVal; | |
| [case (VT_BOOL|VT_BYREF)] | |
| VARIANT_BOOL *pboolVal; | |
| [case (VT_ERROR|VT_BYREF)] | |
| SCODE *pscode; | |
| [case (VT_CY|VT_BYREF)] | |
| CY *pcyVal; | |
| [case (VT_DATE|VT_BYREF)] | |
| DATE *pdate; | |
| [case (VT_BSTR|VT_BYREF)] | |
| wireBSTR *pbstrVal; | |
| [case (VT_UNKNOWN|VT_BYREF)] | |
| IUnknown **ppunkVal; | |
| [case (VT_DISPATCH|VT_BYREF)] | |
| IDispatch **ppdispVal; | |
| [case (VT_ARRAY|VT_BYREF)] | |
| wirePSAFEARRAY *pparray; | |
| [case (VT_VARIANT|VT_BYREF)] | |
| wireVARIANT *pvarVal; | |
| [case (VT_I1)] CHAR cVal; | |
| [case (VT_UI2)] USHORT uiVal; | |
| [case (VT_UI4)] ULONG ulVal; | |
| [case (VT_UI8)] ULONGLONG ullVal; | |
| [case (VT_INT)] INT intVal; | |
| [case (VT_UINT)] UINT uintVal; | |
| [case (VT_DECIMAL)] DECIMAL decVal; | |
| [case (VT_BYREF|VT_DECIMAL)] | |
| DECIMAL *pdecVal; | |
| [case (VT_BYREF|VT_I1)] | |
| CHAR *pcVal; | |
| [case (VT_BYREF|VT_UI2)] | |
| USHORT *puiVal; | |
| [case (VT_BYREF|VT_UI4)] | |
| ULONG *pulVal; | |
| [case (VT_BYREF|VT_UI8)] | |
| ULONGLONG *pullVal; | |
| [case (VT_BYREF|VT_INT)] | |
| INT *pintVal; | |
| [case (VT_BYREF|VT_UINT)] | |
| UINT *puintVal; | |
| [case (VT_EMPTY)]; | |
| [case (VT_NULL)]; | |
| }; | |
| }; | |
| cpp_quote("") | |
| typedef LONG DISPID; | |
| typedef DISPID MEMBERID; | |
| typedef DWORD HREFTYPE; | |
| typedef [v1_enum] enum tagTYPEKIND { | |
| TKIND_ENUM = 0, | |
| TKIND_RECORD, | |
| TKIND_MODULE, | |
| TKIND_INTERFACE, | |
| TKIND_DISPATCH, | |
| TKIND_COCLASS, | |
| TKIND_ALIAS, | |
| TKIND_UNION, | |
| TKIND_MAX | |
| } TYPEKIND; | |
| cpp_quote("") | |
| typedef struct tagTYPEDESC { | |
| [switch_type (VARTYPE), switch_is (vt)] union { | |
| [case (VT_PTR, VT_SAFEARRAY)] struct tagTYPEDESC *lptdesc; | |
| [case (VT_CARRAY)] struct tagARRAYDESC *lpadesc; | |
| [case (VT_USERDEFINED)] HREFTYPE hreftype; | |
| [default]; | |
| }; | |
| VARTYPE vt; | |
| } TYPEDESC; | |
| cpp_quote("") | |
| typedef struct tagARRAYDESC { | |
| TYPEDESC tdescElem; | |
| USHORT cDims; | |
| [size_is (cDims)] SAFEARRAYBOUND rgbounds[]; | |
| } ARRAYDESC; | |
| cpp_quote("") | |
| typedef struct tagPARAMDESCEX { | |
| ULONG cBytes; | |
| VARIANTARG varDefaultValue; | |
| } PARAMDESCEX,*LPPARAMDESCEX; | |
| cpp_quote("") | |
| typedef struct tagPARAMDESC { | |
| LPPARAMDESCEX pparamdescex; | |
| USHORT wParamFlags; | |
| } PARAMDESC,*LPPARAMDESC; | |
| cpp_quote("") | |
| const USHORT PARAMFLAG_NONE = 0x00; | |
| const USHORT PARAMFLAG_FIN = 0x01; | |
| const USHORT PARAMFLAG_FOUT = 0x02; | |
| const USHORT PARAMFLAG_FLCID = 0x04; | |
| const USHORT PARAMFLAG_FRETVAL = 0x08; | |
| const USHORT PARAMFLAG_FOPT = 0x10; | |
| const USHORT PARAMFLAG_FHASDEFAULT = 0x20; | |
| const USHORT PARAMFLAG_FHASCUSTDATA = 0x40; | |
| cpp_quote("") | |
| typedef struct tagIDLDESC { | |
| ULONG_PTR dwReserved; | |
| USHORT wIDLFlags; | |
| } IDLDESC,*LPIDLDESC; | |
| cpp_quote("") | |
| const USHORT IDLFLAG_NONE = PARAMFLAG_NONE; | |
| const USHORT IDLFLAG_FIN = PARAMFLAG_FIN; | |
| const USHORT IDLFLAG_FOUT = PARAMFLAG_FOUT; | |
| const USHORT IDLFLAG_FLCID = PARAMFLAG_FLCID; | |
| const USHORT IDLFLAG_FRETVAL = PARAMFLAG_FRETVAL; | |
| cpp_quote("") | |
| cpp_quote("#if 0") | |
| typedef struct tagELEMDESC { | |
| TYPEDESC tdesc; | |
| PARAMDESC paramdesc; | |
| } ELEMDESC; | |
| cpp_quote("#else") | |
| cpp_quote("") | |
| cpp_quote(" typedef struct tagELEMDESC {") | |
| cpp_quote(" TYPEDESC tdesc;") | |
| cpp_quote(" __C89_NAMELESS union {") | |
| cpp_quote(" IDLDESC idldesc;") | |
| cpp_quote(" PARAMDESC paramdesc;") | |
| cpp_quote(" } DUMMYUNIONNAME;") | |
| cpp_quote(" } ELEMDESC,*LPELEMDESC;") | |
| cpp_quote("#endif") | |
| cpp_quote("") | |
| 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; | |
| cpp_quote("") | |
| typedef struct tagDISPPARAMS { | |
| [size_is (cArgs)] VARIANTARG *rgvarg; | |
| [size_is (cNamedArgs)] DISPID *rgdispidNamedArgs; | |
| UINT cArgs; | |
| UINT cNamedArgs; | |
| } DISPPARAMS; | |
| cpp_quote("") | |
| cpp_quote("#if 0") | |
| typedef struct tagEXCEPINFO { | |
| WORD wCode; | |
| WORD wReserved; | |
| BSTR bstrSource; | |
| BSTR bstrDescription; | |
| BSTR bstrHelpFile; | |
| DWORD dwHelpContext; | |
| ULONG_PTR pvReserved; | |
| ULONG_PTR pfnDeferredFillIn; | |
| SCODE scode; | |
| } EXCEPINFO; | |
| cpp_quote("#else") | |
| cpp_quote(" typedef struct tagEXCEPINFO {") | |
| cpp_quote(" WORD wCode;") | |
| cpp_quote(" WORD wReserved;") | |
| cpp_quote(" BSTR bstrSource;") | |
| cpp_quote(" BSTR bstrDescription;") | |
| cpp_quote(" BSTR bstrHelpFile;") | |
| cpp_quote(" DWORD dwHelpContext;") | |
| cpp_quote(" PVOID pvReserved;") | |
| cpp_quote(" HRESULT (__stdcall *pfnDeferredFillIn)(struct tagEXCEPINFO *);") | |
| cpp_quote(" SCODE scode;") | |
| cpp_quote(" } EXCEPINFO, *LPEXCEPINFO;") | |
| cpp_quote("#endif") | |
| cpp_quote("") | |
| typedef [v1_enum] enum tagCALLCONV { | |
| CC_FASTCALL = 0, | |
| CC_CDECL = 1, | |
| CC_MSCPASCAL, | |
| CC_PASCAL = CC_MSCPASCAL, | |
| CC_MACPASCAL, | |
| CC_STDCALL, | |
| CC_FPFASTCALL, | |
| CC_SYSCALL, | |
| CC_MPWCDECL, | |
| CC_MPWPASCAL, | |
| CC_MAX | |
| } CALLCONV; | |
| cpp_quote("") | |
| typedef [v1_enum] enum tagFUNCKIND { | |
| FUNC_VIRTUAL, | |
| FUNC_PUREVIRTUAL, | |
| FUNC_NONVIRTUAL, | |
| FUNC_STATIC, | |
| FUNC_DISPATCH | |
| } FUNCKIND; | |
| cpp_quote("") | |
| typedef [v1_enum] enum tagINVOKEKIND { | |
| INVOKE_FUNC = 1, | |
| INVOKE_PROPERTYGET = 2, | |
| INVOKE_PROPERTYPUT = 4, | |
| INVOKE_PROPERTYPUTREF = 8 | |
| } INVOKEKIND; | |
| cpp_quote("") | |
| typedef struct tagFUNCDESC { | |
| MEMBERID memid; | |
| [size_is (cScodes)] SCODE *lprgscode; | |
| [size_is (cParams)] ELEMDESC *lprgelemdescParam; | |
| FUNCKIND funckind; | |
| INVOKEKIND invkind; | |
| CALLCONV callconv; | |
| SHORT cParams; | |
| SHORT cParamsOpt; | |
| SHORT oVft; | |
| SHORT cScodes; | |
| ELEMDESC elemdescFunc; | |
| WORD wFuncFlags; | |
| } FUNCDESC,*LPFUNCDESC; | |
| cpp_quote("") | |
| typedef [v1_enum] enum tagVARKIND { | |
| VAR_PERINSTANCE, | |
| VAR_STATIC, | |
| VAR_CONST, | |
| VAR_DISPATCH | |
| } VARKIND; | |
| cpp_quote("") | |
| const USHORT IMPLTYPEFLAG_FDEFAULT = 0x1; | |
| const USHORT IMPLTYPEFLAG_FSOURCE = 0x2; | |
| const USHORT IMPLTYPEFLAG_FRESTRICTED = 0x4; | |
| const USHORT IMPLTYPEFLAG_FDEFAULTVTABLE= 0x8; | |
| cpp_quote("") | |
| typedef struct tagVARDESC { | |
| MEMBERID memid; | |
| LPOLESTR lpstrSchema; | |
| [switch_type (VARKIND), switch_is (varkind)] union { | |
| [case (VAR_PERINSTANCE, VAR_DISPATCH, VAR_STATIC)] ULONG oInst; | |
| [case (VAR_CONST)] VARIANT *lpvarValue; | |
| }; | |
| ELEMDESC elemdescVar; | |
| WORD wVarFlags; | |
| VARKIND varkind; | |
| } VARDESC,*LPVARDESC; | |
| cpp_quote("") | |
| 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; | |
| cpp_quote("") | |
| 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; | |
| cpp_quote("") | |
| 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; | |
| cpp_quote("") | |
| typedef [wire_marshal (DWORD)] struct tagCLEANLOCALSTORAGE { | |
| IUnknown *pInterface; | |
| PVOID pStorage; | |
| DWORD flags; | |
| } CLEANLOCALSTORAGE; | |
| cpp_quote("") | |
| typedef struct tagCUSTDATAITEM { | |
| GUID guid; | |
| VARIANTARG varValue; | |
| } CUSTDATAITEM,*LPCUSTDATAITEM; | |
| cpp_quote("") | |
| typedef struct tagCUSTDATA { | |
| DWORD cCustData; | |
| [size_is (cCustData)] LPCUSTDATAITEM prgCustData; | |
| } CUSTDATA,*LPCUSTDATA; | |
| } | |
| cpp_quote("#endif") | |
| cpp_quote("") | |
| cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)") | |
| [object, uuid (00020405-0000-0000-C000-000000000046), pointer_default (unique), local] | |
| interface ICreateTypeInfo: IUnknown { | |
| typedef [unique] ICreateTypeInfo *LPCREATETYPEINFO; | |
| cpp_quote("") | |
| HRESULT SetGuid ([in] REFGUID guid); | |
| HRESULT SetTypeFlags ([in] UINT uTypeFlags); | |
| HRESULT SetDocString ([in] LPOLESTR pStrDoc); | |
| HRESULT SetHelpContext ([in] DWORD dwHelpContext); | |
| HRESULT SetVersion ([in] WORD wMajorVerNum,[in] WORD wMinorVerNum); | |
| HRESULT AddRefTypeInfo ([in] ITypeInfo *pTInfo,[in] HREFTYPE *phRefType); | |
| HRESULT AddFuncDesc ([in] UINT index,[in] FUNCDESC *pFuncDesc); | |
| HRESULT AddImplType ([in] UINT index,[in] HREFTYPE hRefType); | |
| HRESULT SetImplTypeFlags ([in] UINT index,[in] INT implTypeFlags); | |
| HRESULT SetAlignment ([in] WORD cbAlignment); | |
| HRESULT SetSchema ([in] LPOLESTR pStrSchema); | |
| HRESULT AddVarDesc ([in] UINT index,[in] VARDESC *pVarDesc); | |
| HRESULT SetFuncAndParamNames ([in] UINT index,[in, size_is ((UINT) cNames)] LPOLESTR *rgszNames,[in] UINT cNames); | |
| HRESULT SetVarName ([in] UINT index,[in] LPOLESTR szName); | |
| HRESULT SetTypeDescAlias ([in] TYPEDESC *pTDescAlias); | |
| HRESULT DefineFuncAsDllEntry ([in] UINT index,[in] LPOLESTR szDllName,[in] LPOLESTR szProcName); | |
| HRESULT SetFuncDocString ([in] UINT index,[in] LPOLESTR szDocString); | |
| HRESULT SetVarDocString ([in] UINT index,[in] LPOLESTR szDocString); | |
| HRESULT SetFuncHelpContext ([in] UINT index,[in] DWORD dwHelpContext); | |
| HRESULT SetVarHelpContext ([in] UINT index,[in] DWORD dwHelpContext); | |
| HRESULT SetMops ([in] UINT index,[in] BSTR bstrMops); | |
| HRESULT SetTypeIdldesc ([in] IDLDESC *pIdlDesc); | |
| HRESULT LayOut (void); | |
| } | |
| cpp_quote("") | |
| [object, uuid (0002040e-0000-0000-C000-000000000046), pointer_default (unique), local] | |
| interface ICreateTypeInfo2: ICreateTypeInfo { | |
| typedef [unique] ICreateTypeInfo2 *LPCREATETYPEINFO2; | |
| cpp_quote("") | |
| HRESULT DeleteFuncDesc ([in] UINT index); | |
| HRESULT DeleteFuncDescByMemId ([in] MEMBERID memid,[in] INVOKEKIND invKind); | |
| HRESULT DeleteVarDesc ([in] UINT index); | |
| HRESULT DeleteVarDescByMemId ([in] MEMBERID memid); | |
| HRESULT DeleteImplType ([in] UINT index); | |
| HRESULT SetCustData ([in] REFGUID guid,[in] VARIANT *pVarVal); | |
| HRESULT SetFuncCustData ([in] UINT index,[in] REFGUID guid,[in] VARIANT *pVarVal); | |
| HRESULT SetParamCustData ([in] UINT indexFunc,[in] UINT indexParam,[in] REFGUID guid,[in] VARIANT *pVarVal); | |
| HRESULT SetVarCustData ([in] UINT index,[in] REFGUID guid,[in] VARIANT *pVarVal); | |
| HRESULT SetImplTypeCustData ([in] UINT index,[in] REFGUID guid,[in] VARIANT *pVarVal); | |
| HRESULT SetHelpStringContext ([in] ULONG dwHelpStringContext); | |
| HRESULT SetFuncHelpStringContext ([in] UINT index,[in] ULONG dwHelpStringContext); | |
| HRESULT SetVarHelpStringContext ([in] UINT index,[in] ULONG dwHelpStringContext); | |
| HRESULT Invalidate (void); | |
| HRESULT SetName ([in] LPOLESTR szName); | |
| } | |
| cpp_quote("") | |
| [object, uuid (00020406-0000-0000-C000-000000000046), pointer_default (unique), local] | |
| interface ICreateTypeLib : IUnknown { | |
| typedef [unique] ICreateTypeLib *LPCREATETYPELIB; | |
| cpp_quote("") | |
| HRESULT CreateTypeInfo ([in] LPOLESTR szName,[in] TYPEKIND tkind,[out] ICreateTypeInfo **ppCTInfo); | |
| HRESULT SetName ([in] LPOLESTR szName); | |
| HRESULT SetVersion ([in] WORD wMajorVerNum,[in] WORD wMinorVerNum); | |
| HRESULT SetGuid ([in] REFGUID guid); | |
| HRESULT SetDocString ([in] LPOLESTR szDoc); | |
| HRESULT SetHelpFileName ([in] LPOLESTR szHelpFileName); | |
| HRESULT SetHelpContext ([in] DWORD dwHelpContext); | |
| HRESULT SetLcid ([in] LCID lcid); | |
| HRESULT SetLibFlags ([in] UINT uLibFlags); | |
| HRESULT SaveAllChanges (void); | |
| } | |
| cpp_quote("") | |
| [object, uuid (0002040f-0000-0000-C000-000000000046), pointer_default (unique), local] | |
| interface ICreateTypeLib2 : ICreateTypeLib { | |
| typedef [unique] ICreateTypeLib2 *LPCREATETYPELIB2; | |
| HRESULT DeleteTypeInfo ([in] LPOLESTR szName); | |
| HRESULT SetCustData ([in] REFGUID guid,[in] VARIANT *pVarVal); | |
| HRESULT SetHelpStringContext ([in] ULONG dwHelpStringContext); | |
| HRESULT SetHelpStringDll ([in] LPOLESTR szFileName); | |
| } | |
| cpp_quote("#endif") | |
| cpp_quote("") | |
| cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)") | |
| [object, uuid (00020400-0000-0000-C000-000000000046), pointer_default (unique)] | |
| interface IDispatch : IUnknown { | |
| typedef [unique] IDispatch *LPDISPATCH; | |
| cpp_quote("") | |
| HRESULT GetTypeInfoCount ([out] UINT *pctinfo); | |
| HRESULT GetTypeInfo ([in] UINT iTInfo,[in] LCID lcid,[out] ITypeInfo **ppTInfo); | |
| HRESULT GetIDsOfNames ([in] REFIID riid,[in, size_is (cNames)] LPOLESTR *rgszNames,[in, range (0, 16384)] UINT cNames,[in] LCID lcid,[out, size_is (cNames)] DISPID *rgDispId); | |
| [local] HRESULT Invoke ([in] DISPID dispIdMember,[in] REFIID riid,[in] LCID lcid,[in] WORD wFlags,[in, out] DISPPARAMS *pDispParams,[out] VARIANT *pVarResult,[out] EXCEPINFO *pExcepInfo,[out] UINT *puArgErr); | |
| [call_as (Invoke)] HRESULT RemoteInvoke ([in] DISPID dispIdMember,[in] REFIID riid,[in] LCID lcid,[in] DWORD dwFlags,[in] DISPPARAMS *pDispParams,[out] VARIANT *pVarResult,[out] EXCEPINFO *pExcepInfo,[out] UINT *pArgErr,[in] UINT cVarRef,[in, size_is (cVarRef)] UINT *rgVarRefIdx,[in, out, size_is (cVarRef)] VARIANTARG *rgVarRef); | |
| cpp_quote("") | |
| const DISPID DISPID_UNKNOWN = -1; | |
| const DISPID DISPID_VALUE = 0; | |
| const DISPID DISPID_PROPERTYPUT = -3; | |
| const DISPID DISPID_NEWENUM = -4; | |
| const DISPID DISPID_EVALUATE = -5; | |
| const DISPID DISPID_CONSTRUCTOR = -6; | |
| const DISPID DISPID_DESTRUCTOR = -7; | |
| const DISPID DISPID_COLLECT = -8; | |
| cpp_quote("") | |
| } | |
| cpp_quote("") | |
| [object, uuid (00020404-0000-0000-C000-000000000046), pointer_default (unique)] | |
| interface IEnumVARIANT : IUnknown { | |
| typedef [unique] IEnumVARIANT *LPENUMVARIANT; | |
| cpp_quote("") | |
| [local] HRESULT Next ([in] ULONG celt,[out, size_is (celt), length_is (*pCeltFetched)] VARIANT *rgVar,[out] ULONG *pCeltFetched); | |
| [call_as (Next)] HRESULT RemoteNext ([in] ULONG celt,[out, size_is (celt), length_is (*pCeltFetched)] VARIANT *rgVar,[out] ULONG *pCeltFetched); | |
| HRESULT Skip ([in] ULONG celt); | |
| HRESULT Reset (); | |
| HRESULT Clone ([out] IEnumVARIANT **ppEnum); | |
| } | |
| cpp_quote("") | |
| [object, uuid (00020403-0000-0000-C000-000000000046), pointer_default (unique)] | |
| interface ITypeComp : IUnknown { | |
| typedef [unique] ITypeComp *LPTYPECOMP; | |
| cpp_quote("") | |
| typedef [v1_enum] enum tagDESCKIND { | |
| DESCKIND_NONE = 0, | |
| DESCKIND_FUNCDESC, | |
| DESCKIND_VARDESC, | |
| DESCKIND_TYPECOMP, | |
| DESCKIND_IMPLICITAPPOBJ, | |
| DESCKIND_MAX | |
| } DESCKIND; | |
| cpp_quote("") | |
| typedef union tagBINDPTR { | |
| FUNCDESC *lpfuncdesc; | |
| VARDESC *lpvardesc; | |
| ITypeComp *lptcomp; | |
| } BINDPTR,*LPBINDPTR; | |
| cpp_quote("") | |
| [local] HRESULT Bind ([in] LPOLESTR szName,[in] ULONG lHashVal,[in] WORD wFlags,[out] ITypeInfo **ppTInfo,[out] DESCKIND *pDescKind,[out] BINDPTR *pBindPtr); | |
| [call_as (Bind)] HRESULT RemoteBind ([in] LPOLESTR szName,[in] ULONG lHashVal,[in] WORD wFlags,[out] ITypeInfo **ppTInfo,[out] DESCKIND *pDescKind,[out] LPFUNCDESC *ppFuncDesc,[out] LPVARDESC *ppVarDesc,[out] ITypeComp **ppTypeComp,[out] CLEANLOCALSTORAGE *pDummy); | |
| [local] HRESULT BindType ([in] LPOLESTR szName,[in] ULONG lHashVal,[out] ITypeInfo **ppTInfo,[out] ITypeComp **ppTComp); | |
| [call_as (BindType)] HRESULT RemoteBindType ([in] LPOLESTR szName,[in] ULONG lHashVal,[out] ITypeInfo **ppTInfo); | |
| } | |
| cpp_quote("#endif") | |
| cpp_quote("") | |
| cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)") | |
| [object, uuid (00020401-0000-0000-C000-000000000046), pointer_default (unique)] | |
| interface ITypeInfo : IUnknown { | |
| typedef [unique] ITypeInfo *LPTYPEINFO; | |
| cpp_quote("") | |
| [local] HRESULT GetTypeAttr ([out] TYPEATTR **ppTypeAttr); | |
| [call_as (GetTypeAttr)] HRESULT RemoteGetTypeAttr ([out] LPTYPEATTR *ppTypeAttr,[out] CLEANLOCALSTORAGE *pDummy); | |
| HRESULT GetTypeComp ([out] ITypeComp **ppTComp); | |
| [local] HRESULT GetFuncDesc ([in] UINT index,[out] FUNCDESC **ppFuncDesc); | |
| [call_as (GetFuncDesc)] HRESULT RemoteGetFuncDesc ([in] UINT index,[out] LPFUNCDESC *ppFuncDesc,[out] CLEANLOCALSTORAGE *pDummy); | |
| [local] HRESULT GetVarDesc ([in] UINT index,[out] VARDESC **ppVarDesc); | |
| [call_as (GetVarDesc)] HRESULT RemoteGetVarDesc ([in] UINT index,[out] LPVARDESC *ppVarDesc,[out] CLEANLOCALSTORAGE *pDummy); | |
| [local] HRESULT GetNames ([in] MEMBERID memid,[out, size_is (cMaxNames), length_is (*pcNames)] BSTR *rgBstrNames,[in] UINT cMaxNames,[out] UINT *pcNames); | |
| [call_as (GetNames)] HRESULT RemoteGetNames ([in] MEMBERID memid,[out, size_is (cMaxNames), length_is (*pcNames)] BSTR *rgBstrNames,[in] UINT cMaxNames,[out] UINT *pcNames); | |
| HRESULT GetRefTypeOfImplType ([in] UINT index,[out] HREFTYPE *pRefType); | |
| HRESULT GetImplTypeFlags ([in] UINT index,[out] INT *pImplTypeFlags); | |
| [local] HRESULT GetIDsOfNames ([in, size_is (cNames)] LPOLESTR *rgszNames,[in] UINT cNames,[out, size_is (cNames)] MEMBERID *pMemId); | |
| [call_as (GetIDsOfNames)] HRESULT LocalGetIDsOfNames (void); | |
| [local] HRESULT Invoke ([in] PVOID pvInstance,[in] MEMBERID memid,[in] WORD wFlags,[in, out] DISPPARAMS *pDispParams,[out] VARIANT *pVarResult,[out] EXCEPINFO *pExcepInfo,[out] UINT *puArgErr); | |
| [call_as (Invoke)] HRESULT LocalInvoke (void); | |
| [local] HRESULT GetDocumentation ([in] MEMBERID memid,[out] BSTR *pBstrName,[out] BSTR *pBstrDocString,[out] DWORD *pdwHelpContext,[out] BSTR *pBstrHelpFile); | |
| [call_as (GetDocumentation)] HRESULT RemoteGetDocumentation ([in] MEMBERID memid,[in] DWORD refPtrFlags,[out] BSTR *pBstrName,[out] BSTR *pBstrDocString,[out] DWORD *pdwHelpContext,[out] BSTR *pBstrHelpFile); | |
| [local] | |
| HRESULT GetDllEntry ([in] MEMBERID memid,[in] INVOKEKIND invKind,[out] BSTR *pBstrDllName,[out] BSTR *pBstrName,[out] WORD *pwOrdinal); | |
| [call_as (GetDllEntry)] | |
| HRESULT RemoteGetDllEntry ([in] MEMBERID memid,[in] INVOKEKIND invKind,[in] DWORD refPtrFlags,[out] BSTR *pBstrDllName,[out] BSTR *pBstrName,[out] WORD *pwOrdinal); | |
| HRESULT GetRefTypeInfo ([in] HREFTYPE hRefType,[out] ITypeInfo **ppTInfo); | |
| [local] HRESULT AddressOfMember ([in] MEMBERID memid,[in] INVOKEKIND invKind,[out] PVOID *ppv); | |
| [call_as (AddressOfMember)] HRESULT LocalAddressOfMember (void); | |
| [local] HRESULT CreateInstance ([in] IUnknown *pUnkOuter,[in] REFIID riid,[out, iid_is (riid)] PVOID *ppvObj); | |
| [call_as (CreateInstance)] HRESULT RemoteCreateInstance ([in] REFIID riid,[out, iid_is (riid)] IUnknown **ppvObj); | |
| HRESULT GetMops ([in] MEMBERID memid,[out] BSTR *pBstrMops); | |
| [local] HRESULT GetContainingTypeLib ([out] ITypeLib **ppTLib,[out] UINT *pIndex); | |
| [call_as (GetContainingTypeLib)] HRESULT RemoteGetContainingTypeLib ([out] ITypeLib **ppTLib,[out] UINT *pIndex); | |
| [local] void ReleaseTypeAttr ([in] TYPEATTR *pTypeAttr); | |
| [call_as (ReleaseTypeAttr)] HRESULT LocalReleaseTypeAttr (void); | |
| [local] void ReleaseFuncDesc ([in] FUNCDESC *pFuncDesc); | |
| [call_as (ReleaseFuncDesc)] HRESULT LocalReleaseFuncDesc (void); | |
| [local] void ReleaseVarDesc ([in] VARDESC *pVarDesc); | |
| [call_as (ReleaseVarDesc)] HRESULT LocalReleaseVarDesc (void); | |
| } | |
| cpp_quote("") | |
| [object, uuid (00020412-0000-0000-C000-000000000046), pointer_default (unique)] | |
| interface ITypeInfo2 : ITypeInfo { | |
| typedef [unique] ITypeInfo2 *LPTYPEINFO2; | |
| cpp_quote("") | |
| HRESULT GetTypeKind ([out] TYPEKIND *pTypeKind); | |
| HRESULT GetTypeFlags ([out] ULONG *pTypeFlags); | |
| HRESULT GetFuncIndexOfMemId ([in] MEMBERID memid,[in] INVOKEKIND invKind,[out] UINT *pFuncIndex); | |
| HRESULT GetVarIndexOfMemId ([in] MEMBERID memid,[out] UINT *pVarIndex); | |
| HRESULT GetCustData ([in] REFGUID guid,[out] VARIANT *pVarVal); | |
| HRESULT GetFuncCustData ([in] UINT index,[in] REFGUID guid,[out] VARIANT *pVarVal); | |
| HRESULT GetParamCustData ([in] UINT indexFunc,[in] UINT indexParam,[in] REFGUID guid,[out] VARIANT *pVarVal); | |
| HRESULT GetVarCustData ([in] UINT index,[in] REFGUID guid,[out] VARIANT *pVarVal); | |
| HRESULT GetImplTypeCustData ([in] UINT index,[in] REFGUID guid,[out] VARIANT *pVarVal); | |
| [local] HRESULT GetDocumentation2 ([in] MEMBERID memid,[in] LCID lcid,[out] BSTR *pbstrHelpString,[out] DWORD *pdwHelpStringContext,[out] BSTR *pbstrHelpStringDll); | |
| [call_as (GetDocumentation2)] HRESULT RemoteGetDocumentation2 ([in] MEMBERID memid,[in] LCID lcid,[in] DWORD refPtrFlags,[out] BSTR *pbstrHelpString,[out] DWORD *pdwHelpStringContext,[out] BSTR *pbstrHelpStringDll); | |
| HRESULT GetAllCustData ([out] CUSTDATA *pCustData); | |
| HRESULT GetAllFuncCustData ([in] UINT index,[out] CUSTDATA *pCustData); | |
| HRESULT GetAllParamCustData ([in] UINT indexFunc,[in] UINT indexParam,[out] CUSTDATA *pCustData); | |
| HRESULT GetAllVarCustData ([in] UINT index,[out] CUSTDATA *pCustData); | |
| HRESULT GetAllImplTypeCustData ([in] UINT index,[out] CUSTDATA *pCustData); | |
| } | |
| cpp_quote("#endif") | |
| cpp_quote("") | |
| cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)") | |
| [object, uuid (00020402-0000-0000-C000-000000000046), pointer_default (unique)] | |
| interface ITypeLib : IUnknown { | |
| typedef [v1_enum] enum tagSYSKIND { | |
| SYS_WIN16 = 0, | |
| SYS_WIN32, | |
| SYS_MAC, | |
| SYS_WIN64 | |
| } SYSKIND; | |
| cpp_quote("") | |
| typedef [v1_enum] enum tagLIBFLAGS { | |
| LIBFLAG_FRESTRICTED = 0x01, | |
| LIBFLAG_FCONTROL = 0x02, | |
| LIBFLAG_FHIDDEN = 0x04, | |
| LIBFLAG_FHASDISKIMAGE = 0x08 | |
| } LIBFLAGS; | |
| cpp_quote("") | |
| typedef [unique] ITypeLib *LPTYPELIB; | |
| cpp_quote("") | |
| typedef struct tagTLIBATTR { | |
| GUID guid; | |
| LCID lcid; | |
| SYSKIND syskind; | |
| WORD wMajorVerNum; | |
| WORD wMinorVerNum; | |
| WORD wLibFlags; | |
| } TLIBATTR,*LPTLIBATTR; | |
| cpp_quote("") | |
| [local] UINT GetTypeInfoCount (void); | |
| [call_as (GetTypeInfoCount)] HRESULT RemoteGetTypeInfoCount ([out] UINT *pcTInfo); | |
| HRESULT GetTypeInfo ([in] UINT index,[out] ITypeInfo **ppTInfo); | |
| HRESULT GetTypeInfoType ([in] UINT index,[out] TYPEKIND *pTKind); | |
| HRESULT GetTypeInfoOfGuid ([in] REFGUID guid,[out] ITypeInfo **ppTinfo); | |
| [local] HRESULT GetLibAttr ([out] TLIBATTR **ppTLibAttr); | |
| [call_as (GetLibAttr)] HRESULT RemoteGetLibAttr ([out] LPTLIBATTR *ppTLibAttr,[out] CLEANLOCALSTORAGE *pDummy); | |
| HRESULT GetTypeComp ([out] ITypeComp **ppTComp); | |
| [local] HRESULT GetDocumentation ([in] INT index,[out] BSTR *pBstrName,[out] BSTR *pBstrDocString,[out] DWORD *pdwHelpContext,[out] BSTR *pBstrHelpFile); | |
| [call_as (GetDocumentation)] HRESULT RemoteGetDocumentation ([in] INT index,[in] DWORD refPtrFlags,[out] BSTR *pBstrName,[out] BSTR *pBstrDocString,[out] DWORD *pdwHelpContext,[out] BSTR *pBstrHelpFile); | |
| [local] HRESULT IsName ([in, out] LPOLESTR szNameBuf,[in] ULONG lHashVal,[out] BOOL *pfName); | |
| [call_as (IsName)] HRESULT RemoteIsName ([in] LPOLESTR szNameBuf,[in] ULONG lHashVal,[out] BOOL *pfName,[out] BSTR *pBstrLibName); | |
| [local] HRESULT FindName ([in, out] LPOLESTR szNameBuf,[in] ULONG lHashVal,[out, size_is (*pcFound), length_is (*pcFound)] ITypeInfo **ppTInfo,[out, size_is (*pcFound), length_is (*pcFound)] MEMBERID *rgMemId,[in, out] USHORT *pcFound); | |
| [call_as (FindName)] HRESULT RemoteFindName ([in] LPOLESTR szNameBuf,[in] ULONG lHashVal,[out, size_is (*pcFound), length_is (*pcFound)] ITypeInfo **ppTInfo,[out, size_is (*pcFound), length_is (*pcFound)] MEMBERID *rgMemId,[in, out] USHORT *pcFound,[out] BSTR *pBstrLibName); | |
| [local] void ReleaseTLibAttr ([in] TLIBATTR *pTLibAttr); | |
| [call_as (ReleaseTLibAttr)] HRESULT LocalReleaseTLibAttr (void); | |
| } | |
| cpp_quote("#endif") | |
| cpp_quote("") | |
| cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)") | |
| [object, uuid (00020411-0000-0000-C000-000000000046), pointer_default (unique)] | |
| interface ITypeLib2 : ITypeLib { | |
| typedef [unique] ITypeLib2 *LPTYPELIB2; | |
| cpp_quote("") | |
| HRESULT GetCustData ([in] REFGUID guid,[out] VARIANT *pVarVal); | |
| [local] HRESULT GetLibStatistics ([out] ULONG *pcUniqueNames,[out] ULONG *pcchUniqueNames); | |
| [call_as (GetLibStatistics)] HRESULT RemoteGetLibStatistics ([out] ULONG *pcUniqueNames,[out] ULONG *pcchUniqueNames); | |
| [local] HRESULT GetDocumentation2 ([in] INT index,[in] LCID lcid,[out] BSTR *pbstrHelpString,[out] DWORD *pdwHelpStringContext,[out] BSTR *pbstrHelpStringDll); | |
| [call_as (GetDocumentation2)] HRESULT RemoteGetDocumentation2 ([in] INT index,[in] LCID lcid,[in] DWORD refPtrFlags,[out] BSTR *pbstrHelpString,[out] DWORD *pdwHelpStringContext,[out] BSTR *pbstrHelpStringDll); | |
| HRESULT GetAllCustData ([out] CUSTDATA *pCustData); | |
| } | |
| cpp_quote("") | |
| [object, uuid (00020410-0000-0000-C000-000000000046), pointer_default (unique), local] | |
| interface ITypeChangeEvents: IUnknown { | |
| typedef [unique] ITypeChangeEvents *LPTYPECHANGEEVENTS; | |
| cpp_quote("") | |
| typedef enum tagCHANGEKIND { | |
| CHANGEKIND_ADDMEMBER, | |
| CHANGEKIND_DELETEMEMBER, | |
| CHANGEKIND_SETNAMES, | |
| CHANGEKIND_SETDOCUMENTATION, | |
| CHANGEKIND_GENERAL, | |
| CHANGEKIND_INVALIDATE, | |
| CHANGEKIND_CHANGEFAILED, | |
| CHANGEKIND_MAX | |
| } CHANGEKIND; | |
| cpp_quote("") | |
| HRESULT RequestTypeChange ([in] CHANGEKIND changeKind,[in] ITypeInfo *pTInfoBefore,[in] LPOLESTR pStrName,[out] INT *pfCancel); | |
| HRESULT AfterTypeChange ([in] CHANGEKIND changeKind,[in] ITypeInfo *pTInfoAfter,[in] LPOLESTR pStrName); | |
| } | |
| cpp_quote("") | |
| [object, uuid (1cf2b120-547d-101b-8e65-08002b2bd119), pointer_default (unique)] | |
| interface IErrorInfo: IUnknown { | |
| typedef [unique] IErrorInfo *LPERRORINFO; | |
| cpp_quote("") | |
| HRESULT GetGUID ([out] GUID *pGUID); | |
| HRESULT GetSource ([out] BSTR *pBstrSource); | |
| HRESULT GetDescription ([out] BSTR *pBstrDescription); | |
| HRESULT GetHelpFile ([out] BSTR *pBstrHelpFile); | |
| HRESULT GetHelpContext ([out] DWORD *pdwHelpContext); | |
| } | |
| cpp_quote("") | |
| [object, uuid (22f03340-547d-101b-8e65-08002b2bd119), pointer_default (unique)] | |
| interface ICreateErrorInfo: IUnknown { | |
| typedef [unique] ICreateErrorInfo *LPCREATEERRORINFO; | |
| cpp_quote("") | |
| HRESULT SetGUID ([in] REFGUID rguid); | |
| HRESULT SetSource ([in] LPOLESTR szSource); | |
| HRESULT SetDescription ([in] LPOLESTR szDescription); | |
| HRESULT SetHelpFile ([in] LPOLESTR szHelpFile); | |
| HRESULT SetHelpContext ([in] DWORD dwHelpContext); | |
| } | |
| cpp_quote("") | |
| [object, uuid (DF0B3D60-548f-101b-8e65-08002b2bd119), pointer_default (unique)] | |
| interface ISupportErrorInfo: IUnknown { | |
| typedef [unique] ISupportErrorInfo *LPSUPPORTERRORINFO; | |
| cpp_quote("") | |
| HRESULT InterfaceSupportsErrorInfo ([in] REFIID riid); | |
| } | |
| cpp_quote("") | |
| [object, uuid (0000002e-0000-0000-C000-000000000046)] | |
| interface ITypeFactory : IUnknown { | |
| HRESULT CreateFromTypeInfo ([in] ITypeInfo *pTypeInfo,[in] REFIID riid,[out, iid_is (riid)] IUnknown **ppv); | |
| } | |
| cpp_quote("") | |
| [local, object, uuid (0000002d-0000-0000-C000-000000000046)] | |
| interface ITypeMarshal : IUnknown { | |
| HRESULT Size ([in] PVOID pvType,[in] DWORD dwDestContext,[in] PVOID pvDestContext,[out] ULONG *pSize); | |
| HRESULT Marshal ([in] PVOID pvType,[in] DWORD dwDestContext,[in] PVOID pvDestContext,[in] ULONG cbBufferLength,[out] BYTE *pBuffer,[out] ULONG *pcbWritten); | |
| HRESULT Unmarshal ([out] PVOID pvType,[in] DWORD dwFlags,[in] ULONG cbBufferLength,[in] BYTE *pBuffer,[out] ULONG *pcbRead); | |
| HRESULT Free ([in] PVOID pvType); | |
| } | |
| cpp_quote("") | |
| [local, object, uuid (0000002f-0000-0000-C000-000000000046)] | |
| interface IRecordInfo: IUnknown { | |
| typedef [unique] IRecordInfo *LPRECORDINFO; | |
| cpp_quote("") | |
| HRESULT RecordInit ([out] PVOID pvNew); | |
| HRESULT RecordClear ([in] PVOID pvExisting); | |
| HRESULT RecordCopy ([in] PVOID pvExisting,[out] PVOID pvNew); | |
| HRESULT GetGuid ([out] GUID *pguid); | |
| HRESULT GetName ([out] BSTR *pbstrName); | |
| HRESULT GetSize ([out] ULONG *pcbSize); | |
| HRESULT GetTypeInfo ([out] ITypeInfo **ppTypeInfo); | |
| HRESULT GetField ([in] PVOID pvData,[in] LPCOLESTR szFieldName,[out] VARIANT *pvarField); | |
| HRESULT GetFieldNoCopy ([in] PVOID pvData,[in] LPCOLESTR szFieldName,[out] VARIANT *pvarField,[out] PVOID *ppvDataCArray); | |
| HRESULT PutField ([in] ULONG wFlags,[in, out] PVOID pvData,[in] LPCOLESTR szFieldName,[in] VARIANT *pvarField); | |
| HRESULT PutFieldNoCopy ([in] ULONG wFlags,[in, out] PVOID pvData,[in] LPCOLESTR szFieldName,[in] VARIANT *pvarField); | |
| HRESULT GetFieldNames ([in, out] ULONG *pcNames,[out, size_is (*pcNames), length_is (*pcNames)] BSTR *rgBstrNames); | |
| BOOL IsMatchingType ([in] IRecordInfo *pRecordInfo); | |
| PVOID RecordCreate (); | |
| HRESULT RecordCreateCopy ([in] PVOID pvSource,[out] PVOID *ppvDest); | |
| HRESULT RecordDestroy ([in] PVOID pvRecord); | |
| } | |
| cpp_quote("") | |
| [object, uuid (3127ca40-446e-11ce-8135-00aa004bb851), pointer_default (unique)] | |
| interface IErrorLog : IUnknown { | |
| typedef IErrorLog *LPERRORLOG; | |
| cpp_quote("") | |
| HRESULT AddError ([in] LPCOLESTR pszPropName,[in] EXCEPINFO *pExcepInfo); | |
| } | |
| cpp_quote("") | |
| [object, uuid (55272a00-42cb-11ce-8135-00aa004bb851), pointer_default (unique)] | |
| interface IPropertyBag : IUnknown { | |
| typedef IPropertyBag *LPPROPERTYBAG; | |
| cpp_quote("") | |
| [local] HRESULT Read ([in] LPCOLESTR pszPropName,[in, out] VARIANT *pVar,[in, unique] IErrorLog *pErrorLog); | |
| [call_as (Read)] HRESULT RemoteRead ([in] LPCOLESTR pszPropName,[out] VARIANT *pVar,[in, unique] IErrorLog *pErrorLog,[in] DWORD varType,[in] IUnknown *pUnkObj); | |
| HRESULT Write ([in] LPCOLESTR pszPropName,[in] VARIANT *pVar); | |
| } | |
| cpp_quote("#endif") |