You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
102 lines
2.3 KiB
102 lines
2.3 KiB
/*
|
|
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,
|
|
oleautomation,
|
|
uuid(f0a241e2-25d1-4f6d-9461-c67bf262779f),
|
|
helpstring("A custom event interface")
|
|
]
|
|
interface ITestComServerEvents : IUnknown {
|
|
[id(10)]
|
|
HRESULT EvalStarted([in] BSTR what);
|
|
|
|
[id(11)]
|
|
HRESULT EvalCompleted([in] BSTR what, [in] VARIANT result);
|
|
};
|
|
|
|
[
|
|
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);
|
|
|
|
/* Some methods that use defaultvalues */
|
|
[id(14)]
|
|
HRESULT do_cy([in, defaultvalue(32.78)] CURRENCY *value);
|
|
|
|
[id(15)]
|
|
HRESULT do_date([in, defaultvalue(32)] DATE *value);
|
|
|
|
[id(16), helpstring("execute a statement")]
|
|
HRESULT Exec([in] BSTR what);
|
|
|
|
[id(17), helpstring("execute a statement")]
|
|
HRESULT Exec2([in] BSTR what);
|
|
|
|
[id(18), helpstring("a method with [in] and [out] args in mixed order")]
|
|
HRESULT MixedInOut([in] int a, [out] int *b, [in] int c, [out] int *d);
|
|
};
|
|
|
|
[
|
|
uuid(5a3e1d1d-947a-44ac-9b03-5c37d5f5fffc),
|
|
version(1.0),
|
|
helpstring("TestComServer 1.0 Type library")
|
|
]
|
|
library TestComServerLib
|
|
{
|
|
importlib("stdole2.tlb");
|
|
|
|
typedef
|
|
[
|
|
uuid(086b7f11-aed0-4de0-b77a-f1998371da83)
|
|
]
|
|
struct MYCOLOR {
|
|
double red;
|
|
double green;
|
|
double blue;
|
|
} MYCOLOR;
|
|
|
|
[
|
|
uuid(1fca61d1-a1a6-464c-b3a8-e9508b4ac8f7),
|
|
helpstring("TestComServer class object")
|
|
]
|
|
coclass TestComServer {
|
|
[default] interface ITestComServer;
|
|
[default, source] interface ITestComServerEvents;
|
|
};
|
|
};
|