/* b30428b4-cc67-48ba-81db-4c6a6b3db1a3 */ /* REMEMBER TO COMPILE A NEW .TLB FILE WHEN THIS CHANGES, AND ALSO TO REMOVE THE comtypes\gen DIRECTORY TO DELETE THE TYPELIB WRAPPERS! The TestServer.py should also be registered again. */ import "oaidl.idl"; import "ocidl.idl"; [ object, /* the oleautomation flag enables universal marshalling on non-dispatch interfaces. See Don Box, Page 220. */ oleautomation, uuid(58955c76-60a9-4eeb-8b8a-8f92e90d0fe7), helpstring("ITestComServer interface") ] interface ITestComServer : IDispatch { [propget, id(10), helpstring("returns the id of the server")] HRESULT id([out, retval] UINT *pid); [propget, id(11), helpstring("the name of the server")] HRESULT name([out, retval] BSTR *pname); [propput, id(11), helpstring("the name of the server")] HRESULT name([in] BSTR name); [id(12), helpstring("a method that receives an BSTR [in] parameter")] HRESULT SetName([in] BSTR name); [id(13), helpstring("evaluate an expression and return the result")] HRESULT eval([in] BSTR what, [out, retval] VARIANT *presult); }; [ uuid(5a3e1d1d-947a-44ac-9b03-5c37d5f5fffc), version(1.0), helpstring("TestComServer 1.0 Type library") ] library TestComServerLib { importlib("stdole2.tlb"); [ uuid(1fca61d1-a1a6-464c-b3a8-e9508b4ac8f7), helpstring("TestComServer class object") ] coclass TestComServer { [default] interface ITestComServer; }; };