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.
40 lines
1.6 KiB
40 lines
1.6 KiB
import "oaidl.idl";
|
|
import "ocidl.idl";
|
|
[uuid(f4f74946-4546-44bd-a073-9ea6f9fe78cb)] library TestLib {
|
|
[object,
|
|
oleautomation,
|
|
dual,
|
|
uuid(ed978f5f-cc45-4fcc-a7a6-751ffa8dfedd)]
|
|
interface IMyInterface : IDispatch {
|
|
[id(100), propget] HRESULT Name([out, retval] BSTR *pname);
|
|
[id(100), propput] HRESULT Name([in] BSTR name);
|
|
[id(101)] HRESULT MixedInOut([in] int a, [out] int *b, [in] int c, [out] int *d);
|
|
[id(102)] HRESULT MultiInOutArgs([in, out] int *pa, [in, out] int *pb);
|
|
HRESULT MultiInOutArgs2([in, out] int *pa, [out] int *pb);
|
|
HRESULT MultiInOutArgs3([out] int *pa, [out] int *pb);
|
|
HRESULT MultiInOutArgs4([out] int *pa, [in, out] int *pb);
|
|
HRESULT GetStackTrace([in] ULONG FrameOffset,
|
|
[in, out] INT *Frames,
|
|
[in] ULONG FramesSize,
|
|
[out, optional] ULONG *FramesFilled);
|
|
HRESULT dummy([in] SAFEARRAY(VARIANT *) foo);
|
|
HRESULT DoSomething();
|
|
HRESULT DoSomethingElse();
|
|
}
|
|
|
|
[object,
|
|
oleautomation,
|
|
dual,
|
|
uuid(f7c48a90-64ea-4bb8-abf1-b3a3aa996848)]
|
|
interface IMyEventInterface : IDispatch {
|
|
[id(103)] HRESULT OnSomething();
|
|
[id(104)] HRESULT OnSomethingElse([out, retval] int *px);
|
|
}
|
|
|
|
|
|
[uuid(fa9de8f4-20de-45fc-b079-648572428817)]
|
|
coclass MyServer {
|
|
[default] interface IMyInterface;
|
|
[default, source] interface IMyEventInterface;
|
|
};
|
|
} |