/* * A typelib to test registration. * * Copyright 2010 Huw Davies * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ import "oaidl.idl"; /* needed by widl */ [ uuid(a2cfdbd3-2bbf-4b1c-a414-5a5904e634c9), version(1.0) ] library register_test { importlib("stdole2.tlb"); [ uuid(06c1f5f0-ea49-44f9-8e3b-4be00c7a0689) ] interface Inon_ole : IUnknown { HRESULT test(); } [ uuid(06c1f5f1-ea49-44f9-8e3b-4be00c7a0689) ] interface Inon_ole_from_disp : IDispatch { HRESULT test(); } [ uuid(06c1f5f2-ea49-44f9-8e3b-4be00c7a0689), oleautomation ] interface Iole : IUnknown { HRESULT test(); } [ uuid(06c1f5f3-ea49-44f9-8e3b-4be00c7a0689), oleautomation ] interface Iole_from_disp : IDispatch { HRESULT test(); } [ uuid(06c1f5f4-ea49-44f9-8e3b-4be00c7a0689), dual ] interface Inon_ole_dual : IUnknown { HRESULT test(); } [ uuid(06c1f5f5-ea49-44f9-8e3b-4be00c7a0689), oleautomation, dual ] interface Iole_dual : IUnknown { HRESULT test(); } [ uuid(06c1f5f6-ea49-44f9-8e3b-4be00c7a0689), dual ] interface Inon_ole_dual_from_disp : IDispatch { HRESULT test(); } [ uuid(06c1f5f7-ea49-44f9-8e3b-4be00c7a0689), oleautomation, dual ] interface Iole_dual_from_disp : IDispatch { HRESULT test(); } /* oleautomation not allowed with dispinterfaces */ [ uuid(06c1f5f8-ea49-44f9-8e3b-4be00c7a0689) ] dispinterface Idisp { properties: [id(0x0)] BSTR Name; methods: } [ uuid(06c1f5f9-ea49-44f9-8e3b-4be00c7a0689) ] dispinterface Idisp_from_non_ole_iface { interface Inon_ole; } [ uuid(06c1f5fa-ea49-44f9-8e3b-4be00c7a0689) ] dispinterface Idisp_from_ole_from_disp_iface { interface Iole_from_disp; } }