181 lines
3.9 KiB
Plaintext
181 lines
3.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),
|
|
id(3),
|
|
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;
|
|
};
|
|
|
|
[
|
|
uuid(f073cd92-a199-11ea-bb37-0242ac130002),
|
|
dllname("test.dll")
|
|
]
|
|
module TestGetDllEntry
|
|
{
|
|
[propget, entry(1)]
|
|
int test1([out] int *i);
|
|
|
|
[propput, entry(2)]
|
|
int test1([in] int i);
|
|
};
|
|
}
|