// XCrate.idl : IDL source for XCrate // // This file will be processed by the MIDL tool to // produce the type library (XCrate.tlb) and marshalling code. import "oaidl.idl"; import "ocidl.idl"; [ object, uuid(A9C0ED90-53C6-436E-B973-73BB5ED246C2), dual, nonextensible, helpstring("ICrate Interface"), pointer_default(unique) ] interface ICrate : IDispatch{ [id(1), helpstring("method WriteWord")] HRESULT WriteWord([in] int posN, [in] int subA, [in] short data); [id(2), helpstring("method OpenCrate")] HRESULT Open([in]int CardN,[in]int CrateN); [id(3), helpstring("method CloseCrate")] HRESULT Close(); [id(4), helpstring("method ReadWord")] HRESULT ReadWord([in]int posN, [in]int subA, [out,retval] short* data); [propget, id(5), helpstring("property status")] HRESULT status([out, retval] short *pVal); [propget, id(6), helpstring("property X")] HRESULT X([out, retval] BOOL *pVal); [propget, id(7), helpstring("property Q")] HRESULT Q([out, retval] BOOL *pVal); [propget, id(8), helpstring("property LAMEnabled")] HRESULT LAMEnabled([out, retval] BOOL* pVal); [propput, id(8), helpstring("property LAMEnabled")] HRESULT LAMEnabled([in] BOOL newVal); [propget, id(9), helpstring("property error")] HRESULT error([out, retval] BOOL* pVal); [propget, id(10), helpstring("property str_error")] HRESULT str_error([out, retval] BSTR* pVal); }; [ uuid(71189DF5-5B64-462C-AED8-3034B422337F), version(1.0), helpstring("XCrate 1.0 Type Library") ] library XCrateLib { importlib("stdole2.tlb"); [ uuid(581307D4-6118-4c48-A378-C78DEC86678F), helpstring("LAM Event") ] dispinterface ILAMEvent{ properties: methods: [id(1)] void Lam(); }; [ uuid(C29605F6-CE5A-4D7A-884E-F20B5B83D19C), helpstring("Crate Class") ] coclass Crate { [default] interface ICrate; [default,source] dispinterface ILAMEvent; }; };