mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-09 03:49:05 +02:00
* has_intf and oaidl
This commit is contained in:
parent
1aa9442835
commit
c2478e9ba6
@ -218,6 +218,10 @@ Const
|
||||
CLSCTX_DISABLE_AAA = $08000; // Disable EOAC_DISABLE_AAA capability for this activation only
|
||||
CLSCTX_ENABLE_AAA = $10000; // Enable EOAC_DISABLE_AAA capability for this activation only
|
||||
CLSCTX_FROM_DEFAULT_CONTEXT = $20000; // Begin this activation from the default context of the current apartment
|
||||
CLSCTX_INPROC = (CLSCTX_INPROC_SERVER OR CLSCTX_INPROC_HANDLER);
|
||||
// With DCOM, CLSCTX_REMOTE_SERVER should be included
|
||||
CLSCTX_ALL = (CLSCTX_INPROC_SERVER OR CLSCTX_INPROC_HANDLER OR CLSCTX_LOCAL_SERVER {$ifdef Remote} OR CLSCTX_REMOTE_SERVER {$endif});
|
||||
CLSCTX_SERVER = (CLSCTX_INPROC_SERVER OR CLSCTX_LOCAL_SERVER {$ifdef Remote} OR CLSCTX_REMOTE_SERVER {$endif});
|
||||
|
||||
|
||||
// marshaling flags; passed to CoMarshalInterface
|
||||
@ -413,8 +417,288 @@ Const
|
||||
COLE_DEFAULT_PRINCIPAL {: pOleStr?} = pOleStr(-1);
|
||||
COLE_DEFAULT_AUTHINFO {: pointer?} = pointer(-1);
|
||||
|
||||
// DISPID reserved to indicate an \"unknown\" name
|
||||
// only reserved for data members (properties); reused as a method dispid below
|
||||
|
||||
DISPID_UNKNOWN = -1;
|
||||
|
||||
// DISPID reserved for the \"value\" property
|
||||
|
||||
DISPID_VALUE = 0;
|
||||
|
||||
// The following DISPID is reserved to indicate the param")
|
||||
// that is the right-hand-side (or \"put\" value) of a PropertyPut")
|
||||
|
||||
DISPID_PROPERTYPUT = -3;
|
||||
|
||||
// DISPID reserved for the standard \"NewEnum\" method
|
||||
|
||||
DISPID_NEWENUM = -4;
|
||||
|
||||
// DISPID reserved for the standard \"Evaluate\" method
|
||||
|
||||
DISPID_EVALUATE = -5;
|
||||
DISPID_CONSTRUCTOR = -6;
|
||||
DISPID_DESTRUCTOR = -7;
|
||||
DISPID_COLLECT = -8;
|
||||
|
||||
// The range -500 through -999 is reserved for Controls
|
||||
// The range 0x80010000 through 0x8001FFFF is reserved for Controls
|
||||
// The range -5000 through -5499 is reserved for ActiveX Accessability
|
||||
// The range -2000 through -2499 is reserved for VB5
|
||||
// The range -3900 through -3999 is reserved for Forms
|
||||
// The range -5500 through -5550 is reserved for Forms
|
||||
// The remainder of the negative DISPIDs are reserved for future use
|
||||
|
||||
|
||||
DESCKIND_NONE = 0;
|
||||
DESCKIND_FUNCDESC = 1;
|
||||
DESCKIND_VARDESC = 2;
|
||||
DESCKIND_TYPECOMP = 3;
|
||||
DESCKIND_IMPLICITAPPOBJ = 4;
|
||||
DESCKIND_MAX = 5;
|
||||
|
||||
|
||||
SYS_WIN16 = 0;
|
||||
SYS_WIN32 = 1;
|
||||
SYS_MAC = 2;
|
||||
SYS_WIN64 = 3;
|
||||
|
||||
|
||||
LIBFLAG_FRESTRICTED = $01;
|
||||
LIBFLAG_FCONTROL = $02;
|
||||
LIBFLAG_FHIDDEN = $04;
|
||||
LIBFLAG_FHASDISKIMAGE = $08;
|
||||
TYPEFLAG_FAPPOBJECT = $01;
|
||||
TYPEFLAG_FCANCREATE = $02;
|
||||
TYPEFLAG_FLICENSED = $04;
|
||||
TYPEFLAG_FPREDECLID = $08;
|
||||
TYPEFLAG_FHIDDEN = $10;
|
||||
TYPEFLAG_FCONTROL = $20;
|
||||
TYPEFLAG_FDUAL = $40;
|
||||
TYPEFLAG_FNONEXTENSIBLE = $80;
|
||||
TYPEFLAG_FOLEAUTOMATION = $100;
|
||||
TYPEFLAG_FRESTRICTED = $200;
|
||||
TYPEFLAG_FAGGREGATABLE = $400;
|
||||
TYPEFLAG_FREPLACEABLE = $800;
|
||||
TYPEFLAG_FDISPATCHABLE = $1000;
|
||||
TYPEFLAG_FREVERSEBIND = $2000;
|
||||
TYPEFLAG_FPROXY = $4000;
|
||||
|
||||
FUNCFLAG_FRESTRICTED = $1;
|
||||
FUNCFLAG_FSOURCE = $2;
|
||||
FUNCFLAG_FBINDABLE = $4;
|
||||
FUNCFLAG_FREQUESTEDIT = $8;
|
||||
FUNCFLAG_FDISPLAYBIND = $10;
|
||||
FUNCFLAG_FDEFAULTBIND = $20;
|
||||
FUNCFLAG_FHIDDEN = $40;
|
||||
FUNCFLAG_FUSESGETLASTERROR = $80;
|
||||
FUNCFLAG_FDEFAULTCOLLELEM = $100;
|
||||
FUNCFLAG_FUIDEFAULT = $200;
|
||||
FUNCFLAG_FNONBROWSABLE = $400;
|
||||
FUNCFLAG_FREPLACEABLE = $800;
|
||||
FUNCFLAG_FIMMEDIATEBIND = $1000;
|
||||
|
||||
VARFLAG_FREADONLY = $1;
|
||||
VARFLAG_FSOURCE = $2;
|
||||
VARFLAG_FBINDABLE = $4;
|
||||
VARFLAG_FREQUESTEDIT = $8;
|
||||
VARFLAG_FDISPLAYBIND = $10;
|
||||
VARFLAG_FDEFAULTBIND = $20;
|
||||
VARFLAG_FHIDDEN = $40;
|
||||
VARFLAG_FRESTRICTED = $80;
|
||||
VARFLAG_FDEFAULTCOLLELEM = $100;
|
||||
VARFLAG_FUIDEFAULT = $200;
|
||||
VARFLAG_FNONBROWSABLE = $400;
|
||||
VARFLAG_FREPLACEABLE = $800;
|
||||
VARFLAG_FIMMEDIATEBIND = $1000;
|
||||
|
||||
FADF_AUTO = USHORT($0001); // array is allocated on the stack
|
||||
FADF_STATIC = USHORT($0002); // array is staticly allocated
|
||||
FADF_EMBEDDED = USHORT($0004); // array is embedded in a structure
|
||||
FADF_FIXEDSIZE = USHORT($0010); // may not be resized or reallocated
|
||||
FADF_RECORD = USHORT($0020); // an array of records
|
||||
FADF_HAVEIID = USHORT($0040); // with FADF_DISPATCH, FADF_UNKNOWN
|
||||
// array has an IID for interfaces
|
||||
FADF_HAVEVARTYPE = USHORT($0080); // array has a VT type
|
||||
FADF_BSTR = USHORT($0100); // an array of BSTRs
|
||||
FADF_UNKNOWN = USHORT($0200); // an array of IUnknown*
|
||||
FADF_DISPATCH = USHORT($0400); // an array of IDispatch*
|
||||
FADF_VARIANT = USHORT($0800); // an array of VARIANTs
|
||||
FADF_RESERVED = USHORT($F008); // reserved bits
|
||||
|
||||
// IMPLTYPE Flags
|
||||
|
||||
IMPLTYPEFLAG_FDEFAULT = USHORT($1);
|
||||
IMPLTYPEFLAG_FSOURCE = USHORT($2);
|
||||
IMPLTYPEFLAG_FRESTRICTED = USHORT($4);
|
||||
IMPLTYPEFLAG_FDEFAULTVTABLE = USHORT($8);
|
||||
|
||||
PARAMFLAG_NONE = USHORT($00);
|
||||
PARAMFLAG_FIN = USHORT($01);
|
||||
PARAMFLAG_FOUT = USHORT($02);
|
||||
PARAMFLAG_FLCID = USHORT($04);
|
||||
PARAMFLAG_FRETVAL = USHORT($08);
|
||||
PARAMFLAG_FOPT = USHORT($10);
|
||||
PARAMFLAG_FHASDEFAULT = USHORT($20);
|
||||
PARAMFLAG_FHASCUSTDATA = USHORT($40);
|
||||
|
||||
VAR_PERINSTANCE = 0;
|
||||
VAR_STATIC = 1;
|
||||
VAR_CONST = 2;
|
||||
VAR_DISPATCH = 3;
|
||||
|
||||
// notification messages used by the dynamic typeinfo protocol.
|
||||
|
||||
CHANGEKIND_ADDMEMBER = 0;
|
||||
CHANGEKIND_DELETEMEMBER = 1;
|
||||
CHANGEKIND_SETNAMES = 2;
|
||||
CHANGEKIND_SETDOCUMENTATION = 3;
|
||||
CHANGEKIND_GENERAL = 4;
|
||||
CHANGEKIND_INVALIDATE = 5;
|
||||
CHANGEKIND_CHANGEFAILED = 6;
|
||||
CHANGEKIND_MAX = 7;
|
||||
|
||||
INVOKE_FUNC = 1;
|
||||
INVOKE_PROPERTYGET = 2;
|
||||
INVOKE_PROPERTYPUT = 4;
|
||||
INVOKE_PROPERTYPUTREF = 8;
|
||||
|
||||
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; // end of enum marker
|
||||
|
||||
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 OR VT_RESERVED;
|
||||
IDLFLAG_NONE = PARAMFLAG_NONE;
|
||||
IDLFLAG_FIN = PARAMFLAG_FIN;
|
||||
IDLFLAG_FOUT = PARAMFLAG_FOUT;
|
||||
IDLFLAG_FLCID = PARAMFLAG_FLCID;
|
||||
IDLFLAG_FRETVAL = PARAMFLAG_FRETVAL;
|
||||
|
||||
CC_FASTCALL = 0;
|
||||
CC_CDECL = 1;
|
||||
CC_MSCPASCAL = 2;
|
||||
CC_PASCAL = CC_MSCPASCAL;
|
||||
CC_MACPASCAL = 3;
|
||||
CC_STDCALL = 4;
|
||||
CC_FPFASTCALL = 5;
|
||||
CC_SYSCALL = 6;
|
||||
CC_MPWCDECL = 7;
|
||||
CC_MPWPASCAL = 8;
|
||||
CC_MAX = 9; // end of enum marker
|
||||
|
||||
FUNC_VIRTUAL = 0;
|
||||
FUNC_PUREVIRTUAL = 1;
|
||||
FUNC_NONVIRTUAL = 2;
|
||||
FUNC_STATIC = 3;
|
||||
FUNC_DISPATCH = 4;
|
||||
|
||||
// objbase.h
|
||||
|
||||
MARSHALINTERFACE_MIN = 500; // minimum number of bytes for interface marshl
|
||||
|
||||
//
|
||||
// Common typedefs for paramaters used in Storage API's, gleamed from storage.h
|
||||
// Also contains Storage error codes, which should be moved into the storage
|
||||
// idl files.
|
||||
//
|
||||
|
||||
|
||||
CWCSTORAGENAME = 32;
|
||||
|
||||
// Storage instantiation modes
|
||||
STGM_DIRECT = $00000000;
|
||||
STGM_TRANSACTED = $00010000;
|
||||
STGM_SIMPLE = $08000000;
|
||||
STGM_READ = $00000000;
|
||||
STGM_WRITE = $00000001;
|
||||
STGM_READWRITE = $00000002;
|
||||
STGM_SHARE_DENY_NONE = $00000040;
|
||||
STGM_SHARE_DENY_READ = $00000030;
|
||||
STGM_SHARE_DENY_WRITE = $00000020;
|
||||
STGM_SHARE_EXCLUSIVE = $00000010;
|
||||
STGM_PRIORITY = $00040000;
|
||||
STGM_DELETEONRELEASE = $04000000;
|
||||
STGM_NOSCRATCH = $00100000; {WINNT+}
|
||||
STGM_CREATE = $00001000;
|
||||
STGM_CONVERT = $00020000;
|
||||
STGM_FAILIFTHERE = $00000000;
|
||||
STGM_NOSNAPSHOT = $00200000;
|
||||
STGM_DIRECT_SWMR = $00400000; { Win2000+}
|
||||
|
||||
// flags for internet asyncronous and layout docfile
|
||||
ASYNC_MODE_COMPATIBILITY = $00000001;
|
||||
ASYNC_MODE_DEFAULT = $00000000;
|
||||
|
||||
STGTY_REPEAT = $00000100;
|
||||
STG_TOEND = $FFFFFFFF;
|
||||
|
||||
STG_LAYOUT_SEQUENTIAL = $00000000;
|
||||
STG_LAYOUT_INTERLEAVED = $00000001;
|
||||
|
||||
STGFMT_STORAGE = 0;
|
||||
STGFMT_NATIVE = 1;
|
||||
STGFMT_FILE = 3;
|
||||
STGFMT_ANY = 4;
|
||||
STGFMT_DOCFILE = 5;
|
||||
|
||||
// This is a legacy define to allow old component to builds
|
||||
STGFMT_DOCUMENT = 0;
|
||||
|
||||
|
||||
// COM initialization flags; passed to CoInitialize.
|
||||
COINIT_APARTMENTTHREADED = $2; // Apartment model
|
||||
|
||||
// These constants are only valid on Windows NT 4.0
|
||||
|
||||
COINIT_MULTITHREADED = $0; // OLE calls objects on any thread.
|
||||
COINIT_DISABLE_OLE1DDE = $4; // Don't use DDE for Ole1 support.
|
||||
COINIT_SPEED_OVER_MEMORY = $8; // Trade memory for speed.
|
||||
|
||||
SMEXF_SERVER = $01; // server side aggregated std marshaler
|
||||
SMEXF_HANDLER = $02; // client side (handler) agg std marshaler
|
||||
|
||||
|
||||
|
||||
COWAIT_WAITALL = 1;
|
||||
COWAIT_ALERTABLE = 2;
|
||||
|
||||
TYPE
|
||||
VARTYPE = USHORT;
|
||||
VARTYPE = USHORT;
|
||||
|
||||
//TypeInfo stuff.
|
||||
|
||||
DISPID = Long ;
|
||||
SCODE = Long;
|
||||
pSCODE = ^SCODE;
|
||||
lpDISPID = ^DISPID;
|
||||
MEMBERID = DispId;
|
||||
HREFTYPE = DWord;
|
||||
|
||||
|
||||
// Enums
|
||||
VARKIND = DWord;
|
||||
DESCKIND = DWord;
|
||||
SYSKIND = DWord;
|
||||
FUNCKIND = DWord;
|
||||
CHANGEKIND = DWord;
|
||||
CALLCONV = DWord;
|
||||
|
||||
PCOAUTHIDENTITY = ^TCOAUTHIDENTITY;
|
||||
_COAUTHIDENTITY = Record
|
||||
@ -453,7 +737,7 @@ TYPE
|
||||
PMultiQI = ^Multi_QI;
|
||||
tagMULTI_QI = Record
|
||||
iid: piid; // pass this one in
|
||||
itf: IUnknown; // get these out (you must set to NULL before calling)
|
||||
itf: pointer {IUnknown}; // get these out (you must set to NULL before calling)
|
||||
hr : Hresult;
|
||||
END;
|
||||
MULTI_QI = TagMULTI_QI;
|
||||
@ -945,9 +1229,39 @@ TYPE
|
||||
FLAG_STGMEDIUM = _FLAG_STGMEDIUM;
|
||||
|
||||
|
||||
VARIANTARG = VARIANT;
|
||||
LPVARIANT = ^VARIANT;
|
||||
LPVARIANTARG = ^VARIANT;
|
||||
|
||||
// parameter description
|
||||
|
||||
tagPARAMDESCEX = Record
|
||||
cBytes : ULong; // size of this structure
|
||||
varDefaultValue: VariantARG; // default value of this parameter
|
||||
End;
|
||||
|
||||
PARAMDESCEX = tagPARAMDESCEX;
|
||||
LPPARAMDESCEX = ^PARAMDESCEX;
|
||||
|
||||
tagPARAMDESC = Record
|
||||
pparamdescex: LPPARAMDESCEX ; // valid if PARAMFLAG_FHASDEFAULT bit is set
|
||||
wParamFlags : UShort ; // IN, OUT, etc
|
||||
End;
|
||||
|
||||
PARAMDESC = tagPARAMDESC;
|
||||
LPPARAMDESC = ^PARAMDESC;
|
||||
|
||||
|
||||
tagSAFEARRAYBOUND = Record
|
||||
cElements : ULong;
|
||||
lLbound : Long;
|
||||
End;
|
||||
SAFEARRAYBOUND = tagSAFEARRAYBOUND;
|
||||
LPSAFEARRAYBOUND = ^SAFEARRAYBOUND;
|
||||
|
||||
// additional interface information about the incoming call
|
||||
tagINTERFACEINFO = Record
|
||||
Unk : IUnknown; // the pointer to the object
|
||||
Unk : Pointer {IUnknown}; // the pointer to the object
|
||||
IID : Tiid; // interface id
|
||||
wMethod : WORD; // interface method
|
||||
End;
|
||||
@ -987,6 +1301,177 @@ TYPE
|
||||
STATDATA = TagStatData;
|
||||
LPStatData = ^StatData;
|
||||
|
||||
pARRAYDESC = ^ARRAYDESC;
|
||||
pTYPEDESC = ^TYPEDESC;
|
||||
tagTYPEKIND = Dword;
|
||||
TYPEKIND = tagTYPEKIND;
|
||||
INVOKEKIND = Dword;
|
||||
tagTYPEDESC = Record
|
||||
Case Integer OF
|
||||
VT_PTR,
|
||||
VT_SAFEARRAY : (lptdesc : PTYPEDESC;vt : VARTYPE);
|
||||
VT_CARRAY : (lpadesc : PARRAYDESC);
|
||||
VT_USERDEFINED : (hreftype : HREFTYPE);
|
||||
End;
|
||||
TYPEDESC = tagTYPEDESC;
|
||||
|
||||
|
||||
|
||||
|
||||
tagARRAYDESC = Record
|
||||
tdescElem : TYPEDESC; // element type
|
||||
cDims : USHORT;
|
||||
rgbounds : ARRAY [0..0] OF SAFEARRAYBOUND; // dimension count
|
||||
End;
|
||||
|
||||
ARRAYDESC = tagARRAYDESC;
|
||||
|
||||
tagIDLDESC = Record
|
||||
dwReserved : pULONG;
|
||||
wIDLFlags : USHORT; // IN, OUT, etc
|
||||
End;
|
||||
IDLDESC = tagIDLDESC;
|
||||
LPIDLDESC = ^IDLDESC;
|
||||
|
||||
|
||||
tagELEMDESC = Record
|
||||
tdesc : TYPEDESC;
|
||||
case Integer Of
|
||||
0 : (idldesc : IDLDESC);
|
||||
1 : (paramdesc : PARAMDESC);
|
||||
END;
|
||||
|
||||
ELEMDESC = tagELEMDESC;
|
||||
LPELEMDESC = ^ELEMDESC;
|
||||
tagVARDESC = Record
|
||||
memId : MEMBERID;
|
||||
lpstrSchema : pOleStr;
|
||||
CASE Integer OF
|
||||
VAR_PERINSTANCE,
|
||||
VAR_DISPATCH,
|
||||
VAR_STATIC : (oInst : ULong; // offset of variable within the instance
|
||||
ElemdescVar : ELEMDESC;
|
||||
wVarFlags : WORD;
|
||||
varkind : VARKIND);
|
||||
VAR_CONST : (lpvarValue : PVARIANT); // the value of the constant
|
||||
End;
|
||||
VARDESC = tagVARDESC;
|
||||
LPVARDESC = ^VARDESC;
|
||||
tagDISPPARAMS = Record
|
||||
rgvarg : lpVARIANTARG;
|
||||
rgdispipNamedArgs : lpDISPID;
|
||||
cArgs,
|
||||
cNamedArgs : UINT;
|
||||
End;
|
||||
DISPPARAMS = tagDISPPARAMS;
|
||||
tagEXCEPINFO = Record
|
||||
wCode, // An error code describing the error.
|
||||
wReserved : Word;
|
||||
Source, // A source of the exception
|
||||
Description, // A description of the error
|
||||
HelpFile : WideString; // Fully qualified drive, path, and file name
|
||||
dwHelpContext : DWord; // help context of topic within the help file
|
||||
// We can use ULONG_PTR here, because EXCEPINFO is marshalled by RPC
|
||||
// RPC will marshal pfnDeferredFillIn.
|
||||
pvReserved,
|
||||
pfnDeferredFillIn : pULONG;
|
||||
SCODE : scode;
|
||||
End;
|
||||
|
||||
EXCEPINFO = tagEXCEPINFO;
|
||||
|
||||
tagTYPEATTR = Record
|
||||
GUID : Tguid; // the GUID of the TypeInfo
|
||||
LCID : lcid; // locale of member names and doc strings
|
||||
dwReserved : DWord;
|
||||
memidConstructor, // ID of constructor, MEMBERID_NIL if none
|
||||
memidDestructor : MemberID; // ID of destructor, MEMBERID_NIL if none
|
||||
lpstrSchema : pOleStr;
|
||||
|
||||
cbSizeInstance : ULong; // the size of an instance of this type
|
||||
typekind : TYPEKIND; // the kind of type this typeinfo describes
|
||||
cFuncs, // number of functions
|
||||
cVars, // number of variables / data members
|
||||
cImplTypes, // number of implemented interfaces
|
||||
cbSizeVft, // the size of this types virtual func table
|
||||
cbAlignment, { specifies the alignment requirements for
|
||||
an instance of this type,
|
||||
0 = align on 64k boundary
|
||||
1 = byte align
|
||||
2 = word align
|
||||
4 = dword align... }
|
||||
wTypeFlags,
|
||||
wMajorVerNum, // major version number
|
||||
wMinorVerNum : Word; // minor version number
|
||||
tdescAlias : TYPEDESC; { if typekind == TKIND_ALIAS this field
|
||||
specifies the type for which this type
|
||||
is an alias }
|
||||
idldescType : IDLDESC; // IDL attributes of the described type
|
||||
END;
|
||||
TYPEATTR = tagTYPEATTR;
|
||||
|
||||
LPTYPEATTR = ^TYPEATTR;
|
||||
|
||||
tagTLIBATTR = Record
|
||||
GUID : guid;
|
||||
LCID : lcid;
|
||||
SYSKIND : syskind;
|
||||
wMajorVerNum,
|
||||
wMinorVerNum,
|
||||
wLibFlags : Word
|
||||
End;
|
||||
|
||||
TLIBATTR = tagTLIBATTR;
|
||||
LPTLIBATTR = ^tagTLIBATTR;
|
||||
|
||||
LPFUNCDESC = ^FUNCDESC;
|
||||
|
||||
tagFUNCDESC = Record
|
||||
memid : MEMBERID;
|
||||
lprgscode : pSCODE;
|
||||
lprgelemdescParam : lpELEMDESC; // array of param types
|
||||
FUNCKIND : funckind;
|
||||
invkind : INVOKEKIND;
|
||||
callconv : CALLCONV;
|
||||
cParams,
|
||||
cParamsOpt,
|
||||
oVft,
|
||||
cScodes : SHORT;
|
||||
elemdescFunc : ELEMDESC;
|
||||
wFuncFlags : WORD;
|
||||
End;
|
||||
FUNCDESC = tagFUNCDESC;
|
||||
|
||||
|
||||
tagBINDPTR = Record
|
||||
case integer Of
|
||||
0 : (lpfuncdesc : LPFUNCDESC);
|
||||
1 : (lpvardesc : LPVARDESC);
|
||||
2 : (lptcomp : Pointer {ITypeComp} );
|
||||
End;
|
||||
BINDPTR = tagBINDPTR;
|
||||
LPBINDPTR = ^BINDPTR;
|
||||
|
||||
tagCUSTDATAITEM = Record
|
||||
GUID : TGuid; // guid identifying this custom data item
|
||||
varValue : VARIANTARG; // value of this custom data item
|
||||
End;
|
||||
|
||||
CUSTDATAITEM = tagCUSTDATAITEM;
|
||||
|
||||
LPCUSTDATAITEM = ^CUSTDATAITEM;
|
||||
|
||||
tagCUSTDATA = Record
|
||||
cCustData : DWord; // number of custom data items in rgCustData
|
||||
prgCustData : LPCUSTDATAITEM; // array of custom data items
|
||||
End;
|
||||
|
||||
CUSTDATA = tagCUSTDATA;
|
||||
LPCUSTDATA = ^CUSTDATA;
|
||||
|
||||
// CURRENCY = CY;
|
||||
|
||||
{$IFDEF HAS_INTF}
|
||||
|
||||
// Forward interfaces.
|
||||
|
||||
@ -1002,13 +1487,35 @@ TYPE
|
||||
IAsyncManager = Interface;
|
||||
ICallFactory = Interface;
|
||||
ISynchronize = Interface;
|
||||
ITypeLib = Interface;
|
||||
|
||||
// Unknwn.idl
|
||||
|
||||
// IUnknown is in classesh.inc
|
||||
|
||||
AsyncIUnknown = Interface( IUnknown)
|
||||
['{000e0000-0000-0000-C000-000000000046}']
|
||||
Function Begin_QueryInterface(Const riid : TIID): HResult; StdCall;
|
||||
Function Finish_QueryInterface(Out ppvObject : Pointer):HResult;StdCall;
|
||||
Function Begin_AddRef:HResult;StdCall;
|
||||
Function Finish_AddRef:ULong;StdCall;
|
||||
Function Begin_Release:HResult;StdCall;
|
||||
Function Finish_Release:ULong;StdCall;
|
||||
End;
|
||||
|
||||
IClassFactory = Interface(IUnknown)
|
||||
['{00000001-0000-0000-C000-000000000046}']
|
||||
Function CreateInstance(Const unkOuter:IUnknown;Const riid : TIID;Out vObject : Pointer):HResult; StdCall;
|
||||
Function LockServer(fLock : Bool):HResult;StdCall;
|
||||
End;
|
||||
|
||||
|
||||
// objidl.idl
|
||||
|
||||
{****************************************************************************
|
||||
* Component Object Interfaces
|
||||
****************************************************************************}
|
||||
|
||||
|
||||
IMarshal = Interface(IUnknown)
|
||||
['{00000003-0000-0000-C000-000000000046}']
|
||||
Function GetUnmarshalClass ( Const riid: TIID; pv:Pointer; Const dwDestContext:DWord;
|
||||
@ -1192,32 +1699,29 @@ TYPE
|
||||
Function Clone(Out penum:IEnumString):HResult;StdCall;
|
||||
End;
|
||||
|
||||
|
||||
ISequentialStream = interface(IUnknown)
|
||||
['{0c733a30-2a1c-11ce-ade5-00aa0044773d}']
|
||||
function Read(pv : Pointer;cb : DWord;pcbRead : PDWord) : HRESULT;stdcall;
|
||||
function Write(pv : Pointer;cb : DWord;pcbWritten : PDWord): HRESULT;stdcall;
|
||||
ISequentialStream = interface(IUnknown)
|
||||
['{0c733a30-2a1c-11ce-ade5-00aa0044773d}']
|
||||
function Read(pv : Pointer;cb : DWord;pcbRead : PDWord) : HRESULT;stdcall;
|
||||
function Write(pv : Pointer;cb : DWord;pcbWritten : PDWord): HRESULT;stdcall;
|
||||
end;
|
||||
|
||||
IStream = interface(ISequentialStream)
|
||||
['{0000000C-0000-0000-C000-000000000046}']
|
||||
function Seek(dlibMove : Large_integer; dwOrigin: Longint;
|
||||
IStream = interface(ISequentialStream)
|
||||
['{0000000C-0000-0000-C000-000000000046}']
|
||||
function Seek(dlibMove : Large_integer; dwOrigin: Longint;
|
||||
out libNewPosition : Large_Integer): HResult; stdcall;
|
||||
function SetSize(libNewSize : Large_Integer) : HRESULT;stdcall;
|
||||
function CopyTo(stm: IStream;cb : Large_Integer;out cbRead : Large_Integer;
|
||||
function SetSize(libNewSize : Large_Integer) : HRESULT;stdcall;
|
||||
function CopyTo(stm: IStream;cb : Large_Integer;out cbRead : Large_Integer;
|
||||
out cbWritten: Large_Integer) : HRESULT;stdcall;
|
||||
function Commit(grfCommitFlags : Longint) : HRESULT; stdcall;
|
||||
function Revert : HRESULT; stdcall;
|
||||
function LockRegion(libOffset : Large_Integer;cb : Large_Integer;
|
||||
function Commit(grfCommitFlags : Longint) : HRESULT; stdcall;
|
||||
function Revert : HRESULT; stdcall;
|
||||
function LockRegion(libOffset : Large_Integer;cb : Large_Integer;
|
||||
dwLockType: Longint) : HRESULT;stdcall;
|
||||
function UnlockRegion(libOffset: Large_Integer;cb: Large_Integer;
|
||||
function UnlockRegion(libOffset: Large_Integer;cb: Large_Integer;
|
||||
dwLockType: Longint) : HRESULT;stdcall;
|
||||
function Stat(out statstg : TStatStg; grfStatFlag: Longint): HRESULT;stdcall;
|
||||
function Clone(out stm : IStream) : HRESULT; stdcall;
|
||||
Function Stat(out statstg : TStatStg; grfStatFlag: Longint): HRESULT;stdcall;
|
||||
function Clone(out stm : IStream) : HRESULT; stdcall;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
IEnumSTATSTG = Interface (IUnknown)
|
||||
['{0000000d-0000-0000-C000-000000000046}']
|
||||
Function Next (Celt:ULong;Out xcelt;pceltfetched : PUlong):HResult; StdCall;
|
||||
@ -1764,12 +2268,361 @@ TYPE
|
||||
Function ResetInitializerTimeout(dwSecondsRemaining:DWord):HResult; StdCall;
|
||||
End;
|
||||
|
||||
|
||||
// Interfaces from OAIDL.IDL
|
||||
|
||||
ITypeInfo = Interface;
|
||||
|
||||
ICreateTypeInfo = Interface (IUnknown)
|
||||
['{00020405-0000-0000-C000-000000000046}']
|
||||
Function SetGuid(CONST guid: TGUID):HResult;StdCall;
|
||||
Function SetTypeFlags(uTypeFlags: UINT):HResult;StdCall;
|
||||
Function SetDocString(pStrDoc: pOleStr):HResult;StdCall;
|
||||
Function SetHelpContext(dwHelpContext: DWORD):HResult;StdCall;
|
||||
Function SetVersion(wMajorVerNum: WORD; wMinorVerNum: WORD):HResult;StdCall;
|
||||
Function AddRefTypeInfo(CONST pTInfo: ITypeInfo; CONST phRefType: HREFTYPE):HResult;StdCall;
|
||||
Function AddFuncDesc(index: UINT; CONST pFuncDesc: FUNCDESC):HResult;StdCall;
|
||||
Function AddImplType(index: UINT; hRefType: HREFTYPE):HResult;StdCall;
|
||||
Function SetImplTypeFlags(index: UINT; implTypeFlags: INT):HResult;StdCall;
|
||||
Function SetAlignment(cbAlignment: WORD):HResult;StdCall;
|
||||
Function SetSchema(pStrSchema: pOleStr):HResult;StdCall;
|
||||
Function AddVarDesc(index: UINT; CONST pVarDesc: VARDESC):HResult;StdCall;
|
||||
Function SetFuncAndParamNames(index: UINT; CONST rgszNames: pOleStr; cNames: UINT):HResult;StdCall;
|
||||
Function SetVarName(index: UINT; szName: pOleStr):HResult;StdCall;
|
||||
Function SetTypeDescAlias(CONST pTDescAlias: TYPEDESC):HResult;StdCall;
|
||||
Function DefineFuncAsDllEntry(index: UINT; szDllName: pOleStr; szProcName: pOleStr):HResult;StdCall;
|
||||
Function SetFuncDocString(index: UINT; szDocString: pOleStr):HResult;StdCall;
|
||||
Function SetVarDocString(index: UINT; szDocString: pOleStr):HResult;StdCall;
|
||||
Function SetFuncHelpContext(index: UINT; dwHelpContext: DWORD):HResult;StdCall;
|
||||
Function SetVarHelpContext(index: UINT; dwHelpContext: DWORD):HResult;StdCall;
|
||||
Function SetMops(index: UINT; Const bstrMops: WideString):HResult;StdCall;
|
||||
Function SetTypeIdldesc(CONST pIdlDesc: IDLDESC):HResult;StdCall;
|
||||
Function LayOut():HResult;StdCall;
|
||||
End;
|
||||
|
||||
ICreateTypeInfo2 = Interface (ICreateTypeInfo)
|
||||
['{0002040E-0000-0000-C000-000000000046}']
|
||||
Function DeleteFuncDesc(index: UINT):HResult;StdCall;
|
||||
Function DeleteFuncDescByMemId(memid: MEMBERID; invKind: INVOKEKIND):HResult;StdCall;
|
||||
Function DeleteVarDesc(index: UINT):HResult;StdCall;
|
||||
Function DeleteVarDescByMemId(memid: MEMBERID):HResult;StdCall;
|
||||
Function DeleteImplType(index: UINT):HResult;StdCall;
|
||||
Function SetCustData(CONST guid: TGUID; CONST pVarVal: VARIANT):HResult;StdCall;
|
||||
Function SetFuncCustData(index: UINT; CONST guid: TGUID; CONST pVarVal: VARIANT):HResult;StdCall;
|
||||
Function SetParamCustData(indexFunc: UINT; indexParam: UINT; CONST guid: TGUID; CONST pVarVal: VARIANT):HResult;StdCall;
|
||||
Function SetVarCustData(index: UINT; CONST guid: TGUID; CONST pVarVal: VARIANT):HResult;StdCall;
|
||||
Function SetImplTypeCustData(index: UINT; CONST guid: TGUID; CONST pVarVal: VARIANT):HResult;StdCall;
|
||||
Function SetHelpStringContext(dwHelpStringContext: ULONG):HResult;StdCall;
|
||||
Function SetFuncHelpStringContext(index: UINT; dwHelpStringContext: ULONG):HResult;StdCall;
|
||||
Function SetVarHelpStringContext(index: UINT; dwHelpStringContext: ULONG):HResult;StdCall;
|
||||
Function Invalidate():HResult;StdCall;
|
||||
Function SetName(szName: pOleStr):HResult;StdCall;
|
||||
End;
|
||||
|
||||
ICreateTypeLib = Interface (IUnknown)
|
||||
['{00020406-0000-0000-C000-000000000046}']
|
||||
Function CreateTypeInfo(szName: pOleStr; tkind: TYPEKIND; OUT ppCTInfo: ICreateTypeInfo):HResult;StdCall;
|
||||
Function SetName(szName: pOleStr):HResult;StdCall;
|
||||
Function SetVersion(wMajorVerNum: WORD; wMinorVerNum: WORD):HResult;StdCall;
|
||||
Function SetGuid(CONST guid: TGUID):HResult;StdCall;
|
||||
Function SetDocString(szDoc: pOleStr):HResult;StdCall;
|
||||
Function SetHelpFileName(szHelpFileName: pOleStr):HResult;StdCall;
|
||||
Function SetHelpContext(dwHelpContext: DWORD):HResult;StdCall;
|
||||
Function SetLcid(lcid: LCID):HResult;StdCall;
|
||||
Function SetLibFlags(uLibFlags: UINT):HResult;StdCall;
|
||||
Function SaveAllChanges():HResult;StdCall;
|
||||
End;
|
||||
|
||||
ICreateTypeLib2 = Interface (ICreateTypeLib)
|
||||
['{0002040F-0000-0000-C000-000000000046}']
|
||||
Function DeleteTypeInfo(szName: pOleStr):HResult;StdCall;
|
||||
Function SetCustData(CONST guid: TGUID; CONST pVarVal: VARIANT):HResult;StdCall;
|
||||
Function SetHelpStringContext(dwHelpStringContext: ULONG):HResult;StdCall;
|
||||
Function SetHelpStringDll(szFileName: pOleStr):HResult;StdCall;
|
||||
End;
|
||||
|
||||
IDispatch = Interface (IUnknown)
|
||||
['{00020400-0000-0000-C000-000000000046}']
|
||||
Function GetTypeInfoCount(OUT pctinfo: UINT):HResult;StdCall;
|
||||
Function GetTypeInfo(iTInfo: UINT; lcid: LCID; OUT ppTInfo: ITypeInfo):HResult;StdCall;
|
||||
Function GetIDsOfNames(CONST riid: TIID; CONST rgszNames: pOleStr; cNames: UINT; lcid: LCID; OUT rgDispId: DISPID):HResult;StdCall;
|
||||
{$ifndef Call_as}
|
||||
Function Invoke(dispIdMember: DISPID; CONST riid: TIID; lcid: LCID; wFlags: WORD; VAR pDispParams: DISPPARAMS; OUT pVarResult: VARIANT; OUT pExcepInfo: EXCEPINFO; OUT puArgErr: UINT):HResult;StdCall;
|
||||
{$else}
|
||||
Function Invoke(dispIdMember: DISPID; CONST riid: TIID; lcid: LCID; dwFlags: DWORD; CONST pDispParams: DISPPARAMS; OUT pVarResult: VARIANT; OUT pExcepInfo: EXCEPINFO; OUT pArgErr: UINT;
|
||||
cVarRef: UINT; CONST rgVarRefIdx: UINT; VAR rgVarRef: VARIANTARG):HResult;StdCall;
|
||||
{$endif}
|
||||
End;
|
||||
|
||||
IEnumVARIANT = Interface (IUnknown)
|
||||
['{00020404-0000-0000-C000-000000000046}']
|
||||
{$ifndef Call_as}
|
||||
Function Next(celt: ULONG; OUT rgVar: VARIANT; OUT pCeltFetched: ULONG):HResult;StdCall;
|
||||
{$else}
|
||||
Function Next(celt: ULONG; OUT rgVar: VARIANT; OUT pCeltFetched: ULONG):HResult;StdCall;
|
||||
{$endif}
|
||||
Function Skip(celt: ULONG):HResult;StdCall;
|
||||
Function Reset():HResult;StdCall;
|
||||
Function Clone(OUT ppEnum: IEnumVARIANT):HResult;StdCall;
|
||||
End;
|
||||
|
||||
ITypeComp = Interface (IUnknown)
|
||||
['{00020403-0000-0000-C000-000000000046}']
|
||||
{$ifndef Call_as}
|
||||
Function Bind(szName: pOleStr; lHashVal: ULONG; wFlags: WORD; OUT ppTInfo: ITypeInfo; OUT pDescKind: DESCKIND; OUT pBindPtr: BINDPTR):HResult;StdCall;
|
||||
Function BindType(szName: pOleStr; lHashVal: ULONG; OUT ppTInfo: ITypeInfo; OUT ppTComp: ITypeComp):HResult;StdCall;
|
||||
{$else}
|
||||
Function Bind(szName: pOleStr; lHashVal: ULONG; wFlags: WORD; OUT ppTInfo: ITypeInfo; OUT pDescKind: DESCKIND; OUT ppFuncDesc: LPFUNCDESC; OUT ppVarDesc: LPVARDESC; O
|
||||
Function BindType(szName: pOleStr; lHashVal: ULONG; OUT ppTInfo: ITypeInfo):HResult;StdCall;
|
||||
{$endif}
|
||||
End;
|
||||
|
||||
ITypeInfo = Interface (IUnknown)
|
||||
['{00020401-0000-0000-C000-000000000046}']
|
||||
{$ifndef Call_as}
|
||||
Function GetTypeAttr(OUT ppTypeAttr: lpTYPEATTR):HResult;StdCall;
|
||||
{$else}
|
||||
Function GetTypeAttr(OUT ppTypeAttr: LPTYPEATTR; OUT pDummy: CLEANLOCALSTORAGE):HResult;StdCall;
|
||||
{$endif}
|
||||
Function GetTypeComp(OUT ppTComp: ITypeComp):HResult;StdCall;
|
||||
{$ifndef Call_as}
|
||||
Function GetFuncDesc(index: UINT; OUT ppFuncDesc: lpFUNCDESC):HResult;StdCall;
|
||||
Function GetVarDesc(index: UINT; OUT ppVarDesc: lpVARDESC):HResult;StdCall;
|
||||
Function GetNames(memid: MEMBERID; OUT rgBstrNames: WideString; cMaxNames: UINT; OUT pcNames: UINT):HResult;StdCall;
|
||||
{$else}
|
||||
Function GetFuncDesc(index: UINT; OUT ppFuncDesc: LPFUNCDESC; OUT pDummy: CLEANLOCALSTORAGE):HResult;StdCall;
|
||||
Function GetVarDesc(index: UINT; OUT ppVarDesc: LPVARDESC; OUT pDummy: CLEANLOCALSTORAGE):HResult;StdCall;
|
||||
Function GetNames(memid: MEMBERID; OUT rgBstrNames: WideString; cMaxNames: UINT; OUT pcNames: UINT):HResult;StdCall;
|
||||
{$endif}
|
||||
Function GetRefTypeOfImplType(index: UINT; OUT pRefType: HREFTYPE):HResult;StdCall;
|
||||
Function GetImplTypeFlags(index: UINT; OUT pImplTypeFlags: INT):HResult;StdCall;
|
||||
{$ifndef Call_as}
|
||||
Function GetIDsOfNames(CONST rgszNames: pOleStr; cNames: UINT; OUT pMemId: MEMBERID):HResult;StdCall;
|
||||
{$else}
|
||||
Function LocalGetIDsOfNames():HResult;StdCall;
|
||||
{$endif}
|
||||
{$ifndef Call_as}
|
||||
Function Invoke(pvInstance: Pointer; memid: MEMBERID; wFlags: WORD; VAR pDispParams: DISPPARAMS; OUT pVarResult: VARIANT; OUT pExcepInfo: EXCEPINFO; OUT puArgErr: UINT):HResult;StdCall;
|
||||
{$else}
|
||||
Function LocalInvoke ():HResult;StdCall;
|
||||
{$endif}
|
||||
{$ifndef Call_as}
|
||||
Function GetDocumentation(memid: MEMBERID; OUT pBstrName: WideString; OUT pBstrDocString: WideString; OUT pdwHelpContext: DWORD; OUT pBstrHelpFile: WideString):HResult;StdCall;
|
||||
{$else}
|
||||
Function GetDocumentation(memid: MEMBERID; refPtrFlags: DWORD; OUT pBstrName: WideString; OUT pBstrDocString: WideString; OUT pdwHelpContext: DWORD; OUT pBstrHelpFile: WideString):HResult;StdCall;
|
||||
{$endif}
|
||||
|
||||
{$ifndef Call_as}
|
||||
Function GetDllEntry(memid: MEMBERID; invKind: INVOKEKIND; OUT pBstrDllName: WideString; OUT pBstrName: WideString; OUT pwOrdinal: WORD):HResult;StdCall;
|
||||
{$else}
|
||||
Function GetDllEntry(memid: MEMBERID; invKind: INVOKEKIND; refPtrFlags: DWORD; OUT pBstrDllName: WideString; OUT pBstrName: WideString; OUT pwOrdinal: WORD):HResult;StdCall;
|
||||
{$endif}
|
||||
|
||||
Function GetRefTypeInfo(hRefType: HREFTYPE; OUT ppTInfo: ITypeInfo):HResult;StdCall;
|
||||
|
||||
{$ifndef Call_as}
|
||||
Function AddressOfMember(memid: MEMBERID; invKind: INVOKEKIND; OUT ppv: Pointer):HResult;StdCall;
|
||||
{$else}
|
||||
Function LocalAddressOfMember():HResult;StdCall;
|
||||
{$endif}
|
||||
|
||||
{$ifndef Call_as}
|
||||
Function CreateInstance(CONST pUnkOuter: IUnknown; CONST riid: TIID; OUT ppvObj: Pointer):HResult;StdCall;
|
||||
{$else}
|
||||
Function CreateInstance(CONST riid: TIID; OUT ppvObj: pIUnknown):HResult;StdCall;
|
||||
{$endif}
|
||||
Function GetMops(memid: MEMBERID; OUT pBstrMops: WideString):HResult;StdCall;
|
||||
{$ifndef Call_as}
|
||||
Function GetContainingTypeLib(OUT ppTLib: ITypeLib; OUT pIndex: UINT):HResult;StdCall;
|
||||
{$else}
|
||||
Function GetContainingTypeLib(OUT ppTLib: ITypeLib; OUT pIndex: UINT):HResult;StdCall;
|
||||
{$endif}
|
||||
{$ifndef Call_as}
|
||||
Procedure ReleaseTypeAttr(Const pTypeAttr: TypeAttr); StdCall;
|
||||
{$else}
|
||||
Function ReleaseTypeAttr():HResult;StdCall;
|
||||
{$endif}
|
||||
|
||||
{$ifndef Call_as}
|
||||
Procedure ReleaseFuncDesc(const pFuncDesc : FUNCDESC); StdCall;
|
||||
{$else}
|
||||
Function LocalReleaseFuncDesc():HResult;StdCall;
|
||||
{$endif}
|
||||
{$ifndef Call_as}
|
||||
Procedure ReleaseVarDesc(Const pVarDesc : VarDesc);
|
||||
{$else}
|
||||
Function LocalReleaseVarDesc():HResult;StdCall;
|
||||
{$endif}
|
||||
End;
|
||||
|
||||
ITypeInfo2 = Interface (ITypeInfo)
|
||||
['{00020412-0000-0000-C000-000000000046}']
|
||||
Function GetTypeKind(OUT xpTypeKind: TYPEKIND):HResult;StdCall;
|
||||
Function GetTypeFlags(OUT pTypeFlags: ULONG):HResult;StdCall;
|
||||
Function GetFuncIndexOfMemId(memid: MEMBERID; invKind: INVOKEKIND; OUT pFuncIndex: UINT):HResult;StdCall;
|
||||
Function GetVarIndexOfMemId(memid: MEMBERID; OUT pVarIndex: UINT):HResult;StdCall;
|
||||
Function GetCustData(CONST guid: TGUID; OUT pVarVal: VARIANT):HResult;StdCall;
|
||||
Function GetFuncCustData(index: UINT; CONST guid: TGUID; OUT pVarVal: VARIANT):HResult;StdCall;
|
||||
Function GetParamCustData(indexFunc: UINT; indexParam: UINT; CONST guid: TGUID; OUT pVarVal: VARIANT):HResult;StdCall;
|
||||
Function GetVarCustData(index: UINT; CONST guid: TGUID; OUT pVarVal: VARIANT):HResult;StdCall;
|
||||
Function GetImplTypeCustData(index: UINT; CONST guid: TGUID; OUT pVarVal: VARIANT):HResult;StdCall;
|
||||
{$ifndef Call_as}
|
||||
Function GetDocumentation2(memid: MEMBERID; lcid: LCID; OUT pbstrHelpString: WideString; OUT pdwHelpStringContext: DWORD; OUT pbstrHelpStringDll: WideString):HResult;StdCall;
|
||||
{$else}
|
||||
Function GetDocumentation2(memid: MEMBERID; lcid: LCID; refPtrFlags: DWORD; OUT pbstrHelpString: WideString; OUT pdwHelpStringContext: DWORD; OUT pbstrHelpStringDll: WideString):HResult;StdCall;
|
||||
{$endif}
|
||||
Function GetAllCustData(OUT pCustData: CUSTDATA):HResult;StdCall;
|
||||
Function GetAllFuncCustData(index: UINT; OUT pCustData: CUSTDATA):HResult;StdCall;
|
||||
Function GetAllParamCustData(indexFunc: UINT; indexParam: UINT; OUT pCustData: CUSTDATA):HResult;StdCall;
|
||||
Function GetAllVarCustData(index: UINT; OUT pCustData: CUSTDATA):HResult;StdCall;
|
||||
Function GetAllImplTypeCustData(index: UINT; OUT pCustData: CUSTDATA):HResult;StdCall;
|
||||
End;
|
||||
|
||||
ITypeLib = Interface (IUnknown)
|
||||
['{00020402-0000-0000-C000-000000000046}']
|
||||
{$ifndef Call_as}
|
||||
Function GetTypeInfoCount:UINT; StdCall;
|
||||
{$else}
|
||||
Function GetTypeInfoCount(OUT pcTInfo: UINT):HResult;StdCall;
|
||||
{$endif}
|
||||
Function GetTypeInfo(index: UINT; OUT ppTInfo: ITypeInfo):HResult;StdCall;
|
||||
Function GetTypeInfoType(index: UINT; OUT pTKind: TYPEKIND):HResult;StdCall;
|
||||
Function GetTypeInfoOfGuid(CONST guid: TGUID; OUT ppTinfo: ITypeInfo):HResult;StdCall;
|
||||
{$ifndef Call_as}
|
||||
Function GetLibAttr(OUT ppTLibAttr: lpTLIBATTR):HResult;StdCall;
|
||||
{$else}
|
||||
Function GetLibAttr(OUT ppTLibAttr: LPTLIBATTR; OUT pDummy: CLEANLOCALSTORAGE):HResult;StdCall;
|
||||
{$endif}
|
||||
|
||||
Function GetTypeComp(OUT ppTComp: ITypeComp):HResult;StdCall;
|
||||
{$ifndef Call_as}
|
||||
Function GetDocumentation(index: INT; OUT pBstrName: WideString; OUT pBstrDocString: WideString; OUT pdwHelpContext: DWORD; OUT pBstrHelpFile: WideString):HResult;StdCall;
|
||||
{$else}
|
||||
Function GetDocumentation(index: INT; refPtrFlags: DWORD; OUT pBstrName: WideString; OUT pBstrDocString: WideString; OUT pdwHelpContext: DWORD; OUT pBstrHelpFile: WideString):HResult;StdCall;
|
||||
{$endif}
|
||||
|
||||
{$ifndef Call_as}
|
||||
Function IsName(szNameBuf: pOleStr; lHashVal: ULONG; OUT pfName: BOOL):HResult;StdCall;
|
||||
{$else}
|
||||
Function IsName(szNameBuf: pOleStr; lHashVal: ULONG; OUT pfName: BOOL; OUT pBstrLibName: WideString):HResult;StdCall;
|
||||
{$endif}
|
||||
{$ifndef Call_as}
|
||||
Function FindName(szNameBuf: pOleStr; lHashVal: ULONG; OUT ppTInfo: ITypeInfo; OUT rgMemId: MEMBERID; VAR pcFound: USHORT):HResult;StdCall;
|
||||
{$else}
|
||||
Function FindName(szNameBuf: pOleStr; lHashVal: ULONG; OUT ppTInfo: ITypeInfo; OUT rgMemId: MEMBERID; VAR pcFound: USHORT; OUT pBstrLibName: WideString):HResult;StdCall;
|
||||
{$endif}
|
||||
{$ifndef Call_as}
|
||||
Procedure ReleaseTLibAttr(Const pTLibAttr : TLIBATTR); StdCall;
|
||||
{$else}
|
||||
Function LocalReleaseTLibAttr:HResult;StdCall;
|
||||
{$endif}
|
||||
End;
|
||||
|
||||
ITypeLib2 = Interface (ITypeLib)
|
||||
['{00020411-0000-0000-C000-000000000046}']
|
||||
Function GetCustData(CONST guid: TGUID; OUT pVarVal: VARIANT):HResult;StdCall;
|
||||
{$ifndef Call_as}
|
||||
Function GetLibStatistics(OUT pcUniqueNames: ULONG; OUT pcchUniqueNames: ULONG):HResult;StdCall;
|
||||
{$else}
|
||||
Function GetLibStatistics(OUT pcUniqueNames: ULONG; OUT pcchUniqueNames: ULONG):HResult;StdCall;
|
||||
{$endif}
|
||||
{$ifndef Call_as}
|
||||
Function GetDocumentation2(index: INT; lcid: LCID; OUT pbstrHelpString: WideString; OUT pdwHelpStringContext: DWORD; OUT pbstrHelpStringDll: WideString):HResult;StdCall;
|
||||
{$else}
|
||||
Function GetDocumentation2(index: INT; lcid: LCID; refPtrFlags: DWORD; OUT pbstrHelpString: WideString; OUT pdwHelpStringContext: DWORD; OUT pbstrHelpStringDll: WideString):HResult;StdCall;
|
||||
{$endif}
|
||||
Function GetAllCustData(OUT pCustData: CUSTDATA):HResult;StdCall;
|
||||
End;
|
||||
|
||||
ITypeChangeEvents= Interface (IUnknown)
|
||||
['{00020410-0000-0000-C000-000000000046}']
|
||||
Function RequestTypeChange(changeKind: CHANGEKIND; CONST pTInfoBefore: ITypeInfo; pStrName: pOleStr; OUT pfCancel: INT):HResult;StdCall;
|
||||
Function AfterTypeChange(changeKind: CHANGEKIND; CONST pTInfoAfter: ITypeInfo; pStrName: pOleStr):HResult;StdCall;
|
||||
End;
|
||||
|
||||
IErrorInfo= Interface (IUnknown)
|
||||
['{1CF2B120-547D-101B-8E65-08002B2BD119}']
|
||||
Function GetGUID(OUT pGUID: TGUID):HResult;StdCall;
|
||||
Function GetSource(OUT pBstrSource: WideString):HResult;StdCall;
|
||||
Function GetDescription(OUT pBstrDescription: WideString):HResult;StdCall;
|
||||
Function GetHelpFile(OUT pBstrHelpFile: WideString):HResult;StdCall;
|
||||
Function GetHelpContext(OUT pdwHelpContext: DWORD):HResult;StdCall;
|
||||
End;
|
||||
|
||||
ICreateErrorInfo= Interface (IUnknown)
|
||||
['{22F03340-547D-101B-8E65-08002B2BD119}']
|
||||
Function SetGUID(CONST rguid: TGUID):HResult;StdCall;
|
||||
Function SetSource(szSource: pOleStr):HResult;StdCall;
|
||||
Function SetDescription(szDescription: pOleStr):HResult;StdCall;
|
||||
Function SetHelpFile(szHelpFile: pOleStr):HResult;StdCall;
|
||||
Function SetHelpContext(dwHelpContext: DWORD):HResult;StdCall;
|
||||
End;
|
||||
|
||||
ISupportErrorInfo= Interface (IUnknown)
|
||||
['{DF0B3D60-548F-101B-8E65-08002B2BD119}']
|
||||
Function InterfaceSupportsErrorInfo(CONST riid: TIID):HResult;StdCall;
|
||||
End;
|
||||
|
||||
ITypeFactory = Interface (IUnknown)
|
||||
['{0000002E-0000-0000-C000-000000000046}']
|
||||
Function CreateFromTypeInfo(CONST pTypeInfo: ITypeInfo; CONST riid: TIID; OUT ppv: IUnknown):HResult;StdCall;
|
||||
End;
|
||||
|
||||
ITypeMarshal = Interface (IUnknown)
|
||||
['{0000002D-0000-0000-C000-000000000046}']
|
||||
Function Size(pvType: Pointer; dwDestContext: DWORD; pvDestContext: Pointer; OUT pSize: ULONG):HResult;StdCall;
|
||||
Function Marshal(pvType: Pointer; dwDestContext: DWORD; pvDestContext: Pointer; cbBufferLength: ULONG; OUT pBuffer: BYTE; OUT pcbWritten: ULONG):HResult;StdCall;
|
||||
Function Unmarshal(pvType: Pointer; dwFlags: DWORD; cbBufferLength: ULONG; CONST pBuffer: BYTE; OUT pcbRead: ULONG):HResult;StdCall;
|
||||
Function Free(pvType: Pointer):HResult;StdCall;
|
||||
End;
|
||||
|
||||
IRecordInfo = Interface(IUnknown)
|
||||
['{0000002F-0000-0000-C000-000000000046}']
|
||||
Function RecordInit(pvNew: Pointer):HResult;StdCall;
|
||||
Function RecordClear(pvExisting: Pointer):HResult;StdCall;
|
||||
Function RecordCopy(pvExisting: Pointer; pvNew: Pointer):HResult;StdCall;
|
||||
Function GetGuid(OUT pguid: TGUID):HResult;StdCall;
|
||||
Function GetName(OUT pbstrName: WideString):HResult;StdCall;
|
||||
Function GetSize(OUT pcbSize: ULONG):HResult;StdCall;
|
||||
Function GetTypeInfo(OUT ppTypeInfo: ITypeInfo):HResult;StdCall;
|
||||
Function GetField(pvData: Pointer; szFieldName: pOleStr; OUT pvarField: VARIANT):HResult;StdCall;
|
||||
Function GetFieldNoCopy(pvData: Pointer; szFieldName: pOleStr; OUT pvarField: VARIANT; OUT ppvDataCArray: Pointer):HResult;StdCall;
|
||||
Function PutField(wFlags: ULONG; pvData: Pointer; szFieldName: pOleStr; CONST pvarField: VARIANT):HResult;StdCall;
|
||||
Function PutFieldNoCopy(wFlags: ULONG; pvData: Pointer; szFieldName: pOleStr; CONST pvarField: VARIANT):HResult;StdCall;
|
||||
Function GetFieldNames(VAR pcNames: ULONG; OUT rgBstrNames: WideString):HResult;StdCall;
|
||||
Function IsMatchingType(CONST pRecordInfo : IRecordInfo):Bool;StdCall;
|
||||
Function RecordCreate : Pointer; StdCall;
|
||||
Function RecordCreateCopy(pvSource: Pointer; OUT ppvDest: Pointer):HResult;StdCall;
|
||||
Function RecordDestroy(pvRecord: Pointer):HResult;StdCall;
|
||||
End;
|
||||
|
||||
IErrorLog = Interface (IUnknown)
|
||||
['{3127CA40-446E-11CE-8135-00AA004BB851}']
|
||||
Function AddError(pszPropName: pOleStr; CONST pExcepInfo: EXCEPINFO):HResult;StdCall;
|
||||
End;
|
||||
|
||||
|
||||
IPropertyBag = Interface (IUnknown)
|
||||
['{55272A00-42CB-11CE-8135-00AA004BB851}']
|
||||
{$ifndef Call_as}
|
||||
Function Read(pszPropName: pOleStr; VAR pVar: VARIANT; CONST pErrorLog: IErrorLog):HResult;StdCall;
|
||||
{$else}
|
||||
Function Read(pszPropName: pOleStr; OUT pVar: VARIANT; CONST pErrorLog: IErrorLog; varType: DWORD; CONST pUnkObj: IUnknown):HResult;StdCall;
|
||||
{$endif}
|
||||
Function Write(pszPropName: pOleStr; CONST pVar: VARIANT):HResult;StdCall;
|
||||
End;
|
||||
|
||||
{$ENDIF}
|
||||
|
||||
implementation
|
||||
end.
|
||||
|
||||
{
|
||||
$Log$
|
||||
Revision 1.2 2002-02-26 10:30:01 marco
|
||||
Revision 1.3 2002-02-28 13:52:59 marco
|
||||
* has_intf and oaidl
|
||||
|
||||
Revision 1.2 2002/02/26 10:30:01 marco
|
||||
* Merged objidl.idl translation. Most of wtypes.idl also included. Size slightly increased.
|
||||
|
||||
Revision 1.1 2001/08/19 21:02:02 florian
|
||||
|
Loading…
Reference in New Issue
Block a user