ntdll/tests: Allow alternate results in the info test to make it pass on Vista.
[wine] / include / mshtml.idl
1 /*
2  * Copyright 2004-2007 Jacek Caban for CodeWeavers
3  *
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.
8  *
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.
13  *
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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
17  */
18
19 #include <mshtmdid.h>
20 #include <mshtmcid.h>
21 #include <olectl.h>
22
23 import "ocidl.idl";
24 import "dimm.idl";
25 import "shtypes.idl";
26
27 cpp_quote("#include <olectl.h>")
28
29 cpp_quote("DEFINE_GUID(SID_SEditCommandTarget,  0x3050f4b5,0x98b5,0x11cf,0xbb,0x82,0x00,0xaa,0x00,0xbd,0xce,0x0b);")
30 cpp_quote("DEFINE_GUID(SID_SHTMLEditHost,       0x3050f6a0,0x98b5,0x11cf,0xbb,0x82,0x00,0xaa,0x00,0xbd,0xce,0x0b);")
31 cpp_quote("DEFINE_GUID(SID_SHTMLEditServices,   0x3050f7f9,0x98b5,0x11cf,0xbb,0x82,0x00,0xaa,0x00,0xbd,0xce,0x0b);")
32 cpp_quote("#define SID_SHTMLWindow IID_IHTMLWindow2")
33 cpp_quote("#define SID_SElementBehaviorFactory IID_IElementBehaviorFactory")
34
35 interface IHTMLDocument2;
36 interface IHTMLStyleSheetsCollection;
37 interface IHTMLFrameBase;
38
39 /*****************************************************************************
40  *    IHTMLFiltersCollection interface
41  */
42 [
43     odl,
44     oleautomation,
45     dual,
46     uuid(3050F3EE-98B5-11Cf-BB82-00AA00BDCE0B)
47 ]
48 interface IHTMLFiltersCollection : IDispatch
49 {
50     [propget, id(DISPID_IHTMLFILTERSCOLLECTION_LENGTH)]
51     HRESULT length([retval, out] long *p);
52
53     [propget, id(DISPID_IHTMLFILTERSCOLLECTION__NEWENUM)]
54     HRESULT _newEnum([retval, out] IUnknown **p);
55
56     [id(DISPID_IHTMLFILTERSCOLLECTION_ITEM)]
57     HRESULT item(
58         [in] VARIANT *pvarIndex,
59         [retval, out] VARIANT *pvarResult);
60 }
61
62 [
63     version(4.0),
64     uuid(3050F1C5-98B5-11CF-BB82-00AA00BDCE0B)
65 ]
66 library MSHTML
67 {
68
69 importlib("stdole2.tlb");
70
71 /*****************************************************************************
72  *    IHTMLStyle interface
73  */
74 [
75     odl,
76     oleautomation,
77     dual,
78     uuid(3050F25E-98B5-11CF-BB82-00AA00BDCE0B)
79 ]
80 interface IHTMLStyle : IDispatch
81 {
82     [propput, id(DISPID_IHTMLSTYLE_FONTFAMILY), bindable, displaybind]
83     HRESULT fontFamily([in] BSTR v);
84
85     [propget, id(DISPID_IHTMLSTYLE_FONTFAMILY), bindable, displaybind]
86     HRESULT fontFamily([retval, out] BSTR *p);
87
88     [propput, id(DISPID_IHTMLSTYLE_FONTSTYLE), bindable, displaybind]
89     HRESULT fontStyle([in] BSTR v);
90
91     [propget, id(DISPID_IHTMLSTYLE_FONTSTYLE), bindable, displaybind]
92     HRESULT fontStyle([retval, out] BSTR *p);
93
94     [propput, id(DISPID_IHTMLSTYLE_FONTVARIANT), bindable, displaybind]
95     HRESULT fontVariant([in] BSTR v);
96
97     [propget, id(DISPID_IHTMLSTYLE_FONTVARIANT), bindable, displaybind]
98     HRESULT fontVariant([retval, out] BSTR *p);
99
100     [propput, id(DISPID_IHTMLSTYLE_FONTWEIGHT), bindable, displaybind]
101     HRESULT fontWeight([in] BSTR v);
102
103     [propget, id(DISPID_IHTMLSTYLE_FONTWEIGHT), bindable, displaybind]
104     HRESULT fontWeight([retval, out] BSTR *p);
105
106     [propput, id(DISPID_IHTMLSTYLE_FONTSIZE), bindable, displaybind]
107     HRESULT fontSize([in] VARIANT v);
108
109     [propget, id(DISPID_IHTMLSTYLE_FONTSIZE), bindable, displaybind]
110     HRESULT fontSize([retval, out] VARIANT *p);
111
112     [propput, id(DISPID_IHTMLSTYLE_FONT), bindable, displaybind]
113     HRESULT font([in] BSTR v);
114
115     [propget, id(DISPID_IHTMLSTYLE_FONT), bindable, displaybind]
116     HRESULT font([retval, out] BSTR *p);
117
118     [propput, id(DISPID_IHTMLSTYLE_COLOR), bindable, displaybind]
119     HRESULT color([in] VARIANT v);
120
121     [propget, id(DISPID_IHTMLSTYLE_COLOR), bindable, displaybind]
122     HRESULT color([retval, out] VARIANT *p);
123
124     [propput, id(DISPID_IHTMLSTYLE_BACKGROUND), bindable, displaybind]
125     HRESULT background([in] BSTR v);
126
127     [propget, id(DISPID_IHTMLSTYLE_BACKGROUND), bindable, displaybind]
128     HRESULT background([retval, out] BSTR *p);
129
130     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), bindable, displaybind]
131     HRESULT backgroundColor([in] VARIANT v);
132
133     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), bindable, displaybind]
134     HRESULT backgroundColor([retval, out] VARIANT *p);
135
136     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), bindable, displaybind]
137     HRESULT backgroundImage([in] BSTR v);
138
139     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), bindable, displaybind]
140     HRESULT backgroundImage([retval, out] BSTR *p);
141
142     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), bindable, displaybind]
143     HRESULT backgroundRepeat([in] BSTR v);
144
145     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), bindable, displaybind]
146     HRESULT backgroundRepeat([retval, out] BSTR *p);
147
148     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
149     HRESULT backgroundAttachment([in] BSTR v);
150
151     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
152     HRESULT backgroundAttachment([retval, out] BSTR *p);
153
154     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), bindable, displaybind]
155     HRESULT backgroundPosition([in] BSTR v);
156
157     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), bindable, displaybind]
158     HRESULT backgroundPosition([retval, out] BSTR *p);
159
160     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
161     HRESULT backgroundPositionX([in] VARIANT v);
162
163     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
164     HRESULT backgroundPositionX([retval, out] VARIANT *p);
165
166     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
167     HRESULT backgroundPositionY([in] VARIANT v);
168
169     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
170     HRESULT backgroundPositionY([retval, out] VARIANT *p);
171
172     [propput, id(DISPID_IHTMLSTYLE_WORDSPACING), bindable, displaybind]
173     HRESULT wordSpacing([in] VARIANT v);
174
175     [propget, id(DISPID_IHTMLSTYLE_WORDSPACING), bindable, displaybind]
176     HRESULT wordSpacing([retval, out] VARIANT *p);
177
178     [propput, id(DISPID_IHTMLSTYLE_LETTERSPACING), bindable, displaybind]
179     HRESULT letterSpacing([in] VARIANT v);
180
181     [propget, id(DISPID_IHTMLSTYLE_LETTERSPACING), bindable, displaybind]
182     HRESULT letterSpacing([retval, out] VARIANT *p);
183
184     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATION), bindable, displaybind]
185     HRESULT textDecoration([in] BSTR v);
186
187     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATION), bindable, displaybind]
188     HRESULT textDecoration([retval, out] BSTR *p);
189
190     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), bindable, displaybind]
191     HRESULT textDecorationNone([in] VARIANT_BOOL v);
192
193     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), bindable, displaybind]
194     HRESULT textDecorationNone([retval, out] VARIANT_BOOL *p);
195
196     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
197     HRESULT textDecorationUnderline([in] VARIANT_BOOL v);
198
199     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
200     HRESULT textDecorationUnderline([retval, out] VARIANT_BOOL *p);
201
202     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
203     HRESULT textDecorationOverline([in] VARIANT_BOOL v);
204
205     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
206     HRESULT textDecorationOverline([retval, out] VARIANT_BOOL *p);
207
208     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
209     HRESULT textDecorationLineThrough([in] VARIANT_BOOL v);
210
211     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
212     HRESULT textDecorationLineThrough([retval, out] VARIANT_BOOL *p);
213
214     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
215     HRESULT textDecorationBlink([in] VARIANT_BOOL v);
216
217     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
218     HRESULT textDecorationBlink([retval, out] VARIANT_BOOL *p);
219
220     [propput, id(DISPID_IHTMLSTYLE_VERTICALALIGN), bindable, displaybind]
221     HRESULT verticalAlign([in] VARIANT v);
222
223     [propget, id(DISPID_IHTMLSTYLE_VERTICALALIGN), bindable, displaybind]
224     HRESULT verticalAlign([retval, out] VARIANT *p);
225
226     [propput, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), bindable, displaybind]
227     HRESULT textTransform([in] BSTR v);
228
229     [propget, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), bindable, displaybind]
230     HRESULT textTransform([retval, out] BSTR *p);
231
232     [propput, id(DISPID_IHTMLSTYLE_TEXTALIGN), bindable, displaybind]
233     HRESULT textAlign([in] BSTR v);
234
235     [propget, id(DISPID_IHTMLSTYLE_TEXTALIGN), bindable, displaybind]
236     HRESULT textAlign([retval, out] BSTR *p);
237
238     [propput, id(DISPID_IHTMLSTYLE_TEXTINDENT), bindable, displaybind]
239     HRESULT textIndent([in] VARIANT v);
240
241     [propget, id(DISPID_IHTMLSTYLE_TEXTINDENT), bindable, displaybind]
242     HRESULT textIndent([retval, out] VARIANT *p);
243
244     [propput, id(DISPID_IHTMLSTYLE_LINEHEIGHT), bindable, displaybind]
245     HRESULT lineHeight([in] VARIANT v);
246
247     [propget, id(DISPID_IHTMLSTYLE_LINEHEIGHT), bindable, displaybind]
248     HRESULT lineHeight([retval, out] VARIANT *p);
249
250     [propput, id(DISPID_IHTMLSTYLE_MARGINTOP), bindable, displaybind]
251     HRESULT marginTop([in] VARIANT v);
252
253     [propget, id(DISPID_IHTMLSTYLE_MARGINTOP), bindable, displaybind]
254     HRESULT marginTop([retval, out] VARIANT *p);
255
256     [propput, id(DISPID_IHTMLSTYLE_MARGINRIGHT), bindable, displaybind]
257     HRESULT marginRight([in] VARIANT v);
258
259     [propget, id(DISPID_IHTMLSTYLE_MARGINRIGHT), bindable, displaybind]
260     HRESULT marginRight([retval, out] VARIANT *p);
261
262     [propput, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), bindable, displaybind]
263     HRESULT marginBottom([in] VARIANT v);
264
265     [propget, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), bindable, displaybind]
266     HRESULT marginBottom([retval, out] VARIANT *p);
267
268     [propput, id(DISPID_IHTMLSTYLE_MARGINLEFT), bindable, displaybind]
269     HRESULT marginLeft([in] VARIANT v);
270
271     [propget, id(DISPID_IHTMLSTYLE_MARGINLEFT), bindable, displaybind]
272     HRESULT marginLeft([retval, out] VARIANT *p);
273
274     [propput, id(DISPID_IHTMLSTYLE_MARGIN), bindable, displaybind]
275     HRESULT margin([in] BSTR v);
276
277     [propget, id(DISPID_IHTMLSTYLE_MARGIN), bindable, displaybind]
278     HRESULT margin([retval, out] BSTR *p);
279
280     [propput, id(DISPID_IHTMLSTYLE_PADDINGTOP), bindable, displaybind]
281     HRESULT paddingTop([in] VARIANT v);
282
283     [propget, id(DISPID_IHTMLSTYLE_PADDINGTOP), bindable, displaybind]
284     HRESULT paddingTop([retval, out] VARIANT *p);
285
286     [propput, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), bindable, displaybind]
287     HRESULT paddingRight([in] VARIANT v);
288
289     [propget, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), bindable, displaybind]
290     HRESULT paddingRight([retval, out] VARIANT *p);
291
292     [propput, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), bindable, displaybind]
293     HRESULT paddingBottom([in] VARIANT v);
294
295     [propget, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), bindable, displaybind]
296     HRESULT paddingBottom([retval, out] VARIANT *p);
297
298     [propput, id(DISPID_IHTMLSTYLE_PADDINGLEFT), bindable, displaybind]
299     HRESULT paddingLeft([in] VARIANT v);
300
301     [propget, id(DISPID_IHTMLSTYLE_PADDINGLEFT), bindable, displaybind]
302     HRESULT paddingLeft([retval, out] VARIANT *p);
303
304     [propput, id(DISPID_IHTMLSTYLE_PADDING), bindable, displaybind]
305     HRESULT padding([in] BSTR v);
306
307     [propget, id(DISPID_IHTMLSTYLE_PADDING), bindable, displaybind]
308     HRESULT padding([retval, out] BSTR *p);
309
310     [propput, id(DISPID_IHTMLSTYLE_BORDER), bindable, displaybind]
311     HRESULT border([in] BSTR v);
312
313     [propget, id(DISPID_IHTMLSTYLE_BORDER), bindable, displaybind]
314     HRESULT border([retval, out] BSTR *p);
315
316     [propput, id(DISPID_IHTMLSTYLE_BORDERTOP), bindable, displaybind]
317     HRESULT borderTop([in] BSTR v);
318
319     [propget, id(DISPID_IHTMLSTYLE_BORDERTOP), bindable, displaybind]
320     HRESULT borderTop([retval, out] BSTR *p);
321
322     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHT), bindable, displaybind]
323     HRESULT borderRight([in] BSTR v);
324
325     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHT), bindable, displaybind]
326     HRESULT borderRight([retval, out] BSTR *p);
327
328     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), bindable, displaybind]
329     HRESULT borderBottom([in] BSTR v);
330
331     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), bindable, displaybind]
332     HRESULT borderBottom([retval, out] BSTR *p);
333
334     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFT), bindable, displaybind]
335     HRESULT borderLeft([in] BSTR v);
336
337     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFT), bindable, displaybind]
338     HRESULT borderLeft([retval, out] BSTR *p);
339
340     [propput, id(DISPID_IHTMLSTYLE_BORDERCOLOR), bindable, displaybind]
341     HRESULT borderColor([in] BSTR v);
342
343     [propget, id(DISPID_IHTMLSTYLE_BORDERCOLOR), bindable, displaybind]
344     HRESULT borderColor([retval, out] BSTR *p);
345
346     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), bindable, displaybind]
347     HRESULT borderTopColor([in] VARIANT v);
348
349     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), bindable, displaybind]
350     HRESULT borderTopColor([retval, out] VARIANT *p);
351
352     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
353     HRESULT borderRightColor([in] VARIANT v);
354
355     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
356     HRESULT borderRightColor([retval, out] VARIANT *p);
357
358     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
359     HRESULT borderBottomColor([in] VARIANT v);
360
361     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
362     HRESULT borderBottomColor([retval, out] VARIANT *p);
363
364     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), bindable, displaybind]
365     HRESULT borderLeftColor([in] VARIANT v);
366
367     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), bindable, displaybind]
368     HRESULT borderLeftColor([retval, out] VARIANT *p);
369
370     [propput, id(DISPID_IHTMLSTYLE_BORDERWIDTH), bindable, displaybind]
371     HRESULT borderWidth([in] BSTR v);
372
373     [propget, id(DISPID_IHTMLSTYLE_BORDERWIDTH), bindable, displaybind]
374     HRESULT borderWidth([retval, out] BSTR *p);
375
376     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), bindable, displaybind]
377     HRESULT borderTopWidth([in] VARIANT v);
378
379     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), bindable, displaybind]
380     HRESULT borderTopWidth([retval, out] VARIANT *p);
381
382     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
383     HRESULT borderRightWidth([in] VARIANT v);
384
385     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
386     HRESULT borderRightWidth([retval, out] VARIANT *p);
387
388     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
389     HRESULT borderBottomWidth([in] VARIANT v);
390
391     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
392     HRESULT borderBottomWidth([retval, out] VARIANT *p);
393
394     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), bindable, displaybind]
395     HRESULT borderLeftWidth([in] VARIANT v);
396
397     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), bindable, displaybind]
398     HRESULT borderLeftWidth([retval, out] VARIANT *p);
399
400     [propput, id(DISPID_IHTMLSTYLE_BORDERSTYLE), bindable, displaybind]
401     HRESULT borderStyle([in] BSTR v);
402
403     [propget, id(DISPID_IHTMLSTYLE_BORDERSTYLE), bindable, displaybind]
404     HRESULT borderStyle([retval, out] BSTR *p);
405
406     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), bindable, displaybind]
407     HRESULT borderTopStyle([in] BSTR v);
408
409     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), bindable, displaybind]
410     HRESULT borderTopStyle([retval, out] BSTR *p);
411
412     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
413     HRESULT borderRightStyle([in] BSTR v);
414
415     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
416     HRESULT borderRightStyle([retval, out] BSTR *p);
417
418     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
419     HRESULT borderBottomStyle([in] BSTR v);
420
421     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
422     HRESULT borderBottomStyle([retval, out] BSTR *p);
423
424     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), bindable, displaybind]
425     HRESULT borderLeftStyle([in] BSTR v);
426
427     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), bindable, displaybind]
428     HRESULT borderLeftStyle([retval, out] BSTR *p);
429
430     [propput, id(DISPID_IHTMLSTYLE_WIDTH), bindable, displaybind]
431     HRESULT width([in] VARIANT v);
432
433     [propget, id(DISPID_IHTMLSTYLE_WIDTH), bindable, displaybind]
434     HRESULT width([retval, out] VARIANT *p);
435
436     [propput, id(DISPID_IHTMLSTYLE_HEIGHT), bindable, displaybind]
437     HRESULT height([in] VARIANT v);
438
439     [propget, id(DISPID_IHTMLSTYLE_HEIGHT), bindable, displaybind]
440     HRESULT height([retval, out] VARIANT *p);
441
442     [propput, id(DISPID_IHTMLSTYLE_STYLEFLOAT), bindable, displaybind]
443     HRESULT styleFloat([in] BSTR v);
444
445     [propget, id(DISPID_IHTMLSTYLE_STYLEFLOAT), bindable, displaybind]
446     HRESULT styleFloat([retval, out] BSTR *p);
447
448     [propput, id(DISPID_IHTMLSTYLE_CLEAR), bindable, displaybind]
449     HRESULT clear([in] BSTR v);
450
451     [propget, id(DISPID_IHTMLSTYLE_CLEAR), bindable, displaybind]
452     HRESULT clear([retval, out] BSTR *p);
453
454     [propput, id(DISPID_IHTMLSTYLE_DISPLAY), bindable, displaybind]
455     HRESULT display([in] BSTR v);
456
457     [propget, id(DISPID_IHTMLSTYLE_DISPLAY), bindable, displaybind]
458     HRESULT display([retval, out] BSTR *p);
459
460     [propput, id(DISPID_IHTMLSTYLE_VISIBILITY), bindable, displaybind]
461     HRESULT visibility([in] BSTR v);
462
463     [propget, id(DISPID_IHTMLSTYLE_VISIBILITY), bindable, displaybind]
464     HRESULT visibility([retval, out] BSTR *p);
465
466     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), bindable, displaybind]
467     HRESULT listStyleType([in] BSTR v);
468
469     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), bindable, displaybind]
470     HRESULT listStyleType([retval, out] BSTR *p);
471
472     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), bindable, displaybind]
473     HRESULT listStylePosition([in] BSTR v);
474
475     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), bindable, displaybind]
476     HRESULT listStylePosition([retval, out] BSTR *p);
477
478     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), bindable, displaybind]
479     HRESULT listStyleImage([in] BSTR v);
480
481     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), bindable, displaybind]
482     HRESULT listStyleImage([retval, out] BSTR *p);
483
484     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLE), bindable, displaybind]
485     HRESULT listStyle([in] BSTR v);
486
487     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLE), bindable, displaybind]
488     HRESULT listStyle([retval, out] BSTR *p);
489
490     [propput, id(DISPID_IHTMLSTYLE_WHITESPACE), bindable, displaybind]
491     HRESULT whiteSpace([in] BSTR v);
492
493     [propget, id(DISPID_IHTMLSTYLE_WHITESPACE), bindable, displaybind]
494     HRESULT whiteSpace([retval, out] BSTR *p);
495
496     [propput, id(DISPID_IHTMLSTYLE_TOP), bindable, displaybind]
497     HRESULT top([in] VARIANT v);
498
499     [propget, id(DISPID_IHTMLSTYLE_TOP), bindable, displaybind]
500     HRESULT top([retval, out] VARIANT *p);
501
502     [propput, id(DISPID_IHTMLSTYLE_LEFT), bindable, displaybind]
503     HRESULT left([in] VARIANT v);
504
505     [propget, id(DISPID_IHTMLSTYLE_LEFT), bindable, displaybind]
506     HRESULT left([retval, out] VARIANT *p);
507
508     [propget, id(DISPID_IHTMLSTYLE_POSITION), bindable, displaybind]
509     HRESULT position([retval, out] BSTR *p);
510
511     [propput, id(DISPID_IHTMLSTYLE_ZINDEX), bindable, displaybind]
512     HRESULT zIndex([in] VARIANT v);
513
514     [propget, id(DISPID_IHTMLSTYLE_ZINDEX), bindable, displaybind]
515     HRESULT zIndex([retval, out] VARIANT *p);
516
517     [propput, id(DISPID_IHTMLSTYLE_OVERFLOW), bindable, displaybind]
518     HRESULT overflow([in] BSTR v);
519
520     [propget, id(DISPID_IHTMLSTYLE_OVERFLOW), bindable, displaybind]
521     HRESULT overflow([retval, out] BSTR *p);
522
523     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), bindable, displaybind]
524     HRESULT pageBreakBefore([in] BSTR v);
525
526     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), bindable, displaybind]
527     HRESULT pageBreakBefore([retval, out] BSTR *p);
528
529     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), bindable, displaybind]
530     HRESULT pageBreakAfter([in] BSTR v);
531
532     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), bindable, displaybind]
533     HRESULT pageBreakAfter([retval, out] BSTR *p);
534
535     [propput, id(DISPID_IHTMLSTYLE_CSSTEXT), bindable, displaybind]
536     HRESULT cssText([in] BSTR v);
537
538     [propget, id(DISPID_IHTMLSTYLE_CSSTEXT), bindable, displaybind]
539     HRESULT cssText([retval, out] BSTR *p);
540
541     [propput, id(DISPID_IHTMLSTYLE_PIXELTOP), bindable, displaybind, hidden]
542     HRESULT pixelTop([in] long v);
543
544     [propget, id(DISPID_IHTMLSTYLE_PIXELTOP), bindable, displaybind, hidden]
545     HRESULT pixelTop([retval, out] long *p);
546
547     [propput, id(DISPID_IHTMLSTYLE_PIXELLEFT), bindable, displaybind, hidden]
548     HRESULT pixelLeft([in] long v);
549
550     [propget, id(DISPID_IHTMLSTYLE_PIXELLEFT), bindable, displaybind, hidden]
551     HRESULT pixelLeft([retval, out] long *p);
552
553     [propput, id(DISPID_IHTMLSTYLE_PIXELWIDTH), bindable, displaybind, hidden]
554     HRESULT pixelWidth([in] long v);
555
556     [propget, id(DISPID_IHTMLSTYLE_PIXELWIDTH), bindable, displaybind, hidden]
557     HRESULT pixelWidth([retval, out] long *p);
558
559     [propput, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), bindable, displaybind, hidden]
560     HRESULT pixelHeight([in] long v);
561
562     [propget, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), bindable, displaybind, hidden]
563     HRESULT pixelHeight([retval, out] long *p);
564
565     [propput, id(DISPID_IHTMLSTYLE_POSTOP), bindable, displaybind]
566     HRESULT posTop([in] float v);
567
568     [propget, id(DISPID_IHTMLSTYLE_POSTOP), bindable, displaybind]
569     HRESULT posTop([retval, out] float *p);
570
571     [propput, id(DISPID_IHTMLSTYLE_POSLEFT), bindable, displaybind]
572     HRESULT posLeft([in] float v);
573
574     [propget, id(DISPID_IHTMLSTYLE_POSLEFT), bindable, displaybind]
575     HRESULT posLeft([retval, out] float *p);
576
577     [propput, id(DISPID_IHTMLSTYLE_POSWIDTH), bindable, displaybind]
578     HRESULT posWidth([in] float v);
579
580     [propget, id(DISPID_IHTMLSTYLE_POSWIDTH), bindable, displaybind]
581     HRESULT posWidth([retval, out] float *p);
582
583     [propput, id(DISPID_IHTMLSTYLE_POSHEIGHT), bindable, displaybind]
584     HRESULT posHeight([in] float v);
585
586     [propget, id(DISPID_IHTMLSTYLE_POSHEIGHT), bindable, displaybind]
587     HRESULT posHeight([retval, out] float *p);
588
589     [propput, id(DISPID_IHTMLSTYLE_CURSOR), bindable, displaybind]
590     HRESULT cursor([in] BSTR v);
591
592     [propget, id(DISPID_IHTMLSTYLE_CURSOR), bindable, displaybind]
593     HRESULT cursor([retval, out] BSTR *p);
594
595     [propput, id(DISPID_IHTMLSTYLE_CLIP), bindable, displaybind]
596     HRESULT clip([in] BSTR v);
597
598     [propget, id(DISPID_IHTMLSTYLE_CLIP), bindable, displaybind]
599     HRESULT clip([retval, out] BSTR *p);
600
601     [propput, id(DISPID_IHTMLSTYLE_FILTER), bindable, displaybind]
602     HRESULT filter([in] BSTR v);
603
604     [propget, id(DISPID_IHTMLSTYLE_FILTER), bindable, displaybind]
605     HRESULT filter([retval, out] BSTR *p);
606
607     [id(DISPID_IHTMLSTYLE_SETATTRIBUTE)]
608     HRESULT setAttribute(
609         [in] BSTR strAttributeName,
610         [in] VARIANT AttributeValue,
611         [defaultvalue(1), in] LONG lFlags);
612
613     [id(DISPID_IHTMLSTYLE_GETATTRIBUTE)]
614     HRESULT getAttribute(
615         [in] BSTR strAttributeName,
616         [defaultvalue(0), in] LONG lFlags,
617         [retval, out] VARIANT *AttributeValue);
618
619     [id(DISPID_IHTMLSTYLE_REMOVEATTRIBUTE)]
620     HRESULT removeAttribute(
621         [in] BSTR strAttributeName,
622         [defaultvalue(1), in]
623         LONG lFlags,
624         [retval, out] VARIANT_BOOL *pfSuccess);
625
626     [id(DISPID_IHTMLSTYLE_TOSTRING)]
627     HRESULT toString([retval, out] BSTR *String);
628 }
629
630 /*****************************************************************************
631  *    IHTMLRuleStyle interface
632  */
633 [
634         odl,
635         oleautomation,
636         dual,
637         uuid(3050F3CF-98B5-11CF-BB82-00AA00BDCE0B)
638 ]
639 interface IHTMLRuleStyle : IDispatch
640 {
641     [propput, id(DISPID_IHTMLRULESTYLE_FONTFAMILY), bindable, displaybind]
642     HRESULT fontFamily([in] BSTR v);
643
644     [propget, id(DISPID_IHTMLRULESTYLE_FONTFAMILY), bindable, displaybind]
645     HRESULT fontFamily([retval, out] BSTR *p);
646
647     [propput, id(DISPID_IHTMLRULESTYLE_FONTSTYLE), bindable, displaybind]
648     HRESULT fontStyle([in] BSTR v);
649
650     [propget, id(DISPID_IHTMLRULESTYLE_FONTSTYLE), bindable, displaybind]
651     HRESULT fontStyle([retval, out] BSTR *p);
652
653     [propput, id(DISPID_IHTMLRULESTYLE_FONTVARIANT), bindable, displaybind]
654     HRESULT fontVariant([in] BSTR v);
655
656     [propget, id(DISPID_IHTMLRULESTYLE_FONTVARIANT), bindable, displaybind]
657     HRESULT fontVariant([retval, out] BSTR *p);
658
659     [propput, id(DISPID_IHTMLRULESTYLE_FONTWEIGHT), bindable, displaybind]
660     HRESULT fontWeight([in] BSTR v);
661
662     [propget, id(DISPID_IHTMLRULESTYLE_FONTWEIGHT), bindable, displaybind]
663     HRESULT fontWeight([retval, out] BSTR *p);
664
665     [propput, id(DISPID_IHTMLRULESTYLE_FONTSIZE), bindable, displaybind]
666     HRESULT fontSize([in] VARIANT v);
667
668     [propget, id(DISPID_IHTMLRULESTYLE_FONTSIZE), bindable, displaybind]
669     HRESULT fontSize([retval, out] VARIANT *p);
670
671     [propput, id(DISPID_IHTMLRULESTYLE_FONT), bindable, displaybind]
672     HRESULT font([in] BSTR v);
673
674     [propget, id(DISPID_IHTMLRULESTYLE_FONT), bindable, displaybind]
675     HRESULT font([retval, out] BSTR *p);
676
677     [propput, id(DISPID_IHTMLRULESTYLE_COLOR), bindable, displaybind]
678     HRESULT color([in] VARIANT v);
679
680     [propget, id(DISPID_IHTMLRULESTYLE_COLOR), bindable, displaybind]
681     HRESULT color([retval, out] VARIANT *p);
682
683     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUND), bindable, displaybind]
684     HRESULT background([in] BSTR v);
685
686     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUND), bindable, displaybind]
687     HRESULT background([retval, out] BSTR *p);
688
689     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDCOLOR), bindable, displaybind]
690     HRESULT backgroundColor([in] VARIANT v);
691
692     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDCOLOR), bindable, displaybind]
693     HRESULT backgroundColor([retval, out] VARIANT *p);
694
695     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDIMAGE), bindable, displaybind]
696     HRESULT backgroundImage([in] BSTR v);
697
698     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDIMAGE), bindable, displaybind]
699     HRESULT backgroundImage([retval, out] BSTR *p);
700
701     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDREPEAT), bindable, displaybind]
702     HRESULT backgroundRepeat([in] BSTR v);
703
704     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDREPEAT), bindable, displaybind]
705     HRESULT backgroundRepeat([retval, out] BSTR *p);
706
707     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
708     HRESULT backgroundAttachment([in] BSTR v);
709
710     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
711     HRESULT backgroundAttachment([retval, out] BSTR *p);
712
713     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITION), bindable, displaybind]
714     HRESULT backgroundPosition([in] BSTR v);
715
716     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITION), bindable, displaybind]
717     HRESULT backgroundPosition([retval, out] BSTR *p);
718
719     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
720     HRESULT backgroundPositionX([in] VARIANT v);
721
722     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
723     HRESULT backgroundPositionX([retval, out] VARIANT *p);
724
725     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
726     HRESULT backgroundPositionY([in] VARIANT v);
727
728     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
729     HRESULT backgroundPositionY([retval, out] VARIANT *p);
730
731     [propput, id(DISPID_IHTMLRULESTYLE_WORDSPACING), bindable, displaybind]
732     HRESULT wordSpacing([in] VARIANT v);
733
734     [propget, id(DISPID_IHTMLRULESTYLE_WORDSPACING), bindable, displaybind]
735     HRESULT wordSpacing([retval, out] VARIANT *p);
736
737     [propput, id(DISPID_IHTMLRULESTYLE_LETTERSPACING), bindable, displaybind]
738     HRESULT letterSpacing([in] VARIANT v);
739
740     [propget, id(DISPID_IHTMLRULESTYLE_LETTERSPACING), bindable, displaybind]
741     HRESULT letterSpacing([retval, out] VARIANT *p);
742
743     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATION), bindable, displaybind]
744     HRESULT textDecoration([in] BSTR v);
745
746     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATION), bindable, displaybind]
747     HRESULT textDecoration([retval, out] BSTR *p);
748
749     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONNONE), bindable, displaybind]
750     HRESULT textDecorationNone([in] VARIANT_BOOL v);
751
752     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONNONE), bindable, displaybind]
753     HRESULT textDecorationNone([retval, out] VARIANT_BOOL *p);
754
755     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
756     HRESULT textDecorationUnderline([in] VARIANT_BOOL v);
757
758     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
759     HRESULT textDecorationUnderline([retval, out] VARIANT_BOOL *p);
760
761     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
762     HRESULT textDecorationOverline([in] VARIANT_BOOL v);
763
764     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
765     HRESULT textDecorationOverline([retval, out] VARIANT_BOOL *p);
766
767     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
768     HRESULT textDecorationLineThrough([in] VARIANT_BOOL v);
769
770     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
771     HRESULT textDecorationLineThrough([retval, out] VARIANT_BOOL *p);
772
773     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
774     HRESULT textDecorationBlink([in] VARIANT_BOOL v);
775
776     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
777     HRESULT textDecorationBlink([retval, out] VARIANT_BOOL *p);
778
779     [propput, id(DISPID_IHTMLRULESTYLE_VERTICALALIGN), bindable, displaybind]
780     HRESULT verticalAlign([in] VARIANT v);
781
782     [propget, id(DISPID_IHTMLRULESTYLE_VERTICALALIGN), bindable, displaybind]
783     HRESULT verticalAlign([retval, out] VARIANT *p);
784
785     [propput, id(DISPID_IHTMLRULESTYLE_TEXTTRANSFORM), bindable, displaybind]
786     HRESULT textTransform([in] BSTR v);
787
788     [propget, id(DISPID_IHTMLRULESTYLE_TEXTTRANSFORM), bindable, displaybind]
789     HRESULT textTransform([retval, out] BSTR *p);
790
791     [propput, id(DISPID_IHTMLRULESTYLE_TEXTALIGN), bindable, displaybind]
792     HRESULT textAlign([in] BSTR v);
793
794     [propget, id(DISPID_IHTMLRULESTYLE_TEXTALIGN), bindable, displaybind]
795     HRESULT textAlign([retval, out] BSTR *p);
796
797     [propput, id(DISPID_IHTMLRULESTYLE_TEXTINDENT), bindable, displaybind]
798     HRESULT textIndent([in] VARIANT v);
799
800     [propget, id(DISPID_IHTMLRULESTYLE_TEXTINDENT), bindable, displaybind]
801     HRESULT textIndent([retval, out] VARIANT *p);
802
803     [propput, id(DISPID_IHTMLRULESTYLE_LINEHEIGHT), bindable, displaybind]
804     HRESULT lineHeight([in] VARIANT v);
805
806     [propget, id(DISPID_IHTMLRULESTYLE_LINEHEIGHT), bindable, displaybind]
807     HRESULT lineHeight([retval, out] VARIANT *p);
808
809     [propput, id(DISPID_IHTMLRULESTYLE_MARGINTOP), bindable, displaybind]
810     HRESULT marginTop([in] VARIANT v);
811
812     [propget, id(DISPID_IHTMLRULESTYLE_MARGINTOP), bindable, displaybind]
813     HRESULT marginTop([retval, out] VARIANT *p);
814
815     [propput, id(DISPID_IHTMLRULESTYLE_MARGINRIGHT), bindable, displaybind]
816     HRESULT marginRight([in] VARIANT v);
817
818     [propget, id(DISPID_IHTMLRULESTYLE_MARGINRIGHT), bindable, displaybind]
819     HRESULT marginRight([retval, out] VARIANT *p);
820
821     [propput, id(DISPID_IHTMLRULESTYLE_MARGINBOTTOM), bindable, displaybind]
822     HRESULT marginBottom([in] VARIANT v);
823
824     [propget, id(DISPID_IHTMLRULESTYLE_MARGINBOTTOM), bindable, displaybind]
825     HRESULT marginBottom([retval, out] VARIANT *p);
826
827     [propput, id(DISPID_IHTMLRULESTYLE_MARGINLEFT), bindable, displaybind]
828     HRESULT marginLeft([in] VARIANT v);
829
830     [propget, id(DISPID_IHTMLRULESTYLE_MARGINLEFT), bindable, displaybind]
831     HRESULT marginLeft([retval, out] VARIANT *p);
832
833     [propput, id(DISPID_IHTMLRULESTYLE_MARGIN), bindable, displaybind]
834     HRESULT margin([in] BSTR v);
835
836     [propget, id(DISPID_IHTMLRULESTYLE_MARGIN), bindable, displaybind]
837     HRESULT margin([retval, out] BSTR *p);
838
839     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGTOP), bindable, displaybind]
840     HRESULT paddingTop([in] VARIANT v);
841
842     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGTOP), bindable, displaybind]
843     HRESULT paddingTop([retval, out] VARIANT *p);
844
845     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGRIGHT), bindable, displaybind]
846     HRESULT paddingRight([in] VARIANT v);
847
848     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGRIGHT), bindable, displaybind]
849     HRESULT paddingRight([retval, out] VARIANT *p);
850
851     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGBOTTOM), bindable, displaybind]
852     HRESULT paddingBottom([in] VARIANT v);
853
854     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGBOTTOM), bindable, displaybind]
855     HRESULT paddingBottom([retval, out] VARIANT *p);
856
857     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGLEFT), bindable, displaybind]
858     HRESULT paddingLeft([in] VARIANT v);
859
860     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGLEFT), bindable, displaybind]
861     HRESULT paddingLeft([retval, out] VARIANT *p);
862
863     [propput, id(DISPID_IHTMLRULESTYLE_PADDING), bindable, displaybind]
864     HRESULT padding([in] BSTR v);
865
866     [propget, id(DISPID_IHTMLRULESTYLE_PADDING), bindable, displaybind]
867     HRESULT padding([retval, out] BSTR *p);
868
869     [propput, id(DISPID_IHTMLRULESTYLE_BORDER), bindable, displaybind]
870     HRESULT border([in] BSTR v);
871
872     [propget, id(DISPID_IHTMLRULESTYLE_BORDER), bindable, displaybind]
873     HRESULT border([retval, out] BSTR *p);
874
875     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOP), bindable, displaybind]
876     HRESULT borderTop([in] BSTR v);
877
878     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOP), bindable, displaybind]
879     HRESULT borderTop([retval, out] BSTR *p);
880
881     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHT), bindable, displaybind]
882     HRESULT borderRight([in] BSTR v);
883
884     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHT), bindable, displaybind]
885     HRESULT borderRight([retval, out] BSTR *p);
886
887     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOM), bindable, displaybind]
888     HRESULT borderBottom([in] BSTR v);
889
890     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOM), bindable, displaybind]
891     HRESULT borderBottom([retval, out] BSTR *p);
892
893     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFT), bindable, displaybind]
894     HRESULT borderLeft([in] BSTR v);
895
896     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFT), bindable, displaybind]
897     HRESULT borderLeft([retval, out] BSTR *p);
898
899     [propput, id(DISPID_IHTMLRULESTYLE_BORDERCOLOR), bindable, displaybind]
900     HRESULT borderColor([in] BSTR v);
901
902     [propget, id(DISPID_IHTMLRULESTYLE_BORDERCOLOR), bindable, displaybind]
903     HRESULT borderColor([retval, out] BSTR *p);
904
905     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOPCOLOR), bindable, displaybind]
906     HRESULT borderTopColor([in] VARIANT v);
907
908     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOPCOLOR), bindable, displaybind]
909     HRESULT borderTopColor([retval, out] VARIANT *p);
910
911     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
912     HRESULT borderRightColor([in] VARIANT v);
913
914     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
915     HRESULT borderRightColor([retval, out] VARIANT *p);
916
917     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
918     HRESULT borderBottomColor([in] VARIANT v);
919
920     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
921     HRESULT borderBottomColor([retval, out] VARIANT *p);
922
923     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFTCOLOR), bindable, displaybind]
924     HRESULT borderLeftColor([in] VARIANT v);
925
926     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFTCOLOR), bindable, displaybind]
927     HRESULT borderLeftColor([retval, out] VARIANT *p);
928
929     [propput, id(DISPID_IHTMLRULESTYLE_BORDERWIDTH), bindable, displaybind]
930     HRESULT borderWidth([in] BSTR v);
931
932     [propget, id(DISPID_IHTMLRULESTYLE_BORDERWIDTH), bindable, displaybind]
933     HRESULT borderWidth([retval, out] BSTR *p);
934
935     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOPWIDTH), bindable, displaybind]
936     HRESULT borderTopWidth([in] VARIANT v);
937
938     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOPWIDTH), bindable, displaybind]
939     HRESULT borderTopWidth([retval, out] VARIANT *p);
940
941     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
942     HRESULT borderRightWidth([in] VARIANT v);
943
944     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
945     HRESULT borderRightWidth([retval, out] VARIANT *p);
946
947     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
948     HRESULT borderBottomWidth([in] VARIANT v);
949
950     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
951     HRESULT borderBottomWidth([retval, out] VARIANT *p);
952
953     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFTWIDTH), bindable, displaybind]
954     HRESULT borderLeftWidth([in] VARIANT v);
955
956     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFTWIDTH), bindable, displaybind]
957     HRESULT borderLeftWidth([retval, out] VARIANT *p);
958
959     [propput, id(DISPID_IHTMLRULESTYLE_BORDERSTYLE), bindable, displaybind]
960     HRESULT borderStyle([in] BSTR v);
961
962     [propget, id(DISPID_IHTMLRULESTYLE_BORDERSTYLE), bindable, displaybind]
963     HRESULT borderStyle([retval, out] BSTR *p);
964
965     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOPSTYLE), bindable, displaybind]
966     HRESULT borderTopStyle([in] BSTR v);
967
968     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOPSTYLE), bindable, displaybind]
969     HRESULT borderTopStyle([retval, out] BSTR *p);
970
971     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
972     HRESULT borderRightStyle([in] BSTR v);
973
974     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
975     HRESULT borderRightStyle([retval, out] BSTR *p);
976
977     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
978     HRESULT borderBottomStyle([in] BSTR v);
979
980     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
981     HRESULT borderBottomStyle([retval, out] BSTR *p);
982
983     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFTSTYLE), bindable, displaybind]
984     HRESULT borderLeftStyle([in] BSTR v);
985
986     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFTSTYLE), bindable, displaybind]
987     HRESULT borderLeftStyle([retval, out] BSTR *p);
988
989     [propput, id(DISPID_IHTMLRULESTYLE_WIDTH), bindable, displaybind]
990     HRESULT width([in] VARIANT v);
991
992     [propget, id(DISPID_IHTMLRULESTYLE_WIDTH), bindable, displaybind]
993     HRESULT width([retval, out] VARIANT *p);
994
995     [propput, id(DISPID_IHTMLRULESTYLE_HEIGHT), bindable, displaybind]
996     HRESULT height([in] VARIANT v);
997
998     [propget, id(DISPID_IHTMLRULESTYLE_HEIGHT), bindable, displaybind]
999     HRESULT height([retval, out] VARIANT *p);
1000
1001     [propput, id(DISPID_IHTMLRULESTYLE_STYLEFLOAT), bindable, displaybind]
1002     HRESULT styleFloat([in] BSTR v);
1003
1004     [propget, id(DISPID_IHTMLRULESTYLE_STYLEFLOAT), bindable, displaybind]
1005     HRESULT styleFloat([retval, out] BSTR *p);
1006
1007     [propput, id(DISPID_IHTMLRULESTYLE_CLEAR), bindable, displaybind]
1008     HRESULT clear([in] BSTR v);
1009
1010     [propget, id(DISPID_IHTMLRULESTYLE_CLEAR), bindable, displaybind]
1011     HRESULT clear([retval, out] BSTR *p);
1012
1013     [propput, id(DISPID_IHTMLRULESTYLE_DISPLAY), bindable, displaybind]
1014     HRESULT display([in] BSTR v);
1015
1016     [propget, id(DISPID_IHTMLRULESTYLE_DISPLAY), bindable, displaybind]
1017     HRESULT display([retval, out] BSTR *p);
1018
1019     [propput, id(DISPID_IHTMLRULESTYLE_VISIBILITY), bindable, displaybind]
1020     HRESULT visibility([in] BSTR v);
1021
1022     [propget, id(DISPID_IHTMLRULESTYLE_VISIBILITY), bindable, displaybind]
1023     HRESULT visibility([retval, out] BSTR *p);
1024
1025     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLETYPE), bindable, displaybind]
1026     HRESULT listStyleType([in] BSTR v);
1027
1028     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLETYPE), bindable, displaybind]
1029     HRESULT listStyleType([retval, out] BSTR *p);
1030
1031     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLEPOSITION), bindable, displaybind]
1032     HRESULT listStylePosition([in] BSTR v);
1033
1034     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLEPOSITION), bindable, displaybind]
1035     HRESULT listStylePosition([retval, out] BSTR *p);
1036
1037     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLEIMAGE), bindable, displaybind]
1038     HRESULT listStyleImage([in] BSTR v);
1039
1040     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLEIMAGE), bindable, displaybind]
1041     HRESULT listStyleImage([retval, out] BSTR *p);
1042
1043     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLE), bindable, displaybind]
1044     HRESULT listStyle([in] BSTR v);
1045
1046     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLE), bindable, displaybind]
1047     HRESULT listStyle([retval, out] BSTR *p);
1048
1049     [propput, id(DISPID_IHTMLRULESTYLE_WHITESPACE), bindable, displaybind]
1050     HRESULT whiteSpace([in] BSTR v);
1051
1052     [propget, id(DISPID_IHTMLRULESTYLE_WHITESPACE), bindable, displaybind]
1053     HRESULT whiteSpace([retval, out] BSTR *p);
1054
1055     [propput, id(DISPID_IHTMLRULESTYLE_TOP), bindable, displaybind]
1056     HRESULT top([in] VARIANT v);
1057
1058     [propget, id(DISPID_IHTMLRULESTYLE_TOP), bindable, displaybind]
1059     HRESULT top([retval, out] VARIANT *p);
1060
1061     [propput, id(DISPID_IHTMLRULESTYLE_LEFT), bindable, displaybind]
1062     HRESULT left([in] VARIANT v);
1063
1064     [propget, id(DISPID_IHTMLRULESTYLE_LEFT), bindable, displaybind]
1065     HRESULT left([retval, out] VARIANT *p);
1066
1067     [propget, id(DISPID_IHTMLRULESTYLE_POSITION), bindable, displaybind]
1068     HRESULT position([retval, out] BSTR *p);
1069
1070     [propput, id(DISPID_IHTMLRULESTYLE_ZINDEX), bindable, displaybind]
1071     HRESULT zIndex([in] VARIANT v);
1072
1073     [propget, id(DISPID_IHTMLRULESTYLE_ZINDEX), bindable, displaybind]
1074     HRESULT zIndex([retval, out] VARIANT *p);
1075
1076     [propput, id(DISPID_IHTMLRULESTYLE_OVERFLOW), bindable, displaybind]
1077     HRESULT overflow([in] BSTR v);
1078
1079     [propget, id(DISPID_IHTMLRULESTYLE_OVERFLOW), bindable, displaybind]
1080     HRESULT overflow([retval, out] BSTR *p);
1081
1082     [propput, id(DISPID_IHTMLRULESTYLE_PAGEBREAKBEFORE), bindable, displaybind]
1083     HRESULT pageBreakBefore([in] BSTR v);
1084
1085     [propget, id(DISPID_IHTMLRULESTYLE_PAGEBREAKBEFORE), bindable, displaybind]
1086     HRESULT pageBreakBefore([retval, out] BSTR *p);
1087
1088     [propput, id(DISPID_IHTMLRULESTYLE_PAGEBREAKAFTER), bindable, displaybind]
1089     HRESULT pageBreakAfter([in] BSTR v);
1090
1091     [propget, id(DISPID_IHTMLRULESTYLE_PAGEBREAKAFTER), bindable, displaybind]
1092     HRESULT pageBreakAfter([retval, out] BSTR *p);
1093
1094     [propput, id(DISPID_IHTMLRULESTYLE_CSSTEXT), bindable, displaybind]
1095     HRESULT cssText([in] BSTR v);
1096
1097     [propget, id(DISPID_IHTMLRULESTYLE_CSSTEXT), bindable, displaybind]
1098     HRESULT cssText([retval, out] BSTR *p);
1099
1100     [propput, id(DISPID_IHTMLRULESTYLE_CURSOR), bindable, displaybind]
1101     HRESULT cursor([in] BSTR v);
1102
1103     [propget, id(DISPID_IHTMLRULESTYLE_CURSOR), bindable, displaybind]
1104     HRESULT cursor([retval, out] BSTR *p);
1105
1106     [propput, id(DISPID_IHTMLRULESTYLE_CLIP), bindable, displaybind]
1107     HRESULT clip([in] BSTR v);
1108
1109     [propget, id(DISPID_IHTMLRULESTYLE_CLIP), bindable, displaybind]
1110     HRESULT clip([retval, out] BSTR *p);
1111
1112     [propput, id(DISPID_IHTMLRULESTYLE_FILTER), bindable, displaybind]
1113     HRESULT filter([in] BSTR v);
1114
1115     [propget, id(DISPID_IHTMLRULESTYLE_FILTER), bindable, displaybind]
1116     HRESULT filter([retval, out] BSTR *p);
1117
1118     [id(DISPID_IHTMLRULESTYLE_SETATTRIBUTE)]
1119     HRESULT setAttribute(
1120         [in] BSTR strAttributeName,
1121         [in] VARIANT AttributeValue,
1122         [defaultvalue(1), in] LONG lFlags);
1123
1124     [id(DISPID_IHTMLRULESTYLE_GETATTRIBUTE)]
1125     HRESULT getAttribute(
1126         [in] BSTR strAttributeName,
1127         [defaultvalue(0), in] LONG lFlags,
1128         [retval, out] VARIANT *AttributeValue);
1129
1130     [id(DISPID_IHTMLRULESTYLE_REMOVEATTRIBUTE)]
1131     HRESULT removeAttribute(
1132         [in] BSTR strAttributeName,
1133         [defaultvalue(1), in] LONG lFlags,
1134         [retval, out] VARIANT_BOOL *pfSuccess);
1135 }
1136
1137 /*****************************************************************************
1138  *    DispHTMLStyle dispinterface
1139  */
1140 [
1141     hidden,
1142     uuid(3050f55a-98b5-11cf-bb82-00aa00bdce0b)
1143 ]
1144 dispinterface DispHTMLStyle
1145 {
1146 properties:
1147 methods:
1148     [propput, id(DISPID_IHTMLSTYLE_FONTFAMILY), displaybind, bindable]
1149     void fontFamily(BSTR v);
1150
1151     [propget, id(DISPID_IHTMLSTYLE_FONTFAMILY), displaybind, bindable]
1152     BSTR fontFamily();
1153
1154     [propput, id(DISPID_IHTMLSTYLE_FONTSTYLE), displaybind, bindable]
1155     void fontStyle(BSTR v);
1156
1157     [propget, id(DISPID_IHTMLSTYLE_FONTSTYLE), displaybind, bindable]
1158     BSTR fontStyle();
1159
1160     [propput, id(DISPID_IHTMLSTYLE_FONTVARIANT), displaybind, bindable]
1161     void fontVariant(BSTR v);
1162
1163     [propget, id(DISPID_IHTMLSTYLE_FONTVARIANT), displaybind, bindable]
1164     BSTR fontVariant();
1165
1166     [propput, id(DISPID_IHTMLSTYLE_FONTWEIGHT), displaybind, bindable]
1167     void fontWeight(BSTR v);
1168
1169     [propget, id(DISPID_IHTMLSTYLE_FONTWEIGHT), displaybind, bindable]
1170     BSTR fontWeight();
1171
1172     [propput, id(DISPID_IHTMLSTYLE_FONTSIZE), displaybind, bindable]
1173     void fontSize(VARIANT v);
1174
1175     [propget, id(DISPID_IHTMLSTYLE_FONTSIZE), displaybind, bindable]
1176     VARIANT fontSize();
1177
1178     [propput, id(DISPID_IHTMLSTYLE_FONT), displaybind, bindable, nonbrowsable]
1179     void font(BSTR v);
1180
1181     [propget, id(DISPID_IHTMLSTYLE_FONT), displaybind, bindable, nonbrowsable]
1182     BSTR font();
1183
1184     [propput, id(DISPID_IHTMLSTYLE_COLOR), displaybind, bindable]
1185     void color(VARIANT v);
1186
1187     [propget, id(DISPID_IHTMLSTYLE_COLOR), displaybind, bindable]
1188     VARIANT color();
1189
1190     [propput, id(DISPID_IHTMLSTYLE_BACKGROUND), displaybind, bindable, nonbrowsable]
1191     void background(BSTR v);
1192
1193     [propget, id(DISPID_IHTMLSTYLE_BACKGROUND), displaybind, bindable, nonbrowsable]
1194     BSTR background();
1195
1196     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
1197     void backgroundColor(VARIANT v);
1198
1199     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
1200     VARIANT backgroundColor();
1201
1202     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
1203     void backgroundImage(BSTR v);
1204
1205     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
1206     BSTR backgroundImage();
1207
1208     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
1209     void backgroundRepeat(BSTR v);
1210
1211     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
1212     BSTR backgroundRepeat();
1213
1214     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
1215     void backgroundAttachment(BSTR v);
1216
1217     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
1218     BSTR backgroundAttachment();
1219
1220     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), displaybind, bindable, nonbrowsable]
1221     void backgroundPosition(BSTR v);
1222
1223     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), displaybind, bindable, nonbrowsable]
1224     BSTR backgroundPosition();
1225
1226     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
1227     void backgroundPositionX(VARIANT v);
1228
1229     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
1230     VARIANT backgroundPositionX();
1231
1232     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
1233     void backgroundPositionY(VARIANT v);
1234
1235     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
1236     VARIANT backgroundPositionY();
1237
1238     [propput, id(DISPID_IHTMLSTYLE_WORDSPACING), displaybind, bindable]
1239     void wordSpacing(VARIANT v);
1240
1241     [propget, id(DISPID_IHTMLSTYLE_WORDSPACING), displaybind, bindable]
1242     VARIANT wordSpacing();
1243
1244     [propput, id(DISPID_IHTMLSTYLE_LETTERSPACING), displaybind, bindable]
1245     void letterSpacing(VARIANT v);
1246
1247     [propget, id(DISPID_IHTMLSTYLE_LETTERSPACING), displaybind, bindable]
1248     VARIANT letterSpacing();
1249
1250     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATION), displaybind, bindable]
1251     void textDecoration(BSTR v);
1252
1253     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATION), displaybind, bindable]
1254     BSTR textDecoration();
1255
1256     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), displaybind, bindable]
1257     void textDecorationNone(VARIANT_BOOL v);
1258
1259     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), displaybind, bindable]
1260     VARIANT_BOOL textDecorationNone();
1261
1262     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), displaybind, bindable]
1263     void textDecorationUnderline(VARIANT_BOOL v);
1264
1265     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), displaybind, bindable]
1266     VARIANT_BOOL textDecorationUnderline();
1267
1268     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), displaybind, bindable]
1269     void textDecorationOverline(VARIANT_BOOL v);
1270
1271     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), displaybind, bindable]
1272     VARIANT_BOOL textDecorationOverline();
1273
1274     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), displaybind, bindable]
1275     void textDecorationLineThrough(VARIANT_BOOL v);
1276
1277     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), displaybind, bindable]
1278     VARIANT_BOOL textDecorationLineThrough();
1279
1280     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), displaybind, bindable]
1281     void textDecorationBlink(VARIANT_BOOL v);
1282
1283     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), displaybind, bindable]
1284     VARIANT_BOOL textDecorationBlink();
1285
1286     [propput, id(DISPID_IHTMLSTYLE_VERTICALALIGN), displaybind, bindable]
1287     void verticalAlign(VARIANT v);
1288
1289     [propget, id(DISPID_IHTMLSTYLE_VERTICALALIGN), displaybind, bindable]
1290     VARIANT verticalAlign();
1291
1292     [propput, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), displaybind, bindable]
1293     void textTransform(BSTR v);
1294
1295     [propget, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), displaybind, bindable]
1296     BSTR textTransform();
1297
1298     [propput, id(DISPID_IHTMLSTYLE_TEXTALIGN), displaybind, bindable]
1299     void textAlign(BSTR v);
1300
1301     [propget, id(DISPID_IHTMLSTYLE_TEXTALIGN), displaybind, bindable]
1302     BSTR textAlign();
1303
1304     [propput, id(DISPID_IHTMLSTYLE_TEXTINDENT), displaybind, bindable]
1305     void textIndent(VARIANT v);
1306
1307     [propget, id(DISPID_IHTMLSTYLE_TEXTINDENT), displaybind, bindable]
1308     VARIANT textIndent();
1309
1310     [propput, id(DISPID_IHTMLSTYLE_LINEHEIGHT), displaybind, bindable]
1311     void lineHeight(VARIANT v);
1312
1313     [propget, id(DISPID_IHTMLSTYLE_LINEHEIGHT), displaybind, bindable]
1314     VARIANT lineHeight();
1315
1316     [propput, id(DISPID_IHTMLSTYLE_MARGINTOP), displaybind, bindable]
1317     void marginTop(VARIANT v);
1318
1319     [propget, id(DISPID_IHTMLSTYLE_MARGINTOP), displaybind, bindable]
1320     VARIANT marginTop();
1321
1322     [propput, id(DISPID_IHTMLSTYLE_MARGINRIGHT), displaybind, bindable]
1323     void marginRight(VARIANT v);
1324
1325     [propget, id(DISPID_IHTMLSTYLE_MARGINRIGHT), displaybind, bindable]
1326     VARIANT marginRight();
1327
1328     [propput, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), displaybind, bindable]
1329     void marginBottom(VARIANT v);
1330
1331     [propget, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), displaybind, bindable]
1332     VARIANT marginBottom();
1333
1334     [propput, id(DISPID_IHTMLSTYLE_MARGINLEFT), displaybind, bindable]
1335     void marginLeft(VARIANT v);
1336
1337     [propget, id(DISPID_IHTMLSTYLE_MARGINLEFT), displaybind, bindable]
1338     VARIANT marginLeft();
1339
1340     [propput, id(DISPID_IHTMLSTYLE_MARGIN), displaybind, bindable, nonbrowsable]
1341     void margin(BSTR v);
1342
1343     [propget, id(DISPID_IHTMLSTYLE_MARGIN), displaybind, bindable, nonbrowsable]
1344     BSTR margin();
1345
1346     [propput, id(DISPID_IHTMLSTYLE_PADDINGTOP), displaybind, bindable]
1347     void paddingTop(VARIANT v);
1348
1349     [propget, id(DISPID_IHTMLSTYLE_PADDINGTOP), displaybind, bindable]
1350     VARIANT paddingTop();
1351
1352     [propput, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), displaybind, bindable]
1353     void paddingRight(VARIANT v);
1354
1355     [propget, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), displaybind, bindable]
1356     VARIANT paddingRight();
1357
1358     [propput, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), displaybind, bindable]
1359     void paddingBottom(VARIANT v);
1360
1361     [propget, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), displaybind, bindable]
1362     VARIANT paddingBottom();
1363
1364     [propput, id(DISPID_IHTMLSTYLE_PADDINGLEFT), displaybind, bindable]
1365     void paddingLeft(VARIANT v);
1366
1367     [propget, id(DISPID_IHTMLSTYLE_PADDINGLEFT), displaybind, bindable]
1368     VARIANT paddingLeft();
1369
1370     [propput, id(DISPID_IHTMLSTYLE_PADDING), displaybind, bindable, nonbrowsable]
1371     void padding(BSTR v);
1372
1373     [propget, id(DISPID_IHTMLSTYLE_PADDING), displaybind, bindable, nonbrowsable]
1374     BSTR padding();
1375
1376     [propput, id(DISPID_IHTMLSTYLE_BORDER), displaybind, bindable, nonbrowsable]
1377     void border(BSTR v);
1378
1379     [propget, id(DISPID_IHTMLSTYLE_BORDER), displaybind, bindable, nonbrowsable]
1380     BSTR border();
1381
1382     [propput, id(DISPID_IHTMLSTYLE_BORDERTOP), displaybind, bindable]
1383     void borderTop(BSTR v);
1384
1385     [propget, id(DISPID_IHTMLSTYLE_BORDERTOP), displaybind, bindable]
1386     BSTR borderTop();
1387
1388     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHT), displaybind, bindable]
1389     void borderRight(BSTR v);
1390
1391     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHT), displaybind, bindable]
1392     BSTR borderRight();
1393
1394     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), displaybind, bindable]
1395     void borderBottom(BSTR v);
1396
1397     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), displaybind, bindable]
1398     BSTR borderBottom();
1399
1400     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFT), displaybind, bindable]
1401     void borderLeft(BSTR v);
1402
1403     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFT), displaybind, bindable]
1404     BSTR borderLeft();
1405
1406     [propput, id(DISPID_IHTMLSTYLE_BORDERCOLOR), displaybind, bindable]
1407     void borderColor(BSTR v);
1408
1409     [propget, id(DISPID_IHTMLSTYLE_BORDERCOLOR), displaybind, bindable]
1410     BSTR borderColor();
1411
1412     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), displaybind, bindable]
1413     void borderTopColor(VARIANT v);
1414
1415     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), displaybind, bindable]
1416     VARIANT borderTopColor();
1417
1418     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
1419     void borderRightColor(VARIANT v);
1420
1421     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
1422     VARIANT borderRightColor();
1423
1424     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
1425     void borderBottomColor(VARIANT v);
1426
1427     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
1428     VARIANT borderBottomColor();
1429
1430     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
1431     void borderLeftColor(VARIANT v);
1432
1433     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
1434     VARIANT borderLeftColor();
1435
1436     [propput, id(DISPID_IHTMLSTYLE_BORDERWIDTH), displaybind, bindable]
1437     void borderWidth(BSTR v);
1438
1439     [propget, id(DISPID_IHTMLSTYLE_BORDERWIDTH), displaybind, bindable]
1440     BSTR borderWidth();
1441
1442     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), displaybind, bindable]
1443     void borderTopWidth(VARIANT v);
1444
1445     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), displaybind, bindable]
1446     VARIANT borderTopWidth();
1447
1448     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
1449     void borderRightWidth(VARIANT v);
1450
1451     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
1452     VARIANT borderRightWidth();
1453
1454     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
1455     void borderBottomWidth(VARIANT v);
1456
1457     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
1458     VARIANT borderBottomWidth();
1459
1460     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
1461     void borderLeftWidth(VARIANT v);
1462
1463     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
1464     VARIANT borderLeftWidth();
1465
1466     [propput, id(DISPID_IHTMLSTYLE_BORDERSTYLE), displaybind, bindable]
1467     void borderStyle(BSTR v);
1468
1469     [propget, id(DISPID_IHTMLSTYLE_BORDERSTYLE), displaybind, bindable]
1470     BSTR borderStyle();
1471
1472     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), displaybind, bindable]
1473     void borderTopStyle(BSTR v);
1474
1475     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), displaybind, bindable]
1476     BSTR borderTopStyle();
1477
1478     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
1479     void borderRightStyle(BSTR v);
1480
1481     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
1482     BSTR borderRightStyle();
1483
1484     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
1485     void borderBottomStyle(BSTR v);
1486
1487     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
1488     BSTR borderBottomStyle();
1489
1490     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
1491     void borderLeftStyle(BSTR v);
1492
1493     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
1494     BSTR borderLeftStyle();
1495
1496     [propput, id(DISPID_IHTMLSTYLE_WIDTH), displaybind, bindable]
1497     void width(VARIANT v);
1498
1499     [propget, id(DISPID_IHTMLSTYLE_WIDTH), displaybind, bindable]
1500     VARIANT width();
1501
1502     [propput, id(DISPID_IHTMLSTYLE_HEIGHT), displaybind, bindable]
1503     void height(VARIANT v);
1504
1505     [propget, id(DISPID_IHTMLSTYLE_HEIGHT), displaybind, bindable]
1506     VARIANT height();
1507
1508     [propput, id(DISPID_IHTMLSTYLE_STYLEFLOAT), displaybind, bindable]
1509     void styleFloat(BSTR v);
1510
1511     [propget, id(DISPID_IHTMLSTYLE_STYLEFLOAT), displaybind, bindable]
1512     BSTR styleFloat();
1513
1514     [propput, id(DISPID_IHTMLSTYLE_CLEAR), displaybind, bindable]
1515     void clear(BSTR v);
1516
1517     [propget, id(DISPID_IHTMLSTYLE_CLEAR), displaybind, bindable]
1518     BSTR clear();
1519
1520     [propput, id(DISPID_IHTMLSTYLE_DISPLAY), displaybind, bindable]
1521     void display(BSTR v);
1522
1523     [propget, id(DISPID_IHTMLSTYLE_DISPLAY), displaybind, bindable]
1524     BSTR display();
1525
1526     [propput, id(DISPID_IHTMLSTYLE_VISIBILITY), displaybind, bindable]
1527     void visibility(BSTR v);
1528
1529     [propget, id(DISPID_IHTMLSTYLE_VISIBILITY), displaybind, bindable]
1530     BSTR visibility();
1531
1532     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), displaybind, bindable]
1533     void listStyleType(BSTR v);
1534
1535     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), displaybind, bindable]
1536     BSTR listStyleType();
1537
1538     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
1539     void listStylePosition(BSTR v);
1540
1541     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
1542     BSTR listStylePosition();
1543
1544     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
1545     void listStyleImage(BSTR v);
1546
1547     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
1548     BSTR listStyleImage();
1549
1550     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLE), displaybind, bindable, nonbrowsable]
1551     void listStyle(BSTR v);
1552
1553     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLE), displaybind, bindable, nonbrowsable]
1554     BSTR listStyle();
1555
1556     [propput, id(DISPID_IHTMLSTYLE_WHITESPACE), displaybind, bindable]
1557     void whiteSpace(BSTR v);
1558
1559     [propget, id(DISPID_IHTMLSTYLE_WHITESPACE), displaybind, bindable]
1560     BSTR whiteSpace();
1561
1562     [propput, id(DISPID_IHTMLSTYLE_TOP), displaybind, bindable]
1563     void top(VARIANT v);
1564
1565     [propget, id(DISPID_IHTMLSTYLE_TOP), displaybind, bindable]
1566     VARIANT top();
1567
1568     [propput, id(DISPID_IHTMLSTYLE_LEFT), displaybind, bindable]
1569     void left(VARIANT v);
1570
1571     [propget, id(DISPID_IHTMLSTYLE_LEFT), displaybind, bindable]
1572     VARIANT left();
1573
1574     [propput, id(DISPID_IHTMLSTYLE_ZINDEX), displaybind, bindable]
1575     void zIndex(VARIANT v);
1576
1577     [propget, id(DISPID_IHTMLSTYLE_ZINDEX), displaybind, bindable]
1578     VARIANT zIndex();
1579
1580     [propput, id(DISPID_IHTMLSTYLE_OVERFLOW), displaybind, bindable]
1581     void overflow(BSTR v);
1582
1583     [propget, id(DISPID_IHTMLSTYLE_OVERFLOW), displaybind, bindable]
1584     BSTR overflow();
1585
1586     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
1587     void pageBreakBefore(BSTR v);
1588
1589     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
1590     BSTR pageBreakBefore();
1591
1592     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), displaybind, bindable]
1593     void pageBreakAfter(BSTR v);
1594
1595     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), displaybind, bindable]
1596     BSTR pageBreakAfter();
1597
1598     [propput, id(DISPID_IHTMLSTYLE_CSSTEXT), displaybind, bindable, nonbrowsable]
1599     void cssText(BSTR v);
1600
1601     [propget, id(DISPID_IHTMLSTYLE_CSSTEXT), displaybind, bindable, nonbrowsable]
1602     BSTR cssText();
1603
1604     [propput, id(DISPID_IHTMLSTYLE_PIXELTOP), displaybind, bindable, hidden]
1605     void pixelTop(long v);
1606
1607     [propget, id(DISPID_IHTMLSTYLE_PIXELTOP), displaybind, bindable, hidden]
1608     long pixelTop();
1609
1610     [propput, id(DISPID_IHTMLSTYLE_PIXELLEFT), displaybind, bindable, hidden]
1611     void pixelLeft(long v);
1612
1613     [propget, id(DISPID_IHTMLSTYLE_PIXELLEFT), displaybind, bindable, hidden]
1614     long pixelLeft();
1615
1616     [propput, id(DISPID_IHTMLSTYLE_PIXELWIDTH), displaybind, bindable, hidden]
1617     void pixelWidth(long v);
1618
1619     [propget, id(DISPID_IHTMLSTYLE_PIXELWIDTH), displaybind, bindable, hidden]
1620     long pixelWidth();
1621
1622     [propput, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), displaybind, bindable, hidden]
1623     void pixelHeight(long v);
1624
1625     [propget, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), displaybind, bindable, hidden]
1626     long pixelHeight();
1627
1628     [propput, id(DISPID_IHTMLSTYLE_POSTOP), displaybind, bindable]
1629     void posTop(float v);
1630
1631     [propget, id(DISPID_IHTMLSTYLE_POSTOP), displaybind, bindable]
1632     float posTop();
1633
1634     [propput, id(DISPID_IHTMLSTYLE_POSLEFT), displaybind, bindable]
1635     void posLeft(float v);
1636
1637     [propget, id(DISPID_IHTMLSTYLE_POSLEFT), displaybind, bindable]
1638     float posLeft();
1639
1640     [propput, id(DISPID_IHTMLSTYLE_POSWIDTH), displaybind, bindable]
1641     void posWidth(float v);
1642
1643     [propget, id(DISPID_IHTMLSTYLE_POSWIDTH), displaybind, bindable]
1644     float posWidth();
1645
1646     [propput, id(DISPID_IHTMLSTYLE_POSHEIGHT), displaybind, bindable]
1647     void posHeight(float v);
1648
1649     [propget, id(DISPID_IHTMLSTYLE_POSHEIGHT), displaybind, bindable]
1650     float posHeight();
1651
1652     [propput, id(DISPID_IHTMLSTYLE_CURSOR), displaybind, bindable]
1653     void cursor(BSTR v);
1654
1655     [propget, id(DISPID_IHTMLSTYLE_CURSOR), displaybind, bindable]
1656     BSTR cursor();
1657
1658     [propput, id(DISPID_IHTMLSTYLE_CLIP), displaybind, bindable]
1659     void clip(BSTR v);
1660
1661     [propget, id(DISPID_IHTMLSTYLE_CLIP), displaybind, bindable]
1662     BSTR clip();
1663
1664     [propput, id(DISPID_IHTMLSTYLE_FILTER), displaybind, bindable]
1665     void filter(BSTR v);
1666
1667     [propget, id(DISPID_IHTMLSTYLE_FILTER), displaybind, bindable]
1668     BSTR filter();
1669
1670     [id(DISPID_IHTMLSTYLE_SETATTRIBUTE)]
1671     void setAttribute(
1672             [in] BSTR strAttributeName,
1673             [in] VARIANT AttributeValue,
1674             [in, defaultvalue(1)] LONG lFlags);
1675
1676     [id(DISPID_IHTMLSTYLE_GETATTRIBUTE)]
1677     VARIANT getAttribute(
1678             [in] BSTR strAttributeName,
1679             [in, defaultvalue(0)] LONG lFlags);
1680
1681     [id(DISPID_IHTMLSTYLE_REMOVEATTRIBUTE)]
1682     VARIANT_BOOL removeAttribute(
1683             [in] BSTR strAttributeName,
1684             [in, defaultvalue(1)] LONG lFlags);
1685
1686     [id(DISPID_IHTMLSTYLE_TOSTRING)]
1687     BSTR toString();
1688
1689     [propput, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable]
1690     void tableLayout(BSTR v);
1691
1692     [propget, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable]
1693     BSTR tableLayout();
1694
1695     [propput, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable]
1696     void borderCollapse(BSTR v);
1697
1698     [propget, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable]
1699     BSTR borderCollapse();
1700
1701     [propput, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable]
1702     void direction(BSTR v);
1703
1704     [propget, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable]
1705     BSTR direction();
1706
1707     [propput, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable]
1708     void behavior(BSTR v);
1709
1710     [propget, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable]
1711     BSTR behavior();
1712
1713     [id(DISPID_IHTMLSTYLE2_SETEXPRESSION)]
1714     void setExpression(
1715             [in] BSTR propname,
1716             [in] BSTR expression,
1717             [in, defaultvalue("")] BSTR language);
1718
1719     [id(DISPID_IHTMLSTYLE2_GETEXPRESSION)]
1720     VARIANT getExpression([in] BSTR propname);
1721
1722     [id(DISPID_IHTMLSTYLE2_REMOVEEXPRESSION)]
1723     VARIANT_BOOL removeExpression([in] BSTR propname);
1724
1725     [propput, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable]
1726     void position(BSTR v);
1727
1728     [propget, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable]
1729     BSTR position();
1730
1731     [propput, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable]
1732     void unicodeBidi(BSTR v);
1733
1734     [propget, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable]
1735     BSTR unicodeBidi();
1736
1737     [propput, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable]
1738     void bottom(VARIANT v);
1739
1740     [propget, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable]
1741     VARIANT bottom();
1742
1743     [propput, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable]
1744     void right(VARIANT v);
1745
1746     [propget, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable]
1747     VARIANT right();
1748
1749     [propput, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden]
1750     void pixelBottom(long v);
1751
1752     [propget, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden]
1753     long pixelBottom();
1754
1755     [propput, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden]
1756     void pixelRight(long v);
1757
1758     [propget, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden]
1759     long pixelRight();
1760
1761     [propput, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable]
1762     void posBottom(float v);
1763
1764     [propget, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable]
1765     float posBottom();
1766
1767     [propput, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable]
1768     void posRight(float v);
1769
1770     [propget, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable]
1771     float posRight();
1772
1773     [propput, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable]
1774     void imeMode(BSTR v);
1775
1776     [propget, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable]
1777     BSTR imeMode();
1778
1779     [propput, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable]
1780     void rubyAlign(BSTR v);
1781
1782     [propget, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable]
1783     BSTR rubyAlign();
1784
1785     [propput, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable]
1786     void rubyPosition(BSTR v);
1787
1788     [propget, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable]
1789     BSTR rubyPosition();
1790
1791     [propput, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable]
1792     void rubyOverhang(BSTR v);
1793
1794     [propget, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable]
1795     BSTR rubyOverhang();
1796
1797     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable]
1798     void layoutGridChar(VARIANT v);
1799
1800     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable]
1801     VARIANT layoutGridChar();
1802
1803     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable]
1804     void layoutGridLine(VARIANT v);
1805
1806     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable]
1807     VARIANT layoutGridLine();
1808
1809     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable]
1810     void layoutGridMode(BSTR v);
1811
1812     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable]
1813     BSTR layoutGridMode();
1814
1815     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable]
1816     void layoutGridType(BSTR v);
1817
1818     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable]
1819     BSTR layoutGridType();
1820
1821     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable]
1822     void layoutGrid(BSTR v);
1823
1824     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable]
1825     BSTR layoutGrid();
1826
1827     [propput, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable]
1828     void wordBreak(BSTR v);
1829
1830     [propget, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable]
1831     BSTR wordBreak();
1832
1833     [propput, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable]
1834     void lineBreak(BSTR v);
1835
1836     [propget, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable]
1837     BSTR lineBreak();
1838
1839     [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable]
1840     void textJustify(BSTR v);
1841
1842     [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable]
1843     BSTR textJustify();
1844
1845     [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable]
1846     void textJustifyTrim(BSTR v);
1847
1848     [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable]
1849     BSTR textJustifyTrim();
1850
1851     [propput, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable]
1852     void textKashida(VARIANT v);
1853
1854     [propget, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable]
1855    VARIANT textKashida();
1856
1857     [propput, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable]
1858     void textAutospace(BSTR v);
1859
1860     [propget, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable]
1861     BSTR textAutospace();
1862
1863     [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable]
1864     void overflowX(BSTR v);
1865
1866     [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable]
1867     BSTR overflowX();
1868
1869     [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable]
1870     void overflowY(BSTR v);
1871
1872     [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable]
1873     BSTR overflowY();
1874
1875     [propput, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable]
1876     void accelerator(BSTR v);
1877
1878     [propget, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable]
1879     BSTR accelerator();
1880
1881     [propput, id(DISPID_IHTMLSTYLE3_LAYOUTFLOW), displaybind, bindable]
1882     void layoutFlow(BSTR v);
1883
1884     [propget, id(DISPID_IHTMLSTYLE3_LAYOUTFLOW), displaybind, bindable]
1885     BSTR layoutFlow();
1886
1887     [propput, id(DISPID_IHTMLSTYLE3_ZOOM), displaybind, bindable]
1888     void zoom(VARIANT v);
1889
1890     [propget, id(DISPID_IHTMLSTYLE3_ZOOM), displaybind, bindable]
1891     VARIANT zoom();
1892
1893     [propput, id(DISPID_IHTMLSTYLE3_WORDWRAP), displaybind, bindable]
1894     void wordWrap(BSTR v);
1895
1896     [propget, id(DISPID_IHTMLSTYLE3_WORDWRAP), displaybind, bindable]
1897     BSTR wordWrap();
1898
1899     [propput, id(DISPID_IHTMLSTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable]
1900     void textUnderlinePosition(BSTR v);
1901
1902     [propget, id(DISPID_IHTMLSTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable]
1903     BSTR textUnderlinePosition();
1904
1905     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARBASECOLOR), displaybind, bindable]
1906     void scrollbarBaseColor(VARIANT v);
1907
1908     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARBASECOLOR), displaybind, bindable]
1909     VARIANT scrollbarBaseColor();
1910
1911     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARFACECOLOR), displaybind, bindable]
1912     void scrollbarFaceColor(VARIANT v);
1913
1914     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARFACECOLOR), displaybind, bindable]
1915     VARIANT scrollbarFaceColor();
1916
1917     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
1918     void scrollbar3dLightColor(VARIANT v);
1919
1920     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
1921     VARIANT scrollbar3dLightColor();
1922
1923     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable]
1924     void scrollbarShadowColor(VARIANT v);
1925
1926     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable]
1927     VARIANT scrollbarShadowColor();
1928
1929     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
1930     void scrollbarHighlightColor(VARIANT v);
1931
1932     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
1933     VARIANT scrollbarHighlightColor();
1934
1935     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
1936     void scrollbarDarkShadowColor(VARIANT v);
1937
1938     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
1939     VARIANT scrollbarDarkShadowColor();
1940
1941     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable]
1942     void scrollbarArrowColor(VARIANT v);
1943
1944     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable]
1945     VARIANT scrollbarArrowColor();
1946
1947     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable]
1948     void scrollbarTrackColor(VARIANT v);
1949
1950     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable]
1951     VARIANT scrollbarTrackColor();
1952
1953     [propput, id(DISPID_IHTMLSTYLE3_WRITINGMODE), displaybind, bindable]
1954     void writingMode(BSTR v);
1955
1956     [propget, id(DISPID_IHTMLSTYLE3_WRITINGMODE), displaybind, bindable]
1957     BSTR writingMode();
1958
1959     [propput, id(DISPID_IHTMLSTYLE3_TEXTALIGNLAST), displaybind, bindable]
1960     void textAlignLast(BSTR v);
1961
1962     [propget, id(DISPID_IHTMLSTYLE3_TEXTALIGNLAST), displaybind, bindable]
1963     BSTR textAlignLast();
1964
1965     [propput, id(DISPID_IHTMLSTYLE3_TEXTKASHIDASPACE), displaybind, bindable]
1966     void textKashidaSpace(VARIANT v);
1967
1968     [propget, id(DISPID_IHTMLSTYLE3_TEXTKASHIDASPACE), displaybind, bindable]
1969     VARIANT textKashidaSpace();
1970
1971     [propput, id(DISPID_IHTMLSTYLE4_TEXTOVERFLOW), displaybind, bindable]
1972     void textOverflow(BSTR v);
1973
1974     [propget, id(DISPID_IHTMLSTYLE4_TEXTOVERFLOW), displaybind, bindable]
1975     BSTR textOverflow();
1976
1977     [propput, id(DISPID_IHTMLSTYLE4_MINHEIGHT), displaybind, bindable]
1978     void minHeight(VARIANT v);
1979
1980     [propget, id(DISPID_IHTMLSTYLE4_MINHEIGHT), displaybind, bindable]
1981     VARIANT minHeight();
1982 }
1983
1984 /*****************************************************************************
1985  *    IHTMLRenderStyle interface
1986  */
1987 [
1988     odl,
1989     oleautomation,
1990     dual,
1991     uuid(3050f6ae-98b5-11cf-bb82-00aa00bdce0b)
1992 ]
1993 interface IHTMLRenderStyle : IDispatch
1994 {
1995     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTLINETHROUGHSTYLE), displaybind, bindable]
1996     HRESULT textLineThroughStyle([in] BSTR v);
1997
1998     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTLINETHROUGHSTYLE), displaybind, bindable]
1999     HRESULT textLineThroughStyle([retval, out] BSTR *p);
2000
2001     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTUNDERLINESTYLE), displaybind, bindable]
2002     HRESULT textUnderlineStyle([in] BSTR v);
2003
2004     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTUNDERLINESTYLE), displaybind, bindable]
2005     HRESULT textUnderlineStyle([retval, out] BSTR *p);
2006
2007     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTEFFECT), displaybind, bindable]
2008     HRESULT textEffect([in] BSTR v);
2009
2010     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTEFFECT), displaybind, bindable]
2011     HRESULT textEffect([retval, out] BSTR *p);
2012
2013     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTCOLOR), displaybind, bindable]
2014     HRESULT textColor([in] VARIANT v);
2015
2016     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTCOLOR), displaybind, bindable]
2017     HRESULT textColor([retval, out] VARIANT *p);
2018
2019     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTBACKGROUNDCOLOR), displaybind, bindable]
2020     HRESULT textBackgroundColor([in] VARIANT v);
2021
2022     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTBACKGROUNDCOLOR), displaybind, bindable]
2023     HRESULT textBackgroundColor([retval, out] VARIANT *p);
2024
2025     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATIONCOLOR), displaybind, bindable]
2026     HRESULT textDecorationColor([in] VARIANT v);
2027
2028     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATIONCOLOR), displaybind, bindable]
2029     HRESULT textDecorationColor([retval, out] VARIANT *p);
2030
2031     [propput, id(DISPID_IHTMLRENDERSTYLE_RENDERINGPRIORITY), displaybind, bindable]
2032     HRESULT renderingPriority([in] long v);
2033
2034     [propget, id(DISPID_IHTMLRENDERSTYLE_RENDERINGPRIORITY), displaybind, bindable]
2035     HRESULT renderingPriority([retval, out] long *p);
2036
2037     [propput, id(DISPID_IHTMLRENDERSTYLE_DEFAULTTEXTSELECTION), displaybind, bindable]
2038     HRESULT defaultTextSelection([in] BSTR v);
2039
2040     [propget, id(DISPID_IHTMLRENDERSTYLE_DEFAULTTEXTSELECTION), displaybind, bindable]
2041     HRESULT defaultTextSelection([retval, out] BSTR *p);
2042
2043     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATION), displaybind, bindable]
2044     HRESULT textDecoration([in] BSTR v);
2045
2046     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATION), displaybind, bindable]
2047     HRESULT textDecoration([retval, out] BSTR *p);
2048 }
2049
2050 /*****************************************************************************
2051  *    IHTMLCurrentStyle interface
2052  */
2053 [
2054     odl,
2055     oleautomation,
2056     dual,
2057     uuid(3050f3db-98b5-11cf-bb82-00aa00bdce0b)
2058 ]
2059 interface IHTMLCurrentStyle : IDispatch
2060 {
2061     [propget, id(DISPID_IHTMLCURRENTSTYLE_POSITION), displaybind, bindable]
2062     HRESULT position([retval, out] BSTR *p);
2063
2064     [propget, id(DISPID_IHTMLCURRENTSTYLE_STYLEFLOAT), displaybind, bindable]
2065     HRESULT styleFloat([retval, out] BSTR *p);
2066
2067     [propget, id(DISPID_IHTMLCURRENTSTYLE_COLOR), displaybind, bindable]
2068     HRESULT color([retval, out] VARIANT *p);
2069
2070     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
2071     HRESULT backgroundColor([retval, out] VARIANT *p);
2072
2073     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTFAMILY), displaybind, bindable]
2074     HRESULT fontFamily([retval, out] BSTR *p);
2075
2076     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSTYLE), displaybind, bindable]
2077     HRESULT fontStyle([retval, out] BSTR *p);
2078
2079     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTVARIANT), displaybind, bindable, hidden]
2080     HRESULT fontVariant([retval, out] BSTR *p);
2081
2082     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTWEIGHT), displaybind, bindable]
2083     HRESULT fontWeight([retval, out] VARIANT *p);
2084
2085     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSIZE), displaybind, bindable]
2086     HRESULT fontSize([retval, out] VARIANT *p);
2087
2088     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
2089     HRESULT backgroundImage([retval, out] BSTR *p);
2090
2091     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
2092     HRESULT backgroundPositionX([retval, out] VARIANT *p);
2093
2094     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
2095     HRESULT backgroundPositionY([retval, out] VARIANT *p);
2096
2097     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
2098     HRESULT backgroundRepeat([retval, out] BSTR *p);
2099
2100     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
2101     HRESULT borderLeftColor([retval, out] VARIANT *p);
2102
2103     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPCOLOR), displaybind, bindable]
2104     HRESULT borderTopColor([retval, out] VARIANT *p);
2105
2106     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
2107     HRESULT borderRightColor([retval, out] VARIANT *p);
2108
2109     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
2110     HRESULT borderBottomColor([retval, out] VARIANT *p);
2111
2112     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPSTYLE), displaybind, bindable]
2113     HRESULT borderTopStyle([retval, out] BSTR *p);
2114
2115     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
2116     HRESULT borderRightStyle([retval, out] BSTR *p);
2117
2118     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
2119     HRESULT borderBottomStyle([retval, out] BSTR *p);
2120
2121     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
2122     HRESULT borderLeftStyle([retval, out] BSTR *p);
2123
2124     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPWIDTH), displaybind, bindable]
2125     HRESULT borderTopWidth([retval, out] VARIANT *p);
2126
2127     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
2128     HRESULT borderRightWidth([retval, out] VARIANT *p);
2129
2130     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
2131     HRESULT borderBottomWidth([retval, out] VARIANT *p);
2132
2133     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
2134     HRESULT borderLeftWidth([retval, out] VARIANT *p);
2135
2136     [propget, id(DISPID_IHTMLCURRENTSTYLE_LEFT), displaybind, bindable]
2137     HRESULT left([retval, out] VARIANT *p);
2138
2139     [propget, id(DISPID_IHTMLCURRENTSTYLE_TOP), displaybind, bindable]
2140     HRESULT top([retval, out] VARIANT *p);
2141
2142     [propget, id(DISPID_IHTMLCURRENTSTYLE_WIDTH), displaybind, bindable]
2143     HRESULT width([retval, out] VARIANT *p);
2144
2145     [propget, id(DISPID_IHTMLCURRENTSTYLE_HEIGHT), displaybind, bindable]
2146     HRESULT height([retval, out] VARIANT *p);
2147
2148     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGLEFT), displaybind, bindable]
2149     HRESULT paddingLeft([retval, out] VARIANT *p);
2150
2151     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGTOP), displaybind, bindable]
2152     HRESULT paddingTop([retval, out] VARIANT *p);
2153
2154     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGRIGHT), displaybind, bindable]
2155     HRESULT paddingRight([retval, out] VARIANT *p);
2156
2157     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGBOTTOM), displaybind, bindable]
2158     HRESULT paddingBottom([retval, out] VARIANT *p);
2159
2160     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTALIGN), displaybind, bindable]
2161     HRESULT textAlign([retval, out] BSTR *p);
2162
2163     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTDECORATION), displaybind, bindable]
2164     HRESULT textDecoration([retval, out] BSTR *p);
2165
2166     [propget, id(DISPID_IHTMLCURRENTSTYLE_DISPLAY), displaybind, bindable]
2167     HRESULT display([retval, out] BSTR *p);
2168
2169     [propget, id(DISPID_IHTMLCURRENTSTYLE_VISIBILITY), displaybind, bindable]
2170     HRESULT visibility([retval, out] BSTR *p);
2171
2172     [propget, id(DISPID_IHTMLCURRENTSTYLE_ZINDEX), displaybind, bindable]
2173     HRESULT zIndex([retval, out] VARIANT *p);
2174
2175     [propget, id(DISPID_IHTMLCURRENTSTYLE_LETTERSPACING), displaybind, bindable]
2176     HRESULT letterSpacing([retval, out] VARIANT *p);
2177
2178     [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEHEIGHT), displaybind, bindable]
2179     HRESULT lineHeight([retval, out] VARIANT *p);
2180
2181     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTINDENT), displaybind, bindable]
2182     HRESULT textIndent([retval, out] VARIANT *p);
2183
2184     [propget, id(DISPID_IHTMLCURRENTSTYLE_VERTICALALIGN), displaybind, bindable]
2185     HRESULT verticalAlign([retval, out] VARIANT *p);
2186
2187     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
2188     HRESULT backgroundAttachment([retval, out] BSTR *p);
2189
2190     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINTOP), displaybind, bindable]
2191     HRESULT marginTop([retval, out] VARIANT *p);
2192
2193     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINRIGHT), displaybind, bindable]
2194     HRESULT marginRight([retval, out] VARIANT *p);
2195
2196     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINBOTTOM), displaybind, bindable]
2197     HRESULT marginBottom([retval, out] VARIANT *p);
2198
2199     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINLEFT), displaybind, bindable]
2200     HRESULT marginLeft([retval, out] VARIANT *p);
2201
2202     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLEAR), displaybind, bindable]
2203     HRESULT clear([retval, out] BSTR *p);
2204
2205     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLETYPE), displaybind, bindable]
2206     HRESULT listStyleType([retval, out] BSTR *p);
2207
2208     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
2209     HRESULT listStylePosition([retval, out] BSTR *p);
2210
2211     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
2212     HRESULT listStyleImage([retval, out] BSTR *p);
2213
2214     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPTOP), displaybind, bindable]
2215     HRESULT clipTop([retval, out] VARIANT *p);
2216
2217     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPRIGHT), displaybind, bindable]
2218     HRESULT clipRight([retval, out] VARIANT *p);
2219
2220     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPBOTTOM), displaybind, bindable]
2221     HRESULT clipBottom([retval, out] VARIANT *p);
2222
2223     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPLEFT), displaybind, bindable]
2224     HRESULT clipLeft([retval, out] VARIANT *p);
2225
2226     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOW), displaybind, bindable]
2227     HRESULT overflow([retval, out] BSTR *p);
2228
2229     [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
2230     HRESULT pageBreakBefore([retval, out] BSTR *p);
2231
2232     [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKAFTER), displaybind, bindable]
2233     HRESULT pageBreakAfter([retval, out] BSTR *p);
2234
2235     [propget, id(DISPID_IHTMLCURRENTSTYLE_CURSOR), displaybind, bindable]
2236     HRESULT cursor([retval, out] BSTR *p);
2237
2238     [propget, id(DISPID_IHTMLCURRENTSTYLE_TABLELAYOUT), displaybind, bindable]
2239     HRESULT tableLayout([retval, out] BSTR *p);
2240
2241     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLLAPSE), displaybind, bindable]
2242     HRESULT borderCollapse([retval, out] BSTR *p);
2243
2244     [propget, id(DISPID_IHTMLCURRENTSTYLE_DIRECTION), displaybind, bindable]
2245     HRESULT direction([retval, out] BSTR *p);
2246
2247     [propget, id(DISPID_IHTMLCURRENTSTYLE_BEHAVIOR), displaybind, bindable]
2248     HRESULT behavior([retval, out] BSTR *p);
2249
2250     [id(DISPID_IHTMLCURRENTSTYLE_GETATTRIBUTE)]
2251     HRESULT getAttribute(
2252         [in] BSTR strAttributeName,
2253         [defaultvalue(0), in] LONG lFlags,
2254         [retval, out] VARIANT *AttributeValue);
2255
2256     [propget, id(DISPID_IHTMLCURRENTSTYLE_UNICODEBIDI), displaybind, bindable]
2257     HRESULT unicodeBidi([retval, out] BSTR *p);
2258
2259     [propget, id(DISPID_IHTMLCURRENTSTYLE_RIGHT), displaybind, bindable]
2260     HRESULT right([retval, out] VARIANT *p);
2261
2262     [propget, id(DISPID_IHTMLCURRENTSTYLE_BOTTOM), displaybind, bindable]
2263     HRESULT bottom([retval, out] VARIANT *p);
2264
2265     [propget, id(DISPID_IHTMLCURRENTSTYLE_IMEMODE), displaybind, bindable]
2266     HRESULT imeMode([retval, out] BSTR *p);
2267
2268     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYALIGN), displaybind, bindable]
2269     HRESULT rubyAlign([retval, out] BSTR *p);
2270
2271     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYPOSITION), displaybind, bindable]
2272     HRESULT rubyPosition([retval, out] BSTR *p);
2273
2274     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYOVERHANG), displaybind, bindable]
2275     HRESULT rubyOverhang([retval, out] BSTR *p);
2276
2277     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTAUTOSPACE), displaybind, bindable]
2278     HRESULT textAutospace([retval, out] BSTR *p);
2279
2280     [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEBREAK), displaybind, bindable]
2281     HRESULT lineBreak([retval, out] BSTR *p);
2282
2283     [propget, id(DISPID_IHTMLCURRENTSTYLE_WORDBREAK), displaybind, bindable]
2284     HRESULT wordBreak([retval, out] BSTR *p);
2285
2286     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFY), displaybind, bindable]
2287     HRESULT textJustify([retval, out] BSTR *p);
2288
2289     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFYTRIM), displaybind, bindable]
2290     HRESULT textJustifyTrim([retval, out] BSTR *p);
2291
2292     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTKASHIDA), displaybind, bindable]
2293     HRESULT textKashida([retval, out] VARIANT *p);
2294
2295     [propget, id(DISPID_IHTMLCURRENTSTYLE_BLOCKDIRECTION), displaybind, bindable]
2296     HRESULT blockDirection([retval, out] BSTR *p);
2297
2298     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDCHAR), displaybind, bindable]
2299     HRESULT layoutGridChar([retval, out] VARIANT *p);
2300
2301     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDLINE), displaybind, bindable]
2302     HRESULT layoutGridLine([retval, out] VARIANT *p);
2303
2304     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDMODE), displaybind, bindable]
2305     HRESULT layoutGridMode([retval, out] BSTR *p);
2306
2307     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDTYPE), displaybind, bindable]
2308     HRESULT layoutGridType([retval, out] BSTR *p);
2309
2310     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERSTYLE), displaybind, bindable]
2311     HRESULT borderStyle([retval, out] BSTR *p);
2312
2313     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLOR), displaybind, bindable]
2314     HRESULT borderColor([retval, out] BSTR *p);
2315
2316     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERWIDTH), displaybind, bindable]
2317     HRESULT borderWidth([retval, out] BSTR *p);
2318
2319     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDING), displaybind, bindable]
2320     HRESULT padding([retval, out] BSTR *p);
2321
2322     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGIN), displaybind, bindable]
2323     HRESULT margin([retval, out] BSTR *p);
2324
2325     [propget, id(DISPID_IHTMLCURRENTSTYLE_ACCELERATOR), displaybind, bindable]
2326     HRESULT accelerator([retval, out] BSTR *p);
2327
2328     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWX), displaybind, bindable]
2329     HRESULT overflowX([retval, out] BSTR *p);
2330
2331     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWY), displaybind, bindable]
2332     HRESULT overflowY([retval, out] BSTR *p);
2333
2334     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTTRANSFORM), displaybind, bindable]
2335     HRESULT textTransform([retval, out] BSTR *p);
2336 }
2337
2338 /*****************************************************************************
2339  *    IHTMLRect interface
2340  */
2341 [
2342     odl,
2343     oleautomation,
2344     dual,
2345     uuid(3050f4a3-98b5-11cf-bb82-00aa00bdce0b)
2346 ]
2347 interface IHTMLRect : IDispatch
2348 {
2349     [propput, id(DISPID_IHTMLRECT_LEFT)]
2350     HRESULT left([in] long v);
2351
2352     [propget, id(DISPID_IHTMLRECT_LEFT)]
2353     HRESULT left([retval, out] long *p);
2354
2355     [propput, id(DISPID_IHTMLRECT_TOP)]
2356     HRESULT top([in] long v);
2357
2358     [propget, id(DISPID_IHTMLRECT_TOP)]
2359     HRESULT top([retval, out] long *p);
2360
2361     [propput, id(DISPID_IHTMLRECT_RIGHT)]
2362     HRESULT right([in] long v);
2363
2364     [propget, id(DISPID_IHTMLRECT_RIGHT)]
2365     HRESULT right([retval, out] long *p);
2366
2367     [propput, id(DISPID_IHTMLRECT_BOTTOM)]
2368     HRESULT bottom([in] long v);
2369
2370     [propget, id(DISPID_IHTMLRECT_BOTTOM)]
2371     HRESULT bottom([retval, out] long *p);
2372 }
2373
2374 /*****************************************************************************
2375  *    IHTMLRectCollection interface
2376  */
2377 [
2378     odl,
2379     oleautomation,
2380     dual,
2381     uuid(3050f4a4-98b5-11cf-bb82-00aa00bdce0b)
2382 ]
2383 interface IHTMLRectCollection : IDispatch
2384 {
2385     [propget, id(DISPID_IHTMLRECTCOLLECTION_LENGTH)]
2386     HRESULT length([retval, out] long *p);
2387
2388     [propget, id(DISPID_IHTMLRECTCOLLECTION__NEWENUM), hidden, restricted]
2389     HRESULT _newEnum([retval, out] IUnknown **p);
2390
2391     [id(DISPID_IHTMLRECTCOLLECTION_ITEM)]
2392     HRESULT item(
2393         [in] VARIANT *pvarIndex,
2394         [retval, out] VARIANT *pvarResult);
2395 }
2396
2397 /*****************************************************************************
2398  *    IHTMLDOMNode interface
2399  */
2400 [
2401     odl,
2402     oleautomation,
2403     dual,
2404     uuid(3050f5da-98b5-11cf-bb82-00aa00bdce0b)
2405 ]
2406 interface IHTMLDOMNode : IDispatch
2407 {
2408     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
2409     HRESULT nodeType([retval, out] long *p);
2410
2411     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
2412     HRESULT parentNode([retval, out] IHTMLDOMNode **p);
2413
2414     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
2415     HRESULT hasChildNodes([retval, out] VARIANT_BOOL *fChildren);
2416
2417     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
2418     HRESULT childNodes([retval, out] IDispatch **p);
2419
2420     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
2421     HRESULT attributes([retval, out] IDispatch **p);
2422
2423     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
2424     HRESULT insertBefore(
2425         [in] IHTMLDOMNode *newChild,
2426         [optional, in] VARIANT refChild,
2427         [retval, out] IHTMLDOMNode **node);
2428
2429     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
2430     HRESULT removeChild(
2431         [in] IHTMLDOMNode *oldChild,
2432         [retval, out] IHTMLDOMNode **node);
2433
2434     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
2435     HRESULT replaceChild(
2436         [in] IHTMLDOMNode *newChild,
2437         [in] IHTMLDOMNode *oldChild,
2438         [retval, out] IHTMLDOMNode **node);
2439
2440     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
2441     HRESULT cloneNode(
2442         [in] VARIANT_BOOL fDeep,
2443         [retval, out] IHTMLDOMNode **clonedNode);
2444
2445     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
2446     HRESULT removeNode(
2447         [defaultvalue(0), in] VARIANT_BOOL fDeep,
2448         [retval, out] IHTMLDOMNode **removed);
2449
2450     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
2451     HRESULT swapNode(
2452         [in] IHTMLDOMNode *otherNode,
2453         [retval, out] IHTMLDOMNode **swappedNode);
2454
2455     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
2456     HRESULT replaceNode(
2457         [in] IHTMLDOMNode *replacement,
2458         [retval, out] IHTMLDOMNode **replaced);
2459
2460     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
2461     HRESULT appendChild(
2462         [in] IHTMLDOMNode *newChild,
2463         [retval, out] IHTMLDOMNode **node);
2464
2465     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
2466     HRESULT nodeName([retval, out] BSTR *p);
2467
2468     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
2469     HRESULT nodeValue([in] VARIANT v);
2470
2471     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
2472     HRESULT nodeValue([retval, out] VARIANT *p);
2473
2474     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
2475     HRESULT firstChild([retval, out] IHTMLDOMNode **p);
2476
2477     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
2478     HRESULT lastChild([retval, out] IHTMLDOMNode **p);
2479
2480     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
2481     HRESULT previousSibling([retval, out] IHTMLDOMNode **p);
2482
2483     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
2484     HRESULT nextSibling([retval, out] IHTMLDOMNode **p);
2485 }
2486
2487 /*****************************************************************************
2488  *    IHTMLDOMNode2 interface
2489  */
2490 [
2491     odl,
2492     oleautomation,
2493     dual,
2494     uuid(3050f80b-98b5-11cf-bb82-00aa00bdce0b)
2495 ]
2496 interface IHTMLDOMNode2 : IDispatch
2497 {
2498     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
2499     HRESULT ownerDocument([retval, out] IDispatch **p);
2500 }
2501
2502 /*****************************************************************************
2503  *    IHTMLDOMAttribute interface
2504  */
2505 [
2506     odl,
2507     oleautomation,
2508     dual,
2509     uuid(3050f4b0-98b5-11cf-bb82-00aa00bdce0b)
2510 ]
2511 interface IHTMLDOMAttribute : IDispatch
2512 {
2513     [propget, id(DISPID_IHTMLDOMATTRIBUTE_NODENAME)]
2514     HRESULT nodeName([retval, out] BSTR *p);
2515
2516     [propput, id(DISPID_IHTMLDOMATTRIBUTE_NODEVALUE)]
2517     HRESULT nodeValue([in] VARIANT v);
2518
2519     [propget, id(DISPID_IHTMLDOMATTRIBUTE_NODEVALUE)]
2520     HRESULT nodeValue([retval, out] VARIANT *p);
2521
2522     [propget, id(DISPID_IHTMLDOMATTRIBUTE_SPECIFIED)]
2523     HRESULT specified([retval, out] VARIANT_BOOL *p);
2524 }
2525
2526 /*****************************************************************************
2527  *    IHTMLDOMTextNode interface
2528  */
2529 [
2530     odl,
2531     oleautomation,
2532     dual,
2533     uuid(3050f4b1-98b5-11cf-bb82-00aa00bdce0b)
2534 ]
2535 interface IHTMLDOMTextNode : IDispatch
2536 {
2537     [propput, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
2538     HRESULT data([in] BSTR v);
2539
2540     [propget, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
2541     HRESULT data([out, retval] BSTR *p);
2542
2543     [id(DISPID_IHTMLDOMTEXTNODE_TOSTRING)]
2544     HRESULT toString([out, retval] BSTR *String);
2545
2546     [propget, id(DISPID_IHTMLDOMTEXTNODE_LENGTH)]
2547     HRESULT length([out, retval] long *p);
2548
2549     [id(DISPID_IHTMLDOMTEXTNODE_SPLITTEXT)]
2550     HRESULT splitText(
2551             [in] long offset,
2552             [out, retval] IHTMLDOMNode **pRetNode);
2553 }
2554
2555 /*****************************************************************************
2556  *    IHTMLDOMImplementation interface
2557  */
2558 [
2559     odl,
2560     oleautomation,
2561     dual,
2562     uuid(3050f80d-98b5-11cf-bb82-00aa00bdce0b)
2563 ]
2564 interface IHTMLDOMImplementation : IDispatch
2565 {
2566     [id(DISPID_IHTMLDOMIMPLEMENTATION_HASFEATURE)]
2567     HRESULT hasFeature(
2568         [in] BSTR bstrfeature,
2569         [optional, in] VARIANT version,
2570         [retval, out] VARIANT_BOOL *pfHasFeature);
2571 }
2572
2573 /*****************************************************************************
2574  *    DispHTMLDOMTextNode dispinterface
2575  */
2576 [
2577     hidden,
2578     uuid(3050f565-98b5-11cf-bb82-00aa00bdce0b)
2579 ]
2580 dispinterface DispHTMLDOMTextNode
2581 {
2582 properties:
2583 methods:
2584     [propput, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
2585     void data(BSTR v);
2586
2587     [propget, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
2588     BSTR data();
2589
2590     [id(DISPID_IHTMLDOMTEXTNODE_TOSTRING)]
2591     BSTR toString();
2592
2593     [propget, id(DISPID_IHTMLDOMTEXTNODE_LENGTH)]
2594     long length();
2595
2596     [id(DISPID_IHTMLDOMTEXTNODE_SPLITTEXT)]
2597     IHTMLDOMNode *splitText([in] long offset);
2598
2599     [id(DISPID_IHTMLDOMTEXTNODE2_SUBSTRINGDATA)]
2600     BSTR substringData(
2601             [in] long offset,
2602             [in] long Count);
2603
2604     [id(DISPID_IHTMLDOMTEXTNODE2_APPENDDATA)]
2605     void appendData([in] BSTR bstrstring);
2606
2607     [id(DISPID_IHTMLDOMTEXTNODE2_INSERTDATA)]
2608     void insertData(
2609             [in] long offset,
2610             [in] BSTR bstrstring);
2611
2612     [id(DISPID_IHTMLDOMTEXTNODE2_DELETEDATA)]
2613     void deleteData(
2614             [in] long offset,
2615             [in] long Count);
2616
2617     [id(DISPID_IHTMLDOMTEXTNODE2_REPLACEDATA)]
2618     void replaceData(
2619             [in] long offset,
2620             [in] long Count,
2621             [in] BSTR bstrstring);
2622
2623     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
2624     long nodeType();
2625
2626     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
2627     IHTMLDOMNode *parentNode();
2628
2629     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
2630     VARIANT_BOOL hasChildNodes();
2631
2632     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
2633     IDispatch *childNodes();
2634
2635     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
2636     IDispatch *attributes();
2637
2638     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
2639     IHTMLDOMNode *insertBefore(
2640             [in] IHTMLDOMNode *newChild,
2641             [in, optional] VARIANT refChild);
2642
2643     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
2644     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
2645
2646     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
2647     IHTMLDOMNode *replaceChild(
2648             [in] IHTMLDOMNode *newChild,
2649             [in] IHTMLDOMNode *oldChild);
2650
2651     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
2652     IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
2653
2654     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
2655     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
2656
2657     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
2658     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
2659
2660     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
2661     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
2662
2663     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
2664     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
2665
2666     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
2667     BSTR nodeName();
2668
2669     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
2670     void nodeValue(VARIANT v);
2671
2672     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
2673     VARIANT nodeValue();
2674
2675     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
2676     IHTMLDOMNode *firstChild();
2677
2678     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
2679     IHTMLDOMNode *lastChild();
2680
2681     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
2682     IHTMLDOMNode *previousSibling();
2683
2684     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
2685     IHTMLDOMNode* nextSibling();
2686
2687     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
2688     IDispatch *ownerDocument();
2689 }
2690
2691 /*****************************************************************************
2692  *    IHTMLDOMChildrenCollection interface
2693  */
2694 [
2695     odl,
2696     oleautomation,
2697     dual,
2698     uuid(3050f5ab-98b5-11cf-bb82-00aa00bdce0b)
2699 ]
2700 interface IHTMLDOMChildrenCollection : IDispatch
2701 {
2702     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION_LENGTH)]
2703     HRESULT length([out, retval] long *p);
2704
2705     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION__NEWENUM), hidden, restricted]
2706     HRESULT _newEnum([out, retval] IUnknown **p);
2707
2708     [id(DISPID_IHTMLDOMCHILDRENCOLLECTION_ITEM)]
2709     HRESULT item(
2710             [in] long index,
2711             [out, retval] IDispatch **ppItem);
2712 }
2713
2714 /*****************************************************************************
2715  *    DispDOMChildrenCollection dispinterface
2716  */
2717 [
2718     hidden,
2719     uuid(3050f577-98b5-11cf-bb82-00aa00bdce0b)
2720 ]
2721 dispinterface DispDOMChildrenCollection
2722 {
2723 properties:
2724 methods:
2725     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION_LENGTH)]
2726     long length();
2727
2728     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION__NEWENUM), hidden, restricted]
2729     IUnknown *_newEnum();
2730
2731     [id(DISPID_IHTMLDOMCHILDRENCOLLECTION_ITEM)]
2732     IDispatch *item([in] long index);
2733 }
2734
2735 interface IHTMLElementCollection;
2736
2737 /*****************************************************************************
2738  *    IHTMLElement interface
2739  */
2740 [
2741     odl,
2742     dual,
2743     oleautomation,
2744     uuid(3050f1FF-98B5-11CF-BB82-00AA00BDCE0B)
2745 ]
2746 interface IHTMLElement : IDispatch
2747 {
2748     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
2749     HRESULT setAttribute(
2750         [in] BSTR strAttributeName,
2751         [in] VARIANT AttributeValue,
2752         [defaultvalue(1), in] LONG lFlags);
2753
2754     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
2755     HRESULT getAttribute(
2756         [in] BSTR strAttributeName,
2757         [defaultvalue(0), in] LONG lFlags,
2758         [retval, out] VARIANT *AttributeValue);
2759
2760     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
2761     HRESULT removeAttribute(
2762         [in] BSTR strAttributeName,
2763         [defaultvalue(1), in] LONG lFlags,
2764         [retval, out] VARIANT_BOOL *pfSuccess);
2765
2766     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME)]
2767     HRESULT className([in] BSTR v);
2768
2769     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME)]
2770     HRESULT className([retval, out] BSTR *p);
2771
2772     [propput, id(DISPID_IHTMLELEMENT_ID)]
2773     HRESULT id([in] BSTR v);
2774
2775     [propget, id(DISPID_IHTMLELEMENT_ID)]
2776     HRESULT id([retval, out] BSTR *p);
2777
2778     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
2779     HRESULT tagName([retval, out] BSTR *p);
2780
2781     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
2782     HRESULT parentElement([retval, out] IHTMLElement **p);
2783
2784     [propget, id(DISPID_IHTMLELEMENT_STYLE)]
2785     HRESULT style([retval, out] IHTMLStyle **p);
2786
2787     [propput, id(DISPID_IHTMLELEMENT_ONHELP)]
2788     HRESULT onhelp([in] VARIANT v);
2789
2790     [propget, id(DISPID_IHTMLELEMENT_ONHELP)]
2791     HRESULT onhelp([retval, out] VARIANT *p);
2792
2793     [propput, id(DISPID_IHTMLELEMENT_ONCLICK)]
2794     HRESULT onclick([in] VARIANT v);
2795
2796     [propget, id(DISPID_IHTMLELEMENT_ONCLICK)]
2797     HRESULT onclick([retval, out] VARIANT *p);
2798
2799     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK)]
2800     HRESULT ondblclick([in] VARIANT v);
2801
2802     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK)]
2803     HRESULT ondblclick([retval, out] VARIANT *p);
2804
2805     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN)]
2806     HRESULT onkeydown([in] VARIANT v);
2807
2808     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN)]
2809     HRESULT onkeydown([retval, out] VARIANT *p);
2810
2811     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP)]
2812     HRESULT onkeyup([in] VARIANT v);
2813
2814     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP)]
2815     HRESULT onkeyup([retval, out] VARIANT *p);
2816
2817     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS)]
2818     HRESULT onkeypress([in] VARIANT v);
2819
2820     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS)]
2821     HRESULT onkeypress([retval, out] VARIANT *p);
2822
2823     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT)]
2824     HRESULT onmouseout([in] VARIANT v);
2825
2826     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT)]
2827     HRESULT onmouseout([retval, out] VARIANT *p);
2828
2829     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER)]
2830     HRESULT onmouseover([in] VARIANT v);
2831
2832     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER)]
2833     HRESULT onmouseover([retval, out] VARIANT *p);
2834
2835     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE)]
2836     HRESULT onmousemove([in] VARIANT v);
2837
2838     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE)]
2839     HRESULT onmousemove([retval, out] VARIANT *p);
2840
2841     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN)]
2842     HRESULT onmousedown([in] VARIANT v);
2843
2844     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN)]
2845     HRESULT onmousedown([retval, out] VARIANT *p);
2846
2847     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP)]
2848     HRESULT onmouseup([in] VARIANT v);
2849
2850     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP)]
2851     HRESULT onmouseup([retval, out] VARIANT *p);
2852
2853     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
2854     HRESULT document([retval, out] IDispatch **p);
2855
2856     [propput, id(DISPID_IHTMLELEMENT_TITLE)]
2857     HRESULT title([in] BSTR v);
2858
2859     [propget, id(DISPID_IHTMLELEMENT_TITLE)]
2860     HRESULT title([retval, out] BSTR *p);
2861
2862     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE)]
2863     HRESULT language([in] BSTR v);
2864
2865     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE)]
2866     HRESULT language([retval, out] BSTR *p);
2867
2868     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART)]
2869     HRESULT onselectstart([in] VARIANT v);
2870
2871     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART)]
2872     HRESULT onselectstart([retval, out] VARIANT *p);
2873
2874     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
2875     HRESULT scrollIntoView([optional, in] VARIANT varargStart);
2876
2877     [id(DISPID_IHTMLELEMENT_CONTAINS)]
2878     HRESULT contains(
2879         [in] IHTMLElement *pChild,
2880         [retval, out] VARIANT_BOOL *pfResult);
2881
2882     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX)]
2883     HRESULT sourceIndex([retval, out] long *p);
2884
2885     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
2886     HRESULT recordNumber([retval, out] VARIANT *p);
2887
2888     [propput, id(DISPID_IHTMLELEMENT_LANG)]
2889     HRESULT lang([in] BSTR v);
2890
2891     [propget, id(DISPID_IHTMLELEMENT_LANG)]
2892     HRESULT lang([retval, out] BSTR *p);
2893
2894     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
2895     HRESULT offsetLeft([retval, out] long *p);
2896
2897     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
2898     HRESULT offsetTop([retval, out] long *p);
2899
2900     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
2901     HRESULT offsetWidth([retval, out] long *p);
2902
2903     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
2904     HRESULT offsetHeight([retval, out] long *p);
2905
2906     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
2907     HRESULT offsetParent([retval, out] IHTMLElement **p);
2908
2909     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
2910     HRESULT innerHTML([in] BSTR v);
2911
2912     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
2913     HRESULT innerHTML([retval, out] BSTR *p);
2914
2915     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
2916     HRESULT innerText([in] BSTR v);
2917
2918     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
2919     HRESULT innerText([retval, out] BSTR *p);
2920
2921     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
2922     HRESULT outerHTML([in] BSTR v);
2923
2924     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
2925     HRESULT outerHTML([retval, out] BSTR *p);
2926
2927     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
2928     HRESULT outerText([in] BSTR v);
2929
2930     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
2931     HRESULT outerText([retval, out] BSTR *p);
2932
2933     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
2934     HRESULT insertAdjacentHTML([in] BSTR where, [in] BSTR html);
2935
2936     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
2937     HRESULT insertAdjacentText([in] BSTR where, [in] BSTR text);
2938
2939     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
2940     HRESULT parentTextEdit([retval, out] IHTMLElement **p);
2941
2942     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
2943     HRESULT isTextEdit([retval, out] VARIANT_BOOL *p);
2944
2945     [id(DISPID_IHTMLELEMENT_CLICK)]
2946     HRESULT click();
2947
2948     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
2949     HRESULT filters([retval, out] IHTMLFiltersCollection **p);
2950
2951     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART)]
2952     HRESULT ondragstart([in] VARIANT v);
2953
2954     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART)]
2955     HRESULT ondragstart([retval, out] VARIANT *p);
2956
2957     [id(DISPID_IHTMLELEMENT_TOSTRING)]
2958     HRESULT toString([retval, out] BSTR *String);
2959
2960     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE)]
2961     HRESULT onbeforeupdate([in] VARIANT v);
2962
2963     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE)]
2964     HRESULT onbeforeupdate([retval, out] VARIANT *p);
2965
2966     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE)]
2967     HRESULT onafterupdate([in] VARIANT v);
2968
2969     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE)]
2970     HRESULT onafterupdate([retval, out] VARIANT *p);
2971
2972     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE)]
2973     HRESULT onerrorupdate([in] VARIANT v);
2974
2975     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE)]
2976     HRESULT onerrorupdate([retval, out] VARIANT *p);
2977
2978     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT)]
2979     HRESULT onrowexit([in] VARIANT v);
2980
2981     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT)]
2982     HRESULT onrowexit([retval, out] VARIANT *p);
2983
2984     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER)]
2985     HRESULT onrowenter([in] VARIANT v);
2986
2987     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER)]
2988     HRESULT onrowenter([retval, out] VARIANT *p);
2989
2990     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED)]
2991     HRESULT ondatasetchanged([in] VARIANT v);
2992
2993     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED)]
2994     HRESULT ondatasetchanged([retval, out] VARIANT *p);
2995
2996     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE)]
2997     HRESULT ondataavailable([in] VARIANT v);
2998
2999     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE)]
3000     HRESULT ondataavailable([retval, out] VARIANT *p);
3001
3002     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE)]
3003     HRESULT ondatasetcomplete([in] VARIANT v);
3004
3005     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE)]
3006     HRESULT ondatasetcomplete([retval, out] VARIANT *p);
3007
3008     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE)]
3009     HRESULT onfilterchange([in] VARIANT v);
3010
3011     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE)]
3012     HRESULT onfilterchange([retval, out] VARIANT *p);
3013
3014     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
3015     HRESULT children([retval, out] IDispatch **p);
3016
3017     [propget, id(DISPID_IHTMLELEMENT_ALL)]
3018     HRESULT all([retval, out] IDispatch **p);
3019 }
3020
3021 /*****************************************************************************
3022  *    IHTMLElement2 interface
3023  */
3024 [
3025     odl,
3026     oleautomation,
3027     dual,
3028     uuid(3050f434-98b5-11cf-bb82-00aa00bdce0b)
3029 ]
3030 interface IHTMLElement2 : IDispatch
3031 {
3032     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
3033     HRESULT scopeName([retval, out] BSTR *p);
3034
3035     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
3036     HRESULT setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
3037
3038     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
3039     HRESULT releaseCapture();
3040
3041     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
3042     HRESULT onlosecapture([in] VARIANT v);
3043
3044     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
3045     HRESULT onlosecapture([retval, out] VARIANT *p);
3046
3047     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
3048     HRESULT componentFromPoint(
3049         [in] long x,
3050         [in] long y,
3051         [retval, out] BSTR *component);
3052
3053     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
3054     HRESULT doScroll([optional, in] VARIANT component);
3055
3056     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
3057     HRESULT onscroll([in] VARIANT v);
3058
3059     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
3060     HRESULT onscroll([retval, out] VARIANT *p);
3061
3062     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
3063     HRESULT ondrag([in] VARIANT v);
3064
3065     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
3066     HRESULT ondrag([retval, out] VARIANT *p);
3067
3068     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
3069     HRESULT ondragend([in] VARIANT v);
3070
3071     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
3072     HRESULT ondragend([retval, out] VARIANT *p);
3073
3074     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
3075     HRESULT ondragenter([in] VARIANT v);
3076
3077     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
3078     HRESULT ondragenter([retval, out] VARIANT *p);
3079
3080     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
3081     HRESULT ondragover([in] VARIANT v);
3082
3083     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
3084     HRESULT ondragover([retval, out] VARIANT *p);
3085
3086     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
3087     HRESULT ondragleave([in] VARIANT v);
3088
3089     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
3090     HRESULT ondragleave([retval, out] VARIANT *p);
3091
3092     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
3093     HRESULT ondrop([in] VARIANT v);
3094
3095     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
3096     HRESULT ondrop([retval, out] VARIANT *p);
3097
3098     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
3099     HRESULT onbeforecut([in] VARIANT v);
3100
3101     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
3102     HRESULT onbeforecut([retval, out] VARIANT *p);
3103
3104     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
3105     HRESULT oncut([in] VARIANT v);
3106
3107     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
3108     HRESULT oncut([retval, out] VARIANT *p);
3109
3110     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
3111     HRESULT onbeforecopy([in] VARIANT v);
3112
3113     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
3114     HRESULT onbeforecopy([retval, out] VARIANT *p);
3115
3116     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
3117     HRESULT oncopy([in] VARIANT v);
3118
3119     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
3120     HRESULT oncopy([retval, out] VARIANT *p);
3121
3122     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
3123     HRESULT onbeforepaste([in] VARIANT v);
3124
3125     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
3126     HRESULT onbeforepaste([retval, out] VARIANT *p);
3127
3128     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
3129     HRESULT onpaste([in] VARIANT v);
3130
3131     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
3132     HRESULT onpaste([retval, out] VARIANT *p);
3133
3134     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
3135     HRESULT currentStyle([retval, out] IHTMLCurrentStyle **p);
3136
3137     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
3138     HRESULT onpropertychange([in] VARIANT v);
3139
3140     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
3141     HRESULT onpropertychange([retval, out] VARIANT *p);
3142
3143     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
3144     HRESULT getClientRects([retval, out] IHTMLRectCollection **pRectCol);
3145
3146     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
3147     HRESULT getBoundingClientRect([retval, out] IHTMLRect **pRect);
3148
3149     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
3150     HRESULT setExpression(
3151         [in] BSTR propname,
3152         [in] BSTR expression,
3153         [defaultvalue(""), in] BSTR language);
3154
3155     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
3156     HRESULT getExpression(
3157         [in] BSTR propname,
3158         [retval, out] VARIANT *expression);
3159
3160     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
3161     HRESULT removeExpression(
3162         [in] BSTR propname,
3163         [retval, out] VARIANT_BOOL *pfSuccess);
3164
3165     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
3166     HRESULT tabIndex([in] short v);
3167
3168     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
3169     HRESULT tabIndex([retval, out] short *p);
3170
3171     [id(DISPID_IHTMLELEMENT2_FOCUS)]
3172     HRESULT focus();
3173
3174     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
3175     HRESULT accessKey([in] BSTR v);
3176
3177     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
3178     HRESULT accessKey([retval, out] BSTR *p);
3179
3180     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
3181     HRESULT onblur([in] VARIANT v);
3182
3183     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
3184     HRESULT onblur([retval, out] VARIANT *p);
3185
3186     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
3187     HRESULT onfocus([in] VARIANT v);
3188
3189     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
3190     HRESULT onfocus([retval, out] VARIANT *p);
3191
3192     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
3193     HRESULT onresize([in] VARIANT v);
3194
3195     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
3196     HRESULT onresize([retval, out] VARIANT *p);
3197
3198     [id(DISPID_IHTMLELEMENT2_BLUR)]
3199     HRESULT blur();
3200
3201     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
3202     HRESULT addFilter([in] IUnknown *pUnk);
3203
3204     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
3205     HRESULT removeFilter([in] IUnknown *pUnk);
3206
3207     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
3208     HRESULT clientHeight([retval, out] long *p);
3209
3210     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
3211     HRESULT clientWidth([retval, out] long *p);
3212
3213     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
3214     HRESULT clientTop([retval, out] long *p);
3215
3216     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
3217     HRESULT clientLeft([retval, out] long *p);
3218
3219     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
3220     HRESULT attachEvent(
3221         [in] BSTR event,
3222         [in] IDispatch *pDisp,
3223         [retval, out] VARIANT_BOOL *pfResult);
3224
3225     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
3226     HRESULT detachEvent(
3227         [in] BSTR event,
3228         [in] IDispatch *pDisp);
3229
3230     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
3231     HRESULT readyState([retval, out] VARIANT *p);
3232
3233     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
3234     HRESULT onreadystatechange([in] VARIANT v);
3235
3236     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
3237     HRESULT onreadystatechange([retval, out] VARIANT *p);
3238
3239     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
3240     HRESULT onrowsdelete([in] VARIANT v);
3241
3242     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
3243     HRESULT onrowsdelete([retval, out] VARIANT *p);
3244
3245     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
3246     HRESULT onrowsinserted([in] VARIANT v);
3247
3248     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
3249     HRESULT onrowsinserted([retval, out] VARIANT *p);
3250
3251     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
3252     HRESULT oncellchange([in] VARIANT v);
3253
3254     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
3255     HRESULT oncellchange([retval, out] VARIANT *p);
3256
3257     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
3258     HRESULT dir([in] BSTR v);
3259
3260     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
3261     HRESULT dir([retval, out] BSTR *p);
3262
3263     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
3264     HRESULT createControlRange([retval, out] IDispatch **range);
3265
3266     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
3267     HRESULT scrollHeight([retval, out] long *p);
3268
3269     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
3270     HRESULT scrollWidth([retval, out] long *p);
3271
3272     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
3273     HRESULT scrollTop([in] long v);
3274
3275     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
3276     HRESULT scrollTop([retval, out] long *p);
3277
3278     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
3279     HRESULT scrollLeft([in] long v);
3280
3281     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
3282     HRESULT scrollLeft([retval, out] long *p);
3283
3284     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
3285     HRESULT clearAttributes();
3286
3287     [id(DISPID_IHTMLELEMENT2_MERGEATTRIBUTES)]
3288     HRESULT mergeAttributes([in] IHTMLElement *mergeThis);
3289
3290     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
3291     HRESULT oncontextmenu([in] VARIANT v);
3292
3293     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
3294     HRESULT oncontextmenu([retval, out] VARIANT *p);
3295
3296     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
3297     HRESULT insertAdjacentElement(
3298         [in] BSTR where,
3299         [in] IHTMLElement *insertedElement,
3300         [retval, out] IHTMLElement **inserted);
3301
3302     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
3303     HRESULT applyElement(
3304         [in] IHTMLElement *apply,
3305         [in] BSTR where,
3306         [retval, out] IHTMLElement **applied);
3307
3308     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
3309     HRESULT getAdjacentText(
3310         [in] BSTR where,
3311         [retval, out] BSTR *text);
3312
3313     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
3314     HRESULT replaceAdjacentText(
3315         [in] BSTR where,
3316         [in] BSTR newText,
3317         [retval, out] BSTR *oldText);
3318
3319     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
3320     HRESULT canHaveChildren([retval, out] VARIANT_BOOL *p);
3321
3322     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
3323     HRESULT addBehavior(
3324         [in] BSTR bstrUrl,
3325         [optional, in] VARIANT *pvarFactory,
3326         [retval, out] long *pCookie);
3327
3328     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
3329     HRESULT removeBehavior(
3330         [in] long cookie,
3331         [retval, out] VARIANT_BOOL *pfResult);
3332
3333     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
3334     HRESULT runtimeStyle([retval, out] IHTMLStyle **p);
3335
3336     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
3337     HRESULT behaviorUrns([retval, out] IDispatch **p);
3338
3339     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
3340     HRESULT tagUrn([in] BSTR v);
3341
3342     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
3343     HRESULT tagUrn([retval, out] BSTR *p);
3344
3345     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
3346     HRESULT onbeforeeditfocus([in] VARIANT v);
3347
3348     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
3349     HRESULT onbeforeeditfocus([retval, out] VARIANT *p);
3350
3351     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
3352     HRESULT readyStateValue([retval, out] long *p);
3353
3354     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
3355     HRESULT getElementsByTagName(
3356         [in] BSTR v,
3357         [retval, out] IHTMLElementCollection **pelColl);
3358 }
3359
3360 /*****************************************************************************
3361  *    IHTMLGenericElement interface
3362  */
3363 [
3364     odl,
3365     oleautomation,
3366     dual,
3367     uuid(3050f4b7-98b5-11cf-bb82-00aa00bdce0b)
3368 ]
3369 interface IHTMLGenericElement : IDispatch
3370 {
3371     [propget, id(DISPID_IHTMLGENERICELEMENT_RECORDSET), hidden]
3372     HRESULT recordset([out, retval] IDispatch **p);
3373
3374     [id(DISPID_IHTMLGENERICELEMENT_NAMEDRECORDSET)]
3375     HRESULT namedRecordset(
3376             [in] BSTR dataMember,
3377             [in, optional] VARIANT *hierarchy,
3378             [out, retval] IDispatch **ppRecordset);
3379 }
3380
3381 /*****************************************************************************
3382  *    DispHTMLGenericElement dispinterface
3383  */
3384 [
3385     hidden,
3386     uuid(3050f563-98b5-11cf-bb82-00aa00bdce0b)
3387 ]
3388 dispinterface DispHTMLGenericElement
3389 {
3390 properties:
3391 methods:
3392     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
3393     void setAttribute(
3394             [in] BSTR strAttributeName,
3395             [in] VARIANT AttributeValue,
3396             [in, defaultvalue(1)] LONG lFlags);
3397
3398     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
3399     VARIANT getAttribute(
3400              [in] BSTR strAttributeName,
3401              [in, defaultvalue(0)] LONG lFlags);
3402
3403     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
3404     VARIANT_BOOL removeAttribute(
3405             [in] BSTR strAttributeName,
3406             [in, defaultvalue(1)] LONG lFlags);
3407
3408     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
3409     void className(BSTR v);
3410
3411     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
3412     BSTR className();
3413
3414     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
3415     void id(BSTR v);
3416
3417     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
3418     BSTR id();
3419
3420     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
3421     BSTR tagName();
3422
3423     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
3424     IHTMLElement *parentElement();
3425
3426     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
3427     IHTMLStyle *style();
3428
3429     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
3430     void onhelp(VARIANT v);
3431
3432     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
3433     VARIANT onhelp();
3434
3435     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
3436     void onclick(VARIANT v);
3437
3438     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
3439     VARIANT onclick();
3440
3441     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
3442     void ondblclick(VARIANT v);
3443
3444     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
3445     VARIANT ondblclick();
3446
3447     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
3448     void onkeydown(VARIANT v);
3449
3450     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
3451     VARIANT onkeydown();
3452
3453     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
3454     void onkeyup(VARIANT v);
3455
3456     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
3457     VARIANT onkeyup();
3458
3459     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
3460     void onkeypress(VARIANT v);
3461
3462     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
3463     VARIANT onkeypress();
3464
3465     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
3466     void onmouseout(VARIANT v);
3467
3468     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
3469     VARIANT onmouseout();
3470
3471     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
3472     void onmouseover(VARIANT v);
3473
3474     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
3475     VARIANT onmouseover();
3476
3477     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
3478     void onmousemove(VARIANT v);
3479
3480     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
3481     VARIANT onmousemove();
3482
3483     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
3484     void onmousedown(VARIANT v);
3485
3486     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
3487     VARIANT onmousedown();
3488
3489     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
3490     void onmouseup(VARIANT v);
3491
3492     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
3493     VARIANT onmouseup();
3494
3495     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
3496     IDispatch *document();
3497
3498     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
3499     void title(BSTR v);
3500
3501     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
3502     BSTR title();
3503
3504     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
3505     void language(BSTR v);
3506
3507     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
3508     BSTR language();
3509
3510     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
3511     void onselectstart(VARIANT v);
3512
3513     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
3514     VARIANT onselectstart();
3515
3516     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
3517     void scrollIntoView([in, optional] VARIANT varargStart);
3518
3519     [id(DISPID_IHTMLELEMENT_CONTAINS)]
3520     VARIANT_BOOL contains([in] IHTMLElement *pChild);
3521
3522     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
3523     long sourceIndex();
3524
3525     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
3526     VARIANT recordNumber();
3527
3528     [propput, id(DISPID_IHTMLELEMENT_LANG)]
3529     void lang(BSTR v);
3530
3531     [propget, id(DISPID_IHTMLELEMENT_LANG)]
3532     BSTR lang();
3533
3534     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
3535     long offsetLeft();
3536
3537     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
3538     long offsetTop();
3539
3540     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
3541     long offsetWidth();
3542
3543     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
3544     long offsetHeight();
3545
3546     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
3547     IHTMLElement *offsetParent();
3548
3549     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
3550     void innerHTML(BSTR v);
3551
3552     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
3553     BSTR innerHTML();
3554
3555     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
3556     void innerText(BSTR v);
3557
3558     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
3559     BSTR innerText();
3560
3561     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
3562     void outerHTML(BSTR v);
3563
3564     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
3565     BSTR outerHTML();
3566
3567     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
3568     void outerText(BSTR v);
3569
3570     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
3571     BSTR outerText();
3572
3573     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
3574     void insertAdjacentHTML(
3575             [in] BSTR where,
3576             [in] BSTR html);
3577
3578     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
3579     void insertAdjacentText(
3580             [in] BSTR where,
3581             [in] BSTR text);
3582
3583     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
3584     IHTMLElement *parentTextEdit();
3585
3586     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
3587     VARIANT_BOOL isTextEdit();
3588
3589     [id(DISPID_IHTMLELEMENT_CLICK)]
3590     void click();
3591
3592     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
3593     IHTMLFiltersCollection *filters();
3594
3595     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
3596     void ondragstart(VARIANT v);
3597
3598     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
3599     VARIANT ondragstart();
3600
3601     [id(DISPID_IHTMLELEMENT_TOSTRING)]
3602     BSTR toString();
3603
3604     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
3605     void onbeforeupdate(VARIANT v);
3606
3607     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
3608     VARIANT onbeforeupdate();
3609
3610     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
3611     void onafterupdate(VARIANT v);
3612
3613     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
3614     VARIANT onafterupdate();
3615
3616     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
3617     void onerrorupdate(VARIANT v);
3618
3619     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
3620     VARIANT onerrorupdate();
3621
3622     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
3623     void onrowexit(VARIANT v);
3624
3625     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
3626     VARIANT onrowexit();
3627
3628     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
3629     void onrowenter(VARIANT v);
3630
3631     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
3632     VARIANT onrowenter();
3633
3634     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
3635     void ondatasetchanged(VARIANT v);
3636
3637     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
3638     VARIANT ondatasetchanged();
3639
3640     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
3641     void ondataavailable(VARIANT v);
3642
3643     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
3644     VARIANT ondataavailable();
3645
3646     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
3647     void ondatasetcomplete(VARIANT v);
3648
3649     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
3650     VARIANT ondatasetcomplete();
3651
3652     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
3653     void onfilterchange(VARIANT v);
3654
3655     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
3656     VARIANT onfilterchange();
3657
3658     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
3659     IDispatch *children();
3660
3661     [propget, id(DISPID_IHTMLELEMENT_ALL)]
3662     IDispatch *all();
3663
3664     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
3665     BSTR scopeName();
3666
3667     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
3668     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
3669
3670     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
3671     void releaseCapture();
3672
3673     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
3674     void onlosecapture(VARIANT v);
3675
3676     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
3677     VARIANT onlosecapture();
3678
3679     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
3680     BSTR componentFromPoint(
3681             [in] long x,
3682             [in] long y);
3683
3684     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
3685     void doScroll([in, optional] VARIANT component);
3686
3687     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
3688     void onscroll(VARIANT v);
3689
3690     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
3691     VARIANT onscroll();
3692
3693     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
3694     void ondrag(VARIANT v);
3695
3696     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
3697     VARIANT ondrag();
3698
3699     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
3700     void ondragend(VARIANT v);
3701
3702     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
3703     VARIANT ondragend();
3704
3705     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
3706     void ondragenter(VARIANT v);
3707
3708     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
3709     VARIANT ondragenter();
3710
3711     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
3712     void ondragover(VARIANT v);
3713
3714     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
3715     VARIANT ondragover();
3716
3717     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
3718     void ondragleave(VARIANT v);
3719
3720     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
3721     VARIANT ondragleave();
3722
3723     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
3724     void ondrop(VARIANT v);
3725
3726     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
3727     VARIANT ondrop();
3728
3729     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
3730     void onbeforecut(VARIANT v);
3731
3732     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
3733     VARIANT onbeforecut();
3734
3735     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
3736     void oncut(VARIANT v);
3737
3738     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
3739     VARIANT oncut();
3740
3741     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
3742     void onbeforecopy(VARIANT v);
3743
3744     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
3745     VARIANT onbeforecopy();
3746
3747     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
3748     void oncopy(VARIANT v);
3749
3750     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
3751     VARIANT oncopy();
3752
3753     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
3754     void onbeforepaste(VARIANT v);
3755
3756     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
3757     VARIANT onbeforepaste();
3758
3759     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
3760     void onpaste(VARIANT v);
3761
3762     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
3763     VARIANT onpaste();
3764
3765     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
3766     IHTMLCurrentStyle *currentStyle();
3767
3768     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
3769     void onpropertychange(VARIANT v);
3770
3771     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
3772     VARIANT onpropertychange();
3773
3774     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
3775     IHTMLRectCollection *getClientRects();
3776
3777     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
3778     IHTMLRect *getBoundingClientRect();
3779
3780     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
3781     void setExpression(
3782             [in] BSTR propname,
3783             [in] BSTR expression,
3784             [in, defaultvalue("")] BSTR language);
3785
3786     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
3787     VARIANT getExpression([in] BSTR propname);
3788
3789     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
3790     VARIANT_BOOL removeExpression([in] BSTR propname);
3791
3792     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
3793     void tabIndex(short v);
3794
3795     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
3796     short tabIndex();
3797
3798     [id(DISPID_IHTMLELEMENT2_FOCUS)]
3799     void focus();
3800
3801     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
3802     void accessKey(BSTR v);
3803
3804     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
3805     BSTR accessKey();
3806
3807     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
3808     void onblur(VARIANT v);
3809
3810     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
3811     VARIANT onblur();
3812
3813     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
3814     void onfocus(VARIANT v);
3815
3816     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
3817     VARIANT onfocus();
3818
3819     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
3820     void onresize(VARIANT v);
3821
3822     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
3823     VARIANT onresize();
3824
3825     [id(DISPID_IHTMLELEMENT2_BLUR)]
3826     void blur();
3827
3828     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
3829     void addFilter([in] IUnknown *pUnk);
3830
3831     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
3832     void removeFilter([in] IUnknown *pUnk);
3833
3834     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
3835     long clientHeight();
3836
3837     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
3838     long clientWidth();
3839
3840     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
3841     long clientTop();
3842
3843     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
3844     long clientLeft();
3845
3846     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
3847     VARIANT_BOOL attachEvent(
3848             [in] BSTR event,
3849             [in] IDispatch *pDisp);
3850
3851     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
3852     void detachEvent(
3853             [in] BSTR event,
3854             [in] IDispatch *pDisp);
3855
3856     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
3857     VARIANT readyState();
3858
3859     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
3860     void onreadystatechange(VARIANT v);
3861
3862     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
3863     VARIANT onreadystatechange();
3864
3865     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
3866     void onrowsdelete(VARIANT v);
3867
3868     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
3869     VARIANT onrowsdelete();
3870
3871     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
3872     void onrowsinserted(VARIANT v);
3873
3874     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
3875      VARIANT onrowsinserted();
3876
3877     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
3878      void oncellchange(VARIANT v);
3879
3880     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
3881     VARIANT oncellchange();
3882
3883     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
3884     void dir(BSTR v);
3885
3886     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
3887     BSTR dir();
3888
3889     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
3890     IDispatch *createControlRange();
3891
3892     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
3893     long scrollHeight();
3894
3895     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
3896     long scrollWidth();
3897
3898     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
3899     void scrollTop(long v);
3900
3901     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
3902     long scrollTop();
3903
3904     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
3905     void scrollLeft(long v);
3906
3907     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
3908     long scrollLeft();
3909
3910     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
3911     void clearAttributes();
3912
3913     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
3914     void oncontextmenu(VARIANT v);
3915
3916     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
3917     VARIANT oncontextmenu();
3918
3919     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
3920     IHTMLElement *insertAdjacentElement(
3921             [in] BSTR where,
3922             [in] IHTMLElement *insertedElement);
3923
3924     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
3925     IHTMLElement *applyElement(
3926             [in] IHTMLElement *apply,
3927             [in] BSTR where);
3928
3929     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
3930     BSTR getAdjacentText([in] BSTR where);
3931
3932     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
3933     BSTR replaceAdjacentText(
3934             [in] BSTR where,
3935             [in] BSTR newText);
3936
3937     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
3938     VARIANT_BOOL canHaveChildren();
3939
3940     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
3941     long addBehavior(
3942             [in] BSTR bstrUrl,
3943             [in, optional] VARIANT *pvarFactory);
3944
3945     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
3946     VARIANT_BOOL removeBehavior([in] long cookie);
3947
3948     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
3949     IHTMLStyle *runtimeStyle();
3950
3951     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
3952     IDispatch *behaviorUrns();
3953
3954     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
3955     void tagUrn(BSTR v);
3956
3957     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
3958     BSTR tagUrn();
3959
3960     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
3961     void onbeforeeditfocus(VARIANT v);
3962
3963     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
3964     VARIANT onbeforeeditfocus();
3965
3966     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
3967     long readyStateValue();
3968
3969     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
3970     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
3971
3972     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
3973     void mergeAttributes(
3974             [in] IHTMLElement *mergeThis,
3975             [in, optional] VARIANT *pvarFlags);
3976
3977     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
3978     VARIANT_BOOL isMultiLine();
3979
3980     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
3981     VARIANT_BOOL canHaveHTML();
3982
3983     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
3984     void onlayoutcomplete(VARIANT v);
3985
3986     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
3987     VARIANT onlayoutcomplete();
3988
3989     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
3990     void onpage(VARIANT v);
3991
3992     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
3993     VARIANT onpage();
3994
3995     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
3996     void inflateBlock(VARIANT_BOOL v);
3997
3998     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
3999     VARIANT_BOOL inflateBlock();
4000
4001     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
4002     void onbeforedeactivate(VARIANT v);
4003
4004     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
4005     VARIANT onbeforedeactivate();
4006
4007     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
4008     void setActive();
4009
4010     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
4011     void contentEditable(BSTR v);
4012
4013     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
4014     BSTR contentEditable();
4015
4016     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
4017     VARIANT_BOOL isContentEditable();
4018
4019     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
4020     void hideFocus(VARIANT_BOOL v);
4021
4022     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
4023     VARIANT_BOOL hideFocus();
4024
4025     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
4026     void disabled(VARIANT_BOOL v);
4027
4028     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
4029     VARIANT_BOOL disabled();
4030
4031     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
4032     VARIANT_BOOL isDisabled();
4033
4034     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
4035     void onmove(VARIANT v);
4036
4037     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
4038     VARIANT onmove();
4039
4040     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
4041     void oncontrolselect(VARIANT v);
4042
4043     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
4044     VARIANT oncontrolselect();
4045
4046     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
4047     VARIANT_BOOL fireEvent(
4048             [in] BSTR bstrEventName,
4049             [in, optional] VARIANT *pvarEventObject);
4050
4051     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
4052     void onresizestart(VARIANT v);
4053
4054     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
4055     VARIANT onresizestart();
4056
4057     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
4058     void onresizeend(VARIANT v);
4059
4060     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
4061     VARIANT onresizeend();
4062
4063     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
4064     void onmovestart(VARIANT v);
4065
4066     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
4067     VARIANT onmovestart();
4068
4069     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
4070     void onmoveend(VARIANT v);
4071
4072     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
4073     VARIANT onmoveend();
4074
4075     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
4076     void onmouseenter(VARIANT v);
4077
4078     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
4079     VARIANT onmouseenter();
4080
4081     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
4082     void onmouseleave(VARIANT v);
4083
4084     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
4085     VARIANT onmouseleave();
4086
4087     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
4088     void onactivate(VARIANT v);
4089
4090     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
4091     VARIANT onactivate();
4092
4093     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
4094     void ondeactivate(VARIANT v);
4095
4096     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
4097     VARIANT ondeactivate();
4098
4099     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
4100     VARIANT_BOOL dragDrop();
4101
4102     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
4103     LONG glyphMode();
4104
4105     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
4106     void onmousewheel(VARIANT v);
4107
4108     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
4109     VARIANT onmousewheel();
4110
4111     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
4112     void normalize();
4113
4114     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
4115     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
4116
4117     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
4118     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
4119
4120     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
4121     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
4122
4123     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
4124     void onbeforeactivate(VARIANT v);
4125
4126     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
4127     VARIANT onbeforeactivate();
4128
4129     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
4130     void onfocusin(VARIANT v);
4131
4132     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
4133     VARIANT onfocusin();
4134
4135     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
4136     void onfocusout(VARIANT v);
4137
4138     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
4139     VARIANT onfocusout();
4140
4141     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
4142     long uniqueNumber();
4143
4144     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
4145     BSTR uniqueID();
4146
4147     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
4148     long nodeType();
4149
4150     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
4151     IHTMLDOMNode *parentNode();
4152
4153     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
4154     VARIANT_BOOL hasChildNodes();
4155
4156     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
4157     IDispatch *childNodes();
4158
4159     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
4160     IDispatch *attributes();
4161
4162     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
4163     IHTMLDOMNode *insertBefore(
4164             [in] IHTMLDOMNode *newChild,
4165             [in, optional] VARIANT refChild);
4166
4167     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
4168     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
4169
4170     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
4171     IHTMLDOMNode *replaceChild(
4172             [in] IHTMLDOMNode *newChild,
4173             [in] IHTMLDOMNode *oldChild);
4174
4175     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
4176     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
4177
4178     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
4179     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
4180
4181     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
4182     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
4183
4184     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
4185     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
4186
4187     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
4188     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
4189
4190     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
4191     BSTR nodeName();
4192
4193     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
4194     void nodeValue(VARIANT v);
4195
4196     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
4197     VARIANT nodeValue();
4198
4199     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
4200     IHTMLDOMNode *firstChild();
4201
4202     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
4203     IHTMLDOMNode *lastChild();
4204
4205     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
4206     IHTMLDOMNode *previousSibling();
4207
4208     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
4209     IHTMLDOMNode *nextSibling();
4210
4211     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
4212     IDispatch *ownerDocument();
4213
4214     [propget, id(DISPID_IHTMLGENERICELEMENT_RECORDSET), hidden]
4215     IDispatch *recordset();
4216
4217     [id(DISPID_IHTMLGENERICELEMENT_NAMEDRECORDSET)]
4218     IDispatch *namedRecordset(
4219             [in] BSTR dataMember,
4220             [in, optional] VARIANT *hierarchy);
4221 }
4222
4223 /*****************************************************************************
4224  *    IHTMLStyleSheetRule interface
4225  */
4226 [
4227     odl,
4228     oleautomation,
4229     dual,
4230     uuid(3050F357-98B5-11CF-BB82-00AA00BDCE0B)
4231 ]
4232 interface IHTMLStyleSheetRule : IDispatch
4233 {
4234     [propput, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)]
4235     HRESULT selectorText([in] BSTR v);
4236
4237     [propget, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)]
4238     HRESULT selectorText([retval, out] BSTR *p);
4239
4240     [propget, id(DISPID_IHTMLSTYLESHEETRULE_STYLE)]
4241     HRESULT style([retval, out] IHTMLRuleStyle **p);
4242
4243     [propget, id(DISPID_IHTMLSTYLESHEETRULE_READONLY)]
4244     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
4245 }
4246
4247 /*****************************************************************************
4248  *    IHTMLStyleSheetRulesCollection interface
4249  */
4250 [
4251     odl,
4252     oleautomation,
4253     dual,
4254     uuid(3050F2E5-98B5-11Cf-BB82-00AA00BDCE0B)
4255 ]
4256 interface IHTMLStyleSheetRulesCollection : IDispatch
4257 {
4258     [propget, id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_LENGTH)]
4259     HRESULT length([retval, out] long *p);
4260
4261     [id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_ITEM)]
4262     HRESULT item(
4263         [in] long index,
4264         [retval, out] IHTMLStyleSheetRule **ppHTMLStyleSheetRule);
4265 }
4266
4267 /*****************************************************************************
4268  *    IHTMLStyleSheet interface
4269  */
4270 [
4271     odl,
4272     oleautomation,
4273     dual,
4274     uuid(3050F2E3-98B5-11CF-BB82-00AA00BDCE0B)
4275 ]
4276 interface IHTMLStyleSheet : IDispatch
4277 {
4278     [propput, id(DISPID_IHTMLSTYLESHEET_TITLE)]
4279     HRESULT title([in] BSTR v);
4280
4281     [propget, id(DISPID_IHTMLSTYLESHEET_TITLE)]
4282     HRESULT title([retval, out] BSTR *p);
4283
4284     [propget, id(DISPID_IHTMLSTYLESHEET_PARENTSTYLESHEET)]
4285     HRESULT parentStyleSheet([retval, out] IHTMLStyleSheet **p);
4286
4287     [propget, id(DISPID_IHTMLSTYLESHEET_OWNINGELEMENT)]
4288     HRESULT owningElement([retval, out] IHTMLElement **p);
4289
4290     [propput, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
4291     HRESULT disabled([in] VARIANT_BOOL v);
4292
4293     [propget, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
4294     HRESULT disabled([retval, out] VARIANT_BOOL *p);
4295
4296     [propget, id(DISPID_IHTMLSTYLESHEET_READONLY)]
4297     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
4298
4299     [propget, id(DISPID_IHTMLSTYLESHEET_IMPORTS)]
4300     HRESULT imports([retval, out] IHTMLStyleSheetsCollection **p);
4301
4302     [propput, id(DISPID_IHTMLSTYLESHEET_HREF)]
4303     HRESULT href([in] BSTR v);
4304
4305     [propget, id(DISPID_IHTMLSTYLESHEET_HREF)]
4306     HRESULT href([retval, out] BSTR *p);
4307
4308     [propget, id(DISPID_IHTMLSTYLESHEET_TYPE)]
4309     HRESULT type([retval, out] BSTR *p);
4310
4311     [propget, id(DISPID_IHTMLSTYLESHEET_ID)]
4312     HRESULT id([retval, out] BSTR *p);
4313
4314     [id(DISPID_IHTMLSTYLESHEET_ADDIMPORT)]
4315     HRESULT addImport(
4316         [in] BSTR bstrURL,
4317         [defaultvalue(-1), in] long lIndex,
4318         [retval, out] long *plIndex);
4319
4320     [id(DISPID_IHTMLSTYLESHEET_ADDRULE)]
4321     HRESULT addRule(
4322         [in] BSTR bstrSelector,
4323         [in] BSTR bstrStyle,
4324         [defaultvalue(-1), in] long lIndex,
4325         [retval, out] long *plNewIndex);
4326
4327     [id(DISPID_IHTMLSTYLESHEET_REMOVEIMPORT)]
4328     HRESULT removeImport([in] long lIndex);
4329
4330     [id(DISPID_IHTMLSTYLESHEET_REMOVERULE)]
4331     HRESULT removeRule([in] long lIndex);
4332
4333     [propput, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
4334     HRESULT media([in] BSTR v);
4335
4336     [propget, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
4337     HRESULT media([retval, out] BSTR *p);
4338
4339     [propput, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
4340     HRESULT cssText([in] BSTR v);
4341
4342     [propget, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
4343     HRESULT cssText([retval, out] BSTR *p);
4344
4345     [propget, id(DISPID_IHTMLSTYLESHEET_RULES)]
4346     HRESULT rules([retval, out] IHTMLStyleSheetRulesCollection **p);
4347 }
4348
4349 /*****************************************************************************
4350  *    IHTMLStyleSheetsCollection interface
4351  */
4352 [
4353     odl,
4354     oleautomation,
4355     dual,
4356     uuid(3050F37E-98B5-11CF-BB82-00AA00BDCE0B)
4357 ]
4358 interface IHTMLStyleSheetsCollection : IDispatch
4359 {
4360     [propget, id(DISPID_IHTMLSTYLESHEETSCOLLECTION_LENGTH)]
4361     HRESULT length([retval, out] long *p);
4362
4363     [propget, id(DISPID_IHTMLSTYLESHEETSCOLLECTION__NEWENUM)]
4364     HRESULT _newEnum([retval, out] IUnknown **p);
4365
4366     [id(DISPID_IHTMLSTYLESHEETSCOLLECTION_ITEM)]
4367     HRESULT item(
4368         [in] VARIANT *pvarIndex,
4369         [retval, out] VARIANT *pvarResult);
4370 }
4371
4372 /*****************************************************************************
4373  *    IHTMLTxtRange interface
4374  */
4375 [
4376     odl,
4377     oleautomation,
4378     dual,
4379     uuid(3050f220-98b5-11cf-bb82-00aa00bdce0b)
4380 ]
4381 interface IHTMLTxtRange : IDispatch
4382 {
4383     [propget, id(DISPID_IHTMLTXTRANGE_HTMLTEXT)]
4384     HRESULT htmlText([retval, out] BSTR *p);
4385
4386     [propput, id(DISPID_IHTMLTXTRANGE_TEXT)]
4387     HRESULT text([in] BSTR v);
4388
4389     [propget, id(DISPID_IHTMLTXTRANGE_TEXT)]
4390     HRESULT text([retval, out] BSTR *p);
4391
4392     [id(DISPID_IHTMLTXTRANGE_PARENTELEMENT)]
4393     HRESULT parentElement([retval, out] IHTMLElement **parent);
4394
4395     [id(DISPID_IHTMLTXTRANGE_DUPLICATE)]
4396     HRESULT duplicate([retval, out] IHTMLTxtRange **Duplicate);
4397
4398     [id(DISPID_IHTMLTXTRANGE_INRANGE)]
4399     HRESULT inRange(
4400         [in] IHTMLTxtRange *Range,
4401         [retval, out] VARIANT_BOOL *InRange);
4402
4403     [id(DISPID_IHTMLTXTRANGE_ISEQUAL)]
4404     HRESULT isEqual(
4405         [in] IHTMLTxtRange *Range,
4406         [retval, out] VARIANT_BOOL *IsEqual);
4407
4408     [id(DISPID_IHTMLTXTRANGE_SCROLLINTOVIEW)]
4409     HRESULT scrollIntoView([defaultvalue(-1), in] VARIANT_BOOL fStart);
4410
4411     [id(DISPID_IHTMLTXTRANGE_COLLAPSE)]
4412     HRESULT collapse([defaultvalue(-1), in] VARIANT_BOOL Start);
4413
4414     [id(DISPID_IHTMLTXTRANGE_EXPAND)]
4415     HRESULT expand(
4416         [in] BSTR Unit,
4417         [retval, out] VARIANT_BOOL *Success);
4418
4419     [id(DISPID_IHTMLTXTRANGE_MOVE)]
4420     HRESULT move(
4421         [in] BSTR Unit,
4422         [defaultvalue(1), in] long Count,
4423         [retval, out] long *ActualCount);
4424
4425     [id(DISPID_IHTMLTXTRANGE_MOVESTART)]
4426     HRESULT moveStart(
4427         [in] BSTR Unit,
4428         [defaultvalue(1), in] long Count,
4429         [retval, out] long *ActualCount);
4430
4431     [id(DISPID_IHTMLTXTRANGE_MOVEEND)]
4432     HRESULT moveEnd(
4433         [in] BSTR Unit,
4434         [defaultvalue(1), in] long Count,
4435         [retval, out] long *ActualCount);
4436
4437     [id(DISPID_IHTMLTXTRANGE_SELECT)]
4438     HRESULT select();
4439
4440     [id(DISPID_IHTMLTXTRANGE_PASTEHTML)]
4441     HRESULT pasteHTML([in] BSTR html);
4442
4443     [id(DISPID_IHTMLTXTRANGE_MOVETOELEMENTTEXT)]
4444     HRESULT moveToElementText([in] IHTMLElement *element);
4445
4446     [id(DISPID_IHTMLTXTRANGE_SETENDPOINT)]
4447     HRESULT setEndPoint(
4448         [in] BSTR how,
4449         [in] IHTMLTxtRange *SourceRange);
4450
4451     [id(DISPID_IHTMLTXTRANGE_COMPAREENDPOINTS)]
4452     HRESULT compareEndPoints(
4453         [in] BSTR how,
4454         [in] IHTMLTxtRange *SourceRange,
4455         [retval, out] long *ret);
4456
4457     [id(DISPID_IHTMLTXTRANGE_FINDTEXT)]
4458     HRESULT findText(
4459         [in] BSTR String,
4460         [defaultvalue(1073741823), in] long count,
4461         [defaultvalue(0), in] long Flags,
4462         [retval, out] VARIANT_BOOL *Success);
4463
4464     [id(DISPID_IHTMLTXTRANGE_MOVETOPOINT)]
4465     HRESULT moveToPoint(
4466         [in] long x,
4467         [in] long y);
4468
4469     [id(DISPID_IHTMLTXTRANGE_GETBOOKMARK)]
4470     HRESULT getBookmark([retval, out] BSTR *Boolmark);
4471
4472     [id(DISPID_IHTMLTXTRANGE_MOVETOBOOKMARK)]
4473     HRESULT moveToBookmark(
4474         [in] BSTR Bookmark,
4475         [retval, out] VARIANT_BOOL *Success);
4476
4477     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDSUPPORTED)]
4478     HRESULT queryCommandSupported(
4479         [in] BSTR cmdID,
4480         [retval, out] VARIANT_BOOL *pfRet);
4481
4482     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDENABLED)]
4483     HRESULT queryCommandEnabled(
4484         [in] BSTR cmdID,
4485         [retval, out] VARIANT_BOOL *pfRet);
4486
4487     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDSTATE)]
4488     HRESULT queryCommandState(
4489         [in] BSTR cmdID,
4490         [retval, out] VARIANT_BOOL *pfRet);
4491
4492     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDINDETERM)]
4493     HRESULT queryCommandIndeterm(
4494         [in] BSTR cmdID,
4495         [retval, out] VARIANT_BOOL *pfRet);
4496
4497     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDTEXT)]
4498     HRESULT queryCommandText(
4499         [in] BSTR cmdID,
4500         [retval, out] BSTR *pcmdText);
4501
4502     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDVALUE)]
4503     HRESULT queryCommandValue(
4504         [in] BSTR cmdID,
4505         [retval, out] VARIANT *pcmdValue);
4506
4507     [id(DISPID_IHTMLTXTRANGE_EXECCOMMAND)]
4508     HRESULT execCommand(
4509         [in] BSTR cmdID,
4510         [defaultvalue(0), in] VARIANT_BOOL showUI,
4511         [optional, in] VARIANT value,
4512         [retval, out] VARIANT_BOOL *pfRet);
4513
4514     [id(DISPID_IHTMLTXTRANGE_EXECCOMMANDSHOWHELP)]
4515     HRESULT execCommandShowHelp(
4516         [in] BSTR cmdID,
4517         [retval, out] VARIANT_BOOL *pfRet);
4518 }
4519
4520 /*****************************************************************************
4521  *    IHTMLFormElement interface
4522  */
4523 [
4524     odl,
4525     oleautomation,
4526     dual,
4527     uuid(3050F1F7-98B5-11CF-BB82-00AA00BDCE0B)
4528 ]
4529 interface IHTMLFormElement : IDispatch
4530 {
4531     [propput, id(DISPID_IHTMLFORMELEMENT_ACTION)]
4532     HRESULT action([in] BSTR v);
4533
4534     [propget, id(DISPID_IHTMLFORMELEMENT_ACTION)]
4535     HRESULT action([retval, out] BSTR *p);
4536
4537     [propput, id(DISPID_IHTMLFORMELEMENT_DIR)]
4538     HRESULT dir([in] BSTR v);
4539
4540     [propget, id(DISPID_IHTMLFORMELEMENT_DIR)]
4541     HRESULT dir([retval, out] BSTR *p);
4542
4543     [propput, id(DISPID_IHTMLFORMELEMENT_ENCODING)]
4544     HRESULT encoding([in] BSTR v);
4545
4546     [propget, id(DISPID_IHTMLFORMELEMENT_ENCODING)]
4547     HRESULT encoding([retval, out] BSTR *p);
4548
4549     [propput, id(DISPID_IHTMLFORMELEMENT_METHOD)]
4550     HRESULT method([in] BSTR v);
4551
4552     [propget, id(DISPID_IHTMLFORMELEMENT_METHOD)]
4553     HRESULT method([retval, out] BSTR *p);
4554
4555     [propget, id(DISPID_IHTMLFORMELEMENT_ELEMENTS)]
4556     HRESULT elements([retval, out] IDispatch **p);
4557
4558     [propput, id(DISPID_IHTMLFORMELEMENT_TARGET)]
4559     HRESULT target([in] BSTR v);
4560
4561     [propget, id(DISPID_IHTMLFORMELEMENT_TARGET)]
4562     HRESULT target([retval, out] BSTR *p);
4563
4564     [propput, id(DISPID_IHTMLFORMELEMENT_NAME)]
4565     HRESULT name([in] BSTR v);
4566
4567     [propget, id(DISPID_IHTMLFORMELEMENT_NAME)]
4568     HRESULT name([retval, out] BSTR *p);
4569
4570     [propput, id(DISPID_IHTMLFORMELEMENT_ONSUBMIT)]
4571     HRESULT onsubmit([in] VARIANT v);
4572
4573     [propget, id(DISPID_IHTMLFORMELEMENT_ONSUBMIT)]
4574     HRESULT onsubmit([retval, out] VARIANT *p);
4575
4576     [propput, id(DISPID_IHTMLFORMELEMENT_ONRESET)]
4577     HRESULT onreset([in] VARIANT v);
4578
4579     [propget, id(DISPID_IHTMLFORMELEMENT_ONRESET)]
4580     HRESULT onreset([retval, out] VARIANT *p);
4581
4582     [id(DISPID_IHTMLFORMELEMENT_SUBMIT)]
4583     HRESULT submit();
4584
4585     [id(DISPID_IHTMLFORMELEMENT_RESET)]
4586     HRESULT reset();
4587
4588     [propput, id(DISPID_IHTMLFORMELEMENT_LENGTH)]
4589     HRESULT length([in] long v);
4590
4591     [propget, id(DISPID_IHTMLFORMELEMENT_LENGTH)]
4592     HRESULT length([retval, out] long *p);
4593
4594     [propget, id(DISPID_IHTMLFORMELEMENT__NEWENUM)]
4595     HRESULT _newEnum([retval, out] IUnknown **p);
4596
4597     [id(DISPID_IHTMLFORMELEMENT_ITEM)]
4598     HRESULT item(
4599         [optional, in] VARIANT name,
4600         [optional, in] VARIANT index,
4601         [retval, out] IDispatch **pdisp);
4602
4603     [id(DISPID_IHTMLFORMELEMENT_TAGS)]
4604     HRESULT tags(
4605         [in] VARIANT tagName,
4606         [retval, out] IDispatch **pdisp);
4607 }
4608
4609 /*****************************************************************************
4610  *    IHTMLTextContainer interface
4611  */
4612 [
4613     odl,
4614     oleautomation,
4615     dual,
4616     uuid(3050f230-98b5-11cf-bb82-00aa00bdce0b)
4617 ]
4618 interface IHTMLTextContainer : IDispatch
4619 {
4620     [id(DISPID_IHTMLTEXTCONTAINER_CREATECONTROLRANGE)]
4621     HRESULT createControlRange([retval, out] IDispatch **range);
4622
4623     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLHEIGHT), displaybind, bindable]
4624     HRESULT scrollHeight([retval, out] long *p);
4625
4626     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLWIDTH), displaybind, bindable]
4627     HRESULT scrollWidth([retval, out] long *p);
4628
4629     [propput, id(DISPID_IHTMLTEXTCONTAINER_SCROLLTOP), displaybind, bindable]
4630     HRESULT scrollTop([in] long v);
4631
4632     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLTOP), displaybind, bindable]
4633     HRESULT scrollTop([retval, out] long *p);
4634
4635     [propput, id(DISPID_IHTMLTEXTCONTAINER_SCROLLLEFT), displaybind, bindable]
4636     HRESULT scrollLeft([in] long v);
4637
4638     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLLEFT), displaybind, bindable]
4639     HRESULT scrollLeft([retval, out] long *p);
4640
4641     [propput, id(DISPID_IHTMLTEXTCONTAINER_ONSCROLL), displaybind, bindable]
4642     HRESULT onscroll([in] VARIANT v);
4643
4644     [propget, id(DISPID_IHTMLTEXTCONTAINER_ONSCROLL), displaybind, bindable]
4645     HRESULT onscroll([retval, out] VARIANT *p);
4646 }
4647
4648 /*****************************************************************************
4649  *    IHTMLImgElement interface
4650  */
4651 [
4652     odl,
4653     oleautomation,
4654     dual,
4655     uuid(3050F240-98B5-11CF-BB82-00AA00BDCE0B)
4656 ]
4657 interface IHTMLImgElement : IDispatch
4658 {
4659     [propput, id(DISPID_IHTMLIMGELEMENT_ISMAP)]
4660     HRESULT isMap([in] VARIANT_BOOL v);
4661
4662     [propget, id(DISPID_IHTMLIMGELEMENT_ISMAP)]
4663     HRESULT isMap([retval, out] VARIANT_BOOL *p);
4664
4665     [propput, id(DISPID_IHTMLIMGELEMENT_USEMAP)]
4666     HRESULT useMap([in] BSTR v);
4667
4668     [propget, id(DISPID_IHTMLIMGELEMENT_USEMAP)]
4669     HRESULT useMap([retval, out] BSTR *p);
4670
4671     [propget, id(DISPID_IHTMLIMGELEMENT_MIMETYPE)]
4672     HRESULT mimeType([retval, out] BSTR *p);
4673
4674     [propget, id(DISPID_IHTMLIMGELEMENT_FILESIZE)]
4675     HRESULT fileSize([retval, out] BSTR *p);
4676
4677     [propget, id(DISPID_IHTMLIMGELEMENT_FILECREATEDDATE)]
4678     HRESULT fileCreatedDate([retval, out] BSTR *p);
4679
4680     [propget, id(DISPID_IHTMLIMGELEMENT_FILEMODIFIEDDATE)]
4681     HRESULT fileModifiedDate([retval, out] BSTR *p);
4682
4683     [propget, id(DISPID_IHTMLIMGELEMENT_FILEUPDATEDDATE)]
4684     HRESULT fileUpdatedDate([retval, out] BSTR *p);
4685
4686     [propget, id(DISPID_IHTMLIMGELEMENT_PROTOCOL)]
4687     HRESULT protocol([retval, out] BSTR *p);
4688
4689     [propget, id(DISPID_IHTMLIMGELEMENT_HREF)]
4690     HRESULT href([retval, out] BSTR *p);
4691
4692     [propget, id(DISPID_IHTMLIMGELEMENT_NAMEPROP)]
4693     HRESULT nameProp([retval, out] BSTR *p);
4694
4695     [propput, id(DISPID_IHTMLIMGELEMENT_BORDER)]
4696     HRESULT border([in] VARIANT v);
4697
4698     [propget, id(DISPID_IHTMLIMGELEMENT_BORDER)]
4699     HRESULT border([retval, out] VARIANT *p);
4700
4701     [propput, id(DISPID_IHTMLIMGELEMENT_VSPACE)]
4702     HRESULT vspace([in] long v);
4703
4704     [propget, id(DISPID_IHTMLIMGELEMENT_VSPACE)]
4705     HRESULT vspace([retval, out] long *p);
4706
4707     [propput, id(DISPID_IHTMLIMGELEMENT_HSPACE)]
4708     HRESULT hspace([in] long v);
4709
4710     [propget, id(DISPID_IHTMLIMGELEMENT_HSPACE)]
4711     HRESULT hspace([retval, out] long *p);
4712
4713     [propput, id(DISPID_IHTMLIMGELEMENT_ALT)]
4714     HRESULT alt([in] BSTR v);
4715
4716     [propget, id(DISPID_IHTMLIMGELEMENT_ALT)]
4717     HRESULT alt([retval, out] BSTR *p);
4718
4719     [propput, id(DISPID_IHTMLIMGELEMENT_SRC)]
4720     HRESULT src([in] BSTR v);
4721
4722     [propget, id(DISPID_IHTMLIMGELEMENT_SRC)]
4723     HRESULT src([retval, out] BSTR *p);
4724
4725     [propput, id(DISPID_IHTMLIMGELEMENT_LOWSRC)]
4726     HRESULT lowsrc([in] BSTR v);
4727
4728     [propget, id(DISPID_IHTMLIMGELEMENT_LOWSRC)]
4729     HRESULT lowsrc([retval, out] BSTR *p);
4730
4731     [propput, id(DISPID_IHTMLIMGELEMENT_VRML)]
4732     HRESULT vrml([in] BSTR v);
4733
4734     [propget, id(DISPID_IHTMLIMGELEMENT_VRML)]
4735     HRESULT vrml([retval, out] BSTR *p);
4736
4737     [propput, id(DISPID_IHTMLIMGELEMENT_DYNSRC)]
4738     HRESULT dynsrc([in] BSTR v);
4739
4740     [propget, id(DISPID_IHTMLIMGELEMENT_DYNSRC)]
4741     HRESULT dynsrc([retval, out] BSTR *p);
4742
4743     [propget, id(DISPID_IHTMLIMGELEMENT_READYSTATE)]
4744     HRESULT readyState([retval, out] BSTR *p);
4745
4746     [propget, id(DISPID_IHTMLIMGELEMENT_COMPLETE)]
4747     HRESULT complete([retval, out] VARIANT_BOOL *p);
4748
4749     [propput, id(DISPID_IHTMLIMGELEMENT_LOOP)]
4750     HRESULT loop([in] VARIANT v);
4751
4752     [propget, id(DISPID_IHTMLIMGELEMENT_LOOP)]
4753     HRESULT loop([retval, out] VARIANT *p);
4754
4755     [propput, id(DISPID_IHTMLIMGELEMENT_ALIGN)]
4756     HRESULT align([in] BSTR v);
4757
4758     [propget, id(DISPID_IHTMLIMGELEMENT_ALIGN)]
4759     HRESULT align([retval, out] BSTR *p);
4760
4761     [propput, id(DISPID_IHTMLIMGELEMENT_ONLOAD)]
4762     HRESULT onload([in] VARIANT v);
4763
4764     [propget, id(DISPID_IHTMLIMGELEMENT_ONLOAD)]
4765     HRESULT onload([retval, out] VARIANT *p);
4766
4767     [propput, id(DISPID_IHTMLIMGELEMENT_ONERROR)]
4768     HRESULT onerror([in] VARIANT v);
4769
4770     [propget, id(DISPID_IHTMLIMGELEMENT_ONERROR)]
4771     HRESULT onerror([retval, out] VARIANT *p);
4772
4773     [propput, id(DISPID_IHTMLIMGELEMENT_ONABORT)]
4774     HRESULT onabort([in] VARIANT v);
4775
4776     [propget, id(DISPID_IHTMLIMGELEMENT_ONABORT)]
4777     HRESULT onabort([retval, out] VARIANT *p);
4778
4779     [propput, id(DISPID_IHTMLIMGELEMENT_NAME)]
4780     HRESULT name([in] BSTR v);
4781
4782     [propget, id(DISPID_IHTMLIMGELEMENT_NAME)]
4783     HRESULT name([retval, out] BSTR *p);
4784
4785     [propput, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
4786     HRESULT width([in] long v);
4787
4788     [propget, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
4789     HRESULT width([retval, out] long *p);
4790
4791     [propput, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
4792     HRESULT height([in] long v);
4793
4794     [propget, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
4795     HRESULT height([retval, out] long *p);
4796
4797     [propput, id(DISPID_IHTMLIMGELEMENT_START)]
4798     HRESULT start([in] BSTR v);
4799
4800     [propget, id(DISPID_IHTMLIMGELEMENT_START)]
4801     HRESULT start([retval, out] BSTR *p);
4802 }
4803
4804 /*****************************************************************************
4805  *    IHTMLImageElementFactory interface
4806  */
4807 [
4808     odl,
4809     oleautomation,
4810     dual,
4811     uuid(3050F38E-98B5-11CF-BB82-00AAA0BDCE0B)
4812 ]
4813 interface IHTMLImageElementFactory : IDispatch
4814 {
4815     [id(DISPID_IHTMLIMAGEELEMENTFACTORY_CREATE)]
4816     HRESULT create(
4817         [optional, in] VARIANT width,
4818         [optional, in] VARIANT height,
4819         [retval, out]  IHTMLImgElement **elem);
4820 }
4821
4822 /*****************************************************************************
4823  *    DispHTMLImg interface
4824  */
4825 [
4826     hidden,
4827     uuid(3050f51c-98b5-11cf-bb82-00aa00bdce0b)
4828 ]
4829 dispinterface DispHTMLImg
4830 {
4831 properties:
4832 methods:
4833     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
4834     void setAttribute(
4835             [in] BSTR strAttributeName,
4836             [in] VARIANT AttributeValue,
4837             [in, defaultvalue(1)] LONG lFlags);
4838
4839     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
4840     VARIANT getAttribute(
4841              [in] BSTR strAttributeName,
4842              [in, defaultvalue(0)] LONG lFlags);
4843
4844     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
4845     VARIANT_BOOL removeAttribute(
4846             [in] BSTR strAttributeName,
4847             [in, defaultvalue(1)] LONG lFlags);
4848
4849     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
4850     void className(BSTR v);
4851
4852     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
4853     BSTR className();
4854
4855     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
4856     void id(BSTR v);
4857
4858     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
4859     BSTR id();
4860
4861     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
4862     BSTR tagName();
4863
4864     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
4865     IHTMLElement *parentElement();
4866
4867     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
4868     IHTMLStyle *style();
4869
4870     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
4871     void onhelp(VARIANT v);
4872
4873     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
4874     VARIANT onhelp();
4875
4876     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
4877     void onclick(VARIANT v);
4878
4879     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
4880     VARIANT onclick();
4881
4882     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
4883     void ondblclick(VARIANT v);
4884
4885     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
4886     VARIANT ondblclick();
4887
4888     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
4889     void onkeydown(VARIANT v);
4890
4891     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
4892     VARIANT onkeydown();
4893
4894     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
4895     void onkeyup(VARIANT v);
4896
4897     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
4898     VARIANT onkeyup();
4899
4900     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
4901     void onkeypress(VARIANT v);
4902
4903     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
4904     VARIANT onkeypress();
4905
4906     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
4907     void onmouseout(VARIANT v);
4908
4909     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
4910     VARIANT onmouseout();
4911
4912     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
4913     void onmouseover(VARIANT v);
4914
4915     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
4916     VARIANT onmouseover();
4917
4918     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
4919     void onmousemove(VARIANT v);
4920
4921     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
4922     VARIANT onmousemove();
4923
4924     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
4925     void onmousedown(VARIANT v);
4926
4927     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
4928     VARIANT onmousedown();
4929
4930     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
4931     void onmouseup(VARIANT v);
4932
4933     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
4934     VARIANT onmouseup();
4935
4936     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
4937     IDispatch *document();
4938
4939     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
4940     void title(BSTR v);
4941
4942     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
4943     BSTR title();
4944
4945     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
4946     void language(BSTR v);
4947
4948     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
4949     BSTR language();
4950
4951     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
4952     void onselectstart(VARIANT v);
4953
4954     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
4955     VARIANT onselectstart();
4956
4957     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
4958     void scrollIntoView([in, optional] VARIANT varargStart);
4959
4960     [id(DISPID_IHTMLELEMENT_CONTAINS)]
4961     VARIANT_BOOL contains([in] IHTMLElement *pChild);
4962
4963     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
4964     long sourceIndex();
4965
4966     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
4967     VARIANT recordNumber();
4968
4969     [propput, id(DISPID_IHTMLELEMENT_LANG)]
4970     void lang(BSTR v);
4971
4972     [propget, id(DISPID_IHTMLELEMENT_LANG)]
4973     BSTR lang();
4974
4975     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
4976     long offsetLeft();
4977
4978     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
4979     long offsetTop();
4980
4981     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
4982     long offsetWidth();
4983
4984     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
4985     long offsetHeight();
4986
4987     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
4988     IHTMLElement *offsetParent();
4989
4990     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
4991     void innerHTML(BSTR v);
4992
4993     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
4994     BSTR innerHTML();
4995
4996     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
4997     void innerText(BSTR v);
4998
4999     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
5000     BSTR innerText();
5001
5002     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
5003     void outerHTML(BSTR v);
5004
5005     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
5006     BSTR outerHTML();
5007
5008     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
5009     void outerText(BSTR v);
5010
5011     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
5012     BSTR outerText();
5013
5014     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
5015     void insertAdjacentHTML(
5016             [in] BSTR where,
5017             [in] BSTR html);
5018
5019     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
5020     void insertAdjacentText(
5021             [in] BSTR where,
5022             [in] BSTR text);
5023
5024     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
5025     IHTMLElement *parentTextEdit();
5026
5027     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
5028     VARIANT_BOOL isTextEdit();
5029
5030     [id(DISPID_IHTMLELEMENT_CLICK)]
5031     void click();
5032
5033     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
5034     IHTMLFiltersCollection *filters();
5035
5036     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
5037     void ondragstart(VARIANT v);
5038
5039     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
5040     VARIANT ondragstart();
5041
5042     [id(DISPID_IHTMLELEMENT_TOSTRING)]
5043     BSTR toString();
5044
5045     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
5046     void onbeforeupdate(VARIANT v);
5047
5048     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
5049     VARIANT onbeforeupdate();
5050
5051     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
5052     void onafterupdate(VARIANT v);
5053
5054     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
5055     VARIANT onafterupdate();
5056
5057     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
5058     void onerrorupdate(VARIANT v);
5059
5060     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
5061     VARIANT onerrorupdate();
5062
5063     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
5064     void onrowexit(VARIANT v);
5065
5066     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
5067     VARIANT onrowexit();
5068
5069     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
5070     void onrowenter(VARIANT v);
5071
5072     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
5073     VARIANT onrowenter();
5074
5075     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
5076     void ondatasetchanged(VARIANT v);
5077
5078     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
5079     VARIANT ondatasetchanged();
5080
5081     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
5082     void ondataavailable(VARIANT v);
5083
5084     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
5085     VARIANT ondataavailable();
5086
5087     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
5088     void ondatasetcomplete(VARIANT v);
5089
5090     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
5091     VARIANT ondatasetcomplete();
5092
5093     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
5094     void onfilterchange(VARIANT v);
5095
5096     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
5097     VARIANT onfilterchange();
5098
5099     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
5100     IDispatch *children();
5101
5102     [propget, id(DISPID_IHTMLELEMENT_ALL)]
5103     IDispatch *all();
5104
5105     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
5106     BSTR scopeName();
5107
5108     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
5109     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
5110
5111     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
5112     void releaseCapture();
5113
5114     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
5115     void onlosecapture(VARIANT v);
5116
5117     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
5118     VARIANT onlosecapture();
5119
5120     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
5121     BSTR componentFromPoint(
5122             [in] long x,
5123             [in] long y);
5124
5125     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
5126     void doScroll([in, optional] VARIANT component);
5127
5128     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
5129     void onscroll(VARIANT v);
5130
5131     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
5132     VARIANT onscroll();
5133
5134     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
5135     void ondrag(VARIANT v);
5136
5137     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
5138     VARIANT ondrag();
5139
5140     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
5141     void ondragend(VARIANT v);
5142
5143     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
5144     VARIANT ondragend();
5145
5146     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
5147     void ondragenter(VARIANT v);
5148
5149     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
5150     VARIANT ondragenter();
5151
5152     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
5153     void ondragover(VARIANT v);
5154
5155     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
5156     VARIANT ondragover();
5157
5158     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
5159     void ondragleave(VARIANT v);
5160
5161     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
5162     VARIANT ondragleave();
5163
5164     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
5165     void ondrop(VARIANT v);
5166
5167     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
5168     VARIANT ondrop();
5169
5170     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
5171     void onbeforecut(VARIANT v);
5172
5173     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
5174     VARIANT onbeforecut();
5175
5176     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
5177     void oncut(VARIANT v);
5178
5179     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
5180     VARIANT oncut();
5181
5182     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
5183     void onbeforecopy(VARIANT v);
5184
5185     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
5186     VARIANT onbeforecopy();
5187
5188     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
5189     void oncopy(VARIANT v);
5190
5191     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
5192     VARIANT oncopy();
5193
5194     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
5195     void onbeforepaste(VARIANT v);
5196
5197     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
5198     VARIANT onbeforepaste();
5199
5200     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
5201     void onpaste(VARIANT v);
5202
5203     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
5204     VARIANT onpaste();
5205
5206     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
5207     IHTMLCurrentStyle *currentStyle();
5208
5209     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
5210     void onpropertychange(VARIANT v);
5211
5212     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
5213     VARIANT onpropertychange();
5214
5215     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
5216     IHTMLRectCollection *getClientRects();
5217
5218     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
5219     IHTMLRect *getBoundingClientRect();
5220
5221     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
5222     void setExpression(
5223             [in] BSTR propname,
5224             [in] BSTR expression,
5225             [in, defaultvalue("")] BSTR language);
5226
5227     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
5228     VARIANT getExpression([in] BSTR propname);
5229
5230     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
5231     VARIANT_BOOL removeExpression([in] BSTR propname);
5232
5233     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
5234     void tabIndex(short v);
5235
5236     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
5237     short tabIndex();
5238
5239     [id(DISPID_IHTMLELEMENT2_FOCUS)]
5240     void focus();
5241
5242     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
5243     void accessKey(BSTR v);
5244
5245     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
5246     BSTR accessKey();
5247
5248     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
5249     void onblur(VARIANT v);
5250
5251     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
5252     VARIANT onblur();
5253
5254     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
5255     void onfocus(VARIANT v);
5256
5257     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
5258     VARIANT onfocus();
5259
5260     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
5261     void onresize(VARIANT v);
5262
5263     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
5264     VARIANT onresize();
5265
5266     [id(DISPID_IHTMLELEMENT2_BLUR)]
5267     void blur();
5268
5269     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
5270     void addFilter([in] IUnknown *pUnk);
5271
5272     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
5273     void removeFilter([in] IUnknown *pUnk);
5274
5275     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
5276     long clientHeight();
5277
5278     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
5279     long clientWidth();
5280
5281     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
5282     long clientTop();
5283
5284     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
5285     long clientLeft();
5286
5287     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
5288     VARIANT_BOOL attachEvent(
5289             [in] BSTR event,
5290             [in] IDispatch *pDisp);
5291
5292     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
5293     void detachEvent(
5294             [in] BSTR event,
5295             [in] IDispatch *pDisp);
5296
5297     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
5298     VARIANT readyState();
5299
5300     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
5301     void onreadystatechange(VARIANT v);
5302
5303     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
5304     VARIANT onreadystatechange();
5305
5306     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
5307     void onrowsdelete(VARIANT v);
5308
5309     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
5310     VARIANT onrowsdelete();
5311
5312     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
5313     void onrowsinserted(VARIANT v);
5314
5315     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
5316      VARIANT onrowsinserted();
5317
5318     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
5319      void oncellchange(VARIANT v);
5320
5321     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
5322     VARIANT oncellchange();
5323
5324     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
5325     void dir(BSTR v);
5326
5327     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
5328     BSTR dir();
5329
5330     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
5331     IDispatch *createControlRange();
5332
5333     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
5334     long scrollHeight();
5335
5336     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
5337     long scrollWidth();
5338
5339     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
5340     void scrollTop(long v);
5341
5342     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
5343     long scrollTop();
5344
5345     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
5346     void scrollLeft(long v);
5347
5348     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
5349     long scrollLeft();
5350
5351     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
5352     void clearAttributes();
5353
5354     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
5355     void oncontextmenu(VARIANT v);
5356
5357     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
5358     VARIANT oncontextmenu();
5359
5360     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
5361     IHTMLElement *insertAdjacentElement(
5362             [in] BSTR where,
5363             [in] IHTMLElement *insertedElement);
5364
5365     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
5366     IHTMLElement *applyElement(
5367             [in] IHTMLElement *apply,
5368             [in] BSTR where);
5369
5370     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
5371     BSTR getAdjacentText([in] BSTR where);
5372
5373     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
5374     BSTR replaceAdjacentText(
5375             [in] BSTR where,
5376             [in] BSTR newText);
5377
5378     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
5379     VARIANT_BOOL canHaveChildren();
5380
5381     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
5382     long addBehavior(
5383             [in] BSTR bstrUrl,
5384             [in, optional] VARIANT *pvarFactory);
5385
5386     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
5387     VARIANT_BOOL removeBehavior([in] long cookie);
5388
5389     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
5390     IHTMLStyle *runtimeStyle();
5391
5392     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
5393     IDispatch *behaviorUrns();
5394
5395     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
5396     void tagUrn(BSTR v);
5397
5398     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
5399     BSTR tagUrn();
5400
5401     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
5402     void onbeforeeditfocus(VARIANT v);
5403
5404     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
5405     VARIANT onbeforeeditfocus();
5406
5407     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
5408     long readyStateValue();
5409
5410     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
5411     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
5412
5413     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
5414     void mergeAttributes(
5415             [in] IHTMLElement *mergeThis,
5416             [in, optional] VARIANT *pvarFlags);
5417
5418     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
5419     VARIANT_BOOL isMultiLine();
5420
5421     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
5422     VARIANT_BOOL canHaveHTML();
5423
5424     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
5425     void onlayoutcomplete(VARIANT v);
5426
5427     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
5428     VARIANT onlayoutcomplete();
5429
5430     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
5431     void onpage(VARIANT v);
5432
5433     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
5434     VARIANT onpage();
5435
5436     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
5437     void inflateBlock(VARIANT_BOOL v);
5438
5439     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
5440     VARIANT_BOOL inflateBlock();
5441
5442     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
5443     void onbeforedeactivate(VARIANT v);
5444
5445     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
5446     VARIANT onbeforedeactivate();
5447
5448     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
5449     void setActive();
5450
5451     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
5452     void contentEditable(BSTR v);
5453
5454     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
5455     BSTR contentEditable();
5456
5457     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
5458     VARIANT_BOOL isContentEditable();
5459
5460     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
5461     void hideFocus(VARIANT_BOOL v);
5462
5463     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
5464     VARIANT_BOOL hideFocus();
5465
5466     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
5467     void disabled(VARIANT_BOOL v);
5468
5469     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
5470     VARIANT_BOOL disabled();
5471
5472     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
5473     VARIANT_BOOL isDisabled();
5474
5475     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
5476     void onmove(VARIANT v);
5477
5478     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
5479     VARIANT onmove();
5480
5481     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
5482     void oncontrolselect(VARIANT v);
5483
5484     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
5485     VARIANT oncontrolselect();
5486
5487     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
5488     VARIANT_BOOL fireEvent(
5489             [in] BSTR bstrEventName,
5490             [in, optional] VARIANT *pvarEventObject);
5491
5492     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
5493     void onresizestart(VARIANT v);
5494
5495     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
5496     VARIANT onresizestart();
5497
5498     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
5499     void onresizeend(VARIANT v);
5500
5501     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
5502     VARIANT onresizeend();
5503
5504     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
5505     void onmovestart(VARIANT v);
5506
5507     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
5508     VARIANT onmovestart();
5509
5510     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
5511     void onmoveend(VARIANT v);
5512
5513     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
5514     VARIANT onmoveend();
5515
5516     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
5517     void onmouseenter(VARIANT v);
5518
5519     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
5520     VARIANT onmouseenter();
5521
5522     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
5523     void onmouseleave(VARIANT v);
5524
5525     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
5526     VARIANT onmouseleave();
5527
5528     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
5529     void onactivate(VARIANT v);
5530
5531     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
5532     VARIANT onactivate();
5533
5534     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
5535     void ondeactivate(VARIANT v);
5536
5537     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
5538     VARIANT ondeactivate();
5539
5540     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
5541     VARIANT_BOOL dragDrop();
5542
5543     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
5544     LONG glyphMode();
5545
5546     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
5547     void onmousewheel(VARIANT v);
5548
5549     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
5550     VARIANT onmousewheel();
5551
5552     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
5553     void normalize();
5554
5555     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
5556     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
5557
5558     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
5559     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
5560
5561     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
5562     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
5563
5564     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
5565     void onbeforeactivate(VARIANT v);
5566
5567     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
5568     VARIANT onbeforeactivate();
5569
5570     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
5571     void onfocusin(VARIANT v);
5572
5573     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
5574     VARIANT onfocusin();
5575
5576     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
5577     void onfocusout(VARIANT v);
5578
5579     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
5580     VARIANT onfocusout();
5581
5582     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
5583     long uniqueNumber();
5584
5585     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
5586     BSTR uniqueID();
5587
5588     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
5589     long nodeType();
5590
5591     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
5592     IHTMLDOMNode *parentNode();
5593
5594     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
5595     VARIANT_BOOL hasChildNodes();
5596
5597     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
5598     IDispatch *childNodes();
5599
5600     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
5601     IDispatch *attributes();
5602
5603     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
5604     IHTMLDOMNode *insertBefore(
5605             [in] IHTMLDOMNode *newChild,
5606             [in, optional] VARIANT refChild);
5607
5608     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
5609     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
5610
5611     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
5612     IHTMLDOMNode *replaceChild(
5613             [in] IHTMLDOMNode *newChild,
5614             [in] IHTMLDOMNode *oldChild);
5615
5616     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
5617     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
5618
5619     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
5620     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
5621
5622     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
5623     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
5624
5625     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
5626     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
5627
5628     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
5629     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
5630
5631     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
5632     BSTR nodeName();
5633
5634     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
5635     void nodeValue(VARIANT v);
5636
5637     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
5638     VARIANT nodeValue();
5639
5640     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
5641     IHTMLDOMNode *firstChild();
5642
5643     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
5644     IHTMLDOMNode *lastChild();
5645
5646     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
5647     IHTMLDOMNode *previousSibling();
5648
5649     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
5650     IHTMLDOMNode *nextSibling();
5651
5652     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
5653     IDispatch *ownerDocument();
5654
5655     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
5656     void dataFld(BSTR v);
5657
5658     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
5659     BSTR dataFld();
5660
5661     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
5662     void dataSrc(BSTR v);
5663
5664     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
5665     BSTR dataSrc();
5666
5667     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
5668     void dataFormatAs(BSTR v);
5669
5670     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
5671     BSTR dataFormatAs();
5672
5673     [propput, id(DISPID_IHTMLIMGELEMENT_ISMAP), displaybind, bindable]
5674     void isMap(VARIANT_BOOL v);
5675
5676     [propget, id(DISPID_IHTMLIMGELEMENT_ISMAP), displaybind, bindable]
5677     VARIANT_BOOL isMap();
5678
5679     [propput, id(DISPID_IHTMLIMGELEMENT_USEMAP), displaybind, bindable]
5680     void useMap(BSTR v);
5681
5682     [propget, id(DISPID_IHTMLIMGELEMENT_USEMAP), displaybind, bindable]
5683     BSTR useMap();
5684
5685     [propget, id(DISPID_IHTMLIMGELEMENT_MIMETYPE)]
5686     BSTR mimeType();
5687
5688     [propget, id(DISPID_IHTMLIMGELEMENT_FILESIZE)]
5689     BSTR fileSize();
5690
5691     [propget, id(DISPID_IHTMLIMGELEMENT_FILECREATEDDATE)]
5692     BSTR fileCreatedDate();
5693
5694     [propget, id(DISPID_IHTMLIMGELEMENT_FILEMODIFIEDDATE)]
5695     BSTR fileModifiedDate();
5696
5697     [propget, id(DISPID_IHTMLIMGELEMENT_FILEUPDATEDDATE)]
5698     BSTR fileUpdatedDate();
5699
5700     [propget, id(DISPID_IHTMLIMGELEMENT_PROTOCOL)]
5701     BSTR protocol();
5702
5703     [propget, id(DISPID_IHTMLIMGELEMENT_HREF)]
5704     BSTR href();
5705
5706     [propget, id(DISPID_IHTMLIMGELEMENT_NAMEPROP)]
5707     BSTR nameProp();
5708
5709     [propput, id(DISPID_IHTMLIMGELEMENT_BORDER), displaybind, bindable]
5710     void border(VARIANT v);
5711
5712     [propget, id(DISPID_IHTMLIMGELEMENT_BORDER), displaybind, bindable]
5713     VARIANT border();
5714
5715     [propput, id(DISPID_IHTMLIMGELEMENT_VSPACE), displaybind, bindable]
5716     void vspace(long v);
5717
5718     [propget, id(DISPID_IHTMLIMGELEMENT_VSPACE), displaybind, bindable]
5719     long vspace();
5720
5721     [propput, id(DISPID_IHTMLIMGELEMENT_HSPACE), displaybind, bindable]
5722     void hspace(long v);
5723
5724     [propget, id(DISPID_IHTMLIMGELEMENT_HSPACE), displaybind, bindable]
5725     long hspace();
5726
5727     [propput, id(DISPID_IHTMLIMGELEMENT_ALT), displaybind, bindable]
5728     void alt(BSTR v);
5729
5730     [propget, id(DISPID_IHTMLIMGELEMENT_ALT), displaybind, bindable]
5731     BSTR alt();
5732
5733     [propput, id(DISPID_IHTMLIMGELEMENT_SRC), displaybind, bindable]
5734     void src(BSTR v);
5735
5736     [propget, id(DISPID_IHTMLIMGELEMENT_SRC), displaybind, bindable]
5737     BSTR src();
5738
5739     [propput, id(DISPID_IHTMLIMGELEMENT_LOWSRC), displaybind, bindable]
5740     void lowsrc(BSTR v);
5741
5742     [propget, id(DISPID_IHTMLIMGELEMENT_LOWSRC), displaybind, bindable]
5743     BSTR lowsrc();
5744
5745     [propput, id(DISPID_IHTMLIMGELEMENT_VRML), displaybind, bindable]
5746     void vrml(BSTR v);
5747
5748     [propget, id(DISPID_IHTMLIMGELEMENT_VRML), displaybind, bindable]
5749     BSTR vrml();
5750
5751     [propput, id(DISPID_IHTMLIMGELEMENT_DYNSRC), displaybind, bindable]
5752     void dynsrc(BSTR v);
5753
5754     [propget, id(DISPID_IHTMLIMGELEMENT_DYNSRC), displaybind, bindable]
5755     BSTR dynsrc();
5756
5757     [propget, id(DISPID_IHTMLIMGELEMENT_COMPLETE)]
5758     VARIANT_BOOL complete();
5759
5760     [propput, id(DISPID_IHTMLIMGELEMENT_LOOP), displaybind, bindable]
5761     void loop(VARIANT v);
5762
5763     [propget, id(DISPID_IHTMLIMGELEMENT_LOOP), displaybind, bindable]
5764     VARIANT loop();
5765
5766     [propput, id(DISPID_IHTMLIMGELEMENT_ALIGN), displaybind, bindable]
5767     void align(BSTR v);
5768
5769     [propget, id(DISPID_IHTMLIMGELEMENT_ALIGN), displaybind, bindable]
5770     BSTR align();
5771
5772     [propput, id(DISPID_IHTMLIMGELEMENT_ONLOAD), displaybind, bindable]
5773     void onload(VARIANT v);
5774
5775     [propget, id(DISPID_IHTMLIMGELEMENT_ONLOAD), displaybind, bindable]
5776     VARIANT onload();
5777
5778     [propput, id(DISPID_IHTMLIMGELEMENT_ONERROR), displaybind, bindable]
5779     void onerror(VARIANT v);
5780
5781     [propget, id(DISPID_IHTMLIMGELEMENT_ONERROR), displaybind, bindable]
5782     VARIANT onerror();
5783
5784     [propput, id(DISPID_IHTMLIMGELEMENT_ONABORT), displaybind, bindable]
5785     void onabort(VARIANT v);
5786
5787     [propget, id(DISPID_IHTMLIMGELEMENT_ONABORT), displaybind, bindable]
5788     VARIANT onabort();
5789
5790     [propput, id(DISPID_IHTMLIMGELEMENT_NAME), displaybind, bindable]
5791     void name(BSTR v);
5792
5793     [propget, id(DISPID_IHTMLIMGELEMENT_NAME), displaybind, bindable]
5794     BSTR name();
5795
5796     [propput, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
5797     void width(long v);
5798
5799     [propget, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
5800     long width();
5801
5802     [propput, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
5803     void height(long v);
5804
5805     [propget, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
5806     long height();
5807
5808     [propput, id(DISPID_IHTMLIMGELEMENT_START), displaybind, bindable]
5809     void start(BSTR v);
5810
5811     [propget, id(DISPID_IHTMLIMGELEMENT_START), displaybind, bindable]
5812     BSTR start();
5813
5814     [propput, id(DISPID_IHTMLIMGELEMENT2_LONGDESC), displaybind, bindable]
5815     void longDesc(BSTR v);
5816
5817     [propget, id(DISPID_IHTMLIMGELEMENT2_LONGDESC), displaybind, bindable]
5818     BSTR longDesc();
5819 }
5820
5821 /*****************************************************************************
5822  *    IHTMLBodyElement interface
5823  */
5824 [
5825     odl,
5826     oleautomation,
5827     dual,
5828     uuid(3050f1d8-98b5-11cf-bb82-00aa00bdce0b)
5829 ]
5830 interface IHTMLBodyElement : IDispatch
5831 {
5832     [propput, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
5833     HRESULT background([in] BSTR v);
5834
5835     [propget, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
5836     HRESULT background([retval, out] BSTR *p);
5837
5838     [propput, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
5839     HRESULT bgProperties([in] BSTR v);
5840
5841     [propget, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
5842     HRESULT bgProperties([retval, out] BSTR *p);
5843
5844     [propput, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
5845     HRESULT leftMargin([in] VARIANT v);
5846
5847     [propget, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
5848     HRESULT leftMargin([retval, out] VARIANT *p);
5849
5850     [propput, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
5851     HRESULT topMargin([in] VARIANT v);
5852
5853     [propget, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
5854     HRESULT topMargin([retval, out] VARIANT *p);
5855
5856     [propput, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
5857     HRESULT rightMargin([in] VARIANT v);
5858
5859     [propget, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
5860     HRESULT rightMargin([retval, out] VARIANT *p);
5861
5862     [propput, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
5863     HRESULT bottomMargin([in] VARIANT v);
5864
5865     [propget, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
5866     HRESULT bottomMargin([retval, out] VARIANT *p);
5867
5868     [propput, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
5869     HRESULT noWrap([in] VARIANT_BOOL v);
5870
5871     [propget, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
5872     HRESULT noWrap([retval, out] VARIANT_BOOL *p);
5873
5874     [propput, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
5875     HRESULT bgColor([in] VARIANT v);
5876
5877     [propget, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
5878     HRESULT bgColor([retval, out] VARIANT *p);
5879
5880     [propput, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
5881     HRESULT text([in] VARIANT v);
5882
5883     [propget, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
5884     HRESULT text([retval, out] VARIANT *p);
5885
5886     [propput, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
5887     HRESULT link([in] VARIANT v);
5888
5889     [propget, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
5890     HRESULT link([retval, out] VARIANT *p);
5891
5892     [propput, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
5893     HRESULT vLink([in] VARIANT v);
5894
5895     [propget, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
5896     HRESULT vLink([retval, out] VARIANT *p);
5897
5898     [propput, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
5899     HRESULT aLink([in] VARIANT v);
5900
5901     [propget, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
5902     HRESULT aLink([retval, out] VARIANT *p);
5903
5904     [propput, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
5905     HRESULT onload([in] VARIANT v);
5906
5907     [propget, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
5908     HRESULT onload([retval, out] VARIANT *p);
5909
5910     [propput, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
5911     HRESULT onunload([in] VARIANT v);
5912
5913     [propget, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
5914     HRESULT onunload([retval, out] VARIANT *p);
5915
5916     [propput, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
5917     HRESULT scroll([in] BSTR v);
5918
5919     [propget, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
5920     HRESULT scroll([retval, out] BSTR *p);
5921
5922     [propput, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
5923     HRESULT onselect([in] VARIANT v);
5924
5925     [propget, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
5926     HRESULT onselect([retval, out] VARIANT *p);
5927
5928     [propput, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
5929     HRESULT onbeforeunload([in] VARIANT v);
5930
5931     [propget, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
5932     HRESULT onbeforeunload([retval, out] VARIANT *p);
5933
5934     [id(DISPID_IHTMLBODYELEMENT_CREATETEXTRANGE)]
5935     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
5936 }
5937
5938 /*****************************************************************************
5939  *    IHTMLBodyElement2 interface
5940  */
5941 [
5942     odl,
5943     oleautomation,
5944     dual,
5945     uuid(3050f5c5-98b5-11cf-bb82-00aa00bdce0b)
5946 ]
5947 interface IHTMLBodyElement2 : IDispatch
5948 {
5949     [propput, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
5950     HRESULT onbeforeprint([in] VARIANT v);
5951
5952     [propget, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
5953     HRESULT onbeforeprint([retval, out] VARIANT *p);
5954
5955     [propput, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
5956     HRESULT onafterprint([in] VARIANT v);
5957
5958     [propget, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
5959     HRESULT onafterprint([retval, out] VARIANT *p);
5960 }
5961
5962 /*****************************************************************************
5963  *    IHTMLAnchorElement interface
5964  */
5965 [
5966     odl,
5967     oleautomation,
5968     dual,
5969     uuid(3050f1da-98b5-11cf-bb82-00aa00bdce0b)
5970 ]
5971 interface IHTMLAnchorElement : IDispatch
5972 {
5973     [propput, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
5974     HRESULT href([in] BSTR v);
5975
5976     [propget, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
5977     HRESULT href([retval, out] BSTR *p);
5978
5979     [propput, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
5980     HRESULT target([in] BSTR v);
5981
5982     [propget, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
5983     HRESULT target([retval, out] BSTR *p);
5984
5985     [propput, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
5986     HRESULT rel([in] BSTR v);
5987
5988     [propget, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
5989     HRESULT rel([retval, out] BSTR *p);
5990
5991     [propput, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
5992     HRESULT rev([in] BSTR v);
5993
5994     [propget, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
5995     HRESULT rev([retval, out] BSTR *p);
5996
5997     [propput, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
5998     HRESULT urn([in] BSTR v);
5999
6000     [propget, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
6001     HRESULT urn([retval, out] BSTR *p);
6002
6003     [propput, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
6004     HRESULT Methods([in] BSTR v);
6005
6006     [propget, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
6007     HRESULT Methods([retval, out] BSTR *p);
6008
6009     [propput, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
6010     HRESULT name([in] BSTR v);
6011
6012     [propget, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
6013     HRESULT name([retval, out] BSTR *p);
6014
6015     [propput, id(DISPID_IHTMLANCHORELEMENT_HOST)]
6016     HRESULT host([in] BSTR v);
6017
6018     [propget, id(DISPID_IHTMLANCHORELEMENT_HOST)]
6019     HRESULT host([retval, out] BSTR *p);
6020
6021     [propput, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
6022     HRESULT hostname([in] BSTR v);
6023
6024     [propget, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
6025     HRESULT hostname([retval, out] BSTR *p);
6026
6027     [propput, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
6028     HRESULT pathname([in] BSTR v);
6029
6030     [propget, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
6031     HRESULT pathname([retval, out] BSTR *p);
6032
6033     [propput, id(DISPID_IHTMLANCHORELEMENT_PORT)]
6034     HRESULT port([in] BSTR v);
6035
6036     [propget, id(DISPID_IHTMLANCHORELEMENT_PORT)]
6037     HRESULT port([retval, out] BSTR *p);
6038
6039     [propput, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
6040     HRESULT protocol([in] BSTR v);
6041
6042     [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
6043     HRESULT protocol([retval, out] BSTR *p);
6044
6045     [propput, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
6046     HRESULT search([in] BSTR v);
6047
6048     [propget, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
6049     HRESULT search([retval, out] BSTR *p);
6050
6051     [propput, id(DISPID_IHTMLANCHORELEMENT_HASH)]
6052     HRESULT hash([in] BSTR v);
6053
6054     [propget, id(DISPID_IHTMLANCHORELEMENT_HASH)]
6055     HRESULT hash([retval, out] BSTR *p);
6056
6057     [propput, id(DISPID_IHTMLANCHORELEMENT_ONBLUR), displaybind, bindable]
6058     HRESULT onblur([in] VARIANT v);
6059
6060     [propget, id(DISPID_IHTMLANCHORELEMENT_ONBLUR), displaybind, bindable]
6061     HRESULT onblur([retval, out] VARIANT *p);
6062
6063     [propput, id(DISPID_IHTMLANCHORELEMENT_ONFOCUS), displaybind, bindable]
6064     HRESULT onfocus([in] VARIANT v);
6065
6066     [propget, id(DISPID_IHTMLANCHORELEMENT_ONFOCUS), displaybind, bindable]
6067     HRESULT onfocus([retval, out] VARIANT *p);
6068
6069     [propput, id(DISPID_IHTMLANCHORELEMENT_ACCESSKEY), displaybind, bindable]
6070     HRESULT accessKey([in] BSTR v);
6071
6072     [propget, id(DISPID_IHTMLANCHORELEMENT_ACCESSKEY), displaybind, bindable]
6073     HRESULT accessKey([retval, out] BSTR *p);
6074
6075     [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOLLONG)]
6076     HRESULT protocolLong([retval, out] BSTR *p);
6077
6078     [propget, id(DISPID_IHTMLANCHORELEMENT_MIMETYPE)]
6079     HRESULT mimeType([retval, out] BSTR *p);
6080
6081     [propget, id(DISPID_IHTMLANCHORELEMENT_NAMEPROP)]
6082     HRESULT nameProp([retval, out] BSTR *p);
6083
6084     [propput, id(DISPID_IHTMLANCHORELEMENT_TABINDEX), displaybind, bindable]
6085     HRESULT tabIndex([in] short v);
6086
6087     [propget, id(DISPID_IHTMLANCHORELEMENT_TABINDEX), displaybind, bindable]
6088     HRESULT tabIndex([retval, out] short *p);
6089
6090     [id(DISPID_IHTMLANCHORELEMENT_FOCUS)]
6091     HRESULT focus();
6092
6093     [id(DISPID_IHTMLANCHORELEMENT_BLUR)]
6094     HRESULT blur();
6095 }
6096
6097 /*****************************************************************************
6098  *    IHTMLElementCollection interface
6099  */
6100 [
6101     odl,
6102     oleautomation,
6103     dual,
6104     uuid(3050F21F-98B5-11CF-BB82-00AA00BDCE0B)
6105 ]
6106 interface IHTMLElementCollection : IDispatch
6107 {
6108     [id(DISPID_IHTMLELEMENTCOLLECTION_TOSTRING)]
6109     HRESULT toString([retval, out] BSTR *String);
6110
6111     [propput, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
6112     HRESULT length([in] long v);
6113
6114     [propget, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
6115     HRESULT length([retval, out] long *p);
6116
6117     [propget, id(DISPID_IHTMLELEMENTCOLLECTION__NEWENUM)]
6118     HRESULT _newEnum([retval, out] IUnknown **p);
6119
6120     [id(DISPID_IHTMLELEMENTCOLLECTION_ITEM)]
6121     HRESULT item(
6122         [optional, in] VARIANT name,
6123         [optional, in] VARIANT index,
6124         [retval,  out] IDispatch **pdisp);
6125
6126     [id(DISPID_IHTMLELEMENTCOLLECTION_TAGS)]
6127     HRESULT tags(
6128         [in] VARIANT tagName,
6129         [retval, out] IDispatch **pdisp);
6130 }
6131
6132 /*****************************************************************************
6133  *    DispHTMLElementCollection dispinterface
6134  */
6135 [
6136     hidden,
6137     uuid(3050f56b-98b5-11cf-bb82-00aa00bdce0b)
6138 ]
6139 dispinterface DispHTMLElementCollection
6140 {
6141 properties:
6142 methods:
6143     [id(DISPID_IHTMLELEMENTCOLLECTION_TOSTRING)]
6144     BSTR toString();
6145
6146     [propput, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
6147     void length(long v);
6148
6149     [propget, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
6150     long length();
6151
6152     [propget, id(DISPID_IHTMLELEMENTCOLLECTION__NEWENUM), hidden, restricted]
6153     IUnknown *_newEnum();
6154
6155     [id(DISPID_IHTMLELEMENTCOLLECTION_ITEM)]
6156     IDispatch *item(
6157             [in, optional] VARIANT name,
6158             [in, optional] VARIANT index);
6159
6160     [id(DISPID_IHTMLELEMENTCOLLECTION_TAGS)]
6161     IDispatch *tags(
6162             [in] VARIANT tagName);
6163
6164     [id(DISPID_IHTMLELEMENTCOLLECTION2_URNS)]
6165     IDispatch *urns([in] VARIANT urn);
6166
6167     [id(DISPID_IHTMLELEMENTCOLLECTION3_NAMEDITEM)]
6168     IDispatch *namedItem([in] BSTR name);
6169 }
6170
6171 /*****************************************************************************
6172  *    IHTMLSelectElement interface
6173  */
6174 [
6175     odl,
6176     oleautomation,
6177     dual,
6178     uuid(3050f244-98b5-11cf-bb82-00aa00bdce0b)
6179 ]
6180 interface IHTMLSelectElement : IDispatch
6181 {
6182     [propput, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
6183     HRESULT size([in] long v);
6184
6185     [propget, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
6186     HRESULT size([retval, out] long *p);
6187
6188     [propput, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
6189     HRESULT multiple([in] VARIANT_BOOL v);
6190
6191     [propget, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
6192     HRESULT multiple([retval, out] VARIANT_BOOL *p);
6193
6194     [propput, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
6195     HRESULT name([in] BSTR v);
6196
6197     [propget, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
6198     HRESULT name([retval, out] BSTR *p);
6199
6200     [propget, id(DISPID_IHTMLSELECTELEMENT_OPTIONS)]
6201     HRESULT options([retval, out] IDispatch **p);
6202
6203     [propput, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
6204     HRESULT onchange([in] VARIANT v);
6205
6206     [propget, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
6207     HRESULT onchange([retval, out] VARIANT *p);
6208
6209     [propput, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
6210     HRESULT selectedIndex([in] long v);
6211
6212     [propget, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
6213     HRESULT selectedIndex([retval, out] long *p);
6214
6215     [propget, id(DISPID_IHTMLSELECTELEMENT_TYPE), displaybind, bindable]
6216     HRESULT type([retval, out] BSTR *p);
6217
6218     [propput, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
6219     HRESULT value([in] BSTR v);
6220
6221     [propget, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
6222     HRESULT value([retval, out] BSTR *p);
6223
6224     [propput, id(DISPID_IHTMLSELECTELEMENT_DISABLED), displaybind, bindable]
6225     HRESULT disabled([in] VARIANT_BOOL v);
6226
6227     [propget, id(DISPID_IHTMLSELECTELEMENT_DISABLED), displaybind, bindable]
6228     HRESULT disabled([retval, out] VARIANT_BOOL *p);
6229
6230     [propget, id(DISPID_IHTMLSELECTELEMENT_FORM)]
6231     HRESULT form([retval, out] IHTMLFormElement **p);
6232
6233     [id(DISPID_IHTMLSELECTELEMENT_ADD)]
6234     HRESULT add(
6235         [in] IHTMLElement *element,
6236         [optional, in] VARIANT before);
6237
6238     [id(DISPID_IHTMLSELECTELEMENT_REMOVE)]
6239     HRESULT remove([defaultvalue(-1), in] long index);
6240
6241     [propput, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
6242     HRESULT length([in] long v);
6243
6244     [propget, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
6245     HRESULT length([retval, out] long *p);
6246
6247     [propget, id(DISPID_IHTMLSELECTELEMENT__NEWENUM), hidden, restricted]
6248     HRESULT _newEnum([retval, out] IUnknown **p);
6249
6250     [id(DISPID_IHTMLSELECTELEMENT_ITEM)]
6251     HRESULT item(
6252         [optional, in] VARIANT name,
6253         [optional, in] VARIANT index,
6254         [retval, out] IDispatch **pdisp);
6255
6256     [id(DISPID_IHTMLSELECTELEMENT_TAGS)]
6257     HRESULT tags(
6258         [in] VARIANT tagName,
6259         [retval, out] IDispatch **pdisp);
6260 }
6261
6262 /*****************************************************************************
6263  *    DispHTMLSelectElement dispinterface
6264  */
6265 [
6266     hidden,
6267     uuid(3050f531-98b5-11cf-bb82-00aa00bdce0b)
6268 ]
6269 dispinterface DispHTMLSelectElement
6270 {
6271 properties:
6272 methods:
6273     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
6274     void setAttribute(
6275             [in] BSTR strAttributeName,
6276             [in] VARIANT AttributeValue,
6277             [in, defaultvalue(1)] LONG lFlags);
6278
6279     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
6280     VARIANT getAttribute(
6281              [in] BSTR strAttributeName,
6282              [in, defaultvalue(0)] LONG lFlags);
6283
6284     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
6285     VARIANT_BOOL removeAttribute(
6286             [in] BSTR strAttributeName,
6287             [in, defaultvalue(1)] LONG lFlags);
6288
6289     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
6290     void className(BSTR v);
6291
6292     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
6293     BSTR className();
6294
6295     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
6296     void id(BSTR v);
6297
6298     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
6299     BSTR id();
6300
6301     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
6302     BSTR tagName();
6303
6304     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
6305     IHTMLElement *parentElement();
6306
6307     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
6308     IHTMLStyle *style();
6309
6310     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
6311     void onhelp(VARIANT v);
6312
6313     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
6314     VARIANT onhelp();
6315
6316     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
6317     void onclick(VARIANT v);
6318
6319     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
6320     VARIANT onclick();
6321
6322     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
6323     void ondblclick(VARIANT v);
6324
6325     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
6326     VARIANT ondblclick();
6327
6328     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
6329     void onkeydown(VARIANT v);
6330
6331     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
6332     VARIANT onkeydown();
6333
6334     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
6335     void onkeyup(VARIANT v);
6336
6337     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
6338     VARIANT onkeyup();
6339
6340     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
6341     void onkeypress(VARIANT v);
6342
6343     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
6344     VARIANT onkeypress();
6345
6346     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
6347     void onmouseout(VARIANT v);
6348
6349     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
6350     VARIANT onmouseout();
6351
6352     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
6353     void onmouseover(VARIANT v);
6354
6355     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
6356     VARIANT onmouseover();
6357
6358     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
6359     void onmousemove(VARIANT v);
6360
6361     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
6362     VARIANT onmousemove();
6363
6364     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
6365     void onmousedown(VARIANT v);
6366
6367     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
6368     VARIANT onmousedown();
6369
6370     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
6371     void onmouseup(VARIANT v);
6372
6373     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
6374     VARIANT onmouseup();
6375
6376     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
6377     IDispatch *document();
6378
6379     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
6380     void title(BSTR v);
6381
6382     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
6383     BSTR title();
6384
6385     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
6386     void language(BSTR v);
6387
6388     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
6389     BSTR language();
6390
6391     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
6392     void onselectstart(VARIANT v);
6393
6394     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
6395     VARIANT onselectstart();
6396
6397     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
6398     void scrollIntoView([in, optional] VARIANT varargStart);
6399
6400     [id(DISPID_IHTMLELEMENT_CONTAINS)]
6401     VARIANT_BOOL contains([in] IHTMLElement *pChild);
6402
6403     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
6404     long sourceIndex();
6405
6406     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
6407     VARIANT recordNumber();
6408
6409     [propput, id(DISPID_IHTMLELEMENT_LANG)]
6410     void lang(BSTR v);
6411
6412     [propget, id(DISPID_IHTMLELEMENT_LANG)]
6413     BSTR lang();
6414
6415     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
6416     long offsetLeft();
6417
6418     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
6419     long offsetTop();
6420
6421     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
6422     long offsetWidth();
6423
6424     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
6425     long offsetHeight();
6426
6427     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
6428     IHTMLElement *offsetParent();
6429
6430     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
6431     void innerHTML(BSTR v);
6432
6433     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
6434     BSTR innerHTML();
6435
6436     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
6437     void innerText(BSTR v);
6438
6439     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
6440     BSTR innerText();
6441
6442     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
6443     void outerHTML(BSTR v);
6444
6445     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
6446     BSTR outerHTML();
6447
6448     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
6449     void outerText(BSTR v);
6450
6451     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
6452     BSTR outerText();
6453
6454     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
6455     void insertAdjacentHTML(
6456             [in] BSTR where,
6457             [in] BSTR html);
6458
6459     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
6460     void insertAdjacentText(
6461             [in] BSTR where,
6462             [in] BSTR text);
6463
6464     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
6465     IHTMLElement *parentTextEdit();
6466
6467     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
6468     VARIANT_BOOL isTextEdit();
6469
6470     [id(DISPID_IHTMLELEMENT_CLICK)]
6471     void click();
6472
6473     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
6474     IHTMLFiltersCollection *filters();
6475
6476     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
6477     void ondragstart(VARIANT v);
6478
6479     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
6480     VARIANT ondragstart();
6481
6482     [id(DISPID_IHTMLELEMENT_TOSTRING)]
6483     BSTR toString();
6484
6485     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
6486     void onbeforeupdate(VARIANT v);
6487
6488     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
6489     VARIANT onbeforeupdate();
6490
6491     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
6492     void onafterupdate(VARIANT v);
6493
6494     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
6495     VARIANT onafterupdate();
6496
6497     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
6498     void onerrorupdate(VARIANT v);
6499
6500     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
6501     VARIANT onerrorupdate();
6502
6503     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
6504     void onrowexit(VARIANT v);
6505
6506     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
6507     VARIANT onrowexit();
6508
6509     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
6510     void onrowenter(VARIANT v);
6511
6512     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
6513     VARIANT onrowenter();
6514
6515     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
6516     void ondatasetchanged(VARIANT v);
6517
6518     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
6519     VARIANT ondatasetchanged();
6520
6521     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
6522     void ondataavailable(VARIANT v);
6523
6524     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
6525     VARIANT ondataavailable();
6526
6527     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
6528     void ondatasetcomplete(VARIANT v);
6529
6530     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
6531     VARIANT ondatasetcomplete();
6532
6533     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
6534     void onfilterchange(VARIANT v);
6535
6536     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
6537     VARIANT onfilterchange();
6538
6539     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
6540     IDispatch *children();
6541
6542     [propget, id(DISPID_IHTMLELEMENT_ALL)]
6543     IDispatch *all();
6544
6545     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
6546     BSTR scopeName();
6547
6548     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
6549     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
6550
6551     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
6552     void releaseCapture();
6553
6554     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
6555     void onlosecapture(VARIANT v);
6556
6557     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
6558     VARIANT onlosecapture();
6559
6560     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
6561     BSTR componentFromPoint(
6562             [in] long x,
6563             [in] long y);
6564
6565     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
6566     void doScroll([in, optional] VARIANT component);
6567
6568     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
6569     void onscroll(VARIANT v);
6570
6571     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
6572     VARIANT onscroll();
6573
6574     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
6575     void ondrag(VARIANT v);
6576
6577     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
6578     VARIANT ondrag();
6579
6580     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
6581     void ondragend(VARIANT v);
6582
6583     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
6584     VARIANT ondragend();
6585
6586     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
6587     void ondragenter(VARIANT v);
6588
6589     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
6590     VARIANT ondragenter();
6591
6592     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
6593     void ondragover(VARIANT v);
6594
6595     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
6596     VARIANT ondragover();
6597
6598     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
6599     void ondragleave(VARIANT v);
6600
6601     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
6602     VARIANT ondragleave();
6603
6604     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
6605     void ondrop(VARIANT v);
6606
6607     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
6608     VARIANT ondrop();
6609
6610     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
6611     void onbeforecut(VARIANT v);
6612
6613     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
6614     VARIANT onbeforecut();
6615
6616     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
6617     void oncut(VARIANT v);
6618
6619     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
6620     VARIANT oncut();
6621
6622     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
6623     void onbeforecopy(VARIANT v);
6624
6625     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
6626     VARIANT onbeforecopy();
6627
6628     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
6629     void oncopy(VARIANT v);
6630
6631     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
6632     VARIANT oncopy();
6633
6634     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
6635     void onbeforepaste(VARIANT v);
6636
6637     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
6638     VARIANT onbeforepaste();
6639
6640     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
6641     void onpaste(VARIANT v);
6642
6643     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
6644     VARIANT onpaste();
6645
6646     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
6647     IHTMLCurrentStyle *currentStyle();
6648
6649     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
6650     void onpropertychange(VARIANT v);
6651
6652     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
6653     VARIANT onpropertychange();
6654
6655     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
6656     IHTMLRectCollection *getClientRects();
6657
6658     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
6659     IHTMLRect *getBoundingClientRect();
6660
6661     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
6662     void setExpression(
6663             [in] BSTR propname,
6664             [in] BSTR expression,
6665             [in, defaultvalue("")] BSTR language);
6666
6667     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
6668     VARIANT getExpression([in] BSTR propname);
6669
6670     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
6671     VARIANT_BOOL removeExpression([in] BSTR propname);
6672
6673     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
6674     void tabIndex(short v);
6675
6676     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
6677     short tabIndex();
6678
6679     [id(DISPID_IHTMLELEMENT2_FOCUS)]
6680     void focus();
6681
6682     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
6683     void accessKey(BSTR v);
6684
6685     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
6686     BSTR accessKey();
6687
6688     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
6689     void onblur(VARIANT v);
6690
6691     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
6692     VARIANT onblur();
6693
6694     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
6695     void onfocus(VARIANT v);
6696
6697     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
6698     VARIANT onfocus();
6699
6700     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
6701     void onresize(VARIANT v);
6702
6703     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
6704     VARIANT onresize();
6705
6706     [id(DISPID_IHTMLELEMENT2_BLUR)]
6707     void blur();
6708
6709     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
6710     void addFilter([in] IUnknown *pUnk);
6711
6712     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
6713     void removeFilter([in] IUnknown *pUnk);
6714
6715     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
6716     long clientHeight();
6717
6718     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
6719     long clientWidth();
6720
6721     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
6722     long clientTop();
6723
6724     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
6725     long clientLeft();
6726
6727     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
6728     VARIANT_BOOL attachEvent(
6729             [in] BSTR event,
6730             [in] IDispatch *pDisp);
6731
6732     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
6733     void detachEvent(
6734             [in] BSTR event,
6735             [in] IDispatch *pDisp);
6736
6737     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
6738     VARIANT readyState();
6739
6740     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
6741     void onreadystatechange(VARIANT v);
6742
6743     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
6744     VARIANT onreadystatechange();
6745
6746     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
6747     void onrowsdelete(VARIANT v);
6748
6749     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
6750     VARIANT onrowsdelete();
6751
6752     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
6753     void onrowsinserted(VARIANT v);
6754
6755     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
6756      VARIANT onrowsinserted();
6757
6758     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
6759      void oncellchange(VARIANT v);
6760
6761     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
6762     VARIANT oncellchange();
6763
6764     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
6765     void dir(BSTR v);
6766
6767     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
6768     BSTR dir();
6769
6770     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
6771     IDispatch *createControlRange();
6772
6773     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
6774     long scrollHeight();
6775
6776     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
6777     long scrollWidth();
6778
6779     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
6780     void scrollTop(long v);
6781
6782     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
6783     long scrollTop();
6784
6785     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
6786     void scrollLeft(long v);
6787
6788     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
6789     long scrollLeft();
6790
6791     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
6792     void clearAttributes();
6793
6794     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
6795     void oncontextmenu(VARIANT v);
6796
6797     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
6798     VARIANT oncontextmenu();
6799
6800     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
6801     IHTMLElement *insertAdjacentElement(
6802             [in] BSTR where,
6803             [in] IHTMLElement *insertedElement);
6804
6805     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
6806     IHTMLElement *applyElement(
6807             [in] IHTMLElement *apply,
6808             [in] BSTR where);
6809
6810     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
6811     BSTR getAdjacentText([in] BSTR where);
6812
6813     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
6814     BSTR replaceAdjacentText(
6815             [in] BSTR where,
6816             [in] BSTR newText);
6817
6818     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
6819     VARIANT_BOOL canHaveChildren();
6820
6821     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
6822     long addBehavior(
6823             [in] BSTR bstrUrl,
6824             [in, optional] VARIANT *pvarFactory);
6825
6826     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
6827     VARIANT_BOOL removeBehavior([in] long cookie);
6828
6829     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
6830     IHTMLStyle *runtimeStyle();
6831
6832     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
6833     IDispatch *behaviorUrns();
6834
6835     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
6836     void tagUrn(BSTR v);
6837
6838     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
6839     BSTR tagUrn();
6840
6841     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
6842     void onbeforeeditfocus(VARIANT v);
6843
6844     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
6845     VARIANT onbeforeeditfocus();
6846
6847     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
6848     long readyStateValue();
6849
6850     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
6851     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
6852
6853     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
6854     void mergeAttributes(
6855             [in] IHTMLElement *mergeThis,
6856             [in, optional] VARIANT *pvarFlags);
6857
6858     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
6859     VARIANT_BOOL isMultiLine();
6860
6861     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
6862     VARIANT_BOOL canHaveHTML();
6863
6864     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
6865     void onlayoutcomplete(VARIANT v);
6866
6867     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
6868     VARIANT onlayoutcomplete();
6869
6870     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
6871     void onpage(VARIANT v);
6872
6873     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
6874     VARIANT onpage();
6875
6876     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
6877     void inflateBlock(VARIANT_BOOL v);
6878
6879     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
6880     VARIANT_BOOL inflateBlock();
6881
6882     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
6883     void onbeforedeactivate(VARIANT v);
6884
6885     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
6886     VARIANT onbeforedeactivate();
6887
6888     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
6889     void setActive();
6890
6891     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
6892     void contentEditable(BSTR v);
6893
6894     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
6895     BSTR contentEditable();
6896
6897     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
6898     VARIANT_BOOL isContentEditable();
6899
6900     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
6901     void hideFocus(VARIANT_BOOL v);
6902
6903     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
6904     VARIANT_BOOL hideFocus();
6905
6906     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
6907     void disabled(VARIANT_BOOL v);
6908
6909     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
6910     VARIANT_BOOL disabled();
6911
6912     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
6913     VARIANT_BOOL isDisabled();
6914
6915     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
6916     void onmove(VARIANT v);
6917
6918     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
6919     VARIANT onmove();
6920
6921     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
6922     void oncontrolselect(VARIANT v);
6923
6924     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
6925     VARIANT oncontrolselect();
6926
6927     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
6928     VARIANT_BOOL fireEvent(
6929             [in] BSTR bstrEventName,
6930             [in, optional] VARIANT *pvarEventObject);
6931
6932     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
6933     void onresizestart(VARIANT v);
6934
6935     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
6936     VARIANT onresizestart();
6937
6938     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
6939     void onresizeend(VARIANT v);
6940
6941     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
6942     VARIANT onresizeend();
6943
6944     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
6945     void onmovestart(VARIANT v);
6946
6947     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
6948     VARIANT onmovestart();
6949
6950     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
6951     void onmoveend(VARIANT v);
6952
6953     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
6954     VARIANT onmoveend();
6955
6956     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
6957     void onmouseenter(VARIANT v);
6958
6959     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
6960     VARIANT onmouseenter();
6961
6962     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
6963     void onmouseleave(VARIANT v);
6964
6965     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
6966     VARIANT onmouseleave();
6967
6968     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
6969     void onactivate(VARIANT v);
6970
6971     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
6972     VARIANT onactivate();
6973
6974     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
6975     void ondeactivate(VARIANT v);
6976
6977     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
6978     VARIANT ondeactivate();
6979
6980     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
6981     VARIANT_BOOL dragDrop();
6982
6983     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
6984     LONG glyphMode();
6985
6986     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
6987     void onmousewheel(VARIANT v);
6988
6989     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
6990     VARIANT onmousewheel();
6991
6992     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
6993     void normalize();
6994
6995     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
6996     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
6997
6998     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
6999     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
7000
7001     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
7002     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
7003
7004     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
7005     void onbeforeactivate(VARIANT v);
7006
7007     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
7008     VARIANT onbeforeactivate();
7009
7010     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
7011     void onfocusin(VARIANT v);
7012
7013     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
7014     VARIANT onfocusin();
7015
7016     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
7017     void onfocusout(VARIANT v);
7018
7019     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
7020     VARIANT onfocusout();
7021
7022     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
7023     long uniqueNumber();
7024
7025     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
7026     BSTR uniqueID();
7027
7028     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
7029     long nodeType();
7030
7031     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
7032     IHTMLDOMNode *parentNode();
7033
7034     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
7035     VARIANT_BOOL hasChildNodes();
7036
7037     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
7038     IDispatch *childNodes();
7039
7040     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
7041     IDispatch *attributes();
7042
7043     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
7044     IHTMLDOMNode *insertBefore(
7045             [in] IHTMLDOMNode *newChild,
7046             [in, optional] VARIANT refChild);
7047
7048     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
7049     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
7050
7051     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
7052     IHTMLDOMNode *replaceChild(
7053             [in] IHTMLDOMNode *newChild,
7054             [in] IHTMLDOMNode *oldChild);
7055
7056     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
7057     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
7058
7059     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
7060     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
7061
7062     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
7063     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
7064
7065     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
7066     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
7067
7068     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
7069     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
7070
7071     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
7072     BSTR nodeName();
7073
7074     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
7075     void nodeValue(VARIANT v);
7076
7077     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
7078     VARIANT nodeValue();
7079
7080     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
7081     IHTMLDOMNode *firstChild();
7082
7083     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
7084     IHTMLDOMNode *lastChild();
7085
7086     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
7087     IHTMLDOMNode *previousSibling();
7088
7089     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
7090     IHTMLDOMNode *nextSibling();
7091
7092     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
7093     IDispatch *ownerDocument();
7094
7095     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
7096     void dataFld(BSTR v);
7097
7098     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
7099     BSTR dataFld();
7100
7101     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
7102     void dataSrc(BSTR v);
7103
7104     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
7105     BSTR dataSrc();
7106
7107     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
7108     void dataFormatAs(BSTR v);
7109
7110     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
7111     BSTR dataFormatAs();
7112
7113     [propput, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
7114     void size(long v);
7115
7116     [propget, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
7117     long size();
7118
7119     [propput, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
7120     void multiple(VARIANT_BOOL v);
7121
7122     [propget, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
7123     VARIANT_BOOL multiple();
7124
7125     [propput, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
7126     void name(BSTR v);
7127
7128     [propget, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
7129     BSTR name();
7130
7131     [propget, id(DISPID_IHTMLSELECTELEMENT_OPTIONS)]
7132     IDispatch *options();
7133
7134     [propput, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
7135     void onchange(VARIANT v);
7136
7137     [propget, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
7138     VARIANT onchange();
7139
7140     [propput, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
7141     void selectedIndex(long v);
7142
7143     [propget, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
7144     long selectedIndex();
7145
7146     [propget, id(DISPID_IHTMLSELECTELEMENT_TYPE), displaybind, bindable]
7147     BSTR type();
7148
7149     [propput, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
7150     void value(BSTR v);
7151
7152     [propget, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
7153     BSTR value();
7154
7155     [propget, id(DISPID_IHTMLSELECTELEMENT_FORM)]
7156     IHTMLFormElement *form();
7157
7158     [id(DISPID_IHTMLSELECTELEMENT_ADD)]
7159     void add(
7160             [in] IHTMLElement *element,
7161             [in, optional] VARIANT before);
7162
7163     [id(DISPID_IHTMLSELECTELEMENT_REMOVE)]
7164     void remove([in, defaultvalue(-1)] long index);
7165
7166     [propput, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
7167     void length(long v);
7168
7169     [propget, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
7170     long length();
7171
7172     [propget, id(DISPID_IHTMLSELECTELEMENT__NEWENUM), hidden, restricted]
7173     IUnknown *_newEnum();
7174
7175     [id(DISPID_IHTMLSELECTELEMENT_ITEM)]
7176     IDispatch *item(
7177             [in, optional] VARIANT name,
7178             [in, optional] VARIANT index);
7179
7180     [id(DISPID_IHTMLSELECTELEMENT_TAGS)]
7181     IDispatch *tags([in] VARIANT tagName);
7182
7183     [id(DISPID_IHTMLSELECTELEMENT2_URNS)]
7184     IDispatch *urns([in] VARIANT urn);
7185
7186     [id(DISPID_IHTMLSELECTELEMENT4_NAMEDITEM)]
7187     IDispatch *namedItem([in] BSTR name);
7188 }
7189
7190 /*****************************************************************************
7191  *    IHTMLSelectionObject interface
7192  */
7193 [
7194     odl,
7195     oleautomation,
7196     dual,
7197     uuid(3050F25A-98B5-11CF-BB82-00AA00BDCE0B)
7198 ]
7199 interface IHTMLSelectionObject : IDispatch
7200 {
7201     [id(DISPID_IHTMLSELECTIONOBJECT_CREATERANGE)]
7202     HRESULT createRange([retval, out] IDispatch **range);
7203
7204     [id(DISPID_IHTMLSELECTIONOBJECT_EMPTY)]
7205     HRESULT empty();
7206
7207     [id(DISPID_IHTMLSELECTIONOBJECT_CLEAR)]
7208     HRESULT clear();
7209
7210     [propget, id(DISPID_IHTMLSELECTIONOBJECT_TYPE)]
7211     HRESULT type([retval, out] BSTR *p);
7212 }
7213
7214 /*****************************************************************************
7215  *    IHTMLOptionElement interface
7216  */
7217 [
7218     odl,
7219     oleautomation,
7220     dual,
7221     uuid(3050F211-98B5-11CF-BB82-00AA00BDCE0B)
7222 ]
7223 interface IHTMLOptionElement : IDispatch
7224 {
7225     [propput, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
7226     HRESULT selected([in] VARIANT_BOOL v);
7227
7228     [propget, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
7229     HRESULT selected([retval, out] VARIANT_BOOL *p);
7230
7231     [propput, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
7232     HRESULT value([in] BSTR v);
7233
7234     [propget, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
7235     HRESULT value([retval, out] BSTR *p);
7236
7237     [propput, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
7238     HRESULT defaultSelected([in] VARIANT_BOOL v);
7239
7240     [propget, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
7241     HRESULT defaultSelected([retval, out] VARIANT_BOOL *p);
7242
7243     [propput, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
7244     HRESULT index([in] LONG v);
7245
7246     [propget, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
7247     HRESULT index([retval, out] LONG *p);
7248
7249     [propput, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
7250     HRESULT text([in] BSTR v);
7251
7252     [propget, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
7253     HRESULT text([retval, out] BSTR *p);
7254
7255     [propget, id(DISPID_IHTMLOPTIONELEMENT_FORM)]
7256     HRESULT form([retval, out] IHTMLFormElement **p);
7257 }
7258
7259 /*****************************************************************************
7260  *    IHTMLOptionElementFactory interface
7261  */
7262 [
7263     odl,
7264     oleautomation,
7265     dual,
7266     uuid(3050F38C-98B5-11Cf-BB82-00AA00BDCE0B)
7267 ]
7268 interface IHTMLOptionElementFactory : IDispatch
7269 {
7270     [id(DISPID_IHTMLOPTIONELEMENTFACTORY_CREATE)]
7271     HRESULT create(
7272         [optional, in] VARIANT text,
7273         [optional, in] VARIANT value,
7274         [optional, in] VARIANT defaultselected,
7275         [optional, in] VARIANT selected,
7276         [retval, out] IHTMLOptionElement **optelem);
7277 }
7278
7279 /*****************************************************************************
7280  *    DispHTMLOptionElement dispinterface
7281  */
7282 [
7283     hidden,
7284     uuid(3050f52b-98b5-11cf-bb82-00aa00bdce0b)
7285 ]
7286 dispinterface DispHTMLOptionElement
7287 {
7288 properties:
7289 methods:
7290     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
7291     void setAttribute(
7292             [in] BSTR strAttributeName,
7293             [in] VARIANT AttributeValue,
7294             [in, defaultvalue(1)] LONG lFlags);
7295
7296     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
7297     VARIANT getAttribute(
7298              [in] BSTR strAttributeName,
7299              [in, defaultvalue(0)] LONG lFlags);
7300
7301     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
7302     VARIANT_BOOL removeAttribute(
7303             [in] BSTR strAttributeName,
7304             [in, defaultvalue(1)] LONG lFlags);
7305
7306     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
7307     void className(BSTR v);
7308
7309     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
7310     BSTR className();
7311
7312     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
7313     void id(BSTR v);
7314
7315     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
7316     BSTR id();
7317
7318     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
7319     BSTR tagName();
7320
7321     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
7322     IHTMLElement *parentElement();
7323
7324     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
7325     IHTMLStyle *style();
7326
7327     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
7328     void onhelp(VARIANT v);
7329
7330     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
7331     VARIANT onhelp();
7332
7333     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
7334     void onclick(VARIANT v);
7335
7336     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
7337     VARIANT onclick();
7338
7339     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
7340     void ondblclick(VARIANT v);
7341
7342     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
7343     VARIANT ondblclick();
7344
7345     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
7346     void onkeydown(VARIANT v);
7347
7348     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
7349     VARIANT onkeydown();
7350
7351     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
7352     void onkeyup(VARIANT v);
7353
7354     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
7355     VARIANT onkeyup();
7356
7357     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
7358     void onkeypress(VARIANT v);
7359
7360     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
7361     VARIANT onkeypress();
7362
7363     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
7364     void onmouseout(VARIANT v);
7365
7366     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
7367     VARIANT onmouseout();
7368
7369     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
7370     void onmouseover(VARIANT v);
7371
7372     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
7373     VARIANT onmouseover();
7374
7375     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
7376     void onmousemove(VARIANT v);
7377
7378     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
7379     VARIANT onmousemove();
7380
7381     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
7382     void onmousedown(VARIANT v);
7383
7384     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
7385     VARIANT onmousedown();
7386
7387     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
7388     void onmouseup(VARIANT v);
7389
7390     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
7391     VARIANT onmouseup();
7392
7393     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
7394     IDispatch *document();
7395
7396     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
7397     void title(BSTR v);
7398
7399     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
7400     BSTR title();
7401
7402     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
7403     void language(BSTR v);
7404
7405     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
7406     BSTR language();
7407
7408     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
7409     void onselectstart(VARIANT v);
7410
7411     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
7412     VARIANT onselectstart();
7413
7414     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
7415     void scrollIntoView([in, optional] VARIANT varargStart);
7416
7417     [id(DISPID_IHTMLELEMENT_CONTAINS)]
7418     VARIANT_BOOL contains([in] IHTMLElement *pChild);
7419
7420     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
7421     long sourceIndex();
7422
7423     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
7424     VARIANT recordNumber();
7425
7426     [propput, id(DISPID_IHTMLELEMENT_LANG)]
7427     void lang(BSTR v);
7428
7429     [propget, id(DISPID_IHTMLELEMENT_LANG)]
7430     BSTR lang();
7431
7432     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
7433     long offsetLeft();
7434
7435     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
7436     long offsetTop();
7437
7438     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
7439     long offsetWidth();
7440
7441     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
7442     long offsetHeight();
7443
7444     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
7445     IHTMLElement *offsetParent();
7446
7447     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
7448     void innerHTML(BSTR v);
7449
7450     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
7451     BSTR innerHTML();
7452
7453     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
7454     void innerText(BSTR v);
7455
7456     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
7457     BSTR innerText();
7458
7459     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
7460     void outerHTML(BSTR v);
7461
7462     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
7463     BSTR outerHTML();
7464
7465     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
7466     void outerText(BSTR v);
7467
7468     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
7469     BSTR outerText();
7470
7471     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
7472     void insertAdjacentHTML(
7473             [in] BSTR where,
7474             [in] BSTR html);
7475
7476     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
7477     void insertAdjacentText(
7478             [in] BSTR where,
7479             [in] BSTR text);
7480
7481     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
7482     IHTMLElement *parentTextEdit();
7483
7484     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
7485     VARIANT_BOOL isTextEdit();
7486
7487     [id(DISPID_IHTMLELEMENT_CLICK)]
7488     void click();
7489
7490     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
7491     IHTMLFiltersCollection *filters();
7492
7493     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
7494     void ondragstart(VARIANT v);
7495
7496     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
7497     VARIANT ondragstart();
7498
7499     [id(DISPID_IHTMLELEMENT_TOSTRING)]
7500     BSTR toString();
7501
7502     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
7503     void onbeforeupdate(VARIANT v);
7504
7505     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
7506     VARIANT onbeforeupdate();
7507
7508     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
7509     void onafterupdate(VARIANT v);
7510
7511     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
7512     VARIANT onafterupdate();
7513
7514     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
7515     void onerrorupdate(VARIANT v);
7516
7517     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
7518     VARIANT onerrorupdate();
7519
7520     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
7521     void onrowexit(VARIANT v);
7522
7523     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
7524     VARIANT onrowexit();
7525
7526     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
7527     void onrowenter(VARIANT v);
7528
7529     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
7530     VARIANT onrowenter();
7531
7532     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
7533     void ondatasetchanged(VARIANT v);
7534
7535     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
7536     VARIANT ondatasetchanged();
7537
7538     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
7539     void ondataavailable(VARIANT v);
7540
7541     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
7542     VARIANT ondataavailable();
7543
7544     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
7545     void ondatasetcomplete(VARIANT v);
7546
7547     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
7548     VARIANT ondatasetcomplete();
7549
7550     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
7551     void onfilterchange(VARIANT v);
7552
7553     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
7554     VARIANT onfilterchange();
7555
7556     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
7557     IDispatch *children();
7558
7559     [propget, id(DISPID_IHTMLELEMENT_ALL)]
7560     IDispatch *all();
7561
7562     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
7563     BSTR scopeName();
7564
7565     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
7566     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
7567
7568     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
7569     void releaseCapture();
7570
7571     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
7572     void onlosecapture(VARIANT v);
7573
7574     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
7575     VARIANT onlosecapture();
7576
7577     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
7578     BSTR componentFromPoint(
7579             [in] long x,
7580             [in] long y);
7581
7582     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
7583     void doScroll([in, optional] VARIANT component);
7584
7585     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
7586     void onscroll(VARIANT v);
7587
7588     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
7589     VARIANT onscroll();
7590
7591     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
7592     void ondrag(VARIANT v);
7593
7594     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
7595     VARIANT ondrag();
7596
7597     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
7598     void ondragend(VARIANT v);
7599
7600     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
7601     VARIANT ondragend();
7602
7603     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
7604     void ondragenter(VARIANT v);
7605
7606     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
7607     VARIANT ondragenter();
7608
7609     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
7610     void ondragover(VARIANT v);
7611
7612     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
7613     VARIANT ondragover();
7614
7615     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
7616     void ondragleave(VARIANT v);
7617
7618     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
7619     VARIANT ondragleave();
7620
7621     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
7622     void ondrop(VARIANT v);
7623
7624     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
7625     VARIANT ondrop();
7626
7627     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
7628     void onbeforecut(VARIANT v);
7629
7630     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
7631     VARIANT onbeforecut();
7632
7633     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
7634     void oncut(VARIANT v);
7635
7636     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
7637     VARIANT oncut();
7638
7639     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
7640     void onbeforecopy(VARIANT v);
7641
7642     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
7643     VARIANT onbeforecopy();
7644
7645     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
7646     void oncopy(VARIANT v);
7647
7648     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
7649     VARIANT oncopy();
7650
7651     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
7652     void onbeforepaste(VARIANT v);
7653
7654     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
7655     VARIANT onbeforepaste();
7656
7657     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
7658     void onpaste(VARIANT v);
7659
7660     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
7661     VARIANT onpaste();
7662
7663     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
7664     IHTMLCurrentStyle *currentStyle();
7665
7666     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
7667     void onpropertychange(VARIANT v);
7668
7669     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
7670     VARIANT onpropertychange();
7671
7672     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
7673     IHTMLRectCollection *getClientRects();
7674
7675     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
7676     IHTMLRect *getBoundingClientRect();
7677
7678     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
7679     void setExpression(
7680             [in] BSTR propname,
7681             [in] BSTR expression,
7682             [in, defaultvalue("")] BSTR language);
7683
7684     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
7685     VARIANT getExpression([in] BSTR propname);
7686
7687     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
7688     VARIANT_BOOL removeExpression([in] BSTR propname);
7689
7690     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
7691     void tabIndex(short v);
7692
7693     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
7694     short tabIndex();
7695
7696     [id(DISPID_IHTMLELEMENT2_FOCUS)]
7697     void focus();
7698
7699     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
7700     void accessKey(BSTR v);
7701
7702     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
7703     BSTR accessKey();
7704
7705     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
7706     void onblur(VARIANT v);
7707
7708     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
7709     VARIANT onblur();
7710
7711     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
7712     void onfocus(VARIANT v);
7713
7714     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
7715     VARIANT onfocus();
7716
7717     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
7718     void onresize(VARIANT v);
7719
7720     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
7721     VARIANT onresize();
7722
7723     [id(DISPID_IHTMLELEMENT2_BLUR)]
7724     void blur();
7725
7726     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
7727     void addFilter([in] IUnknown *pUnk);
7728
7729     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
7730     void removeFilter([in] IUnknown *pUnk);
7731
7732     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
7733     long clientHeight();
7734
7735     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
7736     long clientWidth();
7737
7738     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
7739     long clientTop();
7740
7741     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
7742     long clientLeft();
7743
7744     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
7745     VARIANT_BOOL attachEvent(
7746             [in] BSTR event,
7747             [in] IDispatch *pDisp);
7748
7749     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
7750     void detachEvent(
7751             [in] BSTR event,
7752             [in] IDispatch *pDisp);
7753
7754     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
7755     VARIANT readyState();
7756
7757     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
7758     void onreadystatechange(VARIANT v);
7759
7760     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
7761     VARIANT onreadystatechange();
7762
7763     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
7764     void onrowsdelete(VARIANT v);
7765
7766     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
7767     VARIANT onrowsdelete();
7768
7769     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
7770     void onrowsinserted(VARIANT v);
7771
7772     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
7773      VARIANT onrowsinserted();
7774
7775     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
7776      void oncellchange(VARIANT v);
7777
7778     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
7779     VARIANT oncellchange();
7780
7781     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
7782     void dir(BSTR v);
7783
7784     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
7785     BSTR dir();
7786
7787     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
7788     IDispatch *createControlRange();
7789
7790     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
7791     long scrollHeight();
7792
7793     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
7794     long scrollWidth();
7795
7796     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
7797     void scrollTop(long v);
7798
7799     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
7800     long scrollTop();
7801
7802     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
7803     void scrollLeft(long v);
7804
7805     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
7806     long scrollLeft();
7807
7808     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
7809     void clearAttributes();
7810
7811     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
7812     void oncontextmenu(VARIANT v);
7813
7814     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
7815     VARIANT oncontextmenu();
7816
7817     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
7818     IHTMLElement *insertAdjacentElement(
7819             [in] BSTR where,
7820             [in] IHTMLElement *insertedElement);
7821
7822     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
7823     IHTMLElement *applyElement(
7824             [in] IHTMLElement *apply,
7825             [in] BSTR where);
7826
7827     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
7828     BSTR getAdjacentText([in] BSTR where);
7829
7830     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
7831     BSTR replaceAdjacentText(
7832             [in] BSTR where,
7833             [in] BSTR newText);
7834
7835     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
7836     VARIANT_BOOL canHaveChildren();
7837
7838     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
7839     long addBehavior(
7840             [in] BSTR bstrUrl,
7841             [in, optional] VARIANT *pvarFactory);
7842
7843     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
7844     VARIANT_BOOL removeBehavior([in] long cookie);
7845
7846     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
7847     IHTMLStyle *runtimeStyle();
7848
7849     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
7850     IDispatch *behaviorUrns();
7851
7852     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
7853     void tagUrn(BSTR v);
7854
7855     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
7856     BSTR tagUrn();
7857
7858     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
7859     void onbeforeeditfocus(VARIANT v);
7860
7861     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
7862     VARIANT onbeforeeditfocus();
7863
7864     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
7865     long readyStateValue();
7866
7867     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
7868     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
7869
7870     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
7871     void mergeAttributes(
7872             [in] IHTMLElement *mergeThis,
7873             [in, optional] VARIANT *pvarFlags);
7874
7875     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
7876     VARIANT_BOOL isMultiLine();
7877
7878     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
7879     VARIANT_BOOL canHaveHTML();
7880
7881     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
7882     void onlayoutcomplete(VARIANT v);
7883
7884     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
7885     VARIANT onlayoutcomplete();
7886
7887     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
7888     void onpage(VARIANT v);
7889
7890     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
7891     VARIANT onpage();
7892
7893     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
7894     void inflateBlock(VARIANT_BOOL v);
7895
7896     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
7897     VARIANT_BOOL inflateBlock();
7898
7899     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
7900     void onbeforedeactivate(VARIANT v);
7901
7902     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
7903     VARIANT onbeforedeactivate();
7904
7905     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
7906     void setActive();
7907
7908     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
7909     void contentEditable(BSTR v);
7910
7911     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
7912     BSTR contentEditable();
7913
7914     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
7915     VARIANT_BOOL isContentEditable();
7916
7917     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
7918     void hideFocus(VARIANT_BOOL v);
7919
7920     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
7921     VARIANT_BOOL hideFocus();
7922
7923     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
7924     void disabled(VARIANT_BOOL v);
7925
7926     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
7927     VARIANT_BOOL disabled();
7928
7929     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
7930     VARIANT_BOOL isDisabled();
7931
7932     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
7933     void onmove(VARIANT v);
7934
7935     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
7936     VARIANT onmove();
7937
7938     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
7939     void oncontrolselect(VARIANT v);
7940
7941     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
7942     VARIANT oncontrolselect();
7943
7944     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
7945     VARIANT_BOOL fireEvent(
7946             [in] BSTR bstrEventName,
7947             [in, optional] VARIANT *pvarEventObject);
7948
7949     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
7950     void onresizestart(VARIANT v);
7951
7952     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
7953     VARIANT onresizestart();
7954
7955     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
7956     void onresizeend(VARIANT v);
7957
7958     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
7959     VARIANT onresizeend();
7960
7961     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
7962     void onmovestart(VARIANT v);
7963
7964     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
7965     VARIANT onmovestart();
7966
7967     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
7968     void onmoveend(VARIANT v);
7969
7970     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
7971     VARIANT onmoveend();
7972
7973     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
7974     void onmouseenter(VARIANT v);
7975
7976     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
7977     VARIANT onmouseenter();
7978
7979     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
7980     void onmouseleave(VARIANT v);
7981
7982     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
7983     VARIANT onmouseleave();
7984
7985     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
7986     void onactivate(VARIANT v);
7987
7988     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
7989     VARIANT onactivate();
7990
7991     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
7992     void ondeactivate(VARIANT v);
7993
7994     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
7995     VARIANT ondeactivate();
7996
7997     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
7998     VARIANT_BOOL dragDrop();
7999
8000     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
8001     LONG glyphMode();
8002
8003     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
8004     void onmousewheel(VARIANT v);
8005
8006     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
8007     VARIANT onmousewheel();
8008
8009     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
8010     void normalize();
8011
8012     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
8013     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
8014
8015     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
8016     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
8017
8018     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
8019     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
8020
8021     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
8022     void onbeforeactivate(VARIANT v);
8023
8024     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
8025     VARIANT onbeforeactivate();
8026
8027     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
8028     void onfocusin(VARIANT v);
8029
8030     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
8031     VARIANT onfocusin();
8032
8033     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
8034     void onfocusout(VARIANT v);
8035
8036     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
8037     VARIANT onfocusout();
8038
8039     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
8040     long uniqueNumber();
8041
8042     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
8043     BSTR uniqueID();
8044
8045     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
8046     long nodeType();
8047
8048     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
8049     IHTMLDOMNode *parentNode();
8050
8051     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
8052     VARIANT_BOOL hasChildNodes();
8053
8054     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
8055     IDispatch *childNodes();
8056
8057     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
8058     IDispatch *attributes();
8059
8060     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
8061     IHTMLDOMNode *insertBefore(
8062             [in] IHTMLDOMNode *newChild,
8063             [in, optional] VARIANT refChild);
8064
8065     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
8066     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
8067
8068     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
8069     IHTMLDOMNode *replaceChild(
8070             [in] IHTMLDOMNode *newChild,
8071             [in] IHTMLDOMNode *oldChild);
8072
8073     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
8074     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
8075
8076     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
8077     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
8078
8079     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
8080     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
8081
8082     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
8083     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
8084
8085     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
8086     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
8087
8088     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
8089     BSTR nodeName();
8090
8091     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
8092     void nodeValue(VARIANT v);
8093
8094     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
8095     VARIANT nodeValue();
8096
8097     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
8098     IHTMLDOMNode *firstChild();
8099
8100     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
8101     IHTMLDOMNode *lastChild();
8102
8103     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
8104     IHTMLDOMNode *previousSibling();
8105
8106     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
8107     IHTMLDOMNode *nextSibling();
8108
8109     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
8110     IDispatch *ownerDocument();
8111
8112     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
8113     void dataFld(BSTR v);
8114
8115     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
8116     BSTR dataFld();
8117
8118     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
8119     void dataSrc(BSTR v);
8120
8121     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
8122     BSTR dataSrc();
8123
8124     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
8125     void dataFormatAs(BSTR v);
8126
8127     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
8128     BSTR dataFormatAs();
8129
8130     [propput, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
8131     void selected(VARIANT_BOOL v);
8132
8133     [propget, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
8134     VARIANT_BOOL selected();
8135
8136     [propput, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
8137     void value(BSTR v);
8138
8139     [propget, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
8140     BSTR value();
8141
8142     [propput, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
8143     void defaultSelected(VARIANT_BOOL v);
8144
8145     [propget, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
8146     VARIANT_BOOL defaultSelected();
8147
8148     [propput, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
8149     void index(LONG v);
8150
8151     [propget, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
8152     LONG index();
8153
8154     [propput, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
8155     void text(BSTR v);
8156
8157     [propget, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
8158     BSTR text();
8159
8160     [propget, id(DISPID_IHTMLOPTIONELEMENT_FORM)]
8161     IHTMLFormElement *form();
8162
8163     [propput, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
8164     void label(BSTR v);
8165
8166     [propget, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
8167     BSTR label();
8168 }
8169
8170 /*****************************************************************************
8171  *    IHTMLInputElement interface
8172  */
8173 [
8174     odl,
8175     oleautomation,
8176     dual,
8177     uuid(3050f5d2-98b5-11cf-bb82-00aa00bdce0b)
8178 ]
8179 interface IHTMLInputElement : IDispatch
8180 {
8181     [propput, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
8182     HRESULT type([in] BSTR v);
8183
8184     [propget, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
8185     HRESULT type([retval, out] BSTR *p);
8186
8187     [propput, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
8188     HRESULT value([in] BSTR v);
8189
8190     [propget, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
8191     HRESULT value([retval, out] BSTR *p);
8192
8193     [propput, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
8194     HRESULT name([in] BSTR v);
8195
8196     [propget, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
8197     HRESULT name([retval, out] BSTR *p);
8198
8199     [propput, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
8200     HRESULT status([in] VARIANT_BOOL v);
8201
8202     [propget, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
8203     HRESULT status([retval, out] VARIANT_BOOL *p);
8204
8205     [propput, id(DISPID_IHTMLINPUTELEMENT_DISABLED), displaybind, bindable]
8206     HRESULT disabled([in] VARIANT_BOOL v);
8207
8208     [propget, id(DISPID_IHTMLINPUTELEMENT_DISABLED), displaybind, bindable]
8209     HRESULT disabled([retval, out] VARIANT_BOOL *p);
8210
8211     [propget, id(DISPID_IHTMLINPUTELEMENT_FORM)]
8212     HRESULT form([retval, out] IHTMLFormElement **p);
8213
8214     [propput, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
8215     HRESULT size([in] long v);
8216
8217     [propget, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
8218     HRESULT size([retval, out] long *p);
8219
8220     [propput, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
8221     HRESULT maxLength([in] long v);
8222
8223     [propget, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
8224     HRESULT maxLength([retval, out] long *p);
8225
8226     [id(DISPID_IHTMLINPUTELEMENT_SELECT)]
8227     HRESULT select();
8228
8229     [propput, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
8230     HRESULT onchange([in] VARIANT v);
8231
8232     [propget, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
8233     HRESULT onchange([retval, out] VARIANT *p);
8234
8235     [propput, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
8236     HRESULT onselect([in] VARIANT v);
8237
8238     [propget, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
8239     HRESULT onselect([retval, out] VARIANT *p);
8240
8241     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
8242     HRESULT defaultValue([in] BSTR v);
8243
8244     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
8245     HRESULT defaultValue([retval, out] BSTR *p);
8246
8247     [propput, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
8248     HRESULT readOnly([in] VARIANT_BOOL v);
8249
8250     [propget, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
8251     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
8252
8253     [id(DISPID_IHTMLINPUTELEMENT_CREATETEXTRANGE)]
8254     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
8255
8256     [propput, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
8257     HRESULT indeterminate([in] VARIANT_BOOL v);
8258
8259     [propget, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
8260     HRESULT indeterminate([retval, out] VARIANT_BOOL *p);
8261
8262     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
8263     HRESULT defaultChecked([in] VARIANT_BOOL v);
8264
8265     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
8266     HRESULT defaultChecked([retval, out] VARIANT_BOOL *p);
8267
8268     [propput, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
8269     HRESULT checked([in] VARIANT_BOOL v);
8270
8271     [propget, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
8272     HRESULT checked([retval, out] VARIANT_BOOL *p);
8273
8274     [propput, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
8275     HRESULT border([in] VARIANT v);
8276
8277     [propget, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
8278     HRESULT border([retval, out] VARIANT *p);
8279
8280     [propput, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
8281     HRESULT vspace([in] long v);
8282
8283     [propget, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
8284     HRESULT vspace([retval, out] long *p);
8285
8286     [propput, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
8287     HRESULT hspace([in] long v);
8288
8289     [propget, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
8290     HRESULT hspace([retval, out] long *p);
8291
8292     [propput, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
8293     HRESULT alt([in] BSTR v);
8294
8295     [propget, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
8296     HRESULT alt([retval, out] BSTR *p);
8297
8298     [propput, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
8299     HRESULT src([in] BSTR v);
8300
8301     [propget, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
8302     HRESULT src([retval, out] BSTR *p);
8303
8304     [propput, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
8305     HRESULT lowsrc([in] BSTR v);
8306
8307     [propget, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
8308     HRESULT lowsrc([retval, out] BSTR *p);
8309
8310     [propput, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
8311     HRESULT vrml([in] BSTR v);
8312
8313     [propget, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
8314     HRESULT vrml([retval, out] BSTR *p);
8315
8316     [propput, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
8317     HRESULT dynsrc([in] BSTR v);
8318
8319     [propget, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
8320     HRESULT dynsrc([retval, out] BSTR *p);
8321
8322     [propget, id(DISPID_IHTMLINPUTELEMENT_READYSTATE)]
8323     HRESULT readyState([retval, out] BSTR *p);
8324
8325     [propget, id(DISPID_IHTMLINPUTELEMENT_COMPLETE)]
8326     HRESULT complete([retval, out] VARIANT_BOOL *p);
8327
8328     [propput, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
8329     HRESULT loop([in] VARIANT v);
8330
8331     [propget, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
8332     HRESULT loop([retval, out] VARIANT *p);
8333
8334     [propput, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
8335     HRESULT align([in] BSTR v);
8336
8337     [propget, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
8338     HRESULT align([retval, out] BSTR *p);
8339
8340     [propput, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
8341     HRESULT onload([in] VARIANT v);
8342
8343     [propget, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
8344     HRESULT onload([retval, out] VARIANT *p);
8345
8346     [propput, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
8347     HRESULT onerror([in] VARIANT v);
8348
8349     [propget, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
8350     HRESULT onerror([retval, out] VARIANT *p);
8351
8352     [propput, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
8353     HRESULT onabort([in] VARIANT v);
8354
8355     [propget, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
8356     HRESULT onabort([retval, out] VARIANT *p);
8357
8358     [propput, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
8359     HRESULT width([in] long v);
8360
8361     [propget, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
8362     HRESULT width([retval, out] long *p);
8363
8364     [propput, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
8365     HRESULT height([in] long v);
8366
8367     [propget, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
8368     HRESULT height([retval, out] long *p);
8369
8370     [propput, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
8371     HRESULT start([in] BSTR v);
8372
8373     [propget, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
8374     HRESULT start([retval, out] BSTR *p);
8375 }
8376
8377 /*****************************************************************************
8378  *    IHTMLInputTextElement interface
8379  */
8380 [
8381     odl,
8382     oleautomation,
8383     dual,
8384     uuid(3050f2a6-98b5-11cf-bb82-00aa00bdce0b)
8385 ]
8386 interface IHTMLInputTextElement : IDispatch
8387 {
8388     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_TYPE)]
8389     HRESULT type([retval, out] BSTR *p);
8390
8391     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_VALUE), displaybind, bindable]
8392     HRESULT value([in] BSTR v);
8393
8394     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_VALUE), displaybind, bindable]
8395     HRESULT value([retval, out] BSTR *p);
8396
8397     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_NAME), displaybind, bindable]
8398     HRESULT name([in] BSTR v);
8399
8400     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_NAME), displaybind, bindable]
8401     HRESULT name([retval, out] BSTR *p);
8402
8403     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_STATUS)]
8404     HRESULT status([in] VARIANT v);
8405
8406     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_STATUS)]
8407     HRESULT status([retval, out] VARIANT *p);
8408
8409     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_DISABLED), displaybind, bindable]
8410     HRESULT disabled([in] VARIANT_BOOL v);
8411
8412     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_DISABLED), displaybind, bindable]
8413     HRESULT disabled([retval, out] VARIANT_BOOL *p);
8414
8415     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_FORM)]
8416     HRESULT form([retval, out] IHTMLFormElement **p);
8417
8418     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
8419     HRESULT defaultValue([in] BSTR v);
8420
8421     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
8422     HRESULT defaultValue([retval, out] BSTR *p);
8423
8424     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_SIZE), displaybind, bindable]
8425     HRESULT size([in] long v);
8426
8427     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_SIZE), displaybind, bindable]
8428     HRESULT size([retval, out] long *p);
8429
8430     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_MAXLENGTH), displaybind, bindable]
8431     HRESULT maxLength([in] long v);
8432
8433     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_MAXLENGTH), displaybind, bindable]
8434     HRESULT maxLength([retval, out] long *p);
8435
8436     [id(DISPID_IHTMLINPUTTEXTELEMENT_SELECT)]
8437     HRESULT select();
8438
8439     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_ONCHANGE), displaybind, bindable]
8440     HRESULT onchange([in] VARIANT v);
8441
8442     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_ONCHANGE), displaybind, bindable]
8443     HRESULT onchange([retval, out] VARIANT *p);
8444
8445     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_ONSELECT), displaybind, bindable]
8446     HRESULT onselect([in] VARIANT v);
8447
8448     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_ONSELECT), displaybind, bindable]
8449     HRESULT onselect([retval, out] VARIANT *p);
8450
8451     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_READONLY), displaybind, bindable]
8452     HRESULT readOnly([in] VARIANT_BOOL v);
8453
8454     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_READONLY), displaybind, bindable]
8455     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
8456
8457     [id(DISPID_IHTMLINPUTTEXTELEMENT_CREATETEXTRANGE)]
8458     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
8459 }
8460
8461 [
8462     hidden,
8463     uuid(3050f57d-98b5-11cf-bb82-00aa00bdce0b)
8464 ]
8465 dispinterface DispHTMLInputElement
8466 {
8467 properties:
8468 methods:
8469     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
8470     void setAttribute(
8471             [in] BSTR strAttributeName,
8472             [in] VARIANT AttributeValue,
8473             [in, defaultvalue(1)] LONG lFlags);
8474
8475     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
8476     VARIANT getAttribute(
8477              [in] BSTR strAttributeName,
8478              [in, defaultvalue(0)] LONG lFlags);
8479
8480     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
8481     VARIANT_BOOL removeAttribute(
8482             [in] BSTR strAttributeName,
8483             [in, defaultvalue(1)] LONG lFlags);
8484
8485     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
8486     void className(BSTR v);
8487
8488     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
8489     BSTR className();
8490
8491     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
8492     void id(BSTR v);
8493
8494     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
8495     BSTR id();
8496
8497     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
8498     BSTR tagName();
8499
8500     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
8501     IHTMLElement *parentElement();
8502
8503     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
8504     IHTMLStyle *style();
8505
8506     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
8507     void onhelp(VARIANT v);
8508
8509     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
8510     VARIANT onhelp();
8511
8512     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
8513     void onclick(VARIANT v);
8514
8515     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
8516     VARIANT onclick();
8517
8518     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
8519     void ondblclick(VARIANT v);
8520
8521     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
8522     VARIANT ondblclick();
8523
8524     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
8525     void onkeydown(VARIANT v);
8526
8527     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
8528     VARIANT onkeydown();
8529
8530     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
8531     void onkeyup(VARIANT v);
8532
8533     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
8534     VARIANT onkeyup();
8535
8536     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
8537     void onkeypress(VARIANT v);
8538
8539     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
8540     VARIANT onkeypress();
8541
8542     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
8543     void onmouseout(VARIANT v);
8544
8545     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
8546     VARIANT onmouseout();
8547
8548     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
8549     void onmouseover(VARIANT v);
8550
8551     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
8552     VARIANT onmouseover();
8553
8554     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
8555     void onmousemove(VARIANT v);
8556
8557     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
8558     VARIANT onmousemove();
8559
8560     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
8561     void onmousedown(VARIANT v);
8562
8563     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
8564     VARIANT onmousedown();
8565
8566     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
8567     void onmouseup(VARIANT v);
8568
8569     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
8570     VARIANT onmouseup();
8571
8572     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
8573     IDispatch *document();
8574
8575     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
8576     void title(BSTR v);
8577
8578     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
8579     BSTR title();
8580
8581     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
8582     void language(BSTR v);
8583
8584     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
8585     BSTR language();
8586
8587     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
8588     void onselectstart(VARIANT v);
8589
8590     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
8591     VARIANT onselectstart();
8592
8593     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
8594     void scrollIntoView([in, optional] VARIANT varargStart);
8595
8596     [id(DISPID_IHTMLELEMENT_CONTAINS)]
8597     VARIANT_BOOL contains([in] IHTMLElement *pChild);
8598
8599     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
8600     long sourceIndex();
8601
8602     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
8603     VARIANT recordNumber();
8604
8605     [propput, id(DISPID_IHTMLELEMENT_LANG)]
8606     void lang(BSTR v);
8607
8608     [propget, id(DISPID_IHTMLELEMENT_LANG)]
8609     BSTR lang();
8610
8611     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
8612     long offsetLeft();
8613
8614     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
8615     long offsetTop();
8616
8617     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
8618     long offsetWidth();
8619
8620     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
8621     long offsetHeight();
8622
8623     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
8624     IHTMLElement *offsetParent();
8625
8626     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
8627     void innerHTML(BSTR v);
8628
8629     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
8630     BSTR innerHTML();
8631
8632     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
8633     void innerText(BSTR v);
8634
8635     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
8636     BSTR innerText();
8637
8638     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
8639     void outerHTML(BSTR v);
8640
8641     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
8642     BSTR outerHTML();
8643
8644     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
8645     void outerText(BSTR v);
8646
8647     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
8648     BSTR outerText();
8649
8650     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
8651     void insertAdjacentHTML(
8652             [in] BSTR where,
8653             [in] BSTR html);
8654
8655     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
8656     void insertAdjacentText(
8657             [in] BSTR where,
8658             [in] BSTR text);
8659
8660     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
8661     IHTMLElement *parentTextEdit();
8662
8663     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
8664     VARIANT_BOOL isTextEdit();
8665
8666     [id(DISPID_IHTMLELEMENT_CLICK)]
8667     void click();
8668
8669     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
8670     IHTMLFiltersCollection *filters();
8671
8672     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
8673     void ondragstart(VARIANT v);
8674
8675     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
8676     VARIANT ondragstart();
8677
8678     [id(DISPID_IHTMLELEMENT_TOSTRING)]
8679     BSTR toString();
8680
8681     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
8682     void onbeforeupdate(VARIANT v);
8683
8684     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
8685     VARIANT onbeforeupdate();
8686
8687     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
8688     void onafterupdate(VARIANT v);
8689
8690     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
8691     VARIANT onafterupdate();
8692
8693     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
8694     void onerrorupdate(VARIANT v);
8695
8696     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
8697     VARIANT onerrorupdate();
8698
8699     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
8700     void onrowexit(VARIANT v);
8701
8702     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
8703     VARIANT onrowexit();
8704
8705     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
8706     void onrowenter(VARIANT v);
8707
8708     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
8709     VARIANT onrowenter();
8710
8711     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
8712     void ondatasetchanged(VARIANT v);
8713
8714     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
8715     VARIANT ondatasetchanged();
8716
8717     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
8718     void ondataavailable(VARIANT v);
8719
8720     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
8721     VARIANT ondataavailable();
8722
8723     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
8724     void ondatasetcomplete(VARIANT v);
8725
8726     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
8727     VARIANT ondatasetcomplete();
8728
8729     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
8730     void onfilterchange(VARIANT v);
8731
8732     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
8733     VARIANT onfilterchange();
8734
8735     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
8736     IDispatch *children();
8737
8738     [propget, id(DISPID_IHTMLELEMENT_ALL)]
8739     IDispatch *all();
8740
8741     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
8742     BSTR scopeName();
8743
8744     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
8745     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
8746
8747     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
8748     void releaseCapture();
8749
8750     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
8751     void onlosecapture(VARIANT v);
8752
8753     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
8754     VARIANT onlosecapture();
8755
8756     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
8757     BSTR componentFromPoint(
8758             [in] long x,
8759             [in] long y);
8760
8761     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
8762     void doScroll([in, optional] VARIANT component);
8763
8764     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
8765     void onscroll(VARIANT v);
8766
8767     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
8768     VARIANT onscroll();
8769
8770     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
8771     void ondrag(VARIANT v);
8772
8773     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
8774     VARIANT ondrag();
8775
8776     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
8777     void ondragend(VARIANT v);
8778
8779     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
8780     VARIANT ondragend();
8781
8782     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
8783     void ondragenter(VARIANT v);
8784
8785     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
8786     VARIANT ondragenter();
8787
8788     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
8789     void ondragover(VARIANT v);
8790
8791     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
8792     VARIANT ondragover();
8793
8794     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
8795     void ondragleave(VARIANT v);
8796
8797     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
8798     VARIANT ondragleave();
8799
8800     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
8801     void ondrop(VARIANT v);
8802
8803     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
8804     VARIANT ondrop();
8805
8806     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
8807     void onbeforecut(VARIANT v);
8808
8809     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
8810     VARIANT onbeforecut();
8811
8812     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
8813     void oncut(VARIANT v);
8814
8815     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
8816     VARIANT oncut();
8817
8818     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
8819     void onbeforecopy(VARIANT v);
8820
8821     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
8822     VARIANT onbeforecopy();
8823
8824     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
8825     void oncopy(VARIANT v);
8826
8827     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
8828     VARIANT oncopy();
8829
8830     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
8831     void onbeforepaste(VARIANT v);
8832
8833     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
8834     VARIANT onbeforepaste();
8835
8836     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
8837     void onpaste(VARIANT v);
8838
8839     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
8840     VARIANT onpaste();
8841
8842     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
8843     IHTMLCurrentStyle *currentStyle();
8844
8845     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
8846     void onpropertychange(VARIANT v);
8847
8848     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
8849     VARIANT onpropertychange();
8850
8851     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
8852     IHTMLRectCollection *getClientRects();
8853
8854     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
8855     IHTMLRect *getBoundingClientRect();
8856
8857     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
8858     void setExpression(
8859             [in] BSTR propname,
8860             [in] BSTR expression,
8861             [in, defaultvalue("")] BSTR language);
8862
8863     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
8864     VARIANT getExpression([in] BSTR propname);
8865
8866     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
8867     VARIANT_BOOL removeExpression([in] BSTR propname);
8868
8869     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
8870     void tabIndex(short v);
8871
8872     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
8873     short tabIndex();
8874
8875     [id(DISPID_IHTMLELEMENT2_FOCUS)]
8876     void focus();
8877
8878     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
8879     void accessKey(BSTR v);
8880
8881     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
8882     BSTR accessKey();
8883
8884     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
8885     void onblur(VARIANT v);
8886
8887     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
8888     VARIANT onblur();
8889
8890     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
8891     void onfocus(VARIANT v);
8892
8893     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
8894     VARIANT onfocus();
8895
8896     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
8897     void onresize(VARIANT v);
8898
8899     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
8900     VARIANT onresize();
8901
8902     [id(DISPID_IHTMLELEMENT2_BLUR)]
8903     void blur();
8904
8905     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
8906     void addFilter([in] IUnknown *pUnk);
8907
8908     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
8909     void removeFilter([in] IUnknown *pUnk);
8910
8911     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
8912     long clientHeight();
8913
8914     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
8915     long clientWidth();
8916
8917     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
8918     long clientTop();
8919
8920     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
8921     long clientLeft();
8922
8923     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
8924     VARIANT_BOOL attachEvent(
8925             [in] BSTR event,
8926             [in] IDispatch *pDisp);
8927
8928     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
8929     void detachEvent(
8930             [in] BSTR event,
8931             [in] IDispatch *pDisp);
8932
8933     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
8934     VARIANT readyState();
8935
8936     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
8937     void onreadystatechange(VARIANT v);
8938
8939     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
8940     VARIANT onreadystatechange();
8941
8942     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
8943     void onrowsdelete(VARIANT v);
8944
8945     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
8946     VARIANT onrowsdelete();
8947
8948     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
8949     void onrowsinserted(VARIANT v);
8950
8951     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
8952      VARIANT onrowsinserted();
8953
8954     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
8955      void oncellchange(VARIANT v);
8956
8957     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
8958     VARIANT oncellchange();
8959
8960     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
8961     void dir(BSTR v);
8962
8963     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
8964     BSTR dir();
8965
8966     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
8967     IDispatch *createControlRange();
8968
8969     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
8970     long scrollHeight();
8971
8972     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
8973     long scrollWidth();
8974
8975     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
8976     void scrollTop(long v);
8977
8978     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
8979     long scrollTop();
8980
8981     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
8982     void scrollLeft(long v);
8983
8984     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
8985     long scrollLeft();
8986
8987     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
8988     void clearAttributes();
8989
8990     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
8991     void oncontextmenu(VARIANT v);
8992
8993     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
8994     VARIANT oncontextmenu();
8995
8996     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
8997     IHTMLElement *insertAdjacentElement(
8998             [in] BSTR where,
8999             [in] IHTMLElement *insertedElement);
9000
9001     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
9002     IHTMLElement *applyElement(
9003             [in] IHTMLElement *apply,
9004             [in] BSTR where);
9005
9006     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
9007     BSTR getAdjacentText([in] BSTR where);
9008
9009     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
9010     BSTR replaceAdjacentText(
9011             [in] BSTR where,
9012             [in] BSTR newText);
9013
9014     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
9015     VARIANT_BOOL canHaveChildren();
9016
9017     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
9018     long addBehavior(
9019             [in] BSTR bstrUrl,
9020             [in, optional] VARIANT *pvarFactory);
9021
9022     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
9023     VARIANT_BOOL removeBehavior([in] long cookie);
9024
9025     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
9026     IHTMLStyle *runtimeStyle();
9027
9028     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
9029     IDispatch *behaviorUrns();
9030
9031     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
9032     void tagUrn(BSTR v);
9033
9034     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
9035     BSTR tagUrn();
9036
9037     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
9038     void onbeforeeditfocus(VARIANT v);
9039
9040     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
9041     VARIANT onbeforeeditfocus();
9042
9043     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
9044     long readyStateValue();
9045
9046     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
9047     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
9048
9049     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
9050     void mergeAttributes(
9051             [in] IHTMLElement *mergeThis,
9052             [in, optional] VARIANT *pvarFlags);
9053
9054     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
9055     VARIANT_BOOL isMultiLine();
9056
9057     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
9058     VARIANT_BOOL canHaveHTML();
9059
9060     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
9061     void onlayoutcomplete(VARIANT v);
9062
9063     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
9064     VARIANT onlayoutcomplete();
9065
9066     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
9067     void onpage(VARIANT v);
9068
9069     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
9070     VARIANT onpage();
9071
9072     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
9073     void inflateBlock(VARIANT_BOOL v);
9074
9075     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
9076     VARIANT_BOOL inflateBlock();
9077
9078     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
9079     void onbeforedeactivate(VARIANT v);
9080
9081     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
9082     VARIANT onbeforedeactivate();
9083
9084     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
9085     void setActive();
9086
9087     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
9088     void contentEditable(BSTR v);
9089
9090     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
9091     BSTR contentEditable();
9092
9093     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
9094     VARIANT_BOOL isContentEditable();
9095
9096     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
9097     void hideFocus(VARIANT_BOOL v);
9098
9099     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
9100     VARIANT_BOOL hideFocus();
9101
9102     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
9103     void disabled(VARIANT_BOOL v);
9104
9105     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
9106     VARIANT_BOOL disabled();
9107
9108     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
9109     VARIANT_BOOL isDisabled();
9110
9111     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
9112     void onmove(VARIANT v);
9113
9114     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
9115     VARIANT onmove();
9116
9117     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
9118     void oncontrolselect(VARIANT v);
9119
9120     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
9121     VARIANT oncontrolselect();
9122
9123     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
9124     VARIANT_BOOL fireEvent(
9125             [in] BSTR bstrEventName,
9126             [in, optional] VARIANT *pvarEventObject);
9127
9128     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
9129     void onresizestart(VARIANT v);
9130
9131     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
9132     VARIANT onresizestart();
9133
9134     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
9135     void onresizeend(VARIANT v);
9136
9137     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
9138     VARIANT onresizeend();
9139
9140     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
9141     void onmovestart(VARIANT v);
9142
9143     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
9144     VARIANT onmovestart();
9145
9146     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
9147     void onmoveend(VARIANT v);
9148
9149     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
9150     VARIANT onmoveend();
9151
9152     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
9153     void onmouseenter(VARIANT v);
9154
9155     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
9156     VARIANT onmouseenter();
9157
9158     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
9159     void onmouseleave(VARIANT v);
9160
9161     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
9162     VARIANT onmouseleave();
9163
9164     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
9165     void onactivate(VARIANT v);
9166
9167     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
9168     VARIANT onactivate();
9169
9170     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
9171     void ondeactivate(VARIANT v);
9172
9173     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
9174     VARIANT ondeactivate();
9175
9176     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
9177     VARIANT_BOOL dragDrop();
9178
9179     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
9180     LONG glyphMode();
9181
9182     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
9183     void onmousewheel(VARIANT v);
9184
9185     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
9186     VARIANT onmousewheel();
9187
9188     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
9189     void normalize();
9190
9191     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
9192     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
9193
9194     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
9195     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
9196
9197     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
9198     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
9199
9200     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
9201     void onbeforeactivate(VARIANT v);
9202
9203     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
9204     VARIANT onbeforeactivate();
9205
9206     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
9207     void onfocusin(VARIANT v);
9208
9209     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
9210     VARIANT onfocusin();
9211
9212     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
9213     void onfocusout(VARIANT v);
9214
9215     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
9216     VARIANT onfocusout();
9217
9218     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
9219     long uniqueNumber();
9220
9221     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
9222     BSTR uniqueID();
9223
9224     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
9225     long nodeType();
9226
9227     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
9228     IHTMLDOMNode *parentNode();
9229
9230     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
9231     VARIANT_BOOL hasChildNodes();
9232
9233     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
9234     IDispatch *childNodes();
9235
9236     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
9237     IDispatch *attributes();
9238
9239     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
9240     IHTMLDOMNode *insertBefore(
9241             [in] IHTMLDOMNode *newChild,
9242             [in, optional] VARIANT refChild);
9243
9244     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
9245     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
9246
9247     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
9248     IHTMLDOMNode *replaceChild(
9249             [in] IHTMLDOMNode *newChild,
9250             [in] IHTMLDOMNode *oldChild);
9251
9252     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
9253     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
9254
9255     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
9256     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
9257
9258     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
9259     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
9260
9261     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
9262     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
9263
9264     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
9265     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
9266
9267     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
9268     BSTR nodeName();
9269
9270     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
9271     void nodeValue(VARIANT v);
9272
9273     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
9274     VARIANT nodeValue();
9275
9276     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
9277     IHTMLDOMNode *firstChild();
9278
9279     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
9280     IHTMLDOMNode *lastChild();
9281
9282     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
9283     IHTMLDOMNode *previousSibling();
9284
9285     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
9286     IHTMLDOMNode *nextSibling();
9287
9288     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
9289     IDispatch *ownerDocument();
9290
9291     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
9292     void dataFld(BSTR v);
9293
9294     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
9295     BSTR dataFld();
9296
9297     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
9298     void dataSrc(BSTR v);
9299
9300     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
9301     BSTR dataSrc();
9302
9303     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
9304     void dataFormatAs(BSTR v);
9305
9306     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
9307     BSTR dataFormatAs();
9308
9309     [propput, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
9310     void type(BSTR v);
9311
9312     [propget, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
9313     BSTR type();
9314
9315     [propput, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
9316     void value(BSTR v);
9317
9318     [propget, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
9319     BSTR value();
9320
9321     [propput, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
9322     void name(BSTR v);
9323
9324     [propget, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
9325     BSTR name();
9326
9327     [propput, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
9328     void status(VARIANT_BOOL v);
9329
9330     [propget, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
9331     VARIANT_BOOL status();
9332
9333     [propget, id(DISPID_IHTMLINPUTELEMENT_FORM)]
9334     IHTMLFormElement *form();
9335
9336     [propput, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
9337     void size(long v);
9338
9339     [propget, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
9340     long size();
9341
9342     [propput, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
9343     void maxLength(long v);
9344
9345     [propget, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
9346     long maxLength();
9347
9348     [id(DISPID_IHTMLINPUTELEMENT_SELECT)]
9349     void select();
9350
9351     [propput, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
9352     void onchange(VARIANT v);
9353
9354     [propget, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
9355     VARIANT onchange();
9356
9357     [propput, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
9358     void onselect(VARIANT v);
9359
9360     [propget, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
9361     VARIANT onselect();
9362
9363     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9364     void defaultValue(BSTR v);
9365
9366     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9367     BSTR defaultValue();
9368
9369     [propput, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
9370     void readOnly(VARIANT_BOOL v);
9371
9372     [propget, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
9373     VARIANT_BOOL readOnly();
9374
9375     [id(DISPID_IHTMLINPUTELEMENT_CREATETEXTRANGE)]
9376     IHTMLTxtRange *createTextRange();
9377
9378     [propput, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
9379     void indeterminate(VARIANT_BOOL v);
9380
9381     [propget, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
9382     VARIANT_BOOL indeterminate();
9383
9384     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
9385     void defaultChecked(VARIANT_BOOL v);
9386
9387     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
9388     VARIANT_BOOL defaultChecked();
9389
9390     [propput, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
9391     void checked(VARIANT_BOOL v);
9392
9393     [propget, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
9394     VARIANT_BOOL checked();
9395
9396     [propput, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
9397     void border(VARIANT v);
9398
9399     [propget, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
9400     VARIANT border();
9401
9402     [propput, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
9403     void vspace(long v);
9404
9405     [propget, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
9406     long vspace();
9407
9408     [propput, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
9409     void hspace(long v);
9410
9411     [propget, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
9412     long hspace();
9413
9414     [propput, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
9415     void alt(BSTR v);
9416
9417     [propget, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
9418     BSTR alt();
9419
9420     [propput, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
9421     void src(BSTR v);
9422
9423     [propget, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
9424     BSTR src();
9425
9426     [propput, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
9427     void lowsrc(BSTR v);
9428
9429     [propget, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
9430     BSTR lowsrc();
9431
9432     [propput, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
9433     void vrml(BSTR v);
9434
9435     [propget, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
9436     BSTR vrml();
9437
9438     [propput, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
9439     void dynsrc(BSTR v);
9440
9441     [propget, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
9442     BSTR dynsrc();
9443
9444     [propget, id(DISPID_IHTMLINPUTELEMENT_COMPLETE)]
9445     VARIANT_BOOL complete();
9446
9447     [propput, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
9448     void loop(VARIANT v);
9449
9450     [propget, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
9451     VARIANT loop();
9452
9453     [propput, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
9454     void align(BSTR v);
9455
9456     [propget, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
9457     BSTR align();
9458
9459     [propput, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
9460     void onload(VARIANT v);
9461
9462     [propget, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
9463     VARIANT onload();
9464
9465     [propput, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
9466     void onerror(VARIANT v);
9467
9468     [propget, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
9469     VARIANT onerror();
9470
9471     [propput, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
9472     void onabort(VARIANT v);
9473
9474     [propget, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
9475     VARIANT onabort();
9476
9477     [propput, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
9478     void width(long v);
9479
9480     [propget, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
9481     long width();
9482
9483     [propput, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
9484     void height(long v);
9485
9486     [propget, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
9487     long height();
9488
9489     [propput, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
9490     void start(BSTR v);
9491
9492     [propget, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
9493     BSTR start();
9494
9495     [propput, id(DISPID_IHTMLINPUTELEMENT2_ACCEPT), displaybind, bindable]
9496     void accept(BSTR v);
9497
9498     [propget, id(DISPID_IHTMLINPUTELEMENT2_ACCEPT), displaybind, bindable]
9499     BSTR accept();
9500
9501     [propput, id(DISPID_IHTMLINPUTELEMENT2_USEMAP), displaybind, bindable]
9502     void useMap(BSTR v);
9503
9504     [propget, id(DISPID_IHTMLINPUTELEMENT2_USEMAP), displaybind, bindable]
9505     BSTR useMap();
9506 }
9507
9508 /*****************************************************************************
9509  *    IHTMLTextAreaElement interface
9510  */
9511 [
9512     odl,
9513     oleautomation,
9514     dual,
9515     uuid(3050f2aa-98b5-11cf-bb82-00aa00bdce0b)
9516 ]
9517 interface IHTMLTextAreaElement : IDispatch
9518 {
9519     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_TYPE)]
9520     HRESULT type([retval, out] BSTR *p);
9521
9522     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
9523     HRESULT value([in] BSTR v);
9524
9525     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
9526     HRESULT value([retval, out] BSTR *p);
9527
9528     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
9529     HRESULT name([in] BSTR v);
9530
9531     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
9532     HRESULT name([retval, out] BSTR *p);
9533
9534     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
9535     HRESULT status([in] VARIANT v);
9536
9537     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
9538     HRESULT status([retval, out] VARIANT *p);
9539
9540     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_DISABLED), displaybind, bindable]
9541     HRESULT disabled([in] VARIANT_BOOL v);
9542
9543     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_DISABLED), displaybind, bindable]
9544     HRESULT disabled([retval, out] VARIANT_BOOL *p);
9545
9546     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_FORM)]
9547     HRESULT form([retval, out] IHTMLFormElement **p);
9548
9549     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9550     HRESULT defaultValue([in] BSTR v);
9551
9552     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9553     HRESULT defaultValue([retval, out] BSTR *p);
9554
9555     [id(DISPID_IHTMLTEXTAREAELEMENT_SELECT)]
9556     HRESULT select();
9557
9558     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
9559     HRESULT onchange([in] VARIANT v);
9560
9561     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
9562     HRESULT onchange([retval, out] VARIANT *p);
9563
9564     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
9565     HRESULT onselect([in] VARIANT v);
9566
9567     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
9568     HRESULT onselect([retval, out] VARIANT *p);
9569
9570     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
9571     HRESULT readOnly([in] VARIANT_BOOL v);
9572
9573     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
9574     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
9575
9576     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
9577     HRESULT rows([in] long v);
9578
9579     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
9580     HRESULT rows([retval, out] long *p);
9581
9582     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
9583     HRESULT cols([in] long v);
9584
9585     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
9586     HRESULT cols([retval, out] long *p);
9587
9588     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
9589     HRESULT wrap([in] BSTR v);
9590
9591     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
9592     HRESULT wrap([retval, out] BSTR *p);
9593
9594     [id(DISPID_IHTMLTEXTAREAELEMENT_CREATETEXTRANGE)]
9595     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
9596 }
9597
9598 /*****************************************************************************
9599  *    DispHTMLUnknownElement interface
9600  */
9601 [
9602     hidden,
9603     uuid(3050f539-98b5-11cf-bb82-00aa00bdce0b)
9604 ]
9605 dispinterface DispHTMLUnknownElement
9606 {
9607 properties:
9608 methods:
9609     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
9610     void setAttribute(
9611             [in] BSTR strAttributeName,
9612             [in] VARIANT AttributeValue,
9613             [in, defaultvalue(1)] LONG lFlags);
9614
9615     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
9616     VARIANT getAttribute(
9617              [in] BSTR strAttributeName,
9618              [in, defaultvalue(0)] LONG lFlags);
9619
9620     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
9621     VARIANT_BOOL removeAttribute(
9622             [in] BSTR strAttributeName,
9623             [in, defaultvalue(1)] LONG lFlags);
9624
9625     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
9626     void className(BSTR v);
9627
9628     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
9629     BSTR className();
9630
9631     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
9632     void id(BSTR v);
9633
9634     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
9635     BSTR id();
9636
9637     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
9638     BSTR tagName();
9639
9640     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
9641     IHTMLElement *parentElement();
9642
9643     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
9644     IHTMLStyle *style();
9645
9646     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
9647     void onhelp(VARIANT v);
9648
9649     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
9650     VARIANT onhelp();
9651
9652     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
9653     void onclick(VARIANT v);
9654
9655     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
9656     VARIANT onclick();
9657
9658     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
9659     void ondblclick(VARIANT v);
9660
9661     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
9662     VARIANT ondblclick();
9663
9664     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
9665     void onkeydown(VARIANT v);
9666
9667     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
9668     VARIANT onkeydown();
9669
9670     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
9671     void onkeyup(VARIANT v);
9672
9673     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
9674     VARIANT onkeyup();
9675
9676     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
9677     void onkeypress(VARIANT v);
9678
9679     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
9680     VARIANT onkeypress();
9681
9682     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
9683     void onmouseout(VARIANT v);
9684
9685     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
9686     VARIANT onmouseout();
9687
9688     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
9689     void onmouseover(VARIANT v);
9690
9691     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
9692     VARIANT onmouseover();
9693
9694     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
9695     void onmousemove(VARIANT v);
9696
9697     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
9698     VARIANT onmousemove();
9699
9700     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
9701     void onmousedown(VARIANT v);
9702
9703     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
9704     VARIANT onmousedown();
9705
9706     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
9707     void onmouseup(VARIANT v);
9708
9709     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
9710     VARIANT onmouseup();
9711
9712     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
9713     IDispatch *document();
9714
9715     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
9716     void title(BSTR v);
9717
9718     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
9719     BSTR title();
9720
9721     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
9722     void language(BSTR v);
9723
9724     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
9725     BSTR language();
9726
9727     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
9728     void onselectstart(VARIANT v);
9729
9730     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
9731     VARIANT onselectstart();
9732
9733     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
9734     void scrollIntoView([in, optional] VARIANT varargStart);
9735
9736     [id(DISPID_IHTMLELEMENT_CONTAINS)]
9737     VARIANT_BOOL contains([in] IHTMLElement *pChild);
9738
9739     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
9740     long sourceIndex();
9741
9742     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
9743     VARIANT recordNumber();
9744
9745     [propput, id(DISPID_IHTMLELEMENT_LANG)]
9746     void lang(BSTR v);
9747
9748     [propget, id(DISPID_IHTMLELEMENT_LANG)]
9749     BSTR lang();
9750
9751     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
9752     long offsetLeft();
9753
9754     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
9755     long offsetTop();
9756
9757     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
9758     long offsetWidth();
9759
9760     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
9761     long offsetHeight();
9762
9763     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
9764     IHTMLElement *offsetParent();
9765
9766     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
9767     void innerHTML(BSTR v);
9768
9769     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
9770     BSTR innerHTML();
9771
9772     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
9773     void innerText(BSTR v);
9774
9775     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
9776     BSTR innerText();
9777
9778     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
9779     void outerHTML(BSTR v);
9780
9781     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
9782     BSTR outerHTML();
9783
9784     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
9785     void outerText(BSTR v);
9786
9787     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
9788     BSTR outerText();
9789
9790     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
9791     void insertAdjacentHTML(
9792             [in] BSTR where,
9793             [in] BSTR html);
9794
9795     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
9796     void insertAdjacentText(
9797             [in] BSTR where,
9798             [in] BSTR text);
9799
9800     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
9801     IHTMLElement *parentTextEdit();
9802
9803     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
9804     VARIANT_BOOL isTextEdit();
9805
9806     [id(DISPID_IHTMLELEMENT_CLICK)]
9807     void click();
9808
9809     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
9810     IHTMLFiltersCollection *filters();
9811
9812     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
9813     void ondragstart(VARIANT v);
9814
9815     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
9816     VARIANT ondragstart();
9817
9818     [id(DISPID_IHTMLELEMENT_TOSTRING)]
9819     BSTR toString();
9820
9821     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
9822     void onbeforeupdate(VARIANT v);
9823
9824     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
9825     VARIANT onbeforeupdate();
9826
9827     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
9828     void onafterupdate(VARIANT v);
9829
9830     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
9831     VARIANT onafterupdate();
9832
9833     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
9834     void onerrorupdate(VARIANT v);
9835
9836     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
9837     VARIANT onerrorupdate();
9838
9839     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
9840     void onrowexit(VARIANT v);
9841
9842     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
9843     VARIANT onrowexit();
9844
9845     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
9846     void onrowenter(VARIANT v);
9847
9848     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
9849     VARIANT onrowenter();
9850
9851     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
9852     void ondatasetchanged(VARIANT v);
9853
9854     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
9855     VARIANT ondatasetchanged();
9856
9857     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
9858     void ondataavailable(VARIANT v);
9859
9860     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
9861     VARIANT ondataavailable();
9862
9863     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
9864     void ondatasetcomplete(VARIANT v);
9865
9866     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
9867     VARIANT ondatasetcomplete();
9868
9869     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
9870     void onfilterchange(VARIANT v);
9871
9872     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
9873     VARIANT onfilterchange();
9874
9875     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
9876     IDispatch *children();
9877
9878     [propget, id(DISPID_IHTMLELEMENT_ALL)]
9879     IDispatch *all();
9880
9881     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
9882     BSTR scopeName();
9883
9884     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
9885     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
9886
9887     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
9888     void releaseCapture();
9889
9890     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
9891     void onlosecapture(VARIANT v);
9892
9893     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
9894     VARIANT onlosecapture();
9895
9896     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
9897     BSTR componentFromPoint(
9898             [in] long x,
9899             [in] long y);
9900
9901     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
9902     void doScroll([in, optional] VARIANT component);
9903
9904     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
9905     void onscroll(VARIANT v);
9906
9907     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
9908     VARIANT onscroll();
9909
9910     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
9911     void ondrag(VARIANT v);
9912
9913     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
9914     VARIANT ondrag();
9915
9916     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
9917     void ondragend(VARIANT v);
9918
9919     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
9920     VARIANT ondragend();
9921
9922     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
9923     void ondragenter(VARIANT v);
9924
9925     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
9926     VARIANT ondragenter();
9927
9928     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
9929     void ondragover(VARIANT v);
9930
9931     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
9932     VARIANT ondragover();
9933
9934     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
9935     void ondragleave(VARIANT v);
9936
9937     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
9938     VARIANT ondragleave();
9939
9940     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
9941     void ondrop(VARIANT v);
9942
9943     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
9944     VARIANT ondrop();
9945
9946     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
9947     void onbeforecut(VARIANT v);
9948
9949     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
9950     VARIANT onbeforecut();
9951
9952     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
9953     void oncut(VARIANT v);
9954
9955     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
9956     VARIANT oncut();
9957
9958     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
9959     void onbeforecopy(VARIANT v);
9960
9961     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
9962     VARIANT onbeforecopy();
9963
9964     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
9965     void oncopy(VARIANT v);
9966
9967     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
9968     VARIANT oncopy();
9969
9970     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
9971     void onbeforepaste(VARIANT v);
9972
9973     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
9974     VARIANT onbeforepaste();
9975
9976     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
9977     void onpaste(VARIANT v);
9978
9979     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
9980     VARIANT onpaste();
9981
9982     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
9983     IHTMLCurrentStyle *currentStyle();
9984
9985     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
9986     void onpropertychange(VARIANT v);
9987
9988     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
9989     VARIANT onpropertychange();
9990
9991     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
9992     IHTMLRectCollection *getClientRects();
9993
9994     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
9995     IHTMLRect *getBoundingClientRect();
9996
9997     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
9998     void setExpression(
9999             [in] BSTR propname,
10000             [in] BSTR expression,
10001             [in, defaultvalue("")] BSTR language);
10002
10003     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
10004     VARIANT getExpression([in] BSTR propname);
10005
10006     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
10007     VARIANT_BOOL removeExpression([in] BSTR propname);
10008
10009     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
10010     void tabIndex(short v);
10011
10012     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
10013     short tabIndex();
10014
10015     [id(DISPID_IHTMLELEMENT2_FOCUS)]
10016     void focus();
10017
10018     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
10019     void accessKey(BSTR v);
10020
10021     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
10022     BSTR accessKey();
10023
10024     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
10025     void onblur(VARIANT v);
10026
10027     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
10028     VARIANT onblur();
10029
10030     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
10031     void onfocus(VARIANT v);
10032
10033     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
10034     VARIANT onfocus();
10035
10036     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
10037     void onresize(VARIANT v);
10038
10039     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
10040     VARIANT onresize();
10041
10042     [id(DISPID_IHTMLELEMENT2_BLUR)]
10043     void blur();
10044
10045     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
10046     void addFilter([in] IUnknown *pUnk);
10047
10048     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
10049     void removeFilter([in] IUnknown *pUnk);
10050
10051     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
10052     long clientHeight();
10053
10054     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
10055     long clientWidth();
10056
10057     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
10058     long clientTop();
10059
10060     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
10061     long clientLeft();
10062
10063     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
10064     VARIANT_BOOL attachEvent(
10065             [in] BSTR event,
10066             [in] IDispatch *pDisp);
10067
10068     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
10069     void detachEvent(
10070             [in] BSTR event,
10071             [in] IDispatch *pDisp);
10072
10073     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
10074     VARIANT readyState();
10075
10076     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
10077     void onreadystatechange(VARIANT v);
10078
10079     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
10080     VARIANT onreadystatechange();
10081
10082     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
10083     void onrowsdelete(VARIANT v);
10084
10085     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
10086     VARIANT onrowsdelete();
10087
10088     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
10089     void onrowsinserted(VARIANT v);
10090
10091     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
10092      VARIANT onrowsinserted();
10093
10094     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
10095      void oncellchange(VARIANT v);
10096
10097     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
10098     VARIANT oncellchange();
10099
10100     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
10101     void dir(BSTR v);
10102
10103     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
10104     BSTR dir();
10105
10106     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
10107     IDispatch *createControlRange();
10108
10109     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
10110     long scrollHeight();
10111
10112     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
10113     long scrollWidth();
10114
10115     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
10116     void scrollTop(long v);
10117
10118     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
10119     long scrollTop();
10120
10121     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
10122     void scrollLeft(long v);
10123
10124     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
10125     long scrollLeft();
10126
10127     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
10128     void clearAttributes();
10129
10130     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
10131     void oncontextmenu(VARIANT v);
10132
10133     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
10134     VARIANT oncontextmenu();
10135
10136     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
10137     IHTMLElement *insertAdjacentElement(
10138             [in] BSTR where,
10139             [in] IHTMLElement *insertedElement);
10140
10141     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
10142     IHTMLElement *applyElement(
10143             [in] IHTMLElement *apply,
10144             [in] BSTR where);
10145
10146     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
10147     BSTR getAdjacentText([in] BSTR where);
10148
10149     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
10150     BSTR replaceAdjacentText(
10151             [in] BSTR where,
10152             [in] BSTR newText);
10153
10154     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
10155     VARIANT_BOOL canHaveChildren();
10156
10157     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
10158     long addBehavior(
10159             [in] BSTR bstrUrl,
10160             [in, optional] VARIANT *pvarFactory);
10161
10162     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
10163     VARIANT_BOOL removeBehavior([in] long cookie);
10164
10165     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
10166     IHTMLStyle *runtimeStyle();
10167
10168     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
10169     IDispatch *behaviorUrns();
10170
10171     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
10172     void tagUrn(BSTR v);
10173
10174     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
10175     BSTR tagUrn();
10176
10177     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
10178     void onbeforeeditfocus(VARIANT v);
10179
10180     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
10181     VARIANT onbeforeeditfocus();
10182
10183     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
10184     long readyStateValue();
10185
10186     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
10187     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
10188
10189     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
10190     void mergeAttributes(
10191             [in] IHTMLElement *mergeThis,
10192             [in, optional] VARIANT *pvarFlags);
10193
10194     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
10195     VARIANT_BOOL isMultiLine();
10196
10197     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
10198     VARIANT_BOOL canHaveHTML();
10199
10200     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
10201     void onlayoutcomplete(VARIANT v);
10202
10203     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
10204     VARIANT onlayoutcomplete();
10205
10206     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
10207     void onpage(VARIANT v);
10208
10209     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
10210     VARIANT onpage();
10211
10212     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
10213     void inflateBlock(VARIANT_BOOL v);
10214
10215     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
10216     VARIANT_BOOL inflateBlock();
10217
10218     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
10219     void onbeforedeactivate(VARIANT v);
10220
10221     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
10222     VARIANT onbeforedeactivate();
10223
10224     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
10225     void setActive();
10226
10227     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
10228     void contentEditable(BSTR v);
10229
10230     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
10231     BSTR contentEditable();
10232
10233     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
10234     VARIANT_BOOL isContentEditable();
10235
10236     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
10237     void hideFocus(VARIANT_BOOL v);
10238
10239     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
10240     VARIANT_BOOL hideFocus();
10241
10242     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
10243     void disabled(VARIANT_BOOL v);
10244
10245     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
10246     VARIANT_BOOL disabled();
10247
10248     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
10249     VARIANT_BOOL isDisabled();
10250
10251     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
10252     void onmove(VARIANT v);
10253
10254     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
10255     VARIANT onmove();
10256
10257     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
10258     void oncontrolselect(VARIANT v);
10259
10260     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
10261     VARIANT oncontrolselect();
10262
10263     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
10264     VARIANT_BOOL fireEvent(
10265             [in] BSTR bstrEventName,
10266             [in, optional] VARIANT *pvarEventObject);
10267
10268     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
10269     void onresizestart(VARIANT v);
10270
10271     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
10272     VARIANT onresizestart();
10273
10274     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
10275     void onresizeend(VARIANT v);
10276
10277     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
10278     VARIANT onresizeend();
10279
10280     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
10281     void onmovestart(VARIANT v);
10282
10283     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
10284     VARIANT onmovestart();
10285
10286     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
10287     void onmoveend(VARIANT v);
10288
10289     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
10290     VARIANT onmoveend();
10291
10292     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
10293     void onmouseenter(VARIANT v);
10294
10295     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
10296     VARIANT onmouseenter();
10297
10298     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
10299     void onmouseleave(VARIANT v);
10300
10301     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
10302     VARIANT onmouseleave();
10303
10304     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
10305     void onactivate(VARIANT v);
10306
10307     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
10308     VARIANT onactivate();
10309
10310     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
10311     void ondeactivate(VARIANT v);
10312
10313     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
10314     VARIANT ondeactivate();
10315
10316     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
10317     VARIANT_BOOL dragDrop();
10318
10319     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
10320     LONG glyphMode();
10321
10322     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
10323     void onmousewheel(VARIANT v);
10324
10325     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
10326     VARIANT onmousewheel();
10327
10328     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
10329     void normalize();
10330
10331     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
10332     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
10333
10334     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
10335     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
10336
10337     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
10338     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
10339
10340     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
10341     void onbeforeactivate(VARIANT v);
10342
10343     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
10344     VARIANT onbeforeactivate();
10345
10346     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
10347     void onfocusin(VARIANT v);
10348
10349     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
10350     VARIANT onfocusin();
10351
10352     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
10353     void onfocusout(VARIANT v);
10354
10355     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
10356     VARIANT onfocusout();
10357
10358     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
10359     long uniqueNumber();
10360
10361     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
10362     BSTR uniqueID();
10363
10364     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
10365     long nodeType();
10366
10367     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
10368     IHTMLDOMNode *parentNode();
10369
10370     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
10371     VARIANT_BOOL hasChildNodes();
10372
10373     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
10374     IDispatch *childNodes();
10375
10376     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
10377     IDispatch *attributes();
10378
10379     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
10380     IHTMLDOMNode *insertBefore(
10381             [in] IHTMLDOMNode *newChild,
10382             [in, optional] VARIANT refChild);
10383
10384     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
10385     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
10386
10387     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
10388     IHTMLDOMNode *replaceChild(
10389             [in] IHTMLDOMNode *newChild,
10390             [in] IHTMLDOMNode *oldChild);
10391
10392     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
10393     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
10394
10395     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
10396     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
10397
10398     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
10399     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
10400
10401     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
10402     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
10403
10404     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
10405     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
10406
10407     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
10408     BSTR nodeName();
10409
10410     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
10411     void nodeValue(VARIANT v);
10412
10413     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
10414     VARIANT nodeValue();
10415
10416     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
10417     IHTMLDOMNode *firstChild();
10418
10419     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
10420     IHTMLDOMNode *lastChild();
10421
10422     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
10423     IHTMLDOMNode *previousSibling();
10424
10425     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
10426     IHTMLDOMNode *nextSibling();
10427
10428     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
10429     IDispatch *ownerDocument();
10430 }
10431
10432 /*****************************************************************************
10433  *    IOmHistory interface
10434  */
10435 [
10436     odl,
10437     oleautomation,
10438     dual,
10439     uuid(FECEAAA2-8405-11CF-8BA1-00AA00476DA6)
10440 ]
10441 interface IOmHistory : IDispatch
10442 {
10443     [propget, id(DISPID_IOMHISTORY_LENGTH)]
10444     HRESULT length([retval, out] short *p);
10445
10446     [id(DISPID_IOMHISTORY_BACK)]
10447     HRESULT back([optional, in] VARIANT *pvargdistance);
10448
10449     [id(DISPID_IOMHISTORY_FORWARD)]
10450     HRESULT forward([optional, in] VARIANT *pvargdistance);
10451
10452     [id(DISPID_IOMHISTORY_GO)]
10453     HRESULT go([optional, in] VARIANT *pvargdistance);
10454 }
10455
10456 /*****************************************************************************
10457  *    IHTMLMimeTypesCollection interface
10458  */
10459 [
10460     odl,
10461     oleautomation,
10462     dual,
10463     uuid(3050F3FC-98B5-11CF-BB82-00AA00BDCE0B)
10464 ]
10465 interface IHTMLMimeTypesCollection : IDispatch
10466 {
10467     [propget, id(DISPID_IHTMLMIMETYPESCOLLECTION_LENGTH)]
10468     HRESULT length([retval, out] long *p);
10469 }
10470
10471 /*****************************************************************************
10472  *    IHTMLPluginsCollection interface
10473  */
10474 [
10475     odl,
10476     oleautomation,
10477     dual,
10478     uuid(3050F3FD-98B5-11CF-BB82-00AA00BDCE0B)
10479 ]
10480 interface IHTMLPluginsCollection : IDispatch
10481 {
10482     [propget, id(DISPID_IHTMLPLUGINSCOLLECTION_LENGTH)]
10483     HRESULT length([retval, out] long *p);
10484
10485     [id(DISPID_IHTMLPLUGINSCOLLECTION_REFRESH)]
10486     HRESULT refresh([defaultvalue(0), in] VARIANT_BOOL reload);
10487 }
10488
10489 /*****************************************************************************
10490  *    IHTMLOpsProfile interface
10491  */
10492 [
10493     odl,
10494     oleautomation,
10495     dual,
10496     uuid(3050F401-98B5-11CF-BB82-00AA00BDCE0B)
10497 ]
10498 interface IHTMLOpsProfile : IDispatch
10499 {
10500     [id(DISPID_IHTMLOPSPROFILE_ADDREQUEST)]
10501     HRESULT addRequest(
10502         [in] BSTR name,
10503         [optional, in] VARIANT reserved,
10504         [retval, out] VARIANT_BOOL *success);
10505
10506     [id(DISPID_IHTMLOPSPROFILE_CLEARREQUEST)]
10507     HRESULT clearRequest();
10508
10509     [id(DISPID_IHTMLOPSPROFILE_DOREQUEST)]
10510     HRESULT doRequest(
10511         [in] VARIANT usage,
10512         [optional, in] VARIANT fname,
10513         [optional, in] VARIANT domain,
10514         [optional, in] VARIANT path,
10515         [optional, in] VARIANT expire,
10516         [optional, in] VARIANT reserved);
10517
10518     [id(DISPID_IHTMLOPSPROFILE_GETATTRIBUTE)]
10519     HRESULT getAttribute(
10520         [in] BSTR name,
10521         [retval, out] BSTR *value);
10522
10523     [id(DISPID_IHTMLOPSPROFILE_SETATTRIBUTE)]
10524     HRESULT setAttribute(
10525         [in] BSTR name,
10526         [in] BSTR value,
10527         [optional, in] VARIANT prefs,
10528         [retval, out] VARIANT_BOOL *success);
10529
10530     [id(DISPID_IHTMLOPSPROFILE_COMMITCHANGES)]
10531     HRESULT commitChanges([retval, out] VARIANT_BOOL *success);
10532
10533     [id(DISPID_IHTMLOPSPROFILE_ADDREADREQUEST)]
10534     HRESULT addReadRequest(
10535         [in] BSTR name,
10536         [optional, in] VARIANT reserved,
10537         [retval, out] VARIANT_BOOL *success);
10538
10539     [id(DISPID_IHTMLOPSPROFILE_DOREADREQUEST)]
10540     HRESULT doReadRequest(
10541         [in] VARIANT usage,
10542         [optional, in] VARIANT fname,
10543         [optional, in] VARIANT domain,
10544         [optional, in] VARIANT path,
10545         [optional, in] VARIANT expire,
10546         [optional, in] VARIANT reserved);
10547
10548     [id(DISPID_IHTMLOPSPROFILE_DOWRITEREQUEST)]
10549     HRESULT doWriteRequest([retval, out] VARIANT_BOOL *success);
10550 }
10551
10552 /*****************************************************************************
10553  *    IOmNavigator interface
10554  */
10555 [
10556         odl,
10557         oleautomation,
10558         dual,
10559         uuid(FECEAAA5-8405-11CF-8BA1-00AA00476DA6)
10560 ]
10561 interface IOmNavigator : IDispatch
10562 {
10563     [propget, id(DISPID_IOMNAVIGATOR_APPCODENAME)]
10564     HRESULT appCodeName([retval, out] BSTR *p);
10565
10566     [propget, id(DISPID_IOMNAVIGATOR_APPNAME)]
10567     HRESULT appName([retval, out] BSTR *p);
10568
10569     [propget, id(DISPID_IOMNAVIGATOR_APPVERSION)]
10570     HRESULT appVersion([retval, out] BSTR *p);
10571
10572     [propget, id(DISPID_IOMNAVIGATOR_USERAGENT)]
10573     HRESULT userAgent([retval, out] BSTR *p);
10574
10575     [id(DISPID_IOMNAVIGATOR_JAVAENABLED)]
10576     HRESULT javaEnabled([retval, out] VARIANT_BOOL *enabled);
10577
10578     [id(DISPID_IOMNAVIGATOR_TAINTENABLED)]
10579     HRESULT taintEnabled([retval, out] VARIANT_BOOL *enabled);
10580
10581     [propget, id(DISPID_IOMNAVIGATOR_MIMETYPES)]
10582     HRESULT mimeTypes([retval, out] IHTMLMimeTypesCollection **p);
10583
10584     [propget, id(DISPID_IOMNAVIGATOR_PLUGINS)]
10585     HRESULT plugins([retval, out] IHTMLPluginsCollection **p);
10586
10587     [propget, id(DISPID_IOMNAVIGATOR_COOKIEENABLED)]
10588     HRESULT cookieEnabled([retval, out] VARIANT_BOOL *p);
10589
10590     [propget, id(DISPID_IOMNAVIGATOR_OPSPROFILE)]
10591     HRESULT opsProfile([retval, out] IHTMLOpsProfile **p);
10592
10593     [id(DISPID_IOMNAVIGATOR_TOSTRING)]
10594     HRESULT toString([retval, out] BSTR *String);
10595
10596     [propget, id(DISPID_IOMNAVIGATOR_CPUCLASS)]
10597     HRESULT cpuClass([retval, out] BSTR *p);
10598
10599     [propget, id(DISPID_IOMNAVIGATOR_SYSTEMLANGUAGE)]
10600     HRESULT systemLanguage([retval, out] BSTR *p);
10601
10602     [propget, id(DISPID_IOMNAVIGATOR_BROWSERLANGUAGE)]
10603     HRESULT browserLanguage([retval, out] BSTR *p);
10604
10605     [propget, id(DISPID_IOMNAVIGATOR_USERLANGUAGE)]
10606     HRESULT userLanguage([retval, out] BSTR *p);
10607
10608     [propget, id(DISPID_IOMNAVIGATOR_PLATFORM)]
10609     HRESULT platform([retval, out] BSTR *p);
10610
10611     [propget, id(DISPID_IOMNAVIGATOR_APPMINORVERSION)]
10612     HRESULT appMinorVersion([retval, out] BSTR *p);
10613
10614     [propget, id(DISPID_IOMNAVIGATOR_CONNECTIONSPEED)]
10615     HRESULT connectionSpeed([retval, out] long *p);
10616
10617     [propget, id(DISPID_IOMNAVIGATOR_ONLINE)]
10618     HRESULT onLine([retval, out] VARIANT_BOOL *p);
10619
10620     [propget, id(DISPID_IOMNAVIGATOR_USERPROFILE)]
10621     HRESULT userProfile([retval, out] IHTMLOpsProfile **p);
10622 }
10623
10624 /*****************************************************************************
10625  *    IHTMLLocation interface
10626  */
10627 [
10628     odl,
10629     oleautomation,
10630     dual,
10631     uuid(163BB1E0-6E00-11cf-837A-48DC04C10000)
10632 ]
10633 interface IHTMLLocation : IDispatch
10634 {
10635     [propput, id(DISPID_IHTMLLOCATION_HREF)]
10636     HRESULT href([in] BSTR v);
10637
10638     [propget, id(DISPID_IHTMLLOCATION_HREF)]
10639     HRESULT href([retval, out] BSTR *p);
10640
10641     [propput, id(DISPID_IHTMLLOCATION_PROTOCOL)]
10642     HRESULT protocol([in] BSTR v);
10643
10644     [propget, id(DISPID_IHTMLLOCATION_PROTOCOL)]
10645     HRESULT protocol([retval, out] BSTR *p);
10646
10647     [propput, id(DISPID_IHTMLLOCATION_HOST)]
10648     HRESULT host([in] BSTR v);
10649
10650     [propget, id(DISPID_IHTMLLOCATION_HOST)]
10651     HRESULT host([retval, out] BSTR *p);
10652
10653     [propput, id(DISPID_IHTMLLOCATION_HOSTNAME)]
10654     HRESULT hostname([in] BSTR v);
10655
10656     [propget, id(DISPID_IHTMLLOCATION_HOSTNAME)]
10657     HRESULT hostname([retval, out] BSTR *p);
10658
10659     [propput, id(DISPID_IHTMLLOCATION_PORT)]
10660     HRESULT port([in] BSTR v);
10661
10662     [propget, id(DISPID_IHTMLLOCATION_PORT)]
10663     HRESULT port([retval, out] BSTR *p);
10664
10665     [propput, id(DISPID_IHTMLLOCATION_PATHNAME)]
10666     HRESULT pathname([in] BSTR v);
10667
10668     [propget, id(DISPID_IHTMLLOCATION_PATHNAME)]
10669     HRESULT pathname([retval, out] BSTR *p);
10670
10671     [propput, id(DISPID_IHTMLLOCATION_SEARCH)]
10672     HRESULT search([in] BSTR v);
10673
10674     [propget, id(DISPID_IHTMLLOCATION_SEARCH)]
10675     HRESULT search([retval, out] BSTR *p);
10676
10677     [propput, id(DISPID_IHTMLLOCATION_HASH)]
10678     HRESULT hash([in] BSTR v);
10679
10680     [propget, id(DISPID_IHTMLLOCATION_HASH)]
10681     HRESULT hash([retval, out] BSTR *p);
10682
10683     [id(DISPID_IHTMLLOCATION_RELOAD)]
10684     HRESULT reload([defaultvalue(0), in] VARIANT_BOOL flag);
10685
10686     [id(DISPID_IHTMLLOCATION_REPLACE)]
10687     HRESULT replace([in] BSTR bstr);
10688
10689     [id(DISPID_IHTMLLOCATION_ASSIGN)]
10690     HRESULT assign([in] BSTR bstr);
10691
10692     [id(DISPID_IHTMLLOCATION_TOSTRING)]
10693     HRESULT toString([retval, out] BSTR *String);
10694 }
10695
10696 /*****************************************************************************
10697  *    IHTMLDataTransfer interface
10698  */
10699 [
10700     odl,
10701     oleautomation,
10702     dual,
10703     uuid(3050f4b3-98b5-11cf-bb82-00aa00bdce0b)
10704 ]
10705 interface IHTMLDataTransfer : IDispatch
10706 {
10707     [id(DISPID_IHTMLDATATRANSFER_SETDATA)]
10708     HRESULT setData(
10709             [in] BSTR format,
10710             [in] VARIANT *data,
10711             [out, retval] VARIANT_BOOL *pret);
10712
10713     [id(DISPID_IHTMLDATATRANSFER_GETDATA)]
10714     HRESULT getData(
10715             [in] BSTR format,
10716             [out, retval] VARIANT *pvarRet);
10717
10718     [id(DISPID_IHTMLDATATRANSFER_CLEARDATA)]
10719     HRESULT clearData(
10720             [in] BSTR format,
10721             [out, retval] VARIANT_BOOL *pret);
10722
10723     [propput, id(DISPID_IHTMLDATATRANSFER_DROPEFFECT)]
10724     HRESULT dropEffect([in] BSTR v);
10725
10726     [propget, id(DISPID_IHTMLDATATRANSFER_DROPEFFECT)]
10727     HRESULT dropEffect([out, retval] BSTR *p);
10728
10729     [propput, id(DISPID_IHTMLDATATRANSFER_EFFECTALLOWED)]
10730     HRESULT effectAllowed([in] BSTR v);
10731
10732     [propget, id(DISPID_IHTMLDATATRANSFER_EFFECTALLOWED)]
10733     HRESULT effectAllowed([out, retval] BSTR *p);
10734 }
10735
10736 /*****************************************************************************
10737  *    IHTMLEventObj interface
10738  */
10739 [
10740     odl,
10741     oleautomation,
10742     dual,
10743     uuid(3050F32D-98B5-11CF-BB82-00AA00BDCE0B)
10744 ]
10745 interface IHTMLEventObj : IDispatch
10746 {
10747     [propget, id(DISPID_IHTMLEVENTOBJ_SRCELEMENT)]
10748     HRESULT srcElement([retval, out] IHTMLElement **p);
10749
10750     [propget, id(DISPID_IHTMLEVENTOBJ_ALTKEY)]
10751     HRESULT altKey([retval, out] VARIANT_BOOL *p);
10752
10753     [propget, id(DISPID_IHTMLEVENTOBJ_CTRLKEY)]
10754     HRESULT ctrlKey([retval, out] VARIANT_BOOL *p);
10755
10756     [propget, id(DISPID_IHTMLEVENTOBJ_SHIFTKEY)]
10757     HRESULT shiftKey([retval, out] VARIANT_BOOL *p);
10758
10759     [propput, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
10760     HRESULT returnValue([in] VARIANT v);
10761
10762     [propget, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
10763     HRESULT returnValue([retval, out] VARIANT *p);
10764
10765     [propput, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
10766     HRESULT cancelBubble([in] VARIANT_BOOL v);
10767
10768     [propget, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
10769     HRESULT cancelBubble([retval, out] VARIANT_BOOL *p);
10770
10771     [propget, id(DISPID_IHTMLEVENTOBJ_FROMELEMENT)]
10772     HRESULT fromElement([retval, out] IHTMLElement **p);
10773
10774     [propget, id(DISPID_IHTMLEVENTOBJ_TOELEMENT)]
10775     HRESULT toElement([retval, out] IHTMLElement **p);
10776
10777     [propput, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
10778     HRESULT keyCode([in] long v);
10779
10780     [propget, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
10781     HRESULT keyCode([retval, out] long *p);
10782
10783     [propget, id(DISPID_IHTMLEVENTOBJ_BUTTON)]
10784     HRESULT button([retval, out] long *p);
10785
10786     [propget, id(DISPID_IHTMLEVENTOBJ_TYPE)]
10787     HRESULT type([retval, out] BSTR *p);
10788
10789     [propget, id(DISPID_IHTMLEVENTOBJ_QUALIFIER)]
10790     HRESULT qualifier([retval, out] BSTR *p);
10791
10792     [propget, id(DISPID_IHTMLEVENTOBJ_REASON)]
10793     HRESULT reason([retval, out] long *p);
10794
10795     [propget, id(DISPID_IHTMLEVENTOBJ_X)]
10796     HRESULT x([retval, out] long *p);
10797
10798     [propget, id(DISPID_IHTMLEVENTOBJ_Y)]
10799     HRESULT y([retval, out] long *p);
10800
10801     [propget, id(DISPID_IHTMLEVENTOBJ_CLIENTX)]
10802     HRESULT clientX([retval, out] long *p);
10803
10804     [propget, id(DISPID_IHTMLEVENTOBJ_CLIENTY)]
10805     HRESULT clientY([retval, out] long *p);
10806
10807     [propget, id(DISPID_IHTMLEVENTOBJ_OFFSETX)]
10808     HRESULT offsetX([retval, out] long *p);
10809
10810     [propget, id(DISPID_IHTMLEVENTOBJ_OFFSETY)]
10811     HRESULT offsetY([retval, out] long *p);
10812
10813     [propget, id(DISPID_IHTMLEVENTOBJ_SCREENX)]
10814     HRESULT screenX([retval, out] long *p);
10815
10816     [propget, id(DISPID_IHTMLEVENTOBJ_SCREENY)]
10817     HRESULT screenY([retval, out] long *p);
10818
10819     [propget, id(DISPID_IHTMLEVENTOBJ_SRCFILTER)]
10820     HRESULT srcFilter([retval, out] IDispatch **p);
10821 }
10822
10823 /*****************************************************************************
10824  *    IHTMLFramesCollection2 interface
10825  */
10826 [
10827     odl,
10828     oleautomation,
10829     dual,
10830     uuid(332C4426-26CB-11D0-B483-00C04FD90119)
10831 ]
10832 interface IHTMLFramesCollection2 : IDispatch
10833 {
10834     [id(DISPID_IHTMLFRAMESCOLLECTION2_ITEM)]
10835     HRESULT item(
10836         [in] VARIANT *pvarIndex,
10837         [retval, out] VARIANT *pvarResult);
10838
10839     [propget, id(DISPID_IHTMLFRAMESCOLLECTION2_LENGTH)]
10840     HRESULT length([retval, out] long *p);
10841 }
10842
10843 /*****************************************************************************
10844  *    IHTMLScreen interface
10845  */
10846 [
10847     odl,
10848     oleautomation,
10849     dual,
10850     uuid(3050f35C-98B5-11CF-BB82-00AA00BDCE0B)
10851 ]
10852 interface IHTMLScreen : IDispatch
10853 {
10854     [propget, id(DISPID_IHTMLSCREEN_COLORDEPTH)]
10855     HRESULT colorDepth([retval, out] long *p);
10856
10857     [propput, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
10858     HRESULT bufferDepth([in] long v);
10859
10860     [propget, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
10861     HRESULT bufferDepth([retval, out] long *p);
10862
10863     [propget, id(DISPID_IHTMLSCREEN_WIDTH)]
10864     HRESULT width([retval, out] long *p);
10865
10866     [propget, id(DISPID_IHTMLSCREEN_HEIGHT)]
10867     HRESULT height([retval, out] long *p);
10868
10869     [propput, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
10870     HRESULT updateInterval([in] long v);
10871
10872     [propget, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
10873     HRESULT updateInterval([retval, out] long *p);
10874
10875     [propget, id(DISPID_IHTMLSCREEN_AVAILHEIGHT)]
10876     HRESULT availHeight([retval, out] long *p);
10877
10878     [propget, id(DISPID_IHTMLSCREEN_AVAILWIDTH)]
10879     HRESULT availWidth([retval, out] long *p);
10880
10881     [propget, id(DISPID_IHTMLSCREEN_FONTSMOOTHINGENABLED)]
10882     HRESULT fontSmoothingEnabled([retval, out] VARIANT_BOOL *p);
10883 }
10884
10885 /*****************************************************************************
10886  *    IHTMLWindow2 interface
10887  */
10888 [
10889     odl,
10890     oleautomation,
10891     dual,
10892     uuid(332C4427-26CB-11D0-B483-00C04FD90119)
10893 ]
10894 interface IHTMLWindow2 : IHTMLFramesCollection2
10895 {
10896     [propget, id(DISPID_IHTMLWINDOW2_FRAMES)]
10897     HRESULT frames([retval, out] IHTMLFramesCollection2 **p);
10898
10899     [propput, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
10900     HRESULT defaultStatus([in] BSTR v);
10901
10902     [propget, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
10903     HRESULT defaultStatus([retval, out] BSTR *p);
10904
10905     [propput, id(DISPID_IHTMLWINDOW2_STATUS)]
10906     HRESULT status([in] BSTR v);
10907
10908     [propget, id(DISPID_IHTMLWINDOW2_STATUS)]
10909     HRESULT status([retval, out] BSTR *p);
10910
10911     [id(DISPID_IHTMLWINDOW2_SETTIMEOUT)]
10912     HRESULT setTimeout(
10913         [in] BSTR expression,
10914         [in] long msec,
10915         [optional, in] VARIANT *language,
10916         [retval, out] long *timerID);
10917
10918     [id(DISPID_IHTMLWINDOW2_CLEARTIMEOUT)]
10919     HRESULT clearTimeout([in] long timerID);
10920
10921     [id(DISPID_IHTMLWINDOW2_ALERT)]
10922     HRESULT alert([defaultvalue(""), in] BSTR message);
10923
10924     [id(DISPID_IHTMLWINDOW2_CONFIRM)]
10925     HRESULT confirm(
10926         [defaultvalue(""), in] BSTR message,
10927         [retval, out] VARIANT_BOOL *confirmed);
10928
10929     [id(DISPID_IHTMLWINDOW2_PROMPT)]
10930     HRESULT prompt(
10931         [defaultvalue(""), in] BSTR message,
10932         [defaultvalue("undefined"), in] BSTR defstr,
10933         [retval, out] VARIANT *textdata);
10934
10935     [propget, id(DISPID_IHTMLWINDOW2_IMAGE)]
10936     HRESULT Image([retval, out] IHTMLImageElementFactory **p);
10937
10938     [propget, id(DISPID_IHTMLWINDOW2_LOCATION)]
10939     HRESULT location([retval, out] IHTMLLocation **p);
10940
10941     [propget, id(DISPID_IHTMLWINDOW2_HISTORY)]
10942     HRESULT history([retval, out] IOmHistory **p);
10943
10944     [id(DISPID_IHTMLWINDOW2_CLOSE)]
10945     HRESULT close();
10946
10947     [propput, id(DISPID_IHTMLWINDOW2_OPENER)]
10948     HRESULT opener([in] VARIANT v);
10949
10950     [propget, id(DISPID_IHTMLWINDOW2_OPENER)]
10951     HRESULT opener([retval, out] VARIANT *p);
10952
10953     [propget, id(DISPID_IHTMLWINDOW2_NAVIGATOR)]
10954     HRESULT navigator([retval, out] IOmNavigator **p);
10955
10956     [propput, id(DISPID_IHTMLWINDOW2_NAME)]
10957     HRESULT name([in] BSTR v);
10958
10959     [propget, id(DISPID_IHTMLWINDOW2_NAME)]
10960     HRESULT name([retval, out] BSTR *p);
10961
10962     [propget, id(DISPID_IHTMLWINDOW2_PARENT)]
10963     HRESULT parent([retval, out] IHTMLWindow2 **p);
10964
10965     [id(DISPID_IHTMLWINDOW2_OPEN)]
10966     HRESULT open(
10967         [defaultvalue(""), in] BSTR url,
10968         [defaultvalue(""), in] BSTR name,
10969         [defaultvalue(""), in] BSTR features,
10970         [defaultvalue(0), in] VARIANT_BOOL replace,
10971         [retval, out] IHTMLWindow2 **pomWindowResult);
10972
10973     [propget, id(DISPID_IHTMLWINDOW2_SELF)]
10974     HRESULT self([retval, out] IHTMLWindow2 **p);
10975
10976     [propget, id(DISPID_IHTMLWINDOW2_TOP)]
10977     HRESULT top([retval, out] IHTMLWindow2 **p);
10978
10979     [propget, id(DISPID_IHTMLWINDOW2_WINDOW)]
10980     HRESULT window([retval, out] IHTMLWindow2 **p);
10981
10982     [id(DISPID_IHTMLWINDOW2_NAVIGATE)]
10983     HRESULT navigate([in] BSTR url);
10984
10985     [propput, id(DISPID_IHTMLWINDOW2_ONFOCUS)]
10986     HRESULT onfocus([in] VARIANT v);
10987
10988     [propget, id(DISPID_IHTMLWINDOW2_ONFOCUS)]
10989     HRESULT onfocus([retval, out] VARIANT *p);
10990
10991     [propput, id(DISPID_IHTMLWINDOW2_ONBLUR)]
10992     HRESULT onblur([in] VARIANT v);
10993
10994     [propget, id(DISPID_IHTMLWINDOW2_ONBLUR)]
10995     HRESULT onblur([retval, out] VARIANT *p);
10996
10997     [propput, id(DISPID_IHTMLWINDOW2_ONLOAD)]
10998     HRESULT onload([in] VARIANT v);
10999
11000     [propget, id(DISPID_IHTMLWINDOW2_ONLOAD)]
11001     HRESULT onload([retval, out] VARIANT *p);
11002
11003     [propput, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD)]
11004     HRESULT onbeforeunload([in] VARIANT v);
11005
11006     [propget, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD)]
11007     HRESULT onbeforeunload([retval, out] VARIANT *p);
11008
11009     [propput, id(DISPID_IHTMLWINDOW2_ONUNLOAD)]
11010     HRESULT onunload([in] VARIANT v);
11011
11012     [propget, id(DISPID_IHTMLWINDOW2_ONUNLOAD)]
11013     HRESULT onunload([retval, out] VARIANT *p);
11014
11015     [propput, id(DISPID_IHTMLWINDOW2_ONHELP)]
11016     HRESULT onhelp([in] VARIANT v);
11017
11018     [propget, id(DISPID_IHTMLWINDOW2_ONHELP)]
11019     HRESULT onhelp([retval, out] VARIANT *p);
11020
11021     [propput, id(DISPID_IHTMLWINDOW2_ONERROR)]
11022     HRESULT onerror([in] VARIANT v);
11023
11024     [propget, id(DISPID_IHTMLWINDOW2_ONERROR)]
11025     HRESULT onerror([retval, out] VARIANT *p);
11026
11027     [propput, id(DISPID_IHTMLWINDOW2_ONRESIZE)]
11028     HRESULT onresize([in] VARIANT v);
11029
11030     [propget, id(DISPID_IHTMLWINDOW2_ONRESIZE)]
11031     HRESULT onresize([retval, out] VARIANT *p);
11032
11033     [propput, id(DISPID_IHTMLWINDOW2_ONSCROLL)]
11034     HRESULT onscroll([in] VARIANT v);
11035
11036     [propget, id(DISPID_IHTMLWINDOW2_ONSCROLL)]
11037     HRESULT onscroll([retval, out] VARIANT *p);
11038
11039     [propget, id(DISPID_IHTMLWINDOW2_DOCUMENT)]
11040     HRESULT document([retval, out] IHTMLDocument2 **p);
11041
11042     [propget, id(DISPID_IHTMLWINDOW2_EVENT)]
11043     HRESULT event([retval, out] IHTMLEventObj **p);
11044
11045     [propget, id(DISPID_IHTMLWINDOW2__NEWENUM)]
11046     HRESULT _newEnum([retval, out] IUnknown **p);
11047
11048     [id(DISPID_IHTMLWINDOW2_SHOWMODALDIALOG)]
11049     HRESULT showModalDialog(
11050         [in] BSTR dialog,
11051         [optional, in] VARIANT *varArgIn,
11052         [optional, in] VARIANT *varOptions,
11053         [retval, out] VARIANT *varArgOut);
11054
11055     [id(DISPID_IHTMLWINDOW2_SHOWHELP)]
11056     HRESULT showHelp(
11057         [in] BSTR helpURL,
11058         [optional, in] VARIANT helpArg,
11059         [defaultvalue(""), in] BSTR features);
11060
11061     [propget, id(DISPID_IHTMLWINDOW2_SCREEN)]
11062     HRESULT screen([retval, out] IHTMLScreen **p);
11063
11064     [propget, id(DISPID_IHTMLWINDOW2_OPTION)]
11065     HRESULT Option([retval, out] IHTMLOptionElementFactory **p);
11066
11067     [id(DISPID_IHTMLWINDOW2_FOCUS)]
11068     HRESULT focus();
11069
11070     [propget, id(DISPID_IHTMLWINDOW2_CLOSED)]
11071     HRESULT closed([retval, out] VARIANT_BOOL *p);
11072
11073     [id(DISPID_IHTMLWINDOW2_BLUR)]
11074     HRESULT blur();
11075
11076     [id(DISPID_IHTMLWINDOW2_SCROLL)]
11077     HRESULT scroll([in] long x, [in] long y);
11078
11079     [propget, id(DISPID_IHTMLWINDOW2_CLIENTINFORMATION)]
11080     HRESULT clientInformation([retval, out] IOmNavigator **p);
11081
11082     [id(DISPID_IHTMLWINDOW2_SETINTERVAL)]
11083     HRESULT setInterval([
11084         in] BSTR expression,
11085         [in] long msec,
11086         [optional, in] VARIANT *language,
11087         [retval, out] long *timerID);
11088
11089     [id(DISPID_IHTMLWINDOW2_CLEARINTERVAL)]
11090     HRESULT clearInterval([in] long timerID);
11091
11092     [propput, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
11093     HRESULT offscreenBuffering([in] VARIANT v);
11094
11095     [propget, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
11096     HRESULT offscreenBuffering([retval, out] VARIANT *p);
11097
11098     [id(DISPID_IHTMLWINDOW2_EXECSCRIPT)]
11099     HRESULT execScript(
11100         [in] BSTR scode,
11101         [defaultvalue("JScript"), in] BSTR language,
11102         [retval, out] VARIANT *pvarRet);
11103
11104     [id(DISPID_IHTMLWINDOW2_TOSTRING)]
11105     HRESULT toString([retval, out] BSTR *String);
11106
11107     [id(DISPID_IHTMLWINDOW2_SCROLLBY)]
11108     HRESULT scrollBy([in] long x, [in] long y);
11109
11110     [id(DISPID_IHTMLWINDOW2_SCROLLTO)]
11111     HRESULT scrollTo([in] long x, [in] long y);
11112
11113     [id(DISPID_IHTMLWINDOW2_MOVETO)]
11114     HRESULT moveTo([in] long x, [in] long y);
11115
11116     [id(DISPID_IHTMLWINDOW2_MOVEBY)]
11117     HRESULT moveBy([in] long x, [in] long y);
11118
11119     [id(DISPID_IHTMLWINDOW2_RESIZETO)]
11120     HRESULT resizeTo([in] long x, [in] long y);
11121
11122     [id(DISPID_IHTMLWINDOW2_RESIZEBY)]
11123     HRESULT resizeBy([in] long x, [in] long y);
11124
11125     [propget, id(DISPID_IHTMLWINDOW2_EXTERNAL)]
11126     HRESULT external([retval, out] IDispatch **p);
11127 }
11128
11129 /*****************************************************************************
11130  *    IHTMLWindow3 interface
11131  */
11132 [
11133     odl,
11134     oleautomation,
11135     dual,
11136     uuid(3050f4ae-98b5-11cf-bb82-00aa00bdce0b)
11137 ]
11138 interface IHTMLWindow3 : IDispatch
11139 {
11140     [propget, id(DISPID_IHTMLWINDOW3_SCREENLEFT)]
11141     HRESULT screenLeft([out, retval] long *p);
11142
11143     [propget, id(DISPID_IHTMLWINDOW3_SCREENTOP)]
11144     HRESULT screenTop([out, retval] long *p);
11145
11146     [id(DISPID_IHTMLWINDOW3_ATTACHEVENT)]
11147     HRESULT attachEvent(
11148             [in] BSTR event,
11149             [in] IDispatch *pDisp,
11150             [out, retval] VARIANT_BOOL *pfResult);
11151
11152     [id(DISPID_IHTMLWINDOW3_DETACHEVENT)]
11153     HRESULT detachEvent(
11154             [in] BSTR event,
11155             [in] IDispatch *pDisp);
11156
11157     [id(DISPID_IHTMLWINDOW3_SETTIMEOUT)]
11158     HRESULT setTimeout(
11159             [in] VARIANT *expression,
11160             [in] long msec,
11161             [in, optional] VARIANT *language,
11162             [out, retval] long *timerID);
11163
11164     [id(DISPID_IHTMLWINDOW3_SETINTERVAL)]
11165     HRESULT setInterval(
11166             [in] VARIANT *expression,
11167             [in] long msec,
11168             [in, optional] VARIANT *language,
11169             [out, retval] long *timerID);
11170
11171     [id(DISPID_IHTMLWINDOW3_PRINT)]
11172     HRESULT print();
11173
11174     [propput, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
11175     HRESULT onbeforeprint([in] VARIANT v);
11176
11177     [propget, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
11178     HRESULT onbeforeprint([out, retval] VARIANT *p);
11179
11180     [propput, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
11181     HRESULT onafterprint([in] VARIANT v);
11182
11183     [propget, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
11184     HRESULT onafterprint([out, retval] VARIANT *p);
11185
11186     [propget, id(DISPID_IHTMLWINDOW3_CLIPBOARDDATA)]
11187     HRESULT clipboardData([out, retval] IHTMLDataTransfer **p);
11188
11189     [id(DISPID_IHTMLWINDOW3_SHOWMODELESSDIALOG)]
11190     HRESULT showModelessDialog(
11191             [in, defaultvalue("")] BSTR url,
11192             [in, optional] VARIANT *varArgIn,
11193             [in, optional] VARIANT *options,
11194             [out, retval] IHTMLWindow2 **pDialog);
11195 }
11196
11197 /*****************************************************************************
11198  *    DispHTMLWindow2 dispinterface
11199  */
11200 [
11201     hidden,
11202     uuid(3050f55d-98b5-11cf-bb82-00aa00bdce0b)
11203 ]
11204 dispinterface DispHTMLWindow2
11205 {
11206 properties:
11207 methods:
11208     [id(DISPID_IHTMLFRAMESCOLLECTION2_ITEM)]
11209     VARIANT item([in] VARIANT *pvarIndex);
11210
11211     [propget, id(DISPID_IHTMLFRAMESCOLLECTION2_LENGTH)]
11212     long length();
11213
11214     [propget, id(DISPID_IHTMLWINDOW2_FRAMES)]
11215     IHTMLFramesCollection2 *frames();
11216
11217     [propput, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
11218     void defaultStatus(BSTR v);
11219
11220     [propget, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
11221     BSTR defaultStatus();
11222
11223     [propput, id(DISPID_IHTMLWINDOW2_STATUS)]
11224     void status(BSTR v);
11225
11226     [propget, id(DISPID_IHTMLWINDOW2_STATUS)]
11227     BSTR status();
11228
11229     [id(DISPID_IHTMLWINDOW2_CLEARTIMEOUT)]
11230     void clearTimeout([in] long timerID);
11231
11232     [id(DISPID_IHTMLWINDOW2_ALERT)]
11233     void alert([in, defaultvalue("")] BSTR message);
11234
11235     [id(DISPID_IHTMLWINDOW2_CONFIRM)]
11236     VARIANT_BOOL confirm([in, defaultvalue("")] BSTR message);
11237
11238     [id(DISPID_IHTMLWINDOW2_PROMPT)]
11239     VARIANT prompt(
11240             [in, defaultvalue("")] BSTR message,
11241             [in, defaultvalue("undefined")] BSTR defstr);
11242
11243     [propget, id(DISPID_IHTMLWINDOW2_IMAGE)]
11244     IHTMLImageElementFactory *Image();
11245
11246     [propget, id(DISPID_IHTMLWINDOW2_LOCATION)]
11247     IHTMLLocation *location();
11248
11249     [propget, id(DISPID_IHTMLWINDOW2_HISTORY)]
11250     IOmHistory *history();
11251
11252     [id(DISPID_IHTMLWINDOW2_CLOSE)]
11253     void close();
11254
11255     [propput, id(DISPID_IHTMLWINDOW2_OPENER)]
11256     void opener(VARIANT v);
11257
11258     [propget, id(DISPID_IHTMLWINDOW2_OPENER)]
11259     VARIANT opener();
11260
11261     [propget, id(DISPID_IHTMLWINDOW2_NAVIGATOR)]
11262     IOmNavigator *navigator();
11263
11264     [propput, id(DISPID_IHTMLWINDOW2_NAME)]
11265     void name(BSTR v);
11266
11267     [propget, id(DISPID_IHTMLWINDOW2_NAME)]
11268     BSTR name();
11269
11270     [propget, id(DISPID_IHTMLWINDOW2_PARENT)]
11271     IHTMLWindow2 *parent();
11272
11273     [id(DISPID_IHTMLWINDOW2_OPEN)]
11274     IHTMLWindow2 *open(
11275             [in, defaultvalue("")] BSTR url,
11276             [in, defaultvalue("")] BSTR name,
11277             [in, defaultvalue("")] BSTR features,
11278             [in, defaultvalue(0)]  VARIANT_BOOL replace);
11279
11280     [propget, id(DISPID_IHTMLWINDOW2_SELF)]
11281     IHTMLWindow2 *self();
11282
11283     [propget, id(DISPID_IHTMLWINDOW2_TOP)]
11284     IHTMLWindow2 *top();
11285
11286     [propget, id(DISPID_IHTMLWINDOW2_WINDOW)]
11287     IHTMLWindow2 *window();
11288
11289     [id(DISPID_IHTMLWINDOW2_NAVIGATE)]
11290     void navigate([in] BSTR url);
11291
11292     [propput, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
11293     void onfocus(VARIANT v);
11294
11295     [propget, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
11296     VARIANT onfocus();
11297
11298     [propput, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
11299     void onblur(VARIANT v);
11300
11301     [propget, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
11302     VARIANT onblur();
11303
11304     [propget, id(DISPID_IHTMLWINDOW2_ONLOAD), displaybind, bindable]
11305     VARIANT onload();
11306
11307     [propput, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
11308     void onbeforeunload(VARIANT v);
11309
11310     [propget, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
11311     VARIANT onbeforeunload();
11312
11313     [propput, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
11314     void onunload(VARIANT v);
11315
11316     [propget, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
11317     VARIANT onunload();
11318
11319     [propput, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
11320     void onhelp(VARIANT v);
11321
11322     [propget, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
11323     VARIANT onhelp();
11324
11325     [propput, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
11326     void onerror(VARIANT v);
11327
11328     [propget, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
11329     VARIANT onerror();
11330
11331     [propput, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
11332     void onresize(VARIANT v);
11333
11334     [propget, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
11335     VARIANT onresize();
11336
11337     [propput, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
11338     void onscroll(VARIANT v);
11339
11340     [propget, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
11341     VARIANT onscroll();
11342
11343     [propget, id(DISPID_IHTMLWINDOW2_DOCUMENT), source]
11344     IHTMLDocument2 *document();
11345
11346     [propget, id(DISPID_IHTMLWINDOW2_EVENT)]
11347     IHTMLEventObj *event();
11348
11349     [propget, id(DISPID_IHTMLWINDOW2__NEWENUM), hidden, restricted]
11350     IUnknown *_newEnum();
11351
11352     [id(DISPID_IHTMLWINDOW2_SHOWMODALDIALOG)]
11353     VARIANT showModalDialog(
11354             [in] BSTR dialog,
11355             [in, optional] VARIANT *varArgIn,
11356             [in, optional] VARIANT *varOptions);
11357
11358     [id(DISPID_IHTMLWINDOW2_SHOWHELP)]
11359     void showHelp(
11360             [in] BSTR helpURL,
11361             [in, optional] VARIANT helpArg,
11362             [in, defaultvalue("")] BSTR features);
11363
11364     [propget, id(DISPID_IHTMLWINDOW2_SCREEN)]
11365     IHTMLScreen *screen();
11366
11367     [propget, id(DISPID_IHTMLWINDOW2_OPTION)]
11368     IHTMLOptionElementFactory *Option();
11369
11370     [id(DISPID_IHTMLWINDOW2_FOCUS)]
11371     void focus();
11372
11373     [propget, id(DISPID_IHTMLWINDOW2_CLOSED)]
11374     VARIANT_BOOL closed();
11375
11376     [id(DISPID_IHTMLWINDOW2_BLUR)]
11377     void blur();
11378
11379     [id(DISPID_IHTMLWINDOW2_SCROLL)]
11380     void scroll([in] long x, [in] long y);
11381
11382     [propget, id(DISPID_IHTMLWINDOW2_CLIENTINFORMATION)]
11383     IOmNavigator *clientInformation();
11384
11385     [id(DISPID_IHTMLWINDOW2_CLEARINTERVAL)]
11386     void clearInterval([in] long timerID);
11387
11388     [propput, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
11389     void offscreenBuffering(VARIANT v);
11390
11391     [propget, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
11392     VARIANT offscreenBuffering();
11393
11394     [id(DISPID_IHTMLWINDOW2_EXECSCRIPT)]
11395     VARIANT execScript(
11396             [in] BSTR _code,
11397             [in, defaultvalue("JScript")] BSTR language);
11398
11399     [id(DISPID_IHTMLWINDOW2_TOSTRING)]
11400     BSTR toString();
11401
11402     [id(DISPID_IHTMLWINDOW2_SCROLLBY)]
11403     void scrollBy([in] long x, [in] long y);
11404
11405     [id(DISPID_IHTMLWINDOW2_SCROLLTO)]
11406     void scrollTo([in] long x, [in] long y);
11407
11408     [id(DISPID_IHTMLWINDOW2_MOVETO)]
11409     void moveTo([in] long x, [in] long y);
11410
11411     [id(DISPID_IHTMLWINDOW2_MOVEBY)]
11412     void moveBy([in] long x, [in] long y);
11413
11414     [id(DISPID_IHTMLWINDOW2_RESIZETO)]
11415     void resizeTo([in] long x, [in] long y);
11416
11417     [id(DISPID_IHTMLWINDOW2_RESIZEBY)]
11418     void resizeBy([in] long x, [in] long y);
11419
11420     [propget, id(DISPID_IHTMLWINDOW2_EXTERNAL)]
11421     IDispatch *external();
11422
11423     [propget, id(DISPID_IHTMLWINDOW3_SCREENLEFT)]
11424     long screenLeft();
11425
11426     [propget, id(DISPID_IHTMLWINDOW3_SCREENTOP)]
11427     long screenTop();
11428
11429     [id(DISPID_IHTMLWINDOW3_ATTACHEVENT)]
11430     VARIANT_BOOL attachEvent(
11431              [in] BSTR event,
11432              [in] IDispatch *pDisp);
11433
11434     [id(DISPID_IHTMLWINDOW3_DETACHEVENT)]
11435     void detachEvent(
11436             [in] BSTR event,
11437             [in] IDispatch *pDisp);
11438
11439     [id(DISPID_IHTMLWINDOW3_SETTIMEOUT)]
11440     long setTimeout(
11441             [in] VARIANT *expression,
11442             [in] long msec,
11443             [in, optional] VARIANT *language);
11444
11445     [id(DISPID_IHTMLWINDOW3_SETINTERVAL)]
11446     long setInterval(
11447             [in] VARIANT *expression,
11448             [in] long msec,
11449             [in, optional] VARIANT *language);
11450
11451     [id(DISPID_IHTMLWINDOW3_PRINT)]
11452     void print();
11453
11454     [propput, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
11455     void onbeforeprint(VARIANT v);
11456
11457     [propget, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
11458     VARIANT onbeforeprint();
11459
11460     [propput, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
11461     void onafterprint(VARIANT v);
11462
11463     [propget, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
11464     VARIANT onafterprint();
11465
11466     [propget, id(DISPID_IHTMLWINDOW3_CLIPBOARDDATA)]
11467     IHTMLDataTransfer *clipboardData();
11468
11469     [id(DISPID_IHTMLWINDOW3_SHOWMODELESSDIALOG)]
11470     IHTMLWindow2 *showModelessDialog(
11471             [in, defaultvalue("")] BSTR url,
11472             [in, optional] VARIANT *varArgIn,
11473             [in, optional] VARIANT *options);
11474
11475     [id(DISPID_IHTMLWINDOW4_CREATEPOPUP)]
11476     IDispatch *createPopup([in, optional] VARIANT *varArgIn);
11477
11478     [propget, id(DISPID_IHTMLWINDOW4_FRAMEELEMENT)]
11479     IHTMLFrameBase *frameElement();
11480 }
11481
11482 /*****************************************************************************
11483  *    HTMLDocumentEvents2 interface
11484  */
11485 [
11486     hidden,
11487     uuid(3050f613-98b5-11cf-bb82-00aa00bdce0b)
11488 ]
11489 dispinterface HTMLDocumentEvents2
11490 {
11491     properties:
11492     methods:
11493     [id(DISPID_HTMLDOCUMENTEVENTS2_ONHELP)]
11494     VARIANT_BOOL onhelp([in] IHTMLEventObj *pEvtObj);
11495
11496     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCLICK)]
11497     VARIANT_BOOL onclick([in] IHTMLEventObj *pEvtObj);
11498
11499     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDBLCLICK)]
11500     VARIANT_BOOL ondblclick([in] IHTMLEventObj *pEvtObj);
11501
11502     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYDOWN)]
11503     void onkeydown([in] IHTMLEventObj *pEvtObj);
11504
11505     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYUP)]
11506     void onkeyup([in] IHTMLEventObj *pEvtObj);
11507
11508     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYPRESS)]
11509     VARIANT_BOOL onkeypress([in] IHTMLEventObj *pEvtObj);
11510
11511     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEDOWN)]
11512     void onmousedown([in] IHTMLEventObj *pEvtObj);
11513
11514     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEMOVE)]
11515     void onmousemove([in] IHTMLEventObj *pEvtObj);
11516
11517     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEUP)]
11518     void onmouseup([in] IHTMLEventObj *pEvtObj);
11519
11520     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEOUT)]
11521     void onmouseout([in] IHTMLEventObj *pEvtObj);
11522
11523     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEOVER)]
11524     void onmouseover([in] IHTMLEventObj *pEvtObj);
11525
11526     [id(DISPID_HTMLDOCUMENTEVENTS2_ONREADYSTATECHANGE)]
11527     void onreadystatechange([in] IHTMLEventObj *pEvtObj);
11528
11529     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREUPDATE)]
11530     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj *pEvtObj);
11531
11532     [id(DISPID_HTMLDOCUMENTEVENTS2_ONAFTERUPDATE)]
11533     void onafterupdate([in] IHTMLEventObj *pEvtObj);
11534
11535     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWEXIT)]
11536     VARIANT_BOOL onrowexit([in] IHTMLEventObj *pEvtObj);
11537
11538     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWENTER)]
11539     void onrowenter([in] IHTMLEventObj *pEvtObj);
11540
11541     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDRAGSTART)]
11542     VARIANT_BOOL ondragstart([in] IHTMLEventObj *pEvtObj);
11543
11544     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSELECTSTART)]
11545     VARIANT_BOOL onselectstart([in] IHTMLEventObj *pEvtObj);
11546
11547     [id(DISPID_HTMLDOCUMENTEVENTS2_ONERRORUPDATE)]
11548     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj *pEvtObj);
11549
11550     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCONTEXTMENU)]
11551     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj *pEvtObj);
11552
11553     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSTOP)]
11554     VARIANT_BOOL onstop([in] IHTMLEventObj *pEvtObj);
11555
11556     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWSDELETE)]
11557     void onrowsdelete([in] IHTMLEventObj *pEvtObj);
11558
11559     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWSINSERTED)]
11560     void onrowsinserted([in] IHTMLEventObj *pEvtObj);
11561
11562     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCELLCHANGE)]
11563     void oncellchange([in] IHTMLEventObj *pEvtObj);
11564
11565     [id(DISPID_HTMLDOCUMENTEVENTS2_ONPROPERTYCHANGE)]
11566     void onpropertychange([in] IHTMLEventObj *pEvtObj);
11567
11568     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATASETCHANGED)]
11569     void ondatasetchanged([in] IHTMLEventObj *pEvtObj);
11570
11571     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATAAVAILABLE)]
11572     void ondataavailable([in] IHTMLEventObj *pEvtObj);
11573
11574     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATASETCOMPLETE)]
11575     void ondatasetcomplete([in] IHTMLEventObj *pEvtObj);
11576
11577     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREEDITFOCUS)]
11578     void onbeforeeditfocus([in] IHTMLEventObj *pEvtObj);
11579
11580     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSELECTIONCHANGE)]
11581     void onselectionchange([in] IHTMLEventObj *pEvtObj);
11582
11583     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCONTROLSELECT)]
11584     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj *pEvtObj);
11585
11586     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEWHEEL)]
11587     VARIANT_BOOL onmousewheel([in] IHTMLEventObj *pEvtObj);
11588
11589     [id(DISPID_HTMLDOCUMENTEVENTS2_ONFOCUSIN)]
11590     void onfocusin([in] IHTMLEventObj *pEvtObj);
11591
11592     [id(DISPID_HTMLDOCUMENTEVENTS2_ONFOCUSOUT)]
11593     void onfocusout([in] IHTMLEventObj *pEvtObj);
11594
11595     [id(DISPID_HTMLDOCUMENTEVENTS2_ONACTIVATE)]
11596     void onactivate([in] IHTMLEventObj *pEvtObj);
11597
11598     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDEACTIVATE)]
11599     void ondeactivate([in] IHTMLEventObj *pEvtObj);
11600
11601     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREACTIVATE)]
11602     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj *pEvtObj);
11603
11604     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREDEACTIVATE)]
11605     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj *pEvtObj);
11606 }
11607
11608 /*****************************************************************************
11609  *    HTMLDocumentEvents interface
11610  */
11611 [
11612     hidden,
11613     uuid(3050f260-98b5-11cf-bb82-00aa00bdce0b)
11614 ]
11615 dispinterface HTMLDocumentEvents
11616 {
11617     properties:
11618     methods:
11619     [id(DISPID_HTMLDOCUMENTEVENTS_ONHELP)]
11620     VARIANT_BOOL onhelp();
11621
11622     [id(DISPID_HTMLDOCUMENTEVENTS_ONCLICK)]
11623     VARIANT_BOOL onclick();
11624
11625     [id(DISPID_HTMLDOCUMENTEVENTS_ONDBLCLICK)]
11626     VARIANT_BOOL ondblclick();
11627
11628     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYDOWN)]
11629     void onkeydown();
11630
11631     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYUP)]
11632     void onkeyup();
11633
11634     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYPRESS)]
11635     VARIANT_BOOL onkeypress();
11636
11637     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEDOWN)]
11638     void onmousedown();
11639
11640     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEMOVE)]
11641     void onmousemove();
11642
11643     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEUP)]
11644     void onmouseup();
11645
11646     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEOUT)]
11647     void onmouseout();
11648
11649     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEOVER)]
11650     void onmouseover();
11651
11652     [id(DISPID_HTMLDOCUMENTEVENTS_ONREADYSTATECHANGE)]
11653     void onreadystatechange();
11654
11655     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREUPDATE)]
11656     VARIANT_BOOL onbeforeupdate();
11657
11658     [id(DISPID_HTMLDOCUMENTEVENTS_ONAFTERUPDATE)]
11659     void onafterupdate();
11660
11661     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWEXIT)]
11662     VARIANT_BOOL onrowexit();
11663
11664     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWENTER)]
11665     void onrowenter();
11666
11667     [id(DISPID_HTMLDOCUMENTEVENTS_ONDRAGSTART)]
11668     VARIANT_BOOL ondragstart();
11669
11670     [id(DISPID_HTMLDOCUMENTEVENTS_ONSELECTSTART)]
11671     VARIANT_BOOL onselectstart();
11672
11673     [id(DISPID_HTMLDOCUMENTEVENTS_ONERRORUPDATE)]
11674     VARIANT_BOOL onerrorupdate();
11675
11676     [id(DISPID_HTMLDOCUMENTEVENTS_ONCONTEXTMENU)]
11677     VARIANT_BOOL oncontextmenu();
11678
11679     [id(DISPID_HTMLDOCUMENTEVENTS_ONSTOP)]
11680     VARIANT_BOOL onstop();
11681
11682     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWSDELETE)]
11683     void onrowsdelete();
11684
11685     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWSINSERTED)]
11686     void onrowsinserted();
11687
11688     [id(DISPID_HTMLDOCUMENTEVENTS_ONCELLCHANGE)]
11689     void oncellchange();
11690
11691     [id(DISPID_HTMLDOCUMENTEVENTS_ONPROPERTYCHANGE)]
11692     void onpropertychange();
11693
11694     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATASETCHANGED)]
11695     void ondatasetchanged();
11696
11697     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATAAVAILABLE)]
11698     void ondataavailable();
11699
11700     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATASETCOMPLETE)]
11701     void ondatasetcomplete();
11702
11703     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREEDITFOCUS)]
11704     void onbeforeeditfocus();
11705
11706     [id(DISPID_HTMLDOCUMENTEVENTS_ONSELECTIONCHANGE)]
11707     void onselectionchange();
11708
11709     [id(DISPID_HTMLDOCUMENTEVENTS_ONCONTROLSELECT)]
11710     VARIANT_BOOL oncontrolselect();
11711
11712     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEWHEEL)]
11713     VARIANT_BOOL onmousewheel();
11714
11715     [id(DISPID_HTMLDOCUMENTEVENTS_ONFOCUSIN)]
11716     void onfocusin();
11717
11718     [id(DISPID_HTMLDOCUMENTEVENTS_ONFOCUSOUT)]
11719     void onfocusout();
11720
11721     [id(DISPID_HTMLDOCUMENTEVENTS_ONACTIVATE)]
11722     void onactivate();
11723
11724     [id(DISPID_HTMLDOCUMENTEVENTS_ONDEACTIVATE)]
11725     void ondeactivate();
11726
11727     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREACTIVATE)]
11728     VARIANT_BOOL onbeforeactivate();
11729
11730     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREDEACTIVATE)]
11731     VARIANT_BOOL onbeforedeactivate();
11732 }
11733
11734 /*****************************************************************************
11735  *    HTMLTextContainerEvents interface
11736  */
11737 [
11738     hidden,
11739     uuid(1ff6aa72-5842-11cf-a707-00aa00c0098d)
11740 ]
11741 dispinterface HTMLTextContainerEvents
11742 {
11743 properties:
11744
11745 methods:
11746     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
11747     VARIANT_BOOL onhelp();
11748
11749     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
11750     VARIANT_BOOL onclick();
11751
11752     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
11753     VARIANT_BOOL ondblclick();
11754
11755     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
11756     VARIANT_BOOL onkeypress();
11757
11758     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
11759     void onkeydown();
11760
11761     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
11762     void onkeyup();
11763
11764     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
11765     void onmouseout();
11766
11767     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
11768     void onmouseover();
11769
11770     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
11771     void onmousemove();
11772
11773     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
11774     void onmousedown();
11775
11776     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
11777     void onmouseup();
11778
11779     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
11780     VARIANT_BOOL onselectstart();
11781
11782     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
11783     void onfilterchange();
11784
11785     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
11786     VARIANT_BOOL ondragstart();
11787
11788     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
11789     VARIANT_BOOL onbeforeupdate();
11790
11791     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
11792     void onafterupdate();
11793
11794     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
11795     VARIANT_BOOL onerrorupdate();
11796
11797     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
11798     VARIANT_BOOL onrowexit();
11799
11800     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
11801     void onrowenter();
11802
11803     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
11804     void ondatasetchanged();
11805
11806     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
11807     void ondataavailable();
11808
11809     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
11810     void ondatasetcomplete();
11811
11812     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
11813     void onlosecapture();
11814
11815     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
11816     void onpropertychange();
11817
11818     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
11819     void onscroll();
11820
11821     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
11822     void onfocus();
11823
11824     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
11825     void onblur();
11826
11827     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
11828     void onresize();
11829
11830     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
11831     VARIANT_BOOL ondrag();
11832
11833     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
11834     void ondragend();
11835
11836     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
11837     VARIANT_BOOL ondragenter();
11838
11839     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
11840     VARIANT_BOOL ondragover();
11841
11842     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
11843     void ondragleave();
11844
11845     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
11846     VARIANT_BOOL ondrop();
11847
11848     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
11849     VARIANT_BOOL onbeforecut();
11850
11851     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
11852     VARIANT_BOOL oncut();
11853
11854     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
11855     VARIANT_BOOL onbeforecopy();
11856
11857     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
11858     VARIANT_BOOL oncopy();
11859
11860     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
11861     VARIANT_BOOL onbeforepaste();
11862
11863     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
11864     VARIANT_BOOL onpaste();
11865
11866     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
11867     VARIANT_BOOL oncontextmenu();
11868
11869     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
11870     void onrowsdelete();
11871
11872     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
11873     void onrowsinserted();
11874
11875     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
11876     void oncellchange();
11877
11878     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
11879     void onreadystatechange();
11880
11881     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
11882     void onbeforeeditfocus();
11883
11884     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
11885     void onlayoutcomplete();
11886
11887     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
11888     void onpage();
11889
11890     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
11891     VARIANT_BOOL onbeforedeactivate();
11892
11893     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
11894     VARIANT_BOOL onbeforeactivate();
11895
11896     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
11897     void onmove();
11898
11899     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
11900     VARIANT_BOOL oncontrolselect();
11901
11902     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
11903     VARIANT_BOOL onmovestart();
11904
11905     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
11906     void onmoveend();
11907
11908     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
11909     VARIANT_BOOL onresizestart();
11910
11911     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
11912     void onresizeend();
11913
11914     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
11915     void onmouseenter();
11916
11917     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
11918     void onmouseleave();
11919
11920     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
11921     VARIANT_BOOL onmousewheel();
11922
11923     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
11924     void onactivate();
11925
11926     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
11927     void ondeactivate();
11928
11929     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
11930     void onfocusin();
11931
11932     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
11933     void onfocusout();
11934
11935     [id(DISPID_HTMLTEXTCONTAINEREVENTS_ONCHANGE)]
11936     void onchange();
11937
11938     [id(DISPID_HTMLTEXTCONTAINEREVENTS_ONSELECT)]
11939     void onselect();
11940 };
11941
11942 /*****************************************************************************
11943  *    IHTMLDocument interface
11944  */
11945 [
11946     odl,
11947     oleautomation,
11948     dual,
11949     uuid(626FC520-A41E-11CF-A731-00A0C9082637)
11950 ]
11951 interface IHTMLDocument : IDispatch
11952 {
11953     [propget, id(DISPID_IHTMLDOCUMENT_SCRIPT)]
11954     HRESULT Script([retval, out] IDispatch **p);
11955 }
11956
11957 /*****************************************************************************
11958  *    IHTMLDocument2 interface
11959  */
11960 [
11961     odl,
11962     oleautomation,
11963     dual,
11964     uuid(332C4425-26CB-11D0-B483-00C04FD90119)
11965 ]
11966 interface IHTMLDocument2 : IHTMLDocument
11967 {
11968     [propget, id(DISPID_IHTMLDOCUMENT2_ALL)]
11969     HRESULT all([retval, out] IHTMLElementCollection **p);
11970
11971     [propget, id(DISPID_IHTMLDOCUMENT2_BODY)]
11972     HRESULT body([retval, out] IHTMLElement **p);
11973
11974     [propget, id(DISPID_IHTMLDOCUMENT2_ACTIVEELEMENT)]
11975     HRESULT activeElement([retval, out] IHTMLElement **p);
11976
11977     [propget, id(DISPID_IHTMLDOCUMENT2_IMAGES)]
11978     HRESULT images([retval, out] IHTMLElementCollection **p);
11979
11980     [propget, id(DISPID_IHTMLDOCUMENT2_APPLETS)]
11981     HRESULT applets([retval, out] IHTMLElementCollection **p);
11982
11983     [propget, id(DISPID_IHTMLDOCUMENT2_LINKS)]
11984     HRESULT links([retval, out] IHTMLElementCollection **p);
11985
11986     [propget, id(DISPID_IHTMLDOCUMENT2_FORMS)]
11987     HRESULT forms([retval, out] IHTMLElementCollection **p);
11988
11989     [propget, id(DISPID_IHTMLDOCUMENT2_ANCHORS)]
11990     HRESULT anchors([retval, out] IHTMLElementCollection **p);
11991
11992     [propput, id(DISPID_IHTMLDOCUMENT2_TITLE)]
11993     HRESULT title([in] BSTR v);
11994
11995     [propget, id(DISPID_IHTMLDOCUMENT2_TITLE)]
11996     HRESULT title([retval, out] BSTR *p);
11997
11998     [propget, id(DISPID_IHTMLDOCUMENT2_SCRIPTS)]
11999     HRESULT scripts([retval, out] IHTMLElementCollection **p);
12000
12001     [propput, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE)]
12002     HRESULT designMode([in] BSTR v);
12003
12004     [propget, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE)]
12005     HRESULT designMode([retval, out] BSTR *p);
12006
12007     [propget, id(DISPID_IHTMLDOCUMENT2_SELECTION)]
12008     HRESULT selection([retval, out] IHTMLSelectionObject **p);
12009
12010     [propget, id(DISPID_IHTMLDOCUMENT2_READYSTATE)]
12011      HRESULT readyState([retval, out] BSTR *p);
12012
12013     [propget, id(DISPID_IHTMLDOCUMENT2_FRAMES)]
12014     HRESULT frames([retval, out] IHTMLFramesCollection2 **p);
12015
12016     [propget, id(DISPID_IHTMLDOCUMENT2_EMBEDS)]
12017     HRESULT embeds([retval, out] IHTMLElementCollection **p);
12018
12019     [propget, id(DISPID_IHTMLDOCUMENT2_PLUGINS)]
12020     HRESULT plugins([retval, out] IHTMLElementCollection **p);
12021
12022     [propput, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
12023     HRESULT alinkColor([in] VARIANT v);
12024
12025     [propget, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
12026     HRESULT alinkColor([retval, out] VARIANT *p);
12027
12028     [propput, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
12029     HRESULT bgColor([in] VARIANT v);
12030
12031     [propget, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
12032     HRESULT bgColor([retval, out] VARIANT *p);
12033
12034     [propput, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
12035     HRESULT fgColor([in] VARIANT v);
12036
12037     [propget, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
12038     HRESULT fgColor([retval, out] VARIANT *p);
12039
12040     [propput, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
12041     HRESULT linkColor([in] VARIANT v);
12042
12043     [propget, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
12044     HRESULT linkColor([retval, out] VARIANT *p);
12045
12046     [propput, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
12047     HRESULT vlinkColor([in] VARIANT v);
12048
12049     [propget, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
12050     HRESULT vlinkColor([retval, out] VARIANT *p);
12051
12052     [propget, id(DISPID_IHTMLDOCUMENT2_REFERRER)]
12053     HRESULT referrer([retval, out] BSTR *p);
12054
12055     [propget, id(DISPID_IHTMLDOCUMENT2_LOCATION)]
12056     HRESULT location([retval, out] IHTMLLocation **p);
12057
12058     [propget, id(DISPID_IHTMLDOCUMENT2_LASTMODIFIED)]
12059     HRESULT lastModified([retval, out] BSTR *p);
12060
12061     [propput, id(DISPID_IHTMLDOCUMENT2_URL)]
12062     HRESULT URL([in] BSTR v);
12063
12064     [propget, id(DISPID_IHTMLDOCUMENT2_URL)]
12065     HRESULT URL([retval, out] BSTR *p);
12066
12067     [propput, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
12068     HRESULT domain([in] BSTR v);
12069
12070     [propget, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
12071     HRESULT domain([retval, out] BSTR *p);
12072
12073     [propput, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
12074     HRESULT cookie([in] BSTR v);
12075
12076     [propget, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
12077     HRESULT cookie([retval, out] BSTR *p);
12078
12079     [propput, id(DISPID_IHTMLDOCUMENT2_EXPANDO)]
12080     HRESULT expando([in] VARIANT_BOOL v);
12081
12082     [propget, id(DISPID_IHTMLDOCUMENT2_EXPANDO)]
12083     HRESULT expando([retval, out] VARIANT_BOOL *p);
12084
12085     [propput, id(DISPID_IHTMLDOCUMENT2_CHARSET)]
12086      HRESULT charset([in] BSTR v);
12087
12088     [propget, id(DISPID_IHTMLDOCUMENT2_CHARSET)]
12089     HRESULT charset([retval, out] BSTR *p);
12090
12091     [propput, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
12092     HRESULT defaultCharset([in] BSTR v);
12093
12094     [propget, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
12095     HRESULT defaultCharset([retval, out] BSTR *p);
12096
12097     [propget, id(DISPID_IHTMLDOCUMENT2_MIMETYPE)]
12098     HRESULT mimeType([retval, out] BSTR *p);
12099
12100     [propget, id(DISPID_IHTMLDOCUMENT2_FILESIZE)]
12101     HRESULT fileSize([retval, out] BSTR *p);
12102
12103     [propget, id(DISPID_IHTMLDOCUMENT2_FILECREATEDDATE)]
12104     HRESULT fileCreatedDate([retval, out] BSTR *p);
12105
12106     [propget, id(DISPID_IHTMLDOCUMENT2_FILEMODIFIEDDATE)]
12107     HRESULT fileModifiedDate([retval, out] BSTR *p);
12108
12109     [propget, id(DISPID_IHTMLDOCUMENT2_FILEUPDATEDDATE)]
12110     HRESULT fileUpdatedDate([retval, out] BSTR *p);
12111
12112     [propget, id(DISPID_IHTMLDOCUMENT2_SECURITY)]
12113     HRESULT security([retval, out] BSTR *p);
12114
12115     [propget, id(DISPID_IHTMLDOCUMENT2_PROTOCOL)]
12116     HRESULT protocol([retval, out] BSTR *p);
12117
12118     [propget, id(DISPID_IHTMLDOCUMENT2_NAMEPROP)]
12119      HRESULT nameProp([retval, out] BSTR *p);
12120
12121     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITE)]
12122     HRESULT write([in] SAFEARRAY(VARIANT) psarray);
12123
12124     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITELN)]
12125     HRESULT writeln([in] SAFEARRAY(VARIANT) psarray);
12126
12127     [id(DISPID_IHTMLDOCUMENT2_OPEN)]
12128     HRESULT open(
12129         [defaultvalue("text/html"), in] BSTR url,
12130         [optional, in] VARIANT name,
12131         [optional, in] VARIANT features,
12132         [optional, in] VARIANT replace,
12133         [retval, out]  IDispatch **pomWindowResult);
12134
12135     [id(DISPID_IHTMLDOCUMENT2_CLOSE)]
12136     HRESULT close();
12137
12138     [id(DISPID_IHTMLDOCUMENT2_CLEAR)]
12139     HRESULT clear();
12140
12141     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSUPPORTED)]
12142     HRESULT queryCommandSupported(
12143         [in] BSTR cmdID,
12144         [retval, out] VARIANT_BOOL *pfRet);
12145
12146     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDENABLED)]
12147     HRESULT queryCommandEnabled(
12148         [in] BSTR cmdID,
12149         [retval, out] VARIANT_BOOL *pfRet);
12150
12151     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSTATE)]
12152     HRESULT queryCommandState(
12153         [in] BSTR cmdID,
12154         [retval, out] VARIANT_BOOL *pfRet);
12155
12156     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDINDETERM)]
12157     HRESULT queryCommandIndeterm(
12158         [in] BSTR cmdID,
12159         [retval, out] VARIANT_BOOL *pfRet);
12160
12161     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDTEXT)]
12162     HRESULT queryCommandText(
12163         [in] BSTR cmdID,
12164         [retval, out] BSTR *pcmdText);
12165
12166     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDVALUE)]
12167     HRESULT queryCommandValue(
12168         [in] BSTR cmdID,
12169         [retval, out] VARIANT *pcmdValue);
12170
12171     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMAND)]
12172     HRESULT execCommand(
12173         [in] BSTR cmdID,
12174         [defaultvalue(0), in] VARIANT_BOOL showUI,
12175         [optional, in] VARIANT value,
12176         [retval, out] VARIANT_BOOL *pfRet);
12177
12178     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMANDSHOWHELP)]
12179     HRESULT execCommandShowHelp(
12180         [in] BSTR cmdID,
12181         [retval, out] VARIANT_BOOL *pfRet);
12182
12183     [id(DISPID_IHTMLDOCUMENT2_CREATEELEMENT)]
12184      HRESULT createElement(
12185         [in] BSTR eTag,
12186         [retval, out] IHTMLElement **newElem);
12187
12188     [propput, id(DISPID_IHTMLDOCUMENT2_ONHELP)]
12189     HRESULT onhelp([in] VARIANT v);
12190
12191     [propget, id(DISPID_IHTMLDOCUMENT2_ONHELP)]
12192     HRESULT onhelp([retval, out] VARIANT *p);
12193
12194     [propput, id(DISPID_IHTMLDOCUMENT2_ONCLICK)]
12195     HRESULT onclick([in] VARIANT v);
12196
12197     [propget, id(DISPID_IHTMLDOCUMENT2_ONCLICK)]
12198     HRESULT onclick([retval, out] VARIANT *p);
12199
12200     [propput, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK)]
12201     HRESULT ondblclick([in] VARIANT v);
12202
12203     [propget, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK)]
12204     HRESULT ondblclick([retval, out] VARIANT *p);
12205
12206     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYUP)]
12207     HRESULT onkeyup([in] VARIANT v);
12208
12209     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYUP)]
12210     HRESULT onkeyup([retval, out] VARIANT *p);
12211
12212     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN)]
12213     HRESULT onkeydown([in] VARIANT v);
12214
12215     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN)]
12216     HRESULT onkeydown([retval, out] VARIANT *p);
12217
12218     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS)]
12219      HRESULT onkeypress([in] VARIANT v);
12220
12221     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS)]
12222     HRESULT onkeypress([retval, out] VARIANT *p);
12223
12224     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP)]
12225     HRESULT onmouseup([in] VARIANT v);
12226
12227     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP)]
12228     HRESULT onmouseup([retval, out] VARIANT *p);
12229
12230     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN)]
12231     HRESULT onmousedown([in] VARIANT v);
12232
12233     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN)]
12234     HRESULT onmousedown([retval, out] VARIANT *p);
12235
12236     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE)]
12237     HRESULT onmousemove([in] VARIANT v);
12238
12239     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE)]
12240     HRESULT onmousemove([retval, out] VARIANT *p);
12241
12242     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT)]
12243     HRESULT onmouseout([in] VARIANT v);
12244
12245     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT)]
12246     HRESULT onmouseout([retval, out] VARIANT *p);
12247
12248     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER)]
12249     HRESULT onmouseover([in] VARIANT v);
12250
12251     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER)]
12252     HRESULT onmouseover([retval, out] VARIANT *p);
12253
12254     [propput, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE)]
12255     HRESULT onreadystatechange([in] VARIANT v);
12256
12257     [propget, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE)]
12258     HRESULT onreadystatechange([retval, out] VARIANT *p);
12259
12260     [propput, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE)]
12261     HRESULT onafterupdate([in] VARIANT v);
12262
12263     [propget, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE)]
12264     HRESULT onafterupdate([retval, out] VARIANT *p);
12265
12266     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT)]
12267     HRESULT onrowexit([in] VARIANT v);
12268
12269     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT)]
12270     HRESULT onrowexit([retval, out] VARIANT *p);
12271
12272     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWENTER)]
12273     HRESULT onrowenter([in] VARIANT v);
12274
12275     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWENTER)]
12276     HRESULT onrowenter([retval, out] VARIANT *p);
12277
12278     [propput, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART)]
12279     HRESULT ondragstart([in] VARIANT v);
12280
12281     [propget, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART)]
12282     HRESULT ondragstart([retval, out] VARIANT *p);
12283
12284     [propput, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART)]
12285     HRESULT onselectstart([in] VARIANT v);
12286
12287     [propget, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART)]
12288     HRESULT onselectstart([retval, out] VARIANT *p);
12289
12290     [id(DISPID_IHTMLDOCUMENT2_ELEMENTFROMPOINT)]
12291     HRESULT elementFromPoint(
12292         [in] long x,
12293         [in] long y,
12294         [retval, out] IHTMLElement **elementHit);
12295
12296     [propget, id(DISPID_IHTMLDOCUMENT2_PARENTWINDOW)]
12297     HRESULT parentWindow([retval, out] IHTMLWindow2 **p);
12298
12299     [propget, id(DISPID_IHTMLDOCUMENT2_STYLESHEETS)]
12300     HRESULT styleSheets([retval, out] IHTMLStyleSheetsCollection **p);
12301
12302     [propput, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE)]
12303     HRESULT onbeforeupdate([in] VARIANT v);
12304
12305     [propget, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE)]
12306     HRESULT onbeforeupdate([retval, out] VARIANT *p);
12307
12308     [propput, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE)]
12309     HRESULT onerrorupdate([in] VARIANT v);
12310
12311     [propget, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE)]
12312     HRESULT onerrorupdate([retval, out] VARIANT *p);
12313
12314     [id(DISPID_IHTMLDOCUMENT2_TOSTRING)]
12315     HRESULT toString([retval, out] BSTR *String);
12316
12317     [id(DISPID_IHTMLDOCUMENT2_CREATESTYLESHEET)]
12318     HRESULT createStyleSheet(
12319         [defaultvalue(""), in] BSTR bstrHref,
12320         [defaultvalue(-1), in] long lIndex,
12321         [retval, out] IHTMLStyleSheet **ppnewStyleSheet);
12322 }
12323
12324 /*****************************************************************************
12325  *    IHTMLDocument3 interface
12326  */
12327 [
12328     odl,
12329     oleautomation,
12330     dual,
12331     uuid(3050f485-98b5-11cf-bb82-00aa00bdce0b)
12332 ]
12333 interface IHTMLDocument3 : IDispatch
12334 {
12335     [id(DISPID_IHTMLDOCUMENT3_RELEASECAPTURE)]
12336     HRESULT releaseCapture();
12337
12338     [id(DISPID_IHTMLDOCUMENT3_RECALC)]
12339     HRESULT recalc([defaultvalue(0), in] VARIANT_BOOL fForce);
12340
12341     [id(DISPID_IHTMLDOCUMENT3_CREATETEXTNODE)]
12342     HRESULT createTextNode(
12343         [in] BSTR text,
12344         [retval, out] IHTMLDOMNode **newTextNode);
12345
12346     [propget, id(DISPID_IHTMLDOCUMENT3_DOCUMENTELEMENT)]
12347     HRESULT documentElement([retval, out] IHTMLElement **p);
12348
12349     [propget, id(DISPID_IHTMLDOCUMENT3_UNIQUEID), hidden]
12350     HRESULT uniqueID([retval, out] BSTR *p);
12351
12352     [id(DISPID_IHTMLDOCUMENT3_ATTACHEVENT)]
12353     HRESULT attachEvent(
12354         [in] BSTR event,
12355         [in] IDispatch* pDisp,
12356         [retval, out] VARIANT_BOOL *pfResult);
12357
12358     [id(DISPID_IHTMLDOCUMENT3_DETACHEVENT)]
12359     HRESULT detachEvent(
12360         [in] BSTR event,
12361         [in] IDispatch *pDisp);
12362
12363     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
12364     HRESULT onrowsdelete([in] VARIANT v);
12365
12366     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
12367     HRESULT onrowsdelete([retval, out] VARIANT *p);
12368
12369     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
12370     HRESULT onrowsinserted([in] VARIANT v);
12371
12372     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
12373     HRESULT onrowsinserted([retval, out] VARIANT *p);
12374
12375     [propput, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
12376     HRESULT oncellchange([in] VARIANT v);
12377
12378     [propget, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
12379     HRESULT oncellchange([retval, out] VARIANT *p);
12380
12381     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
12382     HRESULT ondatasetchanged([in] VARIANT v);
12383
12384     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
12385     HRESULT ondatasetchanged([retval, out] VARIANT *p);
12386
12387     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
12388     HRESULT ondataavailable([in] VARIANT v);
12389
12390     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
12391     HRESULT ondataavailable([retval, out] VARIANT * p);
12392
12393     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
12394     HRESULT ondatasetcomplete([in] VARIANT v);
12395
12396     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
12397     HRESULT ondatasetcomplete([retval, out] VARIANT *p);
12398
12399     [propput, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
12400     HRESULT onpropertychange([in] VARIANT v);
12401
12402     [propget, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
12403     HRESULT onpropertychange([retval, out] VARIANT *p);
12404
12405     [propput, id(DISPID_IHTMLDOCUMENT3_DIR)]
12406     HRESULT dir([in] BSTR v);
12407
12408     [propget, id(DISPID_IHTMLDOCUMENT3_DIR)]
12409     HRESULT dir([retval, out] BSTR *p);
12410
12411     [propput, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
12412     HRESULT oncontextmenu([in] VARIANT v);
12413
12414     [propget, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
12415     HRESULT oncontextmenu([retval, out] VARIANT *p);
12416
12417     [propput, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
12418     HRESULT onstop([in] VARIANT v);
12419
12420     [propget, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
12421     HRESULT onstop([retval, out] VARIANT *p);
12422
12423     [id(DISPID_IHTMLDOCUMENT3_CREATEDOCUMENTFRAGMENT)]
12424     HRESULT createDocumentFragment([retval, out] IHTMLDocument2 **pNewDoc);
12425
12426     [propget, id(DISPID_IHTMLDOCUMENT3_PARENTDOCUMENT), hidden, restricted]
12427     HRESULT parentDocument([retval, out] IHTMLDocument2 **p);
12428
12429     [propput, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
12430     HRESULT enableDownload([in] VARIANT_BOOL v);
12431
12432     [propget, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
12433     HRESULT enableDownload([retval, out] VARIANT_BOOL *p);
12434
12435     [propput, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
12436     HRESULT baseUrl([in] BSTR v);
12437
12438     [propget, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
12439     HRESULT baseUrl([retval, out] BSTR *p);
12440
12441     [propget, id(DISPID_IHTMLDOCUMENT3_CHILDNODES)]
12442     HRESULT childNodes([retval, out] IDispatch **p);
12443
12444     [propput, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
12445     HRESULT inheritStyleSheets([in] VARIANT_BOOL v);
12446
12447     [propget, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
12448     HRESULT inheritStyleSheets([retval, out] VARIANT_BOOL *p);
12449
12450     [propput, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
12451     HRESULT onbeforeeditfocus([in] VARIANT v);
12452
12453     [propget, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
12454     HRESULT onbeforeeditfocus([retval, out] VARIANT *p);
12455
12456     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYNAME)]
12457     HRESULT getElementsByName(
12458         [in] BSTR v,
12459         [retval, out] IHTMLElementCollection **pelColl);
12460
12461     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTBYID)]
12462     HRESULT getElementById(
12463         [in] BSTR v,
12464         [retval, out] IHTMLElement **pel);
12465
12466     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYTAGNAME)]
12467     HRESULT getElementsByTagName(
12468         [in] BSTR v,
12469         [retval, out] IHTMLElementCollection **pelColl);
12470 }
12471
12472 /*****************************************************************************
12473  *    IHTMLDocument4 interface
12474  */
12475 [
12476     odl,
12477     oleautomation,
12478     dual,
12479     uuid(3050f69a-98b5-11cf-bb82-00aa00bdce0b)
12480 ]
12481 interface IHTMLDocument4 : IDispatch
12482 {
12483     [id(DISPID_IHTMLDOCUMENT4_FOCUS)]
12484     HRESULT focus();
12485
12486     [id(DISPID_IHTMLDOCUMENT4_HASFOCUS)]
12487     HRESULT hasFocus([retval, out] VARIANT_BOOL *pfFocus);
12488
12489     [propput, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
12490     HRESULT onselectionchange([in] VARIANT v);
12491
12492     [propget, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
12493     HRESULT onselectionchange([retval, out] VARIANT *p);
12494
12495     [propget, id(DISPID_IHTMLDOCUMENT4_NAMESPACES)]
12496     HRESULT namespaces([retval, out] IDispatch **p);
12497
12498     [id(DISPID_IHTMLDOCUMENT4_CREATEDOCUMENTFROMURL)]
12499     HRESULT createDocumentFromUrl(
12500         [in] BSTR bstrUrl,
12501         [in] BSTR bstrOptions,
12502         [retval, out] IHTMLDocument2 **newDoc);
12503
12504     [propput, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
12505     HRESULT media([in] BSTR v);
12506
12507     [propget, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
12508     HRESULT media([retval, out] BSTR *p);
12509
12510     [id(DISPID_IHTMLDOCUMENT4_CREATEEVENTOBJECT)]
12511     HRESULT createEventObject(
12512         [optional, in] VARIANT *pvarEventObject,
12513         [retval, out] IHTMLEventObj **ppEventObj);
12514
12515     [id(DISPID_IHTMLDOCUMENT4_FIREEVENT)]
12516     HRESULT fireEvent(
12517         [in] BSTR bstrEventName,
12518         [optional, in] VARIANT *pvarEventObject,
12519         [retval, out] VARIANT_BOOL *pfCancelled);
12520
12521     [id(DISPID_IHTMLDOCUMENT4_CREATERENDERSTYLE)]
12522     HRESULT createRenderStyle(
12523         [in] BSTR v,
12524         [retval, out] IHTMLRenderStyle **ppIHTMLRenderStyle);
12525
12526     [propput, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
12527     HRESULT oncontrolselect([in] VARIANT v);
12528
12529     [propget, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
12530     HRESULT oncontrolselect([retval, out] VARIANT *p);
12531
12532     [propget, id(DISPID_IHTMLDOCUMENT4_URLUNENCODED)]
12533     HRESULT URLUnencoded([retval, out] BSTR *p);
12534 }
12535
12536 /*****************************************************************************
12537  *    IHTMLDocument5 interface
12538  */
12539 [
12540     odl,
12541     oleautomation,
12542     dual,
12543     uuid(3050f80c-98b5-11cf-bb82-00aa00bdce0b)
12544 ]
12545 interface IHTMLDocument5 : IDispatch
12546 {
12547     [propput, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
12548     HRESULT onmousewheel([in] VARIANT v);
12549
12550     [propget, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
12551     HRESULT onmousewheel([retval, out] VARIANT *p);
12552
12553     [propget, id(DISPID_IHTMLDOCUMENT5_DOCTYPE)]
12554     HRESULT doctype([retval, out] IHTMLDOMNode **p);
12555
12556     [propget, id(DISPID_IHTMLDOCUMENT5_IMPLEMENTATION)]
12557     HRESULT implementation([retval, out] IHTMLDOMImplementation **p);
12558
12559     [id(DISPID_IHTMLDOCUMENT5_CREATEATTRIBUTE)]
12560     HRESULT createAttribute(
12561         [in] BSTR bstrattrName,
12562         [retval, out] IHTMLDOMAttribute **ppattribute);
12563
12564     [id(DISPID_IHTMLDOCUMENT5_CREATECOMMENT)]
12565     HRESULT createComment(
12566         [in] BSTR bstrdata,
12567         [retval, out] IHTMLDOMNode **ppRetNode);
12568
12569     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
12570     HRESULT onfocusin([in] VARIANT v);
12571
12572     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
12573     HRESULT onfocusin([retval, out] VARIANT *p);
12574
12575     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
12576     HRESULT onfocusout([in] VARIANT v);
12577
12578     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
12579     HRESULT onfocusout([retval, out] VARIANT *p);
12580
12581     [propput, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
12582     HRESULT onactivate([in] VARIANT v);
12583
12584     [propget, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
12585     HRESULT onactivate([retval, out] VARIANT *p);
12586
12587     [propput, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
12588     HRESULT ondeactivate([in] VARIANT v);
12589
12590     [propget, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
12591     HRESULT ondeactivate([retval, out] VARIANT *p);
12592
12593     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
12594     HRESULT onbeforeactivate([in] VARIANT v);
12595
12596     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
12597     HRESULT onbeforeactivate([retval, out] VARIANT *p);
12598
12599     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
12600     HRESULT onbeforedeactivate([in] VARIANT v);
12601
12602     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
12603     HRESULT onbeforedeactivate([retval, out] VARIANT *p);
12604
12605     [propget, id(DISPID_IHTMLDOCUMENT5_COMPATMODE)]
12606     HRESULT compatMode([retval, out] BSTR *p);
12607 }
12608
12609 /*****************************************************************************
12610  *    DispHTMLDocument dispinterface
12611  */
12612 [
12613     hidden,
12614     uuid(3050f55f-98b5-11cf-bb82-00aa00bdce0b)
12615 ]
12616 dispinterface DispHTMLDocument
12617 {
12618 properties:
12619 methods:
12620     [propget, id(DISPID_IHTMLDOCUMENT_SCRIPT), hidden, nonbrowsable]
12621     IDispatch *Script();
12622
12623     [propget, id(DISPID_IHTMLDOCUMENT2_ALL)]
12624     IHTMLElementCollection *all();
12625
12626     [propget, id(DISPID_IHTMLDOCUMENT2_BODY)]
12627     IHTMLElement *body();
12628
12629     [propget, id(DISPID_IHTMLDOCUMENT2_ACTIVEELEMENT)]
12630     IHTMLElement *activeElement();
12631
12632     [propget, id(DISPID_IHTMLDOCUMENT2_IMAGES)]
12633     IHTMLElementCollection *images();
12634
12635     [propget, id(DISPID_IHTMLDOCUMENT2_APPLETS)]
12636     IHTMLElementCollection *applets();
12637
12638     [propget, id(DISPID_IHTMLDOCUMENT2_LINKS)]
12639     IHTMLElementCollection *links();
12640
12641     [propget, id(DISPID_IHTMLDOCUMENT2_FORMS)]
12642     IHTMLElementCollection *forms();
12643
12644     [propget, id(DISPID_IHTMLDOCUMENT2_ANCHORS)]
12645     IHTMLElementCollection *anchors();
12646
12647     [propput, id(DISPID_IHTMLDOCUMENT2_TITLE)]
12648     void title(BSTR v);
12649
12650     [propget, id(DISPID_IHTMLDOCUMENT2_TITLE)]
12651     BSTR title();
12652
12653     [propget, id(DISPID_IHTMLDOCUMENT2_SCRIPTS)]
12654     IHTMLElementCollection *scripts();
12655
12656     [propput, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE), hidden]
12657     void designMode(BSTR v);
12658
12659     [propget, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE), hidden]
12660     BSTR designMode();
12661
12662     [propget, id(DISPID_IHTMLDOCUMENT2_SELECTION)]
12663     IHTMLSelectionObject *selection();
12664
12665     [propget, id(DISPID_IHTMLDOCUMENT2_READYSTATE), bindable]
12666     BSTR readyState();
12667
12668     [propget, id(DISPID_IHTMLDOCUMENT2_FRAMES)]
12669     IHTMLFramesCollection2 *frames();
12670
12671     [propget, id(DISPID_IHTMLDOCUMENT2_EMBEDS)]
12672     IHTMLElementCollection *embeds();
12673
12674     [propget, id(DISPID_IHTMLDOCUMENT2_PLUGINS)]
12675     IHTMLElementCollection *plugins();
12676
12677     [propput, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
12678     void alinkColor(VARIANT v);
12679
12680     [propget, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
12681     VARIANT alinkColor();
12682
12683     [propput, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
12684     void bgColor(VARIANT v);
12685
12686     [propget, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
12687     VARIANT bgColor();
12688
12689     [propput, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
12690     void fgColor(VARIANT v);
12691
12692     [propget, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
12693     VARIANT fgColor();
12694
12695     [propput, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
12696     void linkColor(VARIANT v);
12697
12698     [propget, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
12699     VARIANT linkColor();
12700
12701     [propput, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
12702     void vlinkColor(VARIANT v);
12703
12704     [propget, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
12705     VARIANT vlinkColor();
12706
12707     [propget, id(DISPID_IHTMLDOCUMENT2_REFERRER)]
12708     BSTR referrer();
12709
12710     [propget, id(DISPID_IHTMLDOCUMENT2_LOCATION)]
12711     IHTMLLocation *location();
12712
12713     [propget, id(DISPID_IHTMLDOCUMENT2_LASTMODIFIED)]
12714     BSTR lastModified();
12715
12716     [propput, id(DISPID_IHTMLDOCUMENT2_URL)]
12717     void URL(BSTR v);
12718
12719     [propget, id(DISPID_IHTMLDOCUMENT2_URL)]
12720     BSTR URL();
12721
12722     [propput, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
12723     void domain(BSTR v);
12724
12725     [propget, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
12726     BSTR domain();
12727
12728     [propput, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
12729     void cookie(BSTR v);
12730
12731     [propget, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
12732     BSTR cookie();
12733
12734     [propput, id(DISPID_IHTMLDOCUMENT2_EXPANDO), bindable, hidden]
12735     void expando(VARIANT_BOOL v);
12736
12737     [propget, id(DISPID_IHTMLDOCUMENT2_EXPANDO), bindable, hidden]
12738     VARIANT_BOOL expando();
12739
12740     [propput, id(DISPID_IHTMLDOCUMENT2_CHARSET), hidden]
12741     void charset(BSTR v);
12742
12743     [propget, id(DISPID_IHTMLDOCUMENT2_CHARSET), hidden]
12744     BSTR charset();
12745
12746     [propput, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
12747     void defaultCharset(BSTR v);
12748
12749     [propget, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
12750     BSTR defaultCharset();
12751
12752     [propget, id(DISPID_IHTMLDOCUMENT2_MIMETYPE)]
12753     BSTR mimeType();
12754
12755     [propget, id(DISPID_IHTMLDOCUMENT2_FILESIZE)]
12756     BSTR fileSize();
12757
12758     [propget, id(DISPID_IHTMLDOCUMENT2_FILECREATEDDATE)]
12759     BSTR fileCreatedDate();
12760
12761     [propget, id(DISPID_IHTMLDOCUMENT2_FILEMODIFIEDDATE)]
12762     BSTR fileModifiedDate();
12763
12764     [propget, id(DISPID_IHTMLDOCUMENT2_FILEUPDATEDDATE)]
12765     BSTR fileUpdatedDate();
12766
12767     [propget, id(DISPID_IHTMLDOCUMENT2_SECURITY)]
12768     BSTR security();
12769
12770     [propget, id(DISPID_IHTMLDOCUMENT2_PROTOCOL)]
12771     BSTR protocol();
12772
12773     [propget, id(DISPID_IHTMLDOCUMENT2_NAMEPROP)]
12774     BSTR nameProp();
12775
12776     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITE)]
12777     void write([in] SAFEARRAY(VARIANT) psarray);
12778
12779     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITELN)]
12780     void writeln([in] SAFEARRAY(VARIANT) psarray);
12781
12782     [id(DISPID_IHTMLDOCUMENT2_OPEN)]
12783     IDispatch *open(
12784         [defaultvalue("text/html"), in] BSTR url,
12785         [optional, in] VARIANT name,
12786         [optional, in] VARIANT features,
12787         [optional, in] VARIANT replace);
12788
12789     [id(DISPID_IHTMLDOCUMENT2_CLOSE)]
12790     void close();
12791
12792     [id(DISPID_IHTMLDOCUMENT2_CLEAR)]
12793     void clear();
12794
12795     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSUPPORTED)]
12796     VARIANT_BOOL queryCommandSupported([in] BSTR cmdID);
12797
12798     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDENABLED)]
12799     VARIANT_BOOL queryCommandEnabled([in] BSTR cmdID);
12800
12801     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSTATE)]
12802     VARIANT_BOOL queryCommandState([in] BSTR cmdID);
12803
12804     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDINDETERM)]
12805     VARIANT_BOOL queryCommandIndeterm([in] BSTR cmdID);
12806
12807     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDTEXT)]
12808     BSTR queryCommandText([in] BSTR cmdID);
12809
12810     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDVALUE)]
12811     VARIANT queryCommandValue([in] BSTR cmdID);
12812
12813     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMAND)]
12814     VARIANT_BOOL execCommand(
12815         [in] BSTR cmdID,
12816         [defaultvalue(0), in] VARIANT_BOOL showUI,
12817         [optional, in] VARIANT value);
12818
12819     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMANDSHOWHELP)]
12820     VARIANT_BOOL execCommandShowHelp([in] BSTR cmdID);
12821
12822     [id(DISPID_IHTMLDOCUMENT2_CREATEELEMENT)]
12823     IHTMLElement *createElement([in] BSTR eTag);
12824
12825     [propput, id(DISPID_IHTMLDOCUMENT2_ONHELP), displaybind, bindable]
12826     void onhelp(VARIANT v);
12827
12828     [propget, id(DISPID_IHTMLDOCUMENT2_ONHELP), displaybind, bindable]
12829     VARIANT onhelp();
12830
12831     [propput, id(DISPID_IHTMLDOCUMENT2_ONCLICK), displaybind, bindable]
12832     void onclick(VARIANT v);
12833
12834     [propget, id(DISPID_IHTMLDOCUMENT2_ONCLICK), displaybind, bindable]
12835     VARIANT onclick();
12836
12837     [propput, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK), displaybind, bindable]
12838     void ondblclick(VARIANT v);
12839
12840     [propget, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK), displaybind, bindable]
12841     VARIANT ondblclick();
12842
12843     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYUP), displaybind, bindable]
12844     void onkeyup(VARIANT v);
12845
12846     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYUP), displaybind, bindable]
12847     VARIANT onkeyup();
12848
12849     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN), displaybind, bindable]
12850     void onkeydown(VARIANT v);
12851
12852     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN), displaybind, bindable]
12853     VARIANT onkeydown();
12854
12855     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS), displaybind, bindable]
12856     void onkeypress(VARIANT v);
12857
12858     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS), displaybind, bindable]
12859     VARIANT onkeypress();
12860
12861     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP), displaybind, bindable]
12862     void onmouseup(VARIANT v);
12863
12864     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP), displaybind, bindable]
12865     VARIANT onmouseup();
12866
12867     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN), displaybind, bindable]
12868     void onmousedown(VARIANT v);
12869
12870     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN), displaybind, bindable]
12871     VARIANT onmousedown();
12872
12873     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE), displaybind, bindable]
12874     void onmousemove(VARIANT v);
12875
12876     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE), displaybind, bindable]
12877     VARIANT onmousemove();
12878
12879     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT), displaybind, bindable]
12880     void onmouseout(VARIANT v);
12881
12882     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT), displaybind, bindable]
12883     VARIANT onmouseout();
12884
12885     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER), displaybind, bindable]
12886     void onmouseover(VARIANT v);
12887
12888     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER), displaybind, bindable]
12889     VARIANT onmouseover();
12890
12891     [propput, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE), displaybind, bindable]
12892     void onreadystatechange(VARIANT v);
12893
12894     [propget, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE), displaybind, bindable]
12895     VARIANT onreadystatechange();
12896
12897     [propput, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE), displaybind, bindable]
12898     void onafterupdate(VARIANT v);
12899
12900     [propget, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE), displaybind, bindable]
12901     VARIANT onafterupdate();
12902
12903     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT), displaybind, bindable]
12904     void onrowexit(VARIANT v);
12905
12906     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT), displaybind, bindable]
12907     VARIANT onrowexit();
12908
12909     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWENTER), displaybind, bindable]
12910     void onrowenter(VARIANT v);
12911
12912     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWENTER), displaybind, bindable]
12913     VARIANT onrowenter();
12914
12915     [propput, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART), displaybind, bindable]
12916     void ondragstart(VARIANT v);
12917
12918     [propget, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART), displaybind, bindable]
12919     VARIANT ondragstart();
12920
12921     [propput, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART), displaybind, bindable]
12922     void onselectstart(VARIANT v);
12923
12924     [propget, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART), displaybind, bindable]
12925     VARIANT onselectstart();
12926
12927     [id(DISPID_IHTMLDOCUMENT2_ELEMENTFROMPOINT)]
12928     IHTMLElement *elementFromPoint(
12929         [in] long x,
12930         [in] long y);
12931
12932     [propget, id(DISPID_IHTMLDOCUMENT2_PARENTWINDOW)]
12933     IHTMLWindow2 *parentWindow();
12934
12935     [propget, id(DISPID_IHTMLDOCUMENT2_STYLESHEETS)]
12936     IHTMLStyleSheetsCollection *styleSheets();
12937
12938     [propput, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE), displaybind, bindable]
12939     void onbeforeupdate(VARIANT v);
12940
12941     [propget, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE), displaybind, bindable]
12942     VARIANT onbeforeupdate();
12943
12944     [propput, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE), displaybind, bindable]
12945     void onerrorupdate(VARIANT v);
12946
12947     [propget, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE), displaybind, bindable]
12948     VARIANT onerrorupdate();
12949
12950     [id(DISPID_IHTMLDOCUMENT2_TOSTRING)]
12951     BSTR toString();
12952
12953     [id(DISPID_IHTMLDOCUMENT2_CREATESTYLESHEET)]
12954     IHTMLStyleSheet *createStyleSheet(
12955         [defaultvalue(""), in] BSTR bstrHref,
12956         [defaultvalue(-1), in] long lIndex);
12957
12958     [id(DISPID_IHTMLDOCUMENT3_RELEASECAPTURE)]
12959     void releaseCapture();
12960
12961     [id(DISPID_IHTMLDOCUMENT3_RECALC)]
12962     void recalc([defaultvalue(0), in] VARIANT_BOOL fForce);
12963
12964     [id(DISPID_IHTMLDOCUMENT3_CREATETEXTNODE)]
12965     IHTMLDOMNode *createTextNode([in] BSTR text);
12966
12967     [propget, id(DISPID_IHTMLDOCUMENT3_DOCUMENTELEMENT)]
12968     IHTMLElement *documentElement();
12969
12970     [propget, id(DISPID_IHTMLDOCUMENT3_UNIQUEID), hidden]
12971     BSTR uniqueID();
12972
12973     [id(DISPID_IHTMLDOCUMENT3_ATTACHEVENT)]
12974     VARIANT_BOOL attachEvent(
12975         [in] BSTR event,
12976         [in] IDispatch *pDisp);
12977
12978     [id(DISPID_IHTMLDOCUMENT3_DETACHEVENT)]
12979     void detachEvent(
12980         [in] BSTR event,
12981         [in] IDispatch *pDisp);
12982
12983     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
12984     void onrowsdelete(VARIANT v);
12985
12986     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
12987     VARIANT onrowsdelete();
12988
12989     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
12990     void onrowsinserted(VARIANT v);
12991
12992     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
12993     VARIANT onrowsinserted();
12994
12995     [propput, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
12996     void oncellchange(VARIANT v);
12997
12998     [propget, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
12999     VARIANT oncellchange();
13000
13001     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
13002     void ondatasetchanged(VARIANT v);
13003
13004     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
13005     VARIANT ondatasetchanged();
13006
13007     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
13008     void ondataavailable(VARIANT v);
13009
13010     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
13011     VARIANT ondataavailable();
13012
13013     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
13014     void ondatasetcomplete(VARIANT v);
13015
13016     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
13017     VARIANT ondatasetcomplete();
13018
13019     [propput, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
13020     void onpropertychange(VARIANT v);
13021
13022     [propget, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
13023     VARIANT onpropertychange();
13024
13025     [propput, id(DISPID_IHTMLDOCUMENT3_DIR)]
13026     void dir(BSTR v);
13027
13028     [propget, id(DISPID_IHTMLDOCUMENT3_DIR)]
13029     BSTR dir();
13030
13031     [propput, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
13032     void oncontextmenu(VARIANT v);
13033
13034     [propget, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
13035     VARIANT oncontextmenu();
13036
13037     [propput, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
13038     void onstop(VARIANT v);
13039
13040     [propget, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
13041     VARIANT onstop();
13042
13043     [id(DISPID_IHTMLDOCUMENT3_CREATEDOCUMENTFRAGMENT)]
13044     IHTMLDocument2 *createDocumentFragment();
13045
13046     [propget, id(DISPID_IHTMLDOCUMENT3_PARENTDOCUMENT), hidden, restricted]
13047     IHTMLDocument2 *parentDocument();
13048
13049     [propput, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
13050     void enableDownload(VARIANT_BOOL v);
13051
13052     [propget, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
13053     VARIANT_BOOL enableDownload();
13054
13055     [propput, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
13056     void baseUrl(BSTR v);
13057
13058     [propget, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
13059     BSTR baseUrl();
13060
13061     [propput, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
13062     void inheritStyleSheets(VARIANT_BOOL v);
13063
13064     [propget, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
13065     VARIANT_BOOL inheritStyleSheets();
13066
13067     [propput, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
13068     void onbeforeeditfocus(VARIANT v);
13069
13070     [propget, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
13071     VARIANT onbeforeeditfocus();
13072
13073     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYNAME)]
13074     IHTMLElementCollection *getElementsByName([in] BSTR v);
13075
13076     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTBYID)]
13077     IHTMLElement *getElementById([in] BSTR v);
13078
13079     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYTAGNAME)]
13080     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
13081
13082     [id(DISPID_IHTMLDOCUMENT4_FOCUS)]
13083     void focus();
13084
13085     [id(DISPID_IHTMLDOCUMENT4_HASFOCUS)]
13086     VARIANT_BOOL hasFocus();
13087
13088     [propput, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
13089     void onselectionchange(VARIANT v);
13090
13091     [propget, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
13092     VARIANT onselectionchange();
13093
13094     [propget, id(DISPID_IHTMLDOCUMENT4_NAMESPACES)]
13095     IDispatch *namespaces();
13096
13097     [id(DISPID_IHTMLDOCUMENT4_CREATEDOCUMENTFROMURL)]
13098     IHTMLDocument2 *createDocumentFromUrl(
13099         [in] BSTR bstrUrl,
13100         [in] BSTR bstrOptions);
13101
13102     [propput, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
13103     void media(BSTR v);
13104
13105     [propget, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
13106     BSTR media();
13107
13108     [id(DISPID_IHTMLDOCUMENT4_CREATEEVENTOBJECT)]
13109     IHTMLEventObj *createEventObject([optional, in] VARIANT *pvarEventObject);
13110
13111     [id(DISPID_IHTMLDOCUMENT4_FIREEVENT)]
13112     VARIANT_BOOL fireEvent(
13113         [in] BSTR bstrEventName,
13114         [optional, in] VARIANT *pvarEventObject);
13115
13116     [id(DISPID_IHTMLDOCUMENT4_CREATERENDERSTYLE)]
13117     IHTMLRenderStyle *createRenderStyle([in] BSTR v);
13118
13119     [propput, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
13120     void oncontrolselect(VARIANT v);
13121
13122     [propget, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
13123     VARIANT oncontrolselect();
13124
13125     [propget, id(DISPID_IHTMLDOCUMENT4_URLUNENCODED)]
13126     BSTR URLUnencoded();
13127
13128     [propput, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
13129     void onmousewheel(VARIANT v);
13130
13131     [propget, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
13132     VARIANT onmousewheel();
13133
13134     [propget, id(DISPID_IHTMLDOCUMENT5_DOCTYPE)]
13135     IHTMLDOMNode *doctype();
13136
13137     [propget, id(DISPID_IHTMLDOCUMENT5_IMPLEMENTATION)]
13138     IHTMLDOMImplementation *implementation();
13139
13140     [id(DISPID_IHTMLDOCUMENT5_CREATEATTRIBUTE)]
13141     IHTMLDOMAttribute *createAttribute([in] BSTR bstrattrName);
13142
13143     [id(DISPID_IHTMLDOCUMENT5_CREATECOMMENT)]
13144     IHTMLDOMNode *createComment([in] BSTR bstrdata);
13145
13146     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
13147     void onfocusin(VARIANT v);
13148
13149     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
13150     VARIANT onfocusin();
13151
13152     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
13153     void onfocusout(VARIANT v);
13154
13155     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
13156     VARIANT onfocusout();
13157
13158     [propput, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
13159     void onactivate(VARIANT v);
13160
13161     [propget, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
13162     VARIANT onactivate();
13163
13164     [propput, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
13165     void ondeactivate(VARIANT v);
13166
13167     [propget, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
13168     VARIANT ondeactivate();
13169
13170     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
13171     void onbeforeactivate(VARIANT v);
13172
13173     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
13174     VARIANT onbeforeactivate();
13175
13176     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
13177     void onbeforedeactivate(VARIANT v);
13178
13179     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
13180     VARIANT onbeforedeactivate();
13181
13182     [propget, id(DISPID_IHTMLDOCUMENT5_COMPATMODE)]
13183     BSTR compatMode();
13184
13185     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
13186     long nodeType();
13187
13188     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
13189     IHTMLDOMNode *parentNode();
13190
13191     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
13192     VARIANT_BOOL hasChildNodes();
13193
13194     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
13195     IDispatch *childNodes();
13196
13197     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
13198     IDispatch *attributes();
13199
13200     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
13201     IHTMLDOMNode *insertBefore(
13202         [in] IHTMLDOMNode *newChild,
13203         [optional, in] VARIANT refChild);
13204
13205     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
13206     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
13207
13208     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
13209     IHTMLDOMNode *replaceChild(
13210         [in] IHTMLDOMNode *newChild,
13211         [in] IHTMLDOMNode *oldChild);
13212
13213     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
13214     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
13215
13216     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
13217     IHTMLDOMNode *removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep);
13218
13219     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
13220     IHTMLDOMNode *swapNode([in] IHTMLDOMNode* otherNode);
13221
13222     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
13223     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
13224
13225     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
13226     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
13227
13228     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
13229     BSTR nodeName();
13230
13231     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
13232     void nodeValue(VARIANT v);
13233
13234     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
13235     VARIANT nodeValue();
13236
13237     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
13238     IHTMLDOMNode *firstChild();
13239
13240     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
13241     IHTMLDOMNode *lastChild();
13242
13243     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
13244     IHTMLDOMNode *previousSibling();
13245
13246     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
13247     IHTMLDOMNode *nextSibling();
13248
13249     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
13250     IDispatch *ownerDocument();
13251 }
13252
13253 /*****************************************************************************
13254  *    HTMLDocument coclass
13255  */
13256 [
13257     uuid(25336920-03F9-11cf-8FD0-00AA00686F13)
13258 ]
13259 coclass HTMLDocument
13260 {
13261     [default]         dispinterface DispHTMLDocument;
13262     [source, default] dispinterface HTMLDocumentEvents;
13263     [source]          dispinterface HTMLDocumentEvents2;
13264                       interface IHTMLDocument2;
13265                       interface IHTMLDocument3;
13266                       interface IHTMLDocument4;
13267                       interface IHTMLDocument5;
13268                       interface IHTMLDOMNode;
13269                       interface IHTMLDOMNode2;
13270 }
13271
13272 /*****************************************************************************
13273  *    IHTMLCommentElement interface
13274  */
13275 [
13276     odl,
13277     oleautomation,
13278     dual,
13279     uuid(3050f20c-98b5-11cf-bb82-00aa00bdce0b)
13280 ]
13281 interface IHTMLCommentElement : IDispatch
13282 {
13283     [propput, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
13284     HRESULT text([in] BSTR v);
13285
13286     [propget, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
13287     HRESULT text([out, retval] BSTR *p);
13288
13289     [propput, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
13290     HRESULT atomic([in] long v);
13291
13292     [propget, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
13293     HRESULT atomic([out, retval] long *p);
13294 }
13295
13296 /*****************************************************************************
13297  *    IHTMLCommentElement2 interface
13298  */
13299 [
13300     odl,
13301     oleautomation,
13302     dual,
13303     uuid(3050f813-98b5-11cf-bb82-00aa00bdce0b)
13304 ]
13305 interface IHTMLCommentElement2 : IDispatch
13306 {
13307     [propput, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
13308     HRESULT data([in] BSTR v);
13309
13310     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
13311     HRESULT data([out, retval] BSTR *p);
13312
13313     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_LENGTH)]
13314     HRESULT length([out, retval] long *p);
13315
13316     [id(DISPID_IHTMLCOMMENTELEMENT2_SUBSTRINGDATA)]
13317     HRESULT substringData(
13318             [in] long offset,
13319             [in] long Count,
13320             [out, retval] BSTR *pbstrsubString);
13321
13322     [id(DISPID_IHTMLCOMMENTELEMENT2_APPENDDATA)]
13323     HRESULT appendData([in] BSTR bstrstring);
13324
13325     [id(DISPID_IHTMLCOMMENTELEMENT2_INSERTDATA)]
13326     HRESULT insertData(
13327             [in] long offset,
13328             [in] BSTR bstrstring);
13329
13330     [id(DISPID_IHTMLCOMMENTELEMENT2_DELETEDATA)]
13331     HRESULT deleteData(
13332             [in] long offset,
13333             [in] long Count);
13334
13335     [id(DISPID_IHTMLCOMMENTELEMENT2_REPLACEDATA)]
13336     HRESULT replaceData(
13337             [in] long offset,
13338             [in] long Count,
13339             [in] BSTR bstrstring);
13340 }
13341
13342 /*****************************************************************************
13343  *    DispHTMLCommentElement dispinterface
13344  */
13345 [
13346     hidden,
13347     uuid(3050f50a-98b5-11cf-bb82-00aa00bdce0b)
13348 ]
13349 dispinterface DispHTMLCommentElement
13350 {
13351 properties:
13352 methods:
13353     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
13354     void setAttribute(
13355             [in] BSTR strAttributeName,
13356             [in] VARIANT AttributeValue,
13357             [in, defaultvalue(1)] LONG lFlags);
13358
13359     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
13360     VARIANT getAttribute(
13361              [in] BSTR strAttributeName,
13362              [in, defaultvalue(0)] LONG lFlags);
13363
13364     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
13365     VARIANT_BOOL removeAttribute(
13366             [in] BSTR strAttributeName,
13367             [in, defaultvalue(1)] LONG lFlags);
13368
13369     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
13370     void className(BSTR v);
13371
13372     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
13373     BSTR className();
13374
13375     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
13376     void id(BSTR v);
13377
13378     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
13379     BSTR id();
13380
13381     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
13382     BSTR tagName();
13383
13384     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
13385     IHTMLElement *parentElement();
13386
13387     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
13388     IHTMLStyle *style();
13389
13390     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
13391     void onhelp(VARIANT v);
13392
13393     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
13394     VARIANT onhelp();
13395
13396     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
13397     void onclick(VARIANT v);
13398
13399     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
13400     VARIANT onclick();
13401
13402     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
13403     void ondblclick(VARIANT v);
13404
13405     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
13406     VARIANT ondblclick();
13407
13408     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
13409     void onkeydown(VARIANT v);
13410
13411     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
13412     VARIANT onkeydown();
13413
13414     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
13415     void onkeyup(VARIANT v);
13416
13417     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
13418     VARIANT onkeyup();
13419
13420     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
13421     void onkeypress(VARIANT v);
13422
13423     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
13424     VARIANT onkeypress();
13425
13426     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
13427     void onmouseout(VARIANT v);
13428
13429     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
13430     VARIANT onmouseout();
13431
13432     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
13433     void onmouseover(VARIANT v);
13434
13435     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
13436     VARIANT onmouseover();
13437
13438     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
13439     void onmousemove(VARIANT v);
13440
13441     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
13442     VARIANT onmousemove();
13443
13444     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
13445     void onmousedown(VARIANT v);
13446
13447     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
13448     VARIANT onmousedown();
13449
13450     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
13451     void onmouseup(VARIANT v);
13452
13453     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
13454     VARIANT onmouseup();
13455
13456     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
13457     IDispatch *document();
13458
13459     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
13460     void title(BSTR v);
13461
13462     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
13463     BSTR title();
13464
13465     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
13466     void language(BSTR v);
13467
13468     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
13469     BSTR language();
13470
13471     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
13472     void onselectstart(VARIANT v);
13473
13474     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
13475     VARIANT onselectstart();
13476
13477     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
13478     void scrollIntoView([in, optional] VARIANT varargStart);
13479
13480     [id(DISPID_IHTMLELEMENT_CONTAINS)]
13481     VARIANT_BOOL contains([in] IHTMLElement *pChild);
13482
13483     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
13484     long sourceIndex();
13485
13486     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
13487     VARIANT recordNumber();
13488
13489     [propput, id(DISPID_IHTMLELEMENT_LANG)]
13490     void lang(BSTR v);
13491
13492     [propget, id(DISPID_IHTMLELEMENT_LANG)]
13493     BSTR lang();
13494
13495     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
13496     long offsetLeft();
13497
13498     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
13499     long offsetTop();
13500
13501     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
13502     long offsetWidth();
13503
13504     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
13505     long offsetHeight();
13506
13507     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
13508     IHTMLElement *offsetParent();
13509
13510     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
13511     void innerHTML(BSTR v);
13512
13513     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
13514     BSTR innerHTML();
13515
13516     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
13517     void innerText(BSTR v);
13518
13519     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
13520     BSTR innerText();
13521
13522     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
13523     void outerHTML(BSTR v);
13524
13525     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
13526     BSTR outerHTML();
13527
13528     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
13529     void outerText(BSTR v);
13530
13531     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
13532     BSTR outerText();
13533
13534     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
13535     void insertAdjacentHTML(
13536             [in] BSTR where,
13537             [in] BSTR html);
13538
13539     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
13540     void insertAdjacentText(
13541             [in] BSTR where,
13542             [in] BSTR text);
13543
13544     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
13545     IHTMLElement *parentTextEdit();
13546
13547     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
13548     VARIANT_BOOL isTextEdit();
13549
13550     [id(DISPID_IHTMLELEMENT_CLICK)]
13551     void click();
13552
13553     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
13554     IHTMLFiltersCollection *filters();
13555
13556     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
13557     void ondragstart(VARIANT v);
13558
13559     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
13560     VARIANT ondragstart();
13561
13562     [id(DISPID_IHTMLELEMENT_TOSTRING)]
13563     BSTR toString();
13564
13565     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
13566     void onbeforeupdate(VARIANT v);
13567
13568     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
13569     VARIANT onbeforeupdate();
13570
13571     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
13572     void onafterupdate(VARIANT v);
13573
13574     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
13575     VARIANT onafterupdate();
13576
13577     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
13578     void onerrorupdate(VARIANT v);
13579
13580     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
13581     VARIANT onerrorupdate();
13582
13583     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
13584     void onrowexit(VARIANT v);
13585
13586     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
13587     VARIANT onrowexit();
13588
13589     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
13590     void onrowenter(VARIANT v);
13591
13592     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
13593     VARIANT onrowenter();
13594
13595     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
13596     void ondatasetchanged(VARIANT v);
13597
13598     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
13599     VARIANT ondatasetchanged();
13600
13601     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
13602     void ondataavailable(VARIANT v);
13603
13604     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
13605     VARIANT ondataavailable();
13606
13607     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
13608     void ondatasetcomplete(VARIANT v);
13609
13610     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
13611     VARIANT ondatasetcomplete();
13612
13613     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
13614     void onfilterchange(VARIANT v);
13615
13616     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
13617     VARIANT onfilterchange();
13618
13619     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
13620     IDispatch *children();
13621
13622     [propget, id(DISPID_IHTMLELEMENT_ALL)]
13623     IDispatch *all();
13624
13625     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
13626     BSTR scopeName();
13627
13628     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
13629     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
13630
13631     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
13632     void releaseCapture();
13633
13634     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
13635     void onlosecapture(VARIANT v);
13636
13637     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
13638     VARIANT onlosecapture();
13639
13640     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
13641     BSTR componentFromPoint(
13642             [in] long x,
13643             [in] long y);
13644
13645     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
13646     void doScroll([in, optional] VARIANT component);
13647
13648     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
13649     void onscroll(VARIANT v);
13650
13651     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
13652     VARIANT onscroll();
13653
13654     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
13655     void ondrag(VARIANT v);
13656
13657     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
13658     VARIANT ondrag();
13659
13660     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
13661     void ondragend(VARIANT v);
13662
13663     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
13664     VARIANT ondragend();
13665
13666     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
13667     void ondragenter(VARIANT v);
13668
13669     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
13670     VARIANT ondragenter();
13671
13672     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
13673     void ondragover(VARIANT v);
13674
13675     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
13676     VARIANT ondragover();
13677
13678     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
13679     void ondragleave(VARIANT v);
13680
13681     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
13682     VARIANT ondragleave();
13683
13684     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
13685     void ondrop(VARIANT v);
13686
13687     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
13688     VARIANT ondrop();
13689
13690     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
13691     void onbeforecut(VARIANT v);
13692
13693     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
13694     VARIANT onbeforecut();
13695
13696     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
13697     void oncut(VARIANT v);
13698
13699     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
13700     VARIANT oncut();
13701
13702     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
13703     void onbeforecopy(VARIANT v);
13704
13705     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
13706     VARIANT onbeforecopy();
13707
13708     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
13709     void oncopy(VARIANT v);
13710
13711     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
13712     VARIANT oncopy();
13713
13714     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
13715     void onbeforepaste(VARIANT v);
13716
13717     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
13718     VARIANT onbeforepaste();
13719
13720     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
13721     void onpaste(VARIANT v);
13722
13723     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
13724     VARIANT onpaste();
13725
13726     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
13727     IHTMLCurrentStyle *currentStyle();
13728
13729     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
13730     void onpropertychange(VARIANT v);
13731
13732     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
13733     VARIANT onpropertychange();
13734
13735     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
13736     IHTMLRectCollection *getClientRects();
13737
13738     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
13739     IHTMLRect *getBoundingClientRect();
13740
13741     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
13742     void setExpression(
13743             [in] BSTR propname,
13744             [in] BSTR expression,
13745             [in, defaultvalue("")] BSTR language);
13746
13747     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
13748     VARIANT getExpression([in] BSTR propname);
13749
13750     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
13751     VARIANT_BOOL removeExpression([in] BSTR propname);
13752
13753     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
13754     void tabIndex(short v);
13755
13756     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
13757     short tabIndex();
13758
13759     [id(DISPID_IHTMLELEMENT2_FOCUS)]
13760     void focus();
13761
13762     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
13763     void accessKey(BSTR v);
13764
13765     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
13766     BSTR accessKey();
13767
13768     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
13769     void onblur(VARIANT v);
13770
13771     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
13772     VARIANT onblur();
13773
13774     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
13775     void onfocus(VARIANT v);
13776
13777     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
13778     VARIANT onfocus();
13779
13780     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
13781     void onresize(VARIANT v);
13782
13783     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
13784     VARIANT onresize();
13785
13786     [id(DISPID_IHTMLELEMENT2_BLUR)]
13787     void blur();
13788
13789     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
13790     void addFilter([in] IUnknown *pUnk);
13791
13792     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
13793     void removeFilter([in] IUnknown *pUnk);
13794
13795     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
13796     long clientHeight();
13797
13798     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
13799     long clientWidth();
13800
13801     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
13802     long clientTop();
13803
13804     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
13805     long clientLeft();
13806
13807     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
13808     VARIANT_BOOL attachEvent(
13809             [in] BSTR event,
13810             [in] IDispatch *pDisp);
13811
13812     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
13813     void detachEvent(
13814             [in] BSTR event,
13815             [in] IDispatch *pDisp);
13816
13817     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
13818     VARIANT readyState();
13819
13820     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
13821     void onreadystatechange(VARIANT v);
13822
13823     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
13824     VARIANT onreadystatechange();
13825
13826     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
13827     void onrowsdelete(VARIANT v);
13828
13829     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
13830     VARIANT onrowsdelete();
13831
13832     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
13833     void onrowsinserted(VARIANT v);
13834
13835     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
13836      VARIANT onrowsinserted();
13837
13838     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
13839      void oncellchange(VARIANT v);
13840
13841     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
13842     VARIANT oncellchange();
13843
13844     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
13845     void dir(BSTR v);
13846
13847     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
13848     BSTR dir();
13849
13850     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
13851     IDispatch *createControlRange();
13852
13853     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
13854     long scrollHeight();
13855
13856     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
13857     long scrollWidth();
13858
13859     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
13860     void scrollTop(long v);
13861
13862     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
13863     long scrollTop();
13864
13865     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
13866     void scrollLeft(long v);
13867
13868     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
13869     long scrollLeft();
13870
13871     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
13872     void clearAttributes();
13873
13874     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
13875     void oncontextmenu(VARIANT v);
13876
13877     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
13878     VARIANT oncontextmenu();
13879
13880     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
13881     IHTMLElement *insertAdjacentElement(
13882             [in] BSTR where,
13883             [in] IHTMLElement *insertedElement);
13884
13885     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
13886     IHTMLElement *applyElement(
13887             [in] IHTMLElement *apply,
13888             [in] BSTR where);
13889
13890     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
13891     BSTR getAdjacentText([in] BSTR where);
13892
13893     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
13894     BSTR replaceAdjacentText(
13895             [in] BSTR where,
13896             [in] BSTR newText);
13897
13898     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
13899     VARIANT_BOOL canHaveChildren();
13900
13901     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
13902     long addBehavior(
13903             [in] BSTR bstrUrl,
13904             [in, optional] VARIANT *pvarFactory);
13905
13906     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
13907     VARIANT_BOOL removeBehavior([in] long cookie);
13908
13909     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
13910     IHTMLStyle *runtimeStyle();
13911
13912     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
13913     IDispatch *behaviorUrns();
13914
13915     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
13916     void tagUrn(BSTR v);
13917
13918     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
13919     BSTR tagUrn();
13920
13921     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
13922     void onbeforeeditfocus(VARIANT v);
13923
13924     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
13925     VARIANT onbeforeeditfocus();
13926
13927     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
13928     long readyStateValue();
13929
13930     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
13931     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
13932
13933     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
13934     void mergeAttributes(
13935             [in] IHTMLElement *mergeThis,
13936             [in, optional] VARIANT *pvarFlags);
13937
13938     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
13939     VARIANT_BOOL isMultiLine();
13940
13941     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
13942     VARIANT_BOOL canHaveHTML();
13943
13944     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
13945     void onlayoutcomplete(VARIANT v);
13946
13947     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
13948     VARIANT onlayoutcomplete();
13949
13950     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
13951     void onpage(VARIANT v);
13952
13953     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
13954     VARIANT onpage();
13955
13956     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
13957     void inflateBlock(VARIANT_BOOL v);
13958
13959     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
13960     VARIANT_BOOL inflateBlock();
13961
13962     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
13963     void onbeforedeactivate(VARIANT v);
13964
13965     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
13966     VARIANT onbeforedeactivate();
13967
13968     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
13969     void setActive();
13970
13971     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
13972     void contentEditable(BSTR v);
13973
13974     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
13975     BSTR contentEditable();
13976
13977     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
13978     VARIANT_BOOL isContentEditable();
13979
13980     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
13981     void hideFocus(VARIANT_BOOL v);
13982
13983     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
13984     VARIANT_BOOL hideFocus();
13985
13986     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
13987     void disabled(VARIANT_BOOL v);
13988
13989     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
13990     VARIANT_BOOL disabled();
13991
13992     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
13993     VARIANT_BOOL isDisabled();
13994
13995     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
13996     void onmove(VARIANT v);
13997
13998     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
13999     VARIANT onmove();
14000
14001     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
14002     void oncontrolselect(VARIANT v);
14003
14004     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
14005     VARIANT oncontrolselect();
14006
14007     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
14008     VARIANT_BOOL fireEvent(
14009             [in] BSTR bstrEventName,
14010             [in, optional] VARIANT *pvarEventObject);
14011
14012     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
14013     void onresizestart(VARIANT v);
14014
14015     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
14016     VARIANT onresizestart();
14017
14018     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
14019     void onresizeend(VARIANT v);
14020
14021     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
14022     VARIANT onresizeend();
14023
14024     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
14025     void onmovestart(VARIANT v);
14026
14027     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
14028     VARIANT onmovestart();
14029
14030     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
14031     void onmoveend(VARIANT v);
14032
14033     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
14034     VARIANT onmoveend();
14035
14036     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
14037     void onmouseenter(VARIANT v);
14038
14039     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
14040     VARIANT onmouseenter();
14041
14042     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
14043     void onmouseleave(VARIANT v);
14044
14045     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
14046     VARIANT onmouseleave();
14047
14048     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
14049     void onactivate(VARIANT v);
14050
14051     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
14052     VARIANT onactivate();
14053
14054     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
14055     void ondeactivate(VARIANT v);
14056
14057     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
14058     VARIANT ondeactivate();
14059
14060     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
14061     VARIANT_BOOL dragDrop();
14062
14063     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
14064     LONG glyphMode();
14065
14066     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
14067     void onmousewheel(VARIANT v);
14068
14069     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
14070     VARIANT onmousewheel();
14071
14072     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
14073     void normalize();
14074
14075     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
14076     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
14077
14078     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
14079     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
14080
14081     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
14082     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
14083
14084     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
14085     void onbeforeactivate(VARIANT v);
14086
14087     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
14088     VARIANT onbeforeactivate();
14089
14090     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
14091     void onfocusin(VARIANT v);
14092
14093     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
14094     VARIANT onfocusin();
14095
14096     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
14097     void onfocusout(VARIANT v);
14098
14099     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
14100     VARIANT onfocusout();
14101
14102     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
14103     long uniqueNumber();
14104
14105     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
14106     BSTR uniqueID();
14107
14108     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
14109     long nodeType();
14110
14111     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
14112     IHTMLDOMNode *parentNode();
14113
14114     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
14115     VARIANT_BOOL hasChildNodes();
14116
14117     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
14118     IDispatch *childNodes();
14119
14120     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
14121     IDispatch *attributes();
14122
14123     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
14124     IHTMLDOMNode *insertBefore(
14125             [in] IHTMLDOMNode *newChild,
14126             [in, optional] VARIANT refChild);
14127
14128     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
14129     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
14130
14131     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
14132     IHTMLDOMNode *replaceChild(
14133             [in] IHTMLDOMNode *newChild,
14134             [in] IHTMLDOMNode *oldChild);
14135
14136     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
14137     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
14138
14139     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
14140     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
14141
14142     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
14143     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
14144
14145     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
14146     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
14147
14148     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
14149     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
14150
14151     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
14152     BSTR nodeName();
14153
14154     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
14155     void nodeValue(VARIANT v);
14156
14157     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
14158     VARIANT nodeValue();
14159
14160     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
14161     IHTMLDOMNode *firstChild();
14162
14163     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
14164     IHTMLDOMNode *lastChild();
14165
14166     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
14167     IHTMLDOMNode *previousSibling();
14168
14169     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
14170     IHTMLDOMNode *nextSibling();
14171
14172     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
14173     IDispatch *ownerDocument();
14174
14175     [propput, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
14176     void text(BSTR v);
14177
14178     [propget, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
14179     BSTR text();
14180
14181     [propput, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
14182     void atomic(long v);
14183
14184     [propget, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
14185     long atomic();
14186
14187     [propput, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
14188     void data(BSTR v);
14189
14190     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
14191     BSTR data();
14192
14193     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_LENGTH)]
14194     long length();
14195
14196     [id(DISPID_IHTMLCOMMENTELEMENT2_SUBSTRINGDATA)]
14197     BSTR substringData(
14198             [in] long offset,
14199             [in] long Count);
14200
14201     [id(DISPID_IHTMLCOMMENTELEMENT2_APPENDDATA)]
14202     void appendData([in] BSTR bstrstring);
14203
14204     [id(DISPID_IHTMLCOMMENTELEMENT2_INSERTDATA)]
14205      void insertData(
14206             [in] long offset,
14207             [in] BSTR bstrstring);
14208
14209     [id(DISPID_IHTMLCOMMENTELEMENT2_DELETEDATA)]
14210     void deleteData(
14211             [in] long offset,
14212             [in] long Count);
14213
14214     [id(DISPID_IHTMLCOMMENTELEMENT2_REPLACEDATA)]
14215     void replaceData(
14216             [in] long offset,
14217             [in] long Count,
14218             [in] BSTR bstrstring);
14219 }
14220
14221 /*****************************************************************************
14222  *    HTMLTableEvents dispinterface
14223  */
14224 [
14225     hidden,
14226     uuid(3050f407-98b5-11cf-bb82-00aa00bdce0b)
14227 ]
14228 dispinterface HTMLTableEvents
14229 {
14230 properties:
14231 methods:
14232     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
14233     VARIANT_BOOL onhelp();
14234
14235     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
14236     VARIANT_BOOL onclick();
14237
14238     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
14239     VARIANT_BOOL ondblclick();
14240
14241     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
14242     VARIANT_BOOL onkeypress();
14243
14244     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
14245     void onkeydown();
14246
14247     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
14248     void onkeyup();
14249
14250     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
14251     void onmouseout();
14252
14253     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
14254     void onmouseover();
14255
14256     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
14257     void onmousemove();
14258
14259     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
14260     void onmousedown();
14261
14262     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
14263     void onmouseup();
14264
14265     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
14266     VARIANT_BOOL onselectstart();
14267
14268     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
14269     void onfilterchange();
14270
14271     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
14272     VARIANT_BOOL ondragstart();
14273
14274     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
14275     VARIANT_BOOL onbeforeupdate();
14276
14277     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
14278     void onafterupdate();
14279
14280     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
14281     VARIANT_BOOL onerrorupdate();
14282
14283     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
14284     VARIANT_BOOL onrowexit();
14285
14286     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
14287     void onrowenter();
14288
14289     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
14290     void ondatasetchanged();
14291
14292     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
14293     void ondataavailable();
14294
14295     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
14296     void ondatasetcomplete();
14297
14298     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
14299     void onlosecapture();
14300
14301     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
14302     void onpropertychange();
14303
14304     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
14305     void onscroll();
14306
14307     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
14308     void onfocus();
14309
14310     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
14311     void onblur();
14312
14313     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
14314     void onresize();
14315
14316     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
14317     VARIANT_BOOL ondrag();
14318
14319     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
14320     void ondragend();
14321
14322     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
14323     VARIANT_BOOL ondragenter();
14324
14325     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
14326     VARIANT_BOOL ondragover();
14327
14328     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
14329     void ondragleave();
14330
14331     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
14332     VARIANT_BOOL ondrop();
14333
14334     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
14335     VARIANT_BOOL onbeforecut();
14336
14337     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
14338     VARIANT_BOOL oncut();
14339
14340     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
14341     VARIANT_BOOL onbeforecopy();
14342
14343     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
14344     VARIANT_BOOL oncopy();
14345
14346     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
14347     VARIANT_BOOL onbeforepaste();
14348
14349     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
14350     VARIANT_BOOL onpaste();
14351
14352     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
14353     VARIANT_BOOL oncontextmenu();
14354
14355     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
14356     void onrowsdelete();
14357
14358     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
14359     void onrowsinserted();
14360
14361     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
14362     void oncellchange();
14363
14364     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
14365     void onreadystatechange();
14366
14367     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
14368     void onbeforeeditfocus();
14369
14370     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
14371     void onlayoutcomplete();
14372
14373     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
14374     void onpage();
14375
14376     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
14377     VARIANT_BOOL onbeforedeactivate();
14378
14379     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
14380     VARIANT_BOOL onbeforeactivate();
14381
14382     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
14383     void onmove();
14384
14385     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
14386     VARIANT_BOOL oncontrolselect();
14387
14388     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
14389     VARIANT_BOOL onmovestart();
14390
14391     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
14392     void onmoveend();
14393
14394     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
14395     VARIANT_BOOL onresizestart();
14396
14397     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
14398     void onresizeend();
14399
14400     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
14401     void onmouseenter();
14402
14403     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
14404     void onmouseleave();
14405
14406     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
14407     VARIANT_BOOL onmousewheel();
14408
14409     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
14410     void onactivate();
14411
14412     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
14413     void ondeactivate();
14414
14415     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
14416     void onfocusin();
14417
14418     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
14419     void onfocusout();
14420 }
14421
14422 /*****************************************************************************
14423  *    IHTMLTableCaption interface
14424  */
14425 [
14426     odl,
14427     oleautomation,
14428     dual,
14429     uuid(3050f2eb-98b5-11cf-bb82-00aa00bdce0b)
14430 ]
14431 interface IHTMLTableCaption : IDispatch
14432 {
14433     [propput, id(DISPID_IHTMLTABLECAPTION_ALIGN)]
14434     HRESULT align([in] BSTR v);
14435
14436     [propget, id(DISPID_IHTMLTABLECAPTION_ALIGN)]
14437     HRESULT align([retval, out] BSTR *p);
14438
14439     [propput, id(DISPID_IHTMLTABLECAPTION_VALIGN)]
14440     HRESULT vAlign([in] BSTR v);
14441
14442     [propget, id(DISPID_IHTMLTABLECAPTION_VALIGN)]
14443     HRESULT vAlign([retval, out] BSTR *p);
14444 }
14445
14446 interface IHTMLTableSection;
14447
14448 /*****************************************************************************
14449  *    IHTMLTable interface
14450  */
14451 [
14452     odl,
14453     oleautomation,
14454     dual,
14455     uuid(3050f21e-98b5-11cf-bb82-00aa00bdce0b)
14456 ]
14457 interface IHTMLTable : IDispatch
14458 {
14459     [propput, id(DISPID_IHTMLTABLE_COLS)]
14460     HRESULT cols([in] long v);
14461
14462     [propget, id(DISPID_IHTMLTABLE_COLS)]
14463     HRESULT cols([retval, out] long *p);
14464
14465     [propput, id(DISPID_IHTMLTABLE_BORDER)]
14466     HRESULT border([in] VARIANT v);
14467
14468     [propget, id(DISPID_IHTMLTABLE_BORDER)]
14469     HRESULT border([retval, out] VARIANT *p);
14470
14471     [propput, id(DISPID_IHTMLTABLE_FRAME)]
14472     HRESULT frame([in] BSTR v);
14473
14474     [propget, id(DISPID_IHTMLTABLE_FRAME)]
14475     HRESULT frame([retval, out] BSTR *p);
14476
14477     [propput, id(DISPID_IHTMLTABLE_RULES)]
14478     HRESULT rules([in] BSTR v);
14479
14480     [propget, id(DISPID_IHTMLTABLE_RULES)]
14481     HRESULT rules([retval, out] BSTR *p);
14482
14483     [propput, id(DISPID_IHTMLTABLE_CELLSPACING)]
14484     HRESULT cellSpacing([in] VARIANT v);
14485
14486     [propget, id(DISPID_IHTMLTABLE_CELLSPACING)]
14487     HRESULT cellSpacing([retval, out] VARIANT *p);
14488
14489     [propput, id(DISPID_IHTMLTABLE_CELLPADDING)]
14490     HRESULT cellPadding([in] VARIANT v);
14491
14492     [propget, id(DISPID_IHTMLTABLE_CELLPADDING)]
14493     HRESULT cellPadding([retval, out] VARIANT *p);
14494
14495     [propput, id(DISPID_IHTMLTABLE_BACKGROUND)]
14496     HRESULT background([in] BSTR v);
14497
14498     [propget, id(DISPID_IHTMLTABLE_BACKGROUND)]
14499     HRESULT background([retval, out] BSTR *p);
14500
14501     [propput, id(DISPID_IHTMLTABLE_BGCOLOR)]
14502     HRESULT bgColor([in] VARIANT v);
14503
14504     [propget, id(DISPID_IHTMLTABLE_BGCOLOR)]
14505     HRESULT bgColor([retval, out] VARIANT *p);
14506
14507     [propput, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
14508     HRESULT borderColor([in] VARIANT v);
14509
14510     [propget, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
14511     HRESULT borderColor([retval, out] VARIANT *p);
14512
14513     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
14514     HRESULT borderColorLight([in] VARIANT v);
14515
14516     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
14517     HRESULT borderColorLight([retval, out] VARIANT *p);
14518
14519     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
14520     HRESULT borderColorDark([in] VARIANT v);
14521
14522     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
14523     HRESULT borderColorDark([retval, out] VARIANT *p);
14524
14525     [propput, id(DISPID_IHTMLTABLE_ALIGN)]
14526     HRESULT align([in] BSTR v);
14527
14528     [propget, id(DISPID_IHTMLTABLE_ALIGN)]
14529     HRESULT align([retval, out] BSTR * p);
14530
14531     [id(DISPID_IHTMLTABLE_REFRESH)]
14532     HRESULT refresh();
14533
14534     [propget, id(DISPID_IHTMLTABLE_ROWS)]
14535     HRESULT rows([retval, out] IHTMLElementCollection **p);
14536
14537     [propput, id(DISPID_IHTMLTABLE_WIDTH)]
14538     HRESULT width([in] VARIANT v);
14539
14540     [propget, id(DISPID_IHTMLTABLE_WIDTH)]
14541     HRESULT width([retval, out] VARIANT *p);
14542
14543     [propput, id(DISPID_IHTMLTABLE_HEIGHT)]
14544     HRESULT height([in] VARIANT v);
14545
14546     [propget, id(DISPID_IHTMLTABLE_HEIGHT)]
14547     HRESULT height([retval, out] VARIANT *p);
14548
14549     [propput, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
14550     HRESULT dataPageSize([in] long v);
14551
14552     [propget, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
14553     HRESULT dataPageSize([retval, out] long *p);
14554
14555     [id(DISPID_IHTMLTABLE_NEXTPAGE)]
14556     HRESULT nextPage();
14557
14558     [id(DISPID_IHTMLTABLE_PREVIOUSPAGE)]
14559     HRESULT previousPage();
14560
14561     [propget, id(DISPID_IHTMLTABLE_THEAD)]
14562     HRESULT tHead([retval, out] IHTMLTableSection **p);
14563
14564     [propget, id(DISPID_IHTMLTABLE_TFOOT)]
14565     HRESULT tFoot([retval, out] IHTMLTableSection **p);
14566
14567     [propget, id(DISPID_IHTMLTABLE_TBODIES)]
14568     HRESULT tBodies([retval, out] IHTMLElementCollection **p);
14569
14570     [propget, id(DISPID_IHTMLTABLE_CAPTION)]
14571     HRESULT caption([retval, out] IHTMLTableCaption **p);
14572
14573     [id(DISPID_IHTMLTABLE_CREATETHEAD)]
14574     HRESULT createTHead([retval, out] IDispatch **head);
14575
14576     [id(DISPID_IHTMLTABLE_DELETETHEAD)]
14577     HRESULT deleteTHead();
14578
14579     [id(DISPID_IHTMLTABLE_CREATETFOOT)]
14580     HRESULT createTFoot([retval, out] IDispatch **foot);
14581
14582     [id(DISPID_IHTMLTABLE_DELETETFOOT)]
14583     HRESULT deleteTFoot();
14584
14585     [id(DISPID_IHTMLTABLE_CREATECAPTION)]
14586     HRESULT createCaption([retval, out] IHTMLTableCaption **caption);
14587
14588     [id(DISPID_IHTMLTABLE_DELETECAPTION)]
14589     HRESULT deleteCaption();
14590
14591     [id(DISPID_IHTMLTABLE_INSERTROW)]
14592     HRESULT insertRow(
14593             [defaultvalue(-1), in] long index,
14594             [retval, out] IDispatch **row);
14595
14596     [id(DISPID_IHTMLTABLE_DELETEROW)]
14597     HRESULT deleteRow([defaultvalue(-1), in] long index);
14598
14599     [propget, id(DISPID_IHTMLTABLE_READYSTATE)]
14600     HRESULT readyState([retval, out] BSTR *p);
14601
14602     [propput, id(DISPID_IHTMLTABLE_ONREADYSTATECHANGE), displaybind, bindable]
14603     HRESULT onreadystatechange([in] VARIANT v);
14604
14605     [propget, id(DISPID_IHTMLTABLE_ONREADYSTATECHANGE), displaybind, bindable]
14606     HRESULT onreadystatechange([retval, out] VARIANT *p);
14607 }
14608
14609 [
14610     odl,
14611     oleautomation,
14612     dual,
14613     uuid(3050f23b-98b5-11cf-bb82-00aa00bdce0b)
14614 ]
14615 interface IHTMLTableSection : IDispatch
14616 {
14617     [propput, id(DISPID_IHTMLTABLESECTION_ALIGN)]
14618     HRESULT align([in] BSTR v);
14619
14620     [propget, id(DISPID_IHTMLTABLESECTION_ALIGN)]
14621     HRESULT align([retval, out] BSTR *p);
14622
14623     [propput, id(DISPID_IHTMLTABLESECTION_VALIGN)]
14624     HRESULT vAlign([in] BSTR v);
14625
14626     [propget, id(DISPID_IHTMLTABLESECTION_VALIGN)]
14627     HRESULT vAlign([retval, out] BSTR *p);
14628
14629     [propput, id(DISPID_IHTMLTABLESECTION_BGCOLOR)]
14630     HRESULT bgColor([in] VARIANT v);
14631
14632     [propget, id(DISPID_IHTMLTABLESECTION_BGCOLOR)]
14633     HRESULT bgColor([retval, out] VARIANT *p);
14634
14635     [propget, id(DISPID_IHTMLTABLESECTION_ROWS)]
14636     HRESULT rows([retval, out] IHTMLElementCollection **p);
14637
14638     [id(DISPID_IHTMLTABLESECTION_INSERTROW)]
14639     HRESULT insertRow(
14640             [defaultvalue(-1), in] long index,
14641             [retval, out] IDispatch **row);
14642
14643     [id(DISPID_IHTMLTABLESECTION_DELETEROW)]
14644     HRESULT deleteRow([defaultvalue(-1), in] long index);
14645 }
14646
14647 /*****************************************************************************
14648  *    IHTMLScriptElement interface
14649  */
14650 [
14651     odl,
14652     oleautomation,
14653     dual,
14654     uuid(3050f28b-98b5-11cf-bb82-00aa00bdce0b)
14655 ]
14656 interface IHTMLScriptElement : IDispatch
14657 {
14658     [propput, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
14659     HRESULT src([in] BSTR v);
14660
14661     [propget, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
14662     HRESULT src([retval, out] BSTR *p);
14663
14664     [propput, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
14665     HRESULT htmlFor([in] BSTR v);
14666
14667     [propget, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
14668     HRESULT htmlFor([retval, out] BSTR *p);
14669
14670     [propput, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
14671     HRESULT event([in] BSTR v);
14672
14673     [propget, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
14674     HRESULT event([retval, out] BSTR *p);
14675
14676     [propput, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
14677     HRESULT text([in] BSTR v);
14678
14679     [propget, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
14680     HRESULT text([retval, out] BSTR *p);
14681
14682     [propput, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
14683     HRESULT defer([in] VARIANT_BOOL v);
14684
14685     [propget, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
14686     HRESULT defer([retval, out] VARIANT_BOOL *p);
14687
14688     [propget, id(DISPID_IHTMLSCRIPTELEMENT_READYSTATE)]
14689     HRESULT readyState([retval, out] BSTR *p);
14690
14691     [propput, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
14692     HRESULT onerror([in] VARIANT v);
14693
14694     [propget, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
14695     HRESULT onerror([retval, out] VARIANT *p);
14696
14697     [propput, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
14698     HRESULT type([in] BSTR v);
14699
14700     [propget, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
14701     HRESULT type([retval, out] BSTR *p);
14702 }
14703
14704 /*****************************************************************************
14705  *    IHTMLScriptElement2 interface
14706  */
14707 [
14708     odl,
14709     oleautomation,
14710     dual,
14711     uuid(3050f828-98b5-11cf-bb82-00aa00bdce0b)
14712 ]
14713 interface IHTMLScriptElement2 : IDispatch
14714 {
14715     [propput, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
14716     HRESULT charset([in] BSTR v);
14717
14718     [propget, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
14719     HRESULT charset([retval, out] BSTR *p);
14720 }
14721
14722 /*****************************************************************************
14723  *    IHTMLFrameBase interface
14724  */
14725 [
14726     odl,
14727     oleautomation,
14728     dual,
14729     uuid(3050f311-98b5-11cf-bb82-00aa00bdce0b)
14730 ]
14731 interface IHTMLFrameBase : IDispatch
14732 {
14733     [propput, id(DISPID_IHTMLFRAMEBASE_SRC)]
14734     HRESULT src([in] BSTR v);
14735
14736     [propget, id(DISPID_IHTMLFRAMEBASE_SRC)]
14737     HRESULT src([out, retval] BSTR *p);
14738
14739     [propput, id(DISPID_IHTMLFRAMEBASE_NAME)]
14740     HRESULT name([in] BSTR v);
14741
14742     [propget, id(DISPID_IHTMLFRAMEBASE_NAME)]
14743     HRESULT name([out, retval] BSTR *p);
14744
14745     [propput, id(DISPID_IHTMLFRAMEBASE_BORDER)]
14746     HRESULT border([in] VARIANT v);
14747
14748     [propget, id(DISPID_IHTMLFRAMEBASE_BORDER)]
14749     HRESULT border([out, retval] VARIANT *p);
14750
14751     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
14752     HRESULT frameBorder([in] BSTR v);
14753
14754     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
14755     HRESULT frameBorder([out, retval] BSTR *p);
14756
14757     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
14758     HRESULT frameSpacing([in] VARIANT v);
14759
14760     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
14761     HRESULT frameSpacing([out, retval] VARIANT *p);
14762
14763     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
14764     HRESULT marginWidth([in] VARIANT v);
14765
14766     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
14767     HRESULT marginWidth([out, retval] VARIANT *p);
14768
14769     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
14770     HRESULT marginHeight([in] VARIANT v);
14771
14772     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
14773     HRESULT marginHeight([out, retval] VARIANT *p);
14774
14775     [propput, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
14776     HRESULT noResize([in] VARIANT_BOOL v);
14777
14778     [propget, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
14779     HRESULT noResize([out, retval] VARIANT_BOOL *p);
14780
14781     [propput, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
14782     HRESULT scrolling([in] BSTR v);
14783
14784     [propget, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
14785     HRESULT scrolling([out, retval] BSTR *p);
14786 }
14787
14788 /*****************************************************************************
14789  *    IHTMLFrameBase2 interface
14790  */
14791 [
14792     odl,
14793     oleautomation,
14794     dual,
14795     uuid(3050f6db-98b5-11cf-bb82-00aa00bdce0b)
14796 ]
14797 interface IHTMLFrameBase2 : IDispatch
14798 {
14799     [propget, id(DISPID_IHTMLFRAMEBASE2_CONTENTWINDOW)]
14800     HRESULT contentWindow([retval, out] IHTMLWindow2 **p);
14801
14802     [propput, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
14803     HRESULT onload([in] VARIANT v);
14804
14805     [propget, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
14806     HRESULT onload([retval, out] VARIANT *p);
14807
14808     [propput, id(DISPID_IHTMLFRAMEBASE2_ONREADYSTATECHANGE), displaybind, bindable]
14809     HRESULT onreadystatechange([in] VARIANT v);
14810
14811     [propget, id(DISPID_IHTMLFRAMEBASE2_ONREADYSTATECHANGE), displaybind, bindable]
14812     HRESULT onreadystatechange([retval, out] VARIANT *p);
14813
14814     [propget, id(DISPID_IHTMLFRAMEBASE2_READYSTATE)]
14815     HRESULT readyState([retval, out] BSTR *p);
14816
14817     [propput, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
14818     HRESULT allowTransparency([in] VARIANT_BOOL v);
14819
14820     [propget, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
14821     HRESULT allowTransparency([retval, out] VARIANT_BOOL *p);
14822 }
14823
14824 } /* library MSHTML */