// TLib : // TLib : OLE Automation : {00020430-0000-0000-C000-000000000046} importlib("stdole2.tlb"); // Forward declare all types defined in this typelib interface IScripRTD; interface IRTDUpdateEvent; [ uuid(A04A3240-D051-4B4C-B004-CA92151F11E5), helpstring("ScripRTD Class") ] coclass ScripRTD { [default] interface IScripRTD; }; [ odl, uuid(EC0E6191-DB51-11D3-8F3E-00C04F3651B8), helpstring("IScripRTD Interface"), dual, nonextensible, oleautomation ] interface IScripRTD : IDispatch { [id(0x0000000a)] HRESULT ServerStart( [in] IRTDUpdateEvent* callback, [out, retval] long* result); [id(0x0000000b)] HRESULT ConnectData( [in] long topicId, [in] SAFEARRAY(VARIANT)* strings, [in, out] VARIANT_BOOL* newValues, [out, retval] VARIANT* values); [id(0x0000000c)] HRESULT RefreshData( [in, out] long* topicCount, [out, retval] SAFEARRAY(VARIANT)* data); [id(0x0000000d)] HRESULT DisconnectData([in] long topicId); [id(0x0000000e)] HRESULT Heartbeat([out, retval] long* result); [id(0x0000000f)] HRESULT ServerTerminate(); }; [ odl, uuid(A43788C1-D91B-11D3-8F39-00C04F3651B8), dual, oleautomation ] interface IRTDUpdateEvent : IDispatch { [id(0x0000000a)] HRESULT UpdateNotify(); [id(0x0000000b), propget] HRESULT HeartbeatInterval([out, retval] long* value); [id(0x0000000b), propput] HRESULT HeartbeatInterval([in] long value); [id(0x0000000c)] HRESULT Disconnect(); };