user32/tests: Cope with last error behavior on Vista.
[wine] / include / mshtml.idl
1 /*
2  * Copyright 2004-2007 Jacek Caban for CodeWeavers
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Lesser General Public
6  * License as published by the Free Software Foundation; either
7  * version 2.1 of the License, or (at your option) any later version.
8  *
9  * This library is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12  * Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public
15  * License along with this library; if not, write to the Free Software
16  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
17  */
18
19 #include <mshtmdid.h>
20 #include <mshtmcid.h>
21 #include <olectl.h>
22
23 import "ocidl.idl";
24 import "dimm.idl";
25 import "shtypes.idl";
26
27 cpp_quote("#include <olectl.h>")
28
29 cpp_quote("DEFINE_GUID(SID_SEditCommandTarget,  0x3050f4b5,0x98b5,0x11cf,0xbb,0x82,0x00,0xaa,0x00,0xbd,0xce,0x0b);")
30 cpp_quote("DEFINE_GUID(SID_SHTMLEditHost,       0x3050f6a0,0x98b5,0x11cf,0xbb,0x82,0x00,0xaa,0x00,0xbd,0xce,0x0b);")
31 cpp_quote("DEFINE_GUID(SID_SHTMLEditServices,   0x3050f7f9,0x98b5,0x11cf,0xbb,0x82,0x00,0xaa,0x00,0xbd,0xce,0x0b);")
32 cpp_quote("#define SID_SHTMLWindow IID_IHTMLWindow2")
33 cpp_quote("#define SID_SElementBehaviorFactory IID_IElementBehaviorFactory")
34
35 interface IHTMLDocument2;
36 interface IHTMLStyleSheetsCollection;
37 interface IHTMLFrameBase;
38
39 /*****************************************************************************
40  *    IHTMLFiltersCollection interface
41  */
42 [
43     odl,
44     oleautomation,
45     dual,
46     uuid(3050F3EE-98B5-11Cf-BB82-00AA00BDCE0B)
47 ]
48 interface IHTMLFiltersCollection : IDispatch
49 {
50     [propget, id(DISPID_IHTMLFILTERSCOLLECTION_LENGTH)]
51     HRESULT length([retval, out] long *p);
52
53     [propget, id(DISPID_IHTMLFILTERSCOLLECTION__NEWENUM)]
54     HRESULT _newEnum([retval, out] IUnknown **p);
55
56     [id(DISPID_IHTMLFILTERSCOLLECTION_ITEM)]
57     HRESULT item(
58         [in] VARIANT *pvarIndex,
59         [retval, out] VARIANT *pvarResult);
60 }
61
62 [
63     version(4.0),
64     uuid(3050F1C5-98B5-11CF-BB82-00AA00BDCE0B)
65 ]
66 library MSHTML
67 {
68
69 importlib("stdole2.tlb");
70
71 /*****************************************************************************
72  *    IHTMLStyle interface
73  */
74 [
75     odl,
76     oleautomation,
77     dual,
78     uuid(3050F25E-98B5-11CF-BB82-00AA00BDCE0B)
79 ]
80 interface IHTMLStyle : IDispatch
81 {
82     [propput, id(DISPID_IHTMLSTYLE_FONTFAMILY), bindable, displaybind]
83     HRESULT fontFamily([in] BSTR v);
84
85     [propget, id(DISPID_IHTMLSTYLE_FONTFAMILY), bindable, displaybind]
86     HRESULT fontFamily([retval, out] BSTR *p);
87
88     [propput, id(DISPID_IHTMLSTYLE_FONTSTYLE), bindable, displaybind]
89     HRESULT fontStyle([in] BSTR v);
90
91     [propget, id(DISPID_IHTMLSTYLE_FONTSTYLE), bindable, displaybind]
92     HRESULT fontStyle([retval, out] BSTR *p);
93
94     [propput, id(DISPID_IHTMLSTYLE_FONTVARIANT), bindable, displaybind]
95     HRESULT fontVariant([in] BSTR v);
96
97     [propget, id(DISPID_IHTMLSTYLE_FONTVARIANT), bindable, displaybind]
98     HRESULT fontVariant([retval, out] BSTR *p);
99
100     [propput, id(DISPID_IHTMLSTYLE_FONTWEIGHT), bindable, displaybind]
101     HRESULT fontWeight([in] BSTR v);
102
103     [propget, id(DISPID_IHTMLSTYLE_FONTWEIGHT), bindable, displaybind]
104     HRESULT fontWeight([retval, out] BSTR *p);
105
106     [propput, id(DISPID_IHTMLSTYLE_FONTSIZE), bindable, displaybind]
107     HRESULT fontSize([in] VARIANT v);
108
109     [propget, id(DISPID_IHTMLSTYLE_FONTSIZE), bindable, displaybind]
110     HRESULT fontSize([retval, out] VARIANT *p);
111
112     [propput, id(DISPID_IHTMLSTYLE_FONT), bindable, displaybind]
113     HRESULT font([in] BSTR v);
114
115     [propget, id(DISPID_IHTMLSTYLE_FONT), bindable, displaybind]
116     HRESULT font([retval, out] BSTR *p);
117
118     [propput, id(DISPID_IHTMLSTYLE_COLOR), bindable, displaybind]
119     HRESULT color([in] VARIANT v);
120
121     [propget, id(DISPID_IHTMLSTYLE_COLOR), bindable, displaybind]
122     HRESULT color([retval, out] VARIANT *p);
123
124     [propput, id(DISPID_IHTMLSTYLE_BACKGROUND), bindable, displaybind]
125     HRESULT background([in] BSTR v);
126
127     [propget, id(DISPID_IHTMLSTYLE_BACKGROUND), bindable, displaybind]
128     HRESULT background([retval, out] BSTR *p);
129
130     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), bindable, displaybind]
131     HRESULT backgroundColor([in] VARIANT v);
132
133     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), bindable, displaybind]
134     HRESULT backgroundColor([retval, out] VARIANT *p);
135
136     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), bindable, displaybind]
137     HRESULT backgroundImage([in] BSTR v);
138
139     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), bindable, displaybind]
140     HRESULT backgroundImage([retval, out] BSTR *p);
141
142     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), bindable, displaybind]
143     HRESULT backgroundRepeat([in] BSTR v);
144
145     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), bindable, displaybind]
146     HRESULT backgroundRepeat([retval, out] BSTR *p);
147
148     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
149     HRESULT backgroundAttachment([in] BSTR v);
150
151     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
152     HRESULT backgroundAttachment([retval, out] BSTR *p);
153
154     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), bindable, displaybind]
155     HRESULT backgroundPosition([in] BSTR v);
156
157     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), bindable, displaybind]
158     HRESULT backgroundPosition([retval, out] BSTR *p);
159
160     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
161     HRESULT backgroundPositionX([in] VARIANT v);
162
163     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
164     HRESULT backgroundPositionX([retval, out] VARIANT *p);
165
166     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
167     HRESULT backgroundPositionY([in] VARIANT v);
168
169     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
170     HRESULT backgroundPositionY([retval, out] VARIANT *p);
171
172     [propput, id(DISPID_IHTMLSTYLE_WORDSPACING), bindable, displaybind]
173     HRESULT wordSpacing([in] VARIANT v);
174
175     [propget, id(DISPID_IHTMLSTYLE_WORDSPACING), bindable, displaybind]
176     HRESULT wordSpacing([retval, out] VARIANT *p);
177
178     [propput, id(DISPID_IHTMLSTYLE_LETTERSPACING), bindable, displaybind]
179     HRESULT letterSpacing([in] VARIANT v);
180
181     [propget, id(DISPID_IHTMLSTYLE_LETTERSPACING), bindable, displaybind]
182     HRESULT letterSpacing([retval, out] VARIANT *p);
183
184     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATION), bindable, displaybind]
185     HRESULT textDecoration([in] BSTR v);
186
187     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATION), bindable, displaybind]
188     HRESULT textDecoration([retval, out] BSTR *p);
189
190     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), bindable, displaybind]
191     HRESULT textDecorationNone([in] VARIANT_BOOL v);
192
193     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), bindable, displaybind]
194     HRESULT textDecorationNone([retval, out] VARIANT_BOOL *p);
195
196     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
197     HRESULT textDecorationUnderline([in] VARIANT_BOOL v);
198
199     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
200     HRESULT textDecorationUnderline([retval, out] VARIANT_BOOL *p);
201
202     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
203     HRESULT textDecorationOverline([in] VARIANT_BOOL v);
204
205     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
206     HRESULT textDecorationOverline([retval, out] VARIANT_BOOL *p);
207
208     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
209     HRESULT textDecorationLineThrough([in] VARIANT_BOOL v);
210
211     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
212     HRESULT textDecorationLineThrough([retval, out] VARIANT_BOOL *p);
213
214     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
215     HRESULT textDecorationBlink([in] VARIANT_BOOL v);
216
217     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
218     HRESULT textDecorationBlink([retval, out] VARIANT_BOOL *p);
219
220     [propput, id(DISPID_IHTMLSTYLE_VERTICALALIGN), bindable, displaybind]
221     HRESULT verticalAlign([in] VARIANT v);
222
223     [propget, id(DISPID_IHTMLSTYLE_VERTICALALIGN), bindable, displaybind]
224     HRESULT verticalAlign([retval, out] VARIANT *p);
225
226     [propput, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), bindable, displaybind]
227     HRESULT textTransform([in] BSTR v);
228
229     [propget, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), bindable, displaybind]
230     HRESULT textTransform([retval, out] BSTR *p);
231
232     [propput, id(DISPID_IHTMLSTYLE_TEXTALIGN), bindable, displaybind]
233     HRESULT textAlign([in] BSTR v);
234
235     [propget, id(DISPID_IHTMLSTYLE_TEXTALIGN), bindable, displaybind]
236     HRESULT textAlign([retval, out] BSTR *p);
237
238     [propput, id(DISPID_IHTMLSTYLE_TEXTINDENT), bindable, displaybind]
239     HRESULT textIndent([in] VARIANT v);
240
241     [propget, id(DISPID_IHTMLSTYLE_TEXTINDENT), bindable, displaybind]
242     HRESULT textIndent([retval, out] VARIANT *p);
243
244     [propput, id(DISPID_IHTMLSTYLE_LINEHEIGHT), bindable, displaybind]
245     HRESULT lineHeight([in] VARIANT v);
246
247     [propget, id(DISPID_IHTMLSTYLE_LINEHEIGHT), bindable, displaybind]
248     HRESULT lineHeight([retval, out] VARIANT *p);
249
250     [propput, id(DISPID_IHTMLSTYLE_MARGINTOP), bindable, displaybind]
251     HRESULT marginTop([in] VARIANT v);
252
253     [propget, id(DISPID_IHTMLSTYLE_MARGINTOP), bindable, displaybind]
254     HRESULT marginTop([retval, out] VARIANT *p);
255
256     [propput, id(DISPID_IHTMLSTYLE_MARGINRIGHT), bindable, displaybind]
257     HRESULT marginRight([in] VARIANT v);
258
259     [propget, id(DISPID_IHTMLSTYLE_MARGINRIGHT), bindable, displaybind]
260     HRESULT marginRight([retval, out] VARIANT *p);
261
262     [propput, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), bindable, displaybind]
263     HRESULT marginBottom([in] VARIANT v);
264
265     [propget, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), bindable, displaybind]
266     HRESULT marginBottom([retval, out] VARIANT *p);
267
268     [propput, id(DISPID_IHTMLSTYLE_MARGINLEFT), bindable, displaybind]
269     HRESULT marginLeft([in] VARIANT v);
270
271     [propget, id(DISPID_IHTMLSTYLE_MARGINLEFT), bindable, displaybind]
272     HRESULT marginLeft([retval, out] VARIANT *p);
273
274     [propput, id(DISPID_IHTMLSTYLE_MARGIN), bindable, displaybind]
275     HRESULT margin([in] BSTR v);
276
277     [propget, id(DISPID_IHTMLSTYLE_MARGIN), bindable, displaybind]
278     HRESULT margin([retval, out] BSTR *p);
279
280     [propput, id(DISPID_IHTMLSTYLE_PADDINGTOP), bindable, displaybind]
281     HRESULT paddingTop([in] VARIANT v);
282
283     [propget, id(DISPID_IHTMLSTYLE_PADDINGTOP), bindable, displaybind]
284     HRESULT paddingTop([retval, out] VARIANT *p);
285
286     [propput, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), bindable, displaybind]
287     HRESULT paddingRight([in] VARIANT v);
288
289     [propget, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), bindable, displaybind]
290     HRESULT paddingRight([retval, out] VARIANT *p);
291
292     [propput, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), bindable, displaybind]
293     HRESULT paddingBottom([in] VARIANT v);
294
295     [propget, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), bindable, displaybind]
296     HRESULT paddingBottom([retval, out] VARIANT *p);
297
298     [propput, id(DISPID_IHTMLSTYLE_PADDINGLEFT), bindable, displaybind]
299     HRESULT paddingLeft([in] VARIANT v);
300
301     [propget, id(DISPID_IHTMLSTYLE_PADDINGLEFT), bindable, displaybind]
302     HRESULT paddingLeft([retval, out] VARIANT *p);
303
304     [propput, id(DISPID_IHTMLSTYLE_PADDING), bindable, displaybind]
305     HRESULT padding([in] BSTR v);
306
307     [propget, id(DISPID_IHTMLSTYLE_PADDING), bindable, displaybind]
308     HRESULT padding([retval, out] BSTR *p);
309
310     [propput, id(DISPID_IHTMLSTYLE_BORDER), bindable, displaybind]
311     HRESULT border([in] BSTR v);
312
313     [propget, id(DISPID_IHTMLSTYLE_BORDER), bindable, displaybind]
314     HRESULT border([retval, out] BSTR *p);
315
316     [propput, id(DISPID_IHTMLSTYLE_BORDERTOP), bindable, displaybind]
317     HRESULT borderTop([in] BSTR v);
318
319     [propget, id(DISPID_IHTMLSTYLE_BORDERTOP), bindable, displaybind]
320     HRESULT borderTop([retval, out] BSTR *p);
321
322     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHT), bindable, displaybind]
323     HRESULT borderRight([in] BSTR v);
324
325     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHT), bindable, displaybind]
326     HRESULT borderRight([retval, out] BSTR *p);
327
328     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), bindable, displaybind]
329     HRESULT borderBottom([in] BSTR v);
330
331     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), bindable, displaybind]
332     HRESULT borderBottom([retval, out] BSTR *p);
333
334     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFT), bindable, displaybind]
335     HRESULT borderLeft([in] BSTR v);
336
337     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFT), bindable, displaybind]
338     HRESULT borderLeft([retval, out] BSTR *p);
339
340     [propput, id(DISPID_IHTMLSTYLE_BORDERCOLOR), bindable, displaybind]
341     HRESULT borderColor([in] BSTR v);
342
343     [propget, id(DISPID_IHTMLSTYLE_BORDERCOLOR), bindable, displaybind]
344     HRESULT borderColor([retval, out] BSTR *p);
345
346     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), bindable, displaybind]
347     HRESULT borderTopColor([in] VARIANT v);
348
349     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), bindable, displaybind]
350     HRESULT borderTopColor([retval, out] VARIANT *p);
351
352     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
353     HRESULT borderRightColor([in] VARIANT v);
354
355     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
356     HRESULT borderRightColor([retval, out] VARIANT *p);
357
358     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
359     HRESULT borderBottomColor([in] VARIANT v);
360
361     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
362     HRESULT borderBottomColor([retval, out] VARIANT *p);
363
364     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), bindable, displaybind]
365     HRESULT borderLeftColor([in] VARIANT v);
366
367     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), bindable, displaybind]
368     HRESULT borderLeftColor([retval, out] VARIANT *p);
369
370     [propput, id(DISPID_IHTMLSTYLE_BORDERWIDTH), bindable, displaybind]
371     HRESULT borderWidth([in] BSTR v);
372
373     [propget, id(DISPID_IHTMLSTYLE_BORDERWIDTH), bindable, displaybind]
374     HRESULT borderWidth([retval, out] BSTR *p);
375
376     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), bindable, displaybind]
377     HRESULT borderTopWidth([in] VARIANT v);
378
379     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), bindable, displaybind]
380     HRESULT borderTopWidth([retval, out] VARIANT *p);
381
382     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
383     HRESULT borderRightWidth([in] VARIANT v);
384
385     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
386     HRESULT borderRightWidth([retval, out] VARIANT *p);
387
388     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
389     HRESULT borderBottomWidth([in] VARIANT v);
390
391     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
392     HRESULT borderBottomWidth([retval, out] VARIANT *p);
393
394     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), bindable, displaybind]
395     HRESULT borderLeftWidth([in] VARIANT v);
396
397     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), bindable, displaybind]
398     HRESULT borderLeftWidth([retval, out] VARIANT *p);
399
400     [propput, id(DISPID_IHTMLSTYLE_BORDERSTYLE), bindable, displaybind]
401     HRESULT borderStyle([in] BSTR v);
402
403     [propget, id(DISPID_IHTMLSTYLE_BORDERSTYLE), bindable, displaybind]
404     HRESULT borderStyle([retval, out] BSTR *p);
405
406     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), bindable, displaybind]
407     HRESULT borderTopStyle([in] BSTR v);
408
409     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), bindable, displaybind]
410     HRESULT borderTopStyle([retval, out] BSTR *p);
411
412     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
413     HRESULT borderRightStyle([in] BSTR v);
414
415     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
416     HRESULT borderRightStyle([retval, out] BSTR *p);
417
418     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
419     HRESULT borderBottomStyle([in] BSTR v);
420
421     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
422     HRESULT borderBottomStyle([retval, out] BSTR *p);
423
424     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), bindable, displaybind]
425     HRESULT borderLeftStyle([in] BSTR v);
426
427     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), bindable, displaybind]
428     HRESULT borderLeftStyle([retval, out] BSTR *p);
429
430     [propput, id(DISPID_IHTMLSTYLE_WIDTH), bindable, displaybind]
431     HRESULT width([in] VARIANT v);
432
433     [propget, id(DISPID_IHTMLSTYLE_WIDTH), bindable, displaybind]
434     HRESULT width([retval, out] VARIANT *p);
435
436     [propput, id(DISPID_IHTMLSTYLE_HEIGHT), bindable, displaybind]
437     HRESULT height([in] VARIANT v);
438
439     [propget, id(DISPID_IHTMLSTYLE_HEIGHT), bindable, displaybind]
440     HRESULT height([retval, out] VARIANT *p);
441
442     [propput, id(DISPID_IHTMLSTYLE_STYLEFLOAT), bindable, displaybind]
443     HRESULT styleFloat([in] BSTR v);
444
445     [propget, id(DISPID_IHTMLSTYLE_STYLEFLOAT), bindable, displaybind]
446     HRESULT styleFloat([retval, out] BSTR *p);
447
448     [propput, id(DISPID_IHTMLSTYLE_CLEAR), bindable, displaybind]
449     HRESULT clear([in] BSTR v);
450
451     [propget, id(DISPID_IHTMLSTYLE_CLEAR), bindable, displaybind]
452     HRESULT clear([retval, out] BSTR *p);
453
454     [propput, id(DISPID_IHTMLSTYLE_DISPLAY), bindable, displaybind]
455     HRESULT display([in] BSTR v);
456
457     [propget, id(DISPID_IHTMLSTYLE_DISPLAY), bindable, displaybind]
458     HRESULT display([retval, out] BSTR *p);
459
460     [propput, id(DISPID_IHTMLSTYLE_VISIBILITY), bindable, displaybind]
461     HRESULT visibility([in] BSTR v);
462
463     [propget, id(DISPID_IHTMLSTYLE_VISIBILITY), bindable, displaybind]
464     HRESULT visibility([retval, out] BSTR *p);
465
466     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), bindable, displaybind]
467     HRESULT listStyleType([in] BSTR v);
468
469     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), bindable, displaybind]
470     HRESULT listStyleType([retval, out] BSTR *p);
471
472     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), bindable, displaybind]
473     HRESULT listStylePosition([in] BSTR v);
474
475     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), bindable, displaybind]
476     HRESULT listStylePosition([retval, out] BSTR *p);
477
478     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), bindable, displaybind]
479     HRESULT listStyleImage([in] BSTR v);
480
481     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), bindable, displaybind]
482     HRESULT listStyleImage([retval, out] BSTR *p);
483
484     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLE), bindable, displaybind]
485     HRESULT listStyle([in] BSTR v);
486
487     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLE), bindable, displaybind]
488     HRESULT listStyle([retval, out] BSTR *p);
489
490     [propput, id(DISPID_IHTMLSTYLE_WHITESPACE), bindable, displaybind]
491     HRESULT whiteSpace([in] BSTR v);
492
493     [propget, id(DISPID_IHTMLSTYLE_WHITESPACE), bindable, displaybind]
494     HRESULT whiteSpace([retval, out] BSTR *p);
495
496     [propput, id(DISPID_IHTMLSTYLE_TOP), bindable, displaybind]
497     HRESULT top([in] VARIANT v);
498
499     [propget, id(DISPID_IHTMLSTYLE_TOP), bindable, displaybind]
500     HRESULT top([retval, out] VARIANT *p);
501
502     [propput, id(DISPID_IHTMLSTYLE_LEFT), bindable, displaybind]
503     HRESULT left([in] VARIANT v);
504
505     [propget, id(DISPID_IHTMLSTYLE_LEFT), bindable, displaybind]
506     HRESULT left([retval, out] VARIANT *p);
507
508     [propget, id(DISPID_IHTMLSTYLE_POSITION), bindable, displaybind]
509     HRESULT position([retval, out] BSTR *p);
510
511     [propput, id(DISPID_IHTMLSTYLE_ZINDEX), bindable, displaybind]
512     HRESULT zIndex([in] VARIANT v);
513
514     [propget, id(DISPID_IHTMLSTYLE_ZINDEX), bindable, displaybind]
515     HRESULT zIndex([retval, out] VARIANT *p);
516
517     [propput, id(DISPID_IHTMLSTYLE_OVERFLOW), bindable, displaybind]
518     HRESULT overflow([in] BSTR v);
519
520     [propget, id(DISPID_IHTMLSTYLE_OVERFLOW), bindable, displaybind]
521     HRESULT overflow([retval, out] BSTR *p);
522
523     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), bindable, displaybind]
524     HRESULT pageBreakBefore([in] BSTR v);
525
526     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), bindable, displaybind]
527     HRESULT pageBreakBefore([retval, out] BSTR *p);
528
529     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), bindable, displaybind]
530     HRESULT pageBreakAfter([in] BSTR v);
531
532     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), bindable, displaybind]
533     HRESULT pageBreakAfter([retval, out] BSTR *p);
534
535     [propput, id(DISPID_IHTMLSTYLE_CSSTEXT), bindable, displaybind]
536     HRESULT cssText([in] BSTR v);
537
538     [propget, id(DISPID_IHTMLSTYLE_CSSTEXT), bindable, displaybind]
539     HRESULT cssText([retval, out] BSTR *p);
540
541     [propput, id(DISPID_IHTMLSTYLE_PIXELTOP), bindable, displaybind, hidden]
542     HRESULT pixelTop([in] long v);
543
544     [propget, id(DISPID_IHTMLSTYLE_PIXELTOP), bindable, displaybind, hidden]
545     HRESULT pixelTop([retval, out] long *p);
546
547     [propput, id(DISPID_IHTMLSTYLE_PIXELLEFT), bindable, displaybind, hidden]
548     HRESULT pixelLeft([in] long v);
549
550     [propget, id(DISPID_IHTMLSTYLE_PIXELLEFT), bindable, displaybind, hidden]
551     HRESULT pixelLeft([retval, out] long *p);
552
553     [propput, id(DISPID_IHTMLSTYLE_PIXELWIDTH), bindable, displaybind, hidden]
554     HRESULT pixelWidth([in] long v);
555
556     [propget, id(DISPID_IHTMLSTYLE_PIXELWIDTH), bindable, displaybind, hidden]
557     HRESULT pixelWidth([retval, out] long *p);
558
559     [propput, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), bindable, displaybind, hidden]
560     HRESULT pixelHeight([in] long v);
561
562     [propget, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), bindable, displaybind, hidden]
563     HRESULT pixelHeight([retval, out] long *p);
564
565     [propput, id(DISPID_IHTMLSTYLE_POSTOP), bindable, displaybind]
566     HRESULT posTop([in] float v);
567
568     [propget, id(DISPID_IHTMLSTYLE_POSTOP), bindable, displaybind]
569     HRESULT posTop([retval, out] float *p);
570
571     [propput, id(DISPID_IHTMLSTYLE_POSLEFT), bindable, displaybind]
572     HRESULT posLeft([in] float v);
573
574     [propget, id(DISPID_IHTMLSTYLE_POSLEFT), bindable, displaybind]
575     HRESULT posLeft([retval, out] float *p);
576
577     [propput, id(DISPID_IHTMLSTYLE_POSWIDTH), bindable, displaybind]
578     HRESULT posWidth([in] float v);
579
580     [propget, id(DISPID_IHTMLSTYLE_POSWIDTH), bindable, displaybind]
581     HRESULT posWidth([retval, out] float *p);
582
583     [propput, id(DISPID_IHTMLSTYLE_POSHEIGHT), bindable, displaybind]
584     HRESULT posHeight([in] float v);
585
586     [propget, id(DISPID_IHTMLSTYLE_POSHEIGHT), bindable, displaybind]
587     HRESULT posHeight([retval, out] float *p);
588
589     [propput, id(DISPID_IHTMLSTYLE_CURSOR), bindable, displaybind]
590     HRESULT cursor([in] BSTR v);
591
592     [propget, id(DISPID_IHTMLSTYLE_CURSOR), bindable, displaybind]
593     HRESULT cursor([retval, out] BSTR *p);
594
595     [propput, id(DISPID_IHTMLSTYLE_CLIP), bindable, displaybind]
596     HRESULT clip([in] BSTR v);
597
598     [propget, id(DISPID_IHTMLSTYLE_CLIP), bindable, displaybind]
599     HRESULT clip([retval, out] BSTR *p);
600
601     [propput, id(DISPID_IHTMLSTYLE_FILTER), bindable, displaybind]
602     HRESULT filter([in] BSTR v);
603
604     [propget, id(DISPID_IHTMLSTYLE_FILTER), bindable, displaybind]
605     HRESULT filter([retval, out] BSTR *p);
606
607     [id(DISPID_IHTMLSTYLE_SETATTRIBUTE)]
608     HRESULT setAttribute(
609         [in] BSTR strAttributeName,
610         [in] VARIANT AttributeValue,
611         [defaultvalue(1), in] LONG lFlags);
612
613     [id(DISPID_IHTMLSTYLE_GETATTRIBUTE)]
614     HRESULT getAttribute(
615         [in] BSTR strAttributeName,
616         [defaultvalue(0), in] LONG lFlags,
617         [retval, out] VARIANT *AttributeValue);
618
619     [id(DISPID_IHTMLSTYLE_REMOVEATTRIBUTE)]
620     HRESULT removeAttribute(
621         [in] BSTR strAttributeName,
622         [defaultvalue(1), in]
623         LONG lFlags,
624         [retval, out] VARIANT_BOOL *pfSuccess);
625
626     [id(DISPID_IHTMLSTYLE_TOSTRING)]
627     HRESULT toString([retval, out] BSTR *String);
628 }
629
630 /*****************************************************************************
631  *    IHTMLRuleStyle interface
632  */
633 [
634         odl,
635         oleautomation,
636         dual,
637         uuid(3050F3CF-98B5-11CF-BB82-00AA00BDCE0B)
638 ]
639 interface IHTMLRuleStyle : IDispatch
640 {
641     [propput, id(DISPID_IHTMLRULESTYLE_FONTFAMILY), bindable, displaybind]
642     HRESULT fontFamily([in] BSTR v);
643
644     [propget, id(DISPID_IHTMLRULESTYLE_FONTFAMILY), bindable, displaybind]
645     HRESULT fontFamily([retval, out] BSTR *p);
646
647     [propput, id(DISPID_IHTMLRULESTYLE_FONTSTYLE), bindable, displaybind]
648     HRESULT fontStyle([in] BSTR v);
649
650     [propget, id(DISPID_IHTMLRULESTYLE_FONTSTYLE), bindable, displaybind]
651     HRESULT fontStyle([retval, out] BSTR *p);
652
653     [propput, id(DISPID_IHTMLRULESTYLE_FONTVARIANT), bindable, displaybind]
654     HRESULT fontVariant([in] BSTR v);
655
656     [propget, id(DISPID_IHTMLRULESTYLE_FONTVARIANT), bindable, displaybind]
657     HRESULT fontVariant([retval, out] BSTR *p);
658
659     [propput, id(DISPID_IHTMLRULESTYLE_FONTWEIGHT), bindable, displaybind]
660     HRESULT fontWeight([in] BSTR v);
661
662     [propget, id(DISPID_IHTMLRULESTYLE_FONTWEIGHT), bindable, displaybind]
663     HRESULT fontWeight([retval, out] BSTR *p);
664
665     [propput, id(DISPID_IHTMLRULESTYLE_FONTSIZE), bindable, displaybind]
666     HRESULT fontSize([in] VARIANT v);
667
668     [propget, id(DISPID_IHTMLRULESTYLE_FONTSIZE), bindable, displaybind]
669     HRESULT fontSize([retval, out] VARIANT *p);
670
671     [propput, id(DISPID_IHTMLRULESTYLE_FONT), bindable, displaybind]
672     HRESULT font([in] BSTR v);
673
674     [propget, id(DISPID_IHTMLRULESTYLE_FONT), bindable, displaybind]
675     HRESULT font([retval, out] BSTR *p);
676
677     [propput, id(DISPID_IHTMLRULESTYLE_COLOR), bindable, displaybind]
678     HRESULT color([in] VARIANT v);
679
680     [propget, id(DISPID_IHTMLRULESTYLE_COLOR), bindable, displaybind]
681     HRESULT color([retval, out] VARIANT *p);
682
683     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUND), bindable, displaybind]
684     HRESULT background([in] BSTR v);
685
686     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUND), bindable, displaybind]
687     HRESULT background([retval, out] BSTR *p);
688
689     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDCOLOR), bindable, displaybind]
690     HRESULT backgroundColor([in] VARIANT v);
691
692     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDCOLOR), bindable, displaybind]
693     HRESULT backgroundColor([retval, out] VARIANT *p);
694
695     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDIMAGE), bindable, displaybind]
696     HRESULT backgroundImage([in] BSTR v);
697
698     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDIMAGE), bindable, displaybind]
699     HRESULT backgroundImage([retval, out] BSTR *p);
700
701     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDREPEAT), bindable, displaybind]
702     HRESULT backgroundRepeat([in] BSTR v);
703
704     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDREPEAT), bindable, displaybind]
705     HRESULT backgroundRepeat([retval, out] BSTR *p);
706
707     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
708     HRESULT backgroundAttachment([in] BSTR v);
709
710     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
711     HRESULT backgroundAttachment([retval, out] BSTR *p);
712
713     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITION), bindable, displaybind]
714     HRESULT backgroundPosition([in] BSTR v);
715
716     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITION), bindable, displaybind]
717     HRESULT backgroundPosition([retval, out] BSTR *p);
718
719     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
720     HRESULT backgroundPositionX([in] VARIANT v);
721
722     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
723     HRESULT backgroundPositionX([retval, out] VARIANT *p);
724
725     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
726     HRESULT backgroundPositionY([in] VARIANT v);
727
728     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
729     HRESULT backgroundPositionY([retval, out] VARIANT *p);
730
731     [propput, id(DISPID_IHTMLRULESTYLE_WORDSPACING), bindable, displaybind]
732     HRESULT wordSpacing([in] VARIANT v);
733
734     [propget, id(DISPID_IHTMLRULESTYLE_WORDSPACING), bindable, displaybind]
735     HRESULT wordSpacing([retval, out] VARIANT *p);
736
737     [propput, id(DISPID_IHTMLRULESTYLE_LETTERSPACING), bindable, displaybind]
738     HRESULT letterSpacing([in] VARIANT v);
739
740     [propget, id(DISPID_IHTMLRULESTYLE_LETTERSPACING), bindable, displaybind]
741     HRESULT letterSpacing([retval, out] VARIANT *p);
742
743     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATION), bindable, displaybind]
744     HRESULT textDecoration([in] BSTR v);
745
746     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATION), bindable, displaybind]
747     HRESULT textDecoration([retval, out] BSTR *p);
748
749     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONNONE), bindable, displaybind]
750     HRESULT textDecorationNone([in] VARIANT_BOOL v);
751
752     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONNONE), bindable, displaybind]
753     HRESULT textDecorationNone([retval, out] VARIANT_BOOL *p);
754
755     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
756     HRESULT textDecorationUnderline([in] VARIANT_BOOL v);
757
758     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
759     HRESULT textDecorationUnderline([retval, out] VARIANT_BOOL *p);
760
761     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
762     HRESULT textDecorationOverline([in] VARIANT_BOOL v);
763
764     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
765     HRESULT textDecorationOverline([retval, out] VARIANT_BOOL *p);
766
767     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
768     HRESULT textDecorationLineThrough([in] VARIANT_BOOL v);
769
770     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
771     HRESULT textDecorationLineThrough([retval, out] VARIANT_BOOL *p);
772
773     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
774     HRESULT textDecorationBlink([in] VARIANT_BOOL v);
775
776     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
777     HRESULT textDecorationBlink([retval, out] VARIANT_BOOL *p);
778
779     [propput, id(DISPID_IHTMLRULESTYLE_VERTICALALIGN), bindable, displaybind]
780     HRESULT verticalAlign([in] VARIANT v);
781
782     [propget, id(DISPID_IHTMLRULESTYLE_VERTICALALIGN), bindable, displaybind]
783     HRESULT verticalAlign([retval, out] VARIANT *p);
784
785     [propput, id(DISPID_IHTMLRULESTYLE_TEXTTRANSFORM), bindable, displaybind]
786     HRESULT textTransform([in] BSTR v);
787
788     [propget, id(DISPID_IHTMLRULESTYLE_TEXTTRANSFORM), bindable, displaybind]
789     HRESULT textTransform([retval, out] BSTR *p);
790
791     [propput, id(DISPID_IHTMLRULESTYLE_TEXTALIGN), bindable, displaybind]
792     HRESULT textAlign([in] BSTR v);
793
794     [propget, id(DISPID_IHTMLRULESTYLE_TEXTALIGN), bindable, displaybind]
795     HRESULT textAlign([retval, out] BSTR *p);
796
797     [propput, id(DISPID_IHTMLRULESTYLE_TEXTINDENT), bindable, displaybind]
798     HRESULT textIndent([in] VARIANT v);
799
800     [propget, id(DISPID_IHTMLRULESTYLE_TEXTINDENT), bindable, displaybind]
801     HRESULT textIndent([retval, out] VARIANT *p);
802
803     [propput, id(DISPID_IHTMLRULESTYLE_LINEHEIGHT), bindable, displaybind]
804     HRESULT lineHeight([in] VARIANT v);
805
806     [propget, id(DISPID_IHTMLRULESTYLE_LINEHEIGHT), bindable, displaybind]
807     HRESULT lineHeight([retval, out] VARIANT *p);
808
809     [propput, id(DISPID_IHTMLRULESTYLE_MARGINTOP), bindable, displaybind]
810     HRESULT marginTop([in] VARIANT v);
811
812     [propget, id(DISPID_IHTMLRULESTYLE_MARGINTOP), bindable, displaybind]
813     HRESULT marginTop([retval, out] VARIANT *p);
814
815     [propput, id(DISPID_IHTMLRULESTYLE_MARGINRIGHT), bindable, displaybind]
816     HRESULT marginRight([in] VARIANT v);
817
818     [propget, id(DISPID_IHTMLRULESTYLE_MARGINRIGHT), bindable, displaybind]
819     HRESULT marginRight([retval, out] VARIANT *p);
820
821     [propput, id(DISPID_IHTMLRULESTYLE_MARGINBOTTOM), bindable, displaybind]
822     HRESULT marginBottom([in] VARIANT v);
823
824     [propget, id(DISPID_IHTMLRULESTYLE_MARGINBOTTOM), bindable, displaybind]
825     HRESULT marginBottom([retval, out] VARIANT *p);
826
827     [propput, id(DISPID_IHTMLRULESTYLE_MARGINLEFT), bindable, displaybind]
828     HRESULT marginLeft([in] VARIANT v);
829
830     [propget, id(DISPID_IHTMLRULESTYLE_MARGINLEFT), bindable, displaybind]
831     HRESULT marginLeft([retval, out] VARIANT *p);
832
833     [propput, id(DISPID_IHTMLRULESTYLE_MARGIN), bindable, displaybind]
834     HRESULT margin([in] BSTR v);
835
836     [propget, id(DISPID_IHTMLRULESTYLE_MARGIN), bindable, displaybind]
837     HRESULT margin([retval, out] BSTR *p);
838
839     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGTOP), bindable, displaybind]
840     HRESULT paddingTop([in] VARIANT v);
841
842     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGTOP), bindable, displaybind]
843     HRESULT paddingTop([retval, out] VARIANT *p);
844
845     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGRIGHT), bindable, displaybind]
846     HRESULT paddingRight([in] VARIANT v);
847
848     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGRIGHT), bindable, displaybind]
849     HRESULT paddingRight([retval, out] VARIANT *p);
850
851     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGBOTTOM), bindable, displaybind]
852     HRESULT paddingBottom([in] VARIANT v);
853
854     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGBOTTOM), bindable, displaybind]
855     HRESULT paddingBottom([retval, out] VARIANT *p);
856
857     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGLEFT), bindable, displaybind]
858     HRESULT paddingLeft([in] VARIANT v);
859
860     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGLEFT), bindable, displaybind]
861     HRESULT paddingLeft([retval, out] VARIANT *p);
862
863     [propput, id(DISPID_IHTMLRULESTYLE_PADDING), bindable, displaybind]
864     HRESULT padding([in] BSTR v);
865
866     [propget, id(DISPID_IHTMLRULESTYLE_PADDING), bindable, displaybind]
867     HRESULT padding([retval, out] BSTR *p);
868
869     [propput, id(DISPID_IHTMLRULESTYLE_BORDER), bindable, displaybind]
870     HRESULT border([in] BSTR v);
871
872     [propget, id(DISPID_IHTMLRULESTYLE_BORDER), bindable, displaybind]
873     HRESULT border([retval, out] BSTR *p);
874
875     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOP), bindable, displaybind]
876     HRESULT borderTop([in] BSTR v);
877
878     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOP), bindable, displaybind]
879     HRESULT borderTop([retval, out] BSTR *p);
880
881     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHT), bindable, displaybind]
882     HRESULT borderRight([in] BSTR v);
883
884     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHT), bindable, displaybind]
885     HRESULT borderRight([retval, out] BSTR *p);
886
887     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOM), bindable, displaybind]
888     HRESULT borderBottom([in] BSTR v);
889
890     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOM), bindable, displaybind]
891     HRESULT borderBottom([retval, out] BSTR *p);
892
893     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFT), bindable, displaybind]
894     HRESULT borderLeft([in] BSTR v);
895
896     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFT), bindable, displaybind]
897     HRESULT borderLeft([retval, out] BSTR *p);
898
899     [propput, id(DISPID_IHTMLRULESTYLE_BORDERCOLOR), bindable, displaybind]
900     HRESULT borderColor([in] BSTR v);
901
902     [propget, id(DISPID_IHTMLRULESTYLE_BORDERCOLOR), bindable, displaybind]
903     HRESULT borderColor([retval, out] BSTR *p);
904
905     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOPCOLOR), bindable, displaybind]
906     HRESULT borderTopColor([in] VARIANT v);
907
908     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOPCOLOR), bindable, displaybind]
909     HRESULT borderTopColor([retval, out] VARIANT *p);
910
911     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
912     HRESULT borderRightColor([in] VARIANT v);
913
914     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
915     HRESULT borderRightColor([retval, out] VARIANT *p);
916
917     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
918     HRESULT borderBottomColor([in] VARIANT v);
919
920     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
921     HRESULT borderBottomColor([retval, out] VARIANT *p);
922
923     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFTCOLOR), bindable, displaybind]
924     HRESULT borderLeftColor([in] VARIANT v);
925
926     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFTCOLOR), bindable, displaybind]
927     HRESULT borderLeftColor([retval, out] VARIANT *p);
928
929     [propput, id(DISPID_IHTMLRULESTYLE_BORDERWIDTH), bindable, displaybind]
930     HRESULT borderWidth([in] BSTR v);
931
932     [propget, id(DISPID_IHTMLRULESTYLE_BORDERWIDTH), bindable, displaybind]
933     HRESULT borderWidth([retval, out] BSTR *p);
934
935     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOPWIDTH), bindable, displaybind]
936     HRESULT borderTopWidth([in] VARIANT v);
937
938     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOPWIDTH), bindable, displaybind]
939     HRESULT borderTopWidth([retval, out] VARIANT *p);
940
941     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
942     HRESULT borderRightWidth([in] VARIANT v);
943
944     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
945     HRESULT borderRightWidth([retval, out] VARIANT *p);
946
947     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
948     HRESULT borderBottomWidth([in] VARIANT v);
949
950     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
951     HRESULT borderBottomWidth([retval, out] VARIANT *p);
952
953     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFTWIDTH), bindable, displaybind]
954     HRESULT borderLeftWidth([in] VARIANT v);
955
956     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFTWIDTH), bindable, displaybind]
957     HRESULT borderLeftWidth([retval, out] VARIANT *p);
958
959     [propput, id(DISPID_IHTMLRULESTYLE_BORDERSTYLE), bindable, displaybind]
960     HRESULT borderStyle([in] BSTR v);
961
962     [propget, id(DISPID_IHTMLRULESTYLE_BORDERSTYLE), bindable, displaybind]
963     HRESULT borderStyle([retval, out] BSTR *p);
964
965     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOPSTYLE), bindable, displaybind]
966     HRESULT borderTopStyle([in] BSTR v);
967
968     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOPSTYLE), bindable, displaybind]
969     HRESULT borderTopStyle([retval, out] BSTR *p);
970
971     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
972     HRESULT borderRightStyle([in] BSTR v);
973
974     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
975     HRESULT borderRightStyle([retval, out] BSTR *p);
976
977     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
978     HRESULT borderBottomStyle([in] BSTR v);
979
980     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
981     HRESULT borderBottomStyle([retval, out] BSTR *p);
982
983     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFTSTYLE), bindable, displaybind]
984     HRESULT borderLeftStyle([in] BSTR v);
985
986     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFTSTYLE), bindable, displaybind]
987     HRESULT borderLeftStyle([retval, out] BSTR *p);
988
989     [propput, id(DISPID_IHTMLRULESTYLE_WIDTH), bindable, displaybind]
990     HRESULT width([in] VARIANT v);
991
992     [propget, id(DISPID_IHTMLRULESTYLE_WIDTH), bindable, displaybind]
993     HRESULT width([retval, out] VARIANT *p);
994
995     [propput, id(DISPID_IHTMLRULESTYLE_HEIGHT), bindable, displaybind]
996     HRESULT height([in] VARIANT v);
997
998     [propget, id(DISPID_IHTMLRULESTYLE_HEIGHT), bindable, displaybind]
999     HRESULT height([retval, out] VARIANT *p);
1000
1001     [propput, id(DISPID_IHTMLRULESTYLE_STYLEFLOAT), bindable, displaybind]
1002     HRESULT styleFloat([in] BSTR v);
1003
1004     [propget, id(DISPID_IHTMLRULESTYLE_STYLEFLOAT), bindable, displaybind]
1005     HRESULT styleFloat([retval, out] BSTR *p);
1006
1007     [propput, id(DISPID_IHTMLRULESTYLE_CLEAR), bindable, displaybind]
1008     HRESULT clear([in] BSTR v);
1009
1010     [propget, id(DISPID_IHTMLRULESTYLE_CLEAR), bindable, displaybind]
1011     HRESULT clear([retval, out] BSTR *p);
1012
1013     [propput, id(DISPID_IHTMLRULESTYLE_DISPLAY), bindable, displaybind]
1014     HRESULT display([in] BSTR v);
1015
1016     [propget, id(DISPID_IHTMLRULESTYLE_DISPLAY), bindable, displaybind]
1017     HRESULT display([retval, out] BSTR *p);
1018
1019     [propput, id(DISPID_IHTMLRULESTYLE_VISIBILITY), bindable, displaybind]
1020     HRESULT visibility([in] BSTR v);
1021
1022     [propget, id(DISPID_IHTMLRULESTYLE_VISIBILITY), bindable, displaybind]
1023     HRESULT visibility([retval, out] BSTR *p);
1024
1025     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLETYPE), bindable, displaybind]
1026     HRESULT listStyleType([in] BSTR v);
1027
1028     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLETYPE), bindable, displaybind]
1029     HRESULT listStyleType([retval, out] BSTR *p);
1030
1031     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLEPOSITION), bindable, displaybind]
1032     HRESULT listStylePosition([in] BSTR v);
1033
1034     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLEPOSITION), bindable, displaybind]
1035     HRESULT listStylePosition([retval, out] BSTR *p);
1036
1037     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLEIMAGE), bindable, displaybind]
1038     HRESULT listStyleImage([in] BSTR v);
1039
1040     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLEIMAGE), bindable, displaybind]
1041     HRESULT listStyleImage([retval, out] BSTR *p);
1042
1043     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLE), bindable, displaybind]
1044     HRESULT listStyle([in] BSTR v);
1045
1046     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLE), bindable, displaybind]
1047     HRESULT listStyle([retval, out] BSTR *p);
1048
1049     [propput, id(DISPID_IHTMLRULESTYLE_WHITESPACE), bindable, displaybind]
1050     HRESULT whiteSpace([in] BSTR v);
1051
1052     [propget, id(DISPID_IHTMLRULESTYLE_WHITESPACE), bindable, displaybind]
1053     HRESULT whiteSpace([retval, out] BSTR *p);
1054
1055     [propput, id(DISPID_IHTMLRULESTYLE_TOP), bindable, displaybind]
1056     HRESULT top([in] VARIANT v);
1057
1058     [propget, id(DISPID_IHTMLRULESTYLE_TOP), bindable, displaybind]
1059     HRESULT top([retval, out] VARIANT *p);
1060
1061     [propput, id(DISPID_IHTMLRULESTYLE_LEFT), bindable, displaybind]
1062     HRESULT left([in] VARIANT v);
1063
1064     [propget, id(DISPID_IHTMLRULESTYLE_LEFT), bindable, displaybind]
1065     HRESULT left([retval, out] VARIANT *p);
1066
1067     [propget, id(DISPID_IHTMLRULESTYLE_POSITION), bindable, displaybind]
1068     HRESULT position([retval, out] BSTR *p);
1069
1070     [propput, id(DISPID_IHTMLRULESTYLE_ZINDEX), bindable, displaybind]
1071     HRESULT zIndex([in] VARIANT v);
1072
1073     [propget, id(DISPID_IHTMLRULESTYLE_ZINDEX), bindable, displaybind]
1074     HRESULT zIndex([retval, out] VARIANT *p);
1075
1076     [propput, id(DISPID_IHTMLRULESTYLE_OVERFLOW), bindable, displaybind]
1077     HRESULT overflow([in] BSTR v);
1078
1079     [propget, id(DISPID_IHTMLRULESTYLE_OVERFLOW), bindable, displaybind]
1080     HRESULT overflow([retval, out] BSTR *p);
1081
1082     [propput, id(DISPID_IHTMLRULESTYLE_PAGEBREAKBEFORE), bindable, displaybind]
1083     HRESULT pageBreakBefore([in] BSTR v);
1084
1085     [propget, id(DISPID_IHTMLRULESTYLE_PAGEBREAKBEFORE), bindable, displaybind]
1086     HRESULT pageBreakBefore([retval, out] BSTR *p);
1087
1088     [propput, id(DISPID_IHTMLRULESTYLE_PAGEBREAKAFTER), bindable, displaybind]
1089     HRESULT pageBreakAfter([in] BSTR v);
1090
1091     [propget, id(DISPID_IHTMLRULESTYLE_PAGEBREAKAFTER), bindable, displaybind]
1092     HRESULT pageBreakAfter([retval, out] BSTR *p);
1093
1094     [propput, id(DISPID_IHTMLRULESTYLE_CSSTEXT), bindable, displaybind]
1095     HRESULT cssText([in] BSTR v);
1096
1097     [propget, id(DISPID_IHTMLRULESTYLE_CSSTEXT), bindable, displaybind]
1098     HRESULT cssText([retval, out] BSTR *p);
1099
1100     [propput, id(DISPID_IHTMLRULESTYLE_CURSOR), bindable, displaybind]
1101     HRESULT cursor([in] BSTR v);
1102
1103     [propget, id(DISPID_IHTMLRULESTYLE_CURSOR), bindable, displaybind]
1104     HRESULT cursor([retval, out] BSTR *p);
1105
1106     [propput, id(DISPID_IHTMLRULESTYLE_CLIP), bindable, displaybind]
1107     HRESULT clip([in] BSTR v);
1108
1109     [propget, id(DISPID_IHTMLRULESTYLE_CLIP), bindable, displaybind]
1110     HRESULT clip([retval, out] BSTR *p);
1111
1112     [propput, id(DISPID_IHTMLRULESTYLE_FILTER), bindable, displaybind]
1113     HRESULT filter([in] BSTR v);
1114
1115     [propget, id(DISPID_IHTMLRULESTYLE_FILTER), bindable, displaybind]
1116     HRESULT filter([retval, out] BSTR *p);
1117
1118     [id(DISPID_IHTMLRULESTYLE_SETATTRIBUTE)]
1119     HRESULT setAttribute(
1120         [in] BSTR strAttributeName,
1121         [in] VARIANT AttributeValue,
1122         [defaultvalue(1), in] LONG lFlags);
1123
1124     [id(DISPID_IHTMLRULESTYLE_GETATTRIBUTE)]
1125     HRESULT getAttribute(
1126         [in] BSTR strAttributeName,
1127         [defaultvalue(0), in] LONG lFlags,
1128         [retval, out] VARIANT *AttributeValue);
1129
1130     [id(DISPID_IHTMLRULESTYLE_REMOVEATTRIBUTE)]
1131     HRESULT removeAttribute(
1132         [in] BSTR strAttributeName,
1133         [defaultvalue(1), in] LONG lFlags,
1134         [retval, out] VARIANT_BOOL *pfSuccess);
1135 }
1136
1137 /*****************************************************************************
1138  *    DispHTMLStyle dispinterface
1139  */
1140 [
1141     hidden,
1142     uuid(3050f55a-98b5-11cf-bb82-00aa00bdce0b)
1143 ]
1144 dispinterface DispHTMLStyle
1145 {
1146 properties:
1147 methods:
1148     [propput, id(DISPID_IHTMLSTYLE_FONTFAMILY), displaybind, bindable]
1149     void fontFamily(BSTR v);
1150
1151     [propget, id(DISPID_IHTMLSTYLE_FONTFAMILY), displaybind, bindable]
1152     BSTR fontFamily();
1153
1154     [propput, id(DISPID_IHTMLSTYLE_FONTSTYLE), displaybind, bindable]
1155     void fontStyle(BSTR v);
1156
1157     [propget, id(DISPID_IHTMLSTYLE_FONTSTYLE), displaybind, bindable]
1158     BSTR fontStyle();
1159
1160     [propput, id(DISPID_IHTMLSTYLE_FONTVARIANT), displaybind, bindable]
1161     void fontVariant(BSTR v);
1162
1163     [propget, id(DISPID_IHTMLSTYLE_FONTVARIANT), displaybind, bindable]
1164     BSTR fontVariant();
1165
1166     [propput, id(DISPID_IHTMLSTYLE_FONTWEIGHT), displaybind, bindable]
1167     void fontWeight(BSTR v);
1168
1169     [propget, id(DISPID_IHTMLSTYLE_FONTWEIGHT), displaybind, bindable]
1170     BSTR fontWeight();
1171
1172     [propput, id(DISPID_IHTMLSTYLE_FONTSIZE), displaybind, bindable]
1173     void fontSize(VARIANT v);
1174
1175     [propget, id(DISPID_IHTMLSTYLE_FONTSIZE), displaybind, bindable]
1176     VARIANT fontSize();
1177
1178     [propput, id(DISPID_IHTMLSTYLE_FONT), displaybind, bindable, nonbrowsable]
1179     void font(BSTR v);
1180
1181     [propget, id(DISPID_IHTMLSTYLE_FONT), displaybind, bindable, nonbrowsable]
1182     BSTR font();
1183
1184     [propput, id(DISPID_IHTMLSTYLE_COLOR), displaybind, bindable]
1185     void color(VARIANT v);
1186
1187     [propget, id(DISPID_IHTMLSTYLE_COLOR), displaybind, bindable]
1188     VARIANT color();
1189
1190     [propput, id(DISPID_IHTMLSTYLE_BACKGROUND), displaybind, bindable, nonbrowsable]
1191     void background(BSTR v);
1192
1193     [propget, id(DISPID_IHTMLSTYLE_BACKGROUND), displaybind, bindable, nonbrowsable]
1194     BSTR background();
1195
1196     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
1197     void backgroundColor(VARIANT v);
1198
1199     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
1200     VARIANT backgroundColor();
1201
1202     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
1203     void backgroundImage(BSTR v);
1204
1205     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
1206     BSTR backgroundImage();
1207
1208     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
1209     void backgroundRepeat(BSTR v);
1210
1211     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
1212     BSTR backgroundRepeat();
1213
1214     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
1215     void backgroundAttachment(BSTR v);
1216
1217     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
1218     BSTR backgroundAttachment();
1219
1220     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), displaybind, bindable, nonbrowsable]
1221     void backgroundPosition(BSTR v);
1222
1223     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), displaybind, bindable, nonbrowsable]
1224     BSTR backgroundPosition();
1225
1226     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
1227     void backgroundPositionX(VARIANT v);
1228
1229     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
1230     VARIANT backgroundPositionX();
1231
1232     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
1233     void backgroundPositionY(VARIANT v);
1234
1235     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
1236     VARIANT backgroundPositionY();
1237
1238     [propput, id(DISPID_IHTMLSTYLE_WORDSPACING), displaybind, bindable]
1239     void wordSpacing(VARIANT v);
1240
1241     [propget, id(DISPID_IHTMLSTYLE_WORDSPACING), displaybind, bindable]
1242     VARIANT wordSpacing();
1243
1244     [propput, id(DISPID_IHTMLSTYLE_LETTERSPACING), displaybind, bindable]
1245     void letterSpacing(VARIANT v);
1246
1247     [propget, id(DISPID_IHTMLSTYLE_LETTERSPACING), displaybind, bindable]
1248     VARIANT letterSpacing();
1249
1250     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATION), displaybind, bindable]
1251     void textDecoration(BSTR v);
1252
1253     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATION), displaybind, bindable]
1254     BSTR textDecoration();
1255
1256     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), displaybind, bindable]
1257     void textDecorationNone(VARIANT_BOOL v);
1258
1259     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), displaybind, bindable]
1260     VARIANT_BOOL textDecorationNone();
1261
1262     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), displaybind, bindable]
1263     void textDecorationUnderline(VARIANT_BOOL v);
1264
1265     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), displaybind, bindable]
1266     VARIANT_BOOL textDecorationUnderline();
1267
1268     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), displaybind, bindable]
1269     void textDecorationOverline(VARIANT_BOOL v);
1270
1271     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), displaybind, bindable]
1272     VARIANT_BOOL textDecorationOverline();
1273
1274     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), displaybind, bindable]
1275     void textDecorationLineThrough(VARIANT_BOOL v);
1276
1277     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), displaybind, bindable]
1278     VARIANT_BOOL textDecorationLineThrough();
1279
1280     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), displaybind, bindable]
1281     void textDecorationBlink(VARIANT_BOOL v);
1282
1283     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), displaybind, bindable]
1284     VARIANT_BOOL textDecorationBlink();
1285
1286     [propput, id(DISPID_IHTMLSTYLE_VERTICALALIGN), displaybind, bindable]
1287     void verticalAlign(VARIANT v);
1288
1289     [propget, id(DISPID_IHTMLSTYLE_VERTICALALIGN), displaybind, bindable]
1290     VARIANT verticalAlign();
1291
1292     [propput, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), displaybind, bindable]
1293     void textTransform(BSTR v);
1294
1295     [propget, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), displaybind, bindable]
1296     BSTR textTransform();
1297
1298     [propput, id(DISPID_IHTMLSTYLE_TEXTALIGN), displaybind, bindable]
1299     void textAlign(BSTR v);
1300
1301     [propget, id(DISPID_IHTMLSTYLE_TEXTALIGN), displaybind, bindable]
1302     BSTR textAlign();
1303
1304     [propput, id(DISPID_IHTMLSTYLE_TEXTINDENT), displaybind, bindable]
1305     void textIndent(VARIANT v);
1306
1307     [propget, id(DISPID_IHTMLSTYLE_TEXTINDENT), displaybind, bindable]
1308     VARIANT textIndent();
1309
1310     [propput, id(DISPID_IHTMLSTYLE_LINEHEIGHT), displaybind, bindable]
1311     void lineHeight(VARIANT v);
1312
1313     [propget, id(DISPID_IHTMLSTYLE_LINEHEIGHT), displaybind, bindable]
1314     VARIANT lineHeight();
1315
1316     [propput, id(DISPID_IHTMLSTYLE_MARGINTOP), displaybind, bindable]
1317     void marginTop(VARIANT v);
1318
1319     [propget, id(DISPID_IHTMLSTYLE_MARGINTOP), displaybind, bindable]
1320     VARIANT marginTop();
1321
1322     [propput, id(DISPID_IHTMLSTYLE_MARGINRIGHT), displaybind, bindable]
1323     void marginRight(VARIANT v);
1324
1325     [propget, id(DISPID_IHTMLSTYLE_MARGINRIGHT), displaybind, bindable]
1326     VARIANT marginRight();
1327
1328     [propput, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), displaybind, bindable]
1329     void marginBottom(VARIANT v);
1330
1331     [propget, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), displaybind, bindable]
1332     VARIANT marginBottom();
1333
1334     [propput, id(DISPID_IHTMLSTYLE_MARGINLEFT), displaybind, bindable]
1335     void marginLeft(VARIANT v);
1336
1337     [propget, id(DISPID_IHTMLSTYLE_MARGINLEFT), displaybind, bindable]
1338     VARIANT marginLeft();
1339
1340     [propput, id(DISPID_IHTMLSTYLE_MARGIN), displaybind, bindable, nonbrowsable]
1341     void margin(BSTR v);
1342
1343     [propget, id(DISPID_IHTMLSTYLE_MARGIN), displaybind, bindable, nonbrowsable]
1344     BSTR margin();
1345
1346     [propput, id(DISPID_IHTMLSTYLE_PADDINGTOP), displaybind, bindable]
1347     void paddingTop(VARIANT v);
1348
1349     [propget, id(DISPID_IHTMLSTYLE_PADDINGTOP), displaybind, bindable]
1350     VARIANT paddingTop();
1351
1352     [propput, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), displaybind, bindable]
1353     void paddingRight(VARIANT v);
1354
1355     [propget, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), displaybind, bindable]
1356     VARIANT paddingRight();
1357
1358     [propput, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), displaybind, bindable]
1359     void paddingBottom(VARIANT v);
1360
1361     [propget, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), displaybind, bindable]
1362     VARIANT paddingBottom();
1363
1364     [propput, id(DISPID_IHTMLSTYLE_PADDINGLEFT), displaybind, bindable]
1365     void paddingLeft(VARIANT v);
1366
1367     [propget, id(DISPID_IHTMLSTYLE_PADDINGLEFT), displaybind, bindable]
1368     VARIANT paddingLeft();
1369
1370     [propput, id(DISPID_IHTMLSTYLE_PADDING), displaybind, bindable, nonbrowsable]
1371     void padding(BSTR v);
1372
1373     [propget, id(DISPID_IHTMLSTYLE_PADDING), displaybind, bindable, nonbrowsable]
1374     BSTR padding();
1375
1376     [propput, id(DISPID_IHTMLSTYLE_BORDER), displaybind, bindable, nonbrowsable]
1377     void border(BSTR v);
1378
1379     [propget, id(DISPID_IHTMLSTYLE_BORDER), displaybind, bindable, nonbrowsable]
1380     BSTR border();
1381
1382     [propput, id(DISPID_IHTMLSTYLE_BORDERTOP), displaybind, bindable]
1383     void borderTop(BSTR v);
1384
1385     [propget, id(DISPID_IHTMLSTYLE_BORDERTOP), displaybind, bindable]
1386     BSTR borderTop();
1387
1388     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHT), displaybind, bindable]
1389     void borderRight(BSTR v);
1390
1391     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHT), displaybind, bindable]
1392     BSTR borderRight();
1393
1394     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), displaybind, bindable]
1395     void borderBottom(BSTR v);
1396
1397     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), displaybind, bindable]
1398     BSTR borderBottom();
1399
1400     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFT), displaybind, bindable]
1401     void borderLeft(BSTR v);
1402
1403     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFT), displaybind, bindable]
1404     BSTR borderLeft();
1405
1406     [propput, id(DISPID_IHTMLSTYLE_BORDERCOLOR), displaybind, bindable]
1407     void borderColor(BSTR v);
1408
1409     [propget, id(DISPID_IHTMLSTYLE_BORDERCOLOR), displaybind, bindable]
1410     BSTR borderColor();
1411
1412     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), displaybind, bindable]
1413     void borderTopColor(VARIANT v);
1414
1415     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), displaybind, bindable]
1416     VARIANT borderTopColor();
1417
1418     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
1419     void borderRightColor(VARIANT v);
1420
1421     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
1422     VARIANT borderRightColor();
1423
1424     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
1425     void borderBottomColor(VARIANT v);
1426
1427     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
1428     VARIANT borderBottomColor();
1429
1430     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
1431     void borderLeftColor(VARIANT v);
1432
1433     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
1434     VARIANT borderLeftColor();
1435
1436     [propput, id(DISPID_IHTMLSTYLE_BORDERWIDTH), displaybind, bindable]
1437     void borderWidth(BSTR v);
1438
1439     [propget, id(DISPID_IHTMLSTYLE_BORDERWIDTH), displaybind, bindable]
1440     BSTR borderWidth();
1441
1442     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), displaybind, bindable]
1443     void borderTopWidth(VARIANT v);
1444
1445     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), displaybind, bindable]
1446     VARIANT borderTopWidth();
1447
1448     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
1449     void borderRightWidth(VARIANT v);
1450
1451     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
1452     VARIANT borderRightWidth();
1453
1454     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
1455     void borderBottomWidth(VARIANT v);
1456
1457     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
1458     VARIANT borderBottomWidth();
1459
1460     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
1461     void borderLeftWidth(VARIANT v);
1462
1463     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
1464     VARIANT borderLeftWidth();
1465
1466     [propput, id(DISPID_IHTMLSTYLE_BORDERSTYLE), displaybind, bindable]
1467     void borderStyle(BSTR v);
1468
1469     [propget, id(DISPID_IHTMLSTYLE_BORDERSTYLE), displaybind, bindable]
1470     BSTR borderStyle();
1471
1472     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), displaybind, bindable]
1473     void borderTopStyle(BSTR v);
1474
1475     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), displaybind, bindable]
1476     BSTR borderTopStyle();
1477
1478     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
1479     void borderRightStyle(BSTR v);
1480
1481     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
1482     BSTR borderRightStyle();
1483
1484     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
1485     void borderBottomStyle(BSTR v);
1486
1487     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
1488     BSTR borderBottomStyle();
1489
1490     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
1491     void borderLeftStyle(BSTR v);
1492
1493     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
1494     BSTR borderLeftStyle();
1495
1496     [propput, id(DISPID_IHTMLSTYLE_WIDTH), displaybind, bindable]
1497     void width(VARIANT v);
1498
1499     [propget, id(DISPID_IHTMLSTYLE_WIDTH), displaybind, bindable]
1500     VARIANT width();
1501
1502     [propput, id(DISPID_IHTMLSTYLE_HEIGHT), displaybind, bindable]
1503     void height(VARIANT v);
1504
1505     [propget, id(DISPID_IHTMLSTYLE_HEIGHT), displaybind, bindable]
1506     VARIANT height();
1507
1508     [propput, id(DISPID_IHTMLSTYLE_STYLEFLOAT), displaybind, bindable]
1509     void styleFloat(BSTR v);
1510
1511     [propget, id(DISPID_IHTMLSTYLE_STYLEFLOAT), displaybind, bindable]
1512     BSTR styleFloat();
1513
1514     [propput, id(DISPID_IHTMLSTYLE_CLEAR), displaybind, bindable]
1515     void clear(BSTR v);
1516
1517     [propget, id(DISPID_IHTMLSTYLE_CLEAR), displaybind, bindable]
1518     BSTR clear();
1519
1520     [propput, id(DISPID_IHTMLSTYLE_DISPLAY), displaybind, bindable]
1521     void display(BSTR v);
1522
1523     [propget, id(DISPID_IHTMLSTYLE_DISPLAY), displaybind, bindable]
1524     BSTR display();
1525
1526     [propput, id(DISPID_IHTMLSTYLE_VISIBILITY), displaybind, bindable]
1527     void visibility(BSTR v);
1528
1529     [propget, id(DISPID_IHTMLSTYLE_VISIBILITY), displaybind, bindable]
1530     BSTR visibility();
1531
1532     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), displaybind, bindable]
1533     void listStyleType(BSTR v);
1534
1535     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), displaybind, bindable]
1536     BSTR listStyleType();
1537
1538     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
1539     void listStylePosition(BSTR v);
1540
1541     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
1542     BSTR listStylePosition();
1543
1544     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
1545     void listStyleImage(BSTR v);
1546
1547     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
1548     BSTR listStyleImage();
1549
1550     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLE), displaybind, bindable, nonbrowsable]
1551     void listStyle(BSTR v);
1552
1553     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLE), displaybind, bindable, nonbrowsable]
1554     BSTR listStyle();
1555
1556     [propput, id(DISPID_IHTMLSTYLE_WHITESPACE), displaybind, bindable]
1557     void whiteSpace(BSTR v);
1558
1559     [propget, id(DISPID_IHTMLSTYLE_WHITESPACE), displaybind, bindable]
1560     BSTR whiteSpace();
1561
1562     [propput, id(DISPID_IHTMLSTYLE_TOP), displaybind, bindable]
1563     void top(VARIANT v);
1564
1565     [propget, id(DISPID_IHTMLSTYLE_TOP), displaybind, bindable]
1566     VARIANT top();
1567
1568     [propput, id(DISPID_IHTMLSTYLE_LEFT), displaybind, bindable]
1569     void left(VARIANT v);
1570
1571     [propget, id(DISPID_IHTMLSTYLE_LEFT), displaybind, bindable]
1572     VARIANT left();
1573
1574     [propput, id(DISPID_IHTMLSTYLE_ZINDEX), displaybind, bindable]
1575     void zIndex(VARIANT v);
1576
1577     [propget, id(DISPID_IHTMLSTYLE_ZINDEX), displaybind, bindable]
1578     VARIANT zIndex();
1579
1580     [propput, id(DISPID_IHTMLSTYLE_OVERFLOW), displaybind, bindable]
1581     void overflow(BSTR v);
1582
1583     [propget, id(DISPID_IHTMLSTYLE_OVERFLOW), displaybind, bindable]
1584     BSTR overflow();
1585
1586     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
1587     void pageBreakBefore(BSTR v);
1588
1589     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
1590     BSTR pageBreakBefore();
1591
1592     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), displaybind, bindable]
1593     void pageBreakAfter(BSTR v);
1594
1595     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), displaybind, bindable]
1596     BSTR pageBreakAfter();
1597
1598     [propput, id(DISPID_IHTMLSTYLE_CSSTEXT), displaybind, bindable, nonbrowsable]
1599     void cssText(BSTR v);
1600
1601     [propget, id(DISPID_IHTMLSTYLE_CSSTEXT), displaybind, bindable, nonbrowsable]
1602     BSTR cssText();
1603
1604     [propput, id(DISPID_IHTMLSTYLE_PIXELTOP), displaybind, bindable, hidden]
1605     void pixelTop(long v);
1606
1607     [propget, id(DISPID_IHTMLSTYLE_PIXELTOP), displaybind, bindable, hidden]
1608     long pixelTop();
1609
1610     [propput, id(DISPID_IHTMLSTYLE_PIXELLEFT), displaybind, bindable, hidden]
1611     void pixelLeft(long v);
1612
1613     [propget, id(DISPID_IHTMLSTYLE_PIXELLEFT), displaybind, bindable, hidden]
1614     long pixelLeft();
1615
1616     [propput, id(DISPID_IHTMLSTYLE_PIXELWIDTH), displaybind, bindable, hidden]
1617     void pixelWidth(long v);
1618
1619     [propget, id(DISPID_IHTMLSTYLE_PIXELWIDTH), displaybind, bindable, hidden]
1620     long pixelWidth();
1621
1622     [propput, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), displaybind, bindable, hidden]
1623     void pixelHeight(long v);
1624
1625     [propget, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), displaybind, bindable, hidden]
1626     long pixelHeight();
1627
1628     [propput, id(DISPID_IHTMLSTYLE_POSTOP), displaybind, bindable]
1629     void posTop(float v);
1630
1631     [propget, id(DISPID_IHTMLSTYLE_POSTOP), displaybind, bindable]
1632     float posTop();
1633
1634     [propput, id(DISPID_IHTMLSTYLE_POSLEFT), displaybind, bindable]
1635     void posLeft(float v);
1636
1637     [propget, id(DISPID_IHTMLSTYLE_POSLEFT), displaybind, bindable]
1638     float posLeft();
1639
1640     [propput, id(DISPID_IHTMLSTYLE_POSWIDTH), displaybind, bindable]
1641     void posWidth(float v);
1642
1643     [propget, id(DISPID_IHTMLSTYLE_POSWIDTH), displaybind, bindable]
1644     float posWidth();
1645
1646     [propput, id(DISPID_IHTMLSTYLE_POSHEIGHT), displaybind, bindable]
1647     void posHeight(float v);
1648
1649     [propget, id(DISPID_IHTMLSTYLE_POSHEIGHT), displaybind, bindable]
1650     float posHeight();
1651
1652     [propput, id(DISPID_IHTMLSTYLE_CURSOR), displaybind, bindable]
1653     void cursor(BSTR v);
1654
1655     [propget, id(DISPID_IHTMLSTYLE_CURSOR), displaybind, bindable]
1656     BSTR cursor();
1657
1658     [propput, id(DISPID_IHTMLSTYLE_CLIP), displaybind, bindable]
1659     void clip(BSTR v);
1660
1661     [propget, id(DISPID_IHTMLSTYLE_CLIP), displaybind, bindable]
1662     BSTR clip();
1663
1664     [propput, id(DISPID_IHTMLSTYLE_FILTER), displaybind, bindable]
1665     void filter(BSTR v);
1666
1667     [propget, id(DISPID_IHTMLSTYLE_FILTER), displaybind, bindable]
1668     BSTR filter();
1669
1670     [id(DISPID_IHTMLSTYLE_SETATTRIBUTE)]
1671     void setAttribute(
1672             [in] BSTR strAttributeName,
1673             [in] VARIANT AttributeValue,
1674             [in, defaultvalue(1)] LONG lFlags);
1675
1676     [id(DISPID_IHTMLSTYLE_GETATTRIBUTE)]
1677     VARIANT getAttribute(
1678             [in] BSTR strAttributeName,
1679             [in, defaultvalue(0)] LONG lFlags);
1680
1681     [id(DISPID_IHTMLSTYLE_REMOVEATTRIBUTE)]
1682     VARIANT_BOOL removeAttribute(
1683             [in] BSTR strAttributeName,
1684             [in, defaultvalue(1)] LONG lFlags);
1685
1686     [id(DISPID_IHTMLSTYLE_TOSTRING)]
1687     BSTR toString();
1688
1689     [propput, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable]
1690     void tableLayout(BSTR v);
1691
1692     [propget, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable]
1693     BSTR tableLayout();
1694
1695     [propput, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable]
1696     void borderCollapse(BSTR v);
1697
1698     [propget, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable]
1699     BSTR borderCollapse();
1700
1701     [propput, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable]
1702     void direction(BSTR v);
1703
1704     [propget, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable]
1705     BSTR direction();
1706
1707     [propput, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable]
1708     void behavior(BSTR v);
1709
1710     [propget, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable]
1711     BSTR behavior();
1712
1713     [id(DISPID_IHTMLSTYLE2_SETEXPRESSION)]
1714     void setExpression(
1715             [in] BSTR propname,
1716             [in] BSTR expression,
1717             [in, defaultvalue("")] BSTR language);
1718
1719     [id(DISPID_IHTMLSTYLE2_GETEXPRESSION)]
1720     VARIANT getExpression([in] BSTR propname);
1721
1722     [id(DISPID_IHTMLSTYLE2_REMOVEEXPRESSION)]
1723     VARIANT_BOOL removeExpression([in] BSTR propname);
1724
1725     [propput, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable]
1726     void position(BSTR v);
1727
1728     [propget, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable]
1729     BSTR position();
1730
1731     [propput, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable]
1732     void unicodeBidi(BSTR v);
1733
1734     [propget, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable]
1735     BSTR unicodeBidi();
1736
1737     [propput, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable]
1738     void bottom(VARIANT v);
1739
1740     [propget, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable]
1741     VARIANT bottom();
1742
1743     [propput, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable]
1744     void right(VARIANT v);
1745
1746     [propget, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable]
1747     VARIANT right();
1748
1749     [propput, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden]
1750     void pixelBottom(long v);
1751
1752     [propget, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden]
1753     long pixelBottom();
1754
1755     [propput, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden]
1756     void pixelRight(long v);
1757
1758     [propget, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden]
1759     long pixelRight();
1760
1761     [propput, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable]
1762     void posBottom(float v);
1763
1764     [propget, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable]
1765     float posBottom();
1766
1767     [propput, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable]
1768     void posRight(float v);
1769
1770     [propget, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable]
1771     float posRight();
1772
1773     [propput, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable]
1774     void imeMode(BSTR v);
1775
1776     [propget, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable]
1777     BSTR imeMode();
1778
1779     [propput, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable]
1780     void rubyAlign(BSTR v);
1781
1782     [propget, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable]
1783     BSTR rubyAlign();
1784
1785     [propput, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable]
1786     void rubyPosition(BSTR v);
1787
1788     [propget, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable]
1789     BSTR rubyPosition();
1790
1791     [propput, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable]
1792     void rubyOverhang(BSTR v);
1793
1794     [propget, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable]
1795     BSTR rubyOverhang();
1796
1797     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable]
1798     void layoutGridChar(VARIANT v);
1799
1800     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable]
1801     VARIANT layoutGridChar();
1802
1803     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable]
1804     void layoutGridLine(VARIANT v);
1805
1806     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable]
1807     VARIANT layoutGridLine();
1808
1809     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable]
1810     void layoutGridMode(BSTR v);
1811
1812     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable]
1813     BSTR layoutGridMode();
1814
1815     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable]
1816     void layoutGridType(BSTR v);
1817
1818     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable]
1819     BSTR layoutGridType();
1820
1821     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable]
1822     void layoutGrid(BSTR v);
1823
1824     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable]
1825     BSTR layoutGrid();
1826
1827     [propput, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable]
1828     void wordBreak(BSTR v);
1829
1830     [propget, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable]
1831     BSTR wordBreak();
1832
1833     [propput, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable]
1834     void lineBreak(BSTR v);
1835
1836     [propget, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable]
1837     BSTR lineBreak();
1838
1839     [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable]
1840     void textJustify(BSTR v);
1841
1842     [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable]
1843     BSTR textJustify();
1844
1845     [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable]
1846     void textJustifyTrim(BSTR v);
1847
1848     [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable]
1849     BSTR textJustifyTrim();
1850
1851     [propput, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable]
1852     void textKashida(VARIANT v);
1853
1854     [propget, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable]
1855    VARIANT textKashida();
1856
1857     [propput, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable]
1858     void textAutospace(BSTR v);
1859
1860     [propget, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable]
1861     BSTR textAutospace();
1862
1863     [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable]
1864     void overflowX(BSTR v);
1865
1866     [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable]
1867     BSTR overflowX();
1868
1869     [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable]
1870     void overflowY(BSTR v);
1871
1872     [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable]
1873     BSTR overflowY();
1874
1875     [propput, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable]
1876     void accelerator(BSTR v);
1877
1878     [propget, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable]
1879     BSTR accelerator();
1880
1881     [propput, id(DISPID_IHTMLSTYLE3_LAYOUTFLOW), displaybind, bindable]
1882     void layoutFlow(BSTR v);
1883
1884     [propget, id(DISPID_IHTMLSTYLE3_LAYOUTFLOW), displaybind, bindable]
1885     BSTR layoutFlow();
1886
1887     [propput, id(DISPID_IHTMLSTYLE3_ZOOM), displaybind, bindable]
1888     void zoom(VARIANT v);
1889
1890     [propget, id(DISPID_IHTMLSTYLE3_ZOOM), displaybind, bindable]
1891     VARIANT zoom();
1892
1893     [propput, id(DISPID_IHTMLSTYLE3_WORDWRAP), displaybind, bindable]
1894     void wordWrap(BSTR v);
1895
1896     [propget, id(DISPID_IHTMLSTYLE3_WORDWRAP), displaybind, bindable]
1897     BSTR wordWrap();
1898
1899     [propput, id(DISPID_IHTMLSTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable]
1900     void textUnderlinePosition(BSTR v);
1901
1902     [propget, id(DISPID_IHTMLSTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable]
1903     BSTR textUnderlinePosition();
1904
1905     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARBASECOLOR), displaybind, bindable]
1906     void scrollbarBaseColor(VARIANT v);
1907
1908     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARBASECOLOR), displaybind, bindable]
1909     VARIANT scrollbarBaseColor();
1910
1911     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARFACECOLOR), displaybind, bindable]
1912     void scrollbarFaceColor(VARIANT v);
1913
1914     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARFACECOLOR), displaybind, bindable]
1915     VARIANT scrollbarFaceColor();
1916
1917     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
1918     void scrollbar3dLightColor(VARIANT v);
1919
1920     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
1921     VARIANT scrollbar3dLightColor();
1922
1923     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable]
1924     void scrollbarShadowColor(VARIANT v);
1925
1926     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable]
1927     VARIANT scrollbarShadowColor();
1928
1929     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
1930     void scrollbarHighlightColor(VARIANT v);
1931
1932     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
1933     VARIANT scrollbarHighlightColor();
1934
1935     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
1936     void scrollbarDarkShadowColor(VARIANT v);
1937
1938     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
1939     VARIANT scrollbarDarkShadowColor();
1940
1941     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable]
1942     void scrollbarArrowColor(VARIANT v);
1943
1944     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable]
1945     VARIANT scrollbarArrowColor();
1946
1947     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable]
1948     void scrollbarTrackColor(VARIANT v);
1949
1950     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable]
1951     VARIANT scrollbarTrackColor();
1952
1953     [propput, id(DISPID_IHTMLSTYLE3_WRITINGMODE), displaybind, bindable]
1954     void writingMode(BSTR v);
1955
1956     [propget, id(DISPID_IHTMLSTYLE3_WRITINGMODE), displaybind, bindable]
1957     BSTR writingMode();
1958
1959     [propput, id(DISPID_IHTMLSTYLE3_TEXTALIGNLAST), displaybind, bindable]
1960     void textAlignLast(BSTR v);
1961
1962     [propget, id(DISPID_IHTMLSTYLE3_TEXTALIGNLAST), displaybind, bindable]
1963     BSTR textAlignLast();
1964
1965     [propput, id(DISPID_IHTMLSTYLE3_TEXTKASHIDASPACE), displaybind, bindable]
1966     void textKashidaSpace(VARIANT v);
1967
1968     [propget, id(DISPID_IHTMLSTYLE3_TEXTKASHIDASPACE), displaybind, bindable]
1969     VARIANT textKashidaSpace();
1970
1971     [propput, id(DISPID_IHTMLSTYLE4_TEXTOVERFLOW), displaybind, bindable]
1972     void textOverflow(BSTR v);
1973
1974     [propget, id(DISPID_IHTMLSTYLE4_TEXTOVERFLOW), displaybind, bindable]
1975     BSTR textOverflow();
1976
1977     [propput, id(DISPID_IHTMLSTYLE4_MINHEIGHT), displaybind, bindable]
1978     void minHeight(VARIANT v);
1979
1980     [propget, id(DISPID_IHTMLSTYLE4_MINHEIGHT), displaybind, bindable]
1981     VARIANT minHeight();
1982 }
1983
1984 /*****************************************************************************
1985  *    IHTMLRenderStyle interface
1986  */
1987 [
1988     odl,
1989     oleautomation,
1990     dual,
1991     uuid(3050f6ae-98b5-11cf-bb82-00aa00bdce0b)
1992 ]
1993 interface IHTMLRenderStyle : IDispatch
1994 {
1995     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTLINETHROUGHSTYLE), displaybind, bindable]
1996     HRESULT textLineThroughStyle([in] BSTR v);
1997
1998     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTLINETHROUGHSTYLE), displaybind, bindable]
1999     HRESULT textLineThroughStyle([retval, out] BSTR *p);
2000
2001     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTUNDERLINESTYLE), displaybind, bindable]
2002     HRESULT textUnderlineStyle([in] BSTR v);
2003
2004     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTUNDERLINESTYLE), displaybind, bindable]
2005     HRESULT textUnderlineStyle([retval, out] BSTR *p);
2006
2007     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTEFFECT), displaybind, bindable]
2008     HRESULT textEffect([in] BSTR v);
2009
2010     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTEFFECT), displaybind, bindable]
2011     HRESULT textEffect([retval, out] BSTR *p);
2012
2013     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTCOLOR), displaybind, bindable]
2014     HRESULT textColor([in] VARIANT v);
2015
2016     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTCOLOR), displaybind, bindable]
2017     HRESULT textColor([retval, out] VARIANT *p);
2018
2019     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTBACKGROUNDCOLOR), displaybind, bindable]
2020     HRESULT textBackgroundColor([in] VARIANT v);
2021
2022     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTBACKGROUNDCOLOR), displaybind, bindable]
2023     HRESULT textBackgroundColor([retval, out] VARIANT *p);
2024
2025     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATIONCOLOR), displaybind, bindable]
2026     HRESULT textDecorationColor([in] VARIANT v);
2027
2028     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATIONCOLOR), displaybind, bindable]
2029     HRESULT textDecorationColor([retval, out] VARIANT *p);
2030
2031     [propput, id(DISPID_IHTMLRENDERSTYLE_RENDERINGPRIORITY), displaybind, bindable]
2032     HRESULT renderingPriority([in] long v);
2033
2034     [propget, id(DISPID_IHTMLRENDERSTYLE_RENDERINGPRIORITY), displaybind, bindable]
2035     HRESULT renderingPriority([retval, out] long *p);
2036
2037     [propput, id(DISPID_IHTMLRENDERSTYLE_DEFAULTTEXTSELECTION), displaybind, bindable]
2038     HRESULT defaultTextSelection([in] BSTR v);
2039
2040     [propget, id(DISPID_IHTMLRENDERSTYLE_DEFAULTTEXTSELECTION), displaybind, bindable]
2041     HRESULT defaultTextSelection([retval, out] BSTR *p);
2042
2043     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATION), displaybind, bindable]
2044     HRESULT textDecoration([in] BSTR v);
2045
2046     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATION), displaybind, bindable]
2047     HRESULT textDecoration([retval, out] BSTR *p);
2048 }
2049
2050 /*****************************************************************************
2051  *    IHTMLCurrentStyle interface
2052  */
2053 [
2054     odl,
2055     oleautomation,
2056     dual,
2057     uuid(3050f3db-98b5-11cf-bb82-00aa00bdce0b)
2058 ]
2059 interface IHTMLCurrentStyle : IDispatch
2060 {
2061     [propget, id(DISPID_IHTMLCURRENTSTYLE_POSITION), displaybind, bindable]
2062     HRESULT position([retval, out] BSTR *p);
2063
2064     [propget, id(DISPID_IHTMLCURRENTSTYLE_STYLEFLOAT), displaybind, bindable]
2065     HRESULT styleFloat([retval, out] BSTR *p);
2066
2067     [propget, id(DISPID_IHTMLCURRENTSTYLE_COLOR), displaybind, bindable]
2068     HRESULT color([retval, out] VARIANT *p);
2069
2070     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
2071     HRESULT backgroundColor([retval, out] VARIANT *p);
2072
2073     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTFAMILY), displaybind, bindable]
2074     HRESULT fontFamily([retval, out] BSTR *p);
2075
2076     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSTYLE), displaybind, bindable]
2077     HRESULT fontStyle([retval, out] BSTR *p);
2078
2079     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTVARIANT), displaybind, bindable, hidden]
2080     HRESULT fontVariant([retval, out] BSTR *p);
2081
2082     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTWEIGHT), displaybind, bindable]
2083     HRESULT fontWeight([retval, out] VARIANT *p);
2084
2085     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSIZE), displaybind, bindable]
2086     HRESULT fontSize([retval, out] VARIANT *p);
2087
2088     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
2089     HRESULT backgroundImage([retval, out] BSTR *p);
2090
2091     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
2092     HRESULT backgroundPositionX([retval, out] VARIANT *p);
2093
2094     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
2095     HRESULT backgroundPositionY([retval, out] VARIANT *p);
2096
2097     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
2098     HRESULT backgroundRepeat([retval, out] BSTR *p);
2099
2100     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
2101     HRESULT borderLeftColor([retval, out] VARIANT *p);
2102
2103     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPCOLOR), displaybind, bindable]
2104     HRESULT borderTopColor([retval, out] VARIANT *p);
2105
2106     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
2107     HRESULT borderRightColor([retval, out] VARIANT *p);
2108
2109     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
2110     HRESULT borderBottomColor([retval, out] VARIANT *p);
2111
2112     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPSTYLE), displaybind, bindable]
2113     HRESULT borderTopStyle([retval, out] BSTR *p);
2114
2115     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
2116     HRESULT borderRightStyle([retval, out] BSTR *p);
2117
2118     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
2119     HRESULT borderBottomStyle([retval, out] BSTR *p);
2120
2121     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
2122     HRESULT borderLeftStyle([retval, out] BSTR *p);
2123
2124     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPWIDTH), displaybind, bindable]
2125     HRESULT borderTopWidth([retval, out] VARIANT *p);
2126
2127     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
2128     HRESULT borderRightWidth([retval, out] VARIANT *p);
2129
2130     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
2131     HRESULT borderBottomWidth([retval, out] VARIANT *p);
2132
2133     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
2134     HRESULT borderLeftWidth([retval, out] VARIANT *p);
2135
2136     [propget, id(DISPID_IHTMLCURRENTSTYLE_LEFT), displaybind, bindable]
2137     HRESULT left([retval, out] VARIANT *p);
2138
2139     [propget, id(DISPID_IHTMLCURRENTSTYLE_TOP), displaybind, bindable]
2140     HRESULT top([retval, out] VARIANT *p);
2141
2142     [propget, id(DISPID_IHTMLCURRENTSTYLE_WIDTH), displaybind, bindable]
2143     HRESULT width([retval, out] VARIANT *p);
2144
2145     [propget, id(DISPID_IHTMLCURRENTSTYLE_HEIGHT), displaybind, bindable]
2146     HRESULT height([retval, out] VARIANT *p);
2147
2148     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGLEFT), displaybind, bindable]
2149     HRESULT paddingLeft([retval, out] VARIANT *p);
2150
2151     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGTOP), displaybind, bindable]
2152     HRESULT paddingTop([retval, out] VARIANT *p);
2153
2154     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGRIGHT), displaybind, bindable]
2155     HRESULT paddingRight([retval, out] VARIANT *p);
2156
2157     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGBOTTOM), displaybind, bindable]
2158     HRESULT paddingBottom([retval, out] VARIANT *p);
2159
2160     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTALIGN), displaybind, bindable]
2161     HRESULT textAlign([retval, out] BSTR *p);
2162
2163     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTDECORATION), displaybind, bindable]
2164     HRESULT textDecoration([retval, out] BSTR *p);
2165
2166     [propget, id(DISPID_IHTMLCURRENTSTYLE_DISPLAY), displaybind, bindable]
2167     HRESULT display([retval, out] BSTR *p);
2168
2169     [propget, id(DISPID_IHTMLCURRENTSTYLE_VISIBILITY), displaybind, bindable]
2170     HRESULT visibility([retval, out] BSTR *p);
2171
2172     [propget, id(DISPID_IHTMLCURRENTSTYLE_ZINDEX), displaybind, bindable]
2173     HRESULT zIndex([retval, out] VARIANT *p);
2174
2175     [propget, id(DISPID_IHTMLCURRENTSTYLE_LETTERSPACING), displaybind, bindable]
2176     HRESULT letterSpacing([retval, out] VARIANT *p);
2177
2178     [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEHEIGHT), displaybind, bindable]
2179     HRESULT lineHeight([retval, out] VARIANT *p);
2180
2181     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTINDENT), displaybind, bindable]
2182     HRESULT textIndent([retval, out] VARIANT *p);
2183
2184     [propget, id(DISPID_IHTMLCURRENTSTYLE_VERTICALALIGN), displaybind, bindable]
2185     HRESULT verticalAlign([retval, out] VARIANT *p);
2186
2187     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
2188     HRESULT backgroundAttachment([retval, out] BSTR *p);
2189
2190     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINTOP), displaybind, bindable]
2191     HRESULT marginTop([retval, out] VARIANT *p);
2192
2193     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINRIGHT), displaybind, bindable]
2194     HRESULT marginRight([retval, out] VARIANT *p);
2195
2196     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINBOTTOM), displaybind, bindable]
2197     HRESULT marginBottom([retval, out] VARIANT *p);
2198
2199     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINLEFT), displaybind, bindable]
2200     HRESULT marginLeft([retval, out] VARIANT *p);
2201
2202     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLEAR), displaybind, bindable]
2203     HRESULT clear([retval, out] BSTR *p);
2204
2205     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLETYPE), displaybind, bindable]
2206     HRESULT listStyleType([retval, out] BSTR *p);
2207
2208     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
2209     HRESULT listStylePosition([retval, out] BSTR *p);
2210
2211     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
2212     HRESULT listStyleImage([retval, out] BSTR *p);
2213
2214     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPTOP), displaybind, bindable]
2215     HRESULT clipTop([retval, out] VARIANT *p);
2216
2217     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPRIGHT), displaybind, bindable]
2218     HRESULT clipRight([retval, out] VARIANT *p);
2219
2220     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPBOTTOM), displaybind, bindable]
2221     HRESULT clipBottom([retval, out] VARIANT *p);
2222
2223     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPLEFT), displaybind, bindable]
2224     HRESULT clipLeft([retval, out] VARIANT *p);
2225
2226     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOW), displaybind, bindable]
2227     HRESULT overflow([retval, out] BSTR *p);
2228
2229     [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
2230     HRESULT pageBreakBefore([retval, out] BSTR *p);
2231
2232     [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKAFTER), displaybind, bindable]
2233     HRESULT pageBreakAfter([retval, out] BSTR *p);
2234
2235     [propget, id(DISPID_IHTMLCURRENTSTYLE_CURSOR), displaybind, bindable]
2236     HRESULT cursor([retval, out] BSTR *p);
2237
2238     [propget, id(DISPID_IHTMLCURRENTSTYLE_TABLELAYOUT), displaybind, bindable]
2239     HRESULT tableLayout([retval, out] BSTR *p);
2240
2241     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLLAPSE), displaybind, bindable]
2242     HRESULT borderCollapse([retval, out] BSTR *p);
2243
2244     [propget, id(DISPID_IHTMLCURRENTSTYLE_DIRECTION), displaybind, bindable]
2245     HRESULT direction([retval, out] BSTR *p);
2246
2247     [propget, id(DISPID_IHTMLCURRENTSTYLE_BEHAVIOR), displaybind, bindable]
2248     HRESULT behavior([retval, out] BSTR *p);
2249
2250     [id(DISPID_IHTMLCURRENTSTYLE_GETATTRIBUTE)]
2251     HRESULT getAttribute(
2252         [in] BSTR strAttributeName,
2253         [defaultvalue(0), in] LONG lFlags,
2254         [retval, out] VARIANT *AttributeValue);
2255
2256     [propget, id(DISPID_IHTMLCURRENTSTYLE_UNICODEBIDI), displaybind, bindable]
2257     HRESULT unicodeBidi([retval, out] BSTR *p);
2258
2259     [propget, id(DISPID_IHTMLCURRENTSTYLE_RIGHT), displaybind, bindable]
2260     HRESULT right([retval, out] VARIANT *p);
2261
2262     [propget, id(DISPID_IHTMLCURRENTSTYLE_BOTTOM), displaybind, bindable]
2263     HRESULT bottom([retval, out] VARIANT *p);
2264
2265     [propget, id(DISPID_IHTMLCURRENTSTYLE_IMEMODE), displaybind, bindable]
2266     HRESULT imeMode([retval, out] BSTR *p);
2267
2268     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYALIGN), displaybind, bindable]
2269     HRESULT rubyAlign([retval, out] BSTR *p);
2270
2271     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYPOSITION), displaybind, bindable]
2272     HRESULT rubyPosition([retval, out] BSTR *p);
2273
2274     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYOVERHANG), displaybind, bindable]
2275     HRESULT rubyOverhang([retval, out] BSTR *p);
2276
2277     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTAUTOSPACE), displaybind, bindable]
2278     HRESULT textAutospace([retval, out] BSTR *p);
2279
2280     [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEBREAK), displaybind, bindable]
2281     HRESULT lineBreak([retval, out] BSTR *p);
2282
2283     [propget, id(DISPID_IHTMLCURRENTSTYLE_WORDBREAK), displaybind, bindable]
2284     HRESULT wordBreak([retval, out] BSTR *p);
2285
2286     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFY), displaybind, bindable]
2287     HRESULT textJustify([retval, out] BSTR *p);
2288
2289     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFYTRIM), displaybind, bindable]
2290     HRESULT textJustifyTrim([retval, out] BSTR *p);
2291
2292     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTKASHIDA), displaybind, bindable]
2293     HRESULT textKashida([retval, out] VARIANT *p);
2294
2295     [propget, id(DISPID_IHTMLCURRENTSTYLE_BLOCKDIRECTION), displaybind, bindable]
2296     HRESULT blockDirection([retval, out] BSTR *p);
2297
2298     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDCHAR), displaybind, bindable]
2299     HRESULT layoutGridChar([retval, out] VARIANT *p);
2300
2301     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDLINE), displaybind, bindable]
2302     HRESULT layoutGridLine([retval, out] VARIANT *p);
2303
2304     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDMODE), displaybind, bindable]
2305     HRESULT layoutGridMode([retval, out] BSTR *p);
2306
2307     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDTYPE), displaybind, bindable]
2308     HRESULT layoutGridType([retval, out] BSTR *p);
2309
2310     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERSTYLE), displaybind, bindable]
2311     HRESULT borderStyle([retval, out] BSTR *p);
2312
2313     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLOR), displaybind, bindable]
2314     HRESULT borderColor([retval, out] BSTR *p);
2315
2316     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERWIDTH), displaybind, bindable]
2317     HRESULT borderWidth([retval, out] BSTR *p);
2318
2319     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDING), displaybind, bindable]
2320     HRESULT padding([retval, out] BSTR *p);
2321
2322     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGIN), displaybind, bindable]
2323     HRESULT margin([retval, out] BSTR *p);
2324
2325     [propget, id(DISPID_IHTMLCURRENTSTYLE_ACCELERATOR), displaybind, bindable]
2326     HRESULT accelerator([retval, out] BSTR *p);
2327
2328     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWX), displaybind, bindable]
2329     HRESULT overflowX([retval, out] BSTR *p);
2330
2331     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWY), displaybind, bindable]
2332     HRESULT overflowY([retval, out] BSTR *p);
2333
2334     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTTRANSFORM), displaybind, bindable]
2335     HRESULT textTransform([retval, out] BSTR *p);
2336 }
2337
2338 /*****************************************************************************
2339  *    IHTMLRect interface
2340  */
2341 [
2342     odl,
2343     oleautomation,
2344     dual,
2345     uuid(3050f4a3-98b5-11cf-bb82-00aa00bdce0b)
2346 ]
2347 interface IHTMLRect : IDispatch
2348 {
2349     [propput, id(DISPID_IHTMLRECT_LEFT)]
2350     HRESULT left([in] long v);
2351
2352     [propget, id(DISPID_IHTMLRECT_LEFT)]
2353     HRESULT left([retval, out] long *p);
2354
2355     [propput, id(DISPID_IHTMLRECT_TOP)]
2356     HRESULT top([in] long v);
2357
2358     [propget, id(DISPID_IHTMLRECT_TOP)]
2359     HRESULT top([retval, out] long *p);
2360
2361     [propput, id(DISPID_IHTMLRECT_RIGHT)]
2362     HRESULT right([in] long v);
2363
2364     [propget, id(DISPID_IHTMLRECT_RIGHT)]
2365     HRESULT right([retval, out] long *p);
2366
2367     [propput, id(DISPID_IHTMLRECT_BOTTOM)]
2368     HRESULT bottom([in] long v);
2369
2370     [propget, id(DISPID_IHTMLRECT_BOTTOM)]
2371     HRESULT bottom([retval, out] long *p);
2372 }
2373
2374 /*****************************************************************************
2375  *    IHTMLRectCollection interface
2376  */
2377 [
2378     odl,
2379     oleautomation,
2380     dual,
2381     uuid(3050f4a4-98b5-11cf-bb82-00aa00bdce0b)
2382 ]
2383 interface IHTMLRectCollection : IDispatch
2384 {
2385     [propget, id(DISPID_IHTMLRECTCOLLECTION_LENGTH)]
2386     HRESULT length([retval, out] long *p);
2387
2388     [propget, id(DISPID_IHTMLRECTCOLLECTION__NEWENUM), hidden, restricted]
2389     HRESULT _newEnum([retval, out] IUnknown **p);
2390
2391     [id(DISPID_IHTMLRECTCOLLECTION_ITEM)]
2392     HRESULT item(
2393         [in] VARIANT *pvarIndex,
2394         [retval, out] VARIANT *pvarResult);
2395 }
2396
2397 /*****************************************************************************
2398  *    IHTMLDOMNode interface
2399  */
2400 [
2401     odl,
2402     oleautomation,
2403     dual,
2404     uuid(3050f5da-98b5-11cf-bb82-00aa00bdce0b)
2405 ]
2406 interface IHTMLDOMNode : IDispatch
2407 {
2408     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
2409     HRESULT nodeType([retval, out] long *p);
2410
2411     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
2412     HRESULT parentNode([retval, out] IHTMLDOMNode **p);
2413
2414     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
2415     HRESULT hasChildNodes([retval, out] VARIANT_BOOL *fChildren);
2416
2417     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
2418     HRESULT childNodes([retval, out] IDispatch **p);
2419
2420     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
2421     HRESULT attributes([retval, out] IDispatch **p);
2422
2423     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
2424     HRESULT insertBefore(
2425         [in] IHTMLDOMNode *newChild,
2426         [optional, in] VARIANT refChild,
2427         [retval, out] IHTMLDOMNode **node);
2428
2429     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
2430     HRESULT removeChild(
2431         [in] IHTMLDOMNode *oldChild,
2432         [retval, out] IHTMLDOMNode **node);
2433
2434     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
2435     HRESULT replaceChild(
2436         [in] IHTMLDOMNode *newChild,
2437         [in] IHTMLDOMNode *oldChild,
2438         [retval, out] IHTMLDOMNode **node);
2439
2440     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
2441     HRESULT cloneNode(
2442         [in] VARIANT_BOOL fDeep,
2443         [retval, out] IHTMLDOMNode **clonedNode);
2444
2445     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
2446     HRESULT removeNode(
2447         [defaultvalue(0), in] VARIANT_BOOL fDeep,
2448         [retval, out] IHTMLDOMNode **removed);
2449
2450     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
2451     HRESULT swapNode(
2452         [in] IHTMLDOMNode *otherNode,
2453         [retval, out] IHTMLDOMNode **swappedNode);
2454
2455     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
2456     HRESULT replaceNode(
2457         [in] IHTMLDOMNode *replacement,
2458         [retval, out] IHTMLDOMNode **replaced);
2459
2460     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
2461     HRESULT appendChild(
2462         [in] IHTMLDOMNode *newChild,
2463         [retval, out] IHTMLDOMNode **node);
2464
2465     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
2466     HRESULT nodeName([retval, out] BSTR *p);
2467
2468     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
2469     HRESULT nodeValue([in] VARIANT v);
2470
2471     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
2472     HRESULT nodeValue([retval, out] VARIANT *p);
2473
2474     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
2475     HRESULT firstChild([retval, out] IHTMLDOMNode **p);
2476
2477     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
2478     HRESULT lastChild([retval, out] IHTMLDOMNode **p);
2479
2480     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
2481     HRESULT previousSibling([retval, out] IHTMLDOMNode **p);
2482
2483     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
2484     HRESULT nextSibling([retval, out] IHTMLDOMNode **p);
2485 }
2486
2487 /*****************************************************************************
2488  *    IHTMLDOMNode2 interface
2489  */
2490 [
2491     odl,
2492     oleautomation,
2493     dual,
2494     uuid(3050f80b-98b5-11cf-bb82-00aa00bdce0b)
2495 ]
2496 interface IHTMLDOMNode2 : IDispatch
2497 {
2498     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
2499     HRESULT ownerDocument([retval, out] IDispatch **p);
2500 }
2501
2502 /*****************************************************************************
2503  *    IHTMLDOMAttribute interface
2504  */
2505 [
2506     odl,
2507     oleautomation,
2508     dual,
2509     uuid(3050f4b0-98b5-11cf-bb82-00aa00bdce0b)
2510 ]
2511 interface IHTMLDOMAttribute : IDispatch
2512 {
2513     [propget, id(DISPID_IHTMLDOMATTRIBUTE_NODENAME)]
2514     HRESULT nodeName([retval, out] BSTR *p);
2515
2516     [propput, id(DISPID_IHTMLDOMATTRIBUTE_NODEVALUE)]
2517     HRESULT nodeValue([in] VARIANT v);
2518
2519     [propget, id(DISPID_IHTMLDOMATTRIBUTE_NODEVALUE)]
2520     HRESULT nodeValue([retval, out] VARIANT *p);
2521
2522     [propget, id(DISPID_IHTMLDOMATTRIBUTE_SPECIFIED)]
2523     HRESULT specified([retval, out] VARIANT_BOOL *p);
2524 }
2525
2526 /*****************************************************************************
2527  *    IHTMLDOMTextNode interface
2528  */
2529 [
2530     odl,
2531     oleautomation,
2532     dual,
2533     uuid(3050f4b1-98b5-11cf-bb82-00aa00bdce0b)
2534 ]
2535 interface IHTMLDOMTextNode : IDispatch
2536 {
2537     [propput, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
2538     HRESULT data([in] BSTR v);
2539
2540     [propget, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
2541     HRESULT data([out, retval] BSTR *p);
2542
2543     [id(DISPID_IHTMLDOMTEXTNODE_TOSTRING)]
2544     HRESULT toString([out, retval] BSTR *String);
2545
2546     [propget, id(DISPID_IHTMLDOMTEXTNODE_LENGTH)]
2547     HRESULT length([out, retval] long *p);
2548
2549     [id(DISPID_IHTMLDOMTEXTNODE_SPLITTEXT)]
2550     HRESULT splitText(
2551             [in] long offset,
2552             [out, retval] IHTMLDOMNode **pRetNode);
2553 }
2554
2555 /*****************************************************************************
2556  *    IHTMLDOMImplementation interface
2557  */
2558 [
2559     odl,
2560     oleautomation,
2561     dual,
2562     uuid(3050f80d-98b5-11cf-bb82-00aa00bdce0b)
2563 ]
2564 interface IHTMLDOMImplementation : IDispatch
2565 {
2566     [id(DISPID_IHTMLDOMIMPLEMENTATION_HASFEATURE)]
2567     HRESULT hasFeature(
2568         [in] BSTR bstrfeature,
2569         [optional, in] VARIANT version,
2570         [retval, out] VARIANT_BOOL *pfHasFeature);
2571 }
2572
2573 /*****************************************************************************
2574  *    DispHTMLDOMTextNode dispinterface
2575  */
2576 [
2577     hidden,
2578     uuid(3050f565-98b5-11cf-bb82-00aa00bdce0b)
2579 ]
2580 dispinterface DispHTMLDOMTextNode
2581 {
2582 properties:
2583 methods:
2584     [propput, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
2585     void data(BSTR v);
2586
2587     [propget, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
2588     BSTR data();
2589
2590     [id(DISPID_IHTMLDOMTEXTNODE_TOSTRING)]
2591     BSTR toString();
2592
2593     [propget, id(DISPID_IHTMLDOMTEXTNODE_LENGTH)]
2594     long length();
2595
2596     [id(DISPID_IHTMLDOMTEXTNODE_SPLITTEXT)]
2597     IHTMLDOMNode *splitText([in] long offset);
2598
2599     [id(DISPID_IHTMLDOMTEXTNODE2_SUBSTRINGDATA)]
2600     BSTR substringData(
2601             [in] long offset,
2602             [in] long Count);
2603
2604     [id(DISPID_IHTMLDOMTEXTNODE2_APPENDDATA)]
2605     void appendData([in] BSTR bstrstring);
2606
2607     [id(DISPID_IHTMLDOMTEXTNODE2_INSERTDATA)]
2608     void insertData(
2609             [in] long offset,
2610             [in] BSTR bstrstring);
2611
2612     [id(DISPID_IHTMLDOMTEXTNODE2_DELETEDATA)]
2613     void deleteData(
2614             [in] long offset,
2615             [in] long Count);
2616
2617     [id(DISPID_IHTMLDOMTEXTNODE2_REPLACEDATA)]
2618     void replaceData(
2619             [in] long offset,
2620             [in] long Count,
2621             [in] BSTR bstrstring);
2622
2623     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
2624     long nodeType();
2625
2626     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
2627     IHTMLDOMNode *parentNode();
2628
2629     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
2630     VARIANT_BOOL hasChildNodes();
2631
2632     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
2633     IDispatch *childNodes();
2634
2635     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
2636     IDispatch *attributes();
2637
2638     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
2639     IHTMLDOMNode *insertBefore(
2640             [in] IHTMLDOMNode *newChild,
2641             [in, optional] VARIANT refChild);
2642
2643     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
2644     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
2645
2646     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
2647     IHTMLDOMNode *replaceChild(
2648             [in] IHTMLDOMNode *newChild,
2649             [in] IHTMLDOMNode *oldChild);
2650
2651     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
2652     IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
2653
2654     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
2655     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
2656
2657     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
2658     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
2659
2660     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
2661     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
2662
2663     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
2664     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
2665
2666     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
2667     BSTR nodeName();
2668
2669     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
2670     void nodeValue(VARIANT v);
2671
2672     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
2673     VARIANT nodeValue();
2674
2675     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
2676     IHTMLDOMNode *firstChild();
2677
2678     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
2679     IHTMLDOMNode *lastChild();
2680
2681     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
2682     IHTMLDOMNode *previousSibling();
2683
2684     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
2685     IHTMLDOMNode* nextSibling();
2686
2687     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
2688     IDispatch *ownerDocument();
2689 }
2690
2691 /*****************************************************************************
2692  *    IHTMLDOMChildrenCollection interface
2693  */
2694 [
2695     odl,
2696     oleautomation,
2697     dual,
2698     uuid(3050f5ab-98b5-11cf-bb82-00aa00bdce0b)
2699 ]
2700 interface IHTMLDOMChildrenCollection : IDispatch
2701 {
2702     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION_LENGTH)]
2703     HRESULT length([out, retval] long *p);
2704
2705     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION__NEWENUM), hidden, restricted]
2706     HRESULT _newEnum([out, retval] IUnknown **p);
2707
2708     [id(DISPID_IHTMLDOMCHILDRENCOLLECTION_ITEM)]
2709     HRESULT item(
2710             [in] long index,
2711             [out, retval] IDispatch **ppItem);
2712 }
2713
2714 /*****************************************************************************
2715  *    DispDOMChildrenCollection dispinterface
2716  */
2717 [
2718     hidden,
2719     uuid(3050f577-98b5-11cf-bb82-00aa00bdce0b)
2720 ]
2721 dispinterface DispDOMChildrenCollection
2722 {
2723 properties:
2724 methods:
2725     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION_LENGTH)]
2726     long length();
2727
2728     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION__NEWENUM), hidden, restricted]
2729     IUnknown *_newEnum();
2730
2731     [id(DISPID_IHTMLDOMCHILDRENCOLLECTION_ITEM)]
2732     IDispatch *item([in] long index);
2733 }
2734
2735 interface IHTMLElementCollection;
2736
2737 /*****************************************************************************
2738  *    IHTMLElement interface
2739  */
2740 [
2741     odl,
2742     dual,
2743     oleautomation,
2744     uuid(3050f1FF-98B5-11CF-BB82-00AA00BDCE0B)
2745 ]
2746 interface IHTMLElement : IDispatch
2747 {
2748     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
2749     HRESULT setAttribute(
2750         [in] BSTR strAttributeName,
2751         [in] VARIANT AttributeValue,
2752         [defaultvalue(1), in] LONG lFlags);
2753
2754     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
2755     HRESULT getAttribute(
2756         [in] BSTR strAttributeName,
2757         [defaultvalue(0), in] LONG lFlags,
2758         [retval, out] VARIANT *AttributeValue);
2759
2760     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
2761     HRESULT removeAttribute(
2762         [in] BSTR strAttributeName,
2763         [defaultvalue(1), in] LONG lFlags,
2764         [retval, out] VARIANT_BOOL *pfSuccess);
2765
2766     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME)]
2767     HRESULT className([in] BSTR v);
2768
2769     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME)]
2770     HRESULT className([retval, out] BSTR *p);
2771
2772     [propput, id(DISPID_IHTMLELEMENT_ID)]
2773     HRESULT id([in] BSTR v);
2774
2775     [propget, id(DISPID_IHTMLELEMENT_ID)]
2776     HRESULT id([retval, out] BSTR *p);
2777
2778     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
2779     HRESULT tagName([retval, out] BSTR *p);
2780
2781     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
2782     HRESULT parentElement([retval, out] IHTMLElement **p);
2783
2784     [propget, id(DISPID_IHTMLELEMENT_STYLE)]
2785     HRESULT style([retval, out] IHTMLStyle **p);
2786
2787     [propput, id(DISPID_IHTMLELEMENT_ONHELP)]
2788     HRESULT onhelp([in] VARIANT v);
2789
2790     [propget, id(DISPID_IHTMLELEMENT_ONHELP)]
2791     HRESULT onhelp([retval, out] VARIANT *p);
2792
2793     [propput, id(DISPID_IHTMLELEMENT_ONCLICK)]
2794     HRESULT onclick([in] VARIANT v);
2795
2796     [propget, id(DISPID_IHTMLELEMENT_ONCLICK)]
2797     HRESULT onclick([retval, out] VARIANT *p);
2798
2799     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK)]
2800     HRESULT ondblclick([in] VARIANT v);
2801
2802     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK)]
2803     HRESULT ondblclick([retval, out] VARIANT *p);
2804
2805     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN)]
2806     HRESULT onkeydown([in] VARIANT v);
2807
2808     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN)]
2809     HRESULT onkeydown([retval, out] VARIANT *p);
2810
2811     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP)]
2812     HRESULT onkeyup([in] VARIANT v);
2813
2814     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP)]
2815     HRESULT onkeyup([retval, out] VARIANT *p);
2816
2817     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS)]
2818     HRESULT onkeypress([in] VARIANT v);
2819
2820     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS)]
2821     HRESULT onkeypress([retval, out] VARIANT *p);
2822
2823     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT)]
2824     HRESULT onmouseout([in] VARIANT v);
2825
2826     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT)]
2827     HRESULT onmouseout([retval, out] VARIANT *p);
2828
2829     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER)]
2830     HRESULT onmouseover([in] VARIANT v);
2831
2832     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER)]
2833     HRESULT onmouseover([retval, out] VARIANT *p);
2834
2835     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE)]
2836     HRESULT onmousemove([in] VARIANT v);
2837
2838     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE)]
2839     HRESULT onmousemove([retval, out] VARIANT *p);
2840
2841     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN)]
2842     HRESULT onmousedown([in] VARIANT v);
2843
2844     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN)]
2845     HRESULT onmousedown([retval, out] VARIANT *p);
2846
2847     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP)]
2848     HRESULT onmouseup([in] VARIANT v);
2849
2850     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP)]
2851     HRESULT onmouseup([retval, out] VARIANT *p);
2852
2853     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
2854     HRESULT document([retval, out] IDispatch **p);
2855
2856     [propput, id(DISPID_IHTMLELEMENT_TITLE)]
2857     HRESULT title([in] BSTR v);
2858
2859     [propget, id(DISPID_IHTMLELEMENT_TITLE)]
2860     HRESULT title([retval, out] BSTR *p);
2861
2862     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE)]
2863     HRESULT language([in] BSTR v);
2864
2865     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE)]
2866     HRESULT language([retval, out] BSTR *p);
2867
2868     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART)]
2869     HRESULT onselectstart([in] VARIANT v);
2870
2871     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART)]
2872     HRESULT onselectstart([retval, out] VARIANT *p);
2873
2874     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
2875     HRESULT scrollIntoView([optional, in] VARIANT varargStart);
2876
2877     [id(DISPID_IHTMLELEMENT_CONTAINS)]
2878     HRESULT contains(
2879         [in] IHTMLElement *pChild,
2880         [retval, out] VARIANT_BOOL *pfResult);
2881
2882     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX)]
2883     HRESULT sourceIndex([retval, out] long *p);
2884
2885     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
2886     HRESULT recordNumber([retval, out] VARIANT *p);
2887
2888     [propput, id(DISPID_IHTMLELEMENT_LANG)]
2889     HRESULT lang([in] BSTR v);
2890
2891     [propget, id(DISPID_IHTMLELEMENT_LANG)]
2892     HRESULT lang([retval, out] BSTR *p);
2893
2894     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
2895     HRESULT offsetLeft([retval, out] long *p);
2896
2897     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
2898     HRESULT offsetTop([retval, out] long *p);
2899
2900     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
2901     HRESULT offsetWidth([retval, out] long *p);
2902
2903     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
2904     HRESULT offsetHeight([retval, out] long *p);
2905
2906     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
2907     HRESULT offsetParent([retval, out] IHTMLElement **p);
2908
2909     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
2910     HRESULT innerHTML([in] BSTR v);
2911
2912     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
2913     HRESULT innerHTML([retval, out] BSTR *p);
2914
2915     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
2916     HRESULT innerText([in] BSTR v);
2917
2918     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
2919     HRESULT innerText([retval, out] BSTR *p);
2920
2921     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
2922     HRESULT outerHTML([in] BSTR v);
2923
2924     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
2925     HRESULT outerHTML([retval, out] BSTR *p);
2926
2927     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
2928     HRESULT outerText([in] BSTR v);
2929
2930     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
2931     HRESULT outerText([retval, out] BSTR *p);
2932
2933     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
2934     HRESULT insertAdjacentHTML([in] BSTR where, [in] BSTR html);
2935
2936     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
2937     HRESULT insertAdjacentText([in] BSTR where, [in] BSTR text);
2938
2939     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
2940     HRESULT parentTextEdit([retval, out] IHTMLElement **p);
2941
2942     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
2943     HRESULT isTextEdit([retval, out] VARIANT_BOOL *p);
2944
2945     [id(DISPID_IHTMLELEMENT_CLICK)]
2946     HRESULT click();
2947
2948     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
2949     HRESULT filters([retval, out] IHTMLFiltersCollection **p);
2950
2951     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART)]
2952     HRESULT ondragstart([in] VARIANT v);
2953
2954     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART)]
2955     HRESULT ondragstart([retval, out] VARIANT *p);
2956
2957     [id(DISPID_IHTMLELEMENT_TOSTRING)]
2958     HRESULT toString([retval, out] BSTR *String);
2959
2960     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE)]
2961     HRESULT onbeforeupdate([in] VARIANT v);
2962
2963     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE)]
2964     HRESULT onbeforeupdate([retval, out] VARIANT *p);
2965
2966     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE)]
2967     HRESULT onafterupdate([in] VARIANT v);
2968
2969     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE)]
2970     HRESULT onafterupdate([retval, out] VARIANT *p);
2971
2972     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE)]
2973     HRESULT onerrorupdate([in] VARIANT v);
2974
2975     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE)]
2976     HRESULT onerrorupdate([retval, out] VARIANT *p);
2977
2978     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT)]
2979     HRESULT onrowexit([in] VARIANT v);
2980
2981     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT)]
2982     HRESULT onrowexit([retval, out] VARIANT *p);
2983
2984     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER)]
2985     HRESULT onrowenter([in] VARIANT v);
2986
2987     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER)]
2988     HRESULT onrowenter([retval, out] VARIANT *p);
2989
2990     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED)]
2991     HRESULT ondatasetchanged([in] VARIANT v);
2992
2993     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED)]
2994     HRESULT ondatasetchanged([retval, out] VARIANT *p);
2995
2996     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE)]
2997     HRESULT ondataavailable([in] VARIANT v);
2998
2999     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE)]
3000     HRESULT ondataavailable([retval, out] VARIANT *p);
3001
3002     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE)]
3003     HRESULT ondatasetcomplete([in] VARIANT v);
3004
3005     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE)]
3006     HRESULT ondatasetcomplete([retval, out] VARIANT *p);
3007
3008     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE)]
3009     HRESULT onfilterchange([in] VARIANT v);
3010
3011     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE)]
3012     HRESULT onfilterchange([retval, out] VARIANT *p);
3013
3014     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
3015     HRESULT children([retval, out] IDispatch **p);
3016
3017     [propget, id(DISPID_IHTMLELEMENT_ALL)]
3018     HRESULT all([retval, out] IDispatch **p);
3019 }
3020
3021 /*****************************************************************************
3022  *    IHTMLElement2 interface
3023  */
3024 [
3025     odl,
3026     oleautomation,
3027     dual,
3028     uuid(3050f434-98b5-11cf-bb82-00aa00bdce0b)
3029 ]
3030 interface IHTMLElement2 : IDispatch
3031 {
3032     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
3033     HRESULT scopeName([retval, out] BSTR *p);
3034
3035     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
3036     HRESULT setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
3037
3038     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
3039     HRESULT releaseCapture();
3040
3041     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
3042     HRESULT onlosecapture([in] VARIANT v);
3043
3044     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
3045     HRESULT onlosecapture([retval, out] VARIANT *p);
3046
3047     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
3048     HRESULT componentFromPoint(
3049         [in] long x,
3050         [in] long y,
3051         [retval, out] BSTR *component);
3052
3053     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
3054     HRESULT doScroll([optional, in] VARIANT component);
3055
3056     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
3057     HRESULT onscroll([in] VARIANT v);
3058
3059     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
3060     HRESULT onscroll([retval, out] VARIANT *p);
3061
3062     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
3063     HRESULT ondrag([in] VARIANT v);
3064
3065     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
3066     HRESULT ondrag([retval, out] VARIANT *p);
3067
3068     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
3069     HRESULT ondragend([in] VARIANT v);
3070
3071     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
3072     HRESULT ondragend([retval, out] VARIANT *p);
3073
3074     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
3075     HRESULT ondragenter([in] VARIANT v);
3076
3077     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
3078     HRESULT ondragenter([retval, out] VARIANT *p);
3079
3080     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
3081     HRESULT ondragover([in] VARIANT v);
3082
3083     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
3084     HRESULT ondragover([retval, out] VARIANT *p);
3085
3086     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
3087     HRESULT ondragleave([in] VARIANT v);
3088
3089     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
3090     HRESULT ondragleave([retval, out] VARIANT *p);
3091
3092     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
3093     HRESULT ondrop([in] VARIANT v);
3094
3095     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
3096     HRESULT ondrop([retval, out] VARIANT *p);
3097
3098     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
3099     HRESULT onbeforecut([in] VARIANT v);
3100
3101     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
3102     HRESULT onbeforecut([retval, out] VARIANT *p);
3103
3104     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
3105     HRESULT oncut([in] VARIANT v);
3106
3107     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
3108     HRESULT oncut([retval, out] VARIANT *p);
3109
3110     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
3111     HRESULT onbeforecopy([in] VARIANT v);
3112
3113     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
3114     HRESULT onbeforecopy([retval, out] VARIANT *p);
3115
3116     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
3117     HRESULT oncopy([in] VARIANT v);
3118
3119     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
3120     HRESULT oncopy([retval, out] VARIANT *p);
3121
3122     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
3123     HRESULT onbeforepaste([in] VARIANT v);
3124
3125     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
3126     HRESULT onbeforepaste([retval, out] VARIANT *p);
3127
3128     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
3129     HRESULT onpaste([in] VARIANT v);
3130
3131     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
3132     HRESULT onpaste([retval, out] VARIANT *p);
3133
3134     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
3135     HRESULT currentStyle([retval, out] IHTMLCurrentStyle **p);
3136
3137     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
3138     HRESULT onpropertychange([in] VARIANT v);
3139
3140     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
3141     HRESULT onpropertychange([retval, out] VARIANT *p);
3142
3143     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
3144     HRESULT getClientRects([retval, out] IHTMLRectCollection **pRectCol);
3145
3146     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
3147     HRESULT getBoundingClientRect([retval, out] IHTMLRect **pRect);
3148
3149     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
3150     HRESULT setExpression(
3151         [in] BSTR propname,
3152         [in] BSTR expression,
3153         [defaultvalue(""), in] BSTR language);
3154
3155     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
3156     HRESULT getExpression(
3157         [in] BSTR propname,
3158         [retval, out] VARIANT *expression);
3159
3160     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
3161     HRESULT removeExpression(
3162         [in] BSTR propname,
3163         [retval, out] VARIANT_BOOL *pfSuccess);
3164
3165     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
3166     HRESULT tabIndex([in] short v);
3167
3168     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
3169     HRESULT tabIndex([retval, out] short *p);
3170
3171     [id(DISPID_IHTMLELEMENT2_FOCUS)]
3172     HRESULT focus();
3173
3174     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
3175     HRESULT accessKey([in] BSTR v);
3176
3177     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
3178     HRESULT accessKey([retval, out] BSTR *p);
3179
3180     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
3181     HRESULT onblur([in] VARIANT v);
3182
3183     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
3184     HRESULT onblur([retval, out] VARIANT *p);
3185
3186     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
3187     HRESULT onfocus([in] VARIANT v);
3188
3189     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
3190     HRESULT onfocus([retval, out] VARIANT *p);
3191
3192     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
3193     HRESULT onresize([in] VARIANT v);
3194
3195     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
3196     HRESULT onresize([retval, out] VARIANT *p);
3197
3198     [id(DISPID_IHTMLELEMENT2_BLUR)]
3199     HRESULT blur();
3200
3201     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
3202     HRESULT addFilter([in] IUnknown *pUnk);
3203
3204     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
3205     HRESULT removeFilter([in] IUnknown *pUnk);
3206
3207     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
3208     HRESULT clientHeight([retval, out] long *p);
3209
3210     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
3211     HRESULT clientWidth([retval, out] long *p);
3212
3213     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
3214     HRESULT clientTop([retval, out] long *p);
3215
3216     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
3217     HRESULT clientLeft([retval, out] long *p);
3218
3219     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
3220     HRESULT attachEvent(
3221         [in] BSTR event,
3222         [in] IDispatch *pDisp,
3223         [retval, out] VARIANT_BOOL *pfResult);
3224
3225     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
3226     HRESULT detachEvent(
3227         [in] BSTR event,
3228         [in] IDispatch *pDisp);
3229
3230     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
3231     HRESULT readyState([retval, out] VARIANT *p);
3232
3233     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
3234     HRESULT onreadystatechange([in] VARIANT v);
3235
3236     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
3237     HRESULT onreadystatechange([retval, out] VARIANT *p);
3238
3239     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
3240     HRESULT onrowsdelete([in] VARIANT v);
3241
3242     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
3243     HRESULT onrowsdelete([retval, out] VARIANT *p);
3244
3245     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
3246     HRESULT onrowsinserted([in] VARIANT v);
3247
3248     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
3249     HRESULT onrowsinserted([retval, out] VARIANT *p);
3250
3251     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
3252     HRESULT oncellchange([in] VARIANT v);
3253
3254     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
3255     HRESULT oncellchange([retval, out] VARIANT *p);
3256
3257     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
3258     HRESULT dir([in] BSTR v);
3259
3260     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
3261     HRESULT dir([retval, out] BSTR *p);
3262
3263     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
3264     HRESULT createControlRange([retval, out] IDispatch **range);
3265
3266     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
3267     HRESULT scrollHeight([retval, out] long *p);
3268
3269     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
3270     HRESULT scrollWidth([retval, out] long *p);
3271
3272     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
3273     HRESULT scrollTop([in] long v);
3274
3275     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
3276     HRESULT scrollTop([retval, out] long *p);
3277
3278     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
3279     HRESULT scrollLeft([in] long v);
3280
3281     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
3282     HRESULT scrollLeft([retval, out] long *p);
3283
3284     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
3285     HRESULT clearAttributes();
3286
3287     [id(DISPID_IHTMLELEMENT2_MERGEATTRIBUTES)]
3288     HRESULT mergeAttributes([in] IHTMLElement *mergeThis);
3289
3290     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
3291     HRESULT oncontextmenu([in] VARIANT v);
3292
3293     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
3294     HRESULT oncontextmenu([retval, out] VARIANT *p);
3295
3296     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
3297     HRESULT insertAdjacentElement(
3298         [in] BSTR where,
3299         [in] IHTMLElement *insertedElement,
3300         [retval, out] IHTMLElement **inserted);
3301
3302     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
3303     HRESULT applyElement(
3304         [in] IHTMLElement *apply,
3305         [in] BSTR where,
3306         [retval, out] IHTMLElement **applied);
3307
3308     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
3309     HRESULT getAdjacentText(
3310         [in] BSTR where,
3311         [retval, out] BSTR *text);
3312
3313     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
3314     HRESULT replaceAdjacentText(
3315         [in] BSTR where,
3316         [in] BSTR newText,
3317         [retval, out] BSTR *oldText);
3318
3319     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
3320     HRESULT canHaveChildren([retval, out] VARIANT_BOOL *p);
3321
3322     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
3323     HRESULT addBehavior(
3324         [in] BSTR bstrUrl,
3325         [optional, in] VARIANT *pvarFactory,
3326         [retval, out] long *pCookie);
3327
3328     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
3329     HRESULT removeBehavior(
3330         [in] long cookie,
3331         [retval, out] VARIANT_BOOL *pfResult);
3332
3333     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
3334     HRESULT runtimeStyle([retval, out] IHTMLStyle **p);
3335
3336     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
3337     HRESULT behaviorUrns([retval, out] IDispatch **p);
3338
3339     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
3340     HRESULT tagUrn([in] BSTR v);
3341
3342     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
3343     HRESULT tagUrn([retval, out] BSTR *p);
3344
3345     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
3346     HRESULT onbeforeeditfocus([in] VARIANT v);
3347
3348     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
3349     HRESULT onbeforeeditfocus([retval, out] VARIANT *p);
3350
3351     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
3352     HRESULT readyStateValue([retval, out] long *p);
3353
3354     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
3355     HRESULT getElementsByTagName(
3356         [in] BSTR v,
3357         [retval, out] IHTMLElementCollection **pelColl);
3358 }
3359
3360
3361 /*****************************************************************************
3362  *    IHTMLElement3 interface
3363  */
3364 [
3365     odl,
3366     oleautomation,
3367     dual,
3368     uuid(3050f673-98b5-11cf-bb82-00aa00bdce0b)
3369 ]
3370 interface IHTMLElement3 : IDispatch
3371 {
3372     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)] HRESULT mergeAttributes([in]
3373     IHTMLElement* mergeThis,[optional, in] VARIANT* pvarFlags);
3374
3375     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
3376     HRESULT isMultiLine([retval, out] VARIANT_BOOL * p);
3377
3378     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
3379     HRESULT canHaveHTML([retval, out] VARIANT_BOOL * p);
3380
3381     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
3382     HRESULT onlayoutcomplete([in] VARIANT v);
3383
3384     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
3385     HRESULT onlayoutcomplete([retval, out] VARIANT * p);
3386
3387     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
3388     HRESULT onpage([in] VARIANT v);
3389
3390     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
3391     HRESULT onpage([retval, out] VARIANT * p);
3392
3393     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
3394     HRESULT inflateBlock([in] VARIANT_BOOL v);
3395
3396     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
3397     HRESULT inflateBlock([retval, out] VARIANT_BOOL * p);
3398
3399     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
3400     HRESULT onbeforedeactivate([in] VARIANT v);
3401
3402     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
3403     HRESULT onbeforedeactivate([retval, out] VARIANT * p);
3404
3405     [id(DISPID_IHTMLELEMENT3_SETACTIVE)] HRESULT setActive();
3406
3407     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
3408     HRESULT contentEditable([in] BSTR v);
3409
3410     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
3411     HRESULT contentEditable([retval, out] BSTR * p);
3412
3413     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
3414     HRESULT isContentEditable([retval, out] VARIANT_BOOL * p);
3415
3416     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
3417     HRESULT hideFocus([in] VARIANT_BOOL v);
3418
3419     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
3420     HRESULT hideFocus([retval, out] VARIANT_BOOL * p);
3421
3422     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
3423     HRESULT disabled([in] VARIANT_BOOL v);
3424
3425     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
3426     HRESULT disabled([retval, out] VARIANT_BOOL * p);
3427
3428     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
3429     HRESULT isDisabled([retval, out] VARIANT_BOOL * p);
3430
3431     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
3432     HRESULT onmove([in] VARIANT v);
3433
3434     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
3435     HRESULT onmove([retval, out] VARIANT * p);
3436
3437     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
3438     HRESULT oncontrolselect([in] VARIANT v);
3439
3440     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
3441     HRESULT oncontrolselect([retval, out] VARIANT * p);
3442
3443     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
3444     HRESULT fireEvent(
3445         [in] BSTR bstrEventName,
3446         [optional, in] VARIANT* pvarEventObject,
3447         [retval, out] VARIANT_BOOL* pfCancelled);
3448
3449     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
3450     HRESULT onresizestart([in] VARIANT v);
3451
3452     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
3453     HRESULT onresizestart([retval, out] VARIANT * p);
3454
3455     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
3456     HRESULT onresizeend([in] VARIANT v);
3457
3458     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
3459     HRESULT onresizeend([retval, out] VARIANT * p);
3460
3461     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
3462     HRESULT onmovestart([in] VARIANT v);
3463
3464     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
3465     HRESULT onmovestart([retval, out] VARIANT * p);
3466
3467     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
3468     HRESULT onmoveend([in] VARIANT v);
3469
3470     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
3471     HRESULT onmoveend([retval, out] VARIANT * p);
3472
3473     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
3474     HRESULT onmouseenter([in] VARIANT v);
3475
3476     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
3477     HRESULT onmouseenter([retval, out] VARIANT * p);
3478
3479     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
3480     HRESULT onmouseleave([in] VARIANT v);
3481
3482     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
3483     HRESULT onmouseleave([retval, out] VARIANT * p);
3484
3485     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
3486     HRESULT onactivate([in] VARIANT v);
3487
3488     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
3489     HRESULT onactivate([retval, out] VARIANT * p);
3490
3491     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
3492     HRESULT ondeactivate([in] VARIANT v);
3493
3494     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
3495     HRESULT ondeactivate([retval, out] VARIANT * p);
3496
3497     [id(DISPID_IHTMLELEMENT3_DRAGDROP)] HRESULT dragDrop([retval, out]
3498     VARIANT_BOOL* pfRet);
3499
3500     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
3501     HRESULT glyphMode([retval, out] LONG * p);
3502 };
3503 /*****************************************************************************
3504  *    IHTMLElement4 interface
3505  */
3506 [
3507     odl,
3508     oleautomation,
3509     dual,
3510     uuid(3050f80f-98b5-11cf-bb82-00aa00bdce0b)
3511 ]
3512 interface IHTMLElement4 : IDispatch
3513 {
3514     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
3515     HRESULT onmousewheel([in] VARIANT v);
3516
3517     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
3518     HRESULT onmousewheel([retval, out] VARIANT * p);
3519
3520     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
3521     HRESULT normalize();
3522
3523     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
3524     HRESULT getAttributeNode([in] BSTR bstrname,
3525         [retval, out] IHTMLDOMAttribute** ppAttribute);
3526
3527     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
3528     HRESULT setAttributeNode(
3529         [in] IHTMLDOMAttribute* pattr,
3530         [retval, out] IHTMLDOMAttribute** ppretAttribute);
3531
3532     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
3533     HRESULT removeAttributeNode(
3534         [in] IHTMLDOMAttribute* pattr,
3535         [retval, out] IHTMLDOMAttribute** ppretAttribute);
3536
3537     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
3538     HRESULT onbeforeactivate([in] VARIANT v);
3539
3540     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
3541     HRESULT onbeforeactivate([retval, out] VARIANT * p);
3542
3543     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
3544     HRESULT onfocusin([in] VARIANT v);
3545
3546     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
3547     HRESULT onfocusin([retval, out] VARIANT * p);
3548
3549     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
3550     HRESULT onfocusout([in] VARIANT v);
3551
3552     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
3553     HRESULT onfocusout([retval, out] VARIANT * p);
3554 };
3555
3556 /*****************************************************************************
3557  *    IHTMLGenericElement interface
3558  */
3559 [
3560     odl,
3561     oleautomation,
3562     dual,
3563     uuid(3050f4b7-98b5-11cf-bb82-00aa00bdce0b)
3564 ]
3565 interface IHTMLGenericElement : IDispatch
3566 {
3567     [propget, id(DISPID_IHTMLGENERICELEMENT_RECORDSET), hidden]
3568     HRESULT recordset([out, retval] IDispatch **p);
3569
3570     [id(DISPID_IHTMLGENERICELEMENT_NAMEDRECORDSET)]
3571     HRESULT namedRecordset(
3572             [in] BSTR dataMember,
3573             [in, optional] VARIANT *hierarchy,
3574             [out, retval] IDispatch **ppRecordset);
3575 }
3576
3577 /*****************************************************************************
3578  *    DispHTMLGenericElement dispinterface
3579  */
3580 [
3581     hidden,
3582     uuid(3050f563-98b5-11cf-bb82-00aa00bdce0b)
3583 ]
3584 dispinterface DispHTMLGenericElement
3585 {
3586 properties:
3587 methods:
3588     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
3589     void setAttribute(
3590             [in] BSTR strAttributeName,
3591             [in] VARIANT AttributeValue,
3592             [in, defaultvalue(1)] LONG lFlags);
3593
3594     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
3595     VARIANT getAttribute(
3596              [in] BSTR strAttributeName,
3597              [in, defaultvalue(0)] LONG lFlags);
3598
3599     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
3600     VARIANT_BOOL removeAttribute(
3601             [in] BSTR strAttributeName,
3602             [in, defaultvalue(1)] LONG lFlags);
3603
3604     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
3605     void className(BSTR v);
3606
3607     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
3608     BSTR className();
3609
3610     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
3611     void id(BSTR v);
3612
3613     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
3614     BSTR id();
3615
3616     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
3617     BSTR tagName();
3618
3619     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
3620     IHTMLElement *parentElement();
3621
3622     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
3623     IHTMLStyle *style();
3624
3625     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
3626     void onhelp(VARIANT v);
3627
3628     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
3629     VARIANT onhelp();
3630
3631     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
3632     void onclick(VARIANT v);
3633
3634     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
3635     VARIANT onclick();
3636
3637     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
3638     void ondblclick(VARIANT v);
3639
3640     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
3641     VARIANT ondblclick();
3642
3643     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
3644     void onkeydown(VARIANT v);
3645
3646     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
3647     VARIANT onkeydown();
3648
3649     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
3650     void onkeyup(VARIANT v);
3651
3652     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
3653     VARIANT onkeyup();
3654
3655     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
3656     void onkeypress(VARIANT v);
3657
3658     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
3659     VARIANT onkeypress();
3660
3661     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
3662     void onmouseout(VARIANT v);
3663
3664     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
3665     VARIANT onmouseout();
3666
3667     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
3668     void onmouseover(VARIANT v);
3669
3670     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
3671     VARIANT onmouseover();
3672
3673     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
3674     void onmousemove(VARIANT v);
3675
3676     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
3677     VARIANT onmousemove();
3678
3679     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
3680     void onmousedown(VARIANT v);
3681
3682     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
3683     VARIANT onmousedown();
3684
3685     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
3686     void onmouseup(VARIANT v);
3687
3688     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
3689     VARIANT onmouseup();
3690
3691     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
3692     IDispatch *document();
3693
3694     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
3695     void title(BSTR v);
3696
3697     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
3698     BSTR title();
3699
3700     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
3701     void language(BSTR v);
3702
3703     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
3704     BSTR language();
3705
3706     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
3707     void onselectstart(VARIANT v);
3708
3709     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
3710     VARIANT onselectstart();
3711
3712     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
3713     void scrollIntoView([in, optional] VARIANT varargStart);
3714
3715     [id(DISPID_IHTMLELEMENT_CONTAINS)]
3716     VARIANT_BOOL contains([in] IHTMLElement *pChild);
3717
3718     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
3719     long sourceIndex();
3720
3721     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
3722     VARIANT recordNumber();
3723
3724     [propput, id(DISPID_IHTMLELEMENT_LANG)]
3725     void lang(BSTR v);
3726
3727     [propget, id(DISPID_IHTMLELEMENT_LANG)]
3728     BSTR lang();
3729
3730     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
3731     long offsetLeft();
3732
3733     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
3734     long offsetTop();
3735
3736     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
3737     long offsetWidth();
3738
3739     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
3740     long offsetHeight();
3741
3742     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
3743     IHTMLElement *offsetParent();
3744
3745     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
3746     void innerHTML(BSTR v);
3747
3748     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
3749     BSTR innerHTML();
3750
3751     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
3752     void innerText(BSTR v);
3753
3754     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
3755     BSTR innerText();
3756
3757     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
3758     void outerHTML(BSTR v);
3759
3760     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
3761     BSTR outerHTML();
3762
3763     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
3764     void outerText(BSTR v);
3765
3766     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
3767     BSTR outerText();
3768
3769     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
3770     void insertAdjacentHTML(
3771             [in] BSTR where,
3772             [in] BSTR html);
3773
3774     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
3775     void insertAdjacentText(
3776             [in] BSTR where,
3777             [in] BSTR text);
3778
3779     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
3780     IHTMLElement *parentTextEdit();
3781
3782     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
3783     VARIANT_BOOL isTextEdit();
3784
3785     [id(DISPID_IHTMLELEMENT_CLICK)]
3786     void click();
3787
3788     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
3789     IHTMLFiltersCollection *filters();
3790
3791     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
3792     void ondragstart(VARIANT v);
3793
3794     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
3795     VARIANT ondragstart();
3796
3797     [id(DISPID_IHTMLELEMENT_TOSTRING)]
3798     BSTR toString();
3799
3800     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
3801     void onbeforeupdate(VARIANT v);
3802
3803     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
3804     VARIANT onbeforeupdate();
3805
3806     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
3807     void onafterupdate(VARIANT v);
3808
3809     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
3810     VARIANT onafterupdate();
3811
3812     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
3813     void onerrorupdate(VARIANT v);
3814
3815     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
3816     VARIANT onerrorupdate();
3817
3818     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
3819     void onrowexit(VARIANT v);
3820
3821     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
3822     VARIANT onrowexit();
3823
3824     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
3825     void onrowenter(VARIANT v);
3826
3827     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
3828     VARIANT onrowenter();
3829
3830     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
3831     void ondatasetchanged(VARIANT v);
3832
3833     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
3834     VARIANT ondatasetchanged();
3835
3836     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
3837     void ondataavailable(VARIANT v);
3838
3839     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
3840     VARIANT ondataavailable();
3841
3842     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
3843     void ondatasetcomplete(VARIANT v);
3844
3845     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
3846     VARIANT ondatasetcomplete();
3847
3848     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
3849     void onfilterchange(VARIANT v);
3850
3851     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
3852     VARIANT onfilterchange();
3853
3854     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
3855     IDispatch *children();
3856
3857     [propget, id(DISPID_IHTMLELEMENT_ALL)]
3858     IDispatch *all();
3859
3860     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
3861     BSTR scopeName();
3862
3863     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
3864     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
3865
3866     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
3867     void releaseCapture();
3868
3869     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
3870     void onlosecapture(VARIANT v);
3871
3872     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
3873     VARIANT onlosecapture();
3874
3875     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
3876     BSTR componentFromPoint(
3877             [in] long x,
3878             [in] long y);
3879
3880     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
3881     void doScroll([in, optional] VARIANT component);
3882
3883     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
3884     void onscroll(VARIANT v);
3885
3886     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
3887     VARIANT onscroll();
3888
3889     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
3890     void ondrag(VARIANT v);
3891
3892     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
3893     VARIANT ondrag();
3894
3895     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
3896     void ondragend(VARIANT v);
3897
3898     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
3899     VARIANT ondragend();
3900
3901     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
3902     void ondragenter(VARIANT v);
3903
3904     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
3905     VARIANT ondragenter();
3906
3907     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
3908     void ondragover(VARIANT v);
3909
3910     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
3911     VARIANT ondragover();
3912
3913     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
3914     void ondragleave(VARIANT v);
3915
3916     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
3917     VARIANT ondragleave();
3918
3919     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
3920     void ondrop(VARIANT v);
3921
3922     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
3923     VARIANT ondrop();
3924
3925     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
3926     void onbeforecut(VARIANT v);
3927
3928     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
3929     VARIANT onbeforecut();
3930
3931     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
3932     void oncut(VARIANT v);
3933
3934     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
3935     VARIANT oncut();
3936
3937     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
3938     void onbeforecopy(VARIANT v);
3939
3940     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
3941     VARIANT onbeforecopy();
3942
3943     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
3944     void oncopy(VARIANT v);
3945
3946     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
3947     VARIANT oncopy();
3948
3949     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
3950     void onbeforepaste(VARIANT v);
3951
3952     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
3953     VARIANT onbeforepaste();
3954
3955     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
3956     void onpaste(VARIANT v);
3957
3958     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
3959     VARIANT onpaste();
3960
3961     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
3962     IHTMLCurrentStyle *currentStyle();
3963
3964     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
3965     void onpropertychange(VARIANT v);
3966
3967     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
3968     VARIANT onpropertychange();
3969
3970     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
3971     IHTMLRectCollection *getClientRects();
3972
3973     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
3974     IHTMLRect *getBoundingClientRect();
3975
3976     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
3977     void setExpression(
3978             [in] BSTR propname,
3979             [in] BSTR expression,
3980             [in, defaultvalue("")] BSTR language);
3981
3982     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
3983     VARIANT getExpression([in] BSTR propname);
3984
3985     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
3986     VARIANT_BOOL removeExpression([in] BSTR propname);
3987
3988     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
3989     void tabIndex(short v);
3990
3991     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
3992     short tabIndex();
3993
3994     [id(DISPID_IHTMLELEMENT2_FOCUS)]
3995     void focus();
3996
3997     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
3998     void accessKey(BSTR v);
3999
4000     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
4001     BSTR accessKey();
4002
4003     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
4004     void onblur(VARIANT v);
4005
4006     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
4007     VARIANT onblur();
4008
4009     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
4010     void onfocus(VARIANT v);
4011
4012     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
4013     VARIANT onfocus();
4014
4015     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
4016     void onresize(VARIANT v);
4017
4018     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
4019     VARIANT onresize();
4020
4021     [id(DISPID_IHTMLELEMENT2_BLUR)]
4022     void blur();
4023
4024     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
4025     void addFilter([in] IUnknown *pUnk);
4026
4027     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
4028     void removeFilter([in] IUnknown *pUnk);
4029
4030     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
4031     long clientHeight();
4032
4033     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
4034     long clientWidth();
4035
4036     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
4037     long clientTop();
4038
4039     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
4040     long clientLeft();
4041
4042     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
4043     VARIANT_BOOL attachEvent(
4044             [in] BSTR event,
4045             [in] IDispatch *pDisp);
4046
4047     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
4048     void detachEvent(
4049             [in] BSTR event,
4050             [in] IDispatch *pDisp);
4051
4052     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
4053     VARIANT readyState();
4054
4055     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
4056     void onreadystatechange(VARIANT v);
4057
4058     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
4059     VARIANT onreadystatechange();
4060
4061     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
4062     void onrowsdelete(VARIANT v);
4063
4064     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
4065     VARIANT onrowsdelete();
4066
4067     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
4068     void onrowsinserted(VARIANT v);
4069
4070     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
4071      VARIANT onrowsinserted();
4072
4073     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
4074      void oncellchange(VARIANT v);
4075
4076     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
4077     VARIANT oncellchange();
4078
4079     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
4080     void dir(BSTR v);
4081
4082     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
4083     BSTR dir();
4084
4085     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
4086     IDispatch *createControlRange();
4087
4088     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
4089     long scrollHeight();
4090
4091     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
4092     long scrollWidth();
4093
4094     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
4095     void scrollTop(long v);
4096
4097     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
4098     long scrollTop();
4099
4100     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
4101     void scrollLeft(long v);
4102
4103     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
4104     long scrollLeft();
4105
4106     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
4107     void clearAttributes();
4108
4109     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
4110     void oncontextmenu(VARIANT v);
4111
4112     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
4113     VARIANT oncontextmenu();
4114
4115     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
4116     IHTMLElement *insertAdjacentElement(
4117             [in] BSTR where,
4118             [in] IHTMLElement *insertedElement);
4119
4120     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
4121     IHTMLElement *applyElement(
4122             [in] IHTMLElement *apply,
4123             [in] BSTR where);
4124
4125     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
4126     BSTR getAdjacentText([in] BSTR where);
4127
4128     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
4129     BSTR replaceAdjacentText(
4130             [in] BSTR where,
4131             [in] BSTR newText);
4132
4133     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
4134     VARIANT_BOOL canHaveChildren();
4135
4136     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
4137     long addBehavior(
4138             [in] BSTR bstrUrl,
4139             [in, optional] VARIANT *pvarFactory);
4140
4141     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
4142     VARIANT_BOOL removeBehavior([in] long cookie);
4143
4144     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
4145     IHTMLStyle *runtimeStyle();
4146
4147     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
4148     IDispatch *behaviorUrns();
4149
4150     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
4151     void tagUrn(BSTR v);
4152
4153     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
4154     BSTR tagUrn();
4155
4156     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
4157     void onbeforeeditfocus(VARIANT v);
4158
4159     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
4160     VARIANT onbeforeeditfocus();
4161
4162     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
4163     long readyStateValue();
4164
4165     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
4166     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
4167
4168     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
4169     void mergeAttributes(
4170             [in] IHTMLElement *mergeThis,
4171             [in, optional] VARIANT *pvarFlags);
4172
4173     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
4174     VARIANT_BOOL isMultiLine();
4175
4176     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
4177     VARIANT_BOOL canHaveHTML();
4178
4179     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
4180     void onlayoutcomplete(VARIANT v);
4181
4182     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
4183     VARIANT onlayoutcomplete();
4184
4185     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
4186     void onpage(VARIANT v);
4187
4188     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
4189     VARIANT onpage();
4190
4191     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
4192     void inflateBlock(VARIANT_BOOL v);
4193
4194     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
4195     VARIANT_BOOL inflateBlock();
4196
4197     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
4198     void onbeforedeactivate(VARIANT v);
4199
4200     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
4201     VARIANT onbeforedeactivate();
4202
4203     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
4204     void setActive();
4205
4206     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
4207     void contentEditable(BSTR v);
4208
4209     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
4210     BSTR contentEditable();
4211
4212     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
4213     VARIANT_BOOL isContentEditable();
4214
4215     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
4216     void hideFocus(VARIANT_BOOL v);
4217
4218     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
4219     VARIANT_BOOL hideFocus();
4220
4221     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
4222     void disabled(VARIANT_BOOL v);
4223
4224     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
4225     VARIANT_BOOL disabled();
4226
4227     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
4228     VARIANT_BOOL isDisabled();
4229
4230     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
4231     void onmove(VARIANT v);
4232
4233     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
4234     VARIANT onmove();
4235
4236     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
4237     void oncontrolselect(VARIANT v);
4238
4239     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
4240     VARIANT oncontrolselect();
4241
4242     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
4243     VARIANT_BOOL fireEvent(
4244             [in] BSTR bstrEventName,
4245             [in, optional] VARIANT *pvarEventObject);
4246
4247     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
4248     void onresizestart(VARIANT v);
4249
4250     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
4251     VARIANT onresizestart();
4252
4253     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
4254     void onresizeend(VARIANT v);
4255
4256     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
4257     VARIANT onresizeend();
4258
4259     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
4260     void onmovestart(VARIANT v);
4261
4262     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
4263     VARIANT onmovestart();
4264
4265     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
4266     void onmoveend(VARIANT v);
4267
4268     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
4269     VARIANT onmoveend();
4270
4271     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
4272     void onmouseenter(VARIANT v);
4273
4274     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
4275     VARIANT onmouseenter();
4276
4277     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
4278     void onmouseleave(VARIANT v);
4279
4280     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
4281     VARIANT onmouseleave();
4282
4283     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
4284     void onactivate(VARIANT v);
4285
4286     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
4287     VARIANT onactivate();
4288
4289     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
4290     void ondeactivate(VARIANT v);
4291
4292     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
4293     VARIANT ondeactivate();
4294
4295     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
4296     VARIANT_BOOL dragDrop();
4297
4298     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
4299     LONG glyphMode();
4300
4301     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
4302     void onmousewheel(VARIANT v);
4303
4304     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
4305     VARIANT onmousewheel();
4306
4307     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
4308     void normalize();
4309
4310     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
4311     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
4312
4313     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
4314     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
4315
4316     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
4317     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
4318
4319     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
4320     void onbeforeactivate(VARIANT v);
4321
4322     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
4323     VARIANT onbeforeactivate();
4324
4325     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
4326     void onfocusin(VARIANT v);
4327
4328     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
4329     VARIANT onfocusin();
4330
4331     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
4332     void onfocusout(VARIANT v);
4333
4334     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
4335     VARIANT onfocusout();
4336
4337     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
4338     long uniqueNumber();
4339
4340     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
4341     BSTR uniqueID();
4342
4343     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
4344     long nodeType();
4345
4346     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
4347     IHTMLDOMNode *parentNode();
4348
4349     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
4350     VARIANT_BOOL hasChildNodes();
4351
4352     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
4353     IDispatch *childNodes();
4354
4355     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
4356     IDispatch *attributes();
4357
4358     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
4359     IHTMLDOMNode *insertBefore(
4360             [in] IHTMLDOMNode *newChild,
4361             [in, optional] VARIANT refChild);
4362
4363     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
4364     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
4365
4366     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
4367     IHTMLDOMNode *replaceChild(
4368             [in] IHTMLDOMNode *newChild,
4369             [in] IHTMLDOMNode *oldChild);
4370
4371     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
4372     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
4373
4374     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
4375     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
4376
4377     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
4378     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
4379
4380     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
4381     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
4382
4383     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
4384     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
4385
4386     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
4387     BSTR nodeName();
4388
4389     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
4390     void nodeValue(VARIANT v);
4391
4392     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
4393     VARIANT nodeValue();
4394
4395     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
4396     IHTMLDOMNode *firstChild();
4397
4398     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
4399     IHTMLDOMNode *lastChild();
4400
4401     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
4402     IHTMLDOMNode *previousSibling();
4403
4404     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
4405     IHTMLDOMNode *nextSibling();
4406
4407     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
4408     IDispatch *ownerDocument();
4409
4410     [propget, id(DISPID_IHTMLGENERICELEMENT_RECORDSET), hidden]
4411     IDispatch *recordset();
4412
4413     [id(DISPID_IHTMLGENERICELEMENT_NAMEDRECORDSET)]
4414     IDispatch *namedRecordset(
4415             [in] BSTR dataMember,
4416             [in, optional] VARIANT *hierarchy);
4417 }
4418
4419 /*****************************************************************************
4420  *    IHTMLStyleSheetRule interface
4421  */
4422 [
4423     odl,
4424     oleautomation,
4425     dual,
4426     uuid(3050F357-98B5-11CF-BB82-00AA00BDCE0B)
4427 ]
4428 interface IHTMLStyleSheetRule : IDispatch
4429 {
4430     [propput, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)]
4431     HRESULT selectorText([in] BSTR v);
4432
4433     [propget, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)]
4434     HRESULT selectorText([retval, out] BSTR *p);
4435
4436     [propget, id(DISPID_IHTMLSTYLESHEETRULE_STYLE)]
4437     HRESULT style([retval, out] IHTMLRuleStyle **p);
4438
4439     [propget, id(DISPID_IHTMLSTYLESHEETRULE_READONLY)]
4440     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
4441 }
4442
4443 /*****************************************************************************
4444  *    IHTMLStyleSheetRulesCollection interface
4445  */
4446 [
4447     odl,
4448     oleautomation,
4449     dual,
4450     uuid(3050F2E5-98B5-11Cf-BB82-00AA00BDCE0B)
4451 ]
4452 interface IHTMLStyleSheetRulesCollection : IDispatch
4453 {
4454     [propget, id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_LENGTH)]
4455     HRESULT length([retval, out] long *p);
4456
4457     [id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_ITEM)]
4458     HRESULT item(
4459         [in] long index,
4460         [retval, out] IHTMLStyleSheetRule **ppHTMLStyleSheetRule);
4461 }
4462
4463 /*****************************************************************************
4464  *    IHTMLStyleSheet interface
4465  */
4466 [
4467     odl,
4468     oleautomation,
4469     dual,
4470     uuid(3050F2E3-98B5-11CF-BB82-00AA00BDCE0B)
4471 ]
4472 interface IHTMLStyleSheet : IDispatch
4473 {
4474     [propput, id(DISPID_IHTMLSTYLESHEET_TITLE)]
4475     HRESULT title([in] BSTR v);
4476
4477     [propget, id(DISPID_IHTMLSTYLESHEET_TITLE)]
4478     HRESULT title([retval, out] BSTR *p);
4479
4480     [propget, id(DISPID_IHTMLSTYLESHEET_PARENTSTYLESHEET)]
4481     HRESULT parentStyleSheet([retval, out] IHTMLStyleSheet **p);
4482
4483     [propget, id(DISPID_IHTMLSTYLESHEET_OWNINGELEMENT)]
4484     HRESULT owningElement([retval, out] IHTMLElement **p);
4485
4486     [propput, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
4487     HRESULT disabled([in] VARIANT_BOOL v);
4488
4489     [propget, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
4490     HRESULT disabled([retval, out] VARIANT_BOOL *p);
4491
4492     [propget, id(DISPID_IHTMLSTYLESHEET_READONLY)]
4493     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
4494
4495     [propget, id(DISPID_IHTMLSTYLESHEET_IMPORTS)]
4496     HRESULT imports([retval, out] IHTMLStyleSheetsCollection **p);
4497
4498     [propput, id(DISPID_IHTMLSTYLESHEET_HREF)]
4499     HRESULT href([in] BSTR v);
4500
4501     [propget, id(DISPID_IHTMLSTYLESHEET_HREF)]
4502     HRESULT href([retval, out] BSTR *p);
4503
4504     [propget, id(DISPID_IHTMLSTYLESHEET_TYPE)]
4505     HRESULT type([retval, out] BSTR *p);
4506
4507     [propget, id(DISPID_IHTMLSTYLESHEET_ID)]
4508     HRESULT id([retval, out] BSTR *p);
4509
4510     [id(DISPID_IHTMLSTYLESHEET_ADDIMPORT)]
4511     HRESULT addImport(
4512         [in] BSTR bstrURL,
4513         [defaultvalue(-1), in] long lIndex,
4514         [retval, out] long *plIndex);
4515
4516     [id(DISPID_IHTMLSTYLESHEET_ADDRULE)]
4517     HRESULT addRule(
4518         [in] BSTR bstrSelector,
4519         [in] BSTR bstrStyle,
4520         [defaultvalue(-1), in] long lIndex,
4521         [retval, out] long *plNewIndex);
4522
4523     [id(DISPID_IHTMLSTYLESHEET_REMOVEIMPORT)]
4524     HRESULT removeImport([in] long lIndex);
4525
4526     [id(DISPID_IHTMLSTYLESHEET_REMOVERULE)]
4527     HRESULT removeRule([in] long lIndex);
4528
4529     [propput, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
4530     HRESULT media([in] BSTR v);
4531
4532     [propget, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
4533     HRESULT media([retval, out] BSTR *p);
4534
4535     [propput, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
4536     HRESULT cssText([in] BSTR v);
4537
4538     [propget, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
4539     HRESULT cssText([retval, out] BSTR *p);
4540
4541     [propget, id(DISPID_IHTMLSTYLESHEET_RULES)]
4542     HRESULT rules([retval, out] IHTMLStyleSheetRulesCollection **p);
4543 }
4544
4545 /*****************************************************************************
4546  *    IHTMLStyleSheetsCollection interface
4547  */
4548 [
4549     odl,
4550     oleautomation,
4551     dual,
4552     uuid(3050F37E-98B5-11CF-BB82-00AA00BDCE0B)
4553 ]
4554 interface IHTMLStyleSheetsCollection : IDispatch
4555 {
4556     [propget, id(DISPID_IHTMLSTYLESHEETSCOLLECTION_LENGTH)]
4557     HRESULT length([retval, out] long *p);
4558
4559     [propget, id(DISPID_IHTMLSTYLESHEETSCOLLECTION__NEWENUM)]
4560     HRESULT _newEnum([retval, out] IUnknown **p);
4561
4562     [id(DISPID_IHTMLSTYLESHEETSCOLLECTION_ITEM)]
4563     HRESULT item(
4564         [in] VARIANT *pvarIndex,
4565         [retval, out] VARIANT *pvarResult);
4566 }
4567
4568 /*****************************************************************************
4569  *    IHTMLTxtRange interface
4570  */
4571 [
4572     odl,
4573     oleautomation,
4574     dual,
4575     uuid(3050f220-98b5-11cf-bb82-00aa00bdce0b)
4576 ]
4577 interface IHTMLTxtRange : IDispatch
4578 {
4579     [propget, id(DISPID_IHTMLTXTRANGE_HTMLTEXT)]
4580     HRESULT htmlText([retval, out] BSTR *p);
4581
4582     [propput, id(DISPID_IHTMLTXTRANGE_TEXT)]
4583     HRESULT text([in] BSTR v);
4584
4585     [propget, id(DISPID_IHTMLTXTRANGE_TEXT)]
4586     HRESULT text([retval, out] BSTR *p);
4587
4588     [id(DISPID_IHTMLTXTRANGE_PARENTELEMENT)]
4589     HRESULT parentElement([retval, out] IHTMLElement **parent);
4590
4591     [id(DISPID_IHTMLTXTRANGE_DUPLICATE)]
4592     HRESULT duplicate([retval, out] IHTMLTxtRange **Duplicate);
4593
4594     [id(DISPID_IHTMLTXTRANGE_INRANGE)]
4595     HRESULT inRange(
4596         [in] IHTMLTxtRange *Range,
4597         [retval, out] VARIANT_BOOL *InRange);
4598
4599     [id(DISPID_IHTMLTXTRANGE_ISEQUAL)]
4600     HRESULT isEqual(
4601         [in] IHTMLTxtRange *Range,
4602         [retval, out] VARIANT_BOOL *IsEqual);
4603
4604     [id(DISPID_IHTMLTXTRANGE_SCROLLINTOVIEW)]
4605     HRESULT scrollIntoView([defaultvalue(-1), in] VARIANT_BOOL fStart);
4606
4607     [id(DISPID_IHTMLTXTRANGE_COLLAPSE)]
4608     HRESULT collapse([defaultvalue(-1), in] VARIANT_BOOL Start);
4609
4610     [id(DISPID_IHTMLTXTRANGE_EXPAND)]
4611     HRESULT expand(
4612         [in] BSTR Unit,
4613         [retval, out] VARIANT_BOOL *Success);
4614
4615     [id(DISPID_IHTMLTXTRANGE_MOVE)]
4616     HRESULT move(
4617         [in] BSTR Unit,
4618         [defaultvalue(1), in] long Count,
4619         [retval, out] long *ActualCount);
4620
4621     [id(DISPID_IHTMLTXTRANGE_MOVESTART)]
4622     HRESULT moveStart(
4623         [in] BSTR Unit,
4624         [defaultvalue(1), in] long Count,
4625         [retval, out] long *ActualCount);
4626
4627     [id(DISPID_IHTMLTXTRANGE_MOVEEND)]
4628     HRESULT moveEnd(
4629         [in] BSTR Unit,
4630         [defaultvalue(1), in] long Count,
4631         [retval, out] long *ActualCount);
4632
4633     [id(DISPID_IHTMLTXTRANGE_SELECT)]
4634     HRESULT select();
4635
4636     [id(DISPID_IHTMLTXTRANGE_PASTEHTML)]
4637     HRESULT pasteHTML([in] BSTR html);
4638
4639     [id(DISPID_IHTMLTXTRANGE_MOVETOELEMENTTEXT)]
4640     HRESULT moveToElementText([in] IHTMLElement *element);
4641
4642     [id(DISPID_IHTMLTXTRANGE_SETENDPOINT)]
4643     HRESULT setEndPoint(
4644         [in] BSTR how,
4645         [in] IHTMLTxtRange *SourceRange);
4646
4647     [id(DISPID_IHTMLTXTRANGE_COMPAREENDPOINTS)]
4648     HRESULT compareEndPoints(
4649         [in] BSTR how,
4650         [in] IHTMLTxtRange *SourceRange,
4651         [retval, out] long *ret);
4652
4653     [id(DISPID_IHTMLTXTRANGE_FINDTEXT)]
4654     HRESULT findText(
4655         [in] BSTR String,
4656         [defaultvalue(1073741823), in] long count,
4657         [defaultvalue(0), in] long Flags,
4658         [retval, out] VARIANT_BOOL *Success);
4659
4660     [id(DISPID_IHTMLTXTRANGE_MOVETOPOINT)]
4661     HRESULT moveToPoint(
4662         [in] long x,
4663         [in] long y);
4664
4665     [id(DISPID_IHTMLTXTRANGE_GETBOOKMARK)]
4666     HRESULT getBookmark([retval, out] BSTR *Boolmark);
4667
4668     [id(DISPID_IHTMLTXTRANGE_MOVETOBOOKMARK)]
4669     HRESULT moveToBookmark(
4670         [in] BSTR Bookmark,
4671         [retval, out] VARIANT_BOOL *Success);
4672
4673     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDSUPPORTED)]
4674     HRESULT queryCommandSupported(
4675         [in] BSTR cmdID,
4676         [retval, out] VARIANT_BOOL *pfRet);
4677
4678     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDENABLED)]
4679     HRESULT queryCommandEnabled(
4680         [in] BSTR cmdID,
4681         [retval, out] VARIANT_BOOL *pfRet);
4682
4683     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDSTATE)]
4684     HRESULT queryCommandState(
4685         [in] BSTR cmdID,
4686         [retval, out] VARIANT_BOOL *pfRet);
4687
4688     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDINDETERM)]
4689     HRESULT queryCommandIndeterm(
4690         [in] BSTR cmdID,
4691         [retval, out] VARIANT_BOOL *pfRet);
4692
4693     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDTEXT)]
4694     HRESULT queryCommandText(
4695         [in] BSTR cmdID,
4696         [retval, out] BSTR *pcmdText);
4697
4698     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDVALUE)]
4699     HRESULT queryCommandValue(
4700         [in] BSTR cmdID,
4701         [retval, out] VARIANT *pcmdValue);
4702
4703     [id(DISPID_IHTMLTXTRANGE_EXECCOMMAND)]
4704     HRESULT execCommand(
4705         [in] BSTR cmdID,
4706         [defaultvalue(0), in] VARIANT_BOOL showUI,
4707         [optional, in] VARIANT value,
4708         [retval, out] VARIANT_BOOL *pfRet);
4709
4710     [id(DISPID_IHTMLTXTRANGE_EXECCOMMANDSHOWHELP)]
4711     HRESULT execCommandShowHelp(
4712         [in] BSTR cmdID,
4713         [retval, out] VARIANT_BOOL *pfRet);
4714 }
4715
4716 /*****************************************************************************
4717  *    IHTMLFormElement interface
4718  */
4719 [
4720     odl,
4721     oleautomation,
4722     dual,
4723     uuid(3050F1F7-98B5-11CF-BB82-00AA00BDCE0B)
4724 ]
4725 interface IHTMLFormElement : IDispatch
4726 {
4727     [propput, id(DISPID_IHTMLFORMELEMENT_ACTION)]
4728     HRESULT action([in] BSTR v);
4729
4730     [propget, id(DISPID_IHTMLFORMELEMENT_ACTION)]
4731     HRESULT action([retval, out] BSTR *p);
4732
4733     [propput, id(DISPID_IHTMLFORMELEMENT_DIR)]
4734     HRESULT dir([in] BSTR v);
4735
4736     [propget, id(DISPID_IHTMLFORMELEMENT_DIR)]
4737     HRESULT dir([retval, out] BSTR *p);
4738
4739     [propput, id(DISPID_IHTMLFORMELEMENT_ENCODING)]
4740     HRESULT encoding([in] BSTR v);
4741
4742     [propget, id(DISPID_IHTMLFORMELEMENT_ENCODING)]
4743     HRESULT encoding([retval, out] BSTR *p);
4744
4745     [propput, id(DISPID_IHTMLFORMELEMENT_METHOD)]
4746     HRESULT method([in] BSTR v);
4747
4748     [propget, id(DISPID_IHTMLFORMELEMENT_METHOD)]
4749     HRESULT method([retval, out] BSTR *p);
4750
4751     [propget, id(DISPID_IHTMLFORMELEMENT_ELEMENTS)]
4752     HRESULT elements([retval, out] IDispatch **p);
4753
4754     [propput, id(DISPID_IHTMLFORMELEMENT_TARGET)]
4755     HRESULT target([in] BSTR v);
4756
4757     [propget, id(DISPID_IHTMLFORMELEMENT_TARGET)]
4758     HRESULT target([retval, out] BSTR *p);
4759
4760     [propput, id(DISPID_IHTMLFORMELEMENT_NAME)]
4761     HRESULT name([in] BSTR v);
4762
4763     [propget, id(DISPID_IHTMLFORMELEMENT_NAME)]
4764     HRESULT name([retval, out] BSTR *p);
4765
4766     [propput, id(DISPID_IHTMLFORMELEMENT_ONSUBMIT)]
4767     HRESULT onsubmit([in] VARIANT v);
4768
4769     [propget, id(DISPID_IHTMLFORMELEMENT_ONSUBMIT)]
4770     HRESULT onsubmit([retval, out] VARIANT *p);
4771
4772     [propput, id(DISPID_IHTMLFORMELEMENT_ONRESET)]
4773     HRESULT onreset([in] VARIANT v);
4774
4775     [propget, id(DISPID_IHTMLFORMELEMENT_ONRESET)]
4776     HRESULT onreset([retval, out] VARIANT *p);
4777
4778     [id(DISPID_IHTMLFORMELEMENT_SUBMIT)]
4779     HRESULT submit();
4780
4781     [id(DISPID_IHTMLFORMELEMENT_RESET)]
4782     HRESULT reset();
4783
4784     [propput, id(DISPID_IHTMLFORMELEMENT_LENGTH)]
4785     HRESULT length([in] long v);
4786
4787     [propget, id(DISPID_IHTMLFORMELEMENT_LENGTH)]
4788     HRESULT length([retval, out] long *p);
4789
4790     [propget, id(DISPID_IHTMLFORMELEMENT__NEWENUM)]
4791     HRESULT _newEnum([retval, out] IUnknown **p);
4792
4793     [id(DISPID_IHTMLFORMELEMENT_ITEM)]
4794     HRESULT item(
4795         [optional, in] VARIANT name,
4796         [optional, in] VARIANT index,
4797         [retval, out] IDispatch **pdisp);
4798
4799     [id(DISPID_IHTMLFORMELEMENT_TAGS)]
4800     HRESULT tags(
4801         [in] VARIANT tagName,
4802         [retval, out] IDispatch **pdisp);
4803 }
4804
4805 /*****************************************************************************
4806  *    IHTMLTextContainer interface
4807  */
4808 [
4809     odl,
4810     oleautomation,
4811     dual,
4812     uuid(3050f230-98b5-11cf-bb82-00aa00bdce0b)
4813 ]
4814 interface IHTMLTextContainer : IDispatch
4815 {
4816     [id(DISPID_IHTMLTEXTCONTAINER_CREATECONTROLRANGE)]
4817     HRESULT createControlRange([retval, out] IDispatch **range);
4818
4819     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLHEIGHT), displaybind, bindable]
4820     HRESULT scrollHeight([retval, out] long *p);
4821
4822     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLWIDTH), displaybind, bindable]
4823     HRESULT scrollWidth([retval, out] long *p);
4824
4825     [propput, id(DISPID_IHTMLTEXTCONTAINER_SCROLLTOP), displaybind, bindable]
4826     HRESULT scrollTop([in] long v);
4827
4828     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLTOP), displaybind, bindable]
4829     HRESULT scrollTop([retval, out] long *p);
4830
4831     [propput, id(DISPID_IHTMLTEXTCONTAINER_SCROLLLEFT), displaybind, bindable]
4832     HRESULT scrollLeft([in] long v);
4833
4834     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLLEFT), displaybind, bindable]
4835     HRESULT scrollLeft([retval, out] long *p);
4836
4837     [propput, id(DISPID_IHTMLTEXTCONTAINER_ONSCROLL), displaybind, bindable]
4838     HRESULT onscroll([in] VARIANT v);
4839
4840     [propget, id(DISPID_IHTMLTEXTCONTAINER_ONSCROLL), displaybind, bindable]
4841     HRESULT onscroll([retval, out] VARIANT *p);
4842 }
4843
4844 /*****************************************************************************
4845  *    IHTMLImgElement interface
4846  */
4847 [
4848     odl,
4849     oleautomation,
4850     dual,
4851     uuid(3050F240-98B5-11CF-BB82-00AA00BDCE0B)
4852 ]
4853 interface IHTMLImgElement : IDispatch
4854 {
4855     [propput, id(DISPID_IHTMLIMGELEMENT_ISMAP)]
4856     HRESULT isMap([in] VARIANT_BOOL v);
4857
4858     [propget, id(DISPID_IHTMLIMGELEMENT_ISMAP)]
4859     HRESULT isMap([retval, out] VARIANT_BOOL *p);
4860
4861     [propput, id(DISPID_IHTMLIMGELEMENT_USEMAP)]
4862     HRESULT useMap([in] BSTR v);
4863
4864     [propget, id(DISPID_IHTMLIMGELEMENT_USEMAP)]
4865     HRESULT useMap([retval, out] BSTR *p);
4866
4867     [propget, id(DISPID_IHTMLIMGELEMENT_MIMETYPE)]
4868     HRESULT mimeType([retval, out] BSTR *p);
4869
4870     [propget, id(DISPID_IHTMLIMGELEMENT_FILESIZE)]
4871     HRESULT fileSize([retval, out] BSTR *p);
4872
4873     [propget, id(DISPID_IHTMLIMGELEMENT_FILECREATEDDATE)]
4874     HRESULT fileCreatedDate([retval, out] BSTR *p);
4875
4876     [propget, id(DISPID_IHTMLIMGELEMENT_FILEMODIFIEDDATE)]
4877     HRESULT fileModifiedDate([retval, out] BSTR *p);
4878
4879     [propget, id(DISPID_IHTMLIMGELEMENT_FILEUPDATEDDATE)]
4880     HRESULT fileUpdatedDate([retval, out] BSTR *p);
4881
4882     [propget, id(DISPID_IHTMLIMGELEMENT_PROTOCOL)]
4883     HRESULT protocol([retval, out] BSTR *p);
4884
4885     [propget, id(DISPID_IHTMLIMGELEMENT_HREF)]
4886     HRESULT href([retval, out] BSTR *p);
4887
4888     [propget, id(DISPID_IHTMLIMGELEMENT_NAMEPROP)]
4889     HRESULT nameProp([retval, out] BSTR *p);
4890
4891     [propput, id(DISPID_IHTMLIMGELEMENT_BORDER)]
4892     HRESULT border([in] VARIANT v);
4893
4894     [propget, id(DISPID_IHTMLIMGELEMENT_BORDER)]
4895     HRESULT border([retval, out] VARIANT *p);
4896
4897     [propput, id(DISPID_IHTMLIMGELEMENT_VSPACE)]
4898     HRESULT vspace([in] long v);
4899
4900     [propget, id(DISPID_IHTMLIMGELEMENT_VSPACE)]
4901     HRESULT vspace([retval, out] long *p);
4902
4903     [propput, id(DISPID_IHTMLIMGELEMENT_HSPACE)]
4904     HRESULT hspace([in] long v);
4905
4906     [propget, id(DISPID_IHTMLIMGELEMENT_HSPACE)]
4907     HRESULT hspace([retval, out] long *p);
4908
4909     [propput, id(DISPID_IHTMLIMGELEMENT_ALT)]
4910     HRESULT alt([in] BSTR v);
4911
4912     [propget, id(DISPID_IHTMLIMGELEMENT_ALT)]
4913     HRESULT alt([retval, out] BSTR *p);
4914
4915     [propput, id(DISPID_IHTMLIMGELEMENT_SRC)]
4916     HRESULT src([in] BSTR v);
4917
4918     [propget, id(DISPID_IHTMLIMGELEMENT_SRC)]
4919     HRESULT src([retval, out] BSTR *p);
4920
4921     [propput, id(DISPID_IHTMLIMGELEMENT_LOWSRC)]
4922     HRESULT lowsrc([in] BSTR v);
4923
4924     [propget, id(DISPID_IHTMLIMGELEMENT_LOWSRC)]
4925     HRESULT lowsrc([retval, out] BSTR *p);
4926
4927     [propput, id(DISPID_IHTMLIMGELEMENT_VRML)]
4928     HRESULT vrml([in] BSTR v);
4929
4930     [propget, id(DISPID_IHTMLIMGELEMENT_VRML)]
4931     HRESULT vrml([retval, out] BSTR *p);
4932
4933     [propput, id(DISPID_IHTMLIMGELEMENT_DYNSRC)]
4934     HRESULT dynsrc([in] BSTR v);
4935
4936     [propget, id(DISPID_IHTMLIMGELEMENT_DYNSRC)]
4937     HRESULT dynsrc([retval, out] BSTR *p);
4938
4939     [propget, id(DISPID_IHTMLIMGELEMENT_READYSTATE)]
4940     HRESULT readyState([retval, out] BSTR *p);
4941
4942     [propget, id(DISPID_IHTMLIMGELEMENT_COMPLETE)]
4943     HRESULT complete([retval, out] VARIANT_BOOL *p);
4944
4945     [propput, id(DISPID_IHTMLIMGELEMENT_LOOP)]
4946     HRESULT loop([in] VARIANT v);
4947
4948     [propget, id(DISPID_IHTMLIMGELEMENT_LOOP)]
4949     HRESULT loop([retval, out] VARIANT *p);
4950
4951     [propput, id(DISPID_IHTMLIMGELEMENT_ALIGN)]
4952     HRESULT align([in] BSTR v);
4953
4954     [propget, id(DISPID_IHTMLIMGELEMENT_ALIGN)]
4955     HRESULT align([retval, out] BSTR *p);
4956
4957     [propput, id(DISPID_IHTMLIMGELEMENT_ONLOAD)]
4958     HRESULT onload([in] VARIANT v);
4959
4960     [propget, id(DISPID_IHTMLIMGELEMENT_ONLOAD)]
4961     HRESULT onload([retval, out] VARIANT *p);
4962
4963     [propput, id(DISPID_IHTMLIMGELEMENT_ONERROR)]
4964     HRESULT onerror([in] VARIANT v);
4965
4966     [propget, id(DISPID_IHTMLIMGELEMENT_ONERROR)]
4967     HRESULT onerror([retval, out] VARIANT *p);
4968
4969     [propput, id(DISPID_IHTMLIMGELEMENT_ONABORT)]
4970     HRESULT onabort([in] VARIANT v);
4971
4972     [propget, id(DISPID_IHTMLIMGELEMENT_ONABORT)]
4973     HRESULT onabort([retval, out] VARIANT *p);
4974
4975     [propput, id(DISPID_IHTMLIMGELEMENT_NAME)]
4976     HRESULT name([in] BSTR v);
4977
4978     [propget, id(DISPID_IHTMLIMGELEMENT_NAME)]
4979     HRESULT name([retval, out] BSTR *p);
4980
4981     [propput, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
4982     HRESULT width([in] long v);
4983
4984     [propget, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
4985     HRESULT width([retval, out] long *p);
4986
4987     [propput, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
4988     HRESULT height([in] long v);
4989
4990     [propget, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
4991     HRESULT height([retval, out] long *p);
4992
4993     [propput, id(DISPID_IHTMLIMGELEMENT_START)]
4994     HRESULT start([in] BSTR v);
4995
4996     [propget, id(DISPID_IHTMLIMGELEMENT_START)]
4997     HRESULT start([retval, out] BSTR *p);
4998 }
4999
5000 /*****************************************************************************
5001  *    IHTMLImageElementFactory interface
5002  */
5003 [
5004     odl,
5005     oleautomation,
5006     dual,
5007     uuid(3050F38E-98B5-11CF-BB82-00AAA0BDCE0B)
5008 ]
5009 interface IHTMLImageElementFactory : IDispatch
5010 {
5011     [id(DISPID_IHTMLIMAGEELEMENTFACTORY_CREATE)]
5012     HRESULT create(
5013         [optional, in] VARIANT width,
5014         [optional, in] VARIANT height,
5015         [retval, out]  IHTMLImgElement **elem);
5016 }
5017
5018 /*****************************************************************************
5019  *    DispHTMLImg interface
5020  */
5021 [
5022     hidden,
5023     uuid(3050f51c-98b5-11cf-bb82-00aa00bdce0b)
5024 ]
5025 dispinterface DispHTMLImg
5026 {
5027 properties:
5028 methods:
5029     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
5030     void setAttribute(
5031             [in] BSTR strAttributeName,
5032             [in] VARIANT AttributeValue,
5033             [in, defaultvalue(1)] LONG lFlags);
5034
5035     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
5036     VARIANT getAttribute(
5037              [in] BSTR strAttributeName,
5038              [in, defaultvalue(0)] LONG lFlags);
5039
5040     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
5041     VARIANT_BOOL removeAttribute(
5042             [in] BSTR strAttributeName,
5043             [in, defaultvalue(1)] LONG lFlags);
5044
5045     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
5046     void className(BSTR v);
5047
5048     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
5049     BSTR className();
5050
5051     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
5052     void id(BSTR v);
5053
5054     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
5055     BSTR id();
5056
5057     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
5058     BSTR tagName();
5059
5060     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
5061     IHTMLElement *parentElement();
5062
5063     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
5064     IHTMLStyle *style();
5065
5066     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
5067     void onhelp(VARIANT v);
5068
5069     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
5070     VARIANT onhelp();
5071
5072     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
5073     void onclick(VARIANT v);
5074
5075     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
5076     VARIANT onclick();
5077
5078     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
5079     void ondblclick(VARIANT v);
5080
5081     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
5082     VARIANT ondblclick();
5083
5084     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
5085     void onkeydown(VARIANT v);
5086
5087     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
5088     VARIANT onkeydown();
5089
5090     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
5091     void onkeyup(VARIANT v);
5092
5093     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
5094     VARIANT onkeyup();
5095
5096     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
5097     void onkeypress(VARIANT v);
5098
5099     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
5100     VARIANT onkeypress();
5101
5102     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
5103     void onmouseout(VARIANT v);
5104
5105     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
5106     VARIANT onmouseout();
5107
5108     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
5109     void onmouseover(VARIANT v);
5110
5111     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
5112     VARIANT onmouseover();
5113
5114     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
5115     void onmousemove(VARIANT v);
5116
5117     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
5118     VARIANT onmousemove();
5119
5120     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
5121     void onmousedown(VARIANT v);
5122
5123     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
5124     VARIANT onmousedown();
5125
5126     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
5127     void onmouseup(VARIANT v);
5128
5129     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
5130     VARIANT onmouseup();
5131
5132     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
5133     IDispatch *document();
5134
5135     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
5136     void title(BSTR v);
5137
5138     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
5139     BSTR title();
5140
5141     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
5142     void language(BSTR v);
5143
5144     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
5145     BSTR language();
5146
5147     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
5148     void onselectstart(VARIANT v);
5149
5150     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
5151     VARIANT onselectstart();
5152
5153     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
5154     void scrollIntoView([in, optional] VARIANT varargStart);
5155
5156     [id(DISPID_IHTMLELEMENT_CONTAINS)]
5157     VARIANT_BOOL contains([in] IHTMLElement *pChild);
5158
5159     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
5160     long sourceIndex();
5161
5162     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
5163     VARIANT recordNumber();
5164
5165     [propput, id(DISPID_IHTMLELEMENT_LANG)]
5166     void lang(BSTR v);
5167
5168     [propget, id(DISPID_IHTMLELEMENT_LANG)]
5169     BSTR lang();
5170
5171     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
5172     long offsetLeft();
5173
5174     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
5175     long offsetTop();
5176
5177     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
5178     long offsetWidth();
5179
5180     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
5181     long offsetHeight();
5182
5183     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
5184     IHTMLElement *offsetParent();
5185
5186     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
5187     void innerHTML(BSTR v);
5188
5189     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
5190     BSTR innerHTML();
5191
5192     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
5193     void innerText(BSTR v);
5194
5195     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
5196     BSTR innerText();
5197
5198     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
5199     void outerHTML(BSTR v);
5200
5201     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
5202     BSTR outerHTML();
5203
5204     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
5205     void outerText(BSTR v);
5206
5207     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
5208     BSTR outerText();
5209
5210     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
5211     void insertAdjacentHTML(
5212             [in] BSTR where,
5213             [in] BSTR html);
5214
5215     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
5216     void insertAdjacentText(
5217             [in] BSTR where,
5218             [in] BSTR text);
5219
5220     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
5221     IHTMLElement *parentTextEdit();
5222
5223     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
5224     VARIANT_BOOL isTextEdit();
5225
5226     [id(DISPID_IHTMLELEMENT_CLICK)]
5227     void click();
5228
5229     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
5230     IHTMLFiltersCollection *filters();
5231
5232     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
5233     void ondragstart(VARIANT v);
5234
5235     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
5236     VARIANT ondragstart();
5237
5238     [id(DISPID_IHTMLELEMENT_TOSTRING)]
5239     BSTR toString();
5240
5241     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
5242     void onbeforeupdate(VARIANT v);
5243
5244     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
5245     VARIANT onbeforeupdate();
5246
5247     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
5248     void onafterupdate(VARIANT v);
5249
5250     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
5251     VARIANT onafterupdate();
5252
5253     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
5254     void onerrorupdate(VARIANT v);
5255
5256     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
5257     VARIANT onerrorupdate();
5258
5259     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
5260     void onrowexit(VARIANT v);
5261
5262     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
5263     VARIANT onrowexit();
5264
5265     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
5266     void onrowenter(VARIANT v);
5267
5268     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
5269     VARIANT onrowenter();
5270
5271     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
5272     void ondatasetchanged(VARIANT v);
5273
5274     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
5275     VARIANT ondatasetchanged();
5276
5277     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
5278     void ondataavailable(VARIANT v);
5279
5280     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
5281     VARIANT ondataavailable();
5282
5283     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
5284     void ondatasetcomplete(VARIANT v);
5285
5286     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
5287     VARIANT ondatasetcomplete();
5288
5289     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
5290     void onfilterchange(VARIANT v);
5291
5292     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
5293     VARIANT onfilterchange();
5294
5295     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
5296     IDispatch *children();
5297
5298     [propget, id(DISPID_IHTMLELEMENT_ALL)]
5299     IDispatch *all();
5300
5301     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
5302     BSTR scopeName();
5303
5304     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
5305     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
5306
5307     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
5308     void releaseCapture();
5309
5310     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
5311     void onlosecapture(VARIANT v);
5312
5313     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
5314     VARIANT onlosecapture();
5315
5316     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
5317     BSTR componentFromPoint(
5318             [in] long x,
5319             [in] long y);
5320
5321     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
5322     void doScroll([in, optional] VARIANT component);
5323
5324     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
5325     void onscroll(VARIANT v);
5326
5327     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
5328     VARIANT onscroll();
5329
5330     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
5331     void ondrag(VARIANT v);
5332
5333     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
5334     VARIANT ondrag();
5335
5336     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
5337     void ondragend(VARIANT v);
5338
5339     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
5340     VARIANT ondragend();
5341
5342     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
5343     void ondragenter(VARIANT v);
5344
5345     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
5346     VARIANT ondragenter();
5347
5348     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
5349     void ondragover(VARIANT v);
5350
5351     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
5352     VARIANT ondragover();
5353
5354     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
5355     void ondragleave(VARIANT v);
5356
5357     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
5358     VARIANT ondragleave();
5359
5360     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
5361     void ondrop(VARIANT v);
5362
5363     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
5364     VARIANT ondrop();
5365
5366     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
5367     void onbeforecut(VARIANT v);
5368
5369     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
5370     VARIANT onbeforecut();
5371
5372     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
5373     void oncut(VARIANT v);
5374
5375     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
5376     VARIANT oncut();
5377
5378     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
5379     void onbeforecopy(VARIANT v);
5380
5381     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
5382     VARIANT onbeforecopy();
5383
5384     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
5385     void oncopy(VARIANT v);
5386
5387     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
5388     VARIANT oncopy();
5389
5390     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
5391     void onbeforepaste(VARIANT v);
5392
5393     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
5394     VARIANT onbeforepaste();
5395
5396     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
5397     void onpaste(VARIANT v);
5398
5399     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
5400     VARIANT onpaste();
5401
5402     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
5403     IHTMLCurrentStyle *currentStyle();
5404
5405     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
5406     void onpropertychange(VARIANT v);
5407
5408     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
5409     VARIANT onpropertychange();
5410
5411     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
5412     IHTMLRectCollection *getClientRects();
5413
5414     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
5415     IHTMLRect *getBoundingClientRect();
5416
5417     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
5418     void setExpression(
5419             [in] BSTR propname,
5420             [in] BSTR expression,
5421             [in, defaultvalue("")] BSTR language);
5422
5423     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
5424     VARIANT getExpression([in] BSTR propname);
5425
5426     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
5427     VARIANT_BOOL removeExpression([in] BSTR propname);
5428
5429     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
5430     void tabIndex(short v);
5431
5432     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
5433     short tabIndex();
5434
5435     [id(DISPID_IHTMLELEMENT2_FOCUS)]
5436     void focus();
5437
5438     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
5439     void accessKey(BSTR v);
5440
5441     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
5442     BSTR accessKey();
5443
5444     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
5445     void onblur(VARIANT v);
5446
5447     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
5448     VARIANT onblur();
5449
5450     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
5451     void onfocus(VARIANT v);
5452
5453     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
5454     VARIANT onfocus();
5455
5456     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
5457     void onresize(VARIANT v);
5458
5459     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
5460     VARIANT onresize();
5461
5462     [id(DISPID_IHTMLELEMENT2_BLUR)]
5463     void blur();
5464
5465     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
5466     void addFilter([in] IUnknown *pUnk);
5467
5468     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
5469     void removeFilter([in] IUnknown *pUnk);
5470
5471     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
5472     long clientHeight();
5473
5474     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
5475     long clientWidth();
5476
5477     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
5478     long clientTop();
5479
5480     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
5481     long clientLeft();
5482
5483     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
5484     VARIANT_BOOL attachEvent(
5485             [in] BSTR event,
5486             [in] IDispatch *pDisp);
5487
5488     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
5489     void detachEvent(
5490             [in] BSTR event,
5491             [in] IDispatch *pDisp);
5492
5493     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
5494     VARIANT readyState();
5495
5496     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
5497     void onreadystatechange(VARIANT v);
5498
5499     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
5500     VARIANT onreadystatechange();
5501
5502     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
5503     void onrowsdelete(VARIANT v);
5504
5505     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
5506     VARIANT onrowsdelete();
5507
5508     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
5509     void onrowsinserted(VARIANT v);
5510
5511     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
5512      VARIANT onrowsinserted();
5513
5514     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
5515      void oncellchange(VARIANT v);
5516
5517     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
5518     VARIANT oncellchange();
5519
5520     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
5521     void dir(BSTR v);
5522
5523     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
5524     BSTR dir();
5525
5526     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
5527     IDispatch *createControlRange();
5528
5529     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
5530     long scrollHeight();
5531
5532     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
5533     long scrollWidth();
5534
5535     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
5536     void scrollTop(long v);
5537
5538     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
5539     long scrollTop();
5540
5541     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
5542     void scrollLeft(long v);
5543
5544     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
5545     long scrollLeft();
5546
5547     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
5548     void clearAttributes();
5549
5550     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
5551     void oncontextmenu(VARIANT v);
5552
5553     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
5554     VARIANT oncontextmenu();
5555
5556     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
5557     IHTMLElement *insertAdjacentElement(
5558             [in] BSTR where,
5559             [in] IHTMLElement *insertedElement);
5560
5561     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
5562     IHTMLElement *applyElement(
5563             [in] IHTMLElement *apply,
5564             [in] BSTR where);
5565
5566     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
5567     BSTR getAdjacentText([in] BSTR where);
5568
5569     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
5570     BSTR replaceAdjacentText(
5571             [in] BSTR where,
5572             [in] BSTR newText);
5573
5574     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
5575     VARIANT_BOOL canHaveChildren();
5576
5577     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
5578     long addBehavior(
5579             [in] BSTR bstrUrl,
5580             [in, optional] VARIANT *pvarFactory);
5581
5582     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
5583     VARIANT_BOOL removeBehavior([in] long cookie);
5584
5585     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
5586     IHTMLStyle *runtimeStyle();
5587
5588     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
5589     IDispatch *behaviorUrns();
5590
5591     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
5592     void tagUrn(BSTR v);
5593
5594     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
5595     BSTR tagUrn();
5596
5597     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
5598     void onbeforeeditfocus(VARIANT v);
5599
5600     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
5601     VARIANT onbeforeeditfocus();
5602
5603     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
5604     long readyStateValue();
5605
5606     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
5607     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
5608
5609     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
5610     void mergeAttributes(
5611             [in] IHTMLElement *mergeThis,
5612             [in, optional] VARIANT *pvarFlags);
5613
5614     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
5615     VARIANT_BOOL isMultiLine();
5616
5617     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
5618     VARIANT_BOOL canHaveHTML();
5619
5620     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
5621     void onlayoutcomplete(VARIANT v);
5622
5623     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
5624     VARIANT onlayoutcomplete();
5625
5626     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
5627     void onpage(VARIANT v);
5628
5629     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
5630     VARIANT onpage();
5631
5632     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
5633     void inflateBlock(VARIANT_BOOL v);
5634
5635     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
5636     VARIANT_BOOL inflateBlock();
5637
5638     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
5639     void onbeforedeactivate(VARIANT v);
5640
5641     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
5642     VARIANT onbeforedeactivate();
5643
5644     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
5645     void setActive();
5646
5647     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
5648     void contentEditable(BSTR v);
5649
5650     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
5651     BSTR contentEditable();
5652
5653     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
5654     VARIANT_BOOL isContentEditable();
5655
5656     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
5657     void hideFocus(VARIANT_BOOL v);
5658
5659     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
5660     VARIANT_BOOL hideFocus();
5661
5662     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
5663     void disabled(VARIANT_BOOL v);
5664
5665     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
5666     VARIANT_BOOL disabled();
5667
5668     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
5669     VARIANT_BOOL isDisabled();
5670
5671     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
5672     void onmove(VARIANT v);
5673
5674     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
5675     VARIANT onmove();
5676
5677     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
5678     void oncontrolselect(VARIANT v);
5679
5680     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
5681     VARIANT oncontrolselect();
5682
5683     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
5684     VARIANT_BOOL fireEvent(
5685             [in] BSTR bstrEventName,
5686             [in, optional] VARIANT *pvarEventObject);
5687
5688     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
5689     void onresizestart(VARIANT v);
5690
5691     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
5692     VARIANT onresizestart();
5693
5694     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
5695     void onresizeend(VARIANT v);
5696
5697     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
5698     VARIANT onresizeend();
5699
5700     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
5701     void onmovestart(VARIANT v);
5702
5703     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
5704     VARIANT onmovestart();
5705
5706     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
5707     void onmoveend(VARIANT v);
5708
5709     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
5710     VARIANT onmoveend();
5711
5712     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
5713     void onmouseenter(VARIANT v);
5714
5715     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
5716     VARIANT onmouseenter();
5717
5718     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
5719     void onmouseleave(VARIANT v);
5720
5721     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
5722     VARIANT onmouseleave();
5723
5724     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
5725     void onactivate(VARIANT v);
5726
5727     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
5728     VARIANT onactivate();
5729
5730     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
5731     void ondeactivate(VARIANT v);
5732
5733     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
5734     VARIANT ondeactivate();
5735
5736     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
5737     VARIANT_BOOL dragDrop();
5738
5739     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
5740     LONG glyphMode();
5741
5742     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
5743     void onmousewheel(VARIANT v);
5744
5745     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
5746     VARIANT onmousewheel();
5747
5748     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
5749     void normalize();
5750
5751     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
5752     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
5753
5754     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
5755     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
5756
5757     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
5758     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
5759
5760     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
5761     void onbeforeactivate(VARIANT v);
5762
5763     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
5764     VARIANT onbeforeactivate();
5765
5766     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
5767     void onfocusin(VARIANT v);
5768
5769     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
5770     VARIANT onfocusin();
5771
5772     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
5773     void onfocusout(VARIANT v);
5774
5775     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
5776     VARIANT onfocusout();
5777
5778     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
5779     long uniqueNumber();
5780
5781     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
5782     BSTR uniqueID();
5783
5784     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
5785     long nodeType();
5786
5787     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
5788     IHTMLDOMNode *parentNode();
5789
5790     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
5791     VARIANT_BOOL hasChildNodes();
5792
5793     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
5794     IDispatch *childNodes();
5795
5796     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
5797     IDispatch *attributes();
5798
5799     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
5800     IHTMLDOMNode *insertBefore(
5801             [in] IHTMLDOMNode *newChild,
5802             [in, optional] VARIANT refChild);
5803
5804     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
5805     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
5806
5807     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
5808     IHTMLDOMNode *replaceChild(
5809             [in] IHTMLDOMNode *newChild,
5810             [in] IHTMLDOMNode *oldChild);
5811
5812     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
5813     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
5814
5815     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
5816     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
5817
5818     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
5819     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
5820
5821     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
5822     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
5823
5824     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
5825     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
5826
5827     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
5828     BSTR nodeName();
5829
5830     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
5831     void nodeValue(VARIANT v);
5832
5833     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
5834     VARIANT nodeValue();
5835
5836     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
5837     IHTMLDOMNode *firstChild();
5838
5839     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
5840     IHTMLDOMNode *lastChild();
5841
5842     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
5843     IHTMLDOMNode *previousSibling();
5844
5845     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
5846     IHTMLDOMNode *nextSibling();
5847
5848     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
5849     IDispatch *ownerDocument();
5850
5851     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
5852     void dataFld(BSTR v);
5853
5854     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
5855     BSTR dataFld();
5856
5857     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
5858     void dataSrc(BSTR v);
5859
5860     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
5861     BSTR dataSrc();
5862
5863     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
5864     void dataFormatAs(BSTR v);
5865
5866     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
5867     BSTR dataFormatAs();
5868
5869     [propput, id(DISPID_IHTMLIMGELEMENT_ISMAP), displaybind, bindable]
5870     void isMap(VARIANT_BOOL v);
5871
5872     [propget, id(DISPID_IHTMLIMGELEMENT_ISMAP), displaybind, bindable]
5873     VARIANT_BOOL isMap();
5874
5875     [propput, id(DISPID_IHTMLIMGELEMENT_USEMAP), displaybind, bindable]
5876     void useMap(BSTR v);
5877
5878     [propget, id(DISPID_IHTMLIMGELEMENT_USEMAP), displaybind, bindable]
5879     BSTR useMap();
5880
5881     [propget, id(DISPID_IHTMLIMGELEMENT_MIMETYPE)]
5882     BSTR mimeType();
5883
5884     [propget, id(DISPID_IHTMLIMGELEMENT_FILESIZE)]
5885     BSTR fileSize();
5886
5887     [propget, id(DISPID_IHTMLIMGELEMENT_FILECREATEDDATE)]
5888     BSTR fileCreatedDate();
5889
5890     [propget, id(DISPID_IHTMLIMGELEMENT_FILEMODIFIEDDATE)]
5891     BSTR fileModifiedDate();
5892
5893     [propget, id(DISPID_IHTMLIMGELEMENT_FILEUPDATEDDATE)]
5894     BSTR fileUpdatedDate();
5895
5896     [propget, id(DISPID_IHTMLIMGELEMENT_PROTOCOL)]
5897     BSTR protocol();
5898
5899     [propget, id(DISPID_IHTMLIMGELEMENT_HREF)]
5900     BSTR href();
5901
5902     [propget, id(DISPID_IHTMLIMGELEMENT_NAMEPROP)]
5903     BSTR nameProp();
5904
5905     [propput, id(DISPID_IHTMLIMGELEMENT_BORDER), displaybind, bindable]
5906     void border(VARIANT v);
5907
5908     [propget, id(DISPID_IHTMLIMGELEMENT_BORDER), displaybind, bindable]
5909     VARIANT border();
5910
5911     [propput, id(DISPID_IHTMLIMGELEMENT_VSPACE), displaybind, bindable]
5912     void vspace(long v);
5913
5914     [propget, id(DISPID_IHTMLIMGELEMENT_VSPACE), displaybind, bindable]
5915     long vspace();
5916
5917     [propput, id(DISPID_IHTMLIMGELEMENT_HSPACE), displaybind, bindable]
5918     void hspace(long v);
5919
5920     [propget, id(DISPID_IHTMLIMGELEMENT_HSPACE), displaybind, bindable]
5921     long hspace();
5922
5923     [propput, id(DISPID_IHTMLIMGELEMENT_ALT), displaybind, bindable]
5924     void alt(BSTR v);
5925
5926     [propget, id(DISPID_IHTMLIMGELEMENT_ALT), displaybind, bindable]
5927     BSTR alt();
5928
5929     [propput, id(DISPID_IHTMLIMGELEMENT_SRC), displaybind, bindable]
5930     void src(BSTR v);
5931
5932     [propget, id(DISPID_IHTMLIMGELEMENT_SRC), displaybind, bindable]
5933     BSTR src();
5934
5935     [propput, id(DISPID_IHTMLIMGELEMENT_LOWSRC), displaybind, bindable]
5936     void lowsrc(BSTR v);
5937
5938     [propget, id(DISPID_IHTMLIMGELEMENT_LOWSRC), displaybind, bindable]
5939     BSTR lowsrc();
5940
5941     [propput, id(DISPID_IHTMLIMGELEMENT_VRML), displaybind, bindable]
5942     void vrml(BSTR v);
5943
5944     [propget, id(DISPID_IHTMLIMGELEMENT_VRML), displaybind, bindable]
5945     BSTR vrml();
5946
5947     [propput, id(DISPID_IHTMLIMGELEMENT_DYNSRC), displaybind, bindable]
5948     void dynsrc(BSTR v);
5949
5950     [propget, id(DISPID_IHTMLIMGELEMENT_DYNSRC), displaybind, bindable]
5951     BSTR dynsrc();
5952
5953     [propget, id(DISPID_IHTMLIMGELEMENT_COMPLETE)]
5954     VARIANT_BOOL complete();
5955
5956     [propput, id(DISPID_IHTMLIMGELEMENT_LOOP), displaybind, bindable]
5957     void loop(VARIANT v);
5958
5959     [propget, id(DISPID_IHTMLIMGELEMENT_LOOP), displaybind, bindable]
5960     VARIANT loop();
5961
5962     [propput, id(DISPID_IHTMLIMGELEMENT_ALIGN), displaybind, bindable]
5963     void align(BSTR v);
5964
5965     [propget, id(DISPID_IHTMLIMGELEMENT_ALIGN), displaybind, bindable]
5966     BSTR align();
5967
5968     [propput, id(DISPID_IHTMLIMGELEMENT_ONLOAD), displaybind, bindable]
5969     void onload(VARIANT v);
5970
5971     [propget, id(DISPID_IHTMLIMGELEMENT_ONLOAD), displaybind, bindable]
5972     VARIANT onload();
5973
5974     [propput, id(DISPID_IHTMLIMGELEMENT_ONERROR), displaybind, bindable]
5975     void onerror(VARIANT v);
5976
5977     [propget, id(DISPID_IHTMLIMGELEMENT_ONERROR), displaybind, bindable]
5978     VARIANT onerror();
5979
5980     [propput, id(DISPID_IHTMLIMGELEMENT_ONABORT), displaybind, bindable]
5981     void onabort(VARIANT v);
5982
5983     [propget, id(DISPID_IHTMLIMGELEMENT_ONABORT), displaybind, bindable]
5984     VARIANT onabort();
5985
5986     [propput, id(DISPID_IHTMLIMGELEMENT_NAME), displaybind, bindable]
5987     void name(BSTR v);
5988
5989     [propget, id(DISPID_IHTMLIMGELEMENT_NAME), displaybind, bindable]
5990     BSTR name();
5991
5992     [propput, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
5993     void width(long v);
5994
5995     [propget, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
5996     long width();
5997
5998     [propput, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
5999     void height(long v);
6000
6001     [propget, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
6002     long height();
6003
6004     [propput, id(DISPID_IHTMLIMGELEMENT_START), displaybind, bindable]
6005     void start(BSTR v);
6006
6007     [propget, id(DISPID_IHTMLIMGELEMENT_START), displaybind, bindable]
6008     BSTR start();
6009
6010     [propput, id(DISPID_IHTMLIMGELEMENT2_LONGDESC), displaybind, bindable]
6011     void longDesc(BSTR v);
6012
6013     [propget, id(DISPID_IHTMLIMGELEMENT2_LONGDESC), displaybind, bindable]
6014     BSTR longDesc();
6015 };
6016
6017 /*****************************************************************************
6018  *    IHTMLUniqueName interface
6019  */
6020 [
6021     odl,
6022     oleautomation,
6023     dual,
6024     uuid(3050f4d0-98b5-11cf-bb82-00aa00bdce0b)
6025 ]
6026 interface IHTMLUniqueName : IDispatch
6027 {
6028     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
6029     HRESULT uniqueNumber([retval, out] long * p);
6030
6031     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
6032     HRESULT uniqueID([retval, out] BSTR * p);
6033 };
6034
6035 /*****************************************************************************
6036  *    IHTMLControlElement interface
6037  */
6038 [
6039     odl,
6040     oleautomation,
6041     dual,
6042     uuid(3050f4e9-98b5-11cf-bb82-00aa00bdce0b)
6043 ]
6044 interface IHTMLControlElement : IDispatch
6045 {
6046     [propput, id(DISPID_IHTMLCONTROLELEMENT_TABINDEX), displaybind, bindable]
6047     HRESULT tabIndex([in] short v);
6048
6049     [propget, id(DISPID_IHTMLCONTROLELEMENT_TABINDEX), displaybind, bindable]
6050     HRESULT tabIndex([retval, out] short * p);
6051
6052     [id(DISPID_IHTMLCONTROLELEMENT_FOCUS)]
6053     HRESULT focus();
6054
6055     [propput, id(DISPID_IHTMLCONTROLELEMENT_ACCESSKEY), displaybind, bindable]
6056     HRESULT accessKey([in] BSTR v);
6057
6058     [propget, id(DISPID_IHTMLCONTROLELEMENT_ACCESSKEY), displaybind, bindable]
6059     HRESULT accessKey([retval, out] BSTR * p);
6060
6061     [propput, id(DISPID_IHTMLCONTROLELEMENT_ONBLUR), displaybind, bindable]
6062     HRESULT onblur([in] VARIANT v);
6063
6064     [propget, id(DISPID_IHTMLCONTROLELEMENT_ONBLUR), displaybind, bindable]
6065     HRESULT onblur([retval, out] VARIANT * p);
6066
6067     [propput, id(DISPID_IHTMLCONTROLELEMENT_ONFOCUS), displaybind, bindable]
6068     HRESULT onfocus([in] VARIANT v);
6069
6070     [propget, id(DISPID_IHTMLCONTROLELEMENT_ONFOCUS), displaybind, bindable]
6071     HRESULT onfocus([retval, out] VARIANT * p);
6072
6073     [propput, id(DISPID_IHTMLCONTROLELEMENT_ONRESIZE), displaybind, bindable]
6074     HRESULT onresize([in] VARIANT v);
6075
6076     [propget, id(DISPID_IHTMLCONTROLELEMENT_ONRESIZE), displaybind, bindable]
6077     HRESULT onresize([retval, out] VARIANT * p);
6078
6079     [id(DISPID_IHTMLCONTROLELEMENT_BLUR)]
6080     HRESULT blur();
6081
6082     [id(DISPID_IHTMLCONTROLELEMENT_ADDFILTER)]
6083     HRESULT addFilter([in] IUnknown* pUnk);
6084
6085     [id(DISPID_IHTMLCONTROLELEMENT_REMOVEFILTER)]
6086     HRESULT removeFilter([in] IUnknown* pUnk);
6087
6088     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTHEIGHT), displaybind, bindable]
6089     HRESULT clientHeight([retval, out] long * p);
6090
6091     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTWIDTH), displaybind, bindable]
6092     HRESULT clientWidth([retval, out] long * p);
6093
6094     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTTOP), displaybind, bindable]
6095     HRESULT clientTop([retval, out] long * p);
6096
6097     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTLEFT), displaybind, bindable]
6098     HRESULT clientLeft([retval, out] long * p);
6099 };
6100
6101 /*****************************************************************************
6102  *    IHTMLBodyElement interface
6103  */
6104 [
6105     odl,
6106     oleautomation,
6107     dual,
6108     uuid(3050f1d8-98b5-11cf-bb82-00aa00bdce0b)
6109 ]
6110 interface IHTMLBodyElement : IDispatch
6111 {
6112     [propput, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
6113     HRESULT background([in] BSTR v);
6114
6115     [propget, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
6116     HRESULT background([retval, out] BSTR *p);
6117
6118     [propput, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
6119     HRESULT bgProperties([in] BSTR v);
6120
6121     [propget, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
6122     HRESULT bgProperties([retval, out] BSTR *p);
6123
6124     [propput, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
6125     HRESULT leftMargin([in] VARIANT v);
6126
6127     [propget, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
6128     HRESULT leftMargin([retval, out] VARIANT *p);
6129
6130     [propput, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
6131     HRESULT topMargin([in] VARIANT v);
6132
6133     [propget, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
6134     HRESULT topMargin([retval, out] VARIANT *p);
6135
6136     [propput, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
6137     HRESULT rightMargin([in] VARIANT v);
6138
6139     [propget, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
6140     HRESULT rightMargin([retval, out] VARIANT *p);
6141
6142     [propput, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
6143     HRESULT bottomMargin([in] VARIANT v);
6144
6145     [propget, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
6146     HRESULT bottomMargin([retval, out] VARIANT *p);
6147
6148     [propput, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
6149     HRESULT noWrap([in] VARIANT_BOOL v);
6150
6151     [propget, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
6152     HRESULT noWrap([retval, out] VARIANT_BOOL *p);
6153
6154     [propput, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
6155     HRESULT bgColor([in] VARIANT v);
6156
6157     [propget, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
6158     HRESULT bgColor([retval, out] VARIANT *p);
6159
6160     [propput, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
6161     HRESULT text([in] VARIANT v);
6162
6163     [propget, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
6164     HRESULT text([retval, out] VARIANT *p);
6165
6166     [propput, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
6167     HRESULT link([in] VARIANT v);
6168
6169     [propget, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
6170     HRESULT link([retval, out] VARIANT *p);
6171
6172     [propput, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
6173     HRESULT vLink([in] VARIANT v);
6174
6175     [propget, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
6176     HRESULT vLink([retval, out] VARIANT *p);
6177
6178     [propput, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
6179     HRESULT aLink([in] VARIANT v);
6180
6181     [propget, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
6182     HRESULT aLink([retval, out] VARIANT *p);
6183
6184     [propput, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
6185     HRESULT onload([in] VARIANT v);
6186
6187     [propget, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
6188     HRESULT onload([retval, out] VARIANT *p);
6189
6190     [propput, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
6191     HRESULT onunload([in] VARIANT v);
6192
6193     [propget, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
6194     HRESULT onunload([retval, out] VARIANT *p);
6195
6196     [propput, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
6197     HRESULT scroll([in] BSTR v);
6198
6199     [propget, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
6200     HRESULT scroll([retval, out] BSTR *p);
6201
6202     [propput, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
6203     HRESULT onselect([in] VARIANT v);
6204
6205     [propget, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
6206     HRESULT onselect([retval, out] VARIANT *p);
6207
6208     [propput, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
6209     HRESULT onbeforeunload([in] VARIANT v);
6210
6211     [propget, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
6212     HRESULT onbeforeunload([retval, out] VARIANT *p);
6213
6214     [id(DISPID_IHTMLBODYELEMENT_CREATETEXTRANGE)]
6215     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
6216 }
6217
6218 /*****************************************************************************
6219  *    IHTMLBodyElement2 interface
6220  */
6221 [
6222     odl,
6223     oleautomation,
6224     dual,
6225     uuid(3050f5c5-98b5-11cf-bb82-00aa00bdce0b)
6226 ]
6227 interface IHTMLBodyElement2 : IDispatch
6228 {
6229     [propput, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
6230     HRESULT onbeforeprint([in] VARIANT v);
6231
6232     [propget, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
6233     HRESULT onbeforeprint([retval, out] VARIANT *p);
6234
6235     [propput, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
6236     HRESULT onafterprint([in] VARIANT v);
6237
6238     [propget, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
6239     HRESULT onafterprint([retval, out] VARIANT *p);
6240 }
6241
6242 [
6243     hidden,
6244     uuid(3050f507-98b5-11cf-bb82-00aa00bdce0b)
6245 ]
6246 dispinterface DispHTMLBody
6247 {
6248 properties:
6249 methods:
6250     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
6251     void setAttribute(
6252         [in] BSTR strAttributeName,
6253         [in] VARIANT AttValue,
6254         [defaultvalue(1), in] LONG lFlags);
6255
6256     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
6257     VARIANT getAttribute(
6258         [in] BSTR strAttributeName,
6259         [defaultvalue(0), in] LONG lFlags);
6260
6261     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
6262     VARIANT_BOOL removeAttribute(
6263         [in] BSTR strAttributeName,
6264         [defaultvalue(1), in] LONG lFlags);
6265
6266     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
6267     void className(BSTR v);
6268
6269     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
6270     BSTR className();
6271
6272     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
6273     void id(BSTR v);
6274
6275     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
6276     BSTR id();
6277
6278     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
6279     BSTR tagName();
6280
6281     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
6282     IHTMLElement* parentElement();
6283
6284     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
6285     IHTMLStyle* style();
6286
6287     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
6288     void onhelp(VARIANT v);
6289
6290     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
6291     VARIANT onhelp();
6292
6293     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
6294     void onclick(VARIANT v);
6295
6296     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
6297     VARIANT onclick();
6298
6299     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
6300     void ondblclick(VARIANT v);
6301
6302     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
6303     VARIANT ondblclick();
6304
6305     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
6306     void onkeydown(VARIANT v);
6307
6308     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
6309     VARIANT onkeydown();
6310
6311     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
6312     void onkeyup(VARIANT v);
6313
6314     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
6315     VARIANT onkeyup();
6316
6317     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
6318     void onkeypress(VARIANT v);
6319
6320     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
6321     VARIANT onkeypress();
6322
6323     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
6324     void onmouseout(VARIANT v);
6325
6326     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
6327     VARIANT onmouseout();
6328
6329     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
6330     void onmouseover(VARIANT v);
6331
6332     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
6333     VARIANT onmouseover();
6334
6335     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
6336     void onmousemove(VARIANT v);
6337
6338     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
6339     VARIANT onmousemove();
6340
6341     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
6342     void onmousedown(VARIANT v);
6343
6344     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
6345     VARIANT onmousedown();
6346
6347     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
6348     void onmouseup(VARIANT v);
6349
6350     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
6351     VARIANT onmouseup();
6352
6353     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)] IDispatch* document();
6354
6355     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
6356     void title(BSTR v);
6357
6358     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
6359     BSTR title();
6360
6361     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
6362     void language(BSTR v);
6363
6364     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
6365     BSTR language();
6366
6367     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
6368     void onselectstart(VARIANT v);
6369
6370     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
6371     VARIANT onselectstart();
6372
6373     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
6374     void scrollIntoView([optional, in] VARIANT varargStart);
6375
6376     [id(DISPID_IHTMLELEMENT_CONTAINS)]
6377     VARIANT_BOOL contains([in] IHTMLElement* pChild);
6378
6379     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
6380     long sourceIndex();
6381
6382     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
6383     VARIANT recordNumber();
6384
6385     [propput, id(DISPID_IHTMLELEMENT_LANG)]
6386     void lang(BSTR v);
6387
6388     [propget, id(DISPID_IHTMLELEMENT_LANG)]
6389     BSTR lang();
6390
6391     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
6392     long offsetLeft();
6393
6394     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
6395     long offsetTop();
6396
6397     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
6398     long offsetWidth();
6399
6400     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
6401     long offsetHeight();
6402
6403     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
6404     IHTMLElement* offsetParent();
6405
6406     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
6407     void innerHTML(BSTR v);
6408
6409     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
6410     BSTR innerHTML();
6411
6412     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
6413     void innerText(BSTR v);
6414
6415     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
6416     BSTR innerText();
6417
6418     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
6419     void outerHTML(BSTR v);
6420
6421     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
6422     BSTR outerHTML();
6423
6424     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
6425     void outerText(BSTR v);
6426
6427     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
6428     BSTR outerText();
6429
6430     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
6431     void insertAdjacentHTML(
6432         [in] BSTR where,
6433         [in] BSTR html);
6434
6435     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
6436     void insertAdjacentText(
6437         [in] BSTR where,
6438         [in] BSTR text);
6439
6440     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
6441     IHTMLElement* parentTextEdit();
6442
6443     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
6444     VARIANT_BOOL isTextEdit();
6445
6446     [id(DISPID_IHTMLELEMENT_CLICK)] void click();
6447
6448     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
6449     IHTMLFiltersCollection* filters();
6450
6451     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
6452     void ondragstart(VARIANT v);
6453
6454     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
6455     VARIANT ondragstart();
6456
6457     [id(DISPID_IHTMLELEMENT_TOSTRING)]
6458     BSTR toString();
6459
6460     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
6461     void onbeforeupdate(VARIANT v);
6462
6463     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
6464     VARIANT onbeforeupdate();
6465
6466     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
6467     void onafterupdate(VARIANT v);
6468
6469     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
6470     VARIANT onafterupdate();
6471
6472     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
6473     void onerrorupdate(VARIANT v);
6474
6475     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
6476     VARIANT onerrorupdate();
6477
6478     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
6479     void onrowexit(VARIANT v);
6480
6481     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
6482     VARIANT onrowexit();
6483
6484     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
6485     void onrowenter(VARIANT v);
6486
6487     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
6488     VARIANT onrowenter();
6489
6490     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
6491     void ondatasetchanged(VARIANT v);
6492
6493     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
6494     VARIANT ondatasetchanged();
6495
6496     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
6497     void ondataavailable(VARIANT v);
6498
6499     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
6500     VARIANT ondataavailable();
6501
6502     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
6503     void ondatasetcomplete(VARIANT v);
6504
6505     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
6506     VARIANT ondatasetcomplete();
6507
6508     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
6509     void onfilterchange(VARIANT v);
6510
6511     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
6512     VARIANT onfilterchange();
6513
6514     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
6515     IDispatch* children();
6516
6517     [propget, id(DISPID_IHTMLELEMENT_ALL)]
6518     IDispatch* all();
6519
6520     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
6521     BSTR scopeName();
6522
6523     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
6524     void setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
6525
6526     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
6527     void releaseCapture();
6528
6529     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
6530     void onlosecapture(VARIANT v);
6531
6532     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
6533     VARIANT onlosecapture();
6534
6535     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
6536     BSTR componentFromPoint([in] long x,[in] long y);
6537
6538     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
6539     void doScroll([optional, in] VARIANT component);
6540
6541     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
6542     void onscroll(VARIANT v);
6543
6544     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
6545     VARIANT onscroll();
6546
6547     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
6548     void ondrag(VARIANT v);
6549
6550     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
6551     VARIANT ondrag();
6552
6553     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
6554     void ondragend(VARIANT v);
6555
6556     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
6557     VARIANT ondragend();
6558
6559     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
6560     void ondragenter(VARIANT v);
6561
6562     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
6563     VARIANT ondragenter();
6564
6565     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
6566     void ondragover(VARIANT v);
6567
6568     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
6569     VARIANT ondragover();
6570
6571     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
6572     void ondragleave(VARIANT v);
6573
6574     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
6575     VARIANT ondragleave();
6576
6577     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
6578      void ondrop(VARIANT v);
6579
6580     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
6581     VARIANT ondrop();
6582
6583     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
6584     void onbeforecut(VARIANT v);
6585
6586     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
6587     VARIANT onbeforecut();
6588
6589     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
6590     void oncut(VARIANT v);
6591
6592     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
6593     VARIANT oncut();
6594
6595     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
6596     void onbeforecopy(VARIANT v);
6597
6598     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
6599     VARIANT onbeforecopy();
6600
6601     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
6602     void oncopy(VARIANT v);
6603
6604     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
6605     VARIANT oncopy();
6606
6607     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
6608     void onbeforepaste(VARIANT v);
6609
6610     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
6611      VARIANT onbeforepaste();
6612
6613     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
6614     void onpaste(VARIANT v);
6615
6616     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
6617     VARIANT onpaste();
6618
6619     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
6620     IHTMLCurrentStyle* currentStyle();
6621
6622     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
6623     void onpropertychange(VARIANT v);
6624
6625     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
6626     VARIANT onpropertychange();
6627
6628     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
6629     IHTMLRectCollection* getClientRects();
6630
6631     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
6632     IHTMLRect* getBoundingClientRect();
6633
6634     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
6635     void setExpression(
6636         [in] BSTR propname,
6637         [in] BSTR expr,
6638         [defaultvalue(""), in] BSTR lang);
6639
6640     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
6641     VARIANT getExpression([in] BSTR propname);
6642
6643     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
6644     VARIANT_BOOL removeExpression([in] BSTR propname);
6645
6646     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
6647     void tabIndex(short v);
6648
6649     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
6650     short tabIndex();
6651
6652     [id(DISPID_IHTMLELEMENT2_FOCUS)]
6653     void focus();
6654
6655     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
6656     void accessKey(BSTR v);
6657
6658     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
6659     BSTR accessKey();
6660
6661     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
6662     void onblur(VARIANT v);
6663
6664     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
6665      VARIANT onblur();
6666
6667     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
6668     void onfocus(VARIANT v);
6669
6670     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
6671     VARIANT onfocus();
6672
6673     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
6674     void onresize(VARIANT v);
6675
6676     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
6677     VARIANT onresize();
6678
6679     [id(DISPID_IHTMLELEMENT2_BLUR)]
6680     void blur();
6681
6682     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
6683     void addFilter([in] IUnknown* pUnk);
6684
6685     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
6686     void removeFilter([in] IUnknown* pUnk);
6687
6688     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
6689     long clientHeight();
6690
6691     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
6692     long clientWidth();
6693
6694     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
6695     long clientTop();
6696
6697     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
6698     long clientLeft();
6699
6700     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
6701     VARIANT_BOOL attachEvent(
6702         [in] BSTR event,
6703         [in] IDispatch* pDisp);
6704
6705     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
6706     void detachEvent(
6707         [in] BSTR event,
6708         [in] IDispatch* pDisp);
6709
6710     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)] VARIANT readyState();
6711
6712     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
6713      void onreadystatechange(VARIANT v);
6714
6715     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
6716     VARIANT onreadystatechange();
6717
6718     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
6719     void onrowsdelete(VARIANT v);
6720
6721     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
6722     VARIANT onrowsdelete();
6723
6724     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
6725     void onrowsinserted(VARIANT v);
6726
6727     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
6728     VARIANT onrowsinserted();
6729
6730     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
6731     void oncellchange(VARIANT v);
6732
6733     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
6734     VARIANT oncellchange();
6735
6736     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
6737     void dir(BSTR v);
6738
6739     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
6740     BSTR dir();
6741
6742     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
6743     IDispatch* createControlRange();
6744
6745     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
6746     long scrollHeight();
6747
6748     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
6749     long scrollWidth();
6750
6751     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
6752     void scrollTop(long v);
6753
6754     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
6755     long scrollTop();
6756
6757     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
6758     void scrollLeft(long v);
6759
6760     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
6761     long scrollLeft();
6762
6763     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
6764     void clearAttributes();
6765
6766     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
6767     void oncontextmenu(VARIANT v);
6768
6769     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
6770     VARIANT oncontextmenu();
6771
6772     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
6773     IHTMLElement* insertAdjacentElement(
6774         [in] BSTR where,
6775         [in] IHTMLElement* insertedElement);
6776
6777     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
6778     IHTMLElement* applyElement([in] IHTMLElement* apply,[in] BSTR where);
6779
6780     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
6781     BSTR getAdjacentText([in] BSTR where);
6782
6783     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
6784     BSTR replaceAdjacentText([in] BSTR where,[in] BSTR newText);
6785
6786     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
6787     VARIANT_BOOL canHaveChildren();
6788
6789     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
6790     long addBehavior([in] BSTR bstrUrl,[optional, in] VARIANT* pvarFactory);
6791
6792     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
6793     VARIANT_BOOL removeBehavior([in] long cookie);
6794
6795     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
6796     IHTMLStyle* runtimeStyle();
6797
6798     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
6799     IDispatch* behaviorUrns();
6800
6801     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
6802     void tagUrn(BSTR v);
6803
6804     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
6805     BSTR tagUrn();
6806
6807     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
6808     void onbeforeeditfocus(VARIANT v);
6809
6810     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
6811     VARIANT onbeforeeditfocus();
6812
6813     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
6814     long readyStateValue();
6815
6816     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
6817     IHTMLElementCollection* getElementsByTagName([in] BSTR v);
6818
6819     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
6820     void mergeAttributes(
6821         [in] IHTMLElement* mergeThis,
6822         [optional, in] VARIANT* pvarFlags);
6823
6824     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
6825     VARIANT_BOOL isMultiLine();
6826
6827     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
6828     VARIANT_BOOL canHaveHTML();
6829
6830     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
6831     void onlayoutcomplete(VARIANT v);
6832
6833     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
6834     VARIANT onlayoutcomplete();
6835
6836     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
6837     void onpage(VARIANT v);
6838
6839     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
6840     VARIANT onpage();
6841
6842     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
6843     void inflateBlock(VARIANT_BOOL v);
6844
6845     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
6846     VARIANT_BOOL inflateBlock();
6847
6848     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
6849     void onbeforedeactivate(VARIANT v);
6850
6851     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
6852     VARIANT onbeforedeactivate();
6853
6854     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
6855     void setActive();
6856
6857     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
6858     void contentEditable(BSTR v);
6859
6860     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
6861     BSTR contentEditable();
6862
6863     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
6864     VARIANT_BOOL isContentEditable();
6865
6866     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
6867     void hideFocus(VARIANT_BOOL v);
6868
6869     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
6870     VARIANT_BOOL hideFocus();
6871
6872     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
6873     void disabled(VARIANT_BOOL v);
6874
6875     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
6876     VARIANT_BOOL disabled();
6877
6878     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
6879     VARIANT_BOOL isDisabled();
6880
6881     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
6882     void onmove(VARIANT v);
6883
6884     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
6885     VARIANT onmove();
6886
6887     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
6888     void oncontrolselect(VARIANT v);
6889
6890     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
6891     VARIANT oncontrolselect();
6892
6893     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
6894     VARIANT_BOOL fireEvent(
6895         [in] BSTR bstrEventName,
6896         [optional, in] VARIANT* pvarEventObject);
6897
6898     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
6899      void onresizestart(VARIANT v);
6900
6901     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
6902     VARIANT onresizestart();
6903
6904     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
6905     void onresizeend(VARIANT v);
6906
6907     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
6908     VARIANT onresizeend();
6909
6910     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
6911     void onmovestart(VARIANT v);
6912
6913     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
6914     VARIANT onmovestart();
6915
6916     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
6917     void onmoveend(VARIANT v);
6918
6919     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
6920     VARIANT onmoveend();
6921
6922     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
6923     void onmouseenter(VARIANT v);
6924
6925     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
6926     VARIANT onmouseenter();
6927
6928     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
6929     void onmouseleave(VARIANT v);
6930
6931     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
6932     VARIANT onmouseleave();
6933
6934     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
6935     void onactivate(VARIANT v);
6936     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] VARIANT onactivate();
6937
6938     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
6939     void ondeactivate(VARIANT v);
6940
6941     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
6942     VARIANT ondeactivate();
6943
6944     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
6945     VARIANT_BOOL dragDrop();
6946
6947     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
6948     LONG glyphMode();
6949
6950     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
6951     void onmousewheel(VARIANT v);
6952
6953     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
6954     VARIANT onmousewheel();
6955
6956     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
6957     void normalize();
6958
6959     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
6960      IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrname);
6961
6962     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
6963     IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
6964
6965     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
6966     IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
6967
6968     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
6969     void onbeforeactivate(VARIANT v);
6970
6971     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
6972     VARIANT onbeforeactivate();
6973
6974     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
6975     void onfocusin(VARIANT v);
6976
6977     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
6978     VARIANT onfocusin();
6979
6980     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
6981     void onfocusout(VARIANT v);
6982
6983     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
6984     VARIANT onfocusout();
6985
6986     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
6987     long uniqueNumber();
6988
6989     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
6990     BSTR uniqueID();
6991
6992     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
6993     long nodeType();
6994
6995     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
6996     IHTMLDOMNode* parentNode();
6997
6998     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
6999     VARIANT_BOOL hasChildNodes();
7000
7001     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
7002     IDispatch* childNodes();
7003
7004     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
7005     IDispatch* attributes();
7006
7007     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
7008     IHTMLDOMNode* insertBefore(
7009         [in] IHTMLDOMNode* newChild,
7010         [optional, in] VARIANT refChild);
7011
7012     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
7013     IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
7014
7015     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
7016     IHTMLDOMNode* replaceChild(
7017         [in] IHTMLDOMNode* newChild,
7018         [in] IHTMLDOMNode* oldChild);
7019
7020     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
7021     IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
7022
7023     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
7024     IHTMLDOMNode* removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep);
7025
7026     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
7027     IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
7028
7029     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
7030     IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
7031
7032     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
7033     IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
7034
7035     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
7036     BSTR nodeName();
7037
7038     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
7039     void nodeValue(VARIANT v);
7040
7041     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
7042     VARIANT nodeValue();
7043
7044     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
7045     IHTMLDOMNode* firstChild();
7046
7047     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
7048     IHTMLDOMNode* lastChild();
7049
7050     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
7051     IHTMLDOMNode* previousSibling();
7052
7053     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
7054     IHTMLDOMNode* nextSibling();
7055
7056     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
7057     IDispatch* ownerDocument();
7058
7059     [propput, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
7060     void background(BSTR v);
7061
7062     [propget, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
7063     BSTR background();
7064
7065     [propput, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
7066     void bgProperties(BSTR v);
7067
7068     [propget, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
7069     BSTR bgProperties();
7070
7071     [propput, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
7072     void leftMargin(VARIANT v);
7073
7074     [propget, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
7075     VARIANT leftMargin();
7076
7077     [propput, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
7078     void topMargin(VARIANT v);
7079
7080     [propget, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
7081     VARIANT topMargin();
7082
7083     [propput, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
7084     void rightMargin(VARIANT v);
7085
7086     [propget, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
7087     VARIANT rightMargin();
7088
7089     [propput, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
7090     void bottomMargin(VARIANT v);
7091
7092     [propget, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
7093     VARIANT bottomMargin();
7094
7095     [propput, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
7096     void noWrap(VARIANT_BOOL v);
7097
7098     [propget, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
7099     VARIANT_BOOL noWrap();
7100
7101     [propput, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
7102     void bgColor(VARIANT v);
7103
7104     [propget, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
7105     VARIANT bgColor();
7106
7107     [propput, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
7108     void text(VARIANT v);
7109
7110     [propget, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
7111     VARIANT text();
7112
7113     [propput, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
7114     void link(VARIANT v);
7115
7116     [propget, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
7117     VARIANT link();
7118
7119     [propput, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
7120     void vLink(VARIANT v);
7121
7122     [propget, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
7123     VARIANT vLink();
7124
7125     [propput, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
7126     void aLink(VARIANT v);
7127
7128     [propget, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
7129     VARIANT aLink();
7130
7131     [propput, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
7132     void onload(VARIANT v);
7133
7134     [propget, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
7135     VARIANT onload();
7136
7137     [propput, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
7138     void onunload(VARIANT v);
7139
7140     [propget, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
7141     VARIANT onunload();
7142
7143     [propput, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
7144     void scroll(BSTR v);
7145
7146     [propget, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
7147     BSTR scroll();
7148
7149     [propput, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
7150     void onselect(VARIANT v);
7151
7152     [propget, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
7153     VARIANT onselect();
7154
7155     [propput, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
7156     void onbeforeunload(VARIANT v);
7157
7158     [propget, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
7159     VARIANT onbeforeunload();
7160
7161     [id(DISPID_IHTMLBODYELEMENT_CREATETEXTRANGE)]
7162     IHTMLTxtRange* createTextRange();
7163
7164     [propput, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
7165     void onbeforeprint(VARIANT v);
7166
7167     [propget, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
7168     VARIANT onbeforeprint();
7169
7170     [propput, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
7171     void onafterprint(VARIANT v);
7172
7173     [propget, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
7174     VARIANT onafterprint();
7175 };
7176
7177 [
7178     uuid(3050f24a-98b5-11cf-bb82-00aa00bdce0b)
7179 ]
7180 coclass HTMLBody
7181 {
7182     [default]           dispinterface DispHTMLBody;
7183     [source, default]   dispinterface HTMLTextContainerEvents;
7184     [source]            dispinterface HTMLTextContainerEvents2;
7185                         interface IHTMLElement;
7186                         interface IHTMLElement2;
7187                         interface IHTMLElement3;
7188                         interface IHTMLElement4;
7189                         interface IHTMLUniqueName;
7190                         interface IHTMLDOMNode;
7191                         interface IHTMLDOMNode2;
7192                         interface IHTMLControlElement;
7193                         interface IHTMLTextContainer;
7194                         interface IHTMLBodyElement;
7195                         interface IHTMLBodyElement2;
7196 };
7197
7198 /*****************************************************************************
7199  *    IHTMLAnchorElement interface
7200  */
7201 [
7202     odl,
7203     oleautomation,
7204     dual,
7205     uuid(3050f1da-98b5-11cf-bb82-00aa00bdce0b)
7206 ]
7207 interface IHTMLAnchorElement : IDispatch
7208 {
7209     [propput, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
7210     HRESULT href([in] BSTR v);
7211
7212     [propget, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
7213     HRESULT href([retval, out] BSTR *p);
7214
7215     [propput, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
7216     HRESULT target([in] BSTR v);
7217
7218     [propget, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
7219     HRESULT target([retval, out] BSTR *p);
7220
7221     [propput, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
7222     HRESULT rel([in] BSTR v);
7223
7224     [propget, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
7225     HRESULT rel([retval, out] BSTR *p);
7226
7227     [propput, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
7228     HRESULT rev([in] BSTR v);
7229
7230     [propget, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
7231     HRESULT rev([retval, out] BSTR *p);
7232
7233     [propput, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
7234     HRESULT urn([in] BSTR v);
7235
7236     [propget, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
7237     HRESULT urn([retval, out] BSTR *p);
7238
7239     [propput, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
7240     HRESULT Methods([in] BSTR v);
7241
7242     [propget, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
7243     HRESULT Methods([retval, out] BSTR *p);
7244
7245     [propput, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
7246     HRESULT name([in] BSTR v);
7247
7248     [propget, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
7249     HRESULT name([retval, out] BSTR *p);
7250
7251     [propput, id(DISPID_IHTMLANCHORELEMENT_HOST)]
7252     HRESULT host([in] BSTR v);
7253
7254     [propget, id(DISPID_IHTMLANCHORELEMENT_HOST)]
7255     HRESULT host([retval, out] BSTR *p);
7256
7257     [propput, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
7258     HRESULT hostname([in] BSTR v);
7259
7260     [propget, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
7261     HRESULT hostname([retval, out] BSTR *p);
7262
7263     [propput, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
7264     HRESULT pathname([in] BSTR v);
7265
7266     [propget, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
7267     HRESULT pathname([retval, out] BSTR *p);
7268
7269     [propput, id(DISPID_IHTMLANCHORELEMENT_PORT)]
7270     HRESULT port([in] BSTR v);
7271
7272     [propget, id(DISPID_IHTMLANCHORELEMENT_PORT)]
7273     HRESULT port([retval, out] BSTR *p);
7274
7275     [propput, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
7276     HRESULT protocol([in] BSTR v);
7277
7278     [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
7279     HRESULT protocol([retval, out] BSTR *p);
7280
7281     [propput, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
7282     HRESULT search([in] BSTR v);
7283
7284     [propget, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
7285     HRESULT search([retval, out] BSTR *p);
7286
7287     [propput, id(DISPID_IHTMLANCHORELEMENT_HASH)]
7288     HRESULT hash([in] BSTR v);
7289
7290     [propget, id(DISPID_IHTMLANCHORELEMENT_HASH)]
7291     HRESULT hash([retval, out] BSTR *p);
7292
7293     [propput, id(DISPID_IHTMLANCHORELEMENT_ONBLUR), displaybind, bindable]
7294     HRESULT onblur([in] VARIANT v);
7295
7296     [propget, id(DISPID_IHTMLANCHORELEMENT_ONBLUR), displaybind, bindable]
7297     HRESULT onblur([retval, out] VARIANT *p);
7298
7299     [propput, id(DISPID_IHTMLANCHORELEMENT_ONFOCUS), displaybind, bindable]
7300     HRESULT onfocus([in] VARIANT v);
7301
7302     [propget, id(DISPID_IHTMLANCHORELEMENT_ONFOCUS), displaybind, bindable]
7303     HRESULT onfocus([retval, out] VARIANT *p);
7304
7305     [propput, id(DISPID_IHTMLANCHORELEMENT_ACCESSKEY), displaybind, bindable]
7306     HRESULT accessKey([in] BSTR v);
7307
7308     [propget, id(DISPID_IHTMLANCHORELEMENT_ACCESSKEY), displaybind, bindable]
7309     HRESULT accessKey([retval, out] BSTR *p);
7310
7311     [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOLLONG)]
7312     HRESULT protocolLong([retval, out] BSTR *p);
7313
7314     [propget, id(DISPID_IHTMLANCHORELEMENT_MIMETYPE)]
7315     HRESULT mimeType([retval, out] BSTR *p);
7316
7317     [propget, id(DISPID_IHTMLANCHORELEMENT_NAMEPROP)]
7318     HRESULT nameProp([retval, out] BSTR *p);
7319
7320     [propput, id(DISPID_IHTMLANCHORELEMENT_TABINDEX), displaybind, bindable]
7321     HRESULT tabIndex([in] short v);
7322
7323     [propget, id(DISPID_IHTMLANCHORELEMENT_TABINDEX), displaybind, bindable]
7324     HRESULT tabIndex([retval, out] short *p);
7325
7326     [id(DISPID_IHTMLANCHORELEMENT_FOCUS)]
7327     HRESULT focus();
7328
7329     [id(DISPID_IHTMLANCHORELEMENT_BLUR)]
7330     HRESULT blur();
7331 }
7332
7333 /*****************************************************************************
7334  *    IHTMLElementCollection interface
7335  */
7336 [
7337     odl,
7338     oleautomation,
7339     dual,
7340     uuid(3050F21F-98B5-11CF-BB82-00AA00BDCE0B)
7341 ]
7342 interface IHTMLElementCollection : IDispatch
7343 {
7344     [id(DISPID_IHTMLELEMENTCOLLECTION_TOSTRING)]
7345     HRESULT toString([retval, out] BSTR *String);
7346
7347     [propput, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
7348     HRESULT length([in] long v);
7349
7350     [propget, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
7351     HRESULT length([retval, out] long *p);
7352
7353     [propget, id(DISPID_IHTMLELEMENTCOLLECTION__NEWENUM)]
7354     HRESULT _newEnum([retval, out] IUnknown **p);
7355
7356     [id(DISPID_IHTMLELEMENTCOLLECTION_ITEM)]
7357     HRESULT item(
7358         [optional, in] VARIANT name,
7359         [optional, in] VARIANT index,
7360         [retval,  out] IDispatch **pdisp);
7361
7362     [id(DISPID_IHTMLELEMENTCOLLECTION_TAGS)]
7363     HRESULT tags(
7364         [in] VARIANT tagName,
7365         [retval, out] IDispatch **pdisp);
7366 }
7367
7368 /*****************************************************************************
7369  *    DispHTMLElementCollection dispinterface
7370  */
7371 [
7372     hidden,
7373     uuid(3050f56b-98b5-11cf-bb82-00aa00bdce0b)
7374 ]
7375 dispinterface DispHTMLElementCollection
7376 {
7377 properties:
7378 methods:
7379     [id(DISPID_IHTMLELEMENTCOLLECTION_TOSTRING)]
7380     BSTR toString();
7381
7382     [propput, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
7383     void length(long v);
7384
7385     [propget, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
7386     long length();
7387
7388     [propget, id(DISPID_IHTMLELEMENTCOLLECTION__NEWENUM), hidden, restricted]
7389     IUnknown *_newEnum();
7390
7391     [id(DISPID_IHTMLELEMENTCOLLECTION_ITEM)]
7392     IDispatch *item(
7393             [in, optional] VARIANT name,
7394             [in, optional] VARIANT index);
7395
7396     [id(DISPID_IHTMLELEMENTCOLLECTION_TAGS)]
7397     IDispatch *tags(
7398             [in] VARIANT tagName);
7399
7400     [id(DISPID_IHTMLELEMENTCOLLECTION2_URNS)]
7401     IDispatch *urns([in] VARIANT urn);
7402
7403     [id(DISPID_IHTMLELEMENTCOLLECTION3_NAMEDITEM)]
7404     IDispatch *namedItem([in] BSTR name);
7405 }
7406
7407 /*****************************************************************************
7408  *    IHTMLSelectElement interface
7409  */
7410 [
7411     odl,
7412     oleautomation,
7413     dual,
7414     uuid(3050f244-98b5-11cf-bb82-00aa00bdce0b)
7415 ]
7416 interface IHTMLSelectElement : IDispatch
7417 {
7418     [propput, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
7419     HRESULT size([in] long v);
7420
7421     [propget, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
7422     HRESULT size([retval, out] long *p);
7423
7424     [propput, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
7425     HRESULT multiple([in] VARIANT_BOOL v);
7426
7427     [propget, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
7428     HRESULT multiple([retval, out] VARIANT_BOOL *p);
7429
7430     [propput, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
7431     HRESULT name([in] BSTR v);
7432
7433     [propget, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
7434     HRESULT name([retval, out] BSTR *p);
7435
7436     [propget, id(DISPID_IHTMLSELECTELEMENT_OPTIONS)]
7437     HRESULT options([retval, out] IDispatch **p);
7438
7439     [propput, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
7440     HRESULT onchange([in] VARIANT v);
7441
7442     [propget, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
7443     HRESULT onchange([retval, out] VARIANT *p);
7444
7445     [propput, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
7446     HRESULT selectedIndex([in] long v);
7447
7448     [propget, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
7449     HRESULT selectedIndex([retval, out] long *p);
7450
7451     [propget, id(DISPID_IHTMLSELECTELEMENT_TYPE), displaybind, bindable]
7452     HRESULT type([retval, out] BSTR *p);
7453
7454     [propput, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
7455     HRESULT value([in] BSTR v);
7456
7457     [propget, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
7458     HRESULT value([retval, out] BSTR *p);
7459
7460     [propput, id(DISPID_IHTMLSELECTELEMENT_DISABLED), displaybind, bindable]
7461     HRESULT disabled([in] VARIANT_BOOL v);
7462
7463     [propget, id(DISPID_IHTMLSELECTELEMENT_DISABLED), displaybind, bindable]
7464     HRESULT disabled([retval, out] VARIANT_BOOL *p);
7465
7466     [propget, id(DISPID_IHTMLSELECTELEMENT_FORM)]
7467     HRESULT form([retval, out] IHTMLFormElement **p);
7468
7469     [id(DISPID_IHTMLSELECTELEMENT_ADD)]
7470     HRESULT add(
7471         [in] IHTMLElement *element,
7472         [optional, in] VARIANT before);
7473
7474     [id(DISPID_IHTMLSELECTELEMENT_REMOVE)]
7475     HRESULT remove([defaultvalue(-1), in] long index);
7476
7477     [propput, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
7478     HRESULT length([in] long v);
7479
7480     [propget, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
7481     HRESULT length([retval, out] long *p);
7482
7483     [propget, id(DISPID_IHTMLSELECTELEMENT__NEWENUM), hidden, restricted]
7484     HRESULT _newEnum([retval, out] IUnknown **p);
7485
7486     [id(DISPID_IHTMLSELECTELEMENT_ITEM)]
7487     HRESULT item(
7488         [optional, in] VARIANT name,
7489         [optional, in] VARIANT index,
7490         [retval, out] IDispatch **pdisp);
7491
7492     [id(DISPID_IHTMLSELECTELEMENT_TAGS)]
7493     HRESULT tags(
7494         [in] VARIANT tagName,
7495         [retval, out] IDispatch **pdisp);
7496 }
7497
7498 /*****************************************************************************
7499  *    DispHTMLSelectElement dispinterface
7500  */
7501 [
7502     hidden,
7503     uuid(3050f531-98b5-11cf-bb82-00aa00bdce0b)
7504 ]
7505 dispinterface DispHTMLSelectElement
7506 {
7507 properties:
7508 methods:
7509     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
7510     void setAttribute(
7511             [in] BSTR strAttributeName,
7512             [in] VARIANT AttributeValue,
7513             [in, defaultvalue(1)] LONG lFlags);
7514
7515     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
7516     VARIANT getAttribute(
7517              [in] BSTR strAttributeName,
7518              [in, defaultvalue(0)] LONG lFlags);
7519
7520     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
7521     VARIANT_BOOL removeAttribute(
7522             [in] BSTR strAttributeName,
7523             [in, defaultvalue(1)] LONG lFlags);
7524
7525     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
7526     void className(BSTR v);
7527
7528     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
7529     BSTR className();
7530
7531     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
7532     void id(BSTR v);
7533
7534     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
7535     BSTR id();
7536
7537     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
7538     BSTR tagName();
7539
7540     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
7541     IHTMLElement *parentElement();
7542
7543     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
7544     IHTMLStyle *style();
7545
7546     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
7547     void onhelp(VARIANT v);
7548
7549     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
7550     VARIANT onhelp();
7551
7552     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
7553     void onclick(VARIANT v);
7554
7555     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
7556     VARIANT onclick();
7557
7558     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
7559     void ondblclick(VARIANT v);
7560
7561     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
7562     VARIANT ondblclick();
7563
7564     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
7565     void onkeydown(VARIANT v);
7566
7567     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
7568     VARIANT onkeydown();
7569
7570     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
7571     void onkeyup(VARIANT v);
7572
7573     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
7574     VARIANT onkeyup();
7575
7576     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
7577     void onkeypress(VARIANT v);
7578
7579     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
7580     VARIANT onkeypress();
7581
7582     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
7583     void onmouseout(VARIANT v);
7584
7585     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
7586     VARIANT onmouseout();
7587
7588     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
7589     void onmouseover(VARIANT v);
7590
7591     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
7592     VARIANT onmouseover();
7593
7594     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
7595     void onmousemove(VARIANT v);
7596
7597     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
7598     VARIANT onmousemove();
7599
7600     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
7601     void onmousedown(VARIANT v);
7602
7603     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
7604     VARIANT onmousedown();
7605
7606     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
7607     void onmouseup(VARIANT v);
7608
7609     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
7610     VARIANT onmouseup();
7611
7612     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
7613     IDispatch *document();
7614
7615     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
7616     void title(BSTR v);
7617
7618     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
7619     BSTR title();
7620
7621     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
7622     void language(BSTR v);
7623
7624     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
7625     BSTR language();
7626
7627     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
7628     void onselectstart(VARIANT v);
7629
7630     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
7631     VARIANT onselectstart();
7632
7633     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
7634     void scrollIntoView([in, optional] VARIANT varargStart);
7635
7636     [id(DISPID_IHTMLELEMENT_CONTAINS)]
7637     VARIANT_BOOL contains([in] IHTMLElement *pChild);
7638
7639     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
7640     long sourceIndex();
7641
7642     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
7643     VARIANT recordNumber();
7644
7645     [propput, id(DISPID_IHTMLELEMENT_LANG)]
7646     void lang(BSTR v);
7647
7648     [propget, id(DISPID_IHTMLELEMENT_LANG)]
7649     BSTR lang();
7650
7651     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
7652     long offsetLeft();
7653
7654     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
7655     long offsetTop();
7656
7657     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
7658     long offsetWidth();
7659
7660     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
7661     long offsetHeight();
7662
7663     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
7664     IHTMLElement *offsetParent();
7665
7666     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
7667     void innerHTML(BSTR v);
7668
7669     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
7670     BSTR innerHTML();
7671
7672     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
7673     void innerText(BSTR v);
7674
7675     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
7676     BSTR innerText();
7677
7678     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
7679     void outerHTML(BSTR v);
7680
7681     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
7682     BSTR outerHTML();
7683
7684     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
7685     void outerText(BSTR v);
7686
7687     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
7688     BSTR outerText();
7689
7690     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
7691     void insertAdjacentHTML(
7692             [in] BSTR where,
7693             [in] BSTR html);
7694
7695     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
7696     void insertAdjacentText(
7697             [in] BSTR where,
7698             [in] BSTR text);
7699
7700     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
7701     IHTMLElement *parentTextEdit();
7702
7703     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
7704     VARIANT_BOOL isTextEdit();
7705
7706     [id(DISPID_IHTMLELEMENT_CLICK)]
7707     void click();
7708
7709     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
7710     IHTMLFiltersCollection *filters();
7711
7712     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
7713     void ondragstart(VARIANT v);
7714
7715     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
7716     VARIANT ondragstart();
7717
7718     [id(DISPID_IHTMLELEMENT_TOSTRING)]
7719     BSTR toString();
7720
7721     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
7722     void onbeforeupdate(VARIANT v);
7723
7724     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
7725     VARIANT onbeforeupdate();
7726
7727     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
7728     void onafterupdate(VARIANT v);
7729
7730     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
7731     VARIANT onafterupdate();
7732
7733     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
7734     void onerrorupdate(VARIANT v);
7735
7736     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
7737     VARIANT onerrorupdate();
7738
7739     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
7740     void onrowexit(VARIANT v);
7741
7742     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
7743     VARIANT onrowexit();
7744
7745     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
7746     void onrowenter(VARIANT v);
7747
7748     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
7749     VARIANT onrowenter();
7750
7751     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
7752     void ondatasetchanged(VARIANT v);
7753
7754     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
7755     VARIANT ondatasetchanged();
7756
7757     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
7758     void ondataavailable(VARIANT v);
7759
7760     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
7761     VARIANT ondataavailable();
7762
7763     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
7764     void ondatasetcomplete(VARIANT v);
7765
7766     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
7767     VARIANT ondatasetcomplete();
7768
7769     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
7770     void onfilterchange(VARIANT v);
7771
7772     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
7773     VARIANT onfilterchange();
7774
7775     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
7776     IDispatch *children();
7777
7778     [propget, id(DISPID_IHTMLELEMENT_ALL)]
7779     IDispatch *all();
7780
7781     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
7782     BSTR scopeName();
7783
7784     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
7785     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
7786
7787     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
7788     void releaseCapture();
7789
7790     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
7791     void onlosecapture(VARIANT v);
7792
7793     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
7794     VARIANT onlosecapture();
7795
7796     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
7797     BSTR componentFromPoint(
7798             [in] long x,
7799             [in] long y);
7800
7801     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
7802     void doScroll([in, optional] VARIANT component);
7803
7804     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
7805     void onscroll(VARIANT v);
7806
7807     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
7808     VARIANT onscroll();
7809
7810     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
7811     void ondrag(VARIANT v);
7812
7813     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
7814     VARIANT ondrag();
7815
7816     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
7817     void ondragend(VARIANT v);
7818
7819     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
7820     VARIANT ondragend();
7821
7822     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
7823     void ondragenter(VARIANT v);
7824
7825     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
7826     VARIANT ondragenter();
7827
7828     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
7829     void ondragover(VARIANT v);
7830
7831     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
7832     VARIANT ondragover();
7833
7834     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
7835     void ondragleave(VARIANT v);
7836
7837     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
7838     VARIANT ondragleave();
7839
7840     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
7841     void ondrop(VARIANT v);
7842
7843     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
7844     VARIANT ondrop();
7845
7846     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
7847     void onbeforecut(VARIANT v);
7848
7849     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
7850     VARIANT onbeforecut();
7851
7852     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
7853     void oncut(VARIANT v);
7854
7855     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
7856     VARIANT oncut();
7857
7858     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
7859     void onbeforecopy(VARIANT v);
7860
7861     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
7862     VARIANT onbeforecopy();
7863
7864     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
7865     void oncopy(VARIANT v);
7866
7867     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
7868     VARIANT oncopy();
7869
7870     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
7871     void onbeforepaste(VARIANT v);
7872
7873     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
7874     VARIANT onbeforepaste();
7875
7876     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
7877     void onpaste(VARIANT v);
7878
7879     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
7880     VARIANT onpaste();
7881
7882     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
7883     IHTMLCurrentStyle *currentStyle();
7884
7885     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
7886     void onpropertychange(VARIANT v);
7887
7888     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
7889     VARIANT onpropertychange();
7890
7891     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
7892     IHTMLRectCollection *getClientRects();
7893
7894     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
7895     IHTMLRect *getBoundingClientRect();
7896
7897     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
7898     void setExpression(
7899             [in] BSTR propname,
7900             [in] BSTR expression,
7901             [in, defaultvalue("")] BSTR language);
7902
7903     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
7904     VARIANT getExpression([in] BSTR propname);
7905
7906     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
7907     VARIANT_BOOL removeExpression([in] BSTR propname);
7908
7909     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
7910     void tabIndex(short v);
7911
7912     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
7913     short tabIndex();
7914
7915     [id(DISPID_IHTMLELEMENT2_FOCUS)]
7916     void focus();
7917
7918     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
7919     void accessKey(BSTR v);
7920
7921     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
7922     BSTR accessKey();
7923
7924     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
7925     void onblur(VARIANT v);
7926
7927     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
7928     VARIANT onblur();
7929
7930     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
7931     void onfocus(VARIANT v);
7932
7933     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
7934     VARIANT onfocus();
7935
7936     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
7937     void onresize(VARIANT v);
7938
7939     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
7940     VARIANT onresize();
7941
7942     [id(DISPID_IHTMLELEMENT2_BLUR)]
7943     void blur();
7944
7945     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
7946     void addFilter([in] IUnknown *pUnk);
7947
7948     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
7949     void removeFilter([in] IUnknown *pUnk);
7950
7951     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
7952     long clientHeight();
7953
7954     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
7955     long clientWidth();
7956
7957     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
7958     long clientTop();
7959
7960     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
7961     long clientLeft();
7962
7963     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
7964     VARIANT_BOOL attachEvent(
7965             [in] BSTR event,
7966             [in] IDispatch *pDisp);
7967
7968     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
7969     void detachEvent(
7970             [in] BSTR event,
7971             [in] IDispatch *pDisp);
7972
7973     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
7974     VARIANT readyState();
7975
7976     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
7977     void onreadystatechange(VARIANT v);
7978
7979     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
7980     VARIANT onreadystatechange();
7981
7982     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
7983     void onrowsdelete(VARIANT v);
7984
7985     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
7986     VARIANT onrowsdelete();
7987
7988     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
7989     void onrowsinserted(VARIANT v);
7990
7991     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
7992      VARIANT onrowsinserted();
7993
7994     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
7995      void oncellchange(VARIANT v);
7996
7997     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
7998     VARIANT oncellchange();
7999
8000     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
8001     void dir(BSTR v);
8002
8003     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
8004     BSTR dir();
8005
8006     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
8007     IDispatch *createControlRange();
8008
8009     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
8010     long scrollHeight();
8011
8012     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
8013     long scrollWidth();
8014
8015     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
8016     void scrollTop(long v);
8017
8018     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
8019     long scrollTop();
8020
8021     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
8022     void scrollLeft(long v);
8023
8024     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
8025     long scrollLeft();
8026
8027     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
8028     void clearAttributes();
8029
8030     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
8031     void oncontextmenu(VARIANT v);
8032
8033     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
8034     VARIANT oncontextmenu();
8035
8036     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
8037     IHTMLElement *insertAdjacentElement(
8038             [in] BSTR where,
8039             [in] IHTMLElement *insertedElement);
8040
8041     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
8042     IHTMLElement *applyElement(
8043             [in] IHTMLElement *apply,
8044             [in] BSTR where);
8045
8046     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
8047     BSTR getAdjacentText([in] BSTR where);
8048
8049     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
8050     BSTR replaceAdjacentText(
8051             [in] BSTR where,
8052             [in] BSTR newText);
8053
8054     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
8055     VARIANT_BOOL canHaveChildren();
8056
8057     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
8058     long addBehavior(
8059             [in] BSTR bstrUrl,
8060             [in, optional] VARIANT *pvarFactory);
8061
8062     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
8063     VARIANT_BOOL removeBehavior([in] long cookie);
8064
8065     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
8066     IHTMLStyle *runtimeStyle();
8067
8068     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
8069     IDispatch *behaviorUrns();
8070
8071     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
8072     void tagUrn(BSTR v);
8073
8074     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
8075     BSTR tagUrn();
8076
8077     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
8078     void onbeforeeditfocus(VARIANT v);
8079
8080     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
8081     VARIANT onbeforeeditfocus();
8082
8083     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
8084     long readyStateValue();
8085
8086     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
8087     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
8088
8089     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
8090     void mergeAttributes(
8091             [in] IHTMLElement *mergeThis,
8092             [in, optional] VARIANT *pvarFlags);
8093
8094     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
8095     VARIANT_BOOL isMultiLine();
8096
8097     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
8098     VARIANT_BOOL canHaveHTML();
8099
8100     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
8101     void onlayoutcomplete(VARIANT v);
8102
8103     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
8104     VARIANT onlayoutcomplete();
8105
8106     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
8107     void onpage(VARIANT v);
8108
8109     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
8110     VARIANT onpage();
8111
8112     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
8113     void inflateBlock(VARIANT_BOOL v);
8114
8115     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
8116     VARIANT_BOOL inflateBlock();
8117
8118     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
8119     void onbeforedeactivate(VARIANT v);
8120
8121     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
8122     VARIANT onbeforedeactivate();
8123
8124     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
8125     void setActive();
8126
8127     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
8128     void contentEditable(BSTR v);
8129
8130     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
8131     BSTR contentEditable();
8132
8133     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
8134     VARIANT_BOOL isContentEditable();
8135
8136     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
8137     void hideFocus(VARIANT_BOOL v);
8138
8139     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
8140     VARIANT_BOOL hideFocus();
8141
8142     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
8143     void disabled(VARIANT_BOOL v);
8144
8145     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
8146     VARIANT_BOOL disabled();
8147
8148     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
8149     VARIANT_BOOL isDisabled();
8150
8151     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
8152     void onmove(VARIANT v);
8153
8154     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
8155     VARIANT onmove();
8156
8157     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
8158     void oncontrolselect(VARIANT v);
8159
8160     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
8161     VARIANT oncontrolselect();
8162
8163     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
8164     VARIANT_BOOL fireEvent(
8165             [in] BSTR bstrEventName,
8166             [in, optional] VARIANT *pvarEventObject);
8167
8168     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
8169     void onresizestart(VARIANT v);
8170
8171     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
8172     VARIANT onresizestart();
8173
8174     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
8175     void onresizeend(VARIANT v);
8176
8177     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
8178     VARIANT onresizeend();
8179
8180     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
8181     void onmovestart(VARIANT v);
8182
8183     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
8184     VARIANT onmovestart();
8185
8186     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
8187     void onmoveend(VARIANT v);
8188
8189     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
8190     VARIANT onmoveend();
8191
8192     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
8193     void onmouseenter(VARIANT v);
8194
8195     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
8196     VARIANT onmouseenter();
8197
8198     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
8199     void onmouseleave(VARIANT v);
8200
8201     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
8202     VARIANT onmouseleave();
8203
8204     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
8205     void onactivate(VARIANT v);
8206
8207     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
8208     VARIANT onactivate();
8209
8210     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
8211     void ondeactivate(VARIANT v);
8212
8213     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
8214     VARIANT ondeactivate();
8215
8216     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
8217     VARIANT_BOOL dragDrop();
8218
8219     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
8220     LONG glyphMode();
8221
8222     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
8223     void onmousewheel(VARIANT v);
8224
8225     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
8226     VARIANT onmousewheel();
8227
8228     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
8229     void normalize();
8230
8231     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
8232     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
8233
8234     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
8235     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
8236
8237     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
8238     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
8239
8240     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
8241     void onbeforeactivate(VARIANT v);
8242
8243     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
8244     VARIANT onbeforeactivate();
8245
8246     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
8247     void onfocusin(VARIANT v);
8248
8249     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
8250     VARIANT onfocusin();
8251
8252     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
8253     void onfocusout(VARIANT v);
8254
8255     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
8256     VARIANT onfocusout();
8257
8258     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
8259     long uniqueNumber();
8260
8261     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
8262     BSTR uniqueID();
8263
8264     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
8265     long nodeType();
8266
8267     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
8268     IHTMLDOMNode *parentNode();
8269
8270     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
8271     VARIANT_BOOL hasChildNodes();
8272
8273     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
8274     IDispatch *childNodes();
8275
8276     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
8277     IDispatch *attributes();
8278
8279     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
8280     IHTMLDOMNode *insertBefore(
8281             [in] IHTMLDOMNode *newChild,
8282             [in, optional] VARIANT refChild);
8283
8284     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
8285     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
8286
8287     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
8288     IHTMLDOMNode *replaceChild(
8289             [in] IHTMLDOMNode *newChild,
8290             [in] IHTMLDOMNode *oldChild);
8291
8292     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
8293     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
8294
8295     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
8296     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
8297
8298     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
8299     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
8300
8301     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
8302     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
8303
8304     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
8305     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
8306
8307     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
8308     BSTR nodeName();
8309
8310     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
8311     void nodeValue(VARIANT v);
8312
8313     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
8314     VARIANT nodeValue();
8315
8316     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
8317     IHTMLDOMNode *firstChild();
8318
8319     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
8320     IHTMLDOMNode *lastChild();
8321
8322     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
8323     IHTMLDOMNode *previousSibling();
8324
8325     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
8326     IHTMLDOMNode *nextSibling();
8327
8328     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
8329     IDispatch *ownerDocument();
8330
8331     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
8332     void dataFld(BSTR v);
8333
8334     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
8335     BSTR dataFld();
8336
8337     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
8338     void dataSrc(BSTR v);
8339
8340     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
8341     BSTR dataSrc();
8342
8343     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
8344     void dataFormatAs(BSTR v);
8345
8346     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
8347     BSTR dataFormatAs();
8348
8349     [propput, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
8350     void size(long v);
8351
8352     [propget, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
8353     long size();
8354
8355     [propput, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
8356     void multiple(VARIANT_BOOL v);
8357
8358     [propget, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
8359     VARIANT_BOOL multiple();
8360
8361     [propput, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
8362     void name(BSTR v);
8363
8364     [propget, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
8365     BSTR name();
8366
8367     [propget, id(DISPID_IHTMLSELECTELEMENT_OPTIONS)]
8368     IDispatch *options();
8369
8370     [propput, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
8371     void onchange(VARIANT v);
8372
8373     [propget, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
8374     VARIANT onchange();
8375
8376     [propput, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
8377     void selectedIndex(long v);
8378
8379     [propget, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
8380     long selectedIndex();
8381
8382     [propget, id(DISPID_IHTMLSELECTELEMENT_TYPE), displaybind, bindable]
8383     BSTR type();
8384
8385     [propput, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
8386     void value(BSTR v);
8387
8388     [propget, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
8389     BSTR value();
8390
8391     [propget, id(DISPID_IHTMLSELECTELEMENT_FORM)]
8392     IHTMLFormElement *form();
8393
8394     [id(DISPID_IHTMLSELECTELEMENT_ADD)]
8395     void add(
8396             [in] IHTMLElement *element,
8397             [in, optional] VARIANT before);
8398
8399     [id(DISPID_IHTMLSELECTELEMENT_REMOVE)]
8400     void remove([in, defaultvalue(-1)] long index);
8401
8402     [propput, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
8403     void length(long v);
8404
8405     [propget, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
8406     long length();
8407
8408     [propget, id(DISPID_IHTMLSELECTELEMENT__NEWENUM), hidden, restricted]
8409     IUnknown *_newEnum();
8410
8411     [id(DISPID_IHTMLSELECTELEMENT_ITEM)]
8412     IDispatch *item(
8413             [in, optional] VARIANT name,
8414             [in, optional] VARIANT index);
8415
8416     [id(DISPID_IHTMLSELECTELEMENT_TAGS)]
8417     IDispatch *tags([in] VARIANT tagName);
8418
8419     [id(DISPID_IHTMLSELECTELEMENT2_URNS)]
8420     IDispatch *urns([in] VARIANT urn);
8421
8422     [id(DISPID_IHTMLSELECTELEMENT4_NAMEDITEM)]
8423     IDispatch *namedItem([in] BSTR name);
8424 }
8425
8426 /*****************************************************************************
8427  *    IHTMLSelectionObject interface
8428  */
8429 [
8430     odl,
8431     oleautomation,
8432     dual,
8433     uuid(3050F25A-98B5-11CF-BB82-00AA00BDCE0B)
8434 ]
8435 interface IHTMLSelectionObject : IDispatch
8436 {
8437     [id(DISPID_IHTMLSELECTIONOBJECT_CREATERANGE)]
8438     HRESULT createRange([retval, out] IDispatch **range);
8439
8440     [id(DISPID_IHTMLSELECTIONOBJECT_EMPTY)]
8441     HRESULT empty();
8442
8443     [id(DISPID_IHTMLSELECTIONOBJECT_CLEAR)]
8444     HRESULT clear();
8445
8446     [propget, id(DISPID_IHTMLSELECTIONOBJECT_TYPE)]
8447     HRESULT type([retval, out] BSTR *p);
8448 }
8449
8450 /*****************************************************************************
8451  *    IHTMLOptionElement interface
8452  */
8453 [
8454     odl,
8455     oleautomation,
8456     dual,
8457     uuid(3050F211-98B5-11CF-BB82-00AA00BDCE0B)
8458 ]
8459 interface IHTMLOptionElement : IDispatch
8460 {
8461     [propput, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
8462     HRESULT selected([in] VARIANT_BOOL v);
8463
8464     [propget, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
8465     HRESULT selected([retval, out] VARIANT_BOOL *p);
8466
8467     [propput, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
8468     HRESULT value([in] BSTR v);
8469
8470     [propget, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
8471     HRESULT value([retval, out] BSTR *p);
8472
8473     [propput, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
8474     HRESULT defaultSelected([in] VARIANT_BOOL v);
8475
8476     [propget, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
8477     HRESULT defaultSelected([retval, out] VARIANT_BOOL *p);
8478
8479     [propput, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
8480     HRESULT index([in] LONG v);
8481
8482     [propget, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
8483     HRESULT index([retval, out] LONG *p);
8484
8485     [propput, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
8486     HRESULT text([in] BSTR v);
8487
8488     [propget, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
8489     HRESULT text([retval, out] BSTR *p);
8490
8491     [propget, id(DISPID_IHTMLOPTIONELEMENT_FORM)]
8492     HRESULT form([retval, out] IHTMLFormElement **p);
8493 }
8494
8495 /*****************************************************************************
8496  *    IHTMLOptionElementFactory interface
8497  */
8498 [
8499     odl,
8500     oleautomation,
8501     dual,
8502     uuid(3050F38C-98B5-11Cf-BB82-00AA00BDCE0B)
8503 ]
8504 interface IHTMLOptionElementFactory : IDispatch
8505 {
8506     [id(DISPID_IHTMLOPTIONELEMENTFACTORY_CREATE)]
8507     HRESULT create(
8508         [optional, in] VARIANT text,
8509         [optional, in] VARIANT value,
8510         [optional, in] VARIANT defaultselected,
8511         [optional, in] VARIANT selected,
8512         [retval, out] IHTMLOptionElement **optelem);
8513 }
8514
8515 /*****************************************************************************
8516  *    DispHTMLOptionElement dispinterface
8517  */
8518 [
8519     hidden,
8520     uuid(3050f52b-98b5-11cf-bb82-00aa00bdce0b)
8521 ]
8522 dispinterface DispHTMLOptionElement
8523 {
8524 properties:
8525 methods:
8526     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
8527     void setAttribute(
8528             [in] BSTR strAttributeName,
8529             [in] VARIANT AttributeValue,
8530             [in, defaultvalue(1)] LONG lFlags);
8531
8532     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
8533     VARIANT getAttribute(
8534              [in] BSTR strAttributeName,
8535              [in, defaultvalue(0)] LONG lFlags);
8536
8537     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
8538     VARIANT_BOOL removeAttribute(
8539             [in] BSTR strAttributeName,
8540             [in, defaultvalue(1)] LONG lFlags);
8541
8542     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
8543     void className(BSTR v);
8544
8545     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
8546     BSTR className();
8547
8548     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
8549     void id(BSTR v);
8550
8551     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
8552     BSTR id();
8553
8554     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
8555     BSTR tagName();
8556
8557     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
8558     IHTMLElement *parentElement();
8559
8560     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
8561     IHTMLStyle *style();
8562
8563     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
8564     void onhelp(VARIANT v);
8565
8566     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
8567     VARIANT onhelp();
8568
8569     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
8570     void onclick(VARIANT v);
8571
8572     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
8573     VARIANT onclick();
8574
8575     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
8576     void ondblclick(VARIANT v);
8577
8578     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
8579     VARIANT ondblclick();
8580
8581     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
8582     void onkeydown(VARIANT v);
8583
8584     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
8585     VARIANT onkeydown();
8586
8587     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
8588     void onkeyup(VARIANT v);
8589
8590     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
8591     VARIANT onkeyup();
8592
8593     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
8594     void onkeypress(VARIANT v);
8595
8596     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
8597     VARIANT onkeypress();
8598
8599     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
8600     void onmouseout(VARIANT v);
8601
8602     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
8603     VARIANT onmouseout();
8604
8605     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
8606     void onmouseover(VARIANT v);
8607
8608     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
8609     VARIANT onmouseover();
8610
8611     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
8612     void onmousemove(VARIANT v);
8613
8614     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
8615     VARIANT onmousemove();
8616
8617     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
8618     void onmousedown(VARIANT v);
8619
8620     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
8621     VARIANT onmousedown();
8622
8623     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
8624     void onmouseup(VARIANT v);
8625
8626     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
8627     VARIANT onmouseup();
8628
8629     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
8630     IDispatch *document();
8631
8632     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
8633     void title(BSTR v);
8634
8635     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
8636     BSTR title();
8637
8638     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
8639     void language(BSTR v);
8640
8641     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
8642     BSTR language();
8643
8644     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
8645     void onselectstart(VARIANT v);
8646
8647     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
8648     VARIANT onselectstart();
8649
8650     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
8651     void scrollIntoView([in, optional] VARIANT varargStart);
8652
8653     [id(DISPID_IHTMLELEMENT_CONTAINS)]
8654     VARIANT_BOOL contains([in] IHTMLElement *pChild);
8655
8656     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
8657     long sourceIndex();
8658
8659     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
8660     VARIANT recordNumber();
8661
8662     [propput, id(DISPID_IHTMLELEMENT_LANG)]
8663     void lang(BSTR v);
8664
8665     [propget, id(DISPID_IHTMLELEMENT_LANG)]
8666     BSTR lang();
8667
8668     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
8669     long offsetLeft();
8670
8671     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
8672     long offsetTop();
8673
8674     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
8675     long offsetWidth();
8676
8677     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
8678     long offsetHeight();
8679
8680     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
8681     IHTMLElement *offsetParent();
8682
8683     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
8684     void innerHTML(BSTR v);
8685
8686     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
8687     BSTR innerHTML();
8688
8689     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
8690     void innerText(BSTR v);
8691
8692     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
8693     BSTR innerText();
8694
8695     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
8696     void outerHTML(BSTR v);
8697
8698     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
8699     BSTR outerHTML();
8700
8701     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
8702     void outerText(BSTR v);
8703
8704     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
8705     BSTR outerText();
8706
8707     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
8708     void insertAdjacentHTML(
8709             [in] BSTR where,
8710             [in] BSTR html);
8711
8712     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
8713     void insertAdjacentText(
8714             [in] BSTR where,
8715             [in] BSTR text);
8716
8717     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
8718     IHTMLElement *parentTextEdit();
8719
8720     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
8721     VARIANT_BOOL isTextEdit();
8722
8723     [id(DISPID_IHTMLELEMENT_CLICK)]
8724     void click();
8725
8726     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
8727     IHTMLFiltersCollection *filters();
8728
8729     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
8730     void ondragstart(VARIANT v);
8731
8732     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
8733     VARIANT ondragstart();
8734
8735     [id(DISPID_IHTMLELEMENT_TOSTRING)]
8736     BSTR toString();
8737
8738     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
8739     void onbeforeupdate(VARIANT v);
8740
8741     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
8742     VARIANT onbeforeupdate();
8743
8744     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
8745     void onafterupdate(VARIANT v);
8746
8747     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
8748     VARIANT onafterupdate();
8749
8750     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
8751     void onerrorupdate(VARIANT v);
8752
8753     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
8754     VARIANT onerrorupdate();
8755
8756     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
8757     void onrowexit(VARIANT v);
8758
8759     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
8760     VARIANT onrowexit();
8761
8762     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
8763     void onrowenter(VARIANT v);
8764
8765     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
8766     VARIANT onrowenter();
8767
8768     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
8769     void ondatasetchanged(VARIANT v);
8770
8771     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
8772     VARIANT ondatasetchanged();
8773
8774     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
8775     void ondataavailable(VARIANT v);
8776
8777     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
8778     VARIANT ondataavailable();
8779
8780     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
8781     void ondatasetcomplete(VARIANT v);
8782
8783     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
8784     VARIANT ondatasetcomplete();
8785
8786     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
8787     void onfilterchange(VARIANT v);
8788
8789     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
8790     VARIANT onfilterchange();
8791
8792     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
8793     IDispatch *children();
8794
8795     [propget, id(DISPID_IHTMLELEMENT_ALL)]
8796     IDispatch *all();
8797
8798     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
8799     BSTR scopeName();
8800
8801     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
8802     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
8803
8804     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
8805     void releaseCapture();
8806
8807     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
8808     void onlosecapture(VARIANT v);
8809
8810     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
8811     VARIANT onlosecapture();
8812
8813     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
8814     BSTR componentFromPoint(
8815             [in] long x,
8816             [in] long y);
8817
8818     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
8819     void doScroll([in, optional] VARIANT component);
8820
8821     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
8822     void onscroll(VARIANT v);
8823
8824     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
8825     VARIANT onscroll();
8826
8827     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
8828     void ondrag(VARIANT v);
8829
8830     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
8831     VARIANT ondrag();
8832
8833     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
8834     void ondragend(VARIANT v);
8835
8836     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
8837     VARIANT ondragend();
8838
8839     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
8840     void ondragenter(VARIANT v);
8841
8842     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
8843     VARIANT ondragenter();
8844
8845     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
8846     void ondragover(VARIANT v);
8847
8848     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
8849     VARIANT ondragover();
8850
8851     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
8852     void ondragleave(VARIANT v);
8853
8854     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
8855     VARIANT ondragleave();
8856
8857     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
8858     void ondrop(VARIANT v);
8859
8860     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
8861     VARIANT ondrop();
8862
8863     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
8864     void onbeforecut(VARIANT v);
8865
8866     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
8867     VARIANT onbeforecut();
8868
8869     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
8870     void oncut(VARIANT v);
8871
8872     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
8873     VARIANT oncut();
8874
8875     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
8876     void onbeforecopy(VARIANT v);
8877
8878     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
8879     VARIANT onbeforecopy();
8880
8881     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
8882     void oncopy(VARIANT v);
8883
8884     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
8885     VARIANT oncopy();
8886
8887     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
8888     void onbeforepaste(VARIANT v);
8889
8890     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
8891     VARIANT onbeforepaste();
8892
8893     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
8894     void onpaste(VARIANT v);
8895
8896     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
8897     VARIANT onpaste();
8898
8899     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
8900     IHTMLCurrentStyle *currentStyle();
8901
8902     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
8903     void onpropertychange(VARIANT v);
8904
8905     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
8906     VARIANT onpropertychange();
8907
8908     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
8909     IHTMLRectCollection *getClientRects();
8910
8911     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
8912     IHTMLRect *getBoundingClientRect();
8913
8914     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
8915     void setExpression(
8916             [in] BSTR propname,
8917             [in] BSTR expression,
8918             [in, defaultvalue("")] BSTR language);
8919
8920     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
8921     VARIANT getExpression([in] BSTR propname);
8922
8923     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
8924     VARIANT_BOOL removeExpression([in] BSTR propname);
8925
8926     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
8927     void tabIndex(short v);
8928
8929     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
8930     short tabIndex();
8931
8932     [id(DISPID_IHTMLELEMENT2_FOCUS)]
8933     void focus();
8934
8935     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
8936     void accessKey(BSTR v);
8937
8938     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
8939     BSTR accessKey();
8940
8941     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
8942     void onblur(VARIANT v);
8943
8944     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
8945     VARIANT onblur();
8946
8947     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
8948     void onfocus(VARIANT v);
8949
8950     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
8951     VARIANT onfocus();
8952
8953     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
8954     void onresize(VARIANT v);
8955
8956     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
8957     VARIANT onresize();
8958
8959     [id(DISPID_IHTMLELEMENT2_BLUR)]
8960     void blur();
8961
8962     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
8963     void addFilter([in] IUnknown *pUnk);
8964
8965     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
8966     void removeFilter([in] IUnknown *pUnk);
8967
8968     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
8969     long clientHeight();
8970
8971     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
8972     long clientWidth();
8973
8974     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
8975     long clientTop();
8976
8977     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
8978     long clientLeft();
8979
8980     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
8981     VARIANT_BOOL attachEvent(
8982             [in] BSTR event,
8983             [in] IDispatch *pDisp);
8984
8985     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
8986     void detachEvent(
8987             [in] BSTR event,
8988             [in] IDispatch *pDisp);
8989
8990     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
8991     VARIANT readyState();
8992
8993     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
8994     void onreadystatechange(VARIANT v);
8995
8996     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
8997     VARIANT onreadystatechange();
8998
8999     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
9000     void onrowsdelete(VARIANT v);
9001
9002     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
9003     VARIANT onrowsdelete();
9004
9005     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
9006     void onrowsinserted(VARIANT v);
9007
9008     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
9009      VARIANT onrowsinserted();
9010
9011     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
9012      void oncellchange(VARIANT v);
9013
9014     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
9015     VARIANT oncellchange();
9016
9017     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
9018     void dir(BSTR v);
9019
9020     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
9021     BSTR dir();
9022
9023     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
9024     IDispatch *createControlRange();
9025
9026     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
9027     long scrollHeight();
9028
9029     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
9030     long scrollWidth();
9031
9032     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
9033     void scrollTop(long v);
9034
9035     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
9036     long scrollTop();
9037
9038     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
9039     void scrollLeft(long v);
9040
9041     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
9042     long scrollLeft();
9043
9044     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
9045     void clearAttributes();
9046
9047     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
9048     void oncontextmenu(VARIANT v);
9049
9050     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
9051     VARIANT oncontextmenu();
9052
9053     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
9054     IHTMLElement *insertAdjacentElement(
9055             [in] BSTR where,
9056             [in] IHTMLElement *insertedElement);
9057
9058     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
9059     IHTMLElement *applyElement(
9060             [in] IHTMLElement *apply,
9061             [in] BSTR where);
9062
9063     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
9064     BSTR getAdjacentText([in] BSTR where);
9065
9066     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
9067     BSTR replaceAdjacentText(
9068             [in] BSTR where,
9069             [in] BSTR newText);
9070
9071     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
9072     VARIANT_BOOL canHaveChildren();
9073
9074     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
9075     long addBehavior(
9076             [in] BSTR bstrUrl,
9077             [in, optional] VARIANT *pvarFactory);
9078
9079     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
9080     VARIANT_BOOL removeBehavior([in] long cookie);
9081
9082     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
9083     IHTMLStyle *runtimeStyle();
9084
9085     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
9086     IDispatch *behaviorUrns();
9087
9088     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
9089     void tagUrn(BSTR v);
9090
9091     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
9092     BSTR tagUrn();
9093
9094     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
9095     void onbeforeeditfocus(VARIANT v);
9096
9097     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
9098     VARIANT onbeforeeditfocus();
9099
9100     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
9101     long readyStateValue();
9102
9103     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
9104     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
9105
9106     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
9107     void mergeAttributes(
9108             [in] IHTMLElement *mergeThis,
9109             [in, optional] VARIANT *pvarFlags);
9110
9111     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
9112     VARIANT_BOOL isMultiLine();
9113
9114     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
9115     VARIANT_BOOL canHaveHTML();
9116
9117     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
9118     void onlayoutcomplete(VARIANT v);
9119
9120     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
9121     VARIANT onlayoutcomplete();
9122
9123     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
9124     void onpage(VARIANT v);
9125
9126     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
9127     VARIANT onpage();
9128
9129     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
9130     void inflateBlock(VARIANT_BOOL v);
9131
9132     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
9133     VARIANT_BOOL inflateBlock();
9134
9135     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
9136     void onbeforedeactivate(VARIANT v);
9137
9138     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
9139     VARIANT onbeforedeactivate();
9140
9141     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
9142     void setActive();
9143
9144     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
9145     void contentEditable(BSTR v);
9146
9147     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
9148     BSTR contentEditable();
9149
9150     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
9151     VARIANT_BOOL isContentEditable();
9152
9153     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
9154     void hideFocus(VARIANT_BOOL v);
9155
9156     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
9157     VARIANT_BOOL hideFocus();
9158
9159     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
9160     void disabled(VARIANT_BOOL v);
9161
9162     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
9163     VARIANT_BOOL disabled();
9164
9165     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
9166     VARIANT_BOOL isDisabled();
9167
9168     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
9169     void onmove(VARIANT v);
9170
9171     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
9172     VARIANT onmove();
9173
9174     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
9175     void oncontrolselect(VARIANT v);
9176
9177     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
9178     VARIANT oncontrolselect();
9179
9180     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
9181     VARIANT_BOOL fireEvent(
9182             [in] BSTR bstrEventName,
9183             [in, optional] VARIANT *pvarEventObject);
9184
9185     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
9186     void onresizestart(VARIANT v);
9187
9188     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
9189     VARIANT onresizestart();
9190
9191     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
9192     void onresizeend(VARIANT v);
9193
9194     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
9195     VARIANT onresizeend();
9196
9197     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
9198     void onmovestart(VARIANT v);
9199
9200     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
9201     VARIANT onmovestart();
9202
9203     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
9204     void onmoveend(VARIANT v);
9205
9206     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
9207     VARIANT onmoveend();
9208
9209     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
9210     void onmouseenter(VARIANT v);
9211
9212     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
9213     VARIANT onmouseenter();
9214
9215     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
9216     void onmouseleave(VARIANT v);
9217
9218     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
9219     VARIANT onmouseleave();
9220
9221     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
9222     void onactivate(VARIANT v);
9223
9224     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
9225     VARIANT onactivate();
9226
9227     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
9228     void ondeactivate(VARIANT v);
9229
9230     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
9231     VARIANT ondeactivate();
9232
9233     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
9234     VARIANT_BOOL dragDrop();
9235
9236     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
9237     LONG glyphMode();
9238
9239     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
9240     void onmousewheel(VARIANT v);
9241
9242     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
9243     VARIANT onmousewheel();
9244
9245     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
9246     void normalize();
9247
9248     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
9249     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
9250
9251     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
9252     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
9253
9254     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
9255     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
9256
9257     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
9258     void onbeforeactivate(VARIANT v);
9259
9260     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
9261     VARIANT onbeforeactivate();
9262
9263     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
9264     void onfocusin(VARIANT v);
9265
9266     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
9267     VARIANT onfocusin();
9268
9269     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
9270     void onfocusout(VARIANT v);
9271
9272     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
9273     VARIANT onfocusout();
9274
9275     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
9276     long uniqueNumber();
9277
9278     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
9279     BSTR uniqueID();
9280
9281     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
9282     long nodeType();
9283
9284     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
9285     IHTMLDOMNode *parentNode();
9286
9287     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
9288     VARIANT_BOOL hasChildNodes();
9289
9290     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
9291     IDispatch *childNodes();
9292
9293     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
9294     IDispatch *attributes();
9295
9296     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
9297     IHTMLDOMNode *insertBefore(
9298             [in] IHTMLDOMNode *newChild,
9299             [in, optional] VARIANT refChild);
9300
9301     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
9302     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
9303
9304     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
9305     IHTMLDOMNode *replaceChild(
9306             [in] IHTMLDOMNode *newChild,
9307             [in] IHTMLDOMNode *oldChild);
9308
9309     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
9310     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
9311
9312     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
9313     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
9314
9315     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
9316     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
9317
9318     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
9319     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
9320
9321     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
9322     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
9323
9324     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
9325     BSTR nodeName();
9326
9327     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
9328     void nodeValue(VARIANT v);
9329
9330     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
9331     VARIANT nodeValue();
9332
9333     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
9334     IHTMLDOMNode *firstChild();
9335
9336     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
9337     IHTMLDOMNode *lastChild();
9338
9339     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
9340     IHTMLDOMNode *previousSibling();
9341
9342     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
9343     IHTMLDOMNode *nextSibling();
9344
9345     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
9346     IDispatch *ownerDocument();
9347
9348     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
9349     void dataFld(BSTR v);
9350
9351     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
9352     BSTR dataFld();
9353
9354     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
9355     void dataSrc(BSTR v);
9356
9357     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
9358     BSTR dataSrc();
9359
9360     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
9361     void dataFormatAs(BSTR v);
9362
9363     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
9364     BSTR dataFormatAs();
9365
9366     [propput, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
9367     void selected(VARIANT_BOOL v);
9368
9369     [propget, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
9370     VARIANT_BOOL selected();
9371
9372     [propput, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
9373     void value(BSTR v);
9374
9375     [propget, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
9376     BSTR value();
9377
9378     [propput, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
9379     void defaultSelected(VARIANT_BOOL v);
9380
9381     [propget, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
9382     VARIANT_BOOL defaultSelected();
9383
9384     [propput, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
9385     void index(LONG v);
9386
9387     [propget, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
9388     LONG index();
9389
9390     [propput, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
9391     void text(BSTR v);
9392
9393     [propget, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
9394     BSTR text();
9395
9396     [propget, id(DISPID_IHTMLOPTIONELEMENT_FORM)]
9397     IHTMLFormElement *form();
9398
9399     [propput, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
9400     void label(BSTR v);
9401
9402     [propget, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
9403     BSTR label();
9404 }
9405
9406 /*****************************************************************************
9407  *    IHTMLInputElement interface
9408  */
9409 [
9410     odl,
9411     oleautomation,
9412     dual,
9413     uuid(3050f5d2-98b5-11cf-bb82-00aa00bdce0b)
9414 ]
9415 interface IHTMLInputElement : IDispatch
9416 {
9417     [propput, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
9418     HRESULT type([in] BSTR v);
9419
9420     [propget, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
9421     HRESULT type([retval, out] BSTR *p);
9422
9423     [propput, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
9424     HRESULT value([in] BSTR v);
9425
9426     [propget, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
9427     HRESULT value([retval, out] BSTR *p);
9428
9429     [propput, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
9430     HRESULT name([in] BSTR v);
9431
9432     [propget, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
9433     HRESULT name([retval, out] BSTR *p);
9434
9435     [propput, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
9436     HRESULT status([in] VARIANT_BOOL v);
9437
9438     [propget, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
9439     HRESULT status([retval, out] VARIANT_BOOL *p);
9440
9441     [propput, id(DISPID_IHTMLINPUTELEMENT_DISABLED), displaybind, bindable]
9442     HRESULT disabled([in] VARIANT_BOOL v);
9443
9444     [propget, id(DISPID_IHTMLINPUTELEMENT_DISABLED), displaybind, bindable]
9445     HRESULT disabled([retval, out] VARIANT_BOOL *p);
9446
9447     [propget, id(DISPID_IHTMLINPUTELEMENT_FORM)]
9448     HRESULT form([retval, out] IHTMLFormElement **p);
9449
9450     [propput, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
9451     HRESULT size([in] long v);
9452
9453     [propget, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
9454     HRESULT size([retval, out] long *p);
9455
9456     [propput, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
9457     HRESULT maxLength([in] long v);
9458
9459     [propget, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
9460     HRESULT maxLength([retval, out] long *p);
9461
9462     [id(DISPID_IHTMLINPUTELEMENT_SELECT)]
9463     HRESULT select();
9464
9465     [propput, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
9466     HRESULT onchange([in] VARIANT v);
9467
9468     [propget, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
9469     HRESULT onchange([retval, out] VARIANT *p);
9470
9471     [propput, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
9472     HRESULT onselect([in] VARIANT v);
9473
9474     [propget, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
9475     HRESULT onselect([retval, out] VARIANT *p);
9476
9477     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9478     HRESULT defaultValue([in] BSTR v);
9479
9480     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9481     HRESULT defaultValue([retval, out] BSTR *p);
9482
9483     [propput, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
9484     HRESULT readOnly([in] VARIANT_BOOL v);
9485
9486     [propget, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
9487     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
9488
9489     [id(DISPID_IHTMLINPUTELEMENT_CREATETEXTRANGE)]
9490     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
9491
9492     [propput, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
9493     HRESULT indeterminate([in] VARIANT_BOOL v);
9494
9495     [propget, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
9496     HRESULT indeterminate([retval, out] VARIANT_BOOL *p);
9497
9498     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
9499     HRESULT defaultChecked([in] VARIANT_BOOL v);
9500
9501     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
9502     HRESULT defaultChecked([retval, out] VARIANT_BOOL *p);
9503
9504     [propput, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
9505     HRESULT checked([in] VARIANT_BOOL v);
9506
9507     [propget, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
9508     HRESULT checked([retval, out] VARIANT_BOOL *p);
9509
9510     [propput, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
9511     HRESULT border([in] VARIANT v);
9512
9513     [propget, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
9514     HRESULT border([retval, out] VARIANT *p);
9515
9516     [propput, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
9517     HRESULT vspace([in] long v);
9518
9519     [propget, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
9520     HRESULT vspace([retval, out] long *p);
9521
9522     [propput, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
9523     HRESULT hspace([in] long v);
9524
9525     [propget, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
9526     HRESULT hspace([retval, out] long *p);
9527
9528     [propput, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
9529     HRESULT alt([in] BSTR v);
9530
9531     [propget, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
9532     HRESULT alt([retval, out] BSTR *p);
9533
9534     [propput, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
9535     HRESULT src([in] BSTR v);
9536
9537     [propget, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
9538     HRESULT src([retval, out] BSTR *p);
9539
9540     [propput, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
9541     HRESULT lowsrc([in] BSTR v);
9542
9543     [propget, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
9544     HRESULT lowsrc([retval, out] BSTR *p);
9545
9546     [propput, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
9547     HRESULT vrml([in] BSTR v);
9548
9549     [propget, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
9550     HRESULT vrml([retval, out] BSTR *p);
9551
9552     [propput, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
9553     HRESULT dynsrc([in] BSTR v);
9554
9555     [propget, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
9556     HRESULT dynsrc([retval, out] BSTR *p);
9557
9558     [propget, id(DISPID_IHTMLINPUTELEMENT_READYSTATE)]
9559     HRESULT readyState([retval, out] BSTR *p);
9560
9561     [propget, id(DISPID_IHTMLINPUTELEMENT_COMPLETE)]
9562     HRESULT complete([retval, out] VARIANT_BOOL *p);
9563
9564     [propput, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
9565     HRESULT loop([in] VARIANT v);
9566
9567     [propget, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
9568     HRESULT loop([retval, out] VARIANT *p);
9569
9570     [propput, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
9571     HRESULT align([in] BSTR v);
9572
9573     [propget, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
9574     HRESULT align([retval, out] BSTR *p);
9575
9576     [propput, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
9577     HRESULT onload([in] VARIANT v);
9578
9579     [propget, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
9580     HRESULT onload([retval, out] VARIANT *p);
9581
9582     [propput, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
9583     HRESULT onerror([in] VARIANT v);
9584
9585     [propget, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
9586     HRESULT onerror([retval, out] VARIANT *p);
9587
9588     [propput, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
9589     HRESULT onabort([in] VARIANT v);
9590
9591     [propget, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
9592     HRESULT onabort([retval, out] VARIANT *p);
9593
9594     [propput, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
9595     HRESULT width([in] long v);
9596
9597     [propget, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
9598     HRESULT width([retval, out] long *p);
9599
9600     [propput, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
9601     HRESULT height([in] long v);
9602
9603     [propget, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
9604     HRESULT height([retval, out] long *p);
9605
9606     [propput, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
9607     HRESULT start([in] BSTR v);
9608
9609     [propget, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
9610     HRESULT start([retval, out] BSTR *p);
9611 }
9612
9613 /*****************************************************************************
9614  *    IHTMLInputTextElement interface
9615  */
9616 [
9617     odl,
9618     oleautomation,
9619     dual,
9620     uuid(3050f2a6-98b5-11cf-bb82-00aa00bdce0b)
9621 ]
9622 interface IHTMLInputTextElement : IDispatch
9623 {
9624     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_TYPE)]
9625     HRESULT type([retval, out] BSTR *p);
9626
9627     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_VALUE), displaybind, bindable]
9628     HRESULT value([in] BSTR v);
9629
9630     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_VALUE), displaybind, bindable]
9631     HRESULT value([retval, out] BSTR *p);
9632
9633     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_NAME), displaybind, bindable]
9634     HRESULT name([in] BSTR v);
9635
9636     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_NAME), displaybind, bindable]
9637     HRESULT name([retval, out] BSTR *p);
9638
9639     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_STATUS)]
9640     HRESULT status([in] VARIANT v);
9641
9642     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_STATUS)]
9643     HRESULT status([retval, out] VARIANT *p);
9644
9645     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_DISABLED), displaybind, bindable]
9646     HRESULT disabled([in] VARIANT_BOOL v);
9647
9648     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_DISABLED), displaybind, bindable]
9649     HRESULT disabled([retval, out] VARIANT_BOOL *p);
9650
9651     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_FORM)]
9652     HRESULT form([retval, out] IHTMLFormElement **p);
9653
9654     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9655     HRESULT defaultValue([in] BSTR v);
9656
9657     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9658     HRESULT defaultValue([retval, out] BSTR *p);
9659
9660     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_SIZE), displaybind, bindable]
9661     HRESULT size([in] long v);
9662
9663     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_SIZE), displaybind, bindable]
9664     HRESULT size([retval, out] long *p);
9665
9666     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_MAXLENGTH), displaybind, bindable]
9667     HRESULT maxLength([in] long v);
9668
9669     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_MAXLENGTH), displaybind, bindable]
9670     HRESULT maxLength([retval, out] long *p);
9671
9672     [id(DISPID_IHTMLINPUTTEXTELEMENT_SELECT)]
9673     HRESULT select();
9674
9675     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_ONCHANGE), displaybind, bindable]
9676     HRESULT onchange([in] VARIANT v);
9677
9678     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_ONCHANGE), displaybind, bindable]
9679     HRESULT onchange([retval, out] VARIANT *p);
9680
9681     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_ONSELECT), displaybind, bindable]
9682     HRESULT onselect([in] VARIANT v);
9683
9684     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_ONSELECT), displaybind, bindable]
9685     HRESULT onselect([retval, out] VARIANT *p);
9686
9687     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_READONLY), displaybind, bindable]
9688     HRESULT readOnly([in] VARIANT_BOOL v);
9689
9690     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_READONLY), displaybind, bindable]
9691     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
9692
9693     [id(DISPID_IHTMLINPUTTEXTELEMENT_CREATETEXTRANGE)]
9694     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
9695 }
9696
9697 [
9698     hidden,
9699     uuid(3050f57d-98b5-11cf-bb82-00aa00bdce0b)
9700 ]
9701 dispinterface DispHTMLInputElement
9702 {
9703 properties:
9704 methods:
9705     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
9706     void setAttribute(
9707             [in] BSTR strAttributeName,
9708             [in] VARIANT AttributeValue,
9709             [in, defaultvalue(1)] LONG lFlags);
9710
9711     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
9712     VARIANT getAttribute(
9713              [in] BSTR strAttributeName,
9714              [in, defaultvalue(0)] LONG lFlags);
9715
9716     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
9717     VARIANT_BOOL removeAttribute(
9718             [in] BSTR strAttributeName,
9719             [in, defaultvalue(1)] LONG lFlags);
9720
9721     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
9722     void className(BSTR v);
9723
9724     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
9725     BSTR className();
9726
9727     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
9728     void id(BSTR v);
9729
9730     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
9731     BSTR id();
9732
9733     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
9734     BSTR tagName();
9735
9736     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
9737     IHTMLElement *parentElement();
9738
9739     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
9740     IHTMLStyle *style();
9741
9742     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
9743     void onhelp(VARIANT v);
9744
9745     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
9746     VARIANT onhelp();
9747
9748     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
9749     void onclick(VARIANT v);
9750
9751     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
9752     VARIANT onclick();
9753
9754     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
9755     void ondblclick(VARIANT v);
9756
9757     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
9758     VARIANT ondblclick();
9759
9760     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
9761     void onkeydown(VARIANT v);
9762
9763     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
9764     VARIANT onkeydown();
9765
9766     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
9767     void onkeyup(VARIANT v);
9768
9769     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
9770     VARIANT onkeyup();
9771
9772     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
9773     void onkeypress(VARIANT v);
9774
9775     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
9776     VARIANT onkeypress();
9777
9778     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
9779     void onmouseout(VARIANT v);
9780
9781     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
9782     VARIANT onmouseout();
9783
9784     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
9785     void onmouseover(VARIANT v);
9786
9787     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
9788     VARIANT onmouseover();
9789
9790     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
9791     void onmousemove(VARIANT v);
9792
9793     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
9794     VARIANT onmousemove();
9795
9796     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
9797     void onmousedown(VARIANT v);
9798
9799     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
9800     VARIANT onmousedown();
9801
9802     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
9803     void onmouseup(VARIANT v);
9804
9805     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
9806     VARIANT onmouseup();
9807
9808     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
9809     IDispatch *document();
9810
9811     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
9812     void title(BSTR v);
9813
9814     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
9815     BSTR title();
9816
9817     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
9818     void language(BSTR v);
9819
9820     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
9821     BSTR language();
9822
9823     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
9824     void onselectstart(VARIANT v);
9825
9826     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
9827     VARIANT onselectstart();
9828
9829     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
9830     void scrollIntoView([in, optional] VARIANT varargStart);
9831
9832     [id(DISPID_IHTMLELEMENT_CONTAINS)]
9833     VARIANT_BOOL contains([in] IHTMLElement *pChild);
9834
9835     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
9836     long sourceIndex();
9837
9838     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
9839     VARIANT recordNumber();
9840
9841     [propput, id(DISPID_IHTMLELEMENT_LANG)]
9842     void lang(BSTR v);
9843
9844     [propget, id(DISPID_IHTMLELEMENT_LANG)]
9845     BSTR lang();
9846
9847     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
9848     long offsetLeft();
9849
9850     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
9851     long offsetTop();
9852
9853     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
9854     long offsetWidth();
9855
9856     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
9857     long offsetHeight();
9858
9859     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
9860     IHTMLElement *offsetParent();
9861
9862     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
9863     void innerHTML(BSTR v);
9864
9865     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
9866     BSTR innerHTML();
9867
9868     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
9869     void innerText(BSTR v);
9870
9871     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
9872     BSTR innerText();
9873
9874     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
9875     void outerHTML(BSTR v);
9876
9877     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
9878     BSTR outerHTML();
9879
9880     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
9881     void outerText(BSTR v);
9882
9883     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
9884     BSTR outerText();
9885
9886     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
9887     void insertAdjacentHTML(
9888             [in] BSTR where,
9889             [in] BSTR html);
9890
9891     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
9892     void insertAdjacentText(
9893             [in] BSTR where,
9894             [in] BSTR text);
9895
9896     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
9897     IHTMLElement *parentTextEdit();
9898
9899     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
9900     VARIANT_BOOL isTextEdit();
9901
9902     [id(DISPID_IHTMLELEMENT_CLICK)]
9903     void click();
9904
9905     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
9906     IHTMLFiltersCollection *filters();
9907
9908     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
9909     void ondragstart(VARIANT v);
9910
9911     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
9912     VARIANT ondragstart();
9913
9914     [id(DISPID_IHTMLELEMENT_TOSTRING)]
9915     BSTR toString();
9916
9917     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
9918     void onbeforeupdate(VARIANT v);
9919
9920     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
9921     VARIANT onbeforeupdate();
9922
9923     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
9924     void onafterupdate(VARIANT v);
9925
9926     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
9927     VARIANT onafterupdate();
9928
9929     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
9930     void onerrorupdate(VARIANT v);
9931
9932     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
9933     VARIANT onerrorupdate();
9934
9935     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
9936     void onrowexit(VARIANT v);
9937
9938     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
9939     VARIANT onrowexit();
9940
9941     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
9942     void onrowenter(VARIANT v);
9943
9944     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
9945     VARIANT onrowenter();
9946
9947     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
9948     void ondatasetchanged(VARIANT v);
9949
9950     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
9951     VARIANT ondatasetchanged();
9952
9953     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
9954     void ondataavailable(VARIANT v);
9955
9956     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
9957     VARIANT ondataavailable();
9958
9959     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
9960     void ondatasetcomplete(VARIANT v);
9961
9962     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
9963     VARIANT ondatasetcomplete();
9964
9965     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
9966     void onfilterchange(VARIANT v);
9967
9968     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
9969     VARIANT onfilterchange();
9970
9971     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
9972     IDispatch *children();
9973
9974     [propget, id(DISPID_IHTMLELEMENT_ALL)]
9975     IDispatch *all();
9976
9977     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
9978     BSTR scopeName();
9979
9980     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
9981     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
9982
9983     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
9984     void releaseCapture();
9985
9986     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
9987     void onlosecapture(VARIANT v);
9988
9989     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
9990     VARIANT onlosecapture();
9991
9992     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
9993     BSTR componentFromPoint(
9994             [in] long x,
9995             [in] long y);
9996
9997     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
9998     void doScroll([in, optional] VARIANT component);
9999
10000     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
10001     void onscroll(VARIANT v);
10002
10003     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
10004     VARIANT onscroll();
10005
10006     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
10007     void ondrag(VARIANT v);
10008
10009     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
10010     VARIANT ondrag();
10011
10012     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
10013     void ondragend(VARIANT v);
10014
10015     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
10016     VARIANT ondragend();
10017
10018     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
10019     void ondragenter(VARIANT v);
10020
10021     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
10022     VARIANT ondragenter();
10023
10024     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
10025     void ondragover(VARIANT v);
10026
10027     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
10028     VARIANT ondragover();
10029
10030     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
10031     void ondragleave(VARIANT v);
10032
10033     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
10034     VARIANT ondragleave();
10035
10036     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
10037     void ondrop(VARIANT v);
10038
10039     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
10040     VARIANT ondrop();
10041
10042     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
10043     void onbeforecut(VARIANT v);
10044
10045     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
10046     VARIANT onbeforecut();
10047
10048     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
10049     void oncut(VARIANT v);
10050
10051     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
10052     VARIANT oncut();
10053
10054     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
10055     void onbeforecopy(VARIANT v);
10056
10057     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
10058     VARIANT onbeforecopy();
10059
10060     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
10061     void oncopy(VARIANT v);
10062
10063     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
10064     VARIANT oncopy();
10065
10066     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
10067     void onbeforepaste(VARIANT v);
10068
10069     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
10070     VARIANT onbeforepaste();
10071
10072     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
10073     void onpaste(VARIANT v);
10074
10075     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
10076     VARIANT onpaste();
10077
10078     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
10079     IHTMLCurrentStyle *currentStyle();
10080
10081     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
10082     void onpropertychange(VARIANT v);
10083
10084     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
10085     VARIANT onpropertychange();
10086
10087     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
10088     IHTMLRectCollection *getClientRects();
10089
10090     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
10091     IHTMLRect *getBoundingClientRect();
10092
10093     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
10094     void setExpression(
10095             [in] BSTR propname,
10096             [in] BSTR expression,
10097             [in, defaultvalue("")] BSTR language);
10098
10099     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
10100     VARIANT getExpression([in] BSTR propname);
10101
10102     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
10103     VARIANT_BOOL removeExpression([in] BSTR propname);
10104
10105     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
10106     void tabIndex(short v);
10107
10108     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
10109     short tabIndex();
10110
10111     [id(DISPID_IHTMLELEMENT2_FOCUS)]
10112     void focus();
10113
10114     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
10115     void accessKey(BSTR v);
10116
10117     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
10118     BSTR accessKey();
10119
10120     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
10121     void onblur(VARIANT v);
10122
10123     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
10124     VARIANT onblur();
10125
10126     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
10127     void onfocus(VARIANT v);
10128
10129     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
10130     VARIANT onfocus();
10131
10132     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
10133     void onresize(VARIANT v);
10134
10135     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
10136     VARIANT onresize();
10137
10138     [id(DISPID_IHTMLELEMENT2_BLUR)]
10139     void blur();
10140
10141     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
10142     void addFilter([in] IUnknown *pUnk);
10143
10144     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
10145     void removeFilter([in] IUnknown *pUnk);
10146
10147     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
10148     long clientHeight();
10149
10150     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
10151     long clientWidth();
10152
10153     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
10154     long clientTop();
10155
10156     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
10157     long clientLeft();
10158
10159     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
10160     VARIANT_BOOL attachEvent(
10161             [in] BSTR event,
10162             [in] IDispatch *pDisp);
10163
10164     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
10165     void detachEvent(
10166             [in] BSTR event,
10167             [in] IDispatch *pDisp);
10168
10169     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
10170     VARIANT readyState();
10171
10172     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
10173     void onreadystatechange(VARIANT v);
10174
10175     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
10176     VARIANT onreadystatechange();
10177
10178     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
10179     void onrowsdelete(VARIANT v);
10180
10181     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
10182     VARIANT onrowsdelete();
10183
10184     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
10185     void onrowsinserted(VARIANT v);
10186
10187     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
10188      VARIANT onrowsinserted();
10189
10190     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
10191      void oncellchange(VARIANT v);
10192
10193     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
10194     VARIANT oncellchange();
10195
10196     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
10197     void dir(BSTR v);
10198
10199     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
10200     BSTR dir();
10201
10202     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
10203     IDispatch *createControlRange();
10204
10205     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
10206     long scrollHeight();
10207
10208     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
10209     long scrollWidth();
10210
10211     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
10212     void scrollTop(long v);
10213
10214     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
10215     long scrollTop();
10216
10217     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
10218     void scrollLeft(long v);
10219
10220     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
10221     long scrollLeft();
10222
10223     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
10224     void clearAttributes();
10225
10226     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
10227     void oncontextmenu(VARIANT v);
10228
10229     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
10230     VARIANT oncontextmenu();
10231
10232     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
10233     IHTMLElement *insertAdjacentElement(
10234             [in] BSTR where,
10235             [in] IHTMLElement *insertedElement);
10236
10237     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
10238     IHTMLElement *applyElement(
10239             [in] IHTMLElement *apply,
10240             [in] BSTR where);
10241
10242     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
10243     BSTR getAdjacentText([in] BSTR where);
10244
10245     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
10246     BSTR replaceAdjacentText(
10247             [in] BSTR where,
10248             [in] BSTR newText);
10249
10250     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
10251     VARIANT_BOOL canHaveChildren();
10252
10253     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
10254     long addBehavior(
10255             [in] BSTR bstrUrl,
10256             [in, optional] VARIANT *pvarFactory);
10257
10258     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
10259     VARIANT_BOOL removeBehavior([in] long cookie);
10260
10261     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
10262     IHTMLStyle *runtimeStyle();
10263
10264     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
10265     IDispatch *behaviorUrns();
10266
10267     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
10268     void tagUrn(BSTR v);
10269
10270     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
10271     BSTR tagUrn();
10272
10273     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
10274     void onbeforeeditfocus(VARIANT v);
10275
10276     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
10277     VARIANT onbeforeeditfocus();
10278
10279     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
10280     long readyStateValue();
10281
10282     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
10283     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
10284
10285     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
10286     void mergeAttributes(
10287             [in] IHTMLElement *mergeThis,
10288             [in, optional] VARIANT *pvarFlags);
10289
10290     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
10291     VARIANT_BOOL isMultiLine();
10292
10293     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
10294     VARIANT_BOOL canHaveHTML();
10295
10296     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
10297     void onlayoutcomplete(VARIANT v);
10298
10299     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
10300     VARIANT onlayoutcomplete();
10301
10302     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
10303     void onpage(VARIANT v);
10304
10305     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
10306     VARIANT onpage();
10307
10308     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
10309     void inflateBlock(VARIANT_BOOL v);
10310
10311     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
10312     VARIANT_BOOL inflateBlock();
10313
10314     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
10315     void onbeforedeactivate(VARIANT v);
10316
10317     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
10318     VARIANT onbeforedeactivate();
10319
10320     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
10321     void setActive();
10322
10323     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
10324     void contentEditable(BSTR v);
10325
10326     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
10327     BSTR contentEditable();
10328
10329     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
10330     VARIANT_BOOL isContentEditable();
10331
10332     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
10333     void hideFocus(VARIANT_BOOL v);
10334
10335     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
10336     VARIANT_BOOL hideFocus();
10337
10338     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
10339     void disabled(VARIANT_BOOL v);
10340
10341     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
10342     VARIANT_BOOL disabled();
10343
10344     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
10345     VARIANT_BOOL isDisabled();
10346
10347     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
10348     void onmove(VARIANT v);
10349
10350     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
10351     VARIANT onmove();
10352
10353     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
10354     void oncontrolselect(VARIANT v);
10355
10356     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
10357     VARIANT oncontrolselect();
10358
10359     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
10360     VARIANT_BOOL fireEvent(
10361             [in] BSTR bstrEventName,
10362             [in, optional] VARIANT *pvarEventObject);
10363
10364     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
10365     void onresizestart(VARIANT v);
10366
10367     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
10368     VARIANT onresizestart();
10369
10370     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
10371     void onresizeend(VARIANT v);
10372
10373     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
10374     VARIANT onresizeend();
10375
10376     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
10377     void onmovestart(VARIANT v);
10378
10379     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
10380     VARIANT onmovestart();
10381
10382     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
10383     void onmoveend(VARIANT v);
10384
10385     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
10386     VARIANT onmoveend();
10387
10388     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
10389     void onmouseenter(VARIANT v);
10390
10391     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
10392     VARIANT onmouseenter();
10393
10394     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
10395     void onmouseleave(VARIANT v);
10396
10397     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
10398     VARIANT onmouseleave();
10399
10400     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
10401     void onactivate(VARIANT v);
10402
10403     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
10404     VARIANT onactivate();
10405
10406     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
10407     void ondeactivate(VARIANT v);
10408
10409     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
10410     VARIANT ondeactivate();
10411
10412     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
10413     VARIANT_BOOL dragDrop();
10414
10415     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
10416     LONG glyphMode();
10417
10418     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
10419     void onmousewheel(VARIANT v);
10420
10421     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
10422     VARIANT onmousewheel();
10423
10424     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
10425     void normalize();
10426
10427     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
10428     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
10429
10430     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
10431     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
10432
10433     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
10434     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
10435
10436     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
10437     void onbeforeactivate(VARIANT v);
10438
10439     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
10440     VARIANT onbeforeactivate();
10441
10442     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
10443     void onfocusin(VARIANT v);
10444
10445     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
10446     VARIANT onfocusin();
10447
10448     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
10449     void onfocusout(VARIANT v);
10450
10451     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
10452     VARIANT onfocusout();
10453
10454     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
10455     long uniqueNumber();
10456
10457     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
10458     BSTR uniqueID();
10459
10460     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
10461     long nodeType();
10462
10463     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
10464     IHTMLDOMNode *parentNode();
10465
10466     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
10467     VARIANT_BOOL hasChildNodes();
10468
10469     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
10470     IDispatch *childNodes();
10471
10472     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
10473     IDispatch *attributes();
10474
10475     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
10476     IHTMLDOMNode *insertBefore(
10477             [in] IHTMLDOMNode *newChild,
10478             [in, optional] VARIANT refChild);
10479
10480     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
10481     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
10482
10483     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
10484     IHTMLDOMNode *replaceChild(
10485             [in] IHTMLDOMNode *newChild,
10486             [in] IHTMLDOMNode *oldChild);
10487
10488     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
10489     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
10490
10491     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
10492     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
10493
10494     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
10495     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
10496
10497     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
10498     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
10499
10500     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
10501     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
10502
10503     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
10504     BSTR nodeName();
10505
10506     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
10507     void nodeValue(VARIANT v);
10508
10509     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
10510     VARIANT nodeValue();
10511
10512     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
10513     IHTMLDOMNode *firstChild();
10514
10515     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
10516     IHTMLDOMNode *lastChild();
10517
10518     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
10519     IHTMLDOMNode *previousSibling();
10520
10521     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
10522     IHTMLDOMNode *nextSibling();
10523
10524     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
10525     IDispatch *ownerDocument();
10526
10527     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
10528     void dataFld(BSTR v);
10529
10530     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
10531     BSTR dataFld();
10532
10533     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
10534     void dataSrc(BSTR v);
10535
10536     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
10537     BSTR dataSrc();
10538
10539     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
10540     void dataFormatAs(BSTR v);
10541
10542     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
10543     BSTR dataFormatAs();
10544
10545     [propput, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
10546     void type(BSTR v);
10547
10548     [propget, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
10549     BSTR type();
10550
10551     [propput, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
10552     void value(BSTR v);
10553
10554     [propget, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
10555     BSTR value();
10556
10557     [propput, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
10558     void name(BSTR v);
10559
10560     [propget, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
10561     BSTR name();
10562
10563     [propput, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
10564     void status(VARIANT_BOOL v);
10565
10566     [propget, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
10567     VARIANT_BOOL status();
10568
10569     [propget, id(DISPID_IHTMLINPUTELEMENT_FORM)]
10570     IHTMLFormElement *form();
10571
10572     [propput, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
10573     void size(long v);
10574
10575     [propget, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
10576     long size();
10577
10578     [propput, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
10579     void maxLength(long v);
10580
10581     [propget, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
10582     long maxLength();
10583
10584     [id(DISPID_IHTMLINPUTELEMENT_SELECT)]
10585     void select();
10586
10587     [propput, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
10588     void onchange(VARIANT v);
10589
10590     [propget, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
10591     VARIANT onchange();
10592
10593     [propput, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
10594     void onselect(VARIANT v);
10595
10596     [propget, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
10597     VARIANT onselect();
10598
10599     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
10600     void defaultValue(BSTR v);
10601
10602     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
10603     BSTR defaultValue();
10604
10605     [propput, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
10606     void readOnly(VARIANT_BOOL v);
10607
10608     [propget, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
10609     VARIANT_BOOL readOnly();
10610
10611     [id(DISPID_IHTMLINPUTELEMENT_CREATETEXTRANGE)]
10612     IHTMLTxtRange *createTextRange();
10613
10614     [propput, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
10615     void indeterminate(VARIANT_BOOL v);
10616
10617     [propget, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
10618     VARIANT_BOOL indeterminate();
10619
10620     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
10621     void defaultChecked(VARIANT_BOOL v);
10622
10623     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
10624     VARIANT_BOOL defaultChecked();
10625
10626     [propput, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
10627     void checked(VARIANT_BOOL v);
10628
10629     [propget, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
10630     VARIANT_BOOL checked();
10631
10632     [propput, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
10633     void border(VARIANT v);
10634
10635     [propget, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
10636     VARIANT border();
10637
10638     [propput, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
10639     void vspace(long v);
10640
10641     [propget, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
10642     long vspace();
10643
10644     [propput, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
10645     void hspace(long v);
10646
10647     [propget, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
10648     long hspace();
10649
10650     [propput, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
10651     void alt(BSTR v);
10652
10653     [propget, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
10654     BSTR alt();
10655
10656     [propput, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
10657     void src(BSTR v);
10658
10659     [propget, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
10660     BSTR src();
10661
10662     [propput, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
10663     void lowsrc(BSTR v);
10664
10665     [propget, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
10666     BSTR lowsrc();
10667
10668     [propput, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
10669     void vrml(BSTR v);
10670
10671     [propget, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
10672     BSTR vrml();
10673
10674     [propput, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
10675     void dynsrc(BSTR v);
10676
10677     [propget, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
10678     BSTR dynsrc();
10679
10680     [propget, id(DISPID_IHTMLINPUTELEMENT_COMPLETE)]
10681     VARIANT_BOOL complete();
10682
10683     [propput, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
10684     void loop(VARIANT v);
10685
10686     [propget, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
10687     VARIANT loop();
10688
10689     [propput, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
10690     void align(BSTR v);
10691
10692     [propget, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
10693     BSTR align();
10694
10695     [propput, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
10696     void onload(VARIANT v);
10697
10698     [propget, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
10699     VARIANT onload();
10700
10701     [propput, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
10702     void onerror(VARIANT v);
10703
10704     [propget, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
10705     VARIANT onerror();
10706
10707     [propput, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
10708     void onabort(VARIANT v);
10709
10710     [propget, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
10711     VARIANT onabort();
10712
10713     [propput, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
10714     void width(long v);
10715
10716     [propget, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
10717     long width();
10718
10719     [propput, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
10720     void height(long v);
10721
10722     [propget, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
10723     long height();
10724
10725     [propput, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
10726     void start(BSTR v);
10727
10728     [propget, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
10729     BSTR start();
10730
10731     [propput, id(DISPID_IHTMLINPUTELEMENT2_ACCEPT), displaybind, bindable]
10732     void accept(BSTR v);
10733
10734     [propget, id(DISPID_IHTMLINPUTELEMENT2_ACCEPT), displaybind, bindable]
10735     BSTR accept();
10736
10737     [propput, id(DISPID_IHTMLINPUTELEMENT2_USEMAP), displaybind, bindable]
10738     void useMap(BSTR v);
10739
10740     [propget, id(DISPID_IHTMLINPUTELEMENT2_USEMAP), displaybind, bindable]
10741     BSTR useMap();
10742 }
10743
10744 /*****************************************************************************
10745  *    IHTMLTextAreaElement interface
10746  */
10747 [
10748     odl,
10749     oleautomation,
10750     dual,
10751     uuid(3050f2aa-98b5-11cf-bb82-00aa00bdce0b)
10752 ]
10753 interface IHTMLTextAreaElement : IDispatch
10754 {
10755     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_TYPE)]
10756     HRESULT type([retval, out] BSTR *p);
10757
10758     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
10759     HRESULT value([in] BSTR v);
10760
10761     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
10762     HRESULT value([retval, out] BSTR *p);
10763
10764     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
10765     HRESULT name([in] BSTR v);
10766
10767     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
10768     HRESULT name([retval, out] BSTR *p);
10769
10770     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
10771     HRESULT status([in] VARIANT v);
10772
10773     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
10774     HRESULT status([retval, out] VARIANT *p);
10775
10776     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_DISABLED), displaybind, bindable]
10777     HRESULT disabled([in] VARIANT_BOOL v);
10778
10779     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_DISABLED), displaybind, bindable]
10780     HRESULT disabled([retval, out] VARIANT_BOOL *p);
10781
10782     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_FORM)]
10783     HRESULT form([retval, out] IHTMLFormElement **p);
10784
10785     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
10786     HRESULT defaultValue([in] BSTR v);
10787
10788     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
10789     HRESULT defaultValue([retval, out] BSTR *p);
10790
10791     [id(DISPID_IHTMLTEXTAREAELEMENT_SELECT)]
10792     HRESULT select();
10793
10794     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
10795     HRESULT onchange([in] VARIANT v);
10796
10797     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
10798     HRESULT onchange([retval, out] VARIANT *p);
10799
10800     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
10801     HRESULT onselect([in] VARIANT v);
10802
10803     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
10804     HRESULT onselect([retval, out] VARIANT *p);
10805
10806     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
10807     HRESULT readOnly([in] VARIANT_BOOL v);
10808
10809     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
10810     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
10811
10812     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
10813     HRESULT rows([in] long v);
10814
10815     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
10816     HRESULT rows([retval, out] long *p);
10817
10818     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
10819     HRESULT cols([in] long v);
10820
10821     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
10822     HRESULT cols([retval, out] long *p);
10823
10824     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
10825     HRESULT wrap([in] BSTR v);
10826
10827     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
10828     HRESULT wrap([retval, out] BSTR *p);
10829
10830     [id(DISPID_IHTMLTEXTAREAELEMENT_CREATETEXTRANGE)]
10831     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
10832 }
10833
10834 /*****************************************************************************
10835  *    DispHTMLUnknownElement interface
10836  */
10837 [
10838     hidden,
10839     uuid(3050f539-98b5-11cf-bb82-00aa00bdce0b)
10840 ]
10841 dispinterface DispHTMLUnknownElement
10842 {
10843 properties:
10844 methods:
10845     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
10846     void setAttribute(
10847             [in] BSTR strAttributeName,
10848             [in] VARIANT AttributeValue,
10849             [in, defaultvalue(1)] LONG lFlags);
10850
10851     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
10852     VARIANT getAttribute(
10853              [in] BSTR strAttributeName,
10854              [in, defaultvalue(0)] LONG lFlags);
10855
10856     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
10857     VARIANT_BOOL removeAttribute(
10858             [in] BSTR strAttributeName,
10859             [in, defaultvalue(1)] LONG lFlags);
10860
10861     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
10862     void className(BSTR v);
10863
10864     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
10865     BSTR className();
10866
10867     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
10868     void id(BSTR v);
10869
10870     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
10871     BSTR id();
10872
10873     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
10874     BSTR tagName();
10875
10876     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
10877     IHTMLElement *parentElement();
10878
10879     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
10880     IHTMLStyle *style();
10881
10882     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
10883     void onhelp(VARIANT v);
10884
10885     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
10886     VARIANT onhelp();
10887
10888     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
10889     void onclick(VARIANT v);
10890
10891     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
10892     VARIANT onclick();
10893
10894     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
10895     void ondblclick(VARIANT v);
10896
10897     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
10898     VARIANT ondblclick();
10899
10900     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
10901     void onkeydown(VARIANT v);
10902
10903     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
10904     VARIANT onkeydown();
10905
10906     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
10907     void onkeyup(VARIANT v);
10908
10909     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
10910     VARIANT onkeyup();
10911
10912     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
10913     void onkeypress(VARIANT v);
10914
10915     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
10916     VARIANT onkeypress();
10917
10918     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
10919     void onmouseout(VARIANT v);
10920
10921     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
10922     VARIANT onmouseout();
10923
10924     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
10925     void onmouseover(VARIANT v);
10926
10927     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
10928     VARIANT onmouseover();
10929
10930     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
10931     void onmousemove(VARIANT v);
10932
10933     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
10934     VARIANT onmousemove();
10935
10936     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
10937     void onmousedown(VARIANT v);
10938
10939     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
10940     VARIANT onmousedown();
10941
10942     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
10943     void onmouseup(VARIANT v);
10944
10945     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
10946     VARIANT onmouseup();
10947
10948     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
10949     IDispatch *document();
10950
10951     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
10952     void title(BSTR v);
10953
10954     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
10955     BSTR title();
10956
10957     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
10958     void language(BSTR v);
10959
10960     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
10961     BSTR language();
10962
10963     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
10964     void onselectstart(VARIANT v);
10965
10966     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
10967     VARIANT onselectstart();
10968
10969     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
10970     void scrollIntoView([in, optional] VARIANT varargStart);
10971
10972     [id(DISPID_IHTMLELEMENT_CONTAINS)]
10973     VARIANT_BOOL contains([in] IHTMLElement *pChild);
10974
10975     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
10976     long sourceIndex();
10977
10978     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
10979     VARIANT recordNumber();
10980
10981     [propput, id(DISPID_IHTMLELEMENT_LANG)]
10982     void lang(BSTR v);
10983
10984     [propget, id(DISPID_IHTMLELEMENT_LANG)]
10985     BSTR lang();
10986
10987     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
10988     long offsetLeft();
10989
10990     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
10991     long offsetTop();
10992
10993     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
10994     long offsetWidth();
10995
10996     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
10997     long offsetHeight();
10998
10999     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
11000     IHTMLElement *offsetParent();
11001
11002     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
11003     void innerHTML(BSTR v);
11004
11005     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
11006     BSTR innerHTML();
11007
11008     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
11009     void innerText(BSTR v);
11010
11011     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
11012     BSTR innerText();
11013
11014     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
11015     void outerHTML(BSTR v);
11016
11017     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
11018     BSTR outerHTML();
11019
11020     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
11021     void outerText(BSTR v);
11022
11023     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
11024     BSTR outerText();
11025
11026     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
11027     void insertAdjacentHTML(
11028             [in] BSTR where,
11029             [in] BSTR html);
11030
11031     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
11032     void insertAdjacentText(
11033             [in] BSTR where,
11034             [in] BSTR text);
11035
11036     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
11037     IHTMLElement *parentTextEdit();
11038
11039     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
11040     VARIANT_BOOL isTextEdit();
11041
11042     [id(DISPID_IHTMLELEMENT_CLICK)]
11043     void click();
11044
11045     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
11046     IHTMLFiltersCollection *filters();
11047
11048     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
11049     void ondragstart(VARIANT v);
11050
11051     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
11052     VARIANT ondragstart();
11053
11054     [id(DISPID_IHTMLELEMENT_TOSTRING)]
11055     BSTR toString();
11056
11057     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
11058     void onbeforeupdate(VARIANT v);
11059
11060     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
11061     VARIANT onbeforeupdate();
11062
11063     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
11064     void onafterupdate(VARIANT v);
11065
11066     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
11067     VARIANT onafterupdate();
11068
11069     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
11070     void onerrorupdate(VARIANT v);
11071
11072     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
11073     VARIANT onerrorupdate();
11074
11075     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
11076     void onrowexit(VARIANT v);
11077
11078     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
11079     VARIANT onrowexit();
11080
11081     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
11082     void onrowenter(VARIANT v);
11083
11084     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
11085     VARIANT onrowenter();
11086
11087     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
11088     void ondatasetchanged(VARIANT v);
11089
11090     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
11091     VARIANT ondatasetchanged();
11092
11093     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
11094     void ondataavailable(VARIANT v);
11095
11096     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
11097     VARIANT ondataavailable();
11098
11099     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
11100     void ondatasetcomplete(VARIANT v);
11101
11102     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
11103     VARIANT ondatasetcomplete();
11104
11105     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
11106     void onfilterchange(VARIANT v);
11107
11108     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
11109     VARIANT onfilterchange();
11110
11111     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
11112     IDispatch *children();
11113
11114     [propget, id(DISPID_IHTMLELEMENT_ALL)]
11115     IDispatch *all();
11116
11117     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
11118     BSTR scopeName();
11119
11120     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
11121     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
11122
11123     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
11124     void releaseCapture();
11125
11126     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
11127     void onlosecapture(VARIANT v);
11128
11129     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
11130     VARIANT onlosecapture();
11131
11132     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
11133     BSTR componentFromPoint(
11134             [in] long x,
11135             [in] long y);
11136
11137     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
11138     void doScroll([in, optional] VARIANT component);
11139
11140     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
11141     void onscroll(VARIANT v);
11142
11143     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
11144     VARIANT onscroll();
11145
11146     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
11147     void ondrag(VARIANT v);
11148
11149     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
11150     VARIANT ondrag();
11151
11152     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
11153     void ondragend(VARIANT v);
11154
11155     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
11156     VARIANT ondragend();
11157
11158     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
11159     void ondragenter(VARIANT v);
11160
11161     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
11162     VARIANT ondragenter();
11163
11164     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
11165     void ondragover(VARIANT v);
11166
11167     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
11168     VARIANT ondragover();
11169
11170     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
11171     void ondragleave(VARIANT v);
11172
11173     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
11174     VARIANT ondragleave();
11175
11176     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
11177     void ondrop(VARIANT v);
11178
11179     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
11180     VARIANT ondrop();
11181
11182     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
11183     void onbeforecut(VARIANT v);
11184
11185     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
11186     VARIANT onbeforecut();
11187
11188     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
11189     void oncut(VARIANT v);
11190
11191     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
11192     VARIANT oncut();
11193
11194     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
11195     void onbeforecopy(VARIANT v);
11196
11197     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
11198     VARIANT onbeforecopy();
11199
11200     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
11201     void oncopy(VARIANT v);
11202
11203     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
11204     VARIANT oncopy();
11205
11206     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
11207     void onbeforepaste(VARIANT v);
11208
11209     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
11210     VARIANT onbeforepaste();
11211
11212     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
11213     void onpaste(VARIANT v);
11214
11215     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
11216     VARIANT onpaste();
11217
11218     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
11219     IHTMLCurrentStyle *currentStyle();
11220
11221     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
11222     void onpropertychange(VARIANT v);
11223
11224     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
11225     VARIANT onpropertychange();
11226
11227     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
11228     IHTMLRectCollection *getClientRects();
11229
11230     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
11231     IHTMLRect *getBoundingClientRect();
11232
11233     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
11234     void setExpression(
11235             [in] BSTR propname,
11236             [in] BSTR expression,
11237             [in, defaultvalue("")] BSTR language);
11238
11239     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
11240     VARIANT getExpression([in] BSTR propname);
11241
11242     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
11243     VARIANT_BOOL removeExpression([in] BSTR propname);
11244
11245     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
11246     void tabIndex(short v);
11247
11248     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
11249     short tabIndex();
11250
11251     [id(DISPID_IHTMLELEMENT2_FOCUS)]
11252     void focus();
11253
11254     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
11255     void accessKey(BSTR v);
11256
11257     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
11258     BSTR accessKey();
11259
11260     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
11261     void onblur(VARIANT v);
11262
11263     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
11264     VARIANT onblur();
11265
11266     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
11267     void onfocus(VARIANT v);
11268
11269     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
11270     VARIANT onfocus();
11271
11272     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
11273     void onresize(VARIANT v);
11274
11275     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
11276     VARIANT onresize();
11277
11278     [id(DISPID_IHTMLELEMENT2_BLUR)]
11279     void blur();
11280
11281     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
11282     void addFilter([in] IUnknown *pUnk);
11283
11284     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
11285     void removeFilter([in] IUnknown *pUnk);
11286
11287     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
11288     long clientHeight();
11289
11290     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
11291     long clientWidth();
11292
11293     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
11294     long clientTop();
11295
11296     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
11297     long clientLeft();
11298
11299     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
11300     VARIANT_BOOL attachEvent(
11301             [in] BSTR event,
11302             [in] IDispatch *pDisp);
11303
11304     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
11305     void detachEvent(
11306             [in] BSTR event,
11307             [in] IDispatch *pDisp);
11308
11309     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
11310     VARIANT readyState();
11311
11312     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
11313     void onreadystatechange(VARIANT v);
11314
11315     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
11316     VARIANT onreadystatechange();
11317
11318     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
11319     void onrowsdelete(VARIANT v);
11320
11321     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
11322     VARIANT onrowsdelete();
11323
11324     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
11325     void onrowsinserted(VARIANT v);
11326
11327     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
11328      VARIANT onrowsinserted();
11329
11330     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
11331      void oncellchange(VARIANT v);
11332
11333     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
11334     VARIANT oncellchange();
11335
11336     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
11337     void dir(BSTR v);
11338
11339     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
11340     BSTR dir();
11341
11342     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
11343     IDispatch *createControlRange();
11344
11345     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
11346     long scrollHeight();
11347
11348     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
11349     long scrollWidth();
11350
11351     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
11352     void scrollTop(long v);
11353
11354     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
11355     long scrollTop();
11356
11357     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
11358     void scrollLeft(long v);
11359
11360     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
11361     long scrollLeft();
11362
11363     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
11364     void clearAttributes();
11365
11366     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
11367     void oncontextmenu(VARIANT v);
11368
11369     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
11370     VARIANT oncontextmenu();
11371
11372     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
11373     IHTMLElement *insertAdjacentElement(
11374             [in] BSTR where,
11375             [in] IHTMLElement *insertedElement);
11376
11377     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
11378     IHTMLElement *applyElement(
11379             [in] IHTMLElement *apply,
11380             [in] BSTR where);
11381
11382     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
11383     BSTR getAdjacentText([in] BSTR where);
11384
11385     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
11386     BSTR replaceAdjacentText(
11387             [in] BSTR where,
11388             [in] BSTR newText);
11389
11390     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
11391     VARIANT_BOOL canHaveChildren();
11392
11393     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
11394     long addBehavior(
11395             [in] BSTR bstrUrl,
11396             [in, optional] VARIANT *pvarFactory);
11397
11398     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
11399     VARIANT_BOOL removeBehavior([in] long cookie);
11400
11401     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
11402     IHTMLStyle *runtimeStyle();
11403
11404     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
11405     IDispatch *behaviorUrns();
11406
11407     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
11408     void tagUrn(BSTR v);
11409
11410     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
11411     BSTR tagUrn();
11412
11413     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
11414     void onbeforeeditfocus(VARIANT v);
11415
11416     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
11417     VARIANT onbeforeeditfocus();
11418
11419     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
11420     long readyStateValue();
11421
11422     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
11423     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
11424
11425     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
11426     void mergeAttributes(
11427             [in] IHTMLElement *mergeThis,
11428             [in, optional] VARIANT *pvarFlags);
11429
11430     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
11431     VARIANT_BOOL isMultiLine();
11432
11433     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
11434     VARIANT_BOOL canHaveHTML();
11435
11436     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
11437     void onlayoutcomplete(VARIANT v);
11438
11439     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
11440     VARIANT onlayoutcomplete();
11441
11442     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
11443     void onpage(VARIANT v);
11444
11445     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
11446     VARIANT onpage();
11447
11448     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
11449     void inflateBlock(VARIANT_BOOL v);
11450
11451     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
11452     VARIANT_BOOL inflateBlock();
11453
11454     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
11455     void onbeforedeactivate(VARIANT v);
11456
11457     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
11458     VARIANT onbeforedeactivate();
11459
11460     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
11461     void setActive();
11462
11463     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
11464     void contentEditable(BSTR v);
11465
11466     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
11467     BSTR contentEditable();
11468
11469     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
11470     VARIANT_BOOL isContentEditable();
11471
11472     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
11473     void hideFocus(VARIANT_BOOL v);
11474
11475     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
11476     VARIANT_BOOL hideFocus();
11477
11478     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
11479     void disabled(VARIANT_BOOL v);
11480
11481     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
11482     VARIANT_BOOL disabled();
11483
11484     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
11485     VARIANT_BOOL isDisabled();
11486
11487     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
11488     void onmove(VARIANT v);
11489
11490     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
11491     VARIANT onmove();
11492
11493     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
11494     void oncontrolselect(VARIANT v);
11495
11496     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
11497     VARIANT oncontrolselect();
11498
11499     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
11500     VARIANT_BOOL fireEvent(
11501             [in] BSTR bstrEventName,
11502             [in, optional] VARIANT *pvarEventObject);
11503
11504     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
11505     void onresizestart(VARIANT v);
11506
11507     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
11508     VARIANT onresizestart();
11509
11510     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
11511     void onresizeend(VARIANT v);
11512
11513     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
11514     VARIANT onresizeend();
11515
11516     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
11517     void onmovestart(VARIANT v);
11518
11519     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
11520     VARIANT onmovestart();
11521
11522     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
11523     void onmoveend(VARIANT v);
11524
11525     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
11526     VARIANT onmoveend();
11527
11528     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
11529     void onmouseenter(VARIANT v);
11530
11531     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
11532     VARIANT onmouseenter();
11533
11534     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
11535     void onmouseleave(VARIANT v);
11536
11537     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
11538     VARIANT onmouseleave();
11539
11540     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
11541     void onactivate(VARIANT v);
11542
11543     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
11544     VARIANT onactivate();
11545
11546     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
11547     void ondeactivate(VARIANT v);
11548
11549     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
11550     VARIANT ondeactivate();
11551
11552     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
11553     VARIANT_BOOL dragDrop();
11554
11555     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
11556     LONG glyphMode();
11557
11558     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
11559     void onmousewheel(VARIANT v);
11560
11561     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
11562     VARIANT onmousewheel();
11563
11564     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
11565     void normalize();
11566
11567     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
11568     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
11569
11570     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
11571     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
11572
11573     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
11574     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
11575
11576     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
11577     void onbeforeactivate(VARIANT v);
11578
11579     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
11580     VARIANT onbeforeactivate();
11581
11582     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
11583     void onfocusin(VARIANT v);
11584
11585     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
11586     VARIANT onfocusin();
11587
11588     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
11589     void onfocusout(VARIANT v);
11590
11591     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
11592     VARIANT onfocusout();
11593
11594     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
11595     long uniqueNumber();
11596
11597     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
11598     BSTR uniqueID();
11599
11600     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
11601     long nodeType();
11602
11603     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
11604     IHTMLDOMNode *parentNode();
11605
11606     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
11607     VARIANT_BOOL hasChildNodes();
11608
11609     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
11610     IDispatch *childNodes();
11611
11612     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
11613     IDispatch *attributes();
11614
11615     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
11616     IHTMLDOMNode *insertBefore(
11617             [in] IHTMLDOMNode *newChild,
11618             [in, optional] VARIANT refChild);
11619
11620     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
11621     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
11622
11623     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
11624     IHTMLDOMNode *replaceChild(
11625             [in] IHTMLDOMNode *newChild,
11626             [in] IHTMLDOMNode *oldChild);
11627
11628     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
11629     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
11630
11631     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
11632     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
11633
11634     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
11635     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
11636
11637     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
11638     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
11639
11640     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
11641     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
11642
11643     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
11644     BSTR nodeName();
11645
11646     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
11647     void nodeValue(VARIANT v);
11648
11649     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
11650     VARIANT nodeValue();
11651
11652     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
11653     IHTMLDOMNode *firstChild();
11654
11655     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
11656     IHTMLDOMNode *lastChild();
11657
11658     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
11659     IHTMLDOMNode *previousSibling();
11660
11661     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
11662     IHTMLDOMNode *nextSibling();
11663
11664     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
11665     IDispatch *ownerDocument();
11666 }
11667
11668 /*****************************************************************************
11669  *    IOmHistory interface
11670  */
11671 [
11672     odl,
11673     oleautomation,
11674     dual,
11675     uuid(FECEAAA2-8405-11CF-8BA1-00AA00476DA6)
11676 ]
11677 interface IOmHistory : IDispatch
11678 {
11679     [propget, id(DISPID_IOMHISTORY_LENGTH)]
11680     HRESULT length([retval, out] short *p);
11681
11682     [id(DISPID_IOMHISTORY_BACK)]
11683     HRESULT back([optional, in] VARIANT *pvargdistance);
11684
11685     [id(DISPID_IOMHISTORY_FORWARD)]
11686     HRESULT forward([optional, in] VARIANT *pvargdistance);
11687
11688     [id(DISPID_IOMHISTORY_GO)]
11689     HRESULT go([optional, in] VARIANT *pvargdistance);
11690 }
11691
11692 /*****************************************************************************
11693  *    IHTMLMimeTypesCollection interface
11694  */
11695 [
11696     odl,
11697     oleautomation,
11698     dual,
11699     uuid(3050F3FC-98B5-11CF-BB82-00AA00BDCE0B)
11700 ]
11701 interface IHTMLMimeTypesCollection : IDispatch
11702 {
11703     [propget, id(DISPID_IHTMLMIMETYPESCOLLECTION_LENGTH)]
11704     HRESULT length([retval, out] long *p);
11705 }
11706
11707 /*****************************************************************************
11708  *    IHTMLPluginsCollection interface
11709  */
11710 [
11711     odl,
11712     oleautomation,
11713     dual,
11714     uuid(3050F3FD-98B5-11CF-BB82-00AA00BDCE0B)
11715 ]
11716 interface IHTMLPluginsCollection : IDispatch
11717 {
11718     [propget, id(DISPID_IHTMLPLUGINSCOLLECTION_LENGTH)]
11719     HRESULT length([retval, out] long *p);
11720
11721     [id(DISPID_IHTMLPLUGINSCOLLECTION_REFRESH)]
11722     HRESULT refresh([defaultvalue(0), in] VARIANT_BOOL reload);
11723 }
11724
11725 /*****************************************************************************
11726  *    IHTMLOpsProfile interface
11727  */
11728 [
11729     odl,
11730     oleautomation,
11731     dual,
11732     uuid(3050F401-98B5-11CF-BB82-00AA00BDCE0B)
11733 ]
11734 interface IHTMLOpsProfile : IDispatch
11735 {
11736     [id(DISPID_IHTMLOPSPROFILE_ADDREQUEST)]
11737     HRESULT addRequest(
11738         [in] BSTR name,
11739         [optional, in] VARIANT reserved,
11740         [retval, out] VARIANT_BOOL *success);
11741
11742     [id(DISPID_IHTMLOPSPROFILE_CLEARREQUEST)]
11743     HRESULT clearRequest();
11744
11745     [id(DISPID_IHTMLOPSPROFILE_DOREQUEST)]
11746     HRESULT doRequest(
11747         [in] VARIANT usage,
11748         [optional, in] VARIANT fname,
11749         [optional, in] VARIANT domain,
11750         [optional, in] VARIANT path,
11751         [optional, in] VARIANT expire,
11752         [optional, in] VARIANT reserved);
11753
11754     [id(DISPID_IHTMLOPSPROFILE_GETATTRIBUTE)]
11755     HRESULT getAttribute(
11756         [in] BSTR name,
11757         [retval, out] BSTR *value);
11758
11759     [id(DISPID_IHTMLOPSPROFILE_SETATTRIBUTE)]
11760     HRESULT setAttribute(
11761         [in] BSTR name,
11762         [in] BSTR value,
11763         [optional, in] VARIANT prefs,
11764         [retval, out] VARIANT_BOOL *success);
11765
11766     [id(DISPID_IHTMLOPSPROFILE_COMMITCHANGES)]
11767     HRESULT commitChanges([retval, out] VARIANT_BOOL *success);
11768
11769     [id(DISPID_IHTMLOPSPROFILE_ADDREADREQUEST)]
11770     HRESULT addReadRequest(
11771         [in] BSTR name,
11772         [optional, in] VARIANT reserved,
11773         [retval, out] VARIANT_BOOL *success);
11774
11775     [id(DISPID_IHTMLOPSPROFILE_DOREADREQUEST)]
11776     HRESULT doReadRequest(
11777         [in] VARIANT usage,
11778         [optional, in] VARIANT fname,
11779         [optional, in] VARIANT domain,
11780         [optional, in] VARIANT path,
11781         [optional, in] VARIANT expire,
11782         [optional, in] VARIANT reserved);
11783
11784     [id(DISPID_IHTMLOPSPROFILE_DOWRITEREQUEST)]
11785     HRESULT doWriteRequest([retval, out] VARIANT_BOOL *success);
11786 }
11787
11788 /*****************************************************************************
11789  *    IOmNavigator interface
11790  */
11791 [
11792         odl,
11793         oleautomation,
11794         dual,
11795         uuid(FECEAAA5-8405-11CF-8BA1-00AA00476DA6)
11796 ]
11797 interface IOmNavigator : IDispatch
11798 {
11799     [propget, id(DISPID_IOMNAVIGATOR_APPCODENAME)]
11800     HRESULT appCodeName([retval, out] BSTR *p);
11801
11802     [propget, id(DISPID_IOMNAVIGATOR_APPNAME)]
11803     HRESULT appName([retval, out] BSTR *p);
11804
11805     [propget, id(DISPID_IOMNAVIGATOR_APPVERSION)]
11806     HRESULT appVersion([retval, out] BSTR *p);
11807
11808     [propget, id(DISPID_IOMNAVIGATOR_USERAGENT)]
11809     HRESULT userAgent([retval, out] BSTR *p);
11810
11811     [id(DISPID_IOMNAVIGATOR_JAVAENABLED)]
11812     HRESULT javaEnabled([retval, out] VARIANT_BOOL *enabled);
11813
11814     [id(DISPID_IOMNAVIGATOR_TAINTENABLED)]
11815     HRESULT taintEnabled([retval, out] VARIANT_BOOL *enabled);
11816
11817     [propget, id(DISPID_IOMNAVIGATOR_MIMETYPES)]
11818     HRESULT mimeTypes([retval, out] IHTMLMimeTypesCollection **p);
11819
11820     [propget, id(DISPID_IOMNAVIGATOR_PLUGINS)]
11821     HRESULT plugins([retval, out] IHTMLPluginsCollection **p);
11822
11823     [propget, id(DISPID_IOMNAVIGATOR_COOKIEENABLED)]
11824     HRESULT cookieEnabled([retval, out] VARIANT_BOOL *p);
11825
11826     [propget, id(DISPID_IOMNAVIGATOR_OPSPROFILE)]
11827     HRESULT opsProfile([retval, out] IHTMLOpsProfile **p);
11828
11829     [id(DISPID_IOMNAVIGATOR_TOSTRING)]
11830     HRESULT toString([retval, out] BSTR *String);
11831
11832     [propget, id(DISPID_IOMNAVIGATOR_CPUCLASS)]
11833     HRESULT cpuClass([retval, out] BSTR *p);
11834
11835     [propget, id(DISPID_IOMNAVIGATOR_SYSTEMLANGUAGE)]
11836     HRESULT systemLanguage([retval, out] BSTR *p);
11837
11838     [propget, id(DISPID_IOMNAVIGATOR_BROWSERLANGUAGE)]
11839     HRESULT browserLanguage([retval, out] BSTR *p);
11840
11841     [propget, id(DISPID_IOMNAVIGATOR_USERLANGUAGE)]
11842     HRESULT userLanguage([retval, out] BSTR *p);
11843
11844     [propget, id(DISPID_IOMNAVIGATOR_PLATFORM)]
11845     HRESULT platform([retval, out] BSTR *p);
11846
11847     [propget, id(DISPID_IOMNAVIGATOR_APPMINORVERSION)]
11848     HRESULT appMinorVersion([retval, out] BSTR *p);
11849
11850     [propget, id(DISPID_IOMNAVIGATOR_CONNECTIONSPEED)]
11851     HRESULT connectionSpeed([retval, out] long *p);
11852
11853     [propget, id(DISPID_IOMNAVIGATOR_ONLINE)]
11854     HRESULT onLine([retval, out] VARIANT_BOOL *p);
11855
11856     [propget, id(DISPID_IOMNAVIGATOR_USERPROFILE)]
11857     HRESULT userProfile([retval, out] IHTMLOpsProfile **p);
11858 }
11859
11860 /*****************************************************************************
11861  *    IHTMLLocation interface
11862  */
11863 [
11864     odl,
11865     oleautomation,
11866     dual,
11867     uuid(163BB1E0-6E00-11cf-837A-48DC04C10000)
11868 ]
11869 interface IHTMLLocation : IDispatch
11870 {
11871     [propput, id(DISPID_IHTMLLOCATION_HREF)]
11872     HRESULT href([in] BSTR v);
11873
11874     [propget, id(DISPID_IHTMLLOCATION_HREF)]
11875     HRESULT href([retval, out] BSTR *p);
11876
11877     [propput, id(DISPID_IHTMLLOCATION_PROTOCOL)]
11878     HRESULT protocol([in] BSTR v);
11879
11880     [propget, id(DISPID_IHTMLLOCATION_PROTOCOL)]
11881     HRESULT protocol([retval, out] BSTR *p);
11882
11883     [propput, id(DISPID_IHTMLLOCATION_HOST)]
11884     HRESULT host([in] BSTR v);
11885
11886     [propget, id(DISPID_IHTMLLOCATION_HOST)]
11887     HRESULT host([retval, out] BSTR *p);
11888
11889     [propput, id(DISPID_IHTMLLOCATION_HOSTNAME)]
11890     HRESULT hostname([in] BSTR v);
11891
11892     [propget, id(DISPID_IHTMLLOCATION_HOSTNAME)]
11893     HRESULT hostname([retval, out] BSTR *p);
11894
11895     [propput, id(DISPID_IHTMLLOCATION_PORT)]
11896     HRESULT port([in] BSTR v);
11897
11898     [propget, id(DISPID_IHTMLLOCATION_PORT)]
11899     HRESULT port([retval, out] BSTR *p);
11900
11901     [propput, id(DISPID_IHTMLLOCATION_PATHNAME)]
11902     HRESULT pathname([in] BSTR v);
11903
11904     [propget, id(DISPID_IHTMLLOCATION_PATHNAME)]
11905     HRESULT pathname([retval, out] BSTR *p);
11906
11907     [propput, id(DISPID_IHTMLLOCATION_SEARCH)]
11908     HRESULT search([in] BSTR v);
11909
11910     [propget, id(DISPID_IHTMLLOCATION_SEARCH)]
11911     HRESULT search([retval, out] BSTR *p);
11912
11913     [propput, id(DISPID_IHTMLLOCATION_HASH)]
11914     HRESULT hash([in] BSTR v);
11915
11916     [propget, id(DISPID_IHTMLLOCATION_HASH)]
11917     HRESULT hash([retval, out] BSTR *p);
11918
11919     [id(DISPID_IHTMLLOCATION_RELOAD)]
11920     HRESULT reload([defaultvalue(0), in] VARIANT_BOOL flag);
11921
11922     [id(DISPID_IHTMLLOCATION_REPLACE)]
11923     HRESULT replace([in] BSTR bstr);
11924
11925     [id(DISPID_IHTMLLOCATION_ASSIGN)]
11926     HRESULT assign([in] BSTR bstr);
11927
11928     [id(DISPID_IHTMLLOCATION_TOSTRING)]
11929     HRESULT toString([retval, out] BSTR *String);
11930 }
11931
11932 /*****************************************************************************
11933  *    IHTMLDataTransfer interface
11934  */
11935 [
11936     odl,
11937     oleautomation,
11938     dual,
11939     uuid(3050f4b3-98b5-11cf-bb82-00aa00bdce0b)
11940 ]
11941 interface IHTMLDataTransfer : IDispatch
11942 {
11943     [id(DISPID_IHTMLDATATRANSFER_SETDATA)]
11944     HRESULT setData(
11945             [in] BSTR format,
11946             [in] VARIANT *data,
11947             [out, retval] VARIANT_BOOL *pret);
11948
11949     [id(DISPID_IHTMLDATATRANSFER_GETDATA)]
11950     HRESULT getData(
11951             [in] BSTR format,
11952             [out, retval] VARIANT *pvarRet);
11953
11954     [id(DISPID_IHTMLDATATRANSFER_CLEARDATA)]
11955     HRESULT clearData(
11956             [in] BSTR format,
11957             [out, retval] VARIANT_BOOL *pret);
11958
11959     [propput, id(DISPID_IHTMLDATATRANSFER_DROPEFFECT)]
11960     HRESULT dropEffect([in] BSTR v);
11961
11962     [propget, id(DISPID_IHTMLDATATRANSFER_DROPEFFECT)]
11963     HRESULT dropEffect([out, retval] BSTR *p);
11964
11965     [propput, id(DISPID_IHTMLDATATRANSFER_EFFECTALLOWED)]
11966     HRESULT effectAllowed([in] BSTR v);
11967
11968     [propget, id(DISPID_IHTMLDATATRANSFER_EFFECTALLOWED)]
11969     HRESULT effectAllowed([out, retval] BSTR *p);
11970 }
11971
11972 /*****************************************************************************
11973  *    IHTMLEventObj interface
11974  */
11975 [
11976     odl,
11977     oleautomation,
11978     dual,
11979     uuid(3050F32D-98B5-11CF-BB82-00AA00BDCE0B)
11980 ]
11981 interface IHTMLEventObj : IDispatch
11982 {
11983     [propget, id(DISPID_IHTMLEVENTOBJ_SRCELEMENT)]
11984     HRESULT srcElement([retval, out] IHTMLElement **p);
11985
11986     [propget, id(DISPID_IHTMLEVENTOBJ_ALTKEY)]
11987     HRESULT altKey([retval, out] VARIANT_BOOL *p);
11988
11989     [propget, id(DISPID_IHTMLEVENTOBJ_CTRLKEY)]
11990     HRESULT ctrlKey([retval, out] VARIANT_BOOL *p);
11991
11992     [propget, id(DISPID_IHTMLEVENTOBJ_SHIFTKEY)]
11993     HRESULT shiftKey([retval, out] VARIANT_BOOL *p);
11994
11995     [propput, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
11996     HRESULT returnValue([in] VARIANT v);
11997
11998     [propget, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
11999     HRESULT returnValue([retval, out] VARIANT *p);
12000
12001     [propput, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
12002     HRESULT cancelBubble([in] VARIANT_BOOL v);
12003
12004     [propget, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
12005     HRESULT cancelBubble([retval, out] VARIANT_BOOL *p);
12006
12007     [propget, id(DISPID_IHTMLEVENTOBJ_FROMELEMENT)]
12008     HRESULT fromElement([retval, out] IHTMLElement **p);
12009
12010     [propget, id(DISPID_IHTMLEVENTOBJ_TOELEMENT)]
12011     HRESULT toElement([retval, out] IHTMLElement **p);
12012
12013     [propput, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
12014     HRESULT keyCode([in] long v);
12015
12016     [propget, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
12017     HRESULT keyCode([retval, out] long *p);
12018
12019     [propget, id(DISPID_IHTMLEVENTOBJ_BUTTON)]
12020     HRESULT button([retval, out] long *p);
12021
12022     [propget, id(DISPID_IHTMLEVENTOBJ_TYPE)]
12023     HRESULT type([retval, out] BSTR *p);
12024
12025     [propget, id(DISPID_IHTMLEVENTOBJ_QUALIFIER)]
12026     HRESULT qualifier([retval, out] BSTR *p);
12027
12028     [propget, id(DISPID_IHTMLEVENTOBJ_REASON)]
12029     HRESULT reason([retval, out] long *p);
12030
12031     [propget, id(DISPID_IHTMLEVENTOBJ_X)]
12032     HRESULT x([retval, out] long *p);
12033
12034     [propget, id(DISPID_IHTMLEVENTOBJ_Y)]
12035     HRESULT y([retval, out] long *p);
12036
12037     [propget, id(DISPID_IHTMLEVENTOBJ_CLIENTX)]
12038     HRESULT clientX([retval, out] long *p);
12039
12040     [propget, id(DISPID_IHTMLEVENTOBJ_CLIENTY)]
12041     HRESULT clientY([retval, out] long *p);
12042
12043     [propget, id(DISPID_IHTMLEVENTOBJ_OFFSETX)]
12044     HRESULT offsetX([retval, out] long *p);
12045
12046     [propget, id(DISPID_IHTMLEVENTOBJ_OFFSETY)]
12047     HRESULT offsetY([retval, out] long *p);
12048
12049     [propget, id(DISPID_IHTMLEVENTOBJ_SCREENX)]
12050     HRESULT screenX([retval, out] long *p);
12051
12052     [propget, id(DISPID_IHTMLEVENTOBJ_SCREENY)]
12053     HRESULT screenY([retval, out] long *p);
12054
12055     [propget, id(DISPID_IHTMLEVENTOBJ_SRCFILTER)]
12056     HRESULT srcFilter([retval, out] IDispatch **p);
12057 }
12058
12059 /*****************************************************************************
12060  *    IHTMLFramesCollection2 interface
12061  */
12062 [
12063     odl,
12064     oleautomation,
12065     dual,
12066     uuid(332C4426-26CB-11D0-B483-00C04FD90119)
12067 ]
12068 interface IHTMLFramesCollection2 : IDispatch
12069 {
12070     [id(DISPID_IHTMLFRAMESCOLLECTION2_ITEM)]
12071     HRESULT item(
12072         [in] VARIANT *pvarIndex,
12073         [retval, out] VARIANT *pvarResult);
12074
12075     [propget, id(DISPID_IHTMLFRAMESCOLLECTION2_LENGTH)]
12076     HRESULT length([retval, out] long *p);
12077 }
12078
12079 /*****************************************************************************
12080  *    IHTMLScreen interface
12081  */
12082 [
12083     odl,
12084     oleautomation,
12085     dual,
12086     uuid(3050f35C-98B5-11CF-BB82-00AA00BDCE0B)
12087 ]
12088 interface IHTMLScreen : IDispatch
12089 {
12090     [propget, id(DISPID_IHTMLSCREEN_COLORDEPTH)]
12091     HRESULT colorDepth([retval, out] long *p);
12092
12093     [propput, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
12094     HRESULT bufferDepth([in] long v);
12095
12096     [propget, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
12097     HRESULT bufferDepth([retval, out] long *p);
12098
12099     [propget, id(DISPID_IHTMLSCREEN_WIDTH)]
12100     HRESULT width([retval, out] long *p);
12101
12102     [propget, id(DISPID_IHTMLSCREEN_HEIGHT)]
12103     HRESULT height([retval, out] long *p);
12104
12105     [propput, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
12106     HRESULT updateInterval([in] long v);
12107
12108     [propget, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
12109     HRESULT updateInterval([retval, out] long *p);
12110
12111     [propget, id(DISPID_IHTMLSCREEN_AVAILHEIGHT)]
12112     HRESULT availHeight([retval, out] long *p);
12113
12114     [propget, id(DISPID_IHTMLSCREEN_AVAILWIDTH)]
12115     HRESULT availWidth([retval, out] long *p);
12116
12117     [propget, id(DISPID_IHTMLSCREEN_FONTSMOOTHINGENABLED)]
12118     HRESULT fontSmoothingEnabled([retval, out] VARIANT_BOOL *p);
12119 }
12120
12121 /*****************************************************************************
12122  *    IHTMLWindow2 interface
12123  */
12124 [
12125     odl,
12126     oleautomation,
12127     dual,
12128     uuid(332C4427-26CB-11D0-B483-00C04FD90119)
12129 ]
12130 interface IHTMLWindow2 : IHTMLFramesCollection2
12131 {
12132     [propget, id(DISPID_IHTMLWINDOW2_FRAMES)]
12133     HRESULT frames([retval, out] IHTMLFramesCollection2 **p);
12134
12135     [propput, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
12136     HRESULT defaultStatus([in] BSTR v);
12137
12138     [propget, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
12139     HRESULT defaultStatus([retval, out] BSTR *p);
12140
12141     [propput, id(DISPID_IHTMLWINDOW2_STATUS)]
12142     HRESULT status([in] BSTR v);
12143
12144     [propget, id(DISPID_IHTMLWINDOW2_STATUS)]
12145     HRESULT status([retval, out] BSTR *p);
12146
12147     [id(DISPID_IHTMLWINDOW2_SETTIMEOUT)]
12148     HRESULT setTimeout(
12149         [in] BSTR expression,
12150         [in] long msec,
12151         [optional, in] VARIANT *language,
12152         [retval, out] long *timerID);
12153
12154     [id(DISPID_IHTMLWINDOW2_CLEARTIMEOUT)]
12155     HRESULT clearTimeout([in] long timerID);
12156
12157     [id(DISPID_IHTMLWINDOW2_ALERT)]
12158     HRESULT alert([defaultvalue(""), in] BSTR message);
12159
12160     [id(DISPID_IHTMLWINDOW2_CONFIRM)]
12161     HRESULT confirm(
12162         [defaultvalue(""), in] BSTR message,
12163         [retval, out] VARIANT_BOOL *confirmed);
12164
12165     [id(DISPID_IHTMLWINDOW2_PROMPT)]
12166     HRESULT prompt(
12167         [defaultvalue(""), in] BSTR message,
12168         [defaultvalue("undefined"), in] BSTR defstr,
12169         [retval, out] VARIANT *textdata);
12170
12171     [propget, id(DISPID_IHTMLWINDOW2_IMAGE)]
12172     HRESULT Image([retval, out] IHTMLImageElementFactory **p);
12173
12174     [propget, id(DISPID_IHTMLWINDOW2_LOCATION)]
12175     HRESULT location([retval, out] IHTMLLocation **p);
12176
12177     [propget, id(DISPID_IHTMLWINDOW2_HISTORY)]
12178     HRESULT history([retval, out] IOmHistory **p);
12179
12180     [id(DISPID_IHTMLWINDOW2_CLOSE)]
12181     HRESULT close();
12182
12183     [propput, id(DISPID_IHTMLWINDOW2_OPENER)]
12184     HRESULT opener([in] VARIANT v);
12185
12186     [propget, id(DISPID_IHTMLWINDOW2_OPENER)]
12187     HRESULT opener([retval, out] VARIANT *p);
12188
12189     [propget, id(DISPID_IHTMLWINDOW2_NAVIGATOR)]
12190     HRESULT navigator([retval, out] IOmNavigator **p);
12191
12192     [propput, id(DISPID_IHTMLWINDOW2_NAME)]
12193     HRESULT name([in] BSTR v);
12194
12195     [propget, id(DISPID_IHTMLWINDOW2_NAME)]
12196     HRESULT name([retval, out] BSTR *p);
12197
12198     [propget, id(DISPID_IHTMLWINDOW2_PARENT)]
12199     HRESULT parent([retval, out] IHTMLWindow2 **p);
12200
12201     [id(DISPID_IHTMLWINDOW2_OPEN)]
12202     HRESULT open(
12203         [defaultvalue(""), in] BSTR url,
12204         [defaultvalue(""), in] BSTR name,
12205         [defaultvalue(""), in] BSTR features,
12206         [defaultvalue(0), in] VARIANT_BOOL replace,
12207         [retval, out] IHTMLWindow2 **pomWindowResult);
12208
12209     [propget, id(DISPID_IHTMLWINDOW2_SELF)]
12210     HRESULT self([retval, out] IHTMLWindow2 **p);
12211
12212     [propget, id(DISPID_IHTMLWINDOW2_TOP)]
12213     HRESULT top([retval, out] IHTMLWindow2 **p);
12214
12215     [propget, id(DISPID_IHTMLWINDOW2_WINDOW)]
12216     HRESULT window([retval, out] IHTMLWindow2 **p);
12217
12218     [id(DISPID_IHTMLWINDOW2_NAVIGATE)]
12219     HRESULT navigate([in] BSTR url);
12220
12221     [propput, id(DISPID_IHTMLWINDOW2_ONFOCUS)]
12222     HRESULT onfocus([in] VARIANT v);
12223
12224     [propget, id(DISPID_IHTMLWINDOW2_ONFOCUS)]
12225     HRESULT onfocus([retval, out] VARIANT *p);
12226
12227     [propput, id(DISPID_IHTMLWINDOW2_ONBLUR)]
12228     HRESULT onblur([in] VARIANT v);
12229
12230     [propget, id(DISPID_IHTMLWINDOW2_ONBLUR)]
12231     HRESULT onblur([retval, out] VARIANT *p);
12232
12233     [propput, id(DISPID_IHTMLWINDOW2_ONLOAD)]
12234     HRESULT onload([in] VARIANT v);
12235
12236     [propget, id(DISPID_IHTMLWINDOW2_ONLOAD)]
12237     HRESULT onload([retval, out] VARIANT *p);
12238
12239     [propput, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD)]
12240     HRESULT onbeforeunload([in] VARIANT v);
12241
12242     [propget, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD)]
12243     HRESULT onbeforeunload([retval, out] VARIANT *p);
12244
12245     [propput, id(DISPID_IHTMLWINDOW2_ONUNLOAD)]
12246     HRESULT onunload([in] VARIANT v);
12247
12248     [propget, id(DISPID_IHTMLWINDOW2_ONUNLOAD)]
12249     HRESULT onunload([retval, out] VARIANT *p);
12250
12251     [propput, id(DISPID_IHTMLWINDOW2_ONHELP)]
12252     HRESULT onhelp([in] VARIANT v);
12253
12254     [propget, id(DISPID_IHTMLWINDOW2_ONHELP)]
12255     HRESULT onhelp([retval, out] VARIANT *p);
12256
12257     [propput, id(DISPID_IHTMLWINDOW2_ONERROR)]
12258     HRESULT onerror([in] VARIANT v);
12259
12260     [propget, id(DISPID_IHTMLWINDOW2_ONERROR)]
12261     HRESULT onerror([retval, out] VARIANT *p);
12262
12263     [propput, id(DISPID_IHTMLWINDOW2_ONRESIZE)]
12264     HRESULT onresize([in] VARIANT v);
12265
12266     [propget, id(DISPID_IHTMLWINDOW2_ONRESIZE)]
12267     HRESULT onresize([retval, out] VARIANT *p);
12268
12269     [propput, id(DISPID_IHTMLWINDOW2_ONSCROLL)]
12270     HRESULT onscroll([in] VARIANT v);
12271
12272     [propget, id(DISPID_IHTMLWINDOW2_ONSCROLL)]
12273     HRESULT onscroll([retval, out] VARIANT *p);
12274
12275     [propget, id(DISPID_IHTMLWINDOW2_DOCUMENT)]
12276     HRESULT document([retval, out] IHTMLDocument2 **p);
12277
12278     [propget, id(DISPID_IHTMLWINDOW2_EVENT)]
12279     HRESULT event([retval, out] IHTMLEventObj **p);
12280
12281     [propget, id(DISPID_IHTMLWINDOW2__NEWENUM)]
12282     HRESULT _newEnum([retval, out] IUnknown **p);
12283
12284     [id(DISPID_IHTMLWINDOW2_SHOWMODALDIALOG)]
12285     HRESULT showModalDialog(
12286         [in] BSTR dialog,
12287         [optional, in] VARIANT *varArgIn,
12288         [optional, in] VARIANT *varOptions,
12289         [retval, out] VARIANT *varArgOut);
12290
12291     [id(DISPID_IHTMLWINDOW2_SHOWHELP)]
12292     HRESULT showHelp(
12293         [in] BSTR helpURL,
12294         [optional, in] VARIANT helpArg,
12295         [defaultvalue(""), in] BSTR features);
12296
12297     [propget, id(DISPID_IHTMLWINDOW2_SCREEN)]
12298     HRESULT screen([retval, out] IHTMLScreen **p);
12299
12300     [propget, id(DISPID_IHTMLWINDOW2_OPTION)]
12301     HRESULT Option([retval, out] IHTMLOptionElementFactory **p);
12302
12303     [id(DISPID_IHTMLWINDOW2_FOCUS)]
12304     HRESULT focus();
12305
12306     [propget, id(DISPID_IHTMLWINDOW2_CLOSED)]
12307     HRESULT closed([retval, out] VARIANT_BOOL *p);
12308
12309     [id(DISPID_IHTMLWINDOW2_BLUR)]
12310     HRESULT blur();
12311
12312     [id(DISPID_IHTMLWINDOW2_SCROLL)]
12313     HRESULT scroll([in] long x, [in] long y);
12314
12315     [propget, id(DISPID_IHTMLWINDOW2_CLIENTINFORMATION)]
12316     HRESULT clientInformation([retval, out] IOmNavigator **p);
12317
12318     [id(DISPID_IHTMLWINDOW2_SETINTERVAL)]
12319     HRESULT setInterval([
12320         in] BSTR expression,
12321         [in] long msec,
12322         [optional, in] VARIANT *language,
12323         [retval, out] long *timerID);
12324
12325     [id(DISPID_IHTMLWINDOW2_CLEARINTERVAL)]
12326     HRESULT clearInterval([in] long timerID);
12327
12328     [propput, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
12329     HRESULT offscreenBuffering([in] VARIANT v);
12330
12331     [propget, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
12332     HRESULT offscreenBuffering([retval, out] VARIANT *p);
12333
12334     [id(DISPID_IHTMLWINDOW2_EXECSCRIPT)]
12335     HRESULT execScript(
12336         [in] BSTR scode,
12337         [defaultvalue("JScript"), in] BSTR language,
12338         [retval, out] VARIANT *pvarRet);
12339
12340     [id(DISPID_IHTMLWINDOW2_TOSTRING)]
12341     HRESULT toString([retval, out] BSTR *String);
12342
12343     [id(DISPID_IHTMLWINDOW2_SCROLLBY)]
12344     HRESULT scrollBy([in] long x, [in] long y);
12345
12346     [id(DISPID_IHTMLWINDOW2_SCROLLTO)]
12347     HRESULT scrollTo([in] long x, [in] long y);
12348
12349     [id(DISPID_IHTMLWINDOW2_MOVETO)]
12350     HRESULT moveTo([in] long x, [in] long y);
12351
12352     [id(DISPID_IHTMLWINDOW2_MOVEBY)]
12353     HRESULT moveBy([in] long x, [in] long y);
12354
12355     [id(DISPID_IHTMLWINDOW2_RESIZETO)]
12356     HRESULT resizeTo([in] long x, [in] long y);
12357
12358     [id(DISPID_IHTMLWINDOW2_RESIZEBY)]
12359     HRESULT resizeBy([in] long x, [in] long y);
12360
12361     [propget, id(DISPID_IHTMLWINDOW2_EXTERNAL)]
12362     HRESULT external([retval, out] IDispatch **p);
12363 }
12364
12365 /*****************************************************************************
12366  *    IHTMLWindow3 interface
12367  */
12368 [
12369     odl,
12370     oleautomation,
12371     dual,
12372     uuid(3050f4ae-98b5-11cf-bb82-00aa00bdce0b)
12373 ]
12374 interface IHTMLWindow3 : IDispatch
12375 {
12376     [propget, id(DISPID_IHTMLWINDOW3_SCREENLEFT)]
12377     HRESULT screenLeft([out, retval] long *p);
12378
12379     [propget, id(DISPID_IHTMLWINDOW3_SCREENTOP)]
12380     HRESULT screenTop([out, retval] long *p);
12381
12382     [id(DISPID_IHTMLWINDOW3_ATTACHEVENT)]
12383     HRESULT attachEvent(
12384             [in] BSTR event,
12385             [in] IDispatch *pDisp,
12386             [out, retval] VARIANT_BOOL *pfResult);
12387
12388     [id(DISPID_IHTMLWINDOW3_DETACHEVENT)]
12389     HRESULT detachEvent(
12390             [in] BSTR event,
12391             [in] IDispatch *pDisp);
12392
12393     [id(DISPID_IHTMLWINDOW3_SETTIMEOUT)]
12394     HRESULT setTimeout(
12395             [in] VARIANT *expression,
12396             [in] long msec,
12397             [in, optional] VARIANT *language,
12398             [out, retval] long *timerID);
12399
12400     [id(DISPID_IHTMLWINDOW3_SETINTERVAL)]
12401     HRESULT setInterval(
12402             [in] VARIANT *expression,
12403             [in] long msec,
12404             [in, optional] VARIANT *language,
12405             [out, retval] long *timerID);
12406
12407     [id(DISPID_IHTMLWINDOW3_PRINT)]
12408     HRESULT print();
12409
12410     [propput, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
12411     HRESULT onbeforeprint([in] VARIANT v);
12412
12413     [propget, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
12414     HRESULT onbeforeprint([out, retval] VARIANT *p);
12415
12416     [propput, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
12417     HRESULT onafterprint([in] VARIANT v);
12418
12419     [propget, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
12420     HRESULT onafterprint([out, retval] VARIANT *p);
12421
12422     [propget, id(DISPID_IHTMLWINDOW3_CLIPBOARDDATA)]
12423     HRESULT clipboardData([out, retval] IHTMLDataTransfer **p);
12424
12425     [id(DISPID_IHTMLWINDOW3_SHOWMODELESSDIALOG)]
12426     HRESULT showModelessDialog(
12427             [in, defaultvalue("")] BSTR url,
12428             [in, optional] VARIANT *varArgIn,
12429             [in, optional] VARIANT *options,
12430             [out, retval] IHTMLWindow2 **pDialog);
12431 }
12432
12433 /*****************************************************************************
12434  *    DispHTMLWindow2 dispinterface
12435  */
12436 [
12437     hidden,
12438     uuid(3050f55d-98b5-11cf-bb82-00aa00bdce0b)
12439 ]
12440 dispinterface DispHTMLWindow2
12441 {
12442 properties:
12443 methods:
12444     [id(DISPID_IHTMLFRAMESCOLLECTION2_ITEM)]
12445     VARIANT item([in] VARIANT *pvarIndex);
12446
12447     [propget, id(DISPID_IHTMLFRAMESCOLLECTION2_LENGTH)]
12448     long length();
12449
12450     [propget, id(DISPID_IHTMLWINDOW2_FRAMES)]
12451     IHTMLFramesCollection2 *frames();
12452
12453     [propput, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
12454     void defaultStatus(BSTR v);
12455
12456     [propget, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
12457     BSTR defaultStatus();
12458
12459     [propput, id(DISPID_IHTMLWINDOW2_STATUS)]
12460     void status(BSTR v);
12461
12462     [propget, id(DISPID_IHTMLWINDOW2_STATUS)]
12463     BSTR status();
12464
12465     [id(DISPID_IHTMLWINDOW2_CLEARTIMEOUT)]
12466     void clearTimeout([in] long timerID);
12467
12468     [id(DISPID_IHTMLWINDOW2_ALERT)]
12469     void alert([in, defaultvalue("")] BSTR message);
12470
12471     [id(DISPID_IHTMLWINDOW2_CONFIRM)]
12472     VARIANT_BOOL confirm([in, defaultvalue("")] BSTR message);
12473
12474     [id(DISPID_IHTMLWINDOW2_PROMPT)]
12475     VARIANT prompt(
12476             [in, defaultvalue("")] BSTR message,
12477             [in, defaultvalue("undefined")] BSTR defstr);
12478
12479     [propget, id(DISPID_IHTMLWINDOW2_IMAGE)]
12480     IHTMLImageElementFactory *Image();
12481
12482     [propget, id(DISPID_IHTMLWINDOW2_LOCATION)]
12483     IHTMLLocation *location();
12484
12485     [propget, id(DISPID_IHTMLWINDOW2_HISTORY)]
12486     IOmHistory *history();
12487
12488     [id(DISPID_IHTMLWINDOW2_CLOSE)]
12489     void close();
12490
12491     [propput, id(DISPID_IHTMLWINDOW2_OPENER)]
12492     void opener(VARIANT v);
12493
12494     [propget, id(DISPID_IHTMLWINDOW2_OPENER)]
12495     VARIANT opener();
12496
12497     [propget, id(DISPID_IHTMLWINDOW2_NAVIGATOR)]
12498     IOmNavigator *navigator();
12499
12500     [propput, id(DISPID_IHTMLWINDOW2_NAME)]
12501     void name(BSTR v);
12502
12503     [propget, id(DISPID_IHTMLWINDOW2_NAME)]
12504     BSTR name();
12505
12506     [propget, id(DISPID_IHTMLWINDOW2_PARENT)]
12507     IHTMLWindow2 *parent();
12508
12509     [id(DISPID_IHTMLWINDOW2_OPEN)]
12510     IHTMLWindow2 *open(
12511             [in, defaultvalue("")] BSTR url,
12512             [in, defaultvalue("")] BSTR name,
12513             [in, defaultvalue("")] BSTR features,
12514             [in, defaultvalue(0)]  VARIANT_BOOL replace);
12515
12516     [propget, id(DISPID_IHTMLWINDOW2_SELF)]
12517     IHTMLWindow2 *self();
12518
12519     [propget, id(DISPID_IHTMLWINDOW2_TOP)]
12520     IHTMLWindow2 *top();
12521
12522     [propget, id(DISPID_IHTMLWINDOW2_WINDOW)]
12523     IHTMLWindow2 *window();
12524
12525     [id(DISPID_IHTMLWINDOW2_NAVIGATE)]
12526     void navigate([in] BSTR url);
12527
12528     [propput, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
12529     void onfocus(VARIANT v);
12530
12531     [propget, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
12532     VARIANT onfocus();
12533
12534     [propput, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
12535     void onblur(VARIANT v);
12536
12537     [propget, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
12538     VARIANT onblur();
12539
12540     [propget, id(DISPID_IHTMLWINDOW2_ONLOAD), displaybind, bindable]
12541     VARIANT onload();
12542
12543     [propput, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
12544     void onbeforeunload(VARIANT v);
12545
12546     [propget, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
12547     VARIANT onbeforeunload();
12548
12549     [propput, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
12550     void onunload(VARIANT v);
12551
12552     [propget, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
12553     VARIANT onunload();
12554
12555     [propput, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
12556     void onhelp(VARIANT v);
12557
12558     [propget, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
12559     VARIANT onhelp();
12560
12561     [propput, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
12562     void onerror(VARIANT v);
12563
12564     [propget, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
12565     VARIANT onerror();
12566
12567     [propput, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
12568     void onresize(VARIANT v);
12569
12570     [propget, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
12571     VARIANT onresize();
12572
12573     [propput, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
12574     void onscroll(VARIANT v);
12575
12576     [propget, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
12577     VARIANT onscroll();
12578
12579     [propget, id(DISPID_IHTMLWINDOW2_DOCUMENT), source]
12580     IHTMLDocument2 *document();
12581
12582     [propget, id(DISPID_IHTMLWINDOW2_EVENT)]
12583     IHTMLEventObj *event();
12584
12585     [propget, id(DISPID_IHTMLWINDOW2__NEWENUM), hidden, restricted]
12586     IUnknown *_newEnum();
12587
12588     [id(DISPID_IHTMLWINDOW2_SHOWMODALDIALOG)]
12589     VARIANT showModalDialog(
12590             [in] BSTR dialog,
12591             [in, optional] VARIANT *varArgIn,
12592             [in, optional] VARIANT *varOptions);
12593
12594     [id(DISPID_IHTMLWINDOW2_SHOWHELP)]
12595     void showHelp(
12596             [in] BSTR helpURL,
12597             [in, optional] VARIANT helpArg,
12598             [in, defaultvalue("")] BSTR features);
12599
12600     [propget, id(DISPID_IHTMLWINDOW2_SCREEN)]
12601     IHTMLScreen *screen();
12602
12603     [propget, id(DISPID_IHTMLWINDOW2_OPTION)]
12604     IHTMLOptionElementFactory *Option();
12605
12606     [id(DISPID_IHTMLWINDOW2_FOCUS)]
12607     void focus();
12608
12609     [propget, id(DISPID_IHTMLWINDOW2_CLOSED)]
12610     VARIANT_BOOL closed();
12611
12612     [id(DISPID_IHTMLWINDOW2_BLUR)]
12613     void blur();
12614
12615     [id(DISPID_IHTMLWINDOW2_SCROLL)]
12616     void scroll([in] long x, [in] long y);
12617
12618     [propget, id(DISPID_IHTMLWINDOW2_CLIENTINFORMATION)]
12619     IOmNavigator *clientInformation();
12620
12621     [id(DISPID_IHTMLWINDOW2_CLEARINTERVAL)]
12622     void clearInterval([in] long timerID);
12623
12624     [propput, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
12625     void offscreenBuffering(VARIANT v);
12626
12627     [propget, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
12628     VARIANT offscreenBuffering();
12629
12630     [id(DISPID_IHTMLWINDOW2_EXECSCRIPT)]
12631     VARIANT execScript(
12632             [in] BSTR _code,
12633             [in, defaultvalue("JScript")] BSTR language);
12634
12635     [id(DISPID_IHTMLWINDOW2_TOSTRING)]
12636     BSTR toString();
12637
12638     [id(DISPID_IHTMLWINDOW2_SCROLLBY)]
12639     void scrollBy([in] long x, [in] long y);
12640
12641     [id(DISPID_IHTMLWINDOW2_SCROLLTO)]
12642     void scrollTo([in] long x, [in] long y);
12643
12644     [id(DISPID_IHTMLWINDOW2_MOVETO)]
12645     void moveTo([in] long x, [in] long y);
12646
12647     [id(DISPID_IHTMLWINDOW2_MOVEBY)]
12648     void moveBy([in] long x, [in] long y);
12649
12650     [id(DISPID_IHTMLWINDOW2_RESIZETO)]
12651     void resizeTo([in] long x, [in] long y);
12652
12653     [id(DISPID_IHTMLWINDOW2_RESIZEBY)]
12654     void resizeBy([in] long x, [in] long y);
12655
12656     [propget, id(DISPID_IHTMLWINDOW2_EXTERNAL)]
12657     IDispatch *external();
12658
12659     [propget, id(DISPID_IHTMLWINDOW3_SCREENLEFT)]
12660     long screenLeft();
12661
12662     [propget, id(DISPID_IHTMLWINDOW3_SCREENTOP)]
12663     long screenTop();
12664
12665     [id(DISPID_IHTMLWINDOW3_ATTACHEVENT)]
12666     VARIANT_BOOL attachEvent(
12667              [in] BSTR event,
12668              [in] IDispatch *pDisp);
12669
12670     [id(DISPID_IHTMLWINDOW3_DETACHEVENT)]
12671     void detachEvent(
12672             [in] BSTR event,
12673             [in] IDispatch *pDisp);
12674
12675     [id(DISPID_IHTMLWINDOW3_SETTIMEOUT)]
12676     long setTimeout(
12677             [in] VARIANT *expression,
12678             [in] long msec,
12679             [in, optional] VARIANT *language);
12680
12681     [id(DISPID_IHTMLWINDOW3_SETINTERVAL)]
12682     long setInterval(
12683             [in] VARIANT *expression,
12684             [in] long msec,
12685             [in, optional] VARIANT *language);
12686
12687     [id(DISPID_IHTMLWINDOW3_PRINT)]
12688     void print();
12689
12690     [propput, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
12691     void onbeforeprint(VARIANT v);
12692
12693     [propget, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
12694     VARIANT onbeforeprint();
12695
12696     [propput, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
12697     void onafterprint(VARIANT v);
12698
12699     [propget, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
12700     VARIANT onafterprint();
12701
12702     [propget, id(DISPID_IHTMLWINDOW3_CLIPBOARDDATA)]
12703     IHTMLDataTransfer *clipboardData();
12704
12705     [id(DISPID_IHTMLWINDOW3_SHOWMODELESSDIALOG)]
12706     IHTMLWindow2 *showModelessDialog(
12707             [in, defaultvalue("")] BSTR url,
12708             [in, optional] VARIANT *varArgIn,
12709             [in, optional] VARIANT *options);
12710
12711     [id(DISPID_IHTMLWINDOW4_CREATEPOPUP)]
12712     IDispatch *createPopup([in, optional] VARIANT *varArgIn);
12713
12714     [propget, id(DISPID_IHTMLWINDOW4_FRAMEELEMENT)]
12715     IHTMLFrameBase *frameElement();
12716 }
12717
12718 /*****************************************************************************
12719  *    HTMLDocumentEvents2 interface
12720  */
12721 [
12722     hidden,
12723     uuid(3050f613-98b5-11cf-bb82-00aa00bdce0b)
12724 ]
12725 dispinterface HTMLDocumentEvents2
12726 {
12727     properties:
12728     methods:
12729     [id(DISPID_HTMLDOCUMENTEVENTS2_ONHELP)]
12730     VARIANT_BOOL onhelp([in] IHTMLEventObj *pEvtObj);
12731
12732     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCLICK)]
12733     VARIANT_BOOL onclick([in] IHTMLEventObj *pEvtObj);
12734
12735     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDBLCLICK)]
12736     VARIANT_BOOL ondblclick([in] IHTMLEventObj *pEvtObj);
12737
12738     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYDOWN)]
12739     void onkeydown([in] IHTMLEventObj *pEvtObj);
12740
12741     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYUP)]
12742     void onkeyup([in] IHTMLEventObj *pEvtObj);
12743
12744     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYPRESS)]
12745     VARIANT_BOOL onkeypress([in] IHTMLEventObj *pEvtObj);
12746
12747     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEDOWN)]
12748     void onmousedown([in] IHTMLEventObj *pEvtObj);
12749
12750     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEMOVE)]
12751     void onmousemove([in] IHTMLEventObj *pEvtObj);
12752
12753     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEUP)]
12754     void onmouseup([in] IHTMLEventObj *pEvtObj);
12755
12756     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEOUT)]
12757     void onmouseout([in] IHTMLEventObj *pEvtObj);
12758
12759     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEOVER)]
12760     void onmouseover([in] IHTMLEventObj *pEvtObj);
12761
12762     [id(DISPID_HTMLDOCUMENTEVENTS2_ONREADYSTATECHANGE)]
12763     void onreadystatechange([in] IHTMLEventObj *pEvtObj);
12764
12765     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREUPDATE)]
12766     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj *pEvtObj);
12767
12768     [id(DISPID_HTMLDOCUMENTEVENTS2_ONAFTERUPDATE)]
12769     void onafterupdate([in] IHTMLEventObj *pEvtObj);
12770
12771     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWEXIT)]
12772     VARIANT_BOOL onrowexit([in] IHTMLEventObj *pEvtObj);
12773
12774     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWENTER)]
12775     void onrowenter([in] IHTMLEventObj *pEvtObj);
12776
12777     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDRAGSTART)]
12778     VARIANT_BOOL ondragstart([in] IHTMLEventObj *pEvtObj);
12779
12780     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSELECTSTART)]
12781     VARIANT_BOOL onselectstart([in] IHTMLEventObj *pEvtObj);
12782
12783     [id(DISPID_HTMLDOCUMENTEVENTS2_ONERRORUPDATE)]
12784     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj *pEvtObj);
12785
12786     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCONTEXTMENU)]
12787     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj *pEvtObj);
12788
12789     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSTOP)]
12790     VARIANT_BOOL onstop([in] IHTMLEventObj *pEvtObj);
12791
12792     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWSDELETE)]
12793     void onrowsdelete([in] IHTMLEventObj *pEvtObj);
12794
12795     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWSINSERTED)]
12796     void onrowsinserted([in] IHTMLEventObj *pEvtObj);
12797
12798     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCELLCHANGE)]
12799     void oncellchange([in] IHTMLEventObj *pEvtObj);
12800
12801     [id(DISPID_HTMLDOCUMENTEVENTS2_ONPROPERTYCHANGE)]
12802     void onpropertychange([in] IHTMLEventObj *pEvtObj);
12803
12804     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATASETCHANGED)]
12805     void ondatasetchanged([in] IHTMLEventObj *pEvtObj);
12806
12807     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATAAVAILABLE)]
12808     void ondataavailable([in] IHTMLEventObj *pEvtObj);
12809
12810     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATASETCOMPLETE)]
12811     void ondatasetcomplete([in] IHTMLEventObj *pEvtObj);
12812
12813     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREEDITFOCUS)]
12814     void onbeforeeditfocus([in] IHTMLEventObj *pEvtObj);
12815
12816     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSELECTIONCHANGE)]
12817     void onselectionchange([in] IHTMLEventObj *pEvtObj);
12818
12819     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCONTROLSELECT)]
12820     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj *pEvtObj);
12821
12822     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEWHEEL)]
12823     VARIANT_BOOL onmousewheel([in] IHTMLEventObj *pEvtObj);
12824
12825     [id(DISPID_HTMLDOCUMENTEVENTS2_ONFOCUSIN)]
12826     void onfocusin([in] IHTMLEventObj *pEvtObj);
12827
12828     [id(DISPID_HTMLDOCUMENTEVENTS2_ONFOCUSOUT)]
12829     void onfocusout([in] IHTMLEventObj *pEvtObj);
12830
12831     [id(DISPID_HTMLDOCUMENTEVENTS2_ONACTIVATE)]
12832     void onactivate([in] IHTMLEventObj *pEvtObj);
12833
12834     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDEACTIVATE)]
12835     void ondeactivate([in] IHTMLEventObj *pEvtObj);
12836
12837     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREACTIVATE)]
12838     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj *pEvtObj);
12839
12840     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREDEACTIVATE)]
12841     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj *pEvtObj);
12842 }
12843
12844 /*****************************************************************************
12845  *    HTMLDocumentEvents interface
12846  */
12847 [
12848     hidden,
12849     uuid(3050f260-98b5-11cf-bb82-00aa00bdce0b)
12850 ]
12851 dispinterface HTMLDocumentEvents
12852 {
12853     properties:
12854     methods:
12855     [id(DISPID_HTMLDOCUMENTEVENTS_ONHELP)]
12856     VARIANT_BOOL onhelp();
12857
12858     [id(DISPID_HTMLDOCUMENTEVENTS_ONCLICK)]
12859     VARIANT_BOOL onclick();
12860
12861     [id(DISPID_HTMLDOCUMENTEVENTS_ONDBLCLICK)]
12862     VARIANT_BOOL ondblclick();
12863
12864     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYDOWN)]
12865     void onkeydown();
12866
12867     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYUP)]
12868     void onkeyup();
12869
12870     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYPRESS)]
12871     VARIANT_BOOL onkeypress();
12872
12873     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEDOWN)]
12874     void onmousedown();
12875
12876     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEMOVE)]
12877     void onmousemove();
12878
12879     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEUP)]
12880     void onmouseup();
12881
12882     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEOUT)]
12883     void onmouseout();
12884
12885     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEOVER)]
12886     void onmouseover();
12887
12888     [id(DISPID_HTMLDOCUMENTEVENTS_ONREADYSTATECHANGE)]
12889     void onreadystatechange();
12890
12891     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREUPDATE)]
12892     VARIANT_BOOL onbeforeupdate();
12893
12894     [id(DISPID_HTMLDOCUMENTEVENTS_ONAFTERUPDATE)]
12895     void onafterupdate();
12896
12897     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWEXIT)]
12898     VARIANT_BOOL onrowexit();
12899
12900     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWENTER)]
12901     void onrowenter();
12902
12903     [id(DISPID_HTMLDOCUMENTEVENTS_ONDRAGSTART)]
12904     VARIANT_BOOL ondragstart();
12905
12906     [id(DISPID_HTMLDOCUMENTEVENTS_ONSELECTSTART)]
12907     VARIANT_BOOL onselectstart();
12908
12909     [id(DISPID_HTMLDOCUMENTEVENTS_ONERRORUPDATE)]
12910     VARIANT_BOOL onerrorupdate();
12911
12912     [id(DISPID_HTMLDOCUMENTEVENTS_ONCONTEXTMENU)]
12913     VARIANT_BOOL oncontextmenu();
12914
12915     [id(DISPID_HTMLDOCUMENTEVENTS_ONSTOP)]
12916     VARIANT_BOOL onstop();
12917
12918     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWSDELETE)]
12919     void onrowsdelete();
12920
12921     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWSINSERTED)]
12922     void onrowsinserted();
12923
12924     [id(DISPID_HTMLDOCUMENTEVENTS_ONCELLCHANGE)]
12925     void oncellchange();
12926
12927     [id(DISPID_HTMLDOCUMENTEVENTS_ONPROPERTYCHANGE)]
12928     void onpropertychange();
12929
12930     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATASETCHANGED)]
12931     void ondatasetchanged();
12932
12933     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATAAVAILABLE)]
12934     void ondataavailable();
12935
12936     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATASETCOMPLETE)]
12937     void ondatasetcomplete();
12938
12939     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREEDITFOCUS)]
12940     void onbeforeeditfocus();
12941
12942     [id(DISPID_HTMLDOCUMENTEVENTS_ONSELECTIONCHANGE)]
12943     void onselectionchange();
12944
12945     [id(DISPID_HTMLDOCUMENTEVENTS_ONCONTROLSELECT)]
12946     VARIANT_BOOL oncontrolselect();
12947
12948     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEWHEEL)]
12949     VARIANT_BOOL onmousewheel();
12950
12951     [id(DISPID_HTMLDOCUMENTEVENTS_ONFOCUSIN)]
12952     void onfocusin();
12953
12954     [id(DISPID_HTMLDOCUMENTEVENTS_ONFOCUSOUT)]
12955     void onfocusout();
12956
12957     [id(DISPID_HTMLDOCUMENTEVENTS_ONACTIVATE)]
12958     void onactivate();
12959
12960     [id(DISPID_HTMLDOCUMENTEVENTS_ONDEACTIVATE)]
12961     void ondeactivate();
12962
12963     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREACTIVATE)]
12964     VARIANT_BOOL onbeforeactivate();
12965
12966     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREDEACTIVATE)]
12967     VARIANT_BOOL onbeforedeactivate();
12968 }
12969
12970 /*****************************************************************************
12971  *    HTMLTextContainerEvents interface
12972  */
12973 [
12974     hidden,
12975     uuid(1ff6aa72-5842-11cf-a707-00aa00c0098d)
12976 ]
12977 dispinterface HTMLTextContainerEvents
12978 {
12979 properties:
12980
12981 methods:
12982     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
12983     VARIANT_BOOL onhelp();
12984
12985     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
12986     VARIANT_BOOL onclick();
12987
12988     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
12989     VARIANT_BOOL ondblclick();
12990
12991     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
12992     VARIANT_BOOL onkeypress();
12993
12994     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
12995     void onkeydown();
12996
12997     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
12998     void onkeyup();
12999
13000     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
13001     void onmouseout();
13002
13003     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
13004     void onmouseover();
13005
13006     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
13007     void onmousemove();
13008
13009     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
13010     void onmousedown();
13011
13012     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
13013     void onmouseup();
13014
13015     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
13016     VARIANT_BOOL onselectstart();
13017
13018     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
13019     void onfilterchange();
13020
13021     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
13022     VARIANT_BOOL ondragstart();
13023
13024     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
13025     VARIANT_BOOL onbeforeupdate();
13026
13027     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
13028     void onafterupdate();
13029
13030     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
13031     VARIANT_BOOL onerrorupdate();
13032
13033     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
13034     VARIANT_BOOL onrowexit();
13035
13036     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
13037     void onrowenter();
13038
13039     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
13040     void ondatasetchanged();
13041
13042     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
13043     void ondataavailable();
13044
13045     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
13046     void ondatasetcomplete();
13047
13048     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
13049     void onlosecapture();
13050
13051     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
13052     void onpropertychange();
13053
13054     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
13055     void onscroll();
13056
13057     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
13058     void onfocus();
13059
13060     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
13061     void onblur();
13062
13063     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
13064     void onresize();
13065
13066     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
13067     VARIANT_BOOL ondrag();
13068
13069     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
13070     void ondragend();
13071
13072     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
13073     VARIANT_BOOL ondragenter();
13074
13075     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
13076     VARIANT_BOOL ondragover();
13077
13078     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
13079     void ondragleave();
13080
13081     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
13082     VARIANT_BOOL ondrop();
13083
13084     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
13085     VARIANT_BOOL onbeforecut();
13086
13087     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
13088     VARIANT_BOOL oncut();
13089
13090     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
13091     VARIANT_BOOL onbeforecopy();
13092
13093     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
13094     VARIANT_BOOL oncopy();
13095
13096     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
13097     VARIANT_BOOL onbeforepaste();
13098
13099     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
13100     VARIANT_BOOL onpaste();
13101
13102     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
13103     VARIANT_BOOL oncontextmenu();
13104
13105     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
13106     void onrowsdelete();
13107
13108     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
13109     void onrowsinserted();
13110
13111     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
13112     void oncellchange();
13113
13114     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
13115     void onreadystatechange();
13116
13117     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
13118     void onbeforeeditfocus();
13119
13120     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
13121     void onlayoutcomplete();
13122
13123     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
13124     void onpage();
13125
13126     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
13127     VARIANT_BOOL onbeforedeactivate();
13128
13129     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
13130     VARIANT_BOOL onbeforeactivate();
13131
13132     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
13133     void onmove();
13134
13135     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
13136     VARIANT_BOOL oncontrolselect();
13137
13138     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
13139     VARIANT_BOOL onmovestart();
13140
13141     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
13142     void onmoveend();
13143
13144     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
13145     VARIANT_BOOL onresizestart();
13146
13147     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
13148     void onresizeend();
13149
13150     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
13151     void onmouseenter();
13152
13153     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
13154     void onmouseleave();
13155
13156     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
13157     VARIANT_BOOL onmousewheel();
13158
13159     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
13160     void onactivate();
13161
13162     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
13163     void ondeactivate();
13164
13165     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
13166     void onfocusin();
13167
13168     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
13169     void onfocusout();
13170
13171     [id(DISPID_HTMLTEXTCONTAINEREVENTS_ONCHANGE)]
13172     void onchange();
13173
13174     [id(DISPID_HTMLTEXTCONTAINEREVENTS_ONSELECT)]
13175     void onselect();
13176 };
13177
13178 /*****************************************************************************
13179  *    HTMLTextContainerEvents2 interface
13180  */
13181 [
13182     hidden,
13183     uuid(3050f624-98b5-11cf-bb82-00aa00bdce0b)
13184 ]
13185 dispinterface HTMLTextContainerEvents2
13186 {
13187 properties:
13188 methods:
13189     [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)]
13190     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
13191
13192     [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)]
13193     VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
13194
13195     [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)]
13196     VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
13197
13198     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)]
13199     VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
13200
13201     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)]
13202     void onkeydown([in] IHTMLEventObj* pEvtObj);
13203
13204     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)]
13205     void onkeyup([in] IHTMLEventObj* pEvtObj);
13206
13207     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)]
13208     void onmouseout([in] IHTMLEventObj* pEvtObj);
13209
13210     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)]
13211     void onmouseover([in] IHTMLEventObj* pEvtObj);
13212
13213     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)]
13214     void onmousemove([in] IHTMLEventObj* pEvtObj);
13215
13216     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)]
13217     void onmousedown([in] IHTMLEventObj* pEvtObj);
13218
13219     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)]
13220     void onmouseup([in] IHTMLEventObj* pEvtObj);
13221
13222     [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)]
13223     VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
13224
13225     [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)]
13226     void onfilterchange([in] IHTMLEventObj* pEvtObj);
13227
13228     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)]
13229     VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
13230
13231     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)]
13232     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
13233
13234     [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)]
13235     void onafterupdate([in] IHTMLEventObj* pEvtObj);
13236
13237     [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)]
13238     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
13239
13240     [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)]
13241     VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
13242
13243     [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)]
13244     void onrowenter([in] IHTMLEventObj* pEvtObj);
13245
13246     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)]
13247     void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
13248
13249     [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)]
13250     void ondataavailable([in] IHTMLEventObj* pEvtObj);
13251
13252     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)]
13253     void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
13254
13255     [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)]
13256     void onlosecapture([in] IHTMLEventObj* pEvtObj);
13257
13258     [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)]
13259     void onpropertychange([in] IHTMLEventObj* pEvtObj);
13260
13261     [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)]
13262     void onscroll([in] IHTMLEventObj* pEvtObj);
13263
13264     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)]
13265     void onfocus([in] IHTMLEventObj* pEvtObj);
13266
13267     [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)]
13268     void onblur([in] IHTMLEventObj* pEvtObj);
13269
13270     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)]
13271     void onresize([in] IHTMLEventObj* pEvtObj);
13272
13273     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)]
13274     VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
13275
13276     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)]
13277     void ondragend([in] IHTMLEventObj* pEvtObj);
13278
13279     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)]
13280     VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
13281
13282     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)]
13283     VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
13284
13285     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)]
13286     void ondragleave([in] IHTMLEventObj* pEvtObj);
13287
13288     [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)]
13289     VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
13290
13291     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)]
13292     VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
13293
13294     [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)]
13295     VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
13296
13297     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)]
13298     VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
13299
13300     [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)]
13301     VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
13302
13303     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)]
13304     VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
13305
13306     [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)]
13307     VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
13308
13309     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)]
13310     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
13311
13312     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)]
13313     void onrowsdelete([in] IHTMLEventObj* pEvtObj);
13314
13315     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)]
13316     void onrowsinserted([in] IHTMLEventObj* pEvtObj);
13317
13318     [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)]
13319     void oncellchange([in] IHTMLEventObj* pEvtObj);
13320
13321     [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)]
13322     void onreadystatechange([in] IHTMLEventObj* pEvtObj);
13323
13324     [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)]
13325     void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
13326
13327     [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)]
13328     void onpage([in] IHTMLEventObj* pEvtObj);
13329
13330     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)]
13331     void onmouseenter([in] IHTMLEventObj* pEvtObj);
13332
13333     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)]
13334     void onmouseleave([in] IHTMLEventObj* pEvtObj);
13335
13336     [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)]
13337     void onactivate([in] IHTMLEventObj* pEvtObj);
13338
13339     [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)]
13340     void ondeactivate([in] IHTMLEventObj* pEvtObj);
13341
13342     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)]
13343     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
13344
13345     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)]
13346     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
13347
13348     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)]
13349     void onfocusin([in] IHTMLEventObj* pEvtObj);
13350
13351     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)]
13352     void onfocusout([in] IHTMLEventObj* pEvtObj);
13353
13354     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)]
13355     void onmove([in] IHTMLEventObj* pEvtObj);
13356
13357     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)]
13358     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
13359
13360     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)]
13361     VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
13362
13363     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)]
13364     void onmoveend([in] IHTMLEventObj* pEvtObj);
13365
13366     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)]
13367     VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
13368
13369     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)]
13370     void onresizeend([in] IHTMLEventObj* pEvtObj);
13371
13372     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)]
13373     VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
13374
13375     [id(DISPID_HTMLTEXTCONTAINEREVENTS2_ONCHANGE)]
13376     void onchange([in] IHTMLEventObj* pEvtObj);
13377
13378     [id(DISPID_HTMLTEXTCONTAINEREVENTS2_ONSELECT)]
13379     void onselect([in] IHTMLEventObj* pEvtObj);
13380 };
13381
13382 /*****************************************************************************
13383  *    IHTMLDocument interface
13384  */
13385 [
13386     odl,
13387     oleautomation,
13388     dual,
13389     uuid(626FC520-A41E-11CF-A731-00A0C9082637)
13390 ]
13391 interface IHTMLDocument : IDispatch
13392 {
13393     [propget, id(DISPID_IHTMLDOCUMENT_SCRIPT)]
13394     HRESULT Script([retval, out] IDispatch **p);
13395 }
13396
13397 /*****************************************************************************
13398  *    IHTMLDocument2 interface
13399  */
13400 [
13401     odl,
13402     oleautomation,
13403     dual,
13404     uuid(332C4425-26CB-11D0-B483-00C04FD90119)
13405 ]
13406 interface IHTMLDocument2 : IHTMLDocument
13407 {
13408     [propget, id(DISPID_IHTMLDOCUMENT2_ALL)]
13409     HRESULT all([retval, out] IHTMLElementCollection **p);
13410
13411     [propget, id(DISPID_IHTMLDOCUMENT2_BODY)]
13412     HRESULT body([retval, out] IHTMLElement **p);
13413
13414     [propget, id(DISPID_IHTMLDOCUMENT2_ACTIVEELEMENT)]
13415     HRESULT activeElement([retval, out] IHTMLElement **p);
13416
13417     [propget, id(DISPID_IHTMLDOCUMENT2_IMAGES)]
13418     HRESULT images([retval, out] IHTMLElementCollection **p);
13419
13420     [propget, id(DISPID_IHTMLDOCUMENT2_APPLETS)]
13421     HRESULT applets([retval, out] IHTMLElementCollection **p);
13422
13423     [propget, id(DISPID_IHTMLDOCUMENT2_LINKS)]
13424     HRESULT links([retval, out] IHTMLElementCollection **p);
13425
13426     [propget, id(DISPID_IHTMLDOCUMENT2_FORMS)]
13427     HRESULT forms([retval, out] IHTMLElementCollection **p);
13428
13429     [propget, id(DISPID_IHTMLDOCUMENT2_ANCHORS)]
13430     HRESULT anchors([retval, out] IHTMLElementCollection **p);
13431
13432     [propput, id(DISPID_IHTMLDOCUMENT2_TITLE)]
13433     HRESULT title([in] BSTR v);
13434
13435     [propget, id(DISPID_IHTMLDOCUMENT2_TITLE)]
13436     HRESULT title([retval, out] BSTR *p);
13437
13438     [propget, id(DISPID_IHTMLDOCUMENT2_SCRIPTS)]
13439     HRESULT scripts([retval, out] IHTMLElementCollection **p);
13440
13441     [propput, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE)]
13442     HRESULT designMode([in] BSTR v);
13443
13444     [propget, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE)]
13445     HRESULT designMode([retval, out] BSTR *p);
13446
13447     [propget, id(DISPID_IHTMLDOCUMENT2_SELECTION)]
13448     HRESULT selection([retval, out] IHTMLSelectionObject **p);
13449
13450     [propget, id(DISPID_IHTMLDOCUMENT2_READYSTATE)]
13451      HRESULT readyState([retval, out] BSTR *p);
13452
13453     [propget, id(DISPID_IHTMLDOCUMENT2_FRAMES)]
13454     HRESULT frames([retval, out] IHTMLFramesCollection2 **p);
13455
13456     [propget, id(DISPID_IHTMLDOCUMENT2_EMBEDS)]
13457     HRESULT embeds([retval, out] IHTMLElementCollection **p);
13458
13459     [propget, id(DISPID_IHTMLDOCUMENT2_PLUGINS)]
13460     HRESULT plugins([retval, out] IHTMLElementCollection **p);
13461
13462     [propput, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
13463     HRESULT alinkColor([in] VARIANT v);
13464
13465     [propget, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
13466     HRESULT alinkColor([retval, out] VARIANT *p);
13467
13468     [propput, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
13469     HRESULT bgColor([in] VARIANT v);
13470
13471     [propget, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
13472     HRESULT bgColor([retval, out] VARIANT *p);
13473
13474     [propput, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
13475     HRESULT fgColor([in] VARIANT v);
13476
13477     [propget, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
13478     HRESULT fgColor([retval, out] VARIANT *p);
13479
13480     [propput, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
13481     HRESULT linkColor([in] VARIANT v);
13482
13483     [propget, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
13484     HRESULT linkColor([retval, out] VARIANT *p);
13485
13486     [propput, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
13487     HRESULT vlinkColor([in] VARIANT v);
13488
13489     [propget, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
13490     HRESULT vlinkColor([retval, out] VARIANT *p);
13491
13492     [propget, id(DISPID_IHTMLDOCUMENT2_REFERRER)]
13493     HRESULT referrer([retval, out] BSTR *p);
13494
13495     [propget, id(DISPID_IHTMLDOCUMENT2_LOCATION)]
13496     HRESULT location([retval, out] IHTMLLocation **p);
13497
13498     [propget, id(DISPID_IHTMLDOCUMENT2_LASTMODIFIED)]
13499     HRESULT lastModified([retval, out] BSTR *p);
13500
13501     [propput, id(DISPID_IHTMLDOCUMENT2_URL)]
13502     HRESULT URL([in] BSTR v);
13503
13504     [propget, id(DISPID_IHTMLDOCUMENT2_URL)]
13505     HRESULT URL([retval, out] BSTR *p);
13506
13507     [propput, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
13508     HRESULT domain([in] BSTR v);
13509
13510     [propget, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
13511     HRESULT domain([retval, out] BSTR *p);
13512
13513     [propput, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
13514     HRESULT cookie([in] BSTR v);
13515
13516     [propget, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
13517     HRESULT cookie([retval, out] BSTR *p);
13518
13519     [propput, id(DISPID_IHTMLDOCUMENT2_EXPANDO)]
13520     HRESULT expando([in] VARIANT_BOOL v);
13521
13522     [propget, id(DISPID_IHTMLDOCUMENT2_EXPANDO)]
13523     HRESULT expando([retval, out] VARIANT_BOOL *p);
13524
13525     [propput, id(DISPID_IHTMLDOCUMENT2_CHARSET)]
13526      HRESULT charset([in] BSTR v);
13527
13528     [propget, id(DISPID_IHTMLDOCUMENT2_CHARSET)]
13529     HRESULT charset([retval, out] BSTR *p);
13530
13531     [propput, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
13532     HRESULT defaultCharset([in] BSTR v);
13533
13534     [propget, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
13535     HRESULT defaultCharset([retval, out] BSTR *p);
13536
13537     [propget, id(DISPID_IHTMLDOCUMENT2_MIMETYPE)]
13538     HRESULT mimeType([retval, out] BSTR *p);
13539
13540     [propget, id(DISPID_IHTMLDOCUMENT2_FILESIZE)]
13541     HRESULT fileSize([retval, out] BSTR *p);
13542
13543     [propget, id(DISPID_IHTMLDOCUMENT2_FILECREATEDDATE)]
13544     HRESULT fileCreatedDate([retval, out] BSTR *p);
13545
13546     [propget, id(DISPID_IHTMLDOCUMENT2_FILEMODIFIEDDATE)]
13547     HRESULT fileModifiedDate([retval, out] BSTR *p);
13548
13549     [propget, id(DISPID_IHTMLDOCUMENT2_FILEUPDATEDDATE)]
13550     HRESULT fileUpdatedDate([retval, out] BSTR *p);
13551
13552     [propget, id(DISPID_IHTMLDOCUMENT2_SECURITY)]
13553     HRESULT security([retval, out] BSTR *p);
13554
13555     [propget, id(DISPID_IHTMLDOCUMENT2_PROTOCOL)]
13556     HRESULT protocol([retval, out] BSTR *p);
13557
13558     [propget, id(DISPID_IHTMLDOCUMENT2_NAMEPROP)]
13559      HRESULT nameProp([retval, out] BSTR *p);
13560
13561     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITE)]
13562     HRESULT write([in] SAFEARRAY(VARIANT) psarray);
13563
13564     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITELN)]
13565     HRESULT writeln([in] SAFEARRAY(VARIANT) psarray);
13566
13567     [id(DISPID_IHTMLDOCUMENT2_OPEN)]
13568     HRESULT open(
13569         [defaultvalue("text/html"), in] BSTR url,
13570         [optional, in] VARIANT name,
13571         [optional, in] VARIANT features,
13572         [optional, in] VARIANT replace,
13573         [retval, out]  IDispatch **pomWindowResult);
13574
13575     [id(DISPID_IHTMLDOCUMENT2_CLOSE)]
13576     HRESULT close();
13577
13578     [id(DISPID_IHTMLDOCUMENT2_CLEAR)]
13579     HRESULT clear();
13580
13581     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSUPPORTED)]
13582     HRESULT queryCommandSupported(
13583         [in] BSTR cmdID,
13584         [retval, out] VARIANT_BOOL *pfRet);
13585
13586     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDENABLED)]
13587     HRESULT queryCommandEnabled(
13588         [in] BSTR cmdID,
13589         [retval, out] VARIANT_BOOL *pfRet);
13590
13591     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSTATE)]
13592     HRESULT queryCommandState(
13593         [in] BSTR cmdID,
13594         [retval, out] VARIANT_BOOL *pfRet);
13595
13596     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDINDETERM)]
13597     HRESULT queryCommandIndeterm(
13598         [in] BSTR cmdID,
13599         [retval, out] VARIANT_BOOL *pfRet);
13600
13601     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDTEXT)]
13602     HRESULT queryCommandText(
13603         [in] BSTR cmdID,
13604         [retval, out] BSTR *pcmdText);
13605
13606     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDVALUE)]
13607     HRESULT queryCommandValue(
13608         [in] BSTR cmdID,
13609         [retval, out] VARIANT *pcmdValue);
13610
13611     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMAND)]
13612     HRESULT execCommand(
13613         [in] BSTR cmdID,
13614         [defaultvalue(0), in] VARIANT_BOOL showUI,
13615         [optional, in] VARIANT value,
13616         [retval, out] VARIANT_BOOL *pfRet);
13617
13618     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMANDSHOWHELP)]
13619     HRESULT execCommandShowHelp(
13620         [in] BSTR cmdID,
13621         [retval, out] VARIANT_BOOL *pfRet);
13622
13623     [id(DISPID_IHTMLDOCUMENT2_CREATEELEMENT)]
13624      HRESULT createElement(
13625         [in] BSTR eTag,
13626         [retval, out] IHTMLElement **newElem);
13627
13628     [propput, id(DISPID_IHTMLDOCUMENT2_ONHELP)]
13629     HRESULT onhelp([in] VARIANT v);
13630
13631     [propget, id(DISPID_IHTMLDOCUMENT2_ONHELP)]
13632     HRESULT onhelp([retval, out] VARIANT *p);
13633
13634     [propput, id(DISPID_IHTMLDOCUMENT2_ONCLICK)]
13635     HRESULT onclick([in] VARIANT v);
13636
13637     [propget, id(DISPID_IHTMLDOCUMENT2_ONCLICK)]
13638     HRESULT onclick([retval, out] VARIANT *p);
13639
13640     [propput, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK)]
13641     HRESULT ondblclick([in] VARIANT v);
13642
13643     [propget, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK)]
13644     HRESULT ondblclick([retval, out] VARIANT *p);
13645
13646     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYUP)]
13647     HRESULT onkeyup([in] VARIANT v);
13648
13649     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYUP)]
13650     HRESULT onkeyup([retval, out] VARIANT *p);
13651
13652     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN)]
13653     HRESULT onkeydown([in] VARIANT v);
13654
13655     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN)]
13656     HRESULT onkeydown([retval, out] VARIANT *p);
13657
13658     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS)]
13659      HRESULT onkeypress([in] VARIANT v);
13660
13661     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS)]
13662     HRESULT onkeypress([retval, out] VARIANT *p);
13663
13664     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP)]
13665     HRESULT onmouseup([in] VARIANT v);
13666
13667     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP)]
13668     HRESULT onmouseup([retval, out] VARIANT *p);
13669
13670     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN)]
13671     HRESULT onmousedown([in] VARIANT v);
13672
13673     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN)]
13674     HRESULT onmousedown([retval, out] VARIANT *p);
13675
13676     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE)]
13677     HRESULT onmousemove([in] VARIANT v);
13678
13679     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE)]
13680     HRESULT onmousemove([retval, out] VARIANT *p);
13681
13682     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT)]
13683     HRESULT onmouseout([in] VARIANT v);
13684
13685     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT)]
13686     HRESULT onmouseout([retval, out] VARIANT *p);
13687
13688     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER)]
13689     HRESULT onmouseover([in] VARIANT v);
13690
13691     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER)]
13692     HRESULT onmouseover([retval, out] VARIANT *p);
13693
13694     [propput, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE)]
13695     HRESULT onreadystatechange([in] VARIANT v);
13696
13697     [propget, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE)]
13698     HRESULT onreadystatechange([retval, out] VARIANT *p);
13699
13700     [propput, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE)]
13701     HRESULT onafterupdate([in] VARIANT v);
13702
13703     [propget, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE)]
13704     HRESULT onafterupdate([retval, out] VARIANT *p);
13705
13706     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT)]
13707     HRESULT onrowexit([in] VARIANT v);
13708
13709     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT)]
13710     HRESULT onrowexit([retval, out] VARIANT *p);
13711
13712     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWENTER)]
13713     HRESULT onrowenter([in] VARIANT v);
13714
13715     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWENTER)]
13716     HRESULT onrowenter([retval, out] VARIANT *p);
13717
13718     [propput, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART)]
13719     HRESULT ondragstart([in] VARIANT v);
13720
13721     [propget, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART)]
13722     HRESULT ondragstart([retval, out] VARIANT *p);
13723
13724     [propput, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART)]
13725     HRESULT onselectstart([in] VARIANT v);
13726
13727     [propget, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART)]
13728     HRESULT onselectstart([retval, out] VARIANT *p);
13729
13730     [id(DISPID_IHTMLDOCUMENT2_ELEMENTFROMPOINT)]
13731     HRESULT elementFromPoint(
13732         [in] long x,
13733         [in] long y,
13734         [retval, out] IHTMLElement **elementHit);
13735
13736     [propget, id(DISPID_IHTMLDOCUMENT2_PARENTWINDOW)]
13737     HRESULT parentWindow([retval, out] IHTMLWindow2 **p);
13738
13739     [propget, id(DISPID_IHTMLDOCUMENT2_STYLESHEETS)]
13740     HRESULT styleSheets([retval, out] IHTMLStyleSheetsCollection **p);
13741
13742     [propput, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE)]
13743     HRESULT onbeforeupdate([in] VARIANT v);
13744
13745     [propget, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE)]
13746     HRESULT onbeforeupdate([retval, out] VARIANT *p);
13747
13748     [propput, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE)]
13749     HRESULT onerrorupdate([in] VARIANT v);
13750
13751     [propget, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE)]
13752     HRESULT onerrorupdate([retval, out] VARIANT *p);
13753
13754     [id(DISPID_IHTMLDOCUMENT2_TOSTRING)]
13755     HRESULT toString([retval, out] BSTR *String);
13756
13757     [id(DISPID_IHTMLDOCUMENT2_CREATESTYLESHEET)]
13758     HRESULT createStyleSheet(
13759         [defaultvalue(""), in] BSTR bstrHref,
13760         [defaultvalue(-1), in] long lIndex,
13761         [retval, out] IHTMLStyleSheet **ppnewStyleSheet);
13762 }
13763
13764 /*****************************************************************************
13765  *    IHTMLDocument3 interface
13766  */
13767 [
13768     odl,
13769     oleautomation,
13770     dual,
13771     uuid(3050f485-98b5-11cf-bb82-00aa00bdce0b)
13772 ]
13773 interface IHTMLDocument3 : IDispatch
13774 {
13775     [id(DISPID_IHTMLDOCUMENT3_RELEASECAPTURE)]
13776     HRESULT releaseCapture();
13777
13778     [id(DISPID_IHTMLDOCUMENT3_RECALC)]
13779     HRESULT recalc([defaultvalue(0), in] VARIANT_BOOL fForce);
13780
13781     [id(DISPID_IHTMLDOCUMENT3_CREATETEXTNODE)]
13782     HRESULT createTextNode(
13783         [in] BSTR text,
13784         [retval, out] IHTMLDOMNode **newTextNode);
13785
13786     [propget, id(DISPID_IHTMLDOCUMENT3_DOCUMENTELEMENT)]
13787     HRESULT documentElement([retval, out] IHTMLElement **p);
13788
13789     [propget, id(DISPID_IHTMLDOCUMENT3_UNIQUEID), hidden]
13790     HRESULT uniqueID([retval, out] BSTR *p);
13791
13792     [id(DISPID_IHTMLDOCUMENT3_ATTACHEVENT)]
13793     HRESULT attachEvent(
13794         [in] BSTR event,
13795         [in] IDispatch* pDisp,
13796         [retval, out] VARIANT_BOOL *pfResult);
13797
13798     [id(DISPID_IHTMLDOCUMENT3_DETACHEVENT)]
13799     HRESULT detachEvent(
13800         [in] BSTR event,
13801         [in] IDispatch *pDisp);
13802
13803     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
13804     HRESULT onrowsdelete([in] VARIANT v);
13805
13806     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
13807     HRESULT onrowsdelete([retval, out] VARIANT *p);
13808
13809     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
13810     HRESULT onrowsinserted([in] VARIANT v);
13811
13812     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
13813     HRESULT onrowsinserted([retval, out] VARIANT *p);
13814
13815     [propput, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
13816     HRESULT oncellchange([in] VARIANT v);
13817
13818     [propget, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
13819     HRESULT oncellchange([retval, out] VARIANT *p);
13820
13821     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
13822     HRESULT ondatasetchanged([in] VARIANT v);
13823
13824     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
13825     HRESULT ondatasetchanged([retval, out] VARIANT *p);
13826
13827     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
13828     HRESULT ondataavailable([in] VARIANT v);
13829
13830     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
13831     HRESULT ondataavailable([retval, out] VARIANT * p);
13832
13833     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
13834     HRESULT ondatasetcomplete([in] VARIANT v);
13835
13836     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
13837     HRESULT ondatasetcomplete([retval, out] VARIANT *p);
13838
13839     [propput, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
13840     HRESULT onpropertychange([in] VARIANT v);
13841
13842     [propget, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
13843     HRESULT onpropertychange([retval, out] VARIANT *p);
13844
13845     [propput, id(DISPID_IHTMLDOCUMENT3_DIR)]
13846     HRESULT dir([in] BSTR v);
13847
13848     [propget, id(DISPID_IHTMLDOCUMENT3_DIR)]
13849     HRESULT dir([retval, out] BSTR *p);
13850
13851     [propput, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
13852     HRESULT oncontextmenu([in] VARIANT v);
13853
13854     [propget, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
13855     HRESULT oncontextmenu([retval, out] VARIANT *p);
13856
13857     [propput, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
13858     HRESULT onstop([in] VARIANT v);
13859
13860     [propget, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
13861     HRESULT onstop([retval, out] VARIANT *p);
13862
13863     [id(DISPID_IHTMLDOCUMENT3_CREATEDOCUMENTFRAGMENT)]
13864     HRESULT createDocumentFragment([retval, out] IHTMLDocument2 **pNewDoc);
13865
13866     [propget, id(DISPID_IHTMLDOCUMENT3_PARENTDOCUMENT), hidden, restricted]
13867     HRESULT parentDocument([retval, out] IHTMLDocument2 **p);
13868
13869     [propput, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
13870     HRESULT enableDownload([in] VARIANT_BOOL v);
13871
13872     [propget, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
13873     HRESULT enableDownload([retval, out] VARIANT_BOOL *p);
13874
13875     [propput, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
13876     HRESULT baseUrl([in] BSTR v);
13877
13878     [propget, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
13879     HRESULT baseUrl([retval, out] BSTR *p);
13880
13881     [propget, id(DISPID_IHTMLDOCUMENT3_CHILDNODES)]
13882     HRESULT childNodes([retval, out] IDispatch **p);
13883
13884     [propput, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
13885     HRESULT inheritStyleSheets([in] VARIANT_BOOL v);
13886
13887     [propget, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
13888     HRESULT inheritStyleSheets([retval, out] VARIANT_BOOL *p);
13889
13890     [propput, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
13891     HRESULT onbeforeeditfocus([in] VARIANT v);
13892
13893     [propget, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
13894     HRESULT onbeforeeditfocus([retval, out] VARIANT *p);
13895
13896     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYNAME)]
13897     HRESULT getElementsByName(
13898         [in] BSTR v,
13899         [retval, out] IHTMLElementCollection **pelColl);
13900
13901     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTBYID)]
13902     HRESULT getElementById(
13903         [in] BSTR v,
13904         [retval, out] IHTMLElement **pel);
13905
13906     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYTAGNAME)]
13907     HRESULT getElementsByTagName(
13908         [in] BSTR v,
13909         [retval, out] IHTMLElementCollection **pelColl);
13910 }
13911
13912 /*****************************************************************************
13913  *    IHTMLDocument4 interface
13914  */
13915 [
13916     odl,
13917     oleautomation,
13918     dual,
13919     uuid(3050f69a-98b5-11cf-bb82-00aa00bdce0b)
13920 ]
13921 interface IHTMLDocument4 : IDispatch
13922 {
13923     [id(DISPID_IHTMLDOCUMENT4_FOCUS)]
13924     HRESULT focus();
13925
13926     [id(DISPID_IHTMLDOCUMENT4_HASFOCUS)]
13927     HRESULT hasFocus([retval, out] VARIANT_BOOL *pfFocus);
13928
13929     [propput, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
13930     HRESULT onselectionchange([in] VARIANT v);
13931
13932     [propget, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
13933     HRESULT onselectionchange([retval, out] VARIANT *p);
13934
13935     [propget, id(DISPID_IHTMLDOCUMENT4_NAMESPACES)]
13936     HRESULT namespaces([retval, out] IDispatch **p);
13937
13938     [id(DISPID_IHTMLDOCUMENT4_CREATEDOCUMENTFROMURL)]
13939     HRESULT createDocumentFromUrl(
13940         [in] BSTR bstrUrl,
13941         [in] BSTR bstrOptions,
13942         [retval, out] IHTMLDocument2 **newDoc);
13943
13944     [propput, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
13945     HRESULT media([in] BSTR v);
13946
13947     [propget, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
13948     HRESULT media([retval, out] BSTR *p);
13949
13950     [id(DISPID_IHTMLDOCUMENT4_CREATEEVENTOBJECT)]
13951     HRESULT createEventObject(
13952         [optional, in] VARIANT *pvarEventObject,
13953         [retval, out] IHTMLEventObj **ppEventObj);
13954
13955     [id(DISPID_IHTMLDOCUMENT4_FIREEVENT)]
13956     HRESULT fireEvent(
13957         [in] BSTR bstrEventName,
13958         [optional, in] VARIANT *pvarEventObject,
13959         [retval, out] VARIANT_BOOL *pfCancelled);
13960
13961     [id(DISPID_IHTMLDOCUMENT4_CREATERENDERSTYLE)]
13962     HRESULT createRenderStyle(
13963         [in] BSTR v,
13964         [retval, out] IHTMLRenderStyle **ppIHTMLRenderStyle);
13965
13966     [propput, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
13967     HRESULT oncontrolselect([in] VARIANT v);
13968
13969     [propget, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
13970     HRESULT oncontrolselect([retval, out] VARIANT *p);
13971
13972     [propget, id(DISPID_IHTMLDOCUMENT4_URLUNENCODED)]
13973     HRESULT URLUnencoded([retval, out] BSTR *p);
13974 }
13975
13976 /*****************************************************************************
13977  *    IHTMLDocument5 interface
13978  */
13979 [
13980     odl,
13981     oleautomation,
13982     dual,
13983     uuid(3050f80c-98b5-11cf-bb82-00aa00bdce0b)
13984 ]
13985 interface IHTMLDocument5 : IDispatch
13986 {
13987     [propput, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
13988     HRESULT onmousewheel([in] VARIANT v);
13989
13990     [propget, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
13991     HRESULT onmousewheel([retval, out] VARIANT *p);
13992
13993     [propget, id(DISPID_IHTMLDOCUMENT5_DOCTYPE)]
13994     HRESULT doctype([retval, out] IHTMLDOMNode **p);
13995
13996     [propget, id(DISPID_IHTMLDOCUMENT5_IMPLEMENTATION)]
13997     HRESULT implementation([retval, out] IHTMLDOMImplementation **p);
13998
13999     [id(DISPID_IHTMLDOCUMENT5_CREATEATTRIBUTE)]
14000     HRESULT createAttribute(
14001         [in] BSTR bstrattrName,
14002         [retval, out] IHTMLDOMAttribute **ppattribute);
14003
14004     [id(DISPID_IHTMLDOCUMENT5_CREATECOMMENT)]
14005     HRESULT createComment(
14006         [in] BSTR bstrdata,
14007         [retval, out] IHTMLDOMNode **ppRetNode);
14008
14009     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
14010     HRESULT onfocusin([in] VARIANT v);
14011
14012     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
14013     HRESULT onfocusin([retval, out] VARIANT *p);
14014
14015     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
14016     HRESULT onfocusout([in] VARIANT v);
14017
14018     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
14019     HRESULT onfocusout([retval, out] VARIANT *p);
14020
14021     [propput, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
14022     HRESULT onactivate([in] VARIANT v);
14023
14024     [propget, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
14025     HRESULT onactivate([retval, out] VARIANT *p);
14026
14027     [propput, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
14028     HRESULT ondeactivate([in] VARIANT v);
14029
14030     [propget, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
14031     HRESULT ondeactivate([retval, out] VARIANT *p);
14032
14033     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
14034     HRESULT onbeforeactivate([in] VARIANT v);
14035
14036     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
14037     HRESULT onbeforeactivate([retval, out] VARIANT *p);
14038
14039     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
14040     HRESULT onbeforedeactivate([in] VARIANT v);
14041
14042     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
14043     HRESULT onbeforedeactivate([retval, out] VARIANT *p);
14044
14045     [propget, id(DISPID_IHTMLDOCUMENT5_COMPATMODE)]
14046     HRESULT compatMode([retval, out] BSTR *p);
14047 }
14048
14049 /*****************************************************************************
14050  *    DispHTMLDocument dispinterface
14051  */
14052 [
14053     hidden,
14054     uuid(3050f55f-98b5-11cf-bb82-00aa00bdce0b)
14055 ]
14056 dispinterface DispHTMLDocument
14057 {
14058 properties:
14059 methods:
14060     [propget, id(DISPID_IHTMLDOCUMENT_SCRIPT), hidden, nonbrowsable]
14061     IDispatch *Script();
14062
14063     [propget, id(DISPID_IHTMLDOCUMENT2_ALL)]
14064     IHTMLElementCollection *all();
14065
14066     [propget, id(DISPID_IHTMLDOCUMENT2_BODY)]
14067     IHTMLElement *body();
14068
14069     [propget, id(DISPID_IHTMLDOCUMENT2_ACTIVEELEMENT)]
14070     IHTMLElement *activeElement();
14071
14072     [propget, id(DISPID_IHTMLDOCUMENT2_IMAGES)]
14073     IHTMLElementCollection *images();
14074
14075     [propget, id(DISPID_IHTMLDOCUMENT2_APPLETS)]
14076     IHTMLElementCollection *applets();
14077
14078     [propget, id(DISPID_IHTMLDOCUMENT2_LINKS)]
14079     IHTMLElementCollection *links();
14080
14081     [propget, id(DISPID_IHTMLDOCUMENT2_FORMS)]
14082     IHTMLElementCollection *forms();
14083
14084     [propget, id(DISPID_IHTMLDOCUMENT2_ANCHORS)]
14085     IHTMLElementCollection *anchors();
14086
14087     [propput, id(DISPID_IHTMLDOCUMENT2_TITLE)]
14088     void title(BSTR v);
14089
14090     [propget, id(DISPID_IHTMLDOCUMENT2_TITLE)]
14091     BSTR title();
14092
14093     [propget, id(DISPID_IHTMLDOCUMENT2_SCRIPTS)]
14094     IHTMLElementCollection *scripts();
14095
14096     [propput, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE), hidden]
14097     void designMode(BSTR v);
14098
14099     [propget, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE), hidden]
14100     BSTR designMode();
14101
14102     [propget, id(DISPID_IHTMLDOCUMENT2_SELECTION)]
14103     IHTMLSelectionObject *selection();
14104
14105     [propget, id(DISPID_IHTMLDOCUMENT2_READYSTATE), bindable]
14106     BSTR readyState();
14107
14108     [propget, id(DISPID_IHTMLDOCUMENT2_FRAMES)]
14109     IHTMLFramesCollection2 *frames();
14110
14111     [propget, id(DISPID_IHTMLDOCUMENT2_EMBEDS)]
14112     IHTMLElementCollection *embeds();
14113
14114     [propget, id(DISPID_IHTMLDOCUMENT2_PLUGINS)]
14115     IHTMLElementCollection *plugins();
14116
14117     [propput, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
14118     void alinkColor(VARIANT v);
14119
14120     [propget, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
14121     VARIANT alinkColor();
14122
14123     [propput, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
14124     void bgColor(VARIANT v);
14125
14126     [propget, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
14127     VARIANT bgColor();
14128
14129     [propput, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
14130     void fgColor(VARIANT v);
14131
14132     [propget, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
14133     VARIANT fgColor();
14134
14135     [propput, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
14136     void linkColor(VARIANT v);
14137
14138     [propget, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
14139     VARIANT linkColor();
14140
14141     [propput, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
14142     void vlinkColor(VARIANT v);
14143
14144     [propget, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
14145     VARIANT vlinkColor();
14146
14147     [propget, id(DISPID_IHTMLDOCUMENT2_REFERRER)]
14148     BSTR referrer();
14149
14150     [propget, id(DISPID_IHTMLDOCUMENT2_LOCATION)]
14151     IHTMLLocation *location();
14152
14153     [propget, id(DISPID_IHTMLDOCUMENT2_LASTMODIFIED)]
14154     BSTR lastModified();
14155
14156     [propput, id(DISPID_IHTMLDOCUMENT2_URL)]
14157     void URL(BSTR v);
14158
14159     [propget, id(DISPID_IHTMLDOCUMENT2_URL)]
14160     BSTR URL();
14161
14162     [propput, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
14163     void domain(BSTR v);
14164
14165     [propget, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
14166     BSTR domain();
14167
14168     [propput, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
14169     void cookie(BSTR v);
14170
14171     [propget, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
14172     BSTR cookie();
14173
14174     [propput, id(DISPID_IHTMLDOCUMENT2_EXPANDO), bindable, hidden]
14175     void expando(VARIANT_BOOL v);
14176
14177     [propget, id(DISPID_IHTMLDOCUMENT2_EXPANDO), bindable, hidden]
14178     VARIANT_BOOL expando();
14179
14180     [propput, id(DISPID_IHTMLDOCUMENT2_CHARSET), hidden]
14181     void charset(BSTR v);
14182
14183     [propget, id(DISPID_IHTMLDOCUMENT2_CHARSET), hidden]
14184     BSTR charset();
14185
14186     [propput, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
14187     void defaultCharset(BSTR v);
14188
14189     [propget, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
14190     BSTR defaultCharset();
14191
14192     [propget, id(DISPID_IHTMLDOCUMENT2_MIMETYPE)]
14193     BSTR mimeType();
14194
14195     [propget, id(DISPID_IHTMLDOCUMENT2_FILESIZE)]
14196     BSTR fileSize();
14197
14198     [propget, id(DISPID_IHTMLDOCUMENT2_FILECREATEDDATE)]
14199     BSTR fileCreatedDate();
14200
14201     [propget, id(DISPID_IHTMLDOCUMENT2_FILEMODIFIEDDATE)]
14202     BSTR fileModifiedDate();
14203
14204     [propget, id(DISPID_IHTMLDOCUMENT2_FILEUPDATEDDATE)]
14205     BSTR fileUpdatedDate();
14206
14207     [propget, id(DISPID_IHTMLDOCUMENT2_SECURITY)]
14208     BSTR security();
14209
14210     [propget, id(DISPID_IHTMLDOCUMENT2_PROTOCOL)]
14211     BSTR protocol();
14212
14213     [propget, id(DISPID_IHTMLDOCUMENT2_NAMEPROP)]
14214     BSTR nameProp();
14215
14216     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITE)]
14217     void write([in] SAFEARRAY(VARIANT) psarray);
14218
14219     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITELN)]
14220     void writeln([in] SAFEARRAY(VARIANT) psarray);
14221
14222     [id(DISPID_IHTMLDOCUMENT2_OPEN)]
14223     IDispatch *open(
14224         [defaultvalue("text/html"), in] BSTR url,
14225         [optional, in] VARIANT name,
14226         [optional, in] VARIANT features,
14227         [optional, in] VARIANT replace);
14228
14229     [id(DISPID_IHTMLDOCUMENT2_CLOSE)]
14230     void close();
14231
14232     [id(DISPID_IHTMLDOCUMENT2_CLEAR)]
14233     void clear();
14234
14235     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSUPPORTED)]
14236     VARIANT_BOOL queryCommandSupported([in] BSTR cmdID);
14237
14238     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDENABLED)]
14239     VARIANT_BOOL queryCommandEnabled([in] BSTR cmdID);
14240
14241     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSTATE)]
14242     VARIANT_BOOL queryCommandState([in] BSTR cmdID);
14243
14244     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDINDETERM)]
14245     VARIANT_BOOL queryCommandIndeterm([in] BSTR cmdID);
14246
14247     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDTEXT)]
14248     BSTR queryCommandText([in] BSTR cmdID);
14249
14250     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDVALUE)]
14251     VARIANT queryCommandValue([in] BSTR cmdID);
14252
14253     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMAND)]
14254     VARIANT_BOOL execCommand(
14255         [in] BSTR cmdID,
14256         [defaultvalue(0), in] VARIANT_BOOL showUI,
14257         [optional, in] VARIANT value);
14258
14259     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMANDSHOWHELP)]
14260     VARIANT_BOOL execCommandShowHelp([in] BSTR cmdID);
14261
14262     [id(DISPID_IHTMLDOCUMENT2_CREATEELEMENT)]
14263     IHTMLElement *createElement([in] BSTR eTag);
14264
14265     [propput, id(DISPID_IHTMLDOCUMENT2_ONHELP), displaybind, bindable]
14266     void onhelp(VARIANT v);
14267
14268     [propget, id(DISPID_IHTMLDOCUMENT2_ONHELP), displaybind, bindable]
14269     VARIANT onhelp();
14270
14271     [propput, id(DISPID_IHTMLDOCUMENT2_ONCLICK), displaybind, bindable]
14272     void onclick(VARIANT v);
14273
14274     [propget, id(DISPID_IHTMLDOCUMENT2_ONCLICK), displaybind, bindable]
14275     VARIANT onclick();
14276
14277     [propput, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK), displaybind, bindable]
14278     void ondblclick(VARIANT v);
14279
14280     [propget, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK), displaybind, bindable]
14281     VARIANT ondblclick();
14282
14283     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYUP), displaybind, bindable]
14284     void onkeyup(VARIANT v);
14285
14286     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYUP), displaybind, bindable]
14287     VARIANT onkeyup();
14288
14289     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN), displaybind, bindable]
14290     void onkeydown(VARIANT v);
14291
14292     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN), displaybind, bindable]
14293     VARIANT onkeydown();
14294
14295     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS), displaybind, bindable]
14296     void onkeypress(VARIANT v);
14297
14298     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS), displaybind, bindable]
14299     VARIANT onkeypress();
14300
14301     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP), displaybind, bindable]
14302     void onmouseup(VARIANT v);
14303
14304     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP), displaybind, bindable]
14305     VARIANT onmouseup();
14306
14307     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN), displaybind, bindable]
14308     void onmousedown(VARIANT v);
14309
14310     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN), displaybind, bindable]
14311     VARIANT onmousedown();
14312
14313     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE), displaybind, bindable]
14314     void onmousemove(VARIANT v);
14315
14316     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE), displaybind, bindable]
14317     VARIANT onmousemove();
14318
14319     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT), displaybind, bindable]
14320     void onmouseout(VARIANT v);
14321
14322     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT), displaybind, bindable]
14323     VARIANT onmouseout();
14324
14325     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER), displaybind, bindable]
14326     void onmouseover(VARIANT v);
14327
14328     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER), displaybind, bindable]
14329     VARIANT onmouseover();
14330
14331     [propput, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE), displaybind, bindable]
14332     void onreadystatechange(VARIANT v);
14333
14334     [propget, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE), displaybind, bindable]
14335     VARIANT onreadystatechange();
14336
14337     [propput, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE), displaybind, bindable]
14338     void onafterupdate(VARIANT v);
14339
14340     [propget, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE), displaybind, bindable]
14341     VARIANT onafterupdate();
14342
14343     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT), displaybind, bindable]
14344     void onrowexit(VARIANT v);
14345
14346     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT), displaybind, bindable]
14347     VARIANT onrowexit();
14348
14349     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWENTER), displaybind, bindable]
14350     void onrowenter(VARIANT v);
14351
14352     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWENTER), displaybind, bindable]
14353     VARIANT onrowenter();
14354
14355     [propput, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART), displaybind, bindable]
14356     void ondragstart(VARIANT v);
14357
14358     [propget, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART), displaybind, bindable]
14359     VARIANT ondragstart();
14360
14361     [propput, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART), displaybind, bindable]
14362     void onselectstart(VARIANT v);
14363
14364     [propget, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART), displaybind, bindable]
14365     VARIANT onselectstart();
14366
14367     [id(DISPID_IHTMLDOCUMENT2_ELEMENTFROMPOINT)]
14368     IHTMLElement *elementFromPoint(
14369         [in] long x,
14370         [in] long y);
14371
14372     [propget, id(DISPID_IHTMLDOCUMENT2_PARENTWINDOW)]
14373     IHTMLWindow2 *parentWindow();
14374
14375     [propget, id(DISPID_IHTMLDOCUMENT2_STYLESHEETS)]
14376     IHTMLStyleSheetsCollection *styleSheets();
14377
14378     [propput, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE), displaybind, bindable]
14379     void onbeforeupdate(VARIANT v);
14380
14381     [propget, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE), displaybind, bindable]
14382     VARIANT onbeforeupdate();
14383
14384     [propput, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE), displaybind, bindable]
14385     void onerrorupdate(VARIANT v);
14386
14387     [propget, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE), displaybind, bindable]
14388     VARIANT onerrorupdate();
14389
14390     [id(DISPID_IHTMLDOCUMENT2_TOSTRING)]
14391     BSTR toString();
14392
14393     [id(DISPID_IHTMLDOCUMENT2_CREATESTYLESHEET)]
14394     IHTMLStyleSheet *createStyleSheet(
14395         [defaultvalue(""), in] BSTR bstrHref,
14396         [defaultvalue(-1), in] long lIndex);
14397
14398     [id(DISPID_IHTMLDOCUMENT3_RELEASECAPTURE)]
14399     void releaseCapture();
14400
14401     [id(DISPID_IHTMLDOCUMENT3_RECALC)]
14402     void recalc([defaultvalue(0), in] VARIANT_BOOL fForce);
14403
14404     [id(DISPID_IHTMLDOCUMENT3_CREATETEXTNODE)]
14405     IHTMLDOMNode *createTextNode([in] BSTR text);
14406
14407     [propget, id(DISPID_IHTMLDOCUMENT3_DOCUMENTELEMENT)]
14408     IHTMLElement *documentElement();
14409
14410     [propget, id(DISPID_IHTMLDOCUMENT3_UNIQUEID), hidden]
14411     BSTR uniqueID();
14412
14413     [id(DISPID_IHTMLDOCUMENT3_ATTACHEVENT)]
14414     VARIANT_BOOL attachEvent(
14415         [in] BSTR event,
14416         [in] IDispatch *pDisp);
14417
14418     [id(DISPID_IHTMLDOCUMENT3_DETACHEVENT)]
14419     void detachEvent(
14420         [in] BSTR event,
14421         [in] IDispatch *pDisp);
14422
14423     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
14424     void onrowsdelete(VARIANT v);
14425
14426     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
14427     VARIANT onrowsdelete();
14428
14429     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
14430     void onrowsinserted(VARIANT v);
14431
14432     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
14433     VARIANT onrowsinserted();
14434
14435     [propput, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
14436     void oncellchange(VARIANT v);
14437
14438     [propget, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
14439     VARIANT oncellchange();
14440
14441     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
14442     void ondatasetchanged(VARIANT v);
14443
14444     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
14445     VARIANT ondatasetchanged();
14446
14447     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
14448     void ondataavailable(VARIANT v);
14449
14450     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
14451     VARIANT ondataavailable();
14452
14453     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
14454     void ondatasetcomplete(VARIANT v);
14455
14456     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
14457     VARIANT ondatasetcomplete();
14458
14459     [propput, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
14460     void onpropertychange(VARIANT v);
14461
14462     [propget, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
14463     VARIANT onpropertychange();
14464
14465     [propput, id(DISPID_IHTMLDOCUMENT3_DIR)]
14466     void dir(BSTR v);
14467
14468     [propget, id(DISPID_IHTMLDOCUMENT3_DIR)]
14469     BSTR dir();
14470
14471     [propput, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
14472     void oncontextmenu(VARIANT v);
14473
14474     [propget, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
14475     VARIANT oncontextmenu();
14476
14477     [propput, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
14478     void onstop(VARIANT v);
14479
14480     [propget, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
14481     VARIANT onstop();
14482
14483     [id(DISPID_IHTMLDOCUMENT3_CREATEDOCUMENTFRAGMENT)]
14484     IHTMLDocument2 *createDocumentFragment();
14485
14486     [propget, id(DISPID_IHTMLDOCUMENT3_PARENTDOCUMENT), hidden, restricted]
14487     IHTMLDocument2 *parentDocument();
14488
14489     [propput, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
14490     void enableDownload(VARIANT_BOOL v);
14491
14492     [propget, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
14493     VARIANT_BOOL enableDownload();
14494
14495     [propput, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
14496     void baseUrl(BSTR v);
14497
14498     [propget, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
14499     BSTR baseUrl();
14500
14501     [propput, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
14502     void inheritStyleSheets(VARIANT_BOOL v);
14503
14504     [propget, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
14505     VARIANT_BOOL inheritStyleSheets();
14506
14507     [propput, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
14508     void onbeforeeditfocus(VARIANT v);
14509
14510     [propget, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
14511     VARIANT onbeforeeditfocus();
14512
14513     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYNAME)]
14514     IHTMLElementCollection *getElementsByName([in] BSTR v);
14515
14516     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTBYID)]
14517     IHTMLElement *getElementById([in] BSTR v);
14518
14519     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYTAGNAME)]
14520     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
14521
14522     [id(DISPID_IHTMLDOCUMENT4_FOCUS)]
14523     void focus();
14524
14525     [id(DISPID_IHTMLDOCUMENT4_HASFOCUS)]
14526     VARIANT_BOOL hasFocus();
14527
14528     [propput, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
14529     void onselectionchange(VARIANT v);
14530
14531     [propget, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
14532     VARIANT onselectionchange();
14533
14534     [propget, id(DISPID_IHTMLDOCUMENT4_NAMESPACES)]
14535     IDispatch *namespaces();
14536
14537     [id(DISPID_IHTMLDOCUMENT4_CREATEDOCUMENTFROMURL)]
14538     IHTMLDocument2 *createDocumentFromUrl(
14539         [in] BSTR bstrUrl,
14540         [in] BSTR bstrOptions);
14541
14542     [propput, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
14543     void media(BSTR v);
14544
14545     [propget, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
14546     BSTR media();
14547
14548     [id(DISPID_IHTMLDOCUMENT4_CREATEEVENTOBJECT)]
14549     IHTMLEventObj *createEventObject([optional, in] VARIANT *pvarEventObject);
14550
14551     [id(DISPID_IHTMLDOCUMENT4_FIREEVENT)]
14552     VARIANT_BOOL fireEvent(
14553         [in] BSTR bstrEventName,
14554         [optional, in] VARIANT *pvarEventObject);
14555
14556     [id(DISPID_IHTMLDOCUMENT4_CREATERENDERSTYLE)]
14557     IHTMLRenderStyle *createRenderStyle([in] BSTR v);
14558
14559     [propput, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
14560     void oncontrolselect(VARIANT v);
14561
14562     [propget, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
14563     VARIANT oncontrolselect();
14564
14565     [propget, id(DISPID_IHTMLDOCUMENT4_URLUNENCODED)]
14566     BSTR URLUnencoded();
14567
14568     [propput, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
14569     void onmousewheel(VARIANT v);
14570
14571     [propget, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
14572     VARIANT onmousewheel();
14573
14574     [propget, id(DISPID_IHTMLDOCUMENT5_DOCTYPE)]
14575     IHTMLDOMNode *doctype();
14576
14577     [propget, id(DISPID_IHTMLDOCUMENT5_IMPLEMENTATION)]
14578     IHTMLDOMImplementation *implementation();
14579
14580     [id(DISPID_IHTMLDOCUMENT5_CREATEATTRIBUTE)]
14581     IHTMLDOMAttribute *createAttribute([in] BSTR bstrattrName);
14582
14583     [id(DISPID_IHTMLDOCUMENT5_CREATECOMMENT)]
14584     IHTMLDOMNode *createComment([in] BSTR bstrdata);
14585
14586     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
14587     void onfocusin(VARIANT v);
14588
14589     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
14590     VARIANT onfocusin();
14591
14592     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
14593     void onfocusout(VARIANT v);
14594
14595     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
14596     VARIANT onfocusout();
14597
14598     [propput, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
14599     void onactivate(VARIANT v);
14600
14601     [propget, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
14602     VARIANT onactivate();
14603
14604     [propput, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
14605     void ondeactivate(VARIANT v);
14606
14607     [propget, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
14608     VARIANT ondeactivate();
14609
14610     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
14611     void onbeforeactivate(VARIANT v);
14612
14613     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
14614     VARIANT onbeforeactivate();
14615
14616     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
14617     void onbeforedeactivate(VARIANT v);
14618
14619     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
14620     VARIANT onbeforedeactivate();
14621
14622     [propget, id(DISPID_IHTMLDOCUMENT5_COMPATMODE)]
14623     BSTR compatMode();
14624
14625     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
14626     long nodeType();
14627
14628     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
14629     IHTMLDOMNode *parentNode();
14630
14631     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
14632     VARIANT_BOOL hasChildNodes();
14633
14634     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
14635     IDispatch *childNodes();
14636
14637     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
14638     IDispatch *attributes();
14639
14640     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
14641     IHTMLDOMNode *insertBefore(
14642         [in] IHTMLDOMNode *newChild,
14643         [optional, in] VARIANT refChild);
14644
14645     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
14646     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
14647
14648     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
14649     IHTMLDOMNode *replaceChild(
14650         [in] IHTMLDOMNode *newChild,
14651         [in] IHTMLDOMNode *oldChild);
14652
14653     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
14654     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
14655
14656     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
14657     IHTMLDOMNode *removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep);
14658
14659     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
14660     IHTMLDOMNode *swapNode([in] IHTMLDOMNode* otherNode);
14661
14662     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
14663     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
14664
14665     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
14666     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
14667
14668     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
14669     BSTR nodeName();
14670
14671     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
14672     void nodeValue(VARIANT v);
14673
14674     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
14675     VARIANT nodeValue();
14676
14677     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
14678     IHTMLDOMNode *firstChild();
14679
14680     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
14681     IHTMLDOMNode *lastChild();
14682
14683     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
14684     IHTMLDOMNode *previousSibling();
14685
14686     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
14687     IHTMLDOMNode *nextSibling();
14688
14689     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
14690     IDispatch *ownerDocument();
14691 }
14692
14693 /*****************************************************************************
14694  *    HTMLDocument coclass
14695  */
14696 [
14697     uuid(25336920-03F9-11cf-8FD0-00AA00686F13)
14698 ]
14699 coclass HTMLDocument
14700 {
14701     [default]         dispinterface DispHTMLDocument;
14702     [source, default] dispinterface HTMLDocumentEvents;
14703     [source]          dispinterface HTMLDocumentEvents2;
14704                       interface IHTMLDocument2;
14705                       interface IHTMLDocument3;
14706                       interface IHTMLDocument4;
14707                       interface IHTMLDocument5;
14708                       interface IHTMLDOMNode;
14709                       interface IHTMLDOMNode2;
14710 }
14711
14712 /*****************************************************************************
14713  *    IHTMLCommentElement interface
14714  */
14715 [
14716     odl,
14717     oleautomation,
14718     dual,
14719     uuid(3050f20c-98b5-11cf-bb82-00aa00bdce0b)
14720 ]
14721 interface IHTMLCommentElement : IDispatch
14722 {
14723     [propput, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
14724     HRESULT text([in] BSTR v);
14725
14726     [propget, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
14727     HRESULT text([out, retval] BSTR *p);
14728
14729     [propput, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
14730     HRESULT atomic([in] long v);
14731
14732     [propget, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
14733     HRESULT atomic([out, retval] long *p);
14734 }
14735
14736 /*****************************************************************************
14737  *    IHTMLCommentElement2 interface
14738  */
14739 [
14740     odl,
14741     oleautomation,
14742     dual,
14743     uuid(3050f813-98b5-11cf-bb82-00aa00bdce0b)
14744 ]
14745 interface IHTMLCommentElement2 : IDispatch
14746 {
14747     [propput, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
14748     HRESULT data([in] BSTR v);
14749
14750     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
14751     HRESULT data([out, retval] BSTR *p);
14752
14753     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_LENGTH)]
14754     HRESULT length([out, retval] long *p);
14755
14756     [id(DISPID_IHTMLCOMMENTELEMENT2_SUBSTRINGDATA)]
14757     HRESULT substringData(
14758             [in] long offset,
14759             [in] long Count,
14760             [out, retval] BSTR *pbstrsubString);
14761
14762     [id(DISPID_IHTMLCOMMENTELEMENT2_APPENDDATA)]
14763     HRESULT appendData([in] BSTR bstrstring);
14764
14765     [id(DISPID_IHTMLCOMMENTELEMENT2_INSERTDATA)]
14766     HRESULT insertData(
14767             [in] long offset,
14768             [in] BSTR bstrstring);
14769
14770     [id(DISPID_IHTMLCOMMENTELEMENT2_DELETEDATA)]
14771     HRESULT deleteData(
14772             [in] long offset,
14773             [in] long Count);
14774
14775     [id(DISPID_IHTMLCOMMENTELEMENT2_REPLACEDATA)]
14776     HRESULT replaceData(
14777             [in] long offset,
14778             [in] long Count,
14779             [in] BSTR bstrstring);
14780 }
14781
14782 /*****************************************************************************
14783  *    DispHTMLCommentElement dispinterface
14784  */
14785 [
14786     hidden,
14787     uuid(3050f50a-98b5-11cf-bb82-00aa00bdce0b)
14788 ]
14789 dispinterface DispHTMLCommentElement
14790 {
14791 properties:
14792 methods:
14793     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
14794     void setAttribute(
14795             [in] BSTR strAttributeName,
14796             [in] VARIANT AttributeValue,
14797             [in, defaultvalue(1)] LONG lFlags);
14798
14799     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
14800     VARIANT getAttribute(
14801              [in] BSTR strAttributeName,
14802              [in, defaultvalue(0)] LONG lFlags);
14803
14804     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
14805     VARIANT_BOOL removeAttribute(
14806             [in] BSTR strAttributeName,
14807             [in, defaultvalue(1)] LONG lFlags);
14808
14809     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
14810     void className(BSTR v);
14811
14812     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
14813     BSTR className();
14814
14815     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
14816     void id(BSTR v);
14817
14818     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
14819     BSTR id();
14820
14821     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
14822     BSTR tagName();
14823
14824     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
14825     IHTMLElement *parentElement();
14826
14827     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
14828     IHTMLStyle *style();
14829
14830     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
14831     void onhelp(VARIANT v);
14832
14833     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
14834     VARIANT onhelp();
14835
14836     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
14837     void onclick(VARIANT v);
14838
14839     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
14840     VARIANT onclick();
14841
14842     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
14843     void ondblclick(VARIANT v);
14844
14845     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
14846     VARIANT ondblclick();
14847
14848     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
14849     void onkeydown(VARIANT v);
14850
14851     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
14852     VARIANT onkeydown();
14853
14854     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
14855     void onkeyup(VARIANT v);
14856
14857     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
14858     VARIANT onkeyup();
14859
14860     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
14861     void onkeypress(VARIANT v);
14862
14863     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
14864     VARIANT onkeypress();
14865
14866     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
14867     void onmouseout(VARIANT v);
14868
14869     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
14870     VARIANT onmouseout();
14871
14872     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
14873     void onmouseover(VARIANT v);
14874
14875     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
14876     VARIANT onmouseover();
14877
14878     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
14879     void onmousemove(VARIANT v);
14880
14881     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
14882     VARIANT onmousemove();
14883
14884     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
14885     void onmousedown(VARIANT v);
14886
14887     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
14888     VARIANT onmousedown();
14889
14890     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
14891     void onmouseup(VARIANT v);
14892
14893     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
14894     VARIANT onmouseup();
14895
14896     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
14897     IDispatch *document();
14898
14899     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
14900     void title(BSTR v);
14901
14902     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
14903     BSTR title();
14904
14905     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
14906     void language(BSTR v);
14907
14908     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
14909     BSTR language();
14910
14911     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
14912     void onselectstart(VARIANT v);
14913
14914     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
14915     VARIANT onselectstart();
14916
14917     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
14918     void scrollIntoView([in, optional] VARIANT varargStart);
14919
14920     [id(DISPID_IHTMLELEMENT_CONTAINS)]
14921     VARIANT_BOOL contains([in] IHTMLElement *pChild);
14922
14923     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
14924     long sourceIndex();
14925
14926     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
14927     VARIANT recordNumber();
14928
14929     [propput, id(DISPID_IHTMLELEMENT_LANG)]
14930     void lang(BSTR v);
14931
14932     [propget, id(DISPID_IHTMLELEMENT_LANG)]
14933     BSTR lang();
14934
14935     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
14936     long offsetLeft();
14937
14938     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
14939     long offsetTop();
14940
14941     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
14942     long offsetWidth();
14943
14944     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
14945     long offsetHeight();
14946
14947     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
14948     IHTMLElement *offsetParent();
14949
14950     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
14951     void innerHTML(BSTR v);
14952
14953     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
14954     BSTR innerHTML();
14955
14956     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
14957     void innerText(BSTR v);
14958
14959     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
14960     BSTR innerText();
14961
14962     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
14963     void outerHTML(BSTR v);
14964
14965     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
14966     BSTR outerHTML();
14967
14968     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
14969     void outerText(BSTR v);
14970
14971     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
14972     BSTR outerText();
14973
14974     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
14975     void insertAdjacentHTML(
14976             [in] BSTR where,
14977             [in] BSTR html);
14978
14979     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
14980     void insertAdjacentText(
14981             [in] BSTR where,
14982             [in] BSTR text);
14983
14984     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
14985     IHTMLElement *parentTextEdit();
14986
14987     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
14988     VARIANT_BOOL isTextEdit();
14989
14990     [id(DISPID_IHTMLELEMENT_CLICK)]
14991     void click();
14992
14993     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
14994     IHTMLFiltersCollection *filters();
14995
14996     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
14997     void ondragstart(VARIANT v);
14998
14999     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
15000     VARIANT ondragstart();
15001
15002     [id(DISPID_IHTMLELEMENT_TOSTRING)]
15003     BSTR toString();
15004
15005     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
15006     void onbeforeupdate(VARIANT v);
15007
15008     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
15009     VARIANT onbeforeupdate();
15010
15011     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
15012     void onafterupdate(VARIANT v);
15013
15014     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
15015     VARIANT onafterupdate();
15016
15017     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
15018     void onerrorupdate(VARIANT v);
15019
15020     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
15021     VARIANT onerrorupdate();
15022
15023     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
15024     void onrowexit(VARIANT v);
15025
15026     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
15027     VARIANT onrowexit();
15028
15029     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
15030     void onrowenter(VARIANT v);
15031
15032     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
15033     VARIANT onrowenter();
15034
15035     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
15036     void ondatasetchanged(VARIANT v);
15037
15038     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
15039     VARIANT ondatasetchanged();
15040
15041     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
15042     void ondataavailable(VARIANT v);
15043
15044     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
15045     VARIANT ondataavailable();
15046
15047     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
15048     void ondatasetcomplete(VARIANT v);
15049
15050     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
15051     VARIANT ondatasetcomplete();
15052
15053     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
15054     void onfilterchange(VARIANT v);
15055
15056     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
15057     VARIANT onfilterchange();
15058
15059     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
15060     IDispatch *children();
15061
15062     [propget, id(DISPID_IHTMLELEMENT_ALL)]
15063     IDispatch *all();
15064
15065     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
15066     BSTR scopeName();
15067
15068     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
15069     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
15070
15071     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
15072     void releaseCapture();
15073
15074     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
15075     void onlosecapture(VARIANT v);
15076
15077     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
15078     VARIANT onlosecapture();
15079
15080     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
15081     BSTR componentFromPoint(
15082             [in] long x,
15083             [in] long y);
15084
15085     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
15086     void doScroll([in, optional] VARIANT component);
15087
15088     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
15089     void onscroll(VARIANT v);
15090
15091     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
15092     VARIANT onscroll();
15093
15094     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
15095     void ondrag(VARIANT v);
15096
15097     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
15098     VARIANT ondrag();
15099
15100     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
15101     void ondragend(VARIANT v);
15102
15103     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
15104     VARIANT ondragend();
15105
15106     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
15107     void ondragenter(VARIANT v);
15108
15109     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
15110     VARIANT ondragenter();
15111
15112     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
15113     void ondragover(VARIANT v);
15114
15115     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
15116     VARIANT ondragover();
15117
15118     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
15119     void ondragleave(VARIANT v);
15120
15121     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
15122     VARIANT ondragleave();
15123
15124     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
15125     void ondrop(VARIANT v);
15126
15127     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
15128     VARIANT ondrop();
15129
15130     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
15131     void onbeforecut(VARIANT v);
15132
15133     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
15134     VARIANT onbeforecut();
15135
15136     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
15137     void oncut(VARIANT v);
15138
15139     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
15140     VARIANT oncut();
15141
15142     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
15143     void onbeforecopy(VARIANT v);
15144
15145     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
15146     VARIANT onbeforecopy();
15147
15148     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
15149     void oncopy(VARIANT v);
15150
15151     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
15152     VARIANT oncopy();
15153
15154     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
15155     void onbeforepaste(VARIANT v);
15156
15157     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
15158     VARIANT onbeforepaste();
15159
15160     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
15161     void onpaste(VARIANT v);
15162
15163     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
15164     VARIANT onpaste();
15165
15166     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
15167     IHTMLCurrentStyle *currentStyle();
15168
15169     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
15170     void onpropertychange(VARIANT v);
15171
15172     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
15173     VARIANT onpropertychange();
15174
15175     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
15176     IHTMLRectCollection *getClientRects();
15177
15178     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
15179     IHTMLRect *getBoundingClientRect();
15180
15181     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
15182     void setExpression(
15183             [in] BSTR propname,
15184             [in] BSTR expression,
15185             [in, defaultvalue("")] BSTR language);
15186
15187     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
15188     VARIANT getExpression([in] BSTR propname);
15189
15190     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
15191     VARIANT_BOOL removeExpression([in] BSTR propname);
15192
15193     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
15194     void tabIndex(short v);
15195
15196     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
15197     short tabIndex();
15198
15199     [id(DISPID_IHTMLELEMENT2_FOCUS)]
15200     void focus();
15201
15202     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
15203     void accessKey(BSTR v);
15204
15205     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
15206     BSTR accessKey();
15207
15208     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
15209     void onblur(VARIANT v);
15210
15211     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
15212     VARIANT onblur();
15213
15214     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
15215     void onfocus(VARIANT v);
15216
15217     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
15218     VARIANT onfocus();
15219
15220     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
15221     void onresize(VARIANT v);
15222
15223     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
15224     VARIANT onresize();
15225
15226     [id(DISPID_IHTMLELEMENT2_BLUR)]
15227     void blur();
15228
15229     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
15230     void addFilter([in] IUnknown *pUnk);
15231
15232     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
15233     void removeFilter([in] IUnknown *pUnk);
15234
15235     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
15236     long clientHeight();
15237
15238     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
15239     long clientWidth();
15240
15241     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
15242     long clientTop();
15243
15244     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
15245     long clientLeft();
15246
15247     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
15248     VARIANT_BOOL attachEvent(
15249             [in] BSTR event,
15250             [in] IDispatch *pDisp);
15251
15252     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
15253     void detachEvent(
15254             [in] BSTR event,
15255             [in] IDispatch *pDisp);
15256
15257     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
15258     VARIANT readyState();
15259
15260     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
15261     void onreadystatechange(VARIANT v);
15262
15263     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
15264     VARIANT onreadystatechange();
15265
15266     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
15267     void onrowsdelete(VARIANT v);
15268
15269     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
15270     VARIANT onrowsdelete();
15271
15272     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
15273     void onrowsinserted(VARIANT v);
15274
15275     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
15276      VARIANT onrowsinserted();
15277
15278     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
15279      void oncellchange(VARIANT v);
15280
15281     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
15282     VARIANT oncellchange();
15283
15284     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
15285     void dir(BSTR v);
15286
15287     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
15288     BSTR dir();
15289
15290     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
15291     IDispatch *createControlRange();
15292
15293     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
15294     long scrollHeight();
15295
15296     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
15297     long scrollWidth();
15298
15299     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
15300     void scrollTop(long v);
15301
15302     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
15303     long scrollTop();
15304
15305     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
15306     void scrollLeft(long v);
15307
15308     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
15309     long scrollLeft();
15310
15311     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
15312     void clearAttributes();
15313
15314     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
15315     void oncontextmenu(VARIANT v);
15316
15317     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
15318     VARIANT oncontextmenu();
15319
15320     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
15321     IHTMLElement *insertAdjacentElement(
15322             [in] BSTR where,
15323             [in] IHTMLElement *insertedElement);
15324
15325     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
15326     IHTMLElement *applyElement(
15327             [in] IHTMLElement *apply,
15328             [in] BSTR where);
15329
15330     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
15331     BSTR getAdjacentText([in] BSTR where);
15332
15333     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
15334     BSTR replaceAdjacentText(
15335             [in] BSTR where,
15336             [in] BSTR newText);
15337
15338     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
15339     VARIANT_BOOL canHaveChildren();
15340
15341     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
15342     long addBehavior(
15343             [in] BSTR bstrUrl,
15344             [in, optional] VARIANT *pvarFactory);
15345
15346     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
15347     VARIANT_BOOL removeBehavior([in] long cookie);
15348
15349     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
15350     IHTMLStyle *runtimeStyle();
15351
15352     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
15353     IDispatch *behaviorUrns();
15354
15355     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
15356     void tagUrn(BSTR v);
15357
15358     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
15359     BSTR tagUrn();
15360
15361     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
15362     void onbeforeeditfocus(VARIANT v);
15363
15364     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
15365     VARIANT onbeforeeditfocus();
15366
15367     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
15368     long readyStateValue();
15369
15370     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
15371     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
15372
15373     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
15374     void mergeAttributes(
15375             [in] IHTMLElement *mergeThis,
15376             [in, optional] VARIANT *pvarFlags);
15377
15378     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
15379     VARIANT_BOOL isMultiLine();
15380
15381     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
15382     VARIANT_BOOL canHaveHTML();
15383
15384     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
15385     void onlayoutcomplete(VARIANT v);
15386
15387     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
15388     VARIANT onlayoutcomplete();
15389
15390     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
15391     void onpage(VARIANT v);
15392
15393     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
15394     VARIANT onpage();
15395
15396     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
15397     void inflateBlock(VARIANT_BOOL v);
15398
15399     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
15400     VARIANT_BOOL inflateBlock();
15401
15402     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
15403     void onbeforedeactivate(VARIANT v);
15404
15405     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
15406     VARIANT onbeforedeactivate();
15407
15408     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
15409     void setActive();
15410
15411     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
15412     void contentEditable(BSTR v);
15413
15414     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
15415     BSTR contentEditable();
15416
15417     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
15418     VARIANT_BOOL isContentEditable();
15419
15420     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
15421     void hideFocus(VARIANT_BOOL v);
15422
15423     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
15424     VARIANT_BOOL hideFocus();
15425
15426     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
15427     void disabled(VARIANT_BOOL v);
15428
15429     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
15430     VARIANT_BOOL disabled();
15431
15432     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
15433     VARIANT_BOOL isDisabled();
15434
15435     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
15436     void onmove(VARIANT v);
15437
15438     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
15439     VARIANT onmove();
15440
15441     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
15442     void oncontrolselect(VARIANT v);
15443
15444     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
15445     VARIANT oncontrolselect();
15446
15447     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
15448     VARIANT_BOOL fireEvent(
15449             [in] BSTR bstrEventName,
15450             [in, optional] VARIANT *pvarEventObject);
15451
15452     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
15453     void onresizestart(VARIANT v);
15454
15455     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
15456     VARIANT onresizestart();
15457
15458     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
15459     void onresizeend(VARIANT v);
15460
15461     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
15462     VARIANT onresizeend();
15463
15464     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
15465     void onmovestart(VARIANT v);
15466
15467     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
15468     VARIANT onmovestart();
15469
15470     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
15471     void onmoveend(VARIANT v);
15472
15473     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
15474     VARIANT onmoveend();
15475
15476     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
15477     void onmouseenter(VARIANT v);
15478
15479     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
15480     VARIANT onmouseenter();
15481
15482     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
15483     void onmouseleave(VARIANT v);
15484
15485     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
15486     VARIANT onmouseleave();
15487
15488     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
15489     void onactivate(VARIANT v);
15490
15491     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
15492     VARIANT onactivate();
15493
15494     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
15495     void ondeactivate(VARIANT v);
15496
15497     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
15498     VARIANT ondeactivate();
15499
15500     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
15501     VARIANT_BOOL dragDrop();
15502
15503     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
15504     LONG glyphMode();
15505
15506     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
15507     void onmousewheel(VARIANT v);
15508
15509     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
15510     VARIANT onmousewheel();
15511
15512     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
15513     void normalize();
15514
15515     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
15516     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
15517
15518     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
15519     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
15520
15521     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
15522     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
15523
15524     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
15525     void onbeforeactivate(VARIANT v);
15526
15527     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
15528     VARIANT onbeforeactivate();
15529
15530     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
15531     void onfocusin(VARIANT v);
15532
15533     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
15534     VARIANT onfocusin();
15535
15536     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
15537     void onfocusout(VARIANT v);
15538
15539     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
15540     VARIANT onfocusout();
15541
15542     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
15543     long uniqueNumber();
15544
15545     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
15546     BSTR uniqueID();
15547
15548     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
15549     long nodeType();
15550
15551     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
15552     IHTMLDOMNode *parentNode();
15553
15554     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
15555     VARIANT_BOOL hasChildNodes();
15556
15557     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
15558     IDispatch *childNodes();
15559
15560     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
15561     IDispatch *attributes();
15562
15563     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
15564     IHTMLDOMNode *insertBefore(
15565             [in] IHTMLDOMNode *newChild,
15566             [in, optional] VARIANT refChild);
15567
15568     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
15569     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
15570
15571     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
15572     IHTMLDOMNode *replaceChild(
15573             [in] IHTMLDOMNode *newChild,
15574             [in] IHTMLDOMNode *oldChild);
15575
15576     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
15577     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
15578
15579     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
15580     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
15581
15582     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
15583     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
15584
15585     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
15586     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
15587
15588     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
15589     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
15590
15591     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
15592     BSTR nodeName();
15593
15594     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
15595     void nodeValue(VARIANT v);
15596
15597     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
15598     VARIANT nodeValue();
15599
15600     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
15601     IHTMLDOMNode *firstChild();
15602
15603     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
15604     IHTMLDOMNode *lastChild();
15605
15606     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
15607     IHTMLDOMNode *previousSibling();
15608
15609     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
15610     IHTMLDOMNode *nextSibling();
15611
15612     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
15613     IDispatch *ownerDocument();
15614
15615     [propput, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
15616     void text(BSTR v);
15617
15618     [propget, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
15619     BSTR text();
15620
15621     [propput, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
15622     void atomic(long v);
15623
15624     [propget, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
15625     long atomic();
15626
15627     [propput, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
15628     void data(BSTR v);
15629
15630     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
15631     BSTR data();
15632
15633     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_LENGTH)]
15634     long length();
15635
15636     [id(DISPID_IHTMLCOMMENTELEMENT2_SUBSTRINGDATA)]
15637     BSTR substringData(
15638             [in] long offset,
15639             [in] long Count);
15640
15641     [id(DISPID_IHTMLCOMMENTELEMENT2_APPENDDATA)]
15642     void appendData([in] BSTR bstrstring);
15643
15644     [id(DISPID_IHTMLCOMMENTELEMENT2_INSERTDATA)]
15645      void insertData(
15646             [in] long offset,
15647             [in] BSTR bstrstring);
15648
15649     [id(DISPID_IHTMLCOMMENTELEMENT2_DELETEDATA)]
15650     void deleteData(
15651             [in] long offset,
15652             [in] long Count);
15653
15654     [id(DISPID_IHTMLCOMMENTELEMENT2_REPLACEDATA)]
15655     void replaceData(
15656             [in] long offset,
15657             [in] long Count,
15658             [in] BSTR bstrstring);
15659 }
15660
15661 /*****************************************************************************
15662  *    HTMLTableEvents dispinterface
15663  */
15664 [
15665     hidden,
15666     uuid(3050f407-98b5-11cf-bb82-00aa00bdce0b)
15667 ]
15668 dispinterface HTMLTableEvents
15669 {
15670 properties:
15671 methods:
15672     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
15673     VARIANT_BOOL onhelp();
15674
15675     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
15676     VARIANT_BOOL onclick();
15677
15678     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
15679     VARIANT_BOOL ondblclick();
15680
15681     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
15682     VARIANT_BOOL onkeypress();
15683
15684     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
15685     void onkeydown();
15686
15687     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
15688     void onkeyup();
15689
15690     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
15691     void onmouseout();
15692
15693     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
15694     void onmouseover();
15695
15696     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
15697     void onmousemove();
15698
15699     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
15700     void onmousedown();
15701
15702     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
15703     void onmouseup();
15704
15705     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
15706     VARIANT_BOOL onselectstart();
15707
15708     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
15709     void onfilterchange();
15710
15711     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
15712     VARIANT_BOOL ondragstart();
15713
15714     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
15715     VARIANT_BOOL onbeforeupdate();
15716
15717     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
15718     void onafterupdate();
15719
15720     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
15721     VARIANT_BOOL onerrorupdate();
15722
15723     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
15724     VARIANT_BOOL onrowexit();
15725
15726     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
15727     void onrowenter();
15728
15729     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
15730     void ondatasetchanged();
15731
15732     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
15733     void ondataavailable();
15734
15735     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
15736     void ondatasetcomplete();
15737
15738     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
15739     void onlosecapture();
15740
15741     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
15742     void onpropertychange();
15743
15744     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
15745     void onscroll();
15746
15747     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
15748     void onfocus();
15749
15750     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
15751     void onblur();
15752
15753     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
15754     void onresize();
15755
15756     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
15757     VARIANT_BOOL ondrag();
15758
15759     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
15760     void ondragend();
15761
15762     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
15763     VARIANT_BOOL ondragenter();
15764
15765     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
15766     VARIANT_BOOL ondragover();
15767
15768     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
15769     void ondragleave();
15770
15771     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
15772     VARIANT_BOOL ondrop();
15773
15774     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
15775     VARIANT_BOOL onbeforecut();
15776
15777     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
15778     VARIANT_BOOL oncut();
15779
15780     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
15781     VARIANT_BOOL onbeforecopy();
15782
15783     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
15784     VARIANT_BOOL oncopy();
15785
15786     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
15787     VARIANT_BOOL onbeforepaste();
15788
15789     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
15790     VARIANT_BOOL onpaste();
15791
15792     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
15793     VARIANT_BOOL oncontextmenu();
15794
15795     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
15796     void onrowsdelete();
15797
15798     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
15799     void onrowsinserted();
15800
15801     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
15802     void oncellchange();
15803
15804     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
15805     void onreadystatechange();
15806
15807     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
15808     void onbeforeeditfocus();
15809
15810     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
15811     void onlayoutcomplete();
15812
15813     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
15814     void onpage();
15815
15816     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
15817     VARIANT_BOOL onbeforedeactivate();
15818
15819     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
15820     VARIANT_BOOL onbeforeactivate();
15821
15822     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
15823     void onmove();
15824
15825     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
15826     VARIANT_BOOL oncontrolselect();
15827
15828     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
15829     VARIANT_BOOL onmovestart();
15830
15831     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
15832     void onmoveend();
15833
15834     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
15835     VARIANT_BOOL onresizestart();
15836
15837     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
15838     void onresizeend();
15839
15840     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
15841     void onmouseenter();
15842
15843     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
15844     void onmouseleave();
15845
15846     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
15847     VARIANT_BOOL onmousewheel();
15848
15849     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
15850     void onactivate();
15851
15852     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
15853     void ondeactivate();
15854
15855     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
15856     void onfocusin();
15857
15858     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
15859     void onfocusout();
15860 }
15861
15862 /*****************************************************************************
15863  *    IHTMLTableCaption interface
15864  */
15865 [
15866     odl,
15867     oleautomation,
15868     dual,
15869     uuid(3050f2eb-98b5-11cf-bb82-00aa00bdce0b)
15870 ]
15871 interface IHTMLTableCaption : IDispatch
15872 {
15873     [propput, id(DISPID_IHTMLTABLECAPTION_ALIGN)]
15874     HRESULT align([in] BSTR v);
15875
15876     [propget, id(DISPID_IHTMLTABLECAPTION_ALIGN)]
15877     HRESULT align([retval, out] BSTR *p);
15878
15879     [propput, id(DISPID_IHTMLTABLECAPTION_VALIGN)]
15880     HRESULT vAlign([in] BSTR v);
15881
15882     [propget, id(DISPID_IHTMLTABLECAPTION_VALIGN)]
15883     HRESULT vAlign([retval, out] BSTR *p);
15884 }
15885
15886 interface IHTMLTableSection;
15887
15888 /*****************************************************************************
15889  *    IHTMLTable interface
15890  */
15891 [
15892     odl,
15893     oleautomation,
15894     dual,
15895     uuid(3050f21e-98b5-11cf-bb82-00aa00bdce0b)
15896 ]
15897 interface IHTMLTable : IDispatch
15898 {
15899     [propput, id(DISPID_IHTMLTABLE_COLS)]
15900     HRESULT cols([in] long v);
15901
15902     [propget, id(DISPID_IHTMLTABLE_COLS)]
15903     HRESULT cols([retval, out] long *p);
15904
15905     [propput, id(DISPID_IHTMLTABLE_BORDER)]
15906     HRESULT border([in] VARIANT v);
15907
15908     [propget, id(DISPID_IHTMLTABLE_BORDER)]
15909     HRESULT border([retval, out] VARIANT *p);
15910
15911     [propput, id(DISPID_IHTMLTABLE_FRAME)]
15912     HRESULT frame([in] BSTR v);
15913
15914     [propget, id(DISPID_IHTMLTABLE_FRAME)]
15915     HRESULT frame([retval, out] BSTR *p);
15916
15917     [propput, id(DISPID_IHTMLTABLE_RULES)]
15918     HRESULT rules([in] BSTR v);
15919
15920     [propget, id(DISPID_IHTMLTABLE_RULES)]
15921     HRESULT rules([retval, out] BSTR *p);
15922
15923     [propput, id(DISPID_IHTMLTABLE_CELLSPACING)]
15924     HRESULT cellSpacing([in] VARIANT v);
15925
15926     [propget, id(DISPID_IHTMLTABLE_CELLSPACING)]
15927     HRESULT cellSpacing([retval, out] VARIANT *p);
15928
15929     [propput, id(DISPID_IHTMLTABLE_CELLPADDING)]
15930     HRESULT cellPadding([in] VARIANT v);
15931
15932     [propget, id(DISPID_IHTMLTABLE_CELLPADDING)]
15933     HRESULT cellPadding([retval, out] VARIANT *p);
15934
15935     [propput, id(DISPID_IHTMLTABLE_BACKGROUND)]
15936     HRESULT background([in] BSTR v);
15937
15938     [propget, id(DISPID_IHTMLTABLE_BACKGROUND)]
15939     HRESULT background([retval, out] BSTR *p);
15940
15941     [propput, id(DISPID_IHTMLTABLE_BGCOLOR)]
15942     HRESULT bgColor([in] VARIANT v);
15943
15944     [propget, id(DISPID_IHTMLTABLE_BGCOLOR)]
15945     HRESULT bgColor([retval, out] VARIANT *p);
15946
15947     [propput, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
15948     HRESULT borderColor([in] VARIANT v);
15949
15950     [propget, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
15951     HRESULT borderColor([retval, out] VARIANT *p);
15952
15953     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
15954     HRESULT borderColorLight([in] VARIANT v);
15955
15956     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
15957     HRESULT borderColorLight([retval, out] VARIANT *p);
15958
15959     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
15960     HRESULT borderColorDark([in] VARIANT v);
15961
15962     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
15963     HRESULT borderColorDark([retval, out] VARIANT *p);
15964
15965     [propput, id(DISPID_IHTMLTABLE_ALIGN)]
15966     HRESULT align([in] BSTR v);
15967
15968     [propget, id(DISPID_IHTMLTABLE_ALIGN)]
15969     HRESULT align([retval, out] BSTR * p);
15970
15971     [id(DISPID_IHTMLTABLE_REFRESH)]
15972     HRESULT refresh();
15973
15974     [propget, id(DISPID_IHTMLTABLE_ROWS)]
15975     HRESULT rows([retval, out] IHTMLElementCollection **p);
15976
15977     [propput, id(DISPID_IHTMLTABLE_WIDTH)]
15978     HRESULT width([in] VARIANT v);
15979
15980     [propget, id(DISPID_IHTMLTABLE_WIDTH)]
15981     HRESULT width([retval, out] VARIANT *p);
15982
15983     [propput, id(DISPID_IHTMLTABLE_HEIGHT)]
15984     HRESULT height([in] VARIANT v);
15985
15986     [propget, id(DISPID_IHTMLTABLE_HEIGHT)]
15987     HRESULT height([retval, out] VARIANT *p);
15988
15989     [propput, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
15990     HRESULT dataPageSize([in] long v);
15991
15992     [propget, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
15993     HRESULT dataPageSize([retval, out] long *p);
15994
15995     [id(DISPID_IHTMLTABLE_NEXTPAGE)]
15996     HRESULT nextPage();
15997
15998     [id(DISPID_IHTMLTABLE_PREVIOUSPAGE)]
15999     HRESULT previousPage();
16000
16001     [propget, id(DISPID_IHTMLTABLE_THEAD)]
16002     HRESULT tHead([retval, out] IHTMLTableSection **p);
16003
16004     [propget, id(DISPID_IHTMLTABLE_TFOOT)]
16005     HRESULT tFoot([retval, out] IHTMLTableSection **p);
16006
16007     [propget, id(DISPID_IHTMLTABLE_TBODIES)]
16008     HRESULT tBodies([retval, out] IHTMLElementCollection **p);
16009
16010     [propget, id(DISPID_IHTMLTABLE_CAPTION)]
16011     HRESULT caption([retval, out] IHTMLTableCaption **p);
16012
16013     [id(DISPID_IHTMLTABLE_CREATETHEAD)]
16014     HRESULT createTHead([retval, out] IDispatch **head);
16015
16016     [id(DISPID_IHTMLTABLE_DELETETHEAD)]
16017     HRESULT deleteTHead();
16018
16019     [id(DISPID_IHTMLTABLE_CREATETFOOT)]
16020     HRESULT createTFoot([retval, out] IDispatch **foot);
16021
16022     [id(DISPID_IHTMLTABLE_DELETETFOOT)]
16023     HRESULT deleteTFoot();
16024
16025     [id(DISPID_IHTMLTABLE_CREATECAPTION)]
16026     HRESULT createCaption([retval, out] IHTMLTableCaption **caption);
16027
16028     [id(DISPID_IHTMLTABLE_DELETECAPTION)]
16029     HRESULT deleteCaption();
16030
16031     [id(DISPID_IHTMLTABLE_INSERTROW)]
16032     HRESULT insertRow(
16033             [defaultvalue(-1), in] long index,
16034             [retval, out] IDispatch **row);
16035
16036     [id(DISPID_IHTMLTABLE_DELETEROW)]
16037     HRESULT deleteRow([defaultvalue(-1), in] long index);
16038
16039     [propget, id(DISPID_IHTMLTABLE_READYSTATE)]
16040     HRESULT readyState([retval, out] BSTR *p);
16041
16042     [propput, id(DISPID_IHTMLTABLE_ONREADYSTATECHANGE), displaybind, bindable]
16043     HRESULT onreadystatechange([in] VARIANT v);
16044
16045     [propget, id(DISPID_IHTMLTABLE_ONREADYSTATECHANGE), displaybind, bindable]
16046     HRESULT onreadystatechange([retval, out] VARIANT *p);
16047 }
16048
16049 [
16050     odl,
16051     oleautomation,
16052     dual,
16053     uuid(3050f23b-98b5-11cf-bb82-00aa00bdce0b)
16054 ]
16055 interface IHTMLTableSection : IDispatch
16056 {
16057     [propput, id(DISPID_IHTMLTABLESECTION_ALIGN)]
16058     HRESULT align([in] BSTR v);
16059
16060     [propget, id(DISPID_IHTMLTABLESECTION_ALIGN)]
16061     HRESULT align([retval, out] BSTR *p);
16062
16063     [propput, id(DISPID_IHTMLTABLESECTION_VALIGN)]
16064     HRESULT vAlign([in] BSTR v);
16065
16066     [propget, id(DISPID_IHTMLTABLESECTION_VALIGN)]
16067     HRESULT vAlign([retval, out] BSTR *p);
16068
16069     [propput, id(DISPID_IHTMLTABLESECTION_BGCOLOR)]
16070     HRESULT bgColor([in] VARIANT v);
16071
16072     [propget, id(DISPID_IHTMLTABLESECTION_BGCOLOR)]
16073     HRESULT bgColor([retval, out] VARIANT *p);
16074
16075     [propget, id(DISPID_IHTMLTABLESECTION_ROWS)]
16076     HRESULT rows([retval, out] IHTMLElementCollection **p);
16077
16078     [id(DISPID_IHTMLTABLESECTION_INSERTROW)]
16079     HRESULT insertRow(
16080             [defaultvalue(-1), in] long index,
16081             [retval, out] IDispatch **row);
16082
16083     [id(DISPID_IHTMLTABLESECTION_DELETEROW)]
16084     HRESULT deleteRow([defaultvalue(-1), in] long index);
16085 }
16086
16087 /*****************************************************************************
16088  *    IHTMLScriptElement interface
16089  */
16090 [
16091     odl,
16092     oleautomation,
16093     dual,
16094     uuid(3050f28b-98b5-11cf-bb82-00aa00bdce0b)
16095 ]
16096 interface IHTMLScriptElement : IDispatch
16097 {
16098     [propput, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
16099     HRESULT src([in] BSTR v);
16100
16101     [propget, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
16102     HRESULT src([retval, out] BSTR *p);
16103
16104     [propput, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
16105     HRESULT htmlFor([in] BSTR v);
16106
16107     [propget, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
16108     HRESULT htmlFor([retval, out] BSTR *p);
16109
16110     [propput, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
16111     HRESULT event([in] BSTR v);
16112
16113     [propget, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
16114     HRESULT event([retval, out] BSTR *p);
16115
16116     [propput, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
16117     HRESULT text([in] BSTR v);
16118
16119     [propget, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
16120     HRESULT text([retval, out] BSTR *p);
16121
16122     [propput, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
16123     HRESULT defer([in] VARIANT_BOOL v);
16124
16125     [propget, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
16126     HRESULT defer([retval, out] VARIANT_BOOL *p);
16127
16128     [propget, id(DISPID_IHTMLSCRIPTELEMENT_READYSTATE)]
16129     HRESULT readyState([retval, out] BSTR *p);
16130
16131     [propput, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
16132     HRESULT onerror([in] VARIANT v);
16133
16134     [propget, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
16135     HRESULT onerror([retval, out] VARIANT *p);
16136
16137     [propput, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
16138     HRESULT type([in] BSTR v);
16139
16140     [propget, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
16141     HRESULT type([retval, out] BSTR *p);
16142 }
16143
16144 /*****************************************************************************
16145  *    IHTMLScriptElement2 interface
16146  */
16147 [
16148     odl,
16149     oleautomation,
16150     dual,
16151     uuid(3050f828-98b5-11cf-bb82-00aa00bdce0b)
16152 ]
16153 interface IHTMLScriptElement2 : IDispatch
16154 {
16155     [propput, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
16156     HRESULT charset([in] BSTR v);
16157
16158     [propget, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
16159     HRESULT charset([retval, out] BSTR *p);
16160 }
16161
16162 /*****************************************************************************
16163  *    IHTMLFrameBase interface
16164  */
16165 [
16166     odl,
16167     oleautomation,
16168     dual,
16169     uuid(3050f311-98b5-11cf-bb82-00aa00bdce0b)
16170 ]
16171 interface IHTMLFrameBase : IDispatch
16172 {
16173     [propput, id(DISPID_IHTMLFRAMEBASE_SRC)]
16174     HRESULT src([in] BSTR v);
16175
16176     [propget, id(DISPID_IHTMLFRAMEBASE_SRC)]
16177     HRESULT src([out, retval] BSTR *p);
16178
16179     [propput, id(DISPID_IHTMLFRAMEBASE_NAME)]
16180     HRESULT name([in] BSTR v);
16181
16182     [propget, id(DISPID_IHTMLFRAMEBASE_NAME)]
16183     HRESULT name([out, retval] BSTR *p);
16184
16185     [propput, id(DISPID_IHTMLFRAMEBASE_BORDER)]
16186     HRESULT border([in] VARIANT v);
16187
16188     [propget, id(DISPID_IHTMLFRAMEBASE_BORDER)]
16189     HRESULT border([out, retval] VARIANT *p);
16190
16191     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
16192     HRESULT frameBorder([in] BSTR v);
16193
16194     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
16195     HRESULT frameBorder([out, retval] BSTR *p);
16196
16197     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
16198     HRESULT frameSpacing([in] VARIANT v);
16199
16200     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
16201     HRESULT frameSpacing([out, retval] VARIANT *p);
16202
16203     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
16204     HRESULT marginWidth([in] VARIANT v);
16205
16206     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
16207     HRESULT marginWidth([out, retval] VARIANT *p);
16208
16209     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
16210     HRESULT marginHeight([in] VARIANT v);
16211
16212     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
16213     HRESULT marginHeight([out, retval] VARIANT *p);
16214
16215     [propput, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
16216     HRESULT noResize([in] VARIANT_BOOL v);
16217
16218     [propget, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
16219     HRESULT noResize([out, retval] VARIANT_BOOL *p);
16220
16221     [propput, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
16222     HRESULT scrolling([in] BSTR v);
16223
16224     [propget, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
16225     HRESULT scrolling([out, retval] BSTR *p);
16226 }
16227
16228 /*****************************************************************************
16229  *    IHTMLFrameBase2 interface
16230  */
16231 [
16232     odl,
16233     oleautomation,
16234     dual,
16235     uuid(3050f6db-98b5-11cf-bb82-00aa00bdce0b)
16236 ]
16237 interface IHTMLFrameBase2 : IDispatch
16238 {
16239     [propget, id(DISPID_IHTMLFRAMEBASE2_CONTENTWINDOW)]
16240     HRESULT contentWindow([retval, out] IHTMLWindow2 **p);
16241
16242     [propput, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
16243     HRESULT onload([in] VARIANT v);
16244
16245     [propget, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
16246     HRESULT onload([retval, out] VARIANT *p);
16247
16248     [propput, id(DISPID_IHTMLFRAMEBASE2_ONREADYSTATECHANGE), displaybind, bindable]
16249     HRESULT onreadystatechange([in] VARIANT v);
16250
16251     [propget, id(DISPID_IHTMLFRAMEBASE2_ONREADYSTATECHANGE), displaybind, bindable]
16252     HRESULT onreadystatechange([retval, out] VARIANT *p);
16253
16254     [propget, id(DISPID_IHTMLFRAMEBASE2_READYSTATE)]
16255     HRESULT readyState([retval, out] BSTR *p);
16256
16257     [propput, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
16258     HRESULT allowTransparency([in] VARIANT_BOOL v);
16259
16260     [propget, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
16261     HRESULT allowTransparency([retval, out] VARIANT_BOOL *p);
16262 }
16263
16264 } /* library MSHTML */