d3dx8: Implement D3DXMatrixTransformation2D.
[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  *    IHTMLStyle2 interface
632  */
633 [
634     odl,
635     oleautomation,
636     dual,
637     uuid(3050f4a2-98b5-11cf-bb82-00aa00bdce0b)
638 ]
639 interface IHTMLStyle2 : IDispatch
640 {
641     [propput, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable]
642     HRESULT tableLayout([in] BSTR v);
643
644     [propget, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable]
645     HRESULT tableLayout([out, retval] BSTR *p);
646
647     [propput, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable]
648     HRESULT borderCollapse([in] BSTR v);
649
650     [propget, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable]
651     HRESULT borderCollapse([out, retval] BSTR *p);
652
653     [propput, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable]
654     HRESULT direction([in] BSTR v);
655
656     [propget, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable]
657     HRESULT direction([out, retval] BSTR *p);
658
659     [propput, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable]
660     HRESULT behavior([in] BSTR v);
661
662     [propget, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable]
663     HRESULT behavior([out, retval] BSTR *p);
664
665     [id(DISPID_IHTMLSTYLE2_SETEXPRESSION)]
666     HRESULT setExpression(
667             [in] BSTR propname,
668             [in] BSTR expression,
669             [in, defaultvalue("")] BSTR language);
670
671     [id(DISPID_IHTMLSTYLE2_GETEXPRESSION)]
672     HRESULT getExpression(
673             [in] BSTR propname,
674             [out, retval] VARIANT *expression);
675
676     [id(DISPID_IHTMLSTYLE2_REMOVEEXPRESSION)]
677     HRESULT removeExpression(
678             [in] BSTR propname,
679             [out, retval] VARIANT_BOOL *pfSuccess);
680
681     [propput, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable]
682     HRESULT position([in] BSTR v);
683
684     [propget, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable]
685     HRESULT position([out, retval] BSTR *p);
686
687     [propput, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable]
688     HRESULT unicodeBidi([in] BSTR v);
689
690     [propget, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable]
691     HRESULT unicodeBidi([out, retval] BSTR *p);
692
693     [propput, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable]
694     HRESULT bottom([in] VARIANT v);
695
696     [propget, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable]
697     HRESULT bottom([out, retval] VARIANT *p);
698
699     [propput, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable]
700     HRESULT right([in] VARIANT v);
701
702     [propget, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable]
703     HRESULT right([out, retval] VARIANT *p);
704
705     [propput, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden]
706     HRESULT pixelBottom([in] long v);
707
708     [propget, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden]
709     HRESULT pixelBottom([out, retval] long *p);
710
711     [propput, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden]
712     HRESULT pixelRight([in] long v);
713
714     [propget, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden]
715     HRESULT pixelRight([out, retval] long *p);
716
717     [propput, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable]
718     HRESULT posBottom([in] float v);
719
720     [propget, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable]
721     HRESULT posBottom([out, retval] float *p);
722
723     [propput, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable]
724     HRESULT posRight([in] float v);
725
726     [propget, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable]
727     HRESULT posRight([out, retval] float *p);
728
729     [propput, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable]
730     HRESULT imeMode([in] BSTR v);
731
732     [propget, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable]
733     HRESULT imeMode([out, retval] BSTR *p);
734
735     [propput, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable]
736     HRESULT rubyAlign([in] BSTR v);
737
738     [propget, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable]
739     HRESULT rubyAlign([out, retval] BSTR *p);
740
741     [propput, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable]
742     HRESULT rubyPosition([in] BSTR v);
743
744     [propget, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable]
745     HRESULT rubyPosition([out, retval] BSTR *p);
746
747     [propput, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable]
748     HRESULT rubyOverhang([in] BSTR v);
749
750     [propget, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable]
751     HRESULT rubyOverhang([out, retval] BSTR *p);
752
753     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable]
754     HRESULT layoutGridChar([in] VARIANT v);
755
756     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable]
757     HRESULT layoutGridChar([out, retval] VARIANT *p);
758
759     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable]
760     HRESULT layoutGridLine([in] VARIANT v);
761
762     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable]
763     HRESULT layoutGridLine([out, retval] VARIANT *p);
764
765     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable]
766     HRESULT layoutGridMode([in] BSTR v);
767
768     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable]
769     HRESULT layoutGridMode([out, retval] BSTR *p);
770
771     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable]
772     HRESULT layoutGridType([in] BSTR v);
773
774     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable]
775     HRESULT layoutGridType([out, retval] BSTR *p);
776
777     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable]
778     HRESULT layoutGrid([in] BSTR v);
779
780     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable]
781     HRESULT layoutGrid([out, retval] BSTR *p);
782
783     [propput, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable]
784     HRESULT wordBreak([in] BSTR v);
785
786     [propget, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable]
787     HRESULT wordBreak([out, retval] BSTR *p);
788
789     [propput, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable]
790     HRESULT lineBreak([in] BSTR v);
791
792     [propget, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable]
793     HRESULT lineBreak([out, retval] BSTR *p);
794
795     [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable]
796     HRESULT textJustify([in] BSTR v);
797
798     [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable]
799     HRESULT textJustify([out, retval] BSTR *p);
800
801     [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable]
802     HRESULT textJustifyTrim([in] BSTR v);
803
804     [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable]
805     HRESULT textJustifyTrim([out, retval] BSTR *p);
806
807     [propput, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable]
808     HRESULT textKashida([in] VARIANT v);
809
810     [propget, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable]
811     HRESULT textKashida([out, retval] VARIANT *p);
812
813     [propput, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable]
814     HRESULT textAutospace([in] BSTR v);
815
816     [propget, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable]
817     HRESULT textAutospace([out, retval] BSTR *p);
818
819     [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable]
820     HRESULT overflowX([in] BSTR v);
821
822     [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable]
823     HRESULT overflowX([out, retval] BSTR *p);
824
825     [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable]
826     HRESULT overflowY([in] BSTR v);
827
828     [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable]
829     HRESULT overflowY([out, retval] BSTR *p);
830
831     [propput, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable]
832     HRESULT accelerator([in] BSTR v);
833
834     [propget, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable]
835     HRESULT accelerator([out, retval] BSTR *p);
836 }
837
838 /*****************************************************************************
839  *    IHTMLRuleStyle interface
840  */
841 [
842         odl,
843         oleautomation,
844         dual,
845         uuid(3050F3CF-98B5-11CF-BB82-00AA00BDCE0B)
846 ]
847 interface IHTMLRuleStyle : IDispatch
848 {
849     [propput, id(DISPID_IHTMLRULESTYLE_FONTFAMILY), bindable, displaybind]
850     HRESULT fontFamily([in] BSTR v);
851
852     [propget, id(DISPID_IHTMLRULESTYLE_FONTFAMILY), bindable, displaybind]
853     HRESULT fontFamily([retval, out] BSTR *p);
854
855     [propput, id(DISPID_IHTMLRULESTYLE_FONTSTYLE), bindable, displaybind]
856     HRESULT fontStyle([in] BSTR v);
857
858     [propget, id(DISPID_IHTMLRULESTYLE_FONTSTYLE), bindable, displaybind]
859     HRESULT fontStyle([retval, out] BSTR *p);
860
861     [propput, id(DISPID_IHTMLRULESTYLE_FONTVARIANT), bindable, displaybind]
862     HRESULT fontVariant([in] BSTR v);
863
864     [propget, id(DISPID_IHTMLRULESTYLE_FONTVARIANT), bindable, displaybind]
865     HRESULT fontVariant([retval, out] BSTR *p);
866
867     [propput, id(DISPID_IHTMLRULESTYLE_FONTWEIGHT), bindable, displaybind]
868     HRESULT fontWeight([in] BSTR v);
869
870     [propget, id(DISPID_IHTMLRULESTYLE_FONTWEIGHT), bindable, displaybind]
871     HRESULT fontWeight([retval, out] BSTR *p);
872
873     [propput, id(DISPID_IHTMLRULESTYLE_FONTSIZE), bindable, displaybind]
874     HRESULT fontSize([in] VARIANT v);
875
876     [propget, id(DISPID_IHTMLRULESTYLE_FONTSIZE), bindable, displaybind]
877     HRESULT fontSize([retval, out] VARIANT *p);
878
879     [propput, id(DISPID_IHTMLRULESTYLE_FONT), bindable, displaybind]
880     HRESULT font([in] BSTR v);
881
882     [propget, id(DISPID_IHTMLRULESTYLE_FONT), bindable, displaybind]
883     HRESULT font([retval, out] BSTR *p);
884
885     [propput, id(DISPID_IHTMLRULESTYLE_COLOR), bindable, displaybind]
886     HRESULT color([in] VARIANT v);
887
888     [propget, id(DISPID_IHTMLRULESTYLE_COLOR), bindable, displaybind]
889     HRESULT color([retval, out] VARIANT *p);
890
891     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUND), bindable, displaybind]
892     HRESULT background([in] BSTR v);
893
894     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUND), bindable, displaybind]
895     HRESULT background([retval, out] BSTR *p);
896
897     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDCOLOR), bindable, displaybind]
898     HRESULT backgroundColor([in] VARIANT v);
899
900     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDCOLOR), bindable, displaybind]
901     HRESULT backgroundColor([retval, out] VARIANT *p);
902
903     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDIMAGE), bindable, displaybind]
904     HRESULT backgroundImage([in] BSTR v);
905
906     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDIMAGE), bindable, displaybind]
907     HRESULT backgroundImage([retval, out] BSTR *p);
908
909     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDREPEAT), bindable, displaybind]
910     HRESULT backgroundRepeat([in] BSTR v);
911
912     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDREPEAT), bindable, displaybind]
913     HRESULT backgroundRepeat([retval, out] BSTR *p);
914
915     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
916     HRESULT backgroundAttachment([in] BSTR v);
917
918     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
919     HRESULT backgroundAttachment([retval, out] BSTR *p);
920
921     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITION), bindable, displaybind]
922     HRESULT backgroundPosition([in] BSTR v);
923
924     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITION), bindable, displaybind]
925     HRESULT backgroundPosition([retval, out] BSTR *p);
926
927     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
928     HRESULT backgroundPositionX([in] VARIANT v);
929
930     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
931     HRESULT backgroundPositionX([retval, out] VARIANT *p);
932
933     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
934     HRESULT backgroundPositionY([in] VARIANT v);
935
936     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
937     HRESULT backgroundPositionY([retval, out] VARIANT *p);
938
939     [propput, id(DISPID_IHTMLRULESTYLE_WORDSPACING), bindable, displaybind]
940     HRESULT wordSpacing([in] VARIANT v);
941
942     [propget, id(DISPID_IHTMLRULESTYLE_WORDSPACING), bindable, displaybind]
943     HRESULT wordSpacing([retval, out] VARIANT *p);
944
945     [propput, id(DISPID_IHTMLRULESTYLE_LETTERSPACING), bindable, displaybind]
946     HRESULT letterSpacing([in] VARIANT v);
947
948     [propget, id(DISPID_IHTMLRULESTYLE_LETTERSPACING), bindable, displaybind]
949     HRESULT letterSpacing([retval, out] VARIANT *p);
950
951     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATION), bindable, displaybind]
952     HRESULT textDecoration([in] BSTR v);
953
954     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATION), bindable, displaybind]
955     HRESULT textDecoration([retval, out] BSTR *p);
956
957     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONNONE), bindable, displaybind]
958     HRESULT textDecorationNone([in] VARIANT_BOOL v);
959
960     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONNONE), bindable, displaybind]
961     HRESULT textDecorationNone([retval, out] VARIANT_BOOL *p);
962
963     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
964     HRESULT textDecorationUnderline([in] VARIANT_BOOL v);
965
966     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
967     HRESULT textDecorationUnderline([retval, out] VARIANT_BOOL *p);
968
969     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
970     HRESULT textDecorationOverline([in] VARIANT_BOOL v);
971
972     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
973     HRESULT textDecorationOverline([retval, out] VARIANT_BOOL *p);
974
975     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
976     HRESULT textDecorationLineThrough([in] VARIANT_BOOL v);
977
978     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
979     HRESULT textDecorationLineThrough([retval, out] VARIANT_BOOL *p);
980
981     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
982     HRESULT textDecorationBlink([in] VARIANT_BOOL v);
983
984     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
985     HRESULT textDecorationBlink([retval, out] VARIANT_BOOL *p);
986
987     [propput, id(DISPID_IHTMLRULESTYLE_VERTICALALIGN), bindable, displaybind]
988     HRESULT verticalAlign([in] VARIANT v);
989
990     [propget, id(DISPID_IHTMLRULESTYLE_VERTICALALIGN), bindable, displaybind]
991     HRESULT verticalAlign([retval, out] VARIANT *p);
992
993     [propput, id(DISPID_IHTMLRULESTYLE_TEXTTRANSFORM), bindable, displaybind]
994     HRESULT textTransform([in] BSTR v);
995
996     [propget, id(DISPID_IHTMLRULESTYLE_TEXTTRANSFORM), bindable, displaybind]
997     HRESULT textTransform([retval, out] BSTR *p);
998
999     [propput, id(DISPID_IHTMLRULESTYLE_TEXTALIGN), bindable, displaybind]
1000     HRESULT textAlign([in] BSTR v);
1001
1002     [propget, id(DISPID_IHTMLRULESTYLE_TEXTALIGN), bindable, displaybind]
1003     HRESULT textAlign([retval, out] BSTR *p);
1004
1005     [propput, id(DISPID_IHTMLRULESTYLE_TEXTINDENT), bindable, displaybind]
1006     HRESULT textIndent([in] VARIANT v);
1007
1008     [propget, id(DISPID_IHTMLRULESTYLE_TEXTINDENT), bindable, displaybind]
1009     HRESULT textIndent([retval, out] VARIANT *p);
1010
1011     [propput, id(DISPID_IHTMLRULESTYLE_LINEHEIGHT), bindable, displaybind]
1012     HRESULT lineHeight([in] VARIANT v);
1013
1014     [propget, id(DISPID_IHTMLRULESTYLE_LINEHEIGHT), bindable, displaybind]
1015     HRESULT lineHeight([retval, out] VARIANT *p);
1016
1017     [propput, id(DISPID_IHTMLRULESTYLE_MARGINTOP), bindable, displaybind]
1018     HRESULT marginTop([in] VARIANT v);
1019
1020     [propget, id(DISPID_IHTMLRULESTYLE_MARGINTOP), bindable, displaybind]
1021     HRESULT marginTop([retval, out] VARIANT *p);
1022
1023     [propput, id(DISPID_IHTMLRULESTYLE_MARGINRIGHT), bindable, displaybind]
1024     HRESULT marginRight([in] VARIANT v);
1025
1026     [propget, id(DISPID_IHTMLRULESTYLE_MARGINRIGHT), bindable, displaybind]
1027     HRESULT marginRight([retval, out] VARIANT *p);
1028
1029     [propput, id(DISPID_IHTMLRULESTYLE_MARGINBOTTOM), bindable, displaybind]
1030     HRESULT marginBottom([in] VARIANT v);
1031
1032     [propget, id(DISPID_IHTMLRULESTYLE_MARGINBOTTOM), bindable, displaybind]
1033     HRESULT marginBottom([retval, out] VARIANT *p);
1034
1035     [propput, id(DISPID_IHTMLRULESTYLE_MARGINLEFT), bindable, displaybind]
1036     HRESULT marginLeft([in] VARIANT v);
1037
1038     [propget, id(DISPID_IHTMLRULESTYLE_MARGINLEFT), bindable, displaybind]
1039     HRESULT marginLeft([retval, out] VARIANT *p);
1040
1041     [propput, id(DISPID_IHTMLRULESTYLE_MARGIN), bindable, displaybind]
1042     HRESULT margin([in] BSTR v);
1043
1044     [propget, id(DISPID_IHTMLRULESTYLE_MARGIN), bindable, displaybind]
1045     HRESULT margin([retval, out] BSTR *p);
1046
1047     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGTOP), bindable, displaybind]
1048     HRESULT paddingTop([in] VARIANT v);
1049
1050     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGTOP), bindable, displaybind]
1051     HRESULT paddingTop([retval, out] VARIANT *p);
1052
1053     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGRIGHT), bindable, displaybind]
1054     HRESULT paddingRight([in] VARIANT v);
1055
1056     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGRIGHT), bindable, displaybind]
1057     HRESULT paddingRight([retval, out] VARIANT *p);
1058
1059     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGBOTTOM), bindable, displaybind]
1060     HRESULT paddingBottom([in] VARIANT v);
1061
1062     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGBOTTOM), bindable, displaybind]
1063     HRESULT paddingBottom([retval, out] VARIANT *p);
1064
1065     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGLEFT), bindable, displaybind]
1066     HRESULT paddingLeft([in] VARIANT v);
1067
1068     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGLEFT), bindable, displaybind]
1069     HRESULT paddingLeft([retval, out] VARIANT *p);
1070
1071     [propput, id(DISPID_IHTMLRULESTYLE_PADDING), bindable, displaybind]
1072     HRESULT padding([in] BSTR v);
1073
1074     [propget, id(DISPID_IHTMLRULESTYLE_PADDING), bindable, displaybind]
1075     HRESULT padding([retval, out] BSTR *p);
1076
1077     [propput, id(DISPID_IHTMLRULESTYLE_BORDER), bindable, displaybind]
1078     HRESULT border([in] BSTR v);
1079
1080     [propget, id(DISPID_IHTMLRULESTYLE_BORDER), bindable, displaybind]
1081     HRESULT border([retval, out] BSTR *p);
1082
1083     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOP), bindable, displaybind]
1084     HRESULT borderTop([in] BSTR v);
1085
1086     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOP), bindable, displaybind]
1087     HRESULT borderTop([retval, out] BSTR *p);
1088
1089     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHT), bindable, displaybind]
1090     HRESULT borderRight([in] BSTR v);
1091
1092     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHT), bindable, displaybind]
1093     HRESULT borderRight([retval, out] BSTR *p);
1094
1095     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOM), bindable, displaybind]
1096     HRESULT borderBottom([in] BSTR v);
1097
1098     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOM), bindable, displaybind]
1099     HRESULT borderBottom([retval, out] BSTR *p);
1100
1101     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFT), bindable, displaybind]
1102     HRESULT borderLeft([in] BSTR v);
1103
1104     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFT), bindable, displaybind]
1105     HRESULT borderLeft([retval, out] BSTR *p);
1106
1107     [propput, id(DISPID_IHTMLRULESTYLE_BORDERCOLOR), bindable, displaybind]
1108     HRESULT borderColor([in] BSTR v);
1109
1110     [propget, id(DISPID_IHTMLRULESTYLE_BORDERCOLOR), bindable, displaybind]
1111     HRESULT borderColor([retval, out] BSTR *p);
1112
1113     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOPCOLOR), bindable, displaybind]
1114     HRESULT borderTopColor([in] VARIANT v);
1115
1116     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOPCOLOR), bindable, displaybind]
1117     HRESULT borderTopColor([retval, out] VARIANT *p);
1118
1119     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
1120     HRESULT borderRightColor([in] VARIANT v);
1121
1122     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
1123     HRESULT borderRightColor([retval, out] VARIANT *p);
1124
1125     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
1126     HRESULT borderBottomColor([in] VARIANT v);
1127
1128     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
1129     HRESULT borderBottomColor([retval, out] VARIANT *p);
1130
1131     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFTCOLOR), bindable, displaybind]
1132     HRESULT borderLeftColor([in] VARIANT v);
1133
1134     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFTCOLOR), bindable, displaybind]
1135     HRESULT borderLeftColor([retval, out] VARIANT *p);
1136
1137     [propput, id(DISPID_IHTMLRULESTYLE_BORDERWIDTH), bindable, displaybind]
1138     HRESULT borderWidth([in] BSTR v);
1139
1140     [propget, id(DISPID_IHTMLRULESTYLE_BORDERWIDTH), bindable, displaybind]
1141     HRESULT borderWidth([retval, out] BSTR *p);
1142
1143     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOPWIDTH), bindable, displaybind]
1144     HRESULT borderTopWidth([in] VARIANT v);
1145
1146     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOPWIDTH), bindable, displaybind]
1147     HRESULT borderTopWidth([retval, out] VARIANT *p);
1148
1149     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
1150     HRESULT borderRightWidth([in] VARIANT v);
1151
1152     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
1153     HRESULT borderRightWidth([retval, out] VARIANT *p);
1154
1155     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
1156     HRESULT borderBottomWidth([in] VARIANT v);
1157
1158     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
1159     HRESULT borderBottomWidth([retval, out] VARIANT *p);
1160
1161     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFTWIDTH), bindable, displaybind]
1162     HRESULT borderLeftWidth([in] VARIANT v);
1163
1164     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFTWIDTH), bindable, displaybind]
1165     HRESULT borderLeftWidth([retval, out] VARIANT *p);
1166
1167     [propput, id(DISPID_IHTMLRULESTYLE_BORDERSTYLE), bindable, displaybind]
1168     HRESULT borderStyle([in] BSTR v);
1169
1170     [propget, id(DISPID_IHTMLRULESTYLE_BORDERSTYLE), bindable, displaybind]
1171     HRESULT borderStyle([retval, out] BSTR *p);
1172
1173     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOPSTYLE), bindable, displaybind]
1174     HRESULT borderTopStyle([in] BSTR v);
1175
1176     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOPSTYLE), bindable, displaybind]
1177     HRESULT borderTopStyle([retval, out] BSTR *p);
1178
1179     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
1180     HRESULT borderRightStyle([in] BSTR v);
1181
1182     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
1183     HRESULT borderRightStyle([retval, out] BSTR *p);
1184
1185     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
1186     HRESULT borderBottomStyle([in] BSTR v);
1187
1188     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
1189     HRESULT borderBottomStyle([retval, out] BSTR *p);
1190
1191     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFTSTYLE), bindable, displaybind]
1192     HRESULT borderLeftStyle([in] BSTR v);
1193
1194     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFTSTYLE), bindable, displaybind]
1195     HRESULT borderLeftStyle([retval, out] BSTR *p);
1196
1197     [propput, id(DISPID_IHTMLRULESTYLE_WIDTH), bindable, displaybind]
1198     HRESULT width([in] VARIANT v);
1199
1200     [propget, id(DISPID_IHTMLRULESTYLE_WIDTH), bindable, displaybind]
1201     HRESULT width([retval, out] VARIANT *p);
1202
1203     [propput, id(DISPID_IHTMLRULESTYLE_HEIGHT), bindable, displaybind]
1204     HRESULT height([in] VARIANT v);
1205
1206     [propget, id(DISPID_IHTMLRULESTYLE_HEIGHT), bindable, displaybind]
1207     HRESULT height([retval, out] VARIANT *p);
1208
1209     [propput, id(DISPID_IHTMLRULESTYLE_STYLEFLOAT), bindable, displaybind]
1210     HRESULT styleFloat([in] BSTR v);
1211
1212     [propget, id(DISPID_IHTMLRULESTYLE_STYLEFLOAT), bindable, displaybind]
1213     HRESULT styleFloat([retval, out] BSTR *p);
1214
1215     [propput, id(DISPID_IHTMLRULESTYLE_CLEAR), bindable, displaybind]
1216     HRESULT clear([in] BSTR v);
1217
1218     [propget, id(DISPID_IHTMLRULESTYLE_CLEAR), bindable, displaybind]
1219     HRESULT clear([retval, out] BSTR *p);
1220
1221     [propput, id(DISPID_IHTMLRULESTYLE_DISPLAY), bindable, displaybind]
1222     HRESULT display([in] BSTR v);
1223
1224     [propget, id(DISPID_IHTMLRULESTYLE_DISPLAY), bindable, displaybind]
1225     HRESULT display([retval, out] BSTR *p);
1226
1227     [propput, id(DISPID_IHTMLRULESTYLE_VISIBILITY), bindable, displaybind]
1228     HRESULT visibility([in] BSTR v);
1229
1230     [propget, id(DISPID_IHTMLRULESTYLE_VISIBILITY), bindable, displaybind]
1231     HRESULT visibility([retval, out] BSTR *p);
1232
1233     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLETYPE), bindable, displaybind]
1234     HRESULT listStyleType([in] BSTR v);
1235
1236     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLETYPE), bindable, displaybind]
1237     HRESULT listStyleType([retval, out] BSTR *p);
1238
1239     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLEPOSITION), bindable, displaybind]
1240     HRESULT listStylePosition([in] BSTR v);
1241
1242     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLEPOSITION), bindable, displaybind]
1243     HRESULT listStylePosition([retval, out] BSTR *p);
1244
1245     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLEIMAGE), bindable, displaybind]
1246     HRESULT listStyleImage([in] BSTR v);
1247
1248     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLEIMAGE), bindable, displaybind]
1249     HRESULT listStyleImage([retval, out] BSTR *p);
1250
1251     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLE), bindable, displaybind]
1252     HRESULT listStyle([in] BSTR v);
1253
1254     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLE), bindable, displaybind]
1255     HRESULT listStyle([retval, out] BSTR *p);
1256
1257     [propput, id(DISPID_IHTMLRULESTYLE_WHITESPACE), bindable, displaybind]
1258     HRESULT whiteSpace([in] BSTR v);
1259
1260     [propget, id(DISPID_IHTMLRULESTYLE_WHITESPACE), bindable, displaybind]
1261     HRESULT whiteSpace([retval, out] BSTR *p);
1262
1263     [propput, id(DISPID_IHTMLRULESTYLE_TOP), bindable, displaybind]
1264     HRESULT top([in] VARIANT v);
1265
1266     [propget, id(DISPID_IHTMLRULESTYLE_TOP), bindable, displaybind]
1267     HRESULT top([retval, out] VARIANT *p);
1268
1269     [propput, id(DISPID_IHTMLRULESTYLE_LEFT), bindable, displaybind]
1270     HRESULT left([in] VARIANT v);
1271
1272     [propget, id(DISPID_IHTMLRULESTYLE_LEFT), bindable, displaybind]
1273     HRESULT left([retval, out] VARIANT *p);
1274
1275     [propget, id(DISPID_IHTMLRULESTYLE_POSITION), bindable, displaybind]
1276     HRESULT position([retval, out] BSTR *p);
1277
1278     [propput, id(DISPID_IHTMLRULESTYLE_ZINDEX), bindable, displaybind]
1279     HRESULT zIndex([in] VARIANT v);
1280
1281     [propget, id(DISPID_IHTMLRULESTYLE_ZINDEX), bindable, displaybind]
1282     HRESULT zIndex([retval, out] VARIANT *p);
1283
1284     [propput, id(DISPID_IHTMLRULESTYLE_OVERFLOW), bindable, displaybind]
1285     HRESULT overflow([in] BSTR v);
1286
1287     [propget, id(DISPID_IHTMLRULESTYLE_OVERFLOW), bindable, displaybind]
1288     HRESULT overflow([retval, out] BSTR *p);
1289
1290     [propput, id(DISPID_IHTMLRULESTYLE_PAGEBREAKBEFORE), bindable, displaybind]
1291     HRESULT pageBreakBefore([in] BSTR v);
1292
1293     [propget, id(DISPID_IHTMLRULESTYLE_PAGEBREAKBEFORE), bindable, displaybind]
1294     HRESULT pageBreakBefore([retval, out] BSTR *p);
1295
1296     [propput, id(DISPID_IHTMLRULESTYLE_PAGEBREAKAFTER), bindable, displaybind]
1297     HRESULT pageBreakAfter([in] BSTR v);
1298
1299     [propget, id(DISPID_IHTMLRULESTYLE_PAGEBREAKAFTER), bindable, displaybind]
1300     HRESULT pageBreakAfter([retval, out] BSTR *p);
1301
1302     [propput, id(DISPID_IHTMLRULESTYLE_CSSTEXT), bindable, displaybind]
1303     HRESULT cssText([in] BSTR v);
1304
1305     [propget, id(DISPID_IHTMLRULESTYLE_CSSTEXT), bindable, displaybind]
1306     HRESULT cssText([retval, out] BSTR *p);
1307
1308     [propput, id(DISPID_IHTMLRULESTYLE_CURSOR), bindable, displaybind]
1309     HRESULT cursor([in] BSTR v);
1310
1311     [propget, id(DISPID_IHTMLRULESTYLE_CURSOR), bindable, displaybind]
1312     HRESULT cursor([retval, out] BSTR *p);
1313
1314     [propput, id(DISPID_IHTMLRULESTYLE_CLIP), bindable, displaybind]
1315     HRESULT clip([in] BSTR v);
1316
1317     [propget, id(DISPID_IHTMLRULESTYLE_CLIP), bindable, displaybind]
1318     HRESULT clip([retval, out] BSTR *p);
1319
1320     [propput, id(DISPID_IHTMLRULESTYLE_FILTER), bindable, displaybind]
1321     HRESULT filter([in] BSTR v);
1322
1323     [propget, id(DISPID_IHTMLRULESTYLE_FILTER), bindable, displaybind]
1324     HRESULT filter([retval, out] BSTR *p);
1325
1326     [id(DISPID_IHTMLRULESTYLE_SETATTRIBUTE)]
1327     HRESULT setAttribute(
1328         [in] BSTR strAttributeName,
1329         [in] VARIANT AttributeValue,
1330         [defaultvalue(1), in] LONG lFlags);
1331
1332     [id(DISPID_IHTMLRULESTYLE_GETATTRIBUTE)]
1333     HRESULT getAttribute(
1334         [in] BSTR strAttributeName,
1335         [defaultvalue(0), in] LONG lFlags,
1336         [retval, out] VARIANT *AttributeValue);
1337
1338     [id(DISPID_IHTMLRULESTYLE_REMOVEATTRIBUTE)]
1339     HRESULT removeAttribute(
1340         [in] BSTR strAttributeName,
1341         [defaultvalue(1), in] LONG lFlags,
1342         [retval, out] VARIANT_BOOL *pfSuccess);
1343 }
1344
1345 /*****************************************************************************
1346  *    DispHTMLStyle dispinterface
1347  */
1348 [
1349     hidden,
1350     uuid(3050f55a-98b5-11cf-bb82-00aa00bdce0b)
1351 ]
1352 dispinterface DispHTMLStyle
1353 {
1354 properties:
1355 methods:
1356     [propput, id(DISPID_IHTMLSTYLE_FONTFAMILY), displaybind, bindable]
1357     void fontFamily(BSTR v);
1358
1359     [propget, id(DISPID_IHTMLSTYLE_FONTFAMILY), displaybind, bindable]
1360     BSTR fontFamily();
1361
1362     [propput, id(DISPID_IHTMLSTYLE_FONTSTYLE), displaybind, bindable]
1363     void fontStyle(BSTR v);
1364
1365     [propget, id(DISPID_IHTMLSTYLE_FONTSTYLE), displaybind, bindable]
1366     BSTR fontStyle();
1367
1368     [propput, id(DISPID_IHTMLSTYLE_FONTVARIANT), displaybind, bindable]
1369     void fontVariant(BSTR v);
1370
1371     [propget, id(DISPID_IHTMLSTYLE_FONTVARIANT), displaybind, bindable]
1372     BSTR fontVariant();
1373
1374     [propput, id(DISPID_IHTMLSTYLE_FONTWEIGHT), displaybind, bindable]
1375     void fontWeight(BSTR v);
1376
1377     [propget, id(DISPID_IHTMLSTYLE_FONTWEIGHT), displaybind, bindable]
1378     BSTR fontWeight();
1379
1380     [propput, id(DISPID_IHTMLSTYLE_FONTSIZE), displaybind, bindable]
1381     void fontSize(VARIANT v);
1382
1383     [propget, id(DISPID_IHTMLSTYLE_FONTSIZE), displaybind, bindable]
1384     VARIANT fontSize();
1385
1386     [propput, id(DISPID_IHTMLSTYLE_FONT), displaybind, bindable, nonbrowsable]
1387     void font(BSTR v);
1388
1389     [propget, id(DISPID_IHTMLSTYLE_FONT), displaybind, bindable, nonbrowsable]
1390     BSTR font();
1391
1392     [propput, id(DISPID_IHTMLSTYLE_COLOR), displaybind, bindable]
1393     void color(VARIANT v);
1394
1395     [propget, id(DISPID_IHTMLSTYLE_COLOR), displaybind, bindable]
1396     VARIANT color();
1397
1398     [propput, id(DISPID_IHTMLSTYLE_BACKGROUND), displaybind, bindable, nonbrowsable]
1399     void background(BSTR v);
1400
1401     [propget, id(DISPID_IHTMLSTYLE_BACKGROUND), displaybind, bindable, nonbrowsable]
1402     BSTR background();
1403
1404     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
1405     void backgroundColor(VARIANT v);
1406
1407     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
1408     VARIANT backgroundColor();
1409
1410     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
1411     void backgroundImage(BSTR v);
1412
1413     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
1414     BSTR backgroundImage();
1415
1416     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
1417     void backgroundRepeat(BSTR v);
1418
1419     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
1420     BSTR backgroundRepeat();
1421
1422     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
1423     void backgroundAttachment(BSTR v);
1424
1425     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
1426     BSTR backgroundAttachment();
1427
1428     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), displaybind, bindable, nonbrowsable]
1429     void backgroundPosition(BSTR v);
1430
1431     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), displaybind, bindable, nonbrowsable]
1432     BSTR backgroundPosition();
1433
1434     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
1435     void backgroundPositionX(VARIANT v);
1436
1437     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
1438     VARIANT backgroundPositionX();
1439
1440     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
1441     void backgroundPositionY(VARIANT v);
1442
1443     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
1444     VARIANT backgroundPositionY();
1445
1446     [propput, id(DISPID_IHTMLSTYLE_WORDSPACING), displaybind, bindable]
1447     void wordSpacing(VARIANT v);
1448
1449     [propget, id(DISPID_IHTMLSTYLE_WORDSPACING), displaybind, bindable]
1450     VARIANT wordSpacing();
1451
1452     [propput, id(DISPID_IHTMLSTYLE_LETTERSPACING), displaybind, bindable]
1453     void letterSpacing(VARIANT v);
1454
1455     [propget, id(DISPID_IHTMLSTYLE_LETTERSPACING), displaybind, bindable]
1456     VARIANT letterSpacing();
1457
1458     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATION), displaybind, bindable]
1459     void textDecoration(BSTR v);
1460
1461     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATION), displaybind, bindable]
1462     BSTR textDecoration();
1463
1464     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), displaybind, bindable]
1465     void textDecorationNone(VARIANT_BOOL v);
1466
1467     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), displaybind, bindable]
1468     VARIANT_BOOL textDecorationNone();
1469
1470     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), displaybind, bindable]
1471     void textDecorationUnderline(VARIANT_BOOL v);
1472
1473     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), displaybind, bindable]
1474     VARIANT_BOOL textDecorationUnderline();
1475
1476     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), displaybind, bindable]
1477     void textDecorationOverline(VARIANT_BOOL v);
1478
1479     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), displaybind, bindable]
1480     VARIANT_BOOL textDecorationOverline();
1481
1482     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), displaybind, bindable]
1483     void textDecorationLineThrough(VARIANT_BOOL v);
1484
1485     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), displaybind, bindable]
1486     VARIANT_BOOL textDecorationLineThrough();
1487
1488     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), displaybind, bindable]
1489     void textDecorationBlink(VARIANT_BOOL v);
1490
1491     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), displaybind, bindable]
1492     VARIANT_BOOL textDecorationBlink();
1493
1494     [propput, id(DISPID_IHTMLSTYLE_VERTICALALIGN), displaybind, bindable]
1495     void verticalAlign(VARIANT v);
1496
1497     [propget, id(DISPID_IHTMLSTYLE_VERTICALALIGN), displaybind, bindable]
1498     VARIANT verticalAlign();
1499
1500     [propput, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), displaybind, bindable]
1501     void textTransform(BSTR v);
1502
1503     [propget, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), displaybind, bindable]
1504     BSTR textTransform();
1505
1506     [propput, id(DISPID_IHTMLSTYLE_TEXTALIGN), displaybind, bindable]
1507     void textAlign(BSTR v);
1508
1509     [propget, id(DISPID_IHTMLSTYLE_TEXTALIGN), displaybind, bindable]
1510     BSTR textAlign();
1511
1512     [propput, id(DISPID_IHTMLSTYLE_TEXTINDENT), displaybind, bindable]
1513     void textIndent(VARIANT v);
1514
1515     [propget, id(DISPID_IHTMLSTYLE_TEXTINDENT), displaybind, bindable]
1516     VARIANT textIndent();
1517
1518     [propput, id(DISPID_IHTMLSTYLE_LINEHEIGHT), displaybind, bindable]
1519     void lineHeight(VARIANT v);
1520
1521     [propget, id(DISPID_IHTMLSTYLE_LINEHEIGHT), displaybind, bindable]
1522     VARIANT lineHeight();
1523
1524     [propput, id(DISPID_IHTMLSTYLE_MARGINTOP), displaybind, bindable]
1525     void marginTop(VARIANT v);
1526
1527     [propget, id(DISPID_IHTMLSTYLE_MARGINTOP), displaybind, bindable]
1528     VARIANT marginTop();
1529
1530     [propput, id(DISPID_IHTMLSTYLE_MARGINRIGHT), displaybind, bindable]
1531     void marginRight(VARIANT v);
1532
1533     [propget, id(DISPID_IHTMLSTYLE_MARGINRIGHT), displaybind, bindable]
1534     VARIANT marginRight();
1535
1536     [propput, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), displaybind, bindable]
1537     void marginBottom(VARIANT v);
1538
1539     [propget, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), displaybind, bindable]
1540     VARIANT marginBottom();
1541
1542     [propput, id(DISPID_IHTMLSTYLE_MARGINLEFT), displaybind, bindable]
1543     void marginLeft(VARIANT v);
1544
1545     [propget, id(DISPID_IHTMLSTYLE_MARGINLEFT), displaybind, bindable]
1546     VARIANT marginLeft();
1547
1548     [propput, id(DISPID_IHTMLSTYLE_MARGIN), displaybind, bindable, nonbrowsable]
1549     void margin(BSTR v);
1550
1551     [propget, id(DISPID_IHTMLSTYLE_MARGIN), displaybind, bindable, nonbrowsable]
1552     BSTR margin();
1553
1554     [propput, id(DISPID_IHTMLSTYLE_PADDINGTOP), displaybind, bindable]
1555     void paddingTop(VARIANT v);
1556
1557     [propget, id(DISPID_IHTMLSTYLE_PADDINGTOP), displaybind, bindable]
1558     VARIANT paddingTop();
1559
1560     [propput, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), displaybind, bindable]
1561     void paddingRight(VARIANT v);
1562
1563     [propget, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), displaybind, bindable]
1564     VARIANT paddingRight();
1565
1566     [propput, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), displaybind, bindable]
1567     void paddingBottom(VARIANT v);
1568
1569     [propget, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), displaybind, bindable]
1570     VARIANT paddingBottom();
1571
1572     [propput, id(DISPID_IHTMLSTYLE_PADDINGLEFT), displaybind, bindable]
1573     void paddingLeft(VARIANT v);
1574
1575     [propget, id(DISPID_IHTMLSTYLE_PADDINGLEFT), displaybind, bindable]
1576     VARIANT paddingLeft();
1577
1578     [propput, id(DISPID_IHTMLSTYLE_PADDING), displaybind, bindable, nonbrowsable]
1579     void padding(BSTR v);
1580
1581     [propget, id(DISPID_IHTMLSTYLE_PADDING), displaybind, bindable, nonbrowsable]
1582     BSTR padding();
1583
1584     [propput, id(DISPID_IHTMLSTYLE_BORDER), displaybind, bindable, nonbrowsable]
1585     void border(BSTR v);
1586
1587     [propget, id(DISPID_IHTMLSTYLE_BORDER), displaybind, bindable, nonbrowsable]
1588     BSTR border();
1589
1590     [propput, id(DISPID_IHTMLSTYLE_BORDERTOP), displaybind, bindable]
1591     void borderTop(BSTR v);
1592
1593     [propget, id(DISPID_IHTMLSTYLE_BORDERTOP), displaybind, bindable]
1594     BSTR borderTop();
1595
1596     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHT), displaybind, bindable]
1597     void borderRight(BSTR v);
1598
1599     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHT), displaybind, bindable]
1600     BSTR borderRight();
1601
1602     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), displaybind, bindable]
1603     void borderBottom(BSTR v);
1604
1605     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), displaybind, bindable]
1606     BSTR borderBottom();
1607
1608     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFT), displaybind, bindable]
1609     void borderLeft(BSTR v);
1610
1611     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFT), displaybind, bindable]
1612     BSTR borderLeft();
1613
1614     [propput, id(DISPID_IHTMLSTYLE_BORDERCOLOR), displaybind, bindable]
1615     void borderColor(BSTR v);
1616
1617     [propget, id(DISPID_IHTMLSTYLE_BORDERCOLOR), displaybind, bindable]
1618     BSTR borderColor();
1619
1620     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), displaybind, bindable]
1621     void borderTopColor(VARIANT v);
1622
1623     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), displaybind, bindable]
1624     VARIANT borderTopColor();
1625
1626     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
1627     void borderRightColor(VARIANT v);
1628
1629     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
1630     VARIANT borderRightColor();
1631
1632     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
1633     void borderBottomColor(VARIANT v);
1634
1635     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
1636     VARIANT borderBottomColor();
1637
1638     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
1639     void borderLeftColor(VARIANT v);
1640
1641     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
1642     VARIANT borderLeftColor();
1643
1644     [propput, id(DISPID_IHTMLSTYLE_BORDERWIDTH), displaybind, bindable]
1645     void borderWidth(BSTR v);
1646
1647     [propget, id(DISPID_IHTMLSTYLE_BORDERWIDTH), displaybind, bindable]
1648     BSTR borderWidth();
1649
1650     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), displaybind, bindable]
1651     void borderTopWidth(VARIANT v);
1652
1653     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), displaybind, bindable]
1654     VARIANT borderTopWidth();
1655
1656     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
1657     void borderRightWidth(VARIANT v);
1658
1659     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
1660     VARIANT borderRightWidth();
1661
1662     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
1663     void borderBottomWidth(VARIANT v);
1664
1665     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
1666     VARIANT borderBottomWidth();
1667
1668     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
1669     void borderLeftWidth(VARIANT v);
1670
1671     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
1672     VARIANT borderLeftWidth();
1673
1674     [propput, id(DISPID_IHTMLSTYLE_BORDERSTYLE), displaybind, bindable]
1675     void borderStyle(BSTR v);
1676
1677     [propget, id(DISPID_IHTMLSTYLE_BORDERSTYLE), displaybind, bindable]
1678     BSTR borderStyle();
1679
1680     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), displaybind, bindable]
1681     void borderTopStyle(BSTR v);
1682
1683     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), displaybind, bindable]
1684     BSTR borderTopStyle();
1685
1686     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
1687     void borderRightStyle(BSTR v);
1688
1689     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
1690     BSTR borderRightStyle();
1691
1692     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
1693     void borderBottomStyle(BSTR v);
1694
1695     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
1696     BSTR borderBottomStyle();
1697
1698     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
1699     void borderLeftStyle(BSTR v);
1700
1701     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
1702     BSTR borderLeftStyle();
1703
1704     [propput, id(DISPID_IHTMLSTYLE_WIDTH), displaybind, bindable]
1705     void width(VARIANT v);
1706
1707     [propget, id(DISPID_IHTMLSTYLE_WIDTH), displaybind, bindable]
1708     VARIANT width();
1709
1710     [propput, id(DISPID_IHTMLSTYLE_HEIGHT), displaybind, bindable]
1711     void height(VARIANT v);
1712
1713     [propget, id(DISPID_IHTMLSTYLE_HEIGHT), displaybind, bindable]
1714     VARIANT height();
1715
1716     [propput, id(DISPID_IHTMLSTYLE_STYLEFLOAT), displaybind, bindable]
1717     void styleFloat(BSTR v);
1718
1719     [propget, id(DISPID_IHTMLSTYLE_STYLEFLOAT), displaybind, bindable]
1720     BSTR styleFloat();
1721
1722     [propput, id(DISPID_IHTMLSTYLE_CLEAR), displaybind, bindable]
1723     void clear(BSTR v);
1724
1725     [propget, id(DISPID_IHTMLSTYLE_CLEAR), displaybind, bindable]
1726     BSTR clear();
1727
1728     [propput, id(DISPID_IHTMLSTYLE_DISPLAY), displaybind, bindable]
1729     void display(BSTR v);
1730
1731     [propget, id(DISPID_IHTMLSTYLE_DISPLAY), displaybind, bindable]
1732     BSTR display();
1733
1734     [propput, id(DISPID_IHTMLSTYLE_VISIBILITY), displaybind, bindable]
1735     void visibility(BSTR v);
1736
1737     [propget, id(DISPID_IHTMLSTYLE_VISIBILITY), displaybind, bindable]
1738     BSTR visibility();
1739
1740     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), displaybind, bindable]
1741     void listStyleType(BSTR v);
1742
1743     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), displaybind, bindable]
1744     BSTR listStyleType();
1745
1746     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
1747     void listStylePosition(BSTR v);
1748
1749     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
1750     BSTR listStylePosition();
1751
1752     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
1753     void listStyleImage(BSTR v);
1754
1755     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
1756     BSTR listStyleImage();
1757
1758     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLE), displaybind, bindable, nonbrowsable]
1759     void listStyle(BSTR v);
1760
1761     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLE), displaybind, bindable, nonbrowsable]
1762     BSTR listStyle();
1763
1764     [propput, id(DISPID_IHTMLSTYLE_WHITESPACE), displaybind, bindable]
1765     void whiteSpace(BSTR v);
1766
1767     [propget, id(DISPID_IHTMLSTYLE_WHITESPACE), displaybind, bindable]
1768     BSTR whiteSpace();
1769
1770     [propput, id(DISPID_IHTMLSTYLE_TOP), displaybind, bindable]
1771     void top(VARIANT v);
1772
1773     [propget, id(DISPID_IHTMLSTYLE_TOP), displaybind, bindable]
1774     VARIANT top();
1775
1776     [propput, id(DISPID_IHTMLSTYLE_LEFT), displaybind, bindable]
1777     void left(VARIANT v);
1778
1779     [propget, id(DISPID_IHTMLSTYLE_LEFT), displaybind, bindable]
1780     VARIANT left();
1781
1782     [propput, id(DISPID_IHTMLSTYLE_ZINDEX), displaybind, bindable]
1783     void zIndex(VARIANT v);
1784
1785     [propget, id(DISPID_IHTMLSTYLE_ZINDEX), displaybind, bindable]
1786     VARIANT zIndex();
1787
1788     [propput, id(DISPID_IHTMLSTYLE_OVERFLOW), displaybind, bindable]
1789     void overflow(BSTR v);
1790
1791     [propget, id(DISPID_IHTMLSTYLE_OVERFLOW), displaybind, bindable]
1792     BSTR overflow();
1793
1794     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
1795     void pageBreakBefore(BSTR v);
1796
1797     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
1798     BSTR pageBreakBefore();
1799
1800     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), displaybind, bindable]
1801     void pageBreakAfter(BSTR v);
1802
1803     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), displaybind, bindable]
1804     BSTR pageBreakAfter();
1805
1806     [propput, id(DISPID_IHTMLSTYLE_CSSTEXT), displaybind, bindable, nonbrowsable]
1807     void cssText(BSTR v);
1808
1809     [propget, id(DISPID_IHTMLSTYLE_CSSTEXT), displaybind, bindable, nonbrowsable]
1810     BSTR cssText();
1811
1812     [propput, id(DISPID_IHTMLSTYLE_PIXELTOP), displaybind, bindable, hidden]
1813     void pixelTop(long v);
1814
1815     [propget, id(DISPID_IHTMLSTYLE_PIXELTOP), displaybind, bindable, hidden]
1816     long pixelTop();
1817
1818     [propput, id(DISPID_IHTMLSTYLE_PIXELLEFT), displaybind, bindable, hidden]
1819     void pixelLeft(long v);
1820
1821     [propget, id(DISPID_IHTMLSTYLE_PIXELLEFT), displaybind, bindable, hidden]
1822     long pixelLeft();
1823
1824     [propput, id(DISPID_IHTMLSTYLE_PIXELWIDTH), displaybind, bindable, hidden]
1825     void pixelWidth(long v);
1826
1827     [propget, id(DISPID_IHTMLSTYLE_PIXELWIDTH), displaybind, bindable, hidden]
1828     long pixelWidth();
1829
1830     [propput, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), displaybind, bindable, hidden]
1831     void pixelHeight(long v);
1832
1833     [propget, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), displaybind, bindable, hidden]
1834     long pixelHeight();
1835
1836     [propput, id(DISPID_IHTMLSTYLE_POSTOP), displaybind, bindable]
1837     void posTop(float v);
1838
1839     [propget, id(DISPID_IHTMLSTYLE_POSTOP), displaybind, bindable]
1840     float posTop();
1841
1842     [propput, id(DISPID_IHTMLSTYLE_POSLEFT), displaybind, bindable]
1843     void posLeft(float v);
1844
1845     [propget, id(DISPID_IHTMLSTYLE_POSLEFT), displaybind, bindable]
1846     float posLeft();
1847
1848     [propput, id(DISPID_IHTMLSTYLE_POSWIDTH), displaybind, bindable]
1849     void posWidth(float v);
1850
1851     [propget, id(DISPID_IHTMLSTYLE_POSWIDTH), displaybind, bindable]
1852     float posWidth();
1853
1854     [propput, id(DISPID_IHTMLSTYLE_POSHEIGHT), displaybind, bindable]
1855     void posHeight(float v);
1856
1857     [propget, id(DISPID_IHTMLSTYLE_POSHEIGHT), displaybind, bindable]
1858     float posHeight();
1859
1860     [propput, id(DISPID_IHTMLSTYLE_CURSOR), displaybind, bindable]
1861     void cursor(BSTR v);
1862
1863     [propget, id(DISPID_IHTMLSTYLE_CURSOR), displaybind, bindable]
1864     BSTR cursor();
1865
1866     [propput, id(DISPID_IHTMLSTYLE_CLIP), displaybind, bindable]
1867     void clip(BSTR v);
1868
1869     [propget, id(DISPID_IHTMLSTYLE_CLIP), displaybind, bindable]
1870     BSTR clip();
1871
1872     [propput, id(DISPID_IHTMLSTYLE_FILTER), displaybind, bindable]
1873     void filter(BSTR v);
1874
1875     [propget, id(DISPID_IHTMLSTYLE_FILTER), displaybind, bindable]
1876     BSTR filter();
1877
1878     [id(DISPID_IHTMLSTYLE_SETATTRIBUTE)]
1879     void setAttribute(
1880             [in] BSTR strAttributeName,
1881             [in] VARIANT AttributeValue,
1882             [in, defaultvalue(1)] LONG lFlags);
1883
1884     [id(DISPID_IHTMLSTYLE_GETATTRIBUTE)]
1885     VARIANT getAttribute(
1886             [in] BSTR strAttributeName,
1887             [in, defaultvalue(0)] LONG lFlags);
1888
1889     [id(DISPID_IHTMLSTYLE_REMOVEATTRIBUTE)]
1890     VARIANT_BOOL removeAttribute(
1891             [in] BSTR strAttributeName,
1892             [in, defaultvalue(1)] LONG lFlags);
1893
1894     [id(DISPID_IHTMLSTYLE_TOSTRING)]
1895     BSTR toString();
1896
1897     [propput, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable]
1898     void tableLayout(BSTR v);
1899
1900     [propget, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable]
1901     BSTR tableLayout();
1902
1903     [propput, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable]
1904     void borderCollapse(BSTR v);
1905
1906     [propget, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable]
1907     BSTR borderCollapse();
1908
1909     [propput, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable]
1910     void direction(BSTR v);
1911
1912     [propget, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable]
1913     BSTR direction();
1914
1915     [propput, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable]
1916     void behavior(BSTR v);
1917
1918     [propget, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable]
1919     BSTR behavior();
1920
1921     [id(DISPID_IHTMLSTYLE2_SETEXPRESSION)]
1922     void setExpression(
1923             [in] BSTR propname,
1924             [in] BSTR expression,
1925             [in, defaultvalue("")] BSTR language);
1926
1927     [id(DISPID_IHTMLSTYLE2_GETEXPRESSION)]
1928     VARIANT getExpression([in] BSTR propname);
1929
1930     [id(DISPID_IHTMLSTYLE2_REMOVEEXPRESSION)]
1931     VARIANT_BOOL removeExpression([in] BSTR propname);
1932
1933     [propput, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable]
1934     void position(BSTR v);
1935
1936     [propget, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable]
1937     BSTR position();
1938
1939     [propput, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable]
1940     void unicodeBidi(BSTR v);
1941
1942     [propget, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable]
1943     BSTR unicodeBidi();
1944
1945     [propput, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable]
1946     void bottom(VARIANT v);
1947
1948     [propget, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable]
1949     VARIANT bottom();
1950
1951     [propput, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable]
1952     void right(VARIANT v);
1953
1954     [propget, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable]
1955     VARIANT right();
1956
1957     [propput, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden]
1958     void pixelBottom(long v);
1959
1960     [propget, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden]
1961     long pixelBottom();
1962
1963     [propput, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden]
1964     void pixelRight(long v);
1965
1966     [propget, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden]
1967     long pixelRight();
1968
1969     [propput, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable]
1970     void posBottom(float v);
1971
1972     [propget, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable]
1973     float posBottom();
1974
1975     [propput, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable]
1976     void posRight(float v);
1977
1978     [propget, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable]
1979     float posRight();
1980
1981     [propput, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable]
1982     void imeMode(BSTR v);
1983
1984     [propget, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable]
1985     BSTR imeMode();
1986
1987     [propput, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable]
1988     void rubyAlign(BSTR v);
1989
1990     [propget, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable]
1991     BSTR rubyAlign();
1992
1993     [propput, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable]
1994     void rubyPosition(BSTR v);
1995
1996     [propget, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable]
1997     BSTR rubyPosition();
1998
1999     [propput, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable]
2000     void rubyOverhang(BSTR v);
2001
2002     [propget, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable]
2003     BSTR rubyOverhang();
2004
2005     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable]
2006     void layoutGridChar(VARIANT v);
2007
2008     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable]
2009     VARIANT layoutGridChar();
2010
2011     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable]
2012     void layoutGridLine(VARIANT v);
2013
2014     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable]
2015     VARIANT layoutGridLine();
2016
2017     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable]
2018     void layoutGridMode(BSTR v);
2019
2020     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable]
2021     BSTR layoutGridMode();
2022
2023     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable]
2024     void layoutGridType(BSTR v);
2025
2026     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable]
2027     BSTR layoutGridType();
2028
2029     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable]
2030     void layoutGrid(BSTR v);
2031
2032     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable]
2033     BSTR layoutGrid();
2034
2035     [propput, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable]
2036     void wordBreak(BSTR v);
2037
2038     [propget, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable]
2039     BSTR wordBreak();
2040
2041     [propput, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable]
2042     void lineBreak(BSTR v);
2043
2044     [propget, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable]
2045     BSTR lineBreak();
2046
2047     [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable]
2048     void textJustify(BSTR v);
2049
2050     [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable]
2051     BSTR textJustify();
2052
2053     [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable]
2054     void textJustifyTrim(BSTR v);
2055
2056     [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable]
2057     BSTR textJustifyTrim();
2058
2059     [propput, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable]
2060     void textKashida(VARIANT v);
2061
2062     [propget, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable]
2063     VARIANT textKashida();
2064
2065     [propput, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable]
2066     void textAutospace(BSTR v);
2067
2068     [propget, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable]
2069     BSTR textAutospace();
2070
2071     [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable]
2072     void overflowX(BSTR v);
2073
2074     [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable]
2075     BSTR overflowX();
2076
2077     [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable]
2078     void overflowY(BSTR v);
2079
2080     [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable]
2081     BSTR overflowY();
2082
2083     [propput, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable]
2084     void accelerator(BSTR v);
2085
2086     [propget, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable]
2087     BSTR accelerator();
2088
2089     [propput, id(DISPID_IHTMLSTYLE3_LAYOUTFLOW), displaybind, bindable]
2090     void layoutFlow(BSTR v);
2091
2092     [propget, id(DISPID_IHTMLSTYLE3_LAYOUTFLOW), displaybind, bindable]
2093     BSTR layoutFlow();
2094
2095     [propput, id(DISPID_IHTMLSTYLE3_ZOOM), displaybind, bindable]
2096     void zoom(VARIANT v);
2097
2098     [propget, id(DISPID_IHTMLSTYLE3_ZOOM), displaybind, bindable]
2099     VARIANT zoom();
2100
2101     [propput, id(DISPID_IHTMLSTYLE3_WORDWRAP), displaybind, bindable]
2102     void wordWrap(BSTR v);
2103
2104     [propget, id(DISPID_IHTMLSTYLE3_WORDWRAP), displaybind, bindable]
2105     BSTR wordWrap();
2106
2107     [propput, id(DISPID_IHTMLSTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable]
2108     void textUnderlinePosition(BSTR v);
2109
2110     [propget, id(DISPID_IHTMLSTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable]
2111     BSTR textUnderlinePosition();
2112
2113     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARBASECOLOR), displaybind, bindable]
2114     void scrollbarBaseColor(VARIANT v);
2115
2116     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARBASECOLOR), displaybind, bindable]
2117     VARIANT scrollbarBaseColor();
2118
2119     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARFACECOLOR), displaybind, bindable]
2120     void scrollbarFaceColor(VARIANT v);
2121
2122     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARFACECOLOR), displaybind, bindable]
2123     VARIANT scrollbarFaceColor();
2124
2125     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
2126     void scrollbar3dLightColor(VARIANT v);
2127
2128     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
2129     VARIANT scrollbar3dLightColor();
2130
2131     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable]
2132     void scrollbarShadowColor(VARIANT v);
2133
2134     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable]
2135     VARIANT scrollbarShadowColor();
2136
2137     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
2138     void scrollbarHighlightColor(VARIANT v);
2139
2140     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
2141     VARIANT scrollbarHighlightColor();
2142
2143     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
2144     void scrollbarDarkShadowColor(VARIANT v);
2145
2146     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
2147     VARIANT scrollbarDarkShadowColor();
2148
2149     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable]
2150     void scrollbarArrowColor(VARIANT v);
2151
2152     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable]
2153     VARIANT scrollbarArrowColor();
2154
2155     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable]
2156     void scrollbarTrackColor(VARIANT v);
2157
2158     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable]
2159     VARIANT scrollbarTrackColor();
2160
2161     [propput, id(DISPID_IHTMLSTYLE3_WRITINGMODE), displaybind, bindable]
2162     void writingMode(BSTR v);
2163
2164     [propget, id(DISPID_IHTMLSTYLE3_WRITINGMODE), displaybind, bindable]
2165     BSTR writingMode();
2166
2167     [propput, id(DISPID_IHTMLSTYLE3_TEXTALIGNLAST), displaybind, bindable]
2168     void textAlignLast(BSTR v);
2169
2170     [propget, id(DISPID_IHTMLSTYLE3_TEXTALIGNLAST), displaybind, bindable]
2171     BSTR textAlignLast();
2172
2173     [propput, id(DISPID_IHTMLSTYLE3_TEXTKASHIDASPACE), displaybind, bindable]
2174     void textKashidaSpace(VARIANT v);
2175
2176     [propget, id(DISPID_IHTMLSTYLE3_TEXTKASHIDASPACE), displaybind, bindable]
2177     VARIANT textKashidaSpace();
2178
2179     [propput, id(DISPID_IHTMLSTYLE4_TEXTOVERFLOW), displaybind, bindable]
2180     void textOverflow(BSTR v);
2181
2182     [propget, id(DISPID_IHTMLSTYLE4_TEXTOVERFLOW), displaybind, bindable]
2183     BSTR textOverflow();
2184
2185     [propput, id(DISPID_IHTMLSTYLE4_MINHEIGHT), displaybind, bindable]
2186     void minHeight(VARIANT v);
2187
2188     [propget, id(DISPID_IHTMLSTYLE4_MINHEIGHT), displaybind, bindable]
2189     VARIANT minHeight();
2190 }
2191
2192 /*****************************************************************************
2193  *    IHTMLRenderStyle interface
2194  */
2195 [
2196     odl,
2197     oleautomation,
2198     dual,
2199     uuid(3050f6ae-98b5-11cf-bb82-00aa00bdce0b)
2200 ]
2201 interface IHTMLRenderStyle : IDispatch
2202 {
2203     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTLINETHROUGHSTYLE), displaybind, bindable]
2204     HRESULT textLineThroughStyle([in] BSTR v);
2205
2206     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTLINETHROUGHSTYLE), displaybind, bindable]
2207     HRESULT textLineThroughStyle([retval, out] BSTR *p);
2208
2209     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTUNDERLINESTYLE), displaybind, bindable]
2210     HRESULT textUnderlineStyle([in] BSTR v);
2211
2212     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTUNDERLINESTYLE), displaybind, bindable]
2213     HRESULT textUnderlineStyle([retval, out] BSTR *p);
2214
2215     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTEFFECT), displaybind, bindable]
2216     HRESULT textEffect([in] BSTR v);
2217
2218     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTEFFECT), displaybind, bindable]
2219     HRESULT textEffect([retval, out] BSTR *p);
2220
2221     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTCOLOR), displaybind, bindable]
2222     HRESULT textColor([in] VARIANT v);
2223
2224     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTCOLOR), displaybind, bindable]
2225     HRESULT textColor([retval, out] VARIANT *p);
2226
2227     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTBACKGROUNDCOLOR), displaybind, bindable]
2228     HRESULT textBackgroundColor([in] VARIANT v);
2229
2230     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTBACKGROUNDCOLOR), displaybind, bindable]
2231     HRESULT textBackgroundColor([retval, out] VARIANT *p);
2232
2233     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATIONCOLOR), displaybind, bindable]
2234     HRESULT textDecorationColor([in] VARIANT v);
2235
2236     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATIONCOLOR), displaybind, bindable]
2237     HRESULT textDecorationColor([retval, out] VARIANT *p);
2238
2239     [propput, id(DISPID_IHTMLRENDERSTYLE_RENDERINGPRIORITY), displaybind, bindable]
2240     HRESULT renderingPriority([in] long v);
2241
2242     [propget, id(DISPID_IHTMLRENDERSTYLE_RENDERINGPRIORITY), displaybind, bindable]
2243     HRESULT renderingPriority([retval, out] long *p);
2244
2245     [propput, id(DISPID_IHTMLRENDERSTYLE_DEFAULTTEXTSELECTION), displaybind, bindable]
2246     HRESULT defaultTextSelection([in] BSTR v);
2247
2248     [propget, id(DISPID_IHTMLRENDERSTYLE_DEFAULTTEXTSELECTION), displaybind, bindable]
2249     HRESULT defaultTextSelection([retval, out] BSTR *p);
2250
2251     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATION), displaybind, bindable]
2252     HRESULT textDecoration([in] BSTR v);
2253
2254     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATION), displaybind, bindable]
2255     HRESULT textDecoration([retval, out] BSTR *p);
2256 }
2257
2258 /*****************************************************************************
2259  *    IHTMLCurrentStyle interface
2260  */
2261 [
2262     odl,
2263     oleautomation,
2264     dual,
2265     uuid(3050f3db-98b5-11cf-bb82-00aa00bdce0b)
2266 ]
2267 interface IHTMLCurrentStyle : IDispatch
2268 {
2269     [propget, id(DISPID_IHTMLCURRENTSTYLE_POSITION), displaybind, bindable]
2270     HRESULT position([retval, out] BSTR *p);
2271
2272     [propget, id(DISPID_IHTMLCURRENTSTYLE_STYLEFLOAT), displaybind, bindable]
2273     HRESULT styleFloat([retval, out] BSTR *p);
2274
2275     [propget, id(DISPID_IHTMLCURRENTSTYLE_COLOR), displaybind, bindable]
2276     HRESULT color([retval, out] VARIANT *p);
2277
2278     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
2279     HRESULT backgroundColor([retval, out] VARIANT *p);
2280
2281     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTFAMILY), displaybind, bindable]
2282     HRESULT fontFamily([retval, out] BSTR *p);
2283
2284     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSTYLE), displaybind, bindable]
2285     HRESULT fontStyle([retval, out] BSTR *p);
2286
2287     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTVARIANT), displaybind, bindable, hidden]
2288     HRESULT fontVariant([retval, out] BSTR *p);
2289
2290     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTWEIGHT), displaybind, bindable]
2291     HRESULT fontWeight([retval, out] VARIANT *p);
2292
2293     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSIZE), displaybind, bindable]
2294     HRESULT fontSize([retval, out] VARIANT *p);
2295
2296     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
2297     HRESULT backgroundImage([retval, out] BSTR *p);
2298
2299     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
2300     HRESULT backgroundPositionX([retval, out] VARIANT *p);
2301
2302     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
2303     HRESULT backgroundPositionY([retval, out] VARIANT *p);
2304
2305     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
2306     HRESULT backgroundRepeat([retval, out] BSTR *p);
2307
2308     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
2309     HRESULT borderLeftColor([retval, out] VARIANT *p);
2310
2311     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPCOLOR), displaybind, bindable]
2312     HRESULT borderTopColor([retval, out] VARIANT *p);
2313
2314     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
2315     HRESULT borderRightColor([retval, out] VARIANT *p);
2316
2317     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
2318     HRESULT borderBottomColor([retval, out] VARIANT *p);
2319
2320     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPSTYLE), displaybind, bindable]
2321     HRESULT borderTopStyle([retval, out] BSTR *p);
2322
2323     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
2324     HRESULT borderRightStyle([retval, out] BSTR *p);
2325
2326     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
2327     HRESULT borderBottomStyle([retval, out] BSTR *p);
2328
2329     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
2330     HRESULT borderLeftStyle([retval, out] BSTR *p);
2331
2332     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPWIDTH), displaybind, bindable]
2333     HRESULT borderTopWidth([retval, out] VARIANT *p);
2334
2335     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
2336     HRESULT borderRightWidth([retval, out] VARIANT *p);
2337
2338     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
2339     HRESULT borderBottomWidth([retval, out] VARIANT *p);
2340
2341     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
2342     HRESULT borderLeftWidth([retval, out] VARIANT *p);
2343
2344     [propget, id(DISPID_IHTMLCURRENTSTYLE_LEFT), displaybind, bindable]
2345     HRESULT left([retval, out] VARIANT *p);
2346
2347     [propget, id(DISPID_IHTMLCURRENTSTYLE_TOP), displaybind, bindable]
2348     HRESULT top([retval, out] VARIANT *p);
2349
2350     [propget, id(DISPID_IHTMLCURRENTSTYLE_WIDTH), displaybind, bindable]
2351     HRESULT width([retval, out] VARIANT *p);
2352
2353     [propget, id(DISPID_IHTMLCURRENTSTYLE_HEIGHT), displaybind, bindable]
2354     HRESULT height([retval, out] VARIANT *p);
2355
2356     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGLEFT), displaybind, bindable]
2357     HRESULT paddingLeft([retval, out] VARIANT *p);
2358
2359     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGTOP), displaybind, bindable]
2360     HRESULT paddingTop([retval, out] VARIANT *p);
2361
2362     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGRIGHT), displaybind, bindable]
2363     HRESULT paddingRight([retval, out] VARIANT *p);
2364
2365     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGBOTTOM), displaybind, bindable]
2366     HRESULT paddingBottom([retval, out] VARIANT *p);
2367
2368     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTALIGN), displaybind, bindable]
2369     HRESULT textAlign([retval, out] BSTR *p);
2370
2371     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTDECORATION), displaybind, bindable]
2372     HRESULT textDecoration([retval, out] BSTR *p);
2373
2374     [propget, id(DISPID_IHTMLCURRENTSTYLE_DISPLAY), displaybind, bindable]
2375     HRESULT display([retval, out] BSTR *p);
2376
2377     [propget, id(DISPID_IHTMLCURRENTSTYLE_VISIBILITY), displaybind, bindable]
2378     HRESULT visibility([retval, out] BSTR *p);
2379
2380     [propget, id(DISPID_IHTMLCURRENTSTYLE_ZINDEX), displaybind, bindable]
2381     HRESULT zIndex([retval, out] VARIANT *p);
2382
2383     [propget, id(DISPID_IHTMLCURRENTSTYLE_LETTERSPACING), displaybind, bindable]
2384     HRESULT letterSpacing([retval, out] VARIANT *p);
2385
2386     [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEHEIGHT), displaybind, bindable]
2387     HRESULT lineHeight([retval, out] VARIANT *p);
2388
2389     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTINDENT), displaybind, bindable]
2390     HRESULT textIndent([retval, out] VARIANT *p);
2391
2392     [propget, id(DISPID_IHTMLCURRENTSTYLE_VERTICALALIGN), displaybind, bindable]
2393     HRESULT verticalAlign([retval, out] VARIANT *p);
2394
2395     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
2396     HRESULT backgroundAttachment([retval, out] BSTR *p);
2397
2398     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINTOP), displaybind, bindable]
2399     HRESULT marginTop([retval, out] VARIANT *p);
2400
2401     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINRIGHT), displaybind, bindable]
2402     HRESULT marginRight([retval, out] VARIANT *p);
2403
2404     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINBOTTOM), displaybind, bindable]
2405     HRESULT marginBottom([retval, out] VARIANT *p);
2406
2407     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINLEFT), displaybind, bindable]
2408     HRESULT marginLeft([retval, out] VARIANT *p);
2409
2410     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLEAR), displaybind, bindable]
2411     HRESULT clear([retval, out] BSTR *p);
2412
2413     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLETYPE), displaybind, bindable]
2414     HRESULT listStyleType([retval, out] BSTR *p);
2415
2416     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
2417     HRESULT listStylePosition([retval, out] BSTR *p);
2418
2419     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
2420     HRESULT listStyleImage([retval, out] BSTR *p);
2421
2422     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPTOP), displaybind, bindable]
2423     HRESULT clipTop([retval, out] VARIANT *p);
2424
2425     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPRIGHT), displaybind, bindable]
2426     HRESULT clipRight([retval, out] VARIANT *p);
2427
2428     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPBOTTOM), displaybind, bindable]
2429     HRESULT clipBottom([retval, out] VARIANT *p);
2430
2431     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPLEFT), displaybind, bindable]
2432     HRESULT clipLeft([retval, out] VARIANT *p);
2433
2434     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOW), displaybind, bindable]
2435     HRESULT overflow([retval, out] BSTR *p);
2436
2437     [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
2438     HRESULT pageBreakBefore([retval, out] BSTR *p);
2439
2440     [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKAFTER), displaybind, bindable]
2441     HRESULT pageBreakAfter([retval, out] BSTR *p);
2442
2443     [propget, id(DISPID_IHTMLCURRENTSTYLE_CURSOR), displaybind, bindable]
2444     HRESULT cursor([retval, out] BSTR *p);
2445
2446     [propget, id(DISPID_IHTMLCURRENTSTYLE_TABLELAYOUT), displaybind, bindable]
2447     HRESULT tableLayout([retval, out] BSTR *p);
2448
2449     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLLAPSE), displaybind, bindable]
2450     HRESULT borderCollapse([retval, out] BSTR *p);
2451
2452     [propget, id(DISPID_IHTMLCURRENTSTYLE_DIRECTION), displaybind, bindable]
2453     HRESULT direction([retval, out] BSTR *p);
2454
2455     [propget, id(DISPID_IHTMLCURRENTSTYLE_BEHAVIOR), displaybind, bindable]
2456     HRESULT behavior([retval, out] BSTR *p);
2457
2458     [id(DISPID_IHTMLCURRENTSTYLE_GETATTRIBUTE)]
2459     HRESULT getAttribute(
2460         [in] BSTR strAttributeName,
2461         [defaultvalue(0), in] LONG lFlags,
2462         [retval, out] VARIANT *AttributeValue);
2463
2464     [propget, id(DISPID_IHTMLCURRENTSTYLE_UNICODEBIDI), displaybind, bindable]
2465     HRESULT unicodeBidi([retval, out] BSTR *p);
2466
2467     [propget, id(DISPID_IHTMLCURRENTSTYLE_RIGHT), displaybind, bindable]
2468     HRESULT right([retval, out] VARIANT *p);
2469
2470     [propget, id(DISPID_IHTMLCURRENTSTYLE_BOTTOM), displaybind, bindable]
2471     HRESULT bottom([retval, out] VARIANT *p);
2472
2473     [propget, id(DISPID_IHTMLCURRENTSTYLE_IMEMODE), displaybind, bindable]
2474     HRESULT imeMode([retval, out] BSTR *p);
2475
2476     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYALIGN), displaybind, bindable]
2477     HRESULT rubyAlign([retval, out] BSTR *p);
2478
2479     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYPOSITION), displaybind, bindable]
2480     HRESULT rubyPosition([retval, out] BSTR *p);
2481
2482     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYOVERHANG), displaybind, bindable]
2483     HRESULT rubyOverhang([retval, out] BSTR *p);
2484
2485     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTAUTOSPACE), displaybind, bindable]
2486     HRESULT textAutospace([retval, out] BSTR *p);
2487
2488     [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEBREAK), displaybind, bindable]
2489     HRESULT lineBreak([retval, out] BSTR *p);
2490
2491     [propget, id(DISPID_IHTMLCURRENTSTYLE_WORDBREAK), displaybind, bindable]
2492     HRESULT wordBreak([retval, out] BSTR *p);
2493
2494     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFY), displaybind, bindable]
2495     HRESULT textJustify([retval, out] BSTR *p);
2496
2497     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFYTRIM), displaybind, bindable]
2498     HRESULT textJustifyTrim([retval, out] BSTR *p);
2499
2500     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTKASHIDA), displaybind, bindable]
2501     HRESULT textKashida([retval, out] VARIANT *p);
2502
2503     [propget, id(DISPID_IHTMLCURRENTSTYLE_BLOCKDIRECTION), displaybind, bindable]
2504     HRESULT blockDirection([retval, out] BSTR *p);
2505
2506     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDCHAR), displaybind, bindable]
2507     HRESULT layoutGridChar([retval, out] VARIANT *p);
2508
2509     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDLINE), displaybind, bindable]
2510     HRESULT layoutGridLine([retval, out] VARIANT *p);
2511
2512     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDMODE), displaybind, bindable]
2513     HRESULT layoutGridMode([retval, out] BSTR *p);
2514
2515     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDTYPE), displaybind, bindable]
2516     HRESULT layoutGridType([retval, out] BSTR *p);
2517
2518     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERSTYLE), displaybind, bindable]
2519     HRESULT borderStyle([retval, out] BSTR *p);
2520
2521     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLOR), displaybind, bindable]
2522     HRESULT borderColor([retval, out] BSTR *p);
2523
2524     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERWIDTH), displaybind, bindable]
2525     HRESULT borderWidth([retval, out] BSTR *p);
2526
2527     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDING), displaybind, bindable]
2528     HRESULT padding([retval, out] BSTR *p);
2529
2530     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGIN), displaybind, bindable]
2531     HRESULT margin([retval, out] BSTR *p);
2532
2533     [propget, id(DISPID_IHTMLCURRENTSTYLE_ACCELERATOR), displaybind, bindable]
2534     HRESULT accelerator([retval, out] BSTR *p);
2535
2536     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWX), displaybind, bindable]
2537     HRESULT overflowX([retval, out] BSTR *p);
2538
2539     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWY), displaybind, bindable]
2540     HRESULT overflowY([retval, out] BSTR *p);
2541
2542     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTTRANSFORM), displaybind, bindable]
2543     HRESULT textTransform([retval, out] BSTR *p);
2544 }
2545
2546 /*****************************************************************************
2547  *    DispHTMLCurrentStyle dispinterface
2548  */
2549 [
2550     hidden,
2551     uuid(3050f557-98b5-11cf-bb82-00aa00bdce0b)
2552 ]
2553 dispinterface DispHTMLCurrentStyle
2554 {
2555 properties:
2556 methods:
2557     [propget, id(DISPID_IHTMLCURRENTSTYLE_POSITION), displaybind, bindable]
2558     BSTR position();
2559
2560     [propget, id(DISPID_IHTMLCURRENTSTYLE_STYLEFLOAT), displaybind, bindable]
2561     BSTR styleFloat();
2562
2563     [propget, id(DISPID_IHTMLCURRENTSTYLE_COLOR), displaybind, bindable]
2564     VARIANT color();
2565
2566     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
2567     VARIANT backgroundColor();
2568
2569     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTFAMILY), displaybind, bindable]
2570     BSTR fontFamily();
2571
2572     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSTYLE), displaybind, bindable]
2573     BSTR fontStyle();
2574
2575     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTVARIANT), displaybind, bindable, hidden]
2576     BSTR fontVariant();
2577
2578     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTWEIGHT), displaybind, bindable]
2579     VARIANT fontWeight();
2580
2581     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSIZE), displaybind, bindable]
2582     VARIANT fontSize();
2583
2584     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
2585     BSTR backgroundImage();
2586
2587     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
2588     VARIANT backgroundPositionX();
2589
2590     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
2591     VARIANT backgroundPositionY();
2592
2593     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
2594     BSTR backgroundRepeat();
2595
2596     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
2597     VARIANT borderLeftColor();
2598
2599     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPCOLOR), displaybind, bindable]
2600     VARIANT borderTopColor();
2601
2602     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
2603     VARIANT borderRightColor();
2604
2605     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
2606     VARIANT borderBottomColor();
2607
2608     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPSTYLE), displaybind, bindable]
2609     BSTR borderTopStyle();
2610
2611     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
2612     BSTR borderRightStyle();
2613
2614     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
2615     BSTR borderBottomStyle();
2616
2617     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
2618     BSTR borderLeftStyle();
2619
2620     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPWIDTH), displaybind, bindable]
2621     VARIANT borderTopWidth();
2622
2623     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
2624     VARIANT borderRightWidth();
2625
2626     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
2627     VARIANT borderBottomWidth();
2628
2629     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
2630     VARIANT borderLeftWidth();
2631
2632     [propget, id(DISPID_IHTMLCURRENTSTYLE_LEFT), displaybind, bindable]
2633     VARIANT left();
2634
2635     [propget, id(DISPID_IHTMLCURRENTSTYLE_TOP), displaybind, bindable]
2636     VARIANT top();
2637
2638     [propget, id(DISPID_IHTMLCURRENTSTYLE_WIDTH), displaybind, bindable]
2639     VARIANT width();
2640
2641     [propget, id(DISPID_IHTMLCURRENTSTYLE_HEIGHT), displaybind, bindable]
2642     VARIANT height();
2643
2644     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGLEFT), displaybind, bindable]
2645     VARIANT paddingLeft();
2646
2647     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGTOP), displaybind, bindable]
2648     VARIANT paddingTop();
2649
2650     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGRIGHT), displaybind, bindable]
2651     VARIANT paddingRight();
2652
2653     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGBOTTOM), displaybind, bindable]
2654     VARIANT paddingBottom();
2655
2656     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTALIGN), displaybind, bindable]
2657     BSTR textAlign();
2658
2659     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTDECORATION), displaybind, bindable]
2660     BSTR textDecoration();
2661
2662     [propget, id(DISPID_IHTMLCURRENTSTYLE_DISPLAY), displaybind, bindable]
2663     BSTR display();
2664
2665     [propget, id(DISPID_IHTMLCURRENTSTYLE_VISIBILITY), displaybind, bindable]
2666     BSTR visibility();
2667
2668     [propget, id(DISPID_IHTMLCURRENTSTYLE_ZINDEX), displaybind, bindable]
2669     VARIANT zIndex();
2670
2671     [propget, id(DISPID_IHTMLCURRENTSTYLE_LETTERSPACING), displaybind, bindable]
2672     VARIANT letterSpacing();
2673
2674     [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEHEIGHT), displaybind, bindable]
2675     VARIANT lineHeight();
2676
2677     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTINDENT), displaybind, bindable]
2678     VARIANT textIndent();
2679
2680     [propget, id(DISPID_IHTMLCURRENTSTYLE_VERTICALALIGN), displaybind, bindable]
2681     VARIANT verticalAlign();
2682
2683     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
2684     BSTR backgroundAttachment();
2685
2686     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINTOP), displaybind, bindable]
2687     VARIANT marginTop();
2688
2689     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINRIGHT), displaybind, bindable]
2690     VARIANT marginRight();
2691
2692     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINBOTTOM), displaybind, bindable]
2693     VARIANT marginBottom();
2694
2695     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINLEFT), displaybind, bindable]
2696     VARIANT marginLeft();
2697
2698     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLEAR), displaybind, bindable]
2699     BSTR clear();
2700
2701     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLETYPE), displaybind, bindable]
2702     BSTR listStyleType();
2703
2704     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
2705     BSTR listStylePosition();
2706
2707     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
2708     BSTR listStyleImage();
2709
2710     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPTOP), displaybind, bindable]
2711     VARIANT clipTop();
2712
2713     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPRIGHT), displaybind, bindable]
2714     VARIANT clipRight();
2715
2716     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPBOTTOM), displaybind, bindable]
2717     VARIANT clipBottom();
2718
2719     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPLEFT), displaybind, bindable]
2720     VARIANT clipLeft();
2721
2722     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOW), displaybind, bindable]
2723     BSTR overflow();
2724
2725     [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
2726     BSTR pageBreakBefore();
2727
2728     [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKAFTER), displaybind, bindable]
2729     BSTR pageBreakAfter();
2730
2731     [propget, id(DISPID_IHTMLCURRENTSTYLE_CURSOR), displaybind, bindable]
2732     BSTR cursor();
2733
2734     [propget, id(DISPID_IHTMLCURRENTSTYLE_TABLELAYOUT), displaybind, bindable]
2735     BSTR tableLayout();
2736
2737     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLLAPSE), displaybind, bindable]
2738     BSTR borderCollapse();
2739
2740     [propget, id(DISPID_IHTMLCURRENTSTYLE_DIRECTION), displaybind, bindable]
2741     BSTR direction();
2742
2743     [propget, id(DISPID_IHTMLCURRENTSTYLE_BEHAVIOR), displaybind, bindable]
2744     BSTR behavior();
2745
2746     [id(DISPID_IHTMLCURRENTSTYLE_GETATTRIBUTE)]
2747     VARIANT getAttribute(
2748             [in] BSTR strAttributeName,
2749             [in, defaultvalue(0)] LONG lFlags);
2750
2751     [propget, id(DISPID_IHTMLCURRENTSTYLE_UNICODEBIDI), displaybind, bindable]
2752     BSTR unicodeBidi();
2753
2754     [propget, id(DISPID_IHTMLCURRENTSTYLE_RIGHT), displaybind, bindable]
2755     VARIANT right();
2756
2757     [propget, id(DISPID_IHTMLCURRENTSTYLE_BOTTOM), displaybind, bindable]
2758     VARIANT bottom();
2759
2760     [propget, id(DISPID_IHTMLCURRENTSTYLE_IMEMODE), displaybind, bindable]
2761     BSTR imeMode();
2762
2763     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYALIGN), displaybind, bindable]
2764     BSTR rubyAlign();
2765
2766     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYPOSITION), displaybind, bindable]
2767     BSTR rubyPosition();
2768
2769     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYOVERHANG), displaybind, bindable]
2770     BSTR rubyOverhang();
2771
2772     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTAUTOSPACE), displaybind, bindable]
2773     BSTR textAutospace();
2774
2775     [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEBREAK), displaybind, bindable]
2776     BSTR lineBreak();
2777
2778     [propget, id(DISPID_IHTMLCURRENTSTYLE_WORDBREAK), displaybind, bindable]
2779     BSTR wordBreak();
2780
2781     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFY), displaybind, bindable]
2782     BSTR textJustify();
2783
2784     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFYTRIM), displaybind, bindable]
2785     BSTR textJustifyTrim();
2786
2787     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTKASHIDA), displaybind, bindable]
2788     VARIANT textKashida();
2789
2790     [propget, id(DISPID_IHTMLCURRENTSTYLE_BLOCKDIRECTION), displaybind, bindable]
2791     BSTR blockDirection();
2792
2793     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDCHAR), displaybind, bindable]
2794     VARIANT layoutGridChar();
2795
2796     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDLINE), displaybind, bindable]
2797     VARIANT layoutGridLine();
2798
2799     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDMODE), displaybind, bindable]
2800     BSTR layoutGridMode();
2801
2802     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDTYPE), displaybind, bindable]
2803     BSTR layoutGridType();
2804
2805     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERSTYLE), displaybind, bindable]
2806     BSTR borderStyle();
2807
2808     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLOR), displaybind, bindable]
2809     BSTR borderColor();
2810
2811     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERWIDTH), displaybind, bindable]
2812     BSTR borderWidth();
2813
2814     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDING), displaybind, bindable]
2815     BSTR padding();
2816
2817     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGIN), displaybind, bindable]
2818     BSTR margin();
2819
2820     [propget, id(DISPID_IHTMLCURRENTSTYLE_ACCELERATOR), displaybind, bindable]
2821     BSTR accelerator();
2822
2823     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWX), displaybind, bindable]
2824     BSTR overflowX();
2825
2826     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWY), displaybind, bindable]
2827     BSTR overflowY();
2828
2829     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTTRANSFORM), displaybind, bindable]
2830     BSTR textTransform();
2831
2832     [propget, id(DISPID_IHTMLCURRENTSTYLE2_LAYOUTFLOW), displaybind, bindable]
2833     BSTR layoutFlow();
2834
2835     [propget, id(DISPID_IHTMLCURRENTSTYLE2_WORDWRAP), displaybind, bindable]
2836     BSTR wordWrap();
2837
2838     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTUNDERLINEPOSITION), displaybind, bindable]
2839     BSTR textUnderlinePosition();
2840
2841     [propget, id(DISPID_IHTMLCURRENTSTYLE2_HASLAYOUT), displaybind, bindable]
2842     VARIANT_BOOL hasLayout();
2843
2844     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARBASECOLOR), displaybind, bindable]
2845     VARIANT scrollbarBaseColor();
2846
2847     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARFACECOLOR), displaybind, bindable]
2848     VARIANT scrollbarFaceColor();
2849
2850     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
2851     VARIANT scrollbar3dLightColor();
2852
2853     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARSHADOWCOLOR), displaybind, bindable]
2854     VARIANT scrollbarShadowColor();
2855
2856     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
2857     VARIANT scrollbarHighlightColor();
2858
2859     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
2860     VARIANT scrollbarDarkShadowColor();
2861
2862     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARARROWCOLOR), displaybind, bindable]
2863     VARIANT scrollbarArrowColor();
2864
2865     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARTRACKCOLOR), displaybind, bindable]
2866     VARIANT scrollbarTrackColor();
2867
2868     [propget, id(DISPID_IHTMLCURRENTSTYLE2_WRITINGMODE), displaybind, bindable]
2869     BSTR writingMode();
2870
2871     [propget, id(DISPID_IHTMLCURRENTSTYLE2_ZOOM), displaybind, bindable]
2872     VARIANT zoom();
2873
2874     [propget, id(DISPID_IHTMLCURRENTSTYLE2_FILTER), displaybind, bindable]
2875     BSTR filter();
2876
2877     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTALIGNLAST), displaybind, bindable]
2878     BSTR textAlignLast();
2879
2880     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTKASHIDASPACE), displaybind, bindable]
2881     VARIANT textKashidaSpace();
2882
2883     [propget, id(DISPID_IHTMLCURRENTSTYLE2_ISBLOCK), displaybind, bindable, hidden, restricted, nonbrowsable]
2884     VARIANT_BOOL isBlock();
2885
2886     [propget, id(DISPID_IHTMLCURRENTSTYLE3_TEXTOVERFLOW), displaybind, bindable]
2887     BSTR textOverflow();
2888
2889     [propget, id(DISPID_IHTMLCURRENTSTYLE3_MINHEIGHT), displaybind, bindable]
2890     VARIANT minHeight();
2891
2892     [propget, id(DISPID_IHTMLCURRENTSTYLE3_WORDSPACING), displaybind, bindable]
2893     VARIANT wordSpacing();
2894
2895     [propget, id(DISPID_IHTMLCURRENTSTYLE3_WHITESPACE), displaybind, bindable]
2896     BSTR whiteSpace();
2897 }
2898
2899 /*****************************************************************************
2900  *    IHTMLRect interface
2901  */
2902 [
2903     odl,
2904     oleautomation,
2905     dual,
2906     uuid(3050f4a3-98b5-11cf-bb82-00aa00bdce0b)
2907 ]
2908 interface IHTMLRect : IDispatch
2909 {
2910     [propput, id(DISPID_IHTMLRECT_LEFT)]
2911     HRESULT left([in] long v);
2912
2913     [propget, id(DISPID_IHTMLRECT_LEFT)]
2914     HRESULT left([retval, out] long *p);
2915
2916     [propput, id(DISPID_IHTMLRECT_TOP)]
2917     HRESULT top([in] long v);
2918
2919     [propget, id(DISPID_IHTMLRECT_TOP)]
2920     HRESULT top([retval, out] long *p);
2921
2922     [propput, id(DISPID_IHTMLRECT_RIGHT)]
2923     HRESULT right([in] long v);
2924
2925     [propget, id(DISPID_IHTMLRECT_RIGHT)]
2926     HRESULT right([retval, out] long *p);
2927
2928     [propput, id(DISPID_IHTMLRECT_BOTTOM)]
2929     HRESULT bottom([in] long v);
2930
2931     [propget, id(DISPID_IHTMLRECT_BOTTOM)]
2932     HRESULT bottom([retval, out] long *p);
2933 }
2934
2935 /*****************************************************************************
2936  *    IHTMLRectCollection interface
2937  */
2938 [
2939     odl,
2940     oleautomation,
2941     dual,
2942     uuid(3050f4a4-98b5-11cf-bb82-00aa00bdce0b)
2943 ]
2944 interface IHTMLRectCollection : IDispatch
2945 {
2946     [propget, id(DISPID_IHTMLRECTCOLLECTION_LENGTH)]
2947     HRESULT length([retval, out] long *p);
2948
2949     [propget, id(DISPID_IHTMLRECTCOLLECTION__NEWENUM), hidden, restricted]
2950     HRESULT _newEnum([retval, out] IUnknown **p);
2951
2952     [id(DISPID_IHTMLRECTCOLLECTION_ITEM)]
2953     HRESULT item(
2954         [in] VARIANT *pvarIndex,
2955         [retval, out] VARIANT *pvarResult);
2956 }
2957
2958 /*****************************************************************************
2959  *    IHTMLDOMNode interface
2960  */
2961 [
2962     odl,
2963     oleautomation,
2964     dual,
2965     uuid(3050f5da-98b5-11cf-bb82-00aa00bdce0b)
2966 ]
2967 interface IHTMLDOMNode : IDispatch
2968 {
2969     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
2970     HRESULT nodeType([retval, out] long *p);
2971
2972     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
2973     HRESULT parentNode([retval, out] IHTMLDOMNode **p);
2974
2975     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
2976     HRESULT hasChildNodes([retval, out] VARIANT_BOOL *fChildren);
2977
2978     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
2979     HRESULT childNodes([retval, out] IDispatch **p);
2980
2981     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
2982     HRESULT attributes([retval, out] IDispatch **p);
2983
2984     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
2985     HRESULT insertBefore(
2986         [in] IHTMLDOMNode *newChild,
2987         [optional, in] VARIANT refChild,
2988         [retval, out] IHTMLDOMNode **node);
2989
2990     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
2991     HRESULT removeChild(
2992         [in] IHTMLDOMNode *oldChild,
2993         [retval, out] IHTMLDOMNode **node);
2994
2995     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
2996     HRESULT replaceChild(
2997         [in] IHTMLDOMNode *newChild,
2998         [in] IHTMLDOMNode *oldChild,
2999         [retval, out] IHTMLDOMNode **node);
3000
3001     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
3002     HRESULT cloneNode(
3003         [in] VARIANT_BOOL fDeep,
3004         [retval, out] IHTMLDOMNode **clonedNode);
3005
3006     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
3007     HRESULT removeNode(
3008         [defaultvalue(0), in] VARIANT_BOOL fDeep,
3009         [retval, out] IHTMLDOMNode **removed);
3010
3011     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
3012     HRESULT swapNode(
3013         [in] IHTMLDOMNode *otherNode,
3014         [retval, out] IHTMLDOMNode **swappedNode);
3015
3016     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
3017     HRESULT replaceNode(
3018         [in] IHTMLDOMNode *replacement,
3019         [retval, out] IHTMLDOMNode **replaced);
3020
3021     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
3022     HRESULT appendChild(
3023         [in] IHTMLDOMNode *newChild,
3024         [retval, out] IHTMLDOMNode **node);
3025
3026     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
3027     HRESULT nodeName([retval, out] BSTR *p);
3028
3029     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
3030     HRESULT nodeValue([in] VARIANT v);
3031
3032     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
3033     HRESULT nodeValue([retval, out] VARIANT *p);
3034
3035     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
3036     HRESULT firstChild([retval, out] IHTMLDOMNode **p);
3037
3038     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
3039     HRESULT lastChild([retval, out] IHTMLDOMNode **p);
3040
3041     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
3042     HRESULT previousSibling([retval, out] IHTMLDOMNode **p);
3043
3044     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
3045     HRESULT nextSibling([retval, out] IHTMLDOMNode **p);
3046 }
3047
3048 /*****************************************************************************
3049  *    IHTMLDOMNode2 interface
3050  */
3051 [
3052     odl,
3053     oleautomation,
3054     dual,
3055     uuid(3050f80b-98b5-11cf-bb82-00aa00bdce0b)
3056 ]
3057 interface IHTMLDOMNode2 : IDispatch
3058 {
3059     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
3060     HRESULT ownerDocument([retval, out] IDispatch **p);
3061 }
3062
3063 /*****************************************************************************
3064  *    IHTMLDOMAttribute interface
3065  */
3066 [
3067     odl,
3068     oleautomation,
3069     dual,
3070     uuid(3050f4b0-98b5-11cf-bb82-00aa00bdce0b)
3071 ]
3072 interface IHTMLDOMAttribute : IDispatch
3073 {
3074     [propget, id(DISPID_IHTMLDOMATTRIBUTE_NODENAME)]
3075     HRESULT nodeName([retval, out] BSTR *p);
3076
3077     [propput, id(DISPID_IHTMLDOMATTRIBUTE_NODEVALUE)]
3078     HRESULT nodeValue([in] VARIANT v);
3079
3080     [propget, id(DISPID_IHTMLDOMATTRIBUTE_NODEVALUE)]
3081     HRESULT nodeValue([retval, out] VARIANT *p);
3082
3083     [propget, id(DISPID_IHTMLDOMATTRIBUTE_SPECIFIED)]
3084     HRESULT specified([retval, out] VARIANT_BOOL *p);
3085 }
3086
3087 /*****************************************************************************
3088  *    IHTMLDOMTextNode interface
3089  */
3090 [
3091     odl,
3092     oleautomation,
3093     dual,
3094     uuid(3050f4b1-98b5-11cf-bb82-00aa00bdce0b)
3095 ]
3096 interface IHTMLDOMTextNode : IDispatch
3097 {
3098     [propput, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
3099     HRESULT data([in] BSTR v);
3100
3101     [propget, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
3102     HRESULT data([out, retval] BSTR *p);
3103
3104     [id(DISPID_IHTMLDOMTEXTNODE_TOSTRING)]
3105     HRESULT toString([out, retval] BSTR *String);
3106
3107     [propget, id(DISPID_IHTMLDOMTEXTNODE_LENGTH)]
3108     HRESULT length([out, retval] long *p);
3109
3110     [id(DISPID_IHTMLDOMTEXTNODE_SPLITTEXT)]
3111     HRESULT splitText(
3112             [in] long offset,
3113             [out, retval] IHTMLDOMNode **pRetNode);
3114 }
3115
3116 /*****************************************************************************
3117  *    IHTMLDOMImplementation interface
3118  */
3119 [
3120     odl,
3121     oleautomation,
3122     dual,
3123     uuid(3050f80d-98b5-11cf-bb82-00aa00bdce0b)
3124 ]
3125 interface IHTMLDOMImplementation : IDispatch
3126 {
3127     [id(DISPID_IHTMLDOMIMPLEMENTATION_HASFEATURE)]
3128     HRESULT hasFeature(
3129         [in] BSTR bstrfeature,
3130         [optional, in] VARIANT version,
3131         [retval, out] VARIANT_BOOL *pfHasFeature);
3132 }
3133
3134 /*****************************************************************************
3135  *    DispHTMLDOMTextNode dispinterface
3136  */
3137 [
3138     hidden,
3139     uuid(3050f565-98b5-11cf-bb82-00aa00bdce0b)
3140 ]
3141 dispinterface DispHTMLDOMTextNode
3142 {
3143 properties:
3144 methods:
3145     [propput, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
3146     void data(BSTR v);
3147
3148     [propget, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
3149     BSTR data();
3150
3151     [id(DISPID_IHTMLDOMTEXTNODE_TOSTRING)]
3152     BSTR toString();
3153
3154     [propget, id(DISPID_IHTMLDOMTEXTNODE_LENGTH)]
3155     long length();
3156
3157     [id(DISPID_IHTMLDOMTEXTNODE_SPLITTEXT)]
3158     IHTMLDOMNode *splitText([in] long offset);
3159
3160     [id(DISPID_IHTMLDOMTEXTNODE2_SUBSTRINGDATA)]
3161     BSTR substringData(
3162             [in] long offset,
3163             [in] long Count);
3164
3165     [id(DISPID_IHTMLDOMTEXTNODE2_APPENDDATA)]
3166     void appendData([in] BSTR bstrstring);
3167
3168     [id(DISPID_IHTMLDOMTEXTNODE2_INSERTDATA)]
3169     void insertData(
3170             [in] long offset,
3171             [in] BSTR bstrstring);
3172
3173     [id(DISPID_IHTMLDOMTEXTNODE2_DELETEDATA)]
3174     void deleteData(
3175             [in] long offset,
3176             [in] long Count);
3177
3178     [id(DISPID_IHTMLDOMTEXTNODE2_REPLACEDATA)]
3179     void replaceData(
3180             [in] long offset,
3181             [in] long Count,
3182             [in] BSTR bstrstring);
3183
3184     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
3185     long nodeType();
3186
3187     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
3188     IHTMLDOMNode *parentNode();
3189
3190     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
3191     VARIANT_BOOL hasChildNodes();
3192
3193     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
3194     IDispatch *childNodes();
3195
3196     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
3197     IDispatch *attributes();
3198
3199     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
3200     IHTMLDOMNode *insertBefore(
3201             [in] IHTMLDOMNode *newChild,
3202             [in, optional] VARIANT refChild);
3203
3204     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
3205     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
3206
3207     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
3208     IHTMLDOMNode *replaceChild(
3209             [in] IHTMLDOMNode *newChild,
3210             [in] IHTMLDOMNode *oldChild);
3211
3212     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
3213     IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
3214
3215     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
3216     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
3217
3218     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
3219     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
3220
3221     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
3222     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
3223
3224     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
3225     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
3226
3227     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
3228     BSTR nodeName();
3229
3230     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
3231     void nodeValue(VARIANT v);
3232
3233     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
3234     VARIANT nodeValue();
3235
3236     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
3237     IHTMLDOMNode *firstChild();
3238
3239     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
3240     IHTMLDOMNode *lastChild();
3241
3242     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
3243     IHTMLDOMNode *previousSibling();
3244
3245     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
3246     IHTMLDOMNode* nextSibling();
3247
3248     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
3249     IDispatch *ownerDocument();
3250 }
3251
3252 /*****************************************************************************
3253  *    IHTMLDOMChildrenCollection interface
3254  */
3255 [
3256     odl,
3257     oleautomation,
3258     dual,
3259     uuid(3050f5ab-98b5-11cf-bb82-00aa00bdce0b)
3260 ]
3261 interface IHTMLDOMChildrenCollection : IDispatch
3262 {
3263     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION_LENGTH)]
3264     HRESULT length([out, retval] long *p);
3265
3266     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION__NEWENUM), hidden, restricted]
3267     HRESULT _newEnum([out, retval] IUnknown **p);
3268
3269     [id(DISPID_IHTMLDOMCHILDRENCOLLECTION_ITEM)]
3270     HRESULT item(
3271             [in] long index,
3272             [out, retval] IDispatch **ppItem);
3273 }
3274
3275 /*****************************************************************************
3276  *    DispDOMChildrenCollection dispinterface
3277  */
3278 [
3279     hidden,
3280     uuid(3050f577-98b5-11cf-bb82-00aa00bdce0b)
3281 ]
3282 dispinterface DispDOMChildrenCollection
3283 {
3284 properties:
3285 methods:
3286     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION_LENGTH)]
3287     long length();
3288
3289     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION__NEWENUM), hidden, restricted]
3290     IUnknown *_newEnum();
3291
3292     [id(DISPID_IHTMLDOMCHILDRENCOLLECTION_ITEM)]
3293     IDispatch *item([in] long index);
3294 }
3295
3296 interface IHTMLElementCollection;
3297
3298 /*****************************************************************************
3299  *    IHTMLElement interface
3300  */
3301 [
3302     odl,
3303     dual,
3304     oleautomation,
3305     uuid(3050f1FF-98B5-11CF-BB82-00AA00BDCE0B)
3306 ]
3307 interface IHTMLElement : IDispatch
3308 {
3309     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
3310     HRESULT setAttribute(
3311         [in] BSTR strAttributeName,
3312         [in] VARIANT AttributeValue,
3313         [defaultvalue(1), in] LONG lFlags);
3314
3315     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
3316     HRESULT getAttribute(
3317         [in] BSTR strAttributeName,
3318         [defaultvalue(0), in] LONG lFlags,
3319         [retval, out] VARIANT *AttributeValue);
3320
3321     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
3322     HRESULT removeAttribute(
3323         [in] BSTR strAttributeName,
3324         [defaultvalue(1), in] LONG lFlags,
3325         [retval, out] VARIANT_BOOL *pfSuccess);
3326
3327     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME)]
3328     HRESULT className([in] BSTR v);
3329
3330     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME)]
3331     HRESULT className([retval, out] BSTR *p);
3332
3333     [propput, id(DISPID_IHTMLELEMENT_ID)]
3334     HRESULT id([in] BSTR v);
3335
3336     [propget, id(DISPID_IHTMLELEMENT_ID)]
3337     HRESULT id([retval, out] BSTR *p);
3338
3339     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
3340     HRESULT tagName([retval, out] BSTR *p);
3341
3342     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
3343     HRESULT parentElement([retval, out] IHTMLElement **p);
3344
3345     [propget, id(DISPID_IHTMLELEMENT_STYLE)]
3346     HRESULT style([retval, out] IHTMLStyle **p);
3347
3348     [propput, id(DISPID_IHTMLELEMENT_ONHELP)]
3349     HRESULT onhelp([in] VARIANT v);
3350
3351     [propget, id(DISPID_IHTMLELEMENT_ONHELP)]
3352     HRESULT onhelp([retval, out] VARIANT *p);
3353
3354     [propput, id(DISPID_IHTMLELEMENT_ONCLICK)]
3355     HRESULT onclick([in] VARIANT v);
3356
3357     [propget, id(DISPID_IHTMLELEMENT_ONCLICK)]
3358     HRESULT onclick([retval, out] VARIANT *p);
3359
3360     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK)]
3361     HRESULT ondblclick([in] VARIANT v);
3362
3363     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK)]
3364     HRESULT ondblclick([retval, out] VARIANT *p);
3365
3366     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN)]
3367     HRESULT onkeydown([in] VARIANT v);
3368
3369     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN)]
3370     HRESULT onkeydown([retval, out] VARIANT *p);
3371
3372     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP)]
3373     HRESULT onkeyup([in] VARIANT v);
3374
3375     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP)]
3376     HRESULT onkeyup([retval, out] VARIANT *p);
3377
3378     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS)]
3379     HRESULT onkeypress([in] VARIANT v);
3380
3381     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS)]
3382     HRESULT onkeypress([retval, out] VARIANT *p);
3383
3384     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT)]
3385     HRESULT onmouseout([in] VARIANT v);
3386
3387     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT)]
3388     HRESULT onmouseout([retval, out] VARIANT *p);
3389
3390     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER)]
3391     HRESULT onmouseover([in] VARIANT v);
3392
3393     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER)]
3394     HRESULT onmouseover([retval, out] VARIANT *p);
3395
3396     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE)]
3397     HRESULT onmousemove([in] VARIANT v);
3398
3399     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE)]
3400     HRESULT onmousemove([retval, out] VARIANT *p);
3401
3402     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN)]
3403     HRESULT onmousedown([in] VARIANT v);
3404
3405     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN)]
3406     HRESULT onmousedown([retval, out] VARIANT *p);
3407
3408     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP)]
3409     HRESULT onmouseup([in] VARIANT v);
3410
3411     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP)]
3412     HRESULT onmouseup([retval, out] VARIANT *p);
3413
3414     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
3415     HRESULT document([retval, out] IDispatch **p);
3416
3417     [propput, id(DISPID_IHTMLELEMENT_TITLE)]
3418     HRESULT title([in] BSTR v);
3419
3420     [propget, id(DISPID_IHTMLELEMENT_TITLE)]
3421     HRESULT title([retval, out] BSTR *p);
3422
3423     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE)]
3424     HRESULT language([in] BSTR v);
3425
3426     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE)]
3427     HRESULT language([retval, out] BSTR *p);
3428
3429     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART)]
3430     HRESULT onselectstart([in] VARIANT v);
3431
3432     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART)]
3433     HRESULT onselectstart([retval, out] VARIANT *p);
3434
3435     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
3436     HRESULT scrollIntoView([optional, in] VARIANT varargStart);
3437
3438     [id(DISPID_IHTMLELEMENT_CONTAINS)]
3439     HRESULT contains(
3440         [in] IHTMLElement *pChild,
3441         [retval, out] VARIANT_BOOL *pfResult);
3442
3443     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX)]
3444     HRESULT sourceIndex([retval, out] long *p);
3445
3446     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
3447     HRESULT recordNumber([retval, out] VARIANT *p);
3448
3449     [propput, id(DISPID_IHTMLELEMENT_LANG)]
3450     HRESULT lang([in] BSTR v);
3451
3452     [propget, id(DISPID_IHTMLELEMENT_LANG)]
3453     HRESULT lang([retval, out] BSTR *p);
3454
3455     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
3456     HRESULT offsetLeft([retval, out] long *p);
3457
3458     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
3459     HRESULT offsetTop([retval, out] long *p);
3460
3461     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
3462     HRESULT offsetWidth([retval, out] long *p);
3463
3464     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
3465     HRESULT offsetHeight([retval, out] long *p);
3466
3467     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
3468     HRESULT offsetParent([retval, out] IHTMLElement **p);
3469
3470     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
3471     HRESULT innerHTML([in] BSTR v);
3472
3473     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
3474     HRESULT innerHTML([retval, out] BSTR *p);
3475
3476     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
3477     HRESULT innerText([in] BSTR v);
3478
3479     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
3480     HRESULT innerText([retval, out] BSTR *p);
3481
3482     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
3483     HRESULT outerHTML([in] BSTR v);
3484
3485     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
3486     HRESULT outerHTML([retval, out] BSTR *p);
3487
3488     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
3489     HRESULT outerText([in] BSTR v);
3490
3491     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
3492     HRESULT outerText([retval, out] BSTR *p);
3493
3494     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
3495     HRESULT insertAdjacentHTML([in] BSTR where, [in] BSTR html);
3496
3497     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
3498     HRESULT insertAdjacentText([in] BSTR where, [in] BSTR text);
3499
3500     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
3501     HRESULT parentTextEdit([retval, out] IHTMLElement **p);
3502
3503     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
3504     HRESULT isTextEdit([retval, out] VARIANT_BOOL *p);
3505
3506     [id(DISPID_IHTMLELEMENT_CLICK)]
3507     HRESULT click();
3508
3509     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
3510     HRESULT filters([retval, out] IHTMLFiltersCollection **p);
3511
3512     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART)]
3513     HRESULT ondragstart([in] VARIANT v);
3514
3515     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART)]
3516     HRESULT ondragstart([retval, out] VARIANT *p);
3517
3518     [id(DISPID_IHTMLELEMENT_TOSTRING)]
3519     HRESULT toString([retval, out] BSTR *String);
3520
3521     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE)]
3522     HRESULT onbeforeupdate([in] VARIANT v);
3523
3524     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE)]
3525     HRESULT onbeforeupdate([retval, out] VARIANT *p);
3526
3527     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE)]
3528     HRESULT onafterupdate([in] VARIANT v);
3529
3530     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE)]
3531     HRESULT onafterupdate([retval, out] VARIANT *p);
3532
3533     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE)]
3534     HRESULT onerrorupdate([in] VARIANT v);
3535
3536     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE)]
3537     HRESULT onerrorupdate([retval, out] VARIANT *p);
3538
3539     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT)]
3540     HRESULT onrowexit([in] VARIANT v);
3541
3542     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT)]
3543     HRESULT onrowexit([retval, out] VARIANT *p);
3544
3545     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER)]
3546     HRESULT onrowenter([in] VARIANT v);
3547
3548     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER)]
3549     HRESULT onrowenter([retval, out] VARIANT *p);
3550
3551     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED)]
3552     HRESULT ondatasetchanged([in] VARIANT v);
3553
3554     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED)]
3555     HRESULT ondatasetchanged([retval, out] VARIANT *p);
3556
3557     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE)]
3558     HRESULT ondataavailable([in] VARIANT v);
3559
3560     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE)]
3561     HRESULT ondataavailable([retval, out] VARIANT *p);
3562
3563     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE)]
3564     HRESULT ondatasetcomplete([in] VARIANT v);
3565
3566     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE)]
3567     HRESULT ondatasetcomplete([retval, out] VARIANT *p);
3568
3569     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE)]
3570     HRESULT onfilterchange([in] VARIANT v);
3571
3572     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE)]
3573     HRESULT onfilterchange([retval, out] VARIANT *p);
3574
3575     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
3576     HRESULT children([retval, out] IDispatch **p);
3577
3578     [propget, id(DISPID_IHTMLELEMENT_ALL)]
3579     HRESULT all([retval, out] IDispatch **p);
3580 }
3581
3582 /*****************************************************************************
3583  *    IHTMLElement2 interface
3584  */
3585 [
3586     odl,
3587     oleautomation,
3588     dual,
3589     uuid(3050f434-98b5-11cf-bb82-00aa00bdce0b)
3590 ]
3591 interface IHTMLElement2 : IDispatch
3592 {
3593     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
3594     HRESULT scopeName([retval, out] BSTR *p);
3595
3596     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
3597     HRESULT setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
3598
3599     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
3600     HRESULT releaseCapture();
3601
3602     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
3603     HRESULT onlosecapture([in] VARIANT v);
3604
3605     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
3606     HRESULT onlosecapture([retval, out] VARIANT *p);
3607
3608     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
3609     HRESULT componentFromPoint(
3610         [in] long x,
3611         [in] long y,
3612         [retval, out] BSTR *component);
3613
3614     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
3615     HRESULT doScroll([optional, in] VARIANT component);
3616
3617     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
3618     HRESULT onscroll([in] VARIANT v);
3619
3620     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
3621     HRESULT onscroll([retval, out] VARIANT *p);
3622
3623     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
3624     HRESULT ondrag([in] VARIANT v);
3625
3626     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
3627     HRESULT ondrag([retval, out] VARIANT *p);
3628
3629     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
3630     HRESULT ondragend([in] VARIANT v);
3631
3632     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
3633     HRESULT ondragend([retval, out] VARIANT *p);
3634
3635     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
3636     HRESULT ondragenter([in] VARIANT v);
3637
3638     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
3639     HRESULT ondragenter([retval, out] VARIANT *p);
3640
3641     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
3642     HRESULT ondragover([in] VARIANT v);
3643
3644     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
3645     HRESULT ondragover([retval, out] VARIANT *p);
3646
3647     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
3648     HRESULT ondragleave([in] VARIANT v);
3649
3650     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
3651     HRESULT ondragleave([retval, out] VARIANT *p);
3652
3653     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
3654     HRESULT ondrop([in] VARIANT v);
3655
3656     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
3657     HRESULT ondrop([retval, out] VARIANT *p);
3658
3659     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
3660     HRESULT onbeforecut([in] VARIANT v);
3661
3662     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
3663     HRESULT onbeforecut([retval, out] VARIANT *p);
3664
3665     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
3666     HRESULT oncut([in] VARIANT v);
3667
3668     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
3669     HRESULT oncut([retval, out] VARIANT *p);
3670
3671     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
3672     HRESULT onbeforecopy([in] VARIANT v);
3673
3674     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
3675     HRESULT onbeforecopy([retval, out] VARIANT *p);
3676
3677     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
3678     HRESULT oncopy([in] VARIANT v);
3679
3680     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
3681     HRESULT oncopy([retval, out] VARIANT *p);
3682
3683     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
3684     HRESULT onbeforepaste([in] VARIANT v);
3685
3686     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
3687     HRESULT onbeforepaste([retval, out] VARIANT *p);
3688
3689     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
3690     HRESULT onpaste([in] VARIANT v);
3691
3692     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
3693     HRESULT onpaste([retval, out] VARIANT *p);
3694
3695     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
3696     HRESULT currentStyle([retval, out] IHTMLCurrentStyle **p);
3697
3698     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
3699     HRESULT onpropertychange([in] VARIANT v);
3700
3701     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
3702     HRESULT onpropertychange([retval, out] VARIANT *p);
3703
3704     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
3705     HRESULT getClientRects([retval, out] IHTMLRectCollection **pRectCol);
3706
3707     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
3708     HRESULT getBoundingClientRect([retval, out] IHTMLRect **pRect);
3709
3710     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
3711     HRESULT setExpression(
3712         [in] BSTR propname,
3713         [in] BSTR expression,
3714         [defaultvalue(""), in] BSTR language);
3715
3716     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
3717     HRESULT getExpression(
3718         [in] BSTR propname,
3719         [retval, out] VARIANT *expression);
3720
3721     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
3722     HRESULT removeExpression(
3723         [in] BSTR propname,
3724         [retval, out] VARIANT_BOOL *pfSuccess);
3725
3726     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
3727     HRESULT tabIndex([in] short v);
3728
3729     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
3730     HRESULT tabIndex([retval, out] short *p);
3731
3732     [id(DISPID_IHTMLELEMENT2_FOCUS)]
3733     HRESULT focus();
3734
3735     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
3736     HRESULT accessKey([in] BSTR v);
3737
3738     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
3739     HRESULT accessKey([retval, out] BSTR *p);
3740
3741     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
3742     HRESULT onblur([in] VARIANT v);
3743
3744     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
3745     HRESULT onblur([retval, out] VARIANT *p);
3746
3747     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
3748     HRESULT onfocus([in] VARIANT v);
3749
3750     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
3751     HRESULT onfocus([retval, out] VARIANT *p);
3752
3753     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
3754     HRESULT onresize([in] VARIANT v);
3755
3756     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
3757     HRESULT onresize([retval, out] VARIANT *p);
3758
3759     [id(DISPID_IHTMLELEMENT2_BLUR)]
3760     HRESULT blur();
3761
3762     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
3763     HRESULT addFilter([in] IUnknown *pUnk);
3764
3765     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
3766     HRESULT removeFilter([in] IUnknown *pUnk);
3767
3768     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
3769     HRESULT clientHeight([retval, out] long *p);
3770
3771     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
3772     HRESULT clientWidth([retval, out] long *p);
3773
3774     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
3775     HRESULT clientTop([retval, out] long *p);
3776
3777     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
3778     HRESULT clientLeft([retval, out] long *p);
3779
3780     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
3781     HRESULT attachEvent(
3782         [in] BSTR event,
3783         [in] IDispatch *pDisp,
3784         [retval, out] VARIANT_BOOL *pfResult);
3785
3786     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
3787     HRESULT detachEvent(
3788         [in] BSTR event,
3789         [in] IDispatch *pDisp);
3790
3791     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
3792     HRESULT readyState([retval, out] VARIANT *p);
3793
3794     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
3795     HRESULT onreadystatechange([in] VARIANT v);
3796
3797     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
3798     HRESULT onreadystatechange([retval, out] VARIANT *p);
3799
3800     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
3801     HRESULT onrowsdelete([in] VARIANT v);
3802
3803     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
3804     HRESULT onrowsdelete([retval, out] VARIANT *p);
3805
3806     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
3807     HRESULT onrowsinserted([in] VARIANT v);
3808
3809     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
3810     HRESULT onrowsinserted([retval, out] VARIANT *p);
3811
3812     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
3813     HRESULT oncellchange([in] VARIANT v);
3814
3815     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
3816     HRESULT oncellchange([retval, out] VARIANT *p);
3817
3818     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
3819     HRESULT dir([in] BSTR v);
3820
3821     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
3822     HRESULT dir([retval, out] BSTR *p);
3823
3824     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
3825     HRESULT createControlRange([retval, out] IDispatch **range);
3826
3827     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
3828     HRESULT scrollHeight([retval, out] long *p);
3829
3830     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
3831     HRESULT scrollWidth([retval, out] long *p);
3832
3833     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
3834     HRESULT scrollTop([in] long v);
3835
3836     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
3837     HRESULT scrollTop([retval, out] long *p);
3838
3839     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
3840     HRESULT scrollLeft([in] long v);
3841
3842     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
3843     HRESULT scrollLeft([retval, out] long *p);
3844
3845     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
3846     HRESULT clearAttributes();
3847
3848     [id(DISPID_IHTMLELEMENT2_MERGEATTRIBUTES)]
3849     HRESULT mergeAttributes([in] IHTMLElement *mergeThis);
3850
3851     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
3852     HRESULT oncontextmenu([in] VARIANT v);
3853
3854     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
3855     HRESULT oncontextmenu([retval, out] VARIANT *p);
3856
3857     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
3858     HRESULT insertAdjacentElement(
3859         [in] BSTR where,
3860         [in] IHTMLElement *insertedElement,
3861         [retval, out] IHTMLElement **inserted);
3862
3863     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
3864     HRESULT applyElement(
3865         [in] IHTMLElement *apply,
3866         [in] BSTR where,
3867         [retval, out] IHTMLElement **applied);
3868
3869     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
3870     HRESULT getAdjacentText(
3871         [in] BSTR where,
3872         [retval, out] BSTR *text);
3873
3874     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
3875     HRESULT replaceAdjacentText(
3876         [in] BSTR where,
3877         [in] BSTR newText,
3878         [retval, out] BSTR *oldText);
3879
3880     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
3881     HRESULT canHaveChildren([retval, out] VARIANT_BOOL *p);
3882
3883     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
3884     HRESULT addBehavior(
3885         [in] BSTR bstrUrl,
3886         [optional, in] VARIANT *pvarFactory,
3887         [retval, out] long *pCookie);
3888
3889     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
3890     HRESULT removeBehavior(
3891         [in] long cookie,
3892         [retval, out] VARIANT_BOOL *pfResult);
3893
3894     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
3895     HRESULT runtimeStyle([retval, out] IHTMLStyle **p);
3896
3897     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
3898     HRESULT behaviorUrns([retval, out] IDispatch **p);
3899
3900     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
3901     HRESULT tagUrn([in] BSTR v);
3902
3903     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
3904     HRESULT tagUrn([retval, out] BSTR *p);
3905
3906     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
3907     HRESULT onbeforeeditfocus([in] VARIANT v);
3908
3909     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
3910     HRESULT onbeforeeditfocus([retval, out] VARIANT *p);
3911
3912     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
3913     HRESULT readyStateValue([retval, out] long *p);
3914
3915     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
3916     HRESULT getElementsByTagName(
3917         [in] BSTR v,
3918         [retval, out] IHTMLElementCollection **pelColl);
3919 }
3920
3921
3922 /*****************************************************************************
3923  *    IHTMLElement3 interface
3924  */
3925 [
3926     odl,
3927     oleautomation,
3928     dual,
3929     uuid(3050f673-98b5-11cf-bb82-00aa00bdce0b)
3930 ]
3931 interface IHTMLElement3 : IDispatch
3932 {
3933     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)] HRESULT mergeAttributes([in]
3934     IHTMLElement* mergeThis,[optional, in] VARIANT* pvarFlags);
3935
3936     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
3937     HRESULT isMultiLine([retval, out] VARIANT_BOOL * p);
3938
3939     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
3940     HRESULT canHaveHTML([retval, out] VARIANT_BOOL * p);
3941
3942     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
3943     HRESULT onlayoutcomplete([in] VARIANT v);
3944
3945     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
3946     HRESULT onlayoutcomplete([retval, out] VARIANT * p);
3947
3948     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
3949     HRESULT onpage([in] VARIANT v);
3950
3951     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
3952     HRESULT onpage([retval, out] VARIANT * p);
3953
3954     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
3955     HRESULT inflateBlock([in] VARIANT_BOOL v);
3956
3957     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
3958     HRESULT inflateBlock([retval, out] VARIANT_BOOL * p);
3959
3960     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
3961     HRESULT onbeforedeactivate([in] VARIANT v);
3962
3963     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
3964     HRESULT onbeforedeactivate([retval, out] VARIANT * p);
3965
3966     [id(DISPID_IHTMLELEMENT3_SETACTIVE)] HRESULT setActive();
3967
3968     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
3969     HRESULT contentEditable([in] BSTR v);
3970
3971     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
3972     HRESULT contentEditable([retval, out] BSTR * p);
3973
3974     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
3975     HRESULT isContentEditable([retval, out] VARIANT_BOOL * p);
3976
3977     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
3978     HRESULT hideFocus([in] VARIANT_BOOL v);
3979
3980     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
3981     HRESULT hideFocus([retval, out] VARIANT_BOOL * p);
3982
3983     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
3984     HRESULT disabled([in] VARIANT_BOOL v);
3985
3986     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
3987     HRESULT disabled([retval, out] VARIANT_BOOL * p);
3988
3989     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
3990     HRESULT isDisabled([retval, out] VARIANT_BOOL * p);
3991
3992     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
3993     HRESULT onmove([in] VARIANT v);
3994
3995     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
3996     HRESULT onmove([retval, out] VARIANT * p);
3997
3998     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
3999     HRESULT oncontrolselect([in] VARIANT v);
4000
4001     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
4002     HRESULT oncontrolselect([retval, out] VARIANT * p);
4003
4004     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
4005     HRESULT fireEvent(
4006         [in] BSTR bstrEventName,
4007         [optional, in] VARIANT* pvarEventObject,
4008         [retval, out] VARIANT_BOOL* pfCancelled);
4009
4010     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
4011     HRESULT onresizestart([in] VARIANT v);
4012
4013     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
4014     HRESULT onresizestart([retval, out] VARIANT * p);
4015
4016     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
4017     HRESULT onresizeend([in] VARIANT v);
4018
4019     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
4020     HRESULT onresizeend([retval, out] VARIANT * p);
4021
4022     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
4023     HRESULT onmovestart([in] VARIANT v);
4024
4025     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
4026     HRESULT onmovestart([retval, out] VARIANT * p);
4027
4028     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
4029     HRESULT onmoveend([in] VARIANT v);
4030
4031     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
4032     HRESULT onmoveend([retval, out] VARIANT * p);
4033
4034     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
4035     HRESULT onmouseenter([in] VARIANT v);
4036
4037     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
4038     HRESULT onmouseenter([retval, out] VARIANT * p);
4039
4040     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
4041     HRESULT onmouseleave([in] VARIANT v);
4042
4043     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
4044     HRESULT onmouseleave([retval, out] VARIANT * p);
4045
4046     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
4047     HRESULT onactivate([in] VARIANT v);
4048
4049     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
4050     HRESULT onactivate([retval, out] VARIANT * p);
4051
4052     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
4053     HRESULT ondeactivate([in] VARIANT v);
4054
4055     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
4056     HRESULT ondeactivate([retval, out] VARIANT * p);
4057
4058     [id(DISPID_IHTMLELEMENT3_DRAGDROP)] HRESULT dragDrop([retval, out]
4059     VARIANT_BOOL* pfRet);
4060
4061     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
4062     HRESULT glyphMode([retval, out] LONG * p);
4063 };
4064 /*****************************************************************************
4065  *    IHTMLElement4 interface
4066  */
4067 [
4068     odl,
4069     oleautomation,
4070     dual,
4071     uuid(3050f80f-98b5-11cf-bb82-00aa00bdce0b)
4072 ]
4073 interface IHTMLElement4 : IDispatch
4074 {
4075     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
4076     HRESULT onmousewheel([in] VARIANT v);
4077
4078     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
4079     HRESULT onmousewheel([retval, out] VARIANT * p);
4080
4081     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
4082     HRESULT normalize();
4083
4084     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
4085     HRESULT getAttributeNode([in] BSTR bstrname,
4086         [retval, out] IHTMLDOMAttribute** ppAttribute);
4087
4088     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
4089     HRESULT setAttributeNode(
4090         [in] IHTMLDOMAttribute* pattr,
4091         [retval, out] IHTMLDOMAttribute** ppretAttribute);
4092
4093     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
4094     HRESULT removeAttributeNode(
4095         [in] IHTMLDOMAttribute* pattr,
4096         [retval, out] IHTMLDOMAttribute** ppretAttribute);
4097
4098     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
4099     HRESULT onbeforeactivate([in] VARIANT v);
4100
4101     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
4102     HRESULT onbeforeactivate([retval, out] VARIANT * p);
4103
4104     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
4105     HRESULT onfocusin([in] VARIANT v);
4106
4107     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
4108     HRESULT onfocusin([retval, out] VARIANT * p);
4109
4110     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
4111     HRESULT onfocusout([in] VARIANT v);
4112
4113     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
4114     HRESULT onfocusout([retval, out] VARIANT * p);
4115 };
4116
4117 /*****************************************************************************
4118  *    IHTMLGenericElement interface
4119  */
4120 [
4121     odl,
4122     oleautomation,
4123     dual,
4124     uuid(3050f4b7-98b5-11cf-bb82-00aa00bdce0b)
4125 ]
4126 interface IHTMLGenericElement : IDispatch
4127 {
4128     [propget, id(DISPID_IHTMLGENERICELEMENT_RECORDSET), hidden]
4129     HRESULT recordset([out, retval] IDispatch **p);
4130
4131     [id(DISPID_IHTMLGENERICELEMENT_NAMEDRECORDSET)]
4132     HRESULT namedRecordset(
4133             [in] BSTR dataMember,
4134             [in, optional] VARIANT *hierarchy,
4135             [out, retval] IDispatch **ppRecordset);
4136 }
4137
4138 /*****************************************************************************
4139  *    DispHTMLGenericElement dispinterface
4140  */
4141 [
4142     hidden,
4143     uuid(3050f563-98b5-11cf-bb82-00aa00bdce0b)
4144 ]
4145 dispinterface DispHTMLGenericElement
4146 {
4147 properties:
4148 methods:
4149     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
4150     void setAttribute(
4151             [in] BSTR strAttributeName,
4152             [in] VARIANT AttributeValue,
4153             [in, defaultvalue(1)] LONG lFlags);
4154
4155     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
4156     VARIANT getAttribute(
4157              [in] BSTR strAttributeName,
4158              [in, defaultvalue(0)] LONG lFlags);
4159
4160     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
4161     VARIANT_BOOL removeAttribute(
4162             [in] BSTR strAttributeName,
4163             [in, defaultvalue(1)] LONG lFlags);
4164
4165     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
4166     void className(BSTR v);
4167
4168     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
4169     BSTR className();
4170
4171     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
4172     void id(BSTR v);
4173
4174     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
4175     BSTR id();
4176
4177     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
4178     BSTR tagName();
4179
4180     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
4181     IHTMLElement *parentElement();
4182
4183     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
4184     IHTMLStyle *style();
4185
4186     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
4187     void onhelp(VARIANT v);
4188
4189     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
4190     VARIANT onhelp();
4191
4192     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
4193     void onclick(VARIANT v);
4194
4195     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
4196     VARIANT onclick();
4197
4198     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
4199     void ondblclick(VARIANT v);
4200
4201     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
4202     VARIANT ondblclick();
4203
4204     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
4205     void onkeydown(VARIANT v);
4206
4207     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
4208     VARIANT onkeydown();
4209
4210     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
4211     void onkeyup(VARIANT v);
4212
4213     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
4214     VARIANT onkeyup();
4215
4216     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
4217     void onkeypress(VARIANT v);
4218
4219     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
4220     VARIANT onkeypress();
4221
4222     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
4223     void onmouseout(VARIANT v);
4224
4225     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
4226     VARIANT onmouseout();
4227
4228     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
4229     void onmouseover(VARIANT v);
4230
4231     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
4232     VARIANT onmouseover();
4233
4234     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
4235     void onmousemove(VARIANT v);
4236
4237     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
4238     VARIANT onmousemove();
4239
4240     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
4241     void onmousedown(VARIANT v);
4242
4243     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
4244     VARIANT onmousedown();
4245
4246     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
4247     void onmouseup(VARIANT v);
4248
4249     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
4250     VARIANT onmouseup();
4251
4252     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
4253     IDispatch *document();
4254
4255     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
4256     void title(BSTR v);
4257
4258     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
4259     BSTR title();
4260
4261     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
4262     void language(BSTR v);
4263
4264     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
4265     BSTR language();
4266
4267     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
4268     void onselectstart(VARIANT v);
4269
4270     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
4271     VARIANT onselectstart();
4272
4273     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
4274     void scrollIntoView([in, optional] VARIANT varargStart);
4275
4276     [id(DISPID_IHTMLELEMENT_CONTAINS)]
4277     VARIANT_BOOL contains([in] IHTMLElement *pChild);
4278
4279     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
4280     long sourceIndex();
4281
4282     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
4283     VARIANT recordNumber();
4284
4285     [propput, id(DISPID_IHTMLELEMENT_LANG)]
4286     void lang(BSTR v);
4287
4288     [propget, id(DISPID_IHTMLELEMENT_LANG)]
4289     BSTR lang();
4290
4291     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
4292     long offsetLeft();
4293
4294     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
4295     long offsetTop();
4296
4297     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
4298     long offsetWidth();
4299
4300     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
4301     long offsetHeight();
4302
4303     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
4304     IHTMLElement *offsetParent();
4305
4306     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
4307     void innerHTML(BSTR v);
4308
4309     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
4310     BSTR innerHTML();
4311
4312     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
4313     void innerText(BSTR v);
4314
4315     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
4316     BSTR innerText();
4317
4318     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
4319     void outerHTML(BSTR v);
4320
4321     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
4322     BSTR outerHTML();
4323
4324     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
4325     void outerText(BSTR v);
4326
4327     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
4328     BSTR outerText();
4329
4330     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
4331     void insertAdjacentHTML(
4332             [in] BSTR where,
4333             [in] BSTR html);
4334
4335     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
4336     void insertAdjacentText(
4337             [in] BSTR where,
4338             [in] BSTR text);
4339
4340     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
4341     IHTMLElement *parentTextEdit();
4342
4343     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
4344     VARIANT_BOOL isTextEdit();
4345
4346     [id(DISPID_IHTMLELEMENT_CLICK)]
4347     void click();
4348
4349     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
4350     IHTMLFiltersCollection *filters();
4351
4352     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
4353     void ondragstart(VARIANT v);
4354
4355     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
4356     VARIANT ondragstart();
4357
4358     [id(DISPID_IHTMLELEMENT_TOSTRING)]
4359     BSTR toString();
4360
4361     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
4362     void onbeforeupdate(VARIANT v);
4363
4364     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
4365     VARIANT onbeforeupdate();
4366
4367     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
4368     void onafterupdate(VARIANT v);
4369
4370     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
4371     VARIANT onafterupdate();
4372
4373     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
4374     void onerrorupdate(VARIANT v);
4375
4376     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
4377     VARIANT onerrorupdate();
4378
4379     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
4380     void onrowexit(VARIANT v);
4381
4382     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
4383     VARIANT onrowexit();
4384
4385     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
4386     void onrowenter(VARIANT v);
4387
4388     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
4389     VARIANT onrowenter();
4390
4391     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
4392     void ondatasetchanged(VARIANT v);
4393
4394     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
4395     VARIANT ondatasetchanged();
4396
4397     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
4398     void ondataavailable(VARIANT v);
4399
4400     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
4401     VARIANT ondataavailable();
4402
4403     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
4404     void ondatasetcomplete(VARIANT v);
4405
4406     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
4407     VARIANT ondatasetcomplete();
4408
4409     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
4410     void onfilterchange(VARIANT v);
4411
4412     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
4413     VARIANT onfilterchange();
4414
4415     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
4416     IDispatch *children();
4417
4418     [propget, id(DISPID_IHTMLELEMENT_ALL)]
4419     IDispatch *all();
4420
4421     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
4422     BSTR scopeName();
4423
4424     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
4425     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
4426
4427     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
4428     void releaseCapture();
4429
4430     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
4431     void onlosecapture(VARIANT v);
4432
4433     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
4434     VARIANT onlosecapture();
4435
4436     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
4437     BSTR componentFromPoint(
4438             [in] long x,
4439             [in] long y);
4440
4441     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
4442     void doScroll([in, optional] VARIANT component);
4443
4444     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
4445     void onscroll(VARIANT v);
4446
4447     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
4448     VARIANT onscroll();
4449
4450     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
4451     void ondrag(VARIANT v);
4452
4453     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
4454     VARIANT ondrag();
4455
4456     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
4457     void ondragend(VARIANT v);
4458
4459     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
4460     VARIANT ondragend();
4461
4462     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
4463     void ondragenter(VARIANT v);
4464
4465     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
4466     VARIANT ondragenter();
4467
4468     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
4469     void ondragover(VARIANT v);
4470
4471     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
4472     VARIANT ondragover();
4473
4474     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
4475     void ondragleave(VARIANT v);
4476
4477     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
4478     VARIANT ondragleave();
4479
4480     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
4481     void ondrop(VARIANT v);
4482
4483     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
4484     VARIANT ondrop();
4485
4486     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
4487     void onbeforecut(VARIANT v);
4488
4489     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
4490     VARIANT onbeforecut();
4491
4492     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
4493     void oncut(VARIANT v);
4494
4495     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
4496     VARIANT oncut();
4497
4498     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
4499     void onbeforecopy(VARIANT v);
4500
4501     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
4502     VARIANT onbeforecopy();
4503
4504     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
4505     void oncopy(VARIANT v);
4506
4507     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
4508     VARIANT oncopy();
4509
4510     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
4511     void onbeforepaste(VARIANT v);
4512
4513     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
4514     VARIANT onbeforepaste();
4515
4516     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
4517     void onpaste(VARIANT v);
4518
4519     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
4520     VARIANT onpaste();
4521
4522     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
4523     IHTMLCurrentStyle *currentStyle();
4524
4525     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
4526     void onpropertychange(VARIANT v);
4527
4528     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
4529     VARIANT onpropertychange();
4530
4531     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
4532     IHTMLRectCollection *getClientRects();
4533
4534     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
4535     IHTMLRect *getBoundingClientRect();
4536
4537     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
4538     void setExpression(
4539             [in] BSTR propname,
4540             [in] BSTR expression,
4541             [in, defaultvalue("")] BSTR language);
4542
4543     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
4544     VARIANT getExpression([in] BSTR propname);
4545
4546     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
4547     VARIANT_BOOL removeExpression([in] BSTR propname);
4548
4549     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
4550     void tabIndex(short v);
4551
4552     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
4553     short tabIndex();
4554
4555     [id(DISPID_IHTMLELEMENT2_FOCUS)]
4556     void focus();
4557
4558     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
4559     void accessKey(BSTR v);
4560
4561     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
4562     BSTR accessKey();
4563
4564     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
4565     void onblur(VARIANT v);
4566
4567     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
4568     VARIANT onblur();
4569
4570     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
4571     void onfocus(VARIANT v);
4572
4573     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
4574     VARIANT onfocus();
4575
4576     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
4577     void onresize(VARIANT v);
4578
4579     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
4580     VARIANT onresize();
4581
4582     [id(DISPID_IHTMLELEMENT2_BLUR)]
4583     void blur();
4584
4585     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
4586     void addFilter([in] IUnknown *pUnk);
4587
4588     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
4589     void removeFilter([in] IUnknown *pUnk);
4590
4591     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
4592     long clientHeight();
4593
4594     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
4595     long clientWidth();
4596
4597     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
4598     long clientTop();
4599
4600     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
4601     long clientLeft();
4602
4603     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
4604     VARIANT_BOOL attachEvent(
4605             [in] BSTR event,
4606             [in] IDispatch *pDisp);
4607
4608     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
4609     void detachEvent(
4610             [in] BSTR event,
4611             [in] IDispatch *pDisp);
4612
4613     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
4614     VARIANT readyState();
4615
4616     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
4617     void onreadystatechange(VARIANT v);
4618
4619     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
4620     VARIANT onreadystatechange();
4621
4622     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
4623     void onrowsdelete(VARIANT v);
4624
4625     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
4626     VARIANT onrowsdelete();
4627
4628     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
4629     void onrowsinserted(VARIANT v);
4630
4631     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
4632      VARIANT onrowsinserted();
4633
4634     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
4635      void oncellchange(VARIANT v);
4636
4637     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
4638     VARIANT oncellchange();
4639
4640     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
4641     void dir(BSTR v);
4642
4643     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
4644     BSTR dir();
4645
4646     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
4647     IDispatch *createControlRange();
4648
4649     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
4650     long scrollHeight();
4651
4652     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
4653     long scrollWidth();
4654
4655     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
4656     void scrollTop(long v);
4657
4658     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
4659     long scrollTop();
4660
4661     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
4662     void scrollLeft(long v);
4663
4664     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
4665     long scrollLeft();
4666
4667     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
4668     void clearAttributes();
4669
4670     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
4671     void oncontextmenu(VARIANT v);
4672
4673     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
4674     VARIANT oncontextmenu();
4675
4676     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
4677     IHTMLElement *insertAdjacentElement(
4678             [in] BSTR where,
4679             [in] IHTMLElement *insertedElement);
4680
4681     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
4682     IHTMLElement *applyElement(
4683             [in] IHTMLElement *apply,
4684             [in] BSTR where);
4685
4686     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
4687     BSTR getAdjacentText([in] BSTR where);
4688
4689     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
4690     BSTR replaceAdjacentText(
4691             [in] BSTR where,
4692             [in] BSTR newText);
4693
4694     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
4695     VARIANT_BOOL canHaveChildren();
4696
4697     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
4698     long addBehavior(
4699             [in] BSTR bstrUrl,
4700             [in, optional] VARIANT *pvarFactory);
4701
4702     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
4703     VARIANT_BOOL removeBehavior([in] long cookie);
4704
4705     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
4706     IHTMLStyle *runtimeStyle();
4707
4708     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
4709     IDispatch *behaviorUrns();
4710
4711     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
4712     void tagUrn(BSTR v);
4713
4714     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
4715     BSTR tagUrn();
4716
4717     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
4718     void onbeforeeditfocus(VARIANT v);
4719
4720     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
4721     VARIANT onbeforeeditfocus();
4722
4723     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
4724     long readyStateValue();
4725
4726     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
4727     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
4728
4729     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
4730     void mergeAttributes(
4731             [in] IHTMLElement *mergeThis,
4732             [in, optional] VARIANT *pvarFlags);
4733
4734     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
4735     VARIANT_BOOL isMultiLine();
4736
4737     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
4738     VARIANT_BOOL canHaveHTML();
4739
4740     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
4741     void onlayoutcomplete(VARIANT v);
4742
4743     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
4744     VARIANT onlayoutcomplete();
4745
4746     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
4747     void onpage(VARIANT v);
4748
4749     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
4750     VARIANT onpage();
4751
4752     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
4753     void inflateBlock(VARIANT_BOOL v);
4754
4755     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
4756     VARIANT_BOOL inflateBlock();
4757
4758     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
4759     void onbeforedeactivate(VARIANT v);
4760
4761     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
4762     VARIANT onbeforedeactivate();
4763
4764     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
4765     void setActive();
4766
4767     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
4768     void contentEditable(BSTR v);
4769
4770     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
4771     BSTR contentEditable();
4772
4773     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
4774     VARIANT_BOOL isContentEditable();
4775
4776     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
4777     void hideFocus(VARIANT_BOOL v);
4778
4779     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
4780     VARIANT_BOOL hideFocus();
4781
4782     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
4783     void disabled(VARIANT_BOOL v);
4784
4785     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
4786     VARIANT_BOOL disabled();
4787
4788     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
4789     VARIANT_BOOL isDisabled();
4790
4791     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
4792     void onmove(VARIANT v);
4793
4794     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
4795     VARIANT onmove();
4796
4797     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
4798     void oncontrolselect(VARIANT v);
4799
4800     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
4801     VARIANT oncontrolselect();
4802
4803     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
4804     VARIANT_BOOL fireEvent(
4805             [in] BSTR bstrEventName,
4806             [in, optional] VARIANT *pvarEventObject);
4807
4808     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
4809     void onresizestart(VARIANT v);
4810
4811     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
4812     VARIANT onresizestart();
4813
4814     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
4815     void onresizeend(VARIANT v);
4816
4817     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
4818     VARIANT onresizeend();
4819
4820     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
4821     void onmovestart(VARIANT v);
4822
4823     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
4824     VARIANT onmovestart();
4825
4826     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
4827     void onmoveend(VARIANT v);
4828
4829     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
4830     VARIANT onmoveend();
4831
4832     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
4833     void onmouseenter(VARIANT v);
4834
4835     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
4836     VARIANT onmouseenter();
4837
4838     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
4839     void onmouseleave(VARIANT v);
4840
4841     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
4842     VARIANT onmouseleave();
4843
4844     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
4845     void onactivate(VARIANT v);
4846
4847     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
4848     VARIANT onactivate();
4849
4850     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
4851     void ondeactivate(VARIANT v);
4852
4853     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
4854     VARIANT ondeactivate();
4855
4856     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
4857     VARIANT_BOOL dragDrop();
4858
4859     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
4860     LONG glyphMode();
4861
4862     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
4863     void onmousewheel(VARIANT v);
4864
4865     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
4866     VARIANT onmousewheel();
4867
4868     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
4869     void normalize();
4870
4871     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
4872     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
4873
4874     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
4875     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
4876
4877     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
4878     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
4879
4880     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
4881     void onbeforeactivate(VARIANT v);
4882
4883     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
4884     VARIANT onbeforeactivate();
4885
4886     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
4887     void onfocusin(VARIANT v);
4888
4889     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
4890     VARIANT onfocusin();
4891
4892     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
4893     void onfocusout(VARIANT v);
4894
4895     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
4896     VARIANT onfocusout();
4897
4898     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
4899     long uniqueNumber();
4900
4901     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
4902     BSTR uniqueID();
4903
4904     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
4905     long nodeType();
4906
4907     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
4908     IHTMLDOMNode *parentNode();
4909
4910     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
4911     VARIANT_BOOL hasChildNodes();
4912
4913     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
4914     IDispatch *childNodes();
4915
4916     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
4917     IDispatch *attributes();
4918
4919     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
4920     IHTMLDOMNode *insertBefore(
4921             [in] IHTMLDOMNode *newChild,
4922             [in, optional] VARIANT refChild);
4923
4924     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
4925     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
4926
4927     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
4928     IHTMLDOMNode *replaceChild(
4929             [in] IHTMLDOMNode *newChild,
4930             [in] IHTMLDOMNode *oldChild);
4931
4932     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
4933     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
4934
4935     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
4936     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
4937
4938     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
4939     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
4940
4941     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
4942     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
4943
4944     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
4945     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
4946
4947     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
4948     BSTR nodeName();
4949
4950     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
4951     void nodeValue(VARIANT v);
4952
4953     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
4954     VARIANT nodeValue();
4955
4956     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
4957     IHTMLDOMNode *firstChild();
4958
4959     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
4960     IHTMLDOMNode *lastChild();
4961
4962     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
4963     IHTMLDOMNode *previousSibling();
4964
4965     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
4966     IHTMLDOMNode *nextSibling();
4967
4968     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
4969     IDispatch *ownerDocument();
4970
4971     [propget, id(DISPID_IHTMLGENERICELEMENT_RECORDSET), hidden]
4972     IDispatch *recordset();
4973
4974     [id(DISPID_IHTMLGENERICELEMENT_NAMEDRECORDSET)]
4975     IDispatch *namedRecordset(
4976             [in] BSTR dataMember,
4977             [in, optional] VARIANT *hierarchy);
4978 }
4979
4980 /*****************************************************************************
4981  *    IHTMLStyleSheetRule interface
4982  */
4983 [
4984     odl,
4985     oleautomation,
4986     dual,
4987     uuid(3050F357-98B5-11CF-BB82-00AA00BDCE0B)
4988 ]
4989 interface IHTMLStyleSheetRule : IDispatch
4990 {
4991     [propput, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)]
4992     HRESULT selectorText([in] BSTR v);
4993
4994     [propget, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)]
4995     HRESULT selectorText([retval, out] BSTR *p);
4996
4997     [propget, id(DISPID_IHTMLSTYLESHEETRULE_STYLE)]
4998     HRESULT style([retval, out] IHTMLRuleStyle **p);
4999
5000     [propget, id(DISPID_IHTMLSTYLESHEETRULE_READONLY)]
5001     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
5002 }
5003
5004 /*****************************************************************************
5005  *    IHTMLStyleSheetRulesCollection interface
5006  */
5007 [
5008     odl,
5009     oleautomation,
5010     dual,
5011     uuid(3050F2E5-98B5-11Cf-BB82-00AA00BDCE0B)
5012 ]
5013 interface IHTMLStyleSheetRulesCollection : IDispatch
5014 {
5015     [propget, id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_LENGTH)]
5016     HRESULT length([retval, out] long *p);
5017
5018     [id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_ITEM)]
5019     HRESULT item(
5020         [in] long index,
5021         [retval, out] IHTMLStyleSheetRule **ppHTMLStyleSheetRule);
5022 }
5023
5024 /*****************************************************************************
5025  *    IHTMLStyleSheet interface
5026  */
5027 [
5028     odl,
5029     oleautomation,
5030     dual,
5031     uuid(3050F2E3-98B5-11CF-BB82-00AA00BDCE0B)
5032 ]
5033 interface IHTMLStyleSheet : IDispatch
5034 {
5035     [propput, id(DISPID_IHTMLSTYLESHEET_TITLE)]
5036     HRESULT title([in] BSTR v);
5037
5038     [propget, id(DISPID_IHTMLSTYLESHEET_TITLE)]
5039     HRESULT title([retval, out] BSTR *p);
5040
5041     [propget, id(DISPID_IHTMLSTYLESHEET_PARENTSTYLESHEET)]
5042     HRESULT parentStyleSheet([retval, out] IHTMLStyleSheet **p);
5043
5044     [propget, id(DISPID_IHTMLSTYLESHEET_OWNINGELEMENT)]
5045     HRESULT owningElement([retval, out] IHTMLElement **p);
5046
5047     [propput, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
5048     HRESULT disabled([in] VARIANT_BOOL v);
5049
5050     [propget, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
5051     HRESULT disabled([retval, out] VARIANT_BOOL *p);
5052
5053     [propget, id(DISPID_IHTMLSTYLESHEET_READONLY)]
5054     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
5055
5056     [propget, id(DISPID_IHTMLSTYLESHEET_IMPORTS)]
5057     HRESULT imports([retval, out] IHTMLStyleSheetsCollection **p);
5058
5059     [propput, id(DISPID_IHTMLSTYLESHEET_HREF)]
5060     HRESULT href([in] BSTR v);
5061
5062     [propget, id(DISPID_IHTMLSTYLESHEET_HREF)]
5063     HRESULT href([retval, out] BSTR *p);
5064
5065     [propget, id(DISPID_IHTMLSTYLESHEET_TYPE)]
5066     HRESULT type([retval, out] BSTR *p);
5067
5068     [propget, id(DISPID_IHTMLSTYLESHEET_ID)]
5069     HRESULT id([retval, out] BSTR *p);
5070
5071     [id(DISPID_IHTMLSTYLESHEET_ADDIMPORT)]
5072     HRESULT addImport(
5073         [in] BSTR bstrURL,
5074         [defaultvalue(-1), in] long lIndex,
5075         [retval, out] long *plIndex);
5076
5077     [id(DISPID_IHTMLSTYLESHEET_ADDRULE)]
5078     HRESULT addRule(
5079         [in] BSTR bstrSelector,
5080         [in] BSTR bstrStyle,
5081         [defaultvalue(-1), in] long lIndex,
5082         [retval, out] long *plNewIndex);
5083
5084     [id(DISPID_IHTMLSTYLESHEET_REMOVEIMPORT)]
5085     HRESULT removeImport([in] long lIndex);
5086
5087     [id(DISPID_IHTMLSTYLESHEET_REMOVERULE)]
5088     HRESULT removeRule([in] long lIndex);
5089
5090     [propput, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
5091     HRESULT media([in] BSTR v);
5092
5093     [propget, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
5094     HRESULT media([retval, out] BSTR *p);
5095
5096     [propput, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
5097     HRESULT cssText([in] BSTR v);
5098
5099     [propget, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
5100     HRESULT cssText([retval, out] BSTR *p);
5101
5102     [propget, id(DISPID_IHTMLSTYLESHEET_RULES)]
5103     HRESULT rules([retval, out] IHTMLStyleSheetRulesCollection **p);
5104 }
5105
5106 /*****************************************************************************
5107  *    IHTMLStyleSheetsCollection interface
5108  */
5109 [
5110     odl,
5111     oleautomation,
5112     dual,
5113     uuid(3050F37E-98B5-11CF-BB82-00AA00BDCE0B)
5114 ]
5115 interface IHTMLStyleSheetsCollection : IDispatch
5116 {
5117     [propget, id(DISPID_IHTMLSTYLESHEETSCOLLECTION_LENGTH)]
5118     HRESULT length([retval, out] long *p);
5119
5120     [propget, id(DISPID_IHTMLSTYLESHEETSCOLLECTION__NEWENUM)]
5121     HRESULT _newEnum([retval, out] IUnknown **p);
5122
5123     [id(DISPID_IHTMLSTYLESHEETSCOLLECTION_ITEM)]
5124     HRESULT item(
5125         [in] VARIANT *pvarIndex,
5126         [retval, out] VARIANT *pvarResult);
5127 }
5128
5129 /*****************************************************************************
5130  *    IHTMLTxtRange interface
5131  */
5132 [
5133     odl,
5134     oleautomation,
5135     dual,
5136     uuid(3050f220-98b5-11cf-bb82-00aa00bdce0b)
5137 ]
5138 interface IHTMLTxtRange : IDispatch
5139 {
5140     [propget, id(DISPID_IHTMLTXTRANGE_HTMLTEXT)]
5141     HRESULT htmlText([retval, out] BSTR *p);
5142
5143     [propput, id(DISPID_IHTMLTXTRANGE_TEXT)]
5144     HRESULT text([in] BSTR v);
5145
5146     [propget, id(DISPID_IHTMLTXTRANGE_TEXT)]
5147     HRESULT text([retval, out] BSTR *p);
5148
5149     [id(DISPID_IHTMLTXTRANGE_PARENTELEMENT)]
5150     HRESULT parentElement([retval, out] IHTMLElement **parent);
5151
5152     [id(DISPID_IHTMLTXTRANGE_DUPLICATE)]
5153     HRESULT duplicate([retval, out] IHTMLTxtRange **Duplicate);
5154
5155     [id(DISPID_IHTMLTXTRANGE_INRANGE)]
5156     HRESULT inRange(
5157         [in] IHTMLTxtRange *Range,
5158         [retval, out] VARIANT_BOOL *InRange);
5159
5160     [id(DISPID_IHTMLTXTRANGE_ISEQUAL)]
5161     HRESULT isEqual(
5162         [in] IHTMLTxtRange *Range,
5163         [retval, out] VARIANT_BOOL *IsEqual);
5164
5165     [id(DISPID_IHTMLTXTRANGE_SCROLLINTOVIEW)]
5166     HRESULT scrollIntoView([defaultvalue(-1), in] VARIANT_BOOL fStart);
5167
5168     [id(DISPID_IHTMLTXTRANGE_COLLAPSE)]
5169     HRESULT collapse([defaultvalue(-1), in] VARIANT_BOOL Start);
5170
5171     [id(DISPID_IHTMLTXTRANGE_EXPAND)]
5172     HRESULT expand(
5173         [in] BSTR Unit,
5174         [retval, out] VARIANT_BOOL *Success);
5175
5176     [id(DISPID_IHTMLTXTRANGE_MOVE)]
5177     HRESULT move(
5178         [in] BSTR Unit,
5179         [defaultvalue(1), in] long Count,
5180         [retval, out] long *ActualCount);
5181
5182     [id(DISPID_IHTMLTXTRANGE_MOVESTART)]
5183     HRESULT moveStart(
5184         [in] BSTR Unit,
5185         [defaultvalue(1), in] long Count,
5186         [retval, out] long *ActualCount);
5187
5188     [id(DISPID_IHTMLTXTRANGE_MOVEEND)]
5189     HRESULT moveEnd(
5190         [in] BSTR Unit,
5191         [defaultvalue(1), in] long Count,
5192         [retval, out] long *ActualCount);
5193
5194     [id(DISPID_IHTMLTXTRANGE_SELECT)]
5195     HRESULT select();
5196
5197     [id(DISPID_IHTMLTXTRANGE_PASTEHTML)]
5198     HRESULT pasteHTML([in] BSTR html);
5199
5200     [id(DISPID_IHTMLTXTRANGE_MOVETOELEMENTTEXT)]
5201     HRESULT moveToElementText([in] IHTMLElement *element);
5202
5203     [id(DISPID_IHTMLTXTRANGE_SETENDPOINT)]
5204     HRESULT setEndPoint(
5205         [in] BSTR how,
5206         [in] IHTMLTxtRange *SourceRange);
5207
5208     [id(DISPID_IHTMLTXTRANGE_COMPAREENDPOINTS)]
5209     HRESULT compareEndPoints(
5210         [in] BSTR how,
5211         [in] IHTMLTxtRange *SourceRange,
5212         [retval, out] long *ret);
5213
5214     [id(DISPID_IHTMLTXTRANGE_FINDTEXT)]
5215     HRESULT findText(
5216         [in] BSTR String,
5217         [defaultvalue(1073741823), in] long count,
5218         [defaultvalue(0), in] long Flags,
5219         [retval, out] VARIANT_BOOL *Success);
5220
5221     [id(DISPID_IHTMLTXTRANGE_MOVETOPOINT)]
5222     HRESULT moveToPoint(
5223         [in] long x,
5224         [in] long y);
5225
5226     [id(DISPID_IHTMLTXTRANGE_GETBOOKMARK)]
5227     HRESULT getBookmark([retval, out] BSTR *Boolmark);
5228
5229     [id(DISPID_IHTMLTXTRANGE_MOVETOBOOKMARK)]
5230     HRESULT moveToBookmark(
5231         [in] BSTR Bookmark,
5232         [retval, out] VARIANT_BOOL *Success);
5233
5234     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDSUPPORTED)]
5235     HRESULT queryCommandSupported(
5236         [in] BSTR cmdID,
5237         [retval, out] VARIANT_BOOL *pfRet);
5238
5239     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDENABLED)]
5240     HRESULT queryCommandEnabled(
5241         [in] BSTR cmdID,
5242         [retval, out] VARIANT_BOOL *pfRet);
5243
5244     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDSTATE)]
5245     HRESULT queryCommandState(
5246         [in] BSTR cmdID,
5247         [retval, out] VARIANT_BOOL *pfRet);
5248
5249     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDINDETERM)]
5250     HRESULT queryCommandIndeterm(
5251         [in] BSTR cmdID,
5252         [retval, out] VARIANT_BOOL *pfRet);
5253
5254     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDTEXT)]
5255     HRESULT queryCommandText(
5256         [in] BSTR cmdID,
5257         [retval, out] BSTR *pcmdText);
5258
5259     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDVALUE)]
5260     HRESULT queryCommandValue(
5261         [in] BSTR cmdID,
5262         [retval, out] VARIANT *pcmdValue);
5263
5264     [id(DISPID_IHTMLTXTRANGE_EXECCOMMAND)]
5265     HRESULT execCommand(
5266         [in] BSTR cmdID,
5267         [defaultvalue(0), in] VARIANT_BOOL showUI,
5268         [optional, in] VARIANT value,
5269         [retval, out] VARIANT_BOOL *pfRet);
5270
5271     [id(DISPID_IHTMLTXTRANGE_EXECCOMMANDSHOWHELP)]
5272     HRESULT execCommandShowHelp(
5273         [in] BSTR cmdID,
5274         [retval, out] VARIANT_BOOL *pfRet);
5275 }
5276
5277 /*****************************************************************************
5278  *    IHTMLFormElement interface
5279  */
5280 [
5281     odl,
5282     oleautomation,
5283     dual,
5284     uuid(3050F1F7-98B5-11CF-BB82-00AA00BDCE0B)
5285 ]
5286 interface IHTMLFormElement : IDispatch
5287 {
5288     [propput, id(DISPID_IHTMLFORMELEMENT_ACTION)]
5289     HRESULT action([in] BSTR v);
5290
5291     [propget, id(DISPID_IHTMLFORMELEMENT_ACTION)]
5292     HRESULT action([retval, out] BSTR *p);
5293
5294     [propput, id(DISPID_IHTMLFORMELEMENT_DIR)]
5295     HRESULT dir([in] BSTR v);
5296
5297     [propget, id(DISPID_IHTMLFORMELEMENT_DIR)]
5298     HRESULT dir([retval, out] BSTR *p);
5299
5300     [propput, id(DISPID_IHTMLFORMELEMENT_ENCODING)]
5301     HRESULT encoding([in] BSTR v);
5302
5303     [propget, id(DISPID_IHTMLFORMELEMENT_ENCODING)]
5304     HRESULT encoding([retval, out] BSTR *p);
5305
5306     [propput, id(DISPID_IHTMLFORMELEMENT_METHOD)]
5307     HRESULT method([in] BSTR v);
5308
5309     [propget, id(DISPID_IHTMLFORMELEMENT_METHOD)]
5310     HRESULT method([retval, out] BSTR *p);
5311
5312     [propget, id(DISPID_IHTMLFORMELEMENT_ELEMENTS)]
5313     HRESULT elements([retval, out] IDispatch **p);
5314
5315     [propput, id(DISPID_IHTMLFORMELEMENT_TARGET)]
5316     HRESULT target([in] BSTR v);
5317
5318     [propget, id(DISPID_IHTMLFORMELEMENT_TARGET)]
5319     HRESULT target([retval, out] BSTR *p);
5320
5321     [propput, id(DISPID_IHTMLFORMELEMENT_NAME)]
5322     HRESULT name([in] BSTR v);
5323
5324     [propget, id(DISPID_IHTMLFORMELEMENT_NAME)]
5325     HRESULT name([retval, out] BSTR *p);
5326
5327     [propput, id(DISPID_IHTMLFORMELEMENT_ONSUBMIT)]
5328     HRESULT onsubmit([in] VARIANT v);
5329
5330     [propget, id(DISPID_IHTMLFORMELEMENT_ONSUBMIT)]
5331     HRESULT onsubmit([retval, out] VARIANT *p);
5332
5333     [propput, id(DISPID_IHTMLFORMELEMENT_ONRESET)]
5334     HRESULT onreset([in] VARIANT v);
5335
5336     [propget, id(DISPID_IHTMLFORMELEMENT_ONRESET)]
5337     HRESULT onreset([retval, out] VARIANT *p);
5338
5339     [id(DISPID_IHTMLFORMELEMENT_SUBMIT)]
5340     HRESULT submit();
5341
5342     [id(DISPID_IHTMLFORMELEMENT_RESET)]
5343     HRESULT reset();
5344
5345     [propput, id(DISPID_IHTMLFORMELEMENT_LENGTH)]
5346     HRESULT length([in] long v);
5347
5348     [propget, id(DISPID_IHTMLFORMELEMENT_LENGTH)]
5349     HRESULT length([retval, out] long *p);
5350
5351     [propget, id(DISPID_IHTMLFORMELEMENT__NEWENUM)]
5352     HRESULT _newEnum([retval, out] IUnknown **p);
5353
5354     [id(DISPID_IHTMLFORMELEMENT_ITEM)]
5355     HRESULT item(
5356         [optional, in] VARIANT name,
5357         [optional, in] VARIANT index,
5358         [retval, out] IDispatch **pdisp);
5359
5360     [id(DISPID_IHTMLFORMELEMENT_TAGS)]
5361     HRESULT tags(
5362         [in] VARIANT tagName,
5363         [retval, out] IDispatch **pdisp);
5364 }
5365
5366 /*****************************************************************************
5367  *    IHTMLTextContainer interface
5368  */
5369 [
5370     odl,
5371     oleautomation,
5372     dual,
5373     uuid(3050f230-98b5-11cf-bb82-00aa00bdce0b)
5374 ]
5375 interface IHTMLTextContainer : IDispatch
5376 {
5377     [id(DISPID_IHTMLTEXTCONTAINER_CREATECONTROLRANGE)]
5378     HRESULT createControlRange([retval, out] IDispatch **range);
5379
5380     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLHEIGHT), displaybind, bindable]
5381     HRESULT scrollHeight([retval, out] long *p);
5382
5383     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLWIDTH), displaybind, bindable]
5384     HRESULT scrollWidth([retval, out] long *p);
5385
5386     [propput, id(DISPID_IHTMLTEXTCONTAINER_SCROLLTOP), displaybind, bindable]
5387     HRESULT scrollTop([in] long v);
5388
5389     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLTOP), displaybind, bindable]
5390     HRESULT scrollTop([retval, out] long *p);
5391
5392     [propput, id(DISPID_IHTMLTEXTCONTAINER_SCROLLLEFT), displaybind, bindable]
5393     HRESULT scrollLeft([in] long v);
5394
5395     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLLEFT), displaybind, bindable]
5396     HRESULT scrollLeft([retval, out] long *p);
5397
5398     [propput, id(DISPID_IHTMLTEXTCONTAINER_ONSCROLL), displaybind, bindable]
5399     HRESULT onscroll([in] VARIANT v);
5400
5401     [propget, id(DISPID_IHTMLTEXTCONTAINER_ONSCROLL), displaybind, bindable]
5402     HRESULT onscroll([retval, out] VARIANT *p);
5403 }
5404
5405 /*****************************************************************************
5406  *    IHTMLImgElement interface
5407  */
5408 [
5409     odl,
5410     oleautomation,
5411     dual,
5412     uuid(3050F240-98B5-11CF-BB82-00AA00BDCE0B)
5413 ]
5414 interface IHTMLImgElement : IDispatch
5415 {
5416     [propput, id(DISPID_IHTMLIMGELEMENT_ISMAP)]
5417     HRESULT isMap([in] VARIANT_BOOL v);
5418
5419     [propget, id(DISPID_IHTMLIMGELEMENT_ISMAP)]
5420     HRESULT isMap([retval, out] VARIANT_BOOL *p);
5421
5422     [propput, id(DISPID_IHTMLIMGELEMENT_USEMAP)]
5423     HRESULT useMap([in] BSTR v);
5424
5425     [propget, id(DISPID_IHTMLIMGELEMENT_USEMAP)]
5426     HRESULT useMap([retval, out] BSTR *p);
5427
5428     [propget, id(DISPID_IHTMLIMGELEMENT_MIMETYPE)]
5429     HRESULT mimeType([retval, out] BSTR *p);
5430
5431     [propget, id(DISPID_IHTMLIMGELEMENT_FILESIZE)]
5432     HRESULT fileSize([retval, out] BSTR *p);
5433
5434     [propget, id(DISPID_IHTMLIMGELEMENT_FILECREATEDDATE)]
5435     HRESULT fileCreatedDate([retval, out] BSTR *p);
5436
5437     [propget, id(DISPID_IHTMLIMGELEMENT_FILEMODIFIEDDATE)]
5438     HRESULT fileModifiedDate([retval, out] BSTR *p);
5439
5440     [propget, id(DISPID_IHTMLIMGELEMENT_FILEUPDATEDDATE)]
5441     HRESULT fileUpdatedDate([retval, out] BSTR *p);
5442
5443     [propget, id(DISPID_IHTMLIMGELEMENT_PROTOCOL)]
5444     HRESULT protocol([retval, out] BSTR *p);
5445
5446     [propget, id(DISPID_IHTMLIMGELEMENT_HREF)]
5447     HRESULT href([retval, out] BSTR *p);
5448
5449     [propget, id(DISPID_IHTMLIMGELEMENT_NAMEPROP)]
5450     HRESULT nameProp([retval, out] BSTR *p);
5451
5452     [propput, id(DISPID_IHTMLIMGELEMENT_BORDER)]
5453     HRESULT border([in] VARIANT v);
5454
5455     [propget, id(DISPID_IHTMLIMGELEMENT_BORDER)]
5456     HRESULT border([retval, out] VARIANT *p);
5457
5458     [propput, id(DISPID_IHTMLIMGELEMENT_VSPACE)]
5459     HRESULT vspace([in] long v);
5460
5461     [propget, id(DISPID_IHTMLIMGELEMENT_VSPACE)]
5462     HRESULT vspace([retval, out] long *p);
5463
5464     [propput, id(DISPID_IHTMLIMGELEMENT_HSPACE)]
5465     HRESULT hspace([in] long v);
5466
5467     [propget, id(DISPID_IHTMLIMGELEMENT_HSPACE)]
5468     HRESULT hspace([retval, out] long *p);
5469
5470     [propput, id(DISPID_IHTMLIMGELEMENT_ALT)]
5471     HRESULT alt([in] BSTR v);
5472
5473     [propget, id(DISPID_IHTMLIMGELEMENT_ALT)]
5474     HRESULT alt([retval, out] BSTR *p);
5475
5476     [propput, id(DISPID_IHTMLIMGELEMENT_SRC)]
5477     HRESULT src([in] BSTR v);
5478
5479     [propget, id(DISPID_IHTMLIMGELEMENT_SRC)]
5480     HRESULT src([retval, out] BSTR *p);
5481
5482     [propput, id(DISPID_IHTMLIMGELEMENT_LOWSRC)]
5483     HRESULT lowsrc([in] BSTR v);
5484
5485     [propget, id(DISPID_IHTMLIMGELEMENT_LOWSRC)]
5486     HRESULT lowsrc([retval, out] BSTR *p);
5487
5488     [propput, id(DISPID_IHTMLIMGELEMENT_VRML)]
5489     HRESULT vrml([in] BSTR v);
5490
5491     [propget, id(DISPID_IHTMLIMGELEMENT_VRML)]
5492     HRESULT vrml([retval, out] BSTR *p);
5493
5494     [propput, id(DISPID_IHTMLIMGELEMENT_DYNSRC)]
5495     HRESULT dynsrc([in] BSTR v);
5496
5497     [propget, id(DISPID_IHTMLIMGELEMENT_DYNSRC)]
5498     HRESULT dynsrc([retval, out] BSTR *p);
5499
5500     [propget, id(DISPID_IHTMLIMGELEMENT_READYSTATE)]
5501     HRESULT readyState([retval, out] BSTR *p);
5502
5503     [propget, id(DISPID_IHTMLIMGELEMENT_COMPLETE)]
5504     HRESULT complete([retval, out] VARIANT_BOOL *p);
5505
5506     [propput, id(DISPID_IHTMLIMGELEMENT_LOOP)]
5507     HRESULT loop([in] VARIANT v);
5508
5509     [propget, id(DISPID_IHTMLIMGELEMENT_LOOP)]
5510     HRESULT loop([retval, out] VARIANT *p);
5511
5512     [propput, id(DISPID_IHTMLIMGELEMENT_ALIGN)]
5513     HRESULT align([in] BSTR v);
5514
5515     [propget, id(DISPID_IHTMLIMGELEMENT_ALIGN)]
5516     HRESULT align([retval, out] BSTR *p);
5517
5518     [propput, id(DISPID_IHTMLIMGELEMENT_ONLOAD)]
5519     HRESULT onload([in] VARIANT v);
5520
5521     [propget, id(DISPID_IHTMLIMGELEMENT_ONLOAD)]
5522     HRESULT onload([retval, out] VARIANT *p);
5523
5524     [propput, id(DISPID_IHTMLIMGELEMENT_ONERROR)]
5525     HRESULT onerror([in] VARIANT v);
5526
5527     [propget, id(DISPID_IHTMLIMGELEMENT_ONERROR)]
5528     HRESULT onerror([retval, out] VARIANT *p);
5529
5530     [propput, id(DISPID_IHTMLIMGELEMENT_ONABORT)]
5531     HRESULT onabort([in] VARIANT v);
5532
5533     [propget, id(DISPID_IHTMLIMGELEMENT_ONABORT)]
5534     HRESULT onabort([retval, out] VARIANT *p);
5535
5536     [propput, id(DISPID_IHTMLIMGELEMENT_NAME)]
5537     HRESULT name([in] BSTR v);
5538
5539     [propget, id(DISPID_IHTMLIMGELEMENT_NAME)]
5540     HRESULT name([retval, out] BSTR *p);
5541
5542     [propput, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
5543     HRESULT width([in] long v);
5544
5545     [propget, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
5546     HRESULT width([retval, out] long *p);
5547
5548     [propput, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
5549     HRESULT height([in] long v);
5550
5551     [propget, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
5552     HRESULT height([retval, out] long *p);
5553
5554     [propput, id(DISPID_IHTMLIMGELEMENT_START)]
5555     HRESULT start([in] BSTR v);
5556
5557     [propget, id(DISPID_IHTMLIMGELEMENT_START)]
5558     HRESULT start([retval, out] BSTR *p);
5559 }
5560
5561 /*****************************************************************************
5562  *    IHTMLImageElementFactory interface
5563  */
5564 [
5565     odl,
5566     oleautomation,
5567     dual,
5568     uuid(3050F38E-98B5-11CF-BB82-00AAA0BDCE0B)
5569 ]
5570 interface IHTMLImageElementFactory : IDispatch
5571 {
5572     [id(DISPID_IHTMLIMAGEELEMENTFACTORY_CREATE)]
5573     HRESULT create(
5574         [optional, in] VARIANT width,
5575         [optional, in] VARIANT height,
5576         [retval, out]  IHTMLImgElement **elem);
5577 }
5578
5579 /*****************************************************************************
5580  *    DispHTMLImg interface
5581  */
5582 [
5583     hidden,
5584     uuid(3050f51c-98b5-11cf-bb82-00aa00bdce0b)
5585 ]
5586 dispinterface DispHTMLImg
5587 {
5588 properties:
5589 methods:
5590     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
5591     void setAttribute(
5592             [in] BSTR strAttributeName,
5593             [in] VARIANT AttributeValue,
5594             [in, defaultvalue(1)] LONG lFlags);
5595
5596     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
5597     VARIANT getAttribute(
5598              [in] BSTR strAttributeName,
5599              [in, defaultvalue(0)] LONG lFlags);
5600
5601     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
5602     VARIANT_BOOL removeAttribute(
5603             [in] BSTR strAttributeName,
5604             [in, defaultvalue(1)] LONG lFlags);
5605
5606     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
5607     void className(BSTR v);
5608
5609     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
5610     BSTR className();
5611
5612     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
5613     void id(BSTR v);
5614
5615     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
5616     BSTR id();
5617
5618     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
5619     BSTR tagName();
5620
5621     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
5622     IHTMLElement *parentElement();
5623
5624     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
5625     IHTMLStyle *style();
5626
5627     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
5628     void onhelp(VARIANT v);
5629
5630     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
5631     VARIANT onhelp();
5632
5633     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
5634     void onclick(VARIANT v);
5635
5636     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
5637     VARIANT onclick();
5638
5639     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
5640     void ondblclick(VARIANT v);
5641
5642     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
5643     VARIANT ondblclick();
5644
5645     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
5646     void onkeydown(VARIANT v);
5647
5648     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
5649     VARIANT onkeydown();
5650
5651     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
5652     void onkeyup(VARIANT v);
5653
5654     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
5655     VARIANT onkeyup();
5656
5657     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
5658     void onkeypress(VARIANT v);
5659
5660     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
5661     VARIANT onkeypress();
5662
5663     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
5664     void onmouseout(VARIANT v);
5665
5666     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
5667     VARIANT onmouseout();
5668
5669     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
5670     void onmouseover(VARIANT v);
5671
5672     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
5673     VARIANT onmouseover();
5674
5675     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
5676     void onmousemove(VARIANT v);
5677
5678     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
5679     VARIANT onmousemove();
5680
5681     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
5682     void onmousedown(VARIANT v);
5683
5684     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
5685     VARIANT onmousedown();
5686
5687     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
5688     void onmouseup(VARIANT v);
5689
5690     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
5691     VARIANT onmouseup();
5692
5693     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
5694     IDispatch *document();
5695
5696     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
5697     void title(BSTR v);
5698
5699     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
5700     BSTR title();
5701
5702     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
5703     void language(BSTR v);
5704
5705     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
5706     BSTR language();
5707
5708     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
5709     void onselectstart(VARIANT v);
5710
5711     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
5712     VARIANT onselectstart();
5713
5714     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
5715     void scrollIntoView([in, optional] VARIANT varargStart);
5716
5717     [id(DISPID_IHTMLELEMENT_CONTAINS)]
5718     VARIANT_BOOL contains([in] IHTMLElement *pChild);
5719
5720     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
5721     long sourceIndex();
5722
5723     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
5724     VARIANT recordNumber();
5725
5726     [propput, id(DISPID_IHTMLELEMENT_LANG)]
5727     void lang(BSTR v);
5728
5729     [propget, id(DISPID_IHTMLELEMENT_LANG)]
5730     BSTR lang();
5731
5732     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
5733     long offsetLeft();
5734
5735     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
5736     long offsetTop();
5737
5738     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
5739     long offsetWidth();
5740
5741     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
5742     long offsetHeight();
5743
5744     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
5745     IHTMLElement *offsetParent();
5746
5747     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
5748     void innerHTML(BSTR v);
5749
5750     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
5751     BSTR innerHTML();
5752
5753     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
5754     void innerText(BSTR v);
5755
5756     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
5757     BSTR innerText();
5758
5759     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
5760     void outerHTML(BSTR v);
5761
5762     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
5763     BSTR outerHTML();
5764
5765     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
5766     void outerText(BSTR v);
5767
5768     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
5769     BSTR outerText();
5770
5771     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
5772     void insertAdjacentHTML(
5773             [in] BSTR where,
5774             [in] BSTR html);
5775
5776     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
5777     void insertAdjacentText(
5778             [in] BSTR where,
5779             [in] BSTR text);
5780
5781     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
5782     IHTMLElement *parentTextEdit();
5783
5784     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
5785     VARIANT_BOOL isTextEdit();
5786
5787     [id(DISPID_IHTMLELEMENT_CLICK)]
5788     void click();
5789
5790     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
5791     IHTMLFiltersCollection *filters();
5792
5793     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
5794     void ondragstart(VARIANT v);
5795
5796     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
5797     VARIANT ondragstart();
5798
5799     [id(DISPID_IHTMLELEMENT_TOSTRING)]
5800     BSTR toString();
5801
5802     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
5803     void onbeforeupdate(VARIANT v);
5804
5805     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
5806     VARIANT onbeforeupdate();
5807
5808     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
5809     void onafterupdate(VARIANT v);
5810
5811     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
5812     VARIANT onafterupdate();
5813
5814     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
5815     void onerrorupdate(VARIANT v);
5816
5817     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
5818     VARIANT onerrorupdate();
5819
5820     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
5821     void onrowexit(VARIANT v);
5822
5823     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
5824     VARIANT onrowexit();
5825
5826     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
5827     void onrowenter(VARIANT v);
5828
5829     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
5830     VARIANT onrowenter();
5831
5832     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
5833     void ondatasetchanged(VARIANT v);
5834
5835     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
5836     VARIANT ondatasetchanged();
5837
5838     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
5839     void ondataavailable(VARIANT v);
5840
5841     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
5842     VARIANT ondataavailable();
5843
5844     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
5845     void ondatasetcomplete(VARIANT v);
5846
5847     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
5848     VARIANT ondatasetcomplete();
5849
5850     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
5851     void onfilterchange(VARIANT v);
5852
5853     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
5854     VARIANT onfilterchange();
5855
5856     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
5857     IDispatch *children();
5858
5859     [propget, id(DISPID_IHTMLELEMENT_ALL)]
5860     IDispatch *all();
5861
5862     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
5863     BSTR scopeName();
5864
5865     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
5866     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
5867
5868     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
5869     void releaseCapture();
5870
5871     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
5872     void onlosecapture(VARIANT v);
5873
5874     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
5875     VARIANT onlosecapture();
5876
5877     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
5878     BSTR componentFromPoint(
5879             [in] long x,
5880             [in] long y);
5881
5882     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
5883     void doScroll([in, optional] VARIANT component);
5884
5885     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
5886     void onscroll(VARIANT v);
5887
5888     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
5889     VARIANT onscroll();
5890
5891     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
5892     void ondrag(VARIANT v);
5893
5894     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
5895     VARIANT ondrag();
5896
5897     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
5898     void ondragend(VARIANT v);
5899
5900     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
5901     VARIANT ondragend();
5902
5903     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
5904     void ondragenter(VARIANT v);
5905
5906     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
5907     VARIANT ondragenter();
5908
5909     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
5910     void ondragover(VARIANT v);
5911
5912     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
5913     VARIANT ondragover();
5914
5915     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
5916     void ondragleave(VARIANT v);
5917
5918     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
5919     VARIANT ondragleave();
5920
5921     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
5922     void ondrop(VARIANT v);
5923
5924     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
5925     VARIANT ondrop();
5926
5927     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
5928     void onbeforecut(VARIANT v);
5929
5930     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
5931     VARIANT onbeforecut();
5932
5933     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
5934     void oncut(VARIANT v);
5935
5936     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
5937     VARIANT oncut();
5938
5939     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
5940     void onbeforecopy(VARIANT v);
5941
5942     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
5943     VARIANT onbeforecopy();
5944
5945     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
5946     void oncopy(VARIANT v);
5947
5948     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
5949     VARIANT oncopy();
5950
5951     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
5952     void onbeforepaste(VARIANT v);
5953
5954     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
5955     VARIANT onbeforepaste();
5956
5957     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
5958     void onpaste(VARIANT v);
5959
5960     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
5961     VARIANT onpaste();
5962
5963     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
5964     IHTMLCurrentStyle *currentStyle();
5965
5966     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
5967     void onpropertychange(VARIANT v);
5968
5969     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
5970     VARIANT onpropertychange();
5971
5972     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
5973     IHTMLRectCollection *getClientRects();
5974
5975     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
5976     IHTMLRect *getBoundingClientRect();
5977
5978     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
5979     void setExpression(
5980             [in] BSTR propname,
5981             [in] BSTR expression,
5982             [in, defaultvalue("")] BSTR language);
5983
5984     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
5985     VARIANT getExpression([in] BSTR propname);
5986
5987     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
5988     VARIANT_BOOL removeExpression([in] BSTR propname);
5989
5990     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
5991     void tabIndex(short v);
5992
5993     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
5994     short tabIndex();
5995
5996     [id(DISPID_IHTMLELEMENT2_FOCUS)]
5997     void focus();
5998
5999     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
6000     void accessKey(BSTR v);
6001
6002     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
6003     BSTR accessKey();
6004
6005     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
6006     void onblur(VARIANT v);
6007
6008     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
6009     VARIANT onblur();
6010
6011     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
6012     void onfocus(VARIANT v);
6013
6014     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
6015     VARIANT onfocus();
6016
6017     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
6018     void onresize(VARIANT v);
6019
6020     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
6021     VARIANT onresize();
6022
6023     [id(DISPID_IHTMLELEMENT2_BLUR)]
6024     void blur();
6025
6026     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
6027     void addFilter([in] IUnknown *pUnk);
6028
6029     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
6030     void removeFilter([in] IUnknown *pUnk);
6031
6032     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
6033     long clientHeight();
6034
6035     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
6036     long clientWidth();
6037
6038     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
6039     long clientTop();
6040
6041     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
6042     long clientLeft();
6043
6044     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
6045     VARIANT_BOOL attachEvent(
6046             [in] BSTR event,
6047             [in] IDispatch *pDisp);
6048
6049     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
6050     void detachEvent(
6051             [in] BSTR event,
6052             [in] IDispatch *pDisp);
6053
6054     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
6055     VARIANT readyState();
6056
6057     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
6058     void onreadystatechange(VARIANT v);
6059
6060     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
6061     VARIANT onreadystatechange();
6062
6063     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
6064     void onrowsdelete(VARIANT v);
6065
6066     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
6067     VARIANT onrowsdelete();
6068
6069     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
6070     void onrowsinserted(VARIANT v);
6071
6072     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
6073      VARIANT onrowsinserted();
6074
6075     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
6076      void oncellchange(VARIANT v);
6077
6078     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
6079     VARIANT oncellchange();
6080
6081     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
6082     void dir(BSTR v);
6083
6084     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
6085     BSTR dir();
6086
6087     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
6088     IDispatch *createControlRange();
6089
6090     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
6091     long scrollHeight();
6092
6093     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
6094     long scrollWidth();
6095
6096     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
6097     void scrollTop(long v);
6098
6099     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
6100     long scrollTop();
6101
6102     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
6103     void scrollLeft(long v);
6104
6105     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
6106     long scrollLeft();
6107
6108     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
6109     void clearAttributes();
6110
6111     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
6112     void oncontextmenu(VARIANT v);
6113
6114     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
6115     VARIANT oncontextmenu();
6116
6117     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
6118     IHTMLElement *insertAdjacentElement(
6119             [in] BSTR where,
6120             [in] IHTMLElement *insertedElement);
6121
6122     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
6123     IHTMLElement *applyElement(
6124             [in] IHTMLElement *apply,
6125             [in] BSTR where);
6126
6127     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
6128     BSTR getAdjacentText([in] BSTR where);
6129
6130     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
6131     BSTR replaceAdjacentText(
6132             [in] BSTR where,
6133             [in] BSTR newText);
6134
6135     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
6136     VARIANT_BOOL canHaveChildren();
6137
6138     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
6139     long addBehavior(
6140             [in] BSTR bstrUrl,
6141             [in, optional] VARIANT *pvarFactory);
6142
6143     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
6144     VARIANT_BOOL removeBehavior([in] long cookie);
6145
6146     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
6147     IHTMLStyle *runtimeStyle();
6148
6149     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
6150     IDispatch *behaviorUrns();
6151
6152     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
6153     void tagUrn(BSTR v);
6154
6155     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
6156     BSTR tagUrn();
6157
6158     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
6159     void onbeforeeditfocus(VARIANT v);
6160
6161     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
6162     VARIANT onbeforeeditfocus();
6163
6164     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
6165     long readyStateValue();
6166
6167     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
6168     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
6169
6170     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
6171     void mergeAttributes(
6172             [in] IHTMLElement *mergeThis,
6173             [in, optional] VARIANT *pvarFlags);
6174
6175     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
6176     VARIANT_BOOL isMultiLine();
6177
6178     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
6179     VARIANT_BOOL canHaveHTML();
6180
6181     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
6182     void onlayoutcomplete(VARIANT v);
6183
6184     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
6185     VARIANT onlayoutcomplete();
6186
6187     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
6188     void onpage(VARIANT v);
6189
6190     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
6191     VARIANT onpage();
6192
6193     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
6194     void inflateBlock(VARIANT_BOOL v);
6195
6196     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
6197     VARIANT_BOOL inflateBlock();
6198
6199     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
6200     void onbeforedeactivate(VARIANT v);
6201
6202     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
6203     VARIANT onbeforedeactivate();
6204
6205     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
6206     void setActive();
6207
6208     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
6209     void contentEditable(BSTR v);
6210
6211     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
6212     BSTR contentEditable();
6213
6214     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
6215     VARIANT_BOOL isContentEditable();
6216
6217     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
6218     void hideFocus(VARIANT_BOOL v);
6219
6220     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
6221     VARIANT_BOOL hideFocus();
6222
6223     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
6224     void disabled(VARIANT_BOOL v);
6225
6226     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
6227     VARIANT_BOOL disabled();
6228
6229     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
6230     VARIANT_BOOL isDisabled();
6231
6232     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
6233     void onmove(VARIANT v);
6234
6235     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
6236     VARIANT onmove();
6237
6238     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
6239     void oncontrolselect(VARIANT v);
6240
6241     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
6242     VARIANT oncontrolselect();
6243
6244     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
6245     VARIANT_BOOL fireEvent(
6246             [in] BSTR bstrEventName,
6247             [in, optional] VARIANT *pvarEventObject);
6248
6249     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
6250     void onresizestart(VARIANT v);
6251
6252     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
6253     VARIANT onresizestart();
6254
6255     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
6256     void onresizeend(VARIANT v);
6257
6258     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
6259     VARIANT onresizeend();
6260
6261     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
6262     void onmovestart(VARIANT v);
6263
6264     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
6265     VARIANT onmovestart();
6266
6267     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
6268     void onmoveend(VARIANT v);
6269
6270     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
6271     VARIANT onmoveend();
6272
6273     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
6274     void onmouseenter(VARIANT v);
6275
6276     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
6277     VARIANT onmouseenter();
6278
6279     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
6280     void onmouseleave(VARIANT v);
6281
6282     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
6283     VARIANT onmouseleave();
6284
6285     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
6286     void onactivate(VARIANT v);
6287
6288     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
6289     VARIANT onactivate();
6290
6291     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
6292     void ondeactivate(VARIANT v);
6293
6294     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
6295     VARIANT ondeactivate();
6296
6297     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
6298     VARIANT_BOOL dragDrop();
6299
6300     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
6301     LONG glyphMode();
6302
6303     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
6304     void onmousewheel(VARIANT v);
6305
6306     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
6307     VARIANT onmousewheel();
6308
6309     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
6310     void normalize();
6311
6312     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
6313     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
6314
6315     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
6316     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
6317
6318     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
6319     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
6320
6321     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
6322     void onbeforeactivate(VARIANT v);
6323
6324     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
6325     VARIANT onbeforeactivate();
6326
6327     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
6328     void onfocusin(VARIANT v);
6329
6330     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
6331     VARIANT onfocusin();
6332
6333     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
6334     void onfocusout(VARIANT v);
6335
6336     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
6337     VARIANT onfocusout();
6338
6339     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
6340     long uniqueNumber();
6341
6342     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
6343     BSTR uniqueID();
6344
6345     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
6346     long nodeType();
6347
6348     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
6349     IHTMLDOMNode *parentNode();
6350
6351     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
6352     VARIANT_BOOL hasChildNodes();
6353
6354     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
6355     IDispatch *childNodes();
6356
6357     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
6358     IDispatch *attributes();
6359
6360     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
6361     IHTMLDOMNode *insertBefore(
6362             [in] IHTMLDOMNode *newChild,
6363             [in, optional] VARIANT refChild);
6364
6365     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
6366     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
6367
6368     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
6369     IHTMLDOMNode *replaceChild(
6370             [in] IHTMLDOMNode *newChild,
6371             [in] IHTMLDOMNode *oldChild);
6372
6373     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
6374     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
6375
6376     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
6377     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
6378
6379     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
6380     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
6381
6382     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
6383     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
6384
6385     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
6386     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
6387
6388     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
6389     BSTR nodeName();
6390
6391     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
6392     void nodeValue(VARIANT v);
6393
6394     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
6395     VARIANT nodeValue();
6396
6397     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
6398     IHTMLDOMNode *firstChild();
6399
6400     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
6401     IHTMLDOMNode *lastChild();
6402
6403     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
6404     IHTMLDOMNode *previousSibling();
6405
6406     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
6407     IHTMLDOMNode *nextSibling();
6408
6409     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
6410     IDispatch *ownerDocument();
6411
6412     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
6413     void dataFld(BSTR v);
6414
6415     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
6416     BSTR dataFld();
6417
6418     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
6419     void dataSrc(BSTR v);
6420
6421     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
6422     BSTR dataSrc();
6423
6424     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
6425     void dataFormatAs(BSTR v);
6426
6427     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
6428     BSTR dataFormatAs();
6429
6430     [propput, id(DISPID_IHTMLIMGELEMENT_ISMAP), displaybind, bindable]
6431     void isMap(VARIANT_BOOL v);
6432
6433     [propget, id(DISPID_IHTMLIMGELEMENT_ISMAP), displaybind, bindable]
6434     VARIANT_BOOL isMap();
6435
6436     [propput, id(DISPID_IHTMLIMGELEMENT_USEMAP), displaybind, bindable]
6437     void useMap(BSTR v);
6438
6439     [propget, id(DISPID_IHTMLIMGELEMENT_USEMAP), displaybind, bindable]
6440     BSTR useMap();
6441
6442     [propget, id(DISPID_IHTMLIMGELEMENT_MIMETYPE)]
6443     BSTR mimeType();
6444
6445     [propget, id(DISPID_IHTMLIMGELEMENT_FILESIZE)]
6446     BSTR fileSize();
6447
6448     [propget, id(DISPID_IHTMLIMGELEMENT_FILECREATEDDATE)]
6449     BSTR fileCreatedDate();
6450
6451     [propget, id(DISPID_IHTMLIMGELEMENT_FILEMODIFIEDDATE)]
6452     BSTR fileModifiedDate();
6453
6454     [propget, id(DISPID_IHTMLIMGELEMENT_FILEUPDATEDDATE)]
6455     BSTR fileUpdatedDate();
6456
6457     [propget, id(DISPID_IHTMLIMGELEMENT_PROTOCOL)]
6458     BSTR protocol();
6459
6460     [propget, id(DISPID_IHTMLIMGELEMENT_HREF)]
6461     BSTR href();
6462
6463     [propget, id(DISPID_IHTMLIMGELEMENT_NAMEPROP)]
6464     BSTR nameProp();
6465
6466     [propput, id(DISPID_IHTMLIMGELEMENT_BORDER), displaybind, bindable]
6467     void border(VARIANT v);
6468
6469     [propget, id(DISPID_IHTMLIMGELEMENT_BORDER), displaybind, bindable]
6470     VARIANT border();
6471
6472     [propput, id(DISPID_IHTMLIMGELEMENT_VSPACE), displaybind, bindable]
6473     void vspace(long v);
6474
6475     [propget, id(DISPID_IHTMLIMGELEMENT_VSPACE), displaybind, bindable]
6476     long vspace();
6477
6478     [propput, id(DISPID_IHTMLIMGELEMENT_HSPACE), displaybind, bindable]
6479     void hspace(long v);
6480
6481     [propget, id(DISPID_IHTMLIMGELEMENT_HSPACE), displaybind, bindable]
6482     long hspace();
6483
6484     [propput, id(DISPID_IHTMLIMGELEMENT_ALT), displaybind, bindable]
6485     void alt(BSTR v);
6486
6487     [propget, id(DISPID_IHTMLIMGELEMENT_ALT), displaybind, bindable]
6488     BSTR alt();
6489
6490     [propput, id(DISPID_IHTMLIMGELEMENT_SRC), displaybind, bindable]
6491     void src(BSTR v);
6492
6493     [propget, id(DISPID_IHTMLIMGELEMENT_SRC), displaybind, bindable]
6494     BSTR src();
6495
6496     [propput, id(DISPID_IHTMLIMGELEMENT_LOWSRC), displaybind, bindable]
6497     void lowsrc(BSTR v);
6498
6499     [propget, id(DISPID_IHTMLIMGELEMENT_LOWSRC), displaybind, bindable]
6500     BSTR lowsrc();
6501
6502     [propput, id(DISPID_IHTMLIMGELEMENT_VRML), displaybind, bindable]
6503     void vrml(BSTR v);
6504
6505     [propget, id(DISPID_IHTMLIMGELEMENT_VRML), displaybind, bindable]
6506     BSTR vrml();
6507
6508     [propput, id(DISPID_IHTMLIMGELEMENT_DYNSRC), displaybind, bindable]
6509     void dynsrc(BSTR v);
6510
6511     [propget, id(DISPID_IHTMLIMGELEMENT_DYNSRC), displaybind, bindable]
6512     BSTR dynsrc();
6513
6514     [propget, id(DISPID_IHTMLIMGELEMENT_COMPLETE)]
6515     VARIANT_BOOL complete();
6516
6517     [propput, id(DISPID_IHTMLIMGELEMENT_LOOP), displaybind, bindable]
6518     void loop(VARIANT v);
6519
6520     [propget, id(DISPID_IHTMLIMGELEMENT_LOOP), displaybind, bindable]
6521     VARIANT loop();
6522
6523     [propput, id(DISPID_IHTMLIMGELEMENT_ALIGN), displaybind, bindable]
6524     void align(BSTR v);
6525
6526     [propget, id(DISPID_IHTMLIMGELEMENT_ALIGN), displaybind, bindable]
6527     BSTR align();
6528
6529     [propput, id(DISPID_IHTMLIMGELEMENT_ONLOAD), displaybind, bindable]
6530     void onload(VARIANT v);
6531
6532     [propget, id(DISPID_IHTMLIMGELEMENT_ONLOAD), displaybind, bindable]
6533     VARIANT onload();
6534
6535     [propput, id(DISPID_IHTMLIMGELEMENT_ONERROR), displaybind, bindable]
6536     void onerror(VARIANT v);
6537
6538     [propget, id(DISPID_IHTMLIMGELEMENT_ONERROR), displaybind, bindable]
6539     VARIANT onerror();
6540
6541     [propput, id(DISPID_IHTMLIMGELEMENT_ONABORT), displaybind, bindable]
6542     void onabort(VARIANT v);
6543
6544     [propget, id(DISPID_IHTMLIMGELEMENT_ONABORT), displaybind, bindable]
6545     VARIANT onabort();
6546
6547     [propput, id(DISPID_IHTMLIMGELEMENT_NAME), displaybind, bindable]
6548     void name(BSTR v);
6549
6550     [propget, id(DISPID_IHTMLIMGELEMENT_NAME), displaybind, bindable]
6551     BSTR name();
6552
6553     [propput, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
6554     void width(long v);
6555
6556     [propget, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
6557     long width();
6558
6559     [propput, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
6560     void height(long v);
6561
6562     [propget, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
6563     long height();
6564
6565     [propput, id(DISPID_IHTMLIMGELEMENT_START), displaybind, bindable]
6566     void start(BSTR v);
6567
6568     [propget, id(DISPID_IHTMLIMGELEMENT_START), displaybind, bindable]
6569     BSTR start();
6570
6571     [propput, id(DISPID_IHTMLIMGELEMENT2_LONGDESC), displaybind, bindable]
6572     void longDesc(BSTR v);
6573
6574     [propget, id(DISPID_IHTMLIMGELEMENT2_LONGDESC), displaybind, bindable]
6575     BSTR longDesc();
6576 };
6577
6578 /*****************************************************************************
6579  *    IHTMLUniqueName interface
6580  */
6581 [
6582     odl,
6583     oleautomation,
6584     dual,
6585     uuid(3050f4d0-98b5-11cf-bb82-00aa00bdce0b)
6586 ]
6587 interface IHTMLUniqueName : IDispatch
6588 {
6589     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
6590     HRESULT uniqueNumber([retval, out] long * p);
6591
6592     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
6593     HRESULT uniqueID([retval, out] BSTR * p);
6594 };
6595
6596 /*****************************************************************************
6597  *    IHTMLControlElement interface
6598  */
6599 [
6600     odl,
6601     oleautomation,
6602     dual,
6603     uuid(3050f4e9-98b5-11cf-bb82-00aa00bdce0b)
6604 ]
6605 interface IHTMLControlElement : IDispatch
6606 {
6607     [propput, id(DISPID_IHTMLCONTROLELEMENT_TABINDEX), displaybind, bindable]
6608     HRESULT tabIndex([in] short v);
6609
6610     [propget, id(DISPID_IHTMLCONTROLELEMENT_TABINDEX), displaybind, bindable]
6611     HRESULT tabIndex([retval, out] short * p);
6612
6613     [id(DISPID_IHTMLCONTROLELEMENT_FOCUS)]
6614     HRESULT focus();
6615
6616     [propput, id(DISPID_IHTMLCONTROLELEMENT_ACCESSKEY), displaybind, bindable]
6617     HRESULT accessKey([in] BSTR v);
6618
6619     [propget, id(DISPID_IHTMLCONTROLELEMENT_ACCESSKEY), displaybind, bindable]
6620     HRESULT accessKey([retval, out] BSTR * p);
6621
6622     [propput, id(DISPID_IHTMLCONTROLELEMENT_ONBLUR), displaybind, bindable]
6623     HRESULT onblur([in] VARIANT v);
6624
6625     [propget, id(DISPID_IHTMLCONTROLELEMENT_ONBLUR), displaybind, bindable]
6626     HRESULT onblur([retval, out] VARIANT * p);
6627
6628     [propput, id(DISPID_IHTMLCONTROLELEMENT_ONFOCUS), displaybind, bindable]
6629     HRESULT onfocus([in] VARIANT v);
6630
6631     [propget, id(DISPID_IHTMLCONTROLELEMENT_ONFOCUS), displaybind, bindable]
6632     HRESULT onfocus([retval, out] VARIANT * p);
6633
6634     [propput, id(DISPID_IHTMLCONTROLELEMENT_ONRESIZE), displaybind, bindable]
6635     HRESULT onresize([in] VARIANT v);
6636
6637     [propget, id(DISPID_IHTMLCONTROLELEMENT_ONRESIZE), displaybind, bindable]
6638     HRESULT onresize([retval, out] VARIANT * p);
6639
6640     [id(DISPID_IHTMLCONTROLELEMENT_BLUR)]
6641     HRESULT blur();
6642
6643     [id(DISPID_IHTMLCONTROLELEMENT_ADDFILTER)]
6644     HRESULT addFilter([in] IUnknown* pUnk);
6645
6646     [id(DISPID_IHTMLCONTROLELEMENT_REMOVEFILTER)]
6647     HRESULT removeFilter([in] IUnknown* pUnk);
6648
6649     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTHEIGHT), displaybind, bindable]
6650     HRESULT clientHeight([retval, out] long * p);
6651
6652     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTWIDTH), displaybind, bindable]
6653     HRESULT clientWidth([retval, out] long * p);
6654
6655     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTTOP), displaybind, bindable]
6656     HRESULT clientTop([retval, out] long * p);
6657
6658     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTLEFT), displaybind, bindable]
6659     HRESULT clientLeft([retval, out] long * p);
6660 };
6661
6662 /*****************************************************************************
6663  *    IHTMLBodyElement interface
6664  */
6665 [
6666     odl,
6667     oleautomation,
6668     dual,
6669     uuid(3050f1d8-98b5-11cf-bb82-00aa00bdce0b)
6670 ]
6671 interface IHTMLBodyElement : IDispatch
6672 {
6673     [propput, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
6674     HRESULT background([in] BSTR v);
6675
6676     [propget, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
6677     HRESULT background([retval, out] BSTR *p);
6678
6679     [propput, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
6680     HRESULT bgProperties([in] BSTR v);
6681
6682     [propget, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
6683     HRESULT bgProperties([retval, out] BSTR *p);
6684
6685     [propput, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
6686     HRESULT leftMargin([in] VARIANT v);
6687
6688     [propget, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
6689     HRESULT leftMargin([retval, out] VARIANT *p);
6690
6691     [propput, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
6692     HRESULT topMargin([in] VARIANT v);
6693
6694     [propget, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
6695     HRESULT topMargin([retval, out] VARIANT *p);
6696
6697     [propput, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
6698     HRESULT rightMargin([in] VARIANT v);
6699
6700     [propget, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
6701     HRESULT rightMargin([retval, out] VARIANT *p);
6702
6703     [propput, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
6704     HRESULT bottomMargin([in] VARIANT v);
6705
6706     [propget, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
6707     HRESULT bottomMargin([retval, out] VARIANT *p);
6708
6709     [propput, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
6710     HRESULT noWrap([in] VARIANT_BOOL v);
6711
6712     [propget, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
6713     HRESULT noWrap([retval, out] VARIANT_BOOL *p);
6714
6715     [propput, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
6716     HRESULT bgColor([in] VARIANT v);
6717
6718     [propget, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
6719     HRESULT bgColor([retval, out] VARIANT *p);
6720
6721     [propput, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
6722     HRESULT text([in] VARIANT v);
6723
6724     [propget, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
6725     HRESULT text([retval, out] VARIANT *p);
6726
6727     [propput, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
6728     HRESULT link([in] VARIANT v);
6729
6730     [propget, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
6731     HRESULT link([retval, out] VARIANT *p);
6732
6733     [propput, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
6734     HRESULT vLink([in] VARIANT v);
6735
6736     [propget, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
6737     HRESULT vLink([retval, out] VARIANT *p);
6738
6739     [propput, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
6740     HRESULT aLink([in] VARIANT v);
6741
6742     [propget, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
6743     HRESULT aLink([retval, out] VARIANT *p);
6744
6745     [propput, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
6746     HRESULT onload([in] VARIANT v);
6747
6748     [propget, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
6749     HRESULT onload([retval, out] VARIANT *p);
6750
6751     [propput, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
6752     HRESULT onunload([in] VARIANT v);
6753
6754     [propget, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
6755     HRESULT onunload([retval, out] VARIANT *p);
6756
6757     [propput, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
6758     HRESULT scroll([in] BSTR v);
6759
6760     [propget, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
6761     HRESULT scroll([retval, out] BSTR *p);
6762
6763     [propput, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
6764     HRESULT onselect([in] VARIANT v);
6765
6766     [propget, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
6767     HRESULT onselect([retval, out] VARIANT *p);
6768
6769     [propput, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
6770     HRESULT onbeforeunload([in] VARIANT v);
6771
6772     [propget, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
6773     HRESULT onbeforeunload([retval, out] VARIANT *p);
6774
6775     [id(DISPID_IHTMLBODYELEMENT_CREATETEXTRANGE)]
6776     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
6777 }
6778
6779 /*****************************************************************************
6780  *    IHTMLBodyElement2 interface
6781  */
6782 [
6783     odl,
6784     oleautomation,
6785     dual,
6786     uuid(3050f5c5-98b5-11cf-bb82-00aa00bdce0b)
6787 ]
6788 interface IHTMLBodyElement2 : IDispatch
6789 {
6790     [propput, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
6791     HRESULT onbeforeprint([in] VARIANT v);
6792
6793     [propget, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
6794     HRESULT onbeforeprint([retval, out] VARIANT *p);
6795
6796     [propput, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
6797     HRESULT onafterprint([in] VARIANT v);
6798
6799     [propget, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
6800     HRESULT onafterprint([retval, out] VARIANT *p);
6801 }
6802
6803 [
6804     hidden,
6805     uuid(3050f507-98b5-11cf-bb82-00aa00bdce0b)
6806 ]
6807 dispinterface DispHTMLBody
6808 {
6809 properties:
6810 methods:
6811     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
6812     void setAttribute(
6813         [in] BSTR strAttributeName,
6814         [in] VARIANT AttValue,
6815         [defaultvalue(1), in] LONG lFlags);
6816
6817     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
6818     VARIANT getAttribute(
6819         [in] BSTR strAttributeName,
6820         [defaultvalue(0), in] LONG lFlags);
6821
6822     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
6823     VARIANT_BOOL removeAttribute(
6824         [in] BSTR strAttributeName,
6825         [defaultvalue(1), in] LONG lFlags);
6826
6827     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
6828     void className(BSTR v);
6829
6830     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
6831     BSTR className();
6832
6833     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
6834     void id(BSTR v);
6835
6836     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
6837     BSTR id();
6838
6839     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
6840     BSTR tagName();
6841
6842     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
6843     IHTMLElement* parentElement();
6844
6845     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
6846     IHTMLStyle* style();
6847
6848     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
6849     void onhelp(VARIANT v);
6850
6851     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
6852     VARIANT onhelp();
6853
6854     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
6855     void onclick(VARIANT v);
6856
6857     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
6858     VARIANT onclick();
6859
6860     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
6861     void ondblclick(VARIANT v);
6862
6863     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
6864     VARIANT ondblclick();
6865
6866     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
6867     void onkeydown(VARIANT v);
6868
6869     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
6870     VARIANT onkeydown();
6871
6872     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
6873     void onkeyup(VARIANT v);
6874
6875     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
6876     VARIANT onkeyup();
6877
6878     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
6879     void onkeypress(VARIANT v);
6880
6881     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
6882     VARIANT onkeypress();
6883
6884     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
6885     void onmouseout(VARIANT v);
6886
6887     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
6888     VARIANT onmouseout();
6889
6890     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
6891     void onmouseover(VARIANT v);
6892
6893     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
6894     VARIANT onmouseover();
6895
6896     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
6897     void onmousemove(VARIANT v);
6898
6899     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
6900     VARIANT onmousemove();
6901
6902     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
6903     void onmousedown(VARIANT v);
6904
6905     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
6906     VARIANT onmousedown();
6907
6908     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
6909     void onmouseup(VARIANT v);
6910
6911     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
6912     VARIANT onmouseup();
6913
6914     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)] IDispatch* document();
6915
6916     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
6917     void title(BSTR v);
6918
6919     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
6920     BSTR title();
6921
6922     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
6923     void language(BSTR v);
6924
6925     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
6926     BSTR language();
6927
6928     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
6929     void onselectstart(VARIANT v);
6930
6931     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
6932     VARIANT onselectstart();
6933
6934     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
6935     void scrollIntoView([optional, in] VARIANT varargStart);
6936
6937     [id(DISPID_IHTMLELEMENT_CONTAINS)]
6938     VARIANT_BOOL contains([in] IHTMLElement* pChild);
6939
6940     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
6941     long sourceIndex();
6942
6943     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
6944     VARIANT recordNumber();
6945
6946     [propput, id(DISPID_IHTMLELEMENT_LANG)]
6947     void lang(BSTR v);
6948
6949     [propget, id(DISPID_IHTMLELEMENT_LANG)]
6950     BSTR lang();
6951
6952     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
6953     long offsetLeft();
6954
6955     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
6956     long offsetTop();
6957
6958     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
6959     long offsetWidth();
6960
6961     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
6962     long offsetHeight();
6963
6964     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
6965     IHTMLElement* offsetParent();
6966
6967     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
6968     void innerHTML(BSTR v);
6969
6970     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
6971     BSTR innerHTML();
6972
6973     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
6974     void innerText(BSTR v);
6975
6976     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
6977     BSTR innerText();
6978
6979     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
6980     void outerHTML(BSTR v);
6981
6982     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
6983     BSTR outerHTML();
6984
6985     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
6986     void outerText(BSTR v);
6987
6988     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
6989     BSTR outerText();
6990
6991     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
6992     void insertAdjacentHTML(
6993         [in] BSTR where,
6994         [in] BSTR html);
6995
6996     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
6997     void insertAdjacentText(
6998         [in] BSTR where,
6999         [in] BSTR text);
7000
7001     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
7002     IHTMLElement* parentTextEdit();
7003
7004     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
7005     VARIANT_BOOL isTextEdit();
7006
7007     [id(DISPID_IHTMLELEMENT_CLICK)] void click();
7008
7009     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
7010     IHTMLFiltersCollection* filters();
7011
7012     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
7013     void ondragstart(VARIANT v);
7014
7015     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
7016     VARIANT ondragstart();
7017
7018     [id(DISPID_IHTMLELEMENT_TOSTRING)]
7019     BSTR toString();
7020
7021     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
7022     void onbeforeupdate(VARIANT v);
7023
7024     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
7025     VARIANT onbeforeupdate();
7026
7027     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
7028     void onafterupdate(VARIANT v);
7029
7030     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
7031     VARIANT onafterupdate();
7032
7033     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
7034     void onerrorupdate(VARIANT v);
7035
7036     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
7037     VARIANT onerrorupdate();
7038
7039     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
7040     void onrowexit(VARIANT v);
7041
7042     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
7043     VARIANT onrowexit();
7044
7045     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
7046     void onrowenter(VARIANT v);
7047
7048     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
7049     VARIANT onrowenter();
7050
7051     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
7052     void ondatasetchanged(VARIANT v);
7053
7054     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
7055     VARIANT ondatasetchanged();
7056
7057     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
7058     void ondataavailable(VARIANT v);
7059
7060     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
7061     VARIANT ondataavailable();
7062
7063     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
7064     void ondatasetcomplete(VARIANT v);
7065
7066     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
7067     VARIANT ondatasetcomplete();
7068
7069     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
7070     void onfilterchange(VARIANT v);
7071
7072     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
7073     VARIANT onfilterchange();
7074
7075     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
7076     IDispatch* children();
7077
7078     [propget, id(DISPID_IHTMLELEMENT_ALL)]
7079     IDispatch* all();
7080
7081     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
7082     BSTR scopeName();
7083
7084     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
7085     void setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
7086
7087     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
7088     void releaseCapture();
7089
7090     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
7091     void onlosecapture(VARIANT v);
7092
7093     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
7094     VARIANT onlosecapture();
7095
7096     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
7097     BSTR componentFromPoint([in] long x,[in] long y);
7098
7099     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
7100     void doScroll([optional, in] VARIANT component);
7101
7102     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
7103     void onscroll(VARIANT v);
7104
7105     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
7106     VARIANT onscroll();
7107
7108     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
7109     void ondrag(VARIANT v);
7110
7111     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
7112     VARIANT ondrag();
7113
7114     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
7115     void ondragend(VARIANT v);
7116
7117     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
7118     VARIANT ondragend();
7119
7120     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
7121     void ondragenter(VARIANT v);
7122
7123     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
7124     VARIANT ondragenter();
7125
7126     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
7127     void ondragover(VARIANT v);
7128
7129     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
7130     VARIANT ondragover();
7131
7132     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
7133     void ondragleave(VARIANT v);
7134
7135     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
7136     VARIANT ondragleave();
7137
7138     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
7139      void ondrop(VARIANT v);
7140
7141     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
7142     VARIANT ondrop();
7143
7144     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
7145     void onbeforecut(VARIANT v);
7146
7147     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
7148     VARIANT onbeforecut();
7149
7150     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
7151     void oncut(VARIANT v);
7152
7153     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
7154     VARIANT oncut();
7155
7156     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
7157     void onbeforecopy(VARIANT v);
7158
7159     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
7160     VARIANT onbeforecopy();
7161
7162     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
7163     void oncopy(VARIANT v);
7164
7165     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
7166     VARIANT oncopy();
7167
7168     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
7169     void onbeforepaste(VARIANT v);
7170
7171     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
7172      VARIANT onbeforepaste();
7173
7174     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
7175     void onpaste(VARIANT v);
7176
7177     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
7178     VARIANT onpaste();
7179
7180     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
7181     IHTMLCurrentStyle* currentStyle();
7182
7183     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
7184     void onpropertychange(VARIANT v);
7185
7186     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
7187     VARIANT onpropertychange();
7188
7189     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
7190     IHTMLRectCollection* getClientRects();
7191
7192     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
7193     IHTMLRect* getBoundingClientRect();
7194
7195     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
7196     void setExpression(
7197         [in] BSTR propname,
7198         [in] BSTR expr,
7199         [defaultvalue(""), in] BSTR lang);
7200
7201     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
7202     VARIANT getExpression([in] BSTR propname);
7203
7204     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
7205     VARIANT_BOOL removeExpression([in] BSTR propname);
7206
7207     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
7208     void tabIndex(short v);
7209
7210     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
7211     short tabIndex();
7212
7213     [id(DISPID_IHTMLELEMENT2_FOCUS)]
7214     void focus();
7215
7216     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
7217     void accessKey(BSTR v);
7218
7219     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
7220     BSTR accessKey();
7221
7222     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
7223     void onblur(VARIANT v);
7224
7225     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
7226      VARIANT onblur();
7227
7228     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
7229     void onfocus(VARIANT v);
7230
7231     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
7232     VARIANT onfocus();
7233
7234     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
7235     void onresize(VARIANT v);
7236
7237     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
7238     VARIANT onresize();
7239
7240     [id(DISPID_IHTMLELEMENT2_BLUR)]
7241     void blur();
7242
7243     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
7244     void addFilter([in] IUnknown* pUnk);
7245
7246     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
7247     void removeFilter([in] IUnknown* pUnk);
7248
7249     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
7250     long clientHeight();
7251
7252     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
7253     long clientWidth();
7254
7255     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
7256     long clientTop();
7257
7258     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
7259     long clientLeft();
7260
7261     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
7262     VARIANT_BOOL attachEvent(
7263         [in] BSTR event,
7264         [in] IDispatch* pDisp);
7265
7266     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
7267     void detachEvent(
7268         [in] BSTR event,
7269         [in] IDispatch* pDisp);
7270
7271     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)] VARIANT readyState();
7272
7273     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
7274      void onreadystatechange(VARIANT v);
7275
7276     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
7277     VARIANT onreadystatechange();
7278
7279     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
7280     void onrowsdelete(VARIANT v);
7281
7282     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
7283     VARIANT onrowsdelete();
7284
7285     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
7286     void onrowsinserted(VARIANT v);
7287
7288     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
7289     VARIANT onrowsinserted();
7290
7291     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
7292     void oncellchange(VARIANT v);
7293
7294     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
7295     VARIANT oncellchange();
7296
7297     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
7298     void dir(BSTR v);
7299
7300     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
7301     BSTR dir();
7302
7303     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
7304     IDispatch* createControlRange();
7305
7306     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
7307     long scrollHeight();
7308
7309     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
7310     long scrollWidth();
7311
7312     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
7313     void scrollTop(long v);
7314
7315     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
7316     long scrollTop();
7317
7318     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
7319     void scrollLeft(long v);
7320
7321     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
7322     long scrollLeft();
7323
7324     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
7325     void clearAttributes();
7326
7327     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
7328     void oncontextmenu(VARIANT v);
7329
7330     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
7331     VARIANT oncontextmenu();
7332
7333     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
7334     IHTMLElement* insertAdjacentElement(
7335         [in] BSTR where,
7336         [in] IHTMLElement* insertedElement);
7337
7338     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
7339     IHTMLElement* applyElement([in] IHTMLElement* apply,[in] BSTR where);
7340
7341     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
7342     BSTR getAdjacentText([in] BSTR where);
7343
7344     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
7345     BSTR replaceAdjacentText([in] BSTR where,[in] BSTR newText);
7346
7347     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
7348     VARIANT_BOOL canHaveChildren();
7349
7350     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
7351     long addBehavior([in] BSTR bstrUrl,[optional, in] VARIANT* pvarFactory);
7352
7353     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
7354     VARIANT_BOOL removeBehavior([in] long cookie);
7355
7356     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
7357     IHTMLStyle* runtimeStyle();
7358
7359     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
7360     IDispatch* behaviorUrns();
7361
7362     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
7363     void tagUrn(BSTR v);
7364
7365     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
7366     BSTR tagUrn();
7367
7368     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
7369     void onbeforeeditfocus(VARIANT v);
7370
7371     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
7372     VARIANT onbeforeeditfocus();
7373
7374     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
7375     long readyStateValue();
7376
7377     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
7378     IHTMLElementCollection* getElementsByTagName([in] BSTR v);
7379
7380     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
7381     void mergeAttributes(
7382         [in] IHTMLElement* mergeThis,
7383         [optional, in] VARIANT* pvarFlags);
7384
7385     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
7386     VARIANT_BOOL isMultiLine();
7387
7388     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
7389     VARIANT_BOOL canHaveHTML();
7390
7391     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
7392     void onlayoutcomplete(VARIANT v);
7393
7394     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
7395     VARIANT onlayoutcomplete();
7396
7397     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
7398     void onpage(VARIANT v);
7399
7400     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
7401     VARIANT onpage();
7402
7403     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
7404     void inflateBlock(VARIANT_BOOL v);
7405
7406     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
7407     VARIANT_BOOL inflateBlock();
7408
7409     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
7410     void onbeforedeactivate(VARIANT v);
7411
7412     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
7413     VARIANT onbeforedeactivate();
7414
7415     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
7416     void setActive();
7417
7418     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
7419     void contentEditable(BSTR v);
7420
7421     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
7422     BSTR contentEditable();
7423
7424     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
7425     VARIANT_BOOL isContentEditable();
7426
7427     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
7428     void hideFocus(VARIANT_BOOL v);
7429
7430     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
7431     VARIANT_BOOL hideFocus();
7432
7433     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
7434     void disabled(VARIANT_BOOL v);
7435
7436     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
7437     VARIANT_BOOL disabled();
7438
7439     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
7440     VARIANT_BOOL isDisabled();
7441
7442     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
7443     void onmove(VARIANT v);
7444
7445     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
7446     VARIANT onmove();
7447
7448     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
7449     void oncontrolselect(VARIANT v);
7450
7451     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
7452     VARIANT oncontrolselect();
7453
7454     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
7455     VARIANT_BOOL fireEvent(
7456         [in] BSTR bstrEventName,
7457         [optional, in] VARIANT* pvarEventObject);
7458
7459     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
7460      void onresizestart(VARIANT v);
7461
7462     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
7463     VARIANT onresizestart();
7464
7465     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
7466     void onresizeend(VARIANT v);
7467
7468     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
7469     VARIANT onresizeend();
7470
7471     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
7472     void onmovestart(VARIANT v);
7473
7474     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
7475     VARIANT onmovestart();
7476
7477     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
7478     void onmoveend(VARIANT v);
7479
7480     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
7481     VARIANT onmoveend();
7482
7483     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
7484     void onmouseenter(VARIANT v);
7485
7486     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
7487     VARIANT onmouseenter();
7488
7489     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
7490     void onmouseleave(VARIANT v);
7491
7492     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
7493     VARIANT onmouseleave();
7494
7495     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
7496     void onactivate(VARIANT v);
7497     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] VARIANT onactivate();
7498
7499     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
7500     void ondeactivate(VARIANT v);
7501
7502     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
7503     VARIANT ondeactivate();
7504
7505     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
7506     VARIANT_BOOL dragDrop();
7507
7508     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
7509     LONG glyphMode();
7510
7511     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
7512     void onmousewheel(VARIANT v);
7513
7514     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
7515     VARIANT onmousewheel();
7516
7517     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
7518     void normalize();
7519
7520     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
7521      IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrname);
7522
7523     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
7524     IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
7525
7526     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
7527     IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
7528
7529     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
7530     void onbeforeactivate(VARIANT v);
7531
7532     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
7533     VARIANT onbeforeactivate();
7534
7535     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
7536     void onfocusin(VARIANT v);
7537
7538     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
7539     VARIANT onfocusin();
7540
7541     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
7542     void onfocusout(VARIANT v);
7543
7544     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
7545     VARIANT onfocusout();
7546
7547     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
7548     long uniqueNumber();
7549
7550     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
7551     BSTR uniqueID();
7552
7553     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
7554     long nodeType();
7555
7556     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
7557     IHTMLDOMNode* parentNode();
7558
7559     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
7560     VARIANT_BOOL hasChildNodes();
7561
7562     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
7563     IDispatch* childNodes();
7564
7565     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
7566     IDispatch* attributes();
7567
7568     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
7569     IHTMLDOMNode* insertBefore(
7570         [in] IHTMLDOMNode* newChild,
7571         [optional, in] VARIANT refChild);
7572
7573     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
7574     IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
7575
7576     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
7577     IHTMLDOMNode* replaceChild(
7578         [in] IHTMLDOMNode* newChild,
7579         [in] IHTMLDOMNode* oldChild);
7580
7581     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
7582     IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
7583
7584     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
7585     IHTMLDOMNode* removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep);
7586
7587     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
7588     IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
7589
7590     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
7591     IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
7592
7593     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
7594     IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
7595
7596     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
7597     BSTR nodeName();
7598
7599     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
7600     void nodeValue(VARIANT v);
7601
7602     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
7603     VARIANT nodeValue();
7604
7605     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
7606     IHTMLDOMNode* firstChild();
7607
7608     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
7609     IHTMLDOMNode* lastChild();
7610
7611     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
7612     IHTMLDOMNode* previousSibling();
7613
7614     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
7615     IHTMLDOMNode* nextSibling();
7616
7617     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
7618     IDispatch* ownerDocument();
7619
7620     [propput, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
7621     void background(BSTR v);
7622
7623     [propget, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
7624     BSTR background();
7625
7626     [propput, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
7627     void bgProperties(BSTR v);
7628
7629     [propget, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
7630     BSTR bgProperties();
7631
7632     [propput, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
7633     void leftMargin(VARIANT v);
7634
7635     [propget, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
7636     VARIANT leftMargin();
7637
7638     [propput, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
7639     void topMargin(VARIANT v);
7640
7641     [propget, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
7642     VARIANT topMargin();
7643
7644     [propput, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
7645     void rightMargin(VARIANT v);
7646
7647     [propget, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
7648     VARIANT rightMargin();
7649
7650     [propput, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
7651     void bottomMargin(VARIANT v);
7652
7653     [propget, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
7654     VARIANT bottomMargin();
7655
7656     [propput, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
7657     void noWrap(VARIANT_BOOL v);
7658
7659     [propget, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
7660     VARIANT_BOOL noWrap();
7661
7662     [propput, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
7663     void bgColor(VARIANT v);
7664
7665     [propget, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
7666     VARIANT bgColor();
7667
7668     [propput, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
7669     void text(VARIANT v);
7670
7671     [propget, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
7672     VARIANT text();
7673
7674     [propput, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
7675     void link(VARIANT v);
7676
7677     [propget, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
7678     VARIANT link();
7679
7680     [propput, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
7681     void vLink(VARIANT v);
7682
7683     [propget, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
7684     VARIANT vLink();
7685
7686     [propput, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
7687     void aLink(VARIANT v);
7688
7689     [propget, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
7690     VARIANT aLink();
7691
7692     [propput, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
7693     void onload(VARIANT v);
7694
7695     [propget, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
7696     VARIANT onload();
7697
7698     [propput, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
7699     void onunload(VARIANT v);
7700
7701     [propget, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
7702     VARIANT onunload();
7703
7704     [propput, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
7705     void scroll(BSTR v);
7706
7707     [propget, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
7708     BSTR scroll();
7709
7710     [propput, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
7711     void onselect(VARIANT v);
7712
7713     [propget, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
7714     VARIANT onselect();
7715
7716     [propput, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
7717     void onbeforeunload(VARIANT v);
7718
7719     [propget, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
7720     VARIANT onbeforeunload();
7721
7722     [id(DISPID_IHTMLBODYELEMENT_CREATETEXTRANGE)]
7723     IHTMLTxtRange* createTextRange();
7724
7725     [propput, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
7726     void onbeforeprint(VARIANT v);
7727
7728     [propget, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
7729     VARIANT onbeforeprint();
7730
7731     [propput, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
7732     void onafterprint(VARIANT v);
7733
7734     [propget, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
7735     VARIANT onafterprint();
7736 };
7737
7738 [
7739     uuid(3050f24a-98b5-11cf-bb82-00aa00bdce0b)
7740 ]
7741 coclass HTMLBody
7742 {
7743     [default]           dispinterface DispHTMLBody;
7744     [source, default]   dispinterface HTMLTextContainerEvents;
7745     [source]            dispinterface HTMLTextContainerEvents2;
7746                         interface IHTMLElement;
7747                         interface IHTMLElement2;
7748                         interface IHTMLElement3;
7749                         interface IHTMLElement4;
7750                         interface IHTMLUniqueName;
7751                         interface IHTMLDOMNode;
7752                         interface IHTMLDOMNode2;
7753                         interface IHTMLControlElement;
7754                         interface IHTMLTextContainer;
7755                         interface IHTMLBodyElement;
7756                         interface IHTMLBodyElement2;
7757 };
7758
7759 /*****************************************************************************
7760  *    IHTMLAnchorElement interface
7761  */
7762 [
7763     odl,
7764     oleautomation,
7765     dual,
7766     uuid(3050f1da-98b5-11cf-bb82-00aa00bdce0b)
7767 ]
7768 interface IHTMLAnchorElement : IDispatch
7769 {
7770     [propput, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
7771     HRESULT href([in] BSTR v);
7772
7773     [propget, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
7774     HRESULT href([retval, out] BSTR *p);
7775
7776     [propput, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
7777     HRESULT target([in] BSTR v);
7778
7779     [propget, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
7780     HRESULT target([retval, out] BSTR *p);
7781
7782     [propput, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
7783     HRESULT rel([in] BSTR v);
7784
7785     [propget, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
7786     HRESULT rel([retval, out] BSTR *p);
7787
7788     [propput, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
7789     HRESULT rev([in] BSTR v);
7790
7791     [propget, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
7792     HRESULT rev([retval, out] BSTR *p);
7793
7794     [propput, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
7795     HRESULT urn([in] BSTR v);
7796
7797     [propget, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
7798     HRESULT urn([retval, out] BSTR *p);
7799
7800     [propput, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
7801     HRESULT Methods([in] BSTR v);
7802
7803     [propget, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
7804     HRESULT Methods([retval, out] BSTR *p);
7805
7806     [propput, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
7807     HRESULT name([in] BSTR v);
7808
7809     [propget, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
7810     HRESULT name([retval, out] BSTR *p);
7811
7812     [propput, id(DISPID_IHTMLANCHORELEMENT_HOST)]
7813     HRESULT host([in] BSTR v);
7814
7815     [propget, id(DISPID_IHTMLANCHORELEMENT_HOST)]
7816     HRESULT host([retval, out] BSTR *p);
7817
7818     [propput, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
7819     HRESULT hostname([in] BSTR v);
7820
7821     [propget, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
7822     HRESULT hostname([retval, out] BSTR *p);
7823
7824     [propput, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
7825     HRESULT pathname([in] BSTR v);
7826
7827     [propget, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
7828     HRESULT pathname([retval, out] BSTR *p);
7829
7830     [propput, id(DISPID_IHTMLANCHORELEMENT_PORT)]
7831     HRESULT port([in] BSTR v);
7832
7833     [propget, id(DISPID_IHTMLANCHORELEMENT_PORT)]
7834     HRESULT port([retval, out] BSTR *p);
7835
7836     [propput, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
7837     HRESULT protocol([in] BSTR v);
7838
7839     [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
7840     HRESULT protocol([retval, out] BSTR *p);
7841
7842     [propput, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
7843     HRESULT search([in] BSTR v);
7844
7845     [propget, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
7846     HRESULT search([retval, out] BSTR *p);
7847
7848     [propput, id(DISPID_IHTMLANCHORELEMENT_HASH)]
7849     HRESULT hash([in] BSTR v);
7850
7851     [propget, id(DISPID_IHTMLANCHORELEMENT_HASH)]
7852     HRESULT hash([retval, out] BSTR *p);
7853
7854     [propput, id(DISPID_IHTMLANCHORELEMENT_ONBLUR), displaybind, bindable]
7855     HRESULT onblur([in] VARIANT v);
7856
7857     [propget, id(DISPID_IHTMLANCHORELEMENT_ONBLUR), displaybind, bindable]
7858     HRESULT onblur([retval, out] VARIANT *p);
7859
7860     [propput, id(DISPID_IHTMLANCHORELEMENT_ONFOCUS), displaybind, bindable]
7861     HRESULT onfocus([in] VARIANT v);
7862
7863     [propget, id(DISPID_IHTMLANCHORELEMENT_ONFOCUS), displaybind, bindable]
7864     HRESULT onfocus([retval, out] VARIANT *p);
7865
7866     [propput, id(DISPID_IHTMLANCHORELEMENT_ACCESSKEY), displaybind, bindable]
7867     HRESULT accessKey([in] BSTR v);
7868
7869     [propget, id(DISPID_IHTMLANCHORELEMENT_ACCESSKEY), displaybind, bindable]
7870     HRESULT accessKey([retval, out] BSTR *p);
7871
7872     [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOLLONG)]
7873     HRESULT protocolLong([retval, out] BSTR *p);
7874
7875     [propget, id(DISPID_IHTMLANCHORELEMENT_MIMETYPE)]
7876     HRESULT mimeType([retval, out] BSTR *p);
7877
7878     [propget, id(DISPID_IHTMLANCHORELEMENT_NAMEPROP)]
7879     HRESULT nameProp([retval, out] BSTR *p);
7880
7881     [propput, id(DISPID_IHTMLANCHORELEMENT_TABINDEX), displaybind, bindable]
7882     HRESULT tabIndex([in] short v);
7883
7884     [propget, id(DISPID_IHTMLANCHORELEMENT_TABINDEX), displaybind, bindable]
7885     HRESULT tabIndex([retval, out] short *p);
7886
7887     [id(DISPID_IHTMLANCHORELEMENT_FOCUS)]
7888     HRESULT focus();
7889
7890     [id(DISPID_IHTMLANCHORELEMENT_BLUR)]
7891     HRESULT blur();
7892 }
7893
7894 /*****************************************************************************
7895  *    IHTMLElementCollection interface
7896  */
7897 [
7898     odl,
7899     oleautomation,
7900     dual,
7901     uuid(3050F21F-98B5-11CF-BB82-00AA00BDCE0B)
7902 ]
7903 interface IHTMLElementCollection : IDispatch
7904 {
7905     [id(DISPID_IHTMLELEMENTCOLLECTION_TOSTRING)]
7906     HRESULT toString([retval, out] BSTR *String);
7907
7908     [propput, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
7909     HRESULT length([in] long v);
7910
7911     [propget, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
7912     HRESULT length([retval, out] long *p);
7913
7914     [propget, id(DISPID_IHTMLELEMENTCOLLECTION__NEWENUM)]
7915     HRESULT _newEnum([retval, out] IUnknown **p);
7916
7917     [id(DISPID_IHTMLELEMENTCOLLECTION_ITEM)]
7918     HRESULT item(
7919         [optional, in] VARIANT name,
7920         [optional, in] VARIANT index,
7921         [retval,  out] IDispatch **pdisp);
7922
7923     [id(DISPID_IHTMLELEMENTCOLLECTION_TAGS)]
7924     HRESULT tags(
7925         [in] VARIANT tagName,
7926         [retval, out] IDispatch **pdisp);
7927 }
7928
7929 /*****************************************************************************
7930  *    DispHTMLElementCollection dispinterface
7931  */
7932 [
7933     hidden,
7934     uuid(3050f56b-98b5-11cf-bb82-00aa00bdce0b)
7935 ]
7936 dispinterface DispHTMLElementCollection
7937 {
7938 properties:
7939 methods:
7940     [id(DISPID_IHTMLELEMENTCOLLECTION_TOSTRING)]
7941     BSTR toString();
7942
7943     [propput, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
7944     void length(long v);
7945
7946     [propget, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
7947     long length();
7948
7949     [propget, id(DISPID_IHTMLELEMENTCOLLECTION__NEWENUM), hidden, restricted]
7950     IUnknown *_newEnum();
7951
7952     [id(DISPID_IHTMLELEMENTCOLLECTION_ITEM)]
7953     IDispatch *item(
7954             [in, optional] VARIANT name,
7955             [in, optional] VARIANT index);
7956
7957     [id(DISPID_IHTMLELEMENTCOLLECTION_TAGS)]
7958     IDispatch *tags(
7959             [in] VARIANT tagName);
7960
7961     [id(DISPID_IHTMLELEMENTCOLLECTION2_URNS)]
7962     IDispatch *urns([in] VARIANT urn);
7963
7964     [id(DISPID_IHTMLELEMENTCOLLECTION3_NAMEDITEM)]
7965     IDispatch *namedItem([in] BSTR name);
7966 }
7967
7968 /*****************************************************************************
7969  *    IHTMLSelectElement interface
7970  */
7971 [
7972     odl,
7973     oleautomation,
7974     dual,
7975     uuid(3050f244-98b5-11cf-bb82-00aa00bdce0b)
7976 ]
7977 interface IHTMLSelectElement : IDispatch
7978 {
7979     [propput, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
7980     HRESULT size([in] long v);
7981
7982     [propget, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
7983     HRESULT size([retval, out] long *p);
7984
7985     [propput, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
7986     HRESULT multiple([in] VARIANT_BOOL v);
7987
7988     [propget, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
7989     HRESULT multiple([retval, out] VARIANT_BOOL *p);
7990
7991     [propput, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
7992     HRESULT name([in] BSTR v);
7993
7994     [propget, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
7995     HRESULT name([retval, out] BSTR *p);
7996
7997     [propget, id(DISPID_IHTMLSELECTELEMENT_OPTIONS)]
7998     HRESULT options([retval, out] IDispatch **p);
7999
8000     [propput, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
8001     HRESULT onchange([in] VARIANT v);
8002
8003     [propget, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
8004     HRESULT onchange([retval, out] VARIANT *p);
8005
8006     [propput, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
8007     HRESULT selectedIndex([in] long v);
8008
8009     [propget, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
8010     HRESULT selectedIndex([retval, out] long *p);
8011
8012     [propget, id(DISPID_IHTMLSELECTELEMENT_TYPE), displaybind, bindable]
8013     HRESULT type([retval, out] BSTR *p);
8014
8015     [propput, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
8016     HRESULT value([in] BSTR v);
8017
8018     [propget, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
8019     HRESULT value([retval, out] BSTR *p);
8020
8021     [propput, id(DISPID_IHTMLSELECTELEMENT_DISABLED), displaybind, bindable]
8022     HRESULT disabled([in] VARIANT_BOOL v);
8023
8024     [propget, id(DISPID_IHTMLSELECTELEMENT_DISABLED), displaybind, bindable]
8025     HRESULT disabled([retval, out] VARIANT_BOOL *p);
8026
8027     [propget, id(DISPID_IHTMLSELECTELEMENT_FORM)]
8028     HRESULT form([retval, out] IHTMLFormElement **p);
8029
8030     [id(DISPID_IHTMLSELECTELEMENT_ADD)]
8031     HRESULT add(
8032         [in] IHTMLElement *element,
8033         [optional, in] VARIANT before);
8034
8035     [id(DISPID_IHTMLSELECTELEMENT_REMOVE)]
8036     HRESULT remove([defaultvalue(-1), in] long index);
8037
8038     [propput, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
8039     HRESULT length([in] long v);
8040
8041     [propget, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
8042     HRESULT length([retval, out] long *p);
8043
8044     [propget, id(DISPID_IHTMLSELECTELEMENT__NEWENUM), hidden, restricted]
8045     HRESULT _newEnum([retval, out] IUnknown **p);
8046
8047     [id(DISPID_IHTMLSELECTELEMENT_ITEM)]
8048     HRESULT item(
8049         [optional, in] VARIANT name,
8050         [optional, in] VARIANT index,
8051         [retval, out] IDispatch **pdisp);
8052
8053     [id(DISPID_IHTMLSELECTELEMENT_TAGS)]
8054     HRESULT tags(
8055         [in] VARIANT tagName,
8056         [retval, out] IDispatch **pdisp);
8057 }
8058
8059 /*****************************************************************************
8060  *    DispHTMLSelectElement dispinterface
8061  */
8062 [
8063     hidden,
8064     uuid(3050f531-98b5-11cf-bb82-00aa00bdce0b)
8065 ]
8066 dispinterface DispHTMLSelectElement
8067 {
8068 properties:
8069 methods:
8070     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
8071     void setAttribute(
8072             [in] BSTR strAttributeName,
8073             [in] VARIANT AttributeValue,
8074             [in, defaultvalue(1)] LONG lFlags);
8075
8076     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
8077     VARIANT getAttribute(
8078              [in] BSTR strAttributeName,
8079              [in, defaultvalue(0)] LONG lFlags);
8080
8081     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
8082     VARIANT_BOOL removeAttribute(
8083             [in] BSTR strAttributeName,
8084             [in, defaultvalue(1)] LONG lFlags);
8085
8086     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
8087     void className(BSTR v);
8088
8089     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
8090     BSTR className();
8091
8092     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
8093     void id(BSTR v);
8094
8095     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
8096     BSTR id();
8097
8098     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
8099     BSTR tagName();
8100
8101     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
8102     IHTMLElement *parentElement();
8103
8104     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
8105     IHTMLStyle *style();
8106
8107     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
8108     void onhelp(VARIANT v);
8109
8110     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
8111     VARIANT onhelp();
8112
8113     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
8114     void onclick(VARIANT v);
8115
8116     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
8117     VARIANT onclick();
8118
8119     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
8120     void ondblclick(VARIANT v);
8121
8122     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
8123     VARIANT ondblclick();
8124
8125     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
8126     void onkeydown(VARIANT v);
8127
8128     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
8129     VARIANT onkeydown();
8130
8131     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
8132     void onkeyup(VARIANT v);
8133
8134     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
8135     VARIANT onkeyup();
8136
8137     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
8138     void onkeypress(VARIANT v);
8139
8140     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
8141     VARIANT onkeypress();
8142
8143     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
8144     void onmouseout(VARIANT v);
8145
8146     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
8147     VARIANT onmouseout();
8148
8149     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
8150     void onmouseover(VARIANT v);
8151
8152     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
8153     VARIANT onmouseover();
8154
8155     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
8156     void onmousemove(VARIANT v);
8157
8158     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
8159     VARIANT onmousemove();
8160
8161     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
8162     void onmousedown(VARIANT v);
8163
8164     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
8165     VARIANT onmousedown();
8166
8167     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
8168     void onmouseup(VARIANT v);
8169
8170     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
8171     VARIANT onmouseup();
8172
8173     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
8174     IDispatch *document();
8175
8176     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
8177     void title(BSTR v);
8178
8179     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
8180     BSTR title();
8181
8182     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
8183     void language(BSTR v);
8184
8185     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
8186     BSTR language();
8187
8188     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
8189     void onselectstart(VARIANT v);
8190
8191     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
8192     VARIANT onselectstart();
8193
8194     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
8195     void scrollIntoView([in, optional] VARIANT varargStart);
8196
8197     [id(DISPID_IHTMLELEMENT_CONTAINS)]
8198     VARIANT_BOOL contains([in] IHTMLElement *pChild);
8199
8200     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
8201     long sourceIndex();
8202
8203     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
8204     VARIANT recordNumber();
8205
8206     [propput, id(DISPID_IHTMLELEMENT_LANG)]
8207     void lang(BSTR v);
8208
8209     [propget, id(DISPID_IHTMLELEMENT_LANG)]
8210     BSTR lang();
8211
8212     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
8213     long offsetLeft();
8214
8215     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
8216     long offsetTop();
8217
8218     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
8219     long offsetWidth();
8220
8221     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
8222     long offsetHeight();
8223
8224     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
8225     IHTMLElement *offsetParent();
8226
8227     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
8228     void innerHTML(BSTR v);
8229
8230     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
8231     BSTR innerHTML();
8232
8233     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
8234     void innerText(BSTR v);
8235
8236     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
8237     BSTR innerText();
8238
8239     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
8240     void outerHTML(BSTR v);
8241
8242     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
8243     BSTR outerHTML();
8244
8245     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
8246     void outerText(BSTR v);
8247
8248     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
8249     BSTR outerText();
8250
8251     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
8252     void insertAdjacentHTML(
8253             [in] BSTR where,
8254             [in] BSTR html);
8255
8256     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
8257     void insertAdjacentText(
8258             [in] BSTR where,
8259             [in] BSTR text);
8260
8261     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
8262     IHTMLElement *parentTextEdit();
8263
8264     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
8265     VARIANT_BOOL isTextEdit();
8266
8267     [id(DISPID_IHTMLELEMENT_CLICK)]
8268     void click();
8269
8270     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
8271     IHTMLFiltersCollection *filters();
8272
8273     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
8274     void ondragstart(VARIANT v);
8275
8276     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
8277     VARIANT ondragstart();
8278
8279     [id(DISPID_IHTMLELEMENT_TOSTRING)]
8280     BSTR toString();
8281
8282     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
8283     void onbeforeupdate(VARIANT v);
8284
8285     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
8286     VARIANT onbeforeupdate();
8287
8288     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
8289     void onafterupdate(VARIANT v);
8290
8291     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
8292     VARIANT onafterupdate();
8293
8294     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
8295     void onerrorupdate(VARIANT v);
8296
8297     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
8298     VARIANT onerrorupdate();
8299
8300     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
8301     void onrowexit(VARIANT v);
8302
8303     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
8304     VARIANT onrowexit();
8305
8306     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
8307     void onrowenter(VARIANT v);
8308
8309     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
8310     VARIANT onrowenter();
8311
8312     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
8313     void ondatasetchanged(VARIANT v);
8314
8315     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
8316     VARIANT ondatasetchanged();
8317
8318     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
8319     void ondataavailable(VARIANT v);
8320
8321     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
8322     VARIANT ondataavailable();
8323
8324     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
8325     void ondatasetcomplete(VARIANT v);
8326
8327     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
8328     VARIANT ondatasetcomplete();
8329
8330     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
8331     void onfilterchange(VARIANT v);
8332
8333     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
8334     VARIANT onfilterchange();
8335
8336     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
8337     IDispatch *children();
8338
8339     [propget, id(DISPID_IHTMLELEMENT_ALL)]
8340     IDispatch *all();
8341
8342     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
8343     BSTR scopeName();
8344
8345     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
8346     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
8347
8348     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
8349     void releaseCapture();
8350
8351     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
8352     void onlosecapture(VARIANT v);
8353
8354     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
8355     VARIANT onlosecapture();
8356
8357     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
8358     BSTR componentFromPoint(
8359             [in] long x,
8360             [in] long y);
8361
8362     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
8363     void doScroll([in, optional] VARIANT component);
8364
8365     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
8366     void onscroll(VARIANT v);
8367
8368     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
8369     VARIANT onscroll();
8370
8371     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
8372     void ondrag(VARIANT v);
8373
8374     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
8375     VARIANT ondrag();
8376
8377     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
8378     void ondragend(VARIANT v);
8379
8380     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
8381     VARIANT ondragend();
8382
8383     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
8384     void ondragenter(VARIANT v);
8385
8386     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
8387     VARIANT ondragenter();
8388
8389     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
8390     void ondragover(VARIANT v);
8391
8392     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
8393     VARIANT ondragover();
8394
8395     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
8396     void ondragleave(VARIANT v);
8397
8398     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
8399     VARIANT ondragleave();
8400
8401     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
8402     void ondrop(VARIANT v);
8403
8404     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
8405     VARIANT ondrop();
8406
8407     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
8408     void onbeforecut(VARIANT v);
8409
8410     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
8411     VARIANT onbeforecut();
8412
8413     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
8414     void oncut(VARIANT v);
8415
8416     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
8417     VARIANT oncut();
8418
8419     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
8420     void onbeforecopy(VARIANT v);
8421
8422     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
8423     VARIANT onbeforecopy();
8424
8425     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
8426     void oncopy(VARIANT v);
8427
8428     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
8429     VARIANT oncopy();
8430
8431     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
8432     void onbeforepaste(VARIANT v);
8433
8434     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
8435     VARIANT onbeforepaste();
8436
8437     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
8438     void onpaste(VARIANT v);
8439
8440     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
8441     VARIANT onpaste();
8442
8443     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
8444     IHTMLCurrentStyle *currentStyle();
8445
8446     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
8447     void onpropertychange(VARIANT v);
8448
8449     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
8450     VARIANT onpropertychange();
8451
8452     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
8453     IHTMLRectCollection *getClientRects();
8454
8455     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
8456     IHTMLRect *getBoundingClientRect();
8457
8458     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
8459     void setExpression(
8460             [in] BSTR propname,
8461             [in] BSTR expression,
8462             [in, defaultvalue("")] BSTR language);
8463
8464     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
8465     VARIANT getExpression([in] BSTR propname);
8466
8467     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
8468     VARIANT_BOOL removeExpression([in] BSTR propname);
8469
8470     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
8471     void tabIndex(short v);
8472
8473     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
8474     short tabIndex();
8475
8476     [id(DISPID_IHTMLELEMENT2_FOCUS)]
8477     void focus();
8478
8479     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
8480     void accessKey(BSTR v);
8481
8482     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
8483     BSTR accessKey();
8484
8485     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
8486     void onblur(VARIANT v);
8487
8488     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
8489     VARIANT onblur();
8490
8491     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
8492     void onfocus(VARIANT v);
8493
8494     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
8495     VARIANT onfocus();
8496
8497     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
8498     void onresize(VARIANT v);
8499
8500     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
8501     VARIANT onresize();
8502
8503     [id(DISPID_IHTMLELEMENT2_BLUR)]
8504     void blur();
8505
8506     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
8507     void addFilter([in] IUnknown *pUnk);
8508
8509     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
8510     void removeFilter([in] IUnknown *pUnk);
8511
8512     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
8513     long clientHeight();
8514
8515     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
8516     long clientWidth();
8517
8518     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
8519     long clientTop();
8520
8521     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
8522     long clientLeft();
8523
8524     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
8525     VARIANT_BOOL attachEvent(
8526             [in] BSTR event,
8527             [in] IDispatch *pDisp);
8528
8529     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
8530     void detachEvent(
8531             [in] BSTR event,
8532             [in] IDispatch *pDisp);
8533
8534     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
8535     VARIANT readyState();
8536
8537     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
8538     void onreadystatechange(VARIANT v);
8539
8540     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
8541     VARIANT onreadystatechange();
8542
8543     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
8544     void onrowsdelete(VARIANT v);
8545
8546     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
8547     VARIANT onrowsdelete();
8548
8549     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
8550     void onrowsinserted(VARIANT v);
8551
8552     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
8553      VARIANT onrowsinserted();
8554
8555     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
8556      void oncellchange(VARIANT v);
8557
8558     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
8559     VARIANT oncellchange();
8560
8561     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
8562     void dir(BSTR v);
8563
8564     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
8565     BSTR dir();
8566
8567     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
8568     IDispatch *createControlRange();
8569
8570     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
8571     long scrollHeight();
8572
8573     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
8574     long scrollWidth();
8575
8576     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
8577     void scrollTop(long v);
8578
8579     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
8580     long scrollTop();
8581
8582     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
8583     void scrollLeft(long v);
8584
8585     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
8586     long scrollLeft();
8587
8588     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
8589     void clearAttributes();
8590
8591     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
8592     void oncontextmenu(VARIANT v);
8593
8594     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
8595     VARIANT oncontextmenu();
8596
8597     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
8598     IHTMLElement *insertAdjacentElement(
8599             [in] BSTR where,
8600             [in] IHTMLElement *insertedElement);
8601
8602     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
8603     IHTMLElement *applyElement(
8604             [in] IHTMLElement *apply,
8605             [in] BSTR where);
8606
8607     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
8608     BSTR getAdjacentText([in] BSTR where);
8609
8610     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
8611     BSTR replaceAdjacentText(
8612             [in] BSTR where,
8613             [in] BSTR newText);
8614
8615     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
8616     VARIANT_BOOL canHaveChildren();
8617
8618     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
8619     long addBehavior(
8620             [in] BSTR bstrUrl,
8621             [in, optional] VARIANT *pvarFactory);
8622
8623     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
8624     VARIANT_BOOL removeBehavior([in] long cookie);
8625
8626     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
8627     IHTMLStyle *runtimeStyle();
8628
8629     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
8630     IDispatch *behaviorUrns();
8631
8632     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
8633     void tagUrn(BSTR v);
8634
8635     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
8636     BSTR tagUrn();
8637
8638     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
8639     void onbeforeeditfocus(VARIANT v);
8640
8641     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
8642     VARIANT onbeforeeditfocus();
8643
8644     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
8645     long readyStateValue();
8646
8647     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
8648     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
8649
8650     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
8651     void mergeAttributes(
8652             [in] IHTMLElement *mergeThis,
8653             [in, optional] VARIANT *pvarFlags);
8654
8655     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
8656     VARIANT_BOOL isMultiLine();
8657
8658     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
8659     VARIANT_BOOL canHaveHTML();
8660
8661     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
8662     void onlayoutcomplete(VARIANT v);
8663
8664     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
8665     VARIANT onlayoutcomplete();
8666
8667     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
8668     void onpage(VARIANT v);
8669
8670     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
8671     VARIANT onpage();
8672
8673     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
8674     void inflateBlock(VARIANT_BOOL v);
8675
8676     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
8677     VARIANT_BOOL inflateBlock();
8678
8679     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
8680     void onbeforedeactivate(VARIANT v);
8681
8682     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
8683     VARIANT onbeforedeactivate();
8684
8685     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
8686     void setActive();
8687
8688     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
8689     void contentEditable(BSTR v);
8690
8691     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
8692     BSTR contentEditable();
8693
8694     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
8695     VARIANT_BOOL isContentEditable();
8696
8697     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
8698     void hideFocus(VARIANT_BOOL v);
8699
8700     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
8701     VARIANT_BOOL hideFocus();
8702
8703     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
8704     void disabled(VARIANT_BOOL v);
8705
8706     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
8707     VARIANT_BOOL disabled();
8708
8709     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
8710     VARIANT_BOOL isDisabled();
8711
8712     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
8713     void onmove(VARIANT v);
8714
8715     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
8716     VARIANT onmove();
8717
8718     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
8719     void oncontrolselect(VARIANT v);
8720
8721     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
8722     VARIANT oncontrolselect();
8723
8724     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
8725     VARIANT_BOOL fireEvent(
8726             [in] BSTR bstrEventName,
8727             [in, optional] VARIANT *pvarEventObject);
8728
8729     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
8730     void onresizestart(VARIANT v);
8731
8732     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
8733     VARIANT onresizestart();
8734
8735     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
8736     void onresizeend(VARIANT v);
8737
8738     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
8739     VARIANT onresizeend();
8740
8741     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
8742     void onmovestart(VARIANT v);
8743
8744     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
8745     VARIANT onmovestart();
8746
8747     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
8748     void onmoveend(VARIANT v);
8749
8750     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
8751     VARIANT onmoveend();
8752
8753     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
8754     void onmouseenter(VARIANT v);
8755
8756     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
8757     VARIANT onmouseenter();
8758
8759     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
8760     void onmouseleave(VARIANT v);
8761
8762     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
8763     VARIANT onmouseleave();
8764
8765     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
8766     void onactivate(VARIANT v);
8767
8768     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
8769     VARIANT onactivate();
8770
8771     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
8772     void ondeactivate(VARIANT v);
8773
8774     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
8775     VARIANT ondeactivate();
8776
8777     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
8778     VARIANT_BOOL dragDrop();
8779
8780     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
8781     LONG glyphMode();
8782
8783     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
8784     void onmousewheel(VARIANT v);
8785
8786     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
8787     VARIANT onmousewheel();
8788
8789     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
8790     void normalize();
8791
8792     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
8793     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
8794
8795     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
8796     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
8797
8798     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
8799     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
8800
8801     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
8802     void onbeforeactivate(VARIANT v);
8803
8804     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
8805     VARIANT onbeforeactivate();
8806
8807     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
8808     void onfocusin(VARIANT v);
8809
8810     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
8811     VARIANT onfocusin();
8812
8813     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
8814     void onfocusout(VARIANT v);
8815
8816     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
8817     VARIANT onfocusout();
8818
8819     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
8820     long uniqueNumber();
8821
8822     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
8823     BSTR uniqueID();
8824
8825     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
8826     long nodeType();
8827
8828     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
8829     IHTMLDOMNode *parentNode();
8830
8831     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
8832     VARIANT_BOOL hasChildNodes();
8833
8834     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
8835     IDispatch *childNodes();
8836
8837     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
8838     IDispatch *attributes();
8839
8840     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
8841     IHTMLDOMNode *insertBefore(
8842             [in] IHTMLDOMNode *newChild,
8843             [in, optional] VARIANT refChild);
8844
8845     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
8846     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
8847
8848     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
8849     IHTMLDOMNode *replaceChild(
8850             [in] IHTMLDOMNode *newChild,
8851             [in] IHTMLDOMNode *oldChild);
8852
8853     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
8854     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
8855
8856     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
8857     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
8858
8859     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
8860     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
8861
8862     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
8863     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
8864
8865     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
8866     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
8867
8868     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
8869     BSTR nodeName();
8870
8871     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
8872     void nodeValue(VARIANT v);
8873
8874     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
8875     VARIANT nodeValue();
8876
8877     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
8878     IHTMLDOMNode *firstChild();
8879
8880     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
8881     IHTMLDOMNode *lastChild();
8882
8883     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
8884     IHTMLDOMNode *previousSibling();
8885
8886     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
8887     IHTMLDOMNode *nextSibling();
8888
8889     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
8890     IDispatch *ownerDocument();
8891
8892     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
8893     void dataFld(BSTR v);
8894
8895     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
8896     BSTR dataFld();
8897
8898     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
8899     void dataSrc(BSTR v);
8900
8901     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
8902     BSTR dataSrc();
8903
8904     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
8905     void dataFormatAs(BSTR v);
8906
8907     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
8908     BSTR dataFormatAs();
8909
8910     [propput, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
8911     void size(long v);
8912
8913     [propget, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
8914     long size();
8915
8916     [propput, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
8917     void multiple(VARIANT_BOOL v);
8918
8919     [propget, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
8920     VARIANT_BOOL multiple();
8921
8922     [propput, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
8923     void name(BSTR v);
8924
8925     [propget, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
8926     BSTR name();
8927
8928     [propget, id(DISPID_IHTMLSELECTELEMENT_OPTIONS)]
8929     IDispatch *options();
8930
8931     [propput, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
8932     void onchange(VARIANT v);
8933
8934     [propget, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
8935     VARIANT onchange();
8936
8937     [propput, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
8938     void selectedIndex(long v);
8939
8940     [propget, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
8941     long selectedIndex();
8942
8943     [propget, id(DISPID_IHTMLSELECTELEMENT_TYPE), displaybind, bindable]
8944     BSTR type();
8945
8946     [propput, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
8947     void value(BSTR v);
8948
8949     [propget, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
8950     BSTR value();
8951
8952     [propget, id(DISPID_IHTMLSELECTELEMENT_FORM)]
8953     IHTMLFormElement *form();
8954
8955     [id(DISPID_IHTMLSELECTELEMENT_ADD)]
8956     void add(
8957             [in] IHTMLElement *element,
8958             [in, optional] VARIANT before);
8959
8960     [id(DISPID_IHTMLSELECTELEMENT_REMOVE)]
8961     void remove([in, defaultvalue(-1)] long index);
8962
8963     [propput, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
8964     void length(long v);
8965
8966     [propget, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
8967     long length();
8968
8969     [propget, id(DISPID_IHTMLSELECTELEMENT__NEWENUM), hidden, restricted]
8970     IUnknown *_newEnum();
8971
8972     [id(DISPID_IHTMLSELECTELEMENT_ITEM)]
8973     IDispatch *item(
8974             [in, optional] VARIANT name,
8975             [in, optional] VARIANT index);
8976
8977     [id(DISPID_IHTMLSELECTELEMENT_TAGS)]
8978     IDispatch *tags([in] VARIANT tagName);
8979
8980     [id(DISPID_IHTMLSELECTELEMENT2_URNS)]
8981     IDispatch *urns([in] VARIANT urn);
8982
8983     [id(DISPID_IHTMLSELECTELEMENT4_NAMEDITEM)]
8984     IDispatch *namedItem([in] BSTR name);
8985 }
8986
8987 /*****************************************************************************
8988  *    IHTMLSelectionObject interface
8989  */
8990 [
8991     odl,
8992     oleautomation,
8993     dual,
8994     uuid(3050F25A-98B5-11CF-BB82-00AA00BDCE0B)
8995 ]
8996 interface IHTMLSelectionObject : IDispatch
8997 {
8998     [id(DISPID_IHTMLSELECTIONOBJECT_CREATERANGE)]
8999     HRESULT createRange([retval, out] IDispatch **range);
9000
9001     [id(DISPID_IHTMLSELECTIONOBJECT_EMPTY)]
9002     HRESULT empty();
9003
9004     [id(DISPID_IHTMLSELECTIONOBJECT_CLEAR)]
9005     HRESULT clear();
9006
9007     [propget, id(DISPID_IHTMLSELECTIONOBJECT_TYPE)]
9008     HRESULT type([retval, out] BSTR *p);
9009 }
9010
9011 /*****************************************************************************
9012  *    IHTMLOptionElement interface
9013  */
9014 [
9015     odl,
9016     oleautomation,
9017     dual,
9018     uuid(3050F211-98B5-11CF-BB82-00AA00BDCE0B)
9019 ]
9020 interface IHTMLOptionElement : IDispatch
9021 {
9022     [propput, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
9023     HRESULT selected([in] VARIANT_BOOL v);
9024
9025     [propget, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
9026     HRESULT selected([retval, out] VARIANT_BOOL *p);
9027
9028     [propput, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
9029     HRESULT value([in] BSTR v);
9030
9031     [propget, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
9032     HRESULT value([retval, out] BSTR *p);
9033
9034     [propput, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
9035     HRESULT defaultSelected([in] VARIANT_BOOL v);
9036
9037     [propget, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
9038     HRESULT defaultSelected([retval, out] VARIANT_BOOL *p);
9039
9040     [propput, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
9041     HRESULT index([in] LONG v);
9042
9043     [propget, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
9044     HRESULT index([retval, out] LONG *p);
9045
9046     [propput, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
9047     HRESULT text([in] BSTR v);
9048
9049     [propget, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
9050     HRESULT text([retval, out] BSTR *p);
9051
9052     [propget, id(DISPID_IHTMLOPTIONELEMENT_FORM)]
9053     HRESULT form([retval, out] IHTMLFormElement **p);
9054 }
9055
9056 /*****************************************************************************
9057  *    IHTMLOptionElementFactory interface
9058  */
9059 [
9060     odl,
9061     oleautomation,
9062     dual,
9063     uuid(3050F38C-98B5-11Cf-BB82-00AA00BDCE0B)
9064 ]
9065 interface IHTMLOptionElementFactory : IDispatch
9066 {
9067     [id(DISPID_IHTMLOPTIONELEMENTFACTORY_CREATE)]
9068     HRESULT create(
9069         [optional, in] VARIANT text,
9070         [optional, in] VARIANT value,
9071         [optional, in] VARIANT defaultselected,
9072         [optional, in] VARIANT selected,
9073         [retval, out] IHTMLOptionElement **optelem);
9074 }
9075
9076 /*****************************************************************************
9077  *    DispHTMLOptionElement dispinterface
9078  */
9079 [
9080     hidden,
9081     uuid(3050f52b-98b5-11cf-bb82-00aa00bdce0b)
9082 ]
9083 dispinterface DispHTMLOptionElement
9084 {
9085 properties:
9086 methods:
9087     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
9088     void setAttribute(
9089             [in] BSTR strAttributeName,
9090             [in] VARIANT AttributeValue,
9091             [in, defaultvalue(1)] LONG lFlags);
9092
9093     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
9094     VARIANT getAttribute(
9095              [in] BSTR strAttributeName,
9096              [in, defaultvalue(0)] LONG lFlags);
9097
9098     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
9099     VARIANT_BOOL removeAttribute(
9100             [in] BSTR strAttributeName,
9101             [in, defaultvalue(1)] LONG lFlags);
9102
9103     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
9104     void className(BSTR v);
9105
9106     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
9107     BSTR className();
9108
9109     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
9110     void id(BSTR v);
9111
9112     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
9113     BSTR id();
9114
9115     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
9116     BSTR tagName();
9117
9118     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
9119     IHTMLElement *parentElement();
9120
9121     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
9122     IHTMLStyle *style();
9123
9124     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
9125     void onhelp(VARIANT v);
9126
9127     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
9128     VARIANT onhelp();
9129
9130     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
9131     void onclick(VARIANT v);
9132
9133     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
9134     VARIANT onclick();
9135
9136     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
9137     void ondblclick(VARIANT v);
9138
9139     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
9140     VARIANT ondblclick();
9141
9142     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
9143     void onkeydown(VARIANT v);
9144
9145     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
9146     VARIANT onkeydown();
9147
9148     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
9149     void onkeyup(VARIANT v);
9150
9151     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
9152     VARIANT onkeyup();
9153
9154     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
9155     void onkeypress(VARIANT v);
9156
9157     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
9158     VARIANT onkeypress();
9159
9160     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
9161     void onmouseout(VARIANT v);
9162
9163     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
9164     VARIANT onmouseout();
9165
9166     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
9167     void onmouseover(VARIANT v);
9168
9169     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
9170     VARIANT onmouseover();
9171
9172     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
9173     void onmousemove(VARIANT v);
9174
9175     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
9176     VARIANT onmousemove();
9177
9178     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
9179     void onmousedown(VARIANT v);
9180
9181     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
9182     VARIANT onmousedown();
9183
9184     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
9185     void onmouseup(VARIANT v);
9186
9187     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
9188     VARIANT onmouseup();
9189
9190     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
9191     IDispatch *document();
9192
9193     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
9194     void title(BSTR v);
9195
9196     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
9197     BSTR title();
9198
9199     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
9200     void language(BSTR v);
9201
9202     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
9203     BSTR language();
9204
9205     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
9206     void onselectstart(VARIANT v);
9207
9208     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
9209     VARIANT onselectstart();
9210
9211     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
9212     void scrollIntoView([in, optional] VARIANT varargStart);
9213
9214     [id(DISPID_IHTMLELEMENT_CONTAINS)]
9215     VARIANT_BOOL contains([in] IHTMLElement *pChild);
9216
9217     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
9218     long sourceIndex();
9219
9220     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
9221     VARIANT recordNumber();
9222
9223     [propput, id(DISPID_IHTMLELEMENT_LANG)]
9224     void lang(BSTR v);
9225
9226     [propget, id(DISPID_IHTMLELEMENT_LANG)]
9227     BSTR lang();
9228
9229     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
9230     long offsetLeft();
9231
9232     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
9233     long offsetTop();
9234
9235     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
9236     long offsetWidth();
9237
9238     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
9239     long offsetHeight();
9240
9241     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
9242     IHTMLElement *offsetParent();
9243
9244     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
9245     void innerHTML(BSTR v);
9246
9247     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
9248     BSTR innerHTML();
9249
9250     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
9251     void innerText(BSTR v);
9252
9253     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
9254     BSTR innerText();
9255
9256     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
9257     void outerHTML(BSTR v);
9258
9259     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
9260     BSTR outerHTML();
9261
9262     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
9263     void outerText(BSTR v);
9264
9265     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
9266     BSTR outerText();
9267
9268     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
9269     void insertAdjacentHTML(
9270             [in] BSTR where,
9271             [in] BSTR html);
9272
9273     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
9274     void insertAdjacentText(
9275             [in] BSTR where,
9276             [in] BSTR text);
9277
9278     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
9279     IHTMLElement *parentTextEdit();
9280
9281     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
9282     VARIANT_BOOL isTextEdit();
9283
9284     [id(DISPID_IHTMLELEMENT_CLICK)]
9285     void click();
9286
9287     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
9288     IHTMLFiltersCollection *filters();
9289
9290     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
9291     void ondragstart(VARIANT v);
9292
9293     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
9294     VARIANT ondragstart();
9295
9296     [id(DISPID_IHTMLELEMENT_TOSTRING)]
9297     BSTR toString();
9298
9299     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
9300     void onbeforeupdate(VARIANT v);
9301
9302     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
9303     VARIANT onbeforeupdate();
9304
9305     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
9306     void onafterupdate(VARIANT v);
9307
9308     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
9309     VARIANT onafterupdate();
9310
9311     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
9312     void onerrorupdate(VARIANT v);
9313
9314     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
9315     VARIANT onerrorupdate();
9316
9317     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
9318     void onrowexit(VARIANT v);
9319
9320     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
9321     VARIANT onrowexit();
9322
9323     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
9324     void onrowenter(VARIANT v);
9325
9326     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
9327     VARIANT onrowenter();
9328
9329     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
9330     void ondatasetchanged(VARIANT v);
9331
9332     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
9333     VARIANT ondatasetchanged();
9334
9335     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
9336     void ondataavailable(VARIANT v);
9337
9338     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
9339     VARIANT ondataavailable();
9340
9341     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
9342     void ondatasetcomplete(VARIANT v);
9343
9344     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
9345     VARIANT ondatasetcomplete();
9346
9347     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
9348     void onfilterchange(VARIANT v);
9349
9350     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
9351     VARIANT onfilterchange();
9352
9353     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
9354     IDispatch *children();
9355
9356     [propget, id(DISPID_IHTMLELEMENT_ALL)]
9357     IDispatch *all();
9358
9359     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
9360     BSTR scopeName();
9361
9362     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
9363     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
9364
9365     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
9366     void releaseCapture();
9367
9368     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
9369     void onlosecapture(VARIANT v);
9370
9371     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
9372     VARIANT onlosecapture();
9373
9374     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
9375     BSTR componentFromPoint(
9376             [in] long x,
9377             [in] long y);
9378
9379     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
9380     void doScroll([in, optional] VARIANT component);
9381
9382     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
9383     void onscroll(VARIANT v);
9384
9385     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
9386     VARIANT onscroll();
9387
9388     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
9389     void ondrag(VARIANT v);
9390
9391     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
9392     VARIANT ondrag();
9393
9394     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
9395     void ondragend(VARIANT v);
9396
9397     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
9398     VARIANT ondragend();
9399
9400     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
9401     void ondragenter(VARIANT v);
9402
9403     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
9404     VARIANT ondragenter();
9405
9406     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
9407     void ondragover(VARIANT v);
9408
9409     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
9410     VARIANT ondragover();
9411
9412     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
9413     void ondragleave(VARIANT v);
9414
9415     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
9416     VARIANT ondragleave();
9417
9418     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
9419     void ondrop(VARIANT v);
9420
9421     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
9422     VARIANT ondrop();
9423
9424     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
9425     void onbeforecut(VARIANT v);
9426
9427     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
9428     VARIANT onbeforecut();
9429
9430     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
9431     void oncut(VARIANT v);
9432
9433     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
9434     VARIANT oncut();
9435
9436     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
9437     void onbeforecopy(VARIANT v);
9438
9439     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
9440     VARIANT onbeforecopy();
9441
9442     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
9443     void oncopy(VARIANT v);
9444
9445     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
9446     VARIANT oncopy();
9447
9448     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
9449     void onbeforepaste(VARIANT v);
9450
9451     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
9452     VARIANT onbeforepaste();
9453
9454     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
9455     void onpaste(VARIANT v);
9456
9457     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
9458     VARIANT onpaste();
9459
9460     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
9461     IHTMLCurrentStyle *currentStyle();
9462
9463     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
9464     void onpropertychange(VARIANT v);
9465
9466     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
9467     VARIANT onpropertychange();
9468
9469     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
9470     IHTMLRectCollection *getClientRects();
9471
9472     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
9473     IHTMLRect *getBoundingClientRect();
9474
9475     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
9476     void setExpression(
9477             [in] BSTR propname,
9478             [in] BSTR expression,
9479             [in, defaultvalue("")] BSTR language);
9480
9481     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
9482     VARIANT getExpression([in] BSTR propname);
9483
9484     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
9485     VARIANT_BOOL removeExpression([in] BSTR propname);
9486
9487     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
9488     void tabIndex(short v);
9489
9490     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
9491     short tabIndex();
9492
9493     [id(DISPID_IHTMLELEMENT2_FOCUS)]
9494     void focus();
9495
9496     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
9497     void accessKey(BSTR v);
9498
9499     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
9500     BSTR accessKey();
9501
9502     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
9503     void onblur(VARIANT v);
9504
9505     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
9506     VARIANT onblur();
9507
9508     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
9509     void onfocus(VARIANT v);
9510
9511     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
9512     VARIANT onfocus();
9513
9514     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
9515     void onresize(VARIANT v);
9516
9517     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
9518     VARIANT onresize();
9519
9520     [id(DISPID_IHTMLELEMENT2_BLUR)]
9521     void blur();
9522
9523     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
9524     void addFilter([in] IUnknown *pUnk);
9525
9526     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
9527     void removeFilter([in] IUnknown *pUnk);
9528
9529     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
9530     long clientHeight();
9531
9532     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
9533     long clientWidth();
9534
9535     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
9536     long clientTop();
9537
9538     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
9539     long clientLeft();
9540
9541     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
9542     VARIANT_BOOL attachEvent(
9543             [in] BSTR event,
9544             [in] IDispatch *pDisp);
9545
9546     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
9547     void detachEvent(
9548             [in] BSTR event,
9549             [in] IDispatch *pDisp);
9550
9551     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
9552     VARIANT readyState();
9553
9554     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
9555     void onreadystatechange(VARIANT v);
9556
9557     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
9558     VARIANT onreadystatechange();
9559
9560     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
9561     void onrowsdelete(VARIANT v);
9562
9563     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
9564     VARIANT onrowsdelete();
9565
9566     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
9567     void onrowsinserted(VARIANT v);
9568
9569     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
9570      VARIANT onrowsinserted();
9571
9572     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
9573      void oncellchange(VARIANT v);
9574
9575     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
9576     VARIANT oncellchange();
9577
9578     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
9579     void dir(BSTR v);
9580
9581     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
9582     BSTR dir();
9583
9584     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
9585     IDispatch *createControlRange();
9586
9587     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
9588     long scrollHeight();
9589
9590     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
9591     long scrollWidth();
9592
9593     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
9594     void scrollTop(long v);
9595
9596     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
9597     long scrollTop();
9598
9599     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
9600     void scrollLeft(long v);
9601
9602     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
9603     long scrollLeft();
9604
9605     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
9606     void clearAttributes();
9607
9608     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
9609     void oncontextmenu(VARIANT v);
9610
9611     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
9612     VARIANT oncontextmenu();
9613
9614     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
9615     IHTMLElement *insertAdjacentElement(
9616             [in] BSTR where,
9617             [in] IHTMLElement *insertedElement);
9618
9619     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
9620     IHTMLElement *applyElement(
9621             [in] IHTMLElement *apply,
9622             [in] BSTR where);
9623
9624     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
9625     BSTR getAdjacentText([in] BSTR where);
9626
9627     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
9628     BSTR replaceAdjacentText(
9629             [in] BSTR where,
9630             [in] BSTR newText);
9631
9632     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
9633     VARIANT_BOOL canHaveChildren();
9634
9635     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
9636     long addBehavior(
9637             [in] BSTR bstrUrl,
9638             [in, optional] VARIANT *pvarFactory);
9639
9640     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
9641     VARIANT_BOOL removeBehavior([in] long cookie);
9642
9643     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
9644     IHTMLStyle *runtimeStyle();
9645
9646     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
9647     IDispatch *behaviorUrns();
9648
9649     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
9650     void tagUrn(BSTR v);
9651
9652     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
9653     BSTR tagUrn();
9654
9655     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
9656     void onbeforeeditfocus(VARIANT v);
9657
9658     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
9659     VARIANT onbeforeeditfocus();
9660
9661     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
9662     long readyStateValue();
9663
9664     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
9665     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
9666
9667     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
9668     void mergeAttributes(
9669             [in] IHTMLElement *mergeThis,
9670             [in, optional] VARIANT *pvarFlags);
9671
9672     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
9673     VARIANT_BOOL isMultiLine();
9674
9675     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
9676     VARIANT_BOOL canHaveHTML();
9677
9678     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
9679     void onlayoutcomplete(VARIANT v);
9680
9681     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
9682     VARIANT onlayoutcomplete();
9683
9684     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
9685     void onpage(VARIANT v);
9686
9687     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
9688     VARIANT onpage();
9689
9690     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
9691     void inflateBlock(VARIANT_BOOL v);
9692
9693     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
9694     VARIANT_BOOL inflateBlock();
9695
9696     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
9697     void onbeforedeactivate(VARIANT v);
9698
9699     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
9700     VARIANT onbeforedeactivate();
9701
9702     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
9703     void setActive();
9704
9705     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
9706     void contentEditable(BSTR v);
9707
9708     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
9709     BSTR contentEditable();
9710
9711     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
9712     VARIANT_BOOL isContentEditable();
9713
9714     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
9715     void hideFocus(VARIANT_BOOL v);
9716
9717     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
9718     VARIANT_BOOL hideFocus();
9719
9720     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
9721     void disabled(VARIANT_BOOL v);
9722
9723     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
9724     VARIANT_BOOL disabled();
9725
9726     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
9727     VARIANT_BOOL isDisabled();
9728
9729     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
9730     void onmove(VARIANT v);
9731
9732     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
9733     VARIANT onmove();
9734
9735     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
9736     void oncontrolselect(VARIANT v);
9737
9738     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
9739     VARIANT oncontrolselect();
9740
9741     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
9742     VARIANT_BOOL fireEvent(
9743             [in] BSTR bstrEventName,
9744             [in, optional] VARIANT *pvarEventObject);
9745
9746     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
9747     void onresizestart(VARIANT v);
9748
9749     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
9750     VARIANT onresizestart();
9751
9752     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
9753     void onresizeend(VARIANT v);
9754
9755     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
9756     VARIANT onresizeend();
9757
9758     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
9759     void onmovestart(VARIANT v);
9760
9761     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
9762     VARIANT onmovestart();
9763
9764     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
9765     void onmoveend(VARIANT v);
9766
9767     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
9768     VARIANT onmoveend();
9769
9770     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
9771     void onmouseenter(VARIANT v);
9772
9773     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
9774     VARIANT onmouseenter();
9775
9776     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
9777     void onmouseleave(VARIANT v);
9778
9779     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
9780     VARIANT onmouseleave();
9781
9782     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
9783     void onactivate(VARIANT v);
9784
9785     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
9786     VARIANT onactivate();
9787
9788     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
9789     void ondeactivate(VARIANT v);
9790
9791     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
9792     VARIANT ondeactivate();
9793
9794     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
9795     VARIANT_BOOL dragDrop();
9796
9797     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
9798     LONG glyphMode();
9799
9800     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
9801     void onmousewheel(VARIANT v);
9802
9803     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
9804     VARIANT onmousewheel();
9805
9806     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
9807     void normalize();
9808
9809     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
9810     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
9811
9812     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
9813     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
9814
9815     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
9816     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
9817
9818     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
9819     void onbeforeactivate(VARIANT v);
9820
9821     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
9822     VARIANT onbeforeactivate();
9823
9824     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
9825     void onfocusin(VARIANT v);
9826
9827     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
9828     VARIANT onfocusin();
9829
9830     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
9831     void onfocusout(VARIANT v);
9832
9833     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
9834     VARIANT onfocusout();
9835
9836     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
9837     long uniqueNumber();
9838
9839     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
9840     BSTR uniqueID();
9841
9842     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
9843     long nodeType();
9844
9845     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
9846     IHTMLDOMNode *parentNode();
9847
9848     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
9849     VARIANT_BOOL hasChildNodes();
9850
9851     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
9852     IDispatch *childNodes();
9853
9854     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
9855     IDispatch *attributes();
9856
9857     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
9858     IHTMLDOMNode *insertBefore(
9859             [in] IHTMLDOMNode *newChild,
9860             [in, optional] VARIANT refChild);
9861
9862     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
9863     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
9864
9865     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
9866     IHTMLDOMNode *replaceChild(
9867             [in] IHTMLDOMNode *newChild,
9868             [in] IHTMLDOMNode *oldChild);
9869
9870     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
9871     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
9872
9873     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
9874     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
9875
9876     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
9877     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
9878
9879     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
9880     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
9881
9882     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
9883     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
9884
9885     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
9886     BSTR nodeName();
9887
9888     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
9889     void nodeValue(VARIANT v);
9890
9891     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
9892     VARIANT nodeValue();
9893
9894     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
9895     IHTMLDOMNode *firstChild();
9896
9897     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
9898     IHTMLDOMNode *lastChild();
9899
9900     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
9901     IHTMLDOMNode *previousSibling();
9902
9903     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
9904     IHTMLDOMNode *nextSibling();
9905
9906     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
9907     IDispatch *ownerDocument();
9908
9909     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
9910     void dataFld(BSTR v);
9911
9912     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
9913     BSTR dataFld();
9914
9915     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
9916     void dataSrc(BSTR v);
9917
9918     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
9919     BSTR dataSrc();
9920
9921     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
9922     void dataFormatAs(BSTR v);
9923
9924     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
9925     BSTR dataFormatAs();
9926
9927     [propput, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
9928     void selected(VARIANT_BOOL v);
9929
9930     [propget, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
9931     VARIANT_BOOL selected();
9932
9933     [propput, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
9934     void value(BSTR v);
9935
9936     [propget, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
9937     BSTR value();
9938
9939     [propput, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
9940     void defaultSelected(VARIANT_BOOL v);
9941
9942     [propget, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
9943     VARIANT_BOOL defaultSelected();
9944
9945     [propput, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
9946     void index(LONG v);
9947
9948     [propget, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
9949     LONG index();
9950
9951     [propput, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
9952     void text(BSTR v);
9953
9954     [propget, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
9955     BSTR text();
9956
9957     [propget, id(DISPID_IHTMLOPTIONELEMENT_FORM)]
9958     IHTMLFormElement *form();
9959
9960     [propput, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
9961     void label(BSTR v);
9962
9963     [propget, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
9964     BSTR label();
9965 }
9966
9967 /*****************************************************************************
9968  *    IHTMLInputElement interface
9969  */
9970 [
9971     odl,
9972     oleautomation,
9973     dual,
9974     uuid(3050f5d2-98b5-11cf-bb82-00aa00bdce0b)
9975 ]
9976 interface IHTMLInputElement : IDispatch
9977 {
9978     [propput, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
9979     HRESULT type([in] BSTR v);
9980
9981     [propget, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
9982     HRESULT type([retval, out] BSTR *p);
9983
9984     [propput, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
9985     HRESULT value([in] BSTR v);
9986
9987     [propget, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
9988     HRESULT value([retval, out] BSTR *p);
9989
9990     [propput, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
9991     HRESULT name([in] BSTR v);
9992
9993     [propget, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
9994     HRESULT name([retval, out] BSTR *p);
9995
9996     [propput, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
9997     HRESULT status([in] VARIANT_BOOL v);
9998
9999     [propget, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
10000     HRESULT status([retval, out] VARIANT_BOOL *p);
10001
10002     [propput, id(DISPID_IHTMLINPUTELEMENT_DISABLED), displaybind, bindable]
10003     HRESULT disabled([in] VARIANT_BOOL v);
10004
10005     [propget, id(DISPID_IHTMLINPUTELEMENT_DISABLED), displaybind, bindable]
10006     HRESULT disabled([retval, out] VARIANT_BOOL *p);
10007
10008     [propget, id(DISPID_IHTMLINPUTELEMENT_FORM)]
10009     HRESULT form([retval, out] IHTMLFormElement **p);
10010
10011     [propput, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
10012     HRESULT size([in] long v);
10013
10014     [propget, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
10015     HRESULT size([retval, out] long *p);
10016
10017     [propput, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
10018     HRESULT maxLength([in] long v);
10019
10020     [propget, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
10021     HRESULT maxLength([retval, out] long *p);
10022
10023     [id(DISPID_IHTMLINPUTELEMENT_SELECT)]
10024     HRESULT select();
10025
10026     [propput, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
10027     HRESULT onchange([in] VARIANT v);
10028
10029     [propget, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
10030     HRESULT onchange([retval, out] VARIANT *p);
10031
10032     [propput, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
10033     HRESULT onselect([in] VARIANT v);
10034
10035     [propget, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
10036     HRESULT onselect([retval, out] VARIANT *p);
10037
10038     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
10039     HRESULT defaultValue([in] BSTR v);
10040
10041     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
10042     HRESULT defaultValue([retval, out] BSTR *p);
10043
10044     [propput, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
10045     HRESULT readOnly([in] VARIANT_BOOL v);
10046
10047     [propget, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
10048     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
10049
10050     [id(DISPID_IHTMLINPUTELEMENT_CREATETEXTRANGE)]
10051     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
10052
10053     [propput, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
10054     HRESULT indeterminate([in] VARIANT_BOOL v);
10055
10056     [propget, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
10057     HRESULT indeterminate([retval, out] VARIANT_BOOL *p);
10058
10059     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
10060     HRESULT defaultChecked([in] VARIANT_BOOL v);
10061
10062     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
10063     HRESULT defaultChecked([retval, out] VARIANT_BOOL *p);
10064
10065     [propput, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
10066     HRESULT checked([in] VARIANT_BOOL v);
10067
10068     [propget, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
10069     HRESULT checked([retval, out] VARIANT_BOOL *p);
10070
10071     [propput, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
10072     HRESULT border([in] VARIANT v);
10073
10074     [propget, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
10075     HRESULT border([retval, out] VARIANT *p);
10076
10077     [propput, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
10078     HRESULT vspace([in] long v);
10079
10080     [propget, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
10081     HRESULT vspace([retval, out] long *p);
10082
10083     [propput, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
10084     HRESULT hspace([in] long v);
10085
10086     [propget, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
10087     HRESULT hspace([retval, out] long *p);
10088
10089     [propput, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
10090     HRESULT alt([in] BSTR v);
10091
10092     [propget, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
10093     HRESULT alt([retval, out] BSTR *p);
10094
10095     [propput, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
10096     HRESULT src([in] BSTR v);
10097
10098     [propget, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
10099     HRESULT src([retval, out] BSTR *p);
10100
10101     [propput, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
10102     HRESULT lowsrc([in] BSTR v);
10103
10104     [propget, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
10105     HRESULT lowsrc([retval, out] BSTR *p);
10106
10107     [propput, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
10108     HRESULT vrml([in] BSTR v);
10109
10110     [propget, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
10111     HRESULT vrml([retval, out] BSTR *p);
10112
10113     [propput, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
10114     HRESULT dynsrc([in] BSTR v);
10115
10116     [propget, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
10117     HRESULT dynsrc([retval, out] BSTR *p);
10118
10119     [propget, id(DISPID_IHTMLINPUTELEMENT_READYSTATE)]
10120     HRESULT readyState([retval, out] BSTR *p);
10121
10122     [propget, id(DISPID_IHTMLINPUTELEMENT_COMPLETE)]
10123     HRESULT complete([retval, out] VARIANT_BOOL *p);
10124
10125     [propput, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
10126     HRESULT loop([in] VARIANT v);
10127
10128     [propget, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
10129     HRESULT loop([retval, out] VARIANT *p);
10130
10131     [propput, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
10132     HRESULT align([in] BSTR v);
10133
10134     [propget, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
10135     HRESULT align([retval, out] BSTR *p);
10136
10137     [propput, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
10138     HRESULT onload([in] VARIANT v);
10139
10140     [propget, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
10141     HRESULT onload([retval, out] VARIANT *p);
10142
10143     [propput, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
10144     HRESULT onerror([in] VARIANT v);
10145
10146     [propget, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
10147     HRESULT onerror([retval, out] VARIANT *p);
10148
10149     [propput, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
10150     HRESULT onabort([in] VARIANT v);
10151
10152     [propget, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
10153     HRESULT onabort([retval, out] VARIANT *p);
10154
10155     [propput, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
10156     HRESULT width([in] long v);
10157
10158     [propget, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
10159     HRESULT width([retval, out] long *p);
10160
10161     [propput, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
10162     HRESULT height([in] long v);
10163
10164     [propget, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
10165     HRESULT height([retval, out] long *p);
10166
10167     [propput, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
10168     HRESULT start([in] BSTR v);
10169
10170     [propget, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
10171     HRESULT start([retval, out] BSTR *p);
10172 }
10173
10174 /*****************************************************************************
10175  *    IHTMLInputTextElement interface
10176  */
10177 [
10178     odl,
10179     oleautomation,
10180     dual,
10181     uuid(3050f2a6-98b5-11cf-bb82-00aa00bdce0b)
10182 ]
10183 interface IHTMLInputTextElement : IDispatch
10184 {
10185     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_TYPE)]
10186     HRESULT type([retval, out] BSTR *p);
10187
10188     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_VALUE), displaybind, bindable]
10189     HRESULT value([in] BSTR v);
10190
10191     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_VALUE), displaybind, bindable]
10192     HRESULT value([retval, out] BSTR *p);
10193
10194     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_NAME), displaybind, bindable]
10195     HRESULT name([in] BSTR v);
10196
10197     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_NAME), displaybind, bindable]
10198     HRESULT name([retval, out] BSTR *p);
10199
10200     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_STATUS)]
10201     HRESULT status([in] VARIANT v);
10202
10203     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_STATUS)]
10204     HRESULT status([retval, out] VARIANT *p);
10205
10206     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_DISABLED), displaybind, bindable]
10207     HRESULT disabled([in] VARIANT_BOOL v);
10208
10209     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_DISABLED), displaybind, bindable]
10210     HRESULT disabled([retval, out] VARIANT_BOOL *p);
10211
10212     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_FORM)]
10213     HRESULT form([retval, out] IHTMLFormElement **p);
10214
10215     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
10216     HRESULT defaultValue([in] BSTR v);
10217
10218     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
10219     HRESULT defaultValue([retval, out] BSTR *p);
10220
10221     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_SIZE), displaybind, bindable]
10222     HRESULT size([in] long v);
10223
10224     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_SIZE), displaybind, bindable]
10225     HRESULT size([retval, out] long *p);
10226
10227     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_MAXLENGTH), displaybind, bindable]
10228     HRESULT maxLength([in] long v);
10229
10230     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_MAXLENGTH), displaybind, bindable]
10231     HRESULT maxLength([retval, out] long *p);
10232
10233     [id(DISPID_IHTMLINPUTTEXTELEMENT_SELECT)]
10234     HRESULT select();
10235
10236     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_ONCHANGE), displaybind, bindable]
10237     HRESULT onchange([in] VARIANT v);
10238
10239     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_ONCHANGE), displaybind, bindable]
10240     HRESULT onchange([retval, out] VARIANT *p);
10241
10242     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_ONSELECT), displaybind, bindable]
10243     HRESULT onselect([in] VARIANT v);
10244
10245     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_ONSELECT), displaybind, bindable]
10246     HRESULT onselect([retval, out] VARIANT *p);
10247
10248     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_READONLY), displaybind, bindable]
10249     HRESULT readOnly([in] VARIANT_BOOL v);
10250
10251     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_READONLY), displaybind, bindable]
10252     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
10253
10254     [id(DISPID_IHTMLINPUTTEXTELEMENT_CREATETEXTRANGE)]
10255     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
10256 }
10257
10258 [
10259     hidden,
10260     uuid(3050f57d-98b5-11cf-bb82-00aa00bdce0b)
10261 ]
10262 dispinterface DispHTMLInputElement
10263 {
10264 properties:
10265 methods:
10266     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
10267     void setAttribute(
10268             [in] BSTR strAttributeName,
10269             [in] VARIANT AttributeValue,
10270             [in, defaultvalue(1)] LONG lFlags);
10271
10272     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
10273     VARIANT getAttribute(
10274              [in] BSTR strAttributeName,
10275              [in, defaultvalue(0)] LONG lFlags);
10276
10277     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
10278     VARIANT_BOOL removeAttribute(
10279             [in] BSTR strAttributeName,
10280             [in, defaultvalue(1)] LONG lFlags);
10281
10282     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
10283     void className(BSTR v);
10284
10285     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
10286     BSTR className();
10287
10288     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
10289     void id(BSTR v);
10290
10291     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
10292     BSTR id();
10293
10294     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
10295     BSTR tagName();
10296
10297     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
10298     IHTMLElement *parentElement();
10299
10300     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
10301     IHTMLStyle *style();
10302
10303     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
10304     void onhelp(VARIANT v);
10305
10306     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
10307     VARIANT onhelp();
10308
10309     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
10310     void onclick(VARIANT v);
10311
10312     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
10313     VARIANT onclick();
10314
10315     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
10316     void ondblclick(VARIANT v);
10317
10318     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
10319     VARIANT ondblclick();
10320
10321     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
10322     void onkeydown(VARIANT v);
10323
10324     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
10325     VARIANT onkeydown();
10326
10327     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
10328     void onkeyup(VARIANT v);
10329
10330     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
10331     VARIANT onkeyup();
10332
10333     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
10334     void onkeypress(VARIANT v);
10335
10336     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
10337     VARIANT onkeypress();
10338
10339     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
10340     void onmouseout(VARIANT v);
10341
10342     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
10343     VARIANT onmouseout();
10344
10345     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
10346     void onmouseover(VARIANT v);
10347
10348     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
10349     VARIANT onmouseover();
10350
10351     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
10352     void onmousemove(VARIANT v);
10353
10354     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
10355     VARIANT onmousemove();
10356
10357     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
10358     void onmousedown(VARIANT v);
10359
10360     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
10361     VARIANT onmousedown();
10362
10363     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
10364     void onmouseup(VARIANT v);
10365
10366     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
10367     VARIANT onmouseup();
10368
10369     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
10370     IDispatch *document();
10371
10372     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
10373     void title(BSTR v);
10374
10375     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
10376     BSTR title();
10377
10378     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
10379     void language(BSTR v);
10380
10381     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
10382     BSTR language();
10383
10384     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
10385     void onselectstart(VARIANT v);
10386
10387     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
10388     VARIANT onselectstart();
10389
10390     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
10391     void scrollIntoView([in, optional] VARIANT varargStart);
10392
10393     [id(DISPID_IHTMLELEMENT_CONTAINS)]
10394     VARIANT_BOOL contains([in] IHTMLElement *pChild);
10395
10396     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
10397     long sourceIndex();
10398
10399     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
10400     VARIANT recordNumber();
10401
10402     [propput, id(DISPID_IHTMLELEMENT_LANG)]
10403     void lang(BSTR v);
10404
10405     [propget, id(DISPID_IHTMLELEMENT_LANG)]
10406     BSTR lang();
10407
10408     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
10409     long offsetLeft();
10410
10411     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
10412     long offsetTop();
10413
10414     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
10415     long offsetWidth();
10416
10417     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
10418     long offsetHeight();
10419
10420     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
10421     IHTMLElement *offsetParent();
10422
10423     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
10424     void innerHTML(BSTR v);
10425
10426     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
10427     BSTR innerHTML();
10428
10429     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
10430     void innerText(BSTR v);
10431
10432     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
10433     BSTR innerText();
10434
10435     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
10436     void outerHTML(BSTR v);
10437
10438     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
10439     BSTR outerHTML();
10440
10441     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
10442     void outerText(BSTR v);
10443
10444     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
10445     BSTR outerText();
10446
10447     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
10448     void insertAdjacentHTML(
10449             [in] BSTR where,
10450             [in] BSTR html);
10451
10452     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
10453     void insertAdjacentText(
10454             [in] BSTR where,
10455             [in] BSTR text);
10456
10457     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
10458     IHTMLElement *parentTextEdit();
10459
10460     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
10461     VARIANT_BOOL isTextEdit();
10462
10463     [id(DISPID_IHTMLELEMENT_CLICK)]
10464     void click();
10465
10466     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
10467     IHTMLFiltersCollection *filters();
10468
10469     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
10470     void ondragstart(VARIANT v);
10471
10472     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
10473     VARIANT ondragstart();
10474
10475     [id(DISPID_IHTMLELEMENT_TOSTRING)]
10476     BSTR toString();
10477
10478     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
10479     void onbeforeupdate(VARIANT v);
10480
10481     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
10482     VARIANT onbeforeupdate();
10483
10484     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
10485     void onafterupdate(VARIANT v);
10486
10487     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
10488     VARIANT onafterupdate();
10489
10490     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
10491     void onerrorupdate(VARIANT v);
10492
10493     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
10494     VARIANT onerrorupdate();
10495
10496     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
10497     void onrowexit(VARIANT v);
10498
10499     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
10500     VARIANT onrowexit();
10501
10502     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
10503     void onrowenter(VARIANT v);
10504
10505     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
10506     VARIANT onrowenter();
10507
10508     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
10509     void ondatasetchanged(VARIANT v);
10510
10511     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
10512     VARIANT ondatasetchanged();
10513
10514     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
10515     void ondataavailable(VARIANT v);
10516
10517     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
10518     VARIANT ondataavailable();
10519
10520     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
10521     void ondatasetcomplete(VARIANT v);
10522
10523     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
10524     VARIANT ondatasetcomplete();
10525
10526     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
10527     void onfilterchange(VARIANT v);
10528
10529     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
10530     VARIANT onfilterchange();
10531
10532     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
10533     IDispatch *children();
10534
10535     [propget, id(DISPID_IHTMLELEMENT_ALL)]
10536     IDispatch *all();
10537
10538     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
10539     BSTR scopeName();
10540
10541     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
10542     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
10543
10544     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
10545     void releaseCapture();
10546
10547     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
10548     void onlosecapture(VARIANT v);
10549
10550     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
10551     VARIANT onlosecapture();
10552
10553     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
10554     BSTR componentFromPoint(
10555             [in] long x,
10556             [in] long y);
10557
10558     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
10559     void doScroll([in, optional] VARIANT component);
10560
10561     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
10562     void onscroll(VARIANT v);
10563
10564     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
10565     VARIANT onscroll();
10566
10567     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
10568     void ondrag(VARIANT v);
10569
10570     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
10571     VARIANT ondrag();
10572
10573     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
10574     void ondragend(VARIANT v);
10575
10576     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
10577     VARIANT ondragend();
10578
10579     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
10580     void ondragenter(VARIANT v);
10581
10582     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
10583     VARIANT ondragenter();
10584
10585     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
10586     void ondragover(VARIANT v);
10587
10588     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
10589     VARIANT ondragover();
10590
10591     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
10592     void ondragleave(VARIANT v);
10593
10594     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
10595     VARIANT ondragleave();
10596
10597     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
10598     void ondrop(VARIANT v);
10599
10600     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
10601     VARIANT ondrop();
10602
10603     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
10604     void onbeforecut(VARIANT v);
10605
10606     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
10607     VARIANT onbeforecut();
10608
10609     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
10610     void oncut(VARIANT v);
10611
10612     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
10613     VARIANT oncut();
10614
10615     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
10616     void onbeforecopy(VARIANT v);
10617
10618     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
10619     VARIANT onbeforecopy();
10620
10621     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
10622     void oncopy(VARIANT v);
10623
10624     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
10625     VARIANT oncopy();
10626
10627     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
10628     void onbeforepaste(VARIANT v);
10629
10630     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
10631     VARIANT onbeforepaste();
10632
10633     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
10634     void onpaste(VARIANT v);
10635
10636     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
10637     VARIANT onpaste();
10638
10639     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
10640     IHTMLCurrentStyle *currentStyle();
10641
10642     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
10643     void onpropertychange(VARIANT v);
10644
10645     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
10646     VARIANT onpropertychange();
10647
10648     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
10649     IHTMLRectCollection *getClientRects();
10650
10651     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
10652     IHTMLRect *getBoundingClientRect();
10653
10654     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
10655     void setExpression(
10656             [in] BSTR propname,
10657             [in] BSTR expression,
10658             [in, defaultvalue("")] BSTR language);
10659
10660     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
10661     VARIANT getExpression([in] BSTR propname);
10662
10663     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
10664     VARIANT_BOOL removeExpression([in] BSTR propname);
10665
10666     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
10667     void tabIndex(short v);
10668
10669     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
10670     short tabIndex();
10671
10672     [id(DISPID_IHTMLELEMENT2_FOCUS)]
10673     void focus();
10674
10675     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
10676     void accessKey(BSTR v);
10677
10678     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
10679     BSTR accessKey();
10680
10681     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
10682     void onblur(VARIANT v);
10683
10684     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
10685     VARIANT onblur();
10686
10687     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
10688     void onfocus(VARIANT v);
10689
10690     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
10691     VARIANT onfocus();
10692
10693     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
10694     void onresize(VARIANT v);
10695
10696     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
10697     VARIANT onresize();
10698
10699     [id(DISPID_IHTMLELEMENT2_BLUR)]
10700     void blur();
10701
10702     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
10703     void addFilter([in] IUnknown *pUnk);
10704
10705     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
10706     void removeFilter([in] IUnknown *pUnk);
10707
10708     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
10709     long clientHeight();
10710
10711     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
10712     long clientWidth();
10713
10714     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
10715     long clientTop();
10716
10717     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
10718     long clientLeft();
10719
10720     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
10721     VARIANT_BOOL attachEvent(
10722             [in] BSTR event,
10723             [in] IDispatch *pDisp);
10724
10725     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
10726     void detachEvent(
10727             [in] BSTR event,
10728             [in] IDispatch *pDisp);
10729
10730     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
10731     VARIANT readyState();
10732
10733     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
10734     void onreadystatechange(VARIANT v);
10735
10736     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
10737     VARIANT onreadystatechange();
10738
10739     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
10740     void onrowsdelete(VARIANT v);
10741
10742     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
10743     VARIANT onrowsdelete();
10744
10745     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
10746     void onrowsinserted(VARIANT v);
10747
10748     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
10749      VARIANT onrowsinserted();
10750
10751     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
10752      void oncellchange(VARIANT v);
10753
10754     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
10755     VARIANT oncellchange();
10756
10757     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
10758     void dir(BSTR v);
10759
10760     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
10761     BSTR dir();
10762
10763     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
10764     IDispatch *createControlRange();
10765
10766     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
10767     long scrollHeight();
10768
10769     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
10770     long scrollWidth();
10771
10772     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
10773     void scrollTop(long v);
10774
10775     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
10776     long scrollTop();
10777
10778     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
10779     void scrollLeft(long v);
10780
10781     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
10782     long scrollLeft();
10783
10784     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
10785     void clearAttributes();
10786
10787     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
10788     void oncontextmenu(VARIANT v);
10789
10790     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
10791     VARIANT oncontextmenu();
10792
10793     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
10794     IHTMLElement *insertAdjacentElement(
10795             [in] BSTR where,
10796             [in] IHTMLElement *insertedElement);
10797
10798     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
10799     IHTMLElement *applyElement(
10800             [in] IHTMLElement *apply,
10801             [in] BSTR where);
10802
10803     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
10804     BSTR getAdjacentText([in] BSTR where);
10805
10806     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
10807     BSTR replaceAdjacentText(
10808             [in] BSTR where,
10809             [in] BSTR newText);
10810
10811     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
10812     VARIANT_BOOL canHaveChildren();
10813
10814     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
10815     long addBehavior(
10816             [in] BSTR bstrUrl,
10817             [in, optional] VARIANT *pvarFactory);
10818
10819     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
10820     VARIANT_BOOL removeBehavior([in] long cookie);
10821
10822     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
10823     IHTMLStyle *runtimeStyle();
10824
10825     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
10826     IDispatch *behaviorUrns();
10827
10828     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
10829     void tagUrn(BSTR v);
10830
10831     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
10832     BSTR tagUrn();
10833
10834     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
10835     void onbeforeeditfocus(VARIANT v);
10836
10837     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
10838     VARIANT onbeforeeditfocus();
10839
10840     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
10841     long readyStateValue();
10842
10843     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
10844     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
10845
10846     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
10847     void mergeAttributes(
10848             [in] IHTMLElement *mergeThis,
10849             [in, optional] VARIANT *pvarFlags);
10850
10851     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
10852     VARIANT_BOOL isMultiLine();
10853
10854     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
10855     VARIANT_BOOL canHaveHTML();
10856
10857     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
10858     void onlayoutcomplete(VARIANT v);
10859
10860     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
10861     VARIANT onlayoutcomplete();
10862
10863     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
10864     void onpage(VARIANT v);
10865
10866     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
10867     VARIANT onpage();
10868
10869     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
10870     void inflateBlock(VARIANT_BOOL v);
10871
10872     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
10873     VARIANT_BOOL inflateBlock();
10874
10875     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
10876     void onbeforedeactivate(VARIANT v);
10877
10878     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
10879     VARIANT onbeforedeactivate();
10880
10881     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
10882     void setActive();
10883
10884     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
10885     void contentEditable(BSTR v);
10886
10887     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
10888     BSTR contentEditable();
10889
10890     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
10891     VARIANT_BOOL isContentEditable();
10892
10893     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
10894     void hideFocus(VARIANT_BOOL v);
10895
10896     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
10897     VARIANT_BOOL hideFocus();
10898
10899     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
10900     void disabled(VARIANT_BOOL v);
10901
10902     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
10903     VARIANT_BOOL disabled();
10904
10905     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
10906     VARIANT_BOOL isDisabled();
10907
10908     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
10909     void onmove(VARIANT v);
10910
10911     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
10912     VARIANT onmove();
10913
10914     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
10915     void oncontrolselect(VARIANT v);
10916
10917     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
10918     VARIANT oncontrolselect();
10919
10920     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
10921     VARIANT_BOOL fireEvent(
10922             [in] BSTR bstrEventName,
10923             [in, optional] VARIANT *pvarEventObject);
10924
10925     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
10926     void onresizestart(VARIANT v);
10927
10928     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
10929     VARIANT onresizestart();
10930
10931     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
10932     void onresizeend(VARIANT v);
10933
10934     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
10935     VARIANT onresizeend();
10936
10937     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
10938     void onmovestart(VARIANT v);
10939
10940     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
10941     VARIANT onmovestart();
10942
10943     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
10944     void onmoveend(VARIANT v);
10945
10946     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
10947     VARIANT onmoveend();
10948
10949     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
10950     void onmouseenter(VARIANT v);
10951
10952     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
10953     VARIANT onmouseenter();
10954
10955     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
10956     void onmouseleave(VARIANT v);
10957
10958     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
10959     VARIANT onmouseleave();
10960
10961     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
10962     void onactivate(VARIANT v);
10963
10964     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
10965     VARIANT onactivate();
10966
10967     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
10968     void ondeactivate(VARIANT v);
10969
10970     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
10971     VARIANT ondeactivate();
10972
10973     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
10974     VARIANT_BOOL dragDrop();
10975
10976     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
10977     LONG glyphMode();
10978
10979     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
10980     void onmousewheel(VARIANT v);
10981
10982     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
10983     VARIANT onmousewheel();
10984
10985     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
10986     void normalize();
10987
10988     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
10989     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
10990
10991     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
10992     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
10993
10994     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
10995     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
10996
10997     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
10998     void onbeforeactivate(VARIANT v);
10999
11000     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
11001     VARIANT onbeforeactivate();
11002
11003     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
11004     void onfocusin(VARIANT v);
11005
11006     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
11007     VARIANT onfocusin();
11008
11009     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
11010     void onfocusout(VARIANT v);
11011
11012     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
11013     VARIANT onfocusout();
11014
11015     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
11016     long uniqueNumber();
11017
11018     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
11019     BSTR uniqueID();
11020
11021     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
11022     long nodeType();
11023
11024     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
11025     IHTMLDOMNode *parentNode();
11026
11027     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
11028     VARIANT_BOOL hasChildNodes();
11029
11030     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
11031     IDispatch *childNodes();
11032
11033     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
11034     IDispatch *attributes();
11035
11036     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
11037     IHTMLDOMNode *insertBefore(
11038             [in] IHTMLDOMNode *newChild,
11039             [in, optional] VARIANT refChild);
11040
11041     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
11042     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
11043
11044     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
11045     IHTMLDOMNode *replaceChild(
11046             [in] IHTMLDOMNode *newChild,
11047             [in] IHTMLDOMNode *oldChild);
11048
11049     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
11050     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
11051
11052     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
11053     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
11054
11055     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
11056     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
11057
11058     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
11059     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
11060
11061     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
11062     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
11063
11064     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
11065     BSTR nodeName();
11066
11067     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
11068     void nodeValue(VARIANT v);
11069
11070     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
11071     VARIANT nodeValue();
11072
11073     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
11074     IHTMLDOMNode *firstChild();
11075
11076     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
11077     IHTMLDOMNode *lastChild();
11078
11079     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
11080     IHTMLDOMNode *previousSibling();
11081
11082     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
11083     IHTMLDOMNode *nextSibling();
11084
11085     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
11086     IDispatch *ownerDocument();
11087
11088     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
11089     void dataFld(BSTR v);
11090
11091     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
11092     BSTR dataFld();
11093
11094     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
11095     void dataSrc(BSTR v);
11096
11097     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
11098     BSTR dataSrc();
11099
11100     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
11101     void dataFormatAs(BSTR v);
11102
11103     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
11104     BSTR dataFormatAs();
11105
11106     [propput, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
11107     void type(BSTR v);
11108
11109     [propget, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
11110     BSTR type();
11111
11112     [propput, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
11113     void value(BSTR v);
11114
11115     [propget, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
11116     BSTR value();
11117
11118     [propput, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
11119     void name(BSTR v);
11120
11121     [propget, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
11122     BSTR name();
11123
11124     [propput, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
11125     void status(VARIANT_BOOL v);
11126
11127     [propget, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
11128     VARIANT_BOOL status();
11129
11130     [propget, id(DISPID_IHTMLINPUTELEMENT_FORM)]
11131     IHTMLFormElement *form();
11132
11133     [propput, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
11134     void size(long v);
11135
11136     [propget, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
11137     long size();
11138
11139     [propput, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
11140     void maxLength(long v);
11141
11142     [propget, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
11143     long maxLength();
11144
11145     [id(DISPID_IHTMLINPUTELEMENT_SELECT)]
11146     void select();
11147
11148     [propput, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
11149     void onchange(VARIANT v);
11150
11151     [propget, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
11152     VARIANT onchange();
11153
11154     [propput, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
11155     void onselect(VARIANT v);
11156
11157     [propget, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
11158     VARIANT onselect();
11159
11160     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
11161     void defaultValue(BSTR v);
11162
11163     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
11164     BSTR defaultValue();
11165
11166     [propput, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
11167     void readOnly(VARIANT_BOOL v);
11168
11169     [propget, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
11170     VARIANT_BOOL readOnly();
11171
11172     [id(DISPID_IHTMLINPUTELEMENT_CREATETEXTRANGE)]
11173     IHTMLTxtRange *createTextRange();
11174
11175     [propput, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
11176     void indeterminate(VARIANT_BOOL v);
11177
11178     [propget, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
11179     VARIANT_BOOL indeterminate();
11180
11181     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
11182     void defaultChecked(VARIANT_BOOL v);
11183
11184     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
11185     VARIANT_BOOL defaultChecked();
11186
11187     [propput, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
11188     void checked(VARIANT_BOOL v);
11189
11190     [propget, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
11191     VARIANT_BOOL checked();
11192
11193     [propput, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
11194     void border(VARIANT v);
11195
11196     [propget, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
11197     VARIANT border();
11198
11199     [propput, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
11200     void vspace(long v);
11201
11202     [propget, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
11203     long vspace();
11204
11205     [propput, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
11206     void hspace(long v);
11207
11208     [propget, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
11209     long hspace();
11210
11211     [propput, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
11212     void alt(BSTR v);
11213
11214     [propget, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
11215     BSTR alt();
11216
11217     [propput, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
11218     void src(BSTR v);
11219
11220     [propget, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
11221     BSTR src();
11222
11223     [propput, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
11224     void lowsrc(BSTR v);
11225
11226     [propget, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
11227     BSTR lowsrc();
11228
11229     [propput, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
11230     void vrml(BSTR v);
11231
11232     [propget, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
11233     BSTR vrml();
11234
11235     [propput, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
11236     void dynsrc(BSTR v);
11237
11238     [propget, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
11239     BSTR dynsrc();
11240
11241     [propget, id(DISPID_IHTMLINPUTELEMENT_COMPLETE)]
11242     VARIANT_BOOL complete();
11243
11244     [propput, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
11245     void loop(VARIANT v);
11246
11247     [propget, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
11248     VARIANT loop();
11249
11250     [propput, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
11251     void align(BSTR v);
11252
11253     [propget, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
11254     BSTR align();
11255
11256     [propput, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
11257     void onload(VARIANT v);
11258
11259     [propget, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
11260     VARIANT onload();
11261
11262     [propput, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
11263     void onerror(VARIANT v);
11264
11265     [propget, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
11266     VARIANT onerror();
11267
11268     [propput, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
11269     void onabort(VARIANT v);
11270
11271     [propget, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
11272     VARIANT onabort();
11273
11274     [propput, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
11275     void width(long v);
11276
11277     [propget, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
11278     long width();
11279
11280     [propput, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
11281     void height(long v);
11282
11283     [propget, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
11284     long height();
11285
11286     [propput, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
11287     void start(BSTR v);
11288
11289     [propget, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
11290     BSTR start();
11291
11292     [propput, id(DISPID_IHTMLINPUTELEMENT2_ACCEPT), displaybind, bindable]
11293     void accept(BSTR v);
11294
11295     [propget, id(DISPID_IHTMLINPUTELEMENT2_ACCEPT), displaybind, bindable]
11296     BSTR accept();
11297
11298     [propput, id(DISPID_IHTMLINPUTELEMENT2_USEMAP), displaybind, bindable]
11299     void useMap(BSTR v);
11300
11301     [propget, id(DISPID_IHTMLINPUTELEMENT2_USEMAP), displaybind, bindable]
11302     BSTR useMap();
11303 }
11304
11305 /*****************************************************************************
11306  *    IHTMLTextAreaElement interface
11307  */
11308 [
11309     odl,
11310     oleautomation,
11311     dual,
11312     uuid(3050f2aa-98b5-11cf-bb82-00aa00bdce0b)
11313 ]
11314 interface IHTMLTextAreaElement : IDispatch
11315 {
11316     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_TYPE)]
11317     HRESULT type([retval, out] BSTR *p);
11318
11319     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
11320     HRESULT value([in] BSTR v);
11321
11322     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
11323     HRESULT value([retval, out] BSTR *p);
11324
11325     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
11326     HRESULT name([in] BSTR v);
11327
11328     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
11329     HRESULT name([retval, out] BSTR *p);
11330
11331     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
11332     HRESULT status([in] VARIANT v);
11333
11334     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
11335     HRESULT status([retval, out] VARIANT *p);
11336
11337     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_DISABLED), displaybind, bindable]
11338     HRESULT disabled([in] VARIANT_BOOL v);
11339
11340     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_DISABLED), displaybind, bindable]
11341     HRESULT disabled([retval, out] VARIANT_BOOL *p);
11342
11343     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_FORM)]
11344     HRESULT form([retval, out] IHTMLFormElement **p);
11345
11346     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
11347     HRESULT defaultValue([in] BSTR v);
11348
11349     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
11350     HRESULT defaultValue([retval, out] BSTR *p);
11351
11352     [id(DISPID_IHTMLTEXTAREAELEMENT_SELECT)]
11353     HRESULT select();
11354
11355     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
11356     HRESULT onchange([in] VARIANT v);
11357
11358     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
11359     HRESULT onchange([retval, out] VARIANT *p);
11360
11361     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
11362     HRESULT onselect([in] VARIANT v);
11363
11364     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
11365     HRESULT onselect([retval, out] VARIANT *p);
11366
11367     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
11368     HRESULT readOnly([in] VARIANT_BOOL v);
11369
11370     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
11371     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
11372
11373     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
11374     HRESULT rows([in] long v);
11375
11376     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
11377     HRESULT rows([retval, out] long *p);
11378
11379     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
11380     HRESULT cols([in] long v);
11381
11382     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
11383     HRESULT cols([retval, out] long *p);
11384
11385     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
11386     HRESULT wrap([in] BSTR v);
11387
11388     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
11389     HRESULT wrap([retval, out] BSTR *p);
11390
11391     [id(DISPID_IHTMLTEXTAREAELEMENT_CREATETEXTRANGE)]
11392     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
11393 }
11394
11395 /*****************************************************************************
11396  *    DispHTMLUnknownElement interface
11397  */
11398 [
11399     hidden,
11400     uuid(3050f539-98b5-11cf-bb82-00aa00bdce0b)
11401 ]
11402 dispinterface DispHTMLUnknownElement
11403 {
11404 properties:
11405 methods:
11406     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
11407     void setAttribute(
11408             [in] BSTR strAttributeName,
11409             [in] VARIANT AttributeValue,
11410             [in, defaultvalue(1)] LONG lFlags);
11411
11412     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
11413     VARIANT getAttribute(
11414              [in] BSTR strAttributeName,
11415              [in, defaultvalue(0)] LONG lFlags);
11416
11417     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
11418     VARIANT_BOOL removeAttribute(
11419             [in] BSTR strAttributeName,
11420             [in, defaultvalue(1)] LONG lFlags);
11421
11422     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
11423     void className(BSTR v);
11424
11425     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
11426     BSTR className();
11427
11428     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
11429     void id(BSTR v);
11430
11431     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
11432     BSTR id();
11433
11434     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
11435     BSTR tagName();
11436
11437     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
11438     IHTMLElement *parentElement();
11439
11440     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
11441     IHTMLStyle *style();
11442
11443     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
11444     void onhelp(VARIANT v);
11445
11446     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
11447     VARIANT onhelp();
11448
11449     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
11450     void onclick(VARIANT v);
11451
11452     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
11453     VARIANT onclick();
11454
11455     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
11456     void ondblclick(VARIANT v);
11457
11458     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
11459     VARIANT ondblclick();
11460
11461     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
11462     void onkeydown(VARIANT v);
11463
11464     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
11465     VARIANT onkeydown();
11466
11467     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
11468     void onkeyup(VARIANT v);
11469
11470     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
11471     VARIANT onkeyup();
11472
11473     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
11474     void onkeypress(VARIANT v);
11475
11476     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
11477     VARIANT onkeypress();
11478
11479     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
11480     void onmouseout(VARIANT v);
11481
11482     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
11483     VARIANT onmouseout();
11484
11485     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
11486     void onmouseover(VARIANT v);
11487
11488     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
11489     VARIANT onmouseover();
11490
11491     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
11492     void onmousemove(VARIANT v);
11493
11494     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
11495     VARIANT onmousemove();
11496
11497     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
11498     void onmousedown(VARIANT v);
11499
11500     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
11501     VARIANT onmousedown();
11502
11503     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
11504     void onmouseup(VARIANT v);
11505
11506     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
11507     VARIANT onmouseup();
11508
11509     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
11510     IDispatch *document();
11511
11512     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
11513     void title(BSTR v);
11514
11515     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
11516     BSTR title();
11517
11518     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
11519     void language(BSTR v);
11520
11521     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
11522     BSTR language();
11523
11524     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
11525     void onselectstart(VARIANT v);
11526
11527     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
11528     VARIANT onselectstart();
11529
11530     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
11531     void scrollIntoView([in, optional] VARIANT varargStart);
11532
11533     [id(DISPID_IHTMLELEMENT_CONTAINS)]
11534     VARIANT_BOOL contains([in] IHTMLElement *pChild);
11535
11536     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
11537     long sourceIndex();
11538
11539     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
11540     VARIANT recordNumber();
11541
11542     [propput, id(DISPID_IHTMLELEMENT_LANG)]
11543     void lang(BSTR v);
11544
11545     [propget, id(DISPID_IHTMLELEMENT_LANG)]
11546     BSTR lang();
11547
11548     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
11549     long offsetLeft();
11550
11551     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
11552     long offsetTop();
11553
11554     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
11555     long offsetWidth();
11556
11557     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
11558     long offsetHeight();
11559
11560     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
11561     IHTMLElement *offsetParent();
11562
11563     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
11564     void innerHTML(BSTR v);
11565
11566     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
11567     BSTR innerHTML();
11568
11569     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
11570     void innerText(BSTR v);
11571
11572     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
11573     BSTR innerText();
11574
11575     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
11576     void outerHTML(BSTR v);
11577
11578     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
11579     BSTR outerHTML();
11580
11581     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
11582     void outerText(BSTR v);
11583
11584     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
11585     BSTR outerText();
11586
11587     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
11588     void insertAdjacentHTML(
11589             [in] BSTR where,
11590             [in] BSTR html);
11591
11592     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
11593     void insertAdjacentText(
11594             [in] BSTR where,
11595             [in] BSTR text);
11596
11597     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
11598     IHTMLElement *parentTextEdit();
11599
11600     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
11601     VARIANT_BOOL isTextEdit();
11602
11603     [id(DISPID_IHTMLELEMENT_CLICK)]
11604     void click();
11605
11606     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
11607     IHTMLFiltersCollection *filters();
11608
11609     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
11610     void ondragstart(VARIANT v);
11611
11612     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
11613     VARIANT ondragstart();
11614
11615     [id(DISPID_IHTMLELEMENT_TOSTRING)]
11616     BSTR toString();
11617
11618     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
11619     void onbeforeupdate(VARIANT v);
11620
11621     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
11622     VARIANT onbeforeupdate();
11623
11624     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
11625     void onafterupdate(VARIANT v);
11626
11627     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
11628     VARIANT onafterupdate();
11629
11630     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
11631     void onerrorupdate(VARIANT v);
11632
11633     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
11634     VARIANT onerrorupdate();
11635
11636     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
11637     void onrowexit(VARIANT v);
11638
11639     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
11640     VARIANT onrowexit();
11641
11642     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
11643     void onrowenter(VARIANT v);
11644
11645     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
11646     VARIANT onrowenter();
11647
11648     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
11649     void ondatasetchanged(VARIANT v);
11650
11651     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
11652     VARIANT ondatasetchanged();
11653
11654     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
11655     void ondataavailable(VARIANT v);
11656
11657     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
11658     VARIANT ondataavailable();
11659
11660     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
11661     void ondatasetcomplete(VARIANT v);
11662
11663     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
11664     VARIANT ondatasetcomplete();
11665
11666     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
11667     void onfilterchange(VARIANT v);
11668
11669     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
11670     VARIANT onfilterchange();
11671
11672     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
11673     IDispatch *children();
11674
11675     [propget, id(DISPID_IHTMLELEMENT_ALL)]
11676     IDispatch *all();
11677
11678     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
11679     BSTR scopeName();
11680
11681     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
11682     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
11683
11684     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
11685     void releaseCapture();
11686
11687     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
11688     void onlosecapture(VARIANT v);
11689
11690     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
11691     VARIANT onlosecapture();
11692
11693     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
11694     BSTR componentFromPoint(
11695             [in] long x,
11696             [in] long y);
11697
11698     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
11699     void doScroll([in, optional] VARIANT component);
11700
11701     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
11702     void onscroll(VARIANT v);
11703
11704     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
11705     VARIANT onscroll();
11706
11707     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
11708     void ondrag(VARIANT v);
11709
11710     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
11711     VARIANT ondrag();
11712
11713     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
11714     void ondragend(VARIANT v);
11715
11716     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
11717     VARIANT ondragend();
11718
11719     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
11720     void ondragenter(VARIANT v);
11721
11722     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
11723     VARIANT ondragenter();
11724
11725     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
11726     void ondragover(VARIANT v);
11727
11728     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
11729     VARIANT ondragover();
11730
11731     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
11732     void ondragleave(VARIANT v);
11733
11734     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
11735     VARIANT ondragleave();
11736
11737     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
11738     void ondrop(VARIANT v);
11739
11740     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
11741     VARIANT ondrop();
11742
11743     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
11744     void onbeforecut(VARIANT v);
11745
11746     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
11747     VARIANT onbeforecut();
11748
11749     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
11750     void oncut(VARIANT v);
11751
11752     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
11753     VARIANT oncut();
11754
11755     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
11756     void onbeforecopy(VARIANT v);
11757
11758     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
11759     VARIANT onbeforecopy();
11760
11761     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
11762     void oncopy(VARIANT v);
11763
11764     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
11765     VARIANT oncopy();
11766
11767     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
11768     void onbeforepaste(VARIANT v);
11769
11770     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
11771     VARIANT onbeforepaste();
11772
11773     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
11774     void onpaste(VARIANT v);
11775
11776     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
11777     VARIANT onpaste();
11778
11779     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
11780     IHTMLCurrentStyle *currentStyle();
11781
11782     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
11783     void onpropertychange(VARIANT v);
11784
11785     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
11786     VARIANT onpropertychange();
11787
11788     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
11789     IHTMLRectCollection *getClientRects();
11790
11791     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
11792     IHTMLRect *getBoundingClientRect();
11793
11794     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
11795     void setExpression(
11796             [in] BSTR propname,
11797             [in] BSTR expression,
11798             [in, defaultvalue("")] BSTR language);
11799
11800     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
11801     VARIANT getExpression([in] BSTR propname);
11802
11803     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
11804     VARIANT_BOOL removeExpression([in] BSTR propname);
11805
11806     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
11807     void tabIndex(short v);
11808
11809     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
11810     short tabIndex();
11811
11812     [id(DISPID_IHTMLELEMENT2_FOCUS)]
11813     void focus();
11814
11815     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
11816     void accessKey(BSTR v);
11817
11818     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
11819     BSTR accessKey();
11820
11821     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
11822     void onblur(VARIANT v);
11823
11824     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
11825     VARIANT onblur();
11826
11827     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
11828     void onfocus(VARIANT v);
11829
11830     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
11831     VARIANT onfocus();
11832
11833     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
11834     void onresize(VARIANT v);
11835
11836     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
11837     VARIANT onresize();
11838
11839     [id(DISPID_IHTMLELEMENT2_BLUR)]
11840     void blur();
11841
11842     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
11843     void addFilter([in] IUnknown *pUnk);
11844
11845     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
11846     void removeFilter([in] IUnknown *pUnk);
11847
11848     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
11849     long clientHeight();
11850
11851     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
11852     long clientWidth();
11853
11854     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
11855     long clientTop();
11856
11857     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
11858     long clientLeft();
11859
11860     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
11861     VARIANT_BOOL attachEvent(
11862             [in] BSTR event,
11863             [in] IDispatch *pDisp);
11864
11865     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
11866     void detachEvent(
11867             [in] BSTR event,
11868             [in] IDispatch *pDisp);
11869
11870     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
11871     VARIANT readyState();
11872
11873     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
11874     void onreadystatechange(VARIANT v);
11875
11876     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
11877     VARIANT onreadystatechange();
11878
11879     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
11880     void onrowsdelete(VARIANT v);
11881
11882     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
11883     VARIANT onrowsdelete();
11884
11885     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
11886     void onrowsinserted(VARIANT v);
11887
11888     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
11889      VARIANT onrowsinserted();
11890
11891     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
11892      void oncellchange(VARIANT v);
11893
11894     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
11895     VARIANT oncellchange();
11896
11897     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
11898     void dir(BSTR v);
11899
11900     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
11901     BSTR dir();
11902
11903     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
11904     IDispatch *createControlRange();
11905
11906     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
11907     long scrollHeight();
11908
11909     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
11910     long scrollWidth();
11911
11912     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
11913     void scrollTop(long v);
11914
11915     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
11916     long scrollTop();
11917
11918     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
11919     void scrollLeft(long v);
11920
11921     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
11922     long scrollLeft();
11923
11924     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
11925     void clearAttributes();
11926
11927     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
11928     void oncontextmenu(VARIANT v);
11929
11930     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
11931     VARIANT oncontextmenu();
11932
11933     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
11934     IHTMLElement *insertAdjacentElement(
11935             [in] BSTR where,
11936             [in] IHTMLElement *insertedElement);
11937
11938     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
11939     IHTMLElement *applyElement(
11940             [in] IHTMLElement *apply,
11941             [in] BSTR where);
11942
11943     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
11944     BSTR getAdjacentText([in] BSTR where);
11945
11946     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
11947     BSTR replaceAdjacentText(
11948             [in] BSTR where,
11949             [in] BSTR newText);
11950
11951     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
11952     VARIANT_BOOL canHaveChildren();
11953
11954     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
11955     long addBehavior(
11956             [in] BSTR bstrUrl,
11957             [in, optional] VARIANT *pvarFactory);
11958
11959     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
11960     VARIANT_BOOL removeBehavior([in] long cookie);
11961
11962     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
11963     IHTMLStyle *runtimeStyle();
11964
11965     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
11966     IDispatch *behaviorUrns();
11967
11968     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
11969     void tagUrn(BSTR v);
11970
11971     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
11972     BSTR tagUrn();
11973
11974     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
11975     void onbeforeeditfocus(VARIANT v);
11976
11977     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
11978     VARIANT onbeforeeditfocus();
11979
11980     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
11981     long readyStateValue();
11982
11983     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
11984     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
11985
11986     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
11987     void mergeAttributes(
11988             [in] IHTMLElement *mergeThis,
11989             [in, optional] VARIANT *pvarFlags);
11990
11991     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
11992     VARIANT_BOOL isMultiLine();
11993
11994     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
11995     VARIANT_BOOL canHaveHTML();
11996
11997     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
11998     void onlayoutcomplete(VARIANT v);
11999
12000     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
12001     VARIANT onlayoutcomplete();
12002
12003     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
12004     void onpage(VARIANT v);
12005
12006     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
12007     VARIANT onpage();
12008
12009     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
12010     void inflateBlock(VARIANT_BOOL v);
12011
12012     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
12013     VARIANT_BOOL inflateBlock();
12014
12015     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
12016     void onbeforedeactivate(VARIANT v);
12017
12018     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
12019     VARIANT onbeforedeactivate();
12020
12021     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
12022     void setActive();
12023
12024     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
12025     void contentEditable(BSTR v);
12026
12027     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
12028     BSTR contentEditable();
12029
12030     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
12031     VARIANT_BOOL isContentEditable();
12032
12033     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
12034     void hideFocus(VARIANT_BOOL v);
12035
12036     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
12037     VARIANT_BOOL hideFocus();
12038
12039     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
12040     void disabled(VARIANT_BOOL v);
12041
12042     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
12043     VARIANT_BOOL disabled();
12044
12045     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
12046     VARIANT_BOOL isDisabled();
12047
12048     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
12049     void onmove(VARIANT v);
12050
12051     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
12052     VARIANT onmove();
12053
12054     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
12055     void oncontrolselect(VARIANT v);
12056
12057     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
12058     VARIANT oncontrolselect();
12059
12060     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
12061     VARIANT_BOOL fireEvent(
12062             [in] BSTR bstrEventName,
12063             [in, optional] VARIANT *pvarEventObject);
12064
12065     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
12066     void onresizestart(VARIANT v);
12067
12068     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
12069     VARIANT onresizestart();
12070
12071     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
12072     void onresizeend(VARIANT v);
12073
12074     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
12075     VARIANT onresizeend();
12076
12077     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
12078     void onmovestart(VARIANT v);
12079
12080     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
12081     VARIANT onmovestart();
12082
12083     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
12084     void onmoveend(VARIANT v);
12085
12086     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
12087     VARIANT onmoveend();
12088
12089     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
12090     void onmouseenter(VARIANT v);
12091
12092     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
12093     VARIANT onmouseenter();
12094
12095     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
12096     void onmouseleave(VARIANT v);
12097
12098     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
12099     VARIANT onmouseleave();
12100
12101     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
12102     void onactivate(VARIANT v);
12103
12104     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
12105     VARIANT onactivate();
12106
12107     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
12108     void ondeactivate(VARIANT v);
12109
12110     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
12111     VARIANT ondeactivate();
12112
12113     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
12114     VARIANT_BOOL dragDrop();
12115
12116     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
12117     LONG glyphMode();
12118
12119     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
12120     void onmousewheel(VARIANT v);
12121
12122     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
12123     VARIANT onmousewheel();
12124
12125     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
12126     void normalize();
12127
12128     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
12129     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
12130
12131     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
12132     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
12133
12134     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
12135     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
12136
12137     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
12138     void onbeforeactivate(VARIANT v);
12139
12140     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
12141     VARIANT onbeforeactivate();
12142
12143     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
12144     void onfocusin(VARIANT v);
12145
12146     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
12147     VARIANT onfocusin();
12148
12149     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
12150     void onfocusout(VARIANT v);
12151
12152     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
12153     VARIANT onfocusout();
12154
12155     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
12156     long uniqueNumber();
12157
12158     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
12159     BSTR uniqueID();
12160
12161     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
12162     long nodeType();
12163
12164     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
12165     IHTMLDOMNode *parentNode();
12166
12167     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
12168     VARIANT_BOOL hasChildNodes();
12169
12170     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
12171     IDispatch *childNodes();
12172
12173     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
12174     IDispatch *attributes();
12175
12176     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
12177     IHTMLDOMNode *insertBefore(
12178             [in] IHTMLDOMNode *newChild,
12179             [in, optional] VARIANT refChild);
12180
12181     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
12182     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
12183
12184     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
12185     IHTMLDOMNode *replaceChild(
12186             [in] IHTMLDOMNode *newChild,
12187             [in] IHTMLDOMNode *oldChild);
12188
12189     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
12190     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
12191
12192     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
12193     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
12194
12195     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
12196     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
12197
12198     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
12199     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
12200
12201     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
12202     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
12203
12204     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
12205     BSTR nodeName();
12206
12207     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
12208     void nodeValue(VARIANT v);
12209
12210     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
12211     VARIANT nodeValue();
12212
12213     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
12214     IHTMLDOMNode *firstChild();
12215
12216     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
12217     IHTMLDOMNode *lastChild();
12218
12219     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
12220     IHTMLDOMNode *previousSibling();
12221
12222     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
12223     IHTMLDOMNode *nextSibling();
12224
12225     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
12226     IDispatch *ownerDocument();
12227 }
12228
12229 /*****************************************************************************
12230  *    IOmHistory interface
12231  */
12232 [
12233     odl,
12234     oleautomation,
12235     dual,
12236     uuid(FECEAAA2-8405-11CF-8BA1-00AA00476DA6)
12237 ]
12238 interface IOmHistory : IDispatch
12239 {
12240     [propget, id(DISPID_IOMHISTORY_LENGTH)]
12241     HRESULT length([retval, out] short *p);
12242
12243     [id(DISPID_IOMHISTORY_BACK)]
12244     HRESULT back([optional, in] VARIANT *pvargdistance);
12245
12246     [id(DISPID_IOMHISTORY_FORWARD)]
12247     HRESULT forward([optional, in] VARIANT *pvargdistance);
12248
12249     [id(DISPID_IOMHISTORY_GO)]
12250     HRESULT go([optional, in] VARIANT *pvargdistance);
12251 }
12252
12253 /*****************************************************************************
12254  *    IHTMLMimeTypesCollection interface
12255  */
12256 [
12257     odl,
12258     oleautomation,
12259     dual,
12260     uuid(3050F3FC-98B5-11CF-BB82-00AA00BDCE0B)
12261 ]
12262 interface IHTMLMimeTypesCollection : IDispatch
12263 {
12264     [propget, id(DISPID_IHTMLMIMETYPESCOLLECTION_LENGTH)]
12265     HRESULT length([retval, out] long *p);
12266 }
12267
12268 /*****************************************************************************
12269  *    IHTMLPluginsCollection interface
12270  */
12271 [
12272     odl,
12273     oleautomation,
12274     dual,
12275     uuid(3050F3FD-98B5-11CF-BB82-00AA00BDCE0B)
12276 ]
12277 interface IHTMLPluginsCollection : IDispatch
12278 {
12279     [propget, id(DISPID_IHTMLPLUGINSCOLLECTION_LENGTH)]
12280     HRESULT length([retval, out] long *p);
12281
12282     [id(DISPID_IHTMLPLUGINSCOLLECTION_REFRESH)]
12283     HRESULT refresh([defaultvalue(0), in] VARIANT_BOOL reload);
12284 }
12285
12286 /*****************************************************************************
12287  *    IHTMLOpsProfile interface
12288  */
12289 [
12290     odl,
12291     oleautomation,
12292     dual,
12293     uuid(3050F401-98B5-11CF-BB82-00AA00BDCE0B)
12294 ]
12295 interface IHTMLOpsProfile : IDispatch
12296 {
12297     [id(DISPID_IHTMLOPSPROFILE_ADDREQUEST)]
12298     HRESULT addRequest(
12299         [in] BSTR name,
12300         [optional, in] VARIANT reserved,
12301         [retval, out] VARIANT_BOOL *success);
12302
12303     [id(DISPID_IHTMLOPSPROFILE_CLEARREQUEST)]
12304     HRESULT clearRequest();
12305
12306     [id(DISPID_IHTMLOPSPROFILE_DOREQUEST)]
12307     HRESULT doRequest(
12308         [in] VARIANT usage,
12309         [optional, in] VARIANT fname,
12310         [optional, in] VARIANT domain,
12311         [optional, in] VARIANT path,
12312         [optional, in] VARIANT expire,
12313         [optional, in] VARIANT reserved);
12314
12315     [id(DISPID_IHTMLOPSPROFILE_GETATTRIBUTE)]
12316     HRESULT getAttribute(
12317         [in] BSTR name,
12318         [retval, out] BSTR *value);
12319
12320     [id(DISPID_IHTMLOPSPROFILE_SETATTRIBUTE)]
12321     HRESULT setAttribute(
12322         [in] BSTR name,
12323         [in] BSTR value,
12324         [optional, in] VARIANT prefs,
12325         [retval, out] VARIANT_BOOL *success);
12326
12327     [id(DISPID_IHTMLOPSPROFILE_COMMITCHANGES)]
12328     HRESULT commitChanges([retval, out] VARIANT_BOOL *success);
12329
12330     [id(DISPID_IHTMLOPSPROFILE_ADDREADREQUEST)]
12331     HRESULT addReadRequest(
12332         [in] BSTR name,
12333         [optional, in] VARIANT reserved,
12334         [retval, out] VARIANT_BOOL *success);
12335
12336     [id(DISPID_IHTMLOPSPROFILE_DOREADREQUEST)]
12337     HRESULT doReadRequest(
12338         [in] VARIANT usage,
12339         [optional, in] VARIANT fname,
12340         [optional, in] VARIANT domain,
12341         [optional, in] VARIANT path,
12342         [optional, in] VARIANT expire,
12343         [optional, in] VARIANT reserved);
12344
12345     [id(DISPID_IHTMLOPSPROFILE_DOWRITEREQUEST)]
12346     HRESULT doWriteRequest([retval, out] VARIANT_BOOL *success);
12347 }
12348
12349 /*****************************************************************************
12350  *    IOmNavigator interface
12351  */
12352 [
12353         odl,
12354         oleautomation,
12355         dual,
12356         uuid(FECEAAA5-8405-11CF-8BA1-00AA00476DA6)
12357 ]
12358 interface IOmNavigator : IDispatch
12359 {
12360     [propget, id(DISPID_IOMNAVIGATOR_APPCODENAME)]
12361     HRESULT appCodeName([retval, out] BSTR *p);
12362
12363     [propget, id(DISPID_IOMNAVIGATOR_APPNAME)]
12364     HRESULT appName([retval, out] BSTR *p);
12365
12366     [propget, id(DISPID_IOMNAVIGATOR_APPVERSION)]
12367     HRESULT appVersion([retval, out] BSTR *p);
12368
12369     [propget, id(DISPID_IOMNAVIGATOR_USERAGENT)]
12370     HRESULT userAgent([retval, out] BSTR *p);
12371
12372     [id(DISPID_IOMNAVIGATOR_JAVAENABLED)]
12373     HRESULT javaEnabled([retval, out] VARIANT_BOOL *enabled);
12374
12375     [id(DISPID_IOMNAVIGATOR_TAINTENABLED)]
12376     HRESULT taintEnabled([retval, out] VARIANT_BOOL *enabled);
12377
12378     [propget, id(DISPID_IOMNAVIGATOR_MIMETYPES)]
12379     HRESULT mimeTypes([retval, out] IHTMLMimeTypesCollection **p);
12380
12381     [propget, id(DISPID_IOMNAVIGATOR_PLUGINS)]
12382     HRESULT plugins([retval, out] IHTMLPluginsCollection **p);
12383
12384     [propget, id(DISPID_IOMNAVIGATOR_COOKIEENABLED)]
12385     HRESULT cookieEnabled([retval, out] VARIANT_BOOL *p);
12386
12387     [propget, id(DISPID_IOMNAVIGATOR_OPSPROFILE)]
12388     HRESULT opsProfile([retval, out] IHTMLOpsProfile **p);
12389
12390     [id(DISPID_IOMNAVIGATOR_TOSTRING)]
12391     HRESULT toString([retval, out] BSTR *String);
12392
12393     [propget, id(DISPID_IOMNAVIGATOR_CPUCLASS)]
12394     HRESULT cpuClass([retval, out] BSTR *p);
12395
12396     [propget, id(DISPID_IOMNAVIGATOR_SYSTEMLANGUAGE)]
12397     HRESULT systemLanguage([retval, out] BSTR *p);
12398
12399     [propget, id(DISPID_IOMNAVIGATOR_BROWSERLANGUAGE)]
12400     HRESULT browserLanguage([retval, out] BSTR *p);
12401
12402     [propget, id(DISPID_IOMNAVIGATOR_USERLANGUAGE)]
12403     HRESULT userLanguage([retval, out] BSTR *p);
12404
12405     [propget, id(DISPID_IOMNAVIGATOR_PLATFORM)]
12406     HRESULT platform([retval, out] BSTR *p);
12407
12408     [propget, id(DISPID_IOMNAVIGATOR_APPMINORVERSION)]
12409     HRESULT appMinorVersion([retval, out] BSTR *p);
12410
12411     [propget, id(DISPID_IOMNAVIGATOR_CONNECTIONSPEED)]
12412     HRESULT connectionSpeed([retval, out] long *p);
12413
12414     [propget, id(DISPID_IOMNAVIGATOR_ONLINE)]
12415     HRESULT onLine([retval, out] VARIANT_BOOL *p);
12416
12417     [propget, id(DISPID_IOMNAVIGATOR_USERPROFILE)]
12418     HRESULT userProfile([retval, out] IHTMLOpsProfile **p);
12419 }
12420
12421 /*****************************************************************************
12422  *    IHTMLLocation interface
12423  */
12424 [
12425     odl,
12426     oleautomation,
12427     dual,
12428     uuid(163BB1E0-6E00-11cf-837A-48DC04C10000)
12429 ]
12430 interface IHTMLLocation : IDispatch
12431 {
12432     [propput, id(DISPID_IHTMLLOCATION_HREF)]
12433     HRESULT href([in] BSTR v);
12434
12435     [propget, id(DISPID_IHTMLLOCATION_HREF)]
12436     HRESULT href([retval, out] BSTR *p);
12437
12438     [propput, id(DISPID_IHTMLLOCATION_PROTOCOL)]
12439     HRESULT protocol([in] BSTR v);
12440
12441     [propget, id(DISPID_IHTMLLOCATION_PROTOCOL)]
12442     HRESULT protocol([retval, out] BSTR *p);
12443
12444     [propput, id(DISPID_IHTMLLOCATION_HOST)]
12445     HRESULT host([in] BSTR v);
12446
12447     [propget, id(DISPID_IHTMLLOCATION_HOST)]
12448     HRESULT host([retval, out] BSTR *p);
12449
12450     [propput, id(DISPID_IHTMLLOCATION_HOSTNAME)]
12451     HRESULT hostname([in] BSTR v);
12452
12453     [propget, id(DISPID_IHTMLLOCATION_HOSTNAME)]
12454     HRESULT hostname([retval, out] BSTR *p);
12455
12456     [propput, id(DISPID_IHTMLLOCATION_PORT)]
12457     HRESULT port([in] BSTR v);
12458
12459     [propget, id(DISPID_IHTMLLOCATION_PORT)]
12460     HRESULT port([retval, out] BSTR *p);
12461
12462     [propput, id(DISPID_IHTMLLOCATION_PATHNAME)]
12463     HRESULT pathname([in] BSTR v);
12464
12465     [propget, id(DISPID_IHTMLLOCATION_PATHNAME)]
12466     HRESULT pathname([retval, out] BSTR *p);
12467
12468     [propput, id(DISPID_IHTMLLOCATION_SEARCH)]
12469     HRESULT search([in] BSTR v);
12470
12471     [propget, id(DISPID_IHTMLLOCATION_SEARCH)]
12472     HRESULT search([retval, out] BSTR *p);
12473
12474     [propput, id(DISPID_IHTMLLOCATION_HASH)]
12475     HRESULT hash([in] BSTR v);
12476
12477     [propget, id(DISPID_IHTMLLOCATION_HASH)]
12478     HRESULT hash([retval, out] BSTR *p);
12479
12480     [id(DISPID_IHTMLLOCATION_RELOAD)]
12481     HRESULT reload([defaultvalue(0), in] VARIANT_BOOL flag);
12482
12483     [id(DISPID_IHTMLLOCATION_REPLACE)]
12484     HRESULT replace([in] BSTR bstr);
12485
12486     [id(DISPID_IHTMLLOCATION_ASSIGN)]
12487     HRESULT assign([in] BSTR bstr);
12488
12489     [id(DISPID_IHTMLLOCATION_TOSTRING)]
12490     HRESULT toString([retval, out] BSTR *String);
12491 }
12492
12493 [
12494     odl,
12495     oleautomation,
12496     dual,
12497     uuid(3050f4ce-98b5-11cf-bb82-00aa00bdce0b)
12498 ]
12499 interface IHTMLBookmarkCollection : IDispatch
12500 {
12501     [propget, id(DISPID_IHTMLBOOKMARKCOLLECTION_LENGTH), hidden]
12502     HRESULT length([out, retval] long *p);
12503
12504     [propget, id(DISPID_IHTMLBOOKMARKCOLLECTION__NEWENUM), hidden, restricted]
12505     HRESULT _newEnum([out, retval] IUnknown **p);
12506
12507     [id(DISPID_IHTMLBOOKMARKCOLLECTION_ITEM)]
12508     HRESULT item(
12509             [in] long index,
12510             [out, retval] VARIANT *pVarBookmark);
12511 }
12512
12513 /*****************************************************************************
12514  *    IHTMLDataTransfer interface
12515  */
12516 [
12517     odl,
12518     oleautomation,
12519     dual,
12520     uuid(3050f4b3-98b5-11cf-bb82-00aa00bdce0b)
12521 ]
12522 interface IHTMLDataTransfer : IDispatch
12523 {
12524     [id(DISPID_IHTMLDATATRANSFER_SETDATA)]
12525     HRESULT setData(
12526             [in] BSTR format,
12527             [in] VARIANT *data,
12528             [out, retval] VARIANT_BOOL *pret);
12529
12530     [id(DISPID_IHTMLDATATRANSFER_GETDATA)]
12531     HRESULT getData(
12532             [in] BSTR format,
12533             [out, retval] VARIANT *pvarRet);
12534
12535     [id(DISPID_IHTMLDATATRANSFER_CLEARDATA)]
12536     HRESULT clearData(
12537             [in] BSTR format,
12538             [out, retval] VARIANT_BOOL *pret);
12539
12540     [propput, id(DISPID_IHTMLDATATRANSFER_DROPEFFECT)]
12541     HRESULT dropEffect([in] BSTR v);
12542
12543     [propget, id(DISPID_IHTMLDATATRANSFER_DROPEFFECT)]
12544     HRESULT dropEffect([out, retval] BSTR *p);
12545
12546     [propput, id(DISPID_IHTMLDATATRANSFER_EFFECTALLOWED)]
12547     HRESULT effectAllowed([in] BSTR v);
12548
12549     [propget, id(DISPID_IHTMLDATATRANSFER_EFFECTALLOWED)]
12550     HRESULT effectAllowed([out, retval] BSTR *p);
12551 }
12552
12553 /*****************************************************************************
12554  *    IHTMLEventObj interface
12555  */
12556 [
12557     odl,
12558     oleautomation,
12559     dual,
12560     uuid(3050F32D-98B5-11CF-BB82-00AA00BDCE0B)
12561 ]
12562 interface IHTMLEventObj : IDispatch
12563 {
12564     [propget, id(DISPID_IHTMLEVENTOBJ_SRCELEMENT)]
12565     HRESULT srcElement([retval, out] IHTMLElement **p);
12566
12567     [propget, id(DISPID_IHTMLEVENTOBJ_ALTKEY)]
12568     HRESULT altKey([retval, out] VARIANT_BOOL *p);
12569
12570     [propget, id(DISPID_IHTMLEVENTOBJ_CTRLKEY)]
12571     HRESULT ctrlKey([retval, out] VARIANT_BOOL *p);
12572
12573     [propget, id(DISPID_IHTMLEVENTOBJ_SHIFTKEY)]
12574     HRESULT shiftKey([retval, out] VARIANT_BOOL *p);
12575
12576     [propput, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
12577     HRESULT returnValue([in] VARIANT v);
12578
12579     [propget, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
12580     HRESULT returnValue([retval, out] VARIANT *p);
12581
12582     [propput, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
12583     HRESULT cancelBubble([in] VARIANT_BOOL v);
12584
12585     [propget, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
12586     HRESULT cancelBubble([retval, out] VARIANT_BOOL *p);
12587
12588     [propget, id(DISPID_IHTMLEVENTOBJ_FROMELEMENT)]
12589     HRESULT fromElement([retval, out] IHTMLElement **p);
12590
12591     [propget, id(DISPID_IHTMLEVENTOBJ_TOELEMENT)]
12592     HRESULT toElement([retval, out] IHTMLElement **p);
12593
12594     [propput, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
12595     HRESULT keyCode([in] long v);
12596
12597     [propget, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
12598     HRESULT keyCode([retval, out] long *p);
12599
12600     [propget, id(DISPID_IHTMLEVENTOBJ_BUTTON)]
12601     HRESULT button([retval, out] long *p);
12602
12603     [propget, id(DISPID_IHTMLEVENTOBJ_TYPE)]
12604     HRESULT type([retval, out] BSTR *p);
12605
12606     [propget, id(DISPID_IHTMLEVENTOBJ_QUALIFIER)]
12607     HRESULT qualifier([retval, out] BSTR *p);
12608
12609     [propget, id(DISPID_IHTMLEVENTOBJ_REASON)]
12610     HRESULT reason([retval, out] long *p);
12611
12612     [propget, id(DISPID_IHTMLEVENTOBJ_X)]
12613     HRESULT x([retval, out] long *p);
12614
12615     [propget, id(DISPID_IHTMLEVENTOBJ_Y)]
12616     HRESULT y([retval, out] long *p);
12617
12618     [propget, id(DISPID_IHTMLEVENTOBJ_CLIENTX)]
12619     HRESULT clientX([retval, out] long *p);
12620
12621     [propget, id(DISPID_IHTMLEVENTOBJ_CLIENTY)]
12622     HRESULT clientY([retval, out] long *p);
12623
12624     [propget, id(DISPID_IHTMLEVENTOBJ_OFFSETX)]
12625     HRESULT offsetX([retval, out] long *p);
12626
12627     [propget, id(DISPID_IHTMLEVENTOBJ_OFFSETY)]
12628     HRESULT offsetY([retval, out] long *p);
12629
12630     [propget, id(DISPID_IHTMLEVENTOBJ_SCREENX)]
12631     HRESULT screenX([retval, out] long *p);
12632
12633     [propget, id(DISPID_IHTMLEVENTOBJ_SCREENY)]
12634     HRESULT screenY([retval, out] long *p);
12635
12636     [propget, id(DISPID_IHTMLEVENTOBJ_SRCFILTER)]
12637     HRESULT srcFilter([retval, out] IDispatch **p);
12638 }
12639
12640 /*****************************************************************************
12641  *    DispCEventObj dispinterface
12642  */
12643 [
12644     hidden,
12645     uuid(3050f558-98b5-11cf-bb82-00aa00bdce0b)
12646 ]
12647 dispinterface DispCEventObj
12648 {
12649 properties:
12650 methods:
12651     [propput, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
12652     void returnValue(VARIANT v);
12653
12654     [propget, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
12655     VARIANT returnValue();
12656
12657     [propput, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
12658     void cancelBubble(VARIANT_BOOL v);
12659
12660     [propget, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
12661     VARIANT_BOOL cancelBubble();
12662
12663     [propput, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
12664     void keyCode(long v);
12665
12666     [propget, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
12667     long keyCode();
12668
12669     [id(DISPID_IHTMLEVENTOBJ2_SETATTRIBUTE)]
12670     void setAttribute(
12671             [in] BSTR strAttributeName,
12672             [in] VARIANT AttributeValue,
12673             [in, defaultvalue(1)] LONG lFlags);
12674
12675     [id(DISPID_IHTMLEVENTOBJ2_GETATTRIBUTE)]
12676     VARIANT getAttribute(
12677             [in] BSTR strAttributeName,
12678             [in, defaultvalue(0)] LONG lFlags);
12679
12680     [id(DISPID_IHTMLEVENTOBJ2_REMOVEATTRIBUTE)]
12681     VARIANT_BOOL removeAttribute(
12682             [in] BSTR strAttributeName,
12683             [in, defaultvalue(1)] LONG lFlags);
12684
12685     [propput, id(DISPID_IHTMLEVENTOBJ2_PROPERTYNAME)]
12686     void propertyName(BSTR v);
12687
12688     [propget, id(DISPID_IHTMLEVENTOBJ2_PROPERTYNAME)]
12689     BSTR propertyName();
12690
12691     [propputref, id(DISPID_IHTMLEVENTOBJ2_BOOKMARKS)]
12692     void bookmarks(IHTMLBookmarkCollection *v);
12693
12694     [propget, id(DISPID_IHTMLEVENTOBJ2_BOOKMARKS)]
12695     IHTMLBookmarkCollection *bookmarks();
12696
12697     [propputref, id(DISPID_IHTMLEVENTOBJ2_RECORDSET)]
12698     void recordset(IDispatch *v);
12699
12700     [propget, id(DISPID_IHTMLEVENTOBJ2_RECORDSET)]
12701     IDispatch *recordset();
12702
12703     [propput, id(DISPID_IHTMLEVENTOBJ2_DATAFLD)]
12704     void dataFld(BSTR v);
12705
12706     [propget, id(DISPID_IHTMLEVENTOBJ2_DATAFLD)]
12707     BSTR dataFld();
12708
12709     [propputref, id(DISPID_IHTMLEVENTOBJ2_BOUNDELEMENTS)]
12710     void boundElements(IHTMLElementCollection *v);
12711
12712     [propget, id(DISPID_IHTMLEVENTOBJ2_BOUNDELEMENTS)]
12713     IHTMLElementCollection *boundElements();
12714
12715     [propput, id(DISPID_IHTMLEVENTOBJ2_REPEAT)]
12716     void repeat(VARIANT_BOOL v);
12717
12718     [propget, id(DISPID_IHTMLEVENTOBJ2_REPEAT)]
12719     VARIANT_BOOL repeat();
12720
12721     [propput, id(DISPID_IHTMLEVENTOBJ2_SRCURN)]
12722     void srcUrn(BSTR v);
12723
12724     [propget, id(DISPID_IHTMLEVENTOBJ2_SRCURN)]
12725     BSTR srcUrn();
12726
12727     [propputref, id(DISPID_IHTMLEVENTOBJ2_SRCELEMENT)]
12728     void srcElement(IHTMLElement *v);
12729
12730     [propget, id(DISPID_IHTMLEVENTOBJ2_SRCELEMENT)]
12731     IHTMLElement *srcElement();
12732
12733     [propput, id(DISPID_IHTMLEVENTOBJ2_ALTKEY)]
12734     void altKey(VARIANT_BOOL v);
12735
12736     [propget, id(DISPID_IHTMLEVENTOBJ2_ALTKEY)]
12737     VARIANT_BOOL altKey();
12738
12739     [propput, id(DISPID_IHTMLEVENTOBJ2_CTRLKEY)]
12740     void ctrlKey(VARIANT_BOOL v);
12741
12742     [propget, id(DISPID_IHTMLEVENTOBJ2_CTRLKEY)]
12743     VARIANT_BOOL ctrlKey();
12744
12745     [propput, id(DISPID_IHTMLEVENTOBJ2_SHIFTKEY)]
12746     void shiftKey(VARIANT_BOOL v);
12747
12748     [propget, id(DISPID_IHTMLEVENTOBJ2_SHIFTKEY)]
12749     VARIANT_BOOL shiftKey();
12750
12751     [propputref, id(DISPID_IHTMLEVENTOBJ2_FROMELEMENT)]
12752     void fromElement(IHTMLElement *v);
12753
12754     [propget, id(DISPID_IHTMLEVENTOBJ2_FROMELEMENT)]
12755     IHTMLElement *fromElement();
12756
12757     [propputref, id(DISPID_IHTMLEVENTOBJ2_TOELEMENT)]
12758     void toElement(IHTMLElement *v);
12759
12760     [propget, id(DISPID_IHTMLEVENTOBJ2_TOELEMENT)]
12761     IHTMLElement *toElement();
12762
12763     [propput, id(DISPID_IHTMLEVENTOBJ2_BUTTON)]
12764     void button(long v);
12765
12766     [propget, id(DISPID_IHTMLEVENTOBJ2_BUTTON)]
12767     long button();
12768
12769     [propput, id(DISPID_IHTMLEVENTOBJ2_TYPE)]
12770     void type(BSTR v);
12771
12772     [propget, id(DISPID_IHTMLEVENTOBJ2_TYPE)]
12773     BSTR type();
12774
12775     [propput, id(DISPID_IHTMLEVENTOBJ2_QUALIFIER)]
12776     void qualifier(BSTR v);
12777
12778     [propget, id(DISPID_IHTMLEVENTOBJ2_QUALIFIER)]
12779     BSTR qualifier();
12780
12781     [propput, id(DISPID_IHTMLEVENTOBJ2_REASON)]
12782     void reason(long v);
12783
12784     [propget, id(DISPID_IHTMLEVENTOBJ2_REASON)]
12785     long reason();
12786
12787     [propput, id(DISPID_IHTMLEVENTOBJ2_X)]
12788     void x(long v);
12789
12790     [propget, id(DISPID_IHTMLEVENTOBJ2_X)]
12791     long x();
12792
12793     [propput, id(DISPID_IHTMLEVENTOBJ2_Y)]
12794     void y(long v);
12795
12796     [propget, id(DISPID_IHTMLEVENTOBJ2_Y)]
12797     long y();
12798
12799     [propput, id(DISPID_IHTMLEVENTOBJ2_CLIENTX)]
12800     void clientX(long v);
12801
12802     [propget, id(DISPID_IHTMLEVENTOBJ2_CLIENTX)]
12803     long clientX();
12804
12805     [propput, id(DISPID_IHTMLEVENTOBJ2_CLIENTY)]
12806     void clientY(long v);
12807
12808     [propget, id(DISPID_IHTMLEVENTOBJ2_CLIENTY)]
12809     long clientY();
12810     [propput, id(DISPID_IHTMLEVENTOBJ2_OFFSETX)]
12811     void offsetX(long v);
12812
12813     [propget, id(DISPID_IHTMLEVENTOBJ2_OFFSETX)]
12814     long offsetX();
12815
12816     [propput, id(DISPID_IHTMLEVENTOBJ2_OFFSETY)]
12817     void offsetY(long v);
12818
12819     [propget, id(DISPID_IHTMLEVENTOBJ2_OFFSETY)]
12820     long offsetY();
12821
12822     [propput, id(DISPID_IHTMLEVENTOBJ2_SCREENX)]
12823     void screenX(long v);
12824
12825     [propget, id(DISPID_IHTMLEVENTOBJ2_SCREENX)]
12826     long screenX();
12827
12828     [propput, id(DISPID_IHTMLEVENTOBJ2_SCREENY)]
12829     void screenY(long v);
12830
12831     [propget, id(DISPID_IHTMLEVENTOBJ2_SCREENY)]
12832     long screenY();
12833
12834     [propputref, id(DISPID_IHTMLEVENTOBJ2_SRCFILTER)]
12835     void srcFilter(IDispatch *v);
12836
12837     [propget, id(DISPID_IHTMLEVENTOBJ2_SRCFILTER)]
12838     IDispatch *srcFilter();
12839
12840     [propget, id(DISPID_IHTMLEVENTOBJ2_DATATRANSFER)]
12841     IHTMLDataTransfer *dataTransfer();
12842
12843     [propget, id(DISPID_IHTMLEVENTOBJ3_CONTENTOVERFLOW)]
12844     VARIANT_BOOL contentOverflow();
12845
12846     [propput, id(DISPID_IHTMLEVENTOBJ3_SHIFTLEFT)]
12847     void shiftLeft(VARIANT_BOOL v);
12848
12849     [propget, id(DISPID_IHTMLEVENTOBJ3_SHIFTLEFT)]
12850     VARIANT_BOOL shiftLeft();
12851
12852     [propput, id(DISPID_IHTMLEVENTOBJ3_ALTLEFT)]
12853     void altLeft(VARIANT_BOOL v);
12854
12855     [propget, id(DISPID_IHTMLEVENTOBJ3_ALTLEFT)]
12856     VARIANT_BOOL altLeft();
12857
12858     [propput, id(DISPID_IHTMLEVENTOBJ3_CTRLLEFT)]
12859     void ctrlLeft(VARIANT_BOOL v);
12860
12861     [propget, id(DISPID_IHTMLEVENTOBJ3_CTRLLEFT)]
12862     VARIANT_BOOL ctrlLeft();
12863
12864     [propget, id(DISPID_IHTMLEVENTOBJ3_IMECOMPOSITIONCHANGE), hidden, restricted, nonbrowsable]
12865     LONG_PTR imeCompositionChange();
12866
12867     [propget, id(DISPID_IHTMLEVENTOBJ3_IMENOTIFYCOMMAND), hidden, restricted, nonbrowsable]
12868     LONG_PTR imeNotifyCommand();
12869
12870     [propget, id(DISPID_IHTMLEVENTOBJ3_IMENOTIFYDATA), hidden, restricted, nonbrowsable]
12871     LONG_PTR imeNotifyData();
12872
12873     [propget, id(DISPID_IHTMLEVENTOBJ3_IMEREQUEST), hidden, restricted, nonbrowsable]
12874     LONG_PTR imeRequest();
12875
12876     [propget, id(DISPID_IHTMLEVENTOBJ3_IMEREQUESTDATA), hidden, restricted, nonbrowsable]
12877     LONG_PTR imeRequestData();
12878
12879     [propget, id(DISPID_IHTMLEVENTOBJ3_KEYBOARDLAYOUT), hidden, restricted, nonbrowsable]
12880     LONG_PTR keyboardLayout();
12881
12882     [propget, id(DISPID_IHTMLEVENTOBJ3_BEHAVIORCOOKIE)]
12883     long behaviorCookie();
12884
12885     [propget, id(DISPID_IHTMLEVENTOBJ3_BEHAVIORPART)]
12886     long behaviorPart();
12887
12888     [propget, id(DISPID_IHTMLEVENTOBJ3_NEXTPAGE)]
12889     BSTR nextPage();
12890
12891     [propget, id(DISPID_IHTMLEVENTOBJ4_WHEELDELTA)]
12892     long wheelDelta();
12893 }
12894
12895 /*****************************************************************************
12896  *    IHTMLFramesCollection2 interface
12897  */
12898 [
12899     odl,
12900     oleautomation,
12901     dual,
12902     uuid(332C4426-26CB-11D0-B483-00C04FD90119)
12903 ]
12904 interface IHTMLFramesCollection2 : IDispatch
12905 {
12906     [id(DISPID_IHTMLFRAMESCOLLECTION2_ITEM)]
12907     HRESULT item(
12908         [in] VARIANT *pvarIndex,
12909         [retval, out] VARIANT *pvarResult);
12910
12911     [propget, id(DISPID_IHTMLFRAMESCOLLECTION2_LENGTH)]
12912     HRESULT length([retval, out] long *p);
12913 }
12914
12915 /*****************************************************************************
12916  *    IHTMLScreen interface
12917  */
12918 [
12919     odl,
12920     oleautomation,
12921     dual,
12922     uuid(3050f35C-98B5-11CF-BB82-00AA00BDCE0B)
12923 ]
12924 interface IHTMLScreen : IDispatch
12925 {
12926     [propget, id(DISPID_IHTMLSCREEN_COLORDEPTH)]
12927     HRESULT colorDepth([retval, out] long *p);
12928
12929     [propput, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
12930     HRESULT bufferDepth([in] long v);
12931
12932     [propget, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
12933     HRESULT bufferDepth([retval, out] long *p);
12934
12935     [propget, id(DISPID_IHTMLSCREEN_WIDTH)]
12936     HRESULT width([retval, out] long *p);
12937
12938     [propget, id(DISPID_IHTMLSCREEN_HEIGHT)]
12939     HRESULT height([retval, out] long *p);
12940
12941     [propput, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
12942     HRESULT updateInterval([in] long v);
12943
12944     [propget, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
12945     HRESULT updateInterval([retval, out] long *p);
12946
12947     [propget, id(DISPID_IHTMLSCREEN_AVAILHEIGHT)]
12948     HRESULT availHeight([retval, out] long *p);
12949
12950     [propget, id(DISPID_IHTMLSCREEN_AVAILWIDTH)]
12951     HRESULT availWidth([retval, out] long *p);
12952
12953     [propget, id(DISPID_IHTMLSCREEN_FONTSMOOTHINGENABLED)]
12954     HRESULT fontSmoothingEnabled([retval, out] VARIANT_BOOL *p);
12955 }
12956
12957 /*****************************************************************************
12958  *    IHTMLWindow2 interface
12959  */
12960 [
12961     odl,
12962     oleautomation,
12963     dual,
12964     uuid(332C4427-26CB-11D0-B483-00C04FD90119)
12965 ]
12966 interface IHTMLWindow2 : IHTMLFramesCollection2
12967 {
12968     [propget, id(DISPID_IHTMLWINDOW2_FRAMES)]
12969     HRESULT frames([retval, out] IHTMLFramesCollection2 **p);
12970
12971     [propput, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
12972     HRESULT defaultStatus([in] BSTR v);
12973
12974     [propget, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
12975     HRESULT defaultStatus([retval, out] BSTR *p);
12976
12977     [propput, id(DISPID_IHTMLWINDOW2_STATUS)]
12978     HRESULT status([in] BSTR v);
12979
12980     [propget, id(DISPID_IHTMLWINDOW2_STATUS)]
12981     HRESULT status([retval, out] BSTR *p);
12982
12983     [id(DISPID_IHTMLWINDOW2_SETTIMEOUT)]
12984     HRESULT setTimeout(
12985         [in] BSTR expression,
12986         [in] long msec,
12987         [optional, in] VARIANT *language,
12988         [retval, out] long *timerID);
12989
12990     [id(DISPID_IHTMLWINDOW2_CLEARTIMEOUT)]
12991     HRESULT clearTimeout([in] long timerID);
12992
12993     [id(DISPID_IHTMLWINDOW2_ALERT)]
12994     HRESULT alert([defaultvalue(""), in] BSTR message);
12995
12996     [id(DISPID_IHTMLWINDOW2_CONFIRM)]
12997     HRESULT confirm(
12998         [defaultvalue(""), in] BSTR message,
12999         [retval, out] VARIANT_BOOL *confirmed);
13000
13001     [id(DISPID_IHTMLWINDOW2_PROMPT)]
13002     HRESULT prompt(
13003         [defaultvalue(""), in] BSTR message,
13004         [defaultvalue("undefined"), in] BSTR defstr,
13005         [retval, out] VARIANT *textdata);
13006
13007     [propget, id(DISPID_IHTMLWINDOW2_IMAGE)]
13008     HRESULT Image([retval, out] IHTMLImageElementFactory **p);
13009
13010     [propget, id(DISPID_IHTMLWINDOW2_LOCATION)]
13011     HRESULT location([retval, out] IHTMLLocation **p);
13012
13013     [propget, id(DISPID_IHTMLWINDOW2_HISTORY)]
13014     HRESULT history([retval, out] IOmHistory **p);
13015
13016     [id(DISPID_IHTMLWINDOW2_CLOSE)]
13017     HRESULT close();
13018
13019     [propput, id(DISPID_IHTMLWINDOW2_OPENER)]
13020     HRESULT opener([in] VARIANT v);
13021
13022     [propget, id(DISPID_IHTMLWINDOW2_OPENER)]
13023     HRESULT opener([retval, out] VARIANT *p);
13024
13025     [propget, id(DISPID_IHTMLWINDOW2_NAVIGATOR)]
13026     HRESULT navigator([retval, out] IOmNavigator **p);
13027
13028     [propput, id(DISPID_IHTMLWINDOW2_NAME)]
13029     HRESULT name([in] BSTR v);
13030
13031     [propget, id(DISPID_IHTMLWINDOW2_NAME)]
13032     HRESULT name([retval, out] BSTR *p);
13033
13034     [propget, id(DISPID_IHTMLWINDOW2_PARENT)]
13035     HRESULT parent([retval, out] IHTMLWindow2 **p);
13036
13037     [id(DISPID_IHTMLWINDOW2_OPEN)]
13038     HRESULT open(
13039         [defaultvalue(""), in] BSTR url,
13040         [defaultvalue(""), in] BSTR name,
13041         [defaultvalue(""), in] BSTR features,
13042         [defaultvalue(0), in] VARIANT_BOOL replace,
13043         [retval, out] IHTMLWindow2 **pomWindowResult);
13044
13045     [propget, id(DISPID_IHTMLWINDOW2_SELF)]
13046     HRESULT self([retval, out] IHTMLWindow2 **p);
13047
13048     [propget, id(DISPID_IHTMLWINDOW2_TOP)]
13049     HRESULT top([retval, out] IHTMLWindow2 **p);
13050
13051     [propget, id(DISPID_IHTMLWINDOW2_WINDOW)]
13052     HRESULT window([retval, out] IHTMLWindow2 **p);
13053
13054     [id(DISPID_IHTMLWINDOW2_NAVIGATE)]
13055     HRESULT navigate([in] BSTR url);
13056
13057     [propput, id(DISPID_IHTMLWINDOW2_ONFOCUS)]
13058     HRESULT onfocus([in] VARIANT v);
13059
13060     [propget, id(DISPID_IHTMLWINDOW2_ONFOCUS)]
13061     HRESULT onfocus([retval, out] VARIANT *p);
13062
13063     [propput, id(DISPID_IHTMLWINDOW2_ONBLUR)]
13064     HRESULT onblur([in] VARIANT v);
13065
13066     [propget, id(DISPID_IHTMLWINDOW2_ONBLUR)]
13067     HRESULT onblur([retval, out] VARIANT *p);
13068
13069     [propput, id(DISPID_IHTMLWINDOW2_ONLOAD)]
13070     HRESULT onload([in] VARIANT v);
13071
13072     [propget, id(DISPID_IHTMLWINDOW2_ONLOAD)]
13073     HRESULT onload([retval, out] VARIANT *p);
13074
13075     [propput, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD)]
13076     HRESULT onbeforeunload([in] VARIANT v);
13077
13078     [propget, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD)]
13079     HRESULT onbeforeunload([retval, out] VARIANT *p);
13080
13081     [propput, id(DISPID_IHTMLWINDOW2_ONUNLOAD)]
13082     HRESULT onunload([in] VARIANT v);
13083
13084     [propget, id(DISPID_IHTMLWINDOW2_ONUNLOAD)]
13085     HRESULT onunload([retval, out] VARIANT *p);
13086
13087     [propput, id(DISPID_IHTMLWINDOW2_ONHELP)]
13088     HRESULT onhelp([in] VARIANT v);
13089
13090     [propget, id(DISPID_IHTMLWINDOW2_ONHELP)]
13091     HRESULT onhelp([retval, out] VARIANT *p);
13092
13093     [propput, id(DISPID_IHTMLWINDOW2_ONERROR)]
13094     HRESULT onerror([in] VARIANT v);
13095
13096     [propget, id(DISPID_IHTMLWINDOW2_ONERROR)]
13097     HRESULT onerror([retval, out] VARIANT *p);
13098
13099     [propput, id(DISPID_IHTMLWINDOW2_ONRESIZE)]
13100     HRESULT onresize([in] VARIANT v);
13101
13102     [propget, id(DISPID_IHTMLWINDOW2_ONRESIZE)]
13103     HRESULT onresize([retval, out] VARIANT *p);
13104
13105     [propput, id(DISPID_IHTMLWINDOW2_ONSCROLL)]
13106     HRESULT onscroll([in] VARIANT v);
13107
13108     [propget, id(DISPID_IHTMLWINDOW2_ONSCROLL)]
13109     HRESULT onscroll([retval, out] VARIANT *p);
13110
13111     [propget, id(DISPID_IHTMLWINDOW2_DOCUMENT)]
13112     HRESULT document([retval, out] IHTMLDocument2 **p);
13113
13114     [propget, id(DISPID_IHTMLWINDOW2_EVENT)]
13115     HRESULT event([retval, out] IHTMLEventObj **p);
13116
13117     [propget, id(DISPID_IHTMLWINDOW2__NEWENUM)]
13118     HRESULT _newEnum([retval, out] IUnknown **p);
13119
13120     [id(DISPID_IHTMLWINDOW2_SHOWMODALDIALOG)]
13121     HRESULT showModalDialog(
13122         [in] BSTR dialog,
13123         [optional, in] VARIANT *varArgIn,
13124         [optional, in] VARIANT *varOptions,
13125         [retval, out] VARIANT *varArgOut);
13126
13127     [id(DISPID_IHTMLWINDOW2_SHOWHELP)]
13128     HRESULT showHelp(
13129         [in] BSTR helpURL,
13130         [optional, in] VARIANT helpArg,
13131         [defaultvalue(""), in] BSTR features);
13132
13133     [propget, id(DISPID_IHTMLWINDOW2_SCREEN)]
13134     HRESULT screen([retval, out] IHTMLScreen **p);
13135
13136     [propget, id(DISPID_IHTMLWINDOW2_OPTION)]
13137     HRESULT Option([retval, out] IHTMLOptionElementFactory **p);
13138
13139     [id(DISPID_IHTMLWINDOW2_FOCUS)]
13140     HRESULT focus();
13141
13142     [propget, id(DISPID_IHTMLWINDOW2_CLOSED)]
13143     HRESULT closed([retval, out] VARIANT_BOOL *p);
13144
13145     [id(DISPID_IHTMLWINDOW2_BLUR)]
13146     HRESULT blur();
13147
13148     [id(DISPID_IHTMLWINDOW2_SCROLL)]
13149     HRESULT scroll([in] long x, [in] long y);
13150
13151     [propget, id(DISPID_IHTMLWINDOW2_CLIENTINFORMATION)]
13152     HRESULT clientInformation([retval, out] IOmNavigator **p);
13153
13154     [id(DISPID_IHTMLWINDOW2_SETINTERVAL)]
13155     HRESULT setInterval([
13156         in] BSTR expression,
13157         [in] long msec,
13158         [optional, in] VARIANT *language,
13159         [retval, out] long *timerID);
13160
13161     [id(DISPID_IHTMLWINDOW2_CLEARINTERVAL)]
13162     HRESULT clearInterval([in] long timerID);
13163
13164     [propput, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
13165     HRESULT offscreenBuffering([in] VARIANT v);
13166
13167     [propget, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
13168     HRESULT offscreenBuffering([retval, out] VARIANT *p);
13169
13170     [id(DISPID_IHTMLWINDOW2_EXECSCRIPT)]
13171     HRESULT execScript(
13172         [in] BSTR scode,
13173         [defaultvalue("JScript"), in] BSTR language,
13174         [retval, out] VARIANT *pvarRet);
13175
13176     [id(DISPID_IHTMLWINDOW2_TOSTRING)]
13177     HRESULT toString([retval, out] BSTR *String);
13178
13179     [id(DISPID_IHTMLWINDOW2_SCROLLBY)]
13180     HRESULT scrollBy([in] long x, [in] long y);
13181
13182     [id(DISPID_IHTMLWINDOW2_SCROLLTO)]
13183     HRESULT scrollTo([in] long x, [in] long y);
13184
13185     [id(DISPID_IHTMLWINDOW2_MOVETO)]
13186     HRESULT moveTo([in] long x, [in] long y);
13187
13188     [id(DISPID_IHTMLWINDOW2_MOVEBY)]
13189     HRESULT moveBy([in] long x, [in] long y);
13190
13191     [id(DISPID_IHTMLWINDOW2_RESIZETO)]
13192     HRESULT resizeTo([in] long x, [in] long y);
13193
13194     [id(DISPID_IHTMLWINDOW2_RESIZEBY)]
13195     HRESULT resizeBy([in] long x, [in] long y);
13196
13197     [propget, id(DISPID_IHTMLWINDOW2_EXTERNAL)]
13198     HRESULT external([retval, out] IDispatch **p);
13199 }
13200
13201 /*****************************************************************************
13202  *    IHTMLWindow3 interface
13203  */
13204 [
13205     odl,
13206     oleautomation,
13207     dual,
13208     uuid(3050f4ae-98b5-11cf-bb82-00aa00bdce0b)
13209 ]
13210 interface IHTMLWindow3 : IDispatch
13211 {
13212     [propget, id(DISPID_IHTMLWINDOW3_SCREENLEFT)]
13213     HRESULT screenLeft([out, retval] long *p);
13214
13215     [propget, id(DISPID_IHTMLWINDOW3_SCREENTOP)]
13216     HRESULT screenTop([out, retval] long *p);
13217
13218     [id(DISPID_IHTMLWINDOW3_ATTACHEVENT)]
13219     HRESULT attachEvent(
13220             [in] BSTR event,
13221             [in] IDispatch *pDisp,
13222             [out, retval] VARIANT_BOOL *pfResult);
13223
13224     [id(DISPID_IHTMLWINDOW3_DETACHEVENT)]
13225     HRESULT detachEvent(
13226             [in] BSTR event,
13227             [in] IDispatch *pDisp);
13228
13229     [id(DISPID_IHTMLWINDOW3_SETTIMEOUT)]
13230     HRESULT setTimeout(
13231             [in] VARIANT *expression,
13232             [in] long msec,
13233             [in, optional] VARIANT *language,
13234             [out, retval] long *timerID);
13235
13236     [id(DISPID_IHTMLWINDOW3_SETINTERVAL)]
13237     HRESULT setInterval(
13238             [in] VARIANT *expression,
13239             [in] long msec,
13240             [in, optional] VARIANT *language,
13241             [out, retval] long *timerID);
13242
13243     [id(DISPID_IHTMLWINDOW3_PRINT)]
13244     HRESULT print();
13245
13246     [propput, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
13247     HRESULT onbeforeprint([in] VARIANT v);
13248
13249     [propget, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
13250     HRESULT onbeforeprint([out, retval] VARIANT *p);
13251
13252     [propput, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
13253     HRESULT onafterprint([in] VARIANT v);
13254
13255     [propget, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
13256     HRESULT onafterprint([out, retval] VARIANT *p);
13257
13258     [propget, id(DISPID_IHTMLWINDOW3_CLIPBOARDDATA)]
13259     HRESULT clipboardData([out, retval] IHTMLDataTransfer **p);
13260
13261     [id(DISPID_IHTMLWINDOW3_SHOWMODELESSDIALOG)]
13262     HRESULT showModelessDialog(
13263             [in, defaultvalue("")] BSTR url,
13264             [in, optional] VARIANT *varArgIn,
13265             [in, optional] VARIANT *options,
13266             [out, retval] IHTMLWindow2 **pDialog);
13267 }
13268
13269 /*****************************************************************************
13270  *    DispHTMLWindow2 dispinterface
13271  */
13272 [
13273     hidden,
13274     uuid(3050f55d-98b5-11cf-bb82-00aa00bdce0b)
13275 ]
13276 dispinterface DispHTMLWindow2
13277 {
13278 properties:
13279 methods:
13280     [id(DISPID_IHTMLFRAMESCOLLECTION2_ITEM)]
13281     VARIANT item([in] VARIANT *pvarIndex);
13282
13283     [propget, id(DISPID_IHTMLFRAMESCOLLECTION2_LENGTH)]
13284     long length();
13285
13286     [propget, id(DISPID_IHTMLWINDOW2_FRAMES)]
13287     IHTMLFramesCollection2 *frames();
13288
13289     [propput, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
13290     void defaultStatus(BSTR v);
13291
13292     [propget, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
13293     BSTR defaultStatus();
13294
13295     [propput, id(DISPID_IHTMLWINDOW2_STATUS)]
13296     void status(BSTR v);
13297
13298     [propget, id(DISPID_IHTMLWINDOW2_STATUS)]
13299     BSTR status();
13300
13301     [id(DISPID_IHTMLWINDOW2_CLEARTIMEOUT)]
13302     void clearTimeout([in] long timerID);
13303
13304     [id(DISPID_IHTMLWINDOW2_ALERT)]
13305     void alert([in, defaultvalue("")] BSTR message);
13306
13307     [id(DISPID_IHTMLWINDOW2_CONFIRM)]
13308     VARIANT_BOOL confirm([in, defaultvalue("")] BSTR message);
13309
13310     [id(DISPID_IHTMLWINDOW2_PROMPT)]
13311     VARIANT prompt(
13312             [in, defaultvalue("")] BSTR message,
13313             [in, defaultvalue("undefined")] BSTR defstr);
13314
13315     [propget, id(DISPID_IHTMLWINDOW2_IMAGE)]
13316     IHTMLImageElementFactory *Image();
13317
13318     [propget, id(DISPID_IHTMLWINDOW2_LOCATION)]
13319     IHTMLLocation *location();
13320
13321     [propget, id(DISPID_IHTMLWINDOW2_HISTORY)]
13322     IOmHistory *history();
13323
13324     [id(DISPID_IHTMLWINDOW2_CLOSE)]
13325     void close();
13326
13327     [propput, id(DISPID_IHTMLWINDOW2_OPENER)]
13328     void opener(VARIANT v);
13329
13330     [propget, id(DISPID_IHTMLWINDOW2_OPENER)]
13331     VARIANT opener();
13332
13333     [propget, id(DISPID_IHTMLWINDOW2_NAVIGATOR)]
13334     IOmNavigator *navigator();
13335
13336     [propput, id(DISPID_IHTMLWINDOW2_NAME)]
13337     void name(BSTR v);
13338
13339     [propget, id(DISPID_IHTMLWINDOW2_NAME)]
13340     BSTR name();
13341
13342     [propget, id(DISPID_IHTMLWINDOW2_PARENT)]
13343     IHTMLWindow2 *parent();
13344
13345     [id(DISPID_IHTMLWINDOW2_OPEN)]
13346     IHTMLWindow2 *open(
13347             [in, defaultvalue("")] BSTR url,
13348             [in, defaultvalue("")] BSTR name,
13349             [in, defaultvalue("")] BSTR features,
13350             [in, defaultvalue(0)]  VARIANT_BOOL replace);
13351
13352     [propget, id(DISPID_IHTMLWINDOW2_SELF)]
13353     IHTMLWindow2 *self();
13354
13355     [propget, id(DISPID_IHTMLWINDOW2_TOP)]
13356     IHTMLWindow2 *top();
13357
13358     [propget, id(DISPID_IHTMLWINDOW2_WINDOW)]
13359     IHTMLWindow2 *window();
13360
13361     [id(DISPID_IHTMLWINDOW2_NAVIGATE)]
13362     void navigate([in] BSTR url);
13363
13364     [propput, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
13365     void onfocus(VARIANT v);
13366
13367     [propget, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
13368     VARIANT onfocus();
13369
13370     [propput, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
13371     void onblur(VARIANT v);
13372
13373     [propget, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
13374     VARIANT onblur();
13375
13376     [propget, id(DISPID_IHTMLWINDOW2_ONLOAD), displaybind, bindable]
13377     VARIANT onload();
13378
13379     [propput, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
13380     void onbeforeunload(VARIANT v);
13381
13382     [propget, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
13383     VARIANT onbeforeunload();
13384
13385     [propput, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
13386     void onunload(VARIANT v);
13387
13388     [propget, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
13389     VARIANT onunload();
13390
13391     [propput, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
13392     void onhelp(VARIANT v);
13393
13394     [propget, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
13395     VARIANT onhelp();
13396
13397     [propput, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
13398     void onerror(VARIANT v);
13399
13400     [propget, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
13401     VARIANT onerror();
13402
13403     [propput, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
13404     void onresize(VARIANT v);
13405
13406     [propget, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
13407     VARIANT onresize();
13408
13409     [propput, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
13410     void onscroll(VARIANT v);
13411
13412     [propget, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
13413     VARIANT onscroll();
13414
13415     [propget, id(DISPID_IHTMLWINDOW2_DOCUMENT), source]
13416     IHTMLDocument2 *document();
13417
13418     [propget, id(DISPID_IHTMLWINDOW2_EVENT)]
13419     IHTMLEventObj *event();
13420
13421     [propget, id(DISPID_IHTMLWINDOW2__NEWENUM), hidden, restricted]
13422     IUnknown *_newEnum();
13423
13424     [id(DISPID_IHTMLWINDOW2_SHOWMODALDIALOG)]
13425     VARIANT showModalDialog(
13426             [in] BSTR dialog,
13427             [in, optional] VARIANT *varArgIn,
13428             [in, optional] VARIANT *varOptions);
13429
13430     [id(DISPID_IHTMLWINDOW2_SHOWHELP)]
13431     void showHelp(
13432             [in] BSTR helpURL,
13433             [in, optional] VARIANT helpArg,
13434             [in, defaultvalue("")] BSTR features);
13435
13436     [propget, id(DISPID_IHTMLWINDOW2_SCREEN)]
13437     IHTMLScreen *screen();
13438
13439     [propget, id(DISPID_IHTMLWINDOW2_OPTION)]
13440     IHTMLOptionElementFactory *Option();
13441
13442     [id(DISPID_IHTMLWINDOW2_FOCUS)]
13443     void focus();
13444
13445     [propget, id(DISPID_IHTMLWINDOW2_CLOSED)]
13446     VARIANT_BOOL closed();
13447
13448     [id(DISPID_IHTMLWINDOW2_BLUR)]
13449     void blur();
13450
13451     [id(DISPID_IHTMLWINDOW2_SCROLL)]
13452     void scroll([in] long x, [in] long y);
13453
13454     [propget, id(DISPID_IHTMLWINDOW2_CLIENTINFORMATION)]
13455     IOmNavigator *clientInformation();
13456
13457     [id(DISPID_IHTMLWINDOW2_CLEARINTERVAL)]
13458     void clearInterval([in] long timerID);
13459
13460     [propput, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
13461     void offscreenBuffering(VARIANT v);
13462
13463     [propget, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
13464     VARIANT offscreenBuffering();
13465
13466     [id(DISPID_IHTMLWINDOW2_EXECSCRIPT)]
13467     VARIANT execScript(
13468             [in] BSTR _code,
13469             [in, defaultvalue("JScript")] BSTR language);
13470
13471     [id(DISPID_IHTMLWINDOW2_TOSTRING)]
13472     BSTR toString();
13473
13474     [id(DISPID_IHTMLWINDOW2_SCROLLBY)]
13475     void scrollBy([in] long x, [in] long y);
13476
13477     [id(DISPID_IHTMLWINDOW2_SCROLLTO)]
13478     void scrollTo([in] long x, [in] long y);
13479
13480     [id(DISPID_IHTMLWINDOW2_MOVETO)]
13481     void moveTo([in] long x, [in] long y);
13482
13483     [id(DISPID_IHTMLWINDOW2_MOVEBY)]
13484     void moveBy([in] long x, [in] long y);
13485
13486     [id(DISPID_IHTMLWINDOW2_RESIZETO)]
13487     void resizeTo([in] long x, [in] long y);
13488
13489     [id(DISPID_IHTMLWINDOW2_RESIZEBY)]
13490     void resizeBy([in] long x, [in] long y);
13491
13492     [propget, id(DISPID_IHTMLWINDOW2_EXTERNAL)]
13493     IDispatch *external();
13494
13495     [propget, id(DISPID_IHTMLWINDOW3_SCREENLEFT)]
13496     long screenLeft();
13497
13498     [propget, id(DISPID_IHTMLWINDOW3_SCREENTOP)]
13499     long screenTop();
13500
13501     [id(DISPID_IHTMLWINDOW3_ATTACHEVENT)]
13502     VARIANT_BOOL attachEvent(
13503              [in] BSTR event,
13504              [in] IDispatch *pDisp);
13505
13506     [id(DISPID_IHTMLWINDOW3_DETACHEVENT)]
13507     void detachEvent(
13508             [in] BSTR event,
13509             [in] IDispatch *pDisp);
13510
13511     [id(DISPID_IHTMLWINDOW3_SETTIMEOUT)]
13512     long setTimeout(
13513             [in] VARIANT *expression,
13514             [in] long msec,
13515             [in, optional] VARIANT *language);
13516
13517     [id(DISPID_IHTMLWINDOW3_SETINTERVAL)]
13518     long setInterval(
13519             [in] VARIANT *expression,
13520             [in] long msec,
13521             [in, optional] VARIANT *language);
13522
13523     [id(DISPID_IHTMLWINDOW3_PRINT)]
13524     void print();
13525
13526     [propput, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
13527     void onbeforeprint(VARIANT v);
13528
13529     [propget, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
13530     VARIANT onbeforeprint();
13531
13532     [propput, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
13533     void onafterprint(VARIANT v);
13534
13535     [propget, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
13536     VARIANT onafterprint();
13537
13538     [propget, id(DISPID_IHTMLWINDOW3_CLIPBOARDDATA)]
13539     IHTMLDataTransfer *clipboardData();
13540
13541     [id(DISPID_IHTMLWINDOW3_SHOWMODELESSDIALOG)]
13542     IHTMLWindow2 *showModelessDialog(
13543             [in, defaultvalue("")] BSTR url,
13544             [in, optional] VARIANT *varArgIn,
13545             [in, optional] VARIANT *options);
13546
13547     [id(DISPID_IHTMLWINDOW4_CREATEPOPUP)]
13548     IDispatch *createPopup([in, optional] VARIANT *varArgIn);
13549
13550     [propget, id(DISPID_IHTMLWINDOW4_FRAMEELEMENT)]
13551     IHTMLFrameBase *frameElement();
13552 }
13553
13554 /*****************************************************************************
13555  *    HTMLDocumentEvents2 interface
13556  */
13557 [
13558     hidden,
13559     uuid(3050f613-98b5-11cf-bb82-00aa00bdce0b)
13560 ]
13561 dispinterface HTMLDocumentEvents2
13562 {
13563     properties:
13564     methods:
13565     [id(DISPID_HTMLDOCUMENTEVENTS2_ONHELP)]
13566     VARIANT_BOOL onhelp([in] IHTMLEventObj *pEvtObj);
13567
13568     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCLICK)]
13569     VARIANT_BOOL onclick([in] IHTMLEventObj *pEvtObj);
13570
13571     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDBLCLICK)]
13572     VARIANT_BOOL ondblclick([in] IHTMLEventObj *pEvtObj);
13573
13574     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYDOWN)]
13575     void onkeydown([in] IHTMLEventObj *pEvtObj);
13576
13577     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYUP)]
13578     void onkeyup([in] IHTMLEventObj *pEvtObj);
13579
13580     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYPRESS)]
13581     VARIANT_BOOL onkeypress([in] IHTMLEventObj *pEvtObj);
13582
13583     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEDOWN)]
13584     void onmousedown([in] IHTMLEventObj *pEvtObj);
13585
13586     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEMOVE)]
13587     void onmousemove([in] IHTMLEventObj *pEvtObj);
13588
13589     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEUP)]
13590     void onmouseup([in] IHTMLEventObj *pEvtObj);
13591
13592     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEOUT)]
13593     void onmouseout([in] IHTMLEventObj *pEvtObj);
13594
13595     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEOVER)]
13596     void onmouseover([in] IHTMLEventObj *pEvtObj);
13597
13598     [id(DISPID_HTMLDOCUMENTEVENTS2_ONREADYSTATECHANGE)]
13599     void onreadystatechange([in] IHTMLEventObj *pEvtObj);
13600
13601     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREUPDATE)]
13602     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj *pEvtObj);
13603
13604     [id(DISPID_HTMLDOCUMENTEVENTS2_ONAFTERUPDATE)]
13605     void onafterupdate([in] IHTMLEventObj *pEvtObj);
13606
13607     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWEXIT)]
13608     VARIANT_BOOL onrowexit([in] IHTMLEventObj *pEvtObj);
13609
13610     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWENTER)]
13611     void onrowenter([in] IHTMLEventObj *pEvtObj);
13612
13613     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDRAGSTART)]
13614     VARIANT_BOOL ondragstart([in] IHTMLEventObj *pEvtObj);
13615
13616     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSELECTSTART)]
13617     VARIANT_BOOL onselectstart([in] IHTMLEventObj *pEvtObj);
13618
13619     [id(DISPID_HTMLDOCUMENTEVENTS2_ONERRORUPDATE)]
13620     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj *pEvtObj);
13621
13622     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCONTEXTMENU)]
13623     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj *pEvtObj);
13624
13625     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSTOP)]
13626     VARIANT_BOOL onstop([in] IHTMLEventObj *pEvtObj);
13627
13628     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWSDELETE)]
13629     void onrowsdelete([in] IHTMLEventObj *pEvtObj);
13630
13631     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWSINSERTED)]
13632     void onrowsinserted([in] IHTMLEventObj *pEvtObj);
13633
13634     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCELLCHANGE)]
13635     void oncellchange([in] IHTMLEventObj *pEvtObj);
13636
13637     [id(DISPID_HTMLDOCUMENTEVENTS2_ONPROPERTYCHANGE)]
13638     void onpropertychange([in] IHTMLEventObj *pEvtObj);
13639
13640     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATASETCHANGED)]
13641     void ondatasetchanged([in] IHTMLEventObj *pEvtObj);
13642
13643     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATAAVAILABLE)]
13644     void ondataavailable([in] IHTMLEventObj *pEvtObj);
13645
13646     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATASETCOMPLETE)]
13647     void ondatasetcomplete([in] IHTMLEventObj *pEvtObj);
13648
13649     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREEDITFOCUS)]
13650     void onbeforeeditfocus([in] IHTMLEventObj *pEvtObj);
13651
13652     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSELECTIONCHANGE)]
13653     void onselectionchange([in] IHTMLEventObj *pEvtObj);
13654
13655     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCONTROLSELECT)]
13656     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj *pEvtObj);
13657
13658     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEWHEEL)]
13659     VARIANT_BOOL onmousewheel([in] IHTMLEventObj *pEvtObj);
13660
13661     [id(DISPID_HTMLDOCUMENTEVENTS2_ONFOCUSIN)]
13662     void onfocusin([in] IHTMLEventObj *pEvtObj);
13663
13664     [id(DISPID_HTMLDOCUMENTEVENTS2_ONFOCUSOUT)]
13665     void onfocusout([in] IHTMLEventObj *pEvtObj);
13666
13667     [id(DISPID_HTMLDOCUMENTEVENTS2_ONACTIVATE)]
13668     void onactivate([in] IHTMLEventObj *pEvtObj);
13669
13670     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDEACTIVATE)]
13671     void ondeactivate([in] IHTMLEventObj *pEvtObj);
13672
13673     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREACTIVATE)]
13674     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj *pEvtObj);
13675
13676     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREDEACTIVATE)]
13677     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj *pEvtObj);
13678 }
13679
13680 /*****************************************************************************
13681  *    HTMLDocumentEvents interface
13682  */
13683 [
13684     hidden,
13685     uuid(3050f260-98b5-11cf-bb82-00aa00bdce0b)
13686 ]
13687 dispinterface HTMLDocumentEvents
13688 {
13689     properties:
13690     methods:
13691     [id(DISPID_HTMLDOCUMENTEVENTS_ONHELP)]
13692     VARIANT_BOOL onhelp();
13693
13694     [id(DISPID_HTMLDOCUMENTEVENTS_ONCLICK)]
13695     VARIANT_BOOL onclick();
13696
13697     [id(DISPID_HTMLDOCUMENTEVENTS_ONDBLCLICK)]
13698     VARIANT_BOOL ondblclick();
13699
13700     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYDOWN)]
13701     void onkeydown();
13702
13703     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYUP)]
13704     void onkeyup();
13705
13706     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYPRESS)]
13707     VARIANT_BOOL onkeypress();
13708
13709     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEDOWN)]
13710     void onmousedown();
13711
13712     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEMOVE)]
13713     void onmousemove();
13714
13715     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEUP)]
13716     void onmouseup();
13717
13718     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEOUT)]
13719     void onmouseout();
13720
13721     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEOVER)]
13722     void onmouseover();
13723
13724     [id(DISPID_HTMLDOCUMENTEVENTS_ONREADYSTATECHANGE)]
13725     void onreadystatechange();
13726
13727     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREUPDATE)]
13728     VARIANT_BOOL onbeforeupdate();
13729
13730     [id(DISPID_HTMLDOCUMENTEVENTS_ONAFTERUPDATE)]
13731     void onafterupdate();
13732
13733     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWEXIT)]
13734     VARIANT_BOOL onrowexit();
13735
13736     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWENTER)]
13737     void onrowenter();
13738
13739     [id(DISPID_HTMLDOCUMENTEVENTS_ONDRAGSTART)]
13740     VARIANT_BOOL ondragstart();
13741
13742     [id(DISPID_HTMLDOCUMENTEVENTS_ONSELECTSTART)]
13743     VARIANT_BOOL onselectstart();
13744
13745     [id(DISPID_HTMLDOCUMENTEVENTS_ONERRORUPDATE)]
13746     VARIANT_BOOL onerrorupdate();
13747
13748     [id(DISPID_HTMLDOCUMENTEVENTS_ONCONTEXTMENU)]
13749     VARIANT_BOOL oncontextmenu();
13750
13751     [id(DISPID_HTMLDOCUMENTEVENTS_ONSTOP)]
13752     VARIANT_BOOL onstop();
13753
13754     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWSDELETE)]
13755     void onrowsdelete();
13756
13757     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWSINSERTED)]
13758     void onrowsinserted();
13759
13760     [id(DISPID_HTMLDOCUMENTEVENTS_ONCELLCHANGE)]
13761     void oncellchange();
13762
13763     [id(DISPID_HTMLDOCUMENTEVENTS_ONPROPERTYCHANGE)]
13764     void onpropertychange();
13765
13766     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATASETCHANGED)]
13767     void ondatasetchanged();
13768
13769     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATAAVAILABLE)]
13770     void ondataavailable();
13771
13772     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATASETCOMPLETE)]
13773     void ondatasetcomplete();
13774
13775     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREEDITFOCUS)]
13776     void onbeforeeditfocus();
13777
13778     [id(DISPID_HTMLDOCUMENTEVENTS_ONSELECTIONCHANGE)]
13779     void onselectionchange();
13780
13781     [id(DISPID_HTMLDOCUMENTEVENTS_ONCONTROLSELECT)]
13782     VARIANT_BOOL oncontrolselect();
13783
13784     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEWHEEL)]
13785     VARIANT_BOOL onmousewheel();
13786
13787     [id(DISPID_HTMLDOCUMENTEVENTS_ONFOCUSIN)]
13788     void onfocusin();
13789
13790     [id(DISPID_HTMLDOCUMENTEVENTS_ONFOCUSOUT)]
13791     void onfocusout();
13792
13793     [id(DISPID_HTMLDOCUMENTEVENTS_ONACTIVATE)]
13794     void onactivate();
13795
13796     [id(DISPID_HTMLDOCUMENTEVENTS_ONDEACTIVATE)]
13797     void ondeactivate();
13798
13799     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREACTIVATE)]
13800     VARIANT_BOOL onbeforeactivate();
13801
13802     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREDEACTIVATE)]
13803     VARIANT_BOOL onbeforedeactivate();
13804 }
13805
13806 /*****************************************************************************
13807  *    HTMLTextContainerEvents interface
13808  */
13809 [
13810     hidden,
13811     uuid(1ff6aa72-5842-11cf-a707-00aa00c0098d)
13812 ]
13813 dispinterface HTMLTextContainerEvents
13814 {
13815 properties:
13816
13817 methods:
13818     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
13819     VARIANT_BOOL onhelp();
13820
13821     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
13822     VARIANT_BOOL onclick();
13823
13824     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
13825     VARIANT_BOOL ondblclick();
13826
13827     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
13828     VARIANT_BOOL onkeypress();
13829
13830     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
13831     void onkeydown();
13832
13833     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
13834     void onkeyup();
13835
13836     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
13837     void onmouseout();
13838
13839     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
13840     void onmouseover();
13841
13842     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
13843     void onmousemove();
13844
13845     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
13846     void onmousedown();
13847
13848     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
13849     void onmouseup();
13850
13851     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
13852     VARIANT_BOOL onselectstart();
13853
13854     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
13855     void onfilterchange();
13856
13857     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
13858     VARIANT_BOOL ondragstart();
13859
13860     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
13861     VARIANT_BOOL onbeforeupdate();
13862
13863     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
13864     void onafterupdate();
13865
13866     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
13867     VARIANT_BOOL onerrorupdate();
13868
13869     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
13870     VARIANT_BOOL onrowexit();
13871
13872     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
13873     void onrowenter();
13874
13875     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
13876     void ondatasetchanged();
13877
13878     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
13879     void ondataavailable();
13880
13881     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
13882     void ondatasetcomplete();
13883
13884     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
13885     void onlosecapture();
13886
13887     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
13888     void onpropertychange();
13889
13890     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
13891     void onscroll();
13892
13893     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
13894     void onfocus();
13895
13896     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
13897     void onblur();
13898
13899     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
13900     void onresize();
13901
13902     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
13903     VARIANT_BOOL ondrag();
13904
13905     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
13906     void ondragend();
13907
13908     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
13909     VARIANT_BOOL ondragenter();
13910
13911     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
13912     VARIANT_BOOL ondragover();
13913
13914     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
13915     void ondragleave();
13916
13917     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
13918     VARIANT_BOOL ondrop();
13919
13920     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
13921     VARIANT_BOOL onbeforecut();
13922
13923     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
13924     VARIANT_BOOL oncut();
13925
13926     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
13927     VARIANT_BOOL onbeforecopy();
13928
13929     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
13930     VARIANT_BOOL oncopy();
13931
13932     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
13933     VARIANT_BOOL onbeforepaste();
13934
13935     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
13936     VARIANT_BOOL onpaste();
13937
13938     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
13939     VARIANT_BOOL oncontextmenu();
13940
13941     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
13942     void onrowsdelete();
13943
13944     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
13945     void onrowsinserted();
13946
13947     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
13948     void oncellchange();
13949
13950     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
13951     void onreadystatechange();
13952
13953     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
13954     void onbeforeeditfocus();
13955
13956     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
13957     void onlayoutcomplete();
13958
13959     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
13960     void onpage();
13961
13962     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
13963     VARIANT_BOOL onbeforedeactivate();
13964
13965     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
13966     VARIANT_BOOL onbeforeactivate();
13967
13968     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
13969     void onmove();
13970
13971     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
13972     VARIANT_BOOL oncontrolselect();
13973
13974     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
13975     VARIANT_BOOL onmovestart();
13976
13977     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
13978     void onmoveend();
13979
13980     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
13981     VARIANT_BOOL onresizestart();
13982
13983     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
13984     void onresizeend();
13985
13986     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
13987     void onmouseenter();
13988
13989     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
13990     void onmouseleave();
13991
13992     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
13993     VARIANT_BOOL onmousewheel();
13994
13995     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
13996     void onactivate();
13997
13998     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
13999     void ondeactivate();
14000
14001     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
14002     void onfocusin();
14003
14004     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
14005     void onfocusout();
14006
14007     [id(DISPID_HTMLTEXTCONTAINEREVENTS_ONCHANGE)]
14008     void onchange();
14009
14010     [id(DISPID_HTMLTEXTCONTAINEREVENTS_ONSELECT)]
14011     void onselect();
14012 };
14013
14014 /*****************************************************************************
14015  *    HTMLTextContainerEvents2 interface
14016  */
14017 [
14018     hidden,
14019     uuid(3050f624-98b5-11cf-bb82-00aa00bdce0b)
14020 ]
14021 dispinterface HTMLTextContainerEvents2
14022 {
14023 properties:
14024 methods:
14025     [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)]
14026     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
14027
14028     [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)]
14029     VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
14030
14031     [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)]
14032     VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
14033
14034     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)]
14035     VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
14036
14037     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)]
14038     void onkeydown([in] IHTMLEventObj* pEvtObj);
14039
14040     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)]
14041     void onkeyup([in] IHTMLEventObj* pEvtObj);
14042
14043     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)]
14044     void onmouseout([in] IHTMLEventObj* pEvtObj);
14045
14046     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)]
14047     void onmouseover([in] IHTMLEventObj* pEvtObj);
14048
14049     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)]
14050     void onmousemove([in] IHTMLEventObj* pEvtObj);
14051
14052     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)]
14053     void onmousedown([in] IHTMLEventObj* pEvtObj);
14054
14055     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)]
14056     void onmouseup([in] IHTMLEventObj* pEvtObj);
14057
14058     [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)]
14059     VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
14060
14061     [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)]
14062     void onfilterchange([in] IHTMLEventObj* pEvtObj);
14063
14064     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)]
14065     VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
14066
14067     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)]
14068     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
14069
14070     [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)]
14071     void onafterupdate([in] IHTMLEventObj* pEvtObj);
14072
14073     [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)]
14074     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
14075
14076     [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)]
14077     VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
14078
14079     [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)]
14080     void onrowenter([in] IHTMLEventObj* pEvtObj);
14081
14082     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)]
14083     void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
14084
14085     [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)]
14086     void ondataavailable([in] IHTMLEventObj* pEvtObj);
14087
14088     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)]
14089     void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
14090
14091     [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)]
14092     void onlosecapture([in] IHTMLEventObj* pEvtObj);
14093
14094     [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)]
14095     void onpropertychange([in] IHTMLEventObj* pEvtObj);
14096
14097     [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)]
14098     void onscroll([in] IHTMLEventObj* pEvtObj);
14099
14100     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)]
14101     void onfocus([in] IHTMLEventObj* pEvtObj);
14102
14103     [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)]
14104     void onblur([in] IHTMLEventObj* pEvtObj);
14105
14106     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)]
14107     void onresize([in] IHTMLEventObj* pEvtObj);
14108
14109     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)]
14110     VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
14111
14112     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)]
14113     void ondragend([in] IHTMLEventObj* pEvtObj);
14114
14115     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)]
14116     VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
14117
14118     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)]
14119     VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
14120
14121     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)]
14122     void ondragleave([in] IHTMLEventObj* pEvtObj);
14123
14124     [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)]
14125     VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
14126
14127     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)]
14128     VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
14129
14130     [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)]
14131     VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
14132
14133     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)]
14134     VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
14135
14136     [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)]
14137     VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
14138
14139     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)]
14140     VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
14141
14142     [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)]
14143     VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
14144
14145     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)]
14146     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
14147
14148     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)]
14149     void onrowsdelete([in] IHTMLEventObj* pEvtObj);
14150
14151     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)]
14152     void onrowsinserted([in] IHTMLEventObj* pEvtObj);
14153
14154     [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)]
14155     void oncellchange([in] IHTMLEventObj* pEvtObj);
14156
14157     [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)]
14158     void onreadystatechange([in] IHTMLEventObj* pEvtObj);
14159
14160     [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)]
14161     void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
14162
14163     [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)]
14164     void onpage([in] IHTMLEventObj* pEvtObj);
14165
14166     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)]
14167     void onmouseenter([in] IHTMLEventObj* pEvtObj);
14168
14169     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)]
14170     void onmouseleave([in] IHTMLEventObj* pEvtObj);
14171
14172     [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)]
14173     void onactivate([in] IHTMLEventObj* pEvtObj);
14174
14175     [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)]
14176     void ondeactivate([in] IHTMLEventObj* pEvtObj);
14177
14178     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)]
14179     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
14180
14181     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)]
14182     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
14183
14184     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)]
14185     void onfocusin([in] IHTMLEventObj* pEvtObj);
14186
14187     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)]
14188     void onfocusout([in] IHTMLEventObj* pEvtObj);
14189
14190     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)]
14191     void onmove([in] IHTMLEventObj* pEvtObj);
14192
14193     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)]
14194     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
14195
14196     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)]
14197     VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
14198
14199     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)]
14200     void onmoveend([in] IHTMLEventObj* pEvtObj);
14201
14202     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)]
14203     VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
14204
14205     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)]
14206     void onresizeend([in] IHTMLEventObj* pEvtObj);
14207
14208     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)]
14209     VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
14210
14211     [id(DISPID_HTMLTEXTCONTAINEREVENTS2_ONCHANGE)]
14212     void onchange([in] IHTMLEventObj* pEvtObj);
14213
14214     [id(DISPID_HTMLTEXTCONTAINEREVENTS2_ONSELECT)]
14215     void onselect([in] IHTMLEventObj* pEvtObj);
14216 };
14217
14218 /*****************************************************************************
14219  *    IHTMLDocument interface
14220  */
14221 [
14222     odl,
14223     oleautomation,
14224     dual,
14225     uuid(626FC520-A41E-11CF-A731-00A0C9082637)
14226 ]
14227 interface IHTMLDocument : IDispatch
14228 {
14229     [propget, id(DISPID_IHTMLDOCUMENT_SCRIPT)]
14230     HRESULT Script([retval, out] IDispatch **p);
14231 }
14232
14233 /*****************************************************************************
14234  *    IHTMLDocument2 interface
14235  */
14236 [
14237     odl,
14238     oleautomation,
14239     dual,
14240     uuid(332C4425-26CB-11D0-B483-00C04FD90119)
14241 ]
14242 interface IHTMLDocument2 : IHTMLDocument
14243 {
14244     [propget, id(DISPID_IHTMLDOCUMENT2_ALL)]
14245     HRESULT all([retval, out] IHTMLElementCollection **p);
14246
14247     [propget, id(DISPID_IHTMLDOCUMENT2_BODY)]
14248     HRESULT body([retval, out] IHTMLElement **p);
14249
14250     [propget, id(DISPID_IHTMLDOCUMENT2_ACTIVEELEMENT)]
14251     HRESULT activeElement([retval, out] IHTMLElement **p);
14252
14253     [propget, id(DISPID_IHTMLDOCUMENT2_IMAGES)]
14254     HRESULT images([retval, out] IHTMLElementCollection **p);
14255
14256     [propget, id(DISPID_IHTMLDOCUMENT2_APPLETS)]
14257     HRESULT applets([retval, out] IHTMLElementCollection **p);
14258
14259     [propget, id(DISPID_IHTMLDOCUMENT2_LINKS)]
14260     HRESULT links([retval, out] IHTMLElementCollection **p);
14261
14262     [propget, id(DISPID_IHTMLDOCUMENT2_FORMS)]
14263     HRESULT forms([retval, out] IHTMLElementCollection **p);
14264
14265     [propget, id(DISPID_IHTMLDOCUMENT2_ANCHORS)]
14266     HRESULT anchors([retval, out] IHTMLElementCollection **p);
14267
14268     [propput, id(DISPID_IHTMLDOCUMENT2_TITLE)]
14269     HRESULT title([in] BSTR v);
14270
14271     [propget, id(DISPID_IHTMLDOCUMENT2_TITLE)]
14272     HRESULT title([retval, out] BSTR *p);
14273
14274     [propget, id(DISPID_IHTMLDOCUMENT2_SCRIPTS)]
14275     HRESULT scripts([retval, out] IHTMLElementCollection **p);
14276
14277     [propput, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE)]
14278     HRESULT designMode([in] BSTR v);
14279
14280     [propget, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE)]
14281     HRESULT designMode([retval, out] BSTR *p);
14282
14283     [propget, id(DISPID_IHTMLDOCUMENT2_SELECTION)]
14284     HRESULT selection([retval, out] IHTMLSelectionObject **p);
14285
14286     [propget, id(DISPID_IHTMLDOCUMENT2_READYSTATE)]
14287      HRESULT readyState([retval, out] BSTR *p);
14288
14289     [propget, id(DISPID_IHTMLDOCUMENT2_FRAMES)]
14290     HRESULT frames([retval, out] IHTMLFramesCollection2 **p);
14291
14292     [propget, id(DISPID_IHTMLDOCUMENT2_EMBEDS)]
14293     HRESULT embeds([retval, out] IHTMLElementCollection **p);
14294
14295     [propget, id(DISPID_IHTMLDOCUMENT2_PLUGINS)]
14296     HRESULT plugins([retval, out] IHTMLElementCollection **p);
14297
14298     [propput, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
14299     HRESULT alinkColor([in] VARIANT v);
14300
14301     [propget, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
14302     HRESULT alinkColor([retval, out] VARIANT *p);
14303
14304     [propput, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
14305     HRESULT bgColor([in] VARIANT v);
14306
14307     [propget, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
14308     HRESULT bgColor([retval, out] VARIANT *p);
14309
14310     [propput, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
14311     HRESULT fgColor([in] VARIANT v);
14312
14313     [propget, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
14314     HRESULT fgColor([retval, out] VARIANT *p);
14315
14316     [propput, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
14317     HRESULT linkColor([in] VARIANT v);
14318
14319     [propget, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
14320     HRESULT linkColor([retval, out] VARIANT *p);
14321
14322     [propput, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
14323     HRESULT vlinkColor([in] VARIANT v);
14324
14325     [propget, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
14326     HRESULT vlinkColor([retval, out] VARIANT *p);
14327
14328     [propget, id(DISPID_IHTMLDOCUMENT2_REFERRER)]
14329     HRESULT referrer([retval, out] BSTR *p);
14330
14331     [propget, id(DISPID_IHTMLDOCUMENT2_LOCATION)]
14332     HRESULT location([retval, out] IHTMLLocation **p);
14333
14334     [propget, id(DISPID_IHTMLDOCUMENT2_LASTMODIFIED)]
14335     HRESULT lastModified([retval, out] BSTR *p);
14336
14337     [propput, id(DISPID_IHTMLDOCUMENT2_URL)]
14338     HRESULT URL([in] BSTR v);
14339
14340     [propget, id(DISPID_IHTMLDOCUMENT2_URL)]
14341     HRESULT URL([retval, out] BSTR *p);
14342
14343     [propput, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
14344     HRESULT domain([in] BSTR v);
14345
14346     [propget, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
14347     HRESULT domain([retval, out] BSTR *p);
14348
14349     [propput, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
14350     HRESULT cookie([in] BSTR v);
14351
14352     [propget, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
14353     HRESULT cookie([retval, out] BSTR *p);
14354
14355     [propput, id(DISPID_IHTMLDOCUMENT2_EXPANDO)]
14356     HRESULT expando([in] VARIANT_BOOL v);
14357
14358     [propget, id(DISPID_IHTMLDOCUMENT2_EXPANDO)]
14359     HRESULT expando([retval, out] VARIANT_BOOL *p);
14360
14361     [propput, id(DISPID_IHTMLDOCUMENT2_CHARSET)]
14362      HRESULT charset([in] BSTR v);
14363
14364     [propget, id(DISPID_IHTMLDOCUMENT2_CHARSET)]
14365     HRESULT charset([retval, out] BSTR *p);
14366
14367     [propput, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
14368     HRESULT defaultCharset([in] BSTR v);
14369
14370     [propget, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
14371     HRESULT defaultCharset([retval, out] BSTR *p);
14372
14373     [propget, id(DISPID_IHTMLDOCUMENT2_MIMETYPE)]
14374     HRESULT mimeType([retval, out] BSTR *p);
14375
14376     [propget, id(DISPID_IHTMLDOCUMENT2_FILESIZE)]
14377     HRESULT fileSize([retval, out] BSTR *p);
14378
14379     [propget, id(DISPID_IHTMLDOCUMENT2_FILECREATEDDATE)]
14380     HRESULT fileCreatedDate([retval, out] BSTR *p);
14381
14382     [propget, id(DISPID_IHTMLDOCUMENT2_FILEMODIFIEDDATE)]
14383     HRESULT fileModifiedDate([retval, out] BSTR *p);
14384
14385     [propget, id(DISPID_IHTMLDOCUMENT2_FILEUPDATEDDATE)]
14386     HRESULT fileUpdatedDate([retval, out] BSTR *p);
14387
14388     [propget, id(DISPID_IHTMLDOCUMENT2_SECURITY)]
14389     HRESULT security([retval, out] BSTR *p);
14390
14391     [propget, id(DISPID_IHTMLDOCUMENT2_PROTOCOL)]
14392     HRESULT protocol([retval, out] BSTR *p);
14393
14394     [propget, id(DISPID_IHTMLDOCUMENT2_NAMEPROP)]
14395      HRESULT nameProp([retval, out] BSTR *p);
14396
14397     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITE)]
14398     HRESULT write([in] SAFEARRAY(VARIANT) psarray);
14399
14400     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITELN)]
14401     HRESULT writeln([in] SAFEARRAY(VARIANT) psarray);
14402
14403     [id(DISPID_IHTMLDOCUMENT2_OPEN)]
14404     HRESULT open(
14405         [defaultvalue("text/html"), in] BSTR url,
14406         [optional, in] VARIANT name,
14407         [optional, in] VARIANT features,
14408         [optional, in] VARIANT replace,
14409         [retval, out]  IDispatch **pomWindowResult);
14410
14411     [id(DISPID_IHTMLDOCUMENT2_CLOSE)]
14412     HRESULT close();
14413
14414     [id(DISPID_IHTMLDOCUMENT2_CLEAR)]
14415     HRESULT clear();
14416
14417     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSUPPORTED)]
14418     HRESULT queryCommandSupported(
14419         [in] BSTR cmdID,
14420         [retval, out] VARIANT_BOOL *pfRet);
14421
14422     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDENABLED)]
14423     HRESULT queryCommandEnabled(
14424         [in] BSTR cmdID,
14425         [retval, out] VARIANT_BOOL *pfRet);
14426
14427     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSTATE)]
14428     HRESULT queryCommandState(
14429         [in] BSTR cmdID,
14430         [retval, out] VARIANT_BOOL *pfRet);
14431
14432     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDINDETERM)]
14433     HRESULT queryCommandIndeterm(
14434         [in] BSTR cmdID,
14435         [retval, out] VARIANT_BOOL *pfRet);
14436
14437     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDTEXT)]
14438     HRESULT queryCommandText(
14439         [in] BSTR cmdID,
14440         [retval, out] BSTR *pcmdText);
14441
14442     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDVALUE)]
14443     HRESULT queryCommandValue(
14444         [in] BSTR cmdID,
14445         [retval, out] VARIANT *pcmdValue);
14446
14447     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMAND)]
14448     HRESULT execCommand(
14449         [in] BSTR cmdID,
14450         [defaultvalue(0), in] VARIANT_BOOL showUI,
14451         [optional, in] VARIANT value,
14452         [retval, out] VARIANT_BOOL *pfRet);
14453
14454     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMANDSHOWHELP)]
14455     HRESULT execCommandShowHelp(
14456         [in] BSTR cmdID,
14457         [retval, out] VARIANT_BOOL *pfRet);
14458
14459     [id(DISPID_IHTMLDOCUMENT2_CREATEELEMENT)]
14460      HRESULT createElement(
14461         [in] BSTR eTag,
14462         [retval, out] IHTMLElement **newElem);
14463
14464     [propput, id(DISPID_IHTMLDOCUMENT2_ONHELP)]
14465     HRESULT onhelp([in] VARIANT v);
14466
14467     [propget, id(DISPID_IHTMLDOCUMENT2_ONHELP)]
14468     HRESULT onhelp([retval, out] VARIANT *p);
14469
14470     [propput, id(DISPID_IHTMLDOCUMENT2_ONCLICK)]
14471     HRESULT onclick([in] VARIANT v);
14472
14473     [propget, id(DISPID_IHTMLDOCUMENT2_ONCLICK)]
14474     HRESULT onclick([retval, out] VARIANT *p);
14475
14476     [propput, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK)]
14477     HRESULT ondblclick([in] VARIANT v);
14478
14479     [propget, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK)]
14480     HRESULT ondblclick([retval, out] VARIANT *p);
14481
14482     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYUP)]
14483     HRESULT onkeyup([in] VARIANT v);
14484
14485     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYUP)]
14486     HRESULT onkeyup([retval, out] VARIANT *p);
14487
14488     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN)]
14489     HRESULT onkeydown([in] VARIANT v);
14490
14491     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN)]
14492     HRESULT onkeydown([retval, out] VARIANT *p);
14493
14494     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS)]
14495      HRESULT onkeypress([in] VARIANT v);
14496
14497     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS)]
14498     HRESULT onkeypress([retval, out] VARIANT *p);
14499
14500     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP)]
14501     HRESULT onmouseup([in] VARIANT v);
14502
14503     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP)]
14504     HRESULT onmouseup([retval, out] VARIANT *p);
14505
14506     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN)]
14507     HRESULT onmousedown([in] VARIANT v);
14508
14509     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN)]
14510     HRESULT onmousedown([retval, out] VARIANT *p);
14511
14512     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE)]
14513     HRESULT onmousemove([in] VARIANT v);
14514
14515     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE)]
14516     HRESULT onmousemove([retval, out] VARIANT *p);
14517
14518     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT)]
14519     HRESULT onmouseout([in] VARIANT v);
14520
14521     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT)]
14522     HRESULT onmouseout([retval, out] VARIANT *p);
14523
14524     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER)]
14525     HRESULT onmouseover([in] VARIANT v);
14526
14527     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER)]
14528     HRESULT onmouseover([retval, out] VARIANT *p);
14529
14530     [propput, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE)]
14531     HRESULT onreadystatechange([in] VARIANT v);
14532
14533     [propget, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE)]
14534     HRESULT onreadystatechange([retval, out] VARIANT *p);
14535
14536     [propput, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE)]
14537     HRESULT onafterupdate([in] VARIANT v);
14538
14539     [propget, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE)]
14540     HRESULT onafterupdate([retval, out] VARIANT *p);
14541
14542     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT)]
14543     HRESULT onrowexit([in] VARIANT v);
14544
14545     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT)]
14546     HRESULT onrowexit([retval, out] VARIANT *p);
14547
14548     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWENTER)]
14549     HRESULT onrowenter([in] VARIANT v);
14550
14551     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWENTER)]
14552     HRESULT onrowenter([retval, out] VARIANT *p);
14553
14554     [propput, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART)]
14555     HRESULT ondragstart([in] VARIANT v);
14556
14557     [propget, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART)]
14558     HRESULT ondragstart([retval, out] VARIANT *p);
14559
14560     [propput, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART)]
14561     HRESULT onselectstart([in] VARIANT v);
14562
14563     [propget, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART)]
14564     HRESULT onselectstart([retval, out] VARIANT *p);
14565
14566     [id(DISPID_IHTMLDOCUMENT2_ELEMENTFROMPOINT)]
14567     HRESULT elementFromPoint(
14568         [in] long x,
14569         [in] long y,
14570         [retval, out] IHTMLElement **elementHit);
14571
14572     [propget, id(DISPID_IHTMLDOCUMENT2_PARENTWINDOW)]
14573     HRESULT parentWindow([retval, out] IHTMLWindow2 **p);
14574
14575     [propget, id(DISPID_IHTMLDOCUMENT2_STYLESHEETS)]
14576     HRESULT styleSheets([retval, out] IHTMLStyleSheetsCollection **p);
14577
14578     [propput, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE)]
14579     HRESULT onbeforeupdate([in] VARIANT v);
14580
14581     [propget, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE)]
14582     HRESULT onbeforeupdate([retval, out] VARIANT *p);
14583
14584     [propput, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE)]
14585     HRESULT onerrorupdate([in] VARIANT v);
14586
14587     [propget, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE)]
14588     HRESULT onerrorupdate([retval, out] VARIANT *p);
14589
14590     [id(DISPID_IHTMLDOCUMENT2_TOSTRING)]
14591     HRESULT toString([retval, out] BSTR *String);
14592
14593     [id(DISPID_IHTMLDOCUMENT2_CREATESTYLESHEET)]
14594     HRESULT createStyleSheet(
14595         [defaultvalue(""), in] BSTR bstrHref,
14596         [defaultvalue(-1), in] long lIndex,
14597         [retval, out] IHTMLStyleSheet **ppnewStyleSheet);
14598 }
14599
14600 /*****************************************************************************
14601  *    IHTMLDocument3 interface
14602  */
14603 [
14604     odl,
14605     oleautomation,
14606     dual,
14607     uuid(3050f485-98b5-11cf-bb82-00aa00bdce0b)
14608 ]
14609 interface IHTMLDocument3 : IDispatch
14610 {
14611     [id(DISPID_IHTMLDOCUMENT3_RELEASECAPTURE)]
14612     HRESULT releaseCapture();
14613
14614     [id(DISPID_IHTMLDOCUMENT3_RECALC)]
14615     HRESULT recalc([defaultvalue(0), in] VARIANT_BOOL fForce);
14616
14617     [id(DISPID_IHTMLDOCUMENT3_CREATETEXTNODE)]
14618     HRESULT createTextNode(
14619         [in] BSTR text,
14620         [retval, out] IHTMLDOMNode **newTextNode);
14621
14622     [propget, id(DISPID_IHTMLDOCUMENT3_DOCUMENTELEMENT)]
14623     HRESULT documentElement([retval, out] IHTMLElement **p);
14624
14625     [propget, id(DISPID_IHTMLDOCUMENT3_UNIQUEID), hidden]
14626     HRESULT uniqueID([retval, out] BSTR *p);
14627
14628     [id(DISPID_IHTMLDOCUMENT3_ATTACHEVENT)]
14629     HRESULT attachEvent(
14630         [in] BSTR event,
14631         [in] IDispatch* pDisp,
14632         [retval, out] VARIANT_BOOL *pfResult);
14633
14634     [id(DISPID_IHTMLDOCUMENT3_DETACHEVENT)]
14635     HRESULT detachEvent(
14636         [in] BSTR event,
14637         [in] IDispatch *pDisp);
14638
14639     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
14640     HRESULT onrowsdelete([in] VARIANT v);
14641
14642     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
14643     HRESULT onrowsdelete([retval, out] VARIANT *p);
14644
14645     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
14646     HRESULT onrowsinserted([in] VARIANT v);
14647
14648     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
14649     HRESULT onrowsinserted([retval, out] VARIANT *p);
14650
14651     [propput, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
14652     HRESULT oncellchange([in] VARIANT v);
14653
14654     [propget, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
14655     HRESULT oncellchange([retval, out] VARIANT *p);
14656
14657     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
14658     HRESULT ondatasetchanged([in] VARIANT v);
14659
14660     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
14661     HRESULT ondatasetchanged([retval, out] VARIANT *p);
14662
14663     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
14664     HRESULT ondataavailable([in] VARIANT v);
14665
14666     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
14667     HRESULT ondataavailable([retval, out] VARIANT * p);
14668
14669     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
14670     HRESULT ondatasetcomplete([in] VARIANT v);
14671
14672     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
14673     HRESULT ondatasetcomplete([retval, out] VARIANT *p);
14674
14675     [propput, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
14676     HRESULT onpropertychange([in] VARIANT v);
14677
14678     [propget, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
14679     HRESULT onpropertychange([retval, out] VARIANT *p);
14680
14681     [propput, id(DISPID_IHTMLDOCUMENT3_DIR)]
14682     HRESULT dir([in] BSTR v);
14683
14684     [propget, id(DISPID_IHTMLDOCUMENT3_DIR)]
14685     HRESULT dir([retval, out] BSTR *p);
14686
14687     [propput, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
14688     HRESULT oncontextmenu([in] VARIANT v);
14689
14690     [propget, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
14691     HRESULT oncontextmenu([retval, out] VARIANT *p);
14692
14693     [propput, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
14694     HRESULT onstop([in] VARIANT v);
14695
14696     [propget, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
14697     HRESULT onstop([retval, out] VARIANT *p);
14698
14699     [id(DISPID_IHTMLDOCUMENT3_CREATEDOCUMENTFRAGMENT)]
14700     HRESULT createDocumentFragment([retval, out] IHTMLDocument2 **pNewDoc);
14701
14702     [propget, id(DISPID_IHTMLDOCUMENT3_PARENTDOCUMENT), hidden, restricted]
14703     HRESULT parentDocument([retval, out] IHTMLDocument2 **p);
14704
14705     [propput, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
14706     HRESULT enableDownload([in] VARIANT_BOOL v);
14707
14708     [propget, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
14709     HRESULT enableDownload([retval, out] VARIANT_BOOL *p);
14710
14711     [propput, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
14712     HRESULT baseUrl([in] BSTR v);
14713
14714     [propget, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
14715     HRESULT baseUrl([retval, out] BSTR *p);
14716
14717     [propget, id(DISPID_IHTMLDOCUMENT3_CHILDNODES)]
14718     HRESULT childNodes([retval, out] IDispatch **p);
14719
14720     [propput, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
14721     HRESULT inheritStyleSheets([in] VARIANT_BOOL v);
14722
14723     [propget, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
14724     HRESULT inheritStyleSheets([retval, out] VARIANT_BOOL *p);
14725
14726     [propput, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
14727     HRESULT onbeforeeditfocus([in] VARIANT v);
14728
14729     [propget, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
14730     HRESULT onbeforeeditfocus([retval, out] VARIANT *p);
14731
14732     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYNAME)]
14733     HRESULT getElementsByName(
14734         [in] BSTR v,
14735         [retval, out] IHTMLElementCollection **pelColl);
14736
14737     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTBYID)]
14738     HRESULT getElementById(
14739         [in] BSTR v,
14740         [retval, out] IHTMLElement **pel);
14741
14742     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYTAGNAME)]
14743     HRESULT getElementsByTagName(
14744         [in] BSTR v,
14745         [retval, out] IHTMLElementCollection **pelColl);
14746 }
14747
14748 /*****************************************************************************
14749  *    IHTMLDocument4 interface
14750  */
14751 [
14752     odl,
14753     oleautomation,
14754     dual,
14755     uuid(3050f69a-98b5-11cf-bb82-00aa00bdce0b)
14756 ]
14757 interface IHTMLDocument4 : IDispatch
14758 {
14759     [id(DISPID_IHTMLDOCUMENT4_FOCUS)]
14760     HRESULT focus();
14761
14762     [id(DISPID_IHTMLDOCUMENT4_HASFOCUS)]
14763     HRESULT hasFocus([retval, out] VARIANT_BOOL *pfFocus);
14764
14765     [propput, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
14766     HRESULT onselectionchange([in] VARIANT v);
14767
14768     [propget, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
14769     HRESULT onselectionchange([retval, out] VARIANT *p);
14770
14771     [propget, id(DISPID_IHTMLDOCUMENT4_NAMESPACES)]
14772     HRESULT namespaces([retval, out] IDispatch **p);
14773
14774     [id(DISPID_IHTMLDOCUMENT4_CREATEDOCUMENTFROMURL)]
14775     HRESULT createDocumentFromUrl(
14776         [in] BSTR bstrUrl,
14777         [in] BSTR bstrOptions,
14778         [retval, out] IHTMLDocument2 **newDoc);
14779
14780     [propput, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
14781     HRESULT media([in] BSTR v);
14782
14783     [propget, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
14784     HRESULT media([retval, out] BSTR *p);
14785
14786     [id(DISPID_IHTMLDOCUMENT4_CREATEEVENTOBJECT)]
14787     HRESULT createEventObject(
14788         [optional, in] VARIANT *pvarEventObject,
14789         [retval, out] IHTMLEventObj **ppEventObj);
14790
14791     [id(DISPID_IHTMLDOCUMENT4_FIREEVENT)]
14792     HRESULT fireEvent(
14793         [in] BSTR bstrEventName,
14794         [optional, in] VARIANT *pvarEventObject,
14795         [retval, out] VARIANT_BOOL *pfCancelled);
14796
14797     [id(DISPID_IHTMLDOCUMENT4_CREATERENDERSTYLE)]
14798     HRESULT createRenderStyle(
14799         [in] BSTR v,
14800         [retval, out] IHTMLRenderStyle **ppIHTMLRenderStyle);
14801
14802     [propput, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
14803     HRESULT oncontrolselect([in] VARIANT v);
14804
14805     [propget, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
14806     HRESULT oncontrolselect([retval, out] VARIANT *p);
14807
14808     [propget, id(DISPID_IHTMLDOCUMENT4_URLUNENCODED)]
14809     HRESULT URLUnencoded([retval, out] BSTR *p);
14810 }
14811
14812 /*****************************************************************************
14813  *    IHTMLDocument5 interface
14814  */
14815 [
14816     odl,
14817     oleautomation,
14818     dual,
14819     uuid(3050f80c-98b5-11cf-bb82-00aa00bdce0b)
14820 ]
14821 interface IHTMLDocument5 : IDispatch
14822 {
14823     [propput, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
14824     HRESULT onmousewheel([in] VARIANT v);
14825
14826     [propget, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
14827     HRESULT onmousewheel([retval, out] VARIANT *p);
14828
14829     [propget, id(DISPID_IHTMLDOCUMENT5_DOCTYPE)]
14830     HRESULT doctype([retval, out] IHTMLDOMNode **p);
14831
14832     [propget, id(DISPID_IHTMLDOCUMENT5_IMPLEMENTATION)]
14833     HRESULT implementation([retval, out] IHTMLDOMImplementation **p);
14834
14835     [id(DISPID_IHTMLDOCUMENT5_CREATEATTRIBUTE)]
14836     HRESULT createAttribute(
14837         [in] BSTR bstrattrName,
14838         [retval, out] IHTMLDOMAttribute **ppattribute);
14839
14840     [id(DISPID_IHTMLDOCUMENT5_CREATECOMMENT)]
14841     HRESULT createComment(
14842         [in] BSTR bstrdata,
14843         [retval, out] IHTMLDOMNode **ppRetNode);
14844
14845     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
14846     HRESULT onfocusin([in] VARIANT v);
14847
14848     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
14849     HRESULT onfocusin([retval, out] VARIANT *p);
14850
14851     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
14852     HRESULT onfocusout([in] VARIANT v);
14853
14854     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
14855     HRESULT onfocusout([retval, out] VARIANT *p);
14856
14857     [propput, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
14858     HRESULT onactivate([in] VARIANT v);
14859
14860     [propget, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
14861     HRESULT onactivate([retval, out] VARIANT *p);
14862
14863     [propput, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
14864     HRESULT ondeactivate([in] VARIANT v);
14865
14866     [propget, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
14867     HRESULT ondeactivate([retval, out] VARIANT *p);
14868
14869     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
14870     HRESULT onbeforeactivate([in] VARIANT v);
14871
14872     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
14873     HRESULT onbeforeactivate([retval, out] VARIANT *p);
14874
14875     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
14876     HRESULT onbeforedeactivate([in] VARIANT v);
14877
14878     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
14879     HRESULT onbeforedeactivate([retval, out] VARIANT *p);
14880
14881     [propget, id(DISPID_IHTMLDOCUMENT5_COMPATMODE)]
14882     HRESULT compatMode([retval, out] BSTR *p);
14883 }
14884
14885 /*****************************************************************************
14886  *    DispHTMLDocument dispinterface
14887  */
14888 [
14889     hidden,
14890     uuid(3050f55f-98b5-11cf-bb82-00aa00bdce0b)
14891 ]
14892 dispinterface DispHTMLDocument
14893 {
14894 properties:
14895 methods:
14896     [propget, id(DISPID_IHTMLDOCUMENT_SCRIPT), hidden, nonbrowsable]
14897     IDispatch *Script();
14898
14899     [propget, id(DISPID_IHTMLDOCUMENT2_ALL)]
14900     IHTMLElementCollection *all();
14901
14902     [propget, id(DISPID_IHTMLDOCUMENT2_BODY)]
14903     IHTMLElement *body();
14904
14905     [propget, id(DISPID_IHTMLDOCUMENT2_ACTIVEELEMENT)]
14906     IHTMLElement *activeElement();
14907
14908     [propget, id(DISPID_IHTMLDOCUMENT2_IMAGES)]
14909     IHTMLElementCollection *images();
14910
14911     [propget, id(DISPID_IHTMLDOCUMENT2_APPLETS)]
14912     IHTMLElementCollection *applets();
14913
14914     [propget, id(DISPID_IHTMLDOCUMENT2_LINKS)]
14915     IHTMLElementCollection *links();
14916
14917     [propget, id(DISPID_IHTMLDOCUMENT2_FORMS)]
14918     IHTMLElementCollection *forms();
14919
14920     [propget, id(DISPID_IHTMLDOCUMENT2_ANCHORS)]
14921     IHTMLElementCollection *anchors();
14922
14923     [propput, id(DISPID_IHTMLDOCUMENT2_TITLE)]
14924     void title(BSTR v);
14925
14926     [propget, id(DISPID_IHTMLDOCUMENT2_TITLE)]
14927     BSTR title();
14928
14929     [propget, id(DISPID_IHTMLDOCUMENT2_SCRIPTS)]
14930     IHTMLElementCollection *scripts();
14931
14932     [propput, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE), hidden]
14933     void designMode(BSTR v);
14934
14935     [propget, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE), hidden]
14936     BSTR designMode();
14937
14938     [propget, id(DISPID_IHTMLDOCUMENT2_SELECTION)]
14939     IHTMLSelectionObject *selection();
14940
14941     [propget, id(DISPID_IHTMLDOCUMENT2_READYSTATE), bindable]
14942     BSTR readyState();
14943
14944     [propget, id(DISPID_IHTMLDOCUMENT2_FRAMES)]
14945     IHTMLFramesCollection2 *frames();
14946
14947     [propget, id(DISPID_IHTMLDOCUMENT2_EMBEDS)]
14948     IHTMLElementCollection *embeds();
14949
14950     [propget, id(DISPID_IHTMLDOCUMENT2_PLUGINS)]
14951     IHTMLElementCollection *plugins();
14952
14953     [propput, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
14954     void alinkColor(VARIANT v);
14955
14956     [propget, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
14957     VARIANT alinkColor();
14958
14959     [propput, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
14960     void bgColor(VARIANT v);
14961
14962     [propget, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
14963     VARIANT bgColor();
14964
14965     [propput, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
14966     void fgColor(VARIANT v);
14967
14968     [propget, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
14969     VARIANT fgColor();
14970
14971     [propput, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
14972     void linkColor(VARIANT v);
14973
14974     [propget, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
14975     VARIANT linkColor();
14976
14977     [propput, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
14978     void vlinkColor(VARIANT v);
14979
14980     [propget, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
14981     VARIANT vlinkColor();
14982
14983     [propget, id(DISPID_IHTMLDOCUMENT2_REFERRER)]
14984     BSTR referrer();
14985
14986     [propget, id(DISPID_IHTMLDOCUMENT2_LOCATION)]
14987     IHTMLLocation *location();
14988
14989     [propget, id(DISPID_IHTMLDOCUMENT2_LASTMODIFIED)]
14990     BSTR lastModified();
14991
14992     [propput, id(DISPID_IHTMLDOCUMENT2_URL)]
14993     void URL(BSTR v);
14994
14995     [propget, id(DISPID_IHTMLDOCUMENT2_URL)]
14996     BSTR URL();
14997
14998     [propput, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
14999     void domain(BSTR v);
15000
15001     [propget, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
15002     BSTR domain();
15003
15004     [propput, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
15005     void cookie(BSTR v);
15006
15007     [propget, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
15008     BSTR cookie();
15009
15010     [propput, id(DISPID_IHTMLDOCUMENT2_EXPANDO), bindable, hidden]
15011     void expando(VARIANT_BOOL v);
15012
15013     [propget, id(DISPID_IHTMLDOCUMENT2_EXPANDO), bindable, hidden]
15014     VARIANT_BOOL expando();
15015
15016     [propput, id(DISPID_IHTMLDOCUMENT2_CHARSET), hidden]
15017     void charset(BSTR v);
15018
15019     [propget, id(DISPID_IHTMLDOCUMENT2_CHARSET), hidden]
15020     BSTR charset();
15021
15022     [propput, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
15023     void defaultCharset(BSTR v);
15024
15025     [propget, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
15026     BSTR defaultCharset();
15027
15028     [propget, id(DISPID_IHTMLDOCUMENT2_MIMETYPE)]
15029     BSTR mimeType();
15030
15031     [propget, id(DISPID_IHTMLDOCUMENT2_FILESIZE)]
15032     BSTR fileSize();
15033
15034     [propget, id(DISPID_IHTMLDOCUMENT2_FILECREATEDDATE)]
15035     BSTR fileCreatedDate();
15036
15037     [propget, id(DISPID_IHTMLDOCUMENT2_FILEMODIFIEDDATE)]
15038     BSTR fileModifiedDate();
15039
15040     [propget, id(DISPID_IHTMLDOCUMENT2_FILEUPDATEDDATE)]
15041     BSTR fileUpdatedDate();
15042
15043     [propget, id(DISPID_IHTMLDOCUMENT2_SECURITY)]
15044     BSTR security();
15045
15046     [propget, id(DISPID_IHTMLDOCUMENT2_PROTOCOL)]
15047     BSTR protocol();
15048
15049     [propget, id(DISPID_IHTMLDOCUMENT2_NAMEPROP)]
15050     BSTR nameProp();
15051
15052     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITE)]
15053     void write([in] SAFEARRAY(VARIANT) psarray);
15054
15055     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITELN)]
15056     void writeln([in] SAFEARRAY(VARIANT) psarray);
15057
15058     [id(DISPID_IHTMLDOCUMENT2_OPEN)]
15059     IDispatch *open(
15060         [defaultvalue("text/html"), in] BSTR url,
15061         [optional, in] VARIANT name,
15062         [optional, in] VARIANT features,
15063         [optional, in] VARIANT replace);
15064
15065     [id(DISPID_IHTMLDOCUMENT2_CLOSE)]
15066     void close();
15067
15068     [id(DISPID_IHTMLDOCUMENT2_CLEAR)]
15069     void clear();
15070
15071     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSUPPORTED)]
15072     VARIANT_BOOL queryCommandSupported([in] BSTR cmdID);
15073
15074     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDENABLED)]
15075     VARIANT_BOOL queryCommandEnabled([in] BSTR cmdID);
15076
15077     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSTATE)]
15078     VARIANT_BOOL queryCommandState([in] BSTR cmdID);
15079
15080     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDINDETERM)]
15081     VARIANT_BOOL queryCommandIndeterm([in] BSTR cmdID);
15082
15083     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDTEXT)]
15084     BSTR queryCommandText([in] BSTR cmdID);
15085
15086     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDVALUE)]
15087     VARIANT queryCommandValue([in] BSTR cmdID);
15088
15089     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMAND)]
15090     VARIANT_BOOL execCommand(
15091         [in] BSTR cmdID,
15092         [defaultvalue(0), in] VARIANT_BOOL showUI,
15093         [optional, in] VARIANT value);
15094
15095     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMANDSHOWHELP)]
15096     VARIANT_BOOL execCommandShowHelp([in] BSTR cmdID);
15097
15098     [id(DISPID_IHTMLDOCUMENT2_CREATEELEMENT)]
15099     IHTMLElement *createElement([in] BSTR eTag);
15100
15101     [propput, id(DISPID_IHTMLDOCUMENT2_ONHELP), displaybind, bindable]
15102     void onhelp(VARIANT v);
15103
15104     [propget, id(DISPID_IHTMLDOCUMENT2_ONHELP), displaybind, bindable]
15105     VARIANT onhelp();
15106
15107     [propput, id(DISPID_IHTMLDOCUMENT2_ONCLICK), displaybind, bindable]
15108     void onclick(VARIANT v);
15109
15110     [propget, id(DISPID_IHTMLDOCUMENT2_ONCLICK), displaybind, bindable]
15111     VARIANT onclick();
15112
15113     [propput, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK), displaybind, bindable]
15114     void ondblclick(VARIANT v);
15115
15116     [propget, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK), displaybind, bindable]
15117     VARIANT ondblclick();
15118
15119     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYUP), displaybind, bindable]
15120     void onkeyup(VARIANT v);
15121
15122     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYUP), displaybind, bindable]
15123     VARIANT onkeyup();
15124
15125     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN), displaybind, bindable]
15126     void onkeydown(VARIANT v);
15127
15128     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN), displaybind, bindable]
15129     VARIANT onkeydown();
15130
15131     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS), displaybind, bindable]
15132     void onkeypress(VARIANT v);
15133
15134     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS), displaybind, bindable]
15135     VARIANT onkeypress();
15136
15137     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP), displaybind, bindable]
15138     void onmouseup(VARIANT v);
15139
15140     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP), displaybind, bindable]
15141     VARIANT onmouseup();
15142
15143     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN), displaybind, bindable]
15144     void onmousedown(VARIANT v);
15145
15146     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN), displaybind, bindable]
15147     VARIANT onmousedown();
15148
15149     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE), displaybind, bindable]
15150     void onmousemove(VARIANT v);
15151
15152     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE), displaybind, bindable]
15153     VARIANT onmousemove();
15154
15155     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT), displaybind, bindable]
15156     void onmouseout(VARIANT v);
15157
15158     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT), displaybind, bindable]
15159     VARIANT onmouseout();
15160
15161     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER), displaybind, bindable]
15162     void onmouseover(VARIANT v);
15163
15164     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER), displaybind, bindable]
15165     VARIANT onmouseover();
15166
15167     [propput, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE), displaybind, bindable]
15168     void onreadystatechange(VARIANT v);
15169
15170     [propget, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE), displaybind, bindable]
15171     VARIANT onreadystatechange();
15172
15173     [propput, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE), displaybind, bindable]
15174     void onafterupdate(VARIANT v);
15175
15176     [propget, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE), displaybind, bindable]
15177     VARIANT onafterupdate();
15178
15179     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT), displaybind, bindable]
15180     void onrowexit(VARIANT v);
15181
15182     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT), displaybind, bindable]
15183     VARIANT onrowexit();
15184
15185     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWENTER), displaybind, bindable]
15186     void onrowenter(VARIANT v);
15187
15188     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWENTER), displaybind, bindable]
15189     VARIANT onrowenter();
15190
15191     [propput, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART), displaybind, bindable]
15192     void ondragstart(VARIANT v);
15193
15194     [propget, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART), displaybind, bindable]
15195     VARIANT ondragstart();
15196
15197     [propput, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART), displaybind, bindable]
15198     void onselectstart(VARIANT v);
15199
15200     [propget, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART), displaybind, bindable]
15201     VARIANT onselectstart();
15202
15203     [id(DISPID_IHTMLDOCUMENT2_ELEMENTFROMPOINT)]
15204     IHTMLElement *elementFromPoint(
15205         [in] long x,
15206         [in] long y);
15207
15208     [propget, id(DISPID_IHTMLDOCUMENT2_PARENTWINDOW)]
15209     IHTMLWindow2 *parentWindow();
15210
15211     [propget, id(DISPID_IHTMLDOCUMENT2_STYLESHEETS)]
15212     IHTMLStyleSheetsCollection *styleSheets();
15213
15214     [propput, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE), displaybind, bindable]
15215     void onbeforeupdate(VARIANT v);
15216
15217     [propget, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE), displaybind, bindable]
15218     VARIANT onbeforeupdate();
15219
15220     [propput, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE), displaybind, bindable]
15221     void onerrorupdate(VARIANT v);
15222
15223     [propget, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE), displaybind, bindable]
15224     VARIANT onerrorupdate();
15225
15226     [id(DISPID_IHTMLDOCUMENT2_TOSTRING)]
15227     BSTR toString();
15228
15229     [id(DISPID_IHTMLDOCUMENT2_CREATESTYLESHEET)]
15230     IHTMLStyleSheet *createStyleSheet(
15231         [defaultvalue(""), in] BSTR bstrHref,
15232         [defaultvalue(-1), in] long lIndex);
15233
15234     [id(DISPID_IHTMLDOCUMENT3_RELEASECAPTURE)]
15235     void releaseCapture();
15236
15237     [id(DISPID_IHTMLDOCUMENT3_RECALC)]
15238     void recalc([defaultvalue(0), in] VARIANT_BOOL fForce);
15239
15240     [id(DISPID_IHTMLDOCUMENT3_CREATETEXTNODE)]
15241     IHTMLDOMNode *createTextNode([in] BSTR text);
15242
15243     [propget, id(DISPID_IHTMLDOCUMENT3_DOCUMENTELEMENT)]
15244     IHTMLElement *documentElement();
15245
15246     [propget, id(DISPID_IHTMLDOCUMENT3_UNIQUEID), hidden]
15247     BSTR uniqueID();
15248
15249     [id(DISPID_IHTMLDOCUMENT3_ATTACHEVENT)]
15250     VARIANT_BOOL attachEvent(
15251         [in] BSTR event,
15252         [in] IDispatch *pDisp);
15253
15254     [id(DISPID_IHTMLDOCUMENT3_DETACHEVENT)]
15255     void detachEvent(
15256         [in] BSTR event,
15257         [in] IDispatch *pDisp);
15258
15259     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
15260     void onrowsdelete(VARIANT v);
15261
15262     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
15263     VARIANT onrowsdelete();
15264
15265     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
15266     void onrowsinserted(VARIANT v);
15267
15268     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
15269     VARIANT onrowsinserted();
15270
15271     [propput, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
15272     void oncellchange(VARIANT v);
15273
15274     [propget, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
15275     VARIANT oncellchange();
15276
15277     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
15278     void ondatasetchanged(VARIANT v);
15279
15280     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
15281     VARIANT ondatasetchanged();
15282
15283     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
15284     void ondataavailable(VARIANT v);
15285
15286     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
15287     VARIANT ondataavailable();
15288
15289     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
15290     void ondatasetcomplete(VARIANT v);
15291
15292     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
15293     VARIANT ondatasetcomplete();
15294
15295     [propput, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
15296     void onpropertychange(VARIANT v);
15297
15298     [propget, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
15299     VARIANT onpropertychange();
15300
15301     [propput, id(DISPID_IHTMLDOCUMENT3_DIR)]
15302     void dir(BSTR v);
15303
15304     [propget, id(DISPID_IHTMLDOCUMENT3_DIR)]
15305     BSTR dir();
15306
15307     [propput, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
15308     void oncontextmenu(VARIANT v);
15309
15310     [propget, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
15311     VARIANT oncontextmenu();
15312
15313     [propput, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
15314     void onstop(VARIANT v);
15315
15316     [propget, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
15317     VARIANT onstop();
15318
15319     [id(DISPID_IHTMLDOCUMENT3_CREATEDOCUMENTFRAGMENT)]
15320     IHTMLDocument2 *createDocumentFragment();
15321
15322     [propget, id(DISPID_IHTMLDOCUMENT3_PARENTDOCUMENT), hidden, restricted]
15323     IHTMLDocument2 *parentDocument();
15324
15325     [propput, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
15326     void enableDownload(VARIANT_BOOL v);
15327
15328     [propget, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
15329     VARIANT_BOOL enableDownload();
15330
15331     [propput, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
15332     void baseUrl(BSTR v);
15333
15334     [propget, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
15335     BSTR baseUrl();
15336
15337     [propput, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
15338     void inheritStyleSheets(VARIANT_BOOL v);
15339
15340     [propget, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
15341     VARIANT_BOOL inheritStyleSheets();
15342
15343     [propput, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
15344     void onbeforeeditfocus(VARIANT v);
15345
15346     [propget, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
15347     VARIANT onbeforeeditfocus();
15348
15349     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYNAME)]
15350     IHTMLElementCollection *getElementsByName([in] BSTR v);
15351
15352     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTBYID)]
15353     IHTMLElement *getElementById([in] BSTR v);
15354
15355     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYTAGNAME)]
15356     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
15357
15358     [id(DISPID_IHTMLDOCUMENT4_FOCUS)]
15359     void focus();
15360
15361     [id(DISPID_IHTMLDOCUMENT4_HASFOCUS)]
15362     VARIANT_BOOL hasFocus();
15363
15364     [propput, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
15365     void onselectionchange(VARIANT v);
15366
15367     [propget, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
15368     VARIANT onselectionchange();
15369
15370     [propget, id(DISPID_IHTMLDOCUMENT4_NAMESPACES)]
15371     IDispatch *namespaces();
15372
15373     [id(DISPID_IHTMLDOCUMENT4_CREATEDOCUMENTFROMURL)]
15374     IHTMLDocument2 *createDocumentFromUrl(
15375         [in] BSTR bstrUrl,
15376         [in] BSTR bstrOptions);
15377
15378     [propput, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
15379     void media(BSTR v);
15380
15381     [propget, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
15382     BSTR media();
15383
15384     [id(DISPID_IHTMLDOCUMENT4_CREATEEVENTOBJECT)]
15385     IHTMLEventObj *createEventObject([optional, in] VARIANT *pvarEventObject);
15386
15387     [id(DISPID_IHTMLDOCUMENT4_FIREEVENT)]
15388     VARIANT_BOOL fireEvent(
15389         [in] BSTR bstrEventName,
15390         [optional, in] VARIANT *pvarEventObject);
15391
15392     [id(DISPID_IHTMLDOCUMENT4_CREATERENDERSTYLE)]
15393     IHTMLRenderStyle *createRenderStyle([in] BSTR v);
15394
15395     [propput, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
15396     void oncontrolselect(VARIANT v);
15397
15398     [propget, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
15399     VARIANT oncontrolselect();
15400
15401     [propget, id(DISPID_IHTMLDOCUMENT4_URLUNENCODED)]
15402     BSTR URLUnencoded();
15403
15404     [propput, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
15405     void onmousewheel(VARIANT v);
15406
15407     [propget, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
15408     VARIANT onmousewheel();
15409
15410     [propget, id(DISPID_IHTMLDOCUMENT5_DOCTYPE)]
15411     IHTMLDOMNode *doctype();
15412
15413     [propget, id(DISPID_IHTMLDOCUMENT5_IMPLEMENTATION)]
15414     IHTMLDOMImplementation *implementation();
15415
15416     [id(DISPID_IHTMLDOCUMENT5_CREATEATTRIBUTE)]
15417     IHTMLDOMAttribute *createAttribute([in] BSTR bstrattrName);
15418
15419     [id(DISPID_IHTMLDOCUMENT5_CREATECOMMENT)]
15420     IHTMLDOMNode *createComment([in] BSTR bstrdata);
15421
15422     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
15423     void onfocusin(VARIANT v);
15424
15425     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
15426     VARIANT onfocusin();
15427
15428     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
15429     void onfocusout(VARIANT v);
15430
15431     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
15432     VARIANT onfocusout();
15433
15434     [propput, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
15435     void onactivate(VARIANT v);
15436
15437     [propget, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
15438     VARIANT onactivate();
15439
15440     [propput, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
15441     void ondeactivate(VARIANT v);
15442
15443     [propget, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
15444     VARIANT ondeactivate();
15445
15446     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
15447     void onbeforeactivate(VARIANT v);
15448
15449     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
15450     VARIANT onbeforeactivate();
15451
15452     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
15453     void onbeforedeactivate(VARIANT v);
15454
15455     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
15456     VARIANT onbeforedeactivate();
15457
15458     [propget, id(DISPID_IHTMLDOCUMENT5_COMPATMODE)]
15459     BSTR compatMode();
15460
15461     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
15462     long nodeType();
15463
15464     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
15465     IHTMLDOMNode *parentNode();
15466
15467     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
15468     VARIANT_BOOL hasChildNodes();
15469
15470     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
15471     IDispatch *childNodes();
15472
15473     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
15474     IDispatch *attributes();
15475
15476     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
15477     IHTMLDOMNode *insertBefore(
15478         [in] IHTMLDOMNode *newChild,
15479         [optional, in] VARIANT refChild);
15480
15481     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
15482     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
15483
15484     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
15485     IHTMLDOMNode *replaceChild(
15486         [in] IHTMLDOMNode *newChild,
15487         [in] IHTMLDOMNode *oldChild);
15488
15489     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
15490     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
15491
15492     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
15493     IHTMLDOMNode *removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep);
15494
15495     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
15496     IHTMLDOMNode *swapNode([in] IHTMLDOMNode* otherNode);
15497
15498     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
15499     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
15500
15501     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
15502     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
15503
15504     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
15505     BSTR nodeName();
15506
15507     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
15508     void nodeValue(VARIANT v);
15509
15510     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
15511     VARIANT nodeValue();
15512
15513     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
15514     IHTMLDOMNode *firstChild();
15515
15516     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
15517     IHTMLDOMNode *lastChild();
15518
15519     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
15520     IHTMLDOMNode *previousSibling();
15521
15522     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
15523     IHTMLDOMNode *nextSibling();
15524
15525     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
15526     IDispatch *ownerDocument();
15527 }
15528
15529 /*****************************************************************************
15530  *    HTMLDocument coclass
15531  */
15532 [
15533     uuid(25336920-03F9-11cf-8FD0-00AA00686F13)
15534 ]
15535 coclass HTMLDocument
15536 {
15537     [default]         dispinterface DispHTMLDocument;
15538     [source, default] dispinterface HTMLDocumentEvents;
15539     [source]          dispinterface HTMLDocumentEvents2;
15540                       interface IHTMLDocument2;
15541                       interface IHTMLDocument3;
15542                       interface IHTMLDocument4;
15543                       interface IHTMLDocument5;
15544                       interface IHTMLDOMNode;
15545                       interface IHTMLDOMNode2;
15546 }
15547
15548 /*****************************************************************************
15549  *    IHTMLCommentElement interface
15550  */
15551 [
15552     odl,
15553     oleautomation,
15554     dual,
15555     uuid(3050f20c-98b5-11cf-bb82-00aa00bdce0b)
15556 ]
15557 interface IHTMLCommentElement : IDispatch
15558 {
15559     [propput, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
15560     HRESULT text([in] BSTR v);
15561
15562     [propget, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
15563     HRESULT text([out, retval] BSTR *p);
15564
15565     [propput, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
15566     HRESULT atomic([in] long v);
15567
15568     [propget, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
15569     HRESULT atomic([out, retval] long *p);
15570 }
15571
15572 /*****************************************************************************
15573  *    IHTMLCommentElement2 interface
15574  */
15575 [
15576     odl,
15577     oleautomation,
15578     dual,
15579     uuid(3050f813-98b5-11cf-bb82-00aa00bdce0b)
15580 ]
15581 interface IHTMLCommentElement2 : IDispatch
15582 {
15583     [propput, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
15584     HRESULT data([in] BSTR v);
15585
15586     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
15587     HRESULT data([out, retval] BSTR *p);
15588
15589     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_LENGTH)]
15590     HRESULT length([out, retval] long *p);
15591
15592     [id(DISPID_IHTMLCOMMENTELEMENT2_SUBSTRINGDATA)]
15593     HRESULT substringData(
15594             [in] long offset,
15595             [in] long Count,
15596             [out, retval] BSTR *pbstrsubString);
15597
15598     [id(DISPID_IHTMLCOMMENTELEMENT2_APPENDDATA)]
15599     HRESULT appendData([in] BSTR bstrstring);
15600
15601     [id(DISPID_IHTMLCOMMENTELEMENT2_INSERTDATA)]
15602     HRESULT insertData(
15603             [in] long offset,
15604             [in] BSTR bstrstring);
15605
15606     [id(DISPID_IHTMLCOMMENTELEMENT2_DELETEDATA)]
15607     HRESULT deleteData(
15608             [in] long offset,
15609             [in] long Count);
15610
15611     [id(DISPID_IHTMLCOMMENTELEMENT2_REPLACEDATA)]
15612     HRESULT replaceData(
15613             [in] long offset,
15614             [in] long Count,
15615             [in] BSTR bstrstring);
15616 }
15617
15618 /*****************************************************************************
15619  *    DispHTMLCommentElement dispinterface
15620  */
15621 [
15622     hidden,
15623     uuid(3050f50a-98b5-11cf-bb82-00aa00bdce0b)
15624 ]
15625 dispinterface DispHTMLCommentElement
15626 {
15627 properties:
15628 methods:
15629     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
15630     void setAttribute(
15631             [in] BSTR strAttributeName,
15632             [in] VARIANT AttributeValue,
15633             [in, defaultvalue(1)] LONG lFlags);
15634
15635     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
15636     VARIANT getAttribute(
15637              [in] BSTR strAttributeName,
15638              [in, defaultvalue(0)] LONG lFlags);
15639
15640     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
15641     VARIANT_BOOL removeAttribute(
15642             [in] BSTR strAttributeName,
15643             [in, defaultvalue(1)] LONG lFlags);
15644
15645     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
15646     void className(BSTR v);
15647
15648     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
15649     BSTR className();
15650
15651     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
15652     void id(BSTR v);
15653
15654     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
15655     BSTR id();
15656
15657     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
15658     BSTR tagName();
15659
15660     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
15661     IHTMLElement *parentElement();
15662
15663     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
15664     IHTMLStyle *style();
15665
15666     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
15667     void onhelp(VARIANT v);
15668
15669     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
15670     VARIANT onhelp();
15671
15672     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
15673     void onclick(VARIANT v);
15674
15675     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
15676     VARIANT onclick();
15677
15678     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
15679     void ondblclick(VARIANT v);
15680
15681     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
15682     VARIANT ondblclick();
15683
15684     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
15685     void onkeydown(VARIANT v);
15686
15687     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
15688     VARIANT onkeydown();
15689
15690     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
15691     void onkeyup(VARIANT v);
15692
15693     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
15694     VARIANT onkeyup();
15695
15696     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
15697     void onkeypress(VARIANT v);
15698
15699     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
15700     VARIANT onkeypress();
15701
15702     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
15703     void onmouseout(VARIANT v);
15704
15705     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
15706     VARIANT onmouseout();
15707
15708     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
15709     void onmouseover(VARIANT v);
15710
15711     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
15712     VARIANT onmouseover();
15713
15714     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
15715     void onmousemove(VARIANT v);
15716
15717     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
15718     VARIANT onmousemove();
15719
15720     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
15721     void onmousedown(VARIANT v);
15722
15723     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
15724     VARIANT onmousedown();
15725
15726     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
15727     void onmouseup(VARIANT v);
15728
15729     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
15730     VARIANT onmouseup();
15731
15732     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
15733     IDispatch *document();
15734
15735     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
15736     void title(BSTR v);
15737
15738     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
15739     BSTR title();
15740
15741     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
15742     void language(BSTR v);
15743
15744     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
15745     BSTR language();
15746
15747     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
15748     void onselectstart(VARIANT v);
15749
15750     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
15751     VARIANT onselectstart();
15752
15753     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
15754     void scrollIntoView([in, optional] VARIANT varargStart);
15755
15756     [id(DISPID_IHTMLELEMENT_CONTAINS)]
15757     VARIANT_BOOL contains([in] IHTMLElement *pChild);
15758
15759     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
15760     long sourceIndex();
15761
15762     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
15763     VARIANT recordNumber();
15764
15765     [propput, id(DISPID_IHTMLELEMENT_LANG)]
15766     void lang(BSTR v);
15767
15768     [propget, id(DISPID_IHTMLELEMENT_LANG)]
15769     BSTR lang();
15770
15771     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
15772     long offsetLeft();
15773
15774     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
15775     long offsetTop();
15776
15777     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
15778     long offsetWidth();
15779
15780     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
15781     long offsetHeight();
15782
15783     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
15784     IHTMLElement *offsetParent();
15785
15786     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
15787     void innerHTML(BSTR v);
15788
15789     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
15790     BSTR innerHTML();
15791
15792     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
15793     void innerText(BSTR v);
15794
15795     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
15796     BSTR innerText();
15797
15798     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
15799     void outerHTML(BSTR v);
15800
15801     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
15802     BSTR outerHTML();
15803
15804     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
15805     void outerText(BSTR v);
15806
15807     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
15808     BSTR outerText();
15809
15810     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
15811     void insertAdjacentHTML(
15812             [in] BSTR where,
15813             [in] BSTR html);
15814
15815     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
15816     void insertAdjacentText(
15817             [in] BSTR where,
15818             [in] BSTR text);
15819
15820     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
15821     IHTMLElement *parentTextEdit();
15822
15823     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
15824     VARIANT_BOOL isTextEdit();
15825
15826     [id(DISPID_IHTMLELEMENT_CLICK)]
15827     void click();
15828
15829     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
15830     IHTMLFiltersCollection *filters();
15831
15832     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
15833     void ondragstart(VARIANT v);
15834
15835     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
15836     VARIANT ondragstart();
15837
15838     [id(DISPID_IHTMLELEMENT_TOSTRING)]
15839     BSTR toString();
15840
15841     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
15842     void onbeforeupdate(VARIANT v);
15843
15844     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
15845     VARIANT onbeforeupdate();
15846
15847     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
15848     void onafterupdate(VARIANT v);
15849
15850     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
15851     VARIANT onafterupdate();
15852
15853     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
15854     void onerrorupdate(VARIANT v);
15855
15856     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
15857     VARIANT onerrorupdate();
15858
15859     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
15860     void onrowexit(VARIANT v);
15861
15862     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
15863     VARIANT onrowexit();
15864
15865     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
15866     void onrowenter(VARIANT v);
15867
15868     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
15869     VARIANT onrowenter();
15870
15871     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
15872     void ondatasetchanged(VARIANT v);
15873
15874     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
15875     VARIANT ondatasetchanged();
15876
15877     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
15878     void ondataavailable(VARIANT v);
15879
15880     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
15881     VARIANT ondataavailable();
15882
15883     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
15884     void ondatasetcomplete(VARIANT v);
15885
15886     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
15887     VARIANT ondatasetcomplete();
15888
15889     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
15890     void onfilterchange(VARIANT v);
15891
15892     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
15893     VARIANT onfilterchange();
15894
15895     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
15896     IDispatch *children();
15897
15898     [propget, id(DISPID_IHTMLELEMENT_ALL)]
15899     IDispatch *all();
15900
15901     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
15902     BSTR scopeName();
15903
15904     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
15905     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
15906
15907     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
15908     void releaseCapture();
15909
15910     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
15911     void onlosecapture(VARIANT v);
15912
15913     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
15914     VARIANT onlosecapture();
15915
15916     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
15917     BSTR componentFromPoint(
15918             [in] long x,
15919             [in] long y);
15920
15921     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
15922     void doScroll([in, optional] VARIANT component);
15923
15924     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
15925     void onscroll(VARIANT v);
15926
15927     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
15928     VARIANT onscroll();
15929
15930     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
15931     void ondrag(VARIANT v);
15932
15933     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
15934     VARIANT ondrag();
15935
15936     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
15937     void ondragend(VARIANT v);
15938
15939     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
15940     VARIANT ondragend();
15941
15942     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
15943     void ondragenter(VARIANT v);
15944
15945     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
15946     VARIANT ondragenter();
15947
15948     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
15949     void ondragover(VARIANT v);
15950
15951     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
15952     VARIANT ondragover();
15953
15954     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
15955     void ondragleave(VARIANT v);
15956
15957     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
15958     VARIANT ondragleave();
15959
15960     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
15961     void ondrop(VARIANT v);
15962
15963     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
15964     VARIANT ondrop();
15965
15966     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
15967     void onbeforecut(VARIANT v);
15968
15969     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
15970     VARIANT onbeforecut();
15971
15972     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
15973     void oncut(VARIANT v);
15974
15975     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
15976     VARIANT oncut();
15977
15978     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
15979     void onbeforecopy(VARIANT v);
15980
15981     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
15982     VARIANT onbeforecopy();
15983
15984     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
15985     void oncopy(VARIANT v);
15986
15987     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
15988     VARIANT oncopy();
15989
15990     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
15991     void onbeforepaste(VARIANT v);
15992
15993     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
15994     VARIANT onbeforepaste();
15995
15996     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
15997     void onpaste(VARIANT v);
15998
15999     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
16000     VARIANT onpaste();
16001
16002     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
16003     IHTMLCurrentStyle *currentStyle();
16004
16005     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
16006     void onpropertychange(VARIANT v);
16007
16008     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
16009     VARIANT onpropertychange();
16010
16011     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
16012     IHTMLRectCollection *getClientRects();
16013
16014     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
16015     IHTMLRect *getBoundingClientRect();
16016
16017     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
16018     void setExpression(
16019             [in] BSTR propname,
16020             [in] BSTR expression,
16021             [in, defaultvalue("")] BSTR language);
16022
16023     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
16024     VARIANT getExpression([in] BSTR propname);
16025
16026     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
16027     VARIANT_BOOL removeExpression([in] BSTR propname);
16028
16029     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
16030     void tabIndex(short v);
16031
16032     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
16033     short tabIndex();
16034
16035     [id(DISPID_IHTMLELEMENT2_FOCUS)]
16036     void focus();
16037
16038     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
16039     void accessKey(BSTR v);
16040
16041     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
16042     BSTR accessKey();
16043
16044     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
16045     void onblur(VARIANT v);
16046
16047     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
16048     VARIANT onblur();
16049
16050     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
16051     void onfocus(VARIANT v);
16052
16053     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
16054     VARIANT onfocus();
16055
16056     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
16057     void onresize(VARIANT v);
16058
16059     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
16060     VARIANT onresize();
16061
16062     [id(DISPID_IHTMLELEMENT2_BLUR)]
16063     void blur();
16064
16065     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
16066     void addFilter([in] IUnknown *pUnk);
16067
16068     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
16069     void removeFilter([in] IUnknown *pUnk);
16070
16071     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
16072     long clientHeight();
16073
16074     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
16075     long clientWidth();
16076
16077     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
16078     long clientTop();
16079
16080     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
16081     long clientLeft();
16082
16083     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
16084     VARIANT_BOOL attachEvent(
16085             [in] BSTR event,
16086             [in] IDispatch *pDisp);
16087
16088     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
16089     void detachEvent(
16090             [in] BSTR event,
16091             [in] IDispatch *pDisp);
16092
16093     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
16094     VARIANT readyState();
16095
16096     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
16097     void onreadystatechange(VARIANT v);
16098
16099     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
16100     VARIANT onreadystatechange();
16101
16102     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
16103     void onrowsdelete(VARIANT v);
16104
16105     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
16106     VARIANT onrowsdelete();
16107
16108     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
16109     void onrowsinserted(VARIANT v);
16110
16111     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
16112      VARIANT onrowsinserted();
16113
16114     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
16115      void oncellchange(VARIANT v);
16116
16117     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
16118     VARIANT oncellchange();
16119
16120     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
16121     void dir(BSTR v);
16122
16123     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
16124     BSTR dir();
16125
16126     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
16127     IDispatch *createControlRange();
16128
16129     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
16130     long scrollHeight();
16131
16132     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
16133     long scrollWidth();
16134
16135     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
16136     void scrollTop(long v);
16137
16138     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
16139     long scrollTop();
16140
16141     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
16142     void scrollLeft(long v);
16143
16144     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
16145     long scrollLeft();
16146
16147     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
16148     void clearAttributes();
16149
16150     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
16151     void oncontextmenu(VARIANT v);
16152
16153     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
16154     VARIANT oncontextmenu();
16155
16156     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
16157     IHTMLElement *insertAdjacentElement(
16158             [in] BSTR where,
16159             [in] IHTMLElement *insertedElement);
16160
16161     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
16162     IHTMLElement *applyElement(
16163             [in] IHTMLElement *apply,
16164             [in] BSTR where);
16165
16166     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
16167     BSTR getAdjacentText([in] BSTR where);
16168
16169     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
16170     BSTR replaceAdjacentText(
16171             [in] BSTR where,
16172             [in] BSTR newText);
16173
16174     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
16175     VARIANT_BOOL canHaveChildren();
16176
16177     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
16178     long addBehavior(
16179             [in] BSTR bstrUrl,
16180             [in, optional] VARIANT *pvarFactory);
16181
16182     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
16183     VARIANT_BOOL removeBehavior([in] long cookie);
16184
16185     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
16186     IHTMLStyle *runtimeStyle();
16187
16188     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
16189     IDispatch *behaviorUrns();
16190
16191     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
16192     void tagUrn(BSTR v);
16193
16194     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
16195     BSTR tagUrn();
16196
16197     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
16198     void onbeforeeditfocus(VARIANT v);
16199
16200     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
16201     VARIANT onbeforeeditfocus();
16202
16203     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
16204     long readyStateValue();
16205
16206     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
16207     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
16208
16209     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
16210     void mergeAttributes(
16211             [in] IHTMLElement *mergeThis,
16212             [in, optional] VARIANT *pvarFlags);
16213
16214     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
16215     VARIANT_BOOL isMultiLine();
16216
16217     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
16218     VARIANT_BOOL canHaveHTML();
16219
16220     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
16221     void onlayoutcomplete(VARIANT v);
16222
16223     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
16224     VARIANT onlayoutcomplete();
16225
16226     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
16227     void onpage(VARIANT v);
16228
16229     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
16230     VARIANT onpage();
16231
16232     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
16233     void inflateBlock(VARIANT_BOOL v);
16234
16235     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
16236     VARIANT_BOOL inflateBlock();
16237
16238     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
16239     void onbeforedeactivate(VARIANT v);
16240
16241     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
16242     VARIANT onbeforedeactivate();
16243
16244     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
16245     void setActive();
16246
16247     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
16248     void contentEditable(BSTR v);
16249
16250     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
16251     BSTR contentEditable();
16252
16253     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
16254     VARIANT_BOOL isContentEditable();
16255
16256     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
16257     void hideFocus(VARIANT_BOOL v);
16258
16259     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
16260     VARIANT_BOOL hideFocus();
16261
16262     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
16263     void disabled(VARIANT_BOOL v);
16264
16265     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
16266     VARIANT_BOOL disabled();
16267
16268     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
16269     VARIANT_BOOL isDisabled();
16270
16271     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
16272     void onmove(VARIANT v);
16273
16274     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
16275     VARIANT onmove();
16276
16277     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
16278     void oncontrolselect(VARIANT v);
16279
16280     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
16281     VARIANT oncontrolselect();
16282
16283     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
16284     VARIANT_BOOL fireEvent(
16285             [in] BSTR bstrEventName,
16286             [in, optional] VARIANT *pvarEventObject);
16287
16288     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
16289     void onresizestart(VARIANT v);
16290
16291     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
16292     VARIANT onresizestart();
16293
16294     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
16295     void onresizeend(VARIANT v);
16296
16297     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
16298     VARIANT onresizeend();
16299
16300     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
16301     void onmovestart(VARIANT v);
16302
16303     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
16304     VARIANT onmovestart();
16305
16306     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
16307     void onmoveend(VARIANT v);
16308
16309     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
16310     VARIANT onmoveend();
16311
16312     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
16313     void onmouseenter(VARIANT v);
16314
16315     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
16316     VARIANT onmouseenter();
16317
16318     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
16319     void onmouseleave(VARIANT v);
16320
16321     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
16322     VARIANT onmouseleave();
16323
16324     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
16325     void onactivate(VARIANT v);
16326
16327     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
16328     VARIANT onactivate();
16329
16330     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
16331     void ondeactivate(VARIANT v);
16332
16333     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
16334     VARIANT ondeactivate();
16335
16336     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
16337     VARIANT_BOOL dragDrop();
16338
16339     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
16340     LONG glyphMode();
16341
16342     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
16343     void onmousewheel(VARIANT v);
16344
16345     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
16346     VARIANT onmousewheel();
16347
16348     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
16349     void normalize();
16350
16351     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
16352     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
16353
16354     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
16355     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
16356
16357     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
16358     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
16359
16360     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
16361     void onbeforeactivate(VARIANT v);
16362
16363     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
16364     VARIANT onbeforeactivate();
16365
16366     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
16367     void onfocusin(VARIANT v);
16368
16369     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
16370     VARIANT onfocusin();
16371
16372     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
16373     void onfocusout(VARIANT v);
16374
16375     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
16376     VARIANT onfocusout();
16377
16378     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
16379     long uniqueNumber();
16380
16381     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
16382     BSTR uniqueID();
16383
16384     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
16385     long nodeType();
16386
16387     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
16388     IHTMLDOMNode *parentNode();
16389
16390     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
16391     VARIANT_BOOL hasChildNodes();
16392
16393     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
16394     IDispatch *childNodes();
16395
16396     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
16397     IDispatch *attributes();
16398
16399     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
16400     IHTMLDOMNode *insertBefore(
16401             [in] IHTMLDOMNode *newChild,
16402             [in, optional] VARIANT refChild);
16403
16404     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
16405     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
16406
16407     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
16408     IHTMLDOMNode *replaceChild(
16409             [in] IHTMLDOMNode *newChild,
16410             [in] IHTMLDOMNode *oldChild);
16411
16412     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
16413     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
16414
16415     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
16416     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
16417
16418     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
16419     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
16420
16421     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
16422     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
16423
16424     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
16425     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
16426
16427     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
16428     BSTR nodeName();
16429
16430     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
16431     void nodeValue(VARIANT v);
16432
16433     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
16434     VARIANT nodeValue();
16435
16436     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
16437     IHTMLDOMNode *firstChild();
16438
16439     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
16440     IHTMLDOMNode *lastChild();
16441
16442     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
16443     IHTMLDOMNode *previousSibling();
16444
16445     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
16446     IHTMLDOMNode *nextSibling();
16447
16448     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
16449     IDispatch *ownerDocument();
16450
16451     [propput, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
16452     void text(BSTR v);
16453
16454     [propget, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
16455     BSTR text();
16456
16457     [propput, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
16458     void atomic(long v);
16459
16460     [propget, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
16461     long atomic();
16462
16463     [propput, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
16464     void data(BSTR v);
16465
16466     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
16467     BSTR data();
16468
16469     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_LENGTH)]
16470     long length();
16471
16472     [id(DISPID_IHTMLCOMMENTELEMENT2_SUBSTRINGDATA)]
16473     BSTR substringData(
16474             [in] long offset,
16475             [in] long Count);
16476
16477     [id(DISPID_IHTMLCOMMENTELEMENT2_APPENDDATA)]
16478     void appendData([in] BSTR bstrstring);
16479
16480     [id(DISPID_IHTMLCOMMENTELEMENT2_INSERTDATA)]
16481      void insertData(
16482             [in] long offset,
16483             [in] BSTR bstrstring);
16484
16485     [id(DISPID_IHTMLCOMMENTELEMENT2_DELETEDATA)]
16486     void deleteData(
16487             [in] long offset,
16488             [in] long Count);
16489
16490     [id(DISPID_IHTMLCOMMENTELEMENT2_REPLACEDATA)]
16491     void replaceData(
16492             [in] long offset,
16493             [in] long Count,
16494             [in] BSTR bstrstring);
16495 }
16496
16497 /*****************************************************************************
16498  *    HTMLTableEvents dispinterface
16499  */
16500 [
16501     hidden,
16502     uuid(3050f407-98b5-11cf-bb82-00aa00bdce0b)
16503 ]
16504 dispinterface HTMLTableEvents
16505 {
16506 properties:
16507 methods:
16508     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
16509     VARIANT_BOOL onhelp();
16510
16511     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
16512     VARIANT_BOOL onclick();
16513
16514     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
16515     VARIANT_BOOL ondblclick();
16516
16517     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
16518     VARIANT_BOOL onkeypress();
16519
16520     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
16521     void onkeydown();
16522
16523     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
16524     void onkeyup();
16525
16526     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
16527     void onmouseout();
16528
16529     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
16530     void onmouseover();
16531
16532     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
16533     void onmousemove();
16534
16535     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
16536     void onmousedown();
16537
16538     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
16539     void onmouseup();
16540
16541     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
16542     VARIANT_BOOL onselectstart();
16543
16544     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
16545     void onfilterchange();
16546
16547     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
16548     VARIANT_BOOL ondragstart();
16549
16550     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
16551     VARIANT_BOOL onbeforeupdate();
16552
16553     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
16554     void onafterupdate();
16555
16556     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
16557     VARIANT_BOOL onerrorupdate();
16558
16559     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
16560     VARIANT_BOOL onrowexit();
16561
16562     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
16563     void onrowenter();
16564
16565     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
16566     void ondatasetchanged();
16567
16568     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
16569     void ondataavailable();
16570
16571     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
16572     void ondatasetcomplete();
16573
16574     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
16575     void onlosecapture();
16576
16577     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
16578     void onpropertychange();
16579
16580     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
16581     void onscroll();
16582
16583     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
16584     void onfocus();
16585
16586     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
16587     void onblur();
16588
16589     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
16590     void onresize();
16591
16592     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
16593     VARIANT_BOOL ondrag();
16594
16595     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
16596     void ondragend();
16597
16598     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
16599     VARIANT_BOOL ondragenter();
16600
16601     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
16602     VARIANT_BOOL ondragover();
16603
16604     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
16605     void ondragleave();
16606
16607     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
16608     VARIANT_BOOL ondrop();
16609
16610     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
16611     VARIANT_BOOL onbeforecut();
16612
16613     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
16614     VARIANT_BOOL oncut();
16615
16616     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
16617     VARIANT_BOOL onbeforecopy();
16618
16619     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
16620     VARIANT_BOOL oncopy();
16621
16622     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
16623     VARIANT_BOOL onbeforepaste();
16624
16625     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
16626     VARIANT_BOOL onpaste();
16627
16628     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
16629     VARIANT_BOOL oncontextmenu();
16630
16631     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
16632     void onrowsdelete();
16633
16634     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
16635     void onrowsinserted();
16636
16637     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
16638     void oncellchange();
16639
16640     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
16641     void onreadystatechange();
16642
16643     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
16644     void onbeforeeditfocus();
16645
16646     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
16647     void onlayoutcomplete();
16648
16649     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
16650     void onpage();
16651
16652     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
16653     VARIANT_BOOL onbeforedeactivate();
16654
16655     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
16656     VARIANT_BOOL onbeforeactivate();
16657
16658     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
16659     void onmove();
16660
16661     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
16662     VARIANT_BOOL oncontrolselect();
16663
16664     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
16665     VARIANT_BOOL onmovestart();
16666
16667     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
16668     void onmoveend();
16669
16670     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
16671     VARIANT_BOOL onresizestart();
16672
16673     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
16674     void onresizeend();
16675
16676     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
16677     void onmouseenter();
16678
16679     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
16680     void onmouseleave();
16681
16682     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
16683     VARIANT_BOOL onmousewheel();
16684
16685     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
16686     void onactivate();
16687
16688     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
16689     void ondeactivate();
16690
16691     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
16692     void onfocusin();
16693
16694     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
16695     void onfocusout();
16696 }
16697
16698 /*****************************************************************************
16699  *    IHTMLTableCaption interface
16700  */
16701 [
16702     odl,
16703     oleautomation,
16704     dual,
16705     uuid(3050f2eb-98b5-11cf-bb82-00aa00bdce0b)
16706 ]
16707 interface IHTMLTableCaption : IDispatch
16708 {
16709     [propput, id(DISPID_IHTMLTABLECAPTION_ALIGN)]
16710     HRESULT align([in] BSTR v);
16711
16712     [propget, id(DISPID_IHTMLTABLECAPTION_ALIGN)]
16713     HRESULT align([retval, out] BSTR *p);
16714
16715     [propput, id(DISPID_IHTMLTABLECAPTION_VALIGN)]
16716     HRESULT vAlign([in] BSTR v);
16717
16718     [propget, id(DISPID_IHTMLTABLECAPTION_VALIGN)]
16719     HRESULT vAlign([retval, out] BSTR *p);
16720 }
16721
16722 interface IHTMLTableSection;
16723
16724 /*****************************************************************************
16725  *    IHTMLTable interface
16726  */
16727 [
16728     odl,
16729     oleautomation,
16730     dual,
16731     uuid(3050f21e-98b5-11cf-bb82-00aa00bdce0b)
16732 ]
16733 interface IHTMLTable : IDispatch
16734 {
16735     [propput, id(DISPID_IHTMLTABLE_COLS)]
16736     HRESULT cols([in] long v);
16737
16738     [propget, id(DISPID_IHTMLTABLE_COLS)]
16739     HRESULT cols([retval, out] long *p);
16740
16741     [propput, id(DISPID_IHTMLTABLE_BORDER)]
16742     HRESULT border([in] VARIANT v);
16743
16744     [propget, id(DISPID_IHTMLTABLE_BORDER)]
16745     HRESULT border([retval, out] VARIANT *p);
16746
16747     [propput, id(DISPID_IHTMLTABLE_FRAME)]
16748     HRESULT frame([in] BSTR v);
16749
16750     [propget, id(DISPID_IHTMLTABLE_FRAME)]
16751     HRESULT frame([retval, out] BSTR *p);
16752
16753     [propput, id(DISPID_IHTMLTABLE_RULES)]
16754     HRESULT rules([in] BSTR v);
16755
16756     [propget, id(DISPID_IHTMLTABLE_RULES)]
16757     HRESULT rules([retval, out] BSTR *p);
16758
16759     [propput, id(DISPID_IHTMLTABLE_CELLSPACING)]
16760     HRESULT cellSpacing([in] VARIANT v);
16761
16762     [propget, id(DISPID_IHTMLTABLE_CELLSPACING)]
16763     HRESULT cellSpacing([retval, out] VARIANT *p);
16764
16765     [propput, id(DISPID_IHTMLTABLE_CELLPADDING)]
16766     HRESULT cellPadding([in] VARIANT v);
16767
16768     [propget, id(DISPID_IHTMLTABLE_CELLPADDING)]
16769     HRESULT cellPadding([retval, out] VARIANT *p);
16770
16771     [propput, id(DISPID_IHTMLTABLE_BACKGROUND)]
16772     HRESULT background([in] BSTR v);
16773
16774     [propget, id(DISPID_IHTMLTABLE_BACKGROUND)]
16775     HRESULT background([retval, out] BSTR *p);
16776
16777     [propput, id(DISPID_IHTMLTABLE_BGCOLOR)]
16778     HRESULT bgColor([in] VARIANT v);
16779
16780     [propget, id(DISPID_IHTMLTABLE_BGCOLOR)]
16781     HRESULT bgColor([retval, out] VARIANT *p);
16782
16783     [propput, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
16784     HRESULT borderColor([in] VARIANT v);
16785
16786     [propget, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
16787     HRESULT borderColor([retval, out] VARIANT *p);
16788
16789     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
16790     HRESULT borderColorLight([in] VARIANT v);
16791
16792     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
16793     HRESULT borderColorLight([retval, out] VARIANT *p);
16794
16795     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
16796     HRESULT borderColorDark([in] VARIANT v);
16797
16798     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
16799     HRESULT borderColorDark([retval, out] VARIANT *p);
16800
16801     [propput, id(DISPID_IHTMLTABLE_ALIGN)]
16802     HRESULT align([in] BSTR v);
16803
16804     [propget, id(DISPID_IHTMLTABLE_ALIGN)]
16805     HRESULT align([retval, out] BSTR * p);
16806
16807     [id(DISPID_IHTMLTABLE_REFRESH)]
16808     HRESULT refresh();
16809
16810     [propget, id(DISPID_IHTMLTABLE_ROWS)]
16811     HRESULT rows([retval, out] IHTMLElementCollection **p);
16812
16813     [propput, id(DISPID_IHTMLTABLE_WIDTH)]
16814     HRESULT width([in] VARIANT v);
16815
16816     [propget, id(DISPID_IHTMLTABLE_WIDTH)]
16817     HRESULT width([retval, out] VARIANT *p);
16818
16819     [propput, id(DISPID_IHTMLTABLE_HEIGHT)]
16820     HRESULT height([in] VARIANT v);
16821
16822     [propget, id(DISPID_IHTMLTABLE_HEIGHT)]
16823     HRESULT height([retval, out] VARIANT *p);
16824
16825     [propput, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
16826     HRESULT dataPageSize([in] long v);
16827
16828     [propget, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
16829     HRESULT dataPageSize([retval, out] long *p);
16830
16831     [id(DISPID_IHTMLTABLE_NEXTPAGE)]
16832     HRESULT nextPage();
16833
16834     [id(DISPID_IHTMLTABLE_PREVIOUSPAGE)]
16835     HRESULT previousPage();
16836
16837     [propget, id(DISPID_IHTMLTABLE_THEAD)]
16838     HRESULT tHead([retval, out] IHTMLTableSection **p);
16839
16840     [propget, id(DISPID_IHTMLTABLE_TFOOT)]
16841     HRESULT tFoot([retval, out] IHTMLTableSection **p);
16842
16843     [propget, id(DISPID_IHTMLTABLE_TBODIES)]
16844     HRESULT tBodies([retval, out] IHTMLElementCollection **p);
16845
16846     [propget, id(DISPID_IHTMLTABLE_CAPTION)]
16847     HRESULT caption([retval, out] IHTMLTableCaption **p);
16848
16849     [id(DISPID_IHTMLTABLE_CREATETHEAD)]
16850     HRESULT createTHead([retval, out] IDispatch **head);
16851
16852     [id(DISPID_IHTMLTABLE_DELETETHEAD)]
16853     HRESULT deleteTHead();
16854
16855     [id(DISPID_IHTMLTABLE_CREATETFOOT)]
16856     HRESULT createTFoot([retval, out] IDispatch **foot);
16857
16858     [id(DISPID_IHTMLTABLE_DELETETFOOT)]
16859     HRESULT deleteTFoot();
16860
16861     [id(DISPID_IHTMLTABLE_CREATECAPTION)]
16862     HRESULT createCaption([retval, out] IHTMLTableCaption **caption);
16863
16864     [id(DISPID_IHTMLTABLE_DELETECAPTION)]
16865     HRESULT deleteCaption();
16866
16867     [id(DISPID_IHTMLTABLE_INSERTROW)]
16868     HRESULT insertRow(
16869             [defaultvalue(-1), in] long index,
16870             [retval, out] IDispatch **row);
16871
16872     [id(DISPID_IHTMLTABLE_DELETEROW)]
16873     HRESULT deleteRow([defaultvalue(-1), in] long index);
16874
16875     [propget, id(DISPID_IHTMLTABLE_READYSTATE)]
16876     HRESULT readyState([retval, out] BSTR *p);
16877
16878     [propput, id(DISPID_IHTMLTABLE_ONREADYSTATECHANGE), displaybind, bindable]
16879     HRESULT onreadystatechange([in] VARIANT v);
16880
16881     [propget, id(DISPID_IHTMLTABLE_ONREADYSTATECHANGE), displaybind, bindable]
16882     HRESULT onreadystatechange([retval, out] VARIANT *p);
16883 }
16884
16885 [
16886     odl,
16887     oleautomation,
16888     dual,
16889     uuid(3050f23b-98b5-11cf-bb82-00aa00bdce0b)
16890 ]
16891 interface IHTMLTableSection : IDispatch
16892 {
16893     [propput, id(DISPID_IHTMLTABLESECTION_ALIGN)]
16894     HRESULT align([in] BSTR v);
16895
16896     [propget, id(DISPID_IHTMLTABLESECTION_ALIGN)]
16897     HRESULT align([retval, out] BSTR *p);
16898
16899     [propput, id(DISPID_IHTMLTABLESECTION_VALIGN)]
16900     HRESULT vAlign([in] BSTR v);
16901
16902     [propget, id(DISPID_IHTMLTABLESECTION_VALIGN)]
16903     HRESULT vAlign([retval, out] BSTR *p);
16904
16905     [propput, id(DISPID_IHTMLTABLESECTION_BGCOLOR)]
16906     HRESULT bgColor([in] VARIANT v);
16907
16908     [propget, id(DISPID_IHTMLTABLESECTION_BGCOLOR)]
16909     HRESULT bgColor([retval, out] VARIANT *p);
16910
16911     [propget, id(DISPID_IHTMLTABLESECTION_ROWS)]
16912     HRESULT rows([retval, out] IHTMLElementCollection **p);
16913
16914     [id(DISPID_IHTMLTABLESECTION_INSERTROW)]
16915     HRESULT insertRow(
16916             [defaultvalue(-1), in] long index,
16917             [retval, out] IDispatch **row);
16918
16919     [id(DISPID_IHTMLTABLESECTION_DELETEROW)]
16920     HRESULT deleteRow([defaultvalue(-1), in] long index);
16921 }
16922
16923 /*****************************************************************************
16924  *    IHTMLTableRow interface
16925  */
16926 [
16927     odl,
16928     oleautomation,
16929     dual,
16930     uuid(3050f23c-98b5-11cf-bb82-00aa00bdce0b)
16931 ]
16932 interface IHTMLTableRow : IDispatch
16933 {
16934     [propput, id(DISPID_IHTMLTABLEROW_ALIGN)]
16935     HRESULT align([in] BSTR v);
16936
16937     [propget, id(DISPID_IHTMLTABLEROW_ALIGN)]
16938     HRESULT align([out, retval] BSTR *p);
16939
16940     [propput, id(DISPID_IHTMLTABLEROW_VALIGN)]
16941     HRESULT vAlign([in] BSTR v);
16942
16943     [propget, id(DISPID_IHTMLTABLEROW_VALIGN)]
16944     HRESULT vAlign([out, retval] BSTR *p);
16945
16946     [propput, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
16947     HRESULT bgColor([in] VARIANT v);
16948
16949     [propget, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
16950     HRESULT bgColor([out, retval] VARIANT *p);
16951
16952     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
16953     HRESULT borderColor([in] VARIANT v);
16954
16955     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
16956     HRESULT borderColor([out, retval] VARIANT *p);
16957
16958     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
16959     HRESULT borderColorLight([in] VARIANT v);
16960
16961     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
16962     HRESULT borderColorLight([out, retval] VARIANT *p);
16963
16964     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
16965     HRESULT borderColorDark([in] VARIANT v);
16966
16967     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
16968     HRESULT borderColorDark([out, retval] VARIANT *p);
16969
16970     [propget, id(DISPID_IHTMLTABLEROW_ROWINDEX)]
16971     HRESULT rowIndex([out, retval] long *p);
16972
16973     [propget, id(DISPID_IHTMLTABLEROW_SECTIONROWINDEX)]
16974     HRESULT sectionRowIndex([out, retval] long *p);
16975
16976     [propget, id(DISPID_IHTMLTABLEROW_CELLS)]
16977     HRESULT cells([out, retval] IHTMLElementCollection **p);
16978
16979     [id(DISPID_IHTMLTABLEROW_INSERTCELL)]
16980     HRESULT insertCell(
16981             [in, defaultvalue(-1)] long index,
16982             [out, retval] IDispatch **row);
16983
16984     [id(DISPID_IHTMLTABLEROW_DELETECELL)]
16985     HRESULT deleteCell([in, defaultvalue(-1)] long index);
16986 }
16987
16988 /*****************************************************************************
16989  *    DispHTMLTable interface
16990  */
16991 [
16992     hidden,
16993     uuid(3050f532-98b5-11cf-bb82-00aa00bdce0b)
16994 ]
16995 dispinterface DispHTMLTable
16996 {
16997 properties:
16998 methods:
16999     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
17000     void setAttribute(
17001             [in] BSTR strAttributeName,
17002             [in] VARIANT AttributeValue,
17003             [in, defaultvalue(1)] LONG lFlags);
17004
17005     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
17006     VARIANT getAttribute(
17007              [in] BSTR strAttributeName,
17008              [in, defaultvalue(0)] LONG lFlags);
17009
17010     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
17011     VARIANT_BOOL removeAttribute(
17012             [in] BSTR strAttributeName,
17013             [in, defaultvalue(1)] LONG lFlags);
17014
17015     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
17016     void className(BSTR v);
17017
17018     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
17019     BSTR className();
17020
17021     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
17022     void id(BSTR v);
17023
17024     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
17025     BSTR id();
17026
17027     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
17028     BSTR tagName();
17029
17030     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
17031     IHTMLElement *parentElement();
17032
17033     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
17034     IHTMLStyle *style();
17035
17036     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
17037     void onhelp(VARIANT v);
17038
17039     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
17040     VARIANT onhelp();
17041
17042     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
17043     void onclick(VARIANT v);
17044
17045     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
17046     VARIANT onclick();
17047
17048     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
17049     void ondblclick(VARIANT v);
17050
17051     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
17052     VARIANT ondblclick();
17053
17054     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
17055     void onkeydown(VARIANT v);
17056
17057     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
17058     VARIANT onkeydown();
17059
17060     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
17061     void onkeyup(VARIANT v);
17062
17063     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
17064     VARIANT onkeyup();
17065
17066     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
17067     void onkeypress(VARIANT v);
17068
17069     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
17070     VARIANT onkeypress();
17071
17072     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
17073     void onmouseout(VARIANT v);
17074
17075     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
17076     VARIANT onmouseout();
17077
17078     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
17079     void onmouseover(VARIANT v);
17080
17081     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
17082     VARIANT onmouseover();
17083
17084     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
17085     void onmousemove(VARIANT v);
17086
17087     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
17088     VARIANT onmousemove();
17089
17090     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
17091     void onmousedown(VARIANT v);
17092
17093     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
17094     VARIANT onmousedown();
17095
17096     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
17097     void onmouseup(VARIANT v);
17098
17099     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
17100     VARIANT onmouseup();
17101
17102     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
17103     IDispatch *document();
17104
17105     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
17106     void title(BSTR v);
17107
17108     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
17109     BSTR title();
17110
17111     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
17112     void language(BSTR v);
17113
17114     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
17115     BSTR language();
17116
17117     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
17118     void onselectstart(VARIANT v);
17119
17120     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
17121     VARIANT onselectstart();
17122
17123     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
17124     void scrollIntoView([in, optional] VARIANT varargStart);
17125
17126     [id(DISPID_IHTMLELEMENT_CONTAINS)]
17127     VARIANT_BOOL contains([in] IHTMLElement *pChild);
17128
17129     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
17130     long sourceIndex();
17131
17132     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
17133     VARIANT recordNumber();
17134
17135     [propput, id(DISPID_IHTMLELEMENT_LANG)]
17136     void lang(BSTR v);
17137
17138     [propget, id(DISPID_IHTMLELEMENT_LANG)]
17139     BSTR lang();
17140
17141     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
17142     long offsetLeft();
17143
17144     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
17145     long offsetTop();
17146
17147     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
17148     long offsetWidth();
17149
17150     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
17151     long offsetHeight();
17152
17153     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
17154     IHTMLElement *offsetParent();
17155
17156     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
17157     void innerHTML(BSTR v);
17158
17159     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
17160     BSTR innerHTML();
17161
17162     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
17163     void innerText(BSTR v);
17164
17165     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
17166     BSTR innerText();
17167
17168     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
17169     void outerHTML(BSTR v);
17170
17171     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
17172     BSTR outerHTML();
17173
17174     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
17175     void outerText(BSTR v);
17176
17177     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
17178     BSTR outerText();
17179
17180     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
17181     void insertAdjacentHTML(
17182             [in] BSTR where,
17183             [in] BSTR html);
17184
17185     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
17186     void insertAdjacentText(
17187             [in] BSTR where,
17188             [in] BSTR text);
17189
17190     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
17191     IHTMLElement *parentTextEdit();
17192
17193     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
17194     VARIANT_BOOL isTextEdit();
17195
17196     [id(DISPID_IHTMLELEMENT_CLICK)]
17197     void click();
17198
17199     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
17200     IHTMLFiltersCollection *filters();
17201
17202     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
17203     void ondragstart(VARIANT v);
17204
17205     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
17206     VARIANT ondragstart();
17207
17208     [id(DISPID_IHTMLELEMENT_TOSTRING)]
17209     BSTR toString();
17210
17211     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
17212     void onbeforeupdate(VARIANT v);
17213
17214     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
17215     VARIANT onbeforeupdate();
17216
17217     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
17218     void onafterupdate(VARIANT v);
17219
17220     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
17221     VARIANT onafterupdate();
17222
17223     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
17224     void onerrorupdate(VARIANT v);
17225
17226     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
17227     VARIANT onerrorupdate();
17228
17229     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
17230     void onrowexit(VARIANT v);
17231
17232     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
17233     VARIANT onrowexit();
17234
17235     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
17236     void onrowenter(VARIANT v);
17237
17238     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
17239     VARIANT onrowenter();
17240
17241     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
17242     void ondatasetchanged(VARIANT v);
17243
17244     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
17245     VARIANT ondatasetchanged();
17246
17247     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
17248     void ondataavailable(VARIANT v);
17249
17250     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
17251     VARIANT ondataavailable();
17252
17253     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
17254     void ondatasetcomplete(VARIANT v);
17255
17256     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
17257     VARIANT ondatasetcomplete();
17258
17259     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
17260     void onfilterchange(VARIANT v);
17261
17262     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
17263     VARIANT onfilterchange();
17264
17265     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
17266     IDispatch *children();
17267
17268     [propget, id(DISPID_IHTMLELEMENT_ALL)]
17269     IDispatch *all();
17270
17271     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
17272     BSTR scopeName();
17273
17274     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
17275     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
17276
17277     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
17278     void releaseCapture();
17279
17280     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
17281     void onlosecapture(VARIANT v);
17282
17283     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
17284     VARIANT onlosecapture();
17285
17286     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
17287     BSTR componentFromPoint(
17288             [in] long x,
17289             [in] long y);
17290
17291     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
17292     void doScroll([in, optional] VARIANT component);
17293
17294     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
17295     void onscroll(VARIANT v);
17296
17297     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
17298     VARIANT onscroll();
17299
17300     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
17301     void ondrag(VARIANT v);
17302
17303     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
17304     VARIANT ondrag();
17305
17306     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
17307     void ondragend(VARIANT v);
17308
17309     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
17310     VARIANT ondragend();
17311
17312     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
17313     void ondragenter(VARIANT v);
17314
17315     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
17316     VARIANT ondragenter();
17317
17318     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
17319     void ondragover(VARIANT v);
17320
17321     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
17322     VARIANT ondragover();
17323
17324     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
17325     void ondragleave(VARIANT v);
17326
17327     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
17328     VARIANT ondragleave();
17329
17330     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
17331     void ondrop(VARIANT v);
17332
17333     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
17334     VARIANT ondrop();
17335
17336     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
17337     void onbeforecut(VARIANT v);
17338
17339     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
17340     VARIANT onbeforecut();
17341
17342     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
17343     void oncut(VARIANT v);
17344
17345     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
17346     VARIANT oncut();
17347
17348     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
17349     void onbeforecopy(VARIANT v);
17350
17351     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
17352     VARIANT onbeforecopy();
17353
17354     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
17355     void oncopy(VARIANT v);
17356
17357     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
17358     VARIANT oncopy();
17359
17360     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
17361     void onbeforepaste(VARIANT v);
17362
17363     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
17364     VARIANT onbeforepaste();
17365
17366     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
17367     void onpaste(VARIANT v);
17368
17369     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
17370     VARIANT onpaste();
17371
17372     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
17373     IHTMLCurrentStyle *currentStyle();
17374
17375     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
17376     void onpropertychange(VARIANT v);
17377
17378     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
17379     VARIANT onpropertychange();
17380
17381     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
17382     IHTMLRectCollection *getClientRects();
17383
17384     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
17385     IHTMLRect *getBoundingClientRect();
17386
17387     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
17388     void setExpression(
17389             [in] BSTR propname,
17390             [in] BSTR expression,
17391             [in, defaultvalue("")] BSTR language);
17392
17393     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
17394     VARIANT getExpression([in] BSTR propname);
17395
17396     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
17397     VARIANT_BOOL removeExpression([in] BSTR propname);
17398
17399     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
17400     void tabIndex(short v);
17401
17402     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
17403     short tabIndex();
17404
17405     [id(DISPID_IHTMLELEMENT2_FOCUS)]
17406     void focus();
17407
17408     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
17409     void accessKey(BSTR v);
17410
17411     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
17412     BSTR accessKey();
17413
17414     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
17415     void onblur(VARIANT v);
17416
17417     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
17418     VARIANT onblur();
17419
17420     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
17421     void onfocus(VARIANT v);
17422
17423     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
17424     VARIANT onfocus();
17425
17426     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
17427     void onresize(VARIANT v);
17428
17429     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
17430     VARIANT onresize();
17431
17432     [id(DISPID_IHTMLELEMENT2_BLUR)]
17433     void blur();
17434
17435     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
17436     void addFilter([in] IUnknown *pUnk);
17437
17438     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
17439     void removeFilter([in] IUnknown *pUnk);
17440
17441     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
17442     long clientHeight();
17443
17444     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
17445     long clientWidth();
17446
17447     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
17448     long clientTop();
17449
17450     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
17451     long clientLeft();
17452
17453     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
17454     VARIANT_BOOL attachEvent(
17455             [in] BSTR event,
17456             [in] IDispatch *pDisp);
17457
17458     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
17459     void detachEvent(
17460             [in] BSTR event,
17461             [in] IDispatch *pDisp);
17462
17463     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
17464     VARIANT readyState();
17465
17466     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
17467     void onreadystatechange(VARIANT v);
17468
17469     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
17470     VARIANT onreadystatechange();
17471
17472     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
17473     void onrowsdelete(VARIANT v);
17474
17475     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
17476     VARIANT onrowsdelete();
17477
17478     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
17479     void onrowsinserted(VARIANT v);
17480
17481     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
17482     VARIANT onrowsinserted();
17483
17484     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
17485      void oncellchange(VARIANT v);
17486
17487     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
17488     VARIANT oncellchange();
17489
17490     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
17491     void dir(BSTR v);
17492
17493     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
17494     BSTR dir();
17495
17496     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
17497     IDispatch *createControlRange();
17498
17499     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
17500     long scrollHeight();
17501
17502     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
17503     long scrollWidth();
17504
17505     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
17506     void scrollTop(long v);
17507
17508     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
17509     long scrollTop();
17510
17511     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
17512     void scrollLeft(long v);
17513
17514     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
17515     long scrollLeft();
17516
17517     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
17518     void clearAttributes();
17519
17520     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
17521     void oncontextmenu(VARIANT v);
17522
17523     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
17524     VARIANT oncontextmenu();
17525
17526     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
17527     IHTMLElement *insertAdjacentElement(
17528             [in] BSTR where,
17529             [in] IHTMLElement *insertedElement);
17530
17531     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
17532     IHTMLElement *applyElement(
17533             [in] IHTMLElement *apply,
17534             [in] BSTR where);
17535
17536     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
17537     BSTR getAdjacentText([in] BSTR where);
17538
17539     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
17540     BSTR replaceAdjacentText(
17541             [in] BSTR where,
17542             [in] BSTR newText);
17543
17544     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
17545     VARIANT_BOOL canHaveChildren();
17546
17547     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
17548     long addBehavior(
17549             [in] BSTR bstrUrl,
17550             [in, optional] VARIANT *pvarFactory);
17551
17552     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
17553     VARIANT_BOOL removeBehavior([in] long cookie);
17554
17555     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
17556     IHTMLStyle *runtimeStyle();
17557
17558     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
17559     IDispatch *behaviorUrns();
17560
17561     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
17562     void tagUrn(BSTR v);
17563
17564     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
17565     BSTR tagUrn();
17566
17567     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
17568     void onbeforeeditfocus(VARIANT v);
17569
17570     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
17571     VARIANT onbeforeeditfocus();
17572
17573     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
17574     long readyStateValue();
17575
17576     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
17577     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
17578
17579     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
17580     void mergeAttributes(
17581             [in] IHTMLElement *mergeThis,
17582             [in, optional] VARIANT *pvarFlags);
17583
17584     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
17585     VARIANT_BOOL isMultiLine();
17586
17587     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
17588     VARIANT_BOOL canHaveHTML();
17589
17590     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
17591     void onlayoutcomplete(VARIANT v);
17592
17593     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
17594     VARIANT onlayoutcomplete();
17595
17596     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
17597     void onpage(VARIANT v);
17598
17599     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
17600     VARIANT onpage();
17601
17602     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
17603     void inflateBlock(VARIANT_BOOL v);
17604
17605     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
17606     VARIANT_BOOL inflateBlock();
17607
17608     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
17609     void onbeforedeactivate(VARIANT v);
17610
17611     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
17612     VARIANT onbeforedeactivate();
17613
17614     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
17615     void setActive();
17616
17617     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
17618     void contentEditable(BSTR v);
17619
17620     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
17621     BSTR contentEditable();
17622
17623     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
17624     VARIANT_BOOL isContentEditable();
17625
17626     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
17627     void hideFocus(VARIANT_BOOL v);
17628
17629     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
17630     VARIANT_BOOL hideFocus();
17631
17632     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
17633     void disabled(VARIANT_BOOL v);
17634
17635     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
17636     VARIANT_BOOL disabled();
17637
17638     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
17639     VARIANT_BOOL isDisabled();
17640
17641     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
17642     void onmove(VARIANT v);
17643
17644     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
17645     VARIANT onmove();
17646
17647     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
17648     void oncontrolselect(VARIANT v);
17649
17650     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
17651     VARIANT oncontrolselect();
17652
17653     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
17654     VARIANT_BOOL fireEvent(
17655             [in] BSTR bstrEventName,
17656             [in, optional] VARIANT *pvarEventObject);
17657
17658     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
17659     void onresizestart(VARIANT v);
17660
17661     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
17662     VARIANT onresizestart();
17663
17664     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
17665     void onresizeend(VARIANT v);
17666
17667     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
17668     VARIANT onresizeend();
17669
17670     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
17671     void onmovestart(VARIANT v);
17672
17673     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
17674     VARIANT onmovestart();
17675
17676     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
17677     void onmoveend(VARIANT v);
17678
17679     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
17680     VARIANT onmoveend();
17681
17682     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
17683     void onmouseenter(VARIANT v);
17684
17685     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
17686     VARIANT onmouseenter();
17687
17688     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
17689     void onmouseleave(VARIANT v);
17690
17691     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
17692     VARIANT onmouseleave();
17693
17694     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
17695     void onactivate(VARIANT v);
17696
17697     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
17698     VARIANT onactivate();
17699
17700     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
17701     void ondeactivate(VARIANT v);
17702
17703     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
17704     VARIANT ondeactivate();
17705
17706     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
17707     VARIANT_BOOL dragDrop();
17708
17709     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
17710     LONG glyphMode();
17711
17712     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
17713     void onmousewheel(VARIANT v);
17714
17715     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
17716     VARIANT onmousewheel();
17717
17718     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
17719     void normalize();
17720
17721     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
17722     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
17723
17724     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
17725     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
17726
17727     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
17728     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
17729
17730     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
17731     void onbeforeactivate(VARIANT v);
17732
17733     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
17734     VARIANT onbeforeactivate();
17735
17736     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
17737     void onfocusin(VARIANT v);
17738
17739     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
17740     VARIANT onfocusin();
17741
17742     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
17743     void onfocusout(VARIANT v);
17744
17745     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
17746     VARIANT onfocusout();
17747
17748     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
17749     long uniqueNumber();
17750
17751     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
17752     BSTR uniqueID();
17753
17754     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
17755     long nodeType();
17756
17757     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
17758     IHTMLDOMNode *parentNode();
17759
17760     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
17761     VARIANT_BOOL hasChildNodes();
17762
17763     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
17764     IDispatch *childNodes();
17765
17766     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
17767     IDispatch *attributes();
17768
17769     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
17770     IHTMLDOMNode *insertBefore(
17771             [in] IHTMLDOMNode *newChild,
17772             [in, optional] VARIANT refChild);
17773
17774     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
17775     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
17776
17777     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
17778     IHTMLDOMNode *replaceChild(
17779             [in] IHTMLDOMNode *newChild,
17780             [in] IHTMLDOMNode *oldChild);
17781
17782     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
17783     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
17784
17785     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
17786     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
17787
17788     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
17789     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
17790
17791     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
17792     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
17793
17794     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
17795     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
17796
17797     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
17798     BSTR nodeName();
17799
17800     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
17801     void nodeValue(VARIANT v);
17802
17803     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
17804     VARIANT nodeValue();
17805
17806     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
17807     IHTMLDOMNode *firstChild();
17808
17809     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
17810     IHTMLDOMNode *lastChild();
17811
17812     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
17813     IHTMLDOMNode *previousSibling();
17814
17815     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
17816     IHTMLDOMNode *nextSibling();
17817
17818     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
17819     IDispatch *ownerDocument();
17820
17821     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
17822     void dataFld(BSTR v);
17823
17824     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
17825     BSTR dataFld();
17826
17827     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
17828     void dataSrc(BSTR v);
17829
17830     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
17831     BSTR dataSrc();
17832
17833     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
17834     void dataFormatAs(BSTR v);
17835
17836     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
17837     BSTR dataFormatAs();
17838
17839     [propput, id(DISPID_IHTMLTABLE_COLS)]
17840     void cols(long v);
17841
17842     [propget, id(DISPID_IHTMLTABLE_COLS)]
17843     long cols();
17844
17845     [propput, id(DISPID_IHTMLTABLE_BORDER)]
17846     void border(VARIANT v);
17847
17848     [propget, id(DISPID_IHTMLTABLE_BORDER)]
17849     VARIANT border();
17850
17851     [propput, id(DISPID_IHTMLTABLE_FRAME)]
17852     void frame(BSTR v);
17853
17854     [propget, id(DISPID_IHTMLTABLE_FRAME)]
17855     BSTR frame();
17856
17857     [propput, id(DISPID_IHTMLTABLE_RULES)]
17858     void rules(BSTR v);
17859
17860     [propget, id(DISPID_IHTMLTABLE_RULES)]
17861     BSTR rules();
17862
17863     [propput, id(DISPID_IHTMLTABLE_CELLSPACING)]
17864     void cellSpacing(VARIANT v);
17865
17866     [propget, id(DISPID_IHTMLTABLE_CELLSPACING)]
17867     VARIANT cellSpacing();
17868
17869     [propput, id(DISPID_IHTMLTABLE_CELLPADDING)]
17870     void cellPadding(VARIANT v);
17871
17872     [propget, id(DISPID_IHTMLTABLE_CELLPADDING)]
17873     VARIANT cellPadding();
17874
17875     [propput, id(DISPID_IHTMLTABLE_BACKGROUND)]
17876     void background(BSTR v);
17877
17878     [propget, id(DISPID_IHTMLTABLE_BACKGROUND)]
17879     BSTR background();
17880
17881     [propput, id(DISPID_IHTMLTABLE_BGCOLOR)]
17882     void bgColor(VARIANT v);
17883
17884     [propget, id(DISPID_IHTMLTABLE_BGCOLOR)]
17885     VARIANT bgColor();
17886
17887     [propput, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
17888     void borderColor(VARIANT v);
17889
17890     [propget, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
17891     VARIANT borderColor();
17892
17893     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
17894     void borderColorLight(VARIANT v);
17895
17896     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
17897     VARIANT borderColorLight();
17898
17899     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
17900     void borderColorDark(VARIANT v);
17901
17902     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
17903     VARIANT borderColorDark();
17904
17905     [propput, id(DISPID_IHTMLTABLE_ALIGN)]
17906     void align(BSTR v);
17907
17908     [propget, id(DISPID_IHTMLTABLE_ALIGN)]
17909     BSTR align();
17910
17911     [id(DISPID_IHTMLTABLE_REFRESH)]
17912     void refresh();
17913
17914     [propget, id(DISPID_IHTMLTABLE_ROWS)]
17915     IHTMLElementCollection *rows();
17916
17917     [propput, id(DISPID_IHTMLTABLE_WIDTH)]
17918     void width(VARIANT v);
17919
17920     [propget, id(DISPID_IHTMLTABLE_WIDTH)]
17921     VARIANT width();
17922
17923     [propput, id(DISPID_IHTMLTABLE_HEIGHT)]
17924     void height(VARIANT v);
17925
17926     [propget, id(DISPID_IHTMLTABLE_HEIGHT)]
17927     VARIANT height();
17928
17929     [propput, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
17930     void dataPageSize(long v);
17931
17932     [propget, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
17933     long dataPageSize();
17934
17935     [id(DISPID_IHTMLTABLE_NEXTPAGE)]
17936     void nextPage();
17937
17938     [id(DISPID_IHTMLTABLE_PREVIOUSPAGE)]
17939     void previousPage();
17940
17941     [propget, id(DISPID_IHTMLTABLE_THEAD)]
17942     IHTMLTableSection *tHead();
17943
17944     [propget, id(DISPID_IHTMLTABLE_TFOOT)]
17945     IHTMLTableSection *tFoot();
17946
17947     [propget, id(DISPID_IHTMLTABLE_TBODIES)]
17948     IHTMLElementCollection *tBodies();
17949
17950     [propget, id(DISPID_IHTMLTABLE_CAPTION)]
17951     IHTMLTableCaption *caption();
17952
17953     [id(DISPID_IHTMLTABLE_CREATETHEAD)]
17954     IDispatch *createTHead();
17955
17956     [id(DISPID_IHTMLTABLE_DELETETHEAD)]
17957     void deleteTHead();
17958
17959     [id(DISPID_IHTMLTABLE_CREATETFOOT)]
17960     IDispatch *createTFoot();
17961
17962     [id(DISPID_IHTMLTABLE_DELETETFOOT)]
17963     void deleteTFoot();
17964
17965     [id(DISPID_IHTMLTABLE_CREATECAPTION)]
17966     IHTMLTableCaption *createCaption();
17967
17968     [id(DISPID_IHTMLTABLE_DELETECAPTION)]
17969     void deleteCaption();
17970
17971     [id(DISPID_IHTMLTABLE_INSERTROW)]
17972     IDispatch *insertRow([in, defaultvalue(-1)] long index);
17973
17974     [id(DISPID_IHTMLTABLE_DELETEROW)]
17975     void deleteRow([in, defaultvalue(-1)] long index);
17976
17977     [id(DISPID_IHTMLTABLE2_FIRSTPAGE)]
17978     void firstPage();
17979
17980     [id(DISPID_IHTMLTABLE2_LASTPAGE)]
17981     void lastPage();
17982
17983     [propget, id(DISPID_IHTMLTABLE2_CELLS)]
17984     IHTMLElementCollection *cells();
17985
17986     [id(DISPID_IHTMLTABLE2_MOVEROW)]
17987     IDispatch *moveRow(
17988             [in, defaultvalue(-1)] long indexFrom,
17989             [in, defaultvalue(-1)] long indexTo);
17990
17991     [propput, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
17992     void summary(BSTR v);
17993
17994     [propget, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
17995     BSTR summary();
17996 }
17997
17998 /*****************************************************************************
17999  *    DispHTMLTableRow dispinterface
18000  */
18001 [
18002     hidden,
18003     uuid(3050f535-98b5-11cf-bb82-00aa00bdce0b)
18004 ]
18005 dispinterface DispHTMLTableRow
18006 {
18007 properties:
18008 methods:
18009     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
18010     void setAttribute(
18011             [in] BSTR strAttributeName,
18012             [in] VARIANT AttributeValue,
18013             [in, defaultvalue(1)] LONG lFlags);
18014
18015     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
18016     VARIANT getAttribute(
18017              [in] BSTR strAttributeName,
18018              [in, defaultvalue(0)] LONG lFlags);
18019
18020     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
18021     VARIANT_BOOL removeAttribute(
18022             [in] BSTR strAttributeName,
18023             [in, defaultvalue(1)] LONG lFlags);
18024
18025     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
18026     void className(BSTR v);
18027
18028     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
18029     BSTR className();
18030
18031     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
18032     void id(BSTR v);
18033
18034     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
18035     BSTR id();
18036
18037     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
18038     BSTR tagName();
18039
18040     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
18041     IHTMLElement *parentElement();
18042
18043     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
18044     IHTMLStyle *style();
18045
18046     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
18047     void onhelp(VARIANT v);
18048
18049     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
18050     VARIANT onhelp();
18051
18052     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
18053     void onclick(VARIANT v);
18054
18055     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
18056     VARIANT onclick();
18057
18058     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
18059     void ondblclick(VARIANT v);
18060
18061     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
18062     VARIANT ondblclick();
18063
18064     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
18065     void onkeydown(VARIANT v);
18066
18067     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
18068     VARIANT onkeydown();
18069
18070     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
18071     void onkeyup(VARIANT v);
18072
18073     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
18074     VARIANT onkeyup();
18075
18076     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
18077     void onkeypress(VARIANT v);
18078
18079     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
18080     VARIANT onkeypress();
18081
18082     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
18083     void onmouseout(VARIANT v);
18084
18085     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
18086     VARIANT onmouseout();
18087
18088     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
18089     void onmouseover(VARIANT v);
18090
18091     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
18092     VARIANT onmouseover();
18093
18094     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
18095     void onmousemove(VARIANT v);
18096
18097     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
18098     VARIANT onmousemove();
18099
18100     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
18101     void onmousedown(VARIANT v);
18102
18103     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
18104     VARIANT onmousedown();
18105
18106     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
18107     void onmouseup(VARIANT v);
18108
18109     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
18110     VARIANT onmouseup();
18111
18112     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
18113     IDispatch *document();
18114
18115     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
18116     void title(BSTR v);
18117
18118     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
18119     BSTR title();
18120
18121     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
18122     void language(BSTR v);
18123
18124     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
18125     BSTR language();
18126
18127     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
18128     void onselectstart(VARIANT v);
18129
18130     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
18131     VARIANT onselectstart();
18132
18133     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
18134     void scrollIntoView([in, optional] VARIANT varargStart);
18135
18136     [id(DISPID_IHTMLELEMENT_CONTAINS)]
18137     VARIANT_BOOL contains([in] IHTMLElement *pChild);
18138
18139     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
18140     long sourceIndex();
18141
18142     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
18143     VARIANT recordNumber();
18144
18145     [propput, id(DISPID_IHTMLELEMENT_LANG)]
18146     void lang(BSTR v);
18147
18148     [propget, id(DISPID_IHTMLELEMENT_LANG)]
18149     BSTR lang();
18150
18151     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
18152     long offsetLeft();
18153
18154     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
18155     long offsetTop();
18156
18157     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
18158     long offsetWidth();
18159
18160     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
18161     long offsetHeight();
18162
18163     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
18164     IHTMLElement *offsetParent();
18165
18166     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
18167     void innerHTML(BSTR v);
18168
18169     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
18170     BSTR innerHTML();
18171
18172     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
18173     void innerText(BSTR v);
18174
18175     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
18176     BSTR innerText();
18177
18178     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
18179     void outerHTML(BSTR v);
18180
18181     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
18182     BSTR outerHTML();
18183
18184     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
18185     void outerText(BSTR v);
18186
18187     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
18188     BSTR outerText();
18189
18190     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
18191     void insertAdjacentHTML(
18192             [in] BSTR where,
18193             [in] BSTR html);
18194
18195     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
18196     void insertAdjacentText(
18197             [in] BSTR where,
18198             [in] BSTR text);
18199
18200     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
18201     IHTMLElement *parentTextEdit();
18202
18203     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
18204     VARIANT_BOOL isTextEdit();
18205
18206     [id(DISPID_IHTMLELEMENT_CLICK)]
18207     void click();
18208
18209     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
18210     IHTMLFiltersCollection *filters();
18211
18212     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
18213     void ondragstart(VARIANT v);
18214
18215     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
18216     VARIANT ondragstart();
18217
18218     [id(DISPID_IHTMLELEMENT_TOSTRING)]
18219     BSTR toString();
18220
18221     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
18222     void onbeforeupdate(VARIANT v);
18223
18224     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
18225     VARIANT onbeforeupdate();
18226
18227     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
18228     void onafterupdate(VARIANT v);
18229
18230     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
18231     VARIANT onafterupdate();
18232
18233     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
18234     void onerrorupdate(VARIANT v);
18235
18236     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
18237     VARIANT onerrorupdate();
18238
18239     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
18240     void onrowexit(VARIANT v);
18241
18242     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
18243     VARIANT onrowexit();
18244
18245     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
18246     void onrowenter(VARIANT v);
18247
18248     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
18249     VARIANT onrowenter();
18250
18251     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
18252     void ondatasetchanged(VARIANT v);
18253
18254     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
18255     VARIANT ondatasetchanged();
18256
18257     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
18258     void ondataavailable(VARIANT v);
18259
18260     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
18261     VARIANT ondataavailable();
18262
18263     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
18264     void ondatasetcomplete(VARIANT v);
18265
18266     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
18267     VARIANT ondatasetcomplete();
18268
18269     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
18270     void onfilterchange(VARIANT v);
18271
18272     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
18273     VARIANT onfilterchange();
18274
18275     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
18276     IDispatch *children();
18277
18278     [propget, id(DISPID_IHTMLELEMENT_ALL)]
18279     IDispatch *all();
18280
18281     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
18282     BSTR scopeName();
18283
18284     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
18285     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
18286
18287     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
18288     void releaseCapture();
18289
18290     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
18291     void onlosecapture(VARIANT v);
18292
18293     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
18294     VARIANT onlosecapture();
18295
18296     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
18297     BSTR componentFromPoint(
18298             [in] long x,
18299             [in] long y);
18300
18301     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
18302     void doScroll([in, optional] VARIANT component);
18303
18304     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
18305     void onscroll(VARIANT v);
18306
18307     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
18308     VARIANT onscroll();
18309
18310     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
18311     void ondrag(VARIANT v);
18312
18313     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
18314     VARIANT ondrag();
18315
18316     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
18317     void ondragend(VARIANT v);
18318
18319     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
18320     VARIANT ondragend();
18321
18322     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
18323     void ondragenter(VARIANT v);
18324
18325     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
18326     VARIANT ondragenter();
18327
18328     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
18329     void ondragover(VARIANT v);
18330
18331     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
18332     VARIANT ondragover();
18333
18334     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
18335     void ondragleave(VARIANT v);
18336
18337     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
18338     VARIANT ondragleave();
18339
18340     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
18341     void ondrop(VARIANT v);
18342
18343     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
18344     VARIANT ondrop();
18345
18346     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
18347     void onbeforecut(VARIANT v);
18348
18349     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
18350     VARIANT onbeforecut();
18351
18352     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
18353     void oncut(VARIANT v);
18354
18355     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
18356     VARIANT oncut();
18357
18358     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
18359     void onbeforecopy(VARIANT v);
18360
18361     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
18362     VARIANT onbeforecopy();
18363
18364     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
18365     void oncopy(VARIANT v);
18366
18367     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
18368     VARIANT oncopy();
18369
18370     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
18371     void onbeforepaste(VARIANT v);
18372
18373     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
18374     VARIANT onbeforepaste();
18375
18376     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
18377     void onpaste(VARIANT v);
18378
18379     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
18380     VARIANT onpaste();
18381
18382     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
18383     IHTMLCurrentStyle *currentStyle();
18384
18385     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
18386     void onpropertychange(VARIANT v);
18387
18388     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
18389     VARIANT onpropertychange();
18390
18391     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
18392     IHTMLRectCollection *getClientRects();
18393
18394     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
18395     IHTMLRect *getBoundingClientRect();
18396
18397     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
18398     void setExpression(
18399             [in] BSTR propname,
18400             [in] BSTR expression,
18401             [in, defaultvalue("")] BSTR language);
18402
18403     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
18404     VARIANT getExpression([in] BSTR propname);
18405
18406     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
18407     VARIANT_BOOL removeExpression([in] BSTR propname);
18408
18409     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
18410     void tabIndex(short v);
18411
18412     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
18413     short tabIndex();
18414
18415     [id(DISPID_IHTMLELEMENT2_FOCUS)]
18416     void focus();
18417
18418     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
18419     void accessKey(BSTR v);
18420
18421     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
18422     BSTR accessKey();
18423
18424     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
18425     void onblur(VARIANT v);
18426
18427     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
18428     VARIANT onblur();
18429
18430     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
18431     void onfocus(VARIANT v);
18432
18433     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
18434     VARIANT onfocus();
18435
18436     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
18437     void onresize(VARIANT v);
18438
18439     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
18440     VARIANT onresize();
18441
18442     [id(DISPID_IHTMLELEMENT2_BLUR)]
18443     void blur();
18444
18445     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
18446     void addFilter([in] IUnknown *pUnk);
18447
18448     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
18449     void removeFilter([in] IUnknown *pUnk);
18450
18451     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
18452     long clientHeight();
18453
18454     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
18455     long clientWidth();
18456
18457     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
18458     long clientTop();
18459
18460     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
18461     long clientLeft();
18462
18463     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
18464     VARIANT_BOOL attachEvent(
18465             [in] BSTR event,
18466             [in] IDispatch *pDisp);
18467
18468     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
18469     void detachEvent(
18470             [in] BSTR event,
18471             [in] IDispatch *pDisp);
18472
18473     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
18474     VARIANT readyState();
18475
18476     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
18477     void onreadystatechange(VARIANT v);
18478
18479     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
18480     VARIANT onreadystatechange();
18481
18482     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
18483     void onrowsdelete(VARIANT v);
18484
18485     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
18486     VARIANT onrowsdelete();
18487
18488     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
18489     void onrowsinserted(VARIANT v);
18490
18491     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
18492      VARIANT onrowsinserted();
18493
18494     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
18495      void oncellchange(VARIANT v);
18496
18497     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
18498     VARIANT oncellchange();
18499
18500     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
18501     void dir(BSTR v);
18502
18503     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
18504     BSTR dir();
18505
18506     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
18507     IDispatch *createControlRange();
18508
18509     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
18510     long scrollHeight();
18511
18512     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
18513     long scrollWidth();
18514
18515     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
18516     void scrollTop(long v);
18517
18518     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
18519     long scrollTop();
18520
18521     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
18522     void scrollLeft(long v);
18523
18524     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
18525     long scrollLeft();
18526
18527     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
18528     void clearAttributes();
18529
18530     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
18531     void oncontextmenu(VARIANT v);
18532
18533     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
18534     VARIANT oncontextmenu();
18535
18536     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
18537     IHTMLElement *insertAdjacentElement(
18538             [in] BSTR where,
18539             [in] IHTMLElement *insertedElement);
18540
18541     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
18542     IHTMLElement *applyElement(
18543             [in] IHTMLElement *apply,
18544             [in] BSTR where);
18545
18546     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
18547     BSTR getAdjacentText([in] BSTR where);
18548
18549     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
18550     BSTR replaceAdjacentText(
18551             [in] BSTR where,
18552             [in] BSTR newText);
18553
18554     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
18555     VARIANT_BOOL canHaveChildren();
18556
18557     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
18558     long addBehavior(
18559             [in] BSTR bstrUrl,
18560             [in, optional] VARIANT *pvarFactory);
18561
18562     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
18563     VARIANT_BOOL removeBehavior([in] long cookie);
18564
18565     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
18566     IHTMLStyle *runtimeStyle();
18567
18568     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
18569     IDispatch *behaviorUrns();
18570
18571     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
18572     void tagUrn(BSTR v);
18573
18574     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
18575     BSTR tagUrn();
18576
18577     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
18578     void onbeforeeditfocus(VARIANT v);
18579
18580     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
18581     VARIANT onbeforeeditfocus();
18582
18583     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
18584     long readyStateValue();
18585
18586     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
18587     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
18588
18589     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
18590     void mergeAttributes(
18591             [in] IHTMLElement *mergeThis,
18592             [in, optional] VARIANT *pvarFlags);
18593
18594     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
18595     VARIANT_BOOL isMultiLine();
18596
18597     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
18598     VARIANT_BOOL canHaveHTML();
18599
18600     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
18601     void onlayoutcomplete(VARIANT v);
18602
18603     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
18604     VARIANT onlayoutcomplete();
18605
18606     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
18607     void onpage(VARIANT v);
18608
18609     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
18610     VARIANT onpage();
18611
18612     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
18613     void inflateBlock(VARIANT_BOOL v);
18614
18615     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
18616     VARIANT_BOOL inflateBlock();
18617
18618     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
18619     void onbeforedeactivate(VARIANT v);
18620
18621     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
18622     VARIANT onbeforedeactivate();
18623
18624     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
18625     void setActive();
18626
18627     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
18628     void contentEditable(BSTR v);
18629
18630     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
18631     BSTR contentEditable();
18632
18633     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
18634     VARIANT_BOOL isContentEditable();
18635
18636     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
18637     void hideFocus(VARIANT_BOOL v);
18638
18639     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
18640     VARIANT_BOOL hideFocus();
18641
18642     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
18643     void disabled(VARIANT_BOOL v);
18644
18645     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
18646     VARIANT_BOOL disabled();
18647
18648     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
18649     VARIANT_BOOL isDisabled();
18650
18651     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
18652     void onmove(VARIANT v);
18653
18654     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
18655     VARIANT onmove();
18656
18657     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
18658     void oncontrolselect(VARIANT v);
18659
18660     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
18661     VARIANT oncontrolselect();
18662
18663     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
18664     VARIANT_BOOL fireEvent(
18665             [in] BSTR bstrEventName,
18666             [in, optional] VARIANT *pvarEventObject);
18667
18668     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
18669     void onresizestart(VARIANT v);
18670
18671     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
18672     VARIANT onresizestart();
18673
18674     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
18675     void onresizeend(VARIANT v);
18676
18677     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
18678     VARIANT onresizeend();
18679
18680     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
18681     void onmovestart(VARIANT v);
18682
18683     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
18684     VARIANT onmovestart();
18685
18686     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
18687     void onmoveend(VARIANT v);
18688
18689     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
18690     VARIANT onmoveend();
18691
18692     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
18693     void onmouseenter(VARIANT v);
18694
18695     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
18696     VARIANT onmouseenter();
18697
18698     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
18699     void onmouseleave(VARIANT v);
18700
18701     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
18702     VARIANT onmouseleave();
18703
18704     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
18705     void onactivate(VARIANT v);
18706
18707     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
18708     VARIANT onactivate();
18709
18710     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
18711     void ondeactivate(VARIANT v);
18712
18713     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
18714     VARIANT ondeactivate();
18715
18716     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
18717     VARIANT_BOOL dragDrop();
18718
18719     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
18720     LONG glyphMode();
18721
18722     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
18723     void onmousewheel(VARIANT v);
18724
18725     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
18726     VARIANT onmousewheel();
18727
18728     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
18729     void normalize();
18730
18731     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
18732     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
18733
18734     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
18735     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
18736
18737     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
18738     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
18739
18740     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
18741     void onbeforeactivate(VARIANT v);
18742
18743     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
18744     VARIANT onbeforeactivate();
18745
18746     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
18747     void onfocusin(VARIANT v);
18748
18749     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
18750     VARIANT onfocusin();
18751
18752     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
18753     void onfocusout(VARIANT v);
18754
18755     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
18756     VARIANT onfocusout();
18757
18758     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
18759     long uniqueNumber();
18760
18761     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
18762     BSTR uniqueID();
18763
18764     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
18765     long nodeType();
18766
18767     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
18768     IHTMLDOMNode *parentNode();
18769
18770     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
18771     VARIANT_BOOL hasChildNodes();
18772
18773     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
18774     IDispatch *childNodes();
18775
18776     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
18777     IDispatch *attributes();
18778
18779     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
18780     IHTMLDOMNode *insertBefore(
18781             [in] IHTMLDOMNode *newChild,
18782             [in, optional] VARIANT refChild);
18783
18784     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
18785     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
18786
18787     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
18788     IHTMLDOMNode *replaceChild(
18789             [in] IHTMLDOMNode *newChild,
18790             [in] IHTMLDOMNode *oldChild);
18791
18792     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
18793     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
18794
18795     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
18796     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
18797
18798     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
18799     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
18800
18801     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
18802     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
18803
18804     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
18805     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
18806
18807     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
18808     BSTR nodeName();
18809
18810     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
18811     void nodeValue(VARIANT v);
18812
18813     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
18814     VARIANT nodeValue();
18815
18816     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
18817     IHTMLDOMNode *firstChild();
18818
18819     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
18820     IHTMLDOMNode *lastChild();
18821
18822     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
18823     IHTMLDOMNode *previousSibling();
18824
18825     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
18826     IHTMLDOMNode *nextSibling();
18827
18828     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
18829     IDispatch *ownerDocument();
18830
18831     [propput, id(DISPID_IHTMLTABLEROW_ALIGN)]
18832     void align(BSTR v);
18833
18834     [propget, id(DISPID_IHTMLTABLEROW_ALIGN)]
18835     BSTR align();
18836
18837     [propput, id(DISPID_IHTMLTABLEROW_VALIGN)]
18838     void vAlign(BSTR v);
18839
18840     [propget, id(DISPID_IHTMLTABLEROW_VALIGN)]
18841     BSTR vAlign();
18842
18843     [propput, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
18844     void bgColor(VARIANT v);
18845
18846     [propget, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
18847     VARIANT bgColor();
18848
18849     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
18850     void borderColor(VARIANT v);
18851
18852     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
18853     VARIANT borderColor();
18854
18855     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
18856     void borderColorLight(VARIANT v);
18857
18858     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
18859     VARIANT borderColorLight();
18860
18861     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
18862     void borderColorDark(VARIANT v);
18863
18864     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
18865     VARIANT borderColorDark();
18866
18867     [propget, id(DISPID_IHTMLTABLEROW_ROWINDEX)]
18868     long rowIndex();
18869
18870     [propget, id(DISPID_IHTMLTABLEROW_SECTIONROWINDEX)]
18871     long sectionRowIndex();
18872
18873     [propget, id(DISPID_IHTMLTABLEROW_CELLS)]
18874     IHTMLElementCollection *cells();
18875
18876     [id(DISPID_IHTMLTABLEROW_INSERTCELL)]
18877     IDispatch *insertCell([in, defaultvalue(-1)] long index);
18878
18879     [id(DISPID_IHTMLTABLEROW_DELETECELL)]
18880     void deleteCell([in, defaultvalue(-1)] long index);
18881
18882     [propput, id(DISPID_IHTMLTABLEROW2_HEIGHT)]
18883     void height(VARIANT v);
18884
18885     [propget, id(DISPID_IHTMLTABLEROW2_HEIGHT)]
18886     VARIANT height();
18887
18888     [propput, id(DISPID_IHTMLTABLEROW3_CH), displaybind, bindable]
18889     void ch(BSTR v);
18890
18891     [propget, id(DISPID_IHTMLTABLEROW3_CH), displaybind, bindable]
18892     BSTR ch();
18893
18894     [propput, id(DISPID_IHTMLTABLEROW3_CHOFF), displaybind, bindable]
18895     void chOff(BSTR v);
18896
18897     [propget, id(DISPID_IHTMLTABLEROW3_CHOFF), displaybind, bindable]
18898     BSTR chOff();
18899 }
18900
18901 /*****************************************************************************
18902  *    IHTMLScriptElement interface
18903  */
18904 [
18905     odl,
18906     oleautomation,
18907     dual,
18908     uuid(3050f28b-98b5-11cf-bb82-00aa00bdce0b)
18909 ]
18910 interface IHTMLScriptElement : IDispatch
18911 {
18912     [propput, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
18913     HRESULT src([in] BSTR v);
18914
18915     [propget, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
18916     HRESULT src([retval, out] BSTR *p);
18917
18918     [propput, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
18919     HRESULT htmlFor([in] BSTR v);
18920
18921     [propget, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
18922     HRESULT htmlFor([retval, out] BSTR *p);
18923
18924     [propput, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
18925     HRESULT event([in] BSTR v);
18926
18927     [propget, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
18928     HRESULT event([retval, out] BSTR *p);
18929
18930     [propput, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
18931     HRESULT text([in] BSTR v);
18932
18933     [propget, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
18934     HRESULT text([retval, out] BSTR *p);
18935
18936     [propput, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
18937     HRESULT defer([in] VARIANT_BOOL v);
18938
18939     [propget, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
18940     HRESULT defer([retval, out] VARIANT_BOOL *p);
18941
18942     [propget, id(DISPID_IHTMLSCRIPTELEMENT_READYSTATE)]
18943     HRESULT readyState([retval, out] BSTR *p);
18944
18945     [propput, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
18946     HRESULT onerror([in] VARIANT v);
18947
18948     [propget, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
18949     HRESULT onerror([retval, out] VARIANT *p);
18950
18951     [propput, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
18952     HRESULT type([in] BSTR v);
18953
18954     [propget, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
18955     HRESULT type([retval, out] BSTR *p);
18956 }
18957
18958 /*****************************************************************************
18959  *    IHTMLScriptElement2 interface
18960  */
18961 [
18962     odl,
18963     oleautomation,
18964     dual,
18965     uuid(3050f828-98b5-11cf-bb82-00aa00bdce0b)
18966 ]
18967 interface IHTMLScriptElement2 : IDispatch
18968 {
18969     [propput, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
18970     HRESULT charset([in] BSTR v);
18971
18972     [propget, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
18973     HRESULT charset([retval, out] BSTR *p);
18974 }
18975
18976 /*****************************************************************************
18977  *    IHTMLFrameBase interface
18978  */
18979 [
18980     odl,
18981     oleautomation,
18982     dual,
18983     uuid(3050f311-98b5-11cf-bb82-00aa00bdce0b)
18984 ]
18985 interface IHTMLFrameBase : IDispatch
18986 {
18987     [propput, id(DISPID_IHTMLFRAMEBASE_SRC)]
18988     HRESULT src([in] BSTR v);
18989
18990     [propget, id(DISPID_IHTMLFRAMEBASE_SRC)]
18991     HRESULT src([out, retval] BSTR *p);
18992
18993     [propput, id(DISPID_IHTMLFRAMEBASE_NAME)]
18994     HRESULT name([in] BSTR v);
18995
18996     [propget, id(DISPID_IHTMLFRAMEBASE_NAME)]
18997     HRESULT name([out, retval] BSTR *p);
18998
18999     [propput, id(DISPID_IHTMLFRAMEBASE_BORDER)]
19000     HRESULT border([in] VARIANT v);
19001
19002     [propget, id(DISPID_IHTMLFRAMEBASE_BORDER)]
19003     HRESULT border([out, retval] VARIANT *p);
19004
19005     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
19006     HRESULT frameBorder([in] BSTR v);
19007
19008     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
19009     HRESULT frameBorder([out, retval] BSTR *p);
19010
19011     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
19012     HRESULT frameSpacing([in] VARIANT v);
19013
19014     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
19015     HRESULT frameSpacing([out, retval] VARIANT *p);
19016
19017     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
19018     HRESULT marginWidth([in] VARIANT v);
19019
19020     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
19021     HRESULT marginWidth([out, retval] VARIANT *p);
19022
19023     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
19024     HRESULT marginHeight([in] VARIANT v);
19025
19026     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
19027     HRESULT marginHeight([out, retval] VARIANT *p);
19028
19029     [propput, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
19030     HRESULT noResize([in] VARIANT_BOOL v);
19031
19032     [propget, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
19033     HRESULT noResize([out, retval] VARIANT_BOOL *p);
19034
19035     [propput, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
19036     HRESULT scrolling([in] BSTR v);
19037
19038     [propget, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
19039     HRESULT scrolling([out, retval] BSTR *p);
19040 }
19041
19042 /*****************************************************************************
19043  *    IHTMLFrameBase2 interface
19044  */
19045 [
19046     odl,
19047     oleautomation,
19048     dual,
19049     uuid(3050f6db-98b5-11cf-bb82-00aa00bdce0b)
19050 ]
19051 interface IHTMLFrameBase2 : IDispatch
19052 {
19053     [propget, id(DISPID_IHTMLFRAMEBASE2_CONTENTWINDOW)]
19054     HRESULT contentWindow([retval, out] IHTMLWindow2 **p);
19055
19056     [propput, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
19057     HRESULT onload([in] VARIANT v);
19058
19059     [propget, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
19060     HRESULT onload([retval, out] VARIANT *p);
19061
19062     [propput, id(DISPID_IHTMLFRAMEBASE2_ONREADYSTATECHANGE), displaybind, bindable]
19063     HRESULT onreadystatechange([in] VARIANT v);
19064
19065     [propget, id(DISPID_IHTMLFRAMEBASE2_ONREADYSTATECHANGE), displaybind, bindable]
19066     HRESULT onreadystatechange([retval, out] VARIANT *p);
19067
19068     [propget, id(DISPID_IHTMLFRAMEBASE2_READYSTATE)]
19069     HRESULT readyState([retval, out] BSTR *p);
19070
19071     [propput, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
19072     HRESULT allowTransparency([in] VARIANT_BOOL v);
19073
19074     [propget, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
19075     HRESULT allowTransparency([retval, out] VARIANT_BOOL *p);
19076 }
19077
19078 /*****************************************************************************
19079  *    DispHTMLIFrame dispinterface
19080  */
19081 [
19082     hidden,
19083     uuid(3050f51b-98b5-11cf-bb82-00aa00bdce0b)
19084 ]
19085 dispinterface DispHTMLIFrame
19086 {
19087 properties:
19088 methods:
19089     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
19090     void setAttribute(
19091             [in] BSTR strAttributeName,
19092             [in] VARIANT AttributeValue,
19093             [in, defaultvalue(1)] LONG lFlags);
19094
19095     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
19096     VARIANT getAttribute(
19097              [in] BSTR strAttributeName,
19098              [in, defaultvalue(0)] LONG lFlags);
19099
19100     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
19101     VARIANT_BOOL removeAttribute(
19102             [in] BSTR strAttributeName,
19103             [in, defaultvalue(1)] LONG lFlags);
19104
19105     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
19106     void className(BSTR v);
19107
19108     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
19109     BSTR className();
19110
19111     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
19112     void id(BSTR v);
19113
19114     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
19115     BSTR id();
19116
19117     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
19118     BSTR tagName();
19119
19120     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
19121     IHTMLElement *parentElement();
19122
19123     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
19124     IHTMLStyle *style();
19125
19126     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
19127     void onhelp(VARIANT v);
19128
19129     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
19130     VARIANT onhelp();
19131
19132     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
19133     void onclick(VARIANT v);
19134
19135     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
19136     VARIANT onclick();
19137
19138     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
19139     void ondblclick(VARIANT v);
19140
19141     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
19142     VARIANT ondblclick();
19143
19144     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
19145     void onkeydown(VARIANT v);
19146
19147     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
19148     VARIANT onkeydown();
19149
19150     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
19151     void onkeyup(VARIANT v);
19152
19153     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
19154     VARIANT onkeyup();
19155
19156     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
19157     void onkeypress(VARIANT v);
19158
19159     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
19160     VARIANT onkeypress();
19161
19162     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
19163     void onmouseout(VARIANT v);
19164
19165     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
19166     VARIANT onmouseout();
19167
19168     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
19169     void onmouseover(VARIANT v);
19170
19171     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
19172     VARIANT onmouseover();
19173
19174     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
19175     void onmousemove(VARIANT v);
19176
19177     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
19178     VARIANT onmousemove();
19179
19180     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
19181     void onmousedown(VARIANT v);
19182
19183     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
19184     VARIANT onmousedown();
19185
19186     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
19187     void onmouseup(VARIANT v);
19188
19189     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
19190     VARIANT onmouseup();
19191
19192     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
19193     IDispatch *document();
19194
19195     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
19196     void title(BSTR v);
19197
19198     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
19199     BSTR title();
19200
19201     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
19202     void language(BSTR v);
19203
19204     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
19205     BSTR language();
19206
19207     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
19208     void onselectstart(VARIANT v);
19209
19210     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
19211     VARIANT onselectstart();
19212
19213     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
19214     void scrollIntoView([in, optional] VARIANT varargStart);
19215
19216     [id(DISPID_IHTMLELEMENT_CONTAINS)]
19217     VARIANT_BOOL contains([in] IHTMLElement *pChild);
19218
19219     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
19220     long sourceIndex();
19221
19222     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
19223     VARIANT recordNumber();
19224
19225     [propput, id(DISPID_IHTMLELEMENT_LANG)]
19226     void lang(BSTR v);
19227
19228     [propget, id(DISPID_IHTMLELEMENT_LANG)]
19229     BSTR lang();
19230
19231     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
19232     long offsetLeft();
19233
19234     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
19235     long offsetTop();
19236
19237     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
19238     long offsetWidth();
19239
19240     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
19241     long offsetHeight();
19242
19243     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
19244     IHTMLElement *offsetParent();
19245
19246     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
19247     void innerHTML(BSTR v);
19248
19249     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
19250     BSTR innerHTML();
19251
19252     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
19253     void innerText(BSTR v);
19254
19255     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
19256     BSTR innerText();
19257
19258     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
19259     void outerHTML(BSTR v);
19260
19261     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
19262     BSTR outerHTML();
19263
19264     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
19265     void outerText(BSTR v);
19266
19267     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
19268     BSTR outerText();
19269
19270     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
19271     void insertAdjacentHTML(
19272             [in] BSTR where,
19273             [in] BSTR html);
19274
19275     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
19276     void insertAdjacentText(
19277             [in] BSTR where,
19278             [in] BSTR text);
19279
19280     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
19281     IHTMLElement *parentTextEdit();
19282
19283     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
19284     VARIANT_BOOL isTextEdit();
19285
19286     [id(DISPID_IHTMLELEMENT_CLICK)]
19287     void click();
19288
19289     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
19290     IHTMLFiltersCollection *filters();
19291
19292     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
19293     void ondragstart(VARIANT v);
19294
19295     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
19296     VARIANT ondragstart();
19297
19298     [id(DISPID_IHTMLELEMENT_TOSTRING)]
19299     BSTR toString();
19300
19301     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
19302     void onbeforeupdate(VARIANT v);
19303
19304     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
19305     VARIANT onbeforeupdate();
19306
19307     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
19308     void onafterupdate(VARIANT v);
19309
19310     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
19311     VARIANT onafterupdate();
19312
19313     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
19314     void onerrorupdate(VARIANT v);
19315
19316     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
19317     VARIANT onerrorupdate();
19318
19319     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
19320     void onrowexit(VARIANT v);
19321
19322     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
19323     VARIANT onrowexit();
19324
19325     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
19326     void onrowenter(VARIANT v);
19327
19328     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
19329     VARIANT onrowenter();
19330
19331     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
19332     void ondatasetchanged(VARIANT v);
19333
19334     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
19335     VARIANT ondatasetchanged();
19336
19337     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
19338     void ondataavailable(VARIANT v);
19339
19340     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
19341     VARIANT ondataavailable();
19342
19343     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
19344     void ondatasetcomplete(VARIANT v);
19345
19346     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
19347     VARIANT ondatasetcomplete();
19348
19349     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
19350     void onfilterchange(VARIANT v);
19351
19352     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
19353     VARIANT onfilterchange();
19354
19355     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
19356     IDispatch *children();
19357
19358     [propget, id(DISPID_IHTMLELEMENT_ALL)]
19359     IDispatch *all();
19360
19361     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
19362     BSTR scopeName();
19363
19364     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
19365     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
19366
19367     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
19368     void releaseCapture();
19369
19370     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
19371     void onlosecapture(VARIANT v);
19372
19373     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
19374     VARIANT onlosecapture();
19375
19376     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
19377     BSTR componentFromPoint(
19378             [in] long x,
19379             [in] long y);
19380
19381     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
19382     void doScroll([in, optional] VARIANT component);
19383
19384     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
19385     void onscroll(VARIANT v);
19386
19387     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
19388     VARIANT onscroll();
19389
19390     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
19391     void ondrag(VARIANT v);
19392
19393     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
19394     VARIANT ondrag();
19395
19396     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
19397     void ondragend(VARIANT v);
19398
19399     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
19400     VARIANT ondragend();
19401
19402     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
19403     void ondragenter(VARIANT v);
19404
19405     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
19406     VARIANT ondragenter();
19407
19408     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
19409     void ondragover(VARIANT v);
19410
19411     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
19412     VARIANT ondragover();
19413
19414     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
19415     void ondragleave(VARIANT v);
19416
19417     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
19418     VARIANT ondragleave();
19419
19420     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
19421     void ondrop(VARIANT v);
19422
19423     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
19424     VARIANT ondrop();
19425
19426     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
19427     void onbeforecut(VARIANT v);
19428
19429     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
19430     VARIANT onbeforecut();
19431
19432     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
19433     void oncut(VARIANT v);
19434
19435     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
19436     VARIANT oncut();
19437
19438     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
19439     void onbeforecopy(VARIANT v);
19440
19441     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
19442     VARIANT onbeforecopy();
19443
19444     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
19445     void oncopy(VARIANT v);
19446
19447     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
19448     VARIANT oncopy();
19449
19450     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
19451     void onbeforepaste(VARIANT v);
19452
19453     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
19454     VARIANT onbeforepaste();
19455
19456     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
19457     void onpaste(VARIANT v);
19458
19459     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
19460     VARIANT onpaste();
19461
19462     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
19463     IHTMLCurrentStyle *currentStyle();
19464
19465     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
19466     void onpropertychange(VARIANT v);
19467
19468     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
19469     VARIANT onpropertychange();
19470
19471     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
19472     IHTMLRectCollection *getClientRects();
19473
19474     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
19475     IHTMLRect *getBoundingClientRect();
19476
19477     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
19478     void setExpression(
19479             [in] BSTR propname,
19480             [in] BSTR expression,
19481             [in, defaultvalue("")] BSTR language);
19482
19483     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
19484     VARIANT getExpression([in] BSTR propname);
19485
19486     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
19487     VARIANT_BOOL removeExpression([in] BSTR propname);
19488
19489     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
19490     void tabIndex(short v);
19491
19492     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
19493     short tabIndex();
19494
19495     [id(DISPID_IHTMLELEMENT2_FOCUS)]
19496     void focus();
19497
19498     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
19499     void accessKey(BSTR v);
19500
19501     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
19502     BSTR accessKey();
19503
19504     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
19505     void onblur(VARIANT v);
19506
19507     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
19508     VARIANT onblur();
19509
19510     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
19511     void onfocus(VARIANT v);
19512
19513     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
19514     VARIANT onfocus();
19515
19516     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
19517     void onresize(VARIANT v);
19518
19519     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
19520     VARIANT onresize();
19521
19522     [id(DISPID_IHTMLELEMENT2_BLUR)]
19523     void blur();
19524
19525     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
19526     void addFilter([in] IUnknown *pUnk);
19527
19528     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
19529     void removeFilter([in] IUnknown *pUnk);
19530
19531     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
19532     long clientHeight();
19533
19534     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
19535     long clientWidth();
19536
19537     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
19538     long clientTop();
19539
19540     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
19541     long clientLeft();
19542
19543     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
19544     VARIANT_BOOL attachEvent(
19545             [in] BSTR event,
19546             [in] IDispatch *pDisp);
19547
19548     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
19549     void detachEvent(
19550             [in] BSTR event,
19551             [in] IDispatch *pDisp);
19552
19553     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
19554     VARIANT readyState();
19555
19556     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
19557     void onreadystatechange(VARIANT v);
19558
19559     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
19560     VARIANT onreadystatechange();
19561
19562     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
19563     void onrowsdelete(VARIANT v);
19564
19565     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
19566     VARIANT onrowsdelete();
19567
19568     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
19569     void onrowsinserted(VARIANT v);
19570
19571     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
19572      VARIANT onrowsinserted();
19573
19574     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
19575      void oncellchange(VARIANT v);
19576
19577     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
19578     VARIANT oncellchange();
19579
19580     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
19581     void dir(BSTR v);
19582
19583     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
19584     BSTR dir();
19585
19586     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
19587     IDispatch *createControlRange();
19588
19589     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
19590     long scrollHeight();
19591
19592     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
19593     long scrollWidth();
19594
19595     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
19596     void scrollTop(long v);
19597
19598     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
19599     long scrollTop();
19600
19601     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
19602     void scrollLeft(long v);
19603
19604     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
19605     long scrollLeft();
19606
19607     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
19608     void clearAttributes();
19609
19610     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
19611     void oncontextmenu(VARIANT v);
19612
19613     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
19614     VARIANT oncontextmenu();
19615
19616     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
19617     IHTMLElement *insertAdjacentElement(
19618             [in] BSTR where,
19619             [in] IHTMLElement *insertedElement);
19620
19621     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
19622     IHTMLElement *applyElement(
19623             [in] IHTMLElement *apply,
19624             [in] BSTR where);
19625
19626     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
19627     BSTR getAdjacentText([in] BSTR where);
19628
19629     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
19630     BSTR replaceAdjacentText(
19631             [in] BSTR where,
19632             [in] BSTR newText);
19633
19634     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
19635     VARIANT_BOOL canHaveChildren();
19636
19637     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
19638     long addBehavior(
19639             [in] BSTR bstrUrl,
19640             [in, optional] VARIANT *pvarFactory);
19641
19642     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
19643     VARIANT_BOOL removeBehavior([in] long cookie);
19644
19645     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
19646     IHTMLStyle *runtimeStyle();
19647
19648     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
19649     IDispatch *behaviorUrns();
19650
19651     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
19652     void tagUrn(BSTR v);
19653
19654     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
19655     BSTR tagUrn();
19656
19657     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
19658     void onbeforeeditfocus(VARIANT v);
19659
19660     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
19661     VARIANT onbeforeeditfocus();
19662
19663     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
19664     long readyStateValue();
19665
19666     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
19667     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
19668
19669     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
19670     void mergeAttributes(
19671             [in] IHTMLElement *mergeThis,
19672             [in, optional] VARIANT *pvarFlags);
19673
19674     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
19675     VARIANT_BOOL isMultiLine();
19676
19677     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
19678     VARIANT_BOOL canHaveHTML();
19679
19680     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
19681     void onlayoutcomplete(VARIANT v);
19682
19683     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
19684     VARIANT onlayoutcomplete();
19685
19686     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
19687     void onpage(VARIANT v);
19688
19689     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
19690     VARIANT onpage();
19691
19692     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
19693     void inflateBlock(VARIANT_BOOL v);
19694
19695     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
19696     VARIANT_BOOL inflateBlock();
19697
19698     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
19699     void onbeforedeactivate(VARIANT v);
19700
19701     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
19702     VARIANT onbeforedeactivate();
19703
19704     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
19705     void setActive();
19706
19707     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
19708     void contentEditable(BSTR v);
19709
19710     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
19711     BSTR contentEditable();
19712
19713     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
19714     VARIANT_BOOL isContentEditable();
19715
19716     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
19717     void hideFocus(VARIANT_BOOL v);
19718
19719     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
19720     VARIANT_BOOL hideFocus();
19721
19722     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
19723     void disabled(VARIANT_BOOL v);
19724
19725     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
19726     VARIANT_BOOL disabled();
19727
19728     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
19729     VARIANT_BOOL isDisabled();
19730
19731     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
19732     void onmove(VARIANT v);
19733
19734     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
19735     VARIANT onmove();
19736
19737     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
19738     void oncontrolselect(VARIANT v);
19739
19740     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
19741     VARIANT oncontrolselect();
19742
19743     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
19744     VARIANT_BOOL fireEvent(
19745             [in] BSTR bstrEventName,
19746             [in, optional] VARIANT *pvarEventObject);
19747
19748     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
19749     void onresizestart(VARIANT v);
19750
19751     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
19752     VARIANT onresizestart();
19753
19754     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
19755     void onresizeend(VARIANT v);
19756
19757     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
19758     VARIANT onresizeend();
19759
19760     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
19761     void onmovestart(VARIANT v);
19762
19763     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
19764     VARIANT onmovestart();
19765
19766     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
19767     void onmoveend(VARIANT v);
19768
19769     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
19770     VARIANT onmoveend();
19771
19772     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
19773     void onmouseenter(VARIANT v);
19774
19775     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
19776     VARIANT onmouseenter();
19777
19778     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
19779     void onmouseleave(VARIANT v);
19780
19781     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
19782     VARIANT onmouseleave();
19783
19784     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
19785     void onactivate(VARIANT v);
19786
19787     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
19788     VARIANT onactivate();
19789
19790     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
19791     void ondeactivate(VARIANT v);
19792
19793     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
19794     VARIANT ondeactivate();
19795
19796     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
19797     VARIANT_BOOL dragDrop();
19798
19799     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
19800     LONG glyphMode();
19801
19802     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
19803     void onmousewheel(VARIANT v);
19804
19805     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
19806     VARIANT onmousewheel();
19807
19808     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
19809     void normalize();
19810
19811     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
19812     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
19813
19814     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
19815     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
19816
19817     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
19818     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
19819
19820     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
19821     void onbeforeactivate(VARIANT v);
19822
19823     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
19824     VARIANT onbeforeactivate();
19825
19826     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
19827     void onfocusin(VARIANT v);
19828
19829     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
19830     VARIANT onfocusin();
19831
19832     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
19833     void onfocusout(VARIANT v);
19834
19835     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
19836     VARIANT onfocusout();
19837
19838     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
19839     long uniqueNumber();
19840
19841     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
19842     BSTR uniqueID();
19843
19844     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
19845     long nodeType();
19846
19847     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
19848     IHTMLDOMNode *parentNode();
19849
19850     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
19851     VARIANT_BOOL hasChildNodes();
19852
19853     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
19854     IDispatch *childNodes();
19855
19856     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
19857     IDispatch *attributes();
19858
19859     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
19860     IHTMLDOMNode *insertBefore(
19861             [in] IHTMLDOMNode *newChild,
19862             [in, optional] VARIANT refChild);
19863
19864     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
19865     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
19866
19867     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
19868     IHTMLDOMNode *replaceChild(
19869             [in] IHTMLDOMNode *newChild,
19870             [in] IHTMLDOMNode *oldChild);
19871
19872     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
19873     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
19874
19875     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
19876     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
19877
19878     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
19879     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
19880
19881     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
19882     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
19883
19884     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
19885     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
19886
19887     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
19888     BSTR nodeName();
19889
19890     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
19891     void nodeValue(VARIANT v);
19892
19893     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
19894     VARIANT nodeValue();
19895
19896     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
19897     IHTMLDOMNode *firstChild();
19898
19899     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
19900     IHTMLDOMNode *lastChild();
19901
19902     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
19903     IHTMLDOMNode *previousSibling();
19904
19905     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
19906     IHTMLDOMNode *nextSibling();
19907
19908     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
19909     IDispatch *ownerDocument();
19910
19911     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
19912     void dataFld(BSTR v);
19913
19914     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
19915     BSTR dataFld();
19916
19917     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
19918     void dataSrc(BSTR v);
19919
19920     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
19921     BSTR dataSrc();
19922
19923     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
19924     void dataFormatAs(BSTR v);
19925
19926     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
19927     BSTR dataFormatAs();
19928
19929     [propput, id(DISPID_IHTMLFRAMEBASE_SRC)]
19930     void src(BSTR v);
19931
19932     [propget, id(DISPID_IHTMLFRAMEBASE_SRC)]
19933     BSTR src();
19934
19935     [propput, id(DISPID_IHTMLFRAMEBASE_NAME)]
19936     void name(BSTR v);
19937
19938     [propget, id(DISPID_IHTMLFRAMEBASE_NAME)]
19939     BSTR name();
19940
19941     [propput, id(DISPID_IHTMLFRAMEBASE_BORDER)]
19942     void border(VARIANT v);
19943
19944     [propget, id(DISPID_IHTMLFRAMEBASE_BORDER)]
19945     VARIANT border();
19946
19947     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
19948     void frameBorder(BSTR v);
19949
19950     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
19951     BSTR frameBorder();
19952
19953     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
19954     void frameSpacing(VARIANT v);
19955
19956     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
19957     VARIANT frameSpacing();
19958
19959     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
19960     void marginWidth(VARIANT v);
19961
19962     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
19963     VARIANT marginWidth();
19964
19965     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
19966     void marginHeight(VARIANT v);
19967
19968     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
19969     VARIANT marginHeight();
19970
19971     [propput, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
19972     void noResize(VARIANT_BOOL v);
19973
19974     [propget, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
19975     VARIANT_BOOL noResize();
19976
19977     [propput, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
19978     void scrolling(BSTR v);
19979
19980     [propget, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
19981     BSTR scrolling();
19982
19983     [propget, id(DISPID_IHTMLFRAMEBASE2_CONTENTWINDOW)]
19984     IHTMLWindow2 *contentWindow();
19985
19986     [propput, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
19987     void onload(VARIANT v);
19988
19989     [propget, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
19990     VARIANT onload();
19991
19992     [propput, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
19993     void allowTransparency(VARIANT_BOOL v);
19994
19995     [propget, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
19996     VARIANT_BOOL allowTransparency();
19997
19998     [propput, id(DISPID_IHTMLFRAMEBASE3_LONGDESC), displaybind, bindable]
19999     void longDesc(BSTR v);
20000
20001     [propget, id(DISPID_IHTMLFRAMEBASE3_LONGDESC), displaybind, bindable]
20002     BSTR longDesc();
20003
20004     [propput, id(DISPID_IHTMLIFRAMEELEMENT_VSPACE)]
20005     void vspace(long v);
20006
20007     [propget, id(DISPID_IHTMLIFRAMEELEMENT_VSPACE)]
20008     long vspace();
20009
20010     [propput, id(DISPID_IHTMLIFRAMEELEMENT_HSPACE)]
20011     void hspace(long v);
20012
20013     [propget, id(DISPID_IHTMLIFRAMEELEMENT_HSPACE)]
20014     long hspace();
20015
20016     [propput, id(DISPID_IHTMLIFRAMEELEMENT_ALIGN), displaybind, bindable]
20017     void align(BSTR v);
20018
20019     [propget, id(DISPID_IHTMLIFRAMEELEMENT_ALIGN), displaybind, bindable]
20020     BSTR align();
20021
20022     [propput, id(DISPID_IHTMLIFRAMEELEMENT2_HEIGHT)]
20023     void height(VARIANT v);
20024
20025     [propget, id(DISPID_IHTMLIFRAMEELEMENT2_HEIGHT)]
20026     VARIANT height();
20027
20028     [propput, id(DISPID_IHTMLIFRAMEELEMENT2_WIDTH)]
20029     void width(VARIANT v);
20030
20031     [propget, id(DISPID_IHTMLIFRAMEELEMENT2_WIDTH)]
20032     VARIANT width();
20033 }
20034
20035 } /* library MSHTML */