2 * Copyright (C) 2005 Robert Shearman
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20 #include "tmarshal_dispids.h"
24 uuid(d96d8a3e-78b6-4c8d-8f27-059db959be8a),
26 helpstring("Test Typelib")
30 importlib("stdole2.tlb");
34 STATE_UNWIDGETIFIED = 1,
38 coclass ApplicationObject2;
42 uuid(a1f8cae3-c947-4c5f-b57d-c87b9b5f3586),
46 interface IWidget : IDispatch
48 [propput, id(DISPID_TM_NAME)]
49 HRESULT Name([in] BSTR name);
50 [propget, id(DISPID_TM_NAME)]
51 HRESULT Name([out, retval] BSTR *name);
53 [id(DISPID_TM_DOSOMETHING)]
54 HRESULT DoSomething([in] double number, [out] BSTR *str1, [in, defaultvalue("")] BSTR str2, [in, optional] VARIANT *opt);
56 [propget, id(DISPID_TM_STATE)]
57 HRESULT State([out, retval] STATE *state);
58 [propput, id(DISPID_TM_STATE)]
59 HRESULT State([in] STATE state);
62 HRESULT Map([in] BSTR bstrId, [out, retval] BSTR *sValue);
64 [id(DISPID_TM_SETOLECOLOR)]
65 HRESULT SetOleColor([in] OLE_COLOR val);
67 [id(DISPID_TM_GETOLECOLOR)]
68 HRESULT GetOleColor([out, retval] OLE_COLOR *pVal);
70 [propget, id(DISPID_TM_CLONE)]
71 HRESULT Clone([out, retval] IWidget **ppVal);
73 [propget, id(DISPID_TM_CLONEDISPATCH)]
74 HRESULT CloneDispatch([out, retval] IDispatch **ppVal);
76 [propget, id(DISPID_TM_CLONECOCLASS)]
77 HRESULT CloneCoclass([out, retval] ApplicationObject2 **ppVal);
80 HRESULT Value([in] VARIANT *value, [out, retval] VARIANT *retval);
83 HRESULT Array([in] SAFEARRAY(BSTR) values);
85 [id(DISPID_TM_VARARRAYPTR)]
86 HRESULT VariantArrayPtr([in] SAFEARRAY(VARIANT) *values);
88 [id(DISPID_TM_VARIANT)]
89 void Variant([in] VARIANT var);
97 uuid(a028db05-30f0-4b93-b17a-41c72f831d84),
101 interface IKindaEnumWidget : IUnknown
104 [out] IWidget **widget);
107 [out] unsigned long *count);
112 [out] IKindaEnumWidget **ppenum);
117 uuid(a028db06-30f0-4b93-b17a-41c72f831d84),
119 interface INonOleAutomation : IUnknown
121 [id(DISPID_NOA_BSTRRET)]
128 uuid(d377f60b-8639-4261-8ee7-75c8340d2cc9),
135 HRESULT BadModuleFoo();
139 dllname("oleaut32.dll"),
140 uuid(d377f60c-8639-4261-8ee7-75c8340d2cc9),
147 HRESULT BadEntryFoo();
151 uuid(bb171948-10ec-407a-9a57-2f85f797ff1a),
154 coclass ApplicationObject2
157 [source] interface IWidget;