// testobject.idl : IDL source for testobject.dll // // This file will be processed by the MIDL tool to // produce the type library (testobject.tlb) and marshalling code. import "oaidl.idl"; import "ocidl.idl"; #include "olectl.h" [ object, uuid(07B31FFC-19EE-11D3-B5DB-0060089002FE), dual, helpstring("ITestControl Interface"), pointer_default(unique) ] interface ITestControl : IDispatch { [propput, id(DISPID_CAPTION)] HRESULT Caption([in]BSTR strCaption); [propget, id(DISPID_CAPTION)] HRESULT Caption([out,retval]BSTR* pstrCaption); [id(1), helpstring("method AddTest")] HRESULT AddTest(long n1,long *n2,[out,retval]long *n3); [id(2), helpstring("method StringTest")] HRESULT StringTest(BSTR s1,BSTR s2,[out,retval]BSTR *s3); [id(3), helpstring("method ShortTest")] HRESULT ShortTest(short int n1,short int n2,[out,retval]short int *n3); [id(4), helpstring("method FloatTest")] HRESULT FloatTest(double n1,double n2,[out,retval]double *n3); [id(5), helpstring("method UnsignedTest")] HRESULT UnsignedTest(unsigned n1,unsigned n2,[out,retval]unsigned *n3); [propget, id(6), helpstring("property Numprop")] HRESULT Numprop(long ndx,[out, retval] long *pVal); [propput, id(6), helpstring("property Numprop")] HRESULT Numprop(long ndx,[in] long newVal); }; [ uuid(07B31FF0-19EE-11D3-B5DB-0060089002FE), version(1.0), helpstring("testobject 1.0 Type Library") ] library TESTOBJECTLib { importlib("stdole32.tlb"); importlib("stdole2.tlb"); [ uuid(07B31FFD-19EE-11D3-B5DB-0060089002FE), helpstring("_ITestControlEvents Interface") ] dispinterface _ITestControlEvents { properties: methods: [id(DISPID_CLICK), helpstring("method Click")] HRESULT Click(); [id(DISPID_MOUSEDOWN), helpstring("method MouseDown")] HRESULT MouseDown(short button,short shift,OLE_XPOS_PIXELS x,OLE_YPOS_PIXELS y); [id(DISPID_MOUSEUP), helpstring("method MouseUp")] HRESULT MouseUp(short button,short shift,OLE_XPOS_PIXELS x,OLE_YPOS_PIXELS y); [id(1), helpstring("method KeyDown")] HRESULT KeyDown(short *keyCode,short shift); [id(2), helpstring("method KeyUp")] HRESULT KeyUp(short *keyCode,short shift); [id(3), helpstring("method MouseMove")] HRESULT MouseMove(short button,short shift,OLE_XPOS_PIXELS x,OLE_YPOS_PIXELS y); }; [ uuid(FED8FE26-19CA-11D3-B5DB-0060089002FE), helpstring("TestControl Class") ] coclass TestControl { [default] interface ITestControl; [default, source] dispinterface _ITestControlEvents; }; };