mshtml.idl: Added IHTMLStyle2 interface declaration.
[wine] / include / mshtml.idl
1 /*
2  * Copyright 2004-2007 Jacek Caban for CodeWeavers
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Lesser General Public
6  * License as published by the Free Software Foundation; either
7  * version 2.1 of the License, or (at your option) any later version.
8  *
9  * This library is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12  * Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public
15  * License along with this library; if not, write to the Free Software
16  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
17  */
18
19 #include <mshtmdid.h>
20 #include <mshtmcid.h>
21 #include <olectl.h>
22
23 import "ocidl.idl";
24 import "dimm.idl";
25 import "shtypes.idl";
26
27 cpp_quote("#include <olectl.h>")
28
29 cpp_quote("DEFINE_GUID(SID_SEditCommandTarget,  0x3050f4b5,0x98b5,0x11cf,0xbb,0x82,0x00,0xaa,0x00,0xbd,0xce,0x0b);")
30 cpp_quote("DEFINE_GUID(SID_SHTMLEditHost,       0x3050f6a0,0x98b5,0x11cf,0xbb,0x82,0x00,0xaa,0x00,0xbd,0xce,0x0b);")
31 cpp_quote("DEFINE_GUID(SID_SHTMLEditServices,   0x3050f7f9,0x98b5,0x11cf,0xbb,0x82,0x00,0xaa,0x00,0xbd,0xce,0x0b);")
32 cpp_quote("#define SID_SHTMLWindow IID_IHTMLWindow2")
33 cpp_quote("#define SID_SElementBehaviorFactory IID_IElementBehaviorFactory")
34
35 interface IHTMLDocument2;
36 interface IHTMLStyleSheetsCollection;
37 interface IHTMLFrameBase;
38
39 /*****************************************************************************
40  *    IHTMLFiltersCollection interface
41  */
42 [
43     odl,
44     oleautomation,
45     dual,
46     uuid(3050F3EE-98B5-11Cf-BB82-00AA00BDCE0B)
47 ]
48 interface IHTMLFiltersCollection : IDispatch
49 {
50     [propget, id(DISPID_IHTMLFILTERSCOLLECTION_LENGTH)]
51     HRESULT length([retval, out] long *p);
52
53     [propget, id(DISPID_IHTMLFILTERSCOLLECTION__NEWENUM)]
54     HRESULT _newEnum([retval, out] IUnknown **p);
55
56     [id(DISPID_IHTMLFILTERSCOLLECTION_ITEM)]
57     HRESULT item(
58         [in] VARIANT *pvarIndex,
59         [retval, out] VARIANT *pvarResult);
60 }
61
62 [
63     version(4.0),
64     uuid(3050F1C5-98B5-11CF-BB82-00AA00BDCE0B)
65 ]
66 library MSHTML
67 {
68
69 importlib("stdole2.tlb");
70
71 /*****************************************************************************
72  *    IHTMLStyle interface
73  */
74 [
75     odl,
76     oleautomation,
77     dual,
78     uuid(3050F25E-98B5-11CF-BB82-00AA00BDCE0B)
79 ]
80 interface IHTMLStyle : IDispatch
81 {
82     [propput, id(DISPID_IHTMLSTYLE_FONTFAMILY), bindable, displaybind]
83     HRESULT fontFamily([in] BSTR v);
84
85     [propget, id(DISPID_IHTMLSTYLE_FONTFAMILY), bindable, displaybind]
86     HRESULT fontFamily([retval, out] BSTR *p);
87
88     [propput, id(DISPID_IHTMLSTYLE_FONTSTYLE), bindable, displaybind]
89     HRESULT fontStyle([in] BSTR v);
90
91     [propget, id(DISPID_IHTMLSTYLE_FONTSTYLE), bindable, displaybind]
92     HRESULT fontStyle([retval, out] BSTR *p);
93
94     [propput, id(DISPID_IHTMLSTYLE_FONTVARIANT), bindable, displaybind]
95     HRESULT fontVariant([in] BSTR v);
96
97     [propget, id(DISPID_IHTMLSTYLE_FONTVARIANT), bindable, displaybind]
98     HRESULT fontVariant([retval, out] BSTR *p);
99
100     [propput, id(DISPID_IHTMLSTYLE_FONTWEIGHT), bindable, displaybind]
101     HRESULT fontWeight([in] BSTR v);
102
103     [propget, id(DISPID_IHTMLSTYLE_FONTWEIGHT), bindable, displaybind]
104     HRESULT fontWeight([retval, out] BSTR *p);
105
106     [propput, id(DISPID_IHTMLSTYLE_FONTSIZE), bindable, displaybind]
107     HRESULT fontSize([in] VARIANT v);
108
109     [propget, id(DISPID_IHTMLSTYLE_FONTSIZE), bindable, displaybind]
110     HRESULT fontSize([retval, out] VARIANT *p);
111
112     [propput, id(DISPID_IHTMLSTYLE_FONT), bindable, displaybind]
113     HRESULT font([in] BSTR v);
114
115     [propget, id(DISPID_IHTMLSTYLE_FONT), bindable, displaybind]
116     HRESULT font([retval, out] BSTR *p);
117
118     [propput, id(DISPID_IHTMLSTYLE_COLOR), bindable, displaybind]
119     HRESULT color([in] VARIANT v);
120
121     [propget, id(DISPID_IHTMLSTYLE_COLOR), bindable, displaybind]
122     HRESULT color([retval, out] VARIANT *p);
123
124     [propput, id(DISPID_IHTMLSTYLE_BACKGROUND), bindable, displaybind]
125     HRESULT background([in] BSTR v);
126
127     [propget, id(DISPID_IHTMLSTYLE_BACKGROUND), bindable, displaybind]
128     HRESULT background([retval, out] BSTR *p);
129
130     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), bindable, displaybind]
131     HRESULT backgroundColor([in] VARIANT v);
132
133     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), bindable, displaybind]
134     HRESULT backgroundColor([retval, out] VARIANT *p);
135
136     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), bindable, displaybind]
137     HRESULT backgroundImage([in] BSTR v);
138
139     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), bindable, displaybind]
140     HRESULT backgroundImage([retval, out] BSTR *p);
141
142     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), bindable, displaybind]
143     HRESULT backgroundRepeat([in] BSTR v);
144
145     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), bindable, displaybind]
146     HRESULT backgroundRepeat([retval, out] BSTR *p);
147
148     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
149     HRESULT backgroundAttachment([in] BSTR v);
150
151     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
152     HRESULT backgroundAttachment([retval, out] BSTR *p);
153
154     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), bindable, displaybind]
155     HRESULT backgroundPosition([in] BSTR v);
156
157     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), bindable, displaybind]
158     HRESULT backgroundPosition([retval, out] BSTR *p);
159
160     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
161     HRESULT backgroundPositionX([in] VARIANT v);
162
163     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
164     HRESULT backgroundPositionX([retval, out] VARIANT *p);
165
166     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
167     HRESULT backgroundPositionY([in] VARIANT v);
168
169     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
170     HRESULT backgroundPositionY([retval, out] VARIANT *p);
171
172     [propput, id(DISPID_IHTMLSTYLE_WORDSPACING), bindable, displaybind]
173     HRESULT wordSpacing([in] VARIANT v);
174
175     [propget, id(DISPID_IHTMLSTYLE_WORDSPACING), bindable, displaybind]
176     HRESULT wordSpacing([retval, out] VARIANT *p);
177
178     [propput, id(DISPID_IHTMLSTYLE_LETTERSPACING), bindable, displaybind]
179     HRESULT letterSpacing([in] VARIANT v);
180
181     [propget, id(DISPID_IHTMLSTYLE_LETTERSPACING), bindable, displaybind]
182     HRESULT letterSpacing([retval, out] VARIANT *p);
183
184     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATION), bindable, displaybind]
185     HRESULT textDecoration([in] BSTR v);
186
187     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATION), bindable, displaybind]
188     HRESULT textDecoration([retval, out] BSTR *p);
189
190     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), bindable, displaybind]
191     HRESULT textDecorationNone([in] VARIANT_BOOL v);
192
193     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), bindable, displaybind]
194     HRESULT textDecorationNone([retval, out] VARIANT_BOOL *p);
195
196     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
197     HRESULT textDecorationUnderline([in] VARIANT_BOOL v);
198
199     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
200     HRESULT textDecorationUnderline([retval, out] VARIANT_BOOL *p);
201
202     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
203     HRESULT textDecorationOverline([in] VARIANT_BOOL v);
204
205     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
206     HRESULT textDecorationOverline([retval, out] VARIANT_BOOL *p);
207
208     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
209     HRESULT textDecorationLineThrough([in] VARIANT_BOOL v);
210
211     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
212     HRESULT textDecorationLineThrough([retval, out] VARIANT_BOOL *p);
213
214     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
215     HRESULT textDecorationBlink([in] VARIANT_BOOL v);
216
217     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
218     HRESULT textDecorationBlink([retval, out] VARIANT_BOOL *p);
219
220     [propput, id(DISPID_IHTMLSTYLE_VERTICALALIGN), bindable, displaybind]
221     HRESULT verticalAlign([in] VARIANT v);
222
223     [propget, id(DISPID_IHTMLSTYLE_VERTICALALIGN), bindable, displaybind]
224     HRESULT verticalAlign([retval, out] VARIANT *p);
225
226     [propput, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), bindable, displaybind]
227     HRESULT textTransform([in] BSTR v);
228
229     [propget, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), bindable, displaybind]
230     HRESULT textTransform([retval, out] BSTR *p);
231
232     [propput, id(DISPID_IHTMLSTYLE_TEXTALIGN), bindable, displaybind]
233     HRESULT textAlign([in] BSTR v);
234
235     [propget, id(DISPID_IHTMLSTYLE_TEXTALIGN), bindable, displaybind]
236     HRESULT textAlign([retval, out] BSTR *p);
237
238     [propput, id(DISPID_IHTMLSTYLE_TEXTINDENT), bindable, displaybind]
239     HRESULT textIndent([in] VARIANT v);
240
241     [propget, id(DISPID_IHTMLSTYLE_TEXTINDENT), bindable, displaybind]
242     HRESULT textIndent([retval, out] VARIANT *p);
243
244     [propput, id(DISPID_IHTMLSTYLE_LINEHEIGHT), bindable, displaybind]
245     HRESULT lineHeight([in] VARIANT v);
246
247     [propget, id(DISPID_IHTMLSTYLE_LINEHEIGHT), bindable, displaybind]
248     HRESULT lineHeight([retval, out] VARIANT *p);
249
250     [propput, id(DISPID_IHTMLSTYLE_MARGINTOP), bindable, displaybind]
251     HRESULT marginTop([in] VARIANT v);
252
253     [propget, id(DISPID_IHTMLSTYLE_MARGINTOP), bindable, displaybind]
254     HRESULT marginTop([retval, out] VARIANT *p);
255
256     [propput, id(DISPID_IHTMLSTYLE_MARGINRIGHT), bindable, displaybind]
257     HRESULT marginRight([in] VARIANT v);
258
259     [propget, id(DISPID_IHTMLSTYLE_MARGINRIGHT), bindable, displaybind]
260     HRESULT marginRight([retval, out] VARIANT *p);
261
262     [propput, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), bindable, displaybind]
263     HRESULT marginBottom([in] VARIANT v);
264
265     [propget, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), bindable, displaybind]
266     HRESULT marginBottom([retval, out] VARIANT *p);
267
268     [propput, id(DISPID_IHTMLSTYLE_MARGINLEFT), bindable, displaybind]
269     HRESULT marginLeft([in] VARIANT v);
270
271     [propget, id(DISPID_IHTMLSTYLE_MARGINLEFT), bindable, displaybind]
272     HRESULT marginLeft([retval, out] VARIANT *p);
273
274     [propput, id(DISPID_IHTMLSTYLE_MARGIN), bindable, displaybind]
275     HRESULT margin([in] BSTR v);
276
277     [propget, id(DISPID_IHTMLSTYLE_MARGIN), bindable, displaybind]
278     HRESULT margin([retval, out] BSTR *p);
279
280     [propput, id(DISPID_IHTMLSTYLE_PADDINGTOP), bindable, displaybind]
281     HRESULT paddingTop([in] VARIANT v);
282
283     [propget, id(DISPID_IHTMLSTYLE_PADDINGTOP), bindable, displaybind]
284     HRESULT paddingTop([retval, out] VARIANT *p);
285
286     [propput, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), bindable, displaybind]
287     HRESULT paddingRight([in] VARIANT v);
288
289     [propget, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), bindable, displaybind]
290     HRESULT paddingRight([retval, out] VARIANT *p);
291
292     [propput, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), bindable, displaybind]
293     HRESULT paddingBottom([in] VARIANT v);
294
295     [propget, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), bindable, displaybind]
296     HRESULT paddingBottom([retval, out] VARIANT *p);
297
298     [propput, id(DISPID_IHTMLSTYLE_PADDINGLEFT), bindable, displaybind]
299     HRESULT paddingLeft([in] VARIANT v);
300
301     [propget, id(DISPID_IHTMLSTYLE_PADDINGLEFT), bindable, displaybind]
302     HRESULT paddingLeft([retval, out] VARIANT *p);
303
304     [propput, id(DISPID_IHTMLSTYLE_PADDING), bindable, displaybind]
305     HRESULT padding([in] BSTR v);
306
307     [propget, id(DISPID_IHTMLSTYLE_PADDING), bindable, displaybind]
308     HRESULT padding([retval, out] BSTR *p);
309
310     [propput, id(DISPID_IHTMLSTYLE_BORDER), bindable, displaybind]
311     HRESULT border([in] BSTR v);
312
313     [propget, id(DISPID_IHTMLSTYLE_BORDER), bindable, displaybind]
314     HRESULT border([retval, out] BSTR *p);
315
316     [propput, id(DISPID_IHTMLSTYLE_BORDERTOP), bindable, displaybind]
317     HRESULT borderTop([in] BSTR v);
318
319     [propget, id(DISPID_IHTMLSTYLE_BORDERTOP), bindable, displaybind]
320     HRESULT borderTop([retval, out] BSTR *p);
321
322     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHT), bindable, displaybind]
323     HRESULT borderRight([in] BSTR v);
324
325     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHT), bindable, displaybind]
326     HRESULT borderRight([retval, out] BSTR *p);
327
328     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), bindable, displaybind]
329     HRESULT borderBottom([in] BSTR v);
330
331     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), bindable, displaybind]
332     HRESULT borderBottom([retval, out] BSTR *p);
333
334     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFT), bindable, displaybind]
335     HRESULT borderLeft([in] BSTR v);
336
337     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFT), bindable, displaybind]
338     HRESULT borderLeft([retval, out] BSTR *p);
339
340     [propput, id(DISPID_IHTMLSTYLE_BORDERCOLOR), bindable, displaybind]
341     HRESULT borderColor([in] BSTR v);
342
343     [propget, id(DISPID_IHTMLSTYLE_BORDERCOLOR), bindable, displaybind]
344     HRESULT borderColor([retval, out] BSTR *p);
345
346     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), bindable, displaybind]
347     HRESULT borderTopColor([in] VARIANT v);
348
349     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), bindable, displaybind]
350     HRESULT borderTopColor([retval, out] VARIANT *p);
351
352     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
353     HRESULT borderRightColor([in] VARIANT v);
354
355     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
356     HRESULT borderRightColor([retval, out] VARIANT *p);
357
358     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
359     HRESULT borderBottomColor([in] VARIANT v);
360
361     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
362     HRESULT borderBottomColor([retval, out] VARIANT *p);
363
364     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), bindable, displaybind]
365     HRESULT borderLeftColor([in] VARIANT v);
366
367     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), bindable, displaybind]
368     HRESULT borderLeftColor([retval, out] VARIANT *p);
369
370     [propput, id(DISPID_IHTMLSTYLE_BORDERWIDTH), bindable, displaybind]
371     HRESULT borderWidth([in] BSTR v);
372
373     [propget, id(DISPID_IHTMLSTYLE_BORDERWIDTH), bindable, displaybind]
374     HRESULT borderWidth([retval, out] BSTR *p);
375
376     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), bindable, displaybind]
377     HRESULT borderTopWidth([in] VARIANT v);
378
379     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), bindable, displaybind]
380     HRESULT borderTopWidth([retval, out] VARIANT *p);
381
382     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
383     HRESULT borderRightWidth([in] VARIANT v);
384
385     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
386     HRESULT borderRightWidth([retval, out] VARIANT *p);
387
388     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
389     HRESULT borderBottomWidth([in] VARIANT v);
390
391     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
392     HRESULT borderBottomWidth([retval, out] VARIANT *p);
393
394     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), bindable, displaybind]
395     HRESULT borderLeftWidth([in] VARIANT v);
396
397     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), bindable, displaybind]
398     HRESULT borderLeftWidth([retval, out] VARIANT *p);
399
400     [propput, id(DISPID_IHTMLSTYLE_BORDERSTYLE), bindable, displaybind]
401     HRESULT borderStyle([in] BSTR v);
402
403     [propget, id(DISPID_IHTMLSTYLE_BORDERSTYLE), bindable, displaybind]
404     HRESULT borderStyle([retval, out] BSTR *p);
405
406     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), bindable, displaybind]
407     HRESULT borderTopStyle([in] BSTR v);
408
409     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), bindable, displaybind]
410     HRESULT borderTopStyle([retval, out] BSTR *p);
411
412     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
413     HRESULT borderRightStyle([in] BSTR v);
414
415     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
416     HRESULT borderRightStyle([retval, out] BSTR *p);
417
418     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
419     HRESULT borderBottomStyle([in] BSTR v);
420
421     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
422     HRESULT borderBottomStyle([retval, out] BSTR *p);
423
424     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), bindable, displaybind]
425     HRESULT borderLeftStyle([in] BSTR v);
426
427     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), bindable, displaybind]
428     HRESULT borderLeftStyle([retval, out] BSTR *p);
429
430     [propput, id(DISPID_IHTMLSTYLE_WIDTH), bindable, displaybind]
431     HRESULT width([in] VARIANT v);
432
433     [propget, id(DISPID_IHTMLSTYLE_WIDTH), bindable, displaybind]
434     HRESULT width([retval, out] VARIANT *p);
435
436     [propput, id(DISPID_IHTMLSTYLE_HEIGHT), bindable, displaybind]
437     HRESULT height([in] VARIANT v);
438
439     [propget, id(DISPID_IHTMLSTYLE_HEIGHT), bindable, displaybind]
440     HRESULT height([retval, out] VARIANT *p);
441
442     [propput, id(DISPID_IHTMLSTYLE_STYLEFLOAT), bindable, displaybind]
443     HRESULT styleFloat([in] BSTR v);
444
445     [propget, id(DISPID_IHTMLSTYLE_STYLEFLOAT), bindable, displaybind]
446     HRESULT styleFloat([retval, out] BSTR *p);
447
448     [propput, id(DISPID_IHTMLSTYLE_CLEAR), bindable, displaybind]
449     HRESULT clear([in] BSTR v);
450
451     [propget, id(DISPID_IHTMLSTYLE_CLEAR), bindable, displaybind]
452     HRESULT clear([retval, out] BSTR *p);
453
454     [propput, id(DISPID_IHTMLSTYLE_DISPLAY), bindable, displaybind]
455     HRESULT display([in] BSTR v);
456
457     [propget, id(DISPID_IHTMLSTYLE_DISPLAY), bindable, displaybind]
458     HRESULT display([retval, out] BSTR *p);
459
460     [propput, id(DISPID_IHTMLSTYLE_VISIBILITY), bindable, displaybind]
461     HRESULT visibility([in] BSTR v);
462
463     [propget, id(DISPID_IHTMLSTYLE_VISIBILITY), bindable, displaybind]
464     HRESULT visibility([retval, out] BSTR *p);
465
466     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), bindable, displaybind]
467     HRESULT listStyleType([in] BSTR v);
468
469     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), bindable, displaybind]
470     HRESULT listStyleType([retval, out] BSTR *p);
471
472     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), bindable, displaybind]
473     HRESULT listStylePosition([in] BSTR v);
474
475     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), bindable, displaybind]
476     HRESULT listStylePosition([retval, out] BSTR *p);
477
478     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), bindable, displaybind]
479     HRESULT listStyleImage([in] BSTR v);
480
481     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), bindable, displaybind]
482     HRESULT listStyleImage([retval, out] BSTR *p);
483
484     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLE), bindable, displaybind]
485     HRESULT listStyle([in] BSTR v);
486
487     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLE), bindable, displaybind]
488     HRESULT listStyle([retval, out] BSTR *p);
489
490     [propput, id(DISPID_IHTMLSTYLE_WHITESPACE), bindable, displaybind]
491     HRESULT whiteSpace([in] BSTR v);
492
493     [propget, id(DISPID_IHTMLSTYLE_WHITESPACE), bindable, displaybind]
494     HRESULT whiteSpace([retval, out] BSTR *p);
495
496     [propput, id(DISPID_IHTMLSTYLE_TOP), bindable, displaybind]
497     HRESULT top([in] VARIANT v);
498
499     [propget, id(DISPID_IHTMLSTYLE_TOP), bindable, displaybind]
500     HRESULT top([retval, out] VARIANT *p);
501
502     [propput, id(DISPID_IHTMLSTYLE_LEFT), bindable, displaybind]
503     HRESULT left([in] VARIANT v);
504
505     [propget, id(DISPID_IHTMLSTYLE_LEFT), bindable, displaybind]
506     HRESULT left([retval, out] VARIANT *p);
507
508     [propget, id(DISPID_IHTMLSTYLE_POSITION), bindable, displaybind]
509     HRESULT position([retval, out] BSTR *p);
510
511     [propput, id(DISPID_IHTMLSTYLE_ZINDEX), bindable, displaybind]
512     HRESULT zIndex([in] VARIANT v);
513
514     [propget, id(DISPID_IHTMLSTYLE_ZINDEX), bindable, displaybind]
515     HRESULT zIndex([retval, out] VARIANT *p);
516
517     [propput, id(DISPID_IHTMLSTYLE_OVERFLOW), bindable, displaybind]
518     HRESULT overflow([in] BSTR v);
519
520     [propget, id(DISPID_IHTMLSTYLE_OVERFLOW), bindable, displaybind]
521     HRESULT overflow([retval, out] BSTR *p);
522
523     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), bindable, displaybind]
524     HRESULT pageBreakBefore([in] BSTR v);
525
526     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), bindable, displaybind]
527     HRESULT pageBreakBefore([retval, out] BSTR *p);
528
529     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), bindable, displaybind]
530     HRESULT pageBreakAfter([in] BSTR v);
531
532     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), bindable, displaybind]
533     HRESULT pageBreakAfter([retval, out] BSTR *p);
534
535     [propput, id(DISPID_IHTMLSTYLE_CSSTEXT), bindable, displaybind]
536     HRESULT cssText([in] BSTR v);
537
538     [propget, id(DISPID_IHTMLSTYLE_CSSTEXT), bindable, displaybind]
539     HRESULT cssText([retval, out] BSTR *p);
540
541     [propput, id(DISPID_IHTMLSTYLE_PIXELTOP), bindable, displaybind, hidden]
542     HRESULT pixelTop([in] long v);
543
544     [propget, id(DISPID_IHTMLSTYLE_PIXELTOP), bindable, displaybind, hidden]
545     HRESULT pixelTop([retval, out] long *p);
546
547     [propput, id(DISPID_IHTMLSTYLE_PIXELLEFT), bindable, displaybind, hidden]
548     HRESULT pixelLeft([in] long v);
549
550     [propget, id(DISPID_IHTMLSTYLE_PIXELLEFT), bindable, displaybind, hidden]
551     HRESULT pixelLeft([retval, out] long *p);
552
553     [propput, id(DISPID_IHTMLSTYLE_PIXELWIDTH), bindable, displaybind, hidden]
554     HRESULT pixelWidth([in] long v);
555
556     [propget, id(DISPID_IHTMLSTYLE_PIXELWIDTH), bindable, displaybind, hidden]
557     HRESULT pixelWidth([retval, out] long *p);
558
559     [propput, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), bindable, displaybind, hidden]
560     HRESULT pixelHeight([in] long v);
561
562     [propget, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), bindable, displaybind, hidden]
563     HRESULT pixelHeight([retval, out] long *p);
564
565     [propput, id(DISPID_IHTMLSTYLE_POSTOP), bindable, displaybind]
566     HRESULT posTop([in] float v);
567
568     [propget, id(DISPID_IHTMLSTYLE_POSTOP), bindable, displaybind]
569     HRESULT posTop([retval, out] float *p);
570
571     [propput, id(DISPID_IHTMLSTYLE_POSLEFT), bindable, displaybind]
572     HRESULT posLeft([in] float v);
573
574     [propget, id(DISPID_IHTMLSTYLE_POSLEFT), bindable, displaybind]
575     HRESULT posLeft([retval, out] float *p);
576
577     [propput, id(DISPID_IHTMLSTYLE_POSWIDTH), bindable, displaybind]
578     HRESULT posWidth([in] float v);
579
580     [propget, id(DISPID_IHTMLSTYLE_POSWIDTH), bindable, displaybind]
581     HRESULT posWidth([retval, out] float *p);
582
583     [propput, id(DISPID_IHTMLSTYLE_POSHEIGHT), bindable, displaybind]
584     HRESULT posHeight([in] float v);
585
586     [propget, id(DISPID_IHTMLSTYLE_POSHEIGHT), bindable, displaybind]
587     HRESULT posHeight([retval, out] float *p);
588
589     [propput, id(DISPID_IHTMLSTYLE_CURSOR), bindable, displaybind]
590     HRESULT cursor([in] BSTR v);
591
592     [propget, id(DISPID_IHTMLSTYLE_CURSOR), bindable, displaybind]
593     HRESULT cursor([retval, out] BSTR *p);
594
595     [propput, id(DISPID_IHTMLSTYLE_CLIP), bindable, displaybind]
596     HRESULT clip([in] BSTR v);
597
598     [propget, id(DISPID_IHTMLSTYLE_CLIP), bindable, displaybind]
599     HRESULT clip([retval, out] BSTR *p);
600
601     [propput, id(DISPID_IHTMLSTYLE_FILTER), bindable, displaybind]
602     HRESULT filter([in] BSTR v);
603
604     [propget, id(DISPID_IHTMLSTYLE_FILTER), bindable, displaybind]
605     HRESULT filter([retval, out] BSTR *p);
606
607     [id(DISPID_IHTMLSTYLE_SETATTRIBUTE)]
608     HRESULT setAttribute(
609         [in] BSTR strAttributeName,
610         [in] VARIANT AttributeValue,
611         [defaultvalue(1), in] LONG lFlags);
612
613     [id(DISPID_IHTMLSTYLE_GETATTRIBUTE)]
614     HRESULT getAttribute(
615         [in] BSTR strAttributeName,
616         [defaultvalue(0), in] LONG lFlags,
617         [retval, out] VARIANT *AttributeValue);
618
619     [id(DISPID_IHTMLSTYLE_REMOVEATTRIBUTE)]
620     HRESULT removeAttribute(
621         [in] BSTR strAttributeName,
622         [defaultvalue(1), in]
623         LONG lFlags,
624         [retval, out] VARIANT_BOOL *pfSuccess);
625
626     [id(DISPID_IHTMLSTYLE_TOSTRING)]
627     HRESULT toString([retval, out] BSTR *String);
628 }
629
630 /*****************************************************************************
631  *    IHTMLStyle2 interface
632  */
633 [
634     odl,
635     oleautomation,
636     dual,
637     uuid(3050f4a2-98b5-11cf-bb82-00aa00bdce0b)
638 ]
639 interface IHTMLStyle2 : IDispatch
640 {
641     [propput, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable]
642     HRESULT tableLayout([in] BSTR v);
643
644     [propget, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable]
645     HRESULT tableLayout([out, retval] BSTR *p);
646
647     [propput, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable]
648     HRESULT borderCollapse([in] BSTR v);
649
650     [propget, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable]
651     HRESULT borderCollapse([out, retval] BSTR *p);
652
653     [propput, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable]
654     HRESULT direction([in] BSTR v);
655
656     [propget, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable]
657     HRESULT direction([out, retval] BSTR *p);
658
659     [propput, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable]
660     HRESULT behavior([in] BSTR v);
661
662     [propget, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable]
663     HRESULT behavior([out, retval] BSTR *p);
664
665     [id(DISPID_IHTMLSTYLE2_SETEXPRESSION)]
666     HRESULT setExpression(
667             [in] BSTR propname,
668             [in] BSTR expression,
669             [in, defaultvalue("")] BSTR language);
670
671     [id(DISPID_IHTMLSTYLE2_GETEXPRESSION)]
672     HRESULT getExpression(
673             [in] BSTR propname,
674             [out, retval] VARIANT *expression);
675
676     [id(DISPID_IHTMLSTYLE2_REMOVEEXPRESSION)]
677     HRESULT removeExpression(
678             [in] BSTR propname,
679             [out, retval] VARIANT_BOOL *pfSuccess);
680
681     [propput, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable]
682     HRESULT position([in] BSTR v);
683
684     [propget, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable]
685     HRESULT position([out, retval] BSTR *p);
686
687     [propput, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable]
688     HRESULT unicodeBidi([in] BSTR v);
689
690     [propget, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable]
691     HRESULT unicodeBidi([out, retval] BSTR *p);
692
693     [propput, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable]
694     HRESULT bottom([in] VARIANT v);
695
696     [propget, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable]
697     HRESULT bottom([out, retval] VARIANT *p);
698
699     [propput, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable]
700     HRESULT right([in] VARIANT v);
701
702     [propget, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable]
703     HRESULT right([out, retval] VARIANT *p);
704
705     [propput, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden]
706     HRESULT pixelBottom([in] long v);
707
708     [propget, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden]
709     HRESULT pixelBottom([out, retval] long *p);
710
711     [propput, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden]
712     HRESULT pixelRight([in] long v);
713
714     [propget, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden]
715     HRESULT pixelRight([out, retval] long *p);
716
717     [propput, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable]
718     HRESULT posBottom([in] float v);
719
720     [propget, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable]
721     HRESULT posBottom([out, retval] float *p);
722
723     [propput, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable]
724     HRESULT posRight([in] float v);
725
726     [propget, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable]
727     HRESULT posRight([out, retval] float *p);
728
729     [propput, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable]
730     HRESULT imeMode([in] BSTR v);
731
732     [propget, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable]
733     HRESULT imeMode([out, retval] BSTR *p);
734
735     [propput, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable]
736     HRESULT rubyAlign([in] BSTR v);
737
738     [propget, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable]
739     HRESULT rubyAlign([out, retval] BSTR *p);
740
741     [propput, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable]
742     HRESULT rubyPosition([in] BSTR v);
743
744     [propget, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable]
745     HRESULT rubyPosition([out, retval] BSTR *p);
746
747     [propput, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable]
748     HRESULT rubyOverhang([in] BSTR v);
749
750     [propget, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable]
751     HRESULT rubyOverhang([out, retval] BSTR *p);
752
753     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable]
754     HRESULT layoutGridChar([in] VARIANT v);
755
756     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable]
757     HRESULT layoutGridChar([out, retval] VARIANT *p);
758
759     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable]
760     HRESULT layoutGridLine([in] VARIANT v);
761
762     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable]
763     HRESULT layoutGridLine([out, retval] VARIANT *p);
764
765     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable]
766     HRESULT layoutGridMode([in] BSTR v);
767
768     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable]
769     HRESULT layoutGridMode([out, retval] BSTR *p);
770
771     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable]
772     HRESULT layoutGridType([in] BSTR v);
773
774     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable]
775     HRESULT layoutGridType([out, retval] BSTR *p);
776
777     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable]
778     HRESULT layoutGrid([in] BSTR v);
779
780     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable]
781     HRESULT layoutGrid([out, retval] BSTR *p);
782
783     [propput, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable]
784     HRESULT wordBreak([in] BSTR v);
785
786     [propget, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable]
787     HRESULT wordBreak([out, retval] BSTR *p);
788
789     [propput, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable]
790     HRESULT lineBreak([in] BSTR v);
791
792     [propget, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable]
793     HRESULT lineBreak([out, retval] BSTR *p);
794
795     [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable]
796     HRESULT textJustify([in] BSTR v);
797
798     [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable]
799     HRESULT textJustify([out, retval] BSTR *p);
800
801     [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable]
802     HRESULT textJustifyTrim([in] BSTR v);
803
804     [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable]
805     HRESULT textJustifyTrim([out, retval] BSTR *p);
806
807     [propput, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable]
808     HRESULT textKashida([in] VARIANT v);
809
810     [propget, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable]
811     HRESULT textKashida([out, retval] VARIANT *p);
812
813     [propput, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable]
814     HRESULT textAutospace([in] BSTR v);
815
816     [propget, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable]
817     HRESULT textAutospace([out, retval] BSTR *p);
818
819     [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable]
820     HRESULT overflowX([in] BSTR v);
821
822     [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable]
823     HRESULT overflowX([out, retval] BSTR *p);
824
825     [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable]
826     HRESULT overflowY([in] BSTR v);
827
828     [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable]
829     HRESULT overflowY([out, retval] BSTR *p);
830
831     [propput, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable]
832     HRESULT accelerator([in] BSTR v);
833
834     [propget, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable]
835     HRESULT accelerator([out, retval] BSTR *p);
836 }
837
838 /*****************************************************************************
839  *    IHTMLRuleStyle interface
840  */
841 [
842         odl,
843         oleautomation,
844         dual,
845         uuid(3050F3CF-98B5-11CF-BB82-00AA00BDCE0B)
846 ]
847 interface IHTMLRuleStyle : IDispatch
848 {
849     [propput, id(DISPID_IHTMLRULESTYLE_FONTFAMILY), bindable, displaybind]
850     HRESULT fontFamily([in] BSTR v);
851
852     [propget, id(DISPID_IHTMLRULESTYLE_FONTFAMILY), bindable, displaybind]
853     HRESULT fontFamily([retval, out] BSTR *p);
854
855     [propput, id(DISPID_IHTMLRULESTYLE_FONTSTYLE), bindable, displaybind]
856     HRESULT fontStyle([in] BSTR v);
857
858     [propget, id(DISPID_IHTMLRULESTYLE_FONTSTYLE), bindable, displaybind]
859     HRESULT fontStyle([retval, out] BSTR *p);
860
861     [propput, id(DISPID_IHTMLRULESTYLE_FONTVARIANT), bindable, displaybind]
862     HRESULT fontVariant([in] BSTR v);
863
864     [propget, id(DISPID_IHTMLRULESTYLE_FONTVARIANT), bindable, displaybind]
865     HRESULT fontVariant([retval, out] BSTR *p);
866
867     [propput, id(DISPID_IHTMLRULESTYLE_FONTWEIGHT), bindable, displaybind]
868     HRESULT fontWeight([in] BSTR v);
869
870     [propget, id(DISPID_IHTMLRULESTYLE_FONTWEIGHT), bindable, displaybind]
871     HRESULT fontWeight([retval, out] BSTR *p);
872
873     [propput, id(DISPID_IHTMLRULESTYLE_FONTSIZE), bindable, displaybind]
874     HRESULT fontSize([in] VARIANT v);
875
876     [propget, id(DISPID_IHTMLRULESTYLE_FONTSIZE), bindable, displaybind]
877     HRESULT fontSize([retval, out] VARIANT *p);
878
879     [propput, id(DISPID_IHTMLRULESTYLE_FONT), bindable, displaybind]
880     HRESULT font([in] BSTR v);
881
882     [propget, id(DISPID_IHTMLRULESTYLE_FONT), bindable, displaybind]
883     HRESULT font([retval, out] BSTR *p);
884
885     [propput, id(DISPID_IHTMLRULESTYLE_COLOR), bindable, displaybind]
886     HRESULT color([in] VARIANT v);
887
888     [propget, id(DISPID_IHTMLRULESTYLE_COLOR), bindable, displaybind]
889     HRESULT color([retval, out] VARIANT *p);
890
891     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUND), bindable, displaybind]
892     HRESULT background([in] BSTR v);
893
894     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUND), bindable, displaybind]
895     HRESULT background([retval, out] BSTR *p);
896
897     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDCOLOR), bindable, displaybind]
898     HRESULT backgroundColor([in] VARIANT v);
899
900     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDCOLOR), bindable, displaybind]
901     HRESULT backgroundColor([retval, out] VARIANT *p);
902
903     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDIMAGE), bindable, displaybind]
904     HRESULT backgroundImage([in] BSTR v);
905
906     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDIMAGE), bindable, displaybind]
907     HRESULT backgroundImage([retval, out] BSTR *p);
908
909     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDREPEAT), bindable, displaybind]
910     HRESULT backgroundRepeat([in] BSTR v);
911
912     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDREPEAT), bindable, displaybind]
913     HRESULT backgroundRepeat([retval, out] BSTR *p);
914
915     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
916     HRESULT backgroundAttachment([in] BSTR v);
917
918     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
919     HRESULT backgroundAttachment([retval, out] BSTR *p);
920
921     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITION), bindable, displaybind]
922     HRESULT backgroundPosition([in] BSTR v);
923
924     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITION), bindable, displaybind]
925     HRESULT backgroundPosition([retval, out] BSTR *p);
926
927     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
928     HRESULT backgroundPositionX([in] VARIANT v);
929
930     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
931     HRESULT backgroundPositionX([retval, out] VARIANT *p);
932
933     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
934     HRESULT backgroundPositionY([in] VARIANT v);
935
936     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
937     HRESULT backgroundPositionY([retval, out] VARIANT *p);
938
939     [propput, id(DISPID_IHTMLRULESTYLE_WORDSPACING), bindable, displaybind]
940     HRESULT wordSpacing([in] VARIANT v);
941
942     [propget, id(DISPID_IHTMLRULESTYLE_WORDSPACING), bindable, displaybind]
943     HRESULT wordSpacing([retval, out] VARIANT *p);
944
945     [propput, id(DISPID_IHTMLRULESTYLE_LETTERSPACING), bindable, displaybind]
946     HRESULT letterSpacing([in] VARIANT v);
947
948     [propget, id(DISPID_IHTMLRULESTYLE_LETTERSPACING), bindable, displaybind]
949     HRESULT letterSpacing([retval, out] VARIANT *p);
950
951     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATION), bindable, displaybind]
952     HRESULT textDecoration([in] BSTR v);
953
954     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATION), bindable, displaybind]
955     HRESULT textDecoration([retval, out] BSTR *p);
956
957     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONNONE), bindable, displaybind]
958     HRESULT textDecorationNone([in] VARIANT_BOOL v);
959
960     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONNONE), bindable, displaybind]
961     HRESULT textDecorationNone([retval, out] VARIANT_BOOL *p);
962
963     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
964     HRESULT textDecorationUnderline([in] VARIANT_BOOL v);
965
966     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
967     HRESULT textDecorationUnderline([retval, out] VARIANT_BOOL *p);
968
969     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
970     HRESULT textDecorationOverline([in] VARIANT_BOOL v);
971
972     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
973     HRESULT textDecorationOverline([retval, out] VARIANT_BOOL *p);
974
975     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
976     HRESULT textDecorationLineThrough([in] VARIANT_BOOL v);
977
978     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
979     HRESULT textDecorationLineThrough([retval, out] VARIANT_BOOL *p);
980
981     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
982     HRESULT textDecorationBlink([in] VARIANT_BOOL v);
983
984     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
985     HRESULT textDecorationBlink([retval, out] VARIANT_BOOL *p);
986
987     [propput, id(DISPID_IHTMLRULESTYLE_VERTICALALIGN), bindable, displaybind]
988     HRESULT verticalAlign([in] VARIANT v);
989
990     [propget, id(DISPID_IHTMLRULESTYLE_VERTICALALIGN), bindable, displaybind]
991     HRESULT verticalAlign([retval, out] VARIANT *p);
992
993     [propput, id(DISPID_IHTMLRULESTYLE_TEXTTRANSFORM), bindable, displaybind]
994     HRESULT textTransform([in] BSTR v);
995
996     [propget, id(DISPID_IHTMLRULESTYLE_TEXTTRANSFORM), bindable, displaybind]
997     HRESULT textTransform([retval, out] BSTR *p);
998
999     [propput, id(DISPID_IHTMLRULESTYLE_TEXTALIGN), bindable, displaybind]
1000     HRESULT textAlign([in] BSTR v);
1001
1002     [propget, id(DISPID_IHTMLRULESTYLE_TEXTALIGN), bindable, displaybind]
1003     HRESULT textAlign([retval, out] BSTR *p);
1004
1005     [propput, id(DISPID_IHTMLRULESTYLE_TEXTINDENT), bindable, displaybind]
1006     HRESULT textIndent([in] VARIANT v);
1007
1008     [propget, id(DISPID_IHTMLRULESTYLE_TEXTINDENT), bindable, displaybind]
1009     HRESULT textIndent([retval, out] VARIANT *p);
1010
1011     [propput, id(DISPID_IHTMLRULESTYLE_LINEHEIGHT), bindable, displaybind]
1012     HRESULT lineHeight([in] VARIANT v);
1013
1014     [propget, id(DISPID_IHTMLRULESTYLE_LINEHEIGHT), bindable, displaybind]
1015     HRESULT lineHeight([retval, out] VARIANT *p);
1016
1017     [propput, id(DISPID_IHTMLRULESTYLE_MARGINTOP), bindable, displaybind]
1018     HRESULT marginTop([in] VARIANT v);
1019
1020     [propget, id(DISPID_IHTMLRULESTYLE_MARGINTOP), bindable, displaybind]
1021     HRESULT marginTop([retval, out] VARIANT *p);
1022
1023     [propput, id(DISPID_IHTMLRULESTYLE_MARGINRIGHT), bindable, displaybind]
1024     HRESULT marginRight([in] VARIANT v);
1025
1026     [propget, id(DISPID_IHTMLRULESTYLE_MARGINRIGHT), bindable, displaybind]
1027     HRESULT marginRight([retval, out] VARIANT *p);
1028
1029     [propput, id(DISPID_IHTMLRULESTYLE_MARGINBOTTOM), bindable, displaybind]
1030     HRESULT marginBottom([in] VARIANT v);
1031
1032     [propget, id(DISPID_IHTMLRULESTYLE_MARGINBOTTOM), bindable, displaybind]
1033     HRESULT marginBottom([retval, out] VARIANT *p);
1034
1035     [propput, id(DISPID_IHTMLRULESTYLE_MARGINLEFT), bindable, displaybind]
1036     HRESULT marginLeft([in] VARIANT v);
1037
1038     [propget, id(DISPID_IHTMLRULESTYLE_MARGINLEFT), bindable, displaybind]
1039     HRESULT marginLeft([retval, out] VARIANT *p);
1040
1041     [propput, id(DISPID_IHTMLRULESTYLE_MARGIN), bindable, displaybind]
1042     HRESULT margin([in] BSTR v);
1043
1044     [propget, id(DISPID_IHTMLRULESTYLE_MARGIN), bindable, displaybind]
1045     HRESULT margin([retval, out] BSTR *p);
1046
1047     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGTOP), bindable, displaybind]
1048     HRESULT paddingTop([in] VARIANT v);
1049
1050     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGTOP), bindable, displaybind]
1051     HRESULT paddingTop([retval, out] VARIANT *p);
1052
1053     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGRIGHT), bindable, displaybind]
1054     HRESULT paddingRight([in] VARIANT v);
1055
1056     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGRIGHT), bindable, displaybind]
1057     HRESULT paddingRight([retval, out] VARIANT *p);
1058
1059     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGBOTTOM), bindable, displaybind]
1060     HRESULT paddingBottom([in] VARIANT v);
1061
1062     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGBOTTOM), bindable, displaybind]
1063     HRESULT paddingBottom([retval, out] VARIANT *p);
1064
1065     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGLEFT), bindable, displaybind]
1066     HRESULT paddingLeft([in] VARIANT v);
1067
1068     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGLEFT), bindable, displaybind]
1069     HRESULT paddingLeft([retval, out] VARIANT *p);
1070
1071     [propput, id(DISPID_IHTMLRULESTYLE_PADDING), bindable, displaybind]
1072     HRESULT padding([in] BSTR v);
1073
1074     [propget, id(DISPID_IHTMLRULESTYLE_PADDING), bindable, displaybind]
1075     HRESULT padding([retval, out] BSTR *p);
1076
1077     [propput, id(DISPID_IHTMLRULESTYLE_BORDER), bindable, displaybind]
1078     HRESULT border([in] BSTR v);
1079
1080     [propget, id(DISPID_IHTMLRULESTYLE_BORDER), bindable, displaybind]
1081     HRESULT border([retval, out] BSTR *p);
1082
1083     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOP), bindable, displaybind]
1084     HRESULT borderTop([in] BSTR v);
1085
1086     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOP), bindable, displaybind]
1087     HRESULT borderTop([retval, out] BSTR *p);
1088
1089     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHT), bindable, displaybind]
1090     HRESULT borderRight([in] BSTR v);
1091
1092     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHT), bindable, displaybind]
1093     HRESULT borderRight([retval, out] BSTR *p);
1094
1095     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOM), bindable, displaybind]
1096     HRESULT borderBottom([in] BSTR v);
1097
1098     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOM), bindable, displaybind]
1099     HRESULT borderBottom([retval, out] BSTR *p);
1100
1101     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFT), bindable, displaybind]
1102     HRESULT borderLeft([in] BSTR v);
1103
1104     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFT), bindable, displaybind]
1105     HRESULT borderLeft([retval, out] BSTR *p);
1106
1107     [propput, id(DISPID_IHTMLRULESTYLE_BORDERCOLOR), bindable, displaybind]
1108     HRESULT borderColor([in] BSTR v);
1109
1110     [propget, id(DISPID_IHTMLRULESTYLE_BORDERCOLOR), bindable, displaybind]
1111     HRESULT borderColor([retval, out] BSTR *p);
1112
1113     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOPCOLOR), bindable, displaybind]
1114     HRESULT borderTopColor([in] VARIANT v);
1115
1116     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOPCOLOR), bindable, displaybind]
1117     HRESULT borderTopColor([retval, out] VARIANT *p);
1118
1119     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
1120     HRESULT borderRightColor([in] VARIANT v);
1121
1122     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
1123     HRESULT borderRightColor([retval, out] VARIANT *p);
1124
1125     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
1126     HRESULT borderBottomColor([in] VARIANT v);
1127
1128     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
1129     HRESULT borderBottomColor([retval, out] VARIANT *p);
1130
1131     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFTCOLOR), bindable, displaybind]
1132     HRESULT borderLeftColor([in] VARIANT v);
1133
1134     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFTCOLOR), bindable, displaybind]
1135     HRESULT borderLeftColor([retval, out] VARIANT *p);
1136
1137     [propput, id(DISPID_IHTMLRULESTYLE_BORDERWIDTH), bindable, displaybind]
1138     HRESULT borderWidth([in] BSTR v);
1139
1140     [propget, id(DISPID_IHTMLRULESTYLE_BORDERWIDTH), bindable, displaybind]
1141     HRESULT borderWidth([retval, out] BSTR *p);
1142
1143     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOPWIDTH), bindable, displaybind]
1144     HRESULT borderTopWidth([in] VARIANT v);
1145
1146     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOPWIDTH), bindable, displaybind]
1147     HRESULT borderTopWidth([retval, out] VARIANT *p);
1148
1149     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
1150     HRESULT borderRightWidth([in] VARIANT v);
1151
1152     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
1153     HRESULT borderRightWidth([retval, out] VARIANT *p);
1154
1155     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
1156     HRESULT borderBottomWidth([in] VARIANT v);
1157
1158     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
1159     HRESULT borderBottomWidth([retval, out] VARIANT *p);
1160
1161     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFTWIDTH), bindable, displaybind]
1162     HRESULT borderLeftWidth([in] VARIANT v);
1163
1164     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFTWIDTH), bindable, displaybind]
1165     HRESULT borderLeftWidth([retval, out] VARIANT *p);
1166
1167     [propput, id(DISPID_IHTMLRULESTYLE_BORDERSTYLE), bindable, displaybind]
1168     HRESULT borderStyle([in] BSTR v);
1169
1170     [propget, id(DISPID_IHTMLRULESTYLE_BORDERSTYLE), bindable, displaybind]
1171     HRESULT borderStyle([retval, out] BSTR *p);
1172
1173     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOPSTYLE), bindable, displaybind]
1174     HRESULT borderTopStyle([in] BSTR v);
1175
1176     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOPSTYLE), bindable, displaybind]
1177     HRESULT borderTopStyle([retval, out] BSTR *p);
1178
1179     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
1180     HRESULT borderRightStyle([in] BSTR v);
1181
1182     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
1183     HRESULT borderRightStyle([retval, out] BSTR *p);
1184
1185     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
1186     HRESULT borderBottomStyle([in] BSTR v);
1187
1188     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
1189     HRESULT borderBottomStyle([retval, out] BSTR *p);
1190
1191     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFTSTYLE), bindable, displaybind]
1192     HRESULT borderLeftStyle([in] BSTR v);
1193
1194     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFTSTYLE), bindable, displaybind]
1195     HRESULT borderLeftStyle([retval, out] BSTR *p);
1196
1197     [propput, id(DISPID_IHTMLRULESTYLE_WIDTH), bindable, displaybind]
1198     HRESULT width([in] VARIANT v);
1199
1200     [propget, id(DISPID_IHTMLRULESTYLE_WIDTH), bindable, displaybind]
1201     HRESULT width([retval, out] VARIANT *p);
1202
1203     [propput, id(DISPID_IHTMLRULESTYLE_HEIGHT), bindable, displaybind]
1204     HRESULT height([in] VARIANT v);
1205
1206     [propget, id(DISPID_IHTMLRULESTYLE_HEIGHT), bindable, displaybind]
1207     HRESULT height([retval, out] VARIANT *p);
1208
1209     [propput, id(DISPID_IHTMLRULESTYLE_STYLEFLOAT), bindable, displaybind]
1210     HRESULT styleFloat([in] BSTR v);
1211
1212     [propget, id(DISPID_IHTMLRULESTYLE_STYLEFLOAT), bindable, displaybind]
1213     HRESULT styleFloat([retval, out] BSTR *p);
1214
1215     [propput, id(DISPID_IHTMLRULESTYLE_CLEAR), bindable, displaybind]
1216     HRESULT clear([in] BSTR v);
1217
1218     [propget, id(DISPID_IHTMLRULESTYLE_CLEAR), bindable, displaybind]
1219     HRESULT clear([retval, out] BSTR *p);
1220
1221     [propput, id(DISPID_IHTMLRULESTYLE_DISPLAY), bindable, displaybind]
1222     HRESULT display([in] BSTR v);
1223
1224     [propget, id(DISPID_IHTMLRULESTYLE_DISPLAY), bindable, displaybind]
1225     HRESULT display([retval, out] BSTR *p);
1226
1227     [propput, id(DISPID_IHTMLRULESTYLE_VISIBILITY), bindable, displaybind]
1228     HRESULT visibility([in] BSTR v);
1229
1230     [propget, id(DISPID_IHTMLRULESTYLE_VISIBILITY), bindable, displaybind]
1231     HRESULT visibility([retval, out] BSTR *p);
1232
1233     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLETYPE), bindable, displaybind]
1234     HRESULT listStyleType([in] BSTR v);
1235
1236     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLETYPE), bindable, displaybind]
1237     HRESULT listStyleType([retval, out] BSTR *p);
1238
1239     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLEPOSITION), bindable, displaybind]
1240     HRESULT listStylePosition([in] BSTR v);
1241
1242     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLEPOSITION), bindable, displaybind]
1243     HRESULT listStylePosition([retval, out] BSTR *p);
1244
1245     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLEIMAGE), bindable, displaybind]
1246     HRESULT listStyleImage([in] BSTR v);
1247
1248     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLEIMAGE), bindable, displaybind]
1249     HRESULT listStyleImage([retval, out] BSTR *p);
1250
1251     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLE), bindable, displaybind]
1252     HRESULT listStyle([in] BSTR v);
1253
1254     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLE), bindable, displaybind]
1255     HRESULT listStyle([retval, out] BSTR *p);
1256
1257     [propput, id(DISPID_IHTMLRULESTYLE_WHITESPACE), bindable, displaybind]
1258     HRESULT whiteSpace([in] BSTR v);
1259
1260     [propget, id(DISPID_IHTMLRULESTYLE_WHITESPACE), bindable, displaybind]
1261     HRESULT whiteSpace([retval, out] BSTR *p);
1262
1263     [propput, id(DISPID_IHTMLRULESTYLE_TOP), bindable, displaybind]
1264     HRESULT top([in] VARIANT v);
1265
1266     [propget, id(DISPID_IHTMLRULESTYLE_TOP), bindable, displaybind]
1267     HRESULT top([retval, out] VARIANT *p);
1268
1269     [propput, id(DISPID_IHTMLRULESTYLE_LEFT), bindable, displaybind]
1270     HRESULT left([in] VARIANT v);
1271
1272     [propget, id(DISPID_IHTMLRULESTYLE_LEFT), bindable, displaybind]
1273     HRESULT left([retval, out] VARIANT *p);
1274
1275     [propget, id(DISPID_IHTMLRULESTYLE_POSITION), bindable, displaybind]
1276     HRESULT position([retval, out] BSTR *p);
1277
1278     [propput, id(DISPID_IHTMLRULESTYLE_ZINDEX), bindable, displaybind]
1279     HRESULT zIndex([in] VARIANT v);
1280
1281     [propget, id(DISPID_IHTMLRULESTYLE_ZINDEX), bindable, displaybind]
1282     HRESULT zIndex([retval, out] VARIANT *p);
1283
1284     [propput, id(DISPID_IHTMLRULESTYLE_OVERFLOW), bindable, displaybind]
1285     HRESULT overflow([in] BSTR v);
1286
1287     [propget, id(DISPID_IHTMLRULESTYLE_OVERFLOW), bindable, displaybind]
1288     HRESULT overflow([retval, out] BSTR *p);
1289
1290     [propput, id(DISPID_IHTMLRULESTYLE_PAGEBREAKBEFORE), bindable, displaybind]
1291     HRESULT pageBreakBefore([in] BSTR v);
1292
1293     [propget, id(DISPID_IHTMLRULESTYLE_PAGEBREAKBEFORE), bindable, displaybind]
1294     HRESULT pageBreakBefore([retval, out] BSTR *p);
1295
1296     [propput, id(DISPID_IHTMLRULESTYLE_PAGEBREAKAFTER), bindable, displaybind]
1297     HRESULT pageBreakAfter([in] BSTR v);
1298
1299     [propget, id(DISPID_IHTMLRULESTYLE_PAGEBREAKAFTER), bindable, displaybind]
1300     HRESULT pageBreakAfter([retval, out] BSTR *p);
1301
1302     [propput, id(DISPID_IHTMLRULESTYLE_CSSTEXT), bindable, displaybind]
1303     HRESULT cssText([in] BSTR v);
1304
1305     [propget, id(DISPID_IHTMLRULESTYLE_CSSTEXT), bindable, displaybind]
1306     HRESULT cssText([retval, out] BSTR *p);
1307
1308     [propput, id(DISPID_IHTMLRULESTYLE_CURSOR), bindable, displaybind]
1309     HRESULT cursor([in] BSTR v);
1310
1311     [propget, id(DISPID_IHTMLRULESTYLE_CURSOR), bindable, displaybind]
1312     HRESULT cursor([retval, out] BSTR *p);
1313
1314     [propput, id(DISPID_IHTMLRULESTYLE_CLIP), bindable, displaybind]
1315     HRESULT clip([in] BSTR v);
1316
1317     [propget, id(DISPID_IHTMLRULESTYLE_CLIP), bindable, displaybind]
1318     HRESULT clip([retval, out] BSTR *p);
1319
1320     [propput, id(DISPID_IHTMLRULESTYLE_FILTER), bindable, displaybind]
1321     HRESULT filter([in] BSTR v);
1322
1323     [propget, id(DISPID_IHTMLRULESTYLE_FILTER), bindable, displaybind]
1324     HRESULT filter([retval, out] BSTR *p);
1325
1326     [id(DISPID_IHTMLRULESTYLE_SETATTRIBUTE)]
1327     HRESULT setAttribute(
1328         [in] BSTR strAttributeName,
1329         [in] VARIANT AttributeValue,
1330         [defaultvalue(1), in] LONG lFlags);
1331
1332     [id(DISPID_IHTMLRULESTYLE_GETATTRIBUTE)]
1333     HRESULT getAttribute(
1334         [in] BSTR strAttributeName,
1335         [defaultvalue(0), in] LONG lFlags,
1336         [retval, out] VARIANT *AttributeValue);
1337
1338     [id(DISPID_IHTMLRULESTYLE_REMOVEATTRIBUTE)]
1339     HRESULT removeAttribute(
1340         [in] BSTR strAttributeName,
1341         [defaultvalue(1), in] LONG lFlags,
1342         [retval, out] VARIANT_BOOL *pfSuccess);
1343 }
1344
1345 /*****************************************************************************
1346  *    DispHTMLStyle dispinterface
1347  */
1348 [
1349     hidden,
1350     uuid(3050f55a-98b5-11cf-bb82-00aa00bdce0b)
1351 ]
1352 dispinterface DispHTMLStyle
1353 {
1354 properties:
1355 methods:
1356     [propput, id(DISPID_IHTMLSTYLE_FONTFAMILY), displaybind, bindable]
1357     void fontFamily(BSTR v);
1358
1359     [propget, id(DISPID_IHTMLSTYLE_FONTFAMILY), displaybind, bindable]
1360     BSTR fontFamily();
1361
1362     [propput, id(DISPID_IHTMLSTYLE_FONTSTYLE), displaybind, bindable]
1363     void fontStyle(BSTR v);
1364
1365     [propget, id(DISPID_IHTMLSTYLE_FONTSTYLE), displaybind, bindable]
1366     BSTR fontStyle();
1367
1368     [propput, id(DISPID_IHTMLSTYLE_FONTVARIANT), displaybind, bindable]
1369     void fontVariant(BSTR v);
1370
1371     [propget, id(DISPID_IHTMLSTYLE_FONTVARIANT), displaybind, bindable]
1372     BSTR fontVariant();
1373
1374     [propput, id(DISPID_IHTMLSTYLE_FONTWEIGHT), displaybind, bindable]
1375     void fontWeight(BSTR v);
1376
1377     [propget, id(DISPID_IHTMLSTYLE_FONTWEIGHT), displaybind, bindable]
1378     BSTR fontWeight();
1379
1380     [propput, id(DISPID_IHTMLSTYLE_FONTSIZE), displaybind, bindable]
1381     void fontSize(VARIANT v);
1382
1383     [propget, id(DISPID_IHTMLSTYLE_FONTSIZE), displaybind, bindable]
1384     VARIANT fontSize();
1385
1386     [propput, id(DISPID_IHTMLSTYLE_FONT), displaybind, bindable, nonbrowsable]
1387     void font(BSTR v);
1388
1389     [propget, id(DISPID_IHTMLSTYLE_FONT), displaybind, bindable, nonbrowsable]
1390     BSTR font();
1391
1392     [propput, id(DISPID_IHTMLSTYLE_COLOR), displaybind, bindable]
1393     void color(VARIANT v);
1394
1395     [propget, id(DISPID_IHTMLSTYLE_COLOR), displaybind, bindable]
1396     VARIANT color();
1397
1398     [propput, id(DISPID_IHTMLSTYLE_BACKGROUND), displaybind, bindable, nonbrowsable]
1399     void background(BSTR v);
1400
1401     [propget, id(DISPID_IHTMLSTYLE_BACKGROUND), displaybind, bindable, nonbrowsable]
1402     BSTR background();
1403
1404     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
1405     void backgroundColor(VARIANT v);
1406
1407     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
1408     VARIANT backgroundColor();
1409
1410     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
1411     void backgroundImage(BSTR v);
1412
1413     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
1414     BSTR backgroundImage();
1415
1416     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
1417     void backgroundRepeat(BSTR v);
1418
1419     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
1420     BSTR backgroundRepeat();
1421
1422     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
1423     void backgroundAttachment(BSTR v);
1424
1425     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
1426     BSTR backgroundAttachment();
1427
1428     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), displaybind, bindable, nonbrowsable]
1429     void backgroundPosition(BSTR v);
1430
1431     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), displaybind, bindable, nonbrowsable]
1432     BSTR backgroundPosition();
1433
1434     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
1435     void backgroundPositionX(VARIANT v);
1436
1437     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
1438     VARIANT backgroundPositionX();
1439
1440     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
1441     void backgroundPositionY(VARIANT v);
1442
1443     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
1444     VARIANT backgroundPositionY();
1445
1446     [propput, id(DISPID_IHTMLSTYLE_WORDSPACING), displaybind, bindable]
1447     void wordSpacing(VARIANT v);
1448
1449     [propget, id(DISPID_IHTMLSTYLE_WORDSPACING), displaybind, bindable]
1450     VARIANT wordSpacing();
1451
1452     [propput, id(DISPID_IHTMLSTYLE_LETTERSPACING), displaybind, bindable]
1453     void letterSpacing(VARIANT v);
1454
1455     [propget, id(DISPID_IHTMLSTYLE_LETTERSPACING), displaybind, bindable]
1456     VARIANT letterSpacing();
1457
1458     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATION), displaybind, bindable]
1459     void textDecoration(BSTR v);
1460
1461     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATION), displaybind, bindable]
1462     BSTR textDecoration();
1463
1464     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), displaybind, bindable]
1465     void textDecorationNone(VARIANT_BOOL v);
1466
1467     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), displaybind, bindable]
1468     VARIANT_BOOL textDecorationNone();
1469
1470     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), displaybind, bindable]
1471     void textDecorationUnderline(VARIANT_BOOL v);
1472
1473     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), displaybind, bindable]
1474     VARIANT_BOOL textDecorationUnderline();
1475
1476     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), displaybind, bindable]
1477     void textDecorationOverline(VARIANT_BOOL v);
1478
1479     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), displaybind, bindable]
1480     VARIANT_BOOL textDecorationOverline();
1481
1482     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), displaybind, bindable]
1483     void textDecorationLineThrough(VARIANT_BOOL v);
1484
1485     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), displaybind, bindable]
1486     VARIANT_BOOL textDecorationLineThrough();
1487
1488     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), displaybind, bindable]
1489     void textDecorationBlink(VARIANT_BOOL v);
1490
1491     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), displaybind, bindable]
1492     VARIANT_BOOL textDecorationBlink();
1493
1494     [propput, id(DISPID_IHTMLSTYLE_VERTICALALIGN), displaybind, bindable]
1495     void verticalAlign(VARIANT v);
1496
1497     [propget, id(DISPID_IHTMLSTYLE_VERTICALALIGN), displaybind, bindable]
1498     VARIANT verticalAlign();
1499
1500     [propput, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), displaybind, bindable]
1501     void textTransform(BSTR v);
1502
1503     [propget, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), displaybind, bindable]
1504     BSTR textTransform();
1505
1506     [propput, id(DISPID_IHTMLSTYLE_TEXTALIGN), displaybind, bindable]
1507     void textAlign(BSTR v);
1508
1509     [propget, id(DISPID_IHTMLSTYLE_TEXTALIGN), displaybind, bindable]
1510     BSTR textAlign();
1511
1512     [propput, id(DISPID_IHTMLSTYLE_TEXTINDENT), displaybind, bindable]
1513     void textIndent(VARIANT v);
1514
1515     [propget, id(DISPID_IHTMLSTYLE_TEXTINDENT), displaybind, bindable]
1516     VARIANT textIndent();
1517
1518     [propput, id(DISPID_IHTMLSTYLE_LINEHEIGHT), displaybind, bindable]
1519     void lineHeight(VARIANT v);
1520
1521     [propget, id(DISPID_IHTMLSTYLE_LINEHEIGHT), displaybind, bindable]
1522     VARIANT lineHeight();
1523
1524     [propput, id(DISPID_IHTMLSTYLE_MARGINTOP), displaybind, bindable]
1525     void marginTop(VARIANT v);
1526
1527     [propget, id(DISPID_IHTMLSTYLE_MARGINTOP), displaybind, bindable]
1528     VARIANT marginTop();
1529
1530     [propput, id(DISPID_IHTMLSTYLE_MARGINRIGHT), displaybind, bindable]
1531     void marginRight(VARIANT v);
1532
1533     [propget, id(DISPID_IHTMLSTYLE_MARGINRIGHT), displaybind, bindable]
1534     VARIANT marginRight();
1535
1536     [propput, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), displaybind, bindable]
1537     void marginBottom(VARIANT v);
1538
1539     [propget, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), displaybind, bindable]
1540     VARIANT marginBottom();
1541
1542     [propput, id(DISPID_IHTMLSTYLE_MARGINLEFT), displaybind, bindable]
1543     void marginLeft(VARIANT v);
1544
1545     [propget, id(DISPID_IHTMLSTYLE_MARGINLEFT), displaybind, bindable]
1546     VARIANT marginLeft();
1547
1548     [propput, id(DISPID_IHTMLSTYLE_MARGIN), displaybind, bindable, nonbrowsable]
1549     void margin(BSTR v);
1550
1551     [propget, id(DISPID_IHTMLSTYLE_MARGIN), displaybind, bindable, nonbrowsable]
1552     BSTR margin();
1553
1554     [propput, id(DISPID_IHTMLSTYLE_PADDINGTOP), displaybind, bindable]
1555     void paddingTop(VARIANT v);
1556
1557     [propget, id(DISPID_IHTMLSTYLE_PADDINGTOP), displaybind, bindable]
1558     VARIANT paddingTop();
1559
1560     [propput, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), displaybind, bindable]
1561     void paddingRight(VARIANT v);
1562
1563     [propget, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), displaybind, bindable]
1564     VARIANT paddingRight();
1565
1566     [propput, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), displaybind, bindable]
1567     void paddingBottom(VARIANT v);
1568
1569     [propget, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), displaybind, bindable]
1570     VARIANT paddingBottom();
1571
1572     [propput, id(DISPID_IHTMLSTYLE_PADDINGLEFT), displaybind, bindable]
1573     void paddingLeft(VARIANT v);
1574
1575     [propget, id(DISPID_IHTMLSTYLE_PADDINGLEFT), displaybind, bindable]
1576     VARIANT paddingLeft();
1577
1578     [propput, id(DISPID_IHTMLSTYLE_PADDING), displaybind, bindable, nonbrowsable]
1579     void padding(BSTR v);
1580
1581     [propget, id(DISPID_IHTMLSTYLE_PADDING), displaybind, bindable, nonbrowsable]
1582     BSTR padding();
1583
1584     [propput, id(DISPID_IHTMLSTYLE_BORDER), displaybind, bindable, nonbrowsable]
1585     void border(BSTR v);
1586
1587     [propget, id(DISPID_IHTMLSTYLE_BORDER), displaybind, bindable, nonbrowsable]
1588     BSTR border();
1589
1590     [propput, id(DISPID_IHTMLSTYLE_BORDERTOP), displaybind, bindable]
1591     void borderTop(BSTR v);
1592
1593     [propget, id(DISPID_IHTMLSTYLE_BORDERTOP), displaybind, bindable]
1594     BSTR borderTop();
1595
1596     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHT), displaybind, bindable]
1597     void borderRight(BSTR v);
1598
1599     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHT), displaybind, bindable]
1600     BSTR borderRight();
1601
1602     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), displaybind, bindable]
1603     void borderBottom(BSTR v);
1604
1605     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), displaybind, bindable]
1606     BSTR borderBottom();
1607
1608     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFT), displaybind, bindable]
1609     void borderLeft(BSTR v);
1610
1611     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFT), displaybind, bindable]
1612     BSTR borderLeft();
1613
1614     [propput, id(DISPID_IHTMLSTYLE_BORDERCOLOR), displaybind, bindable]
1615     void borderColor(BSTR v);
1616
1617     [propget, id(DISPID_IHTMLSTYLE_BORDERCOLOR), displaybind, bindable]
1618     BSTR borderColor();
1619
1620     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), displaybind, bindable]
1621     void borderTopColor(VARIANT v);
1622
1623     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), displaybind, bindable]
1624     VARIANT borderTopColor();
1625
1626     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
1627     void borderRightColor(VARIANT v);
1628
1629     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
1630     VARIANT borderRightColor();
1631
1632     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
1633     void borderBottomColor(VARIANT v);
1634
1635     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
1636     VARIANT borderBottomColor();
1637
1638     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
1639     void borderLeftColor(VARIANT v);
1640
1641     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
1642     VARIANT borderLeftColor();
1643
1644     [propput, id(DISPID_IHTMLSTYLE_BORDERWIDTH), displaybind, bindable]
1645     void borderWidth(BSTR v);
1646
1647     [propget, id(DISPID_IHTMLSTYLE_BORDERWIDTH), displaybind, bindable]
1648     BSTR borderWidth();
1649
1650     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), displaybind, bindable]
1651     void borderTopWidth(VARIANT v);
1652
1653     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), displaybind, bindable]
1654     VARIANT borderTopWidth();
1655
1656     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
1657     void borderRightWidth(VARIANT v);
1658
1659     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
1660     VARIANT borderRightWidth();
1661
1662     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
1663     void borderBottomWidth(VARIANT v);
1664
1665     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
1666     VARIANT borderBottomWidth();
1667
1668     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
1669     void borderLeftWidth(VARIANT v);
1670
1671     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
1672     VARIANT borderLeftWidth();
1673
1674     [propput, id(DISPID_IHTMLSTYLE_BORDERSTYLE), displaybind, bindable]
1675     void borderStyle(BSTR v);
1676
1677     [propget, id(DISPID_IHTMLSTYLE_BORDERSTYLE), displaybind, bindable]
1678     BSTR borderStyle();
1679
1680     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), displaybind, bindable]
1681     void borderTopStyle(BSTR v);
1682
1683     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), displaybind, bindable]
1684     BSTR borderTopStyle();
1685
1686     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
1687     void borderRightStyle(BSTR v);
1688
1689     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
1690     BSTR borderRightStyle();
1691
1692     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
1693     void borderBottomStyle(BSTR v);
1694
1695     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
1696     BSTR borderBottomStyle();
1697
1698     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
1699     void borderLeftStyle(BSTR v);
1700
1701     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
1702     BSTR borderLeftStyle();
1703
1704     [propput, id(DISPID_IHTMLSTYLE_WIDTH), displaybind, bindable]
1705     void width(VARIANT v);
1706
1707     [propget, id(DISPID_IHTMLSTYLE_WIDTH), displaybind, bindable]
1708     VARIANT width();
1709
1710     [propput, id(DISPID_IHTMLSTYLE_HEIGHT), displaybind, bindable]
1711     void height(VARIANT v);
1712
1713     [propget, id(DISPID_IHTMLSTYLE_HEIGHT), displaybind, bindable]
1714     VARIANT height();
1715
1716     [propput, id(DISPID_IHTMLSTYLE_STYLEFLOAT), displaybind, bindable]
1717     void styleFloat(BSTR v);
1718
1719     [propget, id(DISPID_IHTMLSTYLE_STYLEFLOAT), displaybind, bindable]
1720     BSTR styleFloat();
1721
1722     [propput, id(DISPID_IHTMLSTYLE_CLEAR), displaybind, bindable]
1723     void clear(BSTR v);
1724
1725     [propget, id(DISPID_IHTMLSTYLE_CLEAR), displaybind, bindable]
1726     BSTR clear();
1727
1728     [propput, id(DISPID_IHTMLSTYLE_DISPLAY), displaybind, bindable]
1729     void display(BSTR v);
1730
1731     [propget, id(DISPID_IHTMLSTYLE_DISPLAY), displaybind, bindable]
1732     BSTR display();
1733
1734     [propput, id(DISPID_IHTMLSTYLE_VISIBILITY), displaybind, bindable]
1735     void visibility(BSTR v);
1736
1737     [propget, id(DISPID_IHTMLSTYLE_VISIBILITY), displaybind, bindable]
1738     BSTR visibility();
1739
1740     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), displaybind, bindable]
1741     void listStyleType(BSTR v);
1742
1743     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), displaybind, bindable]
1744     BSTR listStyleType();
1745
1746     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
1747     void listStylePosition(BSTR v);
1748
1749     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
1750     BSTR listStylePosition();
1751
1752     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
1753     void listStyleImage(BSTR v);
1754
1755     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
1756     BSTR listStyleImage();
1757
1758     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLE), displaybind, bindable, nonbrowsable]
1759     void listStyle(BSTR v);
1760
1761     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLE), displaybind, bindable, nonbrowsable]
1762     BSTR listStyle();
1763
1764     [propput, id(DISPID_IHTMLSTYLE_WHITESPACE), displaybind, bindable]
1765     void whiteSpace(BSTR v);
1766
1767     [propget, id(DISPID_IHTMLSTYLE_WHITESPACE), displaybind, bindable]
1768     BSTR whiteSpace();
1769
1770     [propput, id(DISPID_IHTMLSTYLE_TOP), displaybind, bindable]
1771     void top(VARIANT v);
1772
1773     [propget, id(DISPID_IHTMLSTYLE_TOP), displaybind, bindable]
1774     VARIANT top();
1775
1776     [propput, id(DISPID_IHTMLSTYLE_LEFT), displaybind, bindable]
1777     void left(VARIANT v);
1778
1779     [propget, id(DISPID_IHTMLSTYLE_LEFT), displaybind, bindable]
1780     VARIANT left();
1781
1782     [propput, id(DISPID_IHTMLSTYLE_ZINDEX), displaybind, bindable]
1783     void zIndex(VARIANT v);
1784
1785     [propget, id(DISPID_IHTMLSTYLE_ZINDEX), displaybind, bindable]
1786     VARIANT zIndex();
1787
1788     [propput, id(DISPID_IHTMLSTYLE_OVERFLOW), displaybind, bindable]
1789     void overflow(BSTR v);
1790
1791     [propget, id(DISPID_IHTMLSTYLE_OVERFLOW), displaybind, bindable]
1792     BSTR overflow();
1793
1794     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
1795     void pageBreakBefore(BSTR v);
1796
1797     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
1798     BSTR pageBreakBefore();
1799
1800     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), displaybind, bindable]
1801     void pageBreakAfter(BSTR v);
1802
1803     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), displaybind, bindable]
1804     BSTR pageBreakAfter();
1805
1806     [propput, id(DISPID_IHTMLSTYLE_CSSTEXT), displaybind, bindable, nonbrowsable]
1807     void cssText(BSTR v);
1808
1809     [propget, id(DISPID_IHTMLSTYLE_CSSTEXT), displaybind, bindable, nonbrowsable]
1810     BSTR cssText();
1811
1812     [propput, id(DISPID_IHTMLSTYLE_PIXELTOP), displaybind, bindable, hidden]
1813     void pixelTop(long v);
1814
1815     [propget, id(DISPID_IHTMLSTYLE_PIXELTOP), displaybind, bindable, hidden]
1816     long pixelTop();
1817
1818     [propput, id(DISPID_IHTMLSTYLE_PIXELLEFT), displaybind, bindable, hidden]
1819     void pixelLeft(long v);
1820
1821     [propget, id(DISPID_IHTMLSTYLE_PIXELLEFT), displaybind, bindable, hidden]
1822     long pixelLeft();
1823
1824     [propput, id(DISPID_IHTMLSTYLE_PIXELWIDTH), displaybind, bindable, hidden]
1825     void pixelWidth(long v);
1826
1827     [propget, id(DISPID_IHTMLSTYLE_PIXELWIDTH), displaybind, bindable, hidden]
1828     long pixelWidth();
1829
1830     [propput, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), displaybind, bindable, hidden]
1831     void pixelHeight(long v);
1832
1833     [propget, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), displaybind, bindable, hidden]
1834     long pixelHeight();
1835
1836     [propput, id(DISPID_IHTMLSTYLE_POSTOP), displaybind, bindable]
1837     void posTop(float v);
1838
1839     [propget, id(DISPID_IHTMLSTYLE_POSTOP), displaybind, bindable]
1840     float posTop();
1841
1842     [propput, id(DISPID_IHTMLSTYLE_POSLEFT), displaybind, bindable]
1843     void posLeft(float v);
1844
1845     [propget, id(DISPID_IHTMLSTYLE_POSLEFT), displaybind, bindable]
1846     float posLeft();
1847
1848     [propput, id(DISPID_IHTMLSTYLE_POSWIDTH), displaybind, bindable]
1849     void posWidth(float v);
1850
1851     [propget, id(DISPID_IHTMLSTYLE_POSWIDTH), displaybind, bindable]
1852     float posWidth();
1853
1854     [propput, id(DISPID_IHTMLSTYLE_POSHEIGHT), displaybind, bindable]
1855     void posHeight(float v);
1856
1857     [propget, id(DISPID_IHTMLSTYLE_POSHEIGHT), displaybind, bindable]
1858     float posHeight();
1859
1860     [propput, id(DISPID_IHTMLSTYLE_CURSOR), displaybind, bindable]
1861     void cursor(BSTR v);
1862
1863     [propget, id(DISPID_IHTMLSTYLE_CURSOR), displaybind, bindable]
1864     BSTR cursor();
1865
1866     [propput, id(DISPID_IHTMLSTYLE_CLIP), displaybind, bindable]
1867     void clip(BSTR v);
1868
1869     [propget, id(DISPID_IHTMLSTYLE_CLIP), displaybind, bindable]
1870     BSTR clip();
1871
1872     [propput, id(DISPID_IHTMLSTYLE_FILTER), displaybind, bindable]
1873     void filter(BSTR v);
1874
1875     [propget, id(DISPID_IHTMLSTYLE_FILTER), displaybind, bindable]
1876     BSTR filter();
1877
1878     [id(DISPID_IHTMLSTYLE_SETATTRIBUTE)]
1879     void setAttribute(
1880             [in] BSTR strAttributeName,
1881             [in] VARIANT AttributeValue,
1882             [in, defaultvalue(1)] LONG lFlags);
1883
1884     [id(DISPID_IHTMLSTYLE_GETATTRIBUTE)]
1885     VARIANT getAttribute(
1886             [in] BSTR strAttributeName,
1887             [in, defaultvalue(0)] LONG lFlags);
1888
1889     [id(DISPID_IHTMLSTYLE_REMOVEATTRIBUTE)]
1890     VARIANT_BOOL removeAttribute(
1891             [in] BSTR strAttributeName,
1892             [in, defaultvalue(1)] LONG lFlags);
1893
1894     [id(DISPID_IHTMLSTYLE_TOSTRING)]
1895     BSTR toString();
1896
1897     [propput, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable]
1898     void tableLayout(BSTR v);
1899
1900     [propget, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable]
1901     BSTR tableLayout();
1902
1903     [propput, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable]
1904     void borderCollapse(BSTR v);
1905
1906     [propget, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable]
1907     BSTR borderCollapse();
1908
1909     [propput, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable]
1910     void direction(BSTR v);
1911
1912     [propget, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable]
1913     BSTR direction();
1914
1915     [propput, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable]
1916     void behavior(BSTR v);
1917
1918     [propget, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable]
1919     BSTR behavior();
1920
1921     [id(DISPID_IHTMLSTYLE2_SETEXPRESSION)]
1922     void setExpression(
1923             [in] BSTR propname,
1924             [in] BSTR expression,
1925             [in, defaultvalue("")] BSTR language);
1926
1927     [id(DISPID_IHTMLSTYLE2_GETEXPRESSION)]
1928     VARIANT getExpression([in] BSTR propname);
1929
1930     [id(DISPID_IHTMLSTYLE2_REMOVEEXPRESSION)]
1931     VARIANT_BOOL removeExpression([in] BSTR propname);
1932
1933     [propput, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable]
1934     void position(BSTR v);
1935
1936     [propget, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable]
1937     BSTR position();
1938
1939     [propput, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable]
1940     void unicodeBidi(BSTR v);
1941
1942     [propget, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable]
1943     BSTR unicodeBidi();
1944
1945     [propput, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable]
1946     void bottom(VARIANT v);
1947
1948     [propget, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable]
1949     VARIANT bottom();
1950
1951     [propput, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable]
1952     void right(VARIANT v);
1953
1954     [propget, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable]
1955     VARIANT right();
1956
1957     [propput, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden]
1958     void pixelBottom(long v);
1959
1960     [propget, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden]
1961     long pixelBottom();
1962
1963     [propput, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden]
1964     void pixelRight(long v);
1965
1966     [propget, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden]
1967     long pixelRight();
1968
1969     [propput, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable]
1970     void posBottom(float v);
1971
1972     [propget, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable]
1973     float posBottom();
1974
1975     [propput, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable]
1976     void posRight(float v);
1977
1978     [propget, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable]
1979     float posRight();
1980
1981     [propput, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable]
1982     void imeMode(BSTR v);
1983
1984     [propget, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable]
1985     BSTR imeMode();
1986
1987     [propput, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable]
1988     void rubyAlign(BSTR v);
1989
1990     [propget, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable]
1991     BSTR rubyAlign();
1992
1993     [propput, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable]
1994     void rubyPosition(BSTR v);
1995
1996     [propget, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable]
1997     BSTR rubyPosition();
1998
1999     [propput, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable]
2000     void rubyOverhang(BSTR v);
2001
2002     [propget, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable]
2003     BSTR rubyOverhang();
2004
2005     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable]
2006     void layoutGridChar(VARIANT v);
2007
2008     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable]
2009     VARIANT layoutGridChar();
2010
2011     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable]
2012     void layoutGridLine(VARIANT v);
2013
2014     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable]
2015     VARIANT layoutGridLine();
2016
2017     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable]
2018     void layoutGridMode(BSTR v);
2019
2020     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable]
2021     BSTR layoutGridMode();
2022
2023     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable]
2024     void layoutGridType(BSTR v);
2025
2026     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable]
2027     BSTR layoutGridType();
2028
2029     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable]
2030     void layoutGrid(BSTR v);
2031
2032     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable]
2033     BSTR layoutGrid();
2034
2035     [propput, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable]
2036     void wordBreak(BSTR v);
2037
2038     [propget, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable]
2039     BSTR wordBreak();
2040
2041     [propput, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable]
2042     void lineBreak(BSTR v);
2043
2044     [propget, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable]
2045     BSTR lineBreak();
2046
2047     [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable]
2048     void textJustify(BSTR v);
2049
2050     [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable]
2051     BSTR textJustify();
2052
2053     [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable]
2054     void textJustifyTrim(BSTR v);
2055
2056     [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable]
2057     BSTR textJustifyTrim();
2058
2059     [propput, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable]
2060     void textKashida(VARIANT v);
2061
2062     [propget, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable]
2063    VARIANT textKashida();
2064
2065     [propput, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable]
2066     void textAutospace(BSTR v);
2067
2068     [propget, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable]
2069     BSTR textAutospace();
2070
2071     [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable]
2072     void overflowX(BSTR v);
2073
2074     [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable]
2075     BSTR overflowX();
2076
2077     [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable]
2078     void overflowY(BSTR v);
2079
2080     [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable]
2081     BSTR overflowY();
2082
2083     [propput, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable]
2084     void accelerator(BSTR v);
2085
2086     [propget, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable]
2087     BSTR accelerator();
2088
2089     [propput, id(DISPID_IHTMLSTYLE3_LAYOUTFLOW), displaybind, bindable]
2090     void layoutFlow(BSTR v);
2091
2092     [propget, id(DISPID_IHTMLSTYLE3_LAYOUTFLOW), displaybind, bindable]
2093     BSTR layoutFlow();
2094
2095     [propput, id(DISPID_IHTMLSTYLE3_ZOOM), displaybind, bindable]
2096     void zoom(VARIANT v);
2097
2098     [propget, id(DISPID_IHTMLSTYLE3_ZOOM), displaybind, bindable]
2099     VARIANT zoom();
2100
2101     [propput, id(DISPID_IHTMLSTYLE3_WORDWRAP), displaybind, bindable]
2102     void wordWrap(BSTR v);
2103
2104     [propget, id(DISPID_IHTMLSTYLE3_WORDWRAP), displaybind, bindable]
2105     BSTR wordWrap();
2106
2107     [propput, id(DISPID_IHTMLSTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable]
2108     void textUnderlinePosition(BSTR v);
2109
2110     [propget, id(DISPID_IHTMLSTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable]
2111     BSTR textUnderlinePosition();
2112
2113     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARBASECOLOR), displaybind, bindable]
2114     void scrollbarBaseColor(VARIANT v);
2115
2116     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARBASECOLOR), displaybind, bindable]
2117     VARIANT scrollbarBaseColor();
2118
2119     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARFACECOLOR), displaybind, bindable]
2120     void scrollbarFaceColor(VARIANT v);
2121
2122     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARFACECOLOR), displaybind, bindable]
2123     VARIANT scrollbarFaceColor();
2124
2125     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
2126     void scrollbar3dLightColor(VARIANT v);
2127
2128     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
2129     VARIANT scrollbar3dLightColor();
2130
2131     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable]
2132     void scrollbarShadowColor(VARIANT v);
2133
2134     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable]
2135     VARIANT scrollbarShadowColor();
2136
2137     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
2138     void scrollbarHighlightColor(VARIANT v);
2139
2140     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
2141     VARIANT scrollbarHighlightColor();
2142
2143     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
2144     void scrollbarDarkShadowColor(VARIANT v);
2145
2146     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
2147     VARIANT scrollbarDarkShadowColor();
2148
2149     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable]
2150     void scrollbarArrowColor(VARIANT v);
2151
2152     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable]
2153     VARIANT scrollbarArrowColor();
2154
2155     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable]
2156     void scrollbarTrackColor(VARIANT v);
2157
2158     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable]
2159     VARIANT scrollbarTrackColor();
2160
2161     [propput, id(DISPID_IHTMLSTYLE3_WRITINGMODE), displaybind, bindable]
2162     void writingMode(BSTR v);
2163
2164     [propget, id(DISPID_IHTMLSTYLE3_WRITINGMODE), displaybind, bindable]
2165     BSTR writingMode();
2166
2167     [propput, id(DISPID_IHTMLSTYLE3_TEXTALIGNLAST), displaybind, bindable]
2168     void textAlignLast(BSTR v);
2169
2170     [propget, id(DISPID_IHTMLSTYLE3_TEXTALIGNLAST), displaybind, bindable]
2171     BSTR textAlignLast();
2172
2173     [propput, id(DISPID_IHTMLSTYLE3_TEXTKASHIDASPACE), displaybind, bindable]
2174     void textKashidaSpace(VARIANT v);
2175
2176     [propget, id(DISPID_IHTMLSTYLE3_TEXTKASHIDASPACE), displaybind, bindable]
2177     VARIANT textKashidaSpace();
2178
2179     [propput, id(DISPID_IHTMLSTYLE4_TEXTOVERFLOW), displaybind, bindable]
2180     void textOverflow(BSTR v);
2181
2182     [propget, id(DISPID_IHTMLSTYLE4_TEXTOVERFLOW), displaybind, bindable]
2183     BSTR textOverflow();
2184
2185     [propput, id(DISPID_IHTMLSTYLE4_MINHEIGHT), displaybind, bindable]
2186     void minHeight(VARIANT v);
2187
2188     [propget, id(DISPID_IHTMLSTYLE4_MINHEIGHT), displaybind, bindable]
2189     VARIANT minHeight();
2190 }
2191
2192 /*****************************************************************************
2193  *    IHTMLRenderStyle interface
2194  */
2195 [
2196     odl,
2197     oleautomation,
2198     dual,
2199     uuid(3050f6ae-98b5-11cf-bb82-00aa00bdce0b)
2200 ]
2201 interface IHTMLRenderStyle : IDispatch
2202 {
2203     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTLINETHROUGHSTYLE), displaybind, bindable]
2204     HRESULT textLineThroughStyle([in] BSTR v);
2205
2206     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTLINETHROUGHSTYLE), displaybind, bindable]
2207     HRESULT textLineThroughStyle([retval, out] BSTR *p);
2208
2209     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTUNDERLINESTYLE), displaybind, bindable]
2210     HRESULT textUnderlineStyle([in] BSTR v);
2211
2212     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTUNDERLINESTYLE), displaybind, bindable]
2213     HRESULT textUnderlineStyle([retval, out] BSTR *p);
2214
2215     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTEFFECT), displaybind, bindable]
2216     HRESULT textEffect([in] BSTR v);
2217
2218     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTEFFECT), displaybind, bindable]
2219     HRESULT textEffect([retval, out] BSTR *p);
2220
2221     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTCOLOR), displaybind, bindable]
2222     HRESULT textColor([in] VARIANT v);
2223
2224     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTCOLOR), displaybind, bindable]
2225     HRESULT textColor([retval, out] VARIANT *p);
2226
2227     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTBACKGROUNDCOLOR), displaybind, bindable]
2228     HRESULT textBackgroundColor([in] VARIANT v);
2229
2230     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTBACKGROUNDCOLOR), displaybind, bindable]
2231     HRESULT textBackgroundColor([retval, out] VARIANT *p);
2232
2233     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATIONCOLOR), displaybind, bindable]
2234     HRESULT textDecorationColor([in] VARIANT v);
2235
2236     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATIONCOLOR), displaybind, bindable]
2237     HRESULT textDecorationColor([retval, out] VARIANT *p);
2238
2239     [propput, id(DISPID_IHTMLRENDERSTYLE_RENDERINGPRIORITY), displaybind, bindable]
2240     HRESULT renderingPriority([in] long v);
2241
2242     [propget, id(DISPID_IHTMLRENDERSTYLE_RENDERINGPRIORITY), displaybind, bindable]
2243     HRESULT renderingPriority([retval, out] long *p);
2244
2245     [propput, id(DISPID_IHTMLRENDERSTYLE_DEFAULTTEXTSELECTION), displaybind, bindable]
2246     HRESULT defaultTextSelection([in] BSTR v);
2247
2248     [propget, id(DISPID_IHTMLRENDERSTYLE_DEFAULTTEXTSELECTION), displaybind, bindable]
2249     HRESULT defaultTextSelection([retval, out] BSTR *p);
2250
2251     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATION), displaybind, bindable]
2252     HRESULT textDecoration([in] BSTR v);
2253
2254     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATION), displaybind, bindable]
2255     HRESULT textDecoration([retval, out] BSTR *p);
2256 }
2257
2258 /*****************************************************************************
2259  *    IHTMLCurrentStyle interface
2260  */
2261 [
2262     odl,
2263     oleautomation,
2264     dual,
2265     uuid(3050f3db-98b5-11cf-bb82-00aa00bdce0b)
2266 ]
2267 interface IHTMLCurrentStyle : IDispatch
2268 {
2269     [propget, id(DISPID_IHTMLCURRENTSTYLE_POSITION), displaybind, bindable]
2270     HRESULT position([retval, out] BSTR *p);
2271
2272     [propget, id(DISPID_IHTMLCURRENTSTYLE_STYLEFLOAT), displaybind, bindable]
2273     HRESULT styleFloat([retval, out] BSTR *p);
2274
2275     [propget, id(DISPID_IHTMLCURRENTSTYLE_COLOR), displaybind, bindable]
2276     HRESULT color([retval, out] VARIANT *p);
2277
2278     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
2279     HRESULT backgroundColor([retval, out] VARIANT *p);
2280
2281     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTFAMILY), displaybind, bindable]
2282     HRESULT fontFamily([retval, out] BSTR *p);
2283
2284     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSTYLE), displaybind, bindable]
2285     HRESULT fontStyle([retval, out] BSTR *p);
2286
2287     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTVARIANT), displaybind, bindable, hidden]
2288     HRESULT fontVariant([retval, out] BSTR *p);
2289
2290     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTWEIGHT), displaybind, bindable]
2291     HRESULT fontWeight([retval, out] VARIANT *p);
2292
2293     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSIZE), displaybind, bindable]
2294     HRESULT fontSize([retval, out] VARIANT *p);
2295
2296     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
2297     HRESULT backgroundImage([retval, out] BSTR *p);
2298
2299     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
2300     HRESULT backgroundPositionX([retval, out] VARIANT *p);
2301
2302     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
2303     HRESULT backgroundPositionY([retval, out] VARIANT *p);
2304
2305     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
2306     HRESULT backgroundRepeat([retval, out] BSTR *p);
2307
2308     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
2309     HRESULT borderLeftColor([retval, out] VARIANT *p);
2310
2311     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPCOLOR), displaybind, bindable]
2312     HRESULT borderTopColor([retval, out] VARIANT *p);
2313
2314     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
2315     HRESULT borderRightColor([retval, out] VARIANT *p);
2316
2317     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
2318     HRESULT borderBottomColor([retval, out] VARIANT *p);
2319
2320     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPSTYLE), displaybind, bindable]
2321     HRESULT borderTopStyle([retval, out] BSTR *p);
2322
2323     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
2324     HRESULT borderRightStyle([retval, out] BSTR *p);
2325
2326     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
2327     HRESULT borderBottomStyle([retval, out] BSTR *p);
2328
2329     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
2330     HRESULT borderLeftStyle([retval, out] BSTR *p);
2331
2332     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPWIDTH), displaybind, bindable]
2333     HRESULT borderTopWidth([retval, out] VARIANT *p);
2334
2335     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
2336     HRESULT borderRightWidth([retval, out] VARIANT *p);
2337
2338     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
2339     HRESULT borderBottomWidth([retval, out] VARIANT *p);
2340
2341     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
2342     HRESULT borderLeftWidth([retval, out] VARIANT *p);
2343
2344     [propget, id(DISPID_IHTMLCURRENTSTYLE_LEFT), displaybind, bindable]
2345     HRESULT left([retval, out] VARIANT *p);
2346
2347     [propget, id(DISPID_IHTMLCURRENTSTYLE_TOP), displaybind, bindable]
2348     HRESULT top([retval, out] VARIANT *p);
2349
2350     [propget, id(DISPID_IHTMLCURRENTSTYLE_WIDTH), displaybind, bindable]
2351     HRESULT width([retval, out] VARIANT *p);
2352
2353     [propget, id(DISPID_IHTMLCURRENTSTYLE_HEIGHT), displaybind, bindable]
2354     HRESULT height([retval, out] VARIANT *p);
2355
2356     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGLEFT), displaybind, bindable]
2357     HRESULT paddingLeft([retval, out] VARIANT *p);
2358
2359     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGTOP), displaybind, bindable]
2360     HRESULT paddingTop([retval, out] VARIANT *p);
2361
2362     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGRIGHT), displaybind, bindable]
2363     HRESULT paddingRight([retval, out] VARIANT *p);
2364
2365     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGBOTTOM), displaybind, bindable]
2366     HRESULT paddingBottom([retval, out] VARIANT *p);
2367
2368     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTALIGN), displaybind, bindable]
2369     HRESULT textAlign([retval, out] BSTR *p);
2370
2371     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTDECORATION), displaybind, bindable]
2372     HRESULT textDecoration([retval, out] BSTR *p);
2373
2374     [propget, id(DISPID_IHTMLCURRENTSTYLE_DISPLAY), displaybind, bindable]
2375     HRESULT display([retval, out] BSTR *p);
2376
2377     [propget, id(DISPID_IHTMLCURRENTSTYLE_VISIBILITY), displaybind, bindable]
2378     HRESULT visibility([retval, out] BSTR *p);
2379
2380     [propget, id(DISPID_IHTMLCURRENTSTYLE_ZINDEX), displaybind, bindable]
2381     HRESULT zIndex([retval, out] VARIANT *p);
2382
2383     [propget, id(DISPID_IHTMLCURRENTSTYLE_LETTERSPACING), displaybind, bindable]
2384     HRESULT letterSpacing([retval, out] VARIANT *p);
2385
2386     [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEHEIGHT), displaybind, bindable]
2387     HRESULT lineHeight([retval, out] VARIANT *p);
2388
2389     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTINDENT), displaybind, bindable]
2390     HRESULT textIndent([retval, out] VARIANT *p);
2391
2392     [propget, id(DISPID_IHTMLCURRENTSTYLE_VERTICALALIGN), displaybind, bindable]
2393     HRESULT verticalAlign([retval, out] VARIANT *p);
2394
2395     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
2396     HRESULT backgroundAttachment([retval, out] BSTR *p);
2397
2398     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINTOP), displaybind, bindable]
2399     HRESULT marginTop([retval, out] VARIANT *p);
2400
2401     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINRIGHT), displaybind, bindable]
2402     HRESULT marginRight([retval, out] VARIANT *p);
2403
2404     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINBOTTOM), displaybind, bindable]
2405     HRESULT marginBottom([retval, out] VARIANT *p);
2406
2407     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINLEFT), displaybind, bindable]
2408     HRESULT marginLeft([retval, out] VARIANT *p);
2409
2410     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLEAR), displaybind, bindable]
2411     HRESULT clear([retval, out] BSTR *p);
2412
2413     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLETYPE), displaybind, bindable]
2414     HRESULT listStyleType([retval, out] BSTR *p);
2415
2416     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
2417     HRESULT listStylePosition([retval, out] BSTR *p);
2418
2419     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
2420     HRESULT listStyleImage([retval, out] BSTR *p);
2421
2422     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPTOP), displaybind, bindable]
2423     HRESULT clipTop([retval, out] VARIANT *p);
2424
2425     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPRIGHT), displaybind, bindable]
2426     HRESULT clipRight([retval, out] VARIANT *p);
2427
2428     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPBOTTOM), displaybind, bindable]
2429     HRESULT clipBottom([retval, out] VARIANT *p);
2430
2431     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPLEFT), displaybind, bindable]
2432     HRESULT clipLeft([retval, out] VARIANT *p);
2433
2434     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOW), displaybind, bindable]
2435     HRESULT overflow([retval, out] BSTR *p);
2436
2437     [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
2438     HRESULT pageBreakBefore([retval, out] BSTR *p);
2439
2440     [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKAFTER), displaybind, bindable]
2441     HRESULT pageBreakAfter([retval, out] BSTR *p);
2442
2443     [propget, id(DISPID_IHTMLCURRENTSTYLE_CURSOR), displaybind, bindable]
2444     HRESULT cursor([retval, out] BSTR *p);
2445
2446     [propget, id(DISPID_IHTMLCURRENTSTYLE_TABLELAYOUT), displaybind, bindable]
2447     HRESULT tableLayout([retval, out] BSTR *p);
2448
2449     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLLAPSE), displaybind, bindable]
2450     HRESULT borderCollapse([retval, out] BSTR *p);
2451
2452     [propget, id(DISPID_IHTMLCURRENTSTYLE_DIRECTION), displaybind, bindable]
2453     HRESULT direction([retval, out] BSTR *p);
2454
2455     [propget, id(DISPID_IHTMLCURRENTSTYLE_BEHAVIOR), displaybind, bindable]
2456     HRESULT behavior([retval, out] BSTR *p);
2457
2458     [id(DISPID_IHTMLCURRENTSTYLE_GETATTRIBUTE)]
2459     HRESULT getAttribute(
2460         [in] BSTR strAttributeName,
2461         [defaultvalue(0), in] LONG lFlags,
2462         [retval, out] VARIANT *AttributeValue);
2463
2464     [propget, id(DISPID_IHTMLCURRENTSTYLE_UNICODEBIDI), displaybind, bindable]
2465     HRESULT unicodeBidi([retval, out] BSTR *p);
2466
2467     [propget, id(DISPID_IHTMLCURRENTSTYLE_RIGHT), displaybind, bindable]
2468     HRESULT right([retval, out] VARIANT *p);
2469
2470     [propget, id(DISPID_IHTMLCURRENTSTYLE_BOTTOM), displaybind, bindable]
2471     HRESULT bottom([retval, out] VARIANT *p);
2472
2473     [propget, id(DISPID_IHTMLCURRENTSTYLE_IMEMODE), displaybind, bindable]
2474     HRESULT imeMode([retval, out] BSTR *p);
2475
2476     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYALIGN), displaybind, bindable]
2477     HRESULT rubyAlign([retval, out] BSTR *p);
2478
2479     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYPOSITION), displaybind, bindable]
2480     HRESULT rubyPosition([retval, out] BSTR *p);
2481
2482     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYOVERHANG), displaybind, bindable]
2483     HRESULT rubyOverhang([retval, out] BSTR *p);
2484
2485     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTAUTOSPACE), displaybind, bindable]
2486     HRESULT textAutospace([retval, out] BSTR *p);
2487
2488     [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEBREAK), displaybind, bindable]
2489     HRESULT lineBreak([retval, out] BSTR *p);
2490
2491     [propget, id(DISPID_IHTMLCURRENTSTYLE_WORDBREAK), displaybind, bindable]
2492     HRESULT wordBreak([retval, out] BSTR *p);
2493
2494     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFY), displaybind, bindable]
2495     HRESULT textJustify([retval, out] BSTR *p);
2496
2497     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFYTRIM), displaybind, bindable]
2498     HRESULT textJustifyTrim([retval, out] BSTR *p);
2499
2500     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTKASHIDA), displaybind, bindable]
2501     HRESULT textKashida([retval, out] VARIANT *p);
2502
2503     [propget, id(DISPID_IHTMLCURRENTSTYLE_BLOCKDIRECTION), displaybind, bindable]
2504     HRESULT blockDirection([retval, out] BSTR *p);
2505
2506     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDCHAR), displaybind, bindable]
2507     HRESULT layoutGridChar([retval, out] VARIANT *p);
2508
2509     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDLINE), displaybind, bindable]
2510     HRESULT layoutGridLine([retval, out] VARIANT *p);
2511
2512     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDMODE), displaybind, bindable]
2513     HRESULT layoutGridMode([retval, out] BSTR *p);
2514
2515     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDTYPE), displaybind, bindable]
2516     HRESULT layoutGridType([retval, out] BSTR *p);
2517
2518     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERSTYLE), displaybind, bindable]
2519     HRESULT borderStyle([retval, out] BSTR *p);
2520
2521     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLOR), displaybind, bindable]
2522     HRESULT borderColor([retval, out] BSTR *p);
2523
2524     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERWIDTH), displaybind, bindable]
2525     HRESULT borderWidth([retval, out] BSTR *p);
2526
2527     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDING), displaybind, bindable]
2528     HRESULT padding([retval, out] BSTR *p);
2529
2530     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGIN), displaybind, bindable]
2531     HRESULT margin([retval, out] BSTR *p);
2532
2533     [propget, id(DISPID_IHTMLCURRENTSTYLE_ACCELERATOR), displaybind, bindable]
2534     HRESULT accelerator([retval, out] BSTR *p);
2535
2536     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWX), displaybind, bindable]
2537     HRESULT overflowX([retval, out] BSTR *p);
2538
2539     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWY), displaybind, bindable]
2540     HRESULT overflowY([retval, out] BSTR *p);
2541
2542     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTTRANSFORM), displaybind, bindable]
2543     HRESULT textTransform([retval, out] BSTR *p);
2544 }
2545
2546 /*****************************************************************************
2547  *    IHTMLRect interface
2548  */
2549 [
2550     odl,
2551     oleautomation,
2552     dual,
2553     uuid(3050f4a3-98b5-11cf-bb82-00aa00bdce0b)
2554 ]
2555 interface IHTMLRect : IDispatch
2556 {
2557     [propput, id(DISPID_IHTMLRECT_LEFT)]
2558     HRESULT left([in] long v);
2559
2560     [propget, id(DISPID_IHTMLRECT_LEFT)]
2561     HRESULT left([retval, out] long *p);
2562
2563     [propput, id(DISPID_IHTMLRECT_TOP)]
2564     HRESULT top([in] long v);
2565
2566     [propget, id(DISPID_IHTMLRECT_TOP)]
2567     HRESULT top([retval, out] long *p);
2568
2569     [propput, id(DISPID_IHTMLRECT_RIGHT)]
2570     HRESULT right([in] long v);
2571
2572     [propget, id(DISPID_IHTMLRECT_RIGHT)]
2573     HRESULT right([retval, out] long *p);
2574
2575     [propput, id(DISPID_IHTMLRECT_BOTTOM)]
2576     HRESULT bottom([in] long v);
2577
2578     [propget, id(DISPID_IHTMLRECT_BOTTOM)]
2579     HRESULT bottom([retval, out] long *p);
2580 }
2581
2582 /*****************************************************************************
2583  *    IHTMLRectCollection interface
2584  */
2585 [
2586     odl,
2587     oleautomation,
2588     dual,
2589     uuid(3050f4a4-98b5-11cf-bb82-00aa00bdce0b)
2590 ]
2591 interface IHTMLRectCollection : IDispatch
2592 {
2593     [propget, id(DISPID_IHTMLRECTCOLLECTION_LENGTH)]
2594     HRESULT length([retval, out] long *p);
2595
2596     [propget, id(DISPID_IHTMLRECTCOLLECTION__NEWENUM), hidden, restricted]
2597     HRESULT _newEnum([retval, out] IUnknown **p);
2598
2599     [id(DISPID_IHTMLRECTCOLLECTION_ITEM)]
2600     HRESULT item(
2601         [in] VARIANT *pvarIndex,
2602         [retval, out] VARIANT *pvarResult);
2603 }
2604
2605 /*****************************************************************************
2606  *    IHTMLDOMNode interface
2607  */
2608 [
2609     odl,
2610     oleautomation,
2611     dual,
2612     uuid(3050f5da-98b5-11cf-bb82-00aa00bdce0b)
2613 ]
2614 interface IHTMLDOMNode : IDispatch
2615 {
2616     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
2617     HRESULT nodeType([retval, out] long *p);
2618
2619     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
2620     HRESULT parentNode([retval, out] IHTMLDOMNode **p);
2621
2622     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
2623     HRESULT hasChildNodes([retval, out] VARIANT_BOOL *fChildren);
2624
2625     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
2626     HRESULT childNodes([retval, out] IDispatch **p);
2627
2628     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
2629     HRESULT attributes([retval, out] IDispatch **p);
2630
2631     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
2632     HRESULT insertBefore(
2633         [in] IHTMLDOMNode *newChild,
2634         [optional, in] VARIANT refChild,
2635         [retval, out] IHTMLDOMNode **node);
2636
2637     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
2638     HRESULT removeChild(
2639         [in] IHTMLDOMNode *oldChild,
2640         [retval, out] IHTMLDOMNode **node);
2641
2642     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
2643     HRESULT replaceChild(
2644         [in] IHTMLDOMNode *newChild,
2645         [in] IHTMLDOMNode *oldChild,
2646         [retval, out] IHTMLDOMNode **node);
2647
2648     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
2649     HRESULT cloneNode(
2650         [in] VARIANT_BOOL fDeep,
2651         [retval, out] IHTMLDOMNode **clonedNode);
2652
2653     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
2654     HRESULT removeNode(
2655         [defaultvalue(0), in] VARIANT_BOOL fDeep,
2656         [retval, out] IHTMLDOMNode **removed);
2657
2658     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
2659     HRESULT swapNode(
2660         [in] IHTMLDOMNode *otherNode,
2661         [retval, out] IHTMLDOMNode **swappedNode);
2662
2663     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
2664     HRESULT replaceNode(
2665         [in] IHTMLDOMNode *replacement,
2666         [retval, out] IHTMLDOMNode **replaced);
2667
2668     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
2669     HRESULT appendChild(
2670         [in] IHTMLDOMNode *newChild,
2671         [retval, out] IHTMLDOMNode **node);
2672
2673     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
2674     HRESULT nodeName([retval, out] BSTR *p);
2675
2676     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
2677     HRESULT nodeValue([in] VARIANT v);
2678
2679     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
2680     HRESULT nodeValue([retval, out] VARIANT *p);
2681
2682     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
2683     HRESULT firstChild([retval, out] IHTMLDOMNode **p);
2684
2685     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
2686     HRESULT lastChild([retval, out] IHTMLDOMNode **p);
2687
2688     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
2689     HRESULT previousSibling([retval, out] IHTMLDOMNode **p);
2690
2691     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
2692     HRESULT nextSibling([retval, out] IHTMLDOMNode **p);
2693 }
2694
2695 /*****************************************************************************
2696  *    IHTMLDOMNode2 interface
2697  */
2698 [
2699     odl,
2700     oleautomation,
2701     dual,
2702     uuid(3050f80b-98b5-11cf-bb82-00aa00bdce0b)
2703 ]
2704 interface IHTMLDOMNode2 : IDispatch
2705 {
2706     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
2707     HRESULT ownerDocument([retval, out] IDispatch **p);
2708 }
2709
2710 /*****************************************************************************
2711  *    IHTMLDOMAttribute interface
2712  */
2713 [
2714     odl,
2715     oleautomation,
2716     dual,
2717     uuid(3050f4b0-98b5-11cf-bb82-00aa00bdce0b)
2718 ]
2719 interface IHTMLDOMAttribute : IDispatch
2720 {
2721     [propget, id(DISPID_IHTMLDOMATTRIBUTE_NODENAME)]
2722     HRESULT nodeName([retval, out] BSTR *p);
2723
2724     [propput, id(DISPID_IHTMLDOMATTRIBUTE_NODEVALUE)]
2725     HRESULT nodeValue([in] VARIANT v);
2726
2727     [propget, id(DISPID_IHTMLDOMATTRIBUTE_NODEVALUE)]
2728     HRESULT nodeValue([retval, out] VARIANT *p);
2729
2730     [propget, id(DISPID_IHTMLDOMATTRIBUTE_SPECIFIED)]
2731     HRESULT specified([retval, out] VARIANT_BOOL *p);
2732 }
2733
2734 /*****************************************************************************
2735  *    IHTMLDOMTextNode interface
2736  */
2737 [
2738     odl,
2739     oleautomation,
2740     dual,
2741     uuid(3050f4b1-98b5-11cf-bb82-00aa00bdce0b)
2742 ]
2743 interface IHTMLDOMTextNode : IDispatch
2744 {
2745     [propput, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
2746     HRESULT data([in] BSTR v);
2747
2748     [propget, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
2749     HRESULT data([out, retval] BSTR *p);
2750
2751     [id(DISPID_IHTMLDOMTEXTNODE_TOSTRING)]
2752     HRESULT toString([out, retval] BSTR *String);
2753
2754     [propget, id(DISPID_IHTMLDOMTEXTNODE_LENGTH)]
2755     HRESULT length([out, retval] long *p);
2756
2757     [id(DISPID_IHTMLDOMTEXTNODE_SPLITTEXT)]
2758     HRESULT splitText(
2759             [in] long offset,
2760             [out, retval] IHTMLDOMNode **pRetNode);
2761 }
2762
2763 /*****************************************************************************
2764  *    IHTMLDOMImplementation interface
2765  */
2766 [
2767     odl,
2768     oleautomation,
2769     dual,
2770     uuid(3050f80d-98b5-11cf-bb82-00aa00bdce0b)
2771 ]
2772 interface IHTMLDOMImplementation : IDispatch
2773 {
2774     [id(DISPID_IHTMLDOMIMPLEMENTATION_HASFEATURE)]
2775     HRESULT hasFeature(
2776         [in] BSTR bstrfeature,
2777         [optional, in] VARIANT version,
2778         [retval, out] VARIANT_BOOL *pfHasFeature);
2779 }
2780
2781 /*****************************************************************************
2782  *    DispHTMLDOMTextNode dispinterface
2783  */
2784 [
2785     hidden,
2786     uuid(3050f565-98b5-11cf-bb82-00aa00bdce0b)
2787 ]
2788 dispinterface DispHTMLDOMTextNode
2789 {
2790 properties:
2791 methods:
2792     [propput, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
2793     void data(BSTR v);
2794
2795     [propget, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
2796     BSTR data();
2797
2798     [id(DISPID_IHTMLDOMTEXTNODE_TOSTRING)]
2799     BSTR toString();
2800
2801     [propget, id(DISPID_IHTMLDOMTEXTNODE_LENGTH)]
2802     long length();
2803
2804     [id(DISPID_IHTMLDOMTEXTNODE_SPLITTEXT)]
2805     IHTMLDOMNode *splitText([in] long offset);
2806
2807     [id(DISPID_IHTMLDOMTEXTNODE2_SUBSTRINGDATA)]
2808     BSTR substringData(
2809             [in] long offset,
2810             [in] long Count);
2811
2812     [id(DISPID_IHTMLDOMTEXTNODE2_APPENDDATA)]
2813     void appendData([in] BSTR bstrstring);
2814
2815     [id(DISPID_IHTMLDOMTEXTNODE2_INSERTDATA)]
2816     void insertData(
2817             [in] long offset,
2818             [in] BSTR bstrstring);
2819
2820     [id(DISPID_IHTMLDOMTEXTNODE2_DELETEDATA)]
2821     void deleteData(
2822             [in] long offset,
2823             [in] long Count);
2824
2825     [id(DISPID_IHTMLDOMTEXTNODE2_REPLACEDATA)]
2826     void replaceData(
2827             [in] long offset,
2828             [in] long Count,
2829             [in] BSTR bstrstring);
2830
2831     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
2832     long nodeType();
2833
2834     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
2835     IHTMLDOMNode *parentNode();
2836
2837     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
2838     VARIANT_BOOL hasChildNodes();
2839
2840     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
2841     IDispatch *childNodes();
2842
2843     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
2844     IDispatch *attributes();
2845
2846     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
2847     IHTMLDOMNode *insertBefore(
2848             [in] IHTMLDOMNode *newChild,
2849             [in, optional] VARIANT refChild);
2850
2851     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
2852     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
2853
2854     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
2855     IHTMLDOMNode *replaceChild(
2856             [in] IHTMLDOMNode *newChild,
2857             [in] IHTMLDOMNode *oldChild);
2858
2859     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
2860     IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
2861
2862     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
2863     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
2864
2865     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
2866     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
2867
2868     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
2869     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
2870
2871     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
2872     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
2873
2874     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
2875     BSTR nodeName();
2876
2877     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
2878     void nodeValue(VARIANT v);
2879
2880     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
2881     VARIANT nodeValue();
2882
2883     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
2884     IHTMLDOMNode *firstChild();
2885
2886     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
2887     IHTMLDOMNode *lastChild();
2888
2889     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
2890     IHTMLDOMNode *previousSibling();
2891
2892     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
2893     IHTMLDOMNode* nextSibling();
2894
2895     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
2896     IDispatch *ownerDocument();
2897 }
2898
2899 /*****************************************************************************
2900  *    IHTMLDOMChildrenCollection interface
2901  */
2902 [
2903     odl,
2904     oleautomation,
2905     dual,
2906     uuid(3050f5ab-98b5-11cf-bb82-00aa00bdce0b)
2907 ]
2908 interface IHTMLDOMChildrenCollection : IDispatch
2909 {
2910     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION_LENGTH)]
2911     HRESULT length([out, retval] long *p);
2912
2913     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION__NEWENUM), hidden, restricted]
2914     HRESULT _newEnum([out, retval] IUnknown **p);
2915
2916     [id(DISPID_IHTMLDOMCHILDRENCOLLECTION_ITEM)]
2917     HRESULT item(
2918             [in] long index,
2919             [out, retval] IDispatch **ppItem);
2920 }
2921
2922 /*****************************************************************************
2923  *    DispDOMChildrenCollection dispinterface
2924  */
2925 [
2926     hidden,
2927     uuid(3050f577-98b5-11cf-bb82-00aa00bdce0b)
2928 ]
2929 dispinterface DispDOMChildrenCollection
2930 {
2931 properties:
2932 methods:
2933     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION_LENGTH)]
2934     long length();
2935
2936     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION__NEWENUM), hidden, restricted]
2937     IUnknown *_newEnum();
2938
2939     [id(DISPID_IHTMLDOMCHILDRENCOLLECTION_ITEM)]
2940     IDispatch *item([in] long index);
2941 }
2942
2943 interface IHTMLElementCollection;
2944
2945 /*****************************************************************************
2946  *    IHTMLElement interface
2947  */
2948 [
2949     odl,
2950     dual,
2951     oleautomation,
2952     uuid(3050f1FF-98B5-11CF-BB82-00AA00BDCE0B)
2953 ]
2954 interface IHTMLElement : IDispatch
2955 {
2956     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
2957     HRESULT setAttribute(
2958         [in] BSTR strAttributeName,
2959         [in] VARIANT AttributeValue,
2960         [defaultvalue(1), in] LONG lFlags);
2961
2962     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
2963     HRESULT getAttribute(
2964         [in] BSTR strAttributeName,
2965         [defaultvalue(0), in] LONG lFlags,
2966         [retval, out] VARIANT *AttributeValue);
2967
2968     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
2969     HRESULT removeAttribute(
2970         [in] BSTR strAttributeName,
2971         [defaultvalue(1), in] LONG lFlags,
2972         [retval, out] VARIANT_BOOL *pfSuccess);
2973
2974     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME)]
2975     HRESULT className([in] BSTR v);
2976
2977     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME)]
2978     HRESULT className([retval, out] BSTR *p);
2979
2980     [propput, id(DISPID_IHTMLELEMENT_ID)]
2981     HRESULT id([in] BSTR v);
2982
2983     [propget, id(DISPID_IHTMLELEMENT_ID)]
2984     HRESULT id([retval, out] BSTR *p);
2985
2986     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
2987     HRESULT tagName([retval, out] BSTR *p);
2988
2989     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
2990     HRESULT parentElement([retval, out] IHTMLElement **p);
2991
2992     [propget, id(DISPID_IHTMLELEMENT_STYLE)]
2993     HRESULT style([retval, out] IHTMLStyle **p);
2994
2995     [propput, id(DISPID_IHTMLELEMENT_ONHELP)]
2996     HRESULT onhelp([in] VARIANT v);
2997
2998     [propget, id(DISPID_IHTMLELEMENT_ONHELP)]
2999     HRESULT onhelp([retval, out] VARIANT *p);
3000
3001     [propput, id(DISPID_IHTMLELEMENT_ONCLICK)]
3002     HRESULT onclick([in] VARIANT v);
3003
3004     [propget, id(DISPID_IHTMLELEMENT_ONCLICK)]
3005     HRESULT onclick([retval, out] VARIANT *p);
3006
3007     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK)]
3008     HRESULT ondblclick([in] VARIANT v);
3009
3010     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK)]
3011     HRESULT ondblclick([retval, out] VARIANT *p);
3012
3013     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN)]
3014     HRESULT onkeydown([in] VARIANT v);
3015
3016     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN)]
3017     HRESULT onkeydown([retval, out] VARIANT *p);
3018
3019     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP)]
3020     HRESULT onkeyup([in] VARIANT v);
3021
3022     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP)]
3023     HRESULT onkeyup([retval, out] VARIANT *p);
3024
3025     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS)]
3026     HRESULT onkeypress([in] VARIANT v);
3027
3028     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS)]
3029     HRESULT onkeypress([retval, out] VARIANT *p);
3030
3031     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT)]
3032     HRESULT onmouseout([in] VARIANT v);
3033
3034     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT)]
3035     HRESULT onmouseout([retval, out] VARIANT *p);
3036
3037     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER)]
3038     HRESULT onmouseover([in] VARIANT v);
3039
3040     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER)]
3041     HRESULT onmouseover([retval, out] VARIANT *p);
3042
3043     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE)]
3044     HRESULT onmousemove([in] VARIANT v);
3045
3046     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE)]
3047     HRESULT onmousemove([retval, out] VARIANT *p);
3048
3049     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN)]
3050     HRESULT onmousedown([in] VARIANT v);
3051
3052     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN)]
3053     HRESULT onmousedown([retval, out] VARIANT *p);
3054
3055     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP)]
3056     HRESULT onmouseup([in] VARIANT v);
3057
3058     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP)]
3059     HRESULT onmouseup([retval, out] VARIANT *p);
3060
3061     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
3062     HRESULT document([retval, out] IDispatch **p);
3063
3064     [propput, id(DISPID_IHTMLELEMENT_TITLE)]
3065     HRESULT title([in] BSTR v);
3066
3067     [propget, id(DISPID_IHTMLELEMENT_TITLE)]
3068     HRESULT title([retval, out] BSTR *p);
3069
3070     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE)]
3071     HRESULT language([in] BSTR v);
3072
3073     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE)]
3074     HRESULT language([retval, out] BSTR *p);
3075
3076     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART)]
3077     HRESULT onselectstart([in] VARIANT v);
3078
3079     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART)]
3080     HRESULT onselectstart([retval, out] VARIANT *p);
3081
3082     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
3083     HRESULT scrollIntoView([optional, in] VARIANT varargStart);
3084
3085     [id(DISPID_IHTMLELEMENT_CONTAINS)]
3086     HRESULT contains(
3087         [in] IHTMLElement *pChild,
3088         [retval, out] VARIANT_BOOL *pfResult);
3089
3090     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX)]
3091     HRESULT sourceIndex([retval, out] long *p);
3092
3093     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
3094     HRESULT recordNumber([retval, out] VARIANT *p);
3095
3096     [propput, id(DISPID_IHTMLELEMENT_LANG)]
3097     HRESULT lang([in] BSTR v);
3098
3099     [propget, id(DISPID_IHTMLELEMENT_LANG)]
3100     HRESULT lang([retval, out] BSTR *p);
3101
3102     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
3103     HRESULT offsetLeft([retval, out] long *p);
3104
3105     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
3106     HRESULT offsetTop([retval, out] long *p);
3107
3108     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
3109     HRESULT offsetWidth([retval, out] long *p);
3110
3111     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
3112     HRESULT offsetHeight([retval, out] long *p);
3113
3114     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
3115     HRESULT offsetParent([retval, out] IHTMLElement **p);
3116
3117     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
3118     HRESULT innerHTML([in] BSTR v);
3119
3120     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
3121     HRESULT innerHTML([retval, out] BSTR *p);
3122
3123     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
3124     HRESULT innerText([in] BSTR v);
3125
3126     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
3127     HRESULT innerText([retval, out] BSTR *p);
3128
3129     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
3130     HRESULT outerHTML([in] BSTR v);
3131
3132     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
3133     HRESULT outerHTML([retval, out] BSTR *p);
3134
3135     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
3136     HRESULT outerText([in] BSTR v);
3137
3138     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
3139     HRESULT outerText([retval, out] BSTR *p);
3140
3141     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
3142     HRESULT insertAdjacentHTML([in] BSTR where, [in] BSTR html);
3143
3144     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
3145     HRESULT insertAdjacentText([in] BSTR where, [in] BSTR text);
3146
3147     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
3148     HRESULT parentTextEdit([retval, out] IHTMLElement **p);
3149
3150     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
3151     HRESULT isTextEdit([retval, out] VARIANT_BOOL *p);
3152
3153     [id(DISPID_IHTMLELEMENT_CLICK)]
3154     HRESULT click();
3155
3156     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
3157     HRESULT filters([retval, out] IHTMLFiltersCollection **p);
3158
3159     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART)]
3160     HRESULT ondragstart([in] VARIANT v);
3161
3162     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART)]
3163     HRESULT ondragstart([retval, out] VARIANT *p);
3164
3165     [id(DISPID_IHTMLELEMENT_TOSTRING)]
3166     HRESULT toString([retval, out] BSTR *String);
3167
3168     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE)]
3169     HRESULT onbeforeupdate([in] VARIANT v);
3170
3171     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE)]
3172     HRESULT onbeforeupdate([retval, out] VARIANT *p);
3173
3174     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE)]
3175     HRESULT onafterupdate([in] VARIANT v);
3176
3177     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE)]
3178     HRESULT onafterupdate([retval, out] VARIANT *p);
3179
3180     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE)]
3181     HRESULT onerrorupdate([in] VARIANT v);
3182
3183     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE)]
3184     HRESULT onerrorupdate([retval, out] VARIANT *p);
3185
3186     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT)]
3187     HRESULT onrowexit([in] VARIANT v);
3188
3189     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT)]
3190     HRESULT onrowexit([retval, out] VARIANT *p);
3191
3192     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER)]
3193     HRESULT onrowenter([in] VARIANT v);
3194
3195     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER)]
3196     HRESULT onrowenter([retval, out] VARIANT *p);
3197
3198     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED)]
3199     HRESULT ondatasetchanged([in] VARIANT v);
3200
3201     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED)]
3202     HRESULT ondatasetchanged([retval, out] VARIANT *p);
3203
3204     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE)]
3205     HRESULT ondataavailable([in] VARIANT v);
3206
3207     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE)]
3208     HRESULT ondataavailable([retval, out] VARIANT *p);
3209
3210     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE)]
3211     HRESULT ondatasetcomplete([in] VARIANT v);
3212
3213     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE)]
3214     HRESULT ondatasetcomplete([retval, out] VARIANT *p);
3215
3216     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE)]
3217     HRESULT onfilterchange([in] VARIANT v);
3218
3219     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE)]
3220     HRESULT onfilterchange([retval, out] VARIANT *p);
3221
3222     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
3223     HRESULT children([retval, out] IDispatch **p);
3224
3225     [propget, id(DISPID_IHTMLELEMENT_ALL)]
3226     HRESULT all([retval, out] IDispatch **p);
3227 }
3228
3229 /*****************************************************************************
3230  *    IHTMLElement2 interface
3231  */
3232 [
3233     odl,
3234     oleautomation,
3235     dual,
3236     uuid(3050f434-98b5-11cf-bb82-00aa00bdce0b)
3237 ]
3238 interface IHTMLElement2 : IDispatch
3239 {
3240     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
3241     HRESULT scopeName([retval, out] BSTR *p);
3242
3243     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
3244     HRESULT setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
3245
3246     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
3247     HRESULT releaseCapture();
3248
3249     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
3250     HRESULT onlosecapture([in] VARIANT v);
3251
3252     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
3253     HRESULT onlosecapture([retval, out] VARIANT *p);
3254
3255     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
3256     HRESULT componentFromPoint(
3257         [in] long x,
3258         [in] long y,
3259         [retval, out] BSTR *component);
3260
3261     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
3262     HRESULT doScroll([optional, in] VARIANT component);
3263
3264     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
3265     HRESULT onscroll([in] VARIANT v);
3266
3267     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
3268     HRESULT onscroll([retval, out] VARIANT *p);
3269
3270     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
3271     HRESULT ondrag([in] VARIANT v);
3272
3273     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
3274     HRESULT ondrag([retval, out] VARIANT *p);
3275
3276     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
3277     HRESULT ondragend([in] VARIANT v);
3278
3279     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
3280     HRESULT ondragend([retval, out] VARIANT *p);
3281
3282     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
3283     HRESULT ondragenter([in] VARIANT v);
3284
3285     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
3286     HRESULT ondragenter([retval, out] VARIANT *p);
3287
3288     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
3289     HRESULT ondragover([in] VARIANT v);
3290
3291     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
3292     HRESULT ondragover([retval, out] VARIANT *p);
3293
3294     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
3295     HRESULT ondragleave([in] VARIANT v);
3296
3297     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
3298     HRESULT ondragleave([retval, out] VARIANT *p);
3299
3300     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
3301     HRESULT ondrop([in] VARIANT v);
3302
3303     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
3304     HRESULT ondrop([retval, out] VARIANT *p);
3305
3306     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
3307     HRESULT onbeforecut([in] VARIANT v);
3308
3309     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
3310     HRESULT onbeforecut([retval, out] VARIANT *p);
3311
3312     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
3313     HRESULT oncut([in] VARIANT v);
3314
3315     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
3316     HRESULT oncut([retval, out] VARIANT *p);
3317
3318     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
3319     HRESULT onbeforecopy([in] VARIANT v);
3320
3321     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
3322     HRESULT onbeforecopy([retval, out] VARIANT *p);
3323
3324     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
3325     HRESULT oncopy([in] VARIANT v);
3326
3327     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
3328     HRESULT oncopy([retval, out] VARIANT *p);
3329
3330     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
3331     HRESULT onbeforepaste([in] VARIANT v);
3332
3333     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
3334     HRESULT onbeforepaste([retval, out] VARIANT *p);
3335
3336     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
3337     HRESULT onpaste([in] VARIANT v);
3338
3339     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
3340     HRESULT onpaste([retval, out] VARIANT *p);
3341
3342     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
3343     HRESULT currentStyle([retval, out] IHTMLCurrentStyle **p);
3344
3345     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
3346     HRESULT onpropertychange([in] VARIANT v);
3347
3348     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
3349     HRESULT onpropertychange([retval, out] VARIANT *p);
3350
3351     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
3352     HRESULT getClientRects([retval, out] IHTMLRectCollection **pRectCol);
3353
3354     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
3355     HRESULT getBoundingClientRect([retval, out] IHTMLRect **pRect);
3356
3357     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
3358     HRESULT setExpression(
3359         [in] BSTR propname,
3360         [in] BSTR expression,
3361         [defaultvalue(""), in] BSTR language);
3362
3363     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
3364     HRESULT getExpression(
3365         [in] BSTR propname,
3366         [retval, out] VARIANT *expression);
3367
3368     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
3369     HRESULT removeExpression(
3370         [in] BSTR propname,
3371         [retval, out] VARIANT_BOOL *pfSuccess);
3372
3373     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
3374     HRESULT tabIndex([in] short v);
3375
3376     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
3377     HRESULT tabIndex([retval, out] short *p);
3378
3379     [id(DISPID_IHTMLELEMENT2_FOCUS)]
3380     HRESULT focus();
3381
3382     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
3383     HRESULT accessKey([in] BSTR v);
3384
3385     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
3386     HRESULT accessKey([retval, out] BSTR *p);
3387
3388     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
3389     HRESULT onblur([in] VARIANT v);
3390
3391     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
3392     HRESULT onblur([retval, out] VARIANT *p);
3393
3394     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
3395     HRESULT onfocus([in] VARIANT v);
3396
3397     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
3398     HRESULT onfocus([retval, out] VARIANT *p);
3399
3400     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
3401     HRESULT onresize([in] VARIANT v);
3402
3403     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
3404     HRESULT onresize([retval, out] VARIANT *p);
3405
3406     [id(DISPID_IHTMLELEMENT2_BLUR)]
3407     HRESULT blur();
3408
3409     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
3410     HRESULT addFilter([in] IUnknown *pUnk);
3411
3412     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
3413     HRESULT removeFilter([in] IUnknown *pUnk);
3414
3415     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
3416     HRESULT clientHeight([retval, out] long *p);
3417
3418     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
3419     HRESULT clientWidth([retval, out] long *p);
3420
3421     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
3422     HRESULT clientTop([retval, out] long *p);
3423
3424     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
3425     HRESULT clientLeft([retval, out] long *p);
3426
3427     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
3428     HRESULT attachEvent(
3429         [in] BSTR event,
3430         [in] IDispatch *pDisp,
3431         [retval, out] VARIANT_BOOL *pfResult);
3432
3433     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
3434     HRESULT detachEvent(
3435         [in] BSTR event,
3436         [in] IDispatch *pDisp);
3437
3438     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
3439     HRESULT readyState([retval, out] VARIANT *p);
3440
3441     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
3442     HRESULT onreadystatechange([in] VARIANT v);
3443
3444     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
3445     HRESULT onreadystatechange([retval, out] VARIANT *p);
3446
3447     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
3448     HRESULT onrowsdelete([in] VARIANT v);
3449
3450     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
3451     HRESULT onrowsdelete([retval, out] VARIANT *p);
3452
3453     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
3454     HRESULT onrowsinserted([in] VARIANT v);
3455
3456     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
3457     HRESULT onrowsinserted([retval, out] VARIANT *p);
3458
3459     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
3460     HRESULT oncellchange([in] VARIANT v);
3461
3462     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
3463     HRESULT oncellchange([retval, out] VARIANT *p);
3464
3465     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
3466     HRESULT dir([in] BSTR v);
3467
3468     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
3469     HRESULT dir([retval, out] BSTR *p);
3470
3471     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
3472     HRESULT createControlRange([retval, out] IDispatch **range);
3473
3474     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
3475     HRESULT scrollHeight([retval, out] long *p);
3476
3477     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
3478     HRESULT scrollWidth([retval, out] long *p);
3479
3480     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
3481     HRESULT scrollTop([in] long v);
3482
3483     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
3484     HRESULT scrollTop([retval, out] long *p);
3485
3486     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
3487     HRESULT scrollLeft([in] long v);
3488
3489     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
3490     HRESULT scrollLeft([retval, out] long *p);
3491
3492     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
3493     HRESULT clearAttributes();
3494
3495     [id(DISPID_IHTMLELEMENT2_MERGEATTRIBUTES)]
3496     HRESULT mergeAttributes([in] IHTMLElement *mergeThis);
3497
3498     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
3499     HRESULT oncontextmenu([in] VARIANT v);
3500
3501     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
3502     HRESULT oncontextmenu([retval, out] VARIANT *p);
3503
3504     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
3505     HRESULT insertAdjacentElement(
3506         [in] BSTR where,
3507         [in] IHTMLElement *insertedElement,
3508         [retval, out] IHTMLElement **inserted);
3509
3510     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
3511     HRESULT applyElement(
3512         [in] IHTMLElement *apply,
3513         [in] BSTR where,
3514         [retval, out] IHTMLElement **applied);
3515
3516     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
3517     HRESULT getAdjacentText(
3518         [in] BSTR where,
3519         [retval, out] BSTR *text);
3520
3521     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
3522     HRESULT replaceAdjacentText(
3523         [in] BSTR where,
3524         [in] BSTR newText,
3525         [retval, out] BSTR *oldText);
3526
3527     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
3528     HRESULT canHaveChildren([retval, out] VARIANT_BOOL *p);
3529
3530     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
3531     HRESULT addBehavior(
3532         [in] BSTR bstrUrl,
3533         [optional, in] VARIANT *pvarFactory,
3534         [retval, out] long *pCookie);
3535
3536     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
3537     HRESULT removeBehavior(
3538         [in] long cookie,
3539         [retval, out] VARIANT_BOOL *pfResult);
3540
3541     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
3542     HRESULT runtimeStyle([retval, out] IHTMLStyle **p);
3543
3544     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
3545     HRESULT behaviorUrns([retval, out] IDispatch **p);
3546
3547     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
3548     HRESULT tagUrn([in] BSTR v);
3549
3550     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
3551     HRESULT tagUrn([retval, out] BSTR *p);
3552
3553     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
3554     HRESULT onbeforeeditfocus([in] VARIANT v);
3555
3556     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
3557     HRESULT onbeforeeditfocus([retval, out] VARIANT *p);
3558
3559     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
3560     HRESULT readyStateValue([retval, out] long *p);
3561
3562     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
3563     HRESULT getElementsByTagName(
3564         [in] BSTR v,
3565         [retval, out] IHTMLElementCollection **pelColl);
3566 }
3567
3568
3569 /*****************************************************************************
3570  *    IHTMLElement3 interface
3571  */
3572 [
3573     odl,
3574     oleautomation,
3575     dual,
3576     uuid(3050f673-98b5-11cf-bb82-00aa00bdce0b)
3577 ]
3578 interface IHTMLElement3 : IDispatch
3579 {
3580     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)] HRESULT mergeAttributes([in]
3581     IHTMLElement* mergeThis,[optional, in] VARIANT* pvarFlags);
3582
3583     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
3584     HRESULT isMultiLine([retval, out] VARIANT_BOOL * p);
3585
3586     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
3587     HRESULT canHaveHTML([retval, out] VARIANT_BOOL * p);
3588
3589     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
3590     HRESULT onlayoutcomplete([in] VARIANT v);
3591
3592     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
3593     HRESULT onlayoutcomplete([retval, out] VARIANT * p);
3594
3595     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
3596     HRESULT onpage([in] VARIANT v);
3597
3598     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
3599     HRESULT onpage([retval, out] VARIANT * p);
3600
3601     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
3602     HRESULT inflateBlock([in] VARIANT_BOOL v);
3603
3604     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
3605     HRESULT inflateBlock([retval, out] VARIANT_BOOL * p);
3606
3607     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
3608     HRESULT onbeforedeactivate([in] VARIANT v);
3609
3610     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
3611     HRESULT onbeforedeactivate([retval, out] VARIANT * p);
3612
3613     [id(DISPID_IHTMLELEMENT3_SETACTIVE)] HRESULT setActive();
3614
3615     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
3616     HRESULT contentEditable([in] BSTR v);
3617
3618     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
3619     HRESULT contentEditable([retval, out] BSTR * p);
3620
3621     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
3622     HRESULT isContentEditable([retval, out] VARIANT_BOOL * p);
3623
3624     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
3625     HRESULT hideFocus([in] VARIANT_BOOL v);
3626
3627     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
3628     HRESULT hideFocus([retval, out] VARIANT_BOOL * p);
3629
3630     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
3631     HRESULT disabled([in] VARIANT_BOOL v);
3632
3633     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
3634     HRESULT disabled([retval, out] VARIANT_BOOL * p);
3635
3636     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
3637     HRESULT isDisabled([retval, out] VARIANT_BOOL * p);
3638
3639     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
3640     HRESULT onmove([in] VARIANT v);
3641
3642     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
3643     HRESULT onmove([retval, out] VARIANT * p);
3644
3645     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
3646     HRESULT oncontrolselect([in] VARIANT v);
3647
3648     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
3649     HRESULT oncontrolselect([retval, out] VARIANT * p);
3650
3651     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
3652     HRESULT fireEvent(
3653         [in] BSTR bstrEventName,
3654         [optional, in] VARIANT* pvarEventObject,
3655         [retval, out] VARIANT_BOOL* pfCancelled);
3656
3657     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
3658     HRESULT onresizestart([in] VARIANT v);
3659
3660     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
3661     HRESULT onresizestart([retval, out] VARIANT * p);
3662
3663     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
3664     HRESULT onresizeend([in] VARIANT v);
3665
3666     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
3667     HRESULT onresizeend([retval, out] VARIANT * p);
3668
3669     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
3670     HRESULT onmovestart([in] VARIANT v);
3671
3672     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
3673     HRESULT onmovestart([retval, out] VARIANT * p);
3674
3675     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
3676     HRESULT onmoveend([in] VARIANT v);
3677
3678     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
3679     HRESULT onmoveend([retval, out] VARIANT * p);
3680
3681     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
3682     HRESULT onmouseenter([in] VARIANT v);
3683
3684     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
3685     HRESULT onmouseenter([retval, out] VARIANT * p);
3686
3687     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
3688     HRESULT onmouseleave([in] VARIANT v);
3689
3690     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
3691     HRESULT onmouseleave([retval, out] VARIANT * p);
3692
3693     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
3694     HRESULT onactivate([in] VARIANT v);
3695
3696     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
3697     HRESULT onactivate([retval, out] VARIANT * p);
3698
3699     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
3700     HRESULT ondeactivate([in] VARIANT v);
3701
3702     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
3703     HRESULT ondeactivate([retval, out] VARIANT * p);
3704
3705     [id(DISPID_IHTMLELEMENT3_DRAGDROP)] HRESULT dragDrop([retval, out]
3706     VARIANT_BOOL* pfRet);
3707
3708     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
3709     HRESULT glyphMode([retval, out] LONG * p);
3710 };
3711 /*****************************************************************************
3712  *    IHTMLElement4 interface
3713  */
3714 [
3715     odl,
3716     oleautomation,
3717     dual,
3718     uuid(3050f80f-98b5-11cf-bb82-00aa00bdce0b)
3719 ]
3720 interface IHTMLElement4 : IDispatch
3721 {
3722     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
3723     HRESULT onmousewheel([in] VARIANT v);
3724
3725     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
3726     HRESULT onmousewheel([retval, out] VARIANT * p);
3727
3728     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
3729     HRESULT normalize();
3730
3731     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
3732     HRESULT getAttributeNode([in] BSTR bstrname,
3733         [retval, out] IHTMLDOMAttribute** ppAttribute);
3734
3735     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
3736     HRESULT setAttributeNode(
3737         [in] IHTMLDOMAttribute* pattr,
3738         [retval, out] IHTMLDOMAttribute** ppretAttribute);
3739
3740     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
3741     HRESULT removeAttributeNode(
3742         [in] IHTMLDOMAttribute* pattr,
3743         [retval, out] IHTMLDOMAttribute** ppretAttribute);
3744
3745     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
3746     HRESULT onbeforeactivate([in] VARIANT v);
3747
3748     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
3749     HRESULT onbeforeactivate([retval, out] VARIANT * p);
3750
3751     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
3752     HRESULT onfocusin([in] VARIANT v);
3753
3754     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
3755     HRESULT onfocusin([retval, out] VARIANT * p);
3756
3757     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
3758     HRESULT onfocusout([in] VARIANT v);
3759
3760     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
3761     HRESULT onfocusout([retval, out] VARIANT * p);
3762 };
3763
3764 /*****************************************************************************
3765  *    IHTMLGenericElement interface
3766  */
3767 [
3768     odl,
3769     oleautomation,
3770     dual,
3771     uuid(3050f4b7-98b5-11cf-bb82-00aa00bdce0b)
3772 ]
3773 interface IHTMLGenericElement : IDispatch
3774 {
3775     [propget, id(DISPID_IHTMLGENERICELEMENT_RECORDSET), hidden]
3776     HRESULT recordset([out, retval] IDispatch **p);
3777
3778     [id(DISPID_IHTMLGENERICELEMENT_NAMEDRECORDSET)]
3779     HRESULT namedRecordset(
3780             [in] BSTR dataMember,
3781             [in, optional] VARIANT *hierarchy,
3782             [out, retval] IDispatch **ppRecordset);
3783 }
3784
3785 /*****************************************************************************
3786  *    DispHTMLGenericElement dispinterface
3787  */
3788 [
3789     hidden,
3790     uuid(3050f563-98b5-11cf-bb82-00aa00bdce0b)
3791 ]
3792 dispinterface DispHTMLGenericElement
3793 {
3794 properties:
3795 methods:
3796     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
3797     void setAttribute(
3798             [in] BSTR strAttributeName,
3799             [in] VARIANT AttributeValue,
3800             [in, defaultvalue(1)] LONG lFlags);
3801
3802     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
3803     VARIANT getAttribute(
3804              [in] BSTR strAttributeName,
3805              [in, defaultvalue(0)] LONG lFlags);
3806
3807     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
3808     VARIANT_BOOL removeAttribute(
3809             [in] BSTR strAttributeName,
3810             [in, defaultvalue(1)] LONG lFlags);
3811
3812     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
3813     void className(BSTR v);
3814
3815     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
3816     BSTR className();
3817
3818     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
3819     void id(BSTR v);
3820
3821     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
3822     BSTR id();
3823
3824     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
3825     BSTR tagName();
3826
3827     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
3828     IHTMLElement *parentElement();
3829
3830     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
3831     IHTMLStyle *style();
3832
3833     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
3834     void onhelp(VARIANT v);
3835
3836     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
3837     VARIANT onhelp();
3838
3839     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
3840     void onclick(VARIANT v);
3841
3842     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
3843     VARIANT onclick();
3844
3845     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
3846     void ondblclick(VARIANT v);
3847
3848     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
3849     VARIANT ondblclick();
3850
3851     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
3852     void onkeydown(VARIANT v);
3853
3854     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
3855     VARIANT onkeydown();
3856
3857     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
3858     void onkeyup(VARIANT v);
3859
3860     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
3861     VARIANT onkeyup();
3862
3863     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
3864     void onkeypress(VARIANT v);
3865
3866     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
3867     VARIANT onkeypress();
3868
3869     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
3870     void onmouseout(VARIANT v);
3871
3872     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
3873     VARIANT onmouseout();
3874
3875     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
3876     void onmouseover(VARIANT v);
3877
3878     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
3879     VARIANT onmouseover();
3880
3881     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
3882     void onmousemove(VARIANT v);
3883
3884     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
3885     VARIANT onmousemove();
3886
3887     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
3888     void onmousedown(VARIANT v);
3889
3890     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
3891     VARIANT onmousedown();
3892
3893     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
3894     void onmouseup(VARIANT v);
3895
3896     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
3897     VARIANT onmouseup();
3898
3899     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
3900     IDispatch *document();
3901
3902     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
3903     void title(BSTR v);
3904
3905     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
3906     BSTR title();
3907
3908     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
3909     void language(BSTR v);
3910
3911     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
3912     BSTR language();
3913
3914     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
3915     void onselectstart(VARIANT v);
3916
3917     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
3918     VARIANT onselectstart();
3919
3920     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
3921     void scrollIntoView([in, optional] VARIANT varargStart);
3922
3923     [id(DISPID_IHTMLELEMENT_CONTAINS)]
3924     VARIANT_BOOL contains([in] IHTMLElement *pChild);
3925
3926     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
3927     long sourceIndex();
3928
3929     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
3930     VARIANT recordNumber();
3931
3932     [propput, id(DISPID_IHTMLELEMENT_LANG)]
3933     void lang(BSTR v);
3934
3935     [propget, id(DISPID_IHTMLELEMENT_LANG)]
3936     BSTR lang();
3937
3938     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
3939     long offsetLeft();
3940
3941     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
3942     long offsetTop();
3943
3944     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
3945     long offsetWidth();
3946
3947     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
3948     long offsetHeight();
3949
3950     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
3951     IHTMLElement *offsetParent();
3952
3953     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
3954     void innerHTML(BSTR v);
3955
3956     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
3957     BSTR innerHTML();
3958
3959     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
3960     void innerText(BSTR v);
3961
3962     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
3963     BSTR innerText();
3964
3965     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
3966     void outerHTML(BSTR v);
3967
3968     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
3969     BSTR outerHTML();
3970
3971     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
3972     void outerText(BSTR v);
3973
3974     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
3975     BSTR outerText();
3976
3977     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
3978     void insertAdjacentHTML(
3979             [in] BSTR where,
3980             [in] BSTR html);
3981
3982     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
3983     void insertAdjacentText(
3984             [in] BSTR where,
3985             [in] BSTR text);
3986
3987     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
3988     IHTMLElement *parentTextEdit();
3989
3990     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
3991     VARIANT_BOOL isTextEdit();
3992
3993     [id(DISPID_IHTMLELEMENT_CLICK)]
3994     void click();
3995
3996     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
3997     IHTMLFiltersCollection *filters();
3998
3999     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
4000     void ondragstart(VARIANT v);
4001
4002     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
4003     VARIANT ondragstart();
4004
4005     [id(DISPID_IHTMLELEMENT_TOSTRING)]
4006     BSTR toString();
4007
4008     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
4009     void onbeforeupdate(VARIANT v);
4010
4011     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
4012     VARIANT onbeforeupdate();
4013
4014     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
4015     void onafterupdate(VARIANT v);
4016
4017     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
4018     VARIANT onafterupdate();
4019
4020     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
4021     void onerrorupdate(VARIANT v);
4022
4023     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
4024     VARIANT onerrorupdate();
4025
4026     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
4027     void onrowexit(VARIANT v);
4028
4029     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
4030     VARIANT onrowexit();
4031
4032     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
4033     void onrowenter(VARIANT v);
4034
4035     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
4036     VARIANT onrowenter();
4037
4038     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
4039     void ondatasetchanged(VARIANT v);
4040
4041     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
4042     VARIANT ondatasetchanged();
4043
4044     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
4045     void ondataavailable(VARIANT v);
4046
4047     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
4048     VARIANT ondataavailable();
4049
4050     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
4051     void ondatasetcomplete(VARIANT v);
4052
4053     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
4054     VARIANT ondatasetcomplete();
4055
4056     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
4057     void onfilterchange(VARIANT v);
4058
4059     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
4060     VARIANT onfilterchange();
4061
4062     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
4063     IDispatch *children();
4064
4065     [propget, id(DISPID_IHTMLELEMENT_ALL)]
4066     IDispatch *all();
4067
4068     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
4069     BSTR scopeName();
4070
4071     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
4072     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
4073
4074     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
4075     void releaseCapture();
4076
4077     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
4078     void onlosecapture(VARIANT v);
4079
4080     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
4081     VARIANT onlosecapture();
4082
4083     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
4084     BSTR componentFromPoint(
4085             [in] long x,
4086             [in] long y);
4087
4088     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
4089     void doScroll([in, optional] VARIANT component);
4090
4091     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
4092     void onscroll(VARIANT v);
4093
4094     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
4095     VARIANT onscroll();
4096
4097     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
4098     void ondrag(VARIANT v);
4099
4100     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
4101     VARIANT ondrag();
4102
4103     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
4104     void ondragend(VARIANT v);
4105
4106     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
4107     VARIANT ondragend();
4108
4109     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
4110     void ondragenter(VARIANT v);
4111
4112     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
4113     VARIANT ondragenter();
4114
4115     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
4116     void ondragover(VARIANT v);
4117
4118     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
4119     VARIANT ondragover();
4120
4121     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
4122     void ondragleave(VARIANT v);
4123
4124     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
4125     VARIANT ondragleave();
4126
4127     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
4128     void ondrop(VARIANT v);
4129
4130     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
4131     VARIANT ondrop();
4132
4133     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
4134     void onbeforecut(VARIANT v);
4135
4136     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
4137     VARIANT onbeforecut();
4138
4139     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
4140     void oncut(VARIANT v);
4141
4142     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
4143     VARIANT oncut();
4144
4145     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
4146     void onbeforecopy(VARIANT v);
4147
4148     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
4149     VARIANT onbeforecopy();
4150
4151     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
4152     void oncopy(VARIANT v);
4153
4154     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
4155     VARIANT oncopy();
4156
4157     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
4158     void onbeforepaste(VARIANT v);
4159
4160     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
4161     VARIANT onbeforepaste();
4162
4163     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
4164     void onpaste(VARIANT v);
4165
4166     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
4167     VARIANT onpaste();
4168
4169     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
4170     IHTMLCurrentStyle *currentStyle();
4171
4172     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
4173     void onpropertychange(VARIANT v);
4174
4175     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
4176     VARIANT onpropertychange();
4177
4178     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
4179     IHTMLRectCollection *getClientRects();
4180
4181     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
4182     IHTMLRect *getBoundingClientRect();
4183
4184     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
4185     void setExpression(
4186             [in] BSTR propname,
4187             [in] BSTR expression,
4188             [in, defaultvalue("")] BSTR language);
4189
4190     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
4191     VARIANT getExpression([in] BSTR propname);
4192
4193     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
4194     VARIANT_BOOL removeExpression([in] BSTR propname);
4195
4196     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
4197     void tabIndex(short v);
4198
4199     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
4200     short tabIndex();
4201
4202     [id(DISPID_IHTMLELEMENT2_FOCUS)]
4203     void focus();
4204
4205     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
4206     void accessKey(BSTR v);
4207
4208     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
4209     BSTR accessKey();
4210
4211     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
4212     void onblur(VARIANT v);
4213
4214     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
4215     VARIANT onblur();
4216
4217     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
4218     void onfocus(VARIANT v);
4219
4220     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
4221     VARIANT onfocus();
4222
4223     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
4224     void onresize(VARIANT v);
4225
4226     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
4227     VARIANT onresize();
4228
4229     [id(DISPID_IHTMLELEMENT2_BLUR)]
4230     void blur();
4231
4232     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
4233     void addFilter([in] IUnknown *pUnk);
4234
4235     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
4236     void removeFilter([in] IUnknown *pUnk);
4237
4238     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
4239     long clientHeight();
4240
4241     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
4242     long clientWidth();
4243
4244     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
4245     long clientTop();
4246
4247     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
4248     long clientLeft();
4249
4250     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
4251     VARIANT_BOOL attachEvent(
4252             [in] BSTR event,
4253             [in] IDispatch *pDisp);
4254
4255     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
4256     void detachEvent(
4257             [in] BSTR event,
4258             [in] IDispatch *pDisp);
4259
4260     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
4261     VARIANT readyState();
4262
4263     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
4264     void onreadystatechange(VARIANT v);
4265
4266     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
4267     VARIANT onreadystatechange();
4268
4269     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
4270     void onrowsdelete(VARIANT v);
4271
4272     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
4273     VARIANT onrowsdelete();
4274
4275     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
4276     void onrowsinserted(VARIANT v);
4277
4278     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
4279      VARIANT onrowsinserted();
4280
4281     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
4282      void oncellchange(VARIANT v);
4283
4284     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
4285     VARIANT oncellchange();
4286
4287     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
4288     void dir(BSTR v);
4289
4290     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
4291     BSTR dir();
4292
4293     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
4294     IDispatch *createControlRange();
4295
4296     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
4297     long scrollHeight();
4298
4299     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
4300     long scrollWidth();
4301
4302     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
4303     void scrollTop(long v);
4304
4305     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
4306     long scrollTop();
4307
4308     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
4309     void scrollLeft(long v);
4310
4311     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
4312     long scrollLeft();
4313
4314     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
4315     void clearAttributes();
4316
4317     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
4318     void oncontextmenu(VARIANT v);
4319
4320     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
4321     VARIANT oncontextmenu();
4322
4323     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
4324     IHTMLElement *insertAdjacentElement(
4325             [in] BSTR where,
4326             [in] IHTMLElement *insertedElement);
4327
4328     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
4329     IHTMLElement *applyElement(
4330             [in] IHTMLElement *apply,
4331             [in] BSTR where);
4332
4333     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
4334     BSTR getAdjacentText([in] BSTR where);
4335
4336     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
4337     BSTR replaceAdjacentText(
4338             [in] BSTR where,
4339             [in] BSTR newText);
4340
4341     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
4342     VARIANT_BOOL canHaveChildren();
4343
4344     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
4345     long addBehavior(
4346             [in] BSTR bstrUrl,
4347             [in, optional] VARIANT *pvarFactory);
4348
4349     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
4350     VARIANT_BOOL removeBehavior([in] long cookie);
4351
4352     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
4353     IHTMLStyle *runtimeStyle();
4354
4355     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
4356     IDispatch *behaviorUrns();
4357
4358     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
4359     void tagUrn(BSTR v);
4360
4361     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
4362     BSTR tagUrn();
4363
4364     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
4365     void onbeforeeditfocus(VARIANT v);
4366
4367     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
4368     VARIANT onbeforeeditfocus();
4369
4370     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
4371     long readyStateValue();
4372
4373     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
4374     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
4375
4376     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
4377     void mergeAttributes(
4378             [in] IHTMLElement *mergeThis,
4379             [in, optional] VARIANT *pvarFlags);
4380
4381     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
4382     VARIANT_BOOL isMultiLine();
4383
4384     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
4385     VARIANT_BOOL canHaveHTML();
4386
4387     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
4388     void onlayoutcomplete(VARIANT v);
4389
4390     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
4391     VARIANT onlayoutcomplete();
4392
4393     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
4394     void onpage(VARIANT v);
4395
4396     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
4397     VARIANT onpage();
4398
4399     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
4400     void inflateBlock(VARIANT_BOOL v);
4401
4402     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
4403     VARIANT_BOOL inflateBlock();
4404
4405     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
4406     void onbeforedeactivate(VARIANT v);
4407
4408     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
4409     VARIANT onbeforedeactivate();
4410
4411     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
4412     void setActive();
4413
4414     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
4415     void contentEditable(BSTR v);
4416
4417     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
4418     BSTR contentEditable();
4419
4420     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
4421     VARIANT_BOOL isContentEditable();
4422
4423     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
4424     void hideFocus(VARIANT_BOOL v);
4425
4426     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
4427     VARIANT_BOOL hideFocus();
4428
4429     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
4430     void disabled(VARIANT_BOOL v);
4431
4432     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
4433     VARIANT_BOOL disabled();
4434
4435     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
4436     VARIANT_BOOL isDisabled();
4437
4438     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
4439     void onmove(VARIANT v);
4440
4441     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
4442     VARIANT onmove();
4443
4444     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
4445     void oncontrolselect(VARIANT v);
4446
4447     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
4448     VARIANT oncontrolselect();
4449
4450     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
4451     VARIANT_BOOL fireEvent(
4452             [in] BSTR bstrEventName,
4453             [in, optional] VARIANT *pvarEventObject);
4454
4455     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
4456     void onresizestart(VARIANT v);
4457
4458     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
4459     VARIANT onresizestart();
4460
4461     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
4462     void onresizeend(VARIANT v);
4463
4464     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
4465     VARIANT onresizeend();
4466
4467     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
4468     void onmovestart(VARIANT v);
4469
4470     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
4471     VARIANT onmovestart();
4472
4473     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
4474     void onmoveend(VARIANT v);
4475
4476     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
4477     VARIANT onmoveend();
4478
4479     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
4480     void onmouseenter(VARIANT v);
4481
4482     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
4483     VARIANT onmouseenter();
4484
4485     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
4486     void onmouseleave(VARIANT v);
4487
4488     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
4489     VARIANT onmouseleave();
4490
4491     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
4492     void onactivate(VARIANT v);
4493
4494     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
4495     VARIANT onactivate();
4496
4497     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
4498     void ondeactivate(VARIANT v);
4499
4500     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
4501     VARIANT ondeactivate();
4502
4503     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
4504     VARIANT_BOOL dragDrop();
4505
4506     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
4507     LONG glyphMode();
4508
4509     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
4510     void onmousewheel(VARIANT v);
4511
4512     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
4513     VARIANT onmousewheel();
4514
4515     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
4516     void normalize();
4517
4518     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
4519     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
4520
4521     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
4522     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
4523
4524     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
4525     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
4526
4527     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
4528     void onbeforeactivate(VARIANT v);
4529
4530     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
4531     VARIANT onbeforeactivate();
4532
4533     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
4534     void onfocusin(VARIANT v);
4535
4536     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
4537     VARIANT onfocusin();
4538
4539     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
4540     void onfocusout(VARIANT v);
4541
4542     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
4543     VARIANT onfocusout();
4544
4545     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
4546     long uniqueNumber();
4547
4548     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
4549     BSTR uniqueID();
4550
4551     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
4552     long nodeType();
4553
4554     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
4555     IHTMLDOMNode *parentNode();
4556
4557     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
4558     VARIANT_BOOL hasChildNodes();
4559
4560     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
4561     IDispatch *childNodes();
4562
4563     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
4564     IDispatch *attributes();
4565
4566     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
4567     IHTMLDOMNode *insertBefore(
4568             [in] IHTMLDOMNode *newChild,
4569             [in, optional] VARIANT refChild);
4570
4571     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
4572     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
4573
4574     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
4575     IHTMLDOMNode *replaceChild(
4576             [in] IHTMLDOMNode *newChild,
4577             [in] IHTMLDOMNode *oldChild);
4578
4579     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
4580     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
4581
4582     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
4583     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
4584
4585     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
4586     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
4587
4588     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
4589     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
4590
4591     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
4592     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
4593
4594     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
4595     BSTR nodeName();
4596
4597     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
4598     void nodeValue(VARIANT v);
4599
4600     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
4601     VARIANT nodeValue();
4602
4603     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
4604     IHTMLDOMNode *firstChild();
4605
4606     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
4607     IHTMLDOMNode *lastChild();
4608
4609     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
4610     IHTMLDOMNode *previousSibling();
4611
4612     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
4613     IHTMLDOMNode *nextSibling();
4614
4615     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
4616     IDispatch *ownerDocument();
4617
4618     [propget, id(DISPID_IHTMLGENERICELEMENT_RECORDSET), hidden]
4619     IDispatch *recordset();
4620
4621     [id(DISPID_IHTMLGENERICELEMENT_NAMEDRECORDSET)]
4622     IDispatch *namedRecordset(
4623             [in] BSTR dataMember,
4624             [in, optional] VARIANT *hierarchy);
4625 }
4626
4627 /*****************************************************************************
4628  *    IHTMLStyleSheetRule interface
4629  */
4630 [
4631     odl,
4632     oleautomation,
4633     dual,
4634     uuid(3050F357-98B5-11CF-BB82-00AA00BDCE0B)
4635 ]
4636 interface IHTMLStyleSheetRule : IDispatch
4637 {
4638     [propput, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)]
4639     HRESULT selectorText([in] BSTR v);
4640
4641     [propget, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)]
4642     HRESULT selectorText([retval, out] BSTR *p);
4643
4644     [propget, id(DISPID_IHTMLSTYLESHEETRULE_STYLE)]
4645     HRESULT style([retval, out] IHTMLRuleStyle **p);
4646
4647     [propget, id(DISPID_IHTMLSTYLESHEETRULE_READONLY)]
4648     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
4649 }
4650
4651 /*****************************************************************************
4652  *    IHTMLStyleSheetRulesCollection interface
4653  */
4654 [
4655     odl,
4656     oleautomation,
4657     dual,
4658     uuid(3050F2E5-98B5-11Cf-BB82-00AA00BDCE0B)
4659 ]
4660 interface IHTMLStyleSheetRulesCollection : IDispatch
4661 {
4662     [propget, id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_LENGTH)]
4663     HRESULT length([retval, out] long *p);
4664
4665     [id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_ITEM)]
4666     HRESULT item(
4667         [in] long index,
4668         [retval, out] IHTMLStyleSheetRule **ppHTMLStyleSheetRule);
4669 }
4670
4671 /*****************************************************************************
4672  *    IHTMLStyleSheet interface
4673  */
4674 [
4675     odl,
4676     oleautomation,
4677     dual,
4678     uuid(3050F2E3-98B5-11CF-BB82-00AA00BDCE0B)
4679 ]
4680 interface IHTMLStyleSheet : IDispatch
4681 {
4682     [propput, id(DISPID_IHTMLSTYLESHEET_TITLE)]
4683     HRESULT title([in] BSTR v);
4684
4685     [propget, id(DISPID_IHTMLSTYLESHEET_TITLE)]
4686     HRESULT title([retval, out] BSTR *p);
4687
4688     [propget, id(DISPID_IHTMLSTYLESHEET_PARENTSTYLESHEET)]
4689     HRESULT parentStyleSheet([retval, out] IHTMLStyleSheet **p);
4690
4691     [propget, id(DISPID_IHTMLSTYLESHEET_OWNINGELEMENT)]
4692     HRESULT owningElement([retval, out] IHTMLElement **p);
4693
4694     [propput, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
4695     HRESULT disabled([in] VARIANT_BOOL v);
4696
4697     [propget, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
4698     HRESULT disabled([retval, out] VARIANT_BOOL *p);
4699
4700     [propget, id(DISPID_IHTMLSTYLESHEET_READONLY)]
4701     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
4702
4703     [propget, id(DISPID_IHTMLSTYLESHEET_IMPORTS)]
4704     HRESULT imports([retval, out] IHTMLStyleSheetsCollection **p);
4705
4706     [propput, id(DISPID_IHTMLSTYLESHEET_HREF)]
4707     HRESULT href([in] BSTR v);
4708
4709     [propget, id(DISPID_IHTMLSTYLESHEET_HREF)]
4710     HRESULT href([retval, out] BSTR *p);
4711
4712     [propget, id(DISPID_IHTMLSTYLESHEET_TYPE)]
4713     HRESULT type([retval, out] BSTR *p);
4714
4715     [propget, id(DISPID_IHTMLSTYLESHEET_ID)]
4716     HRESULT id([retval, out] BSTR *p);
4717
4718     [id(DISPID_IHTMLSTYLESHEET_ADDIMPORT)]
4719     HRESULT addImport(
4720         [in] BSTR bstrURL,
4721         [defaultvalue(-1), in] long lIndex,
4722         [retval, out] long *plIndex);
4723
4724     [id(DISPID_IHTMLSTYLESHEET_ADDRULE)]
4725     HRESULT addRule(
4726         [in] BSTR bstrSelector,
4727         [in] BSTR bstrStyle,
4728         [defaultvalue(-1), in] long lIndex,
4729         [retval, out] long *plNewIndex);
4730
4731     [id(DISPID_IHTMLSTYLESHEET_REMOVEIMPORT)]
4732     HRESULT removeImport([in] long lIndex);
4733
4734     [id(DISPID_IHTMLSTYLESHEET_REMOVERULE)]
4735     HRESULT removeRule([in] long lIndex);
4736
4737     [propput, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
4738     HRESULT media([in] BSTR v);
4739
4740     [propget, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
4741     HRESULT media([retval, out] BSTR *p);
4742
4743     [propput, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
4744     HRESULT cssText([in] BSTR v);
4745
4746     [propget, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
4747     HRESULT cssText([retval, out] BSTR *p);
4748
4749     [propget, id(DISPID_IHTMLSTYLESHEET_RULES)]
4750     HRESULT rules([retval, out] IHTMLStyleSheetRulesCollection **p);
4751 }
4752
4753 /*****************************************************************************
4754  *    IHTMLStyleSheetsCollection interface
4755  */
4756 [
4757     odl,
4758     oleautomation,
4759     dual,
4760     uuid(3050F37E-98B5-11CF-BB82-00AA00BDCE0B)
4761 ]
4762 interface IHTMLStyleSheetsCollection : IDispatch
4763 {
4764     [propget, id(DISPID_IHTMLSTYLESHEETSCOLLECTION_LENGTH)]
4765     HRESULT length([retval, out] long *p);
4766
4767     [propget, id(DISPID_IHTMLSTYLESHEETSCOLLECTION__NEWENUM)]
4768     HRESULT _newEnum([retval, out] IUnknown **p);
4769
4770     [id(DISPID_IHTMLSTYLESHEETSCOLLECTION_ITEM)]
4771     HRESULT item(
4772         [in] VARIANT *pvarIndex,
4773         [retval, out] VARIANT *pvarResult);
4774 }
4775
4776 /*****************************************************************************
4777  *    IHTMLTxtRange interface
4778  */
4779 [
4780     odl,
4781     oleautomation,
4782     dual,
4783     uuid(3050f220-98b5-11cf-bb82-00aa00bdce0b)
4784 ]
4785 interface IHTMLTxtRange : IDispatch
4786 {
4787     [propget, id(DISPID_IHTMLTXTRANGE_HTMLTEXT)]
4788     HRESULT htmlText([retval, out] BSTR *p);
4789
4790     [propput, id(DISPID_IHTMLTXTRANGE_TEXT)]
4791     HRESULT text([in] BSTR v);
4792
4793     [propget, id(DISPID_IHTMLTXTRANGE_TEXT)]
4794     HRESULT text([retval, out] BSTR *p);
4795
4796     [id(DISPID_IHTMLTXTRANGE_PARENTELEMENT)]
4797     HRESULT parentElement([retval, out] IHTMLElement **parent);
4798
4799     [id(DISPID_IHTMLTXTRANGE_DUPLICATE)]
4800     HRESULT duplicate([retval, out] IHTMLTxtRange **Duplicate);
4801
4802     [id(DISPID_IHTMLTXTRANGE_INRANGE)]
4803     HRESULT inRange(
4804         [in] IHTMLTxtRange *Range,
4805         [retval, out] VARIANT_BOOL *InRange);
4806
4807     [id(DISPID_IHTMLTXTRANGE_ISEQUAL)]
4808     HRESULT isEqual(
4809         [in] IHTMLTxtRange *Range,
4810         [retval, out] VARIANT_BOOL *IsEqual);
4811
4812     [id(DISPID_IHTMLTXTRANGE_SCROLLINTOVIEW)]
4813     HRESULT scrollIntoView([defaultvalue(-1), in] VARIANT_BOOL fStart);
4814
4815     [id(DISPID_IHTMLTXTRANGE_COLLAPSE)]
4816     HRESULT collapse([defaultvalue(-1), in] VARIANT_BOOL Start);
4817
4818     [id(DISPID_IHTMLTXTRANGE_EXPAND)]
4819     HRESULT expand(
4820         [in] BSTR Unit,
4821         [retval, out] VARIANT_BOOL *Success);
4822
4823     [id(DISPID_IHTMLTXTRANGE_MOVE)]
4824     HRESULT move(
4825         [in] BSTR Unit,
4826         [defaultvalue(1), in] long Count,
4827         [retval, out] long *ActualCount);
4828
4829     [id(DISPID_IHTMLTXTRANGE_MOVESTART)]
4830     HRESULT moveStart(
4831         [in] BSTR Unit,
4832         [defaultvalue(1), in] long Count,
4833         [retval, out] long *ActualCount);
4834
4835     [id(DISPID_IHTMLTXTRANGE_MOVEEND)]
4836     HRESULT moveEnd(
4837         [in] BSTR Unit,
4838         [defaultvalue(1), in] long Count,
4839         [retval, out] long *ActualCount);
4840
4841     [id(DISPID_IHTMLTXTRANGE_SELECT)]
4842     HRESULT select();
4843
4844     [id(DISPID_IHTMLTXTRANGE_PASTEHTML)]
4845     HRESULT pasteHTML([in] BSTR html);
4846
4847     [id(DISPID_IHTMLTXTRANGE_MOVETOELEMENTTEXT)]
4848     HRESULT moveToElementText([in] IHTMLElement *element);
4849
4850     [id(DISPID_IHTMLTXTRANGE_SETENDPOINT)]
4851     HRESULT setEndPoint(
4852         [in] BSTR how,
4853         [in] IHTMLTxtRange *SourceRange);
4854
4855     [id(DISPID_IHTMLTXTRANGE_COMPAREENDPOINTS)]
4856     HRESULT compareEndPoints(
4857         [in] BSTR how,
4858         [in] IHTMLTxtRange *SourceRange,
4859         [retval, out] long *ret);
4860
4861     [id(DISPID_IHTMLTXTRANGE_FINDTEXT)]
4862     HRESULT findText(
4863         [in] BSTR String,
4864         [defaultvalue(1073741823), in] long count,
4865         [defaultvalue(0), in] long Flags,
4866         [retval, out] VARIANT_BOOL *Success);
4867
4868     [id(DISPID_IHTMLTXTRANGE_MOVETOPOINT)]
4869     HRESULT moveToPoint(
4870         [in] long x,
4871         [in] long y);
4872
4873     [id(DISPID_IHTMLTXTRANGE_GETBOOKMARK)]
4874     HRESULT getBookmark([retval, out] BSTR *Boolmark);
4875
4876     [id(DISPID_IHTMLTXTRANGE_MOVETOBOOKMARK)]
4877     HRESULT moveToBookmark(
4878         [in] BSTR Bookmark,
4879         [retval, out] VARIANT_BOOL *Success);
4880
4881     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDSUPPORTED)]
4882     HRESULT queryCommandSupported(
4883         [in] BSTR cmdID,
4884         [retval, out] VARIANT_BOOL *pfRet);
4885
4886     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDENABLED)]
4887     HRESULT queryCommandEnabled(
4888         [in] BSTR cmdID,
4889         [retval, out] VARIANT_BOOL *pfRet);
4890
4891     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDSTATE)]
4892     HRESULT queryCommandState(
4893         [in] BSTR cmdID,
4894         [retval, out] VARIANT_BOOL *pfRet);
4895
4896     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDINDETERM)]
4897     HRESULT queryCommandIndeterm(
4898         [in] BSTR cmdID,
4899         [retval, out] VARIANT_BOOL *pfRet);
4900
4901     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDTEXT)]
4902     HRESULT queryCommandText(
4903         [in] BSTR cmdID,
4904         [retval, out] BSTR *pcmdText);
4905
4906     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDVALUE)]
4907     HRESULT queryCommandValue(
4908         [in] BSTR cmdID,
4909         [retval, out] VARIANT *pcmdValue);
4910
4911     [id(DISPID_IHTMLTXTRANGE_EXECCOMMAND)]
4912     HRESULT execCommand(
4913         [in] BSTR cmdID,
4914         [defaultvalue(0), in] VARIANT_BOOL showUI,
4915         [optional, in] VARIANT value,
4916         [retval, out] VARIANT_BOOL *pfRet);
4917
4918     [id(DISPID_IHTMLTXTRANGE_EXECCOMMANDSHOWHELP)]
4919     HRESULT execCommandShowHelp(
4920         [in] BSTR cmdID,
4921         [retval, out] VARIANT_BOOL *pfRet);
4922 }
4923
4924 /*****************************************************************************
4925  *    IHTMLFormElement interface
4926  */
4927 [
4928     odl,
4929     oleautomation,
4930     dual,
4931     uuid(3050F1F7-98B5-11CF-BB82-00AA00BDCE0B)
4932 ]
4933 interface IHTMLFormElement : IDispatch
4934 {
4935     [propput, id(DISPID_IHTMLFORMELEMENT_ACTION)]
4936     HRESULT action([in] BSTR v);
4937
4938     [propget, id(DISPID_IHTMLFORMELEMENT_ACTION)]
4939     HRESULT action([retval, out] BSTR *p);
4940
4941     [propput, id(DISPID_IHTMLFORMELEMENT_DIR)]
4942     HRESULT dir([in] BSTR v);
4943
4944     [propget, id(DISPID_IHTMLFORMELEMENT_DIR)]
4945     HRESULT dir([retval, out] BSTR *p);
4946
4947     [propput, id(DISPID_IHTMLFORMELEMENT_ENCODING)]
4948     HRESULT encoding([in] BSTR v);
4949
4950     [propget, id(DISPID_IHTMLFORMELEMENT_ENCODING)]
4951     HRESULT encoding([retval, out] BSTR *p);
4952
4953     [propput, id(DISPID_IHTMLFORMELEMENT_METHOD)]
4954     HRESULT method([in] BSTR v);
4955
4956     [propget, id(DISPID_IHTMLFORMELEMENT_METHOD)]
4957     HRESULT method([retval, out] BSTR *p);
4958
4959     [propget, id(DISPID_IHTMLFORMELEMENT_ELEMENTS)]
4960     HRESULT elements([retval, out] IDispatch **p);
4961
4962     [propput, id(DISPID_IHTMLFORMELEMENT_TARGET)]
4963     HRESULT target([in] BSTR v);
4964
4965     [propget, id(DISPID_IHTMLFORMELEMENT_TARGET)]
4966     HRESULT target([retval, out] BSTR *p);
4967
4968     [propput, id(DISPID_IHTMLFORMELEMENT_NAME)]
4969     HRESULT name([in] BSTR v);
4970
4971     [propget, id(DISPID_IHTMLFORMELEMENT_NAME)]
4972     HRESULT name([retval, out] BSTR *p);
4973
4974     [propput, id(DISPID_IHTMLFORMELEMENT_ONSUBMIT)]
4975     HRESULT onsubmit([in] VARIANT v);
4976
4977     [propget, id(DISPID_IHTMLFORMELEMENT_ONSUBMIT)]
4978     HRESULT onsubmit([retval, out] VARIANT *p);
4979
4980     [propput, id(DISPID_IHTMLFORMELEMENT_ONRESET)]
4981     HRESULT onreset([in] VARIANT v);
4982
4983     [propget, id(DISPID_IHTMLFORMELEMENT_ONRESET)]
4984     HRESULT onreset([retval, out] VARIANT *p);
4985
4986     [id(DISPID_IHTMLFORMELEMENT_SUBMIT)]
4987     HRESULT submit();
4988
4989     [id(DISPID_IHTMLFORMELEMENT_RESET)]
4990     HRESULT reset();
4991
4992     [propput, id(DISPID_IHTMLFORMELEMENT_LENGTH)]
4993     HRESULT length([in] long v);
4994
4995     [propget, id(DISPID_IHTMLFORMELEMENT_LENGTH)]
4996     HRESULT length([retval, out] long *p);
4997
4998     [propget, id(DISPID_IHTMLFORMELEMENT__NEWENUM)]
4999     HRESULT _newEnum([retval, out] IUnknown **p);
5000
5001     [id(DISPID_IHTMLFORMELEMENT_ITEM)]
5002     HRESULT item(
5003         [optional, in] VARIANT name,
5004         [optional, in] VARIANT index,
5005         [retval, out] IDispatch **pdisp);
5006
5007     [id(DISPID_IHTMLFORMELEMENT_TAGS)]
5008     HRESULT tags(
5009         [in] VARIANT tagName,
5010         [retval, out] IDispatch **pdisp);
5011 }
5012
5013 /*****************************************************************************
5014  *    IHTMLTextContainer interface
5015  */
5016 [
5017     odl,
5018     oleautomation,
5019     dual,
5020     uuid(3050f230-98b5-11cf-bb82-00aa00bdce0b)
5021 ]
5022 interface IHTMLTextContainer : IDispatch
5023 {
5024     [id(DISPID_IHTMLTEXTCONTAINER_CREATECONTROLRANGE)]
5025     HRESULT createControlRange([retval, out] IDispatch **range);
5026
5027     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLHEIGHT), displaybind, bindable]
5028     HRESULT scrollHeight([retval, out] long *p);
5029
5030     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLWIDTH), displaybind, bindable]
5031     HRESULT scrollWidth([retval, out] long *p);
5032
5033     [propput, id(DISPID_IHTMLTEXTCONTAINER_SCROLLTOP), displaybind, bindable]
5034     HRESULT scrollTop([in] long v);
5035
5036     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLTOP), displaybind, bindable]
5037     HRESULT scrollTop([retval, out] long *p);
5038
5039     [propput, id(DISPID_IHTMLTEXTCONTAINER_SCROLLLEFT), displaybind, bindable]
5040     HRESULT scrollLeft([in] long v);
5041
5042     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLLEFT), displaybind, bindable]
5043     HRESULT scrollLeft([retval, out] long *p);
5044
5045     [propput, id(DISPID_IHTMLTEXTCONTAINER_ONSCROLL), displaybind, bindable]
5046     HRESULT onscroll([in] VARIANT v);
5047
5048     [propget, id(DISPID_IHTMLTEXTCONTAINER_ONSCROLL), displaybind, bindable]
5049     HRESULT onscroll([retval, out] VARIANT *p);
5050 }
5051
5052 /*****************************************************************************
5053  *    IHTMLImgElement interface
5054  */
5055 [
5056     odl,
5057     oleautomation,
5058     dual,
5059     uuid(3050F240-98B5-11CF-BB82-00AA00BDCE0B)
5060 ]
5061 interface IHTMLImgElement : IDispatch
5062 {
5063     [propput, id(DISPID_IHTMLIMGELEMENT_ISMAP)]
5064     HRESULT isMap([in] VARIANT_BOOL v);
5065
5066     [propget, id(DISPID_IHTMLIMGELEMENT_ISMAP)]
5067     HRESULT isMap([retval, out] VARIANT_BOOL *p);
5068
5069     [propput, id(DISPID_IHTMLIMGELEMENT_USEMAP)]
5070     HRESULT useMap([in] BSTR v);
5071
5072     [propget, id(DISPID_IHTMLIMGELEMENT_USEMAP)]
5073     HRESULT useMap([retval, out] BSTR *p);
5074
5075     [propget, id(DISPID_IHTMLIMGELEMENT_MIMETYPE)]
5076     HRESULT mimeType([retval, out] BSTR *p);
5077
5078     [propget, id(DISPID_IHTMLIMGELEMENT_FILESIZE)]
5079     HRESULT fileSize([retval, out] BSTR *p);
5080
5081     [propget, id(DISPID_IHTMLIMGELEMENT_FILECREATEDDATE)]
5082     HRESULT fileCreatedDate([retval, out] BSTR *p);
5083
5084     [propget, id(DISPID_IHTMLIMGELEMENT_FILEMODIFIEDDATE)]
5085     HRESULT fileModifiedDate([retval, out] BSTR *p);
5086
5087     [propget, id(DISPID_IHTMLIMGELEMENT_FILEUPDATEDDATE)]
5088     HRESULT fileUpdatedDate([retval, out] BSTR *p);
5089
5090     [propget, id(DISPID_IHTMLIMGELEMENT_PROTOCOL)]
5091     HRESULT protocol([retval, out] BSTR *p);
5092
5093     [propget, id(DISPID_IHTMLIMGELEMENT_HREF)]
5094     HRESULT href([retval, out] BSTR *p);
5095
5096     [propget, id(DISPID_IHTMLIMGELEMENT_NAMEPROP)]
5097     HRESULT nameProp([retval, out] BSTR *p);
5098
5099     [propput, id(DISPID_IHTMLIMGELEMENT_BORDER)]
5100     HRESULT border([in] VARIANT v);
5101
5102     [propget, id(DISPID_IHTMLIMGELEMENT_BORDER)]
5103     HRESULT border([retval, out] VARIANT *p);
5104
5105     [propput, id(DISPID_IHTMLIMGELEMENT_VSPACE)]
5106     HRESULT vspace([in] long v);
5107
5108     [propget, id(DISPID_IHTMLIMGELEMENT_VSPACE)]
5109     HRESULT vspace([retval, out] long *p);
5110
5111     [propput, id(DISPID_IHTMLIMGELEMENT_HSPACE)]
5112     HRESULT hspace([in] long v);
5113
5114     [propget, id(DISPID_IHTMLIMGELEMENT_HSPACE)]
5115     HRESULT hspace([retval, out] long *p);
5116
5117     [propput, id(DISPID_IHTMLIMGELEMENT_ALT)]
5118     HRESULT alt([in] BSTR v);
5119
5120     [propget, id(DISPID_IHTMLIMGELEMENT_ALT)]
5121     HRESULT alt([retval, out] BSTR *p);
5122
5123     [propput, id(DISPID_IHTMLIMGELEMENT_SRC)]
5124     HRESULT src([in] BSTR v);
5125
5126     [propget, id(DISPID_IHTMLIMGELEMENT_SRC)]
5127     HRESULT src([retval, out] BSTR *p);
5128
5129     [propput, id(DISPID_IHTMLIMGELEMENT_LOWSRC)]
5130     HRESULT lowsrc([in] BSTR v);
5131
5132     [propget, id(DISPID_IHTMLIMGELEMENT_LOWSRC)]
5133     HRESULT lowsrc([retval, out] BSTR *p);
5134
5135     [propput, id(DISPID_IHTMLIMGELEMENT_VRML)]
5136     HRESULT vrml([in] BSTR v);
5137
5138     [propget, id(DISPID_IHTMLIMGELEMENT_VRML)]
5139     HRESULT vrml([retval, out] BSTR *p);
5140
5141     [propput, id(DISPID_IHTMLIMGELEMENT_DYNSRC)]
5142     HRESULT dynsrc([in] BSTR v);
5143
5144     [propget, id(DISPID_IHTMLIMGELEMENT_DYNSRC)]
5145     HRESULT dynsrc([retval, out] BSTR *p);
5146
5147     [propget, id(DISPID_IHTMLIMGELEMENT_READYSTATE)]
5148     HRESULT readyState([retval, out] BSTR *p);
5149
5150     [propget, id(DISPID_IHTMLIMGELEMENT_COMPLETE)]
5151     HRESULT complete([retval, out] VARIANT_BOOL *p);
5152
5153     [propput, id(DISPID_IHTMLIMGELEMENT_LOOP)]
5154     HRESULT loop([in] VARIANT v);
5155
5156     [propget, id(DISPID_IHTMLIMGELEMENT_LOOP)]
5157     HRESULT loop([retval, out] VARIANT *p);
5158
5159     [propput, id(DISPID_IHTMLIMGELEMENT_ALIGN)]
5160     HRESULT align([in] BSTR v);
5161
5162     [propget, id(DISPID_IHTMLIMGELEMENT_ALIGN)]
5163     HRESULT align([retval, out] BSTR *p);
5164
5165     [propput, id(DISPID_IHTMLIMGELEMENT_ONLOAD)]
5166     HRESULT onload([in] VARIANT v);
5167
5168     [propget, id(DISPID_IHTMLIMGELEMENT_ONLOAD)]
5169     HRESULT onload([retval, out] VARIANT *p);
5170
5171     [propput, id(DISPID_IHTMLIMGELEMENT_ONERROR)]
5172     HRESULT onerror([in] VARIANT v);
5173
5174     [propget, id(DISPID_IHTMLIMGELEMENT_ONERROR)]
5175     HRESULT onerror([retval, out] VARIANT *p);
5176
5177     [propput, id(DISPID_IHTMLIMGELEMENT_ONABORT)]
5178     HRESULT onabort([in] VARIANT v);
5179
5180     [propget, id(DISPID_IHTMLIMGELEMENT_ONABORT)]
5181     HRESULT onabort([retval, out] VARIANT *p);
5182
5183     [propput, id(DISPID_IHTMLIMGELEMENT_NAME)]
5184     HRESULT name([in] BSTR v);
5185
5186     [propget, id(DISPID_IHTMLIMGELEMENT_NAME)]
5187     HRESULT name([retval, out] BSTR *p);
5188
5189     [propput, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
5190     HRESULT width([in] long v);
5191
5192     [propget, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
5193     HRESULT width([retval, out] long *p);
5194
5195     [propput, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
5196     HRESULT height([in] long v);
5197
5198     [propget, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
5199     HRESULT height([retval, out] long *p);
5200
5201     [propput, id(DISPID_IHTMLIMGELEMENT_START)]
5202     HRESULT start([in] BSTR v);
5203
5204     [propget, id(DISPID_IHTMLIMGELEMENT_START)]
5205     HRESULT start([retval, out] BSTR *p);
5206 }
5207
5208 /*****************************************************************************
5209  *    IHTMLImageElementFactory interface
5210  */
5211 [
5212     odl,
5213     oleautomation,
5214     dual,
5215     uuid(3050F38E-98B5-11CF-BB82-00AAA0BDCE0B)
5216 ]
5217 interface IHTMLImageElementFactory : IDispatch
5218 {
5219     [id(DISPID_IHTMLIMAGEELEMENTFACTORY_CREATE)]
5220     HRESULT create(
5221         [optional, in] VARIANT width,
5222         [optional, in] VARIANT height,
5223         [retval, out]  IHTMLImgElement **elem);
5224 }
5225
5226 /*****************************************************************************
5227  *    DispHTMLImg interface
5228  */
5229 [
5230     hidden,
5231     uuid(3050f51c-98b5-11cf-bb82-00aa00bdce0b)
5232 ]
5233 dispinterface DispHTMLImg
5234 {
5235 properties:
5236 methods:
5237     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
5238     void setAttribute(
5239             [in] BSTR strAttributeName,
5240             [in] VARIANT AttributeValue,
5241             [in, defaultvalue(1)] LONG lFlags);
5242
5243     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
5244     VARIANT getAttribute(
5245              [in] BSTR strAttributeName,
5246              [in, defaultvalue(0)] LONG lFlags);
5247
5248     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
5249     VARIANT_BOOL removeAttribute(
5250             [in] BSTR strAttributeName,
5251             [in, defaultvalue(1)] LONG lFlags);
5252
5253     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
5254     void className(BSTR v);
5255
5256     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
5257     BSTR className();
5258
5259     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
5260     void id(BSTR v);
5261
5262     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
5263     BSTR id();
5264
5265     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
5266     BSTR tagName();
5267
5268     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
5269     IHTMLElement *parentElement();
5270
5271     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
5272     IHTMLStyle *style();
5273
5274     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
5275     void onhelp(VARIANT v);
5276
5277     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
5278     VARIANT onhelp();
5279
5280     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
5281     void onclick(VARIANT v);
5282
5283     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
5284     VARIANT onclick();
5285
5286     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
5287     void ondblclick(VARIANT v);
5288
5289     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
5290     VARIANT ondblclick();
5291
5292     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
5293     void onkeydown(VARIANT v);
5294
5295     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
5296     VARIANT onkeydown();
5297
5298     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
5299     void onkeyup(VARIANT v);
5300
5301     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
5302     VARIANT onkeyup();
5303
5304     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
5305     void onkeypress(VARIANT v);
5306
5307     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
5308     VARIANT onkeypress();
5309
5310     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
5311     void onmouseout(VARIANT v);
5312
5313     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
5314     VARIANT onmouseout();
5315
5316     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
5317     void onmouseover(VARIANT v);
5318
5319     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
5320     VARIANT onmouseover();
5321
5322     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
5323     void onmousemove(VARIANT v);
5324
5325     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
5326     VARIANT onmousemove();
5327
5328     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
5329     void onmousedown(VARIANT v);
5330
5331     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
5332     VARIANT onmousedown();
5333
5334     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
5335     void onmouseup(VARIANT v);
5336
5337     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
5338     VARIANT onmouseup();
5339
5340     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
5341     IDispatch *document();
5342
5343     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
5344     void title(BSTR v);
5345
5346     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
5347     BSTR title();
5348
5349     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
5350     void language(BSTR v);
5351
5352     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
5353     BSTR language();
5354
5355     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
5356     void onselectstart(VARIANT v);
5357
5358     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
5359     VARIANT onselectstart();
5360
5361     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
5362     void scrollIntoView([in, optional] VARIANT varargStart);
5363
5364     [id(DISPID_IHTMLELEMENT_CONTAINS)]
5365     VARIANT_BOOL contains([in] IHTMLElement *pChild);
5366
5367     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
5368     long sourceIndex();
5369
5370     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
5371     VARIANT recordNumber();
5372
5373     [propput, id(DISPID_IHTMLELEMENT_LANG)]
5374     void lang(BSTR v);
5375
5376     [propget, id(DISPID_IHTMLELEMENT_LANG)]
5377     BSTR lang();
5378
5379     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
5380     long offsetLeft();
5381
5382     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
5383     long offsetTop();
5384
5385     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
5386     long offsetWidth();
5387
5388     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
5389     long offsetHeight();
5390
5391     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
5392     IHTMLElement *offsetParent();
5393
5394     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
5395     void innerHTML(BSTR v);
5396
5397     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
5398     BSTR innerHTML();
5399
5400     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
5401     void innerText(BSTR v);
5402
5403     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
5404     BSTR innerText();
5405
5406     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
5407     void outerHTML(BSTR v);
5408
5409     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
5410     BSTR outerHTML();
5411
5412     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
5413     void outerText(BSTR v);
5414
5415     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
5416     BSTR outerText();
5417
5418     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
5419     void insertAdjacentHTML(
5420             [in] BSTR where,
5421             [in] BSTR html);
5422
5423     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
5424     void insertAdjacentText(
5425             [in] BSTR where,
5426             [in] BSTR text);
5427
5428     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
5429     IHTMLElement *parentTextEdit();
5430
5431     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
5432     VARIANT_BOOL isTextEdit();
5433
5434     [id(DISPID_IHTMLELEMENT_CLICK)]
5435     void click();
5436
5437     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
5438     IHTMLFiltersCollection *filters();
5439
5440     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
5441     void ondragstart(VARIANT v);
5442
5443     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
5444     VARIANT ondragstart();
5445
5446     [id(DISPID_IHTMLELEMENT_TOSTRING)]
5447     BSTR toString();
5448
5449     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
5450     void onbeforeupdate(VARIANT v);
5451
5452     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
5453     VARIANT onbeforeupdate();
5454
5455     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
5456     void onafterupdate(VARIANT v);
5457
5458     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
5459     VARIANT onafterupdate();
5460
5461     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
5462     void onerrorupdate(VARIANT v);
5463
5464     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
5465     VARIANT onerrorupdate();
5466
5467     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
5468     void onrowexit(VARIANT v);
5469
5470     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
5471     VARIANT onrowexit();
5472
5473     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
5474     void onrowenter(VARIANT v);
5475
5476     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
5477     VARIANT onrowenter();
5478
5479     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
5480     void ondatasetchanged(VARIANT v);
5481
5482     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
5483     VARIANT ondatasetchanged();
5484
5485     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
5486     void ondataavailable(VARIANT v);
5487
5488     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
5489     VARIANT ondataavailable();
5490
5491     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
5492     void ondatasetcomplete(VARIANT v);
5493
5494     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
5495     VARIANT ondatasetcomplete();
5496
5497     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
5498     void onfilterchange(VARIANT v);
5499
5500     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
5501     VARIANT onfilterchange();
5502
5503     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
5504     IDispatch *children();
5505
5506     [propget, id(DISPID_IHTMLELEMENT_ALL)]
5507     IDispatch *all();
5508
5509     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
5510     BSTR scopeName();
5511
5512     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
5513     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
5514
5515     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
5516     void releaseCapture();
5517
5518     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
5519     void onlosecapture(VARIANT v);
5520
5521     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
5522     VARIANT onlosecapture();
5523
5524     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
5525     BSTR componentFromPoint(
5526             [in] long x,
5527             [in] long y);
5528
5529     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
5530     void doScroll([in, optional] VARIANT component);
5531
5532     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
5533     void onscroll(VARIANT v);
5534
5535     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
5536     VARIANT onscroll();
5537
5538     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
5539     void ondrag(VARIANT v);
5540
5541     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
5542     VARIANT ondrag();
5543
5544     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
5545     void ondragend(VARIANT v);
5546
5547     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
5548     VARIANT ondragend();
5549
5550     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
5551     void ondragenter(VARIANT v);
5552
5553     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
5554     VARIANT ondragenter();
5555
5556     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
5557     void ondragover(VARIANT v);
5558
5559     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
5560     VARIANT ondragover();
5561
5562     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
5563     void ondragleave(VARIANT v);
5564
5565     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
5566     VARIANT ondragleave();
5567
5568     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
5569     void ondrop(VARIANT v);
5570
5571     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
5572     VARIANT ondrop();
5573
5574     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
5575     void onbeforecut(VARIANT v);
5576
5577     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
5578     VARIANT onbeforecut();
5579
5580     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
5581     void oncut(VARIANT v);
5582
5583     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
5584     VARIANT oncut();
5585
5586     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
5587     void onbeforecopy(VARIANT v);
5588
5589     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
5590     VARIANT onbeforecopy();
5591
5592     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
5593     void oncopy(VARIANT v);
5594
5595     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
5596     VARIANT oncopy();
5597
5598     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
5599     void onbeforepaste(VARIANT v);
5600
5601     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
5602     VARIANT onbeforepaste();
5603
5604     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
5605     void onpaste(VARIANT v);
5606
5607     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
5608     VARIANT onpaste();
5609
5610     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
5611     IHTMLCurrentStyle *currentStyle();
5612
5613     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
5614     void onpropertychange(VARIANT v);
5615
5616     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
5617     VARIANT onpropertychange();
5618
5619     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
5620     IHTMLRectCollection *getClientRects();
5621
5622     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
5623     IHTMLRect *getBoundingClientRect();
5624
5625     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
5626     void setExpression(
5627             [in] BSTR propname,
5628             [in] BSTR expression,
5629             [in, defaultvalue("")] BSTR language);
5630
5631     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
5632     VARIANT getExpression([in] BSTR propname);
5633
5634     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
5635     VARIANT_BOOL removeExpression([in] BSTR propname);
5636
5637     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
5638     void tabIndex(short v);
5639
5640     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
5641     short tabIndex();
5642
5643     [id(DISPID_IHTMLELEMENT2_FOCUS)]
5644     void focus();
5645
5646     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
5647     void accessKey(BSTR v);
5648
5649     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
5650     BSTR accessKey();
5651
5652     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
5653     void onblur(VARIANT v);
5654
5655     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
5656     VARIANT onblur();
5657
5658     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
5659     void onfocus(VARIANT v);
5660
5661     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
5662     VARIANT onfocus();
5663
5664     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
5665     void onresize(VARIANT v);
5666
5667     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
5668     VARIANT onresize();
5669
5670     [id(DISPID_IHTMLELEMENT2_BLUR)]
5671     void blur();
5672
5673     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
5674     void addFilter([in] IUnknown *pUnk);
5675
5676     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
5677     void removeFilter([in] IUnknown *pUnk);
5678
5679     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
5680     long clientHeight();
5681
5682     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
5683     long clientWidth();
5684
5685     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
5686     long clientTop();
5687
5688     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
5689     long clientLeft();
5690
5691     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
5692     VARIANT_BOOL attachEvent(
5693             [in] BSTR event,
5694             [in] IDispatch *pDisp);
5695
5696     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
5697     void detachEvent(
5698             [in] BSTR event,
5699             [in] IDispatch *pDisp);
5700
5701     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
5702     VARIANT readyState();
5703
5704     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
5705     void onreadystatechange(VARIANT v);
5706
5707     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
5708     VARIANT onreadystatechange();
5709
5710     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
5711     void onrowsdelete(VARIANT v);
5712
5713     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
5714     VARIANT onrowsdelete();
5715
5716     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
5717     void onrowsinserted(VARIANT v);
5718
5719     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
5720      VARIANT onrowsinserted();
5721
5722     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
5723      void oncellchange(VARIANT v);
5724
5725     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
5726     VARIANT oncellchange();
5727
5728     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
5729     void dir(BSTR v);
5730
5731     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
5732     BSTR dir();
5733
5734     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
5735     IDispatch *createControlRange();
5736
5737     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
5738     long scrollHeight();
5739
5740     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
5741     long scrollWidth();
5742
5743     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
5744     void scrollTop(long v);
5745
5746     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
5747     long scrollTop();
5748
5749     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
5750     void scrollLeft(long v);
5751
5752     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
5753     long scrollLeft();
5754
5755     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
5756     void clearAttributes();
5757
5758     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
5759     void oncontextmenu(VARIANT v);
5760
5761     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
5762     VARIANT oncontextmenu();
5763
5764     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
5765     IHTMLElement *insertAdjacentElement(
5766             [in] BSTR where,
5767             [in] IHTMLElement *insertedElement);
5768
5769     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
5770     IHTMLElement *applyElement(
5771             [in] IHTMLElement *apply,
5772             [in] BSTR where);
5773
5774     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
5775     BSTR getAdjacentText([in] BSTR where);
5776
5777     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
5778     BSTR replaceAdjacentText(
5779             [in] BSTR where,
5780             [in] BSTR newText);
5781
5782     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
5783     VARIANT_BOOL canHaveChildren();
5784
5785     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
5786     long addBehavior(
5787             [in] BSTR bstrUrl,
5788             [in, optional] VARIANT *pvarFactory);
5789
5790     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
5791     VARIANT_BOOL removeBehavior([in] long cookie);
5792
5793     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
5794     IHTMLStyle *runtimeStyle();
5795
5796     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
5797     IDispatch *behaviorUrns();
5798
5799     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
5800     void tagUrn(BSTR v);
5801
5802     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
5803     BSTR tagUrn();
5804
5805     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
5806     void onbeforeeditfocus(VARIANT v);
5807
5808     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
5809     VARIANT onbeforeeditfocus();
5810
5811     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
5812     long readyStateValue();
5813
5814     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
5815     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
5816
5817     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
5818     void mergeAttributes(
5819             [in] IHTMLElement *mergeThis,
5820             [in, optional] VARIANT *pvarFlags);
5821
5822     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
5823     VARIANT_BOOL isMultiLine();
5824
5825     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
5826     VARIANT_BOOL canHaveHTML();
5827
5828     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
5829     void onlayoutcomplete(VARIANT v);
5830
5831     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
5832     VARIANT onlayoutcomplete();
5833
5834     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
5835     void onpage(VARIANT v);
5836
5837     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
5838     VARIANT onpage();
5839
5840     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
5841     void inflateBlock(VARIANT_BOOL v);
5842
5843     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
5844     VARIANT_BOOL inflateBlock();
5845
5846     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
5847     void onbeforedeactivate(VARIANT v);
5848
5849     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
5850     VARIANT onbeforedeactivate();
5851
5852     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
5853     void setActive();
5854
5855     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
5856     void contentEditable(BSTR v);
5857
5858     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
5859     BSTR contentEditable();
5860
5861     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
5862     VARIANT_BOOL isContentEditable();
5863
5864     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
5865     void hideFocus(VARIANT_BOOL v);
5866
5867     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
5868     VARIANT_BOOL hideFocus();
5869
5870     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
5871     void disabled(VARIANT_BOOL v);
5872
5873     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
5874     VARIANT_BOOL disabled();
5875
5876     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
5877     VARIANT_BOOL isDisabled();
5878
5879     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
5880     void onmove(VARIANT v);
5881
5882     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
5883     VARIANT onmove();
5884
5885     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
5886     void oncontrolselect(VARIANT v);
5887
5888     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
5889     VARIANT oncontrolselect();
5890
5891     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
5892     VARIANT_BOOL fireEvent(
5893             [in] BSTR bstrEventName,
5894             [in, optional] VARIANT *pvarEventObject);
5895
5896     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
5897     void onresizestart(VARIANT v);
5898
5899     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
5900     VARIANT onresizestart();
5901
5902     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
5903     void onresizeend(VARIANT v);
5904
5905     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
5906     VARIANT onresizeend();
5907
5908     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
5909     void onmovestart(VARIANT v);
5910
5911     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
5912     VARIANT onmovestart();
5913
5914     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
5915     void onmoveend(VARIANT v);
5916
5917     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
5918     VARIANT onmoveend();
5919
5920     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
5921     void onmouseenter(VARIANT v);
5922
5923     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
5924     VARIANT onmouseenter();
5925
5926     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
5927     void onmouseleave(VARIANT v);
5928
5929     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
5930     VARIANT onmouseleave();
5931
5932     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
5933     void onactivate(VARIANT v);
5934
5935     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
5936     VARIANT onactivate();
5937
5938     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
5939     void ondeactivate(VARIANT v);
5940
5941     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
5942     VARIANT ondeactivate();
5943
5944     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
5945     VARIANT_BOOL dragDrop();
5946
5947     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
5948     LONG glyphMode();
5949
5950     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
5951     void onmousewheel(VARIANT v);
5952
5953     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
5954     VARIANT onmousewheel();
5955
5956     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
5957     void normalize();
5958
5959     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
5960     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
5961
5962     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
5963     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
5964
5965     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
5966     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
5967
5968     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
5969     void onbeforeactivate(VARIANT v);
5970
5971     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
5972     VARIANT onbeforeactivate();
5973
5974     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
5975     void onfocusin(VARIANT v);
5976
5977     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
5978     VARIANT onfocusin();
5979
5980     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
5981     void onfocusout(VARIANT v);
5982
5983     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
5984     VARIANT onfocusout();
5985
5986     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
5987     long uniqueNumber();
5988
5989     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
5990     BSTR uniqueID();
5991
5992     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
5993     long nodeType();
5994
5995     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
5996     IHTMLDOMNode *parentNode();
5997
5998     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
5999     VARIANT_BOOL hasChildNodes();
6000
6001     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
6002     IDispatch *childNodes();
6003
6004     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
6005     IDispatch *attributes();
6006
6007     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
6008     IHTMLDOMNode *insertBefore(
6009             [in] IHTMLDOMNode *newChild,
6010             [in, optional] VARIANT refChild);
6011
6012     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
6013     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
6014
6015     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
6016     IHTMLDOMNode *replaceChild(
6017             [in] IHTMLDOMNode *newChild,
6018             [in] IHTMLDOMNode *oldChild);
6019
6020     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
6021     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
6022
6023     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
6024     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
6025
6026     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
6027     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
6028
6029     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
6030     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
6031
6032     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
6033     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
6034
6035     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
6036     BSTR nodeName();
6037
6038     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
6039     void nodeValue(VARIANT v);
6040
6041     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
6042     VARIANT nodeValue();
6043
6044     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
6045     IHTMLDOMNode *firstChild();
6046
6047     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
6048     IHTMLDOMNode *lastChild();
6049
6050     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
6051     IHTMLDOMNode *previousSibling();
6052
6053     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
6054     IHTMLDOMNode *nextSibling();
6055
6056     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
6057     IDispatch *ownerDocument();
6058
6059     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
6060     void dataFld(BSTR v);
6061
6062     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
6063     BSTR dataFld();
6064
6065     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
6066     void dataSrc(BSTR v);
6067
6068     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
6069     BSTR dataSrc();
6070
6071     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
6072     void dataFormatAs(BSTR v);
6073
6074     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
6075     BSTR dataFormatAs();
6076
6077     [propput, id(DISPID_IHTMLIMGELEMENT_ISMAP), displaybind, bindable]
6078     void isMap(VARIANT_BOOL v);
6079
6080     [propget, id(DISPID_IHTMLIMGELEMENT_ISMAP), displaybind, bindable]
6081     VARIANT_BOOL isMap();
6082
6083     [propput, id(DISPID_IHTMLIMGELEMENT_USEMAP), displaybind, bindable]
6084     void useMap(BSTR v);
6085
6086     [propget, id(DISPID_IHTMLIMGELEMENT_USEMAP), displaybind, bindable]
6087     BSTR useMap();
6088
6089     [propget, id(DISPID_IHTMLIMGELEMENT_MIMETYPE)]
6090     BSTR mimeType();
6091
6092     [propget, id(DISPID_IHTMLIMGELEMENT_FILESIZE)]
6093     BSTR fileSize();
6094
6095     [propget, id(DISPID_IHTMLIMGELEMENT_FILECREATEDDATE)]
6096     BSTR fileCreatedDate();
6097
6098     [propget, id(DISPID_IHTMLIMGELEMENT_FILEMODIFIEDDATE)]
6099     BSTR fileModifiedDate();
6100
6101     [propget, id(DISPID_IHTMLIMGELEMENT_FILEUPDATEDDATE)]
6102     BSTR fileUpdatedDate();
6103
6104     [propget, id(DISPID_IHTMLIMGELEMENT_PROTOCOL)]
6105     BSTR protocol();
6106
6107     [propget, id(DISPID_IHTMLIMGELEMENT_HREF)]
6108     BSTR href();
6109
6110     [propget, id(DISPID_IHTMLIMGELEMENT_NAMEPROP)]
6111     BSTR nameProp();
6112
6113     [propput, id(DISPID_IHTMLIMGELEMENT_BORDER), displaybind, bindable]
6114     void border(VARIANT v);
6115
6116     [propget, id(DISPID_IHTMLIMGELEMENT_BORDER), displaybind, bindable]
6117     VARIANT border();
6118
6119     [propput, id(DISPID_IHTMLIMGELEMENT_VSPACE), displaybind, bindable]
6120     void vspace(long v);
6121
6122     [propget, id(DISPID_IHTMLIMGELEMENT_VSPACE), displaybind, bindable]
6123     long vspace();
6124
6125     [propput, id(DISPID_IHTMLIMGELEMENT_HSPACE), displaybind, bindable]
6126     void hspace(long v);
6127
6128     [propget, id(DISPID_IHTMLIMGELEMENT_HSPACE), displaybind, bindable]
6129     long hspace();
6130
6131     [propput, id(DISPID_IHTMLIMGELEMENT_ALT), displaybind, bindable]
6132     void alt(BSTR v);
6133
6134     [propget, id(DISPID_IHTMLIMGELEMENT_ALT), displaybind, bindable]
6135     BSTR alt();
6136
6137     [propput, id(DISPID_IHTMLIMGELEMENT_SRC), displaybind, bindable]
6138     void src(BSTR v);
6139
6140     [propget, id(DISPID_IHTMLIMGELEMENT_SRC), displaybind, bindable]
6141     BSTR src();
6142
6143     [propput, id(DISPID_IHTMLIMGELEMENT_LOWSRC), displaybind, bindable]
6144     void lowsrc(BSTR v);
6145
6146     [propget, id(DISPID_IHTMLIMGELEMENT_LOWSRC), displaybind, bindable]
6147     BSTR lowsrc();
6148
6149     [propput, id(DISPID_IHTMLIMGELEMENT_VRML), displaybind, bindable]
6150     void vrml(BSTR v);
6151
6152     [propget, id(DISPID_IHTMLIMGELEMENT_VRML), displaybind, bindable]
6153     BSTR vrml();
6154
6155     [propput, id(DISPID_IHTMLIMGELEMENT_DYNSRC), displaybind, bindable]
6156     void dynsrc(BSTR v);
6157
6158     [propget, id(DISPID_IHTMLIMGELEMENT_DYNSRC), displaybind, bindable]
6159     BSTR dynsrc();
6160
6161     [propget, id(DISPID_IHTMLIMGELEMENT_COMPLETE)]
6162     VARIANT_BOOL complete();
6163
6164     [propput, id(DISPID_IHTMLIMGELEMENT_LOOP), displaybind, bindable]
6165     void loop(VARIANT v);
6166
6167     [propget, id(DISPID_IHTMLIMGELEMENT_LOOP), displaybind, bindable]
6168     VARIANT loop();
6169
6170     [propput, id(DISPID_IHTMLIMGELEMENT_ALIGN), displaybind, bindable]
6171     void align(BSTR v);
6172
6173     [propget, id(DISPID_IHTMLIMGELEMENT_ALIGN), displaybind, bindable]
6174     BSTR align();
6175
6176     [propput, id(DISPID_IHTMLIMGELEMENT_ONLOAD), displaybind, bindable]
6177     void onload(VARIANT v);
6178
6179     [propget, id(DISPID_IHTMLIMGELEMENT_ONLOAD), displaybind, bindable]
6180     VARIANT onload();
6181
6182     [propput, id(DISPID_IHTMLIMGELEMENT_ONERROR), displaybind, bindable]
6183     void onerror(VARIANT v);
6184
6185     [propget, id(DISPID_IHTMLIMGELEMENT_ONERROR), displaybind, bindable]
6186     VARIANT onerror();
6187
6188     [propput, id(DISPID_IHTMLIMGELEMENT_ONABORT), displaybind, bindable]
6189     void onabort(VARIANT v);
6190
6191     [propget, id(DISPID_IHTMLIMGELEMENT_ONABORT), displaybind, bindable]
6192     VARIANT onabort();
6193
6194     [propput, id(DISPID_IHTMLIMGELEMENT_NAME), displaybind, bindable]
6195     void name(BSTR v);
6196
6197     [propget, id(DISPID_IHTMLIMGELEMENT_NAME), displaybind, bindable]
6198     BSTR name();
6199
6200     [propput, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
6201     void width(long v);
6202
6203     [propget, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
6204     long width();
6205
6206     [propput, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
6207     void height(long v);
6208
6209     [propget, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
6210     long height();
6211
6212     [propput, id(DISPID_IHTMLIMGELEMENT_START), displaybind, bindable]
6213     void start(BSTR v);
6214
6215     [propget, id(DISPID_IHTMLIMGELEMENT_START), displaybind, bindable]
6216     BSTR start();
6217
6218     [propput, id(DISPID_IHTMLIMGELEMENT2_LONGDESC), displaybind, bindable]
6219     void longDesc(BSTR v);
6220
6221     [propget, id(DISPID_IHTMLIMGELEMENT2_LONGDESC), displaybind, bindable]
6222     BSTR longDesc();
6223 };
6224
6225 /*****************************************************************************
6226  *    IHTMLUniqueName interface
6227  */
6228 [
6229     odl,
6230     oleautomation,
6231     dual,
6232     uuid(3050f4d0-98b5-11cf-bb82-00aa00bdce0b)
6233 ]
6234 interface IHTMLUniqueName : IDispatch
6235 {
6236     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
6237     HRESULT uniqueNumber([retval, out] long * p);
6238
6239     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
6240     HRESULT uniqueID([retval, out] BSTR * p);
6241 };
6242
6243 /*****************************************************************************
6244  *    IHTMLControlElement interface
6245  */
6246 [
6247     odl,
6248     oleautomation,
6249     dual,
6250     uuid(3050f4e9-98b5-11cf-bb82-00aa00bdce0b)
6251 ]
6252 interface IHTMLControlElement : IDispatch
6253 {
6254     [propput, id(DISPID_IHTMLCONTROLELEMENT_TABINDEX), displaybind, bindable]
6255     HRESULT tabIndex([in] short v);
6256
6257     [propget, id(DISPID_IHTMLCONTROLELEMENT_TABINDEX), displaybind, bindable]
6258     HRESULT tabIndex([retval, out] short * p);
6259
6260     [id(DISPID_IHTMLCONTROLELEMENT_FOCUS)]
6261     HRESULT focus();
6262
6263     [propput, id(DISPID_IHTMLCONTROLELEMENT_ACCESSKEY), displaybind, bindable]
6264     HRESULT accessKey([in] BSTR v);
6265
6266     [propget, id(DISPID_IHTMLCONTROLELEMENT_ACCESSKEY), displaybind, bindable]
6267     HRESULT accessKey([retval, out] BSTR * p);
6268
6269     [propput, id(DISPID_IHTMLCONTROLELEMENT_ONBLUR), displaybind, bindable]
6270     HRESULT onblur([in] VARIANT v);
6271
6272     [propget, id(DISPID_IHTMLCONTROLELEMENT_ONBLUR), displaybind, bindable]
6273     HRESULT onblur([retval, out] VARIANT * p);
6274
6275     [propput, id(DISPID_IHTMLCONTROLELEMENT_ONFOCUS), displaybind, bindable]
6276     HRESULT onfocus([in] VARIANT v);
6277
6278     [propget, id(DISPID_IHTMLCONTROLELEMENT_ONFOCUS), displaybind, bindable]
6279     HRESULT onfocus([retval, out] VARIANT * p);
6280
6281     [propput, id(DISPID_IHTMLCONTROLELEMENT_ONRESIZE), displaybind, bindable]
6282     HRESULT onresize([in] VARIANT v);
6283
6284     [propget, id(DISPID_IHTMLCONTROLELEMENT_ONRESIZE), displaybind, bindable]
6285     HRESULT onresize([retval, out] VARIANT * p);
6286
6287     [id(DISPID_IHTMLCONTROLELEMENT_BLUR)]
6288     HRESULT blur();
6289
6290     [id(DISPID_IHTMLCONTROLELEMENT_ADDFILTER)]
6291     HRESULT addFilter([in] IUnknown* pUnk);
6292
6293     [id(DISPID_IHTMLCONTROLELEMENT_REMOVEFILTER)]
6294     HRESULT removeFilter([in] IUnknown* pUnk);
6295
6296     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTHEIGHT), displaybind, bindable]
6297     HRESULT clientHeight([retval, out] long * p);
6298
6299     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTWIDTH), displaybind, bindable]
6300     HRESULT clientWidth([retval, out] long * p);
6301
6302     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTTOP), displaybind, bindable]
6303     HRESULT clientTop([retval, out] long * p);
6304
6305     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTLEFT), displaybind, bindable]
6306     HRESULT clientLeft([retval, out] long * p);
6307 };
6308
6309 /*****************************************************************************
6310  *    IHTMLBodyElement interface
6311  */
6312 [
6313     odl,
6314     oleautomation,
6315     dual,
6316     uuid(3050f1d8-98b5-11cf-bb82-00aa00bdce0b)
6317 ]
6318 interface IHTMLBodyElement : IDispatch
6319 {
6320     [propput, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
6321     HRESULT background([in] BSTR v);
6322
6323     [propget, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
6324     HRESULT background([retval, out] BSTR *p);
6325
6326     [propput, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
6327     HRESULT bgProperties([in] BSTR v);
6328
6329     [propget, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
6330     HRESULT bgProperties([retval, out] BSTR *p);
6331
6332     [propput, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
6333     HRESULT leftMargin([in] VARIANT v);
6334
6335     [propget, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
6336     HRESULT leftMargin([retval, out] VARIANT *p);
6337
6338     [propput, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
6339     HRESULT topMargin([in] VARIANT v);
6340
6341     [propget, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
6342     HRESULT topMargin([retval, out] VARIANT *p);
6343
6344     [propput, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
6345     HRESULT rightMargin([in] VARIANT v);
6346
6347     [propget, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
6348     HRESULT rightMargin([retval, out] VARIANT *p);
6349
6350     [propput, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
6351     HRESULT bottomMargin([in] VARIANT v);
6352
6353     [propget, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
6354     HRESULT bottomMargin([retval, out] VARIANT *p);
6355
6356     [propput, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
6357     HRESULT noWrap([in] VARIANT_BOOL v);
6358
6359     [propget, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
6360     HRESULT noWrap([retval, out] VARIANT_BOOL *p);
6361
6362     [propput, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
6363     HRESULT bgColor([in] VARIANT v);
6364
6365     [propget, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
6366     HRESULT bgColor([retval, out] VARIANT *p);
6367
6368     [propput, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
6369     HRESULT text([in] VARIANT v);
6370
6371     [propget, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
6372     HRESULT text([retval, out] VARIANT *p);
6373
6374     [propput, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
6375     HRESULT link([in] VARIANT v);
6376
6377     [propget, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
6378     HRESULT link([retval, out] VARIANT *p);
6379
6380     [propput, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
6381     HRESULT vLink([in] VARIANT v);
6382
6383     [propget, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
6384     HRESULT vLink([retval, out] VARIANT *p);
6385
6386     [propput, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
6387     HRESULT aLink([in] VARIANT v);
6388
6389     [propget, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
6390     HRESULT aLink([retval, out] VARIANT *p);
6391
6392     [propput, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
6393     HRESULT onload([in] VARIANT v);
6394
6395     [propget, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
6396     HRESULT onload([retval, out] VARIANT *p);
6397
6398     [propput, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
6399     HRESULT onunload([in] VARIANT v);
6400
6401     [propget, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
6402     HRESULT onunload([retval, out] VARIANT *p);
6403
6404     [propput, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
6405     HRESULT scroll([in] BSTR v);
6406
6407     [propget, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
6408     HRESULT scroll([retval, out] BSTR *p);
6409
6410     [propput, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
6411     HRESULT onselect([in] VARIANT v);
6412
6413     [propget, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
6414     HRESULT onselect([retval, out] VARIANT *p);
6415
6416     [propput, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
6417     HRESULT onbeforeunload([in] VARIANT v);
6418
6419     [propget, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
6420     HRESULT onbeforeunload([retval, out] VARIANT *p);
6421
6422     [id(DISPID_IHTMLBODYELEMENT_CREATETEXTRANGE)]
6423     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
6424 }
6425
6426 /*****************************************************************************
6427  *    IHTMLBodyElement2 interface
6428  */
6429 [
6430     odl,
6431     oleautomation,
6432     dual,
6433     uuid(3050f5c5-98b5-11cf-bb82-00aa00bdce0b)
6434 ]
6435 interface IHTMLBodyElement2 : IDispatch
6436 {
6437     [propput, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
6438     HRESULT onbeforeprint([in] VARIANT v);
6439
6440     [propget, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
6441     HRESULT onbeforeprint([retval, out] VARIANT *p);
6442
6443     [propput, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
6444     HRESULT onafterprint([in] VARIANT v);
6445
6446     [propget, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
6447     HRESULT onafterprint([retval, out] VARIANT *p);
6448 }
6449
6450 [
6451     hidden,
6452     uuid(3050f507-98b5-11cf-bb82-00aa00bdce0b)
6453 ]
6454 dispinterface DispHTMLBody
6455 {
6456 properties:
6457 methods:
6458     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
6459     void setAttribute(
6460         [in] BSTR strAttributeName,
6461         [in] VARIANT AttValue,
6462         [defaultvalue(1), in] LONG lFlags);
6463
6464     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
6465     VARIANT getAttribute(
6466         [in] BSTR strAttributeName,
6467         [defaultvalue(0), in] LONG lFlags);
6468
6469     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
6470     VARIANT_BOOL removeAttribute(
6471         [in] BSTR strAttributeName,
6472         [defaultvalue(1), in] LONG lFlags);
6473
6474     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
6475     void className(BSTR v);
6476
6477     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
6478     BSTR className();
6479
6480     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
6481     void id(BSTR v);
6482
6483     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
6484     BSTR id();
6485
6486     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
6487     BSTR tagName();
6488
6489     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
6490     IHTMLElement* parentElement();
6491
6492     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
6493     IHTMLStyle* style();
6494
6495     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
6496     void onhelp(VARIANT v);
6497
6498     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
6499     VARIANT onhelp();
6500
6501     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
6502     void onclick(VARIANT v);
6503
6504     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
6505     VARIANT onclick();
6506
6507     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
6508     void ondblclick(VARIANT v);
6509
6510     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
6511     VARIANT ondblclick();
6512
6513     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
6514     void onkeydown(VARIANT v);
6515
6516     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
6517     VARIANT onkeydown();
6518
6519     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
6520     void onkeyup(VARIANT v);
6521
6522     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
6523     VARIANT onkeyup();
6524
6525     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
6526     void onkeypress(VARIANT v);
6527
6528     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
6529     VARIANT onkeypress();
6530
6531     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
6532     void onmouseout(VARIANT v);
6533
6534     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
6535     VARIANT onmouseout();
6536
6537     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
6538     void onmouseover(VARIANT v);
6539
6540     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
6541     VARIANT onmouseover();
6542
6543     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
6544     void onmousemove(VARIANT v);
6545
6546     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
6547     VARIANT onmousemove();
6548
6549     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
6550     void onmousedown(VARIANT v);
6551
6552     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
6553     VARIANT onmousedown();
6554
6555     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
6556     void onmouseup(VARIANT v);
6557
6558     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
6559     VARIANT onmouseup();
6560
6561     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)] IDispatch* document();
6562
6563     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
6564     void title(BSTR v);
6565
6566     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
6567     BSTR title();
6568
6569     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
6570     void language(BSTR v);
6571
6572     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
6573     BSTR language();
6574
6575     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
6576     void onselectstart(VARIANT v);
6577
6578     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
6579     VARIANT onselectstart();
6580
6581     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
6582     void scrollIntoView([optional, in] VARIANT varargStart);
6583
6584     [id(DISPID_IHTMLELEMENT_CONTAINS)]
6585     VARIANT_BOOL contains([in] IHTMLElement* pChild);
6586
6587     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
6588     long sourceIndex();
6589
6590     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
6591     VARIANT recordNumber();
6592
6593     [propput, id(DISPID_IHTMLELEMENT_LANG)]
6594     void lang(BSTR v);
6595
6596     [propget, id(DISPID_IHTMLELEMENT_LANG)]
6597     BSTR lang();
6598
6599     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
6600     long offsetLeft();
6601
6602     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
6603     long offsetTop();
6604
6605     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
6606     long offsetWidth();
6607
6608     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
6609     long offsetHeight();
6610
6611     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
6612     IHTMLElement* offsetParent();
6613
6614     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
6615     void innerHTML(BSTR v);
6616
6617     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
6618     BSTR innerHTML();
6619
6620     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
6621     void innerText(BSTR v);
6622
6623     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
6624     BSTR innerText();
6625
6626     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
6627     void outerHTML(BSTR v);
6628
6629     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
6630     BSTR outerHTML();
6631
6632     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
6633     void outerText(BSTR v);
6634
6635     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
6636     BSTR outerText();
6637
6638     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
6639     void insertAdjacentHTML(
6640         [in] BSTR where,
6641         [in] BSTR html);
6642
6643     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
6644     void insertAdjacentText(
6645         [in] BSTR where,
6646         [in] BSTR text);
6647
6648     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
6649     IHTMLElement* parentTextEdit();
6650
6651     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
6652     VARIANT_BOOL isTextEdit();
6653
6654     [id(DISPID_IHTMLELEMENT_CLICK)] void click();
6655
6656     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
6657     IHTMLFiltersCollection* filters();
6658
6659     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
6660     void ondragstart(VARIANT v);
6661
6662     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
6663     VARIANT ondragstart();
6664
6665     [id(DISPID_IHTMLELEMENT_TOSTRING)]
6666     BSTR toString();
6667
6668     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
6669     void onbeforeupdate(VARIANT v);
6670
6671     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
6672     VARIANT onbeforeupdate();
6673
6674     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
6675     void onafterupdate(VARIANT v);
6676
6677     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
6678     VARIANT onafterupdate();
6679
6680     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
6681     void onerrorupdate(VARIANT v);
6682
6683     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
6684     VARIANT onerrorupdate();
6685
6686     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
6687     void onrowexit(VARIANT v);
6688
6689     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
6690     VARIANT onrowexit();
6691
6692     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
6693     void onrowenter(VARIANT v);
6694
6695     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
6696     VARIANT onrowenter();
6697
6698     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
6699     void ondatasetchanged(VARIANT v);
6700
6701     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
6702     VARIANT ondatasetchanged();
6703
6704     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
6705     void ondataavailable(VARIANT v);
6706
6707     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
6708     VARIANT ondataavailable();
6709
6710     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
6711     void ondatasetcomplete(VARIANT v);
6712
6713     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
6714     VARIANT ondatasetcomplete();
6715
6716     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
6717     void onfilterchange(VARIANT v);
6718
6719     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
6720     VARIANT onfilterchange();
6721
6722     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
6723     IDispatch* children();
6724
6725     [propget, id(DISPID_IHTMLELEMENT_ALL)]
6726     IDispatch* all();
6727
6728     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
6729     BSTR scopeName();
6730
6731     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
6732     void setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
6733
6734     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
6735     void releaseCapture();
6736
6737     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
6738     void onlosecapture(VARIANT v);
6739
6740     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
6741     VARIANT onlosecapture();
6742
6743     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
6744     BSTR componentFromPoint([in] long x,[in] long y);
6745
6746     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
6747     void doScroll([optional, in] VARIANT component);
6748
6749     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
6750     void onscroll(VARIANT v);
6751
6752     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
6753     VARIANT onscroll();
6754
6755     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
6756     void ondrag(VARIANT v);
6757
6758     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
6759     VARIANT ondrag();
6760
6761     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
6762     void ondragend(VARIANT v);
6763
6764     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
6765     VARIANT ondragend();
6766
6767     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
6768     void ondragenter(VARIANT v);
6769
6770     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
6771     VARIANT ondragenter();
6772
6773     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
6774     void ondragover(VARIANT v);
6775
6776     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
6777     VARIANT ondragover();
6778
6779     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
6780     void ondragleave(VARIANT v);
6781
6782     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
6783     VARIANT ondragleave();
6784
6785     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
6786      void ondrop(VARIANT v);
6787
6788     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
6789     VARIANT ondrop();
6790
6791     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
6792     void onbeforecut(VARIANT v);
6793
6794     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
6795     VARIANT onbeforecut();
6796
6797     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
6798     void oncut(VARIANT v);
6799
6800     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
6801     VARIANT oncut();
6802
6803     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
6804     void onbeforecopy(VARIANT v);
6805
6806     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
6807     VARIANT onbeforecopy();
6808
6809     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
6810     void oncopy(VARIANT v);
6811
6812     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
6813     VARIANT oncopy();
6814
6815     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
6816     void onbeforepaste(VARIANT v);
6817
6818     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
6819      VARIANT onbeforepaste();
6820
6821     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
6822     void onpaste(VARIANT v);
6823
6824     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
6825     VARIANT onpaste();
6826
6827     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
6828     IHTMLCurrentStyle* currentStyle();
6829
6830     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
6831     void onpropertychange(VARIANT v);
6832
6833     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
6834     VARIANT onpropertychange();
6835
6836     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
6837     IHTMLRectCollection* getClientRects();
6838
6839     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
6840     IHTMLRect* getBoundingClientRect();
6841
6842     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
6843     void setExpression(
6844         [in] BSTR propname,
6845         [in] BSTR expr,
6846         [defaultvalue(""), in] BSTR lang);
6847
6848     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
6849     VARIANT getExpression([in] BSTR propname);
6850
6851     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
6852     VARIANT_BOOL removeExpression([in] BSTR propname);
6853
6854     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
6855     void tabIndex(short v);
6856
6857     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
6858     short tabIndex();
6859
6860     [id(DISPID_IHTMLELEMENT2_FOCUS)]
6861     void focus();
6862
6863     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
6864     void accessKey(BSTR v);
6865
6866     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
6867     BSTR accessKey();
6868
6869     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
6870     void onblur(VARIANT v);
6871
6872     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
6873      VARIANT onblur();
6874
6875     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
6876     void onfocus(VARIANT v);
6877
6878     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
6879     VARIANT onfocus();
6880
6881     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
6882     void onresize(VARIANT v);
6883
6884     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
6885     VARIANT onresize();
6886
6887     [id(DISPID_IHTMLELEMENT2_BLUR)]
6888     void blur();
6889
6890     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
6891     void addFilter([in] IUnknown* pUnk);
6892
6893     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
6894     void removeFilter([in] IUnknown* pUnk);
6895
6896     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
6897     long clientHeight();
6898
6899     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
6900     long clientWidth();
6901
6902     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
6903     long clientTop();
6904
6905     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
6906     long clientLeft();
6907
6908     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
6909     VARIANT_BOOL attachEvent(
6910         [in] BSTR event,
6911         [in] IDispatch* pDisp);
6912
6913     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
6914     void detachEvent(
6915         [in] BSTR event,
6916         [in] IDispatch* pDisp);
6917
6918     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)] VARIANT readyState();
6919
6920     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
6921      void onreadystatechange(VARIANT v);
6922
6923     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
6924     VARIANT onreadystatechange();
6925
6926     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
6927     void onrowsdelete(VARIANT v);
6928
6929     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
6930     VARIANT onrowsdelete();
6931
6932     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
6933     void onrowsinserted(VARIANT v);
6934
6935     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
6936     VARIANT onrowsinserted();
6937
6938     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
6939     void oncellchange(VARIANT v);
6940
6941     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
6942     VARIANT oncellchange();
6943
6944     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
6945     void dir(BSTR v);
6946
6947     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
6948     BSTR dir();
6949
6950     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
6951     IDispatch* createControlRange();
6952
6953     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
6954     long scrollHeight();
6955
6956     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
6957     long scrollWidth();
6958
6959     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
6960     void scrollTop(long v);
6961
6962     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
6963     long scrollTop();
6964
6965     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
6966     void scrollLeft(long v);
6967
6968     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
6969     long scrollLeft();
6970
6971     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
6972     void clearAttributes();
6973
6974     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
6975     void oncontextmenu(VARIANT v);
6976
6977     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
6978     VARIANT oncontextmenu();
6979
6980     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
6981     IHTMLElement* insertAdjacentElement(
6982         [in] BSTR where,
6983         [in] IHTMLElement* insertedElement);
6984
6985     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
6986     IHTMLElement* applyElement([in] IHTMLElement* apply,[in] BSTR where);
6987
6988     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
6989     BSTR getAdjacentText([in] BSTR where);
6990
6991     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
6992     BSTR replaceAdjacentText([in] BSTR where,[in] BSTR newText);
6993
6994     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
6995     VARIANT_BOOL canHaveChildren();
6996
6997     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
6998     long addBehavior([in] BSTR bstrUrl,[optional, in] VARIANT* pvarFactory);
6999
7000     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
7001     VARIANT_BOOL removeBehavior([in] long cookie);
7002
7003     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
7004     IHTMLStyle* runtimeStyle();
7005
7006     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
7007     IDispatch* behaviorUrns();
7008
7009     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
7010     void tagUrn(BSTR v);
7011
7012     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
7013     BSTR tagUrn();
7014
7015     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
7016     void onbeforeeditfocus(VARIANT v);
7017
7018     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
7019     VARIANT onbeforeeditfocus();
7020
7021     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
7022     long readyStateValue();
7023
7024     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
7025     IHTMLElementCollection* getElementsByTagName([in] BSTR v);
7026
7027     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
7028     void mergeAttributes(
7029         [in] IHTMLElement* mergeThis,
7030         [optional, in] VARIANT* pvarFlags);
7031
7032     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
7033     VARIANT_BOOL isMultiLine();
7034
7035     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
7036     VARIANT_BOOL canHaveHTML();
7037
7038     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
7039     void onlayoutcomplete(VARIANT v);
7040
7041     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
7042     VARIANT onlayoutcomplete();
7043
7044     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
7045     void onpage(VARIANT v);
7046
7047     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
7048     VARIANT onpage();
7049
7050     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
7051     void inflateBlock(VARIANT_BOOL v);
7052
7053     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
7054     VARIANT_BOOL inflateBlock();
7055
7056     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
7057     void onbeforedeactivate(VARIANT v);
7058
7059     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
7060     VARIANT onbeforedeactivate();
7061
7062     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
7063     void setActive();
7064
7065     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
7066     void contentEditable(BSTR v);
7067
7068     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
7069     BSTR contentEditable();
7070
7071     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
7072     VARIANT_BOOL isContentEditable();
7073
7074     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
7075     void hideFocus(VARIANT_BOOL v);
7076
7077     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
7078     VARIANT_BOOL hideFocus();
7079
7080     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
7081     void disabled(VARIANT_BOOL v);
7082
7083     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
7084     VARIANT_BOOL disabled();
7085
7086     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
7087     VARIANT_BOOL isDisabled();
7088
7089     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
7090     void onmove(VARIANT v);
7091
7092     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
7093     VARIANT onmove();
7094
7095     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
7096     void oncontrolselect(VARIANT v);
7097
7098     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
7099     VARIANT oncontrolselect();
7100
7101     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
7102     VARIANT_BOOL fireEvent(
7103         [in] BSTR bstrEventName,
7104         [optional, in] VARIANT* pvarEventObject);
7105
7106     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
7107      void onresizestart(VARIANT v);
7108
7109     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
7110     VARIANT onresizestart();
7111
7112     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
7113     void onresizeend(VARIANT v);
7114
7115     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
7116     VARIANT onresizeend();
7117
7118     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
7119     void onmovestart(VARIANT v);
7120
7121     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
7122     VARIANT onmovestart();
7123
7124     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
7125     void onmoveend(VARIANT v);
7126
7127     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
7128     VARIANT onmoveend();
7129
7130     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
7131     void onmouseenter(VARIANT v);
7132
7133     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
7134     VARIANT onmouseenter();
7135
7136     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
7137     void onmouseleave(VARIANT v);
7138
7139     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
7140     VARIANT onmouseleave();
7141
7142     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
7143     void onactivate(VARIANT v);
7144     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] VARIANT onactivate();
7145
7146     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
7147     void ondeactivate(VARIANT v);
7148
7149     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
7150     VARIANT ondeactivate();
7151
7152     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
7153     VARIANT_BOOL dragDrop();
7154
7155     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
7156     LONG glyphMode();
7157
7158     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
7159     void onmousewheel(VARIANT v);
7160
7161     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
7162     VARIANT onmousewheel();
7163
7164     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
7165     void normalize();
7166
7167     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
7168      IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrname);
7169
7170     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
7171     IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
7172
7173     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
7174     IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
7175
7176     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
7177     void onbeforeactivate(VARIANT v);
7178
7179     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
7180     VARIANT onbeforeactivate();
7181
7182     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
7183     void onfocusin(VARIANT v);
7184
7185     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
7186     VARIANT onfocusin();
7187
7188     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
7189     void onfocusout(VARIANT v);
7190
7191     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
7192     VARIANT onfocusout();
7193
7194     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
7195     long uniqueNumber();
7196
7197     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
7198     BSTR uniqueID();
7199
7200     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
7201     long nodeType();
7202
7203     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
7204     IHTMLDOMNode* parentNode();
7205
7206     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
7207     VARIANT_BOOL hasChildNodes();
7208
7209     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
7210     IDispatch* childNodes();
7211
7212     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
7213     IDispatch* attributes();
7214
7215     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
7216     IHTMLDOMNode* insertBefore(
7217         [in] IHTMLDOMNode* newChild,
7218         [optional, in] VARIANT refChild);
7219
7220     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
7221     IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
7222
7223     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
7224     IHTMLDOMNode* replaceChild(
7225         [in] IHTMLDOMNode* newChild,
7226         [in] IHTMLDOMNode* oldChild);
7227
7228     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
7229     IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
7230
7231     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
7232     IHTMLDOMNode* removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep);
7233
7234     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
7235     IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
7236
7237     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
7238     IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
7239
7240     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
7241     IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
7242
7243     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
7244     BSTR nodeName();
7245
7246     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
7247     void nodeValue(VARIANT v);
7248
7249     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
7250     VARIANT nodeValue();
7251
7252     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
7253     IHTMLDOMNode* firstChild();
7254
7255     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
7256     IHTMLDOMNode* lastChild();
7257
7258     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
7259     IHTMLDOMNode* previousSibling();
7260
7261     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
7262     IHTMLDOMNode* nextSibling();
7263
7264     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
7265     IDispatch* ownerDocument();
7266
7267     [propput, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
7268     void background(BSTR v);
7269
7270     [propget, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
7271     BSTR background();
7272
7273     [propput, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
7274     void bgProperties(BSTR v);
7275
7276     [propget, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
7277     BSTR bgProperties();
7278
7279     [propput, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
7280     void leftMargin(VARIANT v);
7281
7282     [propget, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
7283     VARIANT leftMargin();
7284
7285     [propput, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
7286     void topMargin(VARIANT v);
7287
7288     [propget, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
7289     VARIANT topMargin();
7290
7291     [propput, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
7292     void rightMargin(VARIANT v);
7293
7294     [propget, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
7295     VARIANT rightMargin();
7296
7297     [propput, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
7298     void bottomMargin(VARIANT v);
7299
7300     [propget, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
7301     VARIANT bottomMargin();
7302
7303     [propput, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
7304     void noWrap(VARIANT_BOOL v);
7305
7306     [propget, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
7307     VARIANT_BOOL noWrap();
7308
7309     [propput, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
7310     void bgColor(VARIANT v);
7311
7312     [propget, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
7313     VARIANT bgColor();
7314
7315     [propput, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
7316     void text(VARIANT v);
7317
7318     [propget, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
7319     VARIANT text();
7320
7321     [propput, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
7322     void link(VARIANT v);
7323
7324     [propget, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
7325     VARIANT link();
7326
7327     [propput, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
7328     void vLink(VARIANT v);
7329
7330     [propget, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
7331     VARIANT vLink();
7332
7333     [propput, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
7334     void aLink(VARIANT v);
7335
7336     [propget, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
7337     VARIANT aLink();
7338
7339     [propput, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
7340     void onload(VARIANT v);
7341
7342     [propget, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
7343     VARIANT onload();
7344
7345     [propput, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
7346     void onunload(VARIANT v);
7347
7348     [propget, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
7349     VARIANT onunload();
7350
7351     [propput, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
7352     void scroll(BSTR v);
7353
7354     [propget, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
7355     BSTR scroll();
7356
7357     [propput, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
7358     void onselect(VARIANT v);
7359
7360     [propget, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
7361     VARIANT onselect();
7362
7363     [propput, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
7364     void onbeforeunload(VARIANT v);
7365
7366     [propget, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
7367     VARIANT onbeforeunload();
7368
7369     [id(DISPID_IHTMLBODYELEMENT_CREATETEXTRANGE)]
7370     IHTMLTxtRange* createTextRange();
7371
7372     [propput, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
7373     void onbeforeprint(VARIANT v);
7374
7375     [propget, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
7376     VARIANT onbeforeprint();
7377
7378     [propput, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
7379     void onafterprint(VARIANT v);
7380
7381     [propget, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
7382     VARIANT onafterprint();
7383 };
7384
7385 [
7386     uuid(3050f24a-98b5-11cf-bb82-00aa00bdce0b)
7387 ]
7388 coclass HTMLBody
7389 {
7390     [default]           dispinterface DispHTMLBody;
7391     [source, default]   dispinterface HTMLTextContainerEvents;
7392     [source]            dispinterface HTMLTextContainerEvents2;
7393                         interface IHTMLElement;
7394                         interface IHTMLElement2;
7395                         interface IHTMLElement3;
7396                         interface IHTMLElement4;
7397                         interface IHTMLUniqueName;
7398                         interface IHTMLDOMNode;
7399                         interface IHTMLDOMNode2;
7400                         interface IHTMLControlElement;
7401                         interface IHTMLTextContainer;
7402                         interface IHTMLBodyElement;
7403                         interface IHTMLBodyElement2;
7404 };
7405
7406 /*****************************************************************************
7407  *    IHTMLAnchorElement interface
7408  */
7409 [
7410     odl,
7411     oleautomation,
7412     dual,
7413     uuid(3050f1da-98b5-11cf-bb82-00aa00bdce0b)
7414 ]
7415 interface IHTMLAnchorElement : IDispatch
7416 {
7417     [propput, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
7418     HRESULT href([in] BSTR v);
7419
7420     [propget, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
7421     HRESULT href([retval, out] BSTR *p);
7422
7423     [propput, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
7424     HRESULT target([in] BSTR v);
7425
7426     [propget, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
7427     HRESULT target([retval, out] BSTR *p);
7428
7429     [propput, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
7430     HRESULT rel([in] BSTR v);
7431
7432     [propget, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
7433     HRESULT rel([retval, out] BSTR *p);
7434
7435     [propput, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
7436     HRESULT rev([in] BSTR v);
7437
7438     [propget, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
7439     HRESULT rev([retval, out] BSTR *p);
7440
7441     [propput, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
7442     HRESULT urn([in] BSTR v);
7443
7444     [propget, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
7445     HRESULT urn([retval, out] BSTR *p);
7446
7447     [propput, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
7448     HRESULT Methods([in] BSTR v);
7449
7450     [propget, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
7451     HRESULT Methods([retval, out] BSTR *p);
7452
7453     [propput, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
7454     HRESULT name([in] BSTR v);
7455
7456     [propget, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
7457     HRESULT name([retval, out] BSTR *p);
7458
7459     [propput, id(DISPID_IHTMLANCHORELEMENT_HOST)]
7460     HRESULT host([in] BSTR v);
7461
7462     [propget, id(DISPID_IHTMLANCHORELEMENT_HOST)]
7463     HRESULT host([retval, out] BSTR *p);
7464
7465     [propput, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
7466     HRESULT hostname([in] BSTR v);
7467
7468     [propget, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
7469     HRESULT hostname([retval, out] BSTR *p);
7470
7471     [propput, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
7472     HRESULT pathname([in] BSTR v);
7473
7474     [propget, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
7475     HRESULT pathname([retval, out] BSTR *p);
7476
7477     [propput, id(DISPID_IHTMLANCHORELEMENT_PORT)]
7478     HRESULT port([in] BSTR v);
7479
7480     [propget, id(DISPID_IHTMLANCHORELEMENT_PORT)]
7481     HRESULT port([retval, out] BSTR *p);
7482
7483     [propput, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
7484     HRESULT protocol([in] BSTR v);
7485
7486     [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
7487     HRESULT protocol([retval, out] BSTR *p);
7488
7489     [propput, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
7490     HRESULT search([in] BSTR v);
7491
7492     [propget, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
7493     HRESULT search([retval, out] BSTR *p);
7494
7495     [propput, id(DISPID_IHTMLANCHORELEMENT_HASH)]
7496     HRESULT hash([in] BSTR v);
7497
7498     [propget, id(DISPID_IHTMLANCHORELEMENT_HASH)]
7499     HRESULT hash([retval, out] BSTR *p);
7500
7501     [propput, id(DISPID_IHTMLANCHORELEMENT_ONBLUR), displaybind, bindable]
7502     HRESULT onblur([in] VARIANT v);
7503
7504     [propget, id(DISPID_IHTMLANCHORELEMENT_ONBLUR), displaybind, bindable]
7505     HRESULT onblur([retval, out] VARIANT *p);
7506
7507     [propput, id(DISPID_IHTMLANCHORELEMENT_ONFOCUS), displaybind, bindable]
7508     HRESULT onfocus([in] VARIANT v);
7509
7510     [propget, id(DISPID_IHTMLANCHORELEMENT_ONFOCUS), displaybind, bindable]
7511     HRESULT onfocus([retval, out] VARIANT *p);
7512
7513     [propput, id(DISPID_IHTMLANCHORELEMENT_ACCESSKEY), displaybind, bindable]
7514     HRESULT accessKey([in] BSTR v);
7515
7516     [propget, id(DISPID_IHTMLANCHORELEMENT_ACCESSKEY), displaybind, bindable]
7517     HRESULT accessKey([retval, out] BSTR *p);
7518
7519     [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOLLONG)]
7520     HRESULT protocolLong([retval, out] BSTR *p);
7521
7522     [propget, id(DISPID_IHTMLANCHORELEMENT_MIMETYPE)]
7523     HRESULT mimeType([retval, out] BSTR *p);
7524
7525     [propget, id(DISPID_IHTMLANCHORELEMENT_NAMEPROP)]
7526     HRESULT nameProp([retval, out] BSTR *p);
7527
7528     [propput, id(DISPID_IHTMLANCHORELEMENT_TABINDEX), displaybind, bindable]
7529     HRESULT tabIndex([in] short v);
7530
7531     [propget, id(DISPID_IHTMLANCHORELEMENT_TABINDEX), displaybind, bindable]
7532     HRESULT tabIndex([retval, out] short *p);
7533
7534     [id(DISPID_IHTMLANCHORELEMENT_FOCUS)]
7535     HRESULT focus();
7536
7537     [id(DISPID_IHTMLANCHORELEMENT_BLUR)]
7538     HRESULT blur();
7539 }
7540
7541 /*****************************************************************************
7542  *    IHTMLElementCollection interface
7543  */
7544 [
7545     odl,
7546     oleautomation,
7547     dual,
7548     uuid(3050F21F-98B5-11CF-BB82-00AA00BDCE0B)
7549 ]
7550 interface IHTMLElementCollection : IDispatch
7551 {
7552     [id(DISPID_IHTMLELEMENTCOLLECTION_TOSTRING)]
7553     HRESULT toString([retval, out] BSTR *String);
7554
7555     [propput, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
7556     HRESULT length([in] long v);
7557
7558     [propget, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
7559     HRESULT length([retval, out] long *p);
7560
7561     [propget, id(DISPID_IHTMLELEMENTCOLLECTION__NEWENUM)]
7562     HRESULT _newEnum([retval, out] IUnknown **p);
7563
7564     [id(DISPID_IHTMLELEMENTCOLLECTION_ITEM)]
7565     HRESULT item(
7566         [optional, in] VARIANT name,
7567         [optional, in] VARIANT index,
7568         [retval,  out] IDispatch **pdisp);
7569
7570     [id(DISPID_IHTMLELEMENTCOLLECTION_TAGS)]
7571     HRESULT tags(
7572         [in] VARIANT tagName,
7573         [retval, out] IDispatch **pdisp);
7574 }
7575
7576 /*****************************************************************************
7577  *    DispHTMLElementCollection dispinterface
7578  */
7579 [
7580     hidden,
7581     uuid(3050f56b-98b5-11cf-bb82-00aa00bdce0b)
7582 ]
7583 dispinterface DispHTMLElementCollection
7584 {
7585 properties:
7586 methods:
7587     [id(DISPID_IHTMLELEMENTCOLLECTION_TOSTRING)]
7588     BSTR toString();
7589
7590     [propput, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
7591     void length(long v);
7592
7593     [propget, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
7594     long length();
7595
7596     [propget, id(DISPID_IHTMLELEMENTCOLLECTION__NEWENUM), hidden, restricted]
7597     IUnknown *_newEnum();
7598
7599     [id(DISPID_IHTMLELEMENTCOLLECTION_ITEM)]
7600     IDispatch *item(
7601             [in, optional] VARIANT name,
7602             [in, optional] VARIANT index);
7603
7604     [id(DISPID_IHTMLELEMENTCOLLECTION_TAGS)]
7605     IDispatch *tags(
7606             [in] VARIANT tagName);
7607
7608     [id(DISPID_IHTMLELEMENTCOLLECTION2_URNS)]
7609     IDispatch *urns([in] VARIANT urn);
7610
7611     [id(DISPID_IHTMLELEMENTCOLLECTION3_NAMEDITEM)]
7612     IDispatch *namedItem([in] BSTR name);
7613 }
7614
7615 /*****************************************************************************
7616  *    IHTMLSelectElement interface
7617  */
7618 [
7619     odl,
7620     oleautomation,
7621     dual,
7622     uuid(3050f244-98b5-11cf-bb82-00aa00bdce0b)
7623 ]
7624 interface IHTMLSelectElement : IDispatch
7625 {
7626     [propput, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
7627     HRESULT size([in] long v);
7628
7629     [propget, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
7630     HRESULT size([retval, out] long *p);
7631
7632     [propput, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
7633     HRESULT multiple([in] VARIANT_BOOL v);
7634
7635     [propget, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
7636     HRESULT multiple([retval, out] VARIANT_BOOL *p);
7637
7638     [propput, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
7639     HRESULT name([in] BSTR v);
7640
7641     [propget, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
7642     HRESULT name([retval, out] BSTR *p);
7643
7644     [propget, id(DISPID_IHTMLSELECTELEMENT_OPTIONS)]
7645     HRESULT options([retval, out] IDispatch **p);
7646
7647     [propput, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
7648     HRESULT onchange([in] VARIANT v);
7649
7650     [propget, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
7651     HRESULT onchange([retval, out] VARIANT *p);
7652
7653     [propput, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
7654     HRESULT selectedIndex([in] long v);
7655
7656     [propget, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
7657     HRESULT selectedIndex([retval, out] long *p);
7658
7659     [propget, id(DISPID_IHTMLSELECTELEMENT_TYPE), displaybind, bindable]
7660     HRESULT type([retval, out] BSTR *p);
7661
7662     [propput, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
7663     HRESULT value([in] BSTR v);
7664
7665     [propget, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
7666     HRESULT value([retval, out] BSTR *p);
7667
7668     [propput, id(DISPID_IHTMLSELECTELEMENT_DISABLED), displaybind, bindable]
7669     HRESULT disabled([in] VARIANT_BOOL v);
7670
7671     [propget, id(DISPID_IHTMLSELECTELEMENT_DISABLED), displaybind, bindable]
7672     HRESULT disabled([retval, out] VARIANT_BOOL *p);
7673
7674     [propget, id(DISPID_IHTMLSELECTELEMENT_FORM)]
7675     HRESULT form([retval, out] IHTMLFormElement **p);
7676
7677     [id(DISPID_IHTMLSELECTELEMENT_ADD)]
7678     HRESULT add(
7679         [in] IHTMLElement *element,
7680         [optional, in] VARIANT before);
7681
7682     [id(DISPID_IHTMLSELECTELEMENT_REMOVE)]
7683     HRESULT remove([defaultvalue(-1), in] long index);
7684
7685     [propput, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
7686     HRESULT length([in] long v);
7687
7688     [propget, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
7689     HRESULT length([retval, out] long *p);
7690
7691     [propget, id(DISPID_IHTMLSELECTELEMENT__NEWENUM), hidden, restricted]
7692     HRESULT _newEnum([retval, out] IUnknown **p);
7693
7694     [id(DISPID_IHTMLSELECTELEMENT_ITEM)]
7695     HRESULT item(
7696         [optional, in] VARIANT name,
7697         [optional, in] VARIANT index,
7698         [retval, out] IDispatch **pdisp);
7699
7700     [id(DISPID_IHTMLSELECTELEMENT_TAGS)]
7701     HRESULT tags(
7702         [in] VARIANT tagName,
7703         [retval, out] IDispatch **pdisp);
7704 }
7705
7706 /*****************************************************************************
7707  *    DispHTMLSelectElement dispinterface
7708  */
7709 [
7710     hidden,
7711     uuid(3050f531-98b5-11cf-bb82-00aa00bdce0b)
7712 ]
7713 dispinterface DispHTMLSelectElement
7714 {
7715 properties:
7716 methods:
7717     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
7718     void setAttribute(
7719             [in] BSTR strAttributeName,
7720             [in] VARIANT AttributeValue,
7721             [in, defaultvalue(1)] LONG lFlags);
7722
7723     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
7724     VARIANT getAttribute(
7725              [in] BSTR strAttributeName,
7726              [in, defaultvalue(0)] LONG lFlags);
7727
7728     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
7729     VARIANT_BOOL removeAttribute(
7730             [in] BSTR strAttributeName,
7731             [in, defaultvalue(1)] LONG lFlags);
7732
7733     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
7734     void className(BSTR v);
7735
7736     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
7737     BSTR className();
7738
7739     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
7740     void id(BSTR v);
7741
7742     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
7743     BSTR id();
7744
7745     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
7746     BSTR tagName();
7747
7748     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
7749     IHTMLElement *parentElement();
7750
7751     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
7752     IHTMLStyle *style();
7753
7754     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
7755     void onhelp(VARIANT v);
7756
7757     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
7758     VARIANT onhelp();
7759
7760     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
7761     void onclick(VARIANT v);
7762
7763     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
7764     VARIANT onclick();
7765
7766     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
7767     void ondblclick(VARIANT v);
7768
7769     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
7770     VARIANT ondblclick();
7771
7772     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
7773     void onkeydown(VARIANT v);
7774
7775     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
7776     VARIANT onkeydown();
7777
7778     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
7779     void onkeyup(VARIANT v);
7780
7781     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
7782     VARIANT onkeyup();
7783
7784     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
7785     void onkeypress(VARIANT v);
7786
7787     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
7788     VARIANT onkeypress();
7789
7790     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
7791     void onmouseout(VARIANT v);
7792
7793     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
7794     VARIANT onmouseout();
7795
7796     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
7797     void onmouseover(VARIANT v);
7798
7799     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
7800     VARIANT onmouseover();
7801
7802     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
7803     void onmousemove(VARIANT v);
7804
7805     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
7806     VARIANT onmousemove();
7807
7808     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
7809     void onmousedown(VARIANT v);
7810
7811     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
7812     VARIANT onmousedown();
7813
7814     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
7815     void onmouseup(VARIANT v);
7816
7817     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
7818     VARIANT onmouseup();
7819
7820     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
7821     IDispatch *document();
7822
7823     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
7824     void title(BSTR v);
7825
7826     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
7827     BSTR title();
7828
7829     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
7830     void language(BSTR v);
7831
7832     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
7833     BSTR language();
7834
7835     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
7836     void onselectstart(VARIANT v);
7837
7838     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
7839     VARIANT onselectstart();
7840
7841     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
7842     void scrollIntoView([in, optional] VARIANT varargStart);
7843
7844     [id(DISPID_IHTMLELEMENT_CONTAINS)]
7845     VARIANT_BOOL contains([in] IHTMLElement *pChild);
7846
7847     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
7848     long sourceIndex();
7849
7850     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
7851     VARIANT recordNumber();
7852
7853     [propput, id(DISPID_IHTMLELEMENT_LANG)]
7854     void lang(BSTR v);
7855
7856     [propget, id(DISPID_IHTMLELEMENT_LANG)]
7857     BSTR lang();
7858
7859     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
7860     long offsetLeft();
7861
7862     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
7863     long offsetTop();
7864
7865     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
7866     long offsetWidth();
7867
7868     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
7869     long offsetHeight();
7870
7871     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
7872     IHTMLElement *offsetParent();
7873
7874     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
7875     void innerHTML(BSTR v);
7876
7877     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
7878     BSTR innerHTML();
7879
7880     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
7881     void innerText(BSTR v);
7882
7883     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
7884     BSTR innerText();
7885
7886     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
7887     void outerHTML(BSTR v);
7888
7889     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
7890     BSTR outerHTML();
7891
7892     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
7893     void outerText(BSTR v);
7894
7895     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
7896     BSTR outerText();
7897
7898     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
7899     void insertAdjacentHTML(
7900             [in] BSTR where,
7901             [in] BSTR html);
7902
7903     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
7904     void insertAdjacentText(
7905             [in] BSTR where,
7906             [in] BSTR text);
7907
7908     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
7909     IHTMLElement *parentTextEdit();
7910
7911     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
7912     VARIANT_BOOL isTextEdit();
7913
7914     [id(DISPID_IHTMLELEMENT_CLICK)]
7915     void click();
7916
7917     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
7918     IHTMLFiltersCollection *filters();
7919
7920     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
7921     void ondragstart(VARIANT v);
7922
7923     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
7924     VARIANT ondragstart();
7925
7926     [id(DISPID_IHTMLELEMENT_TOSTRING)]
7927     BSTR toString();
7928
7929     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
7930     void onbeforeupdate(VARIANT v);
7931
7932     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
7933     VARIANT onbeforeupdate();
7934
7935     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
7936     void onafterupdate(VARIANT v);
7937
7938     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
7939     VARIANT onafterupdate();
7940
7941     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
7942     void onerrorupdate(VARIANT v);
7943
7944     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
7945     VARIANT onerrorupdate();
7946
7947     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
7948     void onrowexit(VARIANT v);
7949
7950     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
7951     VARIANT onrowexit();
7952
7953     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
7954     void onrowenter(VARIANT v);
7955
7956     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
7957     VARIANT onrowenter();
7958
7959     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
7960     void ondatasetchanged(VARIANT v);
7961
7962     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
7963     VARIANT ondatasetchanged();
7964
7965     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
7966     void ondataavailable(VARIANT v);
7967
7968     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
7969     VARIANT ondataavailable();
7970
7971     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
7972     void ondatasetcomplete(VARIANT v);
7973
7974     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
7975     VARIANT ondatasetcomplete();
7976
7977     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
7978     void onfilterchange(VARIANT v);
7979
7980     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
7981     VARIANT onfilterchange();
7982
7983     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
7984     IDispatch *children();
7985
7986     [propget, id(DISPID_IHTMLELEMENT_ALL)]
7987     IDispatch *all();
7988
7989     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
7990     BSTR scopeName();
7991
7992     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
7993     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
7994
7995     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
7996     void releaseCapture();
7997
7998     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
7999     void onlosecapture(VARIANT v);
8000
8001     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
8002     VARIANT onlosecapture();
8003
8004     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
8005     BSTR componentFromPoint(
8006             [in] long x,
8007             [in] long y);
8008
8009     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
8010     void doScroll([in, optional] VARIANT component);
8011
8012     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
8013     void onscroll(VARIANT v);
8014
8015     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
8016     VARIANT onscroll();
8017
8018     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
8019     void ondrag(VARIANT v);
8020
8021     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
8022     VARIANT ondrag();
8023
8024     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
8025     void ondragend(VARIANT v);
8026
8027     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
8028     VARIANT ondragend();
8029
8030     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
8031     void ondragenter(VARIANT v);
8032
8033     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
8034     VARIANT ondragenter();
8035
8036     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
8037     void ondragover(VARIANT v);
8038
8039     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
8040     VARIANT ondragover();
8041
8042     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
8043     void ondragleave(VARIANT v);
8044
8045     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
8046     VARIANT ondragleave();
8047
8048     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
8049     void ondrop(VARIANT v);
8050
8051     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
8052     VARIANT ondrop();
8053
8054     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
8055     void onbeforecut(VARIANT v);
8056
8057     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
8058     VARIANT onbeforecut();
8059
8060     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
8061     void oncut(VARIANT v);
8062
8063     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
8064     VARIANT oncut();
8065
8066     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
8067     void onbeforecopy(VARIANT v);
8068
8069     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
8070     VARIANT onbeforecopy();
8071
8072     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
8073     void oncopy(VARIANT v);
8074
8075     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
8076     VARIANT oncopy();
8077
8078     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
8079     void onbeforepaste(VARIANT v);
8080
8081     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
8082     VARIANT onbeforepaste();
8083
8084     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
8085     void onpaste(VARIANT v);
8086
8087     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
8088     VARIANT onpaste();
8089
8090     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
8091     IHTMLCurrentStyle *currentStyle();
8092
8093     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
8094     void onpropertychange(VARIANT v);
8095
8096     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
8097     VARIANT onpropertychange();
8098
8099     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
8100     IHTMLRectCollection *getClientRects();
8101
8102     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
8103     IHTMLRect *getBoundingClientRect();
8104
8105     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
8106     void setExpression(
8107             [in] BSTR propname,
8108             [in] BSTR expression,
8109             [in, defaultvalue("")] BSTR language);
8110
8111     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
8112     VARIANT getExpression([in] BSTR propname);
8113
8114     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
8115     VARIANT_BOOL removeExpression([in] BSTR propname);
8116
8117     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
8118     void tabIndex(short v);
8119
8120     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
8121     short tabIndex();
8122
8123     [id(DISPID_IHTMLELEMENT2_FOCUS)]
8124     void focus();
8125
8126     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
8127     void accessKey(BSTR v);
8128
8129     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
8130     BSTR accessKey();
8131
8132     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
8133     void onblur(VARIANT v);
8134
8135     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
8136     VARIANT onblur();
8137
8138     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
8139     void onfocus(VARIANT v);
8140
8141     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
8142     VARIANT onfocus();
8143
8144     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
8145     void onresize(VARIANT v);
8146
8147     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
8148     VARIANT onresize();
8149
8150     [id(DISPID_IHTMLELEMENT2_BLUR)]
8151     void blur();
8152
8153     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
8154     void addFilter([in] IUnknown *pUnk);
8155
8156     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
8157     void removeFilter([in] IUnknown *pUnk);
8158
8159     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
8160     long clientHeight();
8161
8162     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
8163     long clientWidth();
8164
8165     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
8166     long clientTop();
8167
8168     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
8169     long clientLeft();
8170
8171     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
8172     VARIANT_BOOL attachEvent(
8173             [in] BSTR event,
8174             [in] IDispatch *pDisp);
8175
8176     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
8177     void detachEvent(
8178             [in] BSTR event,
8179             [in] IDispatch *pDisp);
8180
8181     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
8182     VARIANT readyState();
8183
8184     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
8185     void onreadystatechange(VARIANT v);
8186
8187     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
8188     VARIANT onreadystatechange();
8189
8190     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
8191     void onrowsdelete(VARIANT v);
8192
8193     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
8194     VARIANT onrowsdelete();
8195
8196     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
8197     void onrowsinserted(VARIANT v);
8198
8199     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
8200      VARIANT onrowsinserted();
8201
8202     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
8203      void oncellchange(VARIANT v);
8204
8205     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
8206     VARIANT oncellchange();
8207
8208     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
8209     void dir(BSTR v);
8210
8211     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
8212     BSTR dir();
8213
8214     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
8215     IDispatch *createControlRange();
8216
8217     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
8218     long scrollHeight();
8219
8220     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
8221     long scrollWidth();
8222
8223     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
8224     void scrollTop(long v);
8225
8226     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
8227     long scrollTop();
8228
8229     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
8230     void scrollLeft(long v);
8231
8232     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
8233     long scrollLeft();
8234
8235     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
8236     void clearAttributes();
8237
8238     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
8239     void oncontextmenu(VARIANT v);
8240
8241     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
8242     VARIANT oncontextmenu();
8243
8244     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
8245     IHTMLElement *insertAdjacentElement(
8246             [in] BSTR where,
8247             [in] IHTMLElement *insertedElement);
8248
8249     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
8250     IHTMLElement *applyElement(
8251             [in] IHTMLElement *apply,
8252             [in] BSTR where);
8253
8254     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
8255     BSTR getAdjacentText([in] BSTR where);
8256
8257     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
8258     BSTR replaceAdjacentText(
8259             [in] BSTR where,
8260             [in] BSTR newText);
8261
8262     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
8263     VARIANT_BOOL canHaveChildren();
8264
8265     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
8266     long addBehavior(
8267             [in] BSTR bstrUrl,
8268             [in, optional] VARIANT *pvarFactory);
8269
8270     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
8271     VARIANT_BOOL removeBehavior([in] long cookie);
8272
8273     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
8274     IHTMLStyle *runtimeStyle();
8275
8276     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
8277     IDispatch *behaviorUrns();
8278
8279     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
8280     void tagUrn(BSTR v);
8281
8282     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
8283     BSTR tagUrn();
8284
8285     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
8286     void onbeforeeditfocus(VARIANT v);
8287
8288     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
8289     VARIANT onbeforeeditfocus();
8290
8291     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
8292     long readyStateValue();
8293
8294     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
8295     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
8296
8297     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
8298     void mergeAttributes(
8299             [in] IHTMLElement *mergeThis,
8300             [in, optional] VARIANT *pvarFlags);
8301
8302     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
8303     VARIANT_BOOL isMultiLine();
8304
8305     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
8306     VARIANT_BOOL canHaveHTML();
8307
8308     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
8309     void onlayoutcomplete(VARIANT v);
8310
8311     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
8312     VARIANT onlayoutcomplete();
8313
8314     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
8315     void onpage(VARIANT v);
8316
8317     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
8318     VARIANT onpage();
8319
8320     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
8321     void inflateBlock(VARIANT_BOOL v);
8322
8323     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
8324     VARIANT_BOOL inflateBlock();
8325
8326     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
8327     void onbeforedeactivate(VARIANT v);
8328
8329     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
8330     VARIANT onbeforedeactivate();
8331
8332     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
8333     void setActive();
8334
8335     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
8336     void contentEditable(BSTR v);
8337
8338     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
8339     BSTR contentEditable();
8340
8341     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
8342     VARIANT_BOOL isContentEditable();
8343
8344     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
8345     void hideFocus(VARIANT_BOOL v);
8346
8347     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
8348     VARIANT_BOOL hideFocus();
8349
8350     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
8351     void disabled(VARIANT_BOOL v);
8352
8353     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
8354     VARIANT_BOOL disabled();
8355
8356     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
8357     VARIANT_BOOL isDisabled();
8358
8359     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
8360     void onmove(VARIANT v);
8361
8362     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
8363     VARIANT onmove();
8364
8365     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
8366     void oncontrolselect(VARIANT v);
8367
8368     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
8369     VARIANT oncontrolselect();
8370
8371     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
8372     VARIANT_BOOL fireEvent(
8373             [in] BSTR bstrEventName,
8374             [in, optional] VARIANT *pvarEventObject);
8375
8376     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
8377     void onresizestart(VARIANT v);
8378
8379     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
8380     VARIANT onresizestart();
8381
8382     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
8383     void onresizeend(VARIANT v);
8384
8385     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
8386     VARIANT onresizeend();
8387
8388     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
8389     void onmovestart(VARIANT v);
8390
8391     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
8392     VARIANT onmovestart();
8393
8394     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
8395     void onmoveend(VARIANT v);
8396
8397     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
8398     VARIANT onmoveend();
8399
8400     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
8401     void onmouseenter(VARIANT v);
8402
8403     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
8404     VARIANT onmouseenter();
8405
8406     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
8407     void onmouseleave(VARIANT v);
8408
8409     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
8410     VARIANT onmouseleave();
8411
8412     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
8413     void onactivate(VARIANT v);
8414
8415     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
8416     VARIANT onactivate();
8417
8418     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
8419     void ondeactivate(VARIANT v);
8420
8421     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
8422     VARIANT ondeactivate();
8423
8424     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
8425     VARIANT_BOOL dragDrop();
8426
8427     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
8428     LONG glyphMode();
8429
8430     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
8431     void onmousewheel(VARIANT v);
8432
8433     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
8434     VARIANT onmousewheel();
8435
8436     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
8437     void normalize();
8438
8439     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
8440     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
8441
8442     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
8443     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
8444
8445     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
8446     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
8447
8448     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
8449     void onbeforeactivate(VARIANT v);
8450
8451     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
8452     VARIANT onbeforeactivate();
8453
8454     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
8455     void onfocusin(VARIANT v);
8456
8457     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
8458     VARIANT onfocusin();
8459
8460     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
8461     void onfocusout(VARIANT v);
8462
8463     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
8464     VARIANT onfocusout();
8465
8466     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
8467     long uniqueNumber();
8468
8469     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
8470     BSTR uniqueID();
8471
8472     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
8473     long nodeType();
8474
8475     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
8476     IHTMLDOMNode *parentNode();
8477
8478     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
8479     VARIANT_BOOL hasChildNodes();
8480
8481     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
8482     IDispatch *childNodes();
8483
8484     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
8485     IDispatch *attributes();
8486
8487     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
8488     IHTMLDOMNode *insertBefore(
8489             [in] IHTMLDOMNode *newChild,
8490             [in, optional] VARIANT refChild);
8491
8492     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
8493     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
8494
8495     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
8496     IHTMLDOMNode *replaceChild(
8497             [in] IHTMLDOMNode *newChild,
8498             [in] IHTMLDOMNode *oldChild);
8499
8500     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
8501     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
8502
8503     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
8504     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
8505
8506     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
8507     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
8508
8509     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
8510     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
8511
8512     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
8513     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
8514
8515     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
8516     BSTR nodeName();
8517
8518     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
8519     void nodeValue(VARIANT v);
8520
8521     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
8522     VARIANT nodeValue();
8523
8524     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
8525     IHTMLDOMNode *firstChild();
8526
8527     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
8528     IHTMLDOMNode *lastChild();
8529
8530     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
8531     IHTMLDOMNode *previousSibling();
8532
8533     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
8534     IHTMLDOMNode *nextSibling();
8535
8536     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
8537     IDispatch *ownerDocument();
8538
8539     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
8540     void dataFld(BSTR v);
8541
8542     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
8543     BSTR dataFld();
8544
8545     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
8546     void dataSrc(BSTR v);
8547
8548     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
8549     BSTR dataSrc();
8550
8551     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
8552     void dataFormatAs(BSTR v);
8553
8554     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
8555     BSTR dataFormatAs();
8556
8557     [propput, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
8558     void size(long v);
8559
8560     [propget, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
8561     long size();
8562
8563     [propput, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
8564     void multiple(VARIANT_BOOL v);
8565
8566     [propget, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
8567     VARIANT_BOOL multiple();
8568
8569     [propput, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
8570     void name(BSTR v);
8571
8572     [propget, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
8573     BSTR name();
8574
8575     [propget, id(DISPID_IHTMLSELECTELEMENT_OPTIONS)]
8576     IDispatch *options();
8577
8578     [propput, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
8579     void onchange(VARIANT v);
8580
8581     [propget, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
8582     VARIANT onchange();
8583
8584     [propput, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
8585     void selectedIndex(long v);
8586
8587     [propget, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
8588     long selectedIndex();
8589
8590     [propget, id(DISPID_IHTMLSELECTELEMENT_TYPE), displaybind, bindable]
8591     BSTR type();
8592
8593     [propput, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
8594     void value(BSTR v);
8595
8596     [propget, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
8597     BSTR value();
8598
8599     [propget, id(DISPID_IHTMLSELECTELEMENT_FORM)]
8600     IHTMLFormElement *form();
8601
8602     [id(DISPID_IHTMLSELECTELEMENT_ADD)]
8603     void add(
8604             [in] IHTMLElement *element,
8605             [in, optional] VARIANT before);
8606
8607     [id(DISPID_IHTMLSELECTELEMENT_REMOVE)]
8608     void remove([in, defaultvalue(-1)] long index);
8609
8610     [propput, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
8611     void length(long v);
8612
8613     [propget, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
8614     long length();
8615
8616     [propget, id(DISPID_IHTMLSELECTELEMENT__NEWENUM), hidden, restricted]
8617     IUnknown *_newEnum();
8618
8619     [id(DISPID_IHTMLSELECTELEMENT_ITEM)]
8620     IDispatch *item(
8621             [in, optional] VARIANT name,
8622             [in, optional] VARIANT index);
8623
8624     [id(DISPID_IHTMLSELECTELEMENT_TAGS)]
8625     IDispatch *tags([in] VARIANT tagName);
8626
8627     [id(DISPID_IHTMLSELECTELEMENT2_URNS)]
8628     IDispatch *urns([in] VARIANT urn);
8629
8630     [id(DISPID_IHTMLSELECTELEMENT4_NAMEDITEM)]
8631     IDispatch *namedItem([in] BSTR name);
8632 }
8633
8634 /*****************************************************************************
8635  *    IHTMLSelectionObject interface
8636  */
8637 [
8638     odl,
8639     oleautomation,
8640     dual,
8641     uuid(3050F25A-98B5-11CF-BB82-00AA00BDCE0B)
8642 ]
8643 interface IHTMLSelectionObject : IDispatch
8644 {
8645     [id(DISPID_IHTMLSELECTIONOBJECT_CREATERANGE)]
8646     HRESULT createRange([retval, out] IDispatch **range);
8647
8648     [id(DISPID_IHTMLSELECTIONOBJECT_EMPTY)]
8649     HRESULT empty();
8650
8651     [id(DISPID_IHTMLSELECTIONOBJECT_CLEAR)]
8652     HRESULT clear();
8653
8654     [propget, id(DISPID_IHTMLSELECTIONOBJECT_TYPE)]
8655     HRESULT type([retval, out] BSTR *p);
8656 }
8657
8658 /*****************************************************************************
8659  *    IHTMLOptionElement interface
8660  */
8661 [
8662     odl,
8663     oleautomation,
8664     dual,
8665     uuid(3050F211-98B5-11CF-BB82-00AA00BDCE0B)
8666 ]
8667 interface IHTMLOptionElement : IDispatch
8668 {
8669     [propput, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
8670     HRESULT selected([in] VARIANT_BOOL v);
8671
8672     [propget, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
8673     HRESULT selected([retval, out] VARIANT_BOOL *p);
8674
8675     [propput, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
8676     HRESULT value([in] BSTR v);
8677
8678     [propget, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
8679     HRESULT value([retval, out] BSTR *p);
8680
8681     [propput, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
8682     HRESULT defaultSelected([in] VARIANT_BOOL v);
8683
8684     [propget, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
8685     HRESULT defaultSelected([retval, out] VARIANT_BOOL *p);
8686
8687     [propput, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
8688     HRESULT index([in] LONG v);
8689
8690     [propget, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
8691     HRESULT index([retval, out] LONG *p);
8692
8693     [propput, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
8694     HRESULT text([in] BSTR v);
8695
8696     [propget, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
8697     HRESULT text([retval, out] BSTR *p);
8698
8699     [propget, id(DISPID_IHTMLOPTIONELEMENT_FORM)]
8700     HRESULT form([retval, out] IHTMLFormElement **p);
8701 }
8702
8703 /*****************************************************************************
8704  *    IHTMLOptionElementFactory interface
8705  */
8706 [
8707     odl,
8708     oleautomation,
8709     dual,
8710     uuid(3050F38C-98B5-11Cf-BB82-00AA00BDCE0B)
8711 ]
8712 interface IHTMLOptionElementFactory : IDispatch
8713 {
8714     [id(DISPID_IHTMLOPTIONELEMENTFACTORY_CREATE)]
8715     HRESULT create(
8716         [optional, in] VARIANT text,
8717         [optional, in] VARIANT value,
8718         [optional, in] VARIANT defaultselected,
8719         [optional, in] VARIANT selected,
8720         [retval, out] IHTMLOptionElement **optelem);
8721 }
8722
8723 /*****************************************************************************
8724  *    DispHTMLOptionElement dispinterface
8725  */
8726 [
8727     hidden,
8728     uuid(3050f52b-98b5-11cf-bb82-00aa00bdce0b)
8729 ]
8730 dispinterface DispHTMLOptionElement
8731 {
8732 properties:
8733 methods:
8734     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
8735     void setAttribute(
8736             [in] BSTR strAttributeName,
8737             [in] VARIANT AttributeValue,
8738             [in, defaultvalue(1)] LONG lFlags);
8739
8740     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
8741     VARIANT getAttribute(
8742              [in] BSTR strAttributeName,
8743              [in, defaultvalue(0)] LONG lFlags);
8744
8745     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
8746     VARIANT_BOOL removeAttribute(
8747             [in] BSTR strAttributeName,
8748             [in, defaultvalue(1)] LONG lFlags);
8749
8750     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
8751     void className(BSTR v);
8752
8753     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
8754     BSTR className();
8755
8756     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
8757     void id(BSTR v);
8758
8759     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
8760     BSTR id();
8761
8762     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
8763     BSTR tagName();
8764
8765     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
8766     IHTMLElement *parentElement();
8767
8768     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
8769     IHTMLStyle *style();
8770
8771     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
8772     void onhelp(VARIANT v);
8773
8774     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
8775     VARIANT onhelp();
8776
8777     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
8778     void onclick(VARIANT v);
8779
8780     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
8781     VARIANT onclick();
8782
8783     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
8784     void ondblclick(VARIANT v);
8785
8786     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
8787     VARIANT ondblclick();
8788
8789     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
8790     void onkeydown(VARIANT v);
8791
8792     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
8793     VARIANT onkeydown();
8794
8795     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
8796     void onkeyup(VARIANT v);
8797
8798     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
8799     VARIANT onkeyup();
8800
8801     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
8802     void onkeypress(VARIANT v);
8803
8804     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
8805     VARIANT onkeypress();
8806
8807     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
8808     void onmouseout(VARIANT v);
8809
8810     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
8811     VARIANT onmouseout();
8812
8813     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
8814     void onmouseover(VARIANT v);
8815
8816     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
8817     VARIANT onmouseover();
8818
8819     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
8820     void onmousemove(VARIANT v);
8821
8822     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
8823     VARIANT onmousemove();
8824
8825     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
8826     void onmousedown(VARIANT v);
8827
8828     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
8829     VARIANT onmousedown();
8830
8831     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
8832     void onmouseup(VARIANT v);
8833
8834     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
8835     VARIANT onmouseup();
8836
8837     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
8838     IDispatch *document();
8839
8840     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
8841     void title(BSTR v);
8842
8843     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
8844     BSTR title();
8845
8846     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
8847     void language(BSTR v);
8848
8849     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
8850     BSTR language();
8851
8852     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
8853     void onselectstart(VARIANT v);
8854
8855     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
8856     VARIANT onselectstart();
8857
8858     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
8859     void scrollIntoView([in, optional] VARIANT varargStart);
8860
8861     [id(DISPID_IHTMLELEMENT_CONTAINS)]
8862     VARIANT_BOOL contains([in] IHTMLElement *pChild);
8863
8864     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
8865     long sourceIndex();
8866
8867     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
8868     VARIANT recordNumber();
8869
8870     [propput, id(DISPID_IHTMLELEMENT_LANG)]
8871     void lang(BSTR v);
8872
8873     [propget, id(DISPID_IHTMLELEMENT_LANG)]
8874     BSTR lang();
8875
8876     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
8877     long offsetLeft();
8878
8879     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
8880     long offsetTop();
8881
8882     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
8883     long offsetWidth();
8884
8885     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
8886     long offsetHeight();
8887
8888     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
8889     IHTMLElement *offsetParent();
8890
8891     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
8892     void innerHTML(BSTR v);
8893
8894     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
8895     BSTR innerHTML();
8896
8897     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
8898     void innerText(BSTR v);
8899
8900     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
8901     BSTR innerText();
8902
8903     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
8904     void outerHTML(BSTR v);
8905
8906     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
8907     BSTR outerHTML();
8908
8909     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
8910     void outerText(BSTR v);
8911
8912     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
8913     BSTR outerText();
8914
8915     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
8916     void insertAdjacentHTML(
8917             [in] BSTR where,
8918             [in] BSTR html);
8919
8920     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
8921     void insertAdjacentText(
8922             [in] BSTR where,
8923             [in] BSTR text);
8924
8925     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
8926     IHTMLElement *parentTextEdit();
8927
8928     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
8929     VARIANT_BOOL isTextEdit();
8930
8931     [id(DISPID_IHTMLELEMENT_CLICK)]
8932     void click();
8933
8934     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
8935     IHTMLFiltersCollection *filters();
8936
8937     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
8938     void ondragstart(VARIANT v);
8939
8940     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
8941     VARIANT ondragstart();
8942
8943     [id(DISPID_IHTMLELEMENT_TOSTRING)]
8944     BSTR toString();
8945
8946     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
8947     void onbeforeupdate(VARIANT v);
8948
8949     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
8950     VARIANT onbeforeupdate();
8951
8952     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
8953     void onafterupdate(VARIANT v);
8954
8955     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
8956     VARIANT onafterupdate();
8957
8958     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
8959     void onerrorupdate(VARIANT v);
8960
8961     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
8962     VARIANT onerrorupdate();
8963
8964     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
8965     void onrowexit(VARIANT v);
8966
8967     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
8968     VARIANT onrowexit();
8969
8970     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
8971     void onrowenter(VARIANT v);
8972
8973     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
8974     VARIANT onrowenter();
8975
8976     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
8977     void ondatasetchanged(VARIANT v);
8978
8979     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
8980     VARIANT ondatasetchanged();
8981
8982     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
8983     void ondataavailable(VARIANT v);
8984
8985     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
8986     VARIANT ondataavailable();
8987
8988     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
8989     void ondatasetcomplete(VARIANT v);
8990
8991     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
8992     VARIANT ondatasetcomplete();
8993
8994     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
8995     void onfilterchange(VARIANT v);
8996
8997     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
8998     VARIANT onfilterchange();
8999
9000     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
9001     IDispatch *children();
9002
9003     [propget, id(DISPID_IHTMLELEMENT_ALL)]
9004     IDispatch *all();
9005
9006     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
9007     BSTR scopeName();
9008
9009     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
9010     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
9011
9012     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
9013     void releaseCapture();
9014
9015     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
9016     void onlosecapture(VARIANT v);
9017
9018     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
9019     VARIANT onlosecapture();
9020
9021     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
9022     BSTR componentFromPoint(
9023             [in] long x,
9024             [in] long y);
9025
9026     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
9027     void doScroll([in, optional] VARIANT component);
9028
9029     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
9030     void onscroll(VARIANT v);
9031
9032     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
9033     VARIANT onscroll();
9034
9035     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
9036     void ondrag(VARIANT v);
9037
9038     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
9039     VARIANT ondrag();
9040
9041     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
9042     void ondragend(VARIANT v);
9043
9044     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
9045     VARIANT ondragend();
9046
9047     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
9048     void ondragenter(VARIANT v);
9049
9050     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
9051     VARIANT ondragenter();
9052
9053     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
9054     void ondragover(VARIANT v);
9055
9056     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
9057     VARIANT ondragover();
9058
9059     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
9060     void ondragleave(VARIANT v);
9061
9062     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
9063     VARIANT ondragleave();
9064
9065     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
9066     void ondrop(VARIANT v);
9067
9068     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
9069     VARIANT ondrop();
9070
9071     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
9072     void onbeforecut(VARIANT v);
9073
9074     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
9075     VARIANT onbeforecut();
9076
9077     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
9078     void oncut(VARIANT v);
9079
9080     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
9081     VARIANT oncut();
9082
9083     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
9084     void onbeforecopy(VARIANT v);
9085
9086     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
9087     VARIANT onbeforecopy();
9088
9089     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
9090     void oncopy(VARIANT v);
9091
9092     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
9093     VARIANT oncopy();
9094
9095     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
9096     void onbeforepaste(VARIANT v);
9097
9098     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
9099     VARIANT onbeforepaste();
9100
9101     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
9102     void onpaste(VARIANT v);
9103
9104     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
9105     VARIANT onpaste();
9106
9107     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
9108     IHTMLCurrentStyle *currentStyle();
9109
9110     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
9111     void onpropertychange(VARIANT v);
9112
9113     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
9114     VARIANT onpropertychange();
9115
9116     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
9117     IHTMLRectCollection *getClientRects();
9118
9119     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
9120     IHTMLRect *getBoundingClientRect();
9121
9122     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
9123     void setExpression(
9124             [in] BSTR propname,
9125             [in] BSTR expression,
9126             [in, defaultvalue("")] BSTR language);
9127
9128     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
9129     VARIANT getExpression([in] BSTR propname);
9130
9131     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
9132     VARIANT_BOOL removeExpression([in] BSTR propname);
9133
9134     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
9135     void tabIndex(short v);
9136
9137     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
9138     short tabIndex();
9139
9140     [id(DISPID_IHTMLELEMENT2_FOCUS)]
9141     void focus();
9142
9143     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
9144     void accessKey(BSTR v);
9145
9146     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
9147     BSTR accessKey();
9148
9149     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
9150     void onblur(VARIANT v);
9151
9152     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
9153     VARIANT onblur();
9154
9155     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
9156     void onfocus(VARIANT v);
9157
9158     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
9159     VARIANT onfocus();
9160
9161     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
9162     void onresize(VARIANT v);
9163
9164     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
9165     VARIANT onresize();
9166
9167     [id(DISPID_IHTMLELEMENT2_BLUR)]
9168     void blur();
9169
9170     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
9171     void addFilter([in] IUnknown *pUnk);
9172
9173     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
9174     void removeFilter([in] IUnknown *pUnk);
9175
9176     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
9177     long clientHeight();
9178
9179     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
9180     long clientWidth();
9181
9182     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
9183     long clientTop();
9184
9185     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
9186     long clientLeft();
9187
9188     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
9189     VARIANT_BOOL attachEvent(
9190             [in] BSTR event,
9191             [in] IDispatch *pDisp);
9192
9193     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
9194     void detachEvent(
9195             [in] BSTR event,
9196             [in] IDispatch *pDisp);
9197
9198     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
9199     VARIANT readyState();
9200
9201     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
9202     void onreadystatechange(VARIANT v);
9203
9204     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
9205     VARIANT onreadystatechange();
9206
9207     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
9208     void onrowsdelete(VARIANT v);
9209
9210     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
9211     VARIANT onrowsdelete();
9212
9213     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
9214     void onrowsinserted(VARIANT v);
9215
9216     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
9217      VARIANT onrowsinserted();
9218
9219     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
9220      void oncellchange(VARIANT v);
9221
9222     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
9223     VARIANT oncellchange();
9224
9225     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
9226     void dir(BSTR v);
9227
9228     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
9229     BSTR dir();
9230
9231     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
9232     IDispatch *createControlRange();
9233
9234     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
9235     long scrollHeight();
9236
9237     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
9238     long scrollWidth();
9239
9240     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
9241     void scrollTop(long v);
9242
9243     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
9244     long scrollTop();
9245
9246     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
9247     void scrollLeft(long v);
9248
9249     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
9250     long scrollLeft();
9251
9252     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
9253     void clearAttributes();
9254
9255     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
9256     void oncontextmenu(VARIANT v);
9257
9258     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
9259     VARIANT oncontextmenu();
9260
9261     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
9262     IHTMLElement *insertAdjacentElement(
9263             [in] BSTR where,
9264             [in] IHTMLElement *insertedElement);
9265
9266     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
9267     IHTMLElement *applyElement(
9268             [in] IHTMLElement *apply,
9269             [in] BSTR where);
9270
9271     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
9272     BSTR getAdjacentText([in] BSTR where);
9273
9274     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
9275     BSTR replaceAdjacentText(
9276             [in] BSTR where,
9277             [in] BSTR newText);
9278
9279     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
9280     VARIANT_BOOL canHaveChildren();
9281
9282     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
9283     long addBehavior(
9284             [in] BSTR bstrUrl,
9285             [in, optional] VARIANT *pvarFactory);
9286
9287     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
9288     VARIANT_BOOL removeBehavior([in] long cookie);
9289
9290     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
9291     IHTMLStyle *runtimeStyle();
9292
9293     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
9294     IDispatch *behaviorUrns();
9295
9296     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
9297     void tagUrn(BSTR v);
9298
9299     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
9300     BSTR tagUrn();
9301
9302     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
9303     void onbeforeeditfocus(VARIANT v);
9304
9305     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
9306     VARIANT onbeforeeditfocus();
9307
9308     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
9309     long readyStateValue();
9310
9311     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
9312     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
9313
9314     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
9315     void mergeAttributes(
9316             [in] IHTMLElement *mergeThis,
9317             [in, optional] VARIANT *pvarFlags);
9318
9319     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
9320     VARIANT_BOOL isMultiLine();
9321
9322     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
9323     VARIANT_BOOL canHaveHTML();
9324
9325     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
9326     void onlayoutcomplete(VARIANT v);
9327
9328     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
9329     VARIANT onlayoutcomplete();
9330
9331     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
9332     void onpage(VARIANT v);
9333
9334     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
9335     VARIANT onpage();
9336
9337     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
9338     void inflateBlock(VARIANT_BOOL v);
9339
9340     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
9341     VARIANT_BOOL inflateBlock();
9342
9343     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
9344     void onbeforedeactivate(VARIANT v);
9345
9346     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
9347     VARIANT onbeforedeactivate();
9348
9349     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
9350     void setActive();
9351
9352     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
9353     void contentEditable(BSTR v);
9354
9355     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
9356     BSTR contentEditable();
9357
9358     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
9359     VARIANT_BOOL isContentEditable();
9360
9361     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
9362     void hideFocus(VARIANT_BOOL v);
9363
9364     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
9365     VARIANT_BOOL hideFocus();
9366
9367     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
9368     void disabled(VARIANT_BOOL v);
9369
9370     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
9371     VARIANT_BOOL disabled();
9372
9373     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
9374     VARIANT_BOOL isDisabled();
9375
9376     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
9377     void onmove(VARIANT v);
9378
9379     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
9380     VARIANT onmove();
9381
9382     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
9383     void oncontrolselect(VARIANT v);
9384
9385     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
9386     VARIANT oncontrolselect();
9387
9388     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
9389     VARIANT_BOOL fireEvent(
9390             [in] BSTR bstrEventName,
9391             [in, optional] VARIANT *pvarEventObject);
9392
9393     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
9394     void onresizestart(VARIANT v);
9395
9396     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
9397     VARIANT onresizestart();
9398
9399     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
9400     void onresizeend(VARIANT v);
9401
9402     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
9403     VARIANT onresizeend();
9404
9405     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
9406     void onmovestart(VARIANT v);
9407
9408     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
9409     VARIANT onmovestart();
9410
9411     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
9412     void onmoveend(VARIANT v);
9413
9414     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
9415     VARIANT onmoveend();
9416
9417     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
9418     void onmouseenter(VARIANT v);
9419
9420     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
9421     VARIANT onmouseenter();
9422
9423     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
9424     void onmouseleave(VARIANT v);
9425
9426     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
9427     VARIANT onmouseleave();
9428
9429     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
9430     void onactivate(VARIANT v);
9431
9432     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
9433     VARIANT onactivate();
9434
9435     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
9436     void ondeactivate(VARIANT v);
9437
9438     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
9439     VARIANT ondeactivate();
9440
9441     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
9442     VARIANT_BOOL dragDrop();
9443
9444     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
9445     LONG glyphMode();
9446
9447     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
9448     void onmousewheel(VARIANT v);
9449
9450     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
9451     VARIANT onmousewheel();
9452
9453     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
9454     void normalize();
9455
9456     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
9457     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
9458
9459     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
9460     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
9461
9462     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
9463     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
9464
9465     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
9466     void onbeforeactivate(VARIANT v);
9467
9468     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
9469     VARIANT onbeforeactivate();
9470
9471     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
9472     void onfocusin(VARIANT v);
9473
9474     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
9475     VARIANT onfocusin();
9476
9477     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
9478     void onfocusout(VARIANT v);
9479
9480     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
9481     VARIANT onfocusout();
9482
9483     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
9484     long uniqueNumber();
9485
9486     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
9487     BSTR uniqueID();
9488
9489     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
9490     long nodeType();
9491
9492     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
9493     IHTMLDOMNode *parentNode();
9494
9495     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
9496     VARIANT_BOOL hasChildNodes();
9497
9498     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
9499     IDispatch *childNodes();
9500
9501     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
9502     IDispatch *attributes();
9503
9504     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
9505     IHTMLDOMNode *insertBefore(
9506             [in] IHTMLDOMNode *newChild,
9507             [in, optional] VARIANT refChild);
9508
9509     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
9510     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
9511
9512     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
9513     IHTMLDOMNode *replaceChild(
9514             [in] IHTMLDOMNode *newChild,
9515             [in] IHTMLDOMNode *oldChild);
9516
9517     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
9518     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
9519
9520     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
9521     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
9522
9523     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
9524     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
9525
9526     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
9527     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
9528
9529     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
9530     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
9531
9532     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
9533     BSTR nodeName();
9534
9535     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
9536     void nodeValue(VARIANT v);
9537
9538     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
9539     VARIANT nodeValue();
9540
9541     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
9542     IHTMLDOMNode *firstChild();
9543
9544     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
9545     IHTMLDOMNode *lastChild();
9546
9547     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
9548     IHTMLDOMNode *previousSibling();
9549
9550     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
9551     IHTMLDOMNode *nextSibling();
9552
9553     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
9554     IDispatch *ownerDocument();
9555
9556     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
9557     void dataFld(BSTR v);
9558
9559     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
9560     BSTR dataFld();
9561
9562     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
9563     void dataSrc(BSTR v);
9564
9565     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
9566     BSTR dataSrc();
9567
9568     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
9569     void dataFormatAs(BSTR v);
9570
9571     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
9572     BSTR dataFormatAs();
9573
9574     [propput, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
9575     void selected(VARIANT_BOOL v);
9576
9577     [propget, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
9578     VARIANT_BOOL selected();
9579
9580     [propput, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
9581     void value(BSTR v);
9582
9583     [propget, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
9584     BSTR value();
9585
9586     [propput, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
9587     void defaultSelected(VARIANT_BOOL v);
9588
9589     [propget, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
9590     VARIANT_BOOL defaultSelected();
9591
9592     [propput, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
9593     void index(LONG v);
9594
9595     [propget, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
9596     LONG index();
9597
9598     [propput, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
9599     void text(BSTR v);
9600
9601     [propget, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
9602     BSTR text();
9603
9604     [propget, id(DISPID_IHTMLOPTIONELEMENT_FORM)]
9605     IHTMLFormElement *form();
9606
9607     [propput, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
9608     void label(BSTR v);
9609
9610     [propget, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
9611     BSTR label();
9612 }
9613
9614 /*****************************************************************************
9615  *    IHTMLInputElement interface
9616  */
9617 [
9618     odl,
9619     oleautomation,
9620     dual,
9621     uuid(3050f5d2-98b5-11cf-bb82-00aa00bdce0b)
9622 ]
9623 interface IHTMLInputElement : IDispatch
9624 {
9625     [propput, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
9626     HRESULT type([in] BSTR v);
9627
9628     [propget, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
9629     HRESULT type([retval, out] BSTR *p);
9630
9631     [propput, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
9632     HRESULT value([in] BSTR v);
9633
9634     [propget, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
9635     HRESULT value([retval, out] BSTR *p);
9636
9637     [propput, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
9638     HRESULT name([in] BSTR v);
9639
9640     [propget, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
9641     HRESULT name([retval, out] BSTR *p);
9642
9643     [propput, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
9644     HRESULT status([in] VARIANT_BOOL v);
9645
9646     [propget, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
9647     HRESULT status([retval, out] VARIANT_BOOL *p);
9648
9649     [propput, id(DISPID_IHTMLINPUTELEMENT_DISABLED), displaybind, bindable]
9650     HRESULT disabled([in] VARIANT_BOOL v);
9651
9652     [propget, id(DISPID_IHTMLINPUTELEMENT_DISABLED), displaybind, bindable]
9653     HRESULT disabled([retval, out] VARIANT_BOOL *p);
9654
9655     [propget, id(DISPID_IHTMLINPUTELEMENT_FORM)]
9656     HRESULT form([retval, out] IHTMLFormElement **p);
9657
9658     [propput, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
9659     HRESULT size([in] long v);
9660
9661     [propget, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
9662     HRESULT size([retval, out] long *p);
9663
9664     [propput, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
9665     HRESULT maxLength([in] long v);
9666
9667     [propget, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
9668     HRESULT maxLength([retval, out] long *p);
9669
9670     [id(DISPID_IHTMLINPUTELEMENT_SELECT)]
9671     HRESULT select();
9672
9673     [propput, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
9674     HRESULT onchange([in] VARIANT v);
9675
9676     [propget, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
9677     HRESULT onchange([retval, out] VARIANT *p);
9678
9679     [propput, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
9680     HRESULT onselect([in] VARIANT v);
9681
9682     [propget, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
9683     HRESULT onselect([retval, out] VARIANT *p);
9684
9685     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9686     HRESULT defaultValue([in] BSTR v);
9687
9688     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9689     HRESULT defaultValue([retval, out] BSTR *p);
9690
9691     [propput, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
9692     HRESULT readOnly([in] VARIANT_BOOL v);
9693
9694     [propget, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
9695     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
9696
9697     [id(DISPID_IHTMLINPUTELEMENT_CREATETEXTRANGE)]
9698     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
9699
9700     [propput, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
9701     HRESULT indeterminate([in] VARIANT_BOOL v);
9702
9703     [propget, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
9704     HRESULT indeterminate([retval, out] VARIANT_BOOL *p);
9705
9706     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
9707     HRESULT defaultChecked([in] VARIANT_BOOL v);
9708
9709     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
9710     HRESULT defaultChecked([retval, out] VARIANT_BOOL *p);
9711
9712     [propput, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
9713     HRESULT checked([in] VARIANT_BOOL v);
9714
9715     [propget, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
9716     HRESULT checked([retval, out] VARIANT_BOOL *p);
9717
9718     [propput, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
9719     HRESULT border([in] VARIANT v);
9720
9721     [propget, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
9722     HRESULT border([retval, out] VARIANT *p);
9723
9724     [propput, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
9725     HRESULT vspace([in] long v);
9726
9727     [propget, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
9728     HRESULT vspace([retval, out] long *p);
9729
9730     [propput, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
9731     HRESULT hspace([in] long v);
9732
9733     [propget, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
9734     HRESULT hspace([retval, out] long *p);
9735
9736     [propput, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
9737     HRESULT alt([in] BSTR v);
9738
9739     [propget, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
9740     HRESULT alt([retval, out] BSTR *p);
9741
9742     [propput, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
9743     HRESULT src([in] BSTR v);
9744
9745     [propget, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
9746     HRESULT src([retval, out] BSTR *p);
9747
9748     [propput, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
9749     HRESULT lowsrc([in] BSTR v);
9750
9751     [propget, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
9752     HRESULT lowsrc([retval, out] BSTR *p);
9753
9754     [propput, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
9755     HRESULT vrml([in] BSTR v);
9756
9757     [propget, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
9758     HRESULT vrml([retval, out] BSTR *p);
9759
9760     [propput, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
9761     HRESULT dynsrc([in] BSTR v);
9762
9763     [propget, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
9764     HRESULT dynsrc([retval, out] BSTR *p);
9765
9766     [propget, id(DISPID_IHTMLINPUTELEMENT_READYSTATE)]
9767     HRESULT readyState([retval, out] BSTR *p);
9768
9769     [propget, id(DISPID_IHTMLINPUTELEMENT_COMPLETE)]
9770     HRESULT complete([retval, out] VARIANT_BOOL *p);
9771
9772     [propput, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
9773     HRESULT loop([in] VARIANT v);
9774
9775     [propget, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
9776     HRESULT loop([retval, out] VARIANT *p);
9777
9778     [propput, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
9779     HRESULT align([in] BSTR v);
9780
9781     [propget, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
9782     HRESULT align([retval, out] BSTR *p);
9783
9784     [propput, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
9785     HRESULT onload([in] VARIANT v);
9786
9787     [propget, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
9788     HRESULT onload([retval, out] VARIANT *p);
9789
9790     [propput, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
9791     HRESULT onerror([in] VARIANT v);
9792
9793     [propget, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
9794     HRESULT onerror([retval, out] VARIANT *p);
9795
9796     [propput, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
9797     HRESULT onabort([in] VARIANT v);
9798
9799     [propget, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
9800     HRESULT onabort([retval, out] VARIANT *p);
9801
9802     [propput, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
9803     HRESULT width([in] long v);
9804
9805     [propget, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
9806     HRESULT width([retval, out] long *p);
9807
9808     [propput, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
9809     HRESULT height([in] long v);
9810
9811     [propget, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
9812     HRESULT height([retval, out] long *p);
9813
9814     [propput, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
9815     HRESULT start([in] BSTR v);
9816
9817     [propget, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
9818     HRESULT start([retval, out] BSTR *p);
9819 }
9820
9821 /*****************************************************************************
9822  *    IHTMLInputTextElement interface
9823  */
9824 [
9825     odl,
9826     oleautomation,
9827     dual,
9828     uuid(3050f2a6-98b5-11cf-bb82-00aa00bdce0b)
9829 ]
9830 interface IHTMLInputTextElement : IDispatch
9831 {
9832     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_TYPE)]
9833     HRESULT type([retval, out] BSTR *p);
9834
9835     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_VALUE), displaybind, bindable]
9836     HRESULT value([in] BSTR v);
9837
9838     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_VALUE), displaybind, bindable]
9839     HRESULT value([retval, out] BSTR *p);
9840
9841     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_NAME), displaybind, bindable]
9842     HRESULT name([in] BSTR v);
9843
9844     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_NAME), displaybind, bindable]
9845     HRESULT name([retval, out] BSTR *p);
9846
9847     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_STATUS)]
9848     HRESULT status([in] VARIANT v);
9849
9850     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_STATUS)]
9851     HRESULT status([retval, out] VARIANT *p);
9852
9853     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_DISABLED), displaybind, bindable]
9854     HRESULT disabled([in] VARIANT_BOOL v);
9855
9856     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_DISABLED), displaybind, bindable]
9857     HRESULT disabled([retval, out] VARIANT_BOOL *p);
9858
9859     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_FORM)]
9860     HRESULT form([retval, out] IHTMLFormElement **p);
9861
9862     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9863     HRESULT defaultValue([in] BSTR v);
9864
9865     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9866     HRESULT defaultValue([retval, out] BSTR *p);
9867
9868     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_SIZE), displaybind, bindable]
9869     HRESULT size([in] long v);
9870
9871     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_SIZE), displaybind, bindable]
9872     HRESULT size([retval, out] long *p);
9873
9874     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_MAXLENGTH), displaybind, bindable]
9875     HRESULT maxLength([in] long v);
9876
9877     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_MAXLENGTH), displaybind, bindable]
9878     HRESULT maxLength([retval, out] long *p);
9879
9880     [id(DISPID_IHTMLINPUTTEXTELEMENT_SELECT)]
9881     HRESULT select();
9882
9883     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_ONCHANGE), displaybind, bindable]
9884     HRESULT onchange([in] VARIANT v);
9885
9886     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_ONCHANGE), displaybind, bindable]
9887     HRESULT onchange([retval, out] VARIANT *p);
9888
9889     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_ONSELECT), displaybind, bindable]
9890     HRESULT onselect([in] VARIANT v);
9891
9892     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_ONSELECT), displaybind, bindable]
9893     HRESULT onselect([retval, out] VARIANT *p);
9894
9895     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_READONLY), displaybind, bindable]
9896     HRESULT readOnly([in] VARIANT_BOOL v);
9897
9898     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_READONLY), displaybind, bindable]
9899     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
9900
9901     [id(DISPID_IHTMLINPUTTEXTELEMENT_CREATETEXTRANGE)]
9902     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
9903 }
9904
9905 [
9906     hidden,
9907     uuid(3050f57d-98b5-11cf-bb82-00aa00bdce0b)
9908 ]
9909 dispinterface DispHTMLInputElement
9910 {
9911 properties:
9912 methods:
9913     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
9914     void setAttribute(
9915             [in] BSTR strAttributeName,
9916             [in] VARIANT AttributeValue,
9917             [in, defaultvalue(1)] LONG lFlags);
9918
9919     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
9920     VARIANT getAttribute(
9921              [in] BSTR strAttributeName,
9922              [in, defaultvalue(0)] LONG lFlags);
9923
9924     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
9925     VARIANT_BOOL removeAttribute(
9926             [in] BSTR strAttributeName,
9927             [in, defaultvalue(1)] LONG lFlags);
9928
9929     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
9930     void className(BSTR v);
9931
9932     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
9933     BSTR className();
9934
9935     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
9936     void id(BSTR v);
9937
9938     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
9939     BSTR id();
9940
9941     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
9942     BSTR tagName();
9943
9944     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
9945     IHTMLElement *parentElement();
9946
9947     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
9948     IHTMLStyle *style();
9949
9950     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
9951     void onhelp(VARIANT v);
9952
9953     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
9954     VARIANT onhelp();
9955
9956     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
9957     void onclick(VARIANT v);
9958
9959     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
9960     VARIANT onclick();
9961
9962     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
9963     void ondblclick(VARIANT v);
9964
9965     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
9966     VARIANT ondblclick();
9967
9968     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
9969     void onkeydown(VARIANT v);
9970
9971     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
9972     VARIANT onkeydown();
9973
9974     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
9975     void onkeyup(VARIANT v);
9976
9977     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
9978     VARIANT onkeyup();
9979
9980     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
9981     void onkeypress(VARIANT v);
9982
9983     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
9984     VARIANT onkeypress();
9985
9986     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
9987     void onmouseout(VARIANT v);
9988
9989     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
9990     VARIANT onmouseout();
9991
9992     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
9993     void onmouseover(VARIANT v);
9994
9995     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
9996     VARIANT onmouseover();
9997
9998     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
9999     void onmousemove(VARIANT v);
10000
10001     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
10002     VARIANT onmousemove();
10003
10004     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
10005     void onmousedown(VARIANT v);
10006
10007     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
10008     VARIANT onmousedown();
10009
10010     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
10011     void onmouseup(VARIANT v);
10012
10013     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
10014     VARIANT onmouseup();
10015
10016     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
10017     IDispatch *document();
10018
10019     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
10020     void title(BSTR v);
10021
10022     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
10023     BSTR title();
10024
10025     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
10026     void language(BSTR v);
10027
10028     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
10029     BSTR language();
10030
10031     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
10032     void onselectstart(VARIANT v);
10033
10034     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
10035     VARIANT onselectstart();
10036
10037     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
10038     void scrollIntoView([in, optional] VARIANT varargStart);
10039
10040     [id(DISPID_IHTMLELEMENT_CONTAINS)]
10041     VARIANT_BOOL contains([in] IHTMLElement *pChild);
10042
10043     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
10044     long sourceIndex();
10045
10046     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
10047     VARIANT recordNumber();
10048
10049     [propput, id(DISPID_IHTMLELEMENT_LANG)]
10050     void lang(BSTR v);
10051
10052     [propget, id(DISPID_IHTMLELEMENT_LANG)]
10053     BSTR lang();
10054
10055     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
10056     long offsetLeft();
10057
10058     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
10059     long offsetTop();
10060
10061     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
10062     long offsetWidth();
10063
10064     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
10065     long offsetHeight();
10066
10067     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
10068     IHTMLElement *offsetParent();
10069
10070     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
10071     void innerHTML(BSTR v);
10072
10073     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
10074     BSTR innerHTML();
10075
10076     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
10077     void innerText(BSTR v);
10078
10079     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
10080     BSTR innerText();
10081
10082     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
10083     void outerHTML(BSTR v);
10084
10085     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
10086     BSTR outerHTML();
10087
10088     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
10089     void outerText(BSTR v);
10090
10091     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
10092     BSTR outerText();
10093
10094     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
10095     void insertAdjacentHTML(
10096             [in] BSTR where,
10097             [in] BSTR html);
10098
10099     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
10100     void insertAdjacentText(
10101             [in] BSTR where,
10102             [in] BSTR text);
10103
10104     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
10105     IHTMLElement *parentTextEdit();
10106
10107     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
10108     VARIANT_BOOL isTextEdit();
10109
10110     [id(DISPID_IHTMLELEMENT_CLICK)]
10111     void click();
10112
10113     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
10114     IHTMLFiltersCollection *filters();
10115
10116     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
10117     void ondragstart(VARIANT v);
10118
10119     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
10120     VARIANT ondragstart();
10121
10122     [id(DISPID_IHTMLELEMENT_TOSTRING)]
10123     BSTR toString();
10124
10125     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
10126     void onbeforeupdate(VARIANT v);
10127
10128     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
10129     VARIANT onbeforeupdate();
10130
10131     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
10132     void onafterupdate(VARIANT v);
10133
10134     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
10135     VARIANT onafterupdate();
10136
10137     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
10138     void onerrorupdate(VARIANT v);
10139
10140     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
10141     VARIANT onerrorupdate();
10142
10143     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
10144     void onrowexit(VARIANT v);
10145
10146     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
10147     VARIANT onrowexit();
10148
10149     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
10150     void onrowenter(VARIANT v);
10151
10152     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
10153     VARIANT onrowenter();
10154
10155     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
10156     void ondatasetchanged(VARIANT v);
10157
10158     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
10159     VARIANT ondatasetchanged();
10160
10161     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
10162     void ondataavailable(VARIANT v);
10163
10164     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
10165     VARIANT ondataavailable();
10166
10167     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
10168     void ondatasetcomplete(VARIANT v);
10169
10170     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
10171     VARIANT ondatasetcomplete();
10172
10173     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
10174     void onfilterchange(VARIANT v);
10175
10176     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
10177     VARIANT onfilterchange();
10178
10179     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
10180     IDispatch *children();
10181
10182     [propget, id(DISPID_IHTMLELEMENT_ALL)]
10183     IDispatch *all();
10184
10185     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
10186     BSTR scopeName();
10187
10188     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
10189     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
10190
10191     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
10192     void releaseCapture();
10193
10194     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
10195     void onlosecapture(VARIANT v);
10196
10197     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
10198     VARIANT onlosecapture();
10199
10200     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
10201     BSTR componentFromPoint(
10202             [in] long x,
10203             [in] long y);
10204
10205     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
10206     void doScroll([in, optional] VARIANT component);
10207
10208     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
10209     void onscroll(VARIANT v);
10210
10211     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
10212     VARIANT onscroll();
10213
10214     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
10215     void ondrag(VARIANT v);
10216
10217     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
10218     VARIANT ondrag();
10219
10220     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
10221     void ondragend(VARIANT v);
10222
10223     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
10224     VARIANT ondragend();
10225
10226     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
10227     void ondragenter(VARIANT v);
10228
10229     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
10230     VARIANT ondragenter();
10231
10232     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
10233     void ondragover(VARIANT v);
10234
10235     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
10236     VARIANT ondragover();
10237
10238     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
10239     void ondragleave(VARIANT v);
10240
10241     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
10242     VARIANT ondragleave();
10243
10244     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
10245     void ondrop(VARIANT v);
10246
10247     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
10248     VARIANT ondrop();
10249
10250     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
10251     void onbeforecut(VARIANT v);
10252
10253     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
10254     VARIANT onbeforecut();
10255
10256     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
10257     void oncut(VARIANT v);
10258
10259     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
10260     VARIANT oncut();
10261
10262     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
10263     void onbeforecopy(VARIANT v);
10264
10265     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
10266     VARIANT onbeforecopy();
10267
10268     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
10269     void oncopy(VARIANT v);
10270
10271     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
10272     VARIANT oncopy();
10273
10274     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
10275     void onbeforepaste(VARIANT v);
10276
10277     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
10278     VARIANT onbeforepaste();
10279
10280     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
10281     void onpaste(VARIANT v);
10282
10283     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
10284     VARIANT onpaste();
10285
10286     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
10287     IHTMLCurrentStyle *currentStyle();
10288
10289     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
10290     void onpropertychange(VARIANT v);
10291
10292     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
10293     VARIANT onpropertychange();
10294
10295     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
10296     IHTMLRectCollection *getClientRects();
10297
10298     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
10299     IHTMLRect *getBoundingClientRect();
10300
10301     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
10302     void setExpression(
10303             [in] BSTR propname,
10304             [in] BSTR expression,
10305             [in, defaultvalue("")] BSTR language);
10306
10307     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
10308     VARIANT getExpression([in] BSTR propname);
10309
10310     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
10311     VARIANT_BOOL removeExpression([in] BSTR propname);
10312
10313     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
10314     void tabIndex(short v);
10315
10316     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
10317     short tabIndex();
10318
10319     [id(DISPID_IHTMLELEMENT2_FOCUS)]
10320     void focus();
10321
10322     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
10323     void accessKey(BSTR v);
10324
10325     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
10326     BSTR accessKey();
10327
10328     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
10329     void onblur(VARIANT v);
10330
10331     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
10332     VARIANT onblur();
10333
10334     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
10335     void onfocus(VARIANT v);
10336
10337     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
10338     VARIANT onfocus();
10339
10340     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
10341     void onresize(VARIANT v);
10342
10343     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
10344     VARIANT onresize();
10345
10346     [id(DISPID_IHTMLELEMENT2_BLUR)]
10347     void blur();
10348
10349     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
10350     void addFilter([in] IUnknown *pUnk);
10351
10352     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
10353     void removeFilter([in] IUnknown *pUnk);
10354
10355     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
10356     long clientHeight();
10357
10358     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
10359     long clientWidth();
10360
10361     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
10362     long clientTop();
10363
10364     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
10365     long clientLeft();
10366
10367     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
10368     VARIANT_BOOL attachEvent(
10369             [in] BSTR event,
10370             [in] IDispatch *pDisp);
10371
10372     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
10373     void detachEvent(
10374             [in] BSTR event,
10375             [in] IDispatch *pDisp);
10376
10377     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
10378     VARIANT readyState();
10379
10380     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
10381     void onreadystatechange(VARIANT v);
10382
10383     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
10384     VARIANT onreadystatechange();
10385
10386     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
10387     void onrowsdelete(VARIANT v);
10388
10389     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
10390     VARIANT onrowsdelete();
10391
10392     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
10393     void onrowsinserted(VARIANT v);
10394
10395     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
10396      VARIANT onrowsinserted();
10397
10398     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
10399      void oncellchange(VARIANT v);
10400
10401     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
10402     VARIANT oncellchange();
10403
10404     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
10405     void dir(BSTR v);
10406
10407     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
10408     BSTR dir();
10409
10410     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
10411     IDispatch *createControlRange();
10412
10413     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
10414     long scrollHeight();
10415
10416     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
10417     long scrollWidth();
10418
10419     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
10420     void scrollTop(long v);
10421
10422     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
10423     long scrollTop();
10424
10425     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
10426     void scrollLeft(long v);
10427
10428     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
10429     long scrollLeft();
10430
10431     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
10432     void clearAttributes();
10433
10434     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
10435     void oncontextmenu(VARIANT v);
10436
10437     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
10438     VARIANT oncontextmenu();
10439
10440     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
10441     IHTMLElement *insertAdjacentElement(
10442             [in] BSTR where,
10443             [in] IHTMLElement *insertedElement);
10444
10445     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
10446     IHTMLElement *applyElement(
10447             [in] IHTMLElement *apply,
10448             [in] BSTR where);
10449
10450     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
10451     BSTR getAdjacentText([in] BSTR where);
10452
10453     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
10454     BSTR replaceAdjacentText(
10455             [in] BSTR where,
10456             [in] BSTR newText);
10457
10458     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
10459     VARIANT_BOOL canHaveChildren();
10460
10461     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
10462     long addBehavior(
10463             [in] BSTR bstrUrl,
10464             [in, optional] VARIANT *pvarFactory);
10465
10466     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
10467     VARIANT_BOOL removeBehavior([in] long cookie);
10468
10469     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
10470     IHTMLStyle *runtimeStyle();
10471
10472     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
10473     IDispatch *behaviorUrns();
10474
10475     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
10476     void tagUrn(BSTR v);
10477
10478     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
10479     BSTR tagUrn();
10480
10481     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
10482     void onbeforeeditfocus(VARIANT v);
10483
10484     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
10485     VARIANT onbeforeeditfocus();
10486
10487     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
10488     long readyStateValue();
10489
10490     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
10491     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
10492
10493     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
10494     void mergeAttributes(
10495             [in] IHTMLElement *mergeThis,
10496             [in, optional] VARIANT *pvarFlags);
10497
10498     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
10499     VARIANT_BOOL isMultiLine();
10500
10501     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
10502     VARIANT_BOOL canHaveHTML();
10503
10504     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
10505     void onlayoutcomplete(VARIANT v);
10506
10507     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
10508     VARIANT onlayoutcomplete();
10509
10510     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
10511     void onpage(VARIANT v);
10512
10513     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
10514     VARIANT onpage();
10515
10516     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
10517     void inflateBlock(VARIANT_BOOL v);
10518
10519     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
10520     VARIANT_BOOL inflateBlock();
10521
10522     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
10523     void onbeforedeactivate(VARIANT v);
10524
10525     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
10526     VARIANT onbeforedeactivate();
10527
10528     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
10529     void setActive();
10530
10531     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
10532     void contentEditable(BSTR v);
10533
10534     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
10535     BSTR contentEditable();
10536
10537     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
10538     VARIANT_BOOL isContentEditable();
10539
10540     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
10541     void hideFocus(VARIANT_BOOL v);
10542
10543     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
10544     VARIANT_BOOL hideFocus();
10545
10546     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
10547     void disabled(VARIANT_BOOL v);
10548
10549     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
10550     VARIANT_BOOL disabled();
10551
10552     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
10553     VARIANT_BOOL isDisabled();
10554
10555     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
10556     void onmove(VARIANT v);
10557
10558     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
10559     VARIANT onmove();
10560
10561     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
10562     void oncontrolselect(VARIANT v);
10563
10564     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
10565     VARIANT oncontrolselect();
10566
10567     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
10568     VARIANT_BOOL fireEvent(
10569             [in] BSTR bstrEventName,
10570             [in, optional] VARIANT *pvarEventObject);
10571
10572     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
10573     void onresizestart(VARIANT v);
10574
10575     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
10576     VARIANT onresizestart();
10577
10578     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
10579     void onresizeend(VARIANT v);
10580
10581     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
10582     VARIANT onresizeend();
10583
10584     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
10585     void onmovestart(VARIANT v);
10586
10587     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
10588     VARIANT onmovestart();
10589
10590     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
10591     void onmoveend(VARIANT v);
10592
10593     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
10594     VARIANT onmoveend();
10595
10596     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
10597     void onmouseenter(VARIANT v);
10598
10599     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
10600     VARIANT onmouseenter();
10601
10602     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
10603     void onmouseleave(VARIANT v);
10604
10605     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
10606     VARIANT onmouseleave();
10607
10608     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
10609     void onactivate(VARIANT v);
10610
10611     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
10612     VARIANT onactivate();
10613
10614     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
10615     void ondeactivate(VARIANT v);
10616
10617     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
10618     VARIANT ondeactivate();
10619
10620     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
10621     VARIANT_BOOL dragDrop();
10622
10623     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
10624     LONG glyphMode();
10625
10626     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
10627     void onmousewheel(VARIANT v);
10628
10629     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
10630     VARIANT onmousewheel();
10631
10632     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
10633     void normalize();
10634
10635     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
10636     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
10637
10638     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
10639     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
10640
10641     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
10642     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
10643
10644     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
10645     void onbeforeactivate(VARIANT v);
10646
10647     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
10648     VARIANT onbeforeactivate();
10649
10650     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
10651     void onfocusin(VARIANT v);
10652
10653     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
10654     VARIANT onfocusin();
10655
10656     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
10657     void onfocusout(VARIANT v);
10658
10659     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
10660     VARIANT onfocusout();
10661
10662     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
10663     long uniqueNumber();
10664
10665     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
10666     BSTR uniqueID();
10667
10668     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
10669     long nodeType();
10670
10671     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
10672     IHTMLDOMNode *parentNode();
10673
10674     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
10675     VARIANT_BOOL hasChildNodes();
10676
10677     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
10678     IDispatch *childNodes();
10679
10680     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
10681     IDispatch *attributes();
10682
10683     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
10684     IHTMLDOMNode *insertBefore(
10685             [in] IHTMLDOMNode *newChild,
10686             [in, optional] VARIANT refChild);
10687
10688     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
10689     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
10690
10691     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
10692     IHTMLDOMNode *replaceChild(
10693             [in] IHTMLDOMNode *newChild,
10694             [in] IHTMLDOMNode *oldChild);
10695
10696     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
10697     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
10698
10699     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
10700     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
10701
10702     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
10703     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
10704
10705     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
10706     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
10707
10708     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
10709     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
10710
10711     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
10712     BSTR nodeName();
10713
10714     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
10715     void nodeValue(VARIANT v);
10716
10717     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
10718     VARIANT nodeValue();
10719
10720     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
10721     IHTMLDOMNode *firstChild();
10722
10723     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
10724     IHTMLDOMNode *lastChild();
10725
10726     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
10727     IHTMLDOMNode *previousSibling();
10728
10729     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
10730     IHTMLDOMNode *nextSibling();
10731
10732     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
10733     IDispatch *ownerDocument();
10734
10735     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
10736     void dataFld(BSTR v);
10737
10738     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
10739     BSTR dataFld();
10740
10741     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
10742     void dataSrc(BSTR v);
10743
10744     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
10745     BSTR dataSrc();
10746
10747     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
10748     void dataFormatAs(BSTR v);
10749
10750     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
10751     BSTR dataFormatAs();
10752
10753     [propput, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
10754     void type(BSTR v);
10755
10756     [propget, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
10757     BSTR type();
10758
10759     [propput, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
10760     void value(BSTR v);
10761
10762     [propget, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
10763     BSTR value();
10764
10765     [propput, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
10766     void name(BSTR v);
10767
10768     [propget, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
10769     BSTR name();
10770
10771     [propput, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
10772     void status(VARIANT_BOOL v);
10773
10774     [propget, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
10775     VARIANT_BOOL status();
10776
10777     [propget, id(DISPID_IHTMLINPUTELEMENT_FORM)]
10778     IHTMLFormElement *form();
10779
10780     [propput, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
10781     void size(long v);
10782
10783     [propget, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
10784     long size();
10785
10786     [propput, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
10787     void maxLength(long v);
10788
10789     [propget, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
10790     long maxLength();
10791
10792     [id(DISPID_IHTMLINPUTELEMENT_SELECT)]
10793     void select();
10794
10795     [propput, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
10796     void onchange(VARIANT v);
10797
10798     [propget, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
10799     VARIANT onchange();
10800
10801     [propput, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
10802     void onselect(VARIANT v);
10803
10804     [propget, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
10805     VARIANT onselect();
10806
10807     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
10808     void defaultValue(BSTR v);
10809
10810     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
10811     BSTR defaultValue();
10812
10813     [propput, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
10814     void readOnly(VARIANT_BOOL v);
10815
10816     [propget, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
10817     VARIANT_BOOL readOnly();
10818
10819     [id(DISPID_IHTMLINPUTELEMENT_CREATETEXTRANGE)]
10820     IHTMLTxtRange *createTextRange();
10821
10822     [propput, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
10823     void indeterminate(VARIANT_BOOL v);
10824
10825     [propget, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
10826     VARIANT_BOOL indeterminate();
10827
10828     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
10829     void defaultChecked(VARIANT_BOOL v);
10830
10831     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
10832     VARIANT_BOOL defaultChecked();
10833
10834     [propput, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
10835     void checked(VARIANT_BOOL v);
10836
10837     [propget, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
10838     VARIANT_BOOL checked();
10839
10840     [propput, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
10841     void border(VARIANT v);
10842
10843     [propget, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
10844     VARIANT border();
10845
10846     [propput, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
10847     void vspace(long v);
10848
10849     [propget, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
10850     long vspace();
10851
10852     [propput, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
10853     void hspace(long v);
10854
10855     [propget, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
10856     long hspace();
10857
10858     [propput, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
10859     void alt(BSTR v);
10860
10861     [propget, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
10862     BSTR alt();
10863
10864     [propput, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
10865     void src(BSTR v);
10866
10867     [propget, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
10868     BSTR src();
10869
10870     [propput, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
10871     void lowsrc(BSTR v);
10872
10873     [propget, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
10874     BSTR lowsrc();
10875
10876     [propput, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
10877     void vrml(BSTR v);
10878
10879     [propget, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
10880     BSTR vrml();
10881
10882     [propput, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
10883     void dynsrc(BSTR v);
10884
10885     [propget, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
10886     BSTR dynsrc();
10887
10888     [propget, id(DISPID_IHTMLINPUTELEMENT_COMPLETE)]
10889     VARIANT_BOOL complete();
10890
10891     [propput, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
10892     void loop(VARIANT v);
10893
10894     [propget, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
10895     VARIANT loop();
10896
10897     [propput, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
10898     void align(BSTR v);
10899
10900     [propget, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
10901     BSTR align();
10902
10903     [propput, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
10904     void onload(VARIANT v);
10905
10906     [propget, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
10907     VARIANT onload();
10908
10909     [propput, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
10910     void onerror(VARIANT v);
10911
10912     [propget, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
10913     VARIANT onerror();
10914
10915     [propput, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
10916     void onabort(VARIANT v);
10917
10918     [propget, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
10919     VARIANT onabort();
10920
10921     [propput, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
10922     void width(long v);
10923
10924     [propget, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
10925     long width();
10926
10927     [propput, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
10928     void height(long v);
10929
10930     [propget, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
10931     long height();
10932
10933     [propput, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
10934     void start(BSTR v);
10935
10936     [propget, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
10937     BSTR start();
10938
10939     [propput, id(DISPID_IHTMLINPUTELEMENT2_ACCEPT), displaybind, bindable]
10940     void accept(BSTR v);
10941
10942     [propget, id(DISPID_IHTMLINPUTELEMENT2_ACCEPT), displaybind, bindable]
10943     BSTR accept();
10944
10945     [propput, id(DISPID_IHTMLINPUTELEMENT2_USEMAP), displaybind, bindable]
10946     void useMap(BSTR v);
10947
10948     [propget, id(DISPID_IHTMLINPUTELEMENT2_USEMAP), displaybind, bindable]
10949     BSTR useMap();
10950 }
10951
10952 /*****************************************************************************
10953  *    IHTMLTextAreaElement interface
10954  */
10955 [
10956     odl,
10957     oleautomation,
10958     dual,
10959     uuid(3050f2aa-98b5-11cf-bb82-00aa00bdce0b)
10960 ]
10961 interface IHTMLTextAreaElement : IDispatch
10962 {
10963     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_TYPE)]
10964     HRESULT type([retval, out] BSTR *p);
10965
10966     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
10967     HRESULT value([in] BSTR v);
10968
10969     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
10970     HRESULT value([retval, out] BSTR *p);
10971
10972     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
10973     HRESULT name([in] BSTR v);
10974
10975     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
10976     HRESULT name([retval, out] BSTR *p);
10977
10978     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
10979     HRESULT status([in] VARIANT v);
10980
10981     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
10982     HRESULT status([retval, out] VARIANT *p);
10983
10984     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_DISABLED), displaybind, bindable]
10985     HRESULT disabled([in] VARIANT_BOOL v);
10986
10987     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_DISABLED), displaybind, bindable]
10988     HRESULT disabled([retval, out] VARIANT_BOOL *p);
10989
10990     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_FORM)]
10991     HRESULT form([retval, out] IHTMLFormElement **p);
10992
10993     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
10994     HRESULT defaultValue([in] BSTR v);
10995
10996     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
10997     HRESULT defaultValue([retval, out] BSTR *p);
10998
10999     [id(DISPID_IHTMLTEXTAREAELEMENT_SELECT)]
11000     HRESULT select();
11001
11002     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
11003     HRESULT onchange([in] VARIANT v);
11004
11005     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
11006     HRESULT onchange([retval, out] VARIANT *p);
11007
11008     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
11009     HRESULT onselect([in] VARIANT v);
11010
11011     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
11012     HRESULT onselect([retval, out] VARIANT *p);
11013
11014     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
11015     HRESULT readOnly([in] VARIANT_BOOL v);
11016
11017     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
11018     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
11019
11020     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
11021     HRESULT rows([in] long v);
11022
11023     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
11024     HRESULT rows([retval, out] long *p);
11025
11026     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
11027     HRESULT cols([in] long v);
11028
11029     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
11030     HRESULT cols([retval, out] long *p);
11031
11032     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
11033     HRESULT wrap([in] BSTR v);
11034
11035     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
11036     HRESULT wrap([retval, out] BSTR *p);
11037
11038     [id(DISPID_IHTMLTEXTAREAELEMENT_CREATETEXTRANGE)]
11039     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
11040 }
11041
11042 /*****************************************************************************
11043  *    DispHTMLUnknownElement interface
11044  */
11045 [
11046     hidden,
11047     uuid(3050f539-98b5-11cf-bb82-00aa00bdce0b)
11048 ]
11049 dispinterface DispHTMLUnknownElement
11050 {
11051 properties:
11052 methods:
11053     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
11054     void setAttribute(
11055             [in] BSTR strAttributeName,
11056             [in] VARIANT AttributeValue,
11057             [in, defaultvalue(1)] LONG lFlags);
11058
11059     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
11060     VARIANT getAttribute(
11061              [in] BSTR strAttributeName,
11062              [in, defaultvalue(0)] LONG lFlags);
11063
11064     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
11065     VARIANT_BOOL removeAttribute(
11066             [in] BSTR strAttributeName,
11067             [in, defaultvalue(1)] LONG lFlags);
11068
11069     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
11070     void className(BSTR v);
11071
11072     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
11073     BSTR className();
11074
11075     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
11076     void id(BSTR v);
11077
11078     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
11079     BSTR id();
11080
11081     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
11082     BSTR tagName();
11083
11084     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
11085     IHTMLElement *parentElement();
11086
11087     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
11088     IHTMLStyle *style();
11089
11090     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
11091     void onhelp(VARIANT v);
11092
11093     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
11094     VARIANT onhelp();
11095
11096     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
11097     void onclick(VARIANT v);
11098
11099     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
11100     VARIANT onclick();
11101
11102     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
11103     void ondblclick(VARIANT v);
11104
11105     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
11106     VARIANT ondblclick();
11107
11108     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
11109     void onkeydown(VARIANT v);
11110
11111     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
11112     VARIANT onkeydown();
11113
11114     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
11115     void onkeyup(VARIANT v);
11116
11117     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
11118     VARIANT onkeyup();
11119
11120     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
11121     void onkeypress(VARIANT v);
11122
11123     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
11124     VARIANT onkeypress();
11125
11126     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
11127     void onmouseout(VARIANT v);
11128
11129     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
11130     VARIANT onmouseout();
11131
11132     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
11133     void onmouseover(VARIANT v);
11134
11135     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
11136     VARIANT onmouseover();
11137
11138     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
11139     void onmousemove(VARIANT v);
11140
11141     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
11142     VARIANT onmousemove();
11143
11144     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
11145     void onmousedown(VARIANT v);
11146
11147     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
11148     VARIANT onmousedown();
11149
11150     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
11151     void onmouseup(VARIANT v);
11152
11153     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
11154     VARIANT onmouseup();
11155
11156     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
11157     IDispatch *document();
11158
11159     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
11160     void title(BSTR v);
11161
11162     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
11163     BSTR title();
11164
11165     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
11166     void language(BSTR v);
11167
11168     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
11169     BSTR language();
11170
11171     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
11172     void onselectstart(VARIANT v);
11173
11174     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
11175     VARIANT onselectstart();
11176
11177     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
11178     void scrollIntoView([in, optional] VARIANT varargStart);
11179
11180     [id(DISPID_IHTMLELEMENT_CONTAINS)]
11181     VARIANT_BOOL contains([in] IHTMLElement *pChild);
11182
11183     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
11184     long sourceIndex();
11185
11186     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
11187     VARIANT recordNumber();
11188
11189     [propput, id(DISPID_IHTMLELEMENT_LANG)]
11190     void lang(BSTR v);
11191
11192     [propget, id(DISPID_IHTMLELEMENT_LANG)]
11193     BSTR lang();
11194
11195     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
11196     long offsetLeft();
11197
11198     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
11199     long offsetTop();
11200
11201     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
11202     long offsetWidth();
11203
11204     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
11205     long offsetHeight();
11206
11207     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
11208     IHTMLElement *offsetParent();
11209
11210     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
11211     void innerHTML(BSTR v);
11212
11213     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
11214     BSTR innerHTML();
11215
11216     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
11217     void innerText(BSTR v);
11218
11219     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
11220     BSTR innerText();
11221
11222     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
11223     void outerHTML(BSTR v);
11224
11225     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
11226     BSTR outerHTML();
11227
11228     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
11229     void outerText(BSTR v);
11230
11231     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
11232     BSTR outerText();
11233
11234     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
11235     void insertAdjacentHTML(
11236             [in] BSTR where,
11237             [in] BSTR html);
11238
11239     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
11240     void insertAdjacentText(
11241             [in] BSTR where,
11242             [in] BSTR text);
11243
11244     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
11245     IHTMLElement *parentTextEdit();
11246
11247     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
11248     VARIANT_BOOL isTextEdit();
11249
11250     [id(DISPID_IHTMLELEMENT_CLICK)]
11251     void click();
11252
11253     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
11254     IHTMLFiltersCollection *filters();
11255
11256     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
11257     void ondragstart(VARIANT v);
11258
11259     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
11260     VARIANT ondragstart();
11261
11262     [id(DISPID_IHTMLELEMENT_TOSTRING)]
11263     BSTR toString();
11264
11265     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
11266     void onbeforeupdate(VARIANT v);
11267
11268     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
11269     VARIANT onbeforeupdate();
11270
11271     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
11272     void onafterupdate(VARIANT v);
11273
11274     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
11275     VARIANT onafterupdate();
11276
11277     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
11278     void onerrorupdate(VARIANT v);
11279
11280     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
11281     VARIANT onerrorupdate();
11282
11283     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
11284     void onrowexit(VARIANT v);
11285
11286     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
11287     VARIANT onrowexit();
11288
11289     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
11290     void onrowenter(VARIANT v);
11291
11292     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
11293     VARIANT onrowenter();
11294
11295     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
11296     void ondatasetchanged(VARIANT v);
11297
11298     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
11299     VARIANT ondatasetchanged();
11300
11301     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
11302     void ondataavailable(VARIANT v);
11303
11304     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
11305     VARIANT ondataavailable();
11306
11307     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
11308     void ondatasetcomplete(VARIANT v);
11309
11310     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
11311     VARIANT ondatasetcomplete();
11312
11313     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
11314     void onfilterchange(VARIANT v);
11315
11316     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
11317     VARIANT onfilterchange();
11318
11319     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
11320     IDispatch *children();
11321
11322     [propget, id(DISPID_IHTMLELEMENT_ALL)]
11323     IDispatch *all();
11324
11325     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
11326     BSTR scopeName();
11327
11328     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
11329     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
11330
11331     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
11332     void releaseCapture();
11333
11334     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
11335     void onlosecapture(VARIANT v);
11336
11337     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
11338     VARIANT onlosecapture();
11339
11340     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
11341     BSTR componentFromPoint(
11342             [in] long x,
11343             [in] long y);
11344
11345     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
11346     void doScroll([in, optional] VARIANT component);
11347
11348     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
11349     void onscroll(VARIANT v);
11350
11351     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
11352     VARIANT onscroll();
11353
11354     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
11355     void ondrag(VARIANT v);
11356
11357     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
11358     VARIANT ondrag();
11359
11360     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
11361     void ondragend(VARIANT v);
11362
11363     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
11364     VARIANT ondragend();
11365
11366     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
11367     void ondragenter(VARIANT v);
11368
11369     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
11370     VARIANT ondragenter();
11371
11372     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
11373     void ondragover(VARIANT v);
11374
11375     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
11376     VARIANT ondragover();
11377
11378     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
11379     void ondragleave(VARIANT v);
11380
11381     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
11382     VARIANT ondragleave();
11383
11384     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
11385     void ondrop(VARIANT v);
11386
11387     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
11388     VARIANT ondrop();
11389
11390     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
11391     void onbeforecut(VARIANT v);
11392
11393     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
11394     VARIANT onbeforecut();
11395
11396     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
11397     void oncut(VARIANT v);
11398
11399     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
11400     VARIANT oncut();
11401
11402     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
11403     void onbeforecopy(VARIANT v);
11404
11405     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
11406     VARIANT onbeforecopy();
11407
11408     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
11409     void oncopy(VARIANT v);
11410
11411     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
11412     VARIANT oncopy();
11413
11414     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
11415     void onbeforepaste(VARIANT v);
11416
11417     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
11418     VARIANT onbeforepaste();
11419
11420     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
11421     void onpaste(VARIANT v);
11422
11423     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
11424     VARIANT onpaste();
11425
11426     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
11427     IHTMLCurrentStyle *currentStyle();
11428
11429     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
11430     void onpropertychange(VARIANT v);
11431
11432     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
11433     VARIANT onpropertychange();
11434
11435     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
11436     IHTMLRectCollection *getClientRects();
11437
11438     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
11439     IHTMLRect *getBoundingClientRect();
11440
11441     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
11442     void setExpression(
11443             [in] BSTR propname,
11444             [in] BSTR expression,
11445             [in, defaultvalue("")] BSTR language);
11446
11447     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
11448     VARIANT getExpression([in] BSTR propname);
11449
11450     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
11451     VARIANT_BOOL removeExpression([in] BSTR propname);
11452
11453     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
11454     void tabIndex(short v);
11455
11456     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
11457     short tabIndex();
11458
11459     [id(DISPID_IHTMLELEMENT2_FOCUS)]
11460     void focus();
11461
11462     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
11463     void accessKey(BSTR v);
11464
11465     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
11466     BSTR accessKey();
11467
11468     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
11469     void onblur(VARIANT v);
11470
11471     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
11472     VARIANT onblur();
11473
11474     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
11475     void onfocus(VARIANT v);
11476
11477     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
11478     VARIANT onfocus();
11479
11480     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
11481     void onresize(VARIANT v);
11482
11483     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
11484     VARIANT onresize();
11485
11486     [id(DISPID_IHTMLELEMENT2_BLUR)]
11487     void blur();
11488
11489     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
11490     void addFilter([in] IUnknown *pUnk);
11491
11492     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
11493     void removeFilter([in] IUnknown *pUnk);
11494
11495     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
11496     long clientHeight();
11497
11498     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
11499     long clientWidth();
11500
11501     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
11502     long clientTop();
11503
11504     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
11505     long clientLeft();
11506
11507     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
11508     VARIANT_BOOL attachEvent(
11509             [in] BSTR event,
11510             [in] IDispatch *pDisp);
11511
11512     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
11513     void detachEvent(
11514             [in] BSTR event,
11515             [in] IDispatch *pDisp);
11516
11517     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
11518     VARIANT readyState();
11519
11520     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
11521     void onreadystatechange(VARIANT v);
11522
11523     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
11524     VARIANT onreadystatechange();
11525
11526     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
11527     void onrowsdelete(VARIANT v);
11528
11529     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
11530     VARIANT onrowsdelete();
11531
11532     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
11533     void onrowsinserted(VARIANT v);
11534
11535     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
11536      VARIANT onrowsinserted();
11537
11538     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
11539      void oncellchange(VARIANT v);
11540
11541     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
11542     VARIANT oncellchange();
11543
11544     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
11545     void dir(BSTR v);
11546
11547     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
11548     BSTR dir();
11549
11550     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
11551     IDispatch *createControlRange();
11552
11553     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
11554     long scrollHeight();
11555
11556     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
11557     long scrollWidth();
11558
11559     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
11560     void scrollTop(long v);
11561
11562     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
11563     long scrollTop();
11564
11565     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
11566     void scrollLeft(long v);
11567
11568     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
11569     long scrollLeft();
11570
11571     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
11572     void clearAttributes();
11573
11574     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
11575     void oncontextmenu(VARIANT v);
11576
11577     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
11578     VARIANT oncontextmenu();
11579
11580     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
11581     IHTMLElement *insertAdjacentElement(
11582             [in] BSTR where,
11583             [in] IHTMLElement *insertedElement);
11584
11585     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
11586     IHTMLElement *applyElement(
11587             [in] IHTMLElement *apply,
11588             [in] BSTR where);
11589
11590     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
11591     BSTR getAdjacentText([in] BSTR where);
11592
11593     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
11594     BSTR replaceAdjacentText(
11595             [in] BSTR where,
11596             [in] BSTR newText);
11597
11598     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
11599     VARIANT_BOOL canHaveChildren();
11600
11601     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
11602     long addBehavior(
11603             [in] BSTR bstrUrl,
11604             [in, optional] VARIANT *pvarFactory);
11605
11606     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
11607     VARIANT_BOOL removeBehavior([in] long cookie);
11608
11609     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
11610     IHTMLStyle *runtimeStyle();
11611
11612     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
11613     IDispatch *behaviorUrns();
11614
11615     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
11616     void tagUrn(BSTR v);
11617
11618     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
11619     BSTR tagUrn();
11620
11621     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
11622     void onbeforeeditfocus(VARIANT v);
11623
11624     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
11625     VARIANT onbeforeeditfocus();
11626
11627     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
11628     long readyStateValue();
11629
11630     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
11631     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
11632
11633     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
11634     void mergeAttributes(
11635             [in] IHTMLElement *mergeThis,
11636             [in, optional] VARIANT *pvarFlags);
11637
11638     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
11639     VARIANT_BOOL isMultiLine();
11640
11641     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
11642     VARIANT_BOOL canHaveHTML();
11643
11644     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
11645     void onlayoutcomplete(VARIANT v);
11646
11647     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
11648     VARIANT onlayoutcomplete();
11649
11650     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
11651     void onpage(VARIANT v);
11652
11653     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
11654     VARIANT onpage();
11655
11656     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
11657     void inflateBlock(VARIANT_BOOL v);
11658
11659     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
11660     VARIANT_BOOL inflateBlock();
11661
11662     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
11663     void onbeforedeactivate(VARIANT v);
11664
11665     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
11666     VARIANT onbeforedeactivate();
11667
11668     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
11669     void setActive();
11670
11671     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
11672     void contentEditable(BSTR v);
11673
11674     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
11675     BSTR contentEditable();
11676
11677     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
11678     VARIANT_BOOL isContentEditable();
11679
11680     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
11681     void hideFocus(VARIANT_BOOL v);
11682
11683     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
11684     VARIANT_BOOL hideFocus();
11685
11686     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
11687     void disabled(VARIANT_BOOL v);
11688
11689     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
11690     VARIANT_BOOL disabled();
11691
11692     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
11693     VARIANT_BOOL isDisabled();
11694
11695     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
11696     void onmove(VARIANT v);
11697
11698     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
11699     VARIANT onmove();
11700
11701     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
11702     void oncontrolselect(VARIANT v);
11703
11704     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
11705     VARIANT oncontrolselect();
11706
11707     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
11708     VARIANT_BOOL fireEvent(
11709             [in] BSTR bstrEventName,
11710             [in, optional] VARIANT *pvarEventObject);
11711
11712     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
11713     void onresizestart(VARIANT v);
11714
11715     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
11716     VARIANT onresizestart();
11717
11718     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
11719     void onresizeend(VARIANT v);
11720
11721     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
11722     VARIANT onresizeend();
11723
11724     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
11725     void onmovestart(VARIANT v);
11726
11727     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
11728     VARIANT onmovestart();
11729
11730     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
11731     void onmoveend(VARIANT v);
11732
11733     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
11734     VARIANT onmoveend();
11735
11736     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
11737     void onmouseenter(VARIANT v);
11738
11739     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
11740     VARIANT onmouseenter();
11741
11742     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
11743     void onmouseleave(VARIANT v);
11744
11745     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
11746     VARIANT onmouseleave();
11747
11748     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
11749     void onactivate(VARIANT v);
11750
11751     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
11752     VARIANT onactivate();
11753
11754     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
11755     void ondeactivate(VARIANT v);
11756
11757     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
11758     VARIANT ondeactivate();
11759
11760     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
11761     VARIANT_BOOL dragDrop();
11762
11763     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
11764     LONG glyphMode();
11765
11766     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
11767     void onmousewheel(VARIANT v);
11768
11769     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
11770     VARIANT onmousewheel();
11771
11772     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
11773     void normalize();
11774
11775     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
11776     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
11777
11778     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
11779     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
11780
11781     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
11782     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
11783
11784     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
11785     void onbeforeactivate(VARIANT v);
11786
11787     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
11788     VARIANT onbeforeactivate();
11789
11790     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
11791     void onfocusin(VARIANT v);
11792
11793     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
11794     VARIANT onfocusin();
11795
11796     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
11797     void onfocusout(VARIANT v);
11798
11799     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
11800     VARIANT onfocusout();
11801
11802     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
11803     long uniqueNumber();
11804
11805     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
11806     BSTR uniqueID();
11807
11808     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
11809     long nodeType();
11810
11811     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
11812     IHTMLDOMNode *parentNode();
11813
11814     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
11815     VARIANT_BOOL hasChildNodes();
11816
11817     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
11818     IDispatch *childNodes();
11819
11820     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
11821     IDispatch *attributes();
11822
11823     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
11824     IHTMLDOMNode *insertBefore(
11825             [in] IHTMLDOMNode *newChild,
11826             [in, optional] VARIANT refChild);
11827
11828     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
11829     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
11830
11831     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
11832     IHTMLDOMNode *replaceChild(
11833             [in] IHTMLDOMNode *newChild,
11834             [in] IHTMLDOMNode *oldChild);
11835
11836     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
11837     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
11838
11839     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
11840     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
11841
11842     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
11843     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
11844
11845     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
11846     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
11847
11848     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
11849     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
11850
11851     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
11852     BSTR nodeName();
11853
11854     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
11855     void nodeValue(VARIANT v);
11856
11857     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
11858     VARIANT nodeValue();
11859
11860     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
11861     IHTMLDOMNode *firstChild();
11862
11863     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
11864     IHTMLDOMNode *lastChild();
11865
11866     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
11867     IHTMLDOMNode *previousSibling();
11868
11869     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
11870     IHTMLDOMNode *nextSibling();
11871
11872     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
11873     IDispatch *ownerDocument();
11874 }
11875
11876 /*****************************************************************************
11877  *    IOmHistory interface
11878  */
11879 [
11880     odl,
11881     oleautomation,
11882     dual,
11883     uuid(FECEAAA2-8405-11CF-8BA1-00AA00476DA6)
11884 ]
11885 interface IOmHistory : IDispatch
11886 {
11887     [propget, id(DISPID_IOMHISTORY_LENGTH)]
11888     HRESULT length([retval, out] short *p);
11889
11890     [id(DISPID_IOMHISTORY_BACK)]
11891     HRESULT back([optional, in] VARIANT *pvargdistance);
11892
11893     [id(DISPID_IOMHISTORY_FORWARD)]
11894     HRESULT forward([optional, in] VARIANT *pvargdistance);
11895
11896     [id(DISPID_IOMHISTORY_GO)]
11897     HRESULT go([optional, in] VARIANT *pvargdistance);
11898 }
11899
11900 /*****************************************************************************
11901  *    IHTMLMimeTypesCollection interface
11902  */
11903 [
11904     odl,
11905     oleautomation,
11906     dual,
11907     uuid(3050F3FC-98B5-11CF-BB82-00AA00BDCE0B)
11908 ]
11909 interface IHTMLMimeTypesCollection : IDispatch
11910 {
11911     [propget, id(DISPID_IHTMLMIMETYPESCOLLECTION_LENGTH)]
11912     HRESULT length([retval, out] long *p);
11913 }
11914
11915 /*****************************************************************************
11916  *    IHTMLPluginsCollection interface
11917  */
11918 [
11919     odl,
11920     oleautomation,
11921     dual,
11922     uuid(3050F3FD-98B5-11CF-BB82-00AA00BDCE0B)
11923 ]
11924 interface IHTMLPluginsCollection : IDispatch
11925 {
11926     [propget, id(DISPID_IHTMLPLUGINSCOLLECTION_LENGTH)]
11927     HRESULT length([retval, out] long *p);
11928
11929     [id(DISPID_IHTMLPLUGINSCOLLECTION_REFRESH)]
11930     HRESULT refresh([defaultvalue(0), in] VARIANT_BOOL reload);
11931 }
11932
11933 /*****************************************************************************
11934  *    IHTMLOpsProfile interface
11935  */
11936 [
11937     odl,
11938     oleautomation,
11939     dual,
11940     uuid(3050F401-98B5-11CF-BB82-00AA00BDCE0B)
11941 ]
11942 interface IHTMLOpsProfile : IDispatch
11943 {
11944     [id(DISPID_IHTMLOPSPROFILE_ADDREQUEST)]
11945     HRESULT addRequest(
11946         [in] BSTR name,
11947         [optional, in] VARIANT reserved,
11948         [retval, out] VARIANT_BOOL *success);
11949
11950     [id(DISPID_IHTMLOPSPROFILE_CLEARREQUEST)]
11951     HRESULT clearRequest();
11952
11953     [id(DISPID_IHTMLOPSPROFILE_DOREQUEST)]
11954     HRESULT doRequest(
11955         [in] VARIANT usage,
11956         [optional, in] VARIANT fname,
11957         [optional, in] VARIANT domain,
11958         [optional, in] VARIANT path,
11959         [optional, in] VARIANT expire,
11960         [optional, in] VARIANT reserved);
11961
11962     [id(DISPID_IHTMLOPSPROFILE_GETATTRIBUTE)]
11963     HRESULT getAttribute(
11964         [in] BSTR name,
11965         [retval, out] BSTR *value);
11966
11967     [id(DISPID_IHTMLOPSPROFILE_SETATTRIBUTE)]
11968     HRESULT setAttribute(
11969         [in] BSTR name,
11970         [in] BSTR value,
11971         [optional, in] VARIANT prefs,
11972         [retval, out] VARIANT_BOOL *success);
11973
11974     [id(DISPID_IHTMLOPSPROFILE_COMMITCHANGES)]
11975     HRESULT commitChanges([retval, out] VARIANT_BOOL *success);
11976
11977     [id(DISPID_IHTMLOPSPROFILE_ADDREADREQUEST)]
11978     HRESULT addReadRequest(
11979         [in] BSTR name,
11980         [optional, in] VARIANT reserved,
11981         [retval, out] VARIANT_BOOL *success);
11982
11983     [id(DISPID_IHTMLOPSPROFILE_DOREADREQUEST)]
11984     HRESULT doReadRequest(
11985         [in] VARIANT usage,
11986         [optional, in] VARIANT fname,
11987         [optional, in] VARIANT domain,
11988         [optional, in] VARIANT path,
11989         [optional, in] VARIANT expire,
11990         [optional, in] VARIANT reserved);
11991
11992     [id(DISPID_IHTMLOPSPROFILE_DOWRITEREQUEST)]
11993     HRESULT doWriteRequest([retval, out] VARIANT_BOOL *success);
11994 }
11995
11996 /*****************************************************************************
11997  *    IOmNavigator interface
11998  */
11999 [
12000         odl,
12001         oleautomation,
12002         dual,
12003         uuid(FECEAAA5-8405-11CF-8BA1-00AA00476DA6)
12004 ]
12005 interface IOmNavigator : IDispatch
12006 {
12007     [propget, id(DISPID_IOMNAVIGATOR_APPCODENAME)]
12008     HRESULT appCodeName([retval, out] BSTR *p);
12009
12010     [propget, id(DISPID_IOMNAVIGATOR_APPNAME)]
12011     HRESULT appName([retval, out] BSTR *p);
12012
12013     [propget, id(DISPID_IOMNAVIGATOR_APPVERSION)]
12014     HRESULT appVersion([retval, out] BSTR *p);
12015
12016     [propget, id(DISPID_IOMNAVIGATOR_USERAGENT)]
12017     HRESULT userAgent([retval, out] BSTR *p);
12018
12019     [id(DISPID_IOMNAVIGATOR_JAVAENABLED)]
12020     HRESULT javaEnabled([retval, out] VARIANT_BOOL *enabled);
12021
12022     [id(DISPID_IOMNAVIGATOR_TAINTENABLED)]
12023     HRESULT taintEnabled([retval, out] VARIANT_BOOL *enabled);
12024
12025     [propget, id(DISPID_IOMNAVIGATOR_MIMETYPES)]
12026     HRESULT mimeTypes([retval, out] IHTMLMimeTypesCollection **p);
12027
12028     [propget, id(DISPID_IOMNAVIGATOR_PLUGINS)]
12029     HRESULT plugins([retval, out] IHTMLPluginsCollection **p);
12030
12031     [propget, id(DISPID_IOMNAVIGATOR_COOKIEENABLED)]
12032     HRESULT cookieEnabled([retval, out] VARIANT_BOOL *p);
12033
12034     [propget, id(DISPID_IOMNAVIGATOR_OPSPROFILE)]
12035     HRESULT opsProfile([retval, out] IHTMLOpsProfile **p);
12036
12037     [id(DISPID_IOMNAVIGATOR_TOSTRING)]
12038     HRESULT toString([retval, out] BSTR *String);
12039
12040     [propget, id(DISPID_IOMNAVIGATOR_CPUCLASS)]
12041     HRESULT cpuClass([retval, out] BSTR *p);
12042
12043     [propget, id(DISPID_IOMNAVIGATOR_SYSTEMLANGUAGE)]
12044     HRESULT systemLanguage([retval, out] BSTR *p);
12045
12046     [propget, id(DISPID_IOMNAVIGATOR_BROWSERLANGUAGE)]
12047     HRESULT browserLanguage([retval, out] BSTR *p);
12048
12049     [propget, id(DISPID_IOMNAVIGATOR_USERLANGUAGE)]
12050     HRESULT userLanguage([retval, out] BSTR *p);
12051
12052     [propget, id(DISPID_IOMNAVIGATOR_PLATFORM)]
12053     HRESULT platform([retval, out] BSTR *p);
12054
12055     [propget, id(DISPID_IOMNAVIGATOR_APPMINORVERSION)]
12056     HRESULT appMinorVersion([retval, out] BSTR *p);
12057
12058     [propget, id(DISPID_IOMNAVIGATOR_CONNECTIONSPEED)]
12059     HRESULT connectionSpeed([retval, out] long *p);
12060
12061     [propget, id(DISPID_IOMNAVIGATOR_ONLINE)]
12062     HRESULT onLine([retval, out] VARIANT_BOOL *p);
12063
12064     [propget, id(DISPID_IOMNAVIGATOR_USERPROFILE)]
12065     HRESULT userProfile([retval, out] IHTMLOpsProfile **p);
12066 }
12067
12068 /*****************************************************************************
12069  *    IHTMLLocation interface
12070  */
12071 [
12072     odl,
12073     oleautomation,
12074     dual,
12075     uuid(163BB1E0-6E00-11cf-837A-48DC04C10000)
12076 ]
12077 interface IHTMLLocation : IDispatch
12078 {
12079     [propput, id(DISPID_IHTMLLOCATION_HREF)]
12080     HRESULT href([in] BSTR v);
12081
12082     [propget, id(DISPID_IHTMLLOCATION_HREF)]
12083     HRESULT href([retval, out] BSTR *p);
12084
12085     [propput, id(DISPID_IHTMLLOCATION_PROTOCOL)]
12086     HRESULT protocol([in] BSTR v);
12087
12088     [propget, id(DISPID_IHTMLLOCATION_PROTOCOL)]
12089     HRESULT protocol([retval, out] BSTR *p);
12090
12091     [propput, id(DISPID_IHTMLLOCATION_HOST)]
12092     HRESULT host([in] BSTR v);
12093
12094     [propget, id(DISPID_IHTMLLOCATION_HOST)]
12095     HRESULT host([retval, out] BSTR *p);
12096
12097     [propput, id(DISPID_IHTMLLOCATION_HOSTNAME)]
12098     HRESULT hostname([in] BSTR v);
12099
12100     [propget, id(DISPID_IHTMLLOCATION_HOSTNAME)]
12101     HRESULT hostname([retval, out] BSTR *p);
12102
12103     [propput, id(DISPID_IHTMLLOCATION_PORT)]
12104     HRESULT port([in] BSTR v);
12105
12106     [propget, id(DISPID_IHTMLLOCATION_PORT)]
12107     HRESULT port([retval, out] BSTR *p);
12108
12109     [propput, id(DISPID_IHTMLLOCATION_PATHNAME)]
12110     HRESULT pathname([in] BSTR v);
12111
12112     [propget, id(DISPID_IHTMLLOCATION_PATHNAME)]
12113     HRESULT pathname([retval, out] BSTR *p);
12114
12115     [propput, id(DISPID_IHTMLLOCATION_SEARCH)]
12116     HRESULT search([in] BSTR v);
12117
12118     [propget, id(DISPID_IHTMLLOCATION_SEARCH)]
12119     HRESULT search([retval, out] BSTR *p);
12120
12121     [propput, id(DISPID_IHTMLLOCATION_HASH)]
12122     HRESULT hash([in] BSTR v);
12123
12124     [propget, id(DISPID_IHTMLLOCATION_HASH)]
12125     HRESULT hash([retval, out] BSTR *p);
12126
12127     [id(DISPID_IHTMLLOCATION_RELOAD)]
12128     HRESULT reload([defaultvalue(0), in] VARIANT_BOOL flag);
12129
12130     [id(DISPID_IHTMLLOCATION_REPLACE)]
12131     HRESULT replace([in] BSTR bstr);
12132
12133     [id(DISPID_IHTMLLOCATION_ASSIGN)]
12134     HRESULT assign([in] BSTR bstr);
12135
12136     [id(DISPID_IHTMLLOCATION_TOSTRING)]
12137     HRESULT toString([retval, out] BSTR *String);
12138 }
12139
12140 /*****************************************************************************
12141  *    IHTMLDataTransfer interface
12142  */
12143 [
12144     odl,
12145     oleautomation,
12146     dual,
12147     uuid(3050f4b3-98b5-11cf-bb82-00aa00bdce0b)
12148 ]
12149 interface IHTMLDataTransfer : IDispatch
12150 {
12151     [id(DISPID_IHTMLDATATRANSFER_SETDATA)]
12152     HRESULT setData(
12153             [in] BSTR format,
12154             [in] VARIANT *data,
12155             [out, retval] VARIANT_BOOL *pret);
12156
12157     [id(DISPID_IHTMLDATATRANSFER_GETDATA)]
12158     HRESULT getData(
12159             [in] BSTR format,
12160             [out, retval] VARIANT *pvarRet);
12161
12162     [id(DISPID_IHTMLDATATRANSFER_CLEARDATA)]
12163     HRESULT clearData(
12164             [in] BSTR format,
12165             [out, retval] VARIANT_BOOL *pret);
12166
12167     [propput, id(DISPID_IHTMLDATATRANSFER_DROPEFFECT)]
12168     HRESULT dropEffect([in] BSTR v);
12169
12170     [propget, id(DISPID_IHTMLDATATRANSFER_DROPEFFECT)]
12171     HRESULT dropEffect([out, retval] BSTR *p);
12172
12173     [propput, id(DISPID_IHTMLDATATRANSFER_EFFECTALLOWED)]
12174     HRESULT effectAllowed([in] BSTR v);
12175
12176     [propget, id(DISPID_IHTMLDATATRANSFER_EFFECTALLOWED)]
12177     HRESULT effectAllowed([out, retval] BSTR *p);
12178 }
12179
12180 /*****************************************************************************
12181  *    IHTMLEventObj interface
12182  */
12183 [
12184     odl,
12185     oleautomation,
12186     dual,
12187     uuid(3050F32D-98B5-11CF-BB82-00AA00BDCE0B)
12188 ]
12189 interface IHTMLEventObj : IDispatch
12190 {
12191     [propget, id(DISPID_IHTMLEVENTOBJ_SRCELEMENT)]
12192     HRESULT srcElement([retval, out] IHTMLElement **p);
12193
12194     [propget, id(DISPID_IHTMLEVENTOBJ_ALTKEY)]
12195     HRESULT altKey([retval, out] VARIANT_BOOL *p);
12196
12197     [propget, id(DISPID_IHTMLEVENTOBJ_CTRLKEY)]
12198     HRESULT ctrlKey([retval, out] VARIANT_BOOL *p);
12199
12200     [propget, id(DISPID_IHTMLEVENTOBJ_SHIFTKEY)]
12201     HRESULT shiftKey([retval, out] VARIANT_BOOL *p);
12202
12203     [propput, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
12204     HRESULT returnValue([in] VARIANT v);
12205
12206     [propget, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
12207     HRESULT returnValue([retval, out] VARIANT *p);
12208
12209     [propput, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
12210     HRESULT cancelBubble([in] VARIANT_BOOL v);
12211
12212     [propget, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
12213     HRESULT cancelBubble([retval, out] VARIANT_BOOL *p);
12214
12215     [propget, id(DISPID_IHTMLEVENTOBJ_FROMELEMENT)]
12216     HRESULT fromElement([retval, out] IHTMLElement **p);
12217
12218     [propget, id(DISPID_IHTMLEVENTOBJ_TOELEMENT)]
12219     HRESULT toElement([retval, out] IHTMLElement **p);
12220
12221     [propput, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
12222     HRESULT keyCode([in] long v);
12223
12224     [propget, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
12225     HRESULT keyCode([retval, out] long *p);
12226
12227     [propget, id(DISPID_IHTMLEVENTOBJ_BUTTON)]
12228     HRESULT button([retval, out] long *p);
12229
12230     [propget, id(DISPID_IHTMLEVENTOBJ_TYPE)]
12231     HRESULT type([retval, out] BSTR *p);
12232
12233     [propget, id(DISPID_IHTMLEVENTOBJ_QUALIFIER)]
12234     HRESULT qualifier([retval, out] BSTR *p);
12235
12236     [propget, id(DISPID_IHTMLEVENTOBJ_REASON)]
12237     HRESULT reason([retval, out] long *p);
12238
12239     [propget, id(DISPID_IHTMLEVENTOBJ_X)]
12240     HRESULT x([retval, out] long *p);
12241
12242     [propget, id(DISPID_IHTMLEVENTOBJ_Y)]
12243     HRESULT y([retval, out] long *p);
12244
12245     [propget, id(DISPID_IHTMLEVENTOBJ_CLIENTX)]
12246     HRESULT clientX([retval, out] long *p);
12247
12248     [propget, id(DISPID_IHTMLEVENTOBJ_CLIENTY)]
12249     HRESULT clientY([retval, out] long *p);
12250
12251     [propget, id(DISPID_IHTMLEVENTOBJ_OFFSETX)]
12252     HRESULT offsetX([retval, out] long *p);
12253
12254     [propget, id(DISPID_IHTMLEVENTOBJ_OFFSETY)]
12255     HRESULT offsetY([retval, out] long *p);
12256
12257     [propget, id(DISPID_IHTMLEVENTOBJ_SCREENX)]
12258     HRESULT screenX([retval, out] long *p);
12259
12260     [propget, id(DISPID_IHTMLEVENTOBJ_SCREENY)]
12261     HRESULT screenY([retval, out] long *p);
12262
12263     [propget, id(DISPID_IHTMLEVENTOBJ_SRCFILTER)]
12264     HRESULT srcFilter([retval, out] IDispatch **p);
12265 }
12266
12267 /*****************************************************************************
12268  *    IHTMLFramesCollection2 interface
12269  */
12270 [
12271     odl,
12272     oleautomation,
12273     dual,
12274     uuid(332C4426-26CB-11D0-B483-00C04FD90119)
12275 ]
12276 interface IHTMLFramesCollection2 : IDispatch
12277 {
12278     [id(DISPID_IHTMLFRAMESCOLLECTION2_ITEM)]
12279     HRESULT item(
12280         [in] VARIANT *pvarIndex,
12281         [retval, out] VARIANT *pvarResult);
12282
12283     [propget, id(DISPID_IHTMLFRAMESCOLLECTION2_LENGTH)]
12284     HRESULT length([retval, out] long *p);
12285 }
12286
12287 /*****************************************************************************
12288  *    IHTMLScreen interface
12289  */
12290 [
12291     odl,
12292     oleautomation,
12293     dual,
12294     uuid(3050f35C-98B5-11CF-BB82-00AA00BDCE0B)
12295 ]
12296 interface IHTMLScreen : IDispatch
12297 {
12298     [propget, id(DISPID_IHTMLSCREEN_COLORDEPTH)]
12299     HRESULT colorDepth([retval, out] long *p);
12300
12301     [propput, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
12302     HRESULT bufferDepth([in] long v);
12303
12304     [propget, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
12305     HRESULT bufferDepth([retval, out] long *p);
12306
12307     [propget, id(DISPID_IHTMLSCREEN_WIDTH)]
12308     HRESULT width([retval, out] long *p);
12309
12310     [propget, id(DISPID_IHTMLSCREEN_HEIGHT)]
12311     HRESULT height([retval, out] long *p);
12312
12313     [propput, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
12314     HRESULT updateInterval([in] long v);
12315
12316     [propget, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
12317     HRESULT updateInterval([retval, out] long *p);
12318
12319     [propget, id(DISPID_IHTMLSCREEN_AVAILHEIGHT)]
12320     HRESULT availHeight([retval, out] long *p);
12321
12322     [propget, id(DISPID_IHTMLSCREEN_AVAILWIDTH)]
12323     HRESULT availWidth([retval, out] long *p);
12324
12325     [propget, id(DISPID_IHTMLSCREEN_FONTSMOOTHINGENABLED)]
12326     HRESULT fontSmoothingEnabled([retval, out] VARIANT_BOOL *p);
12327 }
12328
12329 /*****************************************************************************
12330  *    IHTMLWindow2 interface
12331  */
12332 [
12333     odl,
12334     oleautomation,
12335     dual,
12336     uuid(332C4427-26CB-11D0-B483-00C04FD90119)
12337 ]
12338 interface IHTMLWindow2 : IHTMLFramesCollection2
12339 {
12340     [propget, id(DISPID_IHTMLWINDOW2_FRAMES)]
12341     HRESULT frames([retval, out] IHTMLFramesCollection2 **p);
12342
12343     [propput, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
12344     HRESULT defaultStatus([in] BSTR v);
12345
12346     [propget, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
12347     HRESULT defaultStatus([retval, out] BSTR *p);
12348
12349     [propput, id(DISPID_IHTMLWINDOW2_STATUS)]
12350     HRESULT status([in] BSTR v);
12351
12352     [propget, id(DISPID_IHTMLWINDOW2_STATUS)]
12353     HRESULT status([retval, out] BSTR *p);
12354
12355     [id(DISPID_IHTMLWINDOW2_SETTIMEOUT)]
12356     HRESULT setTimeout(
12357         [in] BSTR expression,
12358         [in] long msec,
12359         [optional, in] VARIANT *language,
12360         [retval, out] long *timerID);
12361
12362     [id(DISPID_IHTMLWINDOW2_CLEARTIMEOUT)]
12363     HRESULT clearTimeout([in] long timerID);
12364
12365     [id(DISPID_IHTMLWINDOW2_ALERT)]
12366     HRESULT alert([defaultvalue(""), in] BSTR message);
12367
12368     [id(DISPID_IHTMLWINDOW2_CONFIRM)]
12369     HRESULT confirm(
12370         [defaultvalue(""), in] BSTR message,
12371         [retval, out] VARIANT_BOOL *confirmed);
12372
12373     [id(DISPID_IHTMLWINDOW2_PROMPT)]
12374     HRESULT prompt(
12375         [defaultvalue(""), in] BSTR message,
12376         [defaultvalue("undefined"), in] BSTR defstr,
12377         [retval, out] VARIANT *textdata);
12378
12379     [propget, id(DISPID_IHTMLWINDOW2_IMAGE)]
12380     HRESULT Image([retval, out] IHTMLImageElementFactory **p);
12381
12382     [propget, id(DISPID_IHTMLWINDOW2_LOCATION)]
12383     HRESULT location([retval, out] IHTMLLocation **p);
12384
12385     [propget, id(DISPID_IHTMLWINDOW2_HISTORY)]
12386     HRESULT history([retval, out] IOmHistory **p);
12387
12388     [id(DISPID_IHTMLWINDOW2_CLOSE)]
12389     HRESULT close();
12390
12391     [propput, id(DISPID_IHTMLWINDOW2_OPENER)]
12392     HRESULT opener([in] VARIANT v);
12393
12394     [propget, id(DISPID_IHTMLWINDOW2_OPENER)]
12395     HRESULT opener([retval, out] VARIANT *p);
12396
12397     [propget, id(DISPID_IHTMLWINDOW2_NAVIGATOR)]
12398     HRESULT navigator([retval, out] IOmNavigator **p);
12399
12400     [propput, id(DISPID_IHTMLWINDOW2_NAME)]
12401     HRESULT name([in] BSTR v);
12402
12403     [propget, id(DISPID_IHTMLWINDOW2_NAME)]
12404     HRESULT name([retval, out] BSTR *p);
12405
12406     [propget, id(DISPID_IHTMLWINDOW2_PARENT)]
12407     HRESULT parent([retval, out] IHTMLWindow2 **p);
12408
12409     [id(DISPID_IHTMLWINDOW2_OPEN)]
12410     HRESULT open(
12411         [defaultvalue(""), in] BSTR url,
12412         [defaultvalue(""), in] BSTR name,
12413         [defaultvalue(""), in] BSTR features,
12414         [defaultvalue(0), in] VARIANT_BOOL replace,
12415         [retval, out] IHTMLWindow2 **pomWindowResult);
12416
12417     [propget, id(DISPID_IHTMLWINDOW2_SELF)]
12418     HRESULT self([retval, out] IHTMLWindow2 **p);
12419
12420     [propget, id(DISPID_IHTMLWINDOW2_TOP)]
12421     HRESULT top([retval, out] IHTMLWindow2 **p);
12422
12423     [propget, id(DISPID_IHTMLWINDOW2_WINDOW)]
12424     HRESULT window([retval, out] IHTMLWindow2 **p);
12425
12426     [id(DISPID_IHTMLWINDOW2_NAVIGATE)]
12427     HRESULT navigate([in] BSTR url);
12428
12429     [propput, id(DISPID_IHTMLWINDOW2_ONFOCUS)]
12430     HRESULT onfocus([in] VARIANT v);
12431
12432     [propget, id(DISPID_IHTMLWINDOW2_ONFOCUS)]
12433     HRESULT onfocus([retval, out] VARIANT *p);
12434
12435     [propput, id(DISPID_IHTMLWINDOW2_ONBLUR)]
12436     HRESULT onblur([in] VARIANT v);
12437
12438     [propget, id(DISPID_IHTMLWINDOW2_ONBLUR)]
12439     HRESULT onblur([retval, out] VARIANT *p);
12440
12441     [propput, id(DISPID_IHTMLWINDOW2_ONLOAD)]
12442     HRESULT onload([in] VARIANT v);
12443
12444     [propget, id(DISPID_IHTMLWINDOW2_ONLOAD)]
12445     HRESULT onload([retval, out] VARIANT *p);
12446
12447     [propput, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD)]
12448     HRESULT onbeforeunload([in] VARIANT v);
12449
12450     [propget, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD)]
12451     HRESULT onbeforeunload([retval, out] VARIANT *p);
12452
12453     [propput, id(DISPID_IHTMLWINDOW2_ONUNLOAD)]
12454     HRESULT onunload([in] VARIANT v);
12455
12456     [propget, id(DISPID_IHTMLWINDOW2_ONUNLOAD)]
12457     HRESULT onunload([retval, out] VARIANT *p);
12458
12459     [propput, id(DISPID_IHTMLWINDOW2_ONHELP)]
12460     HRESULT onhelp([in] VARIANT v);
12461
12462     [propget, id(DISPID_IHTMLWINDOW2_ONHELP)]
12463     HRESULT onhelp([retval, out] VARIANT *p);
12464
12465     [propput, id(DISPID_IHTMLWINDOW2_ONERROR)]
12466     HRESULT onerror([in] VARIANT v);
12467
12468     [propget, id(DISPID_IHTMLWINDOW2_ONERROR)]
12469     HRESULT onerror([retval, out] VARIANT *p);
12470
12471     [propput, id(DISPID_IHTMLWINDOW2_ONRESIZE)]
12472     HRESULT onresize([in] VARIANT v);
12473
12474     [propget, id(DISPID_IHTMLWINDOW2_ONRESIZE)]
12475     HRESULT onresize([retval, out] VARIANT *p);
12476
12477     [propput, id(DISPID_IHTMLWINDOW2_ONSCROLL)]
12478     HRESULT onscroll([in] VARIANT v);
12479
12480     [propget, id(DISPID_IHTMLWINDOW2_ONSCROLL)]
12481     HRESULT onscroll([retval, out] VARIANT *p);
12482
12483     [propget, id(DISPID_IHTMLWINDOW2_DOCUMENT)]
12484     HRESULT document([retval, out] IHTMLDocument2 **p);
12485
12486     [propget, id(DISPID_IHTMLWINDOW2_EVENT)]
12487     HRESULT event([retval, out] IHTMLEventObj **p);
12488
12489     [propget, id(DISPID_IHTMLWINDOW2__NEWENUM)]
12490     HRESULT _newEnum([retval, out] IUnknown **p);
12491
12492     [id(DISPID_IHTMLWINDOW2_SHOWMODALDIALOG)]
12493     HRESULT showModalDialog(
12494         [in] BSTR dialog,
12495         [optional, in] VARIANT *varArgIn,
12496         [optional, in] VARIANT *varOptions,
12497         [retval, out] VARIANT *varArgOut);
12498
12499     [id(DISPID_IHTMLWINDOW2_SHOWHELP)]
12500     HRESULT showHelp(
12501         [in] BSTR helpURL,
12502         [optional, in] VARIANT helpArg,
12503         [defaultvalue(""), in] BSTR features);
12504
12505     [propget, id(DISPID_IHTMLWINDOW2_SCREEN)]
12506     HRESULT screen([retval, out] IHTMLScreen **p);
12507
12508     [propget, id(DISPID_IHTMLWINDOW2_OPTION)]
12509     HRESULT Option([retval, out] IHTMLOptionElementFactory **p);
12510
12511     [id(DISPID_IHTMLWINDOW2_FOCUS)]
12512     HRESULT focus();
12513
12514     [propget, id(DISPID_IHTMLWINDOW2_CLOSED)]
12515     HRESULT closed([retval, out] VARIANT_BOOL *p);
12516
12517     [id(DISPID_IHTMLWINDOW2_BLUR)]
12518     HRESULT blur();
12519
12520     [id(DISPID_IHTMLWINDOW2_SCROLL)]
12521     HRESULT scroll([in] long x, [in] long y);
12522
12523     [propget, id(DISPID_IHTMLWINDOW2_CLIENTINFORMATION)]
12524     HRESULT clientInformation([retval, out] IOmNavigator **p);
12525
12526     [id(DISPID_IHTMLWINDOW2_SETINTERVAL)]
12527     HRESULT setInterval([
12528         in] BSTR expression,
12529         [in] long msec,
12530         [optional, in] VARIANT *language,
12531         [retval, out] long *timerID);
12532
12533     [id(DISPID_IHTMLWINDOW2_CLEARINTERVAL)]
12534     HRESULT clearInterval([in] long timerID);
12535
12536     [propput, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
12537     HRESULT offscreenBuffering([in] VARIANT v);
12538
12539     [propget, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
12540     HRESULT offscreenBuffering([retval, out] VARIANT *p);
12541
12542     [id(DISPID_IHTMLWINDOW2_EXECSCRIPT)]
12543     HRESULT execScript(
12544         [in] BSTR scode,
12545         [defaultvalue("JScript"), in] BSTR language,
12546         [retval, out] VARIANT *pvarRet);
12547
12548     [id(DISPID_IHTMLWINDOW2_TOSTRING)]
12549     HRESULT toString([retval, out] BSTR *String);
12550
12551     [id(DISPID_IHTMLWINDOW2_SCROLLBY)]
12552     HRESULT scrollBy([in] long x, [in] long y);
12553
12554     [id(DISPID_IHTMLWINDOW2_SCROLLTO)]
12555     HRESULT scrollTo([in] long x, [in] long y);
12556
12557     [id(DISPID_IHTMLWINDOW2_MOVETO)]
12558     HRESULT moveTo([in] long x, [in] long y);
12559
12560     [id(DISPID_IHTMLWINDOW2_MOVEBY)]
12561     HRESULT moveBy([in] long x, [in] long y);
12562
12563     [id(DISPID_IHTMLWINDOW2_RESIZETO)]
12564     HRESULT resizeTo([in] long x, [in] long y);
12565
12566     [id(DISPID_IHTMLWINDOW2_RESIZEBY)]
12567     HRESULT resizeBy([in] long x, [in] long y);
12568
12569     [propget, id(DISPID_IHTMLWINDOW2_EXTERNAL)]
12570     HRESULT external([retval, out] IDispatch **p);
12571 }
12572
12573 /*****************************************************************************
12574  *    IHTMLWindow3 interface
12575  */
12576 [
12577     odl,
12578     oleautomation,
12579     dual,
12580     uuid(3050f4ae-98b5-11cf-bb82-00aa00bdce0b)
12581 ]
12582 interface IHTMLWindow3 : IDispatch
12583 {
12584     [propget, id(DISPID_IHTMLWINDOW3_SCREENLEFT)]
12585     HRESULT screenLeft([out, retval] long *p);
12586
12587     [propget, id(DISPID_IHTMLWINDOW3_SCREENTOP)]
12588     HRESULT screenTop([out, retval] long *p);
12589
12590     [id(DISPID_IHTMLWINDOW3_ATTACHEVENT)]
12591     HRESULT attachEvent(
12592             [in] BSTR event,
12593             [in] IDispatch *pDisp,
12594             [out, retval] VARIANT_BOOL *pfResult);
12595
12596     [id(DISPID_IHTMLWINDOW3_DETACHEVENT)]
12597     HRESULT detachEvent(
12598             [in] BSTR event,
12599             [in] IDispatch *pDisp);
12600
12601     [id(DISPID_IHTMLWINDOW3_SETTIMEOUT)]
12602     HRESULT setTimeout(
12603             [in] VARIANT *expression,
12604             [in] long msec,
12605             [in, optional] VARIANT *language,
12606             [out, retval] long *timerID);
12607
12608     [id(DISPID_IHTMLWINDOW3_SETINTERVAL)]
12609     HRESULT setInterval(
12610             [in] VARIANT *expression,
12611             [in] long msec,
12612             [in, optional] VARIANT *language,
12613             [out, retval] long *timerID);
12614
12615     [id(DISPID_IHTMLWINDOW3_PRINT)]
12616     HRESULT print();
12617
12618     [propput, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
12619     HRESULT onbeforeprint([in] VARIANT v);
12620
12621     [propget, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
12622     HRESULT onbeforeprint([out, retval] VARIANT *p);
12623
12624     [propput, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
12625     HRESULT onafterprint([in] VARIANT v);
12626
12627     [propget, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
12628     HRESULT onafterprint([out, retval] VARIANT *p);
12629
12630     [propget, id(DISPID_IHTMLWINDOW3_CLIPBOARDDATA)]
12631     HRESULT clipboardData([out, retval] IHTMLDataTransfer **p);
12632
12633     [id(DISPID_IHTMLWINDOW3_SHOWMODELESSDIALOG)]
12634     HRESULT showModelessDialog(
12635             [in, defaultvalue("")] BSTR url,
12636             [in, optional] VARIANT *varArgIn,
12637             [in, optional] VARIANT *options,
12638             [out, retval] IHTMLWindow2 **pDialog);
12639 }
12640
12641 /*****************************************************************************
12642  *    DispHTMLWindow2 dispinterface
12643  */
12644 [
12645     hidden,
12646     uuid(3050f55d-98b5-11cf-bb82-00aa00bdce0b)
12647 ]
12648 dispinterface DispHTMLWindow2
12649 {
12650 properties:
12651 methods:
12652     [id(DISPID_IHTMLFRAMESCOLLECTION2_ITEM)]
12653     VARIANT item([in] VARIANT *pvarIndex);
12654
12655     [propget, id(DISPID_IHTMLFRAMESCOLLECTION2_LENGTH)]
12656     long length();
12657
12658     [propget, id(DISPID_IHTMLWINDOW2_FRAMES)]
12659     IHTMLFramesCollection2 *frames();
12660
12661     [propput, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
12662     void defaultStatus(BSTR v);
12663
12664     [propget, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
12665     BSTR defaultStatus();
12666
12667     [propput, id(DISPID_IHTMLWINDOW2_STATUS)]
12668     void status(BSTR v);
12669
12670     [propget, id(DISPID_IHTMLWINDOW2_STATUS)]
12671     BSTR status();
12672
12673     [id(DISPID_IHTMLWINDOW2_CLEARTIMEOUT)]
12674     void clearTimeout([in] long timerID);
12675
12676     [id(DISPID_IHTMLWINDOW2_ALERT)]
12677     void alert([in, defaultvalue("")] BSTR message);
12678
12679     [id(DISPID_IHTMLWINDOW2_CONFIRM)]
12680     VARIANT_BOOL confirm([in, defaultvalue("")] BSTR message);
12681
12682     [id(DISPID_IHTMLWINDOW2_PROMPT)]
12683     VARIANT prompt(
12684             [in, defaultvalue("")] BSTR message,
12685             [in, defaultvalue("undefined")] BSTR defstr);
12686
12687     [propget, id(DISPID_IHTMLWINDOW2_IMAGE)]
12688     IHTMLImageElementFactory *Image();
12689
12690     [propget, id(DISPID_IHTMLWINDOW2_LOCATION)]
12691     IHTMLLocation *location();
12692
12693     [propget, id(DISPID_IHTMLWINDOW2_HISTORY)]
12694     IOmHistory *history();
12695
12696     [id(DISPID_IHTMLWINDOW2_CLOSE)]
12697     void close();
12698
12699     [propput, id(DISPID_IHTMLWINDOW2_OPENER)]
12700     void opener(VARIANT v);
12701
12702     [propget, id(DISPID_IHTMLWINDOW2_OPENER)]
12703     VARIANT opener();
12704
12705     [propget, id(DISPID_IHTMLWINDOW2_NAVIGATOR)]
12706     IOmNavigator *navigator();
12707
12708     [propput, id(DISPID_IHTMLWINDOW2_NAME)]
12709     void name(BSTR v);
12710
12711     [propget, id(DISPID_IHTMLWINDOW2_NAME)]
12712     BSTR name();
12713
12714     [propget, id(DISPID_IHTMLWINDOW2_PARENT)]
12715     IHTMLWindow2 *parent();
12716
12717     [id(DISPID_IHTMLWINDOW2_OPEN)]
12718     IHTMLWindow2 *open(
12719             [in, defaultvalue("")] BSTR url,
12720             [in, defaultvalue("")] BSTR name,
12721             [in, defaultvalue("")] BSTR features,
12722             [in, defaultvalue(0)]  VARIANT_BOOL replace);
12723
12724     [propget, id(DISPID_IHTMLWINDOW2_SELF)]
12725     IHTMLWindow2 *self();
12726
12727     [propget, id(DISPID_IHTMLWINDOW2_TOP)]
12728     IHTMLWindow2 *top();
12729
12730     [propget, id(DISPID_IHTMLWINDOW2_WINDOW)]
12731     IHTMLWindow2 *window();
12732
12733     [id(DISPID_IHTMLWINDOW2_NAVIGATE)]
12734     void navigate([in] BSTR url);
12735
12736     [propput, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
12737     void onfocus(VARIANT v);
12738
12739     [propget, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
12740     VARIANT onfocus();
12741
12742     [propput, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
12743     void onblur(VARIANT v);
12744
12745     [propget, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
12746     VARIANT onblur();
12747
12748     [propget, id(DISPID_IHTMLWINDOW2_ONLOAD), displaybind, bindable]
12749     VARIANT onload();
12750
12751     [propput, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
12752     void onbeforeunload(VARIANT v);
12753
12754     [propget, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
12755     VARIANT onbeforeunload();
12756
12757     [propput, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
12758     void onunload(VARIANT v);
12759
12760     [propget, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
12761     VARIANT onunload();
12762
12763     [propput, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
12764     void onhelp(VARIANT v);
12765
12766     [propget, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
12767     VARIANT onhelp();
12768
12769     [propput, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
12770     void onerror(VARIANT v);
12771
12772     [propget, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
12773     VARIANT onerror();
12774
12775     [propput, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
12776     void onresize(VARIANT v);
12777
12778     [propget, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
12779     VARIANT onresize();
12780
12781     [propput, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
12782     void onscroll(VARIANT v);
12783
12784     [propget, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
12785     VARIANT onscroll();
12786
12787     [propget, id(DISPID_IHTMLWINDOW2_DOCUMENT), source]
12788     IHTMLDocument2 *document();
12789
12790     [propget, id(DISPID_IHTMLWINDOW2_EVENT)]
12791     IHTMLEventObj *event();
12792
12793     [propget, id(DISPID_IHTMLWINDOW2__NEWENUM), hidden, restricted]
12794     IUnknown *_newEnum();
12795
12796     [id(DISPID_IHTMLWINDOW2_SHOWMODALDIALOG)]
12797     VARIANT showModalDialog(
12798             [in] BSTR dialog,
12799             [in, optional] VARIANT *varArgIn,
12800             [in, optional] VARIANT *varOptions);
12801
12802     [id(DISPID_IHTMLWINDOW2_SHOWHELP)]
12803     void showHelp(
12804             [in] BSTR helpURL,
12805             [in, optional] VARIANT helpArg,
12806             [in, defaultvalue("")] BSTR features);
12807
12808     [propget, id(DISPID_IHTMLWINDOW2_SCREEN)]
12809     IHTMLScreen *screen();
12810
12811     [propget, id(DISPID_IHTMLWINDOW2_OPTION)]
12812     IHTMLOptionElementFactory *Option();
12813
12814     [id(DISPID_IHTMLWINDOW2_FOCUS)]
12815     void focus();
12816
12817     [propget, id(DISPID_IHTMLWINDOW2_CLOSED)]
12818     VARIANT_BOOL closed();
12819
12820     [id(DISPID_IHTMLWINDOW2_BLUR)]
12821     void blur();
12822
12823     [id(DISPID_IHTMLWINDOW2_SCROLL)]
12824     void scroll([in] long x, [in] long y);
12825
12826     [propget, id(DISPID_IHTMLWINDOW2_CLIENTINFORMATION)]
12827     IOmNavigator *clientInformation();
12828
12829     [id(DISPID_IHTMLWINDOW2_CLEARINTERVAL)]
12830     void clearInterval([in] long timerID);
12831
12832     [propput, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
12833     void offscreenBuffering(VARIANT v);
12834
12835     [propget, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
12836     VARIANT offscreenBuffering();
12837
12838     [id(DISPID_IHTMLWINDOW2_EXECSCRIPT)]
12839     VARIANT execScript(
12840             [in] BSTR _code,
12841             [in, defaultvalue("JScript")] BSTR language);
12842
12843     [id(DISPID_IHTMLWINDOW2_TOSTRING)]
12844     BSTR toString();
12845
12846     [id(DISPID_IHTMLWINDOW2_SCROLLBY)]
12847     void scrollBy([in] long x, [in] long y);
12848
12849     [id(DISPID_IHTMLWINDOW2_SCROLLTO)]
12850     void scrollTo([in] long x, [in] long y);
12851
12852     [id(DISPID_IHTMLWINDOW2_MOVETO)]
12853     void moveTo([in] long x, [in] long y);
12854
12855     [id(DISPID_IHTMLWINDOW2_MOVEBY)]
12856     void moveBy([in] long x, [in] long y);
12857
12858     [id(DISPID_IHTMLWINDOW2_RESIZETO)]
12859     void resizeTo([in] long x, [in] long y);
12860
12861     [id(DISPID_IHTMLWINDOW2_RESIZEBY)]
12862     void resizeBy([in] long x, [in] long y);
12863
12864     [propget, id(DISPID_IHTMLWINDOW2_EXTERNAL)]
12865     IDispatch *external();
12866
12867     [propget, id(DISPID_IHTMLWINDOW3_SCREENLEFT)]
12868     long screenLeft();
12869
12870     [propget, id(DISPID_IHTMLWINDOW3_SCREENTOP)]
12871     long screenTop();
12872
12873     [id(DISPID_IHTMLWINDOW3_ATTACHEVENT)]
12874     VARIANT_BOOL attachEvent(
12875              [in] BSTR event,
12876              [in] IDispatch *pDisp);
12877
12878     [id(DISPID_IHTMLWINDOW3_DETACHEVENT)]
12879     void detachEvent(
12880             [in] BSTR event,
12881             [in] IDispatch *pDisp);
12882
12883     [id(DISPID_IHTMLWINDOW3_SETTIMEOUT)]
12884     long setTimeout(
12885             [in] VARIANT *expression,
12886             [in] long msec,
12887             [in, optional] VARIANT *language);
12888
12889     [id(DISPID_IHTMLWINDOW3_SETINTERVAL)]
12890     long setInterval(
12891             [in] VARIANT *expression,
12892             [in] long msec,
12893             [in, optional] VARIANT *language);
12894
12895     [id(DISPID_IHTMLWINDOW3_PRINT)]
12896     void print();
12897
12898     [propput, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
12899     void onbeforeprint(VARIANT v);
12900
12901     [propget, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
12902     VARIANT onbeforeprint();
12903
12904     [propput, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
12905     void onafterprint(VARIANT v);
12906
12907     [propget, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
12908     VARIANT onafterprint();
12909
12910     [propget, id(DISPID_IHTMLWINDOW3_CLIPBOARDDATA)]
12911     IHTMLDataTransfer *clipboardData();
12912
12913     [id(DISPID_IHTMLWINDOW3_SHOWMODELESSDIALOG)]
12914     IHTMLWindow2 *showModelessDialog(
12915             [in, defaultvalue("")] BSTR url,
12916             [in, optional] VARIANT *varArgIn,
12917             [in, optional] VARIANT *options);
12918
12919     [id(DISPID_IHTMLWINDOW4_CREATEPOPUP)]
12920     IDispatch *createPopup([in, optional] VARIANT *varArgIn);
12921
12922     [propget, id(DISPID_IHTMLWINDOW4_FRAMEELEMENT)]
12923     IHTMLFrameBase *frameElement();
12924 }
12925
12926 /*****************************************************************************
12927  *    HTMLDocumentEvents2 interface
12928  */
12929 [
12930     hidden,
12931     uuid(3050f613-98b5-11cf-bb82-00aa00bdce0b)
12932 ]
12933 dispinterface HTMLDocumentEvents2
12934 {
12935     properties:
12936     methods:
12937     [id(DISPID_HTMLDOCUMENTEVENTS2_ONHELP)]
12938     VARIANT_BOOL onhelp([in] IHTMLEventObj *pEvtObj);
12939
12940     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCLICK)]
12941     VARIANT_BOOL onclick([in] IHTMLEventObj *pEvtObj);
12942
12943     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDBLCLICK)]
12944     VARIANT_BOOL ondblclick([in] IHTMLEventObj *pEvtObj);
12945
12946     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYDOWN)]
12947     void onkeydown([in] IHTMLEventObj *pEvtObj);
12948
12949     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYUP)]
12950     void onkeyup([in] IHTMLEventObj *pEvtObj);
12951
12952     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYPRESS)]
12953     VARIANT_BOOL onkeypress([in] IHTMLEventObj *pEvtObj);
12954
12955     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEDOWN)]
12956     void onmousedown([in] IHTMLEventObj *pEvtObj);
12957
12958     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEMOVE)]
12959     void onmousemove([in] IHTMLEventObj *pEvtObj);
12960
12961     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEUP)]
12962     void onmouseup([in] IHTMLEventObj *pEvtObj);
12963
12964     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEOUT)]
12965     void onmouseout([in] IHTMLEventObj *pEvtObj);
12966
12967     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEOVER)]
12968     void onmouseover([in] IHTMLEventObj *pEvtObj);
12969
12970     [id(DISPID_HTMLDOCUMENTEVENTS2_ONREADYSTATECHANGE)]
12971     void onreadystatechange([in] IHTMLEventObj *pEvtObj);
12972
12973     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREUPDATE)]
12974     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj *pEvtObj);
12975
12976     [id(DISPID_HTMLDOCUMENTEVENTS2_ONAFTERUPDATE)]
12977     void onafterupdate([in] IHTMLEventObj *pEvtObj);
12978
12979     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWEXIT)]
12980     VARIANT_BOOL onrowexit([in] IHTMLEventObj *pEvtObj);
12981
12982     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWENTER)]
12983     void onrowenter([in] IHTMLEventObj *pEvtObj);
12984
12985     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDRAGSTART)]
12986     VARIANT_BOOL ondragstart([in] IHTMLEventObj *pEvtObj);
12987
12988     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSELECTSTART)]
12989     VARIANT_BOOL onselectstart([in] IHTMLEventObj *pEvtObj);
12990
12991     [id(DISPID_HTMLDOCUMENTEVENTS2_ONERRORUPDATE)]
12992     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj *pEvtObj);
12993
12994     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCONTEXTMENU)]
12995     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj *pEvtObj);
12996
12997     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSTOP)]
12998     VARIANT_BOOL onstop([in] IHTMLEventObj *pEvtObj);
12999
13000     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWSDELETE)]
13001     void onrowsdelete([in] IHTMLEventObj *pEvtObj);
13002
13003     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWSINSERTED)]
13004     void onrowsinserted([in] IHTMLEventObj *pEvtObj);
13005
13006     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCELLCHANGE)]
13007     void oncellchange([in] IHTMLEventObj *pEvtObj);
13008
13009     [id(DISPID_HTMLDOCUMENTEVENTS2_ONPROPERTYCHANGE)]
13010     void onpropertychange([in] IHTMLEventObj *pEvtObj);
13011
13012     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATASETCHANGED)]
13013     void ondatasetchanged([in] IHTMLEventObj *pEvtObj);
13014
13015     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATAAVAILABLE)]
13016     void ondataavailable([in] IHTMLEventObj *pEvtObj);
13017
13018     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATASETCOMPLETE)]
13019     void ondatasetcomplete([in] IHTMLEventObj *pEvtObj);
13020
13021     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREEDITFOCUS)]
13022     void onbeforeeditfocus([in] IHTMLEventObj *pEvtObj);
13023
13024     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSELECTIONCHANGE)]
13025     void onselectionchange([in] IHTMLEventObj *pEvtObj);
13026
13027     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCONTROLSELECT)]
13028     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj *pEvtObj);
13029
13030     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEWHEEL)]
13031     VARIANT_BOOL onmousewheel([in] IHTMLEventObj *pEvtObj);
13032
13033     [id(DISPID_HTMLDOCUMENTEVENTS2_ONFOCUSIN)]
13034     void onfocusin([in] IHTMLEventObj *pEvtObj);
13035
13036     [id(DISPID_HTMLDOCUMENTEVENTS2_ONFOCUSOUT)]
13037     void onfocusout([in] IHTMLEventObj *pEvtObj);
13038
13039     [id(DISPID_HTMLDOCUMENTEVENTS2_ONACTIVATE)]
13040     void onactivate([in] IHTMLEventObj *pEvtObj);
13041
13042     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDEACTIVATE)]
13043     void ondeactivate([in] IHTMLEventObj *pEvtObj);
13044
13045     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREACTIVATE)]
13046     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj *pEvtObj);
13047
13048     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREDEACTIVATE)]
13049     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj *pEvtObj);
13050 }
13051
13052 /*****************************************************************************
13053  *    HTMLDocumentEvents interface
13054  */
13055 [
13056     hidden,
13057     uuid(3050f260-98b5-11cf-bb82-00aa00bdce0b)
13058 ]
13059 dispinterface HTMLDocumentEvents
13060 {
13061     properties:
13062     methods:
13063     [id(DISPID_HTMLDOCUMENTEVENTS_ONHELP)]
13064     VARIANT_BOOL onhelp();
13065
13066     [id(DISPID_HTMLDOCUMENTEVENTS_ONCLICK)]
13067     VARIANT_BOOL onclick();
13068
13069     [id(DISPID_HTMLDOCUMENTEVENTS_ONDBLCLICK)]
13070     VARIANT_BOOL ondblclick();
13071
13072     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYDOWN)]
13073     void onkeydown();
13074
13075     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYUP)]
13076     void onkeyup();
13077
13078     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYPRESS)]
13079     VARIANT_BOOL onkeypress();
13080
13081     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEDOWN)]
13082     void onmousedown();
13083
13084     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEMOVE)]
13085     void onmousemove();
13086
13087     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEUP)]
13088     void onmouseup();
13089
13090     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEOUT)]
13091     void onmouseout();
13092
13093     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEOVER)]
13094     void onmouseover();
13095
13096     [id(DISPID_HTMLDOCUMENTEVENTS_ONREADYSTATECHANGE)]
13097     void onreadystatechange();
13098
13099     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREUPDATE)]
13100     VARIANT_BOOL onbeforeupdate();
13101
13102     [id(DISPID_HTMLDOCUMENTEVENTS_ONAFTERUPDATE)]
13103     void onafterupdate();
13104
13105     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWEXIT)]
13106     VARIANT_BOOL onrowexit();
13107
13108     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWENTER)]
13109     void onrowenter();
13110
13111     [id(DISPID_HTMLDOCUMENTEVENTS_ONDRAGSTART)]
13112     VARIANT_BOOL ondragstart();
13113
13114     [id(DISPID_HTMLDOCUMENTEVENTS_ONSELECTSTART)]
13115     VARIANT_BOOL onselectstart();
13116
13117     [id(DISPID_HTMLDOCUMENTEVENTS_ONERRORUPDATE)]
13118     VARIANT_BOOL onerrorupdate();
13119
13120     [id(DISPID_HTMLDOCUMENTEVENTS_ONCONTEXTMENU)]
13121     VARIANT_BOOL oncontextmenu();
13122
13123     [id(DISPID_HTMLDOCUMENTEVENTS_ONSTOP)]
13124     VARIANT_BOOL onstop();
13125
13126     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWSDELETE)]
13127     void onrowsdelete();
13128
13129     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWSINSERTED)]
13130     void onrowsinserted();
13131
13132     [id(DISPID_HTMLDOCUMENTEVENTS_ONCELLCHANGE)]
13133     void oncellchange();
13134
13135     [id(DISPID_HTMLDOCUMENTEVENTS_ONPROPERTYCHANGE)]
13136     void onpropertychange();
13137
13138     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATASETCHANGED)]
13139     void ondatasetchanged();
13140
13141     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATAAVAILABLE)]
13142     void ondataavailable();
13143
13144     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATASETCOMPLETE)]
13145     void ondatasetcomplete();
13146
13147     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREEDITFOCUS)]
13148     void onbeforeeditfocus();
13149
13150     [id(DISPID_HTMLDOCUMENTEVENTS_ONSELECTIONCHANGE)]
13151     void onselectionchange();
13152
13153     [id(DISPID_HTMLDOCUMENTEVENTS_ONCONTROLSELECT)]
13154     VARIANT_BOOL oncontrolselect();
13155
13156     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEWHEEL)]
13157     VARIANT_BOOL onmousewheel();
13158
13159     [id(DISPID_HTMLDOCUMENTEVENTS_ONFOCUSIN)]
13160     void onfocusin();
13161
13162     [id(DISPID_HTMLDOCUMENTEVENTS_ONFOCUSOUT)]
13163     void onfocusout();
13164
13165     [id(DISPID_HTMLDOCUMENTEVENTS_ONACTIVATE)]
13166     void onactivate();
13167
13168     [id(DISPID_HTMLDOCUMENTEVENTS_ONDEACTIVATE)]
13169     void ondeactivate();
13170
13171     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREACTIVATE)]
13172     VARIANT_BOOL onbeforeactivate();
13173
13174     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREDEACTIVATE)]
13175     VARIANT_BOOL onbeforedeactivate();
13176 }
13177
13178 /*****************************************************************************
13179  *    HTMLTextContainerEvents interface
13180  */
13181 [
13182     hidden,
13183     uuid(1ff6aa72-5842-11cf-a707-00aa00c0098d)
13184 ]
13185 dispinterface HTMLTextContainerEvents
13186 {
13187 properties:
13188
13189 methods:
13190     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
13191     VARIANT_BOOL onhelp();
13192
13193     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
13194     VARIANT_BOOL onclick();
13195
13196     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
13197     VARIANT_BOOL ondblclick();
13198
13199     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
13200     VARIANT_BOOL onkeypress();
13201
13202     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
13203     void onkeydown();
13204
13205     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
13206     void onkeyup();
13207
13208     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
13209     void onmouseout();
13210
13211     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
13212     void onmouseover();
13213
13214     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
13215     void onmousemove();
13216
13217     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
13218     void onmousedown();
13219
13220     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
13221     void onmouseup();
13222
13223     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
13224     VARIANT_BOOL onselectstart();
13225
13226     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
13227     void onfilterchange();
13228
13229     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
13230     VARIANT_BOOL ondragstart();
13231
13232     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
13233     VARIANT_BOOL onbeforeupdate();
13234
13235     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
13236     void onafterupdate();
13237
13238     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
13239     VARIANT_BOOL onerrorupdate();
13240
13241     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
13242     VARIANT_BOOL onrowexit();
13243
13244     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
13245     void onrowenter();
13246
13247     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
13248     void ondatasetchanged();
13249
13250     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
13251     void ondataavailable();
13252
13253     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
13254     void ondatasetcomplete();
13255
13256     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
13257     void onlosecapture();
13258
13259     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
13260     void onpropertychange();
13261
13262     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
13263     void onscroll();
13264
13265     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
13266     void onfocus();
13267
13268     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
13269     void onblur();
13270
13271     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
13272     void onresize();
13273
13274     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
13275     VARIANT_BOOL ondrag();
13276
13277     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
13278     void ondragend();
13279
13280     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
13281     VARIANT_BOOL ondragenter();
13282
13283     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
13284     VARIANT_BOOL ondragover();
13285
13286     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
13287     void ondragleave();
13288
13289     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
13290     VARIANT_BOOL ondrop();
13291
13292     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
13293     VARIANT_BOOL onbeforecut();
13294
13295     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
13296     VARIANT_BOOL oncut();
13297
13298     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
13299     VARIANT_BOOL onbeforecopy();
13300
13301     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
13302     VARIANT_BOOL oncopy();
13303
13304     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
13305     VARIANT_BOOL onbeforepaste();
13306
13307     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
13308     VARIANT_BOOL onpaste();
13309
13310     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
13311     VARIANT_BOOL oncontextmenu();
13312
13313     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
13314     void onrowsdelete();
13315
13316     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
13317     void onrowsinserted();
13318
13319     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
13320     void oncellchange();
13321
13322     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
13323     void onreadystatechange();
13324
13325     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
13326     void onbeforeeditfocus();
13327
13328     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
13329     void onlayoutcomplete();
13330
13331     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
13332     void onpage();
13333
13334     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
13335     VARIANT_BOOL onbeforedeactivate();
13336
13337     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
13338     VARIANT_BOOL onbeforeactivate();
13339
13340     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
13341     void onmove();
13342
13343     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
13344     VARIANT_BOOL oncontrolselect();
13345
13346     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
13347     VARIANT_BOOL onmovestart();
13348
13349     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
13350     void onmoveend();
13351
13352     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
13353     VARIANT_BOOL onresizestart();
13354
13355     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
13356     void onresizeend();
13357
13358     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
13359     void onmouseenter();
13360
13361     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
13362     void onmouseleave();
13363
13364     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
13365     VARIANT_BOOL onmousewheel();
13366
13367     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
13368     void onactivate();
13369
13370     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
13371     void ondeactivate();
13372
13373     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
13374     void onfocusin();
13375
13376     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
13377     void onfocusout();
13378
13379     [id(DISPID_HTMLTEXTCONTAINEREVENTS_ONCHANGE)]
13380     void onchange();
13381
13382     [id(DISPID_HTMLTEXTCONTAINEREVENTS_ONSELECT)]
13383     void onselect();
13384 };
13385
13386 /*****************************************************************************
13387  *    HTMLTextContainerEvents2 interface
13388  */
13389 [
13390     hidden,
13391     uuid(3050f624-98b5-11cf-bb82-00aa00bdce0b)
13392 ]
13393 dispinterface HTMLTextContainerEvents2
13394 {
13395 properties:
13396 methods:
13397     [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)]
13398     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
13399
13400     [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)]
13401     VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
13402
13403     [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)]
13404     VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
13405
13406     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)]
13407     VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
13408
13409     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)]
13410     void onkeydown([in] IHTMLEventObj* pEvtObj);
13411
13412     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)]
13413     void onkeyup([in] IHTMLEventObj* pEvtObj);
13414
13415     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)]
13416     void onmouseout([in] IHTMLEventObj* pEvtObj);
13417
13418     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)]
13419     void onmouseover([in] IHTMLEventObj* pEvtObj);
13420
13421     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)]
13422     void onmousemove([in] IHTMLEventObj* pEvtObj);
13423
13424     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)]
13425     void onmousedown([in] IHTMLEventObj* pEvtObj);
13426
13427     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)]
13428     void onmouseup([in] IHTMLEventObj* pEvtObj);
13429
13430     [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)]
13431     VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
13432
13433     [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)]
13434     void onfilterchange([in] IHTMLEventObj* pEvtObj);
13435
13436     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)]
13437     VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
13438
13439     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)]
13440     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
13441
13442     [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)]
13443     void onafterupdate([in] IHTMLEventObj* pEvtObj);
13444
13445     [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)]
13446     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
13447
13448     [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)]
13449     VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
13450
13451     [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)]
13452     void onrowenter([in] IHTMLEventObj* pEvtObj);
13453
13454     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)]
13455     void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
13456
13457     [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)]
13458     void ondataavailable([in] IHTMLEventObj* pEvtObj);
13459
13460     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)]
13461     void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
13462
13463     [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)]
13464     void onlosecapture([in] IHTMLEventObj* pEvtObj);
13465
13466     [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)]
13467     void onpropertychange([in] IHTMLEventObj* pEvtObj);
13468
13469     [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)]
13470     void onscroll([in] IHTMLEventObj* pEvtObj);
13471
13472     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)]
13473     void onfocus([in] IHTMLEventObj* pEvtObj);
13474
13475     [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)]
13476     void onblur([in] IHTMLEventObj* pEvtObj);
13477
13478     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)]
13479     void onresize([in] IHTMLEventObj* pEvtObj);
13480
13481     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)]
13482     VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
13483
13484     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)]
13485     void ondragend([in] IHTMLEventObj* pEvtObj);
13486
13487     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)]
13488     VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
13489
13490     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)]
13491     VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
13492
13493     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)]
13494     void ondragleave([in] IHTMLEventObj* pEvtObj);
13495
13496     [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)]
13497     VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
13498
13499     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)]
13500     VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
13501
13502     [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)]
13503     VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
13504
13505     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)]
13506     VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
13507
13508     [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)]
13509     VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
13510
13511     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)]
13512     VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
13513
13514     [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)]
13515     VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
13516
13517     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)]
13518     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
13519
13520     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)]
13521     void onrowsdelete([in] IHTMLEventObj* pEvtObj);
13522
13523     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)]
13524     void onrowsinserted([in] IHTMLEventObj* pEvtObj);
13525
13526     [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)]
13527     void oncellchange([in] IHTMLEventObj* pEvtObj);
13528
13529     [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)]
13530     void onreadystatechange([in] IHTMLEventObj* pEvtObj);
13531
13532     [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)]
13533     void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
13534
13535     [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)]
13536     void onpage([in] IHTMLEventObj* pEvtObj);
13537
13538     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)]
13539     void onmouseenter([in] IHTMLEventObj* pEvtObj);
13540
13541     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)]
13542     void onmouseleave([in] IHTMLEventObj* pEvtObj);
13543
13544     [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)]
13545     void onactivate([in] IHTMLEventObj* pEvtObj);
13546
13547     [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)]
13548     void ondeactivate([in] IHTMLEventObj* pEvtObj);
13549
13550     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)]
13551     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
13552
13553     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)]
13554     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
13555
13556     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)]
13557     void onfocusin([in] IHTMLEventObj* pEvtObj);
13558
13559     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)]
13560     void onfocusout([in] IHTMLEventObj* pEvtObj);
13561
13562     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)]
13563     void onmove([in] IHTMLEventObj* pEvtObj);
13564
13565     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)]
13566     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
13567
13568     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)]
13569     VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
13570
13571     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)]
13572     void onmoveend([in] IHTMLEventObj* pEvtObj);
13573
13574     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)]
13575     VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
13576
13577     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)]
13578     void onresizeend([in] IHTMLEventObj* pEvtObj);
13579
13580     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)]
13581     VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
13582
13583     [id(DISPID_HTMLTEXTCONTAINEREVENTS2_ONCHANGE)]
13584     void onchange([in] IHTMLEventObj* pEvtObj);
13585
13586     [id(DISPID_HTMLTEXTCONTAINEREVENTS2_ONSELECT)]
13587     void onselect([in] IHTMLEventObj* pEvtObj);
13588 };
13589
13590 /*****************************************************************************
13591  *    IHTMLDocument interface
13592  */
13593 [
13594     odl,
13595     oleautomation,
13596     dual,
13597     uuid(626FC520-A41E-11CF-A731-00A0C9082637)
13598 ]
13599 interface IHTMLDocument : IDispatch
13600 {
13601     [propget, id(DISPID_IHTMLDOCUMENT_SCRIPT)]
13602     HRESULT Script([retval, out] IDispatch **p);
13603 }
13604
13605 /*****************************************************************************
13606  *    IHTMLDocument2 interface
13607  */
13608 [
13609     odl,
13610     oleautomation,
13611     dual,
13612     uuid(332C4425-26CB-11D0-B483-00C04FD90119)
13613 ]
13614 interface IHTMLDocument2 : IHTMLDocument
13615 {
13616     [propget, id(DISPID_IHTMLDOCUMENT2_ALL)]
13617     HRESULT all([retval, out] IHTMLElementCollection **p);
13618
13619     [propget, id(DISPID_IHTMLDOCUMENT2_BODY)]
13620     HRESULT body([retval, out] IHTMLElement **p);
13621
13622     [propget, id(DISPID_IHTMLDOCUMENT2_ACTIVEELEMENT)]
13623     HRESULT activeElement([retval, out] IHTMLElement **p);
13624
13625     [propget, id(DISPID_IHTMLDOCUMENT2_IMAGES)]
13626     HRESULT images([retval, out] IHTMLElementCollection **p);
13627
13628     [propget, id(DISPID_IHTMLDOCUMENT2_APPLETS)]
13629     HRESULT applets([retval, out] IHTMLElementCollection **p);
13630
13631     [propget, id(DISPID_IHTMLDOCUMENT2_LINKS)]
13632     HRESULT links([retval, out] IHTMLElementCollection **p);
13633
13634     [propget, id(DISPID_IHTMLDOCUMENT2_FORMS)]
13635     HRESULT forms([retval, out] IHTMLElementCollection **p);
13636
13637     [propget, id(DISPID_IHTMLDOCUMENT2_ANCHORS)]
13638     HRESULT anchors([retval, out] IHTMLElementCollection **p);
13639
13640     [propput, id(DISPID_IHTMLDOCUMENT2_TITLE)]
13641     HRESULT title([in] BSTR v);
13642
13643     [propget, id(DISPID_IHTMLDOCUMENT2_TITLE)]
13644     HRESULT title([retval, out] BSTR *p);
13645
13646     [propget, id(DISPID_IHTMLDOCUMENT2_SCRIPTS)]
13647     HRESULT scripts([retval, out] IHTMLElementCollection **p);
13648
13649     [propput, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE)]
13650     HRESULT designMode([in] BSTR v);
13651
13652     [propget, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE)]
13653     HRESULT designMode([retval, out] BSTR *p);
13654
13655     [propget, id(DISPID_IHTMLDOCUMENT2_SELECTION)]
13656     HRESULT selection([retval, out] IHTMLSelectionObject **p);
13657
13658     [propget, id(DISPID_IHTMLDOCUMENT2_READYSTATE)]
13659      HRESULT readyState([retval, out] BSTR *p);
13660
13661     [propget, id(DISPID_IHTMLDOCUMENT2_FRAMES)]
13662     HRESULT frames([retval, out] IHTMLFramesCollection2 **p);
13663
13664     [propget, id(DISPID_IHTMLDOCUMENT2_EMBEDS)]
13665     HRESULT embeds([retval, out] IHTMLElementCollection **p);
13666
13667     [propget, id(DISPID_IHTMLDOCUMENT2_PLUGINS)]
13668     HRESULT plugins([retval, out] IHTMLElementCollection **p);
13669
13670     [propput, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
13671     HRESULT alinkColor([in] VARIANT v);
13672
13673     [propget, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
13674     HRESULT alinkColor([retval, out] VARIANT *p);
13675
13676     [propput, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
13677     HRESULT bgColor([in] VARIANT v);
13678
13679     [propget, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
13680     HRESULT bgColor([retval, out] VARIANT *p);
13681
13682     [propput, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
13683     HRESULT fgColor([in] VARIANT v);
13684
13685     [propget, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
13686     HRESULT fgColor([retval, out] VARIANT *p);
13687
13688     [propput, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
13689     HRESULT linkColor([in] VARIANT v);
13690
13691     [propget, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
13692     HRESULT linkColor([retval, out] VARIANT *p);
13693
13694     [propput, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
13695     HRESULT vlinkColor([in] VARIANT v);
13696
13697     [propget, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
13698     HRESULT vlinkColor([retval, out] VARIANT *p);
13699
13700     [propget, id(DISPID_IHTMLDOCUMENT2_REFERRER)]
13701     HRESULT referrer([retval, out] BSTR *p);
13702
13703     [propget, id(DISPID_IHTMLDOCUMENT2_LOCATION)]
13704     HRESULT location([retval, out] IHTMLLocation **p);
13705
13706     [propget, id(DISPID_IHTMLDOCUMENT2_LASTMODIFIED)]
13707     HRESULT lastModified([retval, out] BSTR *p);
13708
13709     [propput, id(DISPID_IHTMLDOCUMENT2_URL)]
13710     HRESULT URL([in] BSTR v);
13711
13712     [propget, id(DISPID_IHTMLDOCUMENT2_URL)]
13713     HRESULT URL([retval, out] BSTR *p);
13714
13715     [propput, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
13716     HRESULT domain([in] BSTR v);
13717
13718     [propget, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
13719     HRESULT domain([retval, out] BSTR *p);
13720
13721     [propput, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
13722     HRESULT cookie([in] BSTR v);
13723
13724     [propget, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
13725     HRESULT cookie([retval, out] BSTR *p);
13726
13727     [propput, id(DISPID_IHTMLDOCUMENT2_EXPANDO)]
13728     HRESULT expando([in] VARIANT_BOOL v);
13729
13730     [propget, id(DISPID_IHTMLDOCUMENT2_EXPANDO)]
13731     HRESULT expando([retval, out] VARIANT_BOOL *p);
13732
13733     [propput, id(DISPID_IHTMLDOCUMENT2_CHARSET)]
13734      HRESULT charset([in] BSTR v);
13735
13736     [propget, id(DISPID_IHTMLDOCUMENT2_CHARSET)]
13737     HRESULT charset([retval, out] BSTR *p);
13738
13739     [propput, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
13740     HRESULT defaultCharset([in] BSTR v);
13741
13742     [propget, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
13743     HRESULT defaultCharset([retval, out] BSTR *p);
13744
13745     [propget, id(DISPID_IHTMLDOCUMENT2_MIMETYPE)]
13746     HRESULT mimeType([retval, out] BSTR *p);
13747
13748     [propget, id(DISPID_IHTMLDOCUMENT2_FILESIZE)]
13749     HRESULT fileSize([retval, out] BSTR *p);
13750
13751     [propget, id(DISPID_IHTMLDOCUMENT2_FILECREATEDDATE)]
13752     HRESULT fileCreatedDate([retval, out] BSTR *p);
13753
13754     [propget, id(DISPID_IHTMLDOCUMENT2_FILEMODIFIEDDATE)]
13755     HRESULT fileModifiedDate([retval, out] BSTR *p);
13756
13757     [propget, id(DISPID_IHTMLDOCUMENT2_FILEUPDATEDDATE)]
13758     HRESULT fileUpdatedDate([retval, out] BSTR *p);
13759
13760     [propget, id(DISPID_IHTMLDOCUMENT2_SECURITY)]
13761     HRESULT security([retval, out] BSTR *p);
13762
13763     [propget, id(DISPID_IHTMLDOCUMENT2_PROTOCOL)]
13764     HRESULT protocol([retval, out] BSTR *p);
13765
13766     [propget, id(DISPID_IHTMLDOCUMENT2_NAMEPROP)]
13767      HRESULT nameProp([retval, out] BSTR *p);
13768
13769     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITE)]
13770     HRESULT write([in] SAFEARRAY(VARIANT) psarray);
13771
13772     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITELN)]
13773     HRESULT writeln([in] SAFEARRAY(VARIANT) psarray);
13774
13775     [id(DISPID_IHTMLDOCUMENT2_OPEN)]
13776     HRESULT open(
13777         [defaultvalue("text/html"), in] BSTR url,
13778         [optional, in] VARIANT name,
13779         [optional, in] VARIANT features,
13780         [optional, in] VARIANT replace,
13781         [retval, out]  IDispatch **pomWindowResult);
13782
13783     [id(DISPID_IHTMLDOCUMENT2_CLOSE)]
13784     HRESULT close();
13785
13786     [id(DISPID_IHTMLDOCUMENT2_CLEAR)]
13787     HRESULT clear();
13788
13789     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSUPPORTED)]
13790     HRESULT queryCommandSupported(
13791         [in] BSTR cmdID,
13792         [retval, out] VARIANT_BOOL *pfRet);
13793
13794     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDENABLED)]
13795     HRESULT queryCommandEnabled(
13796         [in] BSTR cmdID,
13797         [retval, out] VARIANT_BOOL *pfRet);
13798
13799     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSTATE)]
13800     HRESULT queryCommandState(
13801         [in] BSTR cmdID,
13802         [retval, out] VARIANT_BOOL *pfRet);
13803
13804     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDINDETERM)]
13805     HRESULT queryCommandIndeterm(
13806         [in] BSTR cmdID,
13807         [retval, out] VARIANT_BOOL *pfRet);
13808
13809     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDTEXT)]
13810     HRESULT queryCommandText(
13811         [in] BSTR cmdID,
13812         [retval, out] BSTR *pcmdText);
13813
13814     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDVALUE)]
13815     HRESULT queryCommandValue(
13816         [in] BSTR cmdID,
13817         [retval, out] VARIANT *pcmdValue);
13818
13819     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMAND)]
13820     HRESULT execCommand(
13821         [in] BSTR cmdID,
13822         [defaultvalue(0), in] VARIANT_BOOL showUI,
13823         [optional, in] VARIANT value,
13824         [retval, out] VARIANT_BOOL *pfRet);
13825
13826     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMANDSHOWHELP)]
13827     HRESULT execCommandShowHelp(
13828         [in] BSTR cmdID,
13829         [retval, out] VARIANT_BOOL *pfRet);
13830
13831     [id(DISPID_IHTMLDOCUMENT2_CREATEELEMENT)]
13832      HRESULT createElement(
13833         [in] BSTR eTag,
13834         [retval, out] IHTMLElement **newElem);
13835
13836     [propput, id(DISPID_IHTMLDOCUMENT2_ONHELP)]
13837     HRESULT onhelp([in] VARIANT v);
13838
13839     [propget, id(DISPID_IHTMLDOCUMENT2_ONHELP)]
13840     HRESULT onhelp([retval, out] VARIANT *p);
13841
13842     [propput, id(DISPID_IHTMLDOCUMENT2_ONCLICK)]
13843     HRESULT onclick([in] VARIANT v);
13844
13845     [propget, id(DISPID_IHTMLDOCUMENT2_ONCLICK)]
13846     HRESULT onclick([retval, out] VARIANT *p);
13847
13848     [propput, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK)]
13849     HRESULT ondblclick([in] VARIANT v);
13850
13851     [propget, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK)]
13852     HRESULT ondblclick([retval, out] VARIANT *p);
13853
13854     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYUP)]
13855     HRESULT onkeyup([in] VARIANT v);
13856
13857     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYUP)]
13858     HRESULT onkeyup([retval, out] VARIANT *p);
13859
13860     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN)]
13861     HRESULT onkeydown([in] VARIANT v);
13862
13863     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN)]
13864     HRESULT onkeydown([retval, out] VARIANT *p);
13865
13866     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS)]
13867      HRESULT onkeypress([in] VARIANT v);
13868
13869     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS)]
13870     HRESULT onkeypress([retval, out] VARIANT *p);
13871
13872     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP)]
13873     HRESULT onmouseup([in] VARIANT v);
13874
13875     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP)]
13876     HRESULT onmouseup([retval, out] VARIANT *p);
13877
13878     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN)]
13879     HRESULT onmousedown([in] VARIANT v);
13880
13881     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN)]
13882     HRESULT onmousedown([retval, out] VARIANT *p);
13883
13884     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE)]
13885     HRESULT onmousemove([in] VARIANT v);
13886
13887     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE)]
13888     HRESULT onmousemove([retval, out] VARIANT *p);
13889
13890     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT)]
13891     HRESULT onmouseout([in] VARIANT v);
13892
13893     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT)]
13894     HRESULT onmouseout([retval, out] VARIANT *p);
13895
13896     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER)]
13897     HRESULT onmouseover([in] VARIANT v);
13898
13899     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER)]
13900     HRESULT onmouseover([retval, out] VARIANT *p);
13901
13902     [propput, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE)]
13903     HRESULT onreadystatechange([in] VARIANT v);
13904
13905     [propget, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE)]
13906     HRESULT onreadystatechange([retval, out] VARIANT *p);
13907
13908     [propput, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE)]
13909     HRESULT onafterupdate([in] VARIANT v);
13910
13911     [propget, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE)]
13912     HRESULT onafterupdate([retval, out] VARIANT *p);
13913
13914     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT)]
13915     HRESULT onrowexit([in] VARIANT v);
13916
13917     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT)]
13918     HRESULT onrowexit([retval, out] VARIANT *p);
13919
13920     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWENTER)]
13921     HRESULT onrowenter([in] VARIANT v);
13922
13923     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWENTER)]
13924     HRESULT onrowenter([retval, out] VARIANT *p);
13925
13926     [propput, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART)]
13927     HRESULT ondragstart([in] VARIANT v);
13928
13929     [propget, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART)]
13930     HRESULT ondragstart([retval, out] VARIANT *p);
13931
13932     [propput, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART)]
13933     HRESULT onselectstart([in] VARIANT v);
13934
13935     [propget, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART)]
13936     HRESULT onselectstart([retval, out] VARIANT *p);
13937
13938     [id(DISPID_IHTMLDOCUMENT2_ELEMENTFROMPOINT)]
13939     HRESULT elementFromPoint(
13940         [in] long x,
13941         [in] long y,
13942         [retval, out] IHTMLElement **elementHit);
13943
13944     [propget, id(DISPID_IHTMLDOCUMENT2_PARENTWINDOW)]
13945     HRESULT parentWindow([retval, out] IHTMLWindow2 **p);
13946
13947     [propget, id(DISPID_IHTMLDOCUMENT2_STYLESHEETS)]
13948     HRESULT styleSheets([retval, out] IHTMLStyleSheetsCollection **p);
13949
13950     [propput, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE)]
13951     HRESULT onbeforeupdate([in] VARIANT v);
13952
13953     [propget, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE)]
13954     HRESULT onbeforeupdate([retval, out] VARIANT *p);
13955
13956     [propput, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE)]
13957     HRESULT onerrorupdate([in] VARIANT v);
13958
13959     [propget, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE)]
13960     HRESULT onerrorupdate([retval, out] VARIANT *p);
13961
13962     [id(DISPID_IHTMLDOCUMENT2_TOSTRING)]
13963     HRESULT toString([retval, out] BSTR *String);
13964
13965     [id(DISPID_IHTMLDOCUMENT2_CREATESTYLESHEET)]
13966     HRESULT createStyleSheet(
13967         [defaultvalue(""), in] BSTR bstrHref,
13968         [defaultvalue(-1), in] long lIndex,
13969         [retval, out] IHTMLStyleSheet **ppnewStyleSheet);
13970 }
13971
13972 /*****************************************************************************
13973  *    IHTMLDocument3 interface
13974  */
13975 [
13976     odl,
13977     oleautomation,
13978     dual,
13979     uuid(3050f485-98b5-11cf-bb82-00aa00bdce0b)
13980 ]
13981 interface IHTMLDocument3 : IDispatch
13982 {
13983     [id(DISPID_IHTMLDOCUMENT3_RELEASECAPTURE)]
13984     HRESULT releaseCapture();
13985
13986     [id(DISPID_IHTMLDOCUMENT3_RECALC)]
13987     HRESULT recalc([defaultvalue(0), in] VARIANT_BOOL fForce);
13988
13989     [id(DISPID_IHTMLDOCUMENT3_CREATETEXTNODE)]
13990     HRESULT createTextNode(
13991         [in] BSTR text,
13992         [retval, out] IHTMLDOMNode **newTextNode);
13993
13994     [propget, id(DISPID_IHTMLDOCUMENT3_DOCUMENTELEMENT)]
13995     HRESULT documentElement([retval, out] IHTMLElement **p);
13996
13997     [propget, id(DISPID_IHTMLDOCUMENT3_UNIQUEID), hidden]
13998     HRESULT uniqueID([retval, out] BSTR *p);
13999
14000     [id(DISPID_IHTMLDOCUMENT3_ATTACHEVENT)]
14001     HRESULT attachEvent(
14002         [in] BSTR event,
14003         [in] IDispatch* pDisp,
14004         [retval, out] VARIANT_BOOL *pfResult);
14005
14006     [id(DISPID_IHTMLDOCUMENT3_DETACHEVENT)]
14007     HRESULT detachEvent(
14008         [in] BSTR event,
14009         [in] IDispatch *pDisp);
14010
14011     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
14012     HRESULT onrowsdelete([in] VARIANT v);
14013
14014     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
14015     HRESULT onrowsdelete([retval, out] VARIANT *p);
14016
14017     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
14018     HRESULT onrowsinserted([in] VARIANT v);
14019
14020     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
14021     HRESULT onrowsinserted([retval, out] VARIANT *p);
14022
14023     [propput, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
14024     HRESULT oncellchange([in] VARIANT v);
14025
14026     [propget, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
14027     HRESULT oncellchange([retval, out] VARIANT *p);
14028
14029     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
14030     HRESULT ondatasetchanged([in] VARIANT v);
14031
14032     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
14033     HRESULT ondatasetchanged([retval, out] VARIANT *p);
14034
14035     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
14036     HRESULT ondataavailable([in] VARIANT v);
14037
14038     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
14039     HRESULT ondataavailable([retval, out] VARIANT * p);
14040
14041     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
14042     HRESULT ondatasetcomplete([in] VARIANT v);
14043
14044     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
14045     HRESULT ondatasetcomplete([retval, out] VARIANT *p);
14046
14047     [propput, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
14048     HRESULT onpropertychange([in] VARIANT v);
14049
14050     [propget, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
14051     HRESULT onpropertychange([retval, out] VARIANT *p);
14052
14053     [propput, id(DISPID_IHTMLDOCUMENT3_DIR)]
14054     HRESULT dir([in] BSTR v);
14055
14056     [propget, id(DISPID_IHTMLDOCUMENT3_DIR)]
14057     HRESULT dir([retval, out] BSTR *p);
14058
14059     [propput, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
14060     HRESULT oncontextmenu([in] VARIANT v);
14061
14062     [propget, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
14063     HRESULT oncontextmenu([retval, out] VARIANT *p);
14064
14065     [propput, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
14066     HRESULT onstop([in] VARIANT v);
14067
14068     [propget, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
14069     HRESULT onstop([retval, out] VARIANT *p);
14070
14071     [id(DISPID_IHTMLDOCUMENT3_CREATEDOCUMENTFRAGMENT)]
14072     HRESULT createDocumentFragment([retval, out] IHTMLDocument2 **pNewDoc);
14073
14074     [propget, id(DISPID_IHTMLDOCUMENT3_PARENTDOCUMENT), hidden, restricted]
14075     HRESULT parentDocument([retval, out] IHTMLDocument2 **p);
14076
14077     [propput, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
14078     HRESULT enableDownload([in] VARIANT_BOOL v);
14079
14080     [propget, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
14081     HRESULT enableDownload([retval, out] VARIANT_BOOL *p);
14082
14083     [propput, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
14084     HRESULT baseUrl([in] BSTR v);
14085
14086     [propget, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
14087     HRESULT baseUrl([retval, out] BSTR *p);
14088
14089     [propget, id(DISPID_IHTMLDOCUMENT3_CHILDNODES)]
14090     HRESULT childNodes([retval, out] IDispatch **p);
14091
14092     [propput, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
14093     HRESULT inheritStyleSheets([in] VARIANT_BOOL v);
14094
14095     [propget, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
14096     HRESULT inheritStyleSheets([retval, out] VARIANT_BOOL *p);
14097
14098     [propput, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
14099     HRESULT onbeforeeditfocus([in] VARIANT v);
14100
14101     [propget, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
14102     HRESULT onbeforeeditfocus([retval, out] VARIANT *p);
14103
14104     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYNAME)]
14105     HRESULT getElementsByName(
14106         [in] BSTR v,
14107         [retval, out] IHTMLElementCollection **pelColl);
14108
14109     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTBYID)]
14110     HRESULT getElementById(
14111         [in] BSTR v,
14112         [retval, out] IHTMLElement **pel);
14113
14114     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYTAGNAME)]
14115     HRESULT getElementsByTagName(
14116         [in] BSTR v,
14117         [retval, out] IHTMLElementCollection **pelColl);
14118 }
14119
14120 /*****************************************************************************
14121  *    IHTMLDocument4 interface
14122  */
14123 [
14124     odl,
14125     oleautomation,
14126     dual,
14127     uuid(3050f69a-98b5-11cf-bb82-00aa00bdce0b)
14128 ]
14129 interface IHTMLDocument4 : IDispatch
14130 {
14131     [id(DISPID_IHTMLDOCUMENT4_FOCUS)]
14132     HRESULT focus();
14133
14134     [id(DISPID_IHTMLDOCUMENT4_HASFOCUS)]
14135     HRESULT hasFocus([retval, out] VARIANT_BOOL *pfFocus);
14136
14137     [propput, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
14138     HRESULT onselectionchange([in] VARIANT v);
14139
14140     [propget, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
14141     HRESULT onselectionchange([retval, out] VARIANT *p);
14142
14143     [propget, id(DISPID_IHTMLDOCUMENT4_NAMESPACES)]
14144     HRESULT namespaces([retval, out] IDispatch **p);
14145
14146     [id(DISPID_IHTMLDOCUMENT4_CREATEDOCUMENTFROMURL)]
14147     HRESULT createDocumentFromUrl(
14148         [in] BSTR bstrUrl,
14149         [in] BSTR bstrOptions,
14150         [retval, out] IHTMLDocument2 **newDoc);
14151
14152     [propput, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
14153     HRESULT media([in] BSTR v);
14154
14155     [propget, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
14156     HRESULT media([retval, out] BSTR *p);
14157
14158     [id(DISPID_IHTMLDOCUMENT4_CREATEEVENTOBJECT)]
14159     HRESULT createEventObject(
14160         [optional, in] VARIANT *pvarEventObject,
14161         [retval, out] IHTMLEventObj **ppEventObj);
14162
14163     [id(DISPID_IHTMLDOCUMENT4_FIREEVENT)]
14164     HRESULT fireEvent(
14165         [in] BSTR bstrEventName,
14166         [optional, in] VARIANT *pvarEventObject,
14167         [retval, out] VARIANT_BOOL *pfCancelled);
14168
14169     [id(DISPID_IHTMLDOCUMENT4_CREATERENDERSTYLE)]
14170     HRESULT createRenderStyle(
14171         [in] BSTR v,
14172         [retval, out] IHTMLRenderStyle **ppIHTMLRenderStyle);
14173
14174     [propput, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
14175     HRESULT oncontrolselect([in] VARIANT v);
14176
14177     [propget, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
14178     HRESULT oncontrolselect([retval, out] VARIANT *p);
14179
14180     [propget, id(DISPID_IHTMLDOCUMENT4_URLUNENCODED)]
14181     HRESULT URLUnencoded([retval, out] BSTR *p);
14182 }
14183
14184 /*****************************************************************************
14185  *    IHTMLDocument5 interface
14186  */
14187 [
14188     odl,
14189     oleautomation,
14190     dual,
14191     uuid(3050f80c-98b5-11cf-bb82-00aa00bdce0b)
14192 ]
14193 interface IHTMLDocument5 : IDispatch
14194 {
14195     [propput, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
14196     HRESULT onmousewheel([in] VARIANT v);
14197
14198     [propget, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
14199     HRESULT onmousewheel([retval, out] VARIANT *p);
14200
14201     [propget, id(DISPID_IHTMLDOCUMENT5_DOCTYPE)]
14202     HRESULT doctype([retval, out] IHTMLDOMNode **p);
14203
14204     [propget, id(DISPID_IHTMLDOCUMENT5_IMPLEMENTATION)]
14205     HRESULT implementation([retval, out] IHTMLDOMImplementation **p);
14206
14207     [id(DISPID_IHTMLDOCUMENT5_CREATEATTRIBUTE)]
14208     HRESULT createAttribute(
14209         [in] BSTR bstrattrName,
14210         [retval, out] IHTMLDOMAttribute **ppattribute);
14211
14212     [id(DISPID_IHTMLDOCUMENT5_CREATECOMMENT)]
14213     HRESULT createComment(
14214         [in] BSTR bstrdata,
14215         [retval, out] IHTMLDOMNode **ppRetNode);
14216
14217     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
14218     HRESULT onfocusin([in] VARIANT v);
14219
14220     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
14221     HRESULT onfocusin([retval, out] VARIANT *p);
14222
14223     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
14224     HRESULT onfocusout([in] VARIANT v);
14225
14226     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
14227     HRESULT onfocusout([retval, out] VARIANT *p);
14228
14229     [propput, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
14230     HRESULT onactivate([in] VARIANT v);
14231
14232     [propget, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
14233     HRESULT onactivate([retval, out] VARIANT *p);
14234
14235     [propput, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
14236     HRESULT ondeactivate([in] VARIANT v);
14237
14238     [propget, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
14239     HRESULT ondeactivate([retval, out] VARIANT *p);
14240
14241     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
14242     HRESULT onbeforeactivate([in] VARIANT v);
14243
14244     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
14245     HRESULT onbeforeactivate([retval, out] VARIANT *p);
14246
14247     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
14248     HRESULT onbeforedeactivate([in] VARIANT v);
14249
14250     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
14251     HRESULT onbeforedeactivate([retval, out] VARIANT *p);
14252
14253     [propget, id(DISPID_IHTMLDOCUMENT5_COMPATMODE)]
14254     HRESULT compatMode([retval, out] BSTR *p);
14255 }
14256
14257 /*****************************************************************************
14258  *    DispHTMLDocument dispinterface
14259  */
14260 [
14261     hidden,
14262     uuid(3050f55f-98b5-11cf-bb82-00aa00bdce0b)
14263 ]
14264 dispinterface DispHTMLDocument
14265 {
14266 properties:
14267 methods:
14268     [propget, id(DISPID_IHTMLDOCUMENT_SCRIPT), hidden, nonbrowsable]
14269     IDispatch *Script();
14270
14271     [propget, id(DISPID_IHTMLDOCUMENT2_ALL)]
14272     IHTMLElementCollection *all();
14273
14274     [propget, id(DISPID_IHTMLDOCUMENT2_BODY)]
14275     IHTMLElement *body();
14276
14277     [propget, id(DISPID_IHTMLDOCUMENT2_ACTIVEELEMENT)]
14278     IHTMLElement *activeElement();
14279
14280     [propget, id(DISPID_IHTMLDOCUMENT2_IMAGES)]
14281     IHTMLElementCollection *images();
14282
14283     [propget, id(DISPID_IHTMLDOCUMENT2_APPLETS)]
14284     IHTMLElementCollection *applets();
14285
14286     [propget, id(DISPID_IHTMLDOCUMENT2_LINKS)]
14287     IHTMLElementCollection *links();
14288
14289     [propget, id(DISPID_IHTMLDOCUMENT2_FORMS)]
14290     IHTMLElementCollection *forms();
14291
14292     [propget, id(DISPID_IHTMLDOCUMENT2_ANCHORS)]
14293     IHTMLElementCollection *anchors();
14294
14295     [propput, id(DISPID_IHTMLDOCUMENT2_TITLE)]
14296     void title(BSTR v);
14297
14298     [propget, id(DISPID_IHTMLDOCUMENT2_TITLE)]
14299     BSTR title();
14300
14301     [propget, id(DISPID_IHTMLDOCUMENT2_SCRIPTS)]
14302     IHTMLElementCollection *scripts();
14303
14304     [propput, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE), hidden]
14305     void designMode(BSTR v);
14306
14307     [propget, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE), hidden]
14308     BSTR designMode();
14309
14310     [propget, id(DISPID_IHTMLDOCUMENT2_SELECTION)]
14311     IHTMLSelectionObject *selection();
14312
14313     [propget, id(DISPID_IHTMLDOCUMENT2_READYSTATE), bindable]
14314     BSTR readyState();
14315
14316     [propget, id(DISPID_IHTMLDOCUMENT2_FRAMES)]
14317     IHTMLFramesCollection2 *frames();
14318
14319     [propget, id(DISPID_IHTMLDOCUMENT2_EMBEDS)]
14320     IHTMLElementCollection *embeds();
14321
14322     [propget, id(DISPID_IHTMLDOCUMENT2_PLUGINS)]
14323     IHTMLElementCollection *plugins();
14324
14325     [propput, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
14326     void alinkColor(VARIANT v);
14327
14328     [propget, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
14329     VARIANT alinkColor();
14330
14331     [propput, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
14332     void bgColor(VARIANT v);
14333
14334     [propget, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
14335     VARIANT bgColor();
14336
14337     [propput, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
14338     void fgColor(VARIANT v);
14339
14340     [propget, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
14341     VARIANT fgColor();
14342
14343     [propput, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
14344     void linkColor(VARIANT v);
14345
14346     [propget, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
14347     VARIANT linkColor();
14348
14349     [propput, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
14350     void vlinkColor(VARIANT v);
14351
14352     [propget, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
14353     VARIANT vlinkColor();
14354
14355     [propget, id(DISPID_IHTMLDOCUMENT2_REFERRER)]
14356     BSTR referrer();
14357
14358     [propget, id(DISPID_IHTMLDOCUMENT2_LOCATION)]
14359     IHTMLLocation *location();
14360
14361     [propget, id(DISPID_IHTMLDOCUMENT2_LASTMODIFIED)]
14362     BSTR lastModified();
14363
14364     [propput, id(DISPID_IHTMLDOCUMENT2_URL)]
14365     void URL(BSTR v);
14366
14367     [propget, id(DISPID_IHTMLDOCUMENT2_URL)]
14368     BSTR URL();
14369
14370     [propput, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
14371     void domain(BSTR v);
14372
14373     [propget, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
14374     BSTR domain();
14375
14376     [propput, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
14377     void cookie(BSTR v);
14378
14379     [propget, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
14380     BSTR cookie();
14381
14382     [propput, id(DISPID_IHTMLDOCUMENT2_EXPANDO), bindable, hidden]
14383     void expando(VARIANT_BOOL v);
14384
14385     [propget, id(DISPID_IHTMLDOCUMENT2_EXPANDO), bindable, hidden]
14386     VARIANT_BOOL expando();
14387
14388     [propput, id(DISPID_IHTMLDOCUMENT2_CHARSET), hidden]
14389     void charset(BSTR v);
14390
14391     [propget, id(DISPID_IHTMLDOCUMENT2_CHARSET), hidden]
14392     BSTR charset();
14393
14394     [propput, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
14395     void defaultCharset(BSTR v);
14396
14397     [propget, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
14398     BSTR defaultCharset();
14399
14400     [propget, id(DISPID_IHTMLDOCUMENT2_MIMETYPE)]
14401     BSTR mimeType();
14402
14403     [propget, id(DISPID_IHTMLDOCUMENT2_FILESIZE)]
14404     BSTR fileSize();
14405
14406     [propget, id(DISPID_IHTMLDOCUMENT2_FILECREATEDDATE)]
14407     BSTR fileCreatedDate();
14408
14409     [propget, id(DISPID_IHTMLDOCUMENT2_FILEMODIFIEDDATE)]
14410     BSTR fileModifiedDate();
14411
14412     [propget, id(DISPID_IHTMLDOCUMENT2_FILEUPDATEDDATE)]
14413     BSTR fileUpdatedDate();
14414
14415     [propget, id(DISPID_IHTMLDOCUMENT2_SECURITY)]
14416     BSTR security();
14417
14418     [propget, id(DISPID_IHTMLDOCUMENT2_PROTOCOL)]
14419     BSTR protocol();
14420
14421     [propget, id(DISPID_IHTMLDOCUMENT2_NAMEPROP)]
14422     BSTR nameProp();
14423
14424     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITE)]
14425     void write([in] SAFEARRAY(VARIANT) psarray);
14426
14427     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITELN)]
14428     void writeln([in] SAFEARRAY(VARIANT) psarray);
14429
14430     [id(DISPID_IHTMLDOCUMENT2_OPEN)]
14431     IDispatch *open(
14432         [defaultvalue("text/html"), in] BSTR url,
14433         [optional, in] VARIANT name,
14434         [optional, in] VARIANT features,
14435         [optional, in] VARIANT replace);
14436
14437     [id(DISPID_IHTMLDOCUMENT2_CLOSE)]
14438     void close();
14439
14440     [id(DISPID_IHTMLDOCUMENT2_CLEAR)]
14441     void clear();
14442
14443     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSUPPORTED)]
14444     VARIANT_BOOL queryCommandSupported([in] BSTR cmdID);
14445
14446     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDENABLED)]
14447     VARIANT_BOOL queryCommandEnabled([in] BSTR cmdID);
14448
14449     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSTATE)]
14450     VARIANT_BOOL queryCommandState([in] BSTR cmdID);
14451
14452     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDINDETERM)]
14453     VARIANT_BOOL queryCommandIndeterm([in] BSTR cmdID);
14454
14455     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDTEXT)]
14456     BSTR queryCommandText([in] BSTR cmdID);
14457
14458     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDVALUE)]
14459     VARIANT queryCommandValue([in] BSTR cmdID);
14460
14461     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMAND)]
14462     VARIANT_BOOL execCommand(
14463         [in] BSTR cmdID,
14464         [defaultvalue(0), in] VARIANT_BOOL showUI,
14465         [optional, in] VARIANT value);
14466
14467     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMANDSHOWHELP)]
14468     VARIANT_BOOL execCommandShowHelp([in] BSTR cmdID);
14469
14470     [id(DISPID_IHTMLDOCUMENT2_CREATEELEMENT)]
14471     IHTMLElement *createElement([in] BSTR eTag);
14472
14473     [propput, id(DISPID_IHTMLDOCUMENT2_ONHELP), displaybind, bindable]
14474     void onhelp(VARIANT v);
14475
14476     [propget, id(DISPID_IHTMLDOCUMENT2_ONHELP), displaybind, bindable]
14477     VARIANT onhelp();
14478
14479     [propput, id(DISPID_IHTMLDOCUMENT2_ONCLICK), displaybind, bindable]
14480     void onclick(VARIANT v);
14481
14482     [propget, id(DISPID_IHTMLDOCUMENT2_ONCLICK), displaybind, bindable]
14483     VARIANT onclick();
14484
14485     [propput, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK), displaybind, bindable]
14486     void ondblclick(VARIANT v);
14487
14488     [propget, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK), displaybind, bindable]
14489     VARIANT ondblclick();
14490
14491     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYUP), displaybind, bindable]
14492     void onkeyup(VARIANT v);
14493
14494     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYUP), displaybind, bindable]
14495     VARIANT onkeyup();
14496
14497     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN), displaybind, bindable]
14498     void onkeydown(VARIANT v);
14499
14500     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN), displaybind, bindable]
14501     VARIANT onkeydown();
14502
14503     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS), displaybind, bindable]
14504     void onkeypress(VARIANT v);
14505
14506     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS), displaybind, bindable]
14507     VARIANT onkeypress();
14508
14509     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP), displaybind, bindable]
14510     void onmouseup(VARIANT v);
14511
14512     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP), displaybind, bindable]
14513     VARIANT onmouseup();
14514
14515     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN), displaybind, bindable]
14516     void onmousedown(VARIANT v);
14517
14518     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN), displaybind, bindable]
14519     VARIANT onmousedown();
14520
14521     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE), displaybind, bindable]
14522     void onmousemove(VARIANT v);
14523
14524     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE), displaybind, bindable]
14525     VARIANT onmousemove();
14526
14527     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT), displaybind, bindable]
14528     void onmouseout(VARIANT v);
14529
14530     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT), displaybind, bindable]
14531     VARIANT onmouseout();
14532
14533     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER), displaybind, bindable]
14534     void onmouseover(VARIANT v);
14535
14536     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER), displaybind, bindable]
14537     VARIANT onmouseover();
14538
14539     [propput, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE), displaybind, bindable]
14540     void onreadystatechange(VARIANT v);
14541
14542     [propget, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE), displaybind, bindable]
14543     VARIANT onreadystatechange();
14544
14545     [propput, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE), displaybind, bindable]
14546     void onafterupdate(VARIANT v);
14547
14548     [propget, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE), displaybind, bindable]
14549     VARIANT onafterupdate();
14550
14551     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT), displaybind, bindable]
14552     void onrowexit(VARIANT v);
14553
14554     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT), displaybind, bindable]
14555     VARIANT onrowexit();
14556
14557     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWENTER), displaybind, bindable]
14558     void onrowenter(VARIANT v);
14559
14560     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWENTER), displaybind, bindable]
14561     VARIANT onrowenter();
14562
14563     [propput, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART), displaybind, bindable]
14564     void ondragstart(VARIANT v);
14565
14566     [propget, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART), displaybind, bindable]
14567     VARIANT ondragstart();
14568
14569     [propput, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART), displaybind, bindable]
14570     void onselectstart(VARIANT v);
14571
14572     [propget, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART), displaybind, bindable]
14573     VARIANT onselectstart();
14574
14575     [id(DISPID_IHTMLDOCUMENT2_ELEMENTFROMPOINT)]
14576     IHTMLElement *elementFromPoint(
14577         [in] long x,
14578         [in] long y);
14579
14580     [propget, id(DISPID_IHTMLDOCUMENT2_PARENTWINDOW)]
14581     IHTMLWindow2 *parentWindow();
14582
14583     [propget, id(DISPID_IHTMLDOCUMENT2_STYLESHEETS)]
14584     IHTMLStyleSheetsCollection *styleSheets();
14585
14586     [propput, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE), displaybind, bindable]
14587     void onbeforeupdate(VARIANT v);
14588
14589     [propget, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE), displaybind, bindable]
14590     VARIANT onbeforeupdate();
14591
14592     [propput, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE), displaybind, bindable]
14593     void onerrorupdate(VARIANT v);
14594
14595     [propget, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE), displaybind, bindable]
14596     VARIANT onerrorupdate();
14597
14598     [id(DISPID_IHTMLDOCUMENT2_TOSTRING)]
14599     BSTR toString();
14600
14601     [id(DISPID_IHTMLDOCUMENT2_CREATESTYLESHEET)]
14602     IHTMLStyleSheet *createStyleSheet(
14603         [defaultvalue(""), in] BSTR bstrHref,
14604         [defaultvalue(-1), in] long lIndex);
14605
14606     [id(DISPID_IHTMLDOCUMENT3_RELEASECAPTURE)]
14607     void releaseCapture();
14608
14609     [id(DISPID_IHTMLDOCUMENT3_RECALC)]
14610     void recalc([defaultvalue(0), in] VARIANT_BOOL fForce);
14611
14612     [id(DISPID_IHTMLDOCUMENT3_CREATETEXTNODE)]
14613     IHTMLDOMNode *createTextNode([in] BSTR text);
14614
14615     [propget, id(DISPID_IHTMLDOCUMENT3_DOCUMENTELEMENT)]
14616     IHTMLElement *documentElement();
14617
14618     [propget, id(DISPID_IHTMLDOCUMENT3_UNIQUEID), hidden]
14619     BSTR uniqueID();
14620
14621     [id(DISPID_IHTMLDOCUMENT3_ATTACHEVENT)]
14622     VARIANT_BOOL attachEvent(
14623         [in] BSTR event,
14624         [in] IDispatch *pDisp);
14625
14626     [id(DISPID_IHTMLDOCUMENT3_DETACHEVENT)]
14627     void detachEvent(
14628         [in] BSTR event,
14629         [in] IDispatch *pDisp);
14630
14631     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
14632     void onrowsdelete(VARIANT v);
14633
14634     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
14635     VARIANT onrowsdelete();
14636
14637     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
14638     void onrowsinserted(VARIANT v);
14639
14640     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
14641     VARIANT onrowsinserted();
14642
14643     [propput, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
14644     void oncellchange(VARIANT v);
14645
14646     [propget, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
14647     VARIANT oncellchange();
14648
14649     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
14650     void ondatasetchanged(VARIANT v);
14651
14652     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
14653     VARIANT ondatasetchanged();
14654
14655     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
14656     void ondataavailable(VARIANT v);
14657
14658     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
14659     VARIANT ondataavailable();
14660
14661     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
14662     void ondatasetcomplete(VARIANT v);
14663
14664     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
14665     VARIANT ondatasetcomplete();
14666
14667     [propput, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
14668     void onpropertychange(VARIANT v);
14669
14670     [propget, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
14671     VARIANT onpropertychange();
14672
14673     [propput, id(DISPID_IHTMLDOCUMENT3_DIR)]
14674     void dir(BSTR v);
14675
14676     [propget, id(DISPID_IHTMLDOCUMENT3_DIR)]
14677     BSTR dir();
14678
14679     [propput, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
14680     void oncontextmenu(VARIANT v);
14681
14682     [propget, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
14683     VARIANT oncontextmenu();
14684
14685     [propput, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
14686     void onstop(VARIANT v);
14687
14688     [propget, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
14689     VARIANT onstop();
14690
14691     [id(DISPID_IHTMLDOCUMENT3_CREATEDOCUMENTFRAGMENT)]
14692     IHTMLDocument2 *createDocumentFragment();
14693
14694     [propget, id(DISPID_IHTMLDOCUMENT3_PARENTDOCUMENT), hidden, restricted]
14695     IHTMLDocument2 *parentDocument();
14696
14697     [propput, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
14698     void enableDownload(VARIANT_BOOL v);
14699
14700     [propget, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
14701     VARIANT_BOOL enableDownload();
14702
14703     [propput, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
14704     void baseUrl(BSTR v);
14705
14706     [propget, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
14707     BSTR baseUrl();
14708
14709     [propput, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
14710     void inheritStyleSheets(VARIANT_BOOL v);
14711
14712     [propget, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
14713     VARIANT_BOOL inheritStyleSheets();
14714
14715     [propput, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
14716     void onbeforeeditfocus(VARIANT v);
14717
14718     [propget, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
14719     VARIANT onbeforeeditfocus();
14720
14721     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYNAME)]
14722     IHTMLElementCollection *getElementsByName([in] BSTR v);
14723
14724     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTBYID)]
14725     IHTMLElement *getElementById([in] BSTR v);
14726
14727     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYTAGNAME)]
14728     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
14729
14730     [id(DISPID_IHTMLDOCUMENT4_FOCUS)]
14731     void focus();
14732
14733     [id(DISPID_IHTMLDOCUMENT4_HASFOCUS)]
14734     VARIANT_BOOL hasFocus();
14735
14736     [propput, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
14737     void onselectionchange(VARIANT v);
14738
14739     [propget, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
14740     VARIANT onselectionchange();
14741
14742     [propget, id(DISPID_IHTMLDOCUMENT4_NAMESPACES)]
14743     IDispatch *namespaces();
14744
14745     [id(DISPID_IHTMLDOCUMENT4_CREATEDOCUMENTFROMURL)]
14746     IHTMLDocument2 *createDocumentFromUrl(
14747         [in] BSTR bstrUrl,
14748         [in] BSTR bstrOptions);
14749
14750     [propput, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
14751     void media(BSTR v);
14752
14753     [propget, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
14754     BSTR media();
14755
14756     [id(DISPID_IHTMLDOCUMENT4_CREATEEVENTOBJECT)]
14757     IHTMLEventObj *createEventObject([optional, in] VARIANT *pvarEventObject);
14758
14759     [id(DISPID_IHTMLDOCUMENT4_FIREEVENT)]
14760     VARIANT_BOOL fireEvent(
14761         [in] BSTR bstrEventName,
14762         [optional, in] VARIANT *pvarEventObject);
14763
14764     [id(DISPID_IHTMLDOCUMENT4_CREATERENDERSTYLE)]
14765     IHTMLRenderStyle *createRenderStyle([in] BSTR v);
14766
14767     [propput, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
14768     void oncontrolselect(VARIANT v);
14769
14770     [propget, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
14771     VARIANT oncontrolselect();
14772
14773     [propget, id(DISPID_IHTMLDOCUMENT4_URLUNENCODED)]
14774     BSTR URLUnencoded();
14775
14776     [propput, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
14777     void onmousewheel(VARIANT v);
14778
14779     [propget, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
14780     VARIANT onmousewheel();
14781
14782     [propget, id(DISPID_IHTMLDOCUMENT5_DOCTYPE)]
14783     IHTMLDOMNode *doctype();
14784
14785     [propget, id(DISPID_IHTMLDOCUMENT5_IMPLEMENTATION)]
14786     IHTMLDOMImplementation *implementation();
14787
14788     [id(DISPID_IHTMLDOCUMENT5_CREATEATTRIBUTE)]
14789     IHTMLDOMAttribute *createAttribute([in] BSTR bstrattrName);
14790
14791     [id(DISPID_IHTMLDOCUMENT5_CREATECOMMENT)]
14792     IHTMLDOMNode *createComment([in] BSTR bstrdata);
14793
14794     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
14795     void onfocusin(VARIANT v);
14796
14797     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
14798     VARIANT onfocusin();
14799
14800     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
14801     void onfocusout(VARIANT v);
14802
14803     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
14804     VARIANT onfocusout();
14805
14806     [propput, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
14807     void onactivate(VARIANT v);
14808
14809     [propget, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
14810     VARIANT onactivate();
14811
14812     [propput, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
14813     void ondeactivate(VARIANT v);
14814
14815     [propget, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
14816     VARIANT ondeactivate();
14817
14818     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
14819     void onbeforeactivate(VARIANT v);
14820
14821     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
14822     VARIANT onbeforeactivate();
14823
14824     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
14825     void onbeforedeactivate(VARIANT v);
14826
14827     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
14828     VARIANT onbeforedeactivate();
14829
14830     [propget, id(DISPID_IHTMLDOCUMENT5_COMPATMODE)]
14831     BSTR compatMode();
14832
14833     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
14834     long nodeType();
14835
14836     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
14837     IHTMLDOMNode *parentNode();
14838
14839     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
14840     VARIANT_BOOL hasChildNodes();
14841
14842     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
14843     IDispatch *childNodes();
14844
14845     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
14846     IDispatch *attributes();
14847
14848     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
14849     IHTMLDOMNode *insertBefore(
14850         [in] IHTMLDOMNode *newChild,
14851         [optional, in] VARIANT refChild);
14852
14853     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
14854     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
14855
14856     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
14857     IHTMLDOMNode *replaceChild(
14858         [in] IHTMLDOMNode *newChild,
14859         [in] IHTMLDOMNode *oldChild);
14860
14861     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
14862     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
14863
14864     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
14865     IHTMLDOMNode *removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep);
14866
14867     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
14868     IHTMLDOMNode *swapNode([in] IHTMLDOMNode* otherNode);
14869
14870     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
14871     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
14872
14873     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
14874     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
14875
14876     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
14877     BSTR nodeName();
14878
14879     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
14880     void nodeValue(VARIANT v);
14881
14882     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
14883     VARIANT nodeValue();
14884
14885     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
14886     IHTMLDOMNode *firstChild();
14887
14888     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
14889     IHTMLDOMNode *lastChild();
14890
14891     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
14892     IHTMLDOMNode *previousSibling();
14893
14894     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
14895     IHTMLDOMNode *nextSibling();
14896
14897     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
14898     IDispatch *ownerDocument();
14899 }
14900
14901 /*****************************************************************************
14902  *    HTMLDocument coclass
14903  */
14904 [
14905     uuid(25336920-03F9-11cf-8FD0-00AA00686F13)
14906 ]
14907 coclass HTMLDocument
14908 {
14909     [default]         dispinterface DispHTMLDocument;
14910     [source, default] dispinterface HTMLDocumentEvents;
14911     [source]          dispinterface HTMLDocumentEvents2;
14912                       interface IHTMLDocument2;
14913                       interface IHTMLDocument3;
14914                       interface IHTMLDocument4;
14915                       interface IHTMLDocument5;
14916                       interface IHTMLDOMNode;
14917                       interface IHTMLDOMNode2;
14918 }
14919
14920 /*****************************************************************************
14921  *    IHTMLCommentElement interface
14922  */
14923 [
14924     odl,
14925     oleautomation,
14926     dual,
14927     uuid(3050f20c-98b5-11cf-bb82-00aa00bdce0b)
14928 ]
14929 interface IHTMLCommentElement : IDispatch
14930 {
14931     [propput, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
14932     HRESULT text([in] BSTR v);
14933
14934     [propget, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
14935     HRESULT text([out, retval] BSTR *p);
14936
14937     [propput, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
14938     HRESULT atomic([in] long v);
14939
14940     [propget, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
14941     HRESULT atomic([out, retval] long *p);
14942 }
14943
14944 /*****************************************************************************
14945  *    IHTMLCommentElement2 interface
14946  */
14947 [
14948     odl,
14949     oleautomation,
14950     dual,
14951     uuid(3050f813-98b5-11cf-bb82-00aa00bdce0b)
14952 ]
14953 interface IHTMLCommentElement2 : IDispatch
14954 {
14955     [propput, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
14956     HRESULT data([in] BSTR v);
14957
14958     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
14959     HRESULT data([out, retval] BSTR *p);
14960
14961     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_LENGTH)]
14962     HRESULT length([out, retval] long *p);
14963
14964     [id(DISPID_IHTMLCOMMENTELEMENT2_SUBSTRINGDATA)]
14965     HRESULT substringData(
14966             [in] long offset,
14967             [in] long Count,
14968             [out, retval] BSTR *pbstrsubString);
14969
14970     [id(DISPID_IHTMLCOMMENTELEMENT2_APPENDDATA)]
14971     HRESULT appendData([in] BSTR bstrstring);
14972
14973     [id(DISPID_IHTMLCOMMENTELEMENT2_INSERTDATA)]
14974     HRESULT insertData(
14975             [in] long offset,
14976             [in] BSTR bstrstring);
14977
14978     [id(DISPID_IHTMLCOMMENTELEMENT2_DELETEDATA)]
14979     HRESULT deleteData(
14980             [in] long offset,
14981             [in] long Count);
14982
14983     [id(DISPID_IHTMLCOMMENTELEMENT2_REPLACEDATA)]
14984     HRESULT replaceData(
14985             [in] long offset,
14986             [in] long Count,
14987             [in] BSTR bstrstring);
14988 }
14989
14990 /*****************************************************************************
14991  *    DispHTMLCommentElement dispinterface
14992  */
14993 [
14994     hidden,
14995     uuid(3050f50a-98b5-11cf-bb82-00aa00bdce0b)
14996 ]
14997 dispinterface DispHTMLCommentElement
14998 {
14999 properties:
15000 methods:
15001     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
15002     void setAttribute(
15003             [in] BSTR strAttributeName,
15004             [in] VARIANT AttributeValue,
15005             [in, defaultvalue(1)] LONG lFlags);
15006
15007     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
15008     VARIANT getAttribute(
15009              [in] BSTR strAttributeName,
15010              [in, defaultvalue(0)] LONG lFlags);
15011
15012     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
15013     VARIANT_BOOL removeAttribute(
15014             [in] BSTR strAttributeName,
15015             [in, defaultvalue(1)] LONG lFlags);
15016
15017     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
15018     void className(BSTR v);
15019
15020     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
15021     BSTR className();
15022
15023     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
15024     void id(BSTR v);
15025
15026     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
15027     BSTR id();
15028
15029     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
15030     BSTR tagName();
15031
15032     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
15033     IHTMLElement *parentElement();
15034
15035     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
15036     IHTMLStyle *style();
15037
15038     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
15039     void onhelp(VARIANT v);
15040
15041     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
15042     VARIANT onhelp();
15043
15044     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
15045     void onclick(VARIANT v);
15046
15047     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
15048     VARIANT onclick();
15049
15050     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
15051     void ondblclick(VARIANT v);
15052
15053     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
15054     VARIANT ondblclick();
15055
15056     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
15057     void onkeydown(VARIANT v);
15058
15059     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
15060     VARIANT onkeydown();
15061
15062     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
15063     void onkeyup(VARIANT v);
15064
15065     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
15066     VARIANT onkeyup();
15067
15068     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
15069     void onkeypress(VARIANT v);
15070
15071     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
15072     VARIANT onkeypress();
15073
15074     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
15075     void onmouseout(VARIANT v);
15076
15077     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
15078     VARIANT onmouseout();
15079
15080     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
15081     void onmouseover(VARIANT v);
15082
15083     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
15084     VARIANT onmouseover();
15085
15086     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
15087     void onmousemove(VARIANT v);
15088
15089     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
15090     VARIANT onmousemove();
15091
15092     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
15093     void onmousedown(VARIANT v);
15094
15095     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
15096     VARIANT onmousedown();
15097
15098     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
15099     void onmouseup(VARIANT v);
15100
15101     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
15102     VARIANT onmouseup();
15103
15104     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
15105     IDispatch *document();
15106
15107     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
15108     void title(BSTR v);
15109
15110     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
15111     BSTR title();
15112
15113     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
15114     void language(BSTR v);
15115
15116     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
15117     BSTR language();
15118
15119     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
15120     void onselectstart(VARIANT v);
15121
15122     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
15123     VARIANT onselectstart();
15124
15125     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
15126     void scrollIntoView([in, optional] VARIANT varargStart);
15127
15128     [id(DISPID_IHTMLELEMENT_CONTAINS)]
15129     VARIANT_BOOL contains([in] IHTMLElement *pChild);
15130
15131     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
15132     long sourceIndex();
15133
15134     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
15135     VARIANT recordNumber();
15136
15137     [propput, id(DISPID_IHTMLELEMENT_LANG)]
15138     void lang(BSTR v);
15139
15140     [propget, id(DISPID_IHTMLELEMENT_LANG)]
15141     BSTR lang();
15142
15143     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
15144     long offsetLeft();
15145
15146     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
15147     long offsetTop();
15148
15149     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
15150     long offsetWidth();
15151
15152     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
15153     long offsetHeight();
15154
15155     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
15156     IHTMLElement *offsetParent();
15157
15158     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
15159     void innerHTML(BSTR v);
15160
15161     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
15162     BSTR innerHTML();
15163
15164     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
15165     void innerText(BSTR v);
15166
15167     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
15168     BSTR innerText();
15169
15170     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
15171     void outerHTML(BSTR v);
15172
15173     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
15174     BSTR outerHTML();
15175
15176     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
15177     void outerText(BSTR v);
15178
15179     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
15180     BSTR outerText();
15181
15182     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
15183     void insertAdjacentHTML(
15184             [in] BSTR where,
15185             [in] BSTR html);
15186
15187     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
15188     void insertAdjacentText(
15189             [in] BSTR where,
15190             [in] BSTR text);
15191
15192     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
15193     IHTMLElement *parentTextEdit();
15194
15195     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
15196     VARIANT_BOOL isTextEdit();
15197
15198     [id(DISPID_IHTMLELEMENT_CLICK)]
15199     void click();
15200
15201     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
15202     IHTMLFiltersCollection *filters();
15203
15204     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
15205     void ondragstart(VARIANT v);
15206
15207     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
15208     VARIANT ondragstart();
15209
15210     [id(DISPID_IHTMLELEMENT_TOSTRING)]
15211     BSTR toString();
15212
15213     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
15214     void onbeforeupdate(VARIANT v);
15215
15216     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
15217     VARIANT onbeforeupdate();
15218
15219     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
15220     void onafterupdate(VARIANT v);
15221
15222     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
15223     VARIANT onafterupdate();
15224
15225     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
15226     void onerrorupdate(VARIANT v);
15227
15228     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
15229     VARIANT onerrorupdate();
15230
15231     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
15232     void onrowexit(VARIANT v);
15233
15234     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
15235     VARIANT onrowexit();
15236
15237     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
15238     void onrowenter(VARIANT v);
15239
15240     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
15241     VARIANT onrowenter();
15242
15243     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
15244     void ondatasetchanged(VARIANT v);
15245
15246     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
15247     VARIANT ondatasetchanged();
15248
15249     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
15250     void ondataavailable(VARIANT v);
15251
15252     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
15253     VARIANT ondataavailable();
15254
15255     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
15256     void ondatasetcomplete(VARIANT v);
15257
15258     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
15259     VARIANT ondatasetcomplete();
15260
15261     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
15262     void onfilterchange(VARIANT v);
15263
15264     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
15265     VARIANT onfilterchange();
15266
15267     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
15268     IDispatch *children();
15269
15270     [propget, id(DISPID_IHTMLELEMENT_ALL)]
15271     IDispatch *all();
15272
15273     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
15274     BSTR scopeName();
15275
15276     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
15277     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
15278
15279     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
15280     void releaseCapture();
15281
15282     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
15283     void onlosecapture(VARIANT v);
15284
15285     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
15286     VARIANT onlosecapture();
15287
15288     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
15289     BSTR componentFromPoint(
15290             [in] long x,
15291             [in] long y);
15292
15293     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
15294     void doScroll([in, optional] VARIANT component);
15295
15296     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
15297     void onscroll(VARIANT v);
15298
15299     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
15300     VARIANT onscroll();
15301
15302     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
15303     void ondrag(VARIANT v);
15304
15305     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
15306     VARIANT ondrag();
15307
15308     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
15309     void ondragend(VARIANT v);
15310
15311     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
15312     VARIANT ondragend();
15313
15314     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
15315     void ondragenter(VARIANT v);
15316
15317     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
15318     VARIANT ondragenter();
15319
15320     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
15321     void ondragover(VARIANT v);
15322
15323     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
15324     VARIANT ondragover();
15325
15326     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
15327     void ondragleave(VARIANT v);
15328
15329     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
15330     VARIANT ondragleave();
15331
15332     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
15333     void ondrop(VARIANT v);
15334
15335     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
15336     VARIANT ondrop();
15337
15338     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
15339     void onbeforecut(VARIANT v);
15340
15341     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
15342     VARIANT onbeforecut();
15343
15344     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
15345     void oncut(VARIANT v);
15346
15347     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
15348     VARIANT oncut();
15349
15350     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
15351     void onbeforecopy(VARIANT v);
15352
15353     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
15354     VARIANT onbeforecopy();
15355
15356     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
15357     void oncopy(VARIANT v);
15358
15359     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
15360     VARIANT oncopy();
15361
15362     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
15363     void onbeforepaste(VARIANT v);
15364
15365     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
15366     VARIANT onbeforepaste();
15367
15368     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
15369     void onpaste(VARIANT v);
15370
15371     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
15372     VARIANT onpaste();
15373
15374     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
15375     IHTMLCurrentStyle *currentStyle();
15376
15377     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
15378     void onpropertychange(VARIANT v);
15379
15380     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
15381     VARIANT onpropertychange();
15382
15383     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
15384     IHTMLRectCollection *getClientRects();
15385
15386     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
15387     IHTMLRect *getBoundingClientRect();
15388
15389     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
15390     void setExpression(
15391             [in] BSTR propname,
15392             [in] BSTR expression,
15393             [in, defaultvalue("")] BSTR language);
15394
15395     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
15396     VARIANT getExpression([in] BSTR propname);
15397
15398     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
15399     VARIANT_BOOL removeExpression([in] BSTR propname);
15400
15401     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
15402     void tabIndex(short v);
15403
15404     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
15405     short tabIndex();
15406
15407     [id(DISPID_IHTMLELEMENT2_FOCUS)]
15408     void focus();
15409
15410     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
15411     void accessKey(BSTR v);
15412
15413     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
15414     BSTR accessKey();
15415
15416     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
15417     void onblur(VARIANT v);
15418
15419     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
15420     VARIANT onblur();
15421
15422     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
15423     void onfocus(VARIANT v);
15424
15425     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
15426     VARIANT onfocus();
15427
15428     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
15429     void onresize(VARIANT v);
15430
15431     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
15432     VARIANT onresize();
15433
15434     [id(DISPID_IHTMLELEMENT2_BLUR)]
15435     void blur();
15436
15437     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
15438     void addFilter([in] IUnknown *pUnk);
15439
15440     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
15441     void removeFilter([in] IUnknown *pUnk);
15442
15443     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
15444     long clientHeight();
15445
15446     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
15447     long clientWidth();
15448
15449     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
15450     long clientTop();
15451
15452     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
15453     long clientLeft();
15454
15455     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
15456     VARIANT_BOOL attachEvent(
15457             [in] BSTR event,
15458             [in] IDispatch *pDisp);
15459
15460     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
15461     void detachEvent(
15462             [in] BSTR event,
15463             [in] IDispatch *pDisp);
15464
15465     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
15466     VARIANT readyState();
15467
15468     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
15469     void onreadystatechange(VARIANT v);
15470
15471     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
15472     VARIANT onreadystatechange();
15473
15474     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
15475     void onrowsdelete(VARIANT v);
15476
15477     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
15478     VARIANT onrowsdelete();
15479
15480     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
15481     void onrowsinserted(VARIANT v);
15482
15483     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
15484      VARIANT onrowsinserted();
15485
15486     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
15487      void oncellchange(VARIANT v);
15488
15489     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
15490     VARIANT oncellchange();
15491
15492     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
15493     void dir(BSTR v);
15494
15495     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
15496     BSTR dir();
15497
15498     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
15499     IDispatch *createControlRange();
15500
15501     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
15502     long scrollHeight();
15503
15504     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
15505     long scrollWidth();
15506
15507     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
15508     void scrollTop(long v);
15509
15510     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
15511     long scrollTop();
15512
15513     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
15514     void scrollLeft(long v);
15515
15516     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
15517     long scrollLeft();
15518
15519     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
15520     void clearAttributes();
15521
15522     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
15523     void oncontextmenu(VARIANT v);
15524
15525     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
15526     VARIANT oncontextmenu();
15527
15528     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
15529     IHTMLElement *insertAdjacentElement(
15530             [in] BSTR where,
15531             [in] IHTMLElement *insertedElement);
15532
15533     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
15534     IHTMLElement *applyElement(
15535             [in] IHTMLElement *apply,
15536             [in] BSTR where);
15537
15538     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
15539     BSTR getAdjacentText([in] BSTR where);
15540
15541     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
15542     BSTR replaceAdjacentText(
15543             [in] BSTR where,
15544             [in] BSTR newText);
15545
15546     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
15547     VARIANT_BOOL canHaveChildren();
15548
15549     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
15550     long addBehavior(
15551             [in] BSTR bstrUrl,
15552             [in, optional] VARIANT *pvarFactory);
15553
15554     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
15555     VARIANT_BOOL removeBehavior([in] long cookie);
15556
15557     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
15558     IHTMLStyle *runtimeStyle();
15559
15560     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
15561     IDispatch *behaviorUrns();
15562
15563     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
15564     void tagUrn(BSTR v);
15565
15566     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
15567     BSTR tagUrn();
15568
15569     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
15570     void onbeforeeditfocus(VARIANT v);
15571
15572     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
15573     VARIANT onbeforeeditfocus();
15574
15575     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
15576     long readyStateValue();
15577
15578     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
15579     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
15580
15581     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
15582     void mergeAttributes(
15583             [in] IHTMLElement *mergeThis,
15584             [in, optional] VARIANT *pvarFlags);
15585
15586     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
15587     VARIANT_BOOL isMultiLine();
15588
15589     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
15590     VARIANT_BOOL canHaveHTML();
15591
15592     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
15593     void onlayoutcomplete(VARIANT v);
15594
15595     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
15596     VARIANT onlayoutcomplete();
15597
15598     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
15599     void onpage(VARIANT v);
15600
15601     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
15602     VARIANT onpage();
15603
15604     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
15605     void inflateBlock(VARIANT_BOOL v);
15606
15607     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
15608     VARIANT_BOOL inflateBlock();
15609
15610     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
15611     void onbeforedeactivate(VARIANT v);
15612
15613     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
15614     VARIANT onbeforedeactivate();
15615
15616     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
15617     void setActive();
15618
15619     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
15620     void contentEditable(BSTR v);
15621
15622     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
15623     BSTR contentEditable();
15624
15625     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
15626     VARIANT_BOOL isContentEditable();
15627
15628     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
15629     void hideFocus(VARIANT_BOOL v);
15630
15631     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
15632     VARIANT_BOOL hideFocus();
15633
15634     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
15635     void disabled(VARIANT_BOOL v);
15636
15637     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
15638     VARIANT_BOOL disabled();
15639
15640     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
15641     VARIANT_BOOL isDisabled();
15642
15643     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
15644     void onmove(VARIANT v);
15645
15646     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
15647     VARIANT onmove();
15648
15649     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
15650     void oncontrolselect(VARIANT v);
15651
15652     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
15653     VARIANT oncontrolselect();
15654
15655     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
15656     VARIANT_BOOL fireEvent(
15657             [in] BSTR bstrEventName,
15658             [in, optional] VARIANT *pvarEventObject);
15659
15660     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
15661     void onresizestart(VARIANT v);
15662
15663     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
15664     VARIANT onresizestart();
15665
15666     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
15667     void onresizeend(VARIANT v);
15668
15669     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
15670     VARIANT onresizeend();
15671
15672     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
15673     void onmovestart(VARIANT v);
15674
15675     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
15676     VARIANT onmovestart();
15677
15678     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
15679     void onmoveend(VARIANT v);
15680
15681     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
15682     VARIANT onmoveend();
15683
15684     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
15685     void onmouseenter(VARIANT v);
15686
15687     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
15688     VARIANT onmouseenter();
15689
15690     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
15691     void onmouseleave(VARIANT v);
15692
15693     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
15694     VARIANT onmouseleave();
15695
15696     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
15697     void onactivate(VARIANT v);
15698
15699     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
15700     VARIANT onactivate();
15701
15702     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
15703     void ondeactivate(VARIANT v);
15704
15705     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
15706     VARIANT ondeactivate();
15707
15708     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
15709     VARIANT_BOOL dragDrop();
15710
15711     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
15712     LONG glyphMode();
15713
15714     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
15715     void onmousewheel(VARIANT v);
15716
15717     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
15718     VARIANT onmousewheel();
15719
15720     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
15721     void normalize();
15722
15723     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
15724     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
15725
15726     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
15727     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
15728
15729     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
15730     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
15731
15732     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
15733     void onbeforeactivate(VARIANT v);
15734
15735     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
15736     VARIANT onbeforeactivate();
15737
15738     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
15739     void onfocusin(VARIANT v);
15740
15741     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
15742     VARIANT onfocusin();
15743
15744     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
15745     void onfocusout(VARIANT v);
15746
15747     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
15748     VARIANT onfocusout();
15749
15750     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
15751     long uniqueNumber();
15752
15753     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
15754     BSTR uniqueID();
15755
15756     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
15757     long nodeType();
15758
15759     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
15760     IHTMLDOMNode *parentNode();
15761
15762     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
15763     VARIANT_BOOL hasChildNodes();
15764
15765     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
15766     IDispatch *childNodes();
15767
15768     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
15769     IDispatch *attributes();
15770
15771     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
15772     IHTMLDOMNode *insertBefore(
15773             [in] IHTMLDOMNode *newChild,
15774             [in, optional] VARIANT refChild);
15775
15776     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
15777     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
15778
15779     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
15780     IHTMLDOMNode *replaceChild(
15781             [in] IHTMLDOMNode *newChild,
15782             [in] IHTMLDOMNode *oldChild);
15783
15784     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
15785     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
15786
15787     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
15788     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
15789
15790     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
15791     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
15792
15793     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
15794     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
15795
15796     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
15797     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
15798
15799     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
15800     BSTR nodeName();
15801
15802     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
15803     void nodeValue(VARIANT v);
15804
15805     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
15806     VARIANT nodeValue();
15807
15808     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
15809     IHTMLDOMNode *firstChild();
15810
15811     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
15812     IHTMLDOMNode *lastChild();
15813
15814     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
15815     IHTMLDOMNode *previousSibling();
15816
15817     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
15818     IHTMLDOMNode *nextSibling();
15819
15820     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
15821     IDispatch *ownerDocument();
15822
15823     [propput, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
15824     void text(BSTR v);
15825
15826     [propget, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
15827     BSTR text();
15828
15829     [propput, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
15830     void atomic(long v);
15831
15832     [propget, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
15833     long atomic();
15834
15835     [propput, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
15836     void data(BSTR v);
15837
15838     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
15839     BSTR data();
15840
15841     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_LENGTH)]
15842     long length();
15843
15844     [id(DISPID_IHTMLCOMMENTELEMENT2_SUBSTRINGDATA)]
15845     BSTR substringData(
15846             [in] long offset,
15847             [in] long Count);
15848
15849     [id(DISPID_IHTMLCOMMENTELEMENT2_APPENDDATA)]
15850     void appendData([in] BSTR bstrstring);
15851
15852     [id(DISPID_IHTMLCOMMENTELEMENT2_INSERTDATA)]
15853      void insertData(
15854             [in] long offset,
15855             [in] BSTR bstrstring);
15856
15857     [id(DISPID_IHTMLCOMMENTELEMENT2_DELETEDATA)]
15858     void deleteData(
15859             [in] long offset,
15860             [in] long Count);
15861
15862     [id(DISPID_IHTMLCOMMENTELEMENT2_REPLACEDATA)]
15863     void replaceData(
15864             [in] long offset,
15865             [in] long Count,
15866             [in] BSTR bstrstring);
15867 }
15868
15869 /*****************************************************************************
15870  *    HTMLTableEvents dispinterface
15871  */
15872 [
15873     hidden,
15874     uuid(3050f407-98b5-11cf-bb82-00aa00bdce0b)
15875 ]
15876 dispinterface HTMLTableEvents
15877 {
15878 properties:
15879 methods:
15880     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
15881     VARIANT_BOOL onhelp();
15882
15883     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
15884     VARIANT_BOOL onclick();
15885
15886     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
15887     VARIANT_BOOL ondblclick();
15888
15889     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
15890     VARIANT_BOOL onkeypress();
15891
15892     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
15893     void onkeydown();
15894
15895     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
15896     void onkeyup();
15897
15898     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
15899     void onmouseout();
15900
15901     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
15902     void onmouseover();
15903
15904     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
15905     void onmousemove();
15906
15907     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
15908     void onmousedown();
15909
15910     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
15911     void onmouseup();
15912
15913     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
15914     VARIANT_BOOL onselectstart();
15915
15916     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
15917     void onfilterchange();
15918
15919     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
15920     VARIANT_BOOL ondragstart();
15921
15922     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
15923     VARIANT_BOOL onbeforeupdate();
15924
15925     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
15926     void onafterupdate();
15927
15928     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
15929     VARIANT_BOOL onerrorupdate();
15930
15931     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
15932     VARIANT_BOOL onrowexit();
15933
15934     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
15935     void onrowenter();
15936
15937     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
15938     void ondatasetchanged();
15939
15940     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
15941     void ondataavailable();
15942
15943     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
15944     void ondatasetcomplete();
15945
15946     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
15947     void onlosecapture();
15948
15949     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
15950     void onpropertychange();
15951
15952     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
15953     void onscroll();
15954
15955     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
15956     void onfocus();
15957
15958     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
15959     void onblur();
15960
15961     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
15962     void onresize();
15963
15964     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
15965     VARIANT_BOOL ondrag();
15966
15967     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
15968     void ondragend();
15969
15970     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
15971     VARIANT_BOOL ondragenter();
15972
15973     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
15974     VARIANT_BOOL ondragover();
15975
15976     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
15977     void ondragleave();
15978
15979     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
15980     VARIANT_BOOL ondrop();
15981
15982     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
15983     VARIANT_BOOL onbeforecut();
15984
15985     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
15986     VARIANT_BOOL oncut();
15987
15988     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
15989     VARIANT_BOOL onbeforecopy();
15990
15991     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
15992     VARIANT_BOOL oncopy();
15993
15994     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
15995     VARIANT_BOOL onbeforepaste();
15996
15997     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
15998     VARIANT_BOOL onpaste();
15999
16000     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
16001     VARIANT_BOOL oncontextmenu();
16002
16003     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
16004     void onrowsdelete();
16005
16006     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
16007     void onrowsinserted();
16008
16009     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
16010     void oncellchange();
16011
16012     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
16013     void onreadystatechange();
16014
16015     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
16016     void onbeforeeditfocus();
16017
16018     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
16019     void onlayoutcomplete();
16020
16021     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
16022     void onpage();
16023
16024     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
16025     VARIANT_BOOL onbeforedeactivate();
16026
16027     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
16028     VARIANT_BOOL onbeforeactivate();
16029
16030     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
16031     void onmove();
16032
16033     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
16034     VARIANT_BOOL oncontrolselect();
16035
16036     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
16037     VARIANT_BOOL onmovestart();
16038
16039     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
16040     void onmoveend();
16041
16042     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
16043     VARIANT_BOOL onresizestart();
16044
16045     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
16046     void onresizeend();
16047
16048     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
16049     void onmouseenter();
16050
16051     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
16052     void onmouseleave();
16053
16054     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
16055     VARIANT_BOOL onmousewheel();
16056
16057     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
16058     void onactivate();
16059
16060     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
16061     void ondeactivate();
16062
16063     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
16064     void onfocusin();
16065
16066     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
16067     void onfocusout();
16068 }
16069
16070 /*****************************************************************************
16071  *    IHTMLTableCaption interface
16072  */
16073 [
16074     odl,
16075     oleautomation,
16076     dual,
16077     uuid(3050f2eb-98b5-11cf-bb82-00aa00bdce0b)
16078 ]
16079 interface IHTMLTableCaption : IDispatch
16080 {
16081     [propput, id(DISPID_IHTMLTABLECAPTION_ALIGN)]
16082     HRESULT align([in] BSTR v);
16083
16084     [propget, id(DISPID_IHTMLTABLECAPTION_ALIGN)]
16085     HRESULT align([retval, out] BSTR *p);
16086
16087     [propput, id(DISPID_IHTMLTABLECAPTION_VALIGN)]
16088     HRESULT vAlign([in] BSTR v);
16089
16090     [propget, id(DISPID_IHTMLTABLECAPTION_VALIGN)]
16091     HRESULT vAlign([retval, out] BSTR *p);
16092 }
16093
16094 interface IHTMLTableSection;
16095
16096 /*****************************************************************************
16097  *    IHTMLTable interface
16098  */
16099 [
16100     odl,
16101     oleautomation,
16102     dual,
16103     uuid(3050f21e-98b5-11cf-bb82-00aa00bdce0b)
16104 ]
16105 interface IHTMLTable : IDispatch
16106 {
16107     [propput, id(DISPID_IHTMLTABLE_COLS)]
16108     HRESULT cols([in] long v);
16109
16110     [propget, id(DISPID_IHTMLTABLE_COLS)]
16111     HRESULT cols([retval, out] long *p);
16112
16113     [propput, id(DISPID_IHTMLTABLE_BORDER)]
16114     HRESULT border([in] VARIANT v);
16115
16116     [propget, id(DISPID_IHTMLTABLE_BORDER)]
16117     HRESULT border([retval, out] VARIANT *p);
16118
16119     [propput, id(DISPID_IHTMLTABLE_FRAME)]
16120     HRESULT frame([in] BSTR v);
16121
16122     [propget, id(DISPID_IHTMLTABLE_FRAME)]
16123     HRESULT frame([retval, out] BSTR *p);
16124
16125     [propput, id(DISPID_IHTMLTABLE_RULES)]
16126     HRESULT rules([in] BSTR v);
16127
16128     [propget, id(DISPID_IHTMLTABLE_RULES)]
16129     HRESULT rules([retval, out] BSTR *p);
16130
16131     [propput, id(DISPID_IHTMLTABLE_CELLSPACING)]
16132     HRESULT cellSpacing([in] VARIANT v);
16133
16134     [propget, id(DISPID_IHTMLTABLE_CELLSPACING)]
16135     HRESULT cellSpacing([retval, out] VARIANT *p);
16136
16137     [propput, id(DISPID_IHTMLTABLE_CELLPADDING)]
16138     HRESULT cellPadding([in] VARIANT v);
16139
16140     [propget, id(DISPID_IHTMLTABLE_CELLPADDING)]
16141     HRESULT cellPadding([retval, out] VARIANT *p);
16142
16143     [propput, id(DISPID_IHTMLTABLE_BACKGROUND)]
16144     HRESULT background([in] BSTR v);
16145
16146     [propget, id(DISPID_IHTMLTABLE_BACKGROUND)]
16147     HRESULT background([retval, out] BSTR *p);
16148
16149     [propput, id(DISPID_IHTMLTABLE_BGCOLOR)]
16150     HRESULT bgColor([in] VARIANT v);
16151
16152     [propget, id(DISPID_IHTMLTABLE_BGCOLOR)]
16153     HRESULT bgColor([retval, out] VARIANT *p);
16154
16155     [propput, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
16156     HRESULT borderColor([in] VARIANT v);
16157
16158     [propget, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
16159     HRESULT borderColor([retval, out] VARIANT *p);
16160
16161     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
16162     HRESULT borderColorLight([in] VARIANT v);
16163
16164     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
16165     HRESULT borderColorLight([retval, out] VARIANT *p);
16166
16167     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
16168     HRESULT borderColorDark([in] VARIANT v);
16169
16170     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
16171     HRESULT borderColorDark([retval, out] VARIANT *p);
16172
16173     [propput, id(DISPID_IHTMLTABLE_ALIGN)]
16174     HRESULT align([in] BSTR v);
16175
16176     [propget, id(DISPID_IHTMLTABLE_ALIGN)]
16177     HRESULT align([retval, out] BSTR * p);
16178
16179     [id(DISPID_IHTMLTABLE_REFRESH)]
16180     HRESULT refresh();
16181
16182     [propget, id(DISPID_IHTMLTABLE_ROWS)]
16183     HRESULT rows([retval, out] IHTMLElementCollection **p);
16184
16185     [propput, id(DISPID_IHTMLTABLE_WIDTH)]
16186     HRESULT width([in] VARIANT v);
16187
16188     [propget, id(DISPID_IHTMLTABLE_WIDTH)]
16189     HRESULT width([retval, out] VARIANT *p);
16190
16191     [propput, id(DISPID_IHTMLTABLE_HEIGHT)]
16192     HRESULT height([in] VARIANT v);
16193
16194     [propget, id(DISPID_IHTMLTABLE_HEIGHT)]
16195     HRESULT height([retval, out] VARIANT *p);
16196
16197     [propput, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
16198     HRESULT dataPageSize([in] long v);
16199
16200     [propget, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
16201     HRESULT dataPageSize([retval, out] long *p);
16202
16203     [id(DISPID_IHTMLTABLE_NEXTPAGE)]
16204     HRESULT nextPage();
16205
16206     [id(DISPID_IHTMLTABLE_PREVIOUSPAGE)]
16207     HRESULT previousPage();
16208
16209     [propget, id(DISPID_IHTMLTABLE_THEAD)]
16210     HRESULT tHead([retval, out] IHTMLTableSection **p);
16211
16212     [propget, id(DISPID_IHTMLTABLE_TFOOT)]
16213     HRESULT tFoot([retval, out] IHTMLTableSection **p);
16214
16215     [propget, id(DISPID_IHTMLTABLE_TBODIES)]
16216     HRESULT tBodies([retval, out] IHTMLElementCollection **p);
16217
16218     [propget, id(DISPID_IHTMLTABLE_CAPTION)]
16219     HRESULT caption([retval, out] IHTMLTableCaption **p);
16220
16221     [id(DISPID_IHTMLTABLE_CREATETHEAD)]
16222     HRESULT createTHead([retval, out] IDispatch **head);
16223
16224     [id(DISPID_IHTMLTABLE_DELETETHEAD)]
16225     HRESULT deleteTHead();
16226
16227     [id(DISPID_IHTMLTABLE_CREATETFOOT)]
16228     HRESULT createTFoot([retval, out] IDispatch **foot);
16229
16230     [id(DISPID_IHTMLTABLE_DELETETFOOT)]
16231     HRESULT deleteTFoot();
16232
16233     [id(DISPID_IHTMLTABLE_CREATECAPTION)]
16234     HRESULT createCaption([retval, out] IHTMLTableCaption **caption);
16235
16236     [id(DISPID_IHTMLTABLE_DELETECAPTION)]
16237     HRESULT deleteCaption();
16238
16239     [id(DISPID_IHTMLTABLE_INSERTROW)]
16240     HRESULT insertRow(
16241             [defaultvalue(-1), in] long index,
16242             [retval, out] IDispatch **row);
16243
16244     [id(DISPID_IHTMLTABLE_DELETEROW)]
16245     HRESULT deleteRow([defaultvalue(-1), in] long index);
16246
16247     [propget, id(DISPID_IHTMLTABLE_READYSTATE)]
16248     HRESULT readyState([retval, out] BSTR *p);
16249
16250     [propput, id(DISPID_IHTMLTABLE_ONREADYSTATECHANGE), displaybind, bindable]
16251     HRESULT onreadystatechange([in] VARIANT v);
16252
16253     [propget, id(DISPID_IHTMLTABLE_ONREADYSTATECHANGE), displaybind, bindable]
16254     HRESULT onreadystatechange([retval, out] VARIANT *p);
16255 }
16256
16257 [
16258     odl,
16259     oleautomation,
16260     dual,
16261     uuid(3050f23b-98b5-11cf-bb82-00aa00bdce0b)
16262 ]
16263 interface IHTMLTableSection : IDispatch
16264 {
16265     [propput, id(DISPID_IHTMLTABLESECTION_ALIGN)]
16266     HRESULT align([in] BSTR v);
16267
16268     [propget, id(DISPID_IHTMLTABLESECTION_ALIGN)]
16269     HRESULT align([retval, out] BSTR *p);
16270
16271     [propput, id(DISPID_IHTMLTABLESECTION_VALIGN)]
16272     HRESULT vAlign([in] BSTR v);
16273
16274     [propget, id(DISPID_IHTMLTABLESECTION_VALIGN)]
16275     HRESULT vAlign([retval, out] BSTR *p);
16276
16277     [propput, id(DISPID_IHTMLTABLESECTION_BGCOLOR)]
16278     HRESULT bgColor([in] VARIANT v);
16279
16280     [propget, id(DISPID_IHTMLTABLESECTION_BGCOLOR)]
16281     HRESULT bgColor([retval, out] VARIANT *p);
16282
16283     [propget, id(DISPID_IHTMLTABLESECTION_ROWS)]
16284     HRESULT rows([retval, out] IHTMLElementCollection **p);
16285
16286     [id(DISPID_IHTMLTABLESECTION_INSERTROW)]
16287     HRESULT insertRow(
16288             [defaultvalue(-1), in] long index,
16289             [retval, out] IDispatch **row);
16290
16291     [id(DISPID_IHTMLTABLESECTION_DELETEROW)]
16292     HRESULT deleteRow([defaultvalue(-1), in] long index);
16293 }
16294
16295 /*****************************************************************************
16296  *    IHTMLTableRow interface
16297  */
16298 [
16299     odl,
16300     oleautomation,
16301     dual,
16302     uuid(3050f23c-98b5-11cf-bb82-00aa00bdce0b)
16303 ]
16304 interface IHTMLTableRow : IDispatch
16305 {
16306     [propput, id(DISPID_IHTMLTABLEROW_ALIGN)]
16307     HRESULT align([in] BSTR v);
16308
16309     [propget, id(DISPID_IHTMLTABLEROW_ALIGN)]
16310     HRESULT align([out, retval] BSTR *p);
16311
16312     [propput, id(DISPID_IHTMLTABLEROW_VALIGN)]
16313     HRESULT vAlign([in] BSTR v);
16314
16315     [propget, id(DISPID_IHTMLTABLEROW_VALIGN)]
16316     HRESULT vAlign([out, retval] BSTR *p);
16317
16318     [propput, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
16319     HRESULT bgColor([in] VARIANT v);
16320
16321     [propget, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
16322     HRESULT bgColor([out, retval] VARIANT *p);
16323
16324     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
16325     HRESULT borderColor([in] VARIANT v);
16326
16327     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
16328     HRESULT borderColor([out, retval] VARIANT *p);
16329
16330     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
16331     HRESULT borderColorLight([in] VARIANT v);
16332
16333     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
16334     HRESULT borderColorLight([out, retval] VARIANT *p);
16335
16336     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
16337     HRESULT borderColorDark([in] VARIANT v);
16338
16339     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
16340     HRESULT borderColorDark([out, retval] VARIANT *p);
16341
16342     [propget, id(DISPID_IHTMLTABLEROW_ROWINDEX)]
16343     HRESULT rowIndex([out, retval] long *p);
16344
16345     [propget, id(DISPID_IHTMLTABLEROW_SECTIONROWINDEX)]
16346     HRESULT sectionRowIndex([out, retval] long *p);
16347
16348     [propget, id(DISPID_IHTMLTABLEROW_CELLS)]
16349     HRESULT cells([out, retval] IHTMLElementCollection **p);
16350
16351     [id(DISPID_IHTMLTABLEROW_INSERTCELL)]
16352     HRESULT insertCell(
16353             [in, defaultvalue(-1)] long index,
16354             [out, retval] IDispatch **row);
16355
16356     [id(DISPID_IHTMLTABLEROW_DELETECELL)]
16357     HRESULT deleteCell([in, defaultvalue(-1)] long index);
16358 }
16359
16360 /*****************************************************************************
16361  *    DispHTMLTable interface
16362  */
16363 [
16364     hidden,
16365     uuid(3050f532-98b5-11cf-bb82-00aa00bdce0b)
16366 ]
16367 dispinterface DispHTMLTable
16368 {
16369 properties:
16370 methods:
16371     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
16372     void setAttribute(
16373             [in] BSTR strAttributeName,
16374             [in] VARIANT AttributeValue,
16375             [in, defaultvalue(1)] LONG lFlags);
16376
16377     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
16378     VARIANT getAttribute(
16379              [in] BSTR strAttributeName,
16380              [in, defaultvalue(0)] LONG lFlags);
16381
16382     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
16383     VARIANT_BOOL removeAttribute(
16384             [in] BSTR strAttributeName,
16385             [in, defaultvalue(1)] LONG lFlags);
16386
16387     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
16388     void className(BSTR v);
16389
16390     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
16391     BSTR className();
16392
16393     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
16394     void id(BSTR v);
16395
16396     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
16397     BSTR id();
16398
16399     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
16400     BSTR tagName();
16401
16402     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
16403     IHTMLElement *parentElement();
16404
16405     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
16406     IHTMLStyle *style();
16407
16408     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
16409     void onhelp(VARIANT v);
16410
16411     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
16412     VARIANT onhelp();
16413
16414     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
16415     void onclick(VARIANT v);
16416
16417     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
16418     VARIANT onclick();
16419
16420     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
16421     void ondblclick(VARIANT v);
16422
16423     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
16424     VARIANT ondblclick();
16425
16426     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
16427     void onkeydown(VARIANT v);
16428
16429     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
16430     VARIANT onkeydown();
16431
16432     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
16433     void onkeyup(VARIANT v);
16434
16435     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
16436     VARIANT onkeyup();
16437
16438     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
16439     void onkeypress(VARIANT v);
16440
16441     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
16442     VARIANT onkeypress();
16443
16444     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
16445     void onmouseout(VARIANT v);
16446
16447     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
16448     VARIANT onmouseout();
16449
16450     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
16451     void onmouseover(VARIANT v);
16452
16453     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
16454     VARIANT onmouseover();
16455
16456     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
16457     void onmousemove(VARIANT v);
16458
16459     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
16460     VARIANT onmousemove();
16461
16462     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
16463     void onmousedown(VARIANT v);
16464
16465     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
16466     VARIANT onmousedown();
16467
16468     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
16469     void onmouseup(VARIANT v);
16470
16471     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
16472     VARIANT onmouseup();
16473
16474     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
16475     IDispatch *document();
16476
16477     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
16478     void title(BSTR v);
16479
16480     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
16481     BSTR title();
16482
16483     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
16484     void language(BSTR v);
16485
16486     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
16487     BSTR language();
16488
16489     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
16490     void onselectstart(VARIANT v);
16491
16492     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
16493     VARIANT onselectstart();
16494
16495     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
16496     void scrollIntoView([in, optional] VARIANT varargStart);
16497
16498     [id(DISPID_IHTMLELEMENT_CONTAINS)]
16499     VARIANT_BOOL contains([in] IHTMLElement *pChild);
16500
16501     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
16502     long sourceIndex();
16503
16504     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
16505     VARIANT recordNumber();
16506
16507     [propput, id(DISPID_IHTMLELEMENT_LANG)]
16508     void lang(BSTR v);
16509
16510     [propget, id(DISPID_IHTMLELEMENT_LANG)]
16511     BSTR lang();
16512
16513     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
16514     long offsetLeft();
16515
16516     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
16517     long offsetTop();
16518
16519     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
16520     long offsetWidth();
16521
16522     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
16523     long offsetHeight();
16524
16525     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
16526     IHTMLElement *offsetParent();
16527
16528     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
16529     void innerHTML(BSTR v);
16530
16531     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
16532     BSTR innerHTML();
16533
16534     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
16535     void innerText(BSTR v);
16536
16537     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
16538     BSTR innerText();
16539
16540     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
16541     void outerHTML(BSTR v);
16542
16543     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
16544     BSTR outerHTML();
16545
16546     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
16547     void outerText(BSTR v);
16548
16549     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
16550     BSTR outerText();
16551
16552     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
16553     void insertAdjacentHTML(
16554             [in] BSTR where,
16555             [in] BSTR html);
16556
16557     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
16558     void insertAdjacentText(
16559             [in] BSTR where,
16560             [in] BSTR text);
16561
16562     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
16563     IHTMLElement *parentTextEdit();
16564
16565     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
16566     VARIANT_BOOL isTextEdit();
16567
16568     [id(DISPID_IHTMLELEMENT_CLICK)]
16569     void click();
16570
16571     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
16572     IHTMLFiltersCollection *filters();
16573
16574     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
16575     void ondragstart(VARIANT v);
16576
16577     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
16578     VARIANT ondragstart();
16579
16580     [id(DISPID_IHTMLELEMENT_TOSTRING)]
16581     BSTR toString();
16582
16583     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
16584     void onbeforeupdate(VARIANT v);
16585
16586     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
16587     VARIANT onbeforeupdate();
16588
16589     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
16590     void onafterupdate(VARIANT v);
16591
16592     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
16593     VARIANT onafterupdate();
16594
16595     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
16596     void onerrorupdate(VARIANT v);
16597
16598     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
16599     VARIANT onerrorupdate();
16600
16601     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
16602     void onrowexit(VARIANT v);
16603
16604     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
16605     VARIANT onrowexit();
16606
16607     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
16608     void onrowenter(VARIANT v);
16609
16610     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
16611     VARIANT onrowenter();
16612
16613     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
16614     void ondatasetchanged(VARIANT v);
16615
16616     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
16617     VARIANT ondatasetchanged();
16618
16619     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
16620     void ondataavailable(VARIANT v);
16621
16622     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
16623     VARIANT ondataavailable();
16624
16625     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
16626     void ondatasetcomplete(VARIANT v);
16627
16628     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
16629     VARIANT ondatasetcomplete();
16630
16631     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
16632     void onfilterchange(VARIANT v);
16633
16634     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
16635     VARIANT onfilterchange();
16636
16637     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
16638     IDispatch *children();
16639
16640     [propget, id(DISPID_IHTMLELEMENT_ALL)]
16641     IDispatch *all();
16642
16643     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
16644     BSTR scopeName();
16645
16646     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
16647     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
16648
16649     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
16650     void releaseCapture();
16651
16652     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
16653     void onlosecapture(VARIANT v);
16654
16655     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
16656     VARIANT onlosecapture();
16657
16658     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
16659     BSTR componentFromPoint(
16660             [in] long x,
16661             [in] long y);
16662
16663     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
16664     void doScroll([in, optional] VARIANT component);
16665
16666     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
16667     void onscroll(VARIANT v);
16668
16669     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
16670     VARIANT onscroll();
16671
16672     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
16673     void ondrag(VARIANT v);
16674
16675     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
16676     VARIANT ondrag();
16677
16678     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
16679     void ondragend(VARIANT v);
16680
16681     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
16682     VARIANT ondragend();
16683
16684     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
16685     void ondragenter(VARIANT v);
16686
16687     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
16688     VARIANT ondragenter();
16689
16690     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
16691     void ondragover(VARIANT v);
16692
16693     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
16694     VARIANT ondragover();
16695
16696     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
16697     void ondragleave(VARIANT v);
16698
16699     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
16700     VARIANT ondragleave();
16701
16702     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
16703     void ondrop(VARIANT v);
16704
16705     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
16706     VARIANT ondrop();
16707
16708     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
16709     void onbeforecut(VARIANT v);
16710
16711     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
16712     VARIANT onbeforecut();
16713
16714     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
16715     void oncut(VARIANT v);
16716
16717     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
16718     VARIANT oncut();
16719
16720     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
16721     void onbeforecopy(VARIANT v);
16722
16723     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
16724     VARIANT onbeforecopy();
16725
16726     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
16727     void oncopy(VARIANT v);
16728
16729     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
16730     VARIANT oncopy();
16731
16732     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
16733     void onbeforepaste(VARIANT v);
16734
16735     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
16736     VARIANT onbeforepaste();
16737
16738     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
16739     void onpaste(VARIANT v);
16740
16741     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
16742     VARIANT onpaste();
16743
16744     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
16745     IHTMLCurrentStyle *currentStyle();
16746
16747     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
16748     void onpropertychange(VARIANT v);
16749
16750     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
16751     VARIANT onpropertychange();
16752
16753     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
16754     IHTMLRectCollection *getClientRects();
16755
16756     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
16757     IHTMLRect *getBoundingClientRect();
16758
16759     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
16760     void setExpression(
16761             [in] BSTR propname,
16762             [in] BSTR expression,
16763             [in, defaultvalue("")] BSTR language);
16764
16765     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
16766     VARIANT getExpression([in] BSTR propname);
16767
16768     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
16769     VARIANT_BOOL removeExpression([in] BSTR propname);
16770
16771     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
16772     void tabIndex(short v);
16773
16774     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
16775     short tabIndex();
16776
16777     [id(DISPID_IHTMLELEMENT2_FOCUS)]
16778     void focus();
16779
16780     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
16781     void accessKey(BSTR v);
16782
16783     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
16784     BSTR accessKey();
16785
16786     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
16787     void onblur(VARIANT v);
16788
16789     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
16790     VARIANT onblur();
16791
16792     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
16793     void onfocus(VARIANT v);
16794
16795     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
16796     VARIANT onfocus();
16797
16798     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
16799     void onresize(VARIANT v);
16800
16801     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
16802     VARIANT onresize();
16803
16804     [id(DISPID_IHTMLELEMENT2_BLUR)]
16805     void blur();
16806
16807     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
16808     void addFilter([in] IUnknown *pUnk);
16809
16810     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
16811     void removeFilter([in] IUnknown *pUnk);
16812
16813     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
16814     long clientHeight();
16815
16816     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
16817     long clientWidth();
16818
16819     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
16820     long clientTop();
16821
16822     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
16823     long clientLeft();
16824
16825     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
16826     VARIANT_BOOL attachEvent(
16827             [in] BSTR event,
16828             [in] IDispatch *pDisp);
16829
16830     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
16831     void detachEvent(
16832             [in] BSTR event,
16833             [in] IDispatch *pDisp);
16834
16835     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
16836     VARIANT readyState();
16837
16838     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
16839     void onreadystatechange(VARIANT v);
16840
16841     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
16842     VARIANT onreadystatechange();
16843
16844     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
16845     void onrowsdelete(VARIANT v);
16846
16847     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
16848     VARIANT onrowsdelete();
16849
16850     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
16851     void onrowsinserted(VARIANT v);
16852
16853     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
16854      VARIANT onrowsinserted();
16855
16856     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
16857      void oncellchange(VARIANT v);
16858
16859     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
16860     VARIANT oncellchange();
16861
16862     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
16863     void dir(BSTR v);
16864
16865     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
16866     BSTR dir();
16867
16868     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
16869     IDispatch *createControlRange();
16870
16871     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
16872     long scrollHeight();
16873
16874     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
16875     long scrollWidth();
16876
16877     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
16878     void scrollTop(long v);
16879
16880     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
16881     long scrollTop();
16882
16883     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
16884     void scrollLeft(long v);
16885
16886     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
16887     long scrollLeft();
16888
16889     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
16890     void clearAttributes();
16891
16892     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
16893     void oncontextmenu(VARIANT v);
16894
16895     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
16896     VARIANT oncontextmenu();
16897
16898     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
16899     IHTMLElement *insertAdjacentElement(
16900             [in] BSTR where,
16901             [in] IHTMLElement *insertedElement);
16902
16903     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
16904     IHTMLElement *applyElement(
16905             [in] IHTMLElement *apply,
16906             [in] BSTR where);
16907
16908     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
16909     BSTR getAdjacentText([in] BSTR where);
16910
16911     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
16912     BSTR replaceAdjacentText(
16913             [in] BSTR where,
16914             [in] BSTR newText);
16915
16916     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
16917     VARIANT_BOOL canHaveChildren();
16918
16919     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
16920     long addBehavior(
16921             [in] BSTR bstrUrl,
16922             [in, optional] VARIANT *pvarFactory);
16923
16924     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
16925     VARIANT_BOOL removeBehavior([in] long cookie);
16926
16927     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
16928     IHTMLStyle *runtimeStyle();
16929
16930     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
16931     IDispatch *behaviorUrns();
16932
16933     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
16934     void tagUrn(BSTR v);
16935
16936     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
16937     BSTR tagUrn();
16938
16939     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
16940     void onbeforeeditfocus(VARIANT v);
16941
16942     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
16943     VARIANT onbeforeeditfocus();
16944
16945     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
16946     long readyStateValue();
16947
16948     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
16949     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
16950
16951     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
16952     void mergeAttributes(
16953             [in] IHTMLElement *mergeThis,
16954             [in, optional] VARIANT *pvarFlags);
16955
16956     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
16957     VARIANT_BOOL isMultiLine();
16958
16959     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
16960     VARIANT_BOOL canHaveHTML();
16961
16962     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
16963     void onlayoutcomplete(VARIANT v);
16964
16965     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
16966     VARIANT onlayoutcomplete();
16967
16968     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
16969     void onpage(VARIANT v);
16970
16971     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
16972     VARIANT onpage();
16973
16974     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
16975     void inflateBlock(VARIANT_BOOL v);
16976
16977     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
16978     VARIANT_BOOL inflateBlock();
16979
16980     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
16981     void onbeforedeactivate(VARIANT v);
16982
16983     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
16984     VARIANT onbeforedeactivate();
16985
16986     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
16987     void setActive();
16988
16989     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
16990     void contentEditable(BSTR v);
16991
16992     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
16993     BSTR contentEditable();
16994
16995     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
16996     VARIANT_BOOL isContentEditable();
16997
16998     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
16999     void hideFocus(VARIANT_BOOL v);
17000
17001     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
17002     VARIANT_BOOL hideFocus();
17003
17004     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
17005     void disabled(VARIANT_BOOL v);
17006
17007     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
17008     VARIANT_BOOL disabled();
17009
17010     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
17011     VARIANT_BOOL isDisabled();
17012
17013     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
17014     void onmove(VARIANT v);
17015
17016     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
17017     VARIANT onmove();
17018
17019     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
17020     void oncontrolselect(VARIANT v);
17021
17022     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
17023     VARIANT oncontrolselect();
17024
17025     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
17026     VARIANT_BOOL fireEvent(
17027             [in] BSTR bstrEventName,
17028             [in, optional] VARIANT *pvarEventObject);
17029
17030     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
17031     void onresizestart(VARIANT v);
17032
17033     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
17034     VARIANT onresizestart();
17035
17036     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
17037     void onresizeend(VARIANT v);
17038
17039     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
17040     VARIANT onresizeend();
17041
17042     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
17043     void onmovestart(VARIANT v);
17044
17045     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
17046     VARIANT onmovestart();
17047
17048     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
17049     void onmoveend(VARIANT v);
17050
17051     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
17052     VARIANT onmoveend();
17053
17054     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
17055     void onmouseenter(VARIANT v);
17056
17057     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
17058     VARIANT onmouseenter();
17059
17060     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
17061     void onmouseleave(VARIANT v);
17062
17063     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
17064     VARIANT onmouseleave();
17065
17066     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
17067     void onactivate(VARIANT v);
17068
17069     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
17070     VARIANT onactivate();
17071
17072     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
17073     void ondeactivate(VARIANT v);
17074
17075     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
17076     VARIANT ondeactivate();
17077
17078     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
17079     VARIANT_BOOL dragDrop();
17080
17081     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
17082     LONG glyphMode();
17083
17084     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
17085     void onmousewheel(VARIANT v);
17086
17087     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
17088     VARIANT onmousewheel();
17089
17090     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
17091     void normalize();
17092
17093     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
17094     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
17095
17096     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
17097     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
17098
17099     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
17100     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
17101
17102     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
17103     void onbeforeactivate(VARIANT v);
17104
17105     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
17106     VARIANT onbeforeactivate();
17107
17108     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
17109     void onfocusin(VARIANT v);
17110
17111     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
17112     VARIANT onfocusin();
17113
17114     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
17115     void onfocusout(VARIANT v);
17116
17117     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
17118     VARIANT onfocusout();
17119
17120     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
17121     long uniqueNumber();
17122
17123     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
17124     BSTR uniqueID();
17125
17126     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
17127     long nodeType();
17128
17129     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
17130     IHTMLDOMNode *parentNode();
17131
17132     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
17133     VARIANT_BOOL hasChildNodes();
17134
17135     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
17136     IDispatch *childNodes();
17137
17138     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
17139     IDispatch *attributes();
17140
17141     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
17142     IHTMLDOMNode *insertBefore(
17143             [in] IHTMLDOMNode *newChild,
17144             [in, optional] VARIANT refChild);
17145
17146     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
17147     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
17148
17149     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
17150     IHTMLDOMNode *replaceChild(
17151             [in] IHTMLDOMNode *newChild,
17152             [in] IHTMLDOMNode *oldChild);
17153
17154     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
17155     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
17156
17157     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
17158     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
17159
17160     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
17161     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
17162
17163     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
17164     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
17165
17166     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
17167     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
17168
17169     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
17170     BSTR nodeName();
17171
17172     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
17173     void nodeValue(VARIANT v);
17174
17175     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
17176     VARIANT nodeValue();
17177
17178     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
17179     IHTMLDOMNode *firstChild();
17180
17181     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
17182     IHTMLDOMNode *lastChild();
17183
17184     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
17185     IHTMLDOMNode *previousSibling();
17186
17187     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
17188     IHTMLDOMNode *nextSibling();
17189
17190     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
17191     IDispatch *ownerDocument();
17192
17193     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
17194     void dataFld(BSTR v);
17195
17196     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
17197     BSTR dataFld();
17198
17199     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
17200     void dataSrc(BSTR v);
17201
17202     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
17203     BSTR dataSrc();
17204
17205     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
17206     void dataFormatAs(BSTR v);
17207
17208     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
17209     BSTR dataFormatAs();
17210
17211     [propput, id(DISPID_IHTMLTABLE_COLS)]
17212     void cols(long v);
17213
17214     [propget, id(DISPID_IHTMLTABLE_COLS)]
17215     long cols();
17216
17217     [propput, id(DISPID_IHTMLTABLE_BORDER)]
17218     void border(VARIANT v);
17219
17220     [propget, id(DISPID_IHTMLTABLE_BORDER)]
17221     VARIANT border();
17222
17223     [propput, id(DISPID_IHTMLTABLE_FRAME)]
17224     void frame(BSTR v);
17225
17226     [propget, id(DISPID_IHTMLTABLE_FRAME)]
17227     BSTR frame();
17228
17229     [propput, id(DISPID_IHTMLTABLE_RULES)]
17230     void rules(BSTR v);
17231
17232     [propget, id(DISPID_IHTMLTABLE_RULES)]
17233     BSTR rules();
17234
17235     [propput, id(DISPID_IHTMLTABLE_CELLSPACING)]
17236     void cellSpacing(VARIANT v);
17237
17238     [propget, id(DISPID_IHTMLTABLE_CELLSPACING)]
17239     VARIANT cellSpacing();
17240
17241     [propput, id(DISPID_IHTMLTABLE_CELLPADDING)]
17242     void cellPadding(VARIANT v);
17243
17244     [propget, id(DISPID_IHTMLTABLE_CELLPADDING)]
17245     VARIANT cellPadding();
17246
17247     [propput, id(DISPID_IHTMLTABLE_BACKGROUND)]
17248     void background(BSTR v);
17249
17250     [propget, id(DISPID_IHTMLTABLE_BACKGROUND)]
17251     BSTR background();
17252
17253     [propput, id(DISPID_IHTMLTABLE_BGCOLOR)]
17254     void bgColor(VARIANT v);
17255
17256     [propget, id(DISPID_IHTMLTABLE_BGCOLOR)]
17257     VARIANT bgColor();
17258
17259     [propput, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
17260     void borderColor(VARIANT v);
17261
17262     [propget, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
17263     VARIANT borderColor();
17264
17265     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
17266     void borderColorLight(VARIANT v);
17267
17268     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
17269     VARIANT borderColorLight();
17270
17271     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
17272     void borderColorDark(VARIANT v);
17273
17274     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
17275     VARIANT borderColorDark();
17276
17277     [propput, id(DISPID_IHTMLTABLE_ALIGN)]
17278     void align(BSTR v);
17279
17280     [propget, id(DISPID_IHTMLTABLE_ALIGN)]
17281     BSTR align();
17282
17283     [id(DISPID_IHTMLTABLE_REFRESH)]
17284     void refresh();
17285
17286     [propget, id(DISPID_IHTMLTABLE_ROWS)]
17287     IHTMLElementCollection *rows();
17288
17289     [propput, id(DISPID_IHTMLTABLE_WIDTH)]
17290     void width(VARIANT v);
17291
17292     [propget, id(DISPID_IHTMLTABLE_WIDTH)]
17293     VARIANT width();
17294
17295     [propput, id(DISPID_IHTMLTABLE_HEIGHT)]
17296     void height(VARIANT v);
17297
17298     [propget, id(DISPID_IHTMLTABLE_HEIGHT)]
17299     VARIANT height();
17300
17301     [propput, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
17302     void dataPageSize(long v);
17303
17304     [propget, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
17305     long dataPageSize();
17306
17307     [id(DISPID_IHTMLTABLE_NEXTPAGE)]
17308     void nextPage();
17309
17310     [id(DISPID_IHTMLTABLE_PREVIOUSPAGE)]
17311     void previousPage();
17312
17313     [propget, id(DISPID_IHTMLTABLE_THEAD)]
17314     IHTMLTableSection *tHead();
17315
17316     [propget, id(DISPID_IHTMLTABLE_TFOOT)]
17317     IHTMLTableSection *tFoot();
17318
17319     [propget, id(DISPID_IHTMLTABLE_TBODIES)]
17320     IHTMLElementCollection *tBodies();
17321
17322     [propget, id(DISPID_IHTMLTABLE_CAPTION)]
17323     IHTMLTableCaption *caption();
17324
17325     [id(DISPID_IHTMLTABLE_CREATETHEAD)]
17326     IDispatch *createTHead();
17327
17328     [id(DISPID_IHTMLTABLE_DELETETHEAD)]
17329     void deleteTHead();
17330
17331     [id(DISPID_IHTMLTABLE_CREATETFOOT)]
17332     IDispatch *createTFoot();
17333
17334     [id(DISPID_IHTMLTABLE_DELETETFOOT)]
17335     void deleteTFoot();
17336
17337     [id(DISPID_IHTMLTABLE_CREATECAPTION)]
17338     IHTMLTableCaption *createCaption();
17339
17340     [id(DISPID_IHTMLTABLE_DELETECAPTION)]
17341     void deleteCaption();
17342
17343     [id(DISPID_IHTMLTABLE_INSERTROW)]
17344     IDispatch *insertRow([in, defaultvalue(-1)] long index);
17345
17346     [id(DISPID_IHTMLTABLE_DELETEROW)]
17347     void deleteRow([in, defaultvalue(-1)] long index);
17348
17349     [id(DISPID_IHTMLTABLE2_FIRSTPAGE)]
17350     void firstPage();
17351
17352     [id(DISPID_IHTMLTABLE2_LASTPAGE)]
17353     void lastPage();
17354
17355     [propget, id(DISPID_IHTMLTABLE2_CELLS)]
17356     IHTMLElementCollection *cells();
17357
17358     [id(DISPID_IHTMLTABLE2_MOVEROW)]
17359     IDispatch *moveRow(
17360             [in, defaultvalue(-1)] long indexFrom,
17361             [in, defaultvalue(-1)] long indexTo);
17362
17363     [propput, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
17364     void summary(BSTR v);
17365
17366     [propget, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
17367     BSTR summary();
17368 }
17369
17370 /*****************************************************************************
17371  *    DispHTMLTableRow dispinterface
17372  */
17373 [
17374     hidden,
17375     uuid(3050f535-98b5-11cf-bb82-00aa00bdce0b)
17376 ]
17377 dispinterface DispHTMLTableRow
17378 {
17379 properties:
17380 methods:
17381     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
17382     void setAttribute(
17383             [in] BSTR strAttributeName,
17384             [in] VARIANT AttributeValue,
17385             [in, defaultvalue(1)] LONG lFlags);
17386
17387     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
17388     VARIANT getAttribute(
17389              [in] BSTR strAttributeName,
17390              [in, defaultvalue(0)] LONG lFlags);
17391
17392     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
17393     VARIANT_BOOL removeAttribute(
17394             [in] BSTR strAttributeName,
17395             [in, defaultvalue(1)] LONG lFlags);
17396
17397     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
17398     void className(BSTR v);
17399
17400     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
17401     BSTR className();
17402
17403     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
17404     void id(BSTR v);
17405
17406     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
17407     BSTR id();
17408
17409     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
17410     BSTR tagName();
17411
17412     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
17413     IHTMLElement *parentElement();
17414
17415     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
17416     IHTMLStyle *style();
17417
17418     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
17419     void onhelp(VARIANT v);
17420
17421     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
17422     VARIANT onhelp();
17423
17424     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
17425     void onclick(VARIANT v);
17426
17427     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
17428     VARIANT onclick();
17429
17430     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
17431     void ondblclick(VARIANT v);
17432
17433     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
17434     VARIANT ondblclick();
17435
17436     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
17437     void onkeydown(VARIANT v);
17438
17439     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
17440     VARIANT onkeydown();
17441
17442     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
17443     void onkeyup(VARIANT v);
17444
17445     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
17446     VARIANT onkeyup();
17447
17448     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
17449     void onkeypress(VARIANT v);
17450
17451     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
17452     VARIANT onkeypress();
17453
17454     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
17455     void onmouseout(VARIANT v);
17456
17457     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
17458     VARIANT onmouseout();
17459
17460     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
17461     void onmouseover(VARIANT v);
17462
17463     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
17464     VARIANT onmouseover();
17465
17466     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
17467     void onmousemove(VARIANT v);
17468
17469     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
17470     VARIANT onmousemove();
17471
17472     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
17473     void onmousedown(VARIANT v);
17474
17475     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
17476     VARIANT onmousedown();
17477
17478     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
17479     void onmouseup(VARIANT v);
17480
17481     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
17482     VARIANT onmouseup();
17483
17484     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
17485     IDispatch *document();
17486
17487     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
17488     void title(BSTR v);
17489
17490     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
17491     BSTR title();
17492
17493     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
17494     void language(BSTR v);
17495
17496     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
17497     BSTR language();
17498
17499     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
17500     void onselectstart(VARIANT v);
17501
17502     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
17503     VARIANT onselectstart();
17504
17505     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
17506     void scrollIntoView([in, optional] VARIANT varargStart);
17507
17508     [id(DISPID_IHTMLELEMENT_CONTAINS)]
17509     VARIANT_BOOL contains([in] IHTMLElement *pChild);
17510
17511     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
17512     long sourceIndex();
17513
17514     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
17515     VARIANT recordNumber();
17516
17517     [propput, id(DISPID_IHTMLELEMENT_LANG)]
17518     void lang(BSTR v);
17519
17520     [propget, id(DISPID_IHTMLELEMENT_LANG)]
17521     BSTR lang();
17522
17523     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
17524     long offsetLeft();
17525
17526     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
17527     long offsetTop();
17528
17529     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
17530     long offsetWidth();
17531
17532     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
17533     long offsetHeight();
17534
17535     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
17536     IHTMLElement *offsetParent();
17537
17538     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
17539     void innerHTML(BSTR v);
17540
17541     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
17542     BSTR innerHTML();
17543
17544     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
17545     void innerText(BSTR v);
17546
17547     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
17548     BSTR innerText();
17549
17550     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
17551     void outerHTML(BSTR v);
17552
17553     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
17554     BSTR outerHTML();
17555
17556     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
17557     void outerText(BSTR v);
17558
17559     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
17560     BSTR outerText();
17561
17562     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
17563     void insertAdjacentHTML(
17564             [in] BSTR where,
17565             [in] BSTR html);
17566
17567     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
17568     void insertAdjacentText(
17569             [in] BSTR where,
17570             [in] BSTR text);
17571
17572     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
17573     IHTMLElement *parentTextEdit();
17574
17575     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
17576     VARIANT_BOOL isTextEdit();
17577
17578     [id(DISPID_IHTMLELEMENT_CLICK)]
17579     void click();
17580
17581     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
17582     IHTMLFiltersCollection *filters();
17583
17584     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
17585     void ondragstart(VARIANT v);
17586
17587     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
17588     VARIANT ondragstart();
17589
17590     [id(DISPID_IHTMLELEMENT_TOSTRING)]
17591     BSTR toString();
17592
17593     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
17594     void onbeforeupdate(VARIANT v);
17595
17596     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
17597     VARIANT onbeforeupdate();
17598
17599     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
17600     void onafterupdate(VARIANT v);
17601
17602     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
17603     VARIANT onafterupdate();
17604
17605     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
17606     void onerrorupdate(VARIANT v);
17607
17608     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
17609     VARIANT onerrorupdate();
17610
17611     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
17612     void onrowexit(VARIANT v);
17613
17614     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
17615     VARIANT onrowexit();
17616
17617     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
17618     void onrowenter(VARIANT v);
17619
17620     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
17621     VARIANT onrowenter();
17622
17623     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
17624     void ondatasetchanged(VARIANT v);
17625
17626     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
17627     VARIANT ondatasetchanged();
17628
17629     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
17630     void ondataavailable(VARIANT v);
17631
17632     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
17633     VARIANT ondataavailable();
17634
17635     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
17636     void ondatasetcomplete(VARIANT v);
17637
17638     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
17639     VARIANT ondatasetcomplete();
17640
17641     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
17642     void onfilterchange(VARIANT v);
17643
17644     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
17645     VARIANT onfilterchange();
17646
17647     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
17648     IDispatch *children();
17649
17650     [propget, id(DISPID_IHTMLELEMENT_ALL)]
17651     IDispatch *all();
17652
17653     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
17654     BSTR scopeName();
17655
17656     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
17657     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
17658
17659     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
17660     void releaseCapture();
17661
17662     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
17663     void onlosecapture(VARIANT v);
17664
17665     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
17666     VARIANT onlosecapture();
17667
17668     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
17669     BSTR componentFromPoint(
17670             [in] long x,
17671             [in] long y);
17672
17673     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
17674     void doScroll([in, optional] VARIANT component);
17675
17676     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
17677     void onscroll(VARIANT v);
17678
17679     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
17680     VARIANT onscroll();
17681
17682     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
17683     void ondrag(VARIANT v);
17684
17685     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
17686     VARIANT ondrag();
17687
17688     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
17689     void ondragend(VARIANT v);
17690
17691     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
17692     VARIANT ondragend();
17693
17694     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
17695     void ondragenter(VARIANT v);
17696
17697     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
17698     VARIANT ondragenter();
17699
17700     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
17701     void ondragover(VARIANT v);
17702
17703     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
17704     VARIANT ondragover();
17705
17706     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
17707     void ondragleave(VARIANT v);
17708
17709     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
17710     VARIANT ondragleave();
17711
17712     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
17713     void ondrop(VARIANT v);
17714
17715     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
17716     VARIANT ondrop();
17717
17718     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
17719     void onbeforecut(VARIANT v);
17720
17721     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
17722     VARIANT onbeforecut();
17723
17724     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
17725     void oncut(VARIANT v);
17726
17727     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
17728     VARIANT oncut();
17729
17730     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
17731     void onbeforecopy(VARIANT v);
17732
17733     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
17734     VARIANT onbeforecopy();
17735
17736     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
17737     void oncopy(VARIANT v);
17738
17739     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
17740     VARIANT oncopy();
17741
17742     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
17743     void onbeforepaste(VARIANT v);
17744
17745     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
17746     VARIANT onbeforepaste();
17747
17748     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
17749     void onpaste(VARIANT v);
17750
17751     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
17752     VARIANT onpaste();
17753
17754     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
17755     IHTMLCurrentStyle *currentStyle();
17756
17757     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
17758     void onpropertychange(VARIANT v);
17759
17760     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
17761     VARIANT onpropertychange();
17762
17763     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
17764     IHTMLRectCollection *getClientRects();
17765
17766     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
17767     IHTMLRect *getBoundingClientRect();
17768
17769     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
17770     void setExpression(
17771             [in] BSTR propname,
17772             [in] BSTR expression,
17773             [in, defaultvalue("")] BSTR language);
17774
17775     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
17776     VARIANT getExpression([in] BSTR propname);
17777
17778     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
17779     VARIANT_BOOL removeExpression([in] BSTR propname);
17780
17781     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
17782     void tabIndex(short v);
17783
17784     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
17785     short tabIndex();
17786
17787     [id(DISPID_IHTMLELEMENT2_FOCUS)]
17788     void focus();
17789
17790     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
17791     void accessKey(BSTR v);
17792
17793     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
17794     BSTR accessKey();
17795
17796     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
17797     void onblur(VARIANT v);
17798
17799     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
17800     VARIANT onblur();
17801
17802     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
17803     void onfocus(VARIANT v);
17804
17805     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
17806     VARIANT onfocus();
17807
17808     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
17809     void onresize(VARIANT v);
17810
17811     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
17812     VARIANT onresize();
17813
17814     [id(DISPID_IHTMLELEMENT2_BLUR)]
17815     void blur();
17816
17817     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
17818     void addFilter([in] IUnknown *pUnk);
17819
17820     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
17821     void removeFilter([in] IUnknown *pUnk);
17822
17823     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
17824     long clientHeight();
17825
17826     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
17827     long clientWidth();
17828
17829     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
17830     long clientTop();
17831
17832     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
17833     long clientLeft();
17834
17835     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
17836     VARIANT_BOOL attachEvent(
17837             [in] BSTR event,
17838             [in] IDispatch *pDisp);
17839
17840     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
17841     void detachEvent(
17842             [in] BSTR event,
17843             [in] IDispatch *pDisp);
17844
17845     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
17846     VARIANT readyState();
17847
17848     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
17849     void onreadystatechange(VARIANT v);
17850
17851     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
17852     VARIANT onreadystatechange();
17853
17854     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
17855     void onrowsdelete(VARIANT v);
17856
17857     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
17858     VARIANT onrowsdelete();
17859
17860     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
17861     void onrowsinserted(VARIANT v);
17862
17863     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
17864      VARIANT onrowsinserted();
17865
17866     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
17867      void oncellchange(VARIANT v);
17868
17869     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
17870     VARIANT oncellchange();
17871
17872     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
17873     void dir(BSTR v);
17874
17875     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
17876     BSTR dir();
17877
17878     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
17879     IDispatch *createControlRange();
17880
17881     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
17882     long scrollHeight();
17883
17884     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
17885     long scrollWidth();
17886
17887     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
17888     void scrollTop(long v);
17889
17890     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
17891     long scrollTop();
17892
17893     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
17894     void scrollLeft(long v);
17895
17896     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
17897     long scrollLeft();
17898
17899     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
17900     void clearAttributes();
17901
17902     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
17903     void oncontextmenu(VARIANT v);
17904
17905     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
17906     VARIANT oncontextmenu();
17907
17908     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
17909     IHTMLElement *insertAdjacentElement(
17910             [in] BSTR where,
17911             [in] IHTMLElement *insertedElement);
17912
17913     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
17914     IHTMLElement *applyElement(
17915             [in] IHTMLElement *apply,
17916             [in] BSTR where);
17917
17918     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
17919     BSTR getAdjacentText([in] BSTR where);
17920
17921     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
17922     BSTR replaceAdjacentText(
17923             [in] BSTR where,
17924             [in] BSTR newText);
17925
17926     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
17927     VARIANT_BOOL canHaveChildren();
17928
17929     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
17930     long addBehavior(
17931             [in] BSTR bstrUrl,
17932             [in, optional] VARIANT *pvarFactory);
17933
17934     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
17935     VARIANT_BOOL removeBehavior([in] long cookie);
17936
17937     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
17938     IHTMLStyle *runtimeStyle();
17939
17940     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
17941     IDispatch *behaviorUrns();
17942
17943     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
17944     void tagUrn(BSTR v);
17945
17946     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
17947     BSTR tagUrn();
17948
17949     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
17950     void onbeforeeditfocus(VARIANT v);
17951
17952     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
17953     VARIANT onbeforeeditfocus();
17954
17955     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
17956     long readyStateValue();
17957
17958     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
17959     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
17960
17961     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
17962     void mergeAttributes(
17963             [in] IHTMLElement *mergeThis,
17964             [in, optional] VARIANT *pvarFlags);
17965
17966     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
17967     VARIANT_BOOL isMultiLine();
17968
17969     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
17970     VARIANT_BOOL canHaveHTML();
17971
17972     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
17973     void onlayoutcomplete(VARIANT v);
17974
17975     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
17976     VARIANT onlayoutcomplete();
17977
17978     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
17979     void onpage(VARIANT v);
17980
17981     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
17982     VARIANT onpage();
17983
17984     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
17985     void inflateBlock(VARIANT_BOOL v);
17986
17987     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
17988     VARIANT_BOOL inflateBlock();
17989
17990     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
17991     void onbeforedeactivate(VARIANT v);
17992
17993     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
17994     VARIANT onbeforedeactivate();
17995
17996     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
17997     void setActive();
17998
17999     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
18000     void contentEditable(BSTR v);
18001
18002     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
18003     BSTR contentEditable();
18004
18005     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
18006     VARIANT_BOOL isContentEditable();
18007
18008     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
18009     void hideFocus(VARIANT_BOOL v);
18010
18011     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
18012     VARIANT_BOOL hideFocus();
18013
18014     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
18015     void disabled(VARIANT_BOOL v);
18016
18017     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
18018     VARIANT_BOOL disabled();
18019
18020     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
18021     VARIANT_BOOL isDisabled();
18022
18023     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
18024     void onmove(VARIANT v);
18025
18026     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
18027     VARIANT onmove();
18028
18029     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
18030     void oncontrolselect(VARIANT v);
18031
18032     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
18033     VARIANT oncontrolselect();
18034
18035     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
18036     VARIANT_BOOL fireEvent(
18037             [in] BSTR bstrEventName,
18038             [in, optional] VARIANT *pvarEventObject);
18039
18040     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
18041     void onresizestart(VARIANT v);
18042
18043     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
18044     VARIANT onresizestart();
18045
18046     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
18047     void onresizeend(VARIANT v);
18048
18049     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
18050     VARIANT onresizeend();
18051
18052     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
18053     void onmovestart(VARIANT v);
18054
18055     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
18056     VARIANT onmovestart();
18057
18058     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
18059     void onmoveend(VARIANT v);
18060
18061     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
18062     VARIANT onmoveend();
18063
18064     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
18065     void onmouseenter(VARIANT v);
18066
18067     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
18068     VARIANT onmouseenter();
18069
18070     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
18071     void onmouseleave(VARIANT v);
18072
18073     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
18074     VARIANT onmouseleave();
18075
18076     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
18077     void onactivate(VARIANT v);
18078
18079     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
18080     VARIANT onactivate();
18081
18082     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
18083     void ondeactivate(VARIANT v);
18084
18085     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
18086     VARIANT ondeactivate();
18087
18088     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
18089     VARIANT_BOOL dragDrop();
18090
18091     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
18092     LONG glyphMode();
18093
18094     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
18095     void onmousewheel(VARIANT v);
18096
18097     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
18098     VARIANT onmousewheel();
18099
18100     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
18101     void normalize();
18102
18103     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
18104     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
18105
18106     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
18107     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
18108
18109     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
18110     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
18111
18112     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
18113     void onbeforeactivate(VARIANT v);
18114
18115     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
18116     VARIANT onbeforeactivate();
18117
18118     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
18119     void onfocusin(VARIANT v);
18120
18121     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
18122     VARIANT onfocusin();
18123
18124     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
18125     void onfocusout(VARIANT v);
18126
18127     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
18128     VARIANT onfocusout();
18129
18130     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
18131     long uniqueNumber();
18132
18133     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
18134     BSTR uniqueID();
18135
18136     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
18137     long nodeType();
18138
18139     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
18140     IHTMLDOMNode *parentNode();
18141
18142     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
18143     VARIANT_BOOL hasChildNodes();
18144
18145     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
18146     IDispatch *childNodes();
18147
18148     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
18149     IDispatch *attributes();
18150
18151     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
18152     IHTMLDOMNode *insertBefore(
18153             [in] IHTMLDOMNode *newChild,
18154             [in, optional] VARIANT refChild);
18155
18156     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
18157     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
18158
18159     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
18160     IHTMLDOMNode *replaceChild(
18161             [in] IHTMLDOMNode *newChild,
18162             [in] IHTMLDOMNode *oldChild);
18163
18164     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
18165     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
18166
18167     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
18168     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
18169
18170     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
18171     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
18172
18173     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
18174     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
18175
18176     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
18177     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
18178
18179     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
18180     BSTR nodeName();
18181
18182     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
18183     void nodeValue(VARIANT v);
18184
18185     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
18186     VARIANT nodeValue();
18187
18188     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
18189     IHTMLDOMNode *firstChild();
18190
18191     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
18192     IHTMLDOMNode *lastChild();
18193
18194     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
18195     IHTMLDOMNode *previousSibling();
18196
18197     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
18198     IHTMLDOMNode *nextSibling();
18199
18200     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
18201     IDispatch *ownerDocument();
18202
18203     [propput, id(DISPID_IHTMLTABLEROW_ALIGN)]
18204     void align(BSTR v);
18205
18206     [propget, id(DISPID_IHTMLTABLEROW_ALIGN)]
18207     BSTR align();
18208
18209     [propput, id(DISPID_IHTMLTABLEROW_VALIGN)]
18210     void vAlign(BSTR v);
18211
18212     [propget, id(DISPID_IHTMLTABLEROW_VALIGN)]
18213     BSTR vAlign();
18214
18215     [propput, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
18216     void bgColor(VARIANT v);
18217
18218     [propget, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
18219     VARIANT bgColor();
18220
18221     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
18222     void borderColor(VARIANT v);
18223
18224     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
18225     VARIANT borderColor();
18226
18227     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
18228     void borderColorLight(VARIANT v);
18229
18230     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
18231     VARIANT borderColorLight();
18232
18233     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
18234     void borderColorDark(VARIANT v);
18235
18236     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
18237     VARIANT borderColorDark();
18238
18239     [propget, id(DISPID_IHTMLTABLEROW_ROWINDEX)]
18240     long rowIndex();
18241
18242     [propget, id(DISPID_IHTMLTABLEROW_SECTIONROWINDEX)]
18243     long sectionRowIndex();
18244
18245     [propget, id(DISPID_IHTMLTABLEROW_CELLS)]
18246     IHTMLElementCollection *cells();
18247
18248     [id(DISPID_IHTMLTABLEROW_INSERTCELL)]
18249     IDispatch *insertCell([in, defaultvalue(-1)] long index);
18250
18251     [id(DISPID_IHTMLTABLEROW_DELETECELL)]
18252     void deleteCell([in, defaultvalue(-1)] long index);
18253
18254     [propput, id(DISPID_IHTMLTABLEROW2_HEIGHT)]
18255     void height(VARIANT v);
18256
18257     [propget, id(DISPID_IHTMLTABLEROW2_HEIGHT)]
18258     VARIANT height();
18259
18260     [propput, id(DISPID_IHTMLTABLEROW3_CH), displaybind, bindable]
18261     void ch(BSTR v);
18262
18263     [propget, id(DISPID_IHTMLTABLEROW3_CH), displaybind, bindable]
18264     BSTR ch();
18265
18266     [propput, id(DISPID_IHTMLTABLEROW3_CHOFF), displaybind, bindable]
18267     void chOff(BSTR v);
18268
18269     [propget, id(DISPID_IHTMLTABLEROW3_CHOFF), displaybind, bindable]
18270     BSTR chOff();
18271 }
18272
18273 /*****************************************************************************
18274  *    IHTMLScriptElement interface
18275  */
18276 [
18277     odl,
18278     oleautomation,
18279     dual,
18280     uuid(3050f28b-98b5-11cf-bb82-00aa00bdce0b)
18281 ]
18282 interface IHTMLScriptElement : IDispatch
18283 {
18284     [propput, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
18285     HRESULT src([in] BSTR v);
18286
18287     [propget, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
18288     HRESULT src([retval, out] BSTR *p);
18289
18290     [propput, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
18291     HRESULT htmlFor([in] BSTR v);
18292
18293     [propget, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
18294     HRESULT htmlFor([retval, out] BSTR *p);
18295
18296     [propput, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
18297     HRESULT event([in] BSTR v);
18298
18299     [propget, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
18300     HRESULT event([retval, out] BSTR *p);
18301
18302     [propput, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
18303     HRESULT text([in] BSTR v);
18304
18305     [propget, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
18306     HRESULT text([retval, out] BSTR *p);
18307
18308     [propput, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
18309     HRESULT defer([in] VARIANT_BOOL v);
18310
18311     [propget, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
18312     HRESULT defer([retval, out] VARIANT_BOOL *p);
18313
18314     [propget, id(DISPID_IHTMLSCRIPTELEMENT_READYSTATE)]
18315     HRESULT readyState([retval, out] BSTR *p);
18316
18317     [propput, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
18318     HRESULT onerror([in] VARIANT v);
18319
18320     [propget, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
18321     HRESULT onerror([retval, out] VARIANT *p);
18322
18323     [propput, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
18324     HRESULT type([in] BSTR v);
18325
18326     [propget, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
18327     HRESULT type([retval, out] BSTR *p);
18328 }
18329
18330 /*****************************************************************************
18331  *    IHTMLScriptElement2 interface
18332  */
18333 [
18334     odl,
18335     oleautomation,
18336     dual,
18337     uuid(3050f828-98b5-11cf-bb82-00aa00bdce0b)
18338 ]
18339 interface IHTMLScriptElement2 : IDispatch
18340 {
18341     [propput, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
18342     HRESULT charset([in] BSTR v);
18343
18344     [propget, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
18345     HRESULT charset([retval, out] BSTR *p);
18346 }
18347
18348 /*****************************************************************************
18349  *    IHTMLFrameBase interface
18350  */
18351 [
18352     odl,
18353     oleautomation,
18354     dual,
18355     uuid(3050f311-98b5-11cf-bb82-00aa00bdce0b)
18356 ]
18357 interface IHTMLFrameBase : IDispatch
18358 {
18359     [propput, id(DISPID_IHTMLFRAMEBASE_SRC)]
18360     HRESULT src([in] BSTR v);
18361
18362     [propget, id(DISPID_IHTMLFRAMEBASE_SRC)]
18363     HRESULT src([out, retval] BSTR *p);
18364
18365     [propput, id(DISPID_IHTMLFRAMEBASE_NAME)]
18366     HRESULT name([in] BSTR v);
18367
18368     [propget, id(DISPID_IHTMLFRAMEBASE_NAME)]
18369     HRESULT name([out, retval] BSTR *p);
18370
18371     [propput, id(DISPID_IHTMLFRAMEBASE_BORDER)]
18372     HRESULT border([in] VARIANT v);
18373
18374     [propget, id(DISPID_IHTMLFRAMEBASE_BORDER)]
18375     HRESULT border([out, retval] VARIANT *p);
18376
18377     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
18378     HRESULT frameBorder([in] BSTR v);
18379
18380     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
18381     HRESULT frameBorder([out, retval] BSTR *p);
18382
18383     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
18384     HRESULT frameSpacing([in] VARIANT v);
18385
18386     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
18387     HRESULT frameSpacing([out, retval] VARIANT *p);
18388
18389     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
18390     HRESULT marginWidth([in] VARIANT v);
18391
18392     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
18393     HRESULT marginWidth([out, retval] VARIANT *p);
18394
18395     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
18396     HRESULT marginHeight([in] VARIANT v);
18397
18398     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
18399     HRESULT marginHeight([out, retval] VARIANT *p);
18400
18401     [propput, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
18402     HRESULT noResize([in] VARIANT_BOOL v);
18403
18404     [propget, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
18405     HRESULT noResize([out, retval] VARIANT_BOOL *p);
18406
18407     [propput, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
18408     HRESULT scrolling([in] BSTR v);
18409
18410     [propget, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
18411     HRESULT scrolling([out, retval] BSTR *p);
18412 }
18413
18414 /*****************************************************************************
18415  *    IHTMLFrameBase2 interface
18416  */
18417 [
18418     odl,
18419     oleautomation,
18420     dual,
18421     uuid(3050f6db-98b5-11cf-bb82-00aa00bdce0b)
18422 ]
18423 interface IHTMLFrameBase2 : IDispatch
18424 {
18425     [propget, id(DISPID_IHTMLFRAMEBASE2_CONTENTWINDOW)]
18426     HRESULT contentWindow([retval, out] IHTMLWindow2 **p);
18427
18428     [propput, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
18429     HRESULT onload([in] VARIANT v);
18430
18431     [propget, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
18432     HRESULT onload([retval, out] VARIANT *p);
18433
18434     [propput, id(DISPID_IHTMLFRAMEBASE2_ONREADYSTATECHANGE), displaybind, bindable]
18435     HRESULT onreadystatechange([in] VARIANT v);
18436
18437     [propget, id(DISPID_IHTMLFRAMEBASE2_ONREADYSTATECHANGE), displaybind, bindable]
18438     HRESULT onreadystatechange([retval, out] VARIANT *p);
18439
18440     [propget, id(DISPID_IHTMLFRAMEBASE2_READYSTATE)]
18441     HRESULT readyState([retval, out] BSTR *p);
18442
18443     [propput, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
18444     HRESULT allowTransparency([in] VARIANT_BOOL v);
18445
18446     [propget, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
18447     HRESULT allowTransparency([retval, out] VARIANT_BOOL *p);
18448 }
18449
18450 } /* library MSHTML */