reactos/modules/rostests/winetests/oleaut32/test_reg.idl

166 lines
3.6 KiB
Text

/*
* 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(fed318b2-c2ed-11e7-abc4-cec278b6b50a)
]
interface ICollection : IDispatch
{
[id(DISPID_VALUE)]
HRESULT Item([in] int i, [out, retval] int *p);
}
[
uuid(f1b68c3b-02a3-4110-bc4c-cf9bc7e7f177)
]
interface IInvokeTest : IDispatch
{
[propget, id(DISPID_VALUE)]
LONG test([in] LONG i);
[propputref, id(1)]
LONG testprop([in] LONG *i);
[propputref, id(2)]
LONG testprop2([in] IUnknown *i);
[id(3)]
HRESULT testfunc([in] int i, [out, retval] int *p);
[propget, id(4)]
HRESULT testget([out, retval] ICollection **p);
}
/* uuid is same as for test_struct2 in test_tlb.idl, fields are different */
[uuid(4029f190-ca4a-4611-aeb9-673983cb96de)]
struct test_struct3
{
UINT32 field;
HRESULT hr;
};
}