mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-20 06:59:42 +02:00
2723 lines
121 KiB
ObjectPascal
2723 lines
121 KiB
ObjectPascal
Unit ActiveX;
|
|
|
|
//+-------------------------------------------------------------------------
|
|
//
|
|
// Microsoft Windows
|
|
// Copyright (c) Microsoft Corporation. All rights reserved.
|
|
//
|
|
// File: objidl.idl
|
|
//
|
|
// Header translation by Marco van de Voort for Free Pascal Platform
|
|
// SDK dl'ed January 2002
|
|
//
|
|
//--------------------------------------------------------------------------
|
|
|
|
{$Mode objfpc}
|
|
|
|
{$ifndef NO_SMART_LINK}
|
|
{$smartlink on}
|
|
{$endif}
|
|
|
|
Interface
|
|
|
|
{$define read_interface}
|
|
{$undef read_implementation}
|
|
|
|
Uses Windows,types;
|
|
|
|
|
|
type
|
|
{$ifndef ver1_0}
|
|
{ extra types }
|
|
TOleChar = Types.TOleChar;
|
|
POleStr = Types.POleStr;
|
|
PPOleStr = Types.PPOleStr;
|
|
TBStr = POleStr;
|
|
PBStr = ^TBStr;
|
|
TOleEnum = type LongWord;
|
|
{$else ver1_0}
|
|
POleStr = PWideChar;
|
|
{$endif ver1_0}
|
|
|
|
{Glue types, should be linked to the proper windows unit types}
|
|
TYPE
|
|
Size_t = DWord; {??, probably, like Unix, typecastable to pointer?!?}
|
|
OleChar = WChar;
|
|
LPOLESTR = ^OLECHAR;
|
|
|
|
// bit flags for IExternalConnection
|
|
CONST
|
|
EXTCONN_STRONG = $0001; // strong connection
|
|
EXTCONN_WEAK = $0002; // weak connection (table, container)
|
|
EXTCONN_CALLABLE = $0004; // table .vs. callable
|
|
{Bind Flags}
|
|
BIND_MAYBOTHERUSER = 1;
|
|
BIND_JUSTTESTEXISTENCE = 2;
|
|
|
|
|
|
MKSYS_NONE = 0;
|
|
MKSYS_GENERICCOMPOSITE = 1;
|
|
MKSYS_FILEMONIKER = 2;
|
|
MKSYS_ANTIMONIKER = 3;
|
|
MKSYS_ITEMMONIKER = 4;
|
|
MKSYS_POINTERMONIKER = 5;
|
|
// MKSYS_URLMONIKER = 6;
|
|
MKSYS_CLASSMONIKER = 7;
|
|
MKSYS_OBJREFMONIKER = 8;
|
|
MKSYS_SESSIONMONIKER = 9;
|
|
|
|
// system moniker types; returned from IsSystemMoniker.
|
|
|
|
MKRREDUCE_ONE = 3 SHL 16;
|
|
MKRREDUCE_TOUSER = 2 SHL 16;
|
|
MKRREDUCE_THROUGHUSER = 1 SHL 16;
|
|
MKRREDUCE_ALL = 0;
|
|
|
|
// Storage element types
|
|
STGTY_STORAGE = 1;
|
|
STGTY_STREAM = 2;
|
|
STGTY_LOCKBYTES = 3;
|
|
STGTY_PROPERTY = 4;
|
|
|
|
STREAM_SEEK_SET = 0;
|
|
STREAM_SEEK_CUR = 1;
|
|
STREAM_SEEK_END = 2;
|
|
|
|
LOCK_WRITE = 1;
|
|
LOCK_EXCLUSIVE = 2;
|
|
LOCK_ONLYONCE = 4;
|
|
|
|
//Advise Flags
|
|
ADVF_NODATA = 1;
|
|
ADVF_PRIMEFIRST = 2;
|
|
ADVF_ONLYONCE = 4;
|
|
ADVF_DATAONSTOP = 64;
|
|
ADVFCACHE_NOHANDLER = 8;
|
|
ADVFCACHE_FORCEBUILTIN = 16;
|
|
ADVFCACHE_ONSAVE = 32;
|
|
|
|
|
|
//****************************************************************************
|
|
//* Notification Interfaces
|
|
//****************************************************************************/
|
|
|
|
TYMED_HGLOBAL = 1;
|
|
TYMED_FILE = 2;
|
|
TYMED_ISTREAM = 4;
|
|
TYMED_ISTORAGE = 8;
|
|
TYMED_GDI = 16;
|
|
TYMED_MFPICT = 32;
|
|
TYMED_ENHMF = 64;
|
|
TYMED_NULL = 0;
|
|
|
|
// Object Definitions for EnumObjects()
|
|
OBJ_PEN = 1;
|
|
OBJ_BRUSH = 2;
|
|
OBJ_DC = 3;
|
|
OBJ_METADC = 4;
|
|
OBJ_PAL = 5;
|
|
OBJ_FONT = 6;
|
|
OBJ_BITMAP = 7;
|
|
OBJ_REGION = 8;
|
|
OBJ_METAFILE = 9;
|
|
OBJ_MEMDC = 10;
|
|
OBJ_EXTPEN = 11;
|
|
OBJ_ENHMETADC = 12;
|
|
OBJ_ENHMETAFILE = 13;
|
|
DATADIR_GET = 1;
|
|
DATADIR_SET = 2;
|
|
|
|
// call type used by IMessageFilter::HandleIncomingMessage
|
|
|
|
CALLTYPE_TOPLEVEL = 1; // toplevel call - no outgoing call
|
|
CALLTYPE_NESTED = 2; // callback on behalf of previous outgoing call - should always handle
|
|
CALLTYPE_ASYNC = 3; // aysnchronous call - can NOT be rejected
|
|
CALLTYPE_TOPLEVEL_CALLPENDING = 4; // new toplevel call with new LID
|
|
CALLTYPE_ASYNC_CALLPENDING = 5; // async call - can NOT be rejected
|
|
|
|
// status of server call - returned by IMessageFilter::HandleIncomingCall
|
|
// and passed to IMessageFilter::RetryRejectedCall
|
|
|
|
SERVERCALL_ISHANDLED = 0;
|
|
SERVERCALL_REJECTED = 1;
|
|
SERVERCALL_RETRYLATER = 2;
|
|
|
|
// Pending type indicates the level of nesting
|
|
|
|
PENDINGTYPE_TOPLEVEL = 1; // toplevel call
|
|
PENDINGTYPE_NESTED = 2; // nested call
|
|
|
|
// return values of MessagePending
|
|
|
|
PENDINGMSG_CANCELCALL = 0; // cancel the outgoing call
|
|
PENDINGMSG_WAITNOPROCESS = 1; // wait for the return and don't dispatch the message
|
|
PENDINGMSG_WAITDEFPROCESS = 2; // wait and dispatch the message
|
|
|
|
EOAC_NONE = $0;
|
|
EOAC_MUTUAL_AUTH = $1;
|
|
EOAC_STATIC_CLOAKING = $20;
|
|
EOAC_DYNAMIC_CLOAKING = $40;
|
|
EOAC_ANY_AUTHORITY = $80;
|
|
EOAC_MAKE_FULLSIC = $100;
|
|
EOAC_DEFAULT = $800;
|
|
|
|
// These are only valid for CoInitializeSecurity
|
|
EOAC_SECURE_REFS = $2;
|
|
EOAC_ACCESS_CONTROL = $4;
|
|
EOAC_APPID = $8;
|
|
EOAC_DYNAMIC = $10;
|
|
EOAC_REQUIRE_FULLSIC = $200;
|
|
EOAC_AUTO_IMPERSONATE = $400;
|
|
EOAC_NO_CUSTOM_MARSHAL = $2000;
|
|
EOAC_DISABLE_AAA = $1000;
|
|
|
|
//****************************************************************************
|
|
//* ICOMThreadingInfo and enums
|
|
//****************************************************************************/
|
|
|
|
APTTYPE_CURRENT = -1;
|
|
APTTYPE_STA = 0;
|
|
APTTYPE_MTA = 1;
|
|
APTTYPE_NA = 2;
|
|
APTTYPE_MAINSTA = 3;
|
|
|
|
THDTYPE_BLOCKMESSAGES = 0;
|
|
THDTYPE_PROCESSMESSAGES = 1;
|
|
|
|
DCOM_NONE = $0;
|
|
DCOM_CALL_COMPLETE = $1;
|
|
DCOM_CALL_CANCELED = $2;
|
|
|
|
COMBND_RPCTIMEOUT = $1; // Rpc transport-specific timeout.
|
|
|
|
//************************* Misc Enums wtypes.h ***********************************/
|
|
|
|
// Common typdefs used in API paramaters, gleamed from compobj.h
|
|
|
|
// memory context values; passed to CoGetMalloc
|
|
|
|
Const
|
|
MEMCTX_TASK = 1; // task (private) memory
|
|
MEMCTX_SHARED = 2; // shared memory (between processes)
|
|
MEMCTX_MACSYSTEM = 3; // on the mac, the system heap
|
|
// these are mostly for internal use...
|
|
MEMCTX_UNKNOWN = -1; // unknown context (when asked about it)
|
|
MEMCTX_SAME = -2; // same context (as some other pointer)
|
|
|
|
|
|
// For IRunningObjectTable::Register
|
|
ROTFLAGS_REGISTRATIONKEEPSALIVE = $1;
|
|
ROTFLAGS_ALLOWANYCLIENT = $2;
|
|
|
|
// Maximum size of comparison buffer for IROTData::GetComparisonData
|
|
ROT_COMPARE_MAX = 2048;
|
|
|
|
|
|
// class context: used to determine what scope and kind of class object to use
|
|
// NOTE: this is a bitwise enum
|
|
|
|
CLSCTX_INPROC_SERVER = $0001; // server dll (runs in same process as caller)
|
|
CLSCTX_INPROC_HANDLER = $0002; // handler dll (runs in same process as caller)
|
|
CLSCTX_LOCAL_SERVER = $0004; // server exe (runs on same machine; diff proc)
|
|
CLSCTX_INPROC_SERVER16 = $0008; // 16-bit server dll (runs in same process as caller)
|
|
CLSCTX_REMOTE_SERVER = $0010; // remote server exe (runs on different machine)
|
|
CLSCTX_INPROC_HANDLER16 = $0020; // 16-bit handler dll (runs in same process as caller)
|
|
CLSCTX_INPROC_SERVERX86 = $0040; // Wx86 server dll (runs in same process as caller)
|
|
CLSCTX_INPROC_HANDLERX86 = $0080; // Wx86 handler dll (runs in same process as caller)
|
|
CLSCTX_ESERVER_HANDLER = $0100; // handler dll (runs in the server process)
|
|
CLSCTX_RESERVED =$0200; // reserved
|
|
CLSCTX_NO_CODE_DOWNLOAD = $0400; // disallow code download from the Directory Service (if any) or the internet -rahulth
|
|
CLSCTX_NO_WX86_TRANSLATION = $0800;
|
|
CLSCTX_NO_CUSTOM_MARSHAL = $1000;
|
|
CLSCTX_ENABLE_CODE_DOWNLOAD = $2000; // allow code download from the Directory Service (if any) or the internet
|
|
CLSCTX_NO_FAILURE_LOG = $04000; // do not log messages about activation failure (should one occur) to Event Log
|
|
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
|
|
MSHLFLAGS_NORMAL = 0; // normal marshaling via proxy/stub
|
|
MSHLFLAGS_TABLESTRONG = 1; // keep object alive; must explicitly release
|
|
MSHLFLAGS_TABLEWEAK = 2; // doesn't hold object alive; still must release
|
|
MSHLFLAGS_NOPING = 4; // remote clients dont 'ping' to keep objects alive
|
|
MSHLFLAGS_RESERVED1 = 8; // reserved
|
|
MSHLFLAGS_RESERVED2 = 16; // reserved
|
|
MSHLFLAGS_RESERVED3 = 32; // reserved
|
|
MSHLFLAGS_RESERVED4 = 64; // reserved
|
|
|
|
// marshal context: determines the destination context of the marshal operation
|
|
|
|
MSHCTX_LOCAL = 0; // unmarshal context is local (eg.shared memory)
|
|
MSHCTX_NOSHAREDMEM = 1; // unmarshal context has no shared memory access
|
|
MSHCTX_DIFFERENTMACHINE = 2; // unmarshal context is on a different machine
|
|
MSHCTX_INPROC = 3; // unmarshal context is on different thread
|
|
MSHCTX_CROSSCTX = 4; // unmarshal context is on different context
|
|
|
|
|
|
|
|
// #########################################################################
|
|
//
|
|
// VARTYPE
|
|
//
|
|
// #########################################################################
|
|
|
|
|
|
{
|
|
VARENUM usage key,
|
|
|
|
* [V] - may appear in a VARIANT
|
|
* [T] - may appear in a TYPEDESC
|
|
* [P] - may appear in an OLE property set
|
|
* [S] - may appear in a Safe Array
|
|
|
|
|
|
VT_EMPTY [V] [P] nothing
|
|
VT_NULL [V] [P] SQL style Null
|
|
VT_I2 [V][T][P][S] 2 byte signed int
|
|
VT_I4 [V][T][P][S] 4 byte signed int
|
|
VT_R4 [V][T][P][S] 4 byte real
|
|
VT_R8 [V][T][P][S] 8 byte real
|
|
VT_CY [V][T][P][S] currency
|
|
VT_DATE [V][T][P][S] date
|
|
VT_BSTR [V][T][P][S] OLE Automation string
|
|
VT_DISPATCH [V][T] [S] IDispatch *
|
|
VT_ERROR [V][T][P][S] SCODE
|
|
VT_BOOL [V][T][P][S] True=-1, False=0
|
|
VT_VARIANT [V][T][P][S] VARIANT *
|
|
VT_UNKNOWN [V][T] [S] IUnknown *
|
|
VT_DECIMAL [V][T] [S] 16 byte fixed point
|
|
VT_RECORD [V] [P][S] user defined type
|
|
VT_I1 [V][T][P][s] signed char
|
|
VT_UI1 [V][T][P][S] unsigned char
|
|
VT_UI2 [V][T][P][S] unsigned short
|
|
VT_UI4 [V][T][P][S] unsigned long
|
|
VT_I8 [T][P] signed 64-bit int
|
|
VT_UI8 [T][P] unsigned 64-bit int
|
|
VT_INT [V][T][P][S] signed machine int
|
|
VT_UINT [V][T] [S] unsigned machine int
|
|
VT_INT_PTR [T] signed machine register size width
|
|
VT_UINT_PTR [T] unsigned machine register size width
|
|
VT_VOID [T] C style void
|
|
VT_HRESULT [T] Standard return type
|
|
VT_PTR [T] pointer type
|
|
VT_SAFEARRAY [T] (use VT_ARRAY in VARIANT)
|
|
VT_CARRAY [T] C style array
|
|
VT_USERDEFINED [T] user defined type
|
|
VT_LPSTR [T][P] null terminated string
|
|
VT_LPWSTR [T][P] wide null terminated string
|
|
VT_FILETIME [P] FILETIME
|
|
VT_BLOB [P] Length prefixed bytes
|
|
VT_STREAM [P] Name of the stream follows
|
|
VT_STORAGE [P] Name of the storage follows
|
|
VT_STREAMED_OBJECT [P] Stream contains an object
|
|
VT_STORED_OBJECT [P] Storage contains an object
|
|
VT_VERSIONED_STREAM [P] Stream with a GUID version
|
|
VT_BLOB_OBJECT [P] Blob contains an object
|
|
VT_CF [P] Clipboard format
|
|
VT_CLSID [P] A Class ID
|
|
VT_VECTOR [P] simple counted array
|
|
VT_ARRAY [V] SAFEARRAY*
|
|
VT_BYREF [V] void* for local use
|
|
VT_BSTR_BLOB Reserved for system use
|
|
}
|
|
|
|
// VARENUM's
|
|
|
|
VT_EMPTY = 0;
|
|
VT_NULL = 1;
|
|
VT_I2 = 2;
|
|
VT_I4 = 3;
|
|
VT_R4 = 4;
|
|
VT_R8 = 5;
|
|
VT_CY = 6;
|
|
VT_DATE = 7;
|
|
VT_BSTR = 8;
|
|
VT_DISPATCH = 9;
|
|
VT_ERROR = 10;
|
|
VT_BOOL = 11;
|
|
VT_VARIANT = 12;
|
|
VT_UNKNOWN = 13;
|
|
VT_DECIMAL = 14;
|
|
// VBA reserves 15 for future use
|
|
VT_I1 = 16;
|
|
VT_UI1 = 17;
|
|
VT_UI2 = 18;
|
|
VT_UI4 = 19;
|
|
VT_I8 = 20;
|
|
VT_UI8 = 21;
|
|
VT_INT = 22;
|
|
VT_UINT = 23;
|
|
VT_VOID = 24;
|
|
VT_HRESULT = 25;
|
|
VT_PTR = 26;
|
|
VT_SAFEARRAY = 27;
|
|
VT_CARRAY = 28;
|
|
VT_USERDEFINED = 29;
|
|
VT_LPSTR = 30;
|
|
VT_LPWSTR = 31;
|
|
// VBA reserves 32-35 for future use
|
|
VT_RECORD = 36;
|
|
VT_INT_PTR = 37;
|
|
VT_UINT_PTR = 38;
|
|
|
|
VT_FILETIME = 64;
|
|
VT_BLOB = 65;
|
|
VT_STREAM = 66;
|
|
VT_STORAGE = 67;
|
|
VT_STREAMED_OBJECT = 68;
|
|
VT_STORED_OBJECT = 69;
|
|
VT_BLOB_OBJECT = 70;
|
|
VT_CF = 71;
|
|
VT_CLSID = 72;
|
|
VT_VERSIONED_STREAM = 73;
|
|
|
|
VT_BSTR_BLOB = $0fff;
|
|
|
|
VT_VECTOR = $1000;
|
|
VT_ARRAY = $2000;
|
|
VT_BYREF = $4000;
|
|
VT_RESERVED = $8000;
|
|
|
|
VT_ILLEGAL = $ffff;
|
|
VT_ILLEGALMASKED = $0fff;
|
|
VT_TYPEMASK = $0fff;
|
|
|
|
|
|
|
|
//
|
|
// Common typedefs for paramaters used in data view API's, gleamed
|
|
// from dvobj.h
|
|
//
|
|
|
|
// Data/View aspect; specifies the desired aspect of the object when
|
|
// drawing or getting data.
|
|
|
|
DVASPECT_CONTENT = 1;
|
|
DVASPECT_THUMBNAIL = 2;
|
|
DVASPECT_ICON = 4;
|
|
DVASPECT_DOCPRINT = 8;
|
|
|
|
//****** Storage types *************************************************
|
|
|
|
|
|
// Storage commit types
|
|
|
|
STGC_DEFAULT = 0;
|
|
STGC_OVERWRITE = 1;
|
|
STGC_ONLYIFCURRENT = 2;
|
|
STGC_DANGEROUSLYCOMMITMERELYTODISKCACHE = 4;
|
|
STGC_CONSOLIDATE = 8;
|
|
|
|
STGMOVE_MOVE = 0;
|
|
STGMOVE_COPY = 1;
|
|
STGMOVE_SHALLOWCOPY = 2;
|
|
|
|
STATFLAG_DEFAULT = 0;
|
|
STATFLAG_NONAME = 1;
|
|
STATFLAG_NOOPEN = 2;
|
|
|
|
// #########################################################################
|
|
//
|
|
// Constants for the call context
|
|
//
|
|
|
|
WDT_INPROC_CALL = ULONG($48746457);
|
|
WDT_REMOTE_CALL = ULONG($52746457);
|
|
WDT_INPROC64_CALL = ULONG($50746457);
|
|
|
|
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;
|
|
|
|
//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
|
|
User : PUSHORT;
|
|
UserLength : ULONG;
|
|
Domain : PUSHORT;
|
|
DomainLength : ULong;
|
|
Password : PUSHORT;
|
|
PassWordLength : ULong;
|
|
Flags : ULong;
|
|
End;
|
|
|
|
COAUTHIDENTITY = _COAUTHIDENTITY;
|
|
TCOAUTHIDENTITY = _COAUTHIDENTITY;
|
|
|
|
PCOAUTHINFO = ^TCOAUTHINFO;
|
|
COAuthInfo = Record
|
|
AuthnSvc : DWord;
|
|
AuthzSvc : DWord;
|
|
ServerPrincName : LPWSTR;
|
|
AuthnLevel : DWord;
|
|
ImpersonationLevel : DWord;
|
|
AuthIdentityData : PCOAUTHIDENTITY;
|
|
Capabilities : DWord;
|
|
END;
|
|
TCOAUTHINFO = COAUTHINFO;
|
|
|
|
PCOSERVERINFO = ^TCOSERVERINFO;
|
|
_COSERVERINFO = Record
|
|
dwReserved1 : DWord;
|
|
pwszName : LPWSTR;
|
|
pAuthInfo : PCoAuthInfo;
|
|
dwReserved2 : DWord;
|
|
end;
|
|
TCOSERVERINFO = _COSERVERINFO;
|
|
PMultiQI = ^Multi_QI;
|
|
tagMULTI_QI = Record
|
|
iid: piid; // pass this one in
|
|
itf: pointer {IUnknown}; // get these out (you must set to NULL before calling)
|
|
hr : Hresult;
|
|
END;
|
|
MULTI_QI = TagMULTI_QI;
|
|
PMulti_QI = PMultiQI;
|
|
|
|
|
|
HContext = Pointer;
|
|
ApartmentID = DWord;
|
|
|
|
|
|
//****** Critical Section Wrappers ***********************************
|
|
|
|
// LCID = WORD;
|
|
// LANGID = USHORT;
|
|
|
|
// #######################################################################
|
|
//
|
|
// User marshal support for Windows data types.
|
|
|
|
//
|
|
// Frequently used helpers: sized blobs
|
|
//
|
|
// Never put [user_marshal] or [wire_marshal] on the helpers directly.
|
|
//
|
|
|
|
// Flagged blobs.
|
|
|
|
_FLAGGED_BYTE_BLOB = Record
|
|
fFlags : ULong;
|
|
clSize : ULong;
|
|
abdata : array[0..0] of byte;
|
|
End;
|
|
FLAGGED_BYTE_BLOB = _FLAGGED_BYTE_BLOB;
|
|
UP_FLAGGED_BYTE_BLOB = ^FLAGGED_BYTE_BLOB;
|
|
|
|
_FLAGGED_WORD_BLOB = Record
|
|
fFlags : ULong;
|
|
clSize : ULong;
|
|
abdata : array[0..0] of USHORT;
|
|
End;
|
|
FLAGGED_WORD_BLOB = _FLAGGED_WORD_BLOB;
|
|
UP_FLAGGED_WORD_BLOB = ^FLAGGED_WORD_BLOB;
|
|
|
|
_FLAGGED_DWORD_BLOB = Record
|
|
fFlags : ULong;
|
|
clSize : ULong;
|
|
abdata : array[0..0] of ULONG;
|
|
End;
|
|
FLAGGED_DWORD_BLOB = _FLAGGED_DWORD_BLOB;
|
|
FLAGGED_UP_DWORD_BLOB = ^FLAGGED_DWORD_BLOB;
|
|
|
|
// Simple blobs.
|
|
|
|
_BYTE_BLOB = Record
|
|
clSize : ULong;
|
|
abdata : array[0..0] of byte;
|
|
End;
|
|
BYTE_BLOB = _BYTE_BLOB;
|
|
UP_BYTE_BLOB = ^BYTE_BLOB;
|
|
|
|
_WORD_BLOB = Record
|
|
clSize : ULong;
|
|
abdata : array[0..0] of USHORT;
|
|
End;
|
|
WORD_BLOB = _WORD_BLOB;
|
|
UP_WORD_BLOB = ^WORD_BLOB;
|
|
|
|
_DWORD_BLOB = Record
|
|
clSize : ULong;
|
|
abdata : array[0..0] of ULONG;
|
|
End;
|
|
DWORD_BLOB = _DWORD_BLOB;
|
|
UP_DWORD_BLOB = ^DWORD_BLOB;
|
|
|
|
// Frequently used helpers with sized pointers.
|
|
|
|
_BYTE_SIZEDARR = Record
|
|
clsize : ULong;
|
|
Data : PByte;
|
|
End;
|
|
BYTE_SIZEDARR = _BYTE_SIZEDARR;
|
|
|
|
_SHORT_SIZEDARR = Record
|
|
clsize : ULong;
|
|
Data : PSHORT;
|
|
End;
|
|
SHORT_SIZEDARR = _SHORT_SIZEDARR;
|
|
|
|
_LONG_SIZEDARR = Record
|
|
clsize : ULong;
|
|
Data : PLONG;
|
|
End;
|
|
LONG_SIZEDARR = _LONG_SIZEDARR;
|
|
HYPER = LONGLONG;
|
|
PHYPER = ^HYPER;
|
|
_HYPER_SIZEDARR = Record
|
|
clsize : ULong;
|
|
Data : PHYPER;
|
|
End;
|
|
HYPER_SIZEDARR = _HYPER_SIZEDARR;
|
|
|
|
|
|
// #########################################################################
|
|
//
|
|
// CLIPFORMAT
|
|
//
|
|
|
|
userCLIPFORMAT = Record
|
|
FContext : Long;
|
|
CASE INTEGER OF
|
|
0 : (dwvalue : DWORD);
|
|
1 : (szName : poleStr);
|
|
End;
|
|
|
|
wireCLIPFORMAT = ^userCLIPFORMAT;
|
|
|
|
|
|
// #########################################################################
|
|
//
|
|
// Good for most of the gdi handles.
|
|
|
|
_GDI_NONREMOTE = Record
|
|
FContext : Long;
|
|
Case Integer Of
|
|
0 : (HInProc : Long);
|
|
1 : (HRemote : DWORD_BLOB);
|
|
END;
|
|
GDI_NONREMOTE = _GDI_NONREMOTE;
|
|
|
|
// #########################################################################
|
|
//
|
|
// HGLOBAL
|
|
//
|
|
// A global may be Null or may be non-NULL with 0 length.
|
|
|
|
_userHGLOBAL = Record
|
|
FContext : Long;
|
|
CASE Integer OF
|
|
0 : (hInproc : Long);
|
|
1 : (hRemote : UP_FLAGGED_BYTE_BLOB);
|
|
2 : (hInproc64: int64);
|
|
End;
|
|
userHGlobal = _userHGLOBAL;
|
|
wireHGLOBAL = ^userHGLOBAL;
|
|
|
|
// #########################################################################
|
|
//
|
|
// HMETAFILE
|
|
//
|
|
_userHMETAFILE = Record
|
|
fContext : Long;
|
|
Case Integer OF
|
|
0 : (hInproc : Long);
|
|
1 : (hRemote : up_byte_blob);
|
|
2 : (hInProc64 : Int64);
|
|
End;
|
|
userHMETAFILE = _userHMETAFILE;
|
|
puserHMETAFILE = ^userHMETAFILE;
|
|
|
|
// #########################################################################
|
|
//
|
|
// HMETAFILEPICT
|
|
//
|
|
|
|
_remoteMETAFILEPICT = Record
|
|
mm : Long;
|
|
xExt : Long;
|
|
yExt : Long;
|
|
mgf : puserHMETAFILE;
|
|
End;
|
|
|
|
remoteMETAFILEPICT = _remoteMETAFILEPICT;
|
|
premoteMETAFILEPICT = ^remoteMETAFILEPICT;
|
|
|
|
_userHMETAFILEPICT = Record
|
|
fContext : Long;
|
|
Case Integer OF
|
|
0 : (hInproc : Long);
|
|
1 : (hRemote : premoteMETAFILEPICT);
|
|
2 : (hInProc64 : Int64);
|
|
End;
|
|
userHMETAFILEPICT = _userHMETAFILEPICT;
|
|
|
|
|
|
// #########################################################################
|
|
//
|
|
// HENHMETAFILE
|
|
//
|
|
|
|
_userHENHMETAFILE = Record
|
|
fContext : Long;
|
|
Case Integer OF
|
|
0 : (hInproc : Long);
|
|
1 : (hRemote : up_byte_blob);
|
|
2 : (hInProc64 : Int64);
|
|
End;
|
|
userHENHMETAFILE = _userHENHMETAFILE;
|
|
puserHENHMETAFILE = ^userHENHMETAFILE;
|
|
|
|
// #########################################################################
|
|
//
|
|
// HBITMAP
|
|
//
|
|
|
|
// RemHBITMAP was just a byte blob, but the whole bitmap structure was copied
|
|
// at the beginning of the buffer.
|
|
|
|
// So, we take BITMAP fields from wingdi.x
|
|
|
|
|
|
_userBITMAP = Record
|
|
bmType,
|
|
bmWidth,
|
|
bmHeight,
|
|
bmWidthBytes : Long;
|
|
bmPlanes,
|
|
bmBitsPixel : Word;
|
|
cvsize : ULONG;
|
|
buffer : pbyte;
|
|
End;
|
|
|
|
userBITMAP = _userBITMAP;
|
|
puserBITMAP = ^userBITMAP;
|
|
|
|
_userHBITMAP = Record
|
|
fContext : Long;
|
|
Case Integer OF
|
|
0 : (hInproc : Long);
|
|
1 : (hRemote : puserBITMAP);
|
|
2 : (hInProc64 : Int64);
|
|
End;
|
|
userHBITMAP = _userHBITMAP;
|
|
puserHBITMAP = ^userHBITMAP;
|
|
|
|
|
|
// #########################################################################
|
|
//
|
|
// HPALETTE
|
|
//
|
|
|
|
// PALETTEENTRY is in wingdi.x, it is a struct with 4 bytes.
|
|
// LOGPALETTE is in wingdi.x, it is a conf struct with paletteentries and
|
|
// a version field
|
|
|
|
_userHpalette = Record
|
|
fContext : Long;
|
|
Case Integer OF
|
|
0 : (hInproc : Long);
|
|
1 : (hRemote : logpalette);
|
|
2 : (hInProc64 : Int64);
|
|
End;
|
|
userHpalette = _userHpalette;
|
|
puserHpalette = ^userHpalette;
|
|
|
|
// #########################################################################
|
|
//
|
|
// Handles passed locally as longs.
|
|
//
|
|
|
|
_RemotableHandle = Record
|
|
fContext : Long;
|
|
Case Integer OF
|
|
0 : (hInproc : Long);
|
|
1 : (hRemote : Long);
|
|
End;
|
|
RemotableHandle = _RemotableHandle;
|
|
|
|
|
|
wireHWND = ^RemotableHandle;
|
|
wireHMENU = ^RemotableHandle;
|
|
wireHACCEL = ^RemotableHandle;
|
|
wireHBRUSH = ^RemotableHandle;
|
|
wireHFONT = ^RemotableHandle;
|
|
wireHDC = ^RemotableHandle;
|
|
wireHICON = ^RemotableHandle;
|
|
HCursor = HICON;
|
|
|
|
|
|
tagTEXTMETRICW = Record
|
|
tmHeight,
|
|
tmAscent,
|
|
tmDescent,
|
|
tmInternalLeading,
|
|
tmExternalLeading,
|
|
tmAveCharWidth,
|
|
tmMaxCharWidth,
|
|
tmWeight,
|
|
tmOverhang,
|
|
tmDigitizedAspectX,
|
|
tmDigitizedAspectY : Long;
|
|
tmFirstChar,
|
|
tmLastChar,
|
|
tmDefaultChar,
|
|
tmBreakChar : WCHAR;
|
|
tmItalic,
|
|
tmUnderlined,
|
|
tmStruckOut,
|
|
tmPitchAndFamily,
|
|
tmCharSet : BYTE;
|
|
End;
|
|
|
|
TEXTMETRICW = tagTEXTMETRICW;
|
|
PTEXTMETRICW = ^TEXTMETRICW;
|
|
LPTEXTMETRICW = PTEXTMETRICW;
|
|
wireHBITMAP = ^userHBITMAP;
|
|
wireHPALETTE = ^userHPALETTE;
|
|
wireHENHMETAFILE = ^userHENHMETAFILE;
|
|
wireHMETAFILE = ^userHMETAFILE;
|
|
wireHMETAFILEPICT = ^userHMETAFILEPICT;
|
|
HMetaFilePict = Pointer;
|
|
HLOCAL = HGLOBAL;
|
|
// Date = Double;
|
|
|
|
{****************************************************************************
|
|
* Binding Interfaces
|
|
****************************************************************************}
|
|
|
|
tagBIND_OPTS = Record
|
|
cvStruct, // sizeof(BIND_OPTS)
|
|
grfFlags,
|
|
grfMode,
|
|
dwTickCountDeadline : DWord;
|
|
End;
|
|
TBind_Opts = tagBIND_OPTS;
|
|
PBind_Opts = ^TBind_Opts;
|
|
|
|
tagBIND_OPTS2_CPP = Record
|
|
dwTrackFlags,
|
|
dwClassContext : Dword;
|
|
Locale : LCID;
|
|
ServerInfo : pCoServerInfo;
|
|
End;
|
|
|
|
TBind_Opts2_CPP = tagBIND_OPTS2_CPP;
|
|
PBind_Opts2_CPP = ^TBind_Opts2_CPP;
|
|
|
|
|
|
tagBind_OPTS2 = Record
|
|
cvStruct, // sizeof(BIND_OPTS)
|
|
grfFlags,
|
|
grfMode,
|
|
dwTickCountDeadline : DWord;
|
|
dwTrackFlags,
|
|
dwClassContext : DWord;
|
|
Locale : LCID;
|
|
ServerInfo : pCoServerInfo;
|
|
End;
|
|
|
|
TBind_Opts2 = tagBIND_OPTS2;
|
|
PBind_Opts2 = ^TBind_Opts2;
|
|
|
|
// ****************************************************************************
|
|
// * Structured Storage Interfaces
|
|
// ****************************************************************************
|
|
|
|
|
|
|
|
tagSTATSTG = record
|
|
pwcsName : POleStr;
|
|
dwType : DWord;
|
|
cbSize : ULarge_integer;
|
|
mtime : TFileTime;
|
|
ctime : TFileTime;
|
|
atime : TFileTime;
|
|
grfMode : DWord;
|
|
grfLocksSupported : DWord;
|
|
clsid : TCLSID;
|
|
grfStateBits : DWord;
|
|
reserved : DWord;
|
|
end;
|
|
|
|
TStatStg = tagSTATSTG;
|
|
PStatStg = ^TStatStg;
|
|
STATSTG = TStatStg;
|
|
|
|
{ TagRemSNB = Record
|
|
ulCntStr : ULong;
|
|
ulCntChar : ULong;
|
|
[size_is(ulCntChar)] OLECHAR rgString[];
|
|
End;
|
|
RemSNB=TagRemSNB
|
|
WireSNB=^RemSNB}
|
|
SNB = ^PoleStr;
|
|
tagDVTARGETDEVICE = Record
|
|
tdSize : DWord;
|
|
tdDriverNameOffset,
|
|
tdDeviceNameOffset,
|
|
tdPortNameOffset,
|
|
tdExtDevmodeOffset : Word;
|
|
Data : Record End;
|
|
End;
|
|
|
|
DVTARGETDEVICE = TagDVTARGETDEVICE;
|
|
PDVTARGETDEVICE = ^tagDVTARGETDEVICE;
|
|
LPCLIPFORMAT = ^TCLIPFORMAT;
|
|
TCLIPFORMAT = Word;
|
|
CLIPFORMAT = TCLIPFORMAT;
|
|
|
|
tagFORMATETC = Record
|
|
CfFormat : Word {TCLIPFORMAT};
|
|
Ptd : PDVTARGETDEVICE;
|
|
dwAspect : DWORD;
|
|
lindex : Long;
|
|
tymed : DWORD;
|
|
End;
|
|
FORMATETC = TagFORMATETC;
|
|
TFORMATETC = FORMATETC;
|
|
LPFORMATETC = ^FORMATETC;
|
|
|
|
// Stats for data; used by several enumerations and by at least one
|
|
// implementation of IDataAdviseHolder; if a field is not used, it
|
|
// will be NULL.
|
|
|
|
|
|
tagRemSTGMEDIUM = Record
|
|
tymed : DWord;
|
|
dwHandleType : DWord;
|
|
pData,
|
|
pUnkForRelease,
|
|
cbData : ULong;
|
|
Data : Record end;
|
|
End;
|
|
|
|
RemSTGMEDIUM = TagRemSTGMedium;
|
|
|
|
TagSTGMEDIUM = Record
|
|
Tymed : DWord;
|
|
Case Integer Of
|
|
0 : (HBITMAP : hBitmap; PUnkForRelease : Pointer {IUnknown});
|
|
1 : (HMETAFILEPICT : hMetaFilePict );
|
|
2 : (HENHMETAFILE : hEnhMetaFile );
|
|
3 : (HGLOBAL : hGlobal );
|
|
4 : (lpszFileName : LPOLESTR );
|
|
5 : (pstm : Pointer{IStream} );
|
|
6 : (pstg : Pointer{IStorage} );
|
|
End;
|
|
USTGMEDIUM = TagSTGMEDIUM;
|
|
STGMEDIUM = USTGMEDIUM;
|
|
|
|
//
|
|
// wireSTGMEDIUM
|
|
//
|
|
// These flags are #defined (not enumerated) in wingdi.
|
|
// We need to repeat #defines to avoid conflict in the generated file.
|
|
//
|
|
|
|
_GDI_OBJECT = Record
|
|
ObjectType : DWord;
|
|
Case Integer Of
|
|
0 : (HBitmap : WireHBITMAP);
|
|
1 : (hPalette: wireHPALETTE);
|
|
2 : (hGeneric: wireHGLOBAL);
|
|
END;
|
|
GDI_OBJECT = _GDI_OBJECT;
|
|
|
|
|
|
_userSTGMEDIUM = Record
|
|
tymed : DWORD;
|
|
Case Integer OF
|
|
0 : (hMetaFilePict : wireHMETAFILEPICT;punkforrelease:Pointer {IUnknown});
|
|
1 : (hHEnhMetaFile : wireHENHMETAFILE);
|
|
2 : (hGdiHandle : ^GDI_OBJECT);
|
|
3 : (HGlobal : wireHGLOBAL);
|
|
4 : (lpszFileName : LPOLESTR);
|
|
5 : (pstm : ^BYTE_BLOB);
|
|
6 : (pstg : ^BYTE_BLOB);
|
|
END;
|
|
|
|
userSTGMEDIUM = _userSTGMEDIUM;
|
|
|
|
|
|
LPSTGMEDIUM = ^STGMEDIUM;
|
|
|
|
_userFLAG_STGMEDIUM = Record
|
|
ContextFlags,
|
|
fPassOwnership : Long;
|
|
stgmed : userSTGMEDIUM;
|
|
End;
|
|
|
|
userFLAG_STGMEDIUM = _userFLAG_STGMEDIUM;
|
|
|
|
wireFLAG_STGMEDIUM = ^userFLAG_STGMEDIUM;
|
|
|
|
|
|
_FLAG_STGMEDIUM = Record
|
|
ContextFlags,
|
|
fPassOwnership : Long;
|
|
Stgmed : STGMEDIUM;
|
|
End;
|
|
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 : Pointer {IUnknown}; // the pointer to the object
|
|
IID : Tiid; // interface id
|
|
wMethod : WORD; // interface method
|
|
End;
|
|
|
|
INTERFACEINFO = tagINTERFACEINFO;
|
|
LPINTERFACEINFO = ^INTERFACEINFO;
|
|
RPCOLEDATAREP = ULong;
|
|
tagRPCOLEMESSAGE = Record
|
|
Reserved1 : Pointer;
|
|
DataRepresentation : RPCOLEDATAREP;
|
|
Buffer : Pointer;
|
|
cbBuffer,
|
|
IMethod : ULong;
|
|
Reserved2 : Array[0..4] Of Pointer;
|
|
rpcFlags : ULong;
|
|
End;
|
|
|
|
RPCOLEMESSAGE = tagRPCOLEMESSAGE;
|
|
PRPCOLEMESSAGE = ^RPCOLEMESSAGE;
|
|
|
|
tagStorageLayout = Record
|
|
LayoutType : Dword;
|
|
pwcsElementName : POleStr;
|
|
cOffset,
|
|
cBytes : Large_Integer;
|
|
End;
|
|
|
|
StorageLayout = tagStorageLayout;
|
|
|
|
tagSTATDATA = Record
|
|
// field used by:
|
|
FORMATETC : Tformatetc; // EnumAdvise, EnumData (cache), EnumFormats
|
|
advf : DWord; // EnumAdvise, EnumData (cache)
|
|
padvSink : Pointer {IAdviseSink}; // EnumAdvise
|
|
dwConnection: DWord; // EnumAdvise
|
|
End;
|
|
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 HASINTF}
|
|
|
|
// Forward interfaces.
|
|
|
|
IStream = Interface;
|
|
IMoniker = Interface;
|
|
IEnumMoniker = Interface;
|
|
IEnumString = Interface;
|
|
IRunningObjectTable = Interface;
|
|
IStorage = Interface;
|
|
IEnumSTATSTG = Interface;
|
|
IAdviseSink = Interface;
|
|
IBindCtx = Interface;
|
|
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):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;
|
|
pvDestContext:Pointer; Const mshlflags:DWORD;out LCid : TCLSID ):HResult;Stdcall;
|
|
Function GetMarshalSizeMax ( Const Riid: TIID; {in, unique} pv:Pointer; Const dwDestContext : DWord;
|
|
{in, unique} pvDestContext:Pointer; Const mshlflags : DWord; out pSize : PDWord ): HResult;Stdcall;
|
|
Function MarshalInterface ( Const {in, unique} pStm: IStream; Const riid: TIID; {in, unique} pv:Pointer;
|
|
Const dwDestContext:DWord; {in, unique} pvDestContext:Pointer; Const mshlflags:DWord ): HRESULT;Stdcall;
|
|
Function UnmarshalInterface ( {[in, unique]} Const pStm:IStream; Const riid: TIID;
|
|
out ppv ): HResult;Stdcall;
|
|
Function ReleaseMarshalData ( {[in, unique]} Const Strm: IStream ):HResult;Stdcall;
|
|
Function DisconnectObject ( Const dwReserved:DWord ):HRESULT;Stdcall;
|
|
END;
|
|
|
|
|
|
IMarshal2 = Interface(IMarshal)
|
|
['{000001cf-0000-0000-C000-000000000046}']
|
|
End;
|
|
|
|
IMalloc = Interface(IUnknown)
|
|
['{00000002-0000-0000-C000-000000000046}']
|
|
Function Alloc(cb :size_t):Pointer; Stdcall;
|
|
Function Realloc (pv :pointer;cb:size_t):Pointer;stdcall;
|
|
Procedure Free({[in]} pv: pointer); Stdcall;
|
|
Function GetSize(pv:pointer):size_t;stdcall;
|
|
Function DidAlloc(pv:pointer):Longint;stdcall;
|
|
procedure HeapMinimize; stdcall;
|
|
End;
|
|
|
|
IMallocSpy = Interface(IUnknown)
|
|
['{0000001d-0000-0000-C000-000000000046}']
|
|
|
|
Function PreAlloc(cbrequest:Size_t):Longint; StdCall;
|
|
function PostAlloc(Pactual:Pointer):Pointer;StdCall;
|
|
Function PreFree(pRequest:Pointer;fSpyed:bool):pointer;StdCall;
|
|
Procedure PostFree(fspyed:Bool);Stdcall;
|
|
Function PreRealloc(pRequest:Pointer;cbRequest:Size_t;Out ppNewRequest:Pointer;
|
|
fSpyed:Bool):Size_t;Stdcall;
|
|
Function PostRealloc(pactual:Pointer;fspyed:Bool):pointer;Stdcall;
|
|
Function PreGetSize(pRequest:pointer;fSpyed:Bool):Pointer;StdCall;
|
|
Function PostGetSize(cbactual:Size_t;fSpyed:Bool):Size_t;StdCall;
|
|
Function PreDidAlloc(pRequest:pointer;fSpyed:Bool):pointer;stdcall;
|
|
Function PostDidAlloc(pRequest:pointer;fSpyed:Bool;Factual:Longint):pointer;stdcall;
|
|
Procedure PreHeapMinimize;StdCall;
|
|
Procedure PostHeapMinimize;StdCall;
|
|
End;
|
|
|
|
IStdMarshalInfo = Interface(IUnknown)
|
|
['{00000018-0000-0000-C000-000000000046}']
|
|
Function GetClassForHandler (dwDestContext : DWord;pvDestContext:pointer;out Clsid : Pclsid ):HResult;Stdcall;
|
|
End;
|
|
|
|
|
|
IExternalConnection = Interface(IUnknown)
|
|
['{00000019-0000-0000-C000-000000000046}']
|
|
Function AddConnection (ExtConn: DWord; Reserved: DWord):DWord;Stdcall;
|
|
Function ReleaseConnection(extconn: DWord; Reserved: Dword;FLastReleaseCloses: Bool):DWord;StdCall;
|
|
End;
|
|
|
|
|
|
IMultiQI = Interface(IUnknown)
|
|
['{00000020-0000-0000-C000-000000000046}']
|
|
//if (__midl >= 500)
|
|
// async_uuid(000e0020-0000-0000-C000-000000000046)
|
|
//endif
|
|
Function QueryMultipleInterfaces(cMQIs:Ulong;pMQIs:pMultiQI):HResult;StdCall;
|
|
END;
|
|
|
|
IInternalUnknown=Interface(IUnknown)
|
|
['{00000021-0000-0000-C000-000000000046}']
|
|
Function QueryInternalInterface(riid:TIID;Out ppv:Pointer):HResult;StdCall;
|
|
END;
|
|
|
|
|
|
IEnumUnknown = Interface(IUnknown)
|
|
['{00000100-0000-0000-C000-000000000046}']
|
|
// pointer_default(unique)
|
|
Function Next(Celt:Ulong;out rgelt:IUnknown;out pCeltFetched:pulong):HRESULT;StdCall;
|
|
// HRESULT RemoteNext( [in] ULONG celt, [out, size_is(celt), length_is( *pceltFetched)] IUnknown **rgelt, [out] ULONG *pceltFetched);
|
|
Function Skip(Celt:Ulong):HResult;StdCall;
|
|
Function Reset():HResult;
|
|
Function Close(Out ppenum: IEnumUnknown):HResult;
|
|
END;
|
|
|
|
|
|
IBindCtx = Interface (IUnknown)
|
|
['{0000000e-0000-0000-C000-000000000046}']
|
|
Function RegisterObjectBound(Const punk:IUnknown):HResult; stdCall;
|
|
Function RevokeObjectBound (Const Punk:IUnknown):HResult; stdCall;
|
|
Function ReleaseBoundObjects :HResult; StdCall;
|
|
Function SetBindOptions(Const bindOpts:TBind_Opts):HResult; stdCall;
|
|
// Function RemoteSetBindOptions(Const bind_opts: TBind_Opts2):HResult;StdCall;
|
|
Function GetBindOptions(var BindOpts:TBind_Opts):HResult; stdCall;
|
|
// Function RemoteGetBindOptions(Var bind_opts: TBind_Opts2):HResult;StdCall;
|
|
Function GetRunningObjectTable(Out rot : IRunningObjectTable):Hresult; StdCall;
|
|
Function RegisterObjectParam(Const pszkey:LPOleStr;const punk:IUnknown):HResult;
|
|
Function GetObjectParam(Const pszkey:LPOleStr; out punk: IUnknown):HResult; StdCall;
|
|
Function EnumObjectParam (out enum:IEnumString):Hresult;StdCall;
|
|
Function RevokeObjectParam(pszKey:LPOleStr):HResult;StdCall;
|
|
End;
|
|
|
|
|
|
IEnumMoniker = Interface (IUnknown)
|
|
['{00000102-0000-0000-C000-000000000046}']
|
|
Function Next(celt:ULong; out Elt;out celftfetched: ULong):HResult; StdCall;
|
|
// Function RemoteNext(Celt:ULong; Out rgelt;out celtfetched :ULong):Hresult; StdCall;
|
|
Function Skip(celt:Ulong):HResult; StdCall;
|
|
Function Reset:HResult; StdCall;
|
|
Function Close(out penum:IEnumMoniker):HResult;StdCall;
|
|
End;
|
|
|
|
|
|
IRunnableObject = Interface(IUnknown)
|
|
['{00000126-0000-0000-C000-000000000046}']
|
|
Function GetRunningClass(Out clsid:Tclsid):Hresult; StdCall;
|
|
Function Run(Const pb: IBindCtx):HResult; StdCall;
|
|
Function IsRunning:Bool; StdCall;
|
|
// Function RemoteIsRunning:Bool; StdCall;
|
|
Function LockRunning(FLock,FLastUnlockClose:BOOL):HResult; StdCall;
|
|
Function SetContainedObject(fContained:Bool):Hresult;Stdcall;
|
|
End;
|
|
|
|
IRunningObjectTable = Interface (IUnknown)
|
|
['{00000010-0000-0000-C000-000000000046}']
|
|
Function Register (grfFlags :DWord;const unkobject:IUnknown;Const mkObjectName:IMoniker;Out dwregister:DWord):HResult;StdCall;
|
|
Function Revoke (dwRegister:DWord):HResult; StdCall;
|
|
Function IsRunning (Const mkObjectName: IMoniker):HResult;StdCall;
|
|
Function GetObject (Const mkObjectName: IMoniker; Out punkObject:IUnknown):HResult; StdCall;
|
|
Function NoteChangeTime(dwRegister :DWord;Const FileTime: TFileTime):HResult;StdCall;
|
|
Function GetTimeOfLastChange(Const mkObjectName:IMoniker;Out filetime:TFileTime):HResult; StdCall;
|
|
Function EnumRunning (Out enumMoniker: IEnumMoniker):HResult; StdCall;
|
|
End;
|
|
|
|
IPersist = Interface (IUnknown)
|
|
['{0000010c-0000-0000-C000-000000000046}']
|
|
Function GetClassId(clsid:TClsId):HResult; StdCall;
|
|
End;
|
|
|
|
IPersistStream = Interface(IPersist)
|
|
['{00000109-0000-0000-C000-000000000046}']
|
|
Function IsDirty:HResult; StdCall;
|
|
Function Load(Const stm: IStream):HResult; StdCall;
|
|
Function Save(Const stm: IStream;fClearDirty:Bool):HResult;StdCall;
|
|
Function GetSizeMax(Out cbSize:ULarge_Integer):HResult; StdCall;
|
|
End;
|
|
|
|
PIMoniker = ^IMoniker;
|
|
IMoniker = Interface (IPersistStream)
|
|
['{0000000f-0000-0000-C000-000000000046}']
|
|
Function BindToObject (const pbc:IBindCtx;const mktoleft:IMoniker; RiidResult:TIID;Out vresult):HResult;StdCall;
|
|
// Function RemoteBindToObject (const pbc:IBindCtx;const mktoleft:IMoniker;RiidResult:TIID;Out vresult):HResult;StdCall;
|
|
Function BindToStorage(Const Pbc:IBindCtx;Const mktoLeft:IMoniker; Riid:TIID;Out vobj):HResult; StdCall;
|
|
// Function RemoteBindToStorage(Const Pbc:IBindCtx;Const mktoLeft:IMoniker; Riid:TIID;Out vobj):HResult; StdCall;
|
|
Function Reduce (const pbc:IBindCtx; dwReduceHowFar:DWord; mktoLeft: PIMoniker; Out mkReduced:IMoniker):HResult; StdCall;
|
|
Function ComposeWith(Const MkRight:IMoniker;fOnlyIfNotGeneric:BOOL; OUT mkComposite:IMoniker):HResult; StdCall;
|
|
Function Enum(fForward:Bool;Out enumMoniker:IEnumMoniker):HResult;StdCall;
|
|
Function IsEqual(Const mkOtherMoniker:IMoniker):HResult;StdCall;
|
|
Function Hash (Out dwHash:Dword):HResult;StdCall;
|
|
Function IsRunning(Const bc:IBindCtx;Const MkToLeft:IMoniker;Const mknewlyRunning:IMoniker):HResult;StdCall;
|
|
Function GetTimeOfLastChange(Const bc:IBindCtx;Const mkToLeft:IMoniker; out ft : FileTime):HResult; StdCall;
|
|
Function Inverse(out mk : IMoniker):HResult; StdCall;
|
|
Function CommonPrefixWith (Const mkOther:IMoniker):HResult; StdCall;
|
|
Function RelativePathTo(Const mkother:IMoniker; Out mkRelPath : IMoniker):HResult;StdCall;
|
|
Function GetDisplayName(Const bc:IMoniker;const mktoleft:IMoniker;Out szDisplayName: pOleStr):HResult; StdCall;
|
|
Function ParseDisplayName(Const bc:IBindCtx;Const mkToLeft:IMoniker;szDisplayName:POleStr;out cheaten:ULong;out mkOut:IMoniker):HResult; StdCall;
|
|
Function IsSystemMonitor(Out dwMkSys:DWord):HResult;StdCall;
|
|
End;
|
|
|
|
IROTData = Interface (IUnknown)
|
|
['{f29f6bc0-5021-11ce-aa15-00006901293f}']
|
|
Function GetComparisonData(out data; cbMax:ULong;out cbData:ULong):HResult;StdCall;
|
|
End;
|
|
|
|
|
|
IEnumString = Interface (IUnknown)
|
|
['{00000101-0000-0000-C000-000000000046}']
|
|
Function Next(Celt:ULong;Out xcelt;Out Celtfetched:ULong):HResult; StdCall;
|
|
// Function RemoteNext(Celt:ULong; Out celt;Out Celtfetched:ULong):HResult; StdCall;
|
|
Function Skip (Celt:ULong):Hresult;StdCall;
|
|
Function Reset:HResult;StdCall;
|
|
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;
|
|
end;
|
|
|
|
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;
|
|
out cbWritten: Large_Integer) : HRESULT;stdcall;
|
|
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;
|
|
dwLockType: Longint) : 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;
|
|
// Function RemoteNext(Celt:Ulong; Out Celt;pceltfetched : PUlong);
|
|
Function Skip(Celt:ULong):HResult; StdCall;
|
|
Function Reset:HResult; StdCall;
|
|
Function Clone(Out penum:IEnumStatSTG):HResult; StdCall;
|
|
End;
|
|
|
|
|
|
|
|
|
|
IStorage = Interface (IUnknown)
|
|
['{0000000b-0000-0000-C000-000000000046}']
|
|
Function CreateStream(pwcsname:POleStr;GrfMode,Reserved1,Reserved2 : DWord; Out stm : IStream):HResult; StdCall;
|
|
Function OpenStream(pwcsname:POleStr;Reserved1:Pointer;GrfMode,Reserved2 : DWord; Out stm : IStream):HResult; StdCall;
|
|
// Function RemouteOpenStream(pwcsname:POleStr;cbReserved1:ULong;reserved1:pbyte;GrfMode,Reserved2 : DWord; Out stm : IStream):HResult; StdCall;
|
|
Function CreateStorage(pwcsname:POleStr;GrfMode,Reserved1,Reserved2 : DWord; Out stm : IStorage):HResult; StdCall;
|
|
Function OpenStorage(pwcsname:POleStr;Const stgPriority:IStorage;grfmode : DWord;Const SNBExclude :SNB;reserved:DWord;Out stm : IStorage):HResult; StdCall;
|
|
Function CopyTo(ciidExclude:DWord; rgiidexclude:piid; const snbexclude:SNB;const pstg : IStorage):HResult;StdCall;
|
|
Function MoveElementTo(wcsName:POleStr;Const pstgDest : IStorage;
|
|
wcvsNewName:POleStr; GrfFlags:DWord):Hresult; StdCall;
|
|
Function Commit(grfCommitFlags:Dword):Hresult; StdCall;
|
|
Function Revert:HResult; StdCall;
|
|
Function EnumElements(Reserved1 :Dword;Reserved2:Pointer;Reserved3:DWord;Out penum:IEnumStatStg):HResult;StdCall;
|
|
Function RemoteEnumElements(Reserved1 :Dword;cbReserved2:ULong;Reserved2:pbyte;reserved3:DWord;Out penum:IEnumStatStg):HResult;StdCall;
|
|
Function DestroyElement(wcsName: POleStr):HResult;StdCall;
|
|
Function RenameElement(wcsoldName: POleStr;wcsnewName: POleStr):HResult;StdCall;
|
|
Function SetElementTimes(wcsName:POleStr; Const pctime,patime,pmtime : FileTime):HResult;StdCall;
|
|
Function SetClass(Const ClasId: TClsID):HResult;StdCall;
|
|
Function SetStateBits(grfStateBits:DWord;grfMask:DWord):HResult;StdCall;
|
|
Function Stat(Out pStatStg:StatStg;grfStatFlag:DWord):HResult;StdCall;
|
|
End;
|
|
|
|
IPersistFile = Interface (IPersist)
|
|
['{0000010b-0000-0000-C000-000000000046}']
|
|
Function IsDirty:HResult;StdCall;
|
|
Function Load(FileName:POleStr;dwMode:DWord):HResult;StdCall;
|
|
Function Save(FileName:POleStr;fremember:Bool):HResult;StdCall;
|
|
Function SaveCompleted(FileName:POleStr):HResult;StdCall;
|
|
Function GetCurFIle(Out FileName:POleStr):HResult;StdCall;
|
|
End;
|
|
|
|
|
|
IPersistStorage = Interface (IPersist)
|
|
['{0000010a-0000-0000-C000-000000000046}']
|
|
Function IsDirty:HResult;StdCall;
|
|
Function InitNew(const pstg:IStorage):HResult;StdCall;
|
|
Function Load(const pstg:IStorage):HResult;StdCall;
|
|
Function Save(const pstg:IStorage;FSameAsLoad:Boolean):HResult;StdCall;
|
|
Function SaveCompleted(const pstg:IStorage):HResult;StdCall;
|
|
Function HandsOffStorage:HResult;StdCall;
|
|
End;
|
|
|
|
ILockBytes = Interface (IUnknown)
|
|
['{0000000a-0000-0000-C000-000000000046}']
|
|
Function ReadAt(ulOffset:ULarge_Integer;pv:Pointer;cb:Ulong; Out pcbRead:ULong):HResult; StdCall;
|
|
// Function RemoteReadAt(ulOffset:ULarge_Integer;pv:Pointer;cb:Ulong; Out pcbRead:ULong):HResult; StdCall;
|
|
Function WriteAt(ulOffset:ULarge_Integer;pv:Pointer;cb:Ulong; Out pcbWritten:ULong):HResult; StdCall;
|
|
// Function RemoteWriteAt(ulOffset:ULarge_Integer;pv:Pointer;cb:Ulong; Out pcbWritten:ULong):HResult; StdCall;
|
|
Function Flush:HResult;StdCall;
|
|
Function SetSize(cb:ULarge_Integer):HResult;StdCall;
|
|
Function LockRegion(LibOffSet:ULarge_Integer;cb:ULarge_Integer;dwLockType:DWord):HResult;StdCall;
|
|
Function UnlockRegion(LibOffSet:ULarge_Integer;cb:ULarge_Integer;dwLockType:DWord):HResult;StdCall;
|
|
Function Stat(Out pstatstg:STATSTG;grfstatFlag:DWord):HResult;StdCall;
|
|
End;
|
|
|
|
|
|
IEnumFORMATETC = Interface (IUnknown)
|
|
['{00000103-0000-0000-C000-000000000046}']
|
|
Function Next(Celt:ULong;Out Rgelt:FormatEtc;Out pceltFetched:ULong):HResult; StdCall;
|
|
// Function RemoteNext(Celt:ULong;Out Rgelt:FormatEtc;Out pceltFetched:ULong):HResult; StdCall;
|
|
Function Skip(Celt:ULong):HResult;StdCall;
|
|
Function Reset:HResult;StdCall;
|
|
Function Clone(out penum:IEnumFORMATETC):HResult;StdCall;
|
|
End;
|
|
|
|
IEnumSTATDATA = Interface (IUnknown)
|
|
['{00000105-0000-0000-C000-000000000046}']
|
|
Function Next(Celt:ULong;Out Rgelt:statdata;Out pceltFetched:ULong):HResult; StdCall;
|
|
// Function RemoteNext(Celt:ULong;Out Rgelt:statdata;Out pceltFetched:ULong):HResult; StdCall;
|
|
Function Skip(Celt:ULong):HResult;StdCall;
|
|
Function Reset:HResult;StdCall;
|
|
Function Clone(out penum:IEnumstatdata):HResult;StdCall;
|
|
End;
|
|
|
|
|
|
|
|
IRootStorage = Interface (IUnknown)
|
|
['{00000012-0000-0000-C000-000000000046}']
|
|
Function SwitchToFile(pszfile:PoleStr):HResult;StdCall;
|
|
End;
|
|
|
|
|
|
|
|
IAdviseSink = Interface (IUnknown)
|
|
['{0000010f-0000-0000-C000-000000000046}']
|
|
{$ifdef midl500} ['{00000150-0000-0000-C000-000000000046}'] {$endif}
|
|
Procedure OnDataChange (Const pformatetc : Formatetc;const pstgmed : STGMEDIUM); StdCall;
|
|
Procedure OnViewChange (dwAspect : DWord; lindex : Long); StdCall;
|
|
Procedure OnRename (Const pmk : IMoniker); StdCall;
|
|
Procedure OnSave; StdCall;
|
|
Procedure OnClose; StdCall;
|
|
End;
|
|
|
|
IAdviseSink2 = Interface (IAdviseSink)
|
|
['{00000125-0000-0000-C000-000000000046}']
|
|
Procedure OnLinkSrcChange(Const Pmk: IMoniker); StdCall;
|
|
End;
|
|
|
|
|
|
IDataObject = Interface (IUnknown)
|
|
['{0000010e-0000-0000-C000-000000000046}']
|
|
Function GetData(Const formatetcIn : FORMATETC;Out medium : STGMEDIUM):HRESULT; STDCALL;
|
|
Function GetDataHere(CONST pformatetc : FormatETC; Out medium : STGMEDIUM):HRESULT; STDCALL;
|
|
Function QueryGetData(const pformatetc : FORMATETC):HRESULT; STDCALL;
|
|
Function GetCanonicalFormatTEtc(const pformatetcIn : FORMATETC;Out pformatetcOut : FORMATETC):HResult; STDCALl;
|
|
Function SetData (Const pformatetc : FORMATETC;const medium:STGMEDIUM;FRelease : BOOL):HRESULT; StdCall;
|
|
Function EnumFormatEtc(dwDirection : DWord; OUT enumformatetcpara : IENUMFORMATETC):HRESULT; StdCall;
|
|
Function DAdvise(const formatetc : FORMATETC;advf :DWORD; CONST AdvSink : IAdviseSink;OUT dwConnection:DWORD):HRESULT;StdCall;
|
|
Function DUnadvise(dwconnection :DWord) :HRESULT;StdCall;
|
|
Function EnumDAvise(Out enumAdvise : IEnumStatData):HResult;StdCall;
|
|
End;
|
|
|
|
|
|
IDataAdviseHolder = Interface (IUnknown)
|
|
['{00000110-0000-0000-C000-000000000046}']
|
|
Function Advise (CONST pdataObject : IDataObject;CONST fetc:FORMATETC;advf : DWORD;Const pAdvise:IAdviseSink;Out DwConnection:DWord):HResult; StdCall;
|
|
Function Unadvise (dwConnection:Dword):HResult; StdCall;
|
|
Function EnumAdvise(out penumAdvise : IEnumStatData):HResult;StdCall;
|
|
Function SendOnDataChange(const pDataObject :IDataObject;DwReserved,advf : DWord):HResult; StdCall;
|
|
End;
|
|
|
|
|
|
|
|
|
|
IMessageFilter = Interface (IUnknown)
|
|
['{00000016-0000-0000-C000-000000000046}']
|
|
Function HandleInComingCall(dwCallType :DWord;htaskCaller : HTASK; dwTickCount: DWORD;CONST sinterfaceinfo:InterfaceInfo):DWord; StdCall;
|
|
Function RetryRejectedCall (htaskCallee:HTASK; dwTickCount : DWord; dwRejectType : Dword):DWord; StdCall;
|
|
Function MessagePending (htaskCallee:HTASK; dwTickCount : DWord; dwPendingType : Dword):DWord; StdCall;
|
|
End;
|
|
|
|
//****************************************************************************
|
|
//* Object Remoting Interfaces
|
|
//****************************************************************************
|
|
|
|
|
|
|
|
IRpcChannelBuffer = Interface (IUnknown)
|
|
['{D5F56B60-593B-101A-B569-08002B2DBF7A}']
|
|
Function GetBuffer (Const pMesasge : RPCOLEMESSAGE;Const riid :TIId):HResult; StdCall;
|
|
Function SendReceive(Var pMessage : RPCOLEMESSAGE; Out PStatus : ULong):HResult; StdCall;
|
|
Function FreeBuffer(Const pMessage : RPCOLEMESSAGE):HResult; StdCall;
|
|
Function GetDestCTX(Out dwDestContext : DWord;Out pvDestContext : Pointer):HResult; StdCall;
|
|
Function IsConnected:HResult; StdCall;
|
|
End;
|
|
|
|
IRpcChannelBuffer2 = Interface (IRpcChannelBuffer)
|
|
['{594f31d0-7f19-11d0-b194-00a0c90dc8bf}']
|
|
Function GetProtocolVersion(Var dwVersion : DWord):HResult; StdCall;
|
|
End;
|
|
|
|
|
|
IAsyncRpcChannelBuffer = Interface (IRpcChannelBuffer2)
|
|
['{a5029fb6-3c34-11d1-9c99-00c04fb998aa}']
|
|
Function Send(Var Msg: RPCOLEMESSAGE;Const pSync : ISynchronize;Out PulStatus : ULong):HResult; StdCall;
|
|
Function Receive(Var Msg: RPCOLEMESSAGE;Out PulStatus : ULong):HResult; StdCall;
|
|
Function GetDestCTXEx(Out MSG : RPCOLEMESSAGE;Out vDestContext : DWord;Out pvDestContext : Pointer ):HResult;StdCall;
|
|
End;
|
|
|
|
IRpcChannelBuffer3 = Interface (IRpcChannelBuffer2)
|
|
['{25B15600-0115-11d0-BF0D-00AA00B8DFD2}']
|
|
Function Send(Var msg : RPCOLEMESSAGE;Out ulStatus : ULONG):HResult; StdCall;
|
|
Function Receive(Var msg : RPCOLEMESSAGE;ulSize : ULong;Out ulStatus : ULONG):HResult; StdCall;
|
|
Function Cancel (Const msg : RPCOLEMESSAGE):HResult; StdCall;
|
|
Function GetCallContext(Const msg : RPCOLEMESSAGE; Const riid : TIID; Out pInterface : Pointer):HResult; StdCall;
|
|
Function GetDestCTXEx(Const Msg : RPCOLEMESSAGE;Out vDestContext : DWord;Out pvDestContext : Pointer ):HResult;StdCall;
|
|
Function GetState(Const Msg : RPCOLEMESSAGE;Out State: DWord):HResult;StdCall;
|
|
Function RegisterAsync(Const Msg : RPCOLEMESSAGE;Const asyncmgr : IAsyncManager):HResult;StdCall;
|
|
End;
|
|
|
|
IRpcSyntaxNegotiate = Interface (IUnknown)
|
|
['{58a08519-24c8-4935-b482-3fd823333a4f}']
|
|
Function NegotiateSyntax ( Var msg : RPCOLEMESSAGE):HResult; StdCall;
|
|
End;
|
|
|
|
|
|
|
|
|
|
IRpcProxyBuffer = Interface (IUnknown)
|
|
['{D5F56A34-593B-101A-B569-08002B2DBF7A}']
|
|
Function Connect(Const rpcchannelbuffer : IRpcChannelBuffer):HResult; StdCall;
|
|
Procedure Disconnect;
|
|
End;
|
|
|
|
IRpcStubBuffer = Interface (IUnknown)
|
|
['{D5F56AFC-593B-101A-B569-08002B2DBF7A}']
|
|
Function COnnect ( Const UnkServer : IUnknown):HResult; StdCall;
|
|
Procedure Disconnect; StdCall;
|
|
Function Invoke(Const rpcmsg : RPCOLEMESSAGE;Const RpcChanBuf : IRpcChannelBuffer):HResult; StdCall;
|
|
Function IsIIDSupported (Const riid : TIID):Pointer {IRpcStubBuffer}; StdCall;
|
|
Function CountRefs :ULong; StdCall;
|
|
Function DebugServerQueryInterface(CONST pv : Pointer):HResult; StdCall;
|
|
Procedure DebugServerRelease (pv : Pointer); StdCall;
|
|
End;
|
|
|
|
IPSFactoryBuffer = Interface (IUnknown)
|
|
['{D5F569D0-593B-101A-B569-08002B2DBF7A}']
|
|
Function CreateProxy(Const UnkOuter : IUnknown;const riid : TIID; Out proxy: IRpcProxyBuffer; Out Pv :Pointer):HResult; StdCall;
|
|
Function CreateStub (Const riid : TIID; Const UnkServer : IUnknown; Out pstub : IRpcStubBuffer):HResult; StdCall;
|
|
End;
|
|
|
|
{$ifdef NT4_greater_Or_DCOM}
|
|
// This interface is only valid on Windows NT 4.0
|
|
|
|
// This structure contains additional data for hooks. As a backward
|
|
// compatability hack, the entire structure is passed in place of the
|
|
// RIID parameter on all hook methods. Thus the IID must be the first
|
|
// parameter. As a forward compatability hack the second field is the
|
|
// current size of the structure.
|
|
|
|
SChannelHookCallInfo= Record;
|
|
IID : iid;
|
|
cbSize : Dword;
|
|
uCausality : GUID;
|
|
dwServerPid,
|
|
iMethod : DWord;
|
|
pObject : Pointer;
|
|
End;
|
|
|
|
|
|
|
|
IChannelHook = Interface (IUnknown)
|
|
['{1008c4a0-7613-11cf-9af1-0020af6e72f4}']
|
|
Procedure ClientGetSize(Const uExtent : TGuid; CONST riid : TIID; Out datasize :ULong); StdCall;
|
|
Procedure ClientFillBuffer(Const uExtent : TGuid; CONST riid : TIID; Var datasize :ULong;Buffer :Pointer); StdCall;
|
|
Procedure ClientNotify(Const uExtent : TGuid; CONST riid : TIID; datasize :ULong;Buffer :Pointer;hrfault:HResult); StdCall;
|
|
Procedure ServerNotify(Const uExtent : TGuid; CONST riid : TIID; datasize :ULong;Buffer :Pointer;DataRep:DWord); StdCall;
|
|
Procedure ServerGetSize(Const uExtent : TGuid; CONST riid : TIID;hrFault :HResult; Out datasize :ULong); StdCall;
|
|
Procedure ServerFillBuffer(Const uExtent : TGuid; CONST riid : TIID; Var datasize :ULong;Buffer :Pointer;HrFault:HResult); StdCall;
|
|
End;
|
|
{$Endif}
|
|
|
|
|
|
// Well-known Property Set Format IDs
|
|
//FMTID_SummaryInformation = {CONST} FMTID;
|
|
//FMTID_DocSummaryInformation = {CONST} FMTID;
|
|
//FMTID_UserDefinedProperties = {CONST} FMTID;
|
|
//FMTID_DiscardableInformation = {CONST} FMTID;
|
|
//FMTID_ImageSummaryInformation = {CONST} FMTID;
|
|
//FMTID_AudioSummaryInformation = {CONST} FMTID;
|
|
//FMTID_VideoSummaryInformation = {CONST} FMTID;
|
|
//FMTID_MediaFileSummaryInformation = {CONST} FMTID;
|
|
|
|
|
|
//****************************************************************************
|
|
// * Connection Point Interfaces
|
|
// ****************************************************************************/
|
|
|
|
//#ifdef __INCLUDE_CPIFS
|
|
IConnectionPointContainer = Interface;
|
|
//interface IConnectionPoint;
|
|
//interface IEnumConnections;
|
|
IEnumConnectionPoints = Interface;
|
|
IEnumConnections = Interface;
|
|
|
|
|
|
IConnectionPoint = Interface (IUnknown)
|
|
['{B196B286-BAB4-101A-B69C-00AA00341D07}']
|
|
Function GetConnectionInterface(out piid : TIID):HResult;StdCall;
|
|
Function GetConnectionPointContainer(CPC : IConnectionPointContainer):HResult;StdCall;
|
|
Function Advise(unkSink : IUnknown;Out dwCookie : DWord):HResult;StdCall;
|
|
Function UnAdvise(dwCookie : DWord):HResult;StdCall;
|
|
Function EnumConnection(out pEnum : IEnumConnections):HResult;stdCall;
|
|
End;
|
|
|
|
IConnectionPointContainer = Interface (IUnknown)
|
|
['{B196B284-BAB4-101A-B69C-00AA00341D07}']
|
|
Function EnumConnectionPoints(out pEnum : IEnumConnectionPoints):HResult;StdCall;
|
|
Function FindConnectionPoint(Const RIID : TIID;Out ppcp : IConnectionPoint):HResult;StdCall;
|
|
End;
|
|
|
|
tagCONNECTDATA = Record
|
|
unk : Pointer; {IUnknown}
|
|
dwCookie : DWord;
|
|
End;
|
|
ConnectData = tagCONNECTDATA;
|
|
|
|
IEnumConnections = Interface (IUnknown)
|
|
['{B196B287-BAB4-101A-B69C-00AA00341D07}']
|
|
Function Next(cConnections : ULong; Out rgcd : ConnectData;Out lpcFetched : ULong):HResult;StdCall;
|
|
Function Skip(cConnections : ULong):HResult;StdCall;
|
|
Function Reset:HResult;StdCall;
|
|
Function Clone(Out pEnum : IEnumConnections):HResult; StdCall;
|
|
End;
|
|
|
|
|
|
IEnumConnectionPoints = Interface (IUnknown)
|
|
['{B196B285-BAB4-101A-B69C-00AA00341D07}']
|
|
Function Next(cConnections : ULong; Out rgpcm : IConnectionPoint;Out lpcFetched : ULong):HResult;StdCall;
|
|
Function Skip(cConnections : ULong):HResult;StdCall;
|
|
Function Reset:HResult;StdCall;
|
|
Function Clone(Out pEnum : IEnumConnectionPoints):HResult;StdCall;
|
|
End;
|
|
|
|
|
|
|
|
tagSOLE_AUTHENTICATION_SERVICE = Record
|
|
dwAuthnSvc,
|
|
dwAuthzSvc : DWord;
|
|
pPrincipalName : POleStr;
|
|
hr : HResult;
|
|
End;
|
|
SOLE_AUTHENTICATION_SERVICE = tagSOLE_AUTHENTICATION_SERVICE;
|
|
PSOLE_AUTHENTICATION_SERVICE = ^SOLE_AUTHENTICATION_SERVICE;
|
|
|
|
tagSOLE_AUTHENTICATION_INFO = Record
|
|
dwAuthnSvc,
|
|
dwAuthzSvc : DWord;
|
|
AuthInfo : Pointer;
|
|
End;
|
|
SOLE_AUTHENTICATION_INFO = tagSOLE_AUTHENTICATION_INFO;
|
|
PSOLE_AUTHENTICATION_INFO = ^SOLE_AUTHENTICATION_INFO;
|
|
|
|
tagSOLE_AUTHENTICATION_LIST = Record
|
|
cAuthInfo : DWord;
|
|
AuthInfo : PSOLE_AUTHENTICATION_INFO;
|
|
End;
|
|
SOLE_AUTHENTICATION_LIST = tagSOLE_AUTHENTICATION_LIST;
|
|
PSOLE_AUTHENTICATION_LIST = ^SOLE_AUTHENTICATION_LIST;
|
|
|
|
{$ifdef WINNT_DCOM}
|
|
|
|
IClientSecurity = Interface (IUnknown)
|
|
['{0000013D-0000-0000-C000-000000000046}']
|
|
Function QueryBlanket (Proxy : IUnknown;Out AuthnSvc,AuthzSvc : Dword;Out ServerPrincName:pOleStr;Out AuthnLevel,ImpLevel:Dword; Out AuthInfo : Pointer; Out Capabilities : Dword):HResult;StdCall;
|
|
Function SetBlanket (Proxy : IUnknown;AuthnSvc,AuthzSvc : Dword;ServerPrincName:pOleStr;AuthnLevel,ImpLevel:Dword;AuthInfo : Pointer;Capabilities : Dword):HResult;StdCall;
|
|
Function CopyProxy (Proxy : IUnknown;Out pcopy:IUnknown):HResult;StdCall;
|
|
End;
|
|
|
|
IServerSecurity = Interface (IUnknown)
|
|
['{0000013E-0000-0000-C000-000000000046}']
|
|
Function QueryBlanket ( out authnSvc,AuthzSvc : DWord; Out pServerPrincName : pOleStr; Out AuthnLevel, ImpLevel; :DWord; out Privs : Pointer; Var Capabilities :DWord):HResult;StdCall;
|
|
Function ImpersonateClient:HResult;StdCall;
|
|
Function RevertToSelf:HResult;StdCall;
|
|
Function IsImpersonating:Bool;StdCall;
|
|
End;
|
|
|
|
IClassActivator = Interface (IUnknown)
|
|
['{00000140-0000-0000-C000-000000000046}']
|
|
Function GetClassObject(Const rclsif : TClsID; ClassContext : DWord; locale : LCID; Const ridd : TIID; Out pv : Pointer):HResult;StdCall;
|
|
End;
|
|
|
|
|
|
IRpcOptions = Interface (IUnknown)
|
|
['{00000144-0000-0000-C000-000000000046}']
|
|
Function xSet (prx : IUnknown;dwProperty : DWord; dwValue:ULONG_PTR):HResult; StdCall;
|
|
Function Query (prx : IUnknown;dwProperty:Dword; dwValue:ULONG_PTR):HResult; StdCall;
|
|
End;
|
|
|
|
{$endif} {DCOM}
|
|
|
|
IFillLockBytes = Interface (IUnknown)
|
|
['{99caf010-415e-11cf-8814-00aa00b569f5}']
|
|
Function FillAppend(const pv : Pointer;cb:ULong; Out PcbWritten : ULong):HResult;StdCall;
|
|
Function FillAt(ulOffset : ULarge_INTEGER;Const pv : Pointer;cb :ULong; Out pcbWritten:ULong):HResult;StdCall;
|
|
Function SetFillSize ( ulSize :ULarge_Integer):HResult;StdCall;
|
|
Function Terminate (bCanceled :Bool):HResult;StdCall;
|
|
End;
|
|
|
|
IProgressNotify = Interface (IUnknown)
|
|
['{a9d758a0-4617-11cf-95fc-00aa00680db4}']
|
|
Function OnProgress (ProgressCurrent,ProgressMaximum :Dword; FAccurate,Fowner : Bool):HResult;StdCall;
|
|
End;
|
|
|
|
ILayoutStorage = Interface (IUnknown)
|
|
['{0e6d4d90-6738-11cf-9608-00aa00680db4}']
|
|
{The methods in this interface all had "__stdcall" as modifier, while the other classes don't. ?!?!?}
|
|
Function LayoutScript ( xStorageLayout : StorageLayout;nEntries,glfInterleaveFlag : Dword) :HResult; StdCall;
|
|
Function BeginMonitor:HResult;StdCall;
|
|
Function EndMonitor:HResult;StdCall;
|
|
Function ReLayourDocFile(pwcsNewDFName :pOleStr):HResult;StdCall;
|
|
Function ReLayoutDocfileOnILockBytes(LockBytes : ILockBytes):Hresult;StdCall;
|
|
End;
|
|
|
|
IBlockingLock = Interface (IUnknown)
|
|
['{30f3d47a-6447-11d1-8e3c-00c04fb9386d}']
|
|
Function Lock (dwTimeOut : DWord) : HResult;Stdcall;
|
|
Function Unlock : HResult;Stdcall;
|
|
End;
|
|
|
|
ITimeAndNoticeControl = Interface (IUnknown)
|
|
['{bc0bf6ae-8878-11d1-83e9-00c04fc2c6d4}']
|
|
Function SuppressChanges(res1,res2 : Dword):HResult;StdCall;
|
|
End;
|
|
|
|
IOplockStorage = Interface (IUnknown)
|
|
['{8d19c834-8879-11d1-83e9-00c04fc2c6d4}']
|
|
Function CreateStorageEx(wcsName : LPCWSTR;grfMode,StgFmt,GrfAtrrs :Dword;Const riid :Tiid; Out ppstgOpen : Pointer):HResult;StdCall;
|
|
Function OpenStorageEx(wcsName : LPCWSTR;grfMode,StgFmt,GrfAtrrs :Dword;Const riid :Tiid; Out ppstgOpen : Pointer):HResult;StdCall;
|
|
End;
|
|
|
|
ISurrogate = Interface (IUnknown)
|
|
['{00000022-0000-0000-C000-000000000046}']
|
|
Function LoadDllServer (Const ClsId : TClsId):HResult;StdCall;
|
|
Function FreeSurrogate:HResult;StdCall;
|
|
End;
|
|
|
|
IGlobalInterfaceTable = Interface (IUnknown)
|
|
['{00000146-0000-0000-C000-000000000046}']
|
|
Function RegisterInterfaceInGlobal(unk :IUnknown;Const riid : TIID; Out dwcookie :DWord):HResult;StdCall;
|
|
Function RevokeInterfaceFromGlobal (dwCookie :DWord):HResult;StdCall;
|
|
Function GetInterfaceFromGlobal (dwCookie :DWord;Const riid : TIID;out pv : Pointer):HResult;StdCall;
|
|
End;
|
|
|
|
IDirectWriterLock = Interface (IUnknown)
|
|
['{0e6d4d92-6738-11cf-9608-00aa00680db4}']
|
|
Function WaitForWriteAccess (dwTimeOut : DWORD):HResult;StdCall;
|
|
Function ReleaseWriteAccess:HResult;StdCall;
|
|
Function HaveWriteAccess:HResult;StdCall;
|
|
End;
|
|
|
|
ISynchronize = Interface (IUnknown)
|
|
['{00000030-0000-0000-C000-000000000046}']
|
|
Function Wait (dwFlags : DWord; dwMilliSeconds : DWord):HResult;StdCall;
|
|
Function Signal : HResult;StdCall;
|
|
Function Reset : HResult;StdCall;
|
|
End;
|
|
|
|
ISynchronizeHandle = Interface (IUnknown)
|
|
['{00000031-0000-0000-C000-000000000046}']
|
|
Function GetHandle(Out ph : Handle):HResult;StdCall;
|
|
End;
|
|
|
|
ISynchronizeEvent = Interface (ISynchronizeHandle)
|
|
['{00000032-0000-0000-C000-000000000046}']
|
|
Function SetEventHandle (Const ph : Handle):HResult; StdCall;
|
|
End;
|
|
|
|
ISynchronizeContainer = Interface (IUnknown)
|
|
['{00000033-0000-0000-C000-000000000046}']
|
|
Function AddSynchronize(pSync : ISynchronize):HResult; StdCall;
|
|
Function WaitMultiple(dwFlags : Dword; dwTimeOut : Dword; Out pSync : ISynchronize):HResult;StdCall;
|
|
End;
|
|
|
|
ISynchronizeMutex = Interface (ISynchronize)
|
|
['{00000025-0000-0000-C000-000000000046}']
|
|
Function ReleaseMutex:HResult; StdCall;
|
|
End;
|
|
|
|
ICancelMethodCalls = Interface (IUnknown)
|
|
['{00000029-0000-0000-C000-000000000046}']
|
|
Function Cancel(ulSeconds : ULong):HResult; StdCall;
|
|
Function TestCancel:HResult;StdCall;
|
|
End;
|
|
|
|
IAsyncManager = Interface (IUnknown)
|
|
['{0000002A-0000-0000-C000-000000000046}']
|
|
Function CompleteCall (xResult : HResult):HResult;StdCall;
|
|
Function GetCallContext(Const iid :TIID; Out pInterface : Pointer):HResult;StdCall;
|
|
Function GetState(Out pulStateFlags : ULong):HResult;StdCall;
|
|
End;
|
|
|
|
ICallFactory = Interface (IUnknown)
|
|
['{1c733a30-2a1c-11ce-ade5-00aa0044773d}']
|
|
Function CreateCall(Const riid:TIID;CtrUnk : IUnknown;Const Riid2:TIID;Out Unknown : IUnknown):HResult;StdCall;
|
|
End;
|
|
|
|
IRpcHelper = Interface (IUnknown)
|
|
['{00000149-0000-0000-C000-000000000046}']
|
|
Function GetDCOMProtocolVersion(Out ComVersion :DWord):HResult;StdCall;
|
|
Function GettIIDFromOBJREF(ObjRef : Pointer;Out xIID : piid):HResult;StdCall;
|
|
End;
|
|
|
|
IReleaseMarshalBuffers = Interface (IUnknown)
|
|
['{eb0cb9e8-7996-11d2-872e-0000f8080859}']
|
|
Function ReleaseMarshalBuffer(const pnsg : RPCOLEMESSAGE;dwFlags:DWord;Const pchn : IUnknown):HResult; StdCall;
|
|
End;
|
|
|
|
IWaitMultiple = Interface (IUnknown)
|
|
['{0000002B-0000-0000-C000-000000000046}']
|
|
Function WaitMulitple(TImeout :DWord;out psync : ISynchronize):HResult; StdCall;
|
|
Function AddSynchronize (const psync : ISynchronize):HResult;StdCall;
|
|
End;
|
|
|
|
IUrlMon = Interface (IUnknown)
|
|
['{00000026-0000-0000-C000-000000000046}']
|
|
Function AsyncGetClassBits(CONST rclsif : TClsID; psztype,pzext : lpcwstr; dwfileversionMS,dwFileVersionLS : DWord; pzcodebase : LPCWSTR; Const pbc : IBindCTX; dwclasscontext : DWord; const Riid:TIID; flags :DWORD):HResult; StdCall;
|
|
End;
|
|
|
|
IForegroundTransfer = Interface (IUnknown)
|
|
['{00000145-0000-0000-C000-000000000046}']
|
|
Function AllowForegroundTransfer(lpvReserved:Pointer):HResult; StdCall;
|
|
End;
|
|
|
|
IAddrTrackingControl = Interface (IUnknown)
|
|
['{00000147-0000-0000-C000-000000000046}']
|
|
Function EnableCOMDynamicAddrTracking:HResult; StdCall;
|
|
Function DisableCOMDynamicAddrTracking:HResult; StdCall;
|
|
End;
|
|
|
|
IAddrExclusionControl = Interface (IUnknown)
|
|
['{00000148-0000-0000-C000-000000000046}']
|
|
Function GetCurrentAddrExclusionList(Const riid : TIID;out Enumerator : Pointer):HResult;StdCall;
|
|
Function UpdateAddrExclusionList(Enumerator : IUnknown):HResult;StdCall;
|
|
End;
|
|
|
|
//****************************************************************************
|
|
//* Pipe interfaces
|
|
//****************************************************************************/
|
|
|
|
// Doesn't look translatable. See objidl.idl
|
|
|
|
//****************************************************************************
|
|
//* Thumbnail generator interface
|
|
//****************************************************************************/
|
|
|
|
IThumbnailExtractor = Interface (IUnknown)
|
|
['{969dc708-5c76-11d1-8d86-0000f804b057}']
|
|
Function ExtractThumbnail (pStg : IStorage; uLength,UHeight : ULong; Out uloutputlength,Height :ULong; Out OutputBitmap : HBITMAP): HResult; StdCall;
|
|
Function OnFileUpdated (pStg : IStorage):HResult;
|
|
End;
|
|
|
|
//****************************************************************************
|
|
//* Dummy Interface to force inclusion of HICON and HDC in proxy/stub code....
|
|
//****************************************************************************/
|
|
|
|
IDummyHICONIncluder = Interface (IUnknown)
|
|
['{947990de-cc28-11d2-a0f7-00805f858fb1}']
|
|
Function Dummy (h1 : HICON; H2 :HDC):HResult;
|
|
End;
|
|
|
|
IComThreadingInfo = Interface (IUnknown)
|
|
['{000001ce-0000-0000-C000-000000000046}']
|
|
Function GetCurrentApartmentType(out pAptType : DWord {APTTTYPE}):HResult;
|
|
Function GetCurrentThreadType(Out ThreadType : Dword {THDTTYPE}):HResult;StdCall;
|
|
Function GetCurrentLogicalThreadID(Out guidlogicalThreadId : TGUID):HResult;StdCall;
|
|
Function SetCurrentLogicalThreadID(Const guidlogicalThreadId : TGUID):HResult;StdCall;
|
|
End;
|
|
|
|
IProcessInitControl = Interface (IUnknown)
|
|
['{72380d55-8d2b-43a3-8513-2b6ef31434e9}']
|
|
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: WINT):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;
|
|
|
|
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: WINT):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: WINT; OUT pBstrName: WideString; OUT pBstrDocString: WideString; OUT pdwHelpContext: DWORD; OUT pBstrHelpFile: WideString):HResult;StdCall;
|
|
{$else}
|
|
Function GetDocumentation(index: WINT; 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: WINT; lcid: LCID; OUT pbstrHelpString: WideString; OUT pdwHelpStringContext: DWORD; OUT pbstrHelpStringDll: WideString):HResult;StdCall;
|
|
{$else}
|
|
Function GetDocumentation2(index: WINT; 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: WINT):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;
|
|
|
|
IEnumGUID = interface(IUnknown)
|
|
['{0002E000-0000-0000-C000-000000000046}']
|
|
Function Next(celt: UINT; OUT rgelt: TGUID; OUT pceltFetched: UINT):HResult;StdCall;
|
|
Function Skip(celt:UINT):HResult;StdCall;
|
|
Function Reset: HResult;StdCall;
|
|
Function Clone(out ppenum: IEnumGUID):HResult;StdCall;
|
|
End;
|
|
|
|
IBindHost = interface(IUnknown)
|
|
['{FC4801A1-2BA9-11CF-A229-00AA003D7352}']
|
|
End;
|
|
|
|
IServiceProvider = interface(IUnknown)
|
|
['{6D5140C1-7436-11CE-8034-00AA006009FA}']
|
|
Function QueryService(CONST rsid, iid: TGuid; OUT Obj):HResult;StdCall;
|
|
End;
|
|
|
|
PServiceProvider = ^IServiceProvider;
|
|
|
|
IParseDisplayName = interface(IUnknown)
|
|
['{0000011A-0000-0000-C000-000000000046}']
|
|
Function ParseDisplayName(CONST bc: IBindCtx; pszDisplayName: POleStr;OUT chEaten: Longint; OUT mkOut: IMoniker): HResult;StdCall;
|
|
End;
|
|
|
|
IOleContainer = interface(IParseDisplayName)
|
|
['{0000011B-0000-0000-C000-000000000046}']
|
|
Function EnumObjects(grfFlags: Longint; OUT Enum: IEnumUnknown):HResult;StdCall;
|
|
Function LockContainer(fLock: BOOL):HResult;StdCall;
|
|
End;
|
|
|
|
IOleClientSite = interface(IUnknown)
|
|
['{00000118-0000-0000-C000-000000000046}']
|
|
Function SaveObject: HResult;StdCall;
|
|
Function GetMoniker(dwAssign: Longint; dwWhichMoniker: Longint;OUT mk: IMoniker):HResult;StdCall;
|
|
Function GetContainer(OUT container: IOleContainer):HResult;StdCall;
|
|
Function ShowObject:HResult;StdCall;
|
|
Function OnShowWindow(fShow: BOOL):HResult;StdCall;
|
|
Function RequestNewObjectLayout:HResult;StdCall;
|
|
End;
|
|
|
|
|
|
{$ENDIF}
|
|
{ ******************************************************************************************************************
|
|
stuff from objbase.h
|
|
****************************************************************************************************************** }
|
|
{$IFDEF HASINTF}
|
|
|
|
{$i wininc/objbase.inc}
|
|
|
|
{ redefinitions }
|
|
function CoCreateGuid(out _para1:TGUID):HRESULT;stdcall;external 'ole32.dll' name 'CoCreateGuid';
|
|
|
|
{ additional definitions }
|
|
|
|
function IsEqualGUID(const guid1,guid2 : TGUID) : Boolean;stdcall;external 'ole32.dll' name 'IsEqualGUID';
|
|
function IsEqualIID(const iid1,iid2 : TIID) : Boolean;stdcall;external 'ole32.dll' name 'IsEqualGUID';
|
|
function IsEqualCLSID(const clsid1,clsid2 : TCLSID) : Boolean;stdcall;external 'ole32.dll' name 'IsEqualGUID';
|
|
|
|
{$ENDIF HASINTF}
|
|
|
|
implementation
|
|
{$undef read_interface}
|
|
{$define read_implementation}
|
|
|
|
end.
|
|
|
|
{
|
|
$Log$
|
|
Revision 1.12 2004-05-07 13:26:31 marco
|
|
* COM related fixes from bug 3090
|
|
|
|
Revision 1.11 2003/10/05 20:30:09 florian
|
|
+ necessary declarations for dx8 headers added
|
|
|
|
Revision 1.10 2003/10/05 19:10:31 florian
|
|
* fixed some delphi compatibilty issues
|
|
* improved makefile dependencies
|
|
|
|
Revision 1.9 2003/09/17 15:06:36 peter
|
|
* stdcall patch
|
|
|
|
Revision 1.8 2002/12/12 17:52:35 peter
|
|
* INT renamed to WINT
|
|
|
|
Revision 1.7 2002/10/10 16:10:45 florian
|
|
+ declarations of objbase.h added
|
|
|
|
Revision 1.6 2002/09/07 16:01:28 peter
|
|
* old logs removed and tabs fixed
|
|
|
|
Revision 1.5 2002/07/28 20:43:49 florian
|
|
* several fixes for linux/powerpc
|
|
* several fixes to MT
|
|
|
|
Revision 1.4 2002/03/01 12:42:42 peter
|
|
* fixed HASINTF
|
|
|
|
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.
|
|
|
|
}
|