oaidl.idl revision 930b5f872e89407f445d4000d4e4aaecaa6a0998
/*
* Copyright 2002 Ove Kaaven
*
* 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
/*
* Oracle LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
* other than GPL or LGPL is available it will apply instead, Oracle elects to use only
* the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
* a choice of LGPL license versions is made available with the language indicating
* that LGPLv2 or any later version may be used, or where a choice of which version
* of the LGPL is applied is otherwise unspecified.
*/
import "objidl.idl";
interface IDispatch;
interface ITypeInfo;
interface ITypeLib;
interface IRecordInfo;
[
version(1.0),
]
interface IOleAutomationTypes
{
/* Safe Array */
} SAFEARR_BSTR;
} SF_TYPE;
} *wireSAFEARRAY;
} SAFEARRAY;
/* Undocumented flags */
/* Variant */
cpp_quote("#if (__STDC__ && !defined(_FORCENAMELESSUNION)) || defined(NONAMELESSUNION)")
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")
union {
union {
#if 0 /* illegal in C++ */
#if 0
};
cpp_quote("#if 0")
cpp_quote("#elif !defined(_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")
};
};
/* Dispatch */
TKIND_ENUM = 0,
} TYPEKIND;
[default] ;
} TYPEDESC;
} ARRAYDESC;
} PARAMDESCEX, *LPPARAMDESCEX;
} PARAMDESC, *LPPARAMDESC;
} ELEMDESC;
cpp_quote("typedef struct tagELEMDESC {")
cpp_quote(" TYPEDESC tdesc;")
cpp_quote(" union {")
cpp_quote(" IDLDESC idldesc;")
cpp_quote(" PARAMDESC paramdesc;")
cpp_quote(" } DUMMYUNIONNAME;")
cpp_quote("} ELEMDESC, *LPELEMDESC;")
cpp_quote("#endif")
} TYPEATTR, *LPTYPEATTR;
} DISPPARAMS;
} 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")
CC_FASTCALL = 0,
CC_CDECL = 1,
} CALLCONV;
} FUNCKIND;
INVOKE_FUNC = 1,
INVOKE_PROPERTYGET = 2,
INVOKE_PROPERTYPUT = 4,
} INVOKEKIND;
} FUNCDESC, *LPFUNCDESC;
} VARKIND;
typedef enum tagTYPEFLAGS {
TYPEFLAG_FAPPOBJECT = 0x0001,
TYPEFLAG_FCANCREATE = 0x0002,
TYPEFLAG_FLICENSED = 0x0004,
TYPEFLAG_FPREDECLID = 0x0008,
TYPEFLAG_FHIDDEN = 0x0010,
TYPEFLAG_FCONTROL = 0x0020,
TYPEFLAG_FDUAL = 0x0040,
TYPEFLAG_FNONEXTENSIBLE = 0x0080,
TYPEFLAG_FOLEAUTOMATION = 0x0100,
TYPEFLAG_FRESTRICTED = 0x0200,
TYPEFLAG_FAGGREGATABLE = 0x0400,
TYPEFLAG_FREPLACEABLE = 0x0800,
TYPEFLAG_FDISPATCHABLE = 0x1000,
TYPEFLAG_FREVERSEBIND = 0x2000,
TYPEFLAG_FPROXY = 0x4000
} TYPEFLAGS;
typedef enum tagFUNCFLAGS {
FUNCFLAG_FRESTRICTED = 0x0001,
FUNCFLAG_FSOURCE = 0x0002,
FUNCFLAG_FBINDABLE = 0x0004,
FUNCFLAG_FREQUESTEDIT = 0x0008,
FUNCFLAG_FDISPLAYBIND = 0x0010,
FUNCFLAG_FDEFAULTBIND = 0x0020,
FUNCFLAG_FHIDDEN = 0x0040,
FUNCFLAG_FUSESGETLASTERROR = 0x0080,
FUNCFLAG_FDEFAULTCOLLELEM = 0x0100,
FUNCFLAG_FUIDEFAULT = 0x0200,
FUNCFLAG_FNONBROWSABLE = 0x0400,
FUNCFLAG_FREPLACEABLE = 0x0800,
FUNCFLAG_FIMMEDIATEBIND = 0x1000
} FUNCFLAGS;
typedef enum tagVARFLAGS {
VARFLAG_FREADONLY = 0x0001,
VARFLAG_FSOURCE = 0x0002,
VARFLAG_FBINDABLE = 0x0004,
VARFLAG_FREQUESTEDIT = 0x0008,
VARFLAG_FDISPLAYBIND = 0x0010,
VARFLAG_FDEFAULTBIND = 0x0020,
VARFLAG_FHIDDEN = 0x0040,
VARFLAG_FRESTRICTED = 0x0080,
VARFLAG_FDEFAULTCOLLELEM = 0x0100,
VARFLAG_FUIDEFAULT = 0x0200,
VARFLAG_FNONBROWSABLE = 0x0400,
VARFLAG_FREPLACEABLE = 0x0800,
VARFLAG_FIMMEDIATEBIND = 0x1000
} VARFLAGS;
} CUSTDATA, *LPCUSTDATA;
} /* interface IOleAutomationTypes */
/******************** INTERFACES ********************/
[
]
{
[local]
}
[
]
interface IEnumVARIANT : IUnknown
{
[local]
}
[
]
{
DESCKIND_NONE = 0,
} DESCKIND;
[local]
[local]
}
[
]
{
[local]
[local]
[local]
[local]
[local]
[local]
[local]
[local]
[local]
[local]
[local]
[local]
void ReleaseTypeAttr(
[local]
void ReleaseFuncDesc(
[local]
void ReleaseVarDesc(
}
[
]
interface ITypeInfo2 : ITypeInfo
{
[local]
}
[
]
{
SYS_WIN16 = 0,
} SYSKIND;
LIBFLAG_FRESTRICTED = 0x01,
LIBFLAG_FCONTROL = 0x02,
LIBFLAG_FHIDDEN = 0x04,
LIBFLAG_FHASDISKIMAGE = 0x08
} LIBFLAGS;
} TLIBATTR, *LPTLIBATTR;
[local]
[local]
[local]
[local]
[local]
[local]
void ReleaseTLibAttr(
}
[
]
{
[local]
[local]
}
[
]
interface ITypeChangeEvents : IUnknown
{
typedef enum tagCHANGEKIND {
} CHANGEKIND;
}
[
]
interface IErrorInfo : IUnknown
{
}
[
]
interface ICreateErrorInfo : IUnknown
{
}
[
]
interface ISupportErrorInfo : IUnknown
{
}
[
]
interface ITypeFactory : IUnknown
{
}
[
]
interface ITypeMarshal : IUnknown
{
}
[
]
interface IRecordInfo : IUnknown
{
}
[
]
interface ICreateTypeInfo : IUnknown
{
}
[
]
interface ICreateTypeInfo2 : ICreateTypeInfo
{
}
[
]
interface ICreateTypeLib : IUnknown
{
}
[
]
interface ICreateTypeLib2 : ICreateTypeLib
{
}
/*****************************************************************************
* IErrorLog interface
*/
[
]
{
}
/*****************************************************************************
* IPropertyBag interface
*/
[
]
interface IPropertyBag : IUnknown
{
[local]
}