wine-wine/dlls/oleaut32/tests/test_reg.idl

142 lines
2.9 KiB
Plaintext

/*
* 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
*/
#pragma makedep ident
#pragma makedep typelib
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;
}
[
uuid(f1b68c3b-02a3-4110-bc4c-cf9bc7e7f177)
]
interface IInvokeTest : IDispatch
{
[propget, id(DISPID_VALUE)]
LONG test([in] LONG i);
}
}