mshtml: Added DispHTMLSelectElement 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  *    IHTMLRuleStyle interface
632  */
633 [
634         odl,
635         oleautomation,
636         dual,
637         uuid(3050F3CF-98B5-11CF-BB82-00AA00BDCE0B)
638 ]
639 interface IHTMLRuleStyle : IDispatch
640 {
641     [propput, id(DISPID_IHTMLRULESTYLE_FONTFAMILY), bindable, displaybind]
642     HRESULT fontFamily([in] BSTR v);
643
644     [propget, id(DISPID_IHTMLRULESTYLE_FONTFAMILY), bindable, displaybind]
645     HRESULT fontFamily([retval, out] BSTR *p);
646
647     [propput, id(DISPID_IHTMLRULESTYLE_FONTSTYLE), bindable, displaybind]
648     HRESULT fontStyle([in] BSTR v);
649
650     [propget, id(DISPID_IHTMLRULESTYLE_FONTSTYLE), bindable, displaybind]
651     HRESULT fontStyle([retval, out] BSTR *p);
652
653     [propput, id(DISPID_IHTMLRULESTYLE_FONTVARIANT), bindable, displaybind]
654     HRESULT fontVariant([in] BSTR v);
655
656     [propget, id(DISPID_IHTMLRULESTYLE_FONTVARIANT), bindable, displaybind]
657     HRESULT fontVariant([retval, out] BSTR *p);
658
659     [propput, id(DISPID_IHTMLRULESTYLE_FONTWEIGHT), bindable, displaybind]
660     HRESULT fontWeight([in] BSTR v);
661
662     [propget, id(DISPID_IHTMLRULESTYLE_FONTWEIGHT), bindable, displaybind]
663     HRESULT fontWeight([retval, out] BSTR *p);
664
665     [propput, id(DISPID_IHTMLRULESTYLE_FONTSIZE), bindable, displaybind]
666     HRESULT fontSize([in] VARIANT v);
667
668     [propget, id(DISPID_IHTMLRULESTYLE_FONTSIZE), bindable, displaybind]
669     HRESULT fontSize([retval, out] VARIANT *p);
670
671     [propput, id(DISPID_IHTMLRULESTYLE_FONT), bindable, displaybind]
672     HRESULT font([in] BSTR v);
673
674     [propget, id(DISPID_IHTMLRULESTYLE_FONT), bindable, displaybind]
675     HRESULT font([retval, out] BSTR *p);
676
677     [propput, id(DISPID_IHTMLRULESTYLE_COLOR), bindable, displaybind]
678     HRESULT color([in] VARIANT v);
679
680     [propget, id(DISPID_IHTMLRULESTYLE_COLOR), bindable, displaybind]
681     HRESULT color([retval, out] VARIANT *p);
682
683     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUND), bindable, displaybind]
684     HRESULT background([in] BSTR v);
685
686     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUND), bindable, displaybind]
687     HRESULT background([retval, out] BSTR *p);
688
689     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDCOLOR), bindable, displaybind]
690     HRESULT backgroundColor([in] VARIANT v);
691
692     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDCOLOR), bindable, displaybind]
693     HRESULT backgroundColor([retval, out] VARIANT *p);
694
695     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDIMAGE), bindable, displaybind]
696     HRESULT backgroundImage([in] BSTR v);
697
698     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDIMAGE), bindable, displaybind]
699     HRESULT backgroundImage([retval, out] BSTR *p);
700
701     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDREPEAT), bindable, displaybind]
702     HRESULT backgroundRepeat([in] BSTR v);
703
704     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDREPEAT), bindable, displaybind]
705     HRESULT backgroundRepeat([retval, out] BSTR *p);
706
707     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
708     HRESULT backgroundAttachment([in] BSTR v);
709
710     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
711     HRESULT backgroundAttachment([retval, out] BSTR *p);
712
713     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITION), bindable, displaybind]
714     HRESULT backgroundPosition([in] BSTR v);
715
716     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITION), bindable, displaybind]
717     HRESULT backgroundPosition([retval, out] BSTR *p);
718
719     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
720     HRESULT backgroundPositionX([in] VARIANT v);
721
722     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
723     HRESULT backgroundPositionX([retval, out] VARIANT *p);
724
725     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
726     HRESULT backgroundPositionY([in] VARIANT v);
727
728     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
729     HRESULT backgroundPositionY([retval, out] VARIANT *p);
730
731     [propput, id(DISPID_IHTMLRULESTYLE_WORDSPACING), bindable, displaybind]
732     HRESULT wordSpacing([in] VARIANT v);
733
734     [propget, id(DISPID_IHTMLRULESTYLE_WORDSPACING), bindable, displaybind]
735     HRESULT wordSpacing([retval, out] VARIANT *p);
736
737     [propput, id(DISPID_IHTMLRULESTYLE_LETTERSPACING), bindable, displaybind]
738     HRESULT letterSpacing([in] VARIANT v);
739
740     [propget, id(DISPID_IHTMLRULESTYLE_LETTERSPACING), bindable, displaybind]
741     HRESULT letterSpacing([retval, out] VARIANT *p);
742
743     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATION), bindable, displaybind]
744     HRESULT textDecoration([in] BSTR v);
745
746     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATION), bindable, displaybind]
747     HRESULT textDecoration([retval, out] BSTR *p);
748
749     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONNONE), bindable, displaybind]
750     HRESULT textDecorationNone([in] VARIANT_BOOL v);
751
752     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONNONE), bindable, displaybind]
753     HRESULT textDecorationNone([retval, out] VARIANT_BOOL *p);
754
755     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
756     HRESULT textDecorationUnderline([in] VARIANT_BOOL v);
757
758     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
759     HRESULT textDecorationUnderline([retval, out] VARIANT_BOOL *p);
760
761     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
762     HRESULT textDecorationOverline([in] VARIANT_BOOL v);
763
764     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
765     HRESULT textDecorationOverline([retval, out] VARIANT_BOOL *p);
766
767     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
768     HRESULT textDecorationLineThrough([in] VARIANT_BOOL v);
769
770     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
771     HRESULT textDecorationLineThrough([retval, out] VARIANT_BOOL *p);
772
773     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
774     HRESULT textDecorationBlink([in] VARIANT_BOOL v);
775
776     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
777     HRESULT textDecorationBlink([retval, out] VARIANT_BOOL *p);
778
779     [propput, id(DISPID_IHTMLRULESTYLE_VERTICALALIGN), bindable, displaybind]
780     HRESULT verticalAlign([in] VARIANT v);
781
782     [propget, id(DISPID_IHTMLRULESTYLE_VERTICALALIGN), bindable, displaybind]
783     HRESULT verticalAlign([retval, out] VARIANT *p);
784
785     [propput, id(DISPID_IHTMLRULESTYLE_TEXTTRANSFORM), bindable, displaybind]
786     HRESULT textTransform([in] BSTR v);
787
788     [propget, id(DISPID_IHTMLRULESTYLE_TEXTTRANSFORM), bindable, displaybind]
789     HRESULT textTransform([retval, out] BSTR *p);
790
791     [propput, id(DISPID_IHTMLRULESTYLE_TEXTALIGN), bindable, displaybind]
792     HRESULT textAlign([in] BSTR v);
793
794     [propget, id(DISPID_IHTMLRULESTYLE_TEXTALIGN), bindable, displaybind]
795     HRESULT textAlign([retval, out] BSTR *p);
796
797     [propput, id(DISPID_IHTMLRULESTYLE_TEXTINDENT), bindable, displaybind]
798     HRESULT textIndent([in] VARIANT v);
799
800     [propget, id(DISPID_IHTMLRULESTYLE_TEXTINDENT), bindable, displaybind]
801     HRESULT textIndent([retval, out] VARIANT *p);
802
803     [propput, id(DISPID_IHTMLRULESTYLE_LINEHEIGHT), bindable, displaybind]
804     HRESULT lineHeight([in] VARIANT v);
805
806     [propget, id(DISPID_IHTMLRULESTYLE_LINEHEIGHT), bindable, displaybind]
807     HRESULT lineHeight([retval, out] VARIANT *p);
808
809     [propput, id(DISPID_IHTMLRULESTYLE_MARGINTOP), bindable, displaybind]
810     HRESULT marginTop([in] VARIANT v);
811
812     [propget, id(DISPID_IHTMLRULESTYLE_MARGINTOP), bindable, displaybind]
813     HRESULT marginTop([retval, out] VARIANT *p);
814
815     [propput, id(DISPID_IHTMLRULESTYLE_MARGINRIGHT), bindable, displaybind]
816     HRESULT marginRight([in] VARIANT v);
817
818     [propget, id(DISPID_IHTMLRULESTYLE_MARGINRIGHT), bindable, displaybind]
819     HRESULT marginRight([retval, out] VARIANT *p);
820
821     [propput, id(DISPID_IHTMLRULESTYLE_MARGINBOTTOM), bindable, displaybind]
822     HRESULT marginBottom([in] VARIANT v);
823
824     [propget, id(DISPID_IHTMLRULESTYLE_MARGINBOTTOM), bindable, displaybind]
825     HRESULT marginBottom([retval, out] VARIANT *p);
826
827     [propput, id(DISPID_IHTMLRULESTYLE_MARGINLEFT), bindable, displaybind]
828     HRESULT marginLeft([in] VARIANT v);
829
830     [propget, id(DISPID_IHTMLRULESTYLE_MARGINLEFT), bindable, displaybind]
831     HRESULT marginLeft([retval, out] VARIANT *p);
832
833     [propput, id(DISPID_IHTMLRULESTYLE_MARGIN), bindable, displaybind]
834     HRESULT margin([in] BSTR v);
835
836     [propget, id(DISPID_IHTMLRULESTYLE_MARGIN), bindable, displaybind]
837     HRESULT margin([retval, out] BSTR *p);
838
839     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGTOP), bindable, displaybind]
840     HRESULT paddingTop([in] VARIANT v);
841
842     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGTOP), bindable, displaybind]
843     HRESULT paddingTop([retval, out] VARIANT *p);
844
845     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGRIGHT), bindable, displaybind]
846     HRESULT paddingRight([in] VARIANT v);
847
848     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGRIGHT), bindable, displaybind]
849     HRESULT paddingRight([retval, out] VARIANT *p);
850
851     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGBOTTOM), bindable, displaybind]
852     HRESULT paddingBottom([in] VARIANT v);
853
854     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGBOTTOM), bindable, displaybind]
855     HRESULT paddingBottom([retval, out] VARIANT *p);
856
857     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGLEFT), bindable, displaybind]
858     HRESULT paddingLeft([in] VARIANT v);
859
860     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGLEFT), bindable, displaybind]
861     HRESULT paddingLeft([retval, out] VARIANT *p);
862
863     [propput, id(DISPID_IHTMLRULESTYLE_PADDING), bindable, displaybind]
864     HRESULT padding([in] BSTR v);
865
866     [propget, id(DISPID_IHTMLRULESTYLE_PADDING), bindable, displaybind]
867     HRESULT padding([retval, out] BSTR *p);
868
869     [propput, id(DISPID_IHTMLRULESTYLE_BORDER), bindable, displaybind]
870     HRESULT border([in] BSTR v);
871
872     [propget, id(DISPID_IHTMLRULESTYLE_BORDER), bindable, displaybind]
873     HRESULT border([retval, out] BSTR *p);
874
875     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOP), bindable, displaybind]
876     HRESULT borderTop([in] BSTR v);
877
878     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOP), bindable, displaybind]
879     HRESULT borderTop([retval, out] BSTR *p);
880
881     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHT), bindable, displaybind]
882     HRESULT borderRight([in] BSTR v);
883
884     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHT), bindable, displaybind]
885     HRESULT borderRight([retval, out] BSTR *p);
886
887     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOM), bindable, displaybind]
888     HRESULT borderBottom([in] BSTR v);
889
890     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOM), bindable, displaybind]
891     HRESULT borderBottom([retval, out] BSTR *p);
892
893     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFT), bindable, displaybind]
894     HRESULT borderLeft([in] BSTR v);
895
896     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFT), bindable, displaybind]
897     HRESULT borderLeft([retval, out] BSTR *p);
898
899     [propput, id(DISPID_IHTMLRULESTYLE_BORDERCOLOR), bindable, displaybind]
900     HRESULT borderColor([in] BSTR v);
901
902     [propget, id(DISPID_IHTMLRULESTYLE_BORDERCOLOR), bindable, displaybind]
903     HRESULT borderColor([retval, out] BSTR *p);
904
905     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOPCOLOR), bindable, displaybind]
906     HRESULT borderTopColor([in] VARIANT v);
907
908     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOPCOLOR), bindable, displaybind]
909     HRESULT borderTopColor([retval, out] VARIANT *p);
910
911     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
912     HRESULT borderRightColor([in] VARIANT v);
913
914     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
915     HRESULT borderRightColor([retval, out] VARIANT *p);
916
917     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
918     HRESULT borderBottomColor([in] VARIANT v);
919
920     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
921     HRESULT borderBottomColor([retval, out] VARIANT *p);
922
923     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFTCOLOR), bindable, displaybind]
924     HRESULT borderLeftColor([in] VARIANT v);
925
926     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFTCOLOR), bindable, displaybind]
927     HRESULT borderLeftColor([retval, out] VARIANT *p);
928
929     [propput, id(DISPID_IHTMLRULESTYLE_BORDERWIDTH), bindable, displaybind]
930     HRESULT borderWidth([in] BSTR v);
931
932     [propget, id(DISPID_IHTMLRULESTYLE_BORDERWIDTH), bindable, displaybind]
933     HRESULT borderWidth([retval, out] BSTR *p);
934
935     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOPWIDTH), bindable, displaybind]
936     HRESULT borderTopWidth([in] VARIANT v);
937
938     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOPWIDTH), bindable, displaybind]
939     HRESULT borderTopWidth([retval, out] VARIANT *p);
940
941     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
942     HRESULT borderRightWidth([in] VARIANT v);
943
944     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
945     HRESULT borderRightWidth([retval, out] VARIANT *p);
946
947     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
948     HRESULT borderBottomWidth([in] VARIANT v);
949
950     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
951     HRESULT borderBottomWidth([retval, out] VARIANT *p);
952
953     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFTWIDTH), bindable, displaybind]
954     HRESULT borderLeftWidth([in] VARIANT v);
955
956     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFTWIDTH), bindable, displaybind]
957     HRESULT borderLeftWidth([retval, out] VARIANT *p);
958
959     [propput, id(DISPID_IHTMLRULESTYLE_BORDERSTYLE), bindable, displaybind]
960     HRESULT borderStyle([in] BSTR v);
961
962     [propget, id(DISPID_IHTMLRULESTYLE_BORDERSTYLE), bindable, displaybind]
963     HRESULT borderStyle([retval, out] BSTR *p);
964
965     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOPSTYLE), bindable, displaybind]
966     HRESULT borderTopStyle([in] BSTR v);
967
968     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOPSTYLE), bindable, displaybind]
969     HRESULT borderTopStyle([retval, out] BSTR *p);
970
971     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
972     HRESULT borderRightStyle([in] BSTR v);
973
974     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
975     HRESULT borderRightStyle([retval, out] BSTR *p);
976
977     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
978     HRESULT borderBottomStyle([in] BSTR v);
979
980     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
981     HRESULT borderBottomStyle([retval, out] BSTR *p);
982
983     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFTSTYLE), bindable, displaybind]
984     HRESULT borderLeftStyle([in] BSTR v);
985
986     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFTSTYLE), bindable, displaybind]
987     HRESULT borderLeftStyle([retval, out] BSTR *p);
988
989     [propput, id(DISPID_IHTMLRULESTYLE_WIDTH), bindable, displaybind]
990     HRESULT width([in] VARIANT v);
991
992     [propget, id(DISPID_IHTMLRULESTYLE_WIDTH), bindable, displaybind]
993     HRESULT width([retval, out] VARIANT *p);
994
995     [propput, id(DISPID_IHTMLRULESTYLE_HEIGHT), bindable, displaybind]
996     HRESULT height([in] VARIANT v);
997
998     [propget, id(DISPID_IHTMLRULESTYLE_HEIGHT), bindable, displaybind]
999     HRESULT height([retval, out] VARIANT *p);
1000
1001     [propput, id(DISPID_IHTMLRULESTYLE_STYLEFLOAT), bindable, displaybind]
1002     HRESULT styleFloat([in] BSTR v);
1003
1004     [propget, id(DISPID_IHTMLRULESTYLE_STYLEFLOAT), bindable, displaybind]
1005     HRESULT styleFloat([retval, out] BSTR *p);
1006
1007     [propput, id(DISPID_IHTMLRULESTYLE_CLEAR), bindable, displaybind]
1008     HRESULT clear([in] BSTR v);
1009
1010     [propget, id(DISPID_IHTMLRULESTYLE_CLEAR), bindable, displaybind]
1011     HRESULT clear([retval, out] BSTR *p);
1012
1013     [propput, id(DISPID_IHTMLRULESTYLE_DISPLAY), bindable, displaybind]
1014     HRESULT display([in] BSTR v);
1015
1016     [propget, id(DISPID_IHTMLRULESTYLE_DISPLAY), bindable, displaybind]
1017     HRESULT display([retval, out] BSTR *p);
1018
1019     [propput, id(DISPID_IHTMLRULESTYLE_VISIBILITY), bindable, displaybind]
1020     HRESULT visibility([in] BSTR v);
1021
1022     [propget, id(DISPID_IHTMLRULESTYLE_VISIBILITY), bindable, displaybind]
1023     HRESULT visibility([retval, out] BSTR *p);
1024
1025     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLETYPE), bindable, displaybind]
1026     HRESULT listStyleType([in] BSTR v);
1027
1028     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLETYPE), bindable, displaybind]
1029     HRESULT listStyleType([retval, out] BSTR *p);
1030
1031     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLEPOSITION), bindable, displaybind]
1032     HRESULT listStylePosition([in] BSTR v);
1033
1034     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLEPOSITION), bindable, displaybind]
1035     HRESULT listStylePosition([retval, out] BSTR *p);
1036
1037     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLEIMAGE), bindable, displaybind]
1038     HRESULT listStyleImage([in] BSTR v);
1039
1040     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLEIMAGE), bindable, displaybind]
1041     HRESULT listStyleImage([retval, out] BSTR *p);
1042
1043     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLE), bindable, displaybind]
1044     HRESULT listStyle([in] BSTR v);
1045
1046     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLE), bindable, displaybind]
1047     HRESULT listStyle([retval, out] BSTR *p);
1048
1049     [propput, id(DISPID_IHTMLRULESTYLE_WHITESPACE), bindable, displaybind]
1050     HRESULT whiteSpace([in] BSTR v);
1051
1052     [propget, id(DISPID_IHTMLRULESTYLE_WHITESPACE), bindable, displaybind]
1053     HRESULT whiteSpace([retval, out] BSTR *p);
1054
1055     [propput, id(DISPID_IHTMLRULESTYLE_TOP), bindable, displaybind]
1056     HRESULT top([in] VARIANT v);
1057
1058     [propget, id(DISPID_IHTMLRULESTYLE_TOP), bindable, displaybind]
1059     HRESULT top([retval, out] VARIANT *p);
1060
1061     [propput, id(DISPID_IHTMLRULESTYLE_LEFT), bindable, displaybind]
1062     HRESULT left([in] VARIANT v);
1063
1064     [propget, id(DISPID_IHTMLRULESTYLE_LEFT), bindable, displaybind]
1065     HRESULT left([retval, out] VARIANT *p);
1066
1067     [propget, id(DISPID_IHTMLRULESTYLE_POSITION), bindable, displaybind]
1068     HRESULT position([retval, out] BSTR *p);
1069
1070     [propput, id(DISPID_IHTMLRULESTYLE_ZINDEX), bindable, displaybind]
1071     HRESULT zIndex([in] VARIANT v);
1072
1073     [propget, id(DISPID_IHTMLRULESTYLE_ZINDEX), bindable, displaybind]
1074     HRESULT zIndex([retval, out] VARIANT *p);
1075
1076     [propput, id(DISPID_IHTMLRULESTYLE_OVERFLOW), bindable, displaybind]
1077     HRESULT overflow([in] BSTR v);
1078
1079     [propget, id(DISPID_IHTMLRULESTYLE_OVERFLOW), bindable, displaybind]
1080     HRESULT overflow([retval, out] BSTR *p);
1081
1082     [propput, id(DISPID_IHTMLRULESTYLE_PAGEBREAKBEFORE), bindable, displaybind]
1083     HRESULT pageBreakBefore([in] BSTR v);
1084
1085     [propget, id(DISPID_IHTMLRULESTYLE_PAGEBREAKBEFORE), bindable, displaybind]
1086     HRESULT pageBreakBefore([retval, out] BSTR *p);
1087
1088     [propput, id(DISPID_IHTMLRULESTYLE_PAGEBREAKAFTER), bindable, displaybind]
1089     HRESULT pageBreakAfter([in] BSTR v);
1090
1091     [propget, id(DISPID_IHTMLRULESTYLE_PAGEBREAKAFTER), bindable, displaybind]
1092     HRESULT pageBreakAfter([retval, out] BSTR *p);
1093
1094     [propput, id(DISPID_IHTMLRULESTYLE_CSSTEXT), bindable, displaybind]
1095     HRESULT cssText([in] BSTR v);
1096
1097     [propget, id(DISPID_IHTMLRULESTYLE_CSSTEXT), bindable, displaybind]
1098     HRESULT cssText([retval, out] BSTR *p);
1099
1100     [propput, id(DISPID_IHTMLRULESTYLE_CURSOR), bindable, displaybind]
1101     HRESULT cursor([in] BSTR v);
1102
1103     [propget, id(DISPID_IHTMLRULESTYLE_CURSOR), bindable, displaybind]
1104     HRESULT cursor([retval, out] BSTR *p);
1105
1106     [propput, id(DISPID_IHTMLRULESTYLE_CLIP), bindable, displaybind]
1107     HRESULT clip([in] BSTR v);
1108
1109     [propget, id(DISPID_IHTMLRULESTYLE_CLIP), bindable, displaybind]
1110     HRESULT clip([retval, out] BSTR *p);
1111
1112     [propput, id(DISPID_IHTMLRULESTYLE_FILTER), bindable, displaybind]
1113     HRESULT filter([in] BSTR v);
1114
1115     [propget, id(DISPID_IHTMLRULESTYLE_FILTER), bindable, displaybind]
1116     HRESULT filter([retval, out] BSTR *p);
1117
1118     [id(DISPID_IHTMLRULESTYLE_SETATTRIBUTE)]
1119     HRESULT setAttribute(
1120         [in] BSTR strAttributeName,
1121         [in] VARIANT AttributeValue,
1122         [defaultvalue(1), in] LONG lFlags);
1123
1124     [id(DISPID_IHTMLRULESTYLE_GETATTRIBUTE)]
1125     HRESULT getAttribute(
1126         [in] BSTR strAttributeName,
1127         [defaultvalue(0), in] LONG lFlags,
1128         [retval, out] VARIANT *AttributeValue);
1129
1130     [id(DISPID_IHTMLRULESTYLE_REMOVEATTRIBUTE)]
1131     HRESULT removeAttribute(
1132         [in] BSTR strAttributeName,
1133         [defaultvalue(1), in] LONG lFlags,
1134         [retval, out] VARIANT_BOOL *pfSuccess);
1135 }
1136
1137 /*****************************************************************************
1138  *    DispHTMLStyle dispinterface
1139  */
1140 [
1141     hidden,
1142     uuid(3050f55a-98b5-11cf-bb82-00aa00bdce0b)
1143 ]
1144 dispinterface DispHTMLStyle
1145 {
1146 properties:
1147 methods:
1148     [propput, id(DISPID_IHTMLSTYLE_FONTFAMILY), displaybind, bindable]
1149     void fontFamily(BSTR v);
1150
1151     [propget, id(DISPID_IHTMLSTYLE_FONTFAMILY), displaybind, bindable]
1152     BSTR fontFamily();
1153
1154     [propput, id(DISPID_IHTMLSTYLE_FONTSTYLE), displaybind, bindable]
1155     void fontStyle(BSTR v);
1156
1157     [propget, id(DISPID_IHTMLSTYLE_FONTSTYLE), displaybind, bindable]
1158     BSTR fontStyle();
1159
1160     [propput, id(DISPID_IHTMLSTYLE_FONTVARIANT), displaybind, bindable]
1161     void fontVariant(BSTR v);
1162
1163     [propget, id(DISPID_IHTMLSTYLE_FONTVARIANT), displaybind, bindable]
1164     BSTR fontVariant();
1165
1166     [propput, id(DISPID_IHTMLSTYLE_FONTWEIGHT), displaybind, bindable]
1167     void fontWeight(BSTR v);
1168
1169     [propget, id(DISPID_IHTMLSTYLE_FONTWEIGHT), displaybind, bindable]
1170     BSTR fontWeight();
1171
1172     [propput, id(DISPID_IHTMLSTYLE_FONTSIZE), displaybind, bindable]
1173     void fontSize(VARIANT v);
1174
1175     [propget, id(DISPID_IHTMLSTYLE_FONTSIZE), displaybind, bindable]
1176     VARIANT fontSize();
1177
1178     [propput, id(DISPID_IHTMLSTYLE_FONT), displaybind, bindable, nonbrowsable]
1179     void font(BSTR v);
1180
1181     [propget, id(DISPID_IHTMLSTYLE_FONT), displaybind, bindable, nonbrowsable]
1182     BSTR font();
1183
1184     [propput, id(DISPID_IHTMLSTYLE_COLOR), displaybind, bindable]
1185     void color(VARIANT v);
1186
1187     [propget, id(DISPID_IHTMLSTYLE_COLOR), displaybind, bindable]
1188     VARIANT color();
1189
1190     [propput, id(DISPID_IHTMLSTYLE_BACKGROUND), displaybind, bindable, nonbrowsable]
1191     void background(BSTR v);
1192
1193     [propget, id(DISPID_IHTMLSTYLE_BACKGROUND), displaybind, bindable, nonbrowsable]
1194     BSTR background();
1195
1196     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
1197     void backgroundColor(VARIANT v);
1198
1199     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
1200     VARIANT backgroundColor();
1201
1202     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
1203     void backgroundImage(BSTR v);
1204
1205     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
1206     BSTR backgroundImage();
1207
1208     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
1209     void backgroundRepeat(BSTR v);
1210
1211     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
1212     BSTR backgroundRepeat();
1213
1214     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
1215     void backgroundAttachment(BSTR v);
1216
1217     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
1218     BSTR backgroundAttachment();
1219
1220     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), displaybind, bindable, nonbrowsable]
1221     void backgroundPosition(BSTR v);
1222
1223     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), displaybind, bindable, nonbrowsable]
1224     BSTR backgroundPosition();
1225
1226     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
1227     void backgroundPositionX(VARIANT v);
1228
1229     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
1230     VARIANT backgroundPositionX();
1231
1232     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
1233     void backgroundPositionY(VARIANT v);
1234
1235     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
1236     VARIANT backgroundPositionY();
1237
1238     [propput, id(DISPID_IHTMLSTYLE_WORDSPACING), displaybind, bindable]
1239     void wordSpacing(VARIANT v);
1240
1241     [propget, id(DISPID_IHTMLSTYLE_WORDSPACING), displaybind, bindable]
1242     VARIANT wordSpacing();
1243
1244     [propput, id(DISPID_IHTMLSTYLE_LETTERSPACING), displaybind, bindable]
1245     void letterSpacing(VARIANT v);
1246
1247     [propget, id(DISPID_IHTMLSTYLE_LETTERSPACING), displaybind, bindable]
1248     VARIANT letterSpacing();
1249
1250     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATION), displaybind, bindable]
1251     void textDecoration(BSTR v);
1252
1253     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATION), displaybind, bindable]
1254     BSTR textDecoration();
1255
1256     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), displaybind, bindable]
1257     void textDecorationNone(VARIANT_BOOL v);
1258
1259     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), displaybind, bindable]
1260     VARIANT_BOOL textDecorationNone();
1261
1262     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), displaybind, bindable]
1263     void textDecorationUnderline(VARIANT_BOOL v);
1264
1265     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), displaybind, bindable]
1266     VARIANT_BOOL textDecorationUnderline();
1267
1268     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), displaybind, bindable]
1269     void textDecorationOverline(VARIANT_BOOL v);
1270
1271     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), displaybind, bindable]
1272     VARIANT_BOOL textDecorationOverline();
1273
1274     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), displaybind, bindable]
1275     void textDecorationLineThrough(VARIANT_BOOL v);
1276
1277     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), displaybind, bindable]
1278     VARIANT_BOOL textDecorationLineThrough();
1279
1280     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), displaybind, bindable]
1281     void textDecorationBlink(VARIANT_BOOL v);
1282
1283     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), displaybind, bindable]
1284     VARIANT_BOOL textDecorationBlink();
1285
1286     [propput, id(DISPID_IHTMLSTYLE_VERTICALALIGN), displaybind, bindable]
1287     void verticalAlign(VARIANT v);
1288
1289     [propget, id(DISPID_IHTMLSTYLE_VERTICALALIGN), displaybind, bindable]
1290     VARIANT verticalAlign();
1291
1292     [propput, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), displaybind, bindable]
1293     void textTransform(BSTR v);
1294
1295     [propget, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), displaybind, bindable]
1296     BSTR textTransform();
1297
1298     [propput, id(DISPID_IHTMLSTYLE_TEXTALIGN), displaybind, bindable]
1299     void textAlign(BSTR v);
1300
1301     [propget, id(DISPID_IHTMLSTYLE_TEXTALIGN), displaybind, bindable]
1302     BSTR textAlign();
1303
1304     [propput, id(DISPID_IHTMLSTYLE_TEXTINDENT), displaybind, bindable]
1305     void textIndent(VARIANT v);
1306
1307     [propget, id(DISPID_IHTMLSTYLE_TEXTINDENT), displaybind, bindable]
1308     VARIANT textIndent();
1309
1310     [propput, id(DISPID_IHTMLSTYLE_LINEHEIGHT), displaybind, bindable]
1311     void lineHeight(VARIANT v);
1312
1313     [propget, id(DISPID_IHTMLSTYLE_LINEHEIGHT), displaybind, bindable]
1314     VARIANT lineHeight();
1315
1316     [propput, id(DISPID_IHTMLSTYLE_MARGINTOP), displaybind, bindable]
1317     void marginTop(VARIANT v);
1318
1319     [propget, id(DISPID_IHTMLSTYLE_MARGINTOP), displaybind, bindable]
1320     VARIANT marginTop();
1321
1322     [propput, id(DISPID_IHTMLSTYLE_MARGINRIGHT), displaybind, bindable]
1323     void marginRight(VARIANT v);
1324
1325     [propget, id(DISPID_IHTMLSTYLE_MARGINRIGHT), displaybind, bindable]
1326     VARIANT marginRight();
1327
1328     [propput, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), displaybind, bindable]
1329     void marginBottom(VARIANT v);
1330
1331     [propget, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), displaybind, bindable]
1332     VARIANT marginBottom();
1333
1334     [propput, id(DISPID_IHTMLSTYLE_MARGINLEFT), displaybind, bindable]
1335     void marginLeft(VARIANT v);
1336
1337     [propget, id(DISPID_IHTMLSTYLE_MARGINLEFT), displaybind, bindable]
1338     VARIANT marginLeft();
1339
1340     [propput, id(DISPID_IHTMLSTYLE_MARGIN), displaybind, bindable, nonbrowsable]
1341     void margin(BSTR v);
1342
1343     [propget, id(DISPID_IHTMLSTYLE_MARGIN), displaybind, bindable, nonbrowsable]
1344     BSTR margin();
1345
1346     [propput, id(DISPID_IHTMLSTYLE_PADDINGTOP), displaybind, bindable]
1347     void paddingTop(VARIANT v);
1348
1349     [propget, id(DISPID_IHTMLSTYLE_PADDINGTOP), displaybind, bindable]
1350     VARIANT paddingTop();
1351
1352     [propput, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), displaybind, bindable]
1353     void paddingRight(VARIANT v);
1354
1355     [propget, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), displaybind, bindable]
1356     VARIANT paddingRight();
1357
1358     [propput, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), displaybind, bindable]
1359     void paddingBottom(VARIANT v);
1360
1361     [propget, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), displaybind, bindable]
1362     VARIANT paddingBottom();
1363
1364     [propput, id(DISPID_IHTMLSTYLE_PADDINGLEFT), displaybind, bindable]
1365     void paddingLeft(VARIANT v);
1366
1367     [propget, id(DISPID_IHTMLSTYLE_PADDINGLEFT), displaybind, bindable]
1368     VARIANT paddingLeft();
1369
1370     [propput, id(DISPID_IHTMLSTYLE_PADDING), displaybind, bindable, nonbrowsable]
1371     void padding(BSTR v);
1372
1373     [propget, id(DISPID_IHTMLSTYLE_PADDING), displaybind, bindable, nonbrowsable]
1374     BSTR padding();
1375
1376     [propput, id(DISPID_IHTMLSTYLE_BORDER), displaybind, bindable, nonbrowsable]
1377     void border(BSTR v);
1378
1379     [propget, id(DISPID_IHTMLSTYLE_BORDER), displaybind, bindable, nonbrowsable]
1380     BSTR border();
1381
1382     [propput, id(DISPID_IHTMLSTYLE_BORDERTOP), displaybind, bindable]
1383     void borderTop(BSTR v);
1384
1385     [propget, id(DISPID_IHTMLSTYLE_BORDERTOP), displaybind, bindable]
1386     BSTR borderTop();
1387
1388     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHT), displaybind, bindable]
1389     void borderRight(BSTR v);
1390
1391     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHT), displaybind, bindable]
1392     BSTR borderRight();
1393
1394     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), displaybind, bindable]
1395     void borderBottom(BSTR v);
1396
1397     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), displaybind, bindable]
1398     BSTR borderBottom();
1399
1400     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFT), displaybind, bindable]
1401     void borderLeft(BSTR v);
1402
1403     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFT), displaybind, bindable]
1404     BSTR borderLeft();
1405
1406     [propput, id(DISPID_IHTMLSTYLE_BORDERCOLOR), displaybind, bindable]
1407     void borderColor(BSTR v);
1408
1409     [propget, id(DISPID_IHTMLSTYLE_BORDERCOLOR), displaybind, bindable]
1410     BSTR borderColor();
1411
1412     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), displaybind, bindable]
1413     void borderTopColor(VARIANT v);
1414
1415     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), displaybind, bindable]
1416     VARIANT borderTopColor();
1417
1418     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
1419     void borderRightColor(VARIANT v);
1420
1421     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
1422     VARIANT borderRightColor();
1423
1424     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
1425     void borderBottomColor(VARIANT v);
1426
1427     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
1428     VARIANT borderBottomColor();
1429
1430     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
1431     void borderLeftColor(VARIANT v);
1432
1433     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
1434     VARIANT borderLeftColor();
1435
1436     [propput, id(DISPID_IHTMLSTYLE_BORDERWIDTH), displaybind, bindable]
1437     void borderWidth(BSTR v);
1438
1439     [propget, id(DISPID_IHTMLSTYLE_BORDERWIDTH), displaybind, bindable]
1440     BSTR borderWidth();
1441
1442     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), displaybind, bindable]
1443     void borderTopWidth(VARIANT v);
1444
1445     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), displaybind, bindable]
1446     VARIANT borderTopWidth();
1447
1448     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
1449     void borderRightWidth(VARIANT v);
1450
1451     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
1452     VARIANT borderRightWidth();
1453
1454     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
1455     void borderBottomWidth(VARIANT v);
1456
1457     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
1458     VARIANT borderBottomWidth();
1459
1460     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
1461     void borderLeftWidth(VARIANT v);
1462
1463     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
1464     VARIANT borderLeftWidth();
1465
1466     [propput, id(DISPID_IHTMLSTYLE_BORDERSTYLE), displaybind, bindable]
1467     void borderStyle(BSTR v);
1468
1469     [propget, id(DISPID_IHTMLSTYLE_BORDERSTYLE), displaybind, bindable]
1470     BSTR borderStyle();
1471
1472     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), displaybind, bindable]
1473     void borderTopStyle(BSTR v);
1474
1475     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), displaybind, bindable]
1476     BSTR borderTopStyle();
1477
1478     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
1479     void borderRightStyle(BSTR v);
1480
1481     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
1482     BSTR borderRightStyle();
1483
1484     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
1485     void borderBottomStyle(BSTR v);
1486
1487     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
1488     BSTR borderBottomStyle();
1489
1490     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
1491     void borderLeftStyle(BSTR v);
1492
1493     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
1494     BSTR borderLeftStyle();
1495
1496     [propput, id(DISPID_IHTMLSTYLE_WIDTH), displaybind, bindable]
1497     void width(VARIANT v);
1498
1499     [propget, id(DISPID_IHTMLSTYLE_WIDTH), displaybind, bindable]
1500     VARIANT width();
1501
1502     [propput, id(DISPID_IHTMLSTYLE_HEIGHT), displaybind, bindable]
1503     void height(VARIANT v);
1504
1505     [propget, id(DISPID_IHTMLSTYLE_HEIGHT), displaybind, bindable]
1506     VARIANT height();
1507
1508     [propput, id(DISPID_IHTMLSTYLE_STYLEFLOAT), displaybind, bindable]
1509     void styleFloat(BSTR v);
1510
1511     [propget, id(DISPID_IHTMLSTYLE_STYLEFLOAT), displaybind, bindable]
1512     BSTR styleFloat();
1513
1514     [propput, id(DISPID_IHTMLSTYLE_CLEAR), displaybind, bindable]
1515     void clear(BSTR v);
1516
1517     [propget, id(DISPID_IHTMLSTYLE_CLEAR), displaybind, bindable]
1518     BSTR clear();
1519
1520     [propput, id(DISPID_IHTMLSTYLE_DISPLAY), displaybind, bindable]
1521     void display(BSTR v);
1522
1523     [propget, id(DISPID_IHTMLSTYLE_DISPLAY), displaybind, bindable]
1524     BSTR display();
1525
1526     [propput, id(DISPID_IHTMLSTYLE_VISIBILITY), displaybind, bindable]
1527     void visibility(BSTR v);
1528
1529     [propget, id(DISPID_IHTMLSTYLE_VISIBILITY), displaybind, bindable]
1530     BSTR visibility();
1531
1532     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), displaybind, bindable]
1533     void listStyleType(BSTR v);
1534
1535     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), displaybind, bindable]
1536     BSTR listStyleType();
1537
1538     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
1539     void listStylePosition(BSTR v);
1540
1541     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
1542     BSTR listStylePosition();
1543
1544     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
1545     void listStyleImage(BSTR v);
1546
1547     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
1548     BSTR listStyleImage();
1549
1550     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLE), displaybind, bindable, nonbrowsable]
1551     void listStyle(BSTR v);
1552
1553     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLE), displaybind, bindable, nonbrowsable]
1554     BSTR listStyle();
1555
1556     [propput, id(DISPID_IHTMLSTYLE_WHITESPACE), displaybind, bindable]
1557     void whiteSpace(BSTR v);
1558
1559     [propget, id(DISPID_IHTMLSTYLE_WHITESPACE), displaybind, bindable]
1560     BSTR whiteSpace();
1561
1562     [propput, id(DISPID_IHTMLSTYLE_TOP), displaybind, bindable]
1563     void top(VARIANT v);
1564
1565     [propget, id(DISPID_IHTMLSTYLE_TOP), displaybind, bindable]
1566     VARIANT top();
1567
1568     [propput, id(DISPID_IHTMLSTYLE_LEFT), displaybind, bindable]
1569     void left(VARIANT v);
1570
1571     [propget, id(DISPID_IHTMLSTYLE_LEFT), displaybind, bindable]
1572     VARIANT left();
1573
1574     [propput, id(DISPID_IHTMLSTYLE_ZINDEX), displaybind, bindable]
1575     void zIndex(VARIANT v);
1576
1577     [propget, id(DISPID_IHTMLSTYLE_ZINDEX), displaybind, bindable]
1578     VARIANT zIndex();
1579
1580     [propput, id(DISPID_IHTMLSTYLE_OVERFLOW), displaybind, bindable]
1581     void overflow(BSTR v);
1582
1583     [propget, id(DISPID_IHTMLSTYLE_OVERFLOW), displaybind, bindable]
1584     BSTR overflow();
1585
1586     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
1587     void pageBreakBefore(BSTR v);
1588
1589     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
1590     BSTR pageBreakBefore();
1591
1592     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), displaybind, bindable]
1593     void pageBreakAfter(BSTR v);
1594
1595     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), displaybind, bindable]
1596     BSTR pageBreakAfter();
1597
1598     [propput, id(DISPID_IHTMLSTYLE_CSSTEXT), displaybind, bindable, nonbrowsable]
1599     void cssText(BSTR v);
1600
1601     [propget, id(DISPID_IHTMLSTYLE_CSSTEXT), displaybind, bindable, nonbrowsable]
1602     BSTR cssText();
1603
1604     [propput, id(DISPID_IHTMLSTYLE_PIXELTOP), displaybind, bindable, hidden]
1605     void pixelTop(long v);
1606
1607     [propget, id(DISPID_IHTMLSTYLE_PIXELTOP), displaybind, bindable, hidden]
1608     long pixelTop();
1609
1610     [propput, id(DISPID_IHTMLSTYLE_PIXELLEFT), displaybind, bindable, hidden]
1611     void pixelLeft(long v);
1612
1613     [propget, id(DISPID_IHTMLSTYLE_PIXELLEFT), displaybind, bindable, hidden]
1614     long pixelLeft();
1615
1616     [propput, id(DISPID_IHTMLSTYLE_PIXELWIDTH), displaybind, bindable, hidden]
1617     void pixelWidth(long v);
1618
1619     [propget, id(DISPID_IHTMLSTYLE_PIXELWIDTH), displaybind, bindable, hidden]
1620     long pixelWidth();
1621
1622     [propput, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), displaybind, bindable, hidden]
1623     void pixelHeight(long v);
1624
1625     [propget, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), displaybind, bindable, hidden]
1626     long pixelHeight();
1627
1628     [propput, id(DISPID_IHTMLSTYLE_POSTOP), displaybind, bindable]
1629     void posTop(float v);
1630
1631     [propget, id(DISPID_IHTMLSTYLE_POSTOP), displaybind, bindable]
1632     float posTop();
1633
1634     [propput, id(DISPID_IHTMLSTYLE_POSLEFT), displaybind, bindable]
1635     void posLeft(float v);
1636
1637     [propget, id(DISPID_IHTMLSTYLE_POSLEFT), displaybind, bindable]
1638     float posLeft();
1639
1640     [propput, id(DISPID_IHTMLSTYLE_POSWIDTH), displaybind, bindable]
1641     void posWidth(float v);
1642
1643     [propget, id(DISPID_IHTMLSTYLE_POSWIDTH), displaybind, bindable]
1644     float posWidth();
1645
1646     [propput, id(DISPID_IHTMLSTYLE_POSHEIGHT), displaybind, bindable]
1647     void posHeight(float v);
1648
1649     [propget, id(DISPID_IHTMLSTYLE_POSHEIGHT), displaybind, bindable]
1650     float posHeight();
1651
1652     [propput, id(DISPID_IHTMLSTYLE_CURSOR), displaybind, bindable]
1653     void cursor(BSTR v);
1654
1655     [propget, id(DISPID_IHTMLSTYLE_CURSOR), displaybind, bindable]
1656     BSTR cursor();
1657
1658     [propput, id(DISPID_IHTMLSTYLE_CLIP), displaybind, bindable]
1659     void clip(BSTR v);
1660
1661     [propget, id(DISPID_IHTMLSTYLE_CLIP), displaybind, bindable]
1662     BSTR clip();
1663
1664     [propput, id(DISPID_IHTMLSTYLE_FILTER), displaybind, bindable]
1665     void filter(BSTR v);
1666
1667     [propget, id(DISPID_IHTMLSTYLE_FILTER), displaybind, bindable]
1668     BSTR filter();
1669
1670     [id(DISPID_IHTMLSTYLE_SETATTRIBUTE)]
1671     void setAttribute(
1672             [in] BSTR strAttributeName,
1673             [in] VARIANT AttributeValue,
1674             [in, defaultvalue(1)] LONG lFlags);
1675
1676     [id(DISPID_IHTMLSTYLE_GETATTRIBUTE)]
1677     VARIANT getAttribute(
1678             [in] BSTR strAttributeName,
1679             [in, defaultvalue(0)] LONG lFlags);
1680
1681     [id(DISPID_IHTMLSTYLE_REMOVEATTRIBUTE)]
1682     VARIANT_BOOL removeAttribute(
1683             [in] BSTR strAttributeName,
1684             [in, defaultvalue(1)] LONG lFlags);
1685
1686     [id(DISPID_IHTMLSTYLE_TOSTRING)]
1687     BSTR toString();
1688
1689     [propput, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable]
1690     void tableLayout(BSTR v);
1691
1692     [propget, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable]
1693     BSTR tableLayout();
1694
1695     [propput, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable]
1696     void borderCollapse(BSTR v);
1697
1698     [propget, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable]
1699     BSTR borderCollapse();
1700
1701     [propput, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable]
1702     void direction(BSTR v);
1703
1704     [propget, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable]
1705     BSTR direction();
1706
1707     [propput, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable]
1708     void behavior(BSTR v);
1709
1710     [propget, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable]
1711     BSTR behavior();
1712
1713     [id(DISPID_IHTMLSTYLE2_SETEXPRESSION)]
1714     void setExpression(
1715             [in] BSTR propname,
1716             [in] BSTR expression,
1717             [in, defaultvalue("")] BSTR language);
1718
1719     [id(DISPID_IHTMLSTYLE2_GETEXPRESSION)]
1720     VARIANT getExpression([in] BSTR propname);
1721
1722     [id(DISPID_IHTMLSTYLE2_REMOVEEXPRESSION)]
1723     VARIANT_BOOL removeExpression([in] BSTR propname);
1724
1725     [propput, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable]
1726     void position(BSTR v);
1727
1728     [propget, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable]
1729     BSTR position();
1730
1731     [propput, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable]
1732     void unicodeBidi(BSTR v);
1733
1734     [propget, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable]
1735     BSTR unicodeBidi();
1736
1737     [propput, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable]
1738     void bottom(VARIANT v);
1739
1740     [propget, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable]
1741     VARIANT bottom();
1742
1743     [propput, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable]
1744     void right(VARIANT v);
1745
1746     [propget, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable]
1747     VARIANT right();
1748
1749     [propput, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden]
1750     void pixelBottom(long v);
1751
1752     [propget, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden]
1753     long pixelBottom();
1754
1755     [propput, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden]
1756     void pixelRight(long v);
1757
1758     [propget, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden]
1759     long pixelRight();
1760
1761     [propput, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable]
1762     void posBottom(float v);
1763
1764     [propget, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable]
1765     float posBottom();
1766
1767     [propput, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable]
1768     void posRight(float v);
1769
1770     [propget, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable]
1771     float posRight();
1772
1773     [propput, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable]
1774     void imeMode(BSTR v);
1775
1776     [propget, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable]
1777     BSTR imeMode();
1778
1779     [propput, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable]
1780     void rubyAlign(BSTR v);
1781
1782     [propget, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable]
1783     BSTR rubyAlign();
1784
1785     [propput, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable]
1786     void rubyPosition(BSTR v);
1787
1788     [propget, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable]
1789     BSTR rubyPosition();
1790
1791     [propput, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable]
1792     void rubyOverhang(BSTR v);
1793
1794     [propget, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable]
1795     BSTR rubyOverhang();
1796
1797     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable]
1798     void layoutGridChar(VARIANT v);
1799
1800     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable]
1801     VARIANT layoutGridChar();
1802
1803     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable]
1804     void layoutGridLine(VARIANT v);
1805
1806     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable]
1807     VARIANT layoutGridLine();
1808
1809     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable]
1810     void layoutGridMode(BSTR v);
1811
1812     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable]
1813     BSTR layoutGridMode();
1814
1815     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable]
1816     void layoutGridType(BSTR v);
1817
1818     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable]
1819     BSTR layoutGridType();
1820
1821     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable]
1822     void layoutGrid(BSTR v);
1823
1824     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable]
1825     BSTR layoutGrid();
1826
1827     [propput, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable]
1828     void wordBreak(BSTR v);
1829
1830     [propget, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable]
1831     BSTR wordBreak();
1832
1833     [propput, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable]
1834     void lineBreak(BSTR v);
1835
1836     [propget, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable]
1837     BSTR lineBreak();
1838
1839     [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable]
1840     void textJustify(BSTR v);
1841
1842     [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable]
1843     BSTR textJustify();
1844
1845     [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable]
1846     void textJustifyTrim(BSTR v);
1847
1848     [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable]
1849     BSTR textJustifyTrim();
1850
1851     [propput, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable]
1852     void textKashida(VARIANT v);
1853
1854     [propget, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable]
1855    VARIANT textKashida();
1856
1857     [propput, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable]
1858     void textAutospace(BSTR v);
1859
1860     [propget, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable]
1861     BSTR textAutospace();
1862
1863     [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable]
1864     void overflowX(BSTR v);
1865
1866     [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable]
1867     BSTR overflowX();
1868
1869     [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable]
1870     void overflowY(BSTR v);
1871
1872     [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable]
1873     BSTR overflowY();
1874
1875     [propput, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable]
1876     void accelerator(BSTR v);
1877
1878     [propget, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable]
1879     BSTR accelerator();
1880
1881     [propput, id(DISPID_IHTMLSTYLE3_LAYOUTFLOW), displaybind, bindable]
1882     void layoutFlow(BSTR v);
1883
1884     [propget, id(DISPID_IHTMLSTYLE3_LAYOUTFLOW), displaybind, bindable]
1885     BSTR layoutFlow();
1886
1887     [propput, id(DISPID_IHTMLSTYLE3_ZOOM), displaybind, bindable]
1888     void zoom(VARIANT v);
1889
1890     [propget, id(DISPID_IHTMLSTYLE3_ZOOM), displaybind, bindable]
1891     VARIANT zoom();
1892
1893     [propput, id(DISPID_IHTMLSTYLE3_WORDWRAP), displaybind, bindable]
1894     void wordWrap(BSTR v);
1895
1896     [propget, id(DISPID_IHTMLSTYLE3_WORDWRAP), displaybind, bindable]
1897     BSTR wordWrap();
1898
1899     [propput, id(DISPID_IHTMLSTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable]
1900     void textUnderlinePosition(BSTR v);
1901
1902     [propget, id(DISPID_IHTMLSTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable]
1903     BSTR textUnderlinePosition();
1904
1905     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARBASECOLOR), displaybind, bindable]
1906     void scrollbarBaseColor(VARIANT v);
1907
1908     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARBASECOLOR), displaybind, bindable]
1909     VARIANT scrollbarBaseColor();
1910
1911     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARFACECOLOR), displaybind, bindable]
1912     void scrollbarFaceColor(VARIANT v);
1913
1914     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARFACECOLOR), displaybind, bindable]
1915     VARIANT scrollbarFaceColor();
1916
1917     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
1918     void scrollbar3dLightColor(VARIANT v);
1919
1920     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
1921     VARIANT scrollbar3dLightColor();
1922
1923     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable]
1924     void scrollbarShadowColor(VARIANT v);
1925
1926     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable]
1927     VARIANT scrollbarShadowColor();
1928
1929     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
1930     void scrollbarHighlightColor(VARIANT v);
1931
1932     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
1933     VARIANT scrollbarHighlightColor();
1934
1935     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
1936     void scrollbarDarkShadowColor(VARIANT v);
1937
1938     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
1939     VARIANT scrollbarDarkShadowColor();
1940
1941     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable]
1942     void scrollbarArrowColor(VARIANT v);
1943
1944     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable]
1945     VARIANT scrollbarArrowColor();
1946
1947     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable]
1948     void scrollbarTrackColor(VARIANT v);
1949
1950     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable]
1951     VARIANT scrollbarTrackColor();
1952
1953     [propput, id(DISPID_IHTMLSTYLE3_WRITINGMODE), displaybind, bindable]
1954     void writingMode(BSTR v);
1955
1956     [propget, id(DISPID_IHTMLSTYLE3_WRITINGMODE), displaybind, bindable]
1957     BSTR writingMode();
1958
1959     [propput, id(DISPID_IHTMLSTYLE3_TEXTALIGNLAST), displaybind, bindable]
1960     void textAlignLast(BSTR v);
1961
1962     [propget, id(DISPID_IHTMLSTYLE3_TEXTALIGNLAST), displaybind, bindable]
1963     BSTR textAlignLast();
1964
1965     [propput, id(DISPID_IHTMLSTYLE3_TEXTKASHIDASPACE), displaybind, bindable]
1966     void textKashidaSpace(VARIANT v);
1967
1968     [propget, id(DISPID_IHTMLSTYLE3_TEXTKASHIDASPACE), displaybind, bindable]
1969     VARIANT textKashidaSpace();
1970
1971     [propput, id(DISPID_IHTMLSTYLE4_TEXTOVERFLOW), displaybind, bindable]
1972     void textOverflow(BSTR v);
1973
1974     [propget, id(DISPID_IHTMLSTYLE4_TEXTOVERFLOW), displaybind, bindable]
1975     BSTR textOverflow();
1976
1977     [propput, id(DISPID_IHTMLSTYLE4_MINHEIGHT), displaybind, bindable]
1978     void minHeight(VARIANT v);
1979
1980     [propget, id(DISPID_IHTMLSTYLE4_MINHEIGHT), displaybind, bindable]
1981     VARIANT minHeight();
1982 }
1983
1984 /*****************************************************************************
1985  *    IHTMLRenderStyle interface
1986  */
1987 [
1988     odl,
1989     oleautomation,
1990     dual,
1991     uuid(3050f6ae-98b5-11cf-bb82-00aa00bdce0b)
1992 ]
1993 interface IHTMLRenderStyle : IDispatch
1994 {
1995     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTLINETHROUGHSTYLE), displaybind, bindable]
1996     HRESULT textLineThroughStyle([in] BSTR v);
1997
1998     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTLINETHROUGHSTYLE), displaybind, bindable]
1999     HRESULT textLineThroughStyle([retval, out] BSTR *p);
2000
2001     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTUNDERLINESTYLE), displaybind, bindable]
2002     HRESULT textUnderlineStyle([in] BSTR v);
2003
2004     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTUNDERLINESTYLE), displaybind, bindable]
2005     HRESULT textUnderlineStyle([retval, out] BSTR *p);
2006
2007     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTEFFECT), displaybind, bindable]
2008     HRESULT textEffect([in] BSTR v);
2009
2010     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTEFFECT), displaybind, bindable]
2011     HRESULT textEffect([retval, out] BSTR *p);
2012
2013     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTCOLOR), displaybind, bindable]
2014     HRESULT textColor([in] VARIANT v);
2015
2016     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTCOLOR), displaybind, bindable]
2017     HRESULT textColor([retval, out] VARIANT *p);
2018
2019     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTBACKGROUNDCOLOR), displaybind, bindable]
2020     HRESULT textBackgroundColor([in] VARIANT v);
2021
2022     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTBACKGROUNDCOLOR), displaybind, bindable]
2023     HRESULT textBackgroundColor([retval, out] VARIANT *p);
2024
2025     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATIONCOLOR), displaybind, bindable]
2026     HRESULT textDecorationColor([in] VARIANT v);
2027
2028     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATIONCOLOR), displaybind, bindable]
2029     HRESULT textDecorationColor([retval, out] VARIANT *p);
2030
2031     [propput, id(DISPID_IHTMLRENDERSTYLE_RENDERINGPRIORITY), displaybind, bindable]
2032     HRESULT renderingPriority([in] long v);
2033
2034     [propget, id(DISPID_IHTMLRENDERSTYLE_RENDERINGPRIORITY), displaybind, bindable]
2035     HRESULT renderingPriority([retval, out] long *p);
2036
2037     [propput, id(DISPID_IHTMLRENDERSTYLE_DEFAULTTEXTSELECTION), displaybind, bindable]
2038     HRESULT defaultTextSelection([in] BSTR v);
2039
2040     [propget, id(DISPID_IHTMLRENDERSTYLE_DEFAULTTEXTSELECTION), displaybind, bindable]
2041     HRESULT defaultTextSelection([retval, out] BSTR *p);
2042
2043     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATION), displaybind, bindable]
2044     HRESULT textDecoration([in] BSTR v);
2045
2046     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATION), displaybind, bindable]
2047     HRESULT textDecoration([retval, out] BSTR *p);
2048 }
2049
2050 /*****************************************************************************
2051  *    IHTMLCurrentStyle interface
2052  */
2053 [
2054     odl,
2055     oleautomation,
2056     dual,
2057     uuid(3050f3db-98b5-11cf-bb82-00aa00bdce0b)
2058 ]
2059 interface IHTMLCurrentStyle : IDispatch
2060 {
2061     [propget, id(DISPID_IHTMLCURRENTSTYLE_POSITION), displaybind, bindable]
2062     HRESULT position([retval, out] BSTR *p);
2063
2064     [propget, id(DISPID_IHTMLCURRENTSTYLE_STYLEFLOAT), displaybind, bindable]
2065     HRESULT styleFloat([retval, out] BSTR *p);
2066
2067     [propget, id(DISPID_IHTMLCURRENTSTYLE_COLOR), displaybind, bindable]
2068     HRESULT color([retval, out] VARIANT *p);
2069
2070     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
2071     HRESULT backgroundColor([retval, out] VARIANT *p);
2072
2073     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTFAMILY), displaybind, bindable]
2074     HRESULT fontFamily([retval, out] BSTR *p);
2075
2076     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSTYLE), displaybind, bindable]
2077     HRESULT fontStyle([retval, out] BSTR *p);
2078
2079     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTVARIANT), displaybind, bindable, hidden]
2080     HRESULT fontVariant([retval, out] BSTR *p);
2081
2082     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTWEIGHT), displaybind, bindable]
2083     HRESULT fontWeight([retval, out] VARIANT *p);
2084
2085     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSIZE), displaybind, bindable]
2086     HRESULT fontSize([retval, out] VARIANT *p);
2087
2088     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
2089     HRESULT backgroundImage([retval, out] BSTR *p);
2090
2091     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
2092     HRESULT backgroundPositionX([retval, out] VARIANT *p);
2093
2094     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
2095     HRESULT backgroundPositionY([retval, out] VARIANT *p);
2096
2097     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
2098     HRESULT backgroundRepeat([retval, out] BSTR *p);
2099
2100     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
2101     HRESULT borderLeftColor([retval, out] VARIANT *p);
2102
2103     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPCOLOR), displaybind, bindable]
2104     HRESULT borderTopColor([retval, out] VARIANT *p);
2105
2106     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
2107     HRESULT borderRightColor([retval, out] VARIANT *p);
2108
2109     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
2110     HRESULT borderBottomColor([retval, out] VARIANT *p);
2111
2112     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPSTYLE), displaybind, bindable]
2113     HRESULT borderTopStyle([retval, out] BSTR *p);
2114
2115     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
2116     HRESULT borderRightStyle([retval, out] BSTR *p);
2117
2118     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
2119     HRESULT borderBottomStyle([retval, out] BSTR *p);
2120
2121     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
2122     HRESULT borderLeftStyle([retval, out] BSTR *p);
2123
2124     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPWIDTH), displaybind, bindable]
2125     HRESULT borderTopWidth([retval, out] VARIANT *p);
2126
2127     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
2128     HRESULT borderRightWidth([retval, out] VARIANT *p);
2129
2130     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
2131     HRESULT borderBottomWidth([retval, out] VARIANT *p);
2132
2133     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
2134     HRESULT borderLeftWidth([retval, out] VARIANT *p);
2135
2136     [propget, id(DISPID_IHTMLCURRENTSTYLE_LEFT), displaybind, bindable]
2137     HRESULT left([retval, out] VARIANT *p);
2138
2139     [propget, id(DISPID_IHTMLCURRENTSTYLE_TOP), displaybind, bindable]
2140     HRESULT top([retval, out] VARIANT *p);
2141
2142     [propget, id(DISPID_IHTMLCURRENTSTYLE_WIDTH), displaybind, bindable]
2143     HRESULT width([retval, out] VARIANT *p);
2144
2145     [propget, id(DISPID_IHTMLCURRENTSTYLE_HEIGHT), displaybind, bindable]
2146     HRESULT height([retval, out] VARIANT *p);
2147
2148     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGLEFT), displaybind, bindable]
2149     HRESULT paddingLeft([retval, out] VARIANT *p);
2150
2151     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGTOP), displaybind, bindable]
2152     HRESULT paddingTop([retval, out] VARIANT *p);
2153
2154     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGRIGHT), displaybind, bindable]
2155     HRESULT paddingRight([retval, out] VARIANT *p);
2156
2157     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGBOTTOM), displaybind, bindable]
2158     HRESULT paddingBottom([retval, out] VARIANT *p);
2159
2160     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTALIGN), displaybind, bindable]
2161     HRESULT textAlign([retval, out] BSTR *p);
2162
2163     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTDECORATION), displaybind, bindable]
2164     HRESULT textDecoration([retval, out] BSTR *p);
2165
2166     [propget, id(DISPID_IHTMLCURRENTSTYLE_DISPLAY), displaybind, bindable]
2167     HRESULT display([retval, out] BSTR *p);
2168
2169     [propget, id(DISPID_IHTMLCURRENTSTYLE_VISIBILITY), displaybind, bindable]
2170     HRESULT visibility([retval, out] BSTR *p);
2171
2172     [propget, id(DISPID_IHTMLCURRENTSTYLE_ZINDEX), displaybind, bindable]
2173     HRESULT zIndex([retval, out] VARIANT *p);
2174
2175     [propget, id(DISPID_IHTMLCURRENTSTYLE_LETTERSPACING), displaybind, bindable]
2176     HRESULT letterSpacing([retval, out] VARIANT *p);
2177
2178     [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEHEIGHT), displaybind, bindable]
2179     HRESULT lineHeight([retval, out] VARIANT *p);
2180
2181     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTINDENT), displaybind, bindable]
2182     HRESULT textIndent([retval, out] VARIANT *p);
2183
2184     [propget, id(DISPID_IHTMLCURRENTSTYLE_VERTICALALIGN), displaybind, bindable]
2185     HRESULT verticalAlign([retval, out] VARIANT *p);
2186
2187     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
2188     HRESULT backgroundAttachment([retval, out] BSTR *p);
2189
2190     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINTOP), displaybind, bindable]
2191     HRESULT marginTop([retval, out] VARIANT *p);
2192
2193     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINRIGHT), displaybind, bindable]
2194     HRESULT marginRight([retval, out] VARIANT *p);
2195
2196     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINBOTTOM), displaybind, bindable]
2197     HRESULT marginBottom([retval, out] VARIANT *p);
2198
2199     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINLEFT), displaybind, bindable]
2200     HRESULT marginLeft([retval, out] VARIANT *p);
2201
2202     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLEAR), displaybind, bindable]
2203     HRESULT clear([retval, out] BSTR *p);
2204
2205     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLETYPE), displaybind, bindable]
2206     HRESULT listStyleType([retval, out] BSTR *p);
2207
2208     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
2209     HRESULT listStylePosition([retval, out] BSTR *p);
2210
2211     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
2212     HRESULT listStyleImage([retval, out] BSTR *p);
2213
2214     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPTOP), displaybind, bindable]
2215     HRESULT clipTop([retval, out] VARIANT *p);
2216
2217     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPRIGHT), displaybind, bindable]
2218     HRESULT clipRight([retval, out] VARIANT *p);
2219
2220     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPBOTTOM), displaybind, bindable]
2221     HRESULT clipBottom([retval, out] VARIANT *p);
2222
2223     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPLEFT), displaybind, bindable]
2224     HRESULT clipLeft([retval, out] VARIANT *p);
2225
2226     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOW), displaybind, bindable]
2227     HRESULT overflow([retval, out] BSTR *p);
2228
2229     [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
2230     HRESULT pageBreakBefore([retval, out] BSTR *p);
2231
2232     [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKAFTER), displaybind, bindable]
2233     HRESULT pageBreakAfter([retval, out] BSTR *p);
2234
2235     [propget, id(DISPID_IHTMLCURRENTSTYLE_CURSOR), displaybind, bindable]
2236     HRESULT cursor([retval, out] BSTR *p);
2237
2238     [propget, id(DISPID_IHTMLCURRENTSTYLE_TABLELAYOUT), displaybind, bindable]
2239     HRESULT tableLayout([retval, out] BSTR *p);
2240
2241     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLLAPSE), displaybind, bindable]
2242     HRESULT borderCollapse([retval, out] BSTR *p);
2243
2244     [propget, id(DISPID_IHTMLCURRENTSTYLE_DIRECTION), displaybind, bindable]
2245     HRESULT direction([retval, out] BSTR *p);
2246
2247     [propget, id(DISPID_IHTMLCURRENTSTYLE_BEHAVIOR), displaybind, bindable]
2248     HRESULT behavior([retval, out] BSTR *p);
2249
2250     [id(DISPID_IHTMLCURRENTSTYLE_GETATTRIBUTE)]
2251     HRESULT getAttribute(
2252         [in] BSTR strAttributeName,
2253         [defaultvalue(0), in] LONG lFlags,
2254         [retval, out] VARIANT *AttributeValue);
2255
2256     [propget, id(DISPID_IHTMLCURRENTSTYLE_UNICODEBIDI), displaybind, bindable]
2257     HRESULT unicodeBidi([retval, out] BSTR *p);
2258
2259     [propget, id(DISPID_IHTMLCURRENTSTYLE_RIGHT), displaybind, bindable]
2260     HRESULT right([retval, out] VARIANT *p);
2261
2262     [propget, id(DISPID_IHTMLCURRENTSTYLE_BOTTOM), displaybind, bindable]
2263     HRESULT bottom([retval, out] VARIANT *p);
2264
2265     [propget, id(DISPID_IHTMLCURRENTSTYLE_IMEMODE), displaybind, bindable]
2266     HRESULT imeMode([retval, out] BSTR *p);
2267
2268     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYALIGN), displaybind, bindable]
2269     HRESULT rubyAlign([retval, out] BSTR *p);
2270
2271     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYPOSITION), displaybind, bindable]
2272     HRESULT rubyPosition([retval, out] BSTR *p);
2273
2274     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYOVERHANG), displaybind, bindable]
2275     HRESULT rubyOverhang([retval, out] BSTR *p);
2276
2277     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTAUTOSPACE), displaybind, bindable]
2278     HRESULT textAutospace([retval, out] BSTR *p);
2279
2280     [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEBREAK), displaybind, bindable]
2281     HRESULT lineBreak([retval, out] BSTR *p);
2282
2283     [propget, id(DISPID_IHTMLCURRENTSTYLE_WORDBREAK), displaybind, bindable]
2284     HRESULT wordBreak([retval, out] BSTR *p);
2285
2286     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFY), displaybind, bindable]
2287     HRESULT textJustify([retval, out] BSTR *p);
2288
2289     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFYTRIM), displaybind, bindable]
2290     HRESULT textJustifyTrim([retval, out] BSTR *p);
2291
2292     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTKASHIDA), displaybind, bindable]
2293     HRESULT textKashida([retval, out] VARIANT *p);
2294
2295     [propget, id(DISPID_IHTMLCURRENTSTYLE_BLOCKDIRECTION), displaybind, bindable]
2296     HRESULT blockDirection([retval, out] BSTR *p);
2297
2298     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDCHAR), displaybind, bindable]
2299     HRESULT layoutGridChar([retval, out] VARIANT *p);
2300
2301     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDLINE), displaybind, bindable]
2302     HRESULT layoutGridLine([retval, out] VARIANT *p);
2303
2304     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDMODE), displaybind, bindable]
2305     HRESULT layoutGridMode([retval, out] BSTR *p);
2306
2307     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDTYPE), displaybind, bindable]
2308     HRESULT layoutGridType([retval, out] BSTR *p);
2309
2310     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERSTYLE), displaybind, bindable]
2311     HRESULT borderStyle([retval, out] BSTR *p);
2312
2313     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLOR), displaybind, bindable]
2314     HRESULT borderColor([retval, out] BSTR *p);
2315
2316     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERWIDTH), displaybind, bindable]
2317     HRESULT borderWidth([retval, out] BSTR *p);
2318
2319     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDING), displaybind, bindable]
2320     HRESULT padding([retval, out] BSTR *p);
2321
2322     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGIN), displaybind, bindable]
2323     HRESULT margin([retval, out] BSTR *p);
2324
2325     [propget, id(DISPID_IHTMLCURRENTSTYLE_ACCELERATOR), displaybind, bindable]
2326     HRESULT accelerator([retval, out] BSTR *p);
2327
2328     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWX), displaybind, bindable]
2329     HRESULT overflowX([retval, out] BSTR *p);
2330
2331     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWY), displaybind, bindable]
2332     HRESULT overflowY([retval, out] BSTR *p);
2333
2334     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTTRANSFORM), displaybind, bindable]
2335     HRESULT textTransform([retval, out] BSTR *p);
2336 }
2337
2338 /*****************************************************************************
2339  *    IHTMLRect interface
2340  */
2341 [
2342     odl,
2343     oleautomation,
2344     dual,
2345     uuid(3050f4a3-98b5-11cf-bb82-00aa00bdce0b)
2346 ]
2347 interface IHTMLRect : IDispatch
2348 {
2349     [propput, id(DISPID_IHTMLRECT_LEFT)]
2350     HRESULT left([in] long v);
2351
2352     [propget, id(DISPID_IHTMLRECT_LEFT)]
2353     HRESULT left([retval, out] long *p);
2354
2355     [propput, id(DISPID_IHTMLRECT_TOP)]
2356     HRESULT top([in] long v);
2357
2358     [propget, id(DISPID_IHTMLRECT_TOP)]
2359     HRESULT top([retval, out] long *p);
2360
2361     [propput, id(DISPID_IHTMLRECT_RIGHT)]
2362     HRESULT right([in] long v);
2363
2364     [propget, id(DISPID_IHTMLRECT_RIGHT)]
2365     HRESULT right([retval, out] long *p);
2366
2367     [propput, id(DISPID_IHTMLRECT_BOTTOM)]
2368     HRESULT bottom([in] long v);
2369
2370     [propget, id(DISPID_IHTMLRECT_BOTTOM)]
2371     HRESULT bottom([retval, out] long *p);
2372 }
2373
2374 /*****************************************************************************
2375  *    IHTMLRectCollection interface
2376  */
2377 [
2378     odl,
2379     oleautomation,
2380     dual,
2381     uuid(3050f4a4-98b5-11cf-bb82-00aa00bdce0b)
2382 ]
2383 interface IHTMLRectCollection : IDispatch
2384 {
2385     [propget, id(DISPID_IHTMLRECTCOLLECTION_LENGTH)]
2386     HRESULT length([retval, out] long *p);
2387
2388     [propget, id(DISPID_IHTMLRECTCOLLECTION__NEWENUM), hidden, restricted]
2389     HRESULT _newEnum([retval, out] IUnknown **p);
2390
2391     [id(DISPID_IHTMLRECTCOLLECTION_ITEM)]
2392     HRESULT item(
2393         [in] VARIANT *pvarIndex,
2394         [retval, out] VARIANT *pvarResult);
2395 }
2396
2397 /*****************************************************************************
2398  *    IHTMLDOMNode interface
2399  */
2400 [
2401     odl,
2402     oleautomation,
2403     dual,
2404     uuid(3050f5da-98b5-11cf-bb82-00aa00bdce0b)
2405 ]
2406 interface IHTMLDOMNode : IDispatch
2407 {
2408     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
2409     HRESULT nodeType([retval, out] long *p);
2410
2411     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
2412     HRESULT parentNode([retval, out] IHTMLDOMNode **p);
2413
2414     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
2415     HRESULT hasChildNodes([retval, out] VARIANT_BOOL *fChildren);
2416
2417     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
2418     HRESULT childNodes([retval, out] IDispatch **p);
2419
2420     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
2421     HRESULT attributes([retval, out] IDispatch **p);
2422
2423     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
2424     HRESULT insertBefore(
2425         [in] IHTMLDOMNode *newChild,
2426         [optional, in] VARIANT refChild,
2427         [retval, out] IHTMLDOMNode **node);
2428
2429     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
2430     HRESULT removeChild(
2431         [in] IHTMLDOMNode *oldChild,
2432         [retval, out] IHTMLDOMNode **node);
2433
2434     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
2435     HRESULT replaceChild(
2436         [in] IHTMLDOMNode *newChild,
2437         [in] IHTMLDOMNode *oldChild,
2438         [retval, out] IHTMLDOMNode **node);
2439
2440     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
2441     HRESULT cloneNode(
2442         [in] VARIANT_BOOL fDeep,
2443         [retval, out] IHTMLDOMNode **clonedNode);
2444
2445     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
2446     HRESULT removeNode(
2447         [defaultvalue(0), in] VARIANT_BOOL fDeep,
2448         [retval, out] IHTMLDOMNode **removed);
2449
2450     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
2451     HRESULT swapNode(
2452         [in] IHTMLDOMNode *otherNode,
2453         [retval, out] IHTMLDOMNode **swappedNode);
2454
2455     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
2456     HRESULT replaceNode(
2457         [in] IHTMLDOMNode *replacement,
2458         [retval, out] IHTMLDOMNode **replaced);
2459
2460     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
2461     HRESULT appendChild(
2462         [in] IHTMLDOMNode *newChild,
2463         [retval, out] IHTMLDOMNode **node);
2464
2465     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
2466     HRESULT nodeName([retval, out] BSTR *p);
2467
2468     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
2469     HRESULT nodeValue([in] VARIANT v);
2470
2471     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
2472     HRESULT nodeValue([retval, out] VARIANT *p);
2473
2474     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
2475     HRESULT firstChild([retval, out] IHTMLDOMNode **p);
2476
2477     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
2478     HRESULT lastChild([retval, out] IHTMLDOMNode **p);
2479
2480     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
2481     HRESULT previousSibling([retval, out] IHTMLDOMNode **p);
2482
2483     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
2484     HRESULT nextSibling([retval, out] IHTMLDOMNode **p);
2485 }
2486
2487 /*****************************************************************************
2488  *    IHTMLDOMNode2 interface
2489  */
2490 [
2491     odl,
2492     oleautomation,
2493     dual,
2494     uuid(3050f80b-98b5-11cf-bb82-00aa00bdce0b)
2495 ]
2496 interface IHTMLDOMNode2 : IDispatch
2497 {
2498     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
2499     HRESULT ownerDocument([retval, out] IDispatch **p);
2500 }
2501
2502 /*****************************************************************************
2503  *    IHTMLDOMAttribute interface
2504  */
2505 [
2506     odl,
2507     oleautomation,
2508     dual,
2509     uuid(3050f4b0-98b5-11cf-bb82-00aa00bdce0b)
2510 ]
2511 interface IHTMLDOMAttribute : IDispatch
2512 {
2513     [propget, id(DISPID_IHTMLDOMATTRIBUTE_NODENAME)]
2514     HRESULT nodeName([retval, out] BSTR *p);
2515
2516     [propput, id(DISPID_IHTMLDOMATTRIBUTE_NODEVALUE)]
2517     HRESULT nodeValue([in] VARIANT v);
2518
2519     [propget, id(DISPID_IHTMLDOMATTRIBUTE_NODEVALUE)]
2520     HRESULT nodeValue([retval, out] VARIANT *p);
2521
2522     [propget, id(DISPID_IHTMLDOMATTRIBUTE_SPECIFIED)]
2523     HRESULT specified([retval, out] VARIANT_BOOL *p);
2524 }
2525
2526 /*****************************************************************************
2527  *    IHTMLDOMTextNode interface
2528  */
2529 [
2530     odl,
2531     oleautomation,
2532     dual,
2533     uuid(3050f4b1-98b5-11cf-bb82-00aa00bdce0b)
2534 ]
2535 interface IHTMLDOMTextNode : IDispatch
2536 {
2537     [propput, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
2538     HRESULT data([in] BSTR v);
2539
2540     [propget, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
2541     HRESULT data([out, retval] BSTR *p);
2542
2543     [id(DISPID_IHTMLDOMTEXTNODE_TOSTRING)]
2544     HRESULT toString([out, retval] BSTR *String);
2545
2546     [propget, id(DISPID_IHTMLDOMTEXTNODE_LENGTH)]
2547     HRESULT length([out, retval] long *p);
2548
2549     [id(DISPID_IHTMLDOMTEXTNODE_SPLITTEXT)]
2550     HRESULT splitText(
2551             [in] long offset,
2552             [out, retval] IHTMLDOMNode **pRetNode);
2553 }
2554
2555 /*****************************************************************************
2556  *    IHTMLDOMImplementation interface
2557  */
2558 [
2559     odl,
2560     oleautomation,
2561     dual,
2562     uuid(3050f80d-98b5-11cf-bb82-00aa00bdce0b)
2563 ]
2564 interface IHTMLDOMImplementation : IDispatch
2565 {
2566     [id(DISPID_IHTMLDOMIMPLEMENTATION_HASFEATURE)]
2567     HRESULT hasFeature(
2568         [in] BSTR bstrfeature,
2569         [optional, in] VARIANT version,
2570         [retval, out] VARIANT_BOOL *pfHasFeature);
2571 }
2572
2573 /*****************************************************************************
2574  *    DispHTMLDOMTextNode dispinterface
2575  */
2576 [
2577     hidden,
2578     uuid(3050f565-98b5-11cf-bb82-00aa00bdce0b)
2579 ]
2580 dispinterface DispHTMLDOMTextNode
2581 {
2582 properties:
2583 methods:
2584     [propput, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
2585     void data(BSTR v);
2586
2587     [propget, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
2588     BSTR data();
2589
2590     [id(DISPID_IHTMLDOMTEXTNODE_TOSTRING)]
2591     BSTR toString();
2592
2593     [propget, id(DISPID_IHTMLDOMTEXTNODE_LENGTH)]
2594     long length();
2595
2596     [id(DISPID_IHTMLDOMTEXTNODE_SPLITTEXT)]
2597     IHTMLDOMNode *splitText([in] long offset);
2598
2599     [id(DISPID_IHTMLDOMTEXTNODE2_SUBSTRINGDATA)]
2600     BSTR substringData(
2601             [in] long offset,
2602             [in] long Count);
2603
2604     [id(DISPID_IHTMLDOMTEXTNODE2_APPENDDATA)]
2605     void appendData([in] BSTR bstrstring);
2606
2607     [id(DISPID_IHTMLDOMTEXTNODE2_INSERTDATA)]
2608     void insertData(
2609             [in] long offset,
2610             [in] BSTR bstrstring);
2611
2612     [id(DISPID_IHTMLDOMTEXTNODE2_DELETEDATA)]
2613     void deleteData(
2614             [in] long offset,
2615             [in] long Count);
2616
2617     [id(DISPID_IHTMLDOMTEXTNODE2_REPLACEDATA)]
2618     void replaceData(
2619             [in] long offset,
2620             [in] long Count,
2621             [in] BSTR bstrstring);
2622
2623     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
2624     long nodeType();
2625
2626     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
2627     IHTMLDOMNode *parentNode();
2628
2629     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
2630     VARIANT_BOOL hasChildNodes();
2631
2632     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
2633     IDispatch *childNodes();
2634
2635     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
2636     IDispatch *attributes();
2637
2638     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
2639     IHTMLDOMNode *insertBefore(
2640             [in] IHTMLDOMNode *newChild,
2641             [in, optional] VARIANT refChild);
2642
2643     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
2644     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
2645
2646     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
2647     IHTMLDOMNode *replaceChild(
2648             [in] IHTMLDOMNode *newChild,
2649             [in] IHTMLDOMNode *oldChild);
2650
2651     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
2652     IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
2653
2654     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
2655     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
2656
2657     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
2658     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
2659
2660     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
2661     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
2662
2663     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
2664     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
2665
2666     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
2667     BSTR nodeName();
2668
2669     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
2670     void nodeValue(VARIANT v);
2671
2672     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
2673     VARIANT nodeValue();
2674
2675     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
2676     IHTMLDOMNode *firstChild();
2677
2678     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
2679     IHTMLDOMNode *lastChild();
2680
2681     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
2682     IHTMLDOMNode *previousSibling();
2683
2684     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
2685     IHTMLDOMNode* nextSibling();
2686
2687     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
2688     IDispatch *ownerDocument();
2689 }
2690
2691 /*****************************************************************************
2692  *    IHTMLDOMChildrenCollection interface
2693  */
2694 [
2695     odl,
2696     oleautomation,
2697     dual,
2698     uuid(3050f5ab-98b5-11cf-bb82-00aa00bdce0b)
2699 ]
2700 interface IHTMLDOMChildrenCollection : IDispatch
2701 {
2702     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION_LENGTH)]
2703     HRESULT length([out, retval] long *p);
2704
2705     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION__NEWENUM), hidden, restricted]
2706     HRESULT _newEnum([out, retval] IUnknown **p);
2707
2708     [id(DISPID_IHTMLDOMCHILDRENCOLLECTION_ITEM)]
2709     HRESULT item(
2710             [in] long index,
2711             [out, retval] IDispatch **ppItem);
2712 }
2713
2714 /*****************************************************************************
2715  *    DispDOMChildrenCollection dispinterface
2716  */
2717 [
2718     hidden,
2719     uuid(3050f577-98b5-11cf-bb82-00aa00bdce0b)
2720 ]
2721 dispinterface DispDOMChildrenCollection
2722 {
2723 properties:
2724 methods:
2725     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION_LENGTH)]
2726     long length();
2727
2728     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION__NEWENUM), hidden, restricted]
2729     IUnknown *_newEnum();
2730
2731     [id(DISPID_IHTMLDOMCHILDRENCOLLECTION_ITEM)]
2732     IDispatch *item([in] long index);
2733 }
2734
2735 interface IHTMLElementCollection;
2736
2737 /*****************************************************************************
2738  *    IHTMLElement interface
2739  */
2740 [
2741     odl,
2742     dual,
2743     oleautomation,
2744     uuid(3050f1FF-98B5-11CF-BB82-00AA00BDCE0B)
2745 ]
2746 interface IHTMLElement : IDispatch
2747 {
2748     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
2749     HRESULT setAttribute(
2750         [in] BSTR strAttributeName,
2751         [in] VARIANT AttributeValue,
2752         [defaultvalue(1), in] LONG lFlags);
2753
2754     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
2755     HRESULT getAttribute(
2756         [in] BSTR strAttributeName,
2757         [defaultvalue(0), in] LONG lFlags,
2758         [retval, out] VARIANT *AttributeValue);
2759
2760     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
2761     HRESULT removeAttribute(
2762         [in] BSTR strAttributeName,
2763         [defaultvalue(1), in] LONG lFlags,
2764         [retval, out] VARIANT_BOOL *pfSuccess);
2765
2766     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME)]
2767     HRESULT className([in] BSTR v);
2768
2769     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME)]
2770     HRESULT className([retval, out] BSTR *p);
2771
2772     [propput, id(DISPID_IHTMLELEMENT_ID)]
2773     HRESULT id([in] BSTR v);
2774
2775     [propget, id(DISPID_IHTMLELEMENT_ID)]
2776     HRESULT id([retval, out] BSTR *p);
2777
2778     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
2779     HRESULT tagName([retval, out] BSTR *p);
2780
2781     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
2782     HRESULT parentElement([retval, out] IHTMLElement **p);
2783
2784     [propget, id(DISPID_IHTMLELEMENT_STYLE)]
2785     HRESULT style([retval, out] IHTMLStyle **p);
2786
2787     [propput, id(DISPID_IHTMLELEMENT_ONHELP)]
2788     HRESULT onhelp([in] VARIANT v);
2789
2790     [propget, id(DISPID_IHTMLELEMENT_ONHELP)]
2791     HRESULT onhelp([retval, out] VARIANT *p);
2792
2793     [propput, id(DISPID_IHTMLELEMENT_ONCLICK)]
2794     HRESULT onclick([in] VARIANT v);
2795
2796     [propget, id(DISPID_IHTMLELEMENT_ONCLICK)]
2797     HRESULT onclick([retval, out] VARIANT *p);
2798
2799     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK)]
2800     HRESULT ondblclick([in] VARIANT v);
2801
2802     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK)]
2803     HRESULT ondblclick([retval, out] VARIANT *p);
2804
2805     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN)]
2806     HRESULT onkeydown([in] VARIANT v);
2807
2808     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN)]
2809     HRESULT onkeydown([retval, out] VARIANT *p);
2810
2811     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP)]
2812     HRESULT onkeyup([in] VARIANT v);
2813
2814     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP)]
2815     HRESULT onkeyup([retval, out] VARIANT *p);
2816
2817     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS)]
2818     HRESULT onkeypress([in] VARIANT v);
2819
2820     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS)]
2821     HRESULT onkeypress([retval, out] VARIANT *p);
2822
2823     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT)]
2824     HRESULT onmouseout([in] VARIANT v);
2825
2826     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT)]
2827     HRESULT onmouseout([retval, out] VARIANT *p);
2828
2829     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER)]
2830     HRESULT onmouseover([in] VARIANT v);
2831
2832     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER)]
2833     HRESULT onmouseover([retval, out] VARIANT *p);
2834
2835     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE)]
2836     HRESULT onmousemove([in] VARIANT v);
2837
2838     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE)]
2839     HRESULT onmousemove([retval, out] VARIANT *p);
2840
2841     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN)]
2842     HRESULT onmousedown([in] VARIANT v);
2843
2844     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN)]
2845     HRESULT onmousedown([retval, out] VARIANT *p);
2846
2847     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP)]
2848     HRESULT onmouseup([in] VARIANT v);
2849
2850     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP)]
2851     HRESULT onmouseup([retval, out] VARIANT *p);
2852
2853     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
2854     HRESULT document([retval, out] IDispatch **p);
2855
2856     [propput, id(DISPID_IHTMLELEMENT_TITLE)]
2857     HRESULT title([in] BSTR v);
2858
2859     [propget, id(DISPID_IHTMLELEMENT_TITLE)]
2860     HRESULT title([retval, out] BSTR *p);
2861
2862     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE)]
2863     HRESULT language([in] BSTR v);
2864
2865     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE)]
2866     HRESULT language([retval, out] BSTR *p);
2867
2868     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART)]
2869     HRESULT onselectstart([in] VARIANT v);
2870
2871     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART)]
2872     HRESULT onselectstart([retval, out] VARIANT *p);
2873
2874     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
2875     HRESULT scrollIntoView([optional, in] VARIANT varargStart);
2876
2877     [id(DISPID_IHTMLELEMENT_CONTAINS)]
2878     HRESULT contains(
2879         [in] IHTMLElement *pChild,
2880         [retval, out] VARIANT_BOOL *pfResult);
2881
2882     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX)]
2883     HRESULT sourceIndex([retval, out] long *p);
2884
2885     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
2886     HRESULT recordNumber([retval, out] VARIANT *p);
2887
2888     [propput, id(DISPID_IHTMLELEMENT_LANG)]
2889     HRESULT lang([in] BSTR v);
2890
2891     [propget, id(DISPID_IHTMLELEMENT_LANG)]
2892     HRESULT lang([retval, out] BSTR *p);
2893
2894     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
2895     HRESULT offsetLeft([retval, out] long *p);
2896
2897     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
2898     HRESULT offsetTop([retval, out] long *p);
2899
2900     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
2901     HRESULT offsetWidth([retval, out] long *p);
2902
2903     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
2904     HRESULT offsetHeight([retval, out] long *p);
2905
2906     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
2907     HRESULT offsetParent([retval, out] IHTMLElement **p);
2908
2909     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
2910     HRESULT innerHTML([in] BSTR v);
2911
2912     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
2913     HRESULT innerHTML([retval, out] BSTR *p);
2914
2915     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
2916     HRESULT innerText([in] BSTR v);
2917
2918     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
2919     HRESULT innerText([retval, out] BSTR *p);
2920
2921     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
2922     HRESULT outerHTML([in] BSTR v);
2923
2924     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
2925     HRESULT outerHTML([retval, out] BSTR *p);
2926
2927     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
2928     HRESULT outerText([in] BSTR v);
2929
2930     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
2931     HRESULT outerText([retval, out] BSTR *p);
2932
2933     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
2934     HRESULT insertAdjacentHTML([in] BSTR where, [in] BSTR html);
2935
2936     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
2937     HRESULT insertAdjacentText([in] BSTR where, [in] BSTR text);
2938
2939     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
2940     HRESULT parentTextEdit([retval, out] IHTMLElement **p);
2941
2942     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
2943     HRESULT isTextEdit([retval, out] VARIANT_BOOL *p);
2944
2945     [id(DISPID_IHTMLELEMENT_CLICK)]
2946     HRESULT click();
2947
2948     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
2949     HRESULT filters([retval, out] IHTMLFiltersCollection **p);
2950
2951     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART)]
2952     HRESULT ondragstart([in] VARIANT v);
2953
2954     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART)]
2955     HRESULT ondragstart([retval, out] VARIANT *p);
2956
2957     [id(DISPID_IHTMLELEMENT_TOSTRING)]
2958     HRESULT toString([retval, out] BSTR *String);
2959
2960     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE)]
2961     HRESULT onbeforeupdate([in] VARIANT v);
2962
2963     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE)]
2964     HRESULT onbeforeupdate([retval, out] VARIANT *p);
2965
2966     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE)]
2967     HRESULT onafterupdate([in] VARIANT v);
2968
2969     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE)]
2970     HRESULT onafterupdate([retval, out] VARIANT *p);
2971
2972     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE)]
2973     HRESULT onerrorupdate([in] VARIANT v);
2974
2975     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE)]
2976     HRESULT onerrorupdate([retval, out] VARIANT *p);
2977
2978     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT)]
2979     HRESULT onrowexit([in] VARIANT v);
2980
2981     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT)]
2982     HRESULT onrowexit([retval, out] VARIANT *p);
2983
2984     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER)]
2985     HRESULT onrowenter([in] VARIANT v);
2986
2987     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER)]
2988     HRESULT onrowenter([retval, out] VARIANT *p);
2989
2990     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED)]
2991     HRESULT ondatasetchanged([in] VARIANT v);
2992
2993     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED)]
2994     HRESULT ondatasetchanged([retval, out] VARIANT *p);
2995
2996     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE)]
2997     HRESULT ondataavailable([in] VARIANT v);
2998
2999     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE)]
3000     HRESULT ondataavailable([retval, out] VARIANT *p);
3001
3002     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE)]
3003     HRESULT ondatasetcomplete([in] VARIANT v);
3004
3005     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE)]
3006     HRESULT ondatasetcomplete([retval, out] VARIANT *p);
3007
3008     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE)]
3009     HRESULT onfilterchange([in] VARIANT v);
3010
3011     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE)]
3012     HRESULT onfilterchange([retval, out] VARIANT *p);
3013
3014     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
3015     HRESULT children([retval, out] IDispatch **p);
3016
3017     [propget, id(DISPID_IHTMLELEMENT_ALL)]
3018     HRESULT all([retval, out] IDispatch **p);
3019 }
3020
3021 /*****************************************************************************
3022  *    IHTMLElement2 interface
3023  */
3024 [
3025     odl,
3026     oleautomation,
3027     dual,
3028     uuid(3050f434-98b5-11cf-bb82-00aa00bdce0b)
3029 ]
3030 interface IHTMLElement2 : IDispatch
3031 {
3032     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
3033     HRESULT scopeName([retval, out] BSTR *p);
3034
3035     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
3036     HRESULT setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
3037
3038     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
3039     HRESULT releaseCapture();
3040
3041     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
3042     HRESULT onlosecapture([in] VARIANT v);
3043
3044     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
3045     HRESULT onlosecapture([retval, out] VARIANT *p);
3046
3047     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
3048     HRESULT componentFromPoint(
3049         [in] long x,
3050         [in] long y,
3051         [retval, out] BSTR *component);
3052
3053     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
3054     HRESULT doScroll([optional, in] VARIANT component);
3055
3056     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
3057     HRESULT onscroll([in] VARIANT v);
3058
3059     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
3060     HRESULT onscroll([retval, out] VARIANT *p);
3061
3062     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
3063     HRESULT ondrag([in] VARIANT v);
3064
3065     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
3066     HRESULT ondrag([retval, out] VARIANT *p);
3067
3068     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
3069     HRESULT ondragend([in] VARIANT v);
3070
3071     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
3072     HRESULT ondragend([retval, out] VARIANT *p);
3073
3074     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
3075     HRESULT ondragenter([in] VARIANT v);
3076
3077     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
3078     HRESULT ondragenter([retval, out] VARIANT *p);
3079
3080     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
3081     HRESULT ondragover([in] VARIANT v);
3082
3083     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
3084     HRESULT ondragover([retval, out] VARIANT *p);
3085
3086     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
3087     HRESULT ondragleave([in] VARIANT v);
3088
3089     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
3090     HRESULT ondragleave([retval, out] VARIANT *p);
3091
3092     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
3093     HRESULT ondrop([in] VARIANT v);
3094
3095     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
3096     HRESULT ondrop([retval, out] VARIANT *p);
3097
3098     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
3099     HRESULT onbeforecut([in] VARIANT v);
3100
3101     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
3102     HRESULT onbeforecut([retval, out] VARIANT *p);
3103
3104     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
3105     HRESULT oncut([in] VARIANT v);
3106
3107     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
3108     HRESULT oncut([retval, out] VARIANT *p);
3109
3110     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
3111     HRESULT onbeforecopy([in] VARIANT v);
3112
3113     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
3114     HRESULT onbeforecopy([retval, out] VARIANT *p);
3115
3116     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
3117     HRESULT oncopy([in] VARIANT v);
3118
3119     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
3120     HRESULT oncopy([retval, out] VARIANT *p);
3121
3122     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
3123     HRESULT onbeforepaste([in] VARIANT v);
3124
3125     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
3126     HRESULT onbeforepaste([retval, out] VARIANT *p);
3127
3128     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
3129     HRESULT onpaste([in] VARIANT v);
3130
3131     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
3132     HRESULT onpaste([retval, out] VARIANT *p);
3133
3134     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
3135     HRESULT currentStyle([retval, out] IHTMLCurrentStyle **p);
3136
3137     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
3138     HRESULT onpropertychange([in] VARIANT v);
3139
3140     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
3141     HRESULT onpropertychange([retval, out] VARIANT *p);
3142
3143     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
3144     HRESULT getClientRects([retval, out] IHTMLRectCollection **pRectCol);
3145
3146     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
3147     HRESULT getBoundingClientRect([retval, out] IHTMLRect **pRect);
3148
3149     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
3150     HRESULT setExpression(
3151         [in] BSTR propname,
3152         [in] BSTR expression,
3153         [defaultvalue(""), in] BSTR language);
3154
3155     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
3156     HRESULT getExpression(
3157         [in] BSTR propname,
3158         [retval, out] VARIANT *expression);
3159
3160     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
3161     HRESULT removeExpression(
3162         [in] BSTR propname,
3163         [retval, out] VARIANT_BOOL *pfSuccess);
3164
3165     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
3166     HRESULT tabIndex([in] short v);
3167
3168     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
3169     HRESULT tabIndex([retval, out] short *p);
3170
3171     [id(DISPID_IHTMLELEMENT2_FOCUS)]
3172     HRESULT focus();
3173
3174     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
3175     HRESULT accessKey([in] BSTR v);
3176
3177     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
3178     HRESULT accessKey([retval, out] BSTR *p);
3179
3180     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
3181     HRESULT onblur([in] VARIANT v);
3182
3183     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
3184     HRESULT onblur([retval, out] VARIANT *p);
3185
3186     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
3187     HRESULT onfocus([in] VARIANT v);
3188
3189     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
3190     HRESULT onfocus([retval, out] VARIANT *p);
3191
3192     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
3193     HRESULT onresize([in] VARIANT v);
3194
3195     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
3196     HRESULT onresize([retval, out] VARIANT *p);
3197
3198     [id(DISPID_IHTMLELEMENT2_BLUR)]
3199     HRESULT blur();
3200
3201     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
3202     HRESULT addFilter([in] IUnknown *pUnk);
3203
3204     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
3205     HRESULT removeFilter([in] IUnknown *pUnk);
3206
3207     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
3208     HRESULT clientHeight([retval, out] long *p);
3209
3210     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
3211     HRESULT clientWidth([retval, out] long *p);
3212
3213     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
3214     HRESULT clientTop([retval, out] long *p);
3215
3216     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
3217     HRESULT clientLeft([retval, out] long *p);
3218
3219     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
3220     HRESULT attachEvent(
3221         [in] BSTR event,
3222         [in] IDispatch *pDisp,
3223         [retval, out] VARIANT_BOOL *pfResult);
3224
3225     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
3226     HRESULT detachEvent(
3227         [in] BSTR event,
3228         [in] IDispatch *pDisp);
3229
3230     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
3231     HRESULT readyState([retval, out] VARIANT *p);
3232
3233     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
3234     HRESULT onreadystatechange([in] VARIANT v);
3235
3236     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
3237     HRESULT onreadystatechange([retval, out] VARIANT *p);
3238
3239     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
3240     HRESULT onrowsdelete([in] VARIANT v);
3241
3242     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
3243     HRESULT onrowsdelete([retval, out] VARIANT *p);
3244
3245     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
3246     HRESULT onrowsinserted([in] VARIANT v);
3247
3248     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
3249     HRESULT onrowsinserted([retval, out] VARIANT *p);
3250
3251     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
3252     HRESULT oncellchange([in] VARIANT v);
3253
3254     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
3255     HRESULT oncellchange([retval, out] VARIANT *p);
3256
3257     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
3258     HRESULT dir([in] BSTR v);
3259
3260     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
3261     HRESULT dir([retval, out] BSTR *p);
3262
3263     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
3264     HRESULT createControlRange([retval, out] IDispatch **range);
3265
3266     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
3267     HRESULT scrollHeight([retval, out] long *p);
3268
3269     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
3270     HRESULT scrollWidth([retval, out] long *p);
3271
3272     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
3273     HRESULT scrollTop([in] long v);
3274
3275     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
3276     HRESULT scrollTop([retval, out] long *p);
3277
3278     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
3279     HRESULT scrollLeft([in] long v);
3280
3281     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
3282     HRESULT scrollLeft([retval, out] long *p);
3283
3284     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
3285     HRESULT clearAttributes();
3286
3287     [id(DISPID_IHTMLELEMENT2_MERGEATTRIBUTES)]
3288     HRESULT mergeAttributes([in] IHTMLElement *mergeThis);
3289
3290     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
3291     HRESULT oncontextmenu([in] VARIANT v);
3292
3293     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
3294     HRESULT oncontextmenu([retval, out] VARIANT *p);
3295
3296     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
3297     HRESULT insertAdjacentElement(
3298         [in] BSTR where,
3299         [in] IHTMLElement *insertedElement,
3300         [retval, out] IHTMLElement **inserted);
3301
3302     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
3303     HRESULT applyElement(
3304         [in] IHTMLElement *apply,
3305         [in] BSTR where,
3306         [retval, out] IHTMLElement **applied);
3307
3308     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
3309     HRESULT getAdjacentText(
3310         [in] BSTR where,
3311         [retval, out] BSTR *text);
3312
3313     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
3314     HRESULT replaceAdjacentText(
3315         [in] BSTR where,
3316         [in] BSTR newText,
3317         [retval, out] BSTR *oldText);
3318
3319     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
3320     HRESULT canHaveChildren([retval, out] VARIANT_BOOL *p);
3321
3322     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
3323     HRESULT addBehavior(
3324         [in] BSTR bstrUrl,
3325         [optional, in] VARIANT *pvarFactory,
3326         [retval, out] long *pCookie);
3327
3328     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
3329     HRESULT removeBehavior(
3330         [in] long cookie,
3331         [retval, out] VARIANT_BOOL *pfResult);
3332
3333     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
3334     HRESULT runtimeStyle([retval, out] IHTMLStyle **p);
3335
3336     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
3337     HRESULT behaviorUrns([retval, out] IDispatch **p);
3338
3339     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
3340     HRESULT tagUrn([in] BSTR v);
3341
3342     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
3343     HRESULT tagUrn([retval, out] BSTR *p);
3344
3345     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
3346     HRESULT onbeforeeditfocus([in] VARIANT v);
3347
3348     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
3349     HRESULT onbeforeeditfocus([retval, out] VARIANT *p);
3350
3351     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
3352     HRESULT readyStateValue([retval, out] long *p);
3353
3354     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
3355     HRESULT getElementsByTagName(
3356         [in] BSTR v,
3357         [retval, out] IHTMLElementCollection **pelColl);
3358 }
3359
3360 /*****************************************************************************
3361  *    IHTMLStyleSheetRule interface
3362  */
3363 [
3364     odl,
3365     oleautomation,
3366     dual,
3367     uuid(3050F357-98B5-11CF-BB82-00AA00BDCE0B)
3368 ]
3369 interface IHTMLStyleSheetRule : IDispatch
3370 {
3371     [propput, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)]
3372     HRESULT selectorText([in] BSTR v);
3373
3374     [propget, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)]
3375     HRESULT selectorText([retval, out] BSTR *p);
3376
3377     [propget, id(DISPID_IHTMLSTYLESHEETRULE_STYLE)]
3378     HRESULT style([retval, out] IHTMLRuleStyle **p);
3379
3380     [propget, id(DISPID_IHTMLSTYLESHEETRULE_READONLY)]
3381     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
3382 }
3383
3384 /*****************************************************************************
3385  *    IHTMLStyleSheetRulesCollection interface
3386  */
3387 [
3388     odl,
3389     oleautomation,
3390     dual,
3391     uuid(3050F2E5-98B5-11Cf-BB82-00AA00BDCE0B)
3392 ]
3393 interface IHTMLStyleSheetRulesCollection : IDispatch
3394 {
3395     [propget, id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_LENGTH)]
3396     HRESULT length([retval, out] long *p);
3397
3398     [id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_ITEM)]
3399     HRESULT item(
3400         [in] long index,
3401         [retval, out] IHTMLStyleSheetRule **ppHTMLStyleSheetRule);
3402 }
3403
3404 /*****************************************************************************
3405  *    IHTMLStyleSheet interface
3406  */
3407 [
3408     odl,
3409     oleautomation,
3410     dual,
3411     uuid(3050F2E3-98B5-11CF-BB82-00AA00BDCE0B)
3412 ]
3413 interface IHTMLStyleSheet : IDispatch
3414 {
3415     [propput, id(DISPID_IHTMLSTYLESHEET_TITLE)]
3416     HRESULT title([in] BSTR v);
3417
3418     [propget, id(DISPID_IHTMLSTYLESHEET_TITLE)]
3419     HRESULT title([retval, out] BSTR *p);
3420
3421     [propget, id(DISPID_IHTMLSTYLESHEET_PARENTSTYLESHEET)]
3422     HRESULT parentStyleSheet([retval, out] IHTMLStyleSheet **p);
3423
3424     [propget, id(DISPID_IHTMLSTYLESHEET_OWNINGELEMENT)]
3425     HRESULT owningElement([retval, out] IHTMLElement **p);
3426
3427     [propput, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
3428     HRESULT disabled([in] VARIANT_BOOL v);
3429
3430     [propget, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
3431     HRESULT disabled([retval, out] VARIANT_BOOL *p);
3432
3433     [propget, id(DISPID_IHTMLSTYLESHEET_READONLY)]
3434     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
3435
3436     [propget, id(DISPID_IHTMLSTYLESHEET_IMPORTS)]
3437     HRESULT imports([retval, out] IHTMLStyleSheetsCollection **p);
3438
3439     [propput, id(DISPID_IHTMLSTYLESHEET_HREF)]
3440     HRESULT href([in] BSTR v);
3441
3442     [propget, id(DISPID_IHTMLSTYLESHEET_HREF)]
3443     HRESULT href([retval, out] BSTR *p);
3444
3445     [propget, id(DISPID_IHTMLSTYLESHEET_TYPE)]
3446     HRESULT type([retval, out] BSTR *p);
3447
3448     [propget, id(DISPID_IHTMLSTYLESHEET_ID)]
3449     HRESULT id([retval, out] BSTR *p);
3450
3451     [id(DISPID_IHTMLSTYLESHEET_ADDIMPORT)]
3452     HRESULT addImport(
3453         [in] BSTR bstrURL,
3454         [defaultvalue(-1), in] long lIndex,
3455         [retval, out] long *plIndex);
3456
3457     [id(DISPID_IHTMLSTYLESHEET_ADDRULE)]
3458     HRESULT addRule(
3459         [in] BSTR bstrSelector,
3460         [in] BSTR bstrStyle,
3461         [defaultvalue(-1), in] long lIndex,
3462         [retval, out] long *plNewIndex);
3463
3464     [id(DISPID_IHTMLSTYLESHEET_REMOVEIMPORT)]
3465     HRESULT removeImport([in] long lIndex);
3466
3467     [id(DISPID_IHTMLSTYLESHEET_REMOVERULE)]
3468     HRESULT removeRule([in] long lIndex);
3469
3470     [propput, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
3471     HRESULT media([in] BSTR v);
3472
3473     [propget, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
3474     HRESULT media([retval, out] BSTR *p);
3475
3476     [propput, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
3477     HRESULT cssText([in] BSTR v);
3478
3479     [propget, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
3480     HRESULT cssText([retval, out] BSTR *p);
3481
3482     [propget, id(DISPID_IHTMLSTYLESHEET_RULES)]
3483     HRESULT rules([retval, out] IHTMLStyleSheetRulesCollection **p);
3484 }
3485
3486 /*****************************************************************************
3487  *    IHTMLStyleSheetsCollection interface
3488  */
3489 [
3490     odl,
3491     oleautomation,
3492     dual,
3493     uuid(3050F37E-98B5-11CF-BB82-00AA00BDCE0B)
3494 ]
3495 interface IHTMLStyleSheetsCollection : IDispatch
3496 {
3497     [propget, id(DISPID_IHTMLSTYLESHEETSCOLLECTION_LENGTH)]
3498     HRESULT length([retval, out] long *p);
3499
3500     [propget, id(DISPID_IHTMLSTYLESHEETSCOLLECTION__NEWENUM)]
3501     HRESULT _newEnum([retval, out] IUnknown **p);
3502
3503     [id(DISPID_IHTMLSTYLESHEETSCOLLECTION_ITEM)]
3504     HRESULT item(
3505         [in] VARIANT *pvarIndex,
3506         [retval, out] VARIANT *pvarResult);
3507 }
3508
3509 /*****************************************************************************
3510  *    IHTMLTxtRange interface
3511  */
3512 [
3513     odl,
3514     oleautomation,
3515     dual,
3516     uuid(3050f220-98b5-11cf-bb82-00aa00bdce0b)
3517 ]
3518 interface IHTMLTxtRange : IDispatch
3519 {
3520     [propget, id(DISPID_IHTMLTXTRANGE_HTMLTEXT)]
3521     HRESULT htmlText([retval, out] BSTR *p);
3522
3523     [propput, id(DISPID_IHTMLTXTRANGE_TEXT)]
3524     HRESULT text([in] BSTR v);
3525
3526     [propget, id(DISPID_IHTMLTXTRANGE_TEXT)]
3527     HRESULT text([retval, out] BSTR *p);
3528
3529     [id(DISPID_IHTMLTXTRANGE_PARENTELEMENT)]
3530     HRESULT parentElement([retval, out] IHTMLElement **parent);
3531
3532     [id(DISPID_IHTMLTXTRANGE_DUPLICATE)]
3533     HRESULT duplicate([retval, out] IHTMLTxtRange **Duplicate);
3534
3535     [id(DISPID_IHTMLTXTRANGE_INRANGE)]
3536     HRESULT inRange(
3537         [in] IHTMLTxtRange *Range,
3538         [retval, out] VARIANT_BOOL *InRange);
3539
3540     [id(DISPID_IHTMLTXTRANGE_ISEQUAL)]
3541     HRESULT isEqual(
3542         [in] IHTMLTxtRange *Range,
3543         [retval, out] VARIANT_BOOL *IsEqual);
3544
3545     [id(DISPID_IHTMLTXTRANGE_SCROLLINTOVIEW)]
3546     HRESULT scrollIntoView([defaultvalue(-1), in] VARIANT_BOOL fStart);
3547
3548     [id(DISPID_IHTMLTXTRANGE_COLLAPSE)]
3549     HRESULT collapse([defaultvalue(-1), in] VARIANT_BOOL Start);
3550
3551     [id(DISPID_IHTMLTXTRANGE_EXPAND)]
3552     HRESULT expand(
3553         [in] BSTR Unit,
3554         [retval, out] VARIANT_BOOL *Success);
3555
3556     [id(DISPID_IHTMLTXTRANGE_MOVE)]
3557     HRESULT move(
3558         [in] BSTR Unit,
3559         [defaultvalue(1), in] long Count,
3560         [retval, out] long *ActualCount);
3561
3562     [id(DISPID_IHTMLTXTRANGE_MOVESTART)]
3563     HRESULT moveStart(
3564         [in] BSTR Unit,
3565         [defaultvalue(1), in] long Count,
3566         [retval, out] long *ActualCount);
3567
3568     [id(DISPID_IHTMLTXTRANGE_MOVEEND)]
3569     HRESULT moveEnd(
3570         [in] BSTR Unit,
3571         [defaultvalue(1), in] long Count,
3572         [retval, out] long *ActualCount);
3573
3574     [id(DISPID_IHTMLTXTRANGE_SELECT)]
3575     HRESULT select();
3576
3577     [id(DISPID_IHTMLTXTRANGE_PASTEHTML)]
3578     HRESULT pasteHTML([in] BSTR html);
3579
3580     [id(DISPID_IHTMLTXTRANGE_MOVETOELEMENTTEXT)]
3581     HRESULT moveToElementText([in] IHTMLElement *element);
3582
3583     [id(DISPID_IHTMLTXTRANGE_SETENDPOINT)]
3584     HRESULT setEndPoint(
3585         [in] BSTR how,
3586         [in] IHTMLTxtRange *SourceRange);
3587
3588     [id(DISPID_IHTMLTXTRANGE_COMPAREENDPOINTS)]
3589     HRESULT compareEndPoints(
3590         [in] BSTR how,
3591         [in] IHTMLTxtRange *SourceRange,
3592         [retval, out] long *ret);
3593
3594     [id(DISPID_IHTMLTXTRANGE_FINDTEXT)]
3595     HRESULT findText(
3596         [in] BSTR String,
3597         [defaultvalue(1073741823), in] long count,
3598         [defaultvalue(0), in] long Flags,
3599         [retval, out] VARIANT_BOOL *Success);
3600
3601     [id(DISPID_IHTMLTXTRANGE_MOVETOPOINT)]
3602     HRESULT moveToPoint(
3603         [in] long x,
3604         [in] long y);
3605
3606     [id(DISPID_IHTMLTXTRANGE_GETBOOKMARK)]
3607     HRESULT getBookmark([retval, out] BSTR *Boolmark);
3608
3609     [id(DISPID_IHTMLTXTRANGE_MOVETOBOOKMARK)]
3610     HRESULT moveToBookmark(
3611         [in] BSTR Bookmark,
3612         [retval, out] VARIANT_BOOL *Success);
3613
3614     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDSUPPORTED)]
3615     HRESULT queryCommandSupported(
3616         [in] BSTR cmdID,
3617         [retval, out] VARIANT_BOOL *pfRet);
3618
3619     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDENABLED)]
3620     HRESULT queryCommandEnabled(
3621         [in] BSTR cmdID,
3622         [retval, out] VARIANT_BOOL *pfRet);
3623
3624     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDSTATE)]
3625     HRESULT queryCommandState(
3626         [in] BSTR cmdID,
3627         [retval, out] VARIANT_BOOL *pfRet);
3628
3629     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDINDETERM)]
3630     HRESULT queryCommandIndeterm(
3631         [in] BSTR cmdID,
3632         [retval, out] VARIANT_BOOL *pfRet);
3633
3634     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDTEXT)]
3635     HRESULT queryCommandText(
3636         [in] BSTR cmdID,
3637         [retval, out] BSTR *pcmdText);
3638
3639     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDVALUE)]
3640     HRESULT queryCommandValue(
3641         [in] BSTR cmdID,
3642         [retval, out] VARIANT *pcmdValue);
3643
3644     [id(DISPID_IHTMLTXTRANGE_EXECCOMMAND)]
3645     HRESULT execCommand(
3646         [in] BSTR cmdID,
3647         [defaultvalue(0), in] VARIANT_BOOL showUI,
3648         [optional, in] VARIANT value,
3649         [retval, out] VARIANT_BOOL *pfRet);
3650
3651     [id(DISPID_IHTMLTXTRANGE_EXECCOMMANDSHOWHELP)]
3652     HRESULT execCommandShowHelp(
3653         [in] BSTR cmdID,
3654         [retval, out] VARIANT_BOOL *pfRet);
3655 }
3656
3657 /*****************************************************************************
3658  *    IHTMLFormElement interface
3659  */
3660 [
3661     odl,
3662     oleautomation,
3663     dual,
3664     uuid(3050F1F7-98B5-11CF-BB82-00AA00BDCE0B)
3665 ]
3666 interface IHTMLFormElement : IDispatch
3667 {
3668     [propput, id(DISPID_IHTMLFORMELEMENT_ACTION)]
3669     HRESULT action([in] BSTR v);
3670
3671     [propget, id(DISPID_IHTMLFORMELEMENT_ACTION)]
3672     HRESULT action([retval, out] BSTR *p);
3673
3674     [propput, id(DISPID_IHTMLFORMELEMENT_DIR)]
3675     HRESULT dir([in] BSTR v);
3676
3677     [propget, id(DISPID_IHTMLFORMELEMENT_DIR)]
3678     HRESULT dir([retval, out] BSTR *p);
3679
3680     [propput, id(DISPID_IHTMLFORMELEMENT_ENCODING)]
3681     HRESULT encoding([in] BSTR v);
3682
3683     [propget, id(DISPID_IHTMLFORMELEMENT_ENCODING)]
3684     HRESULT encoding([retval, out] BSTR *p);
3685
3686     [propput, id(DISPID_IHTMLFORMELEMENT_METHOD)]
3687     HRESULT method([in] BSTR v);
3688
3689     [propget, id(DISPID_IHTMLFORMELEMENT_METHOD)]
3690     HRESULT method([retval, out] BSTR *p);
3691
3692     [propget, id(DISPID_IHTMLFORMELEMENT_ELEMENTS)]
3693     HRESULT elements([retval, out] IDispatch **p);
3694
3695     [propput, id(DISPID_IHTMLFORMELEMENT_TARGET)]
3696     HRESULT target([in] BSTR v);
3697
3698     [propget, id(DISPID_IHTMLFORMELEMENT_TARGET)]
3699     HRESULT target([retval, out] BSTR *p);
3700
3701     [propput, id(DISPID_IHTMLFORMELEMENT_NAME)]
3702     HRESULT name([in] BSTR v);
3703
3704     [propget, id(DISPID_IHTMLFORMELEMENT_NAME)]
3705     HRESULT name([retval, out] BSTR *p);
3706
3707     [propput, id(DISPID_IHTMLFORMELEMENT_ONSUBMIT)]
3708     HRESULT onsubmit([in] VARIANT v);
3709
3710     [propget, id(DISPID_IHTMLFORMELEMENT_ONSUBMIT)]
3711     HRESULT onsubmit([retval, out] VARIANT *p);
3712
3713     [propput, id(DISPID_IHTMLFORMELEMENT_ONRESET)]
3714     HRESULT onreset([in] VARIANT v);
3715
3716     [propget, id(DISPID_IHTMLFORMELEMENT_ONRESET)]
3717     HRESULT onreset([retval, out] VARIANT *p);
3718
3719     [id(DISPID_IHTMLFORMELEMENT_SUBMIT)]
3720     HRESULT submit();
3721
3722     [id(DISPID_IHTMLFORMELEMENT_RESET)]
3723     HRESULT reset();
3724
3725     [propput, id(DISPID_IHTMLFORMELEMENT_LENGTH)]
3726     HRESULT length([in] long v);
3727
3728     [propget, id(DISPID_IHTMLFORMELEMENT_LENGTH)]
3729     HRESULT length([retval, out] long *p);
3730
3731     [propget, id(DISPID_IHTMLFORMELEMENT__NEWENUM)]
3732     HRESULT _newEnum([retval, out] IUnknown **p);
3733
3734     [id(DISPID_IHTMLFORMELEMENT_ITEM)]
3735     HRESULT item(
3736         [optional, in] VARIANT name,
3737         [optional, in] VARIANT index,
3738         [retval, out] IDispatch **pdisp);
3739
3740     [id(DISPID_IHTMLFORMELEMENT_TAGS)]
3741     HRESULT tags(
3742         [in] VARIANT tagName,
3743         [retval, out] IDispatch **pdisp);
3744 }
3745
3746 /*****************************************************************************
3747  *    IHTMLTextContainer interface
3748  */
3749 [
3750     odl,
3751     oleautomation,
3752     dual,
3753     uuid(3050f230-98b5-11cf-bb82-00aa00bdce0b)
3754 ]
3755 interface IHTMLTextContainer : IDispatch
3756 {
3757     [id(DISPID_IHTMLTEXTCONTAINER_CREATECONTROLRANGE)]
3758     HRESULT createControlRange([retval, out] IDispatch **range);
3759
3760     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLHEIGHT), displaybind, bindable]
3761     HRESULT scrollHeight([retval, out] long *p);
3762
3763     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLWIDTH), displaybind, bindable]
3764     HRESULT scrollWidth([retval, out] long *p);
3765
3766     [propput, id(DISPID_IHTMLTEXTCONTAINER_SCROLLTOP), displaybind, bindable]
3767     HRESULT scrollTop([in] long v);
3768
3769     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLTOP), displaybind, bindable]
3770     HRESULT scrollTop([retval, out] long *p);
3771
3772     [propput, id(DISPID_IHTMLTEXTCONTAINER_SCROLLLEFT), displaybind, bindable]
3773     HRESULT scrollLeft([in] long v);
3774
3775     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLLEFT), displaybind, bindable]
3776     HRESULT scrollLeft([retval, out] long *p);
3777
3778     [propput, id(DISPID_IHTMLTEXTCONTAINER_ONSCROLL), displaybind, bindable]
3779     HRESULT onscroll([in] VARIANT v);
3780
3781     [propget, id(DISPID_IHTMLTEXTCONTAINER_ONSCROLL), displaybind, bindable]
3782     HRESULT onscroll([retval, out] VARIANT *p);
3783 }
3784
3785 /*****************************************************************************
3786  *    IHTMLImgElement interface
3787  */
3788 [
3789     odl,
3790     oleautomation,
3791     dual,
3792     uuid(3050F240-98B5-11CF-BB82-00AA00BDCE0B)
3793 ]
3794 interface IHTMLImgElement : IDispatch
3795 {
3796     [propput, id(DISPID_IHTMLIMGELEMENT_ISMAP)]
3797     HRESULT isMap([in] VARIANT_BOOL v);
3798
3799     [propget, id(DISPID_IHTMLIMGELEMENT_ISMAP)]
3800     HRESULT isMap([retval, out] VARIANT_BOOL *p);
3801
3802     [propput, id(DISPID_IHTMLIMGELEMENT_USEMAP)]
3803     HRESULT useMap([in] BSTR v);
3804
3805     [propget, id(DISPID_IHTMLIMGELEMENT_USEMAP)]
3806     HRESULT useMap([retval, out] BSTR *p);
3807
3808     [propget, id(DISPID_IHTMLIMGELEMENT_MIMETYPE)]
3809     HRESULT mimeType([retval, out] BSTR *p);
3810
3811     [propget, id(DISPID_IHTMLIMGELEMENT_FILESIZE)]
3812     HRESULT fileSize([retval, out] BSTR *p);
3813
3814     [propget, id(DISPID_IHTMLIMGELEMENT_FILECREATEDDATE)]
3815     HRESULT fileCreatedDate([retval, out] BSTR *p);
3816
3817     [propget, id(DISPID_IHTMLIMGELEMENT_FILEMODIFIEDDATE)]
3818     HRESULT fileModifiedDate([retval, out] BSTR *p);
3819
3820     [propget, id(DISPID_IHTMLIMGELEMENT_FILEUPDATEDDATE)]
3821     HRESULT fileUpdatedDate([retval, out] BSTR *p);
3822
3823     [propget, id(DISPID_IHTMLIMGELEMENT_PROTOCOL)]
3824     HRESULT protocol([retval, out] BSTR *p);
3825
3826     [propget, id(DISPID_IHTMLIMGELEMENT_HREF)]
3827     HRESULT href([retval, out] BSTR *p);
3828
3829     [propget, id(DISPID_IHTMLIMGELEMENT_NAMEPROP)]
3830     HRESULT nameProp([retval, out] BSTR *p);
3831
3832     [propput, id(DISPID_IHTMLIMGELEMENT_BORDER)]
3833     HRESULT border([in] VARIANT v);
3834
3835     [propget, id(DISPID_IHTMLIMGELEMENT_BORDER)]
3836     HRESULT border([retval, out] VARIANT *p);
3837
3838     [propput, id(DISPID_IHTMLIMGELEMENT_VSPACE)]
3839     HRESULT vspace([in] long v);
3840
3841     [propget, id(DISPID_IHTMLIMGELEMENT_VSPACE)]
3842     HRESULT vspace([retval, out] long *p);
3843
3844     [propput, id(DISPID_IHTMLIMGELEMENT_HSPACE)]
3845     HRESULT hspace([in] long v);
3846
3847     [propget, id(DISPID_IHTMLIMGELEMENT_HSPACE)]
3848     HRESULT hspace([retval, out] long *p);
3849
3850     [propput, id(DISPID_IHTMLIMGELEMENT_ALT)]
3851     HRESULT alt([in] BSTR v);
3852
3853     [propget, id(DISPID_IHTMLIMGELEMENT_ALT)]
3854     HRESULT alt([retval, out] BSTR *p);
3855
3856     [propput, id(DISPID_IHTMLIMGELEMENT_SRC)]
3857     HRESULT src([in] BSTR v);
3858
3859     [propget, id(DISPID_IHTMLIMGELEMENT_SRC)]
3860     HRESULT src([retval, out] BSTR *p);
3861
3862     [propput, id(DISPID_IHTMLIMGELEMENT_LOWSRC)]
3863     HRESULT lowsrc([in] BSTR v);
3864
3865     [propget, id(DISPID_IHTMLIMGELEMENT_LOWSRC)]
3866     HRESULT lowsrc([retval, out] BSTR *p);
3867
3868     [propput, id(DISPID_IHTMLIMGELEMENT_VRML)]
3869     HRESULT vrml([in] BSTR v);
3870
3871     [propget, id(DISPID_IHTMLIMGELEMENT_VRML)]
3872     HRESULT vrml([retval, out] BSTR *p);
3873
3874     [propput, id(DISPID_IHTMLIMGELEMENT_DYNSRC)]
3875     HRESULT dynsrc([in] BSTR v);
3876
3877     [propget, id(DISPID_IHTMLIMGELEMENT_DYNSRC)]
3878     HRESULT dynsrc([retval, out] BSTR *p);
3879
3880     [propget, id(DISPID_IHTMLIMGELEMENT_READYSTATE)]
3881     HRESULT readyState([retval, out] BSTR *p);
3882
3883     [propget, id(DISPID_IHTMLIMGELEMENT_COMPLETE)]
3884     HRESULT complete([retval, out] VARIANT_BOOL *p);
3885
3886     [propput, id(DISPID_IHTMLIMGELEMENT_LOOP)]
3887     HRESULT loop([in] VARIANT v);
3888
3889     [propget, id(DISPID_IHTMLIMGELEMENT_LOOP)]
3890     HRESULT loop([retval, out] VARIANT *p);
3891
3892     [propput, id(DISPID_IHTMLIMGELEMENT_ALIGN)]
3893     HRESULT align([in] BSTR v);
3894
3895     [propget, id(DISPID_IHTMLIMGELEMENT_ALIGN)]
3896     HRESULT align([retval, out] BSTR *p);
3897
3898     [propput, id(DISPID_IHTMLIMGELEMENT_ONLOAD)]
3899     HRESULT onload([in] VARIANT v);
3900
3901     [propget, id(DISPID_IHTMLIMGELEMENT_ONLOAD)]
3902     HRESULT onload([retval, out] VARIANT *p);
3903
3904     [propput, id(DISPID_IHTMLIMGELEMENT_ONERROR)]
3905     HRESULT onerror([in] VARIANT v);
3906
3907     [propget, id(DISPID_IHTMLIMGELEMENT_ONERROR)]
3908     HRESULT onerror([retval, out] VARIANT *p);
3909
3910     [propput, id(DISPID_IHTMLIMGELEMENT_ONABORT)]
3911     HRESULT onabort([in] VARIANT v);
3912
3913     [propget, id(DISPID_IHTMLIMGELEMENT_ONABORT)]
3914     HRESULT onabort([retval, out] VARIANT *p);
3915
3916     [propput, id(DISPID_IHTMLIMGELEMENT_NAME)]
3917     HRESULT name([in] BSTR v);
3918
3919     [propget, id(DISPID_IHTMLIMGELEMENT_NAME)]
3920     HRESULT name([retval, out] BSTR *p);
3921
3922     [propput, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
3923     HRESULT width([in] long v);
3924
3925     [propget, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
3926     HRESULT width([retval, out] long *p);
3927
3928     [propput, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
3929     HRESULT height([in] long v);
3930
3931     [propget, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
3932     HRESULT height([retval, out] long *p);
3933
3934     [propput, id(DISPID_IHTMLIMGELEMENT_START)]
3935     HRESULT start([in] BSTR v);
3936
3937     [propget, id(DISPID_IHTMLIMGELEMENT_START)]
3938     HRESULT start([retval, out] BSTR *p);
3939 }
3940
3941 /*****************************************************************************
3942  *    IHTMLImageElementFactory interface
3943  */
3944 [
3945     odl,
3946     oleautomation,
3947     dual,
3948     uuid(3050F38E-98B5-11CF-BB82-00AAA0BDCE0B)
3949 ]
3950 interface IHTMLImageElementFactory : IDispatch
3951 {
3952     [id(DISPID_IHTMLIMAGEELEMENTFACTORY_CREATE)]
3953     HRESULT create(
3954         [optional, in] VARIANT width,
3955         [optional, in] VARIANT height,
3956         [retval, out]  IHTMLImgElement **elem);
3957 }
3958
3959 /*****************************************************************************
3960  *    DispHTMLImg interface
3961  */
3962 [
3963     hidden,
3964     uuid(3050f51c-98b5-11cf-bb82-00aa00bdce0b)
3965 ]
3966 dispinterface DispHTMLImg
3967 {
3968 properties:
3969 methods:
3970     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
3971     void setAttribute(
3972             [in] BSTR strAttributeName,
3973             [in] VARIANT AttributeValue,
3974             [in, defaultvalue(1)] LONG lFlags);
3975
3976     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
3977     VARIANT getAttribute(
3978              [in] BSTR strAttributeName,
3979              [in, defaultvalue(0)] LONG lFlags);
3980
3981     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
3982     VARIANT_BOOL removeAttribute(
3983             [in] BSTR strAttributeName,
3984             [in, defaultvalue(1)] LONG lFlags);
3985
3986     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
3987     void className(BSTR v);
3988
3989     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
3990     BSTR className();
3991
3992     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
3993     void id(BSTR v);
3994
3995     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
3996     BSTR id();
3997
3998     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
3999     BSTR tagName();
4000
4001     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
4002     IHTMLElement *parentElement();
4003
4004     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
4005     IHTMLStyle *style();
4006
4007     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
4008     void onhelp(VARIANT v);
4009
4010     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
4011     VARIANT onhelp();
4012
4013     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
4014     void onclick(VARIANT v);
4015
4016     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
4017     VARIANT onclick();
4018
4019     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
4020     void ondblclick(VARIANT v);
4021
4022     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
4023     VARIANT ondblclick();
4024
4025     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
4026     void onkeydown(VARIANT v);
4027
4028     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
4029     VARIANT onkeydown();
4030
4031     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
4032     void onkeyup(VARIANT v);
4033
4034     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
4035     VARIANT onkeyup();
4036
4037     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
4038     void onkeypress(VARIANT v);
4039
4040     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
4041     VARIANT onkeypress();
4042
4043     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
4044     void onmouseout(VARIANT v);
4045
4046     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
4047     VARIANT onmouseout();
4048
4049     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
4050     void onmouseover(VARIANT v);
4051
4052     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
4053     VARIANT onmouseover();
4054
4055     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
4056     void onmousemove(VARIANT v);
4057
4058     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
4059     VARIANT onmousemove();
4060
4061     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
4062     void onmousedown(VARIANT v);
4063
4064     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
4065     VARIANT onmousedown();
4066
4067     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
4068     void onmouseup(VARIANT v);
4069
4070     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
4071     VARIANT onmouseup();
4072
4073     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
4074     IDispatch *document();
4075
4076     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
4077     void title(BSTR v);
4078
4079     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
4080     BSTR title();
4081
4082     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
4083     void language(BSTR v);
4084
4085     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
4086     BSTR language();
4087
4088     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
4089     void onselectstart(VARIANT v);
4090
4091     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
4092     VARIANT onselectstart();
4093
4094     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
4095     void scrollIntoView([in, optional] VARIANT varargStart);
4096
4097     [id(DISPID_IHTMLELEMENT_CONTAINS)]
4098     VARIANT_BOOL contains([in] IHTMLElement *pChild);
4099
4100     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
4101     long sourceIndex();
4102
4103     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
4104     VARIANT recordNumber();
4105
4106     [propput, id(DISPID_IHTMLELEMENT_LANG)]
4107     void lang(BSTR v);
4108
4109     [propget, id(DISPID_IHTMLELEMENT_LANG)]
4110     BSTR lang();
4111
4112     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
4113     long offsetLeft();
4114
4115     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
4116     long offsetTop();
4117
4118     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
4119     long offsetWidth();
4120
4121     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
4122     long offsetHeight();
4123
4124     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
4125     IHTMLElement *offsetParent();
4126
4127     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
4128     void innerHTML(BSTR v);
4129
4130     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
4131     BSTR innerHTML();
4132
4133     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
4134     void innerText(BSTR v);
4135
4136     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
4137     BSTR innerText();
4138
4139     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
4140     void outerHTML(BSTR v);
4141
4142     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
4143     BSTR outerHTML();
4144
4145     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
4146     void outerText(BSTR v);
4147
4148     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
4149     BSTR outerText();
4150
4151     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
4152     void insertAdjacentHTML(
4153             [in] BSTR where,
4154             [in] BSTR html);
4155
4156     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
4157     void insertAdjacentText(
4158             [in] BSTR where,
4159             [in] BSTR text);
4160
4161     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
4162     IHTMLElement *parentTextEdit();
4163
4164     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
4165     VARIANT_BOOL isTextEdit();
4166
4167     [id(DISPID_IHTMLELEMENT_CLICK)]
4168     void click();
4169
4170     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
4171     IHTMLFiltersCollection *filters();
4172
4173     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
4174     void ondragstart(VARIANT v);
4175
4176     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
4177     VARIANT ondragstart();
4178
4179     [id(DISPID_IHTMLELEMENT_TOSTRING)]
4180     BSTR toString();
4181
4182     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
4183     void onbeforeupdate(VARIANT v);
4184
4185     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
4186     VARIANT onbeforeupdate();
4187
4188     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
4189     void onafterupdate(VARIANT v);
4190
4191     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
4192     VARIANT onafterupdate();
4193
4194     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
4195     void onerrorupdate(VARIANT v);
4196
4197     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
4198     VARIANT onerrorupdate();
4199
4200     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
4201     void onrowexit(VARIANT v);
4202
4203     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
4204     VARIANT onrowexit();
4205
4206     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
4207     void onrowenter(VARIANT v);
4208
4209     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
4210     VARIANT onrowenter();
4211
4212     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
4213     void ondatasetchanged(VARIANT v);
4214
4215     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
4216     VARIANT ondatasetchanged();
4217
4218     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
4219     void ondataavailable(VARIANT v);
4220
4221     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
4222     VARIANT ondataavailable();
4223
4224     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
4225     void ondatasetcomplete(VARIANT v);
4226
4227     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
4228     VARIANT ondatasetcomplete();
4229
4230     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
4231     void onfilterchange(VARIANT v);
4232
4233     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
4234     VARIANT onfilterchange();
4235
4236     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
4237     IDispatch *children();
4238
4239     [propget, id(DISPID_IHTMLELEMENT_ALL)]
4240     IDispatch *all();
4241
4242     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
4243     BSTR scopeName();
4244
4245     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
4246     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
4247
4248     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
4249     void releaseCapture();
4250
4251     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
4252     void onlosecapture(VARIANT v);
4253
4254     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
4255     VARIANT onlosecapture();
4256
4257     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
4258     BSTR componentFromPoint(
4259             [in] long x,
4260             [in] long y);
4261
4262     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
4263     void doScroll([in, optional] VARIANT component);
4264
4265     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
4266     void onscroll(VARIANT v);
4267
4268     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
4269     VARIANT onscroll();
4270
4271     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
4272     void ondrag(VARIANT v);
4273
4274     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
4275     VARIANT ondrag();
4276
4277     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
4278     void ondragend(VARIANT v);
4279
4280     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
4281     VARIANT ondragend();
4282
4283     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
4284     void ondragenter(VARIANT v);
4285
4286     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
4287     VARIANT ondragenter();
4288
4289     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
4290     void ondragover(VARIANT v);
4291
4292     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
4293     VARIANT ondragover();
4294
4295     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
4296     void ondragleave(VARIANT v);
4297
4298     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
4299     VARIANT ondragleave();
4300
4301     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
4302     void ondrop(VARIANT v);
4303
4304     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
4305     VARIANT ondrop();
4306
4307     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
4308     void onbeforecut(VARIANT v);
4309
4310     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
4311     VARIANT onbeforecut();
4312
4313     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
4314     void oncut(VARIANT v);
4315
4316     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
4317     VARIANT oncut();
4318
4319     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
4320     void onbeforecopy(VARIANT v);
4321
4322     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
4323     VARIANT onbeforecopy();
4324
4325     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
4326     void oncopy(VARIANT v);
4327
4328     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
4329     VARIANT oncopy();
4330
4331     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
4332     void onbeforepaste(VARIANT v);
4333
4334     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
4335     VARIANT onbeforepaste();
4336
4337     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
4338     void onpaste(VARIANT v);
4339
4340     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
4341     VARIANT onpaste();
4342
4343     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
4344     IHTMLCurrentStyle *currentStyle();
4345
4346     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
4347     void onpropertychange(VARIANT v);
4348
4349     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
4350     VARIANT onpropertychange();
4351
4352     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
4353     IHTMLRectCollection *getClientRects();
4354
4355     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
4356     IHTMLRect *getBoundingClientRect();
4357
4358     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
4359     void setExpression(
4360             [in] BSTR propname,
4361             [in] BSTR expression,
4362             [in, defaultvalue("")] BSTR language);
4363
4364     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
4365     VARIANT getExpression([in] BSTR propname);
4366
4367     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
4368     VARIANT_BOOL removeExpression([in] BSTR propname);
4369
4370     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
4371     void tabIndex(short v);
4372
4373     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
4374     short tabIndex();
4375
4376     [id(DISPID_IHTMLELEMENT2_FOCUS)]
4377     void focus();
4378
4379     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
4380     void accessKey(BSTR v);
4381
4382     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
4383     BSTR accessKey();
4384
4385     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
4386     void onblur(VARIANT v);
4387
4388     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
4389     VARIANT onblur();
4390
4391     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
4392     void onfocus(VARIANT v);
4393
4394     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
4395     VARIANT onfocus();
4396
4397     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
4398     void onresize(VARIANT v);
4399
4400     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
4401     VARIANT onresize();
4402
4403     [id(DISPID_IHTMLELEMENT2_BLUR)]
4404     void blur();
4405
4406     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
4407     void addFilter([in] IUnknown *pUnk);
4408
4409     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
4410     void removeFilter([in] IUnknown *pUnk);
4411
4412     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
4413     long clientHeight();
4414
4415     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
4416     long clientWidth();
4417
4418     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
4419     long clientTop();
4420
4421     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
4422     long clientLeft();
4423
4424     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
4425     VARIANT_BOOL attachEvent(
4426             [in] BSTR event,
4427             [in] IDispatch *pDisp);
4428
4429     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
4430     void detachEvent(
4431             [in] BSTR event,
4432             [in] IDispatch *pDisp);
4433
4434     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
4435     VARIANT readyState();
4436
4437     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
4438     void onreadystatechange(VARIANT v);
4439
4440     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
4441     VARIANT onreadystatechange();
4442
4443     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
4444     void onrowsdelete(VARIANT v);
4445
4446     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
4447     VARIANT onrowsdelete();
4448
4449     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
4450     void onrowsinserted(VARIANT v);
4451
4452     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
4453      VARIANT onrowsinserted();
4454
4455     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
4456      void oncellchange(VARIANT v);
4457
4458     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
4459     VARIANT oncellchange();
4460
4461     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
4462     void dir(BSTR v);
4463
4464     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
4465     BSTR dir();
4466
4467     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
4468     IDispatch *createControlRange();
4469
4470     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
4471     long scrollHeight();
4472
4473     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
4474     long scrollWidth();
4475
4476     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
4477     void scrollTop(long v);
4478
4479     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
4480     long scrollTop();
4481
4482     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
4483     void scrollLeft(long v);
4484
4485     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
4486     long scrollLeft();
4487
4488     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
4489     void clearAttributes();
4490
4491     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
4492     void oncontextmenu(VARIANT v);
4493
4494     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
4495     VARIANT oncontextmenu();
4496
4497     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
4498     IHTMLElement *insertAdjacentElement(
4499             [in] BSTR where,
4500             [in] IHTMLElement *insertedElement);
4501
4502     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
4503     IHTMLElement *applyElement(
4504             [in] IHTMLElement *apply,
4505             [in] BSTR where);
4506
4507     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
4508     BSTR getAdjacentText([in] BSTR where);
4509
4510     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
4511     BSTR replaceAdjacentText(
4512             [in] BSTR where,
4513             [in] BSTR newText);
4514
4515     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
4516     VARIANT_BOOL canHaveChildren();
4517
4518     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
4519     long addBehavior(
4520             [in] BSTR bstrUrl,
4521             [in, optional] VARIANT *pvarFactory);
4522
4523     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
4524     VARIANT_BOOL removeBehavior([in] long cookie);
4525
4526     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
4527     IHTMLStyle *runtimeStyle();
4528
4529     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
4530     IDispatch *behaviorUrns();
4531
4532     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
4533     void tagUrn(BSTR v);
4534
4535     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
4536     BSTR tagUrn();
4537
4538     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
4539     void onbeforeeditfocus(VARIANT v);
4540
4541     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
4542     VARIANT onbeforeeditfocus();
4543
4544     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
4545     long readyStateValue();
4546
4547     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
4548     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
4549
4550     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
4551     void mergeAttributes(
4552             [in] IHTMLElement *mergeThis,
4553             [in, optional] VARIANT *pvarFlags);
4554
4555     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
4556     VARIANT_BOOL isMultiLine();
4557
4558     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
4559     VARIANT_BOOL canHaveHTML();
4560
4561     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
4562     void onlayoutcomplete(VARIANT v);
4563
4564     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
4565     VARIANT onlayoutcomplete();
4566
4567     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
4568     void onpage(VARIANT v);
4569
4570     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
4571     VARIANT onpage();
4572
4573     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
4574     void inflateBlock(VARIANT_BOOL v);
4575
4576     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
4577     VARIANT_BOOL inflateBlock();
4578
4579     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
4580     void onbeforedeactivate(VARIANT v);
4581
4582     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
4583     VARIANT onbeforedeactivate();
4584
4585     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
4586     void setActive();
4587
4588     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
4589     void contentEditable(BSTR v);
4590
4591     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
4592     BSTR contentEditable();
4593
4594     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
4595     VARIANT_BOOL isContentEditable();
4596
4597     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
4598     void hideFocus(VARIANT_BOOL v);
4599
4600     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
4601     VARIANT_BOOL hideFocus();
4602
4603     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
4604     void disabled(VARIANT_BOOL v);
4605
4606     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
4607     VARIANT_BOOL disabled();
4608
4609     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
4610     VARIANT_BOOL isDisabled();
4611
4612     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
4613     void onmove(VARIANT v);
4614
4615     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
4616     VARIANT onmove();
4617
4618     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
4619     void oncontrolselect(VARIANT v);
4620
4621     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
4622     VARIANT oncontrolselect();
4623
4624     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
4625     VARIANT_BOOL fireEvent(
4626             [in] BSTR bstrEventName,
4627             [in, optional] VARIANT *pvarEventObject);
4628
4629     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
4630     void onresizestart(VARIANT v);
4631
4632     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
4633     VARIANT onresizestart();
4634
4635     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
4636     void onresizeend(VARIANT v);
4637
4638     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
4639     VARIANT onresizeend();
4640
4641     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
4642     void onmovestart(VARIANT v);
4643
4644     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
4645     VARIANT onmovestart();
4646
4647     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
4648     void onmoveend(VARIANT v);
4649
4650     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
4651     VARIANT onmoveend();
4652
4653     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
4654     void onmouseenter(VARIANT v);
4655
4656     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
4657     VARIANT onmouseenter();
4658
4659     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
4660     void onmouseleave(VARIANT v);
4661
4662     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
4663     VARIANT onmouseleave();
4664
4665     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
4666     void onactivate(VARIANT v);
4667
4668     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
4669     VARIANT onactivate();
4670
4671     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
4672     void ondeactivate(VARIANT v);
4673
4674     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
4675     VARIANT ondeactivate();
4676
4677     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
4678     VARIANT_BOOL dragDrop();
4679
4680     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
4681     LONG glyphMode();
4682
4683     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
4684     void onmousewheel(VARIANT v);
4685
4686     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
4687     VARIANT onmousewheel();
4688
4689     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
4690     void normalize();
4691
4692     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
4693     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
4694
4695     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
4696     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
4697
4698     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
4699     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
4700
4701     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
4702     void onbeforeactivate(VARIANT v);
4703
4704     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
4705     VARIANT onbeforeactivate();
4706
4707     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
4708     void onfocusin(VARIANT v);
4709
4710     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
4711     VARIANT onfocusin();
4712
4713     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
4714     void onfocusout(VARIANT v);
4715
4716     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
4717     VARIANT onfocusout();
4718
4719     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
4720     long uniqueNumber();
4721
4722     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
4723     BSTR uniqueID();
4724
4725     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
4726     long nodeType();
4727
4728     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
4729     IHTMLDOMNode *parentNode();
4730
4731     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
4732     VARIANT_BOOL hasChildNodes();
4733
4734     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
4735     IDispatch *childNodes();
4736
4737     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
4738     IDispatch *attributes();
4739
4740     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
4741     IHTMLDOMNode *insertBefore(
4742             [in] IHTMLDOMNode *newChild,
4743             [in, optional] VARIANT refChild);
4744
4745     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
4746     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
4747
4748     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
4749     IHTMLDOMNode *replaceChild(
4750             [in] IHTMLDOMNode *newChild,
4751             [in] IHTMLDOMNode *oldChild);
4752
4753     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
4754     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
4755
4756     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
4757     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
4758
4759     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
4760     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
4761
4762     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
4763     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
4764
4765     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
4766     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
4767
4768     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
4769     BSTR nodeName();
4770
4771     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
4772     void nodeValue(VARIANT v);
4773
4774     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
4775     VARIANT nodeValue();
4776
4777     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
4778     IHTMLDOMNode *firstChild();
4779
4780     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
4781     IHTMLDOMNode *lastChild();
4782
4783     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
4784     IHTMLDOMNode *previousSibling();
4785
4786     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
4787     IHTMLDOMNode *nextSibling();
4788
4789     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
4790     IDispatch *ownerDocument();
4791
4792     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
4793     void dataFld(BSTR v);
4794
4795     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
4796     BSTR dataFld();
4797
4798     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
4799     void dataSrc(BSTR v);
4800
4801     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
4802     BSTR dataSrc();
4803
4804     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
4805     void dataFormatAs(BSTR v);
4806
4807     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
4808     BSTR dataFormatAs();
4809
4810     [propput, id(DISPID_IHTMLIMGELEMENT_ISMAP), displaybind, bindable]
4811     void isMap(VARIANT_BOOL v);
4812
4813     [propget, id(DISPID_IHTMLIMGELEMENT_ISMAP), displaybind, bindable]
4814     VARIANT_BOOL isMap();
4815
4816     [propput, id(DISPID_IHTMLIMGELEMENT_USEMAP), displaybind, bindable]
4817     void useMap(BSTR v);
4818
4819     [propget, id(DISPID_IHTMLIMGELEMENT_USEMAP), displaybind, bindable]
4820     BSTR useMap();
4821
4822     [propget, id(DISPID_IHTMLIMGELEMENT_MIMETYPE)]
4823     BSTR mimeType();
4824
4825     [propget, id(DISPID_IHTMLIMGELEMENT_FILESIZE)]
4826     BSTR fileSize();
4827
4828     [propget, id(DISPID_IHTMLIMGELEMENT_FILECREATEDDATE)]
4829     BSTR fileCreatedDate();
4830
4831     [propget, id(DISPID_IHTMLIMGELEMENT_FILEMODIFIEDDATE)]
4832     BSTR fileModifiedDate();
4833
4834     [propget, id(DISPID_IHTMLIMGELEMENT_FILEUPDATEDDATE)]
4835     BSTR fileUpdatedDate();
4836
4837     [propget, id(DISPID_IHTMLIMGELEMENT_PROTOCOL)]
4838     BSTR protocol();
4839
4840     [propget, id(DISPID_IHTMLIMGELEMENT_HREF)]
4841     BSTR href();
4842
4843     [propget, id(DISPID_IHTMLIMGELEMENT_NAMEPROP)]
4844     BSTR nameProp();
4845
4846     [propput, id(DISPID_IHTMLIMGELEMENT_BORDER), displaybind, bindable]
4847     void border(VARIANT v);
4848
4849     [propget, id(DISPID_IHTMLIMGELEMENT_BORDER), displaybind, bindable]
4850     VARIANT border();
4851
4852     [propput, id(DISPID_IHTMLIMGELEMENT_VSPACE), displaybind, bindable]
4853     void vspace(long v);
4854
4855     [propget, id(DISPID_IHTMLIMGELEMENT_VSPACE), displaybind, bindable]
4856     long vspace();
4857
4858     [propput, id(DISPID_IHTMLIMGELEMENT_HSPACE), displaybind, bindable]
4859     void hspace(long v);
4860
4861     [propget, id(DISPID_IHTMLIMGELEMENT_HSPACE), displaybind, bindable]
4862     long hspace();
4863
4864     [propput, id(DISPID_IHTMLIMGELEMENT_ALT), displaybind, bindable]
4865     void alt(BSTR v);
4866
4867     [propget, id(DISPID_IHTMLIMGELEMENT_ALT), displaybind, bindable]
4868     BSTR alt();
4869
4870     [propput, id(DISPID_IHTMLIMGELEMENT_SRC), displaybind, bindable]
4871     void src(BSTR v);
4872
4873     [propget, id(DISPID_IHTMLIMGELEMENT_SRC), displaybind, bindable]
4874     BSTR src();
4875
4876     [propput, id(DISPID_IHTMLIMGELEMENT_LOWSRC), displaybind, bindable]
4877     void lowsrc(BSTR v);
4878
4879     [propget, id(DISPID_IHTMLIMGELEMENT_LOWSRC), displaybind, bindable]
4880     BSTR lowsrc();
4881
4882     [propput, id(DISPID_IHTMLIMGELEMENT_VRML), displaybind, bindable]
4883     void vrml(BSTR v);
4884
4885     [propget, id(DISPID_IHTMLIMGELEMENT_VRML), displaybind, bindable]
4886     BSTR vrml();
4887
4888     [propput, id(DISPID_IHTMLIMGELEMENT_DYNSRC), displaybind, bindable]
4889     void dynsrc(BSTR v);
4890
4891     [propget, id(DISPID_IHTMLIMGELEMENT_DYNSRC), displaybind, bindable]
4892     BSTR dynsrc();
4893
4894     [propget, id(DISPID_IHTMLIMGELEMENT_COMPLETE)]
4895     VARIANT_BOOL complete();
4896
4897     [propput, id(DISPID_IHTMLIMGELEMENT_LOOP), displaybind, bindable]
4898     void loop(VARIANT v);
4899
4900     [propget, id(DISPID_IHTMLIMGELEMENT_LOOP), displaybind, bindable]
4901     VARIANT loop();
4902
4903     [propput, id(DISPID_IHTMLIMGELEMENT_ALIGN), displaybind, bindable]
4904     void align(BSTR v);
4905
4906     [propget, id(DISPID_IHTMLIMGELEMENT_ALIGN), displaybind, bindable]
4907     BSTR align();
4908
4909     [propput, id(DISPID_IHTMLIMGELEMENT_ONLOAD), displaybind, bindable]
4910     void onload(VARIANT v);
4911
4912     [propget, id(DISPID_IHTMLIMGELEMENT_ONLOAD), displaybind, bindable]
4913     VARIANT onload();
4914
4915     [propput, id(DISPID_IHTMLIMGELEMENT_ONERROR), displaybind, bindable]
4916     void onerror(VARIANT v);
4917
4918     [propget, id(DISPID_IHTMLIMGELEMENT_ONERROR), displaybind, bindable]
4919     VARIANT onerror();
4920
4921     [propput, id(DISPID_IHTMLIMGELEMENT_ONABORT), displaybind, bindable]
4922     void onabort(VARIANT v);
4923
4924     [propget, id(DISPID_IHTMLIMGELEMENT_ONABORT), displaybind, bindable]
4925     VARIANT onabort();
4926
4927     [propput, id(DISPID_IHTMLIMGELEMENT_NAME), displaybind, bindable]
4928     void name(BSTR v);
4929
4930     [propget, id(DISPID_IHTMLIMGELEMENT_NAME), displaybind, bindable]
4931     BSTR name();
4932
4933     [propput, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
4934     void width(long v);
4935
4936     [propget, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
4937     long width();
4938
4939     [propput, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
4940     void height(long v);
4941
4942     [propget, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
4943     long height();
4944
4945     [propput, id(DISPID_IHTMLIMGELEMENT_START), displaybind, bindable]
4946     void start(BSTR v);
4947
4948     [propget, id(DISPID_IHTMLIMGELEMENT_START), displaybind, bindable]
4949     BSTR start();
4950
4951     [propput, id(DISPID_IHTMLIMGELEMENT2_LONGDESC), displaybind, bindable]
4952     void longDesc(BSTR v);
4953
4954     [propget, id(DISPID_IHTMLIMGELEMENT2_LONGDESC), displaybind, bindable]
4955     BSTR longDesc();
4956 }
4957
4958 /*****************************************************************************
4959  *    IHTMLBodyElement interface
4960  */
4961 [
4962     odl,
4963     oleautomation,
4964     dual,
4965     uuid(3050f1d8-98b5-11cf-bb82-00aa00bdce0b)
4966 ]
4967 interface IHTMLBodyElement : IDispatch
4968 {
4969     [propput, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
4970     HRESULT background([in] BSTR v);
4971
4972     [propget, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
4973     HRESULT background([retval, out] BSTR *p);
4974
4975     [propput, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
4976     HRESULT bgProperties([in] BSTR v);
4977
4978     [propget, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
4979     HRESULT bgProperties([retval, out] BSTR *p);
4980
4981     [propput, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
4982     HRESULT leftMargin([in] VARIANT v);
4983
4984     [propget, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
4985     HRESULT leftMargin([retval, out] VARIANT *p);
4986
4987     [propput, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
4988     HRESULT topMargin([in] VARIANT v);
4989
4990     [propget, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
4991     HRESULT topMargin([retval, out] VARIANT *p);
4992
4993     [propput, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
4994     HRESULT rightMargin([in] VARIANT v);
4995
4996     [propget, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
4997     HRESULT rightMargin([retval, out] VARIANT *p);
4998
4999     [propput, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
5000     HRESULT bottomMargin([in] VARIANT v);
5001
5002     [propget, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
5003     HRESULT bottomMargin([retval, out] VARIANT *p);
5004
5005     [propput, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
5006     HRESULT noWrap([in] VARIANT_BOOL v);
5007
5008     [propget, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
5009     HRESULT noWrap([retval, out] VARIANT_BOOL *p);
5010
5011     [propput, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
5012     HRESULT bgColor([in] VARIANT v);
5013
5014     [propget, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
5015     HRESULT bgColor([retval, out] VARIANT *p);
5016
5017     [propput, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
5018     HRESULT text([in] VARIANT v);
5019
5020     [propget, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
5021     HRESULT text([retval, out] VARIANT *p);
5022
5023     [propput, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
5024     HRESULT link([in] VARIANT v);
5025
5026     [propget, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
5027     HRESULT link([retval, out] VARIANT *p);
5028
5029     [propput, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
5030     HRESULT vLink([in] VARIANT v);
5031
5032     [propget, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
5033     HRESULT vLink([retval, out] VARIANT *p);
5034
5035     [propput, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
5036     HRESULT aLink([in] VARIANT v);
5037
5038     [propget, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
5039     HRESULT aLink([retval, out] VARIANT *p);
5040
5041     [propput, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
5042     HRESULT onload([in] VARIANT v);
5043
5044     [propget, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
5045     HRESULT onload([retval, out] VARIANT *p);
5046
5047     [propput, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
5048     HRESULT onunload([in] VARIANT v);
5049
5050     [propget, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
5051     HRESULT onunload([retval, out] VARIANT *p);
5052
5053     [propput, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
5054     HRESULT scroll([in] BSTR v);
5055
5056     [propget, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
5057     HRESULT scroll([retval, out] BSTR *p);
5058
5059     [propput, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
5060     HRESULT onselect([in] VARIANT v);
5061
5062     [propget, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
5063     HRESULT onselect([retval, out] VARIANT *p);
5064
5065     [propput, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
5066     HRESULT onbeforeunload([in] VARIANT v);
5067
5068     [propget, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
5069     HRESULT onbeforeunload([retval, out] VARIANT *p);
5070
5071     [id(DISPID_IHTMLBODYELEMENT_CREATETEXTRANGE)]
5072     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
5073 }
5074
5075 /*****************************************************************************
5076  *    IHTMLBodyElement2 interface
5077  */
5078 [
5079     odl,
5080     oleautomation,
5081     dual,
5082     uuid(3050f5c5-98b5-11cf-bb82-00aa00bdce0b)
5083 ]
5084 interface IHTMLBodyElement2 : IDispatch
5085 {
5086     [propput, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
5087     HRESULT onbeforeprint([in] VARIANT v);
5088
5089     [propget, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
5090     HRESULT onbeforeprint([retval, out] VARIANT *p);
5091
5092     [propput, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
5093     HRESULT onafterprint([in] VARIANT v);
5094
5095     [propget, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
5096     HRESULT onafterprint([retval, out] VARIANT *p);
5097 }
5098
5099 /*****************************************************************************
5100  *    IHTMLAnchorElement interface
5101  */
5102 [
5103     odl,
5104     oleautomation,
5105     dual,
5106     uuid(3050f1da-98b5-11cf-bb82-00aa00bdce0b)
5107 ]
5108 interface IHTMLAnchorElement : IDispatch
5109 {
5110     [propput, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
5111     HRESULT href([in] BSTR v);
5112
5113     [propget, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
5114     HRESULT href([retval, out] BSTR *p);
5115
5116     [propput, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
5117     HRESULT target([in] BSTR v);
5118
5119     [propget, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
5120     HRESULT target([retval, out] BSTR *p);
5121
5122     [propput, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
5123     HRESULT rel([in] BSTR v);
5124
5125     [propget, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
5126     HRESULT rel([retval, out] BSTR *p);
5127
5128     [propput, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
5129     HRESULT rev([in] BSTR v);
5130
5131     [propget, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
5132     HRESULT rev([retval, out] BSTR *p);
5133
5134     [propput, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
5135     HRESULT urn([in] BSTR v);
5136
5137     [propget, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
5138     HRESULT urn([retval, out] BSTR *p);
5139
5140     [propput, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
5141     HRESULT Methods([in] BSTR v);
5142
5143     [propget, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
5144     HRESULT Methods([retval, out] BSTR *p);
5145
5146     [propput, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
5147     HRESULT name([in] BSTR v);
5148
5149     [propget, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
5150     HRESULT name([retval, out] BSTR *p);
5151
5152     [propput, id(DISPID_IHTMLANCHORELEMENT_HOST)]
5153     HRESULT host([in] BSTR v);
5154
5155     [propget, id(DISPID_IHTMLANCHORELEMENT_HOST)]
5156     HRESULT host([retval, out] BSTR *p);
5157
5158     [propput, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
5159     HRESULT hostname([in] BSTR v);
5160
5161     [propget, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
5162     HRESULT hostname([retval, out] BSTR *p);
5163
5164     [propput, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
5165     HRESULT pathname([in] BSTR v);
5166
5167     [propget, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
5168     HRESULT pathname([retval, out] BSTR *p);
5169
5170     [propput, id(DISPID_IHTMLANCHORELEMENT_PORT)]
5171     HRESULT port([in] BSTR v);
5172
5173     [propget, id(DISPID_IHTMLANCHORELEMENT_PORT)]
5174     HRESULT port([retval, out] BSTR *p);
5175
5176     [propput, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
5177     HRESULT protocol([in] BSTR v);
5178
5179     [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
5180     HRESULT protocol([retval, out] BSTR *p);
5181
5182     [propput, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
5183     HRESULT search([in] BSTR v);
5184
5185     [propget, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
5186     HRESULT search([retval, out] BSTR *p);
5187
5188     [propput, id(DISPID_IHTMLANCHORELEMENT_HASH)]
5189     HRESULT hash([in] BSTR v);
5190
5191     [propget, id(DISPID_IHTMLANCHORELEMENT_HASH)]
5192     HRESULT hash([retval, out] BSTR *p);
5193
5194     [propput, id(DISPID_IHTMLANCHORELEMENT_ONBLUR), displaybind, bindable]
5195     HRESULT onblur([in] VARIANT v);
5196
5197     [propget, id(DISPID_IHTMLANCHORELEMENT_ONBLUR), displaybind, bindable]
5198     HRESULT onblur([retval, out] VARIANT *p);
5199
5200     [propput, id(DISPID_IHTMLANCHORELEMENT_ONFOCUS), displaybind, bindable]
5201     HRESULT onfocus([in] VARIANT v);
5202
5203     [propget, id(DISPID_IHTMLANCHORELEMENT_ONFOCUS), displaybind, bindable]
5204     HRESULT onfocus([retval, out] VARIANT *p);
5205
5206     [propput, id(DISPID_IHTMLANCHORELEMENT_ACCESSKEY), displaybind, bindable]
5207     HRESULT accessKey([in] BSTR v);
5208
5209     [propget, id(DISPID_IHTMLANCHORELEMENT_ACCESSKEY), displaybind, bindable]
5210     HRESULT accessKey([retval, out] BSTR *p);
5211
5212     [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOLLONG)]
5213     HRESULT protocolLong([retval, out] BSTR *p);
5214
5215     [propget, id(DISPID_IHTMLANCHORELEMENT_MIMETYPE)]
5216     HRESULT mimeType([retval, out] BSTR *p);
5217
5218     [propget, id(DISPID_IHTMLANCHORELEMENT_NAMEPROP)]
5219     HRESULT nameProp([retval, out] BSTR *p);
5220
5221     [propput, id(DISPID_IHTMLANCHORELEMENT_TABINDEX), displaybind, bindable]
5222     HRESULT tabIndex([in] short v);
5223
5224     [propget, id(DISPID_IHTMLANCHORELEMENT_TABINDEX), displaybind, bindable]
5225     HRESULT tabIndex([retval, out] short *p);
5226
5227     [id(DISPID_IHTMLANCHORELEMENT_FOCUS)]
5228     HRESULT focus();
5229
5230     [id(DISPID_IHTMLANCHORELEMENT_BLUR)]
5231     HRESULT blur();
5232 }
5233
5234 /*****************************************************************************
5235  *    IHTMLElementCollection interface
5236  */
5237 [
5238     odl,
5239     oleautomation,
5240     dual,
5241     uuid(3050F21F-98B5-11CF-BB82-00AA00BDCE0B)
5242 ]
5243 interface IHTMLElementCollection : IDispatch
5244 {
5245     [id(DISPID_IHTMLELEMENTCOLLECTION_TOSTRING)]
5246     HRESULT toString([retval, out] BSTR *String);
5247
5248     [propput, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
5249     HRESULT length([in] long v);
5250
5251     [propget, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
5252     HRESULT length([retval, out] long *p);
5253
5254     [propget, id(DISPID_IHTMLELEMENTCOLLECTION__NEWENUM)]
5255     HRESULT _newEnum([retval, out] IUnknown **p);
5256
5257     [id(DISPID_IHTMLELEMENTCOLLECTION_ITEM)]
5258     HRESULT item(
5259         [optional, in] VARIANT name,
5260         [optional, in] VARIANT index,
5261         [retval,  out] IDispatch **pdisp);
5262
5263     [id(DISPID_IHTMLELEMENTCOLLECTION_TAGS)]
5264     HRESULT tags(
5265         [in] VARIANT tagName,
5266         [retval, out] IDispatch **pdisp);
5267 }
5268
5269 /*****************************************************************************
5270  *    DispHTMLElementCollection dispinterface
5271  */
5272 [
5273     hidden,
5274     uuid(3050f56b-98b5-11cf-bb82-00aa00bdce0b)
5275 ]
5276 dispinterface DispHTMLElementCollection
5277 {
5278 properties:
5279 methods:
5280     [id(DISPID_IHTMLELEMENTCOLLECTION_TOSTRING)]
5281     BSTR toString();
5282
5283     [propput, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
5284     void length(long v);
5285
5286     [propget, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
5287     long length();
5288
5289     [propget, id(DISPID_IHTMLELEMENTCOLLECTION__NEWENUM), hidden, restricted]
5290     IUnknown *_newEnum();
5291
5292     [id(DISPID_IHTMLELEMENTCOLLECTION_ITEM)]
5293     IDispatch *item(
5294             [in, optional] VARIANT name,
5295             [in, optional] VARIANT index);
5296
5297     [id(DISPID_IHTMLELEMENTCOLLECTION_TAGS)]
5298     IDispatch *tags(
5299             [in] VARIANT tagName);
5300
5301     [id(DISPID_IHTMLELEMENTCOLLECTION2_URNS)]
5302     IDispatch *urns([in] VARIANT urn);
5303
5304     [id(DISPID_IHTMLELEMENTCOLLECTION3_NAMEDITEM)]
5305     IDispatch *namedItem([in] BSTR name);
5306 }
5307
5308 /*****************************************************************************
5309  *    IHTMLSelectElement interface
5310  */
5311 [
5312     odl,
5313     oleautomation,
5314     dual,
5315     uuid(3050f244-98b5-11cf-bb82-00aa00bdce0b)
5316 ]
5317 interface IHTMLSelectElement : IDispatch
5318 {
5319     [propput, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
5320     HRESULT size([in] long v);
5321
5322     [propget, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
5323     HRESULT size([retval, out] long *p);
5324
5325     [propput, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
5326     HRESULT multiple([in] VARIANT_BOOL v);
5327
5328     [propget, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
5329     HRESULT multiple([retval, out] VARIANT_BOOL *p);
5330
5331     [propput, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
5332     HRESULT name([in] BSTR v);
5333
5334     [propget, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
5335     HRESULT name([retval, out] BSTR *p);
5336
5337     [propget, id(DISPID_IHTMLSELECTELEMENT_OPTIONS)]
5338     HRESULT options([retval, out] IDispatch **p);
5339
5340     [propput, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
5341     HRESULT onchange([in] VARIANT v);
5342
5343     [propget, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
5344     HRESULT onchange([retval, out] VARIANT *p);
5345
5346     [propput, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
5347     HRESULT selectedIndex([in] long v);
5348
5349     [propget, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
5350     HRESULT selectedIndex([retval, out] long *p);
5351
5352     [propget, id(DISPID_IHTMLSELECTELEMENT_TYPE), displaybind, bindable]
5353     HRESULT type([retval, out] BSTR *p);
5354
5355     [propput, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
5356     HRESULT value([in] BSTR v);
5357
5358     [propget, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
5359     HRESULT value([retval, out] BSTR *p);
5360
5361     [propput, id(DISPID_IHTMLSELECTELEMENT_DISABLED), displaybind, bindable]
5362     HRESULT disabled([in] VARIANT_BOOL v);
5363
5364     [propget, id(DISPID_IHTMLSELECTELEMENT_DISABLED), displaybind, bindable]
5365     HRESULT disabled([retval, out] VARIANT_BOOL *p);
5366
5367     [propget, id(DISPID_IHTMLSELECTELEMENT_FORM)]
5368     HRESULT form([retval, out] IHTMLFormElement **p);
5369
5370     [id(DISPID_IHTMLSELECTELEMENT_ADD)]
5371     HRESULT add(
5372         [in] IHTMLElement *element,
5373         [optional, in] VARIANT before);
5374
5375     [id(DISPID_IHTMLSELECTELEMENT_REMOVE)]
5376     HRESULT remove([defaultvalue(-1), in] long index);
5377
5378     [propput, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
5379     HRESULT length([in] long v);
5380
5381     [propget, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
5382     HRESULT length([retval, out] long *p);
5383
5384     [propget, id(DISPID_IHTMLSELECTELEMENT__NEWENUM), hidden, restricted]
5385     HRESULT _newEnum([retval, out] IUnknown **p);
5386
5387     [id(DISPID_IHTMLSELECTELEMENT_ITEM)]
5388     HRESULT item(
5389         [optional, in] VARIANT name,
5390         [optional, in] VARIANT index,
5391         [retval, out] IDispatch **pdisp);
5392
5393     [id(DISPID_IHTMLSELECTELEMENT_TAGS)]
5394     HRESULT tags(
5395         [in] VARIANT tagName,
5396         [retval, out] IDispatch **pdisp);
5397 }
5398
5399 /*****************************************************************************
5400  *    DispHTMLSelectElement dispinterface
5401  */
5402 [
5403     hidden,
5404     uuid(3050f531-98b5-11cf-bb82-00aa00bdce0b)
5405 ]
5406 dispinterface DispHTMLSelectElement
5407 {
5408 properties:
5409 methods:
5410     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
5411     void setAttribute(
5412             [in] BSTR strAttributeName,
5413             [in] VARIANT AttributeValue,
5414             [in, defaultvalue(1)] LONG lFlags);
5415
5416     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
5417     VARIANT getAttribute(
5418              [in] BSTR strAttributeName,
5419              [in, defaultvalue(0)] LONG lFlags);
5420
5421     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
5422     VARIANT_BOOL removeAttribute(
5423             [in] BSTR strAttributeName,
5424             [in, defaultvalue(1)] LONG lFlags);
5425
5426     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
5427     void className(BSTR v);
5428
5429     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
5430     BSTR className();
5431
5432     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
5433     void id(BSTR v);
5434
5435     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
5436     BSTR id();
5437
5438     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
5439     BSTR tagName();
5440
5441     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
5442     IHTMLElement *parentElement();
5443
5444     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
5445     IHTMLStyle *style();
5446
5447     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
5448     void onhelp(VARIANT v);
5449
5450     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
5451     VARIANT onhelp();
5452
5453     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
5454     void onclick(VARIANT v);
5455
5456     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
5457     VARIANT onclick();
5458
5459     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
5460     void ondblclick(VARIANT v);
5461
5462     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
5463     VARIANT ondblclick();
5464
5465     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
5466     void onkeydown(VARIANT v);
5467
5468     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
5469     VARIANT onkeydown();
5470
5471     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
5472     void onkeyup(VARIANT v);
5473
5474     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
5475     VARIANT onkeyup();
5476
5477     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
5478     void onkeypress(VARIANT v);
5479
5480     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
5481     VARIANT onkeypress();
5482
5483     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
5484     void onmouseout(VARIANT v);
5485
5486     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
5487     VARIANT onmouseout();
5488
5489     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
5490     void onmouseover(VARIANT v);
5491
5492     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
5493     VARIANT onmouseover();
5494
5495     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
5496     void onmousemove(VARIANT v);
5497
5498     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
5499     VARIANT onmousemove();
5500
5501     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
5502     void onmousedown(VARIANT v);
5503
5504     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
5505     VARIANT onmousedown();
5506
5507     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
5508     void onmouseup(VARIANT v);
5509
5510     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
5511     VARIANT onmouseup();
5512
5513     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
5514     IDispatch *document();
5515
5516     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
5517     void title(BSTR v);
5518
5519     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
5520     BSTR title();
5521
5522     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
5523     void language(BSTR v);
5524
5525     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
5526     BSTR language();
5527
5528     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
5529     void onselectstart(VARIANT v);
5530
5531     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
5532     VARIANT onselectstart();
5533
5534     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
5535     void scrollIntoView([in, optional] VARIANT varargStart);
5536
5537     [id(DISPID_IHTMLELEMENT_CONTAINS)]
5538     VARIANT_BOOL contains([in] IHTMLElement *pChild);
5539
5540     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
5541     long sourceIndex();
5542
5543     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
5544     VARIANT recordNumber();
5545
5546     [propput, id(DISPID_IHTMLELEMENT_LANG)]
5547     void lang(BSTR v);
5548
5549     [propget, id(DISPID_IHTMLELEMENT_LANG)]
5550     BSTR lang();
5551
5552     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
5553     long offsetLeft();
5554
5555     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
5556     long offsetTop();
5557
5558     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
5559     long offsetWidth();
5560
5561     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
5562     long offsetHeight();
5563
5564     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
5565     IHTMLElement *offsetParent();
5566
5567     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
5568     void innerHTML(BSTR v);
5569
5570     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
5571     BSTR innerHTML();
5572
5573     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
5574     void innerText(BSTR v);
5575
5576     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
5577     BSTR innerText();
5578
5579     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
5580     void outerHTML(BSTR v);
5581
5582     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
5583     BSTR outerHTML();
5584
5585     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
5586     void outerText(BSTR v);
5587
5588     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
5589     BSTR outerText();
5590
5591     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
5592     void insertAdjacentHTML(
5593             [in] BSTR where,
5594             [in] BSTR html);
5595
5596     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
5597     void insertAdjacentText(
5598             [in] BSTR where,
5599             [in] BSTR text);
5600
5601     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
5602     IHTMLElement *parentTextEdit();
5603
5604     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
5605     VARIANT_BOOL isTextEdit();
5606
5607     [id(DISPID_IHTMLELEMENT_CLICK)]
5608     void click();
5609
5610     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
5611     IHTMLFiltersCollection *filters();
5612
5613     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
5614     void ondragstart(VARIANT v);
5615
5616     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
5617     VARIANT ondragstart();
5618
5619     [id(DISPID_IHTMLELEMENT_TOSTRING)]
5620     BSTR toString();
5621
5622     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
5623     void onbeforeupdate(VARIANT v);
5624
5625     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
5626     VARIANT onbeforeupdate();
5627
5628     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
5629     void onafterupdate(VARIANT v);
5630
5631     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
5632     VARIANT onafterupdate();
5633
5634     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
5635     void onerrorupdate(VARIANT v);
5636
5637     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
5638     VARIANT onerrorupdate();
5639
5640     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
5641     void onrowexit(VARIANT v);
5642
5643     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
5644     VARIANT onrowexit();
5645
5646     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
5647     void onrowenter(VARIANT v);
5648
5649     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
5650     VARIANT onrowenter();
5651
5652     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
5653     void ondatasetchanged(VARIANT v);
5654
5655     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
5656     VARIANT ondatasetchanged();
5657
5658     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
5659     void ondataavailable(VARIANT v);
5660
5661     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
5662     VARIANT ondataavailable();
5663
5664     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
5665     void ondatasetcomplete(VARIANT v);
5666
5667     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
5668     VARIANT ondatasetcomplete();
5669
5670     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
5671     void onfilterchange(VARIANT v);
5672
5673     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
5674     VARIANT onfilterchange();
5675
5676     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
5677     IDispatch *children();
5678
5679     [propget, id(DISPID_IHTMLELEMENT_ALL)]
5680     IDispatch *all();
5681
5682     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
5683     BSTR scopeName();
5684
5685     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
5686     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
5687
5688     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
5689     void releaseCapture();
5690
5691     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
5692     void onlosecapture(VARIANT v);
5693
5694     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
5695     VARIANT onlosecapture();
5696
5697     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
5698     BSTR componentFromPoint(
5699             [in] long x,
5700             [in] long y);
5701
5702     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
5703     void doScroll([in, optional] VARIANT component);
5704
5705     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
5706     void onscroll(VARIANT v);
5707
5708     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
5709     VARIANT onscroll();
5710
5711     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
5712     void ondrag(VARIANT v);
5713
5714     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
5715     VARIANT ondrag();
5716
5717     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
5718     void ondragend(VARIANT v);
5719
5720     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
5721     VARIANT ondragend();
5722
5723     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
5724     void ondragenter(VARIANT v);
5725
5726     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
5727     VARIANT ondragenter();
5728
5729     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
5730     void ondragover(VARIANT v);
5731
5732     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
5733     VARIANT ondragover();
5734
5735     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
5736     void ondragleave(VARIANT v);
5737
5738     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
5739     VARIANT ondragleave();
5740
5741     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
5742     void ondrop(VARIANT v);
5743
5744     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
5745     VARIANT ondrop();
5746
5747     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
5748     void onbeforecut(VARIANT v);
5749
5750     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
5751     VARIANT onbeforecut();
5752
5753     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
5754     void oncut(VARIANT v);
5755
5756     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
5757     VARIANT oncut();
5758
5759     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
5760     void onbeforecopy(VARIANT v);
5761
5762     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
5763     VARIANT onbeforecopy();
5764
5765     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
5766     void oncopy(VARIANT v);
5767
5768     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
5769     VARIANT oncopy();
5770
5771     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
5772     void onbeforepaste(VARIANT v);
5773
5774     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
5775     VARIANT onbeforepaste();
5776
5777     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
5778     void onpaste(VARIANT v);
5779
5780     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
5781     VARIANT onpaste();
5782
5783     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
5784     IHTMLCurrentStyle *currentStyle();
5785
5786     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
5787     void onpropertychange(VARIANT v);
5788
5789     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
5790     VARIANT onpropertychange();
5791
5792     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
5793     IHTMLRectCollection *getClientRects();
5794
5795     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
5796     IHTMLRect *getBoundingClientRect();
5797
5798     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
5799     void setExpression(
5800             [in] BSTR propname,
5801             [in] BSTR expression,
5802             [in, defaultvalue("")] BSTR language);
5803
5804     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
5805     VARIANT getExpression([in] BSTR propname);
5806
5807     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
5808     VARIANT_BOOL removeExpression([in] BSTR propname);
5809
5810     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
5811     void tabIndex(short v);
5812
5813     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
5814     short tabIndex();
5815
5816     [id(DISPID_IHTMLELEMENT2_FOCUS)]
5817     void focus();
5818
5819     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
5820     void accessKey(BSTR v);
5821
5822     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
5823     BSTR accessKey();
5824
5825     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
5826     void onblur(VARIANT v);
5827
5828     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
5829     VARIANT onblur();
5830
5831     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
5832     void onfocus(VARIANT v);
5833
5834     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
5835     VARIANT onfocus();
5836
5837     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
5838     void onresize(VARIANT v);
5839
5840     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
5841     VARIANT onresize();
5842
5843     [id(DISPID_IHTMLELEMENT2_BLUR)]
5844     void blur();
5845
5846     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
5847     void addFilter([in] IUnknown *pUnk);
5848
5849     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
5850     void removeFilter([in] IUnknown *pUnk);
5851
5852     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
5853     long clientHeight();
5854
5855     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
5856     long clientWidth();
5857
5858     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
5859     long clientTop();
5860
5861     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
5862     long clientLeft();
5863
5864     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
5865     VARIANT_BOOL attachEvent(
5866             [in] BSTR event,
5867             [in] IDispatch *pDisp);
5868
5869     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
5870     void detachEvent(
5871             [in] BSTR event,
5872             [in] IDispatch *pDisp);
5873
5874     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
5875     VARIANT readyState();
5876
5877     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
5878     void onreadystatechange(VARIANT v);
5879
5880     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
5881     VARIANT onreadystatechange();
5882
5883     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
5884     void onrowsdelete(VARIANT v);
5885
5886     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
5887     VARIANT onrowsdelete();
5888
5889     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
5890     void onrowsinserted(VARIANT v);
5891
5892     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
5893      VARIANT onrowsinserted();
5894
5895     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
5896      void oncellchange(VARIANT v);
5897
5898     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
5899     VARIANT oncellchange();
5900
5901     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
5902     void dir(BSTR v);
5903
5904     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
5905     BSTR dir();
5906
5907     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
5908     IDispatch *createControlRange();
5909
5910     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
5911     long scrollHeight();
5912
5913     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
5914     long scrollWidth();
5915
5916     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
5917     void scrollTop(long v);
5918
5919     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
5920     long scrollTop();
5921
5922     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
5923     void scrollLeft(long v);
5924
5925     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
5926     long scrollLeft();
5927
5928     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
5929     void clearAttributes();
5930
5931     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
5932     void oncontextmenu(VARIANT v);
5933
5934     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
5935     VARIANT oncontextmenu();
5936
5937     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
5938     IHTMLElement *insertAdjacentElement(
5939             [in] BSTR where,
5940             [in] IHTMLElement *insertedElement);
5941
5942     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
5943     IHTMLElement *applyElement(
5944             [in] IHTMLElement *apply,
5945             [in] BSTR where);
5946
5947     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
5948     BSTR getAdjacentText([in] BSTR where);
5949
5950     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
5951     BSTR replaceAdjacentText(
5952             [in] BSTR where,
5953             [in] BSTR newText);
5954
5955     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
5956     VARIANT_BOOL canHaveChildren();
5957
5958     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
5959     long addBehavior(
5960             [in] BSTR bstrUrl,
5961             [in, optional] VARIANT *pvarFactory);
5962
5963     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
5964     VARIANT_BOOL removeBehavior([in] long cookie);
5965
5966     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
5967     IHTMLStyle *runtimeStyle();
5968
5969     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
5970     IDispatch *behaviorUrns();
5971
5972     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
5973     void tagUrn(BSTR v);
5974
5975     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
5976     BSTR tagUrn();
5977
5978     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
5979     void onbeforeeditfocus(VARIANT v);
5980
5981     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
5982     VARIANT onbeforeeditfocus();
5983
5984     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
5985     long readyStateValue();
5986
5987     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
5988     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
5989
5990     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
5991     void mergeAttributes(
5992             [in] IHTMLElement *mergeThis,
5993             [in, optional] VARIANT *pvarFlags);
5994
5995     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
5996     VARIANT_BOOL isMultiLine();
5997
5998     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
5999     VARIANT_BOOL canHaveHTML();
6000
6001     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
6002     void onlayoutcomplete(VARIANT v);
6003
6004     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
6005     VARIANT onlayoutcomplete();
6006
6007     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
6008     void onpage(VARIANT v);
6009
6010     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
6011     VARIANT onpage();
6012
6013     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
6014     void inflateBlock(VARIANT_BOOL v);
6015
6016     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
6017     VARIANT_BOOL inflateBlock();
6018
6019     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
6020     void onbeforedeactivate(VARIANT v);
6021
6022     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
6023     VARIANT onbeforedeactivate();
6024
6025     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
6026     void setActive();
6027
6028     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
6029     void contentEditable(BSTR v);
6030
6031     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
6032     BSTR contentEditable();
6033
6034     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
6035     VARIANT_BOOL isContentEditable();
6036
6037     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
6038     void hideFocus(VARIANT_BOOL v);
6039
6040     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
6041     VARIANT_BOOL hideFocus();
6042
6043     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
6044     void disabled(VARIANT_BOOL v);
6045
6046     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
6047     VARIANT_BOOL disabled();
6048
6049     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
6050     VARIANT_BOOL isDisabled();
6051
6052     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
6053     void onmove(VARIANT v);
6054
6055     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
6056     VARIANT onmove();
6057
6058     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
6059     void oncontrolselect(VARIANT v);
6060
6061     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
6062     VARIANT oncontrolselect();
6063
6064     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
6065     VARIANT_BOOL fireEvent(
6066             [in] BSTR bstrEventName,
6067             [in, optional] VARIANT *pvarEventObject);
6068
6069     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
6070     void onresizestart(VARIANT v);
6071
6072     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
6073     VARIANT onresizestart();
6074
6075     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
6076     void onresizeend(VARIANT v);
6077
6078     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
6079     VARIANT onresizeend();
6080
6081     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
6082     void onmovestart(VARIANT v);
6083
6084     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
6085     VARIANT onmovestart();
6086
6087     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
6088     void onmoveend(VARIANT v);
6089
6090     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
6091     VARIANT onmoveend();
6092
6093     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
6094     void onmouseenter(VARIANT v);
6095
6096     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
6097     VARIANT onmouseenter();
6098
6099     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
6100     void onmouseleave(VARIANT v);
6101
6102     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
6103     VARIANT onmouseleave();
6104
6105     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
6106     void onactivate(VARIANT v);
6107
6108     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
6109     VARIANT onactivate();
6110
6111     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
6112     void ondeactivate(VARIANT v);
6113
6114     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
6115     VARIANT ondeactivate();
6116
6117     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
6118     VARIANT_BOOL dragDrop();
6119
6120     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
6121     LONG glyphMode();
6122
6123     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
6124     void onmousewheel(VARIANT v);
6125
6126     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
6127     VARIANT onmousewheel();
6128
6129     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
6130     void normalize();
6131
6132     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
6133     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
6134
6135     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
6136     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
6137
6138     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
6139     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
6140
6141     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
6142     void onbeforeactivate(VARIANT v);
6143
6144     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
6145     VARIANT onbeforeactivate();
6146
6147     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
6148     void onfocusin(VARIANT v);
6149
6150     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
6151     VARIANT onfocusin();
6152
6153     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
6154     void onfocusout(VARIANT v);
6155
6156     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
6157     VARIANT onfocusout();
6158
6159     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
6160     long uniqueNumber();
6161
6162     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
6163     BSTR uniqueID();
6164
6165     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
6166     long nodeType();
6167
6168     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
6169     IHTMLDOMNode *parentNode();
6170
6171     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
6172     VARIANT_BOOL hasChildNodes();
6173
6174     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
6175     IDispatch *childNodes();
6176
6177     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
6178     IDispatch *attributes();
6179
6180     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
6181     IHTMLDOMNode *insertBefore(
6182             [in] IHTMLDOMNode *newChild,
6183             [in, optional] VARIANT refChild);
6184
6185     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
6186     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
6187
6188     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
6189     IHTMLDOMNode *replaceChild(
6190             [in] IHTMLDOMNode *newChild,
6191             [in] IHTMLDOMNode *oldChild);
6192
6193     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
6194     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
6195
6196     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
6197     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
6198
6199     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
6200     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
6201
6202     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
6203     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
6204
6205     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
6206     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
6207
6208     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
6209     BSTR nodeName();
6210
6211     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
6212     void nodeValue(VARIANT v);
6213
6214     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
6215     VARIANT nodeValue();
6216
6217     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
6218     IHTMLDOMNode *firstChild();
6219
6220     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
6221     IHTMLDOMNode *lastChild();
6222
6223     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
6224     IHTMLDOMNode *previousSibling();
6225
6226     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
6227     IHTMLDOMNode *nextSibling();
6228
6229     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
6230     IDispatch *ownerDocument();
6231
6232     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
6233     void dataFld(BSTR v);
6234
6235     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
6236     BSTR dataFld();
6237
6238     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
6239     void dataSrc(BSTR v);
6240
6241     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
6242     BSTR dataSrc();
6243
6244     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
6245     void dataFormatAs(BSTR v);
6246
6247     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
6248     BSTR dataFormatAs();
6249
6250     [propput, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
6251     void size(long v);
6252
6253     [propget, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
6254     long size();
6255
6256     [propput, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
6257     void multiple(VARIANT_BOOL v);
6258
6259     [propget, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
6260     VARIANT_BOOL multiple();
6261
6262     [propput, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
6263     void name(BSTR v);
6264
6265     [propget, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
6266     BSTR name();
6267
6268     [propget, id(DISPID_IHTMLSELECTELEMENT_OPTIONS)]
6269     IDispatch *options();
6270
6271     [propput, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
6272     void onchange(VARIANT v);
6273
6274     [propget, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
6275     VARIANT onchange();
6276
6277     [propput, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
6278     void selectedIndex(long v);
6279
6280     [propget, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
6281     long selectedIndex();
6282
6283     [propget, id(DISPID_IHTMLSELECTELEMENT_TYPE), displaybind, bindable]
6284     BSTR type();
6285
6286     [propput, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
6287     void value(BSTR v);
6288
6289     [propget, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
6290     BSTR value();
6291
6292     [propget, id(DISPID_IHTMLSELECTELEMENT_FORM)]
6293     IHTMLFormElement *form();
6294
6295     [id(DISPID_IHTMLSELECTELEMENT_ADD)]
6296     void add(
6297             [in] IHTMLElement *element,
6298             [in, optional] VARIANT before);
6299
6300     [id(DISPID_IHTMLSELECTELEMENT_REMOVE)]
6301     void remove([in, defaultvalue(-1)] long index);
6302
6303     [propput, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
6304     void length(long v);
6305
6306     [propget, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
6307     long length();
6308
6309     [propget, id(DISPID_IHTMLSELECTELEMENT__NEWENUM), hidden, restricted]
6310     IUnknown *_newEnum();
6311
6312     [id(DISPID_IHTMLSELECTELEMENT_ITEM)]
6313     IDispatch *item(
6314             [in, optional] VARIANT name,
6315             [in, optional] VARIANT index);
6316
6317     [id(DISPID_IHTMLSELECTELEMENT_TAGS)]
6318     IDispatch *tags([in] VARIANT tagName);
6319
6320     [id(DISPID_IHTMLSELECTELEMENT2_URNS)]
6321     IDispatch *urns([in] VARIANT urn);
6322
6323     [id(DISPID_IHTMLSELECTELEMENT4_NAMEDITEM)]
6324     IDispatch *namedItem([in] BSTR name);
6325 }
6326
6327 /*****************************************************************************
6328  *    IHTMLSelectionObject interface
6329  */
6330 [
6331     odl,
6332     oleautomation,
6333     dual,
6334     uuid(3050F25A-98B5-11CF-BB82-00AA00BDCE0B)
6335 ]
6336 interface IHTMLSelectionObject : IDispatch
6337 {
6338     [id(DISPID_IHTMLSELECTIONOBJECT_CREATERANGE)]
6339     HRESULT createRange([retval, out] IDispatch **range);
6340
6341     [id(DISPID_IHTMLSELECTIONOBJECT_EMPTY)]
6342     HRESULT empty();
6343
6344     [id(DISPID_IHTMLSELECTIONOBJECT_CLEAR)]
6345     HRESULT clear();
6346
6347     [propget, id(DISPID_IHTMLSELECTIONOBJECT_TYPE)]
6348     HRESULT type([retval, out] BSTR *p);
6349 }
6350
6351 /*****************************************************************************
6352  *    IHTMLOptionElement interface
6353  */
6354 [
6355     odl,
6356     oleautomation,
6357     dual,
6358     uuid(3050F211-98B5-11CF-BB82-00AA00BDCE0B)
6359 ]
6360 interface IHTMLOptionElement : IDispatch
6361 {
6362     [propput, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
6363     HRESULT selected([in] VARIANT_BOOL v);
6364
6365     [propget, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
6366     HRESULT selected([retval, out] VARIANT_BOOL *p);
6367
6368     [propput, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
6369     HRESULT value([in] BSTR v);
6370
6371     [propget, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
6372     HRESULT value([retval, out] BSTR *p);
6373
6374     [propput, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
6375     HRESULT defaultSelected([in] VARIANT_BOOL v);
6376
6377     [propget, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
6378     HRESULT defaultSelected([retval, out] VARIANT_BOOL *p);
6379
6380     [propput, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
6381     HRESULT index([in] LONG v);
6382
6383     [propget, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
6384     HRESULT index([retval, out] LONG *p);
6385
6386     [propput, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
6387     HRESULT text([in] BSTR v);
6388
6389     [propget, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
6390     HRESULT text([retval, out] BSTR *p);
6391
6392     [propget, id(DISPID_IHTMLOPTIONELEMENT_FORM)]
6393     HRESULT form([retval, out] IHTMLFormElement **p);
6394 }
6395
6396 /*****************************************************************************
6397  *    IHTMLOptionElementFactory interface
6398  */
6399 [
6400     odl,
6401     oleautomation,
6402     dual,
6403     uuid(3050F38C-98B5-11Cf-BB82-00AA00BDCE0B)
6404 ]
6405 interface IHTMLOptionElementFactory : IDispatch
6406 {
6407     [id(DISPID_IHTMLOPTIONELEMENTFACTORY_CREATE)]
6408     HRESULT create(
6409         [optional, in] VARIANT text,
6410         [optional, in] VARIANT value,
6411         [optional, in] VARIANT defaultselected,
6412         [optional, in] VARIANT selected,
6413         [retval, out] IHTMLOptionElement **optelem);
6414 }
6415
6416 /*****************************************************************************
6417  *    DispHTMLOptionElement dispinterface
6418  */
6419 [
6420     hidden,
6421     uuid(3050f52b-98b5-11cf-bb82-00aa00bdce0b)
6422 ]
6423 dispinterface DispHTMLOptionElement
6424 {
6425 properties:
6426 methods:
6427     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
6428     void setAttribute(
6429             [in] BSTR strAttributeName,
6430             [in] VARIANT AttributeValue,
6431             [in, defaultvalue(1)] LONG lFlags);
6432
6433     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
6434     VARIANT getAttribute(
6435              [in] BSTR strAttributeName,
6436              [in, defaultvalue(0)] LONG lFlags);
6437
6438     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
6439     VARIANT_BOOL removeAttribute(
6440             [in] BSTR strAttributeName,
6441             [in, defaultvalue(1)] LONG lFlags);
6442
6443     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
6444     void className(BSTR v);
6445
6446     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
6447     BSTR className();
6448
6449     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
6450     void id(BSTR v);
6451
6452     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
6453     BSTR id();
6454
6455     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
6456     BSTR tagName();
6457
6458     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
6459     IHTMLElement *parentElement();
6460
6461     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
6462     IHTMLStyle *style();
6463
6464     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
6465     void onhelp(VARIANT v);
6466
6467     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
6468     VARIANT onhelp();
6469
6470     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
6471     void onclick(VARIANT v);
6472
6473     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
6474     VARIANT onclick();
6475
6476     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
6477     void ondblclick(VARIANT v);
6478
6479     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
6480     VARIANT ondblclick();
6481
6482     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
6483     void onkeydown(VARIANT v);
6484
6485     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
6486     VARIANT onkeydown();
6487
6488     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
6489     void onkeyup(VARIANT v);
6490
6491     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
6492     VARIANT onkeyup();
6493
6494     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
6495     void onkeypress(VARIANT v);
6496
6497     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
6498     VARIANT onkeypress();
6499
6500     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
6501     void onmouseout(VARIANT v);
6502
6503     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
6504     VARIANT onmouseout();
6505
6506     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
6507     void onmouseover(VARIANT v);
6508
6509     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
6510     VARIANT onmouseover();
6511
6512     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
6513     void onmousemove(VARIANT v);
6514
6515     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
6516     VARIANT onmousemove();
6517
6518     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
6519     void onmousedown(VARIANT v);
6520
6521     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
6522     VARIANT onmousedown();
6523
6524     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
6525     void onmouseup(VARIANT v);
6526
6527     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
6528     VARIANT onmouseup();
6529
6530     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
6531     IDispatch *document();
6532
6533     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
6534     void title(BSTR v);
6535
6536     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
6537     BSTR title();
6538
6539     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
6540     void language(BSTR v);
6541
6542     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
6543     BSTR language();
6544
6545     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
6546     void onselectstart(VARIANT v);
6547
6548     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
6549     VARIANT onselectstart();
6550
6551     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
6552     void scrollIntoView([in, optional] VARIANT varargStart);
6553
6554     [id(DISPID_IHTMLELEMENT_CONTAINS)]
6555     VARIANT_BOOL contains([in] IHTMLElement *pChild);
6556
6557     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
6558     long sourceIndex();
6559
6560     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
6561     VARIANT recordNumber();
6562
6563     [propput, id(DISPID_IHTMLELEMENT_LANG)]
6564     void lang(BSTR v);
6565
6566     [propget, id(DISPID_IHTMLELEMENT_LANG)]
6567     BSTR lang();
6568
6569     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
6570     long offsetLeft();
6571
6572     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
6573     long offsetTop();
6574
6575     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
6576     long offsetWidth();
6577
6578     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
6579     long offsetHeight();
6580
6581     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
6582     IHTMLElement *offsetParent();
6583
6584     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
6585     void innerHTML(BSTR v);
6586
6587     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
6588     BSTR innerHTML();
6589
6590     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
6591     void innerText(BSTR v);
6592
6593     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
6594     BSTR innerText();
6595
6596     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
6597     void outerHTML(BSTR v);
6598
6599     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
6600     BSTR outerHTML();
6601
6602     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
6603     void outerText(BSTR v);
6604
6605     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
6606     BSTR outerText();
6607
6608     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
6609     void insertAdjacentHTML(
6610             [in] BSTR where,
6611             [in] BSTR html);
6612
6613     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
6614     void insertAdjacentText(
6615             [in] BSTR where,
6616             [in] BSTR text);
6617
6618     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
6619     IHTMLElement *parentTextEdit();
6620
6621     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
6622     VARIANT_BOOL isTextEdit();
6623
6624     [id(DISPID_IHTMLELEMENT_CLICK)]
6625     void click();
6626
6627     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
6628     IHTMLFiltersCollection *filters();
6629
6630     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
6631     void ondragstart(VARIANT v);
6632
6633     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
6634     VARIANT ondragstart();
6635
6636     [id(DISPID_IHTMLELEMENT_TOSTRING)]
6637     BSTR toString();
6638
6639     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
6640     void onbeforeupdate(VARIANT v);
6641
6642     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
6643     VARIANT onbeforeupdate();
6644
6645     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
6646     void onafterupdate(VARIANT v);
6647
6648     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
6649     VARIANT onafterupdate();
6650
6651     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
6652     void onerrorupdate(VARIANT v);
6653
6654     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
6655     VARIANT onerrorupdate();
6656
6657     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
6658     void onrowexit(VARIANT v);
6659
6660     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
6661     VARIANT onrowexit();
6662
6663     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
6664     void onrowenter(VARIANT v);
6665
6666     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
6667     VARIANT onrowenter();
6668
6669     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
6670     void ondatasetchanged(VARIANT v);
6671
6672     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
6673     VARIANT ondatasetchanged();
6674
6675     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
6676     void ondataavailable(VARIANT v);
6677
6678     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
6679     VARIANT ondataavailable();
6680
6681     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
6682     void ondatasetcomplete(VARIANT v);
6683
6684     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
6685     VARIANT ondatasetcomplete();
6686
6687     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
6688     void onfilterchange(VARIANT v);
6689
6690     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
6691     VARIANT onfilterchange();
6692
6693     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
6694     IDispatch *children();
6695
6696     [propget, id(DISPID_IHTMLELEMENT_ALL)]
6697     IDispatch *all();
6698
6699     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
6700     BSTR scopeName();
6701
6702     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
6703     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
6704
6705     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
6706     void releaseCapture();
6707
6708     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
6709     void onlosecapture(VARIANT v);
6710
6711     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
6712     VARIANT onlosecapture();
6713
6714     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
6715     BSTR componentFromPoint(
6716             [in] long x,
6717             [in] long y);
6718
6719     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
6720     void doScroll([in, optional] VARIANT component);
6721
6722     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
6723     void onscroll(VARIANT v);
6724
6725     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
6726     VARIANT onscroll();
6727
6728     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
6729     void ondrag(VARIANT v);
6730
6731     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
6732     VARIANT ondrag();
6733
6734     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
6735     void ondragend(VARIANT v);
6736
6737     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
6738     VARIANT ondragend();
6739
6740     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
6741     void ondragenter(VARIANT v);
6742
6743     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
6744     VARIANT ondragenter();
6745
6746     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
6747     void ondragover(VARIANT v);
6748
6749     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
6750     VARIANT ondragover();
6751
6752     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
6753     void ondragleave(VARIANT v);
6754
6755     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
6756     VARIANT ondragleave();
6757
6758     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
6759     void ondrop(VARIANT v);
6760
6761     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
6762     VARIANT ondrop();
6763
6764     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
6765     void onbeforecut(VARIANT v);
6766
6767     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
6768     VARIANT onbeforecut();
6769
6770     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
6771     void oncut(VARIANT v);
6772
6773     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
6774     VARIANT oncut();
6775
6776     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
6777     void onbeforecopy(VARIANT v);
6778
6779     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
6780     VARIANT onbeforecopy();
6781
6782     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
6783     void oncopy(VARIANT v);
6784
6785     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
6786     VARIANT oncopy();
6787
6788     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
6789     void onbeforepaste(VARIANT v);
6790
6791     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
6792     VARIANT onbeforepaste();
6793
6794     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
6795     void onpaste(VARIANT v);
6796
6797     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
6798     VARIANT onpaste();
6799
6800     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
6801     IHTMLCurrentStyle *currentStyle();
6802
6803     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
6804     void onpropertychange(VARIANT v);
6805
6806     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
6807     VARIANT onpropertychange();
6808
6809     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
6810     IHTMLRectCollection *getClientRects();
6811
6812     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
6813     IHTMLRect *getBoundingClientRect();
6814
6815     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
6816     void setExpression(
6817             [in] BSTR propname,
6818             [in] BSTR expression,
6819             [in, defaultvalue("")] BSTR language);
6820
6821     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
6822     VARIANT getExpression([in] BSTR propname);
6823
6824     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
6825     VARIANT_BOOL removeExpression([in] BSTR propname);
6826
6827     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
6828     void tabIndex(short v);
6829
6830     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
6831     short tabIndex();
6832
6833     [id(DISPID_IHTMLELEMENT2_FOCUS)]
6834     void focus();
6835
6836     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
6837     void accessKey(BSTR v);
6838
6839     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
6840     BSTR accessKey();
6841
6842     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
6843     void onblur(VARIANT v);
6844
6845     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
6846     VARIANT onblur();
6847
6848     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
6849     void onfocus(VARIANT v);
6850
6851     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
6852     VARIANT onfocus();
6853
6854     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
6855     void onresize(VARIANT v);
6856
6857     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
6858     VARIANT onresize();
6859
6860     [id(DISPID_IHTMLELEMENT2_BLUR)]
6861     void blur();
6862
6863     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
6864     void addFilter([in] IUnknown *pUnk);
6865
6866     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
6867     void removeFilter([in] IUnknown *pUnk);
6868
6869     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
6870     long clientHeight();
6871
6872     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
6873     long clientWidth();
6874
6875     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
6876     long clientTop();
6877
6878     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
6879     long clientLeft();
6880
6881     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
6882     VARIANT_BOOL attachEvent(
6883             [in] BSTR event,
6884             [in] IDispatch *pDisp);
6885
6886     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
6887     void detachEvent(
6888             [in] BSTR event,
6889             [in] IDispatch *pDisp);
6890
6891     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
6892     VARIANT readyState();
6893
6894     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
6895     void onreadystatechange(VARIANT v);
6896
6897     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
6898     VARIANT onreadystatechange();
6899
6900     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
6901     void onrowsdelete(VARIANT v);
6902
6903     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
6904     VARIANT onrowsdelete();
6905
6906     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
6907     void onrowsinserted(VARIANT v);
6908
6909     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
6910      VARIANT onrowsinserted();
6911
6912     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
6913      void oncellchange(VARIANT v);
6914
6915     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
6916     VARIANT oncellchange();
6917
6918     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
6919     void dir(BSTR v);
6920
6921     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
6922     BSTR dir();
6923
6924     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
6925     IDispatch *createControlRange();
6926
6927     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
6928     long scrollHeight();
6929
6930     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
6931     long scrollWidth();
6932
6933     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
6934     void scrollTop(long v);
6935
6936     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
6937     long scrollTop();
6938
6939     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
6940     void scrollLeft(long v);
6941
6942     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
6943     long scrollLeft();
6944
6945     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
6946     void clearAttributes();
6947
6948     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
6949     void oncontextmenu(VARIANT v);
6950
6951     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
6952     VARIANT oncontextmenu();
6953
6954     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
6955     IHTMLElement *insertAdjacentElement(
6956             [in] BSTR where,
6957             [in] IHTMLElement *insertedElement);
6958
6959     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
6960     IHTMLElement *applyElement(
6961             [in] IHTMLElement *apply,
6962             [in] BSTR where);
6963
6964     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
6965     BSTR getAdjacentText([in] BSTR where);
6966
6967     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
6968     BSTR replaceAdjacentText(
6969             [in] BSTR where,
6970             [in] BSTR newText);
6971
6972     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
6973     VARIANT_BOOL canHaveChildren();
6974
6975     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
6976     long addBehavior(
6977             [in] BSTR bstrUrl,
6978             [in, optional] VARIANT *pvarFactory);
6979
6980     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
6981     VARIANT_BOOL removeBehavior([in] long cookie);
6982
6983     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
6984     IHTMLStyle *runtimeStyle();
6985
6986     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
6987     IDispatch *behaviorUrns();
6988
6989     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
6990     void tagUrn(BSTR v);
6991
6992     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
6993     BSTR tagUrn();
6994
6995     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
6996     void onbeforeeditfocus(VARIANT v);
6997
6998     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
6999     VARIANT onbeforeeditfocus();
7000
7001     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
7002     long readyStateValue();
7003
7004     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
7005     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
7006
7007     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
7008     void mergeAttributes(
7009             [in] IHTMLElement *mergeThis,
7010             [in, optional] VARIANT *pvarFlags);
7011
7012     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
7013     VARIANT_BOOL isMultiLine();
7014
7015     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
7016     VARIANT_BOOL canHaveHTML();
7017
7018     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
7019     void onlayoutcomplete(VARIANT v);
7020
7021     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
7022     VARIANT onlayoutcomplete();
7023
7024     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
7025     void onpage(VARIANT v);
7026
7027     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
7028     VARIANT onpage();
7029
7030     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
7031     void inflateBlock(VARIANT_BOOL v);
7032
7033     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
7034     VARIANT_BOOL inflateBlock();
7035
7036     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
7037     void onbeforedeactivate(VARIANT v);
7038
7039     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
7040     VARIANT onbeforedeactivate();
7041
7042     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
7043     void setActive();
7044
7045     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
7046     void contentEditable(BSTR v);
7047
7048     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
7049     BSTR contentEditable();
7050
7051     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
7052     VARIANT_BOOL isContentEditable();
7053
7054     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
7055     void hideFocus(VARIANT_BOOL v);
7056
7057     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
7058     VARIANT_BOOL hideFocus();
7059
7060     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
7061     void disabled(VARIANT_BOOL v);
7062
7063     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
7064     VARIANT_BOOL disabled();
7065
7066     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
7067     VARIANT_BOOL isDisabled();
7068
7069     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
7070     void onmove(VARIANT v);
7071
7072     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
7073     VARIANT onmove();
7074
7075     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
7076     void oncontrolselect(VARIANT v);
7077
7078     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
7079     VARIANT oncontrolselect();
7080
7081     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
7082     VARIANT_BOOL fireEvent(
7083             [in] BSTR bstrEventName,
7084             [in, optional] VARIANT *pvarEventObject);
7085
7086     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
7087     void onresizestart(VARIANT v);
7088
7089     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
7090     VARIANT onresizestart();
7091
7092     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
7093     void onresizeend(VARIANT v);
7094
7095     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
7096     VARIANT onresizeend();
7097
7098     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
7099     void onmovestart(VARIANT v);
7100
7101     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
7102     VARIANT onmovestart();
7103
7104     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
7105     void onmoveend(VARIANT v);
7106
7107     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
7108     VARIANT onmoveend();
7109
7110     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
7111     void onmouseenter(VARIANT v);
7112
7113     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
7114     VARIANT onmouseenter();
7115
7116     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
7117     void onmouseleave(VARIANT v);
7118
7119     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
7120     VARIANT onmouseleave();
7121
7122     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
7123     void onactivate(VARIANT v);
7124
7125     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
7126     VARIANT onactivate();
7127
7128     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
7129     void ondeactivate(VARIANT v);
7130
7131     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
7132     VARIANT ondeactivate();
7133
7134     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
7135     VARIANT_BOOL dragDrop();
7136
7137     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
7138     LONG glyphMode();
7139
7140     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
7141     void onmousewheel(VARIANT v);
7142
7143     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
7144     VARIANT onmousewheel();
7145
7146     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
7147     void normalize();
7148
7149     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
7150     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
7151
7152     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
7153     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
7154
7155     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
7156     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
7157
7158     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
7159     void onbeforeactivate(VARIANT v);
7160
7161     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
7162     VARIANT onbeforeactivate();
7163
7164     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
7165     void onfocusin(VARIANT v);
7166
7167     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
7168     VARIANT onfocusin();
7169
7170     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
7171     void onfocusout(VARIANT v);
7172
7173     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
7174     VARIANT onfocusout();
7175
7176     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
7177     long uniqueNumber();
7178
7179     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
7180     BSTR uniqueID();
7181
7182     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
7183     long nodeType();
7184
7185     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
7186     IHTMLDOMNode *parentNode();
7187
7188     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
7189     VARIANT_BOOL hasChildNodes();
7190
7191     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
7192     IDispatch *childNodes();
7193
7194     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
7195     IDispatch *attributes();
7196
7197     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
7198     IHTMLDOMNode *insertBefore(
7199             [in] IHTMLDOMNode *newChild,
7200             [in, optional] VARIANT refChild);
7201
7202     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
7203     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
7204
7205     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
7206     IHTMLDOMNode *replaceChild(
7207             [in] IHTMLDOMNode *newChild,
7208             [in] IHTMLDOMNode *oldChild);
7209
7210     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
7211     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
7212
7213     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
7214     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
7215
7216     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
7217     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
7218
7219     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
7220     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
7221
7222     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
7223     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
7224
7225     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
7226     BSTR nodeName();
7227
7228     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
7229     void nodeValue(VARIANT v);
7230
7231     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
7232     VARIANT nodeValue();
7233
7234     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
7235     IHTMLDOMNode *firstChild();
7236
7237     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
7238     IHTMLDOMNode *lastChild();
7239
7240     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
7241     IHTMLDOMNode *previousSibling();
7242
7243     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
7244     IHTMLDOMNode *nextSibling();
7245
7246     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
7247     IDispatch *ownerDocument();
7248
7249     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
7250     void dataFld(BSTR v);
7251
7252     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
7253     BSTR dataFld();
7254
7255     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
7256     void dataSrc(BSTR v);
7257
7258     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
7259     BSTR dataSrc();
7260
7261     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
7262     void dataFormatAs(BSTR v);
7263
7264     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
7265     BSTR dataFormatAs();
7266
7267     [propput, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
7268     void selected(VARIANT_BOOL v);
7269
7270     [propget, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
7271     VARIANT_BOOL selected();
7272
7273     [propput, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
7274     void value(BSTR v);
7275
7276     [propget, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
7277     BSTR value();
7278
7279     [propput, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
7280     void defaultSelected(VARIANT_BOOL v);
7281
7282     [propget, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
7283     VARIANT_BOOL defaultSelected();
7284
7285     [propput, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
7286     void index(LONG v);
7287
7288     [propget, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
7289     LONG index();
7290
7291     [propput, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
7292     void text(BSTR v);
7293
7294     [propget, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
7295     BSTR text();
7296
7297     [propget, id(DISPID_IHTMLOPTIONELEMENT_FORM)]
7298     IHTMLFormElement *form();
7299
7300     [propput, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
7301     void label(BSTR v);
7302
7303     [propget, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
7304     BSTR label();
7305 }
7306
7307 /*****************************************************************************
7308  *    IHTMLInputElement interface
7309  */
7310 [
7311     odl,
7312     oleautomation,
7313     dual,
7314     uuid(3050f5d2-98b5-11cf-bb82-00aa00bdce0b)
7315 ]
7316 interface IHTMLInputElement : IDispatch
7317 {
7318     [propput, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
7319     HRESULT type([in] BSTR v);
7320
7321     [propget, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
7322     HRESULT type([retval, out] BSTR *p);
7323
7324     [propput, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
7325     HRESULT value([in] BSTR v);
7326
7327     [propget, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
7328     HRESULT value([retval, out] BSTR *p);
7329
7330     [propput, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
7331     HRESULT name([in] BSTR v);
7332
7333     [propget, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
7334     HRESULT name([retval, out] BSTR *p);
7335
7336     [propput, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
7337     HRESULT status([in] VARIANT_BOOL v);
7338
7339     [propget, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
7340     HRESULT status([retval, out] VARIANT_BOOL *p);
7341
7342     [propput, id(DISPID_IHTMLINPUTELEMENT_DISABLED), displaybind, bindable]
7343     HRESULT disabled([in] VARIANT_BOOL v);
7344
7345     [propget, id(DISPID_IHTMLINPUTELEMENT_DISABLED), displaybind, bindable]
7346     HRESULT disabled([retval, out] VARIANT_BOOL *p);
7347
7348     [propget, id(DISPID_IHTMLINPUTELEMENT_FORM)]
7349     HRESULT form([retval, out] IHTMLFormElement **p);
7350
7351     [propput, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
7352     HRESULT size([in] long v);
7353
7354     [propget, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
7355     HRESULT size([retval, out] long *p);
7356
7357     [propput, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
7358     HRESULT maxLength([in] long v);
7359
7360     [propget, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
7361     HRESULT maxLength([retval, out] long *p);
7362
7363     [id(DISPID_IHTMLINPUTELEMENT_SELECT)]
7364     HRESULT select();
7365
7366     [propput, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
7367     HRESULT onchange([in] VARIANT v);
7368
7369     [propget, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
7370     HRESULT onchange([retval, out] VARIANT *p);
7371
7372     [propput, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
7373     HRESULT onselect([in] VARIANT v);
7374
7375     [propget, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
7376     HRESULT onselect([retval, out] VARIANT *p);
7377
7378     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
7379     HRESULT defaultValue([in] BSTR v);
7380
7381     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
7382     HRESULT defaultValue([retval, out] BSTR *p);
7383
7384     [propput, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
7385     HRESULT readOnly([in] VARIANT_BOOL v);
7386
7387     [propget, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
7388     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
7389
7390     [id(DISPID_IHTMLINPUTELEMENT_CREATETEXTRANGE)]
7391     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
7392
7393     [propput, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
7394     HRESULT indeterminate([in] VARIANT_BOOL v);
7395
7396     [propget, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
7397     HRESULT indeterminate([retval, out] VARIANT_BOOL *p);
7398
7399     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
7400     HRESULT defaultChecked([in] VARIANT_BOOL v);
7401
7402     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
7403     HRESULT defaultChecked([retval, out] VARIANT_BOOL *p);
7404
7405     [propput, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
7406     HRESULT checked([in] VARIANT_BOOL v);
7407
7408     [propget, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
7409     HRESULT checked([retval, out] VARIANT_BOOL *p);
7410
7411     [propput, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
7412     HRESULT border([in] VARIANT v);
7413
7414     [propget, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
7415     HRESULT border([retval, out] VARIANT *p);
7416
7417     [propput, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
7418     HRESULT vspace([in] long v);
7419
7420     [propget, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
7421     HRESULT vspace([retval, out] long *p);
7422
7423     [propput, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
7424     HRESULT hspace([in] long v);
7425
7426     [propget, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
7427     HRESULT hspace([retval, out] long *p);
7428
7429     [propput, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
7430     HRESULT alt([in] BSTR v);
7431
7432     [propget, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
7433     HRESULT alt([retval, out] BSTR *p);
7434
7435     [propput, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
7436     HRESULT src([in] BSTR v);
7437
7438     [propget, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
7439     HRESULT src([retval, out] BSTR *p);
7440
7441     [propput, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
7442     HRESULT lowsrc([in] BSTR v);
7443
7444     [propget, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
7445     HRESULT lowsrc([retval, out] BSTR *p);
7446
7447     [propput, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
7448     HRESULT vrml([in] BSTR v);
7449
7450     [propget, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
7451     HRESULT vrml([retval, out] BSTR *p);
7452
7453     [propput, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
7454     HRESULT dynsrc([in] BSTR v);
7455
7456     [propget, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
7457     HRESULT dynsrc([retval, out] BSTR *p);
7458
7459     [propget, id(DISPID_IHTMLINPUTELEMENT_READYSTATE)]
7460     HRESULT readyState([retval, out] BSTR *p);
7461
7462     [propget, id(DISPID_IHTMLINPUTELEMENT_COMPLETE)]
7463     HRESULT complete([retval, out] VARIANT_BOOL *p);
7464
7465     [propput, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
7466     HRESULT loop([in] VARIANT v);
7467
7468     [propget, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
7469     HRESULT loop([retval, out] VARIANT *p);
7470
7471     [propput, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
7472     HRESULT align([in] BSTR v);
7473
7474     [propget, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
7475     HRESULT align([retval, out] BSTR *p);
7476
7477     [propput, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
7478     HRESULT onload([in] VARIANT v);
7479
7480     [propget, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
7481     HRESULT onload([retval, out] VARIANT *p);
7482
7483     [propput, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
7484     HRESULT onerror([in] VARIANT v);
7485
7486     [propget, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
7487     HRESULT onerror([retval, out] VARIANT *p);
7488
7489     [propput, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
7490     HRESULT onabort([in] VARIANT v);
7491
7492     [propget, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
7493     HRESULT onabort([retval, out] VARIANT *p);
7494
7495     [propput, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
7496     HRESULT width([in] long v);
7497
7498     [propget, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
7499     HRESULT width([retval, out] long *p);
7500
7501     [propput, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
7502     HRESULT height([in] long v);
7503
7504     [propget, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
7505     HRESULT height([retval, out] long *p);
7506
7507     [propput, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
7508     HRESULT start([in] BSTR v);
7509
7510     [propget, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
7511     HRESULT start([retval, out] BSTR *p);
7512 }
7513
7514 /*****************************************************************************
7515  *    IHTMLInputTextElement interface
7516  */
7517 [
7518     odl,
7519     oleautomation,
7520     dual,
7521     uuid(3050f2a6-98b5-11cf-bb82-00aa00bdce0b)
7522 ]
7523 interface IHTMLInputTextElement : IDispatch
7524 {
7525     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_TYPE)]
7526     HRESULT type([retval, out] BSTR *p);
7527
7528     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_VALUE), displaybind, bindable]
7529     HRESULT value([in] BSTR v);
7530
7531     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_VALUE), displaybind, bindable]
7532     HRESULT value([retval, out] BSTR *p);
7533
7534     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_NAME), displaybind, bindable]
7535     HRESULT name([in] BSTR v);
7536
7537     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_NAME), displaybind, bindable]
7538     HRESULT name([retval, out] BSTR *p);
7539
7540     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_STATUS)]
7541     HRESULT status([in] VARIANT v);
7542
7543     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_STATUS)]
7544     HRESULT status([retval, out] VARIANT *p);
7545
7546     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_DISABLED), displaybind, bindable]
7547     HRESULT disabled([in] VARIANT_BOOL v);
7548
7549     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_DISABLED), displaybind, bindable]
7550     HRESULT disabled([retval, out] VARIANT_BOOL *p);
7551
7552     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_FORM)]
7553     HRESULT form([retval, out] IHTMLFormElement **p);
7554
7555     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
7556     HRESULT defaultValue([in] BSTR v);
7557
7558     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
7559     HRESULT defaultValue([retval, out] BSTR *p);
7560
7561     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_SIZE), displaybind, bindable]
7562     HRESULT size([in] long v);
7563
7564     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_SIZE), displaybind, bindable]
7565     HRESULT size([retval, out] long *p);
7566
7567     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_MAXLENGTH), displaybind, bindable]
7568     HRESULT maxLength([in] long v);
7569
7570     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_MAXLENGTH), displaybind, bindable]
7571     HRESULT maxLength([retval, out] long *p);
7572
7573     [id(DISPID_IHTMLINPUTTEXTELEMENT_SELECT)]
7574     HRESULT select();
7575
7576     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_ONCHANGE), displaybind, bindable]
7577     HRESULT onchange([in] VARIANT v);
7578
7579     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_ONCHANGE), displaybind, bindable]
7580     HRESULT onchange([retval, out] VARIANT *p);
7581
7582     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_ONSELECT), displaybind, bindable]
7583     HRESULT onselect([in] VARIANT v);
7584
7585     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_ONSELECT), displaybind, bindable]
7586     HRESULT onselect([retval, out] VARIANT *p);
7587
7588     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_READONLY), displaybind, bindable]
7589     HRESULT readOnly([in] VARIANT_BOOL v);
7590
7591     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_READONLY), displaybind, bindable]
7592     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
7593
7594     [id(DISPID_IHTMLINPUTTEXTELEMENT_CREATETEXTRANGE)]
7595     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
7596 }
7597
7598 [
7599     hidden,
7600     uuid(3050f57d-98b5-11cf-bb82-00aa00bdce0b)
7601 ]
7602 dispinterface DispHTMLInputElement
7603 {
7604 properties:
7605 methods:
7606     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
7607     void setAttribute(
7608             [in] BSTR strAttributeName,
7609             [in] VARIANT AttributeValue,
7610             [in, defaultvalue(1)] LONG lFlags);
7611
7612     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
7613     VARIANT getAttribute(
7614              [in] BSTR strAttributeName,
7615              [in, defaultvalue(0)] LONG lFlags);
7616
7617     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
7618     VARIANT_BOOL removeAttribute(
7619             [in] BSTR strAttributeName,
7620             [in, defaultvalue(1)] LONG lFlags);
7621
7622     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
7623     void className(BSTR v);
7624
7625     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
7626     BSTR className();
7627
7628     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
7629     void id(BSTR v);
7630
7631     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
7632     BSTR id();
7633
7634     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
7635     BSTR tagName();
7636
7637     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
7638     IHTMLElement *parentElement();
7639
7640     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
7641     IHTMLStyle *style();
7642
7643     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
7644     void onhelp(VARIANT v);
7645
7646     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
7647     VARIANT onhelp();
7648
7649     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
7650     void onclick(VARIANT v);
7651
7652     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
7653     VARIANT onclick();
7654
7655     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
7656     void ondblclick(VARIANT v);
7657
7658     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
7659     VARIANT ondblclick();
7660
7661     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
7662     void onkeydown(VARIANT v);
7663
7664     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
7665     VARIANT onkeydown();
7666
7667     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
7668     void onkeyup(VARIANT v);
7669
7670     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
7671     VARIANT onkeyup();
7672
7673     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
7674     void onkeypress(VARIANT v);
7675
7676     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
7677     VARIANT onkeypress();
7678
7679     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
7680     void onmouseout(VARIANT v);
7681
7682     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
7683     VARIANT onmouseout();
7684
7685     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
7686     void onmouseover(VARIANT v);
7687
7688     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
7689     VARIANT onmouseover();
7690
7691     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
7692     void onmousemove(VARIANT v);
7693
7694     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
7695     VARIANT onmousemove();
7696
7697     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
7698     void onmousedown(VARIANT v);
7699
7700     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
7701     VARIANT onmousedown();
7702
7703     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
7704     void onmouseup(VARIANT v);
7705
7706     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
7707     VARIANT onmouseup();
7708
7709     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
7710     IDispatch *document();
7711
7712     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
7713     void title(BSTR v);
7714
7715     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
7716     BSTR title();
7717
7718     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
7719     void language(BSTR v);
7720
7721     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
7722     BSTR language();
7723
7724     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
7725     void onselectstart(VARIANT v);
7726
7727     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
7728     VARIANT onselectstart();
7729
7730     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
7731     void scrollIntoView([in, optional] VARIANT varargStart);
7732
7733     [id(DISPID_IHTMLELEMENT_CONTAINS)]
7734     VARIANT_BOOL contains([in] IHTMLElement *pChild);
7735
7736     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
7737     long sourceIndex();
7738
7739     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
7740     VARIANT recordNumber();
7741
7742     [propput, id(DISPID_IHTMLELEMENT_LANG)]
7743     void lang(BSTR v);
7744
7745     [propget, id(DISPID_IHTMLELEMENT_LANG)]
7746     BSTR lang();
7747
7748     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
7749     long offsetLeft();
7750
7751     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
7752     long offsetTop();
7753
7754     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
7755     long offsetWidth();
7756
7757     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
7758     long offsetHeight();
7759
7760     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
7761     IHTMLElement *offsetParent();
7762
7763     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
7764     void innerHTML(BSTR v);
7765
7766     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
7767     BSTR innerHTML();
7768
7769     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
7770     void innerText(BSTR v);
7771
7772     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
7773     BSTR innerText();
7774
7775     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
7776     void outerHTML(BSTR v);
7777
7778     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
7779     BSTR outerHTML();
7780
7781     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
7782     void outerText(BSTR v);
7783
7784     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
7785     BSTR outerText();
7786
7787     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
7788     void insertAdjacentHTML(
7789             [in] BSTR where,
7790             [in] BSTR html);
7791
7792     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
7793     void insertAdjacentText(
7794             [in] BSTR where,
7795             [in] BSTR text);
7796
7797     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
7798     IHTMLElement *parentTextEdit();
7799
7800     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
7801     VARIANT_BOOL isTextEdit();
7802
7803     [id(DISPID_IHTMLELEMENT_CLICK)]
7804     void click();
7805
7806     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
7807     IHTMLFiltersCollection *filters();
7808
7809     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
7810     void ondragstart(VARIANT v);
7811
7812     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
7813     VARIANT ondragstart();
7814
7815     [id(DISPID_IHTMLELEMENT_TOSTRING)]
7816     BSTR toString();
7817
7818     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
7819     void onbeforeupdate(VARIANT v);
7820
7821     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
7822     VARIANT onbeforeupdate();
7823
7824     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
7825     void onafterupdate(VARIANT v);
7826
7827     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
7828     VARIANT onafterupdate();
7829
7830     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
7831     void onerrorupdate(VARIANT v);
7832
7833     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
7834     VARIANT onerrorupdate();
7835
7836     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
7837     void onrowexit(VARIANT v);
7838
7839     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
7840     VARIANT onrowexit();
7841
7842     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
7843     void onrowenter(VARIANT v);
7844
7845     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
7846     VARIANT onrowenter();
7847
7848     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
7849     void ondatasetchanged(VARIANT v);
7850
7851     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
7852     VARIANT ondatasetchanged();
7853
7854     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
7855     void ondataavailable(VARIANT v);
7856
7857     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
7858     VARIANT ondataavailable();
7859
7860     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
7861     void ondatasetcomplete(VARIANT v);
7862
7863     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
7864     VARIANT ondatasetcomplete();
7865
7866     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
7867     void onfilterchange(VARIANT v);
7868
7869     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
7870     VARIANT onfilterchange();
7871
7872     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
7873     IDispatch *children();
7874
7875     [propget, id(DISPID_IHTMLELEMENT_ALL)]
7876     IDispatch *all();
7877
7878     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
7879     BSTR scopeName();
7880
7881     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
7882     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
7883
7884     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
7885     void releaseCapture();
7886
7887     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
7888     void onlosecapture(VARIANT v);
7889
7890     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
7891     VARIANT onlosecapture();
7892
7893     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
7894     BSTR componentFromPoint(
7895             [in] long x,
7896             [in] long y);
7897
7898     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
7899     void doScroll([in, optional] VARIANT component);
7900
7901     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
7902     void onscroll(VARIANT v);
7903
7904     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
7905     VARIANT onscroll();
7906
7907     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
7908     void ondrag(VARIANT v);
7909
7910     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
7911     VARIANT ondrag();
7912
7913     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
7914     void ondragend(VARIANT v);
7915
7916     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
7917     VARIANT ondragend();
7918
7919     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
7920     void ondragenter(VARIANT v);
7921
7922     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
7923     VARIANT ondragenter();
7924
7925     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
7926     void ondragover(VARIANT v);
7927
7928     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
7929     VARIANT ondragover();
7930
7931     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
7932     void ondragleave(VARIANT v);
7933
7934     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
7935     VARIANT ondragleave();
7936
7937     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
7938     void ondrop(VARIANT v);
7939
7940     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
7941     VARIANT ondrop();
7942
7943     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
7944     void onbeforecut(VARIANT v);
7945
7946     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
7947     VARIANT onbeforecut();
7948
7949     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
7950     void oncut(VARIANT v);
7951
7952     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
7953     VARIANT oncut();
7954
7955     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
7956     void onbeforecopy(VARIANT v);
7957
7958     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
7959     VARIANT onbeforecopy();
7960
7961     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
7962     void oncopy(VARIANT v);
7963
7964     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
7965     VARIANT oncopy();
7966
7967     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
7968     void onbeforepaste(VARIANT v);
7969
7970     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
7971     VARIANT onbeforepaste();
7972
7973     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
7974     void onpaste(VARIANT v);
7975
7976     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
7977     VARIANT onpaste();
7978
7979     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
7980     IHTMLCurrentStyle *currentStyle();
7981
7982     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
7983     void onpropertychange(VARIANT v);
7984
7985     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
7986     VARIANT onpropertychange();
7987
7988     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
7989     IHTMLRectCollection *getClientRects();
7990
7991     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
7992     IHTMLRect *getBoundingClientRect();
7993
7994     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
7995     void setExpression(
7996             [in] BSTR propname,
7997             [in] BSTR expression,
7998             [in, defaultvalue("")] BSTR language);
7999
8000     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
8001     VARIANT getExpression([in] BSTR propname);
8002
8003     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
8004     VARIANT_BOOL removeExpression([in] BSTR propname);
8005
8006     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
8007     void tabIndex(short v);
8008
8009     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
8010     short tabIndex();
8011
8012     [id(DISPID_IHTMLELEMENT2_FOCUS)]
8013     void focus();
8014
8015     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
8016     void accessKey(BSTR v);
8017
8018     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
8019     BSTR accessKey();
8020
8021     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
8022     void onblur(VARIANT v);
8023
8024     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
8025     VARIANT onblur();
8026
8027     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
8028     void onfocus(VARIANT v);
8029
8030     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
8031     VARIANT onfocus();
8032
8033     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
8034     void onresize(VARIANT v);
8035
8036     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
8037     VARIANT onresize();
8038
8039     [id(DISPID_IHTMLELEMENT2_BLUR)]
8040     void blur();
8041
8042     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
8043     void addFilter([in] IUnknown *pUnk);
8044
8045     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
8046     void removeFilter([in] IUnknown *pUnk);
8047
8048     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
8049     long clientHeight();
8050
8051     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
8052     long clientWidth();
8053
8054     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
8055     long clientTop();
8056
8057     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
8058     long clientLeft();
8059
8060     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
8061     VARIANT_BOOL attachEvent(
8062             [in] BSTR event,
8063             [in] IDispatch *pDisp);
8064
8065     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
8066     void detachEvent(
8067             [in] BSTR event,
8068             [in] IDispatch *pDisp);
8069
8070     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
8071     VARIANT readyState();
8072
8073     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
8074     void onreadystatechange(VARIANT v);
8075
8076     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
8077     VARIANT onreadystatechange();
8078
8079     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
8080     void onrowsdelete(VARIANT v);
8081
8082     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
8083     VARIANT onrowsdelete();
8084
8085     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
8086     void onrowsinserted(VARIANT v);
8087
8088     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
8089      VARIANT onrowsinserted();
8090
8091     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
8092      void oncellchange(VARIANT v);
8093
8094     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
8095     VARIANT oncellchange();
8096
8097     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
8098     void dir(BSTR v);
8099
8100     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
8101     BSTR dir();
8102
8103     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
8104     IDispatch *createControlRange();
8105
8106     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
8107     long scrollHeight();
8108
8109     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
8110     long scrollWidth();
8111
8112     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
8113     void scrollTop(long v);
8114
8115     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
8116     long scrollTop();
8117
8118     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
8119     void scrollLeft(long v);
8120
8121     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
8122     long scrollLeft();
8123
8124     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
8125     void clearAttributes();
8126
8127     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
8128     void oncontextmenu(VARIANT v);
8129
8130     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
8131     VARIANT oncontextmenu();
8132
8133     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
8134     IHTMLElement *insertAdjacentElement(
8135             [in] BSTR where,
8136             [in] IHTMLElement *insertedElement);
8137
8138     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
8139     IHTMLElement *applyElement(
8140             [in] IHTMLElement *apply,
8141             [in] BSTR where);
8142
8143     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
8144     BSTR getAdjacentText([in] BSTR where);
8145
8146     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
8147     BSTR replaceAdjacentText(
8148             [in] BSTR where,
8149             [in] BSTR newText);
8150
8151     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
8152     VARIANT_BOOL canHaveChildren();
8153
8154     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
8155     long addBehavior(
8156             [in] BSTR bstrUrl,
8157             [in, optional] VARIANT *pvarFactory);
8158
8159     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
8160     VARIANT_BOOL removeBehavior([in] long cookie);
8161
8162     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
8163     IHTMLStyle *runtimeStyle();
8164
8165     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
8166     IDispatch *behaviorUrns();
8167
8168     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
8169     void tagUrn(BSTR v);
8170
8171     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
8172     BSTR tagUrn();
8173
8174     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
8175     void onbeforeeditfocus(VARIANT v);
8176
8177     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
8178     VARIANT onbeforeeditfocus();
8179
8180     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
8181     long readyStateValue();
8182
8183     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
8184     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
8185
8186     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
8187     void mergeAttributes(
8188             [in] IHTMLElement *mergeThis,
8189             [in, optional] VARIANT *pvarFlags);
8190
8191     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
8192     VARIANT_BOOL isMultiLine();
8193
8194     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
8195     VARIANT_BOOL canHaveHTML();
8196
8197     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
8198     void onlayoutcomplete(VARIANT v);
8199
8200     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
8201     VARIANT onlayoutcomplete();
8202
8203     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
8204     void onpage(VARIANT v);
8205
8206     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
8207     VARIANT onpage();
8208
8209     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
8210     void inflateBlock(VARIANT_BOOL v);
8211
8212     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
8213     VARIANT_BOOL inflateBlock();
8214
8215     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
8216     void onbeforedeactivate(VARIANT v);
8217
8218     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
8219     VARIANT onbeforedeactivate();
8220
8221     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
8222     void setActive();
8223
8224     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
8225     void contentEditable(BSTR v);
8226
8227     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
8228     BSTR contentEditable();
8229
8230     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
8231     VARIANT_BOOL isContentEditable();
8232
8233     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
8234     void hideFocus(VARIANT_BOOL v);
8235
8236     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
8237     VARIANT_BOOL hideFocus();
8238
8239     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
8240     void disabled(VARIANT_BOOL v);
8241
8242     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
8243     VARIANT_BOOL disabled();
8244
8245     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
8246     VARIANT_BOOL isDisabled();
8247
8248     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
8249     void onmove(VARIANT v);
8250
8251     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
8252     VARIANT onmove();
8253
8254     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
8255     void oncontrolselect(VARIANT v);
8256
8257     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
8258     VARIANT oncontrolselect();
8259
8260     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
8261     VARIANT_BOOL fireEvent(
8262             [in] BSTR bstrEventName,
8263             [in, optional] VARIANT *pvarEventObject);
8264
8265     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
8266     void onresizestart(VARIANT v);
8267
8268     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
8269     VARIANT onresizestart();
8270
8271     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
8272     void onresizeend(VARIANT v);
8273
8274     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
8275     VARIANT onresizeend();
8276
8277     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
8278     void onmovestart(VARIANT v);
8279
8280     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
8281     VARIANT onmovestart();
8282
8283     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
8284     void onmoveend(VARIANT v);
8285
8286     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
8287     VARIANT onmoveend();
8288
8289     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
8290     void onmouseenter(VARIANT v);
8291
8292     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
8293     VARIANT onmouseenter();
8294
8295     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
8296     void onmouseleave(VARIANT v);
8297
8298     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
8299     VARIANT onmouseleave();
8300
8301     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
8302     void onactivate(VARIANT v);
8303
8304     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
8305     VARIANT onactivate();
8306
8307     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
8308     void ondeactivate(VARIANT v);
8309
8310     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
8311     VARIANT ondeactivate();
8312
8313     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
8314     VARIANT_BOOL dragDrop();
8315
8316     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
8317     LONG glyphMode();
8318
8319     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
8320     void onmousewheel(VARIANT v);
8321
8322     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
8323     VARIANT onmousewheel();
8324
8325     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
8326     void normalize();
8327
8328     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
8329     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
8330
8331     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
8332     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
8333
8334     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
8335     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
8336
8337     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
8338     void onbeforeactivate(VARIANT v);
8339
8340     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
8341     VARIANT onbeforeactivate();
8342
8343     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
8344     void onfocusin(VARIANT v);
8345
8346     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
8347     VARIANT onfocusin();
8348
8349     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
8350     void onfocusout(VARIANT v);
8351
8352     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
8353     VARIANT onfocusout();
8354
8355     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
8356     long uniqueNumber();
8357
8358     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
8359     BSTR uniqueID();
8360
8361     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
8362     long nodeType();
8363
8364     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
8365     IHTMLDOMNode *parentNode();
8366
8367     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
8368     VARIANT_BOOL hasChildNodes();
8369
8370     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
8371     IDispatch *childNodes();
8372
8373     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
8374     IDispatch *attributes();
8375
8376     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
8377     IHTMLDOMNode *insertBefore(
8378             [in] IHTMLDOMNode *newChild,
8379             [in, optional] VARIANT refChild);
8380
8381     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
8382     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
8383
8384     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
8385     IHTMLDOMNode *replaceChild(
8386             [in] IHTMLDOMNode *newChild,
8387             [in] IHTMLDOMNode *oldChild);
8388
8389     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
8390     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
8391
8392     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
8393     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
8394
8395     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
8396     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
8397
8398     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
8399     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
8400
8401     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
8402     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
8403
8404     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
8405     BSTR nodeName();
8406
8407     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
8408     void nodeValue(VARIANT v);
8409
8410     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
8411     VARIANT nodeValue();
8412
8413     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
8414     IHTMLDOMNode *firstChild();
8415
8416     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
8417     IHTMLDOMNode *lastChild();
8418
8419     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
8420     IHTMLDOMNode *previousSibling();
8421
8422     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
8423     IHTMLDOMNode *nextSibling();
8424
8425     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
8426     IDispatch *ownerDocument();
8427
8428     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
8429     void dataFld(BSTR v);
8430
8431     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
8432     BSTR dataFld();
8433
8434     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
8435     void dataSrc(BSTR v);
8436
8437     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
8438     BSTR dataSrc();
8439
8440     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
8441     void dataFormatAs(BSTR v);
8442
8443     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
8444     BSTR dataFormatAs();
8445
8446     [propput, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
8447     void type(BSTR v);
8448
8449     [propget, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
8450     BSTR type();
8451
8452     [propput, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
8453     void value(BSTR v);
8454
8455     [propget, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
8456     BSTR value();
8457
8458     [propput, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
8459     void name(BSTR v);
8460
8461     [propget, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
8462     BSTR name();
8463
8464     [propput, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
8465     void status(VARIANT_BOOL v);
8466
8467     [propget, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
8468     VARIANT_BOOL status();
8469
8470     [propget, id(DISPID_IHTMLINPUTELEMENT_FORM)]
8471     IHTMLFormElement *form();
8472
8473     [propput, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
8474     void size(long v);
8475
8476     [propget, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
8477     long size();
8478
8479     [propput, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
8480     void maxLength(long v);
8481
8482     [propget, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
8483     long maxLength();
8484
8485     [id(DISPID_IHTMLINPUTELEMENT_SELECT)]
8486     void select();
8487
8488     [propput, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
8489     void onchange(VARIANT v);
8490
8491     [propget, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
8492     VARIANT onchange();
8493
8494     [propput, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
8495     void onselect(VARIANT v);
8496
8497     [propget, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
8498     VARIANT onselect();
8499
8500     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
8501     void defaultValue(BSTR v);
8502
8503     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
8504     BSTR defaultValue();
8505
8506     [propput, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
8507     void readOnly(VARIANT_BOOL v);
8508
8509     [propget, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
8510     VARIANT_BOOL readOnly();
8511
8512     [id(DISPID_IHTMLINPUTELEMENT_CREATETEXTRANGE)]
8513     IHTMLTxtRange *createTextRange();
8514
8515     [propput, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
8516     void indeterminate(VARIANT_BOOL v);
8517
8518     [propget, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
8519     VARIANT_BOOL indeterminate();
8520
8521     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
8522     void defaultChecked(VARIANT_BOOL v);
8523
8524     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
8525     VARIANT_BOOL defaultChecked();
8526
8527     [propput, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
8528     void checked(VARIANT_BOOL v);
8529
8530     [propget, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
8531     VARIANT_BOOL checked();
8532
8533     [propput, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
8534     void border(VARIANT v);
8535
8536     [propget, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
8537     VARIANT border();
8538
8539     [propput, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
8540     void vspace(long v);
8541
8542     [propget, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
8543     long vspace();
8544
8545     [propput, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
8546     void hspace(long v);
8547
8548     [propget, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
8549     long hspace();
8550
8551     [propput, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
8552     void alt(BSTR v);
8553
8554     [propget, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
8555     BSTR alt();
8556
8557     [propput, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
8558     void src(BSTR v);
8559
8560     [propget, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
8561     BSTR src();
8562
8563     [propput, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
8564     void lowsrc(BSTR v);
8565
8566     [propget, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
8567     BSTR lowsrc();
8568
8569     [propput, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
8570     void vrml(BSTR v);
8571
8572     [propget, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
8573     BSTR vrml();
8574
8575     [propput, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
8576     void dynsrc(BSTR v);
8577
8578     [propget, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
8579     BSTR dynsrc();
8580
8581     [propget, id(DISPID_IHTMLINPUTELEMENT_COMPLETE)]
8582     VARIANT_BOOL complete();
8583
8584     [propput, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
8585     void loop(VARIANT v);
8586
8587     [propget, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
8588     VARIANT loop();
8589
8590     [propput, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
8591     void align(BSTR v);
8592
8593     [propget, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
8594     BSTR align();
8595
8596     [propput, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
8597     void onload(VARIANT v);
8598
8599     [propget, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
8600     VARIANT onload();
8601
8602     [propput, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
8603     void onerror(VARIANT v);
8604
8605     [propget, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
8606     VARIANT onerror();
8607
8608     [propput, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
8609     void onabort(VARIANT v);
8610
8611     [propget, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
8612     VARIANT onabort();
8613
8614     [propput, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
8615     void width(long v);
8616
8617     [propget, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
8618     long width();
8619
8620     [propput, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
8621     void height(long v);
8622
8623     [propget, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
8624     long height();
8625
8626     [propput, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
8627     void start(BSTR v);
8628
8629     [propget, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
8630     BSTR start();
8631
8632     [propput, id(DISPID_IHTMLINPUTELEMENT2_ACCEPT), displaybind, bindable]
8633     void accept(BSTR v);
8634
8635     [propget, id(DISPID_IHTMLINPUTELEMENT2_ACCEPT), displaybind, bindable]
8636     BSTR accept();
8637
8638     [propput, id(DISPID_IHTMLINPUTELEMENT2_USEMAP), displaybind, bindable]
8639     void useMap(BSTR v);
8640
8641     [propget, id(DISPID_IHTMLINPUTELEMENT2_USEMAP), displaybind, bindable]
8642     BSTR useMap();
8643 }
8644
8645 /*****************************************************************************
8646  *    IHTMLTextAreaElement interface
8647  */
8648 [
8649     odl,
8650     oleautomation,
8651     dual,
8652     uuid(3050f2aa-98b5-11cf-bb82-00aa00bdce0b)
8653 ]
8654 interface IHTMLTextAreaElement : IDispatch
8655 {
8656     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_TYPE)]
8657     HRESULT type([retval, out] BSTR *p);
8658
8659     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
8660     HRESULT value([in] BSTR v);
8661
8662     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
8663     HRESULT value([retval, out] BSTR *p);
8664
8665     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
8666     HRESULT name([in] BSTR v);
8667
8668     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
8669     HRESULT name([retval, out] BSTR *p);
8670
8671     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
8672     HRESULT status([in] VARIANT v);
8673
8674     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
8675     HRESULT status([retval, out] VARIANT *p);
8676
8677     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_DISABLED), displaybind, bindable]
8678     HRESULT disabled([in] VARIANT_BOOL v);
8679
8680     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_DISABLED), displaybind, bindable]
8681     HRESULT disabled([retval, out] VARIANT_BOOL *p);
8682
8683     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_FORM)]
8684     HRESULT form([retval, out] IHTMLFormElement **p);
8685
8686     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
8687     HRESULT defaultValue([in] BSTR v);
8688
8689     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
8690     HRESULT defaultValue([retval, out] BSTR *p);
8691
8692     [id(DISPID_IHTMLTEXTAREAELEMENT_SELECT)]
8693     HRESULT select();
8694
8695     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
8696     HRESULT onchange([in] VARIANT v);
8697
8698     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
8699     HRESULT onchange([retval, out] VARIANT *p);
8700
8701     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
8702     HRESULT onselect([in] VARIANT v);
8703
8704     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
8705     HRESULT onselect([retval, out] VARIANT *p);
8706
8707     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
8708     HRESULT readOnly([in] VARIANT_BOOL v);
8709
8710     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
8711     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
8712
8713     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
8714     HRESULT rows([in] long v);
8715
8716     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
8717     HRESULT rows([retval, out] long *p);
8718
8719     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
8720     HRESULT cols([in] long v);
8721
8722     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
8723     HRESULT cols([retval, out] long *p);
8724
8725     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
8726     HRESULT wrap([in] BSTR v);
8727
8728     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
8729     HRESULT wrap([retval, out] BSTR *p);
8730
8731     [id(DISPID_IHTMLTEXTAREAELEMENT_CREATETEXTRANGE)]
8732     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
8733 }
8734
8735 /*****************************************************************************
8736  *    DispHTMLUnknownElement interface
8737  */
8738 [
8739     hidden,
8740     uuid(3050f539-98b5-11cf-bb82-00aa00bdce0b)
8741 ]
8742 dispinterface DispHTMLUnknownElement
8743 {
8744 properties:
8745 methods:
8746     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
8747     void setAttribute(
8748             [in] BSTR strAttributeName,
8749             [in] VARIANT AttributeValue,
8750             [in, defaultvalue(1)] LONG lFlags);
8751
8752     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
8753     VARIANT getAttribute(
8754              [in] BSTR strAttributeName,
8755              [in, defaultvalue(0)] LONG lFlags);
8756
8757     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
8758     VARIANT_BOOL removeAttribute(
8759             [in] BSTR strAttributeName,
8760             [in, defaultvalue(1)] LONG lFlags);
8761
8762     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
8763     void className(BSTR v);
8764
8765     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
8766     BSTR className();
8767
8768     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
8769     void id(BSTR v);
8770
8771     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
8772     BSTR id();
8773
8774     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
8775     BSTR tagName();
8776
8777     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
8778     IHTMLElement *parentElement();
8779
8780     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
8781     IHTMLStyle *style();
8782
8783     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
8784     void onhelp(VARIANT v);
8785
8786     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
8787     VARIANT onhelp();
8788
8789     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
8790     void onclick(VARIANT v);
8791
8792     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
8793     VARIANT onclick();
8794
8795     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
8796     void ondblclick(VARIANT v);
8797
8798     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
8799     VARIANT ondblclick();
8800
8801     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
8802     void onkeydown(VARIANT v);
8803
8804     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
8805     VARIANT onkeydown();
8806
8807     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
8808     void onkeyup(VARIANT v);
8809
8810     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
8811     VARIANT onkeyup();
8812
8813     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
8814     void onkeypress(VARIANT v);
8815
8816     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
8817     VARIANT onkeypress();
8818
8819     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
8820     void onmouseout(VARIANT v);
8821
8822     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
8823     VARIANT onmouseout();
8824
8825     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
8826     void onmouseover(VARIANT v);
8827
8828     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
8829     VARIANT onmouseover();
8830
8831     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
8832     void onmousemove(VARIANT v);
8833
8834     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
8835     VARIANT onmousemove();
8836
8837     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
8838     void onmousedown(VARIANT v);
8839
8840     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
8841     VARIANT onmousedown();
8842
8843     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
8844     void onmouseup(VARIANT v);
8845
8846     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
8847     VARIANT onmouseup();
8848
8849     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
8850     IDispatch *document();
8851
8852     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
8853     void title(BSTR v);
8854
8855     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
8856     BSTR title();
8857
8858     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
8859     void language(BSTR v);
8860
8861     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
8862     BSTR language();
8863
8864     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
8865     void onselectstart(VARIANT v);
8866
8867     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
8868     VARIANT onselectstart();
8869
8870     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
8871     void scrollIntoView([in, optional] VARIANT varargStart);
8872
8873     [id(DISPID_IHTMLELEMENT_CONTAINS)]
8874     VARIANT_BOOL contains([in] IHTMLElement *pChild);
8875
8876     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
8877     long sourceIndex();
8878
8879     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
8880     VARIANT recordNumber();
8881
8882     [propput, id(DISPID_IHTMLELEMENT_LANG)]
8883     void lang(BSTR v);
8884
8885     [propget, id(DISPID_IHTMLELEMENT_LANG)]
8886     BSTR lang();
8887
8888     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
8889     long offsetLeft();
8890
8891     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
8892     long offsetTop();
8893
8894     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
8895     long offsetWidth();
8896
8897     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
8898     long offsetHeight();
8899
8900     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
8901     IHTMLElement *offsetParent();
8902
8903     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
8904     void innerHTML(BSTR v);
8905
8906     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
8907     BSTR innerHTML();
8908
8909     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
8910     void innerText(BSTR v);
8911
8912     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
8913     BSTR innerText();
8914
8915     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
8916     void outerHTML(BSTR v);
8917
8918     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
8919     BSTR outerHTML();
8920
8921     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
8922     void outerText(BSTR v);
8923
8924     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
8925     BSTR outerText();
8926
8927     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
8928     void insertAdjacentHTML(
8929             [in] BSTR where,
8930             [in] BSTR html);
8931
8932     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
8933     void insertAdjacentText(
8934             [in] BSTR where,
8935             [in] BSTR text);
8936
8937     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
8938     IHTMLElement *parentTextEdit();
8939
8940     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
8941     VARIANT_BOOL isTextEdit();
8942
8943     [id(DISPID_IHTMLELEMENT_CLICK)]
8944     void click();
8945
8946     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
8947     IHTMLFiltersCollection *filters();
8948
8949     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
8950     void ondragstart(VARIANT v);
8951
8952     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
8953     VARIANT ondragstart();
8954
8955     [id(DISPID_IHTMLELEMENT_TOSTRING)]
8956     BSTR toString();
8957
8958     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
8959     void onbeforeupdate(VARIANT v);
8960
8961     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
8962     VARIANT onbeforeupdate();
8963
8964     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
8965     void onafterupdate(VARIANT v);
8966
8967     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
8968     VARIANT onafterupdate();
8969
8970     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
8971     void onerrorupdate(VARIANT v);
8972
8973     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
8974     VARIANT onerrorupdate();
8975
8976     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
8977     void onrowexit(VARIANT v);
8978
8979     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
8980     VARIANT onrowexit();
8981
8982     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
8983     void onrowenter(VARIANT v);
8984
8985     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
8986     VARIANT onrowenter();
8987
8988     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
8989     void ondatasetchanged(VARIANT v);
8990
8991     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
8992     VARIANT ondatasetchanged();
8993
8994     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
8995     void ondataavailable(VARIANT v);
8996
8997     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
8998     VARIANT ondataavailable();
8999
9000     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
9001     void ondatasetcomplete(VARIANT v);
9002
9003     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
9004     VARIANT ondatasetcomplete();
9005
9006     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
9007     void onfilterchange(VARIANT v);
9008
9009     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
9010     VARIANT onfilterchange();
9011
9012     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
9013     IDispatch *children();
9014
9015     [propget, id(DISPID_IHTMLELEMENT_ALL)]
9016     IDispatch *all();
9017
9018     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
9019     BSTR scopeName();
9020
9021     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
9022     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
9023
9024     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
9025     void releaseCapture();
9026
9027     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
9028     void onlosecapture(VARIANT v);
9029
9030     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
9031     VARIANT onlosecapture();
9032
9033     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
9034     BSTR componentFromPoint(
9035             [in] long x,
9036             [in] long y);
9037
9038     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
9039     void doScroll([in, optional] VARIANT component);
9040
9041     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
9042     void onscroll(VARIANT v);
9043
9044     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
9045     VARIANT onscroll();
9046
9047     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
9048     void ondrag(VARIANT v);
9049
9050     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
9051     VARIANT ondrag();
9052
9053     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
9054     void ondragend(VARIANT v);
9055
9056     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
9057     VARIANT ondragend();
9058
9059     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
9060     void ondragenter(VARIANT v);
9061
9062     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
9063     VARIANT ondragenter();
9064
9065     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
9066     void ondragover(VARIANT v);
9067
9068     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
9069     VARIANT ondragover();
9070
9071     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
9072     void ondragleave(VARIANT v);
9073
9074     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
9075     VARIANT ondragleave();
9076
9077     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
9078     void ondrop(VARIANT v);
9079
9080     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
9081     VARIANT ondrop();
9082
9083     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
9084     void onbeforecut(VARIANT v);
9085
9086     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
9087     VARIANT onbeforecut();
9088
9089     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
9090     void oncut(VARIANT v);
9091
9092     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
9093     VARIANT oncut();
9094
9095     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
9096     void onbeforecopy(VARIANT v);
9097
9098     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
9099     VARIANT onbeforecopy();
9100
9101     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
9102     void oncopy(VARIANT v);
9103
9104     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
9105     VARIANT oncopy();
9106
9107     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
9108     void onbeforepaste(VARIANT v);
9109
9110     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
9111     VARIANT onbeforepaste();
9112
9113     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
9114     void onpaste(VARIANT v);
9115
9116     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
9117     VARIANT onpaste();
9118
9119     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
9120     IHTMLCurrentStyle *currentStyle();
9121
9122     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
9123     void onpropertychange(VARIANT v);
9124
9125     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
9126     VARIANT onpropertychange();
9127
9128     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
9129     IHTMLRectCollection *getClientRects();
9130
9131     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
9132     IHTMLRect *getBoundingClientRect();
9133
9134     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
9135     void setExpression(
9136             [in] BSTR propname,
9137             [in] BSTR expression,
9138             [in, defaultvalue("")] BSTR language);
9139
9140     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
9141     VARIANT getExpression([in] BSTR propname);
9142
9143     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
9144     VARIANT_BOOL removeExpression([in] BSTR propname);
9145
9146     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
9147     void tabIndex(short v);
9148
9149     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
9150     short tabIndex();
9151
9152     [id(DISPID_IHTMLELEMENT2_FOCUS)]
9153     void focus();
9154
9155     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
9156     void accessKey(BSTR v);
9157
9158     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
9159     BSTR accessKey();
9160
9161     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
9162     void onblur(VARIANT v);
9163
9164     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
9165     VARIANT onblur();
9166
9167     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
9168     void onfocus(VARIANT v);
9169
9170     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
9171     VARIANT onfocus();
9172
9173     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
9174     void onresize(VARIANT v);
9175
9176     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
9177     VARIANT onresize();
9178
9179     [id(DISPID_IHTMLELEMENT2_BLUR)]
9180     void blur();
9181
9182     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
9183     void addFilter([in] IUnknown *pUnk);
9184
9185     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
9186     void removeFilter([in] IUnknown *pUnk);
9187
9188     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
9189     long clientHeight();
9190
9191     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
9192     long clientWidth();
9193
9194     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
9195     long clientTop();
9196
9197     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
9198     long clientLeft();
9199
9200     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
9201     VARIANT_BOOL attachEvent(
9202             [in] BSTR event,
9203             [in] IDispatch *pDisp);
9204
9205     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
9206     void detachEvent(
9207             [in] BSTR event,
9208             [in] IDispatch *pDisp);
9209
9210     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
9211     VARIANT readyState();
9212
9213     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
9214     void onreadystatechange(VARIANT v);
9215
9216     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
9217     VARIANT onreadystatechange();
9218
9219     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
9220     void onrowsdelete(VARIANT v);
9221
9222     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
9223     VARIANT onrowsdelete();
9224
9225     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
9226     void onrowsinserted(VARIANT v);
9227
9228     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
9229      VARIANT onrowsinserted();
9230
9231     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
9232      void oncellchange(VARIANT v);
9233
9234     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
9235     VARIANT oncellchange();
9236
9237     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
9238     void dir(BSTR v);
9239
9240     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
9241     BSTR dir();
9242
9243     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
9244     IDispatch *createControlRange();
9245
9246     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
9247     long scrollHeight();
9248
9249     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
9250     long scrollWidth();
9251
9252     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
9253     void scrollTop(long v);
9254
9255     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
9256     long scrollTop();
9257
9258     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
9259     void scrollLeft(long v);
9260
9261     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
9262     long scrollLeft();
9263
9264     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
9265     void clearAttributes();
9266
9267     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
9268     void oncontextmenu(VARIANT v);
9269
9270     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
9271     VARIANT oncontextmenu();
9272
9273     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
9274     IHTMLElement *insertAdjacentElement(
9275             [in] BSTR where,
9276             [in] IHTMLElement *insertedElement);
9277
9278     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
9279     IHTMLElement *applyElement(
9280             [in] IHTMLElement *apply,
9281             [in] BSTR where);
9282
9283     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
9284     BSTR getAdjacentText([in] BSTR where);
9285
9286     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
9287     BSTR replaceAdjacentText(
9288             [in] BSTR where,
9289             [in] BSTR newText);
9290
9291     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
9292     VARIANT_BOOL canHaveChildren();
9293
9294     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
9295     long addBehavior(
9296             [in] BSTR bstrUrl,
9297             [in, optional] VARIANT *pvarFactory);
9298
9299     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
9300     VARIANT_BOOL removeBehavior([in] long cookie);
9301
9302     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
9303     IHTMLStyle *runtimeStyle();
9304
9305     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
9306     IDispatch *behaviorUrns();
9307
9308     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
9309     void tagUrn(BSTR v);
9310
9311     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
9312     BSTR tagUrn();
9313
9314     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
9315     void onbeforeeditfocus(VARIANT v);
9316
9317     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
9318     VARIANT onbeforeeditfocus();
9319
9320     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
9321     long readyStateValue();
9322
9323     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
9324     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
9325
9326     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
9327     void mergeAttributes(
9328             [in] IHTMLElement *mergeThis,
9329             [in, optional] VARIANT *pvarFlags);
9330
9331     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
9332     VARIANT_BOOL isMultiLine();
9333
9334     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
9335     VARIANT_BOOL canHaveHTML();
9336
9337     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
9338     void onlayoutcomplete(VARIANT v);
9339
9340     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
9341     VARIANT onlayoutcomplete();
9342
9343     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
9344     void onpage(VARIANT v);
9345
9346     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
9347     VARIANT onpage();
9348
9349     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
9350     void inflateBlock(VARIANT_BOOL v);
9351
9352     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
9353     VARIANT_BOOL inflateBlock();
9354
9355     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
9356     void onbeforedeactivate(VARIANT v);
9357
9358     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
9359     VARIANT onbeforedeactivate();
9360
9361     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
9362     void setActive();
9363
9364     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
9365     void contentEditable(BSTR v);
9366
9367     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
9368     BSTR contentEditable();
9369
9370     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
9371     VARIANT_BOOL isContentEditable();
9372
9373     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
9374     void hideFocus(VARIANT_BOOL v);
9375
9376     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
9377     VARIANT_BOOL hideFocus();
9378
9379     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
9380     void disabled(VARIANT_BOOL v);
9381
9382     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
9383     VARIANT_BOOL disabled();
9384
9385     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
9386     VARIANT_BOOL isDisabled();
9387
9388     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
9389     void onmove(VARIANT v);
9390
9391     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
9392     VARIANT onmove();
9393
9394     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
9395     void oncontrolselect(VARIANT v);
9396
9397     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
9398     VARIANT oncontrolselect();
9399
9400     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
9401     VARIANT_BOOL fireEvent(
9402             [in] BSTR bstrEventName,
9403             [in, optional] VARIANT *pvarEventObject);
9404
9405     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
9406     void onresizestart(VARIANT v);
9407
9408     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
9409     VARIANT onresizestart();
9410
9411     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
9412     void onresizeend(VARIANT v);
9413
9414     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
9415     VARIANT onresizeend();
9416
9417     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
9418     void onmovestart(VARIANT v);
9419
9420     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
9421     VARIANT onmovestart();
9422
9423     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
9424     void onmoveend(VARIANT v);
9425
9426     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
9427     VARIANT onmoveend();
9428
9429     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
9430     void onmouseenter(VARIANT v);
9431
9432     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
9433     VARIANT onmouseenter();
9434
9435     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
9436     void onmouseleave(VARIANT v);
9437
9438     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
9439     VARIANT onmouseleave();
9440
9441     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
9442     void onactivate(VARIANT v);
9443
9444     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
9445     VARIANT onactivate();
9446
9447     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
9448     void ondeactivate(VARIANT v);
9449
9450     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
9451     VARIANT ondeactivate();
9452
9453     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
9454     VARIANT_BOOL dragDrop();
9455
9456     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
9457     LONG glyphMode();
9458
9459     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
9460     void onmousewheel(VARIANT v);
9461
9462     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
9463     VARIANT onmousewheel();
9464
9465     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
9466     void normalize();
9467
9468     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
9469     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
9470
9471     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
9472     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
9473
9474     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
9475     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
9476
9477     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
9478     void onbeforeactivate(VARIANT v);
9479
9480     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
9481     VARIANT onbeforeactivate();
9482
9483     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
9484     void onfocusin(VARIANT v);
9485
9486     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
9487     VARIANT onfocusin();
9488
9489     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
9490     void onfocusout(VARIANT v);
9491
9492     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
9493     VARIANT onfocusout();
9494
9495     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
9496     long uniqueNumber();
9497
9498     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
9499     BSTR uniqueID();
9500
9501     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
9502     long nodeType();
9503
9504     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
9505     IHTMLDOMNode *parentNode();
9506
9507     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
9508     VARIANT_BOOL hasChildNodes();
9509
9510     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
9511     IDispatch *childNodes();
9512
9513     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
9514     IDispatch *attributes();
9515
9516     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
9517     IHTMLDOMNode *insertBefore(
9518             [in] IHTMLDOMNode *newChild,
9519             [in, optional] VARIANT refChild);
9520
9521     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
9522     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
9523
9524     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
9525     IHTMLDOMNode *replaceChild(
9526             [in] IHTMLDOMNode *newChild,
9527             [in] IHTMLDOMNode *oldChild);
9528
9529     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
9530     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
9531
9532     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
9533     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
9534
9535     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
9536     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
9537
9538     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
9539     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
9540
9541     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
9542     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
9543
9544     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
9545     BSTR nodeName();
9546
9547     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
9548     void nodeValue(VARIANT v);
9549
9550     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
9551     VARIANT nodeValue();
9552
9553     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
9554     IHTMLDOMNode *firstChild();
9555
9556     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
9557     IHTMLDOMNode *lastChild();
9558
9559     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
9560     IHTMLDOMNode *previousSibling();
9561
9562     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
9563     IHTMLDOMNode *nextSibling();
9564
9565     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
9566     IDispatch *ownerDocument();
9567 }
9568
9569 /*****************************************************************************
9570  *    IOmHistory interface
9571  */
9572 [
9573     odl,
9574     oleautomation,
9575     dual,
9576     uuid(FECEAAA2-8405-11CF-8BA1-00AA00476DA6)
9577 ]
9578 interface IOmHistory : IDispatch
9579 {
9580     [propget, id(DISPID_IOMHISTORY_LENGTH)]
9581     HRESULT length([retval, out] short *p);
9582
9583     [id(DISPID_IOMHISTORY_BACK)]
9584     HRESULT back([optional, in] VARIANT *pvargdistance);
9585
9586     [id(DISPID_IOMHISTORY_FORWARD)]
9587     HRESULT forward([optional, in] VARIANT *pvargdistance);
9588
9589     [id(DISPID_IOMHISTORY_GO)]
9590     HRESULT go([optional, in] VARIANT *pvargdistance);
9591 }
9592
9593 /*****************************************************************************
9594  *    IHTMLMimeTypesCollection interface
9595  */
9596 [
9597     odl,
9598     oleautomation,
9599     dual,
9600     uuid(3050F3FC-98B5-11CF-BB82-00AA00BDCE0B)
9601 ]
9602 interface IHTMLMimeTypesCollection : IDispatch
9603 {
9604     [propget, id(DISPID_IHTMLMIMETYPESCOLLECTION_LENGTH)]
9605     HRESULT length([retval, out] long *p);
9606 }
9607
9608 /*****************************************************************************
9609  *    IHTMLPluginsCollection interface
9610  */
9611 [
9612     odl,
9613     oleautomation,
9614     dual,
9615     uuid(3050F3FD-98B5-11CF-BB82-00AA00BDCE0B)
9616 ]
9617 interface IHTMLPluginsCollection : IDispatch
9618 {
9619     [propget, id(DISPID_IHTMLPLUGINSCOLLECTION_LENGTH)]
9620     HRESULT length([retval, out] long *p);
9621
9622     [id(DISPID_IHTMLPLUGINSCOLLECTION_REFRESH)]
9623     HRESULT refresh([defaultvalue(0), in] VARIANT_BOOL reload);
9624 }
9625
9626 /*****************************************************************************
9627  *    IHTMLOpsProfile interface
9628  */
9629 [
9630     odl,
9631     oleautomation,
9632     dual,
9633     uuid(3050F401-98B5-11CF-BB82-00AA00BDCE0B)
9634 ]
9635 interface IHTMLOpsProfile : IDispatch
9636 {
9637     [id(DISPID_IHTMLOPSPROFILE_ADDREQUEST)]
9638     HRESULT addRequest(
9639         [in] BSTR name,
9640         [optional, in] VARIANT reserved,
9641         [retval, out] VARIANT_BOOL *success);
9642
9643     [id(DISPID_IHTMLOPSPROFILE_CLEARREQUEST)]
9644     HRESULT clearRequest();
9645
9646     [id(DISPID_IHTMLOPSPROFILE_DOREQUEST)]
9647     HRESULT doRequest(
9648         [in] VARIANT usage,
9649         [optional, in] VARIANT fname,
9650         [optional, in] VARIANT domain,
9651         [optional, in] VARIANT path,
9652         [optional, in] VARIANT expire,
9653         [optional, in] VARIANT reserved);
9654
9655     [id(DISPID_IHTMLOPSPROFILE_GETATTRIBUTE)]
9656     HRESULT getAttribute(
9657         [in] BSTR name,
9658         [retval, out] BSTR *value);
9659
9660     [id(DISPID_IHTMLOPSPROFILE_SETATTRIBUTE)]
9661     HRESULT setAttribute(
9662         [in] BSTR name,
9663         [in] BSTR value,
9664         [optional, in] VARIANT prefs,
9665         [retval, out] VARIANT_BOOL *success);
9666
9667     [id(DISPID_IHTMLOPSPROFILE_COMMITCHANGES)]
9668     HRESULT commitChanges([retval, out] VARIANT_BOOL *success);
9669
9670     [id(DISPID_IHTMLOPSPROFILE_ADDREADREQUEST)]
9671     HRESULT addReadRequest(
9672         [in] BSTR name,
9673         [optional, in] VARIANT reserved,
9674         [retval, out] VARIANT_BOOL *success);
9675
9676     [id(DISPID_IHTMLOPSPROFILE_DOREADREQUEST)]
9677     HRESULT doReadRequest(
9678         [in] VARIANT usage,
9679         [optional, in] VARIANT fname,
9680         [optional, in] VARIANT domain,
9681         [optional, in] VARIANT path,
9682         [optional, in] VARIANT expire,
9683         [optional, in] VARIANT reserved);
9684
9685     [id(DISPID_IHTMLOPSPROFILE_DOWRITEREQUEST)]
9686     HRESULT doWriteRequest([retval, out] VARIANT_BOOL *success);
9687 }
9688
9689 /*****************************************************************************
9690  *    IOmNavigator interface
9691  */
9692 [
9693         odl,
9694         oleautomation,
9695         dual,
9696         uuid(FECEAAA5-8405-11CF-8BA1-00AA00476DA6)
9697 ]
9698 interface IOmNavigator : IDispatch
9699 {
9700     [propget, id(DISPID_IOMNAVIGATOR_APPCODENAME)]
9701     HRESULT appCodeName([retval, out] BSTR *p);
9702
9703     [propget, id(DISPID_IOMNAVIGATOR_APPNAME)]
9704     HRESULT appName([retval, out] BSTR *p);
9705
9706     [propget, id(DISPID_IOMNAVIGATOR_APPVERSION)]
9707     HRESULT appVersion([retval, out] BSTR *p);
9708
9709     [propget, id(DISPID_IOMNAVIGATOR_USERAGENT)]
9710     HRESULT userAgent([retval, out] BSTR *p);
9711
9712     [id(DISPID_IOMNAVIGATOR_JAVAENABLED)]
9713     HRESULT javaEnabled([retval, out] VARIANT_BOOL *enabled);
9714
9715     [id(DISPID_IOMNAVIGATOR_TAINTENABLED)]
9716     HRESULT taintEnabled([retval, out] VARIANT_BOOL *enabled);
9717
9718     [propget, id(DISPID_IOMNAVIGATOR_MIMETYPES)]
9719     HRESULT mimeTypes([retval, out] IHTMLMimeTypesCollection **p);
9720
9721     [propget, id(DISPID_IOMNAVIGATOR_PLUGINS)]
9722     HRESULT plugins([retval, out] IHTMLPluginsCollection **p);
9723
9724     [propget, id(DISPID_IOMNAVIGATOR_COOKIEENABLED)]
9725     HRESULT cookieEnabled([retval, out] VARIANT_BOOL *p);
9726
9727     [propget, id(DISPID_IOMNAVIGATOR_OPSPROFILE)]
9728     HRESULT opsProfile([retval, out] IHTMLOpsProfile **p);
9729
9730     [id(DISPID_IOMNAVIGATOR_TOSTRING)]
9731     HRESULT toString([retval, out] BSTR *String);
9732
9733     [propget, id(DISPID_IOMNAVIGATOR_CPUCLASS)]
9734     HRESULT cpuClass([retval, out] BSTR *p);
9735
9736     [propget, id(DISPID_IOMNAVIGATOR_SYSTEMLANGUAGE)]
9737     HRESULT systemLanguage([retval, out] BSTR *p);
9738
9739     [propget, id(DISPID_IOMNAVIGATOR_BROWSERLANGUAGE)]
9740     HRESULT browserLanguage([retval, out] BSTR *p);
9741
9742     [propget, id(DISPID_IOMNAVIGATOR_USERLANGUAGE)]
9743     HRESULT userLanguage([retval, out] BSTR *p);
9744
9745     [propget, id(DISPID_IOMNAVIGATOR_PLATFORM)]
9746     HRESULT platform([retval, out] BSTR *p);
9747
9748     [propget, id(DISPID_IOMNAVIGATOR_APPMINORVERSION)]
9749     HRESULT appMinorVersion([retval, out] BSTR *p);
9750
9751     [propget, id(DISPID_IOMNAVIGATOR_CONNECTIONSPEED)]
9752     HRESULT connectionSpeed([retval, out] long *p);
9753
9754     [propget, id(DISPID_IOMNAVIGATOR_ONLINE)]
9755     HRESULT onLine([retval, out] VARIANT_BOOL *p);
9756
9757     [propget, id(DISPID_IOMNAVIGATOR_USERPROFILE)]
9758     HRESULT userProfile([retval, out] IHTMLOpsProfile **p);
9759 }
9760
9761 /*****************************************************************************
9762  *    IHTMLLocation interface
9763  */
9764 [
9765     odl,
9766     oleautomation,
9767     dual,
9768     uuid(163BB1E0-6E00-11cf-837A-48DC04C10000)
9769 ]
9770 interface IHTMLLocation : IDispatch
9771 {
9772     [propput, id(DISPID_IHTMLLOCATION_HREF)]
9773     HRESULT href([in] BSTR v);
9774
9775     [propget, id(DISPID_IHTMLLOCATION_HREF)]
9776     HRESULT href([retval, out] BSTR *p);
9777
9778     [propput, id(DISPID_IHTMLLOCATION_PROTOCOL)]
9779     HRESULT protocol([in] BSTR v);
9780
9781     [propget, id(DISPID_IHTMLLOCATION_PROTOCOL)]
9782     HRESULT protocol([retval, out] BSTR *p);
9783
9784     [propput, id(DISPID_IHTMLLOCATION_HOST)]
9785     HRESULT host([in] BSTR v);
9786
9787     [propget, id(DISPID_IHTMLLOCATION_HOST)]
9788     HRESULT host([retval, out] BSTR *p);
9789
9790     [propput, id(DISPID_IHTMLLOCATION_HOSTNAME)]
9791     HRESULT hostname([in] BSTR v);
9792
9793     [propget, id(DISPID_IHTMLLOCATION_HOSTNAME)]
9794     HRESULT hostname([retval, out] BSTR *p);
9795
9796     [propput, id(DISPID_IHTMLLOCATION_PORT)]
9797     HRESULT port([in] BSTR v);
9798
9799     [propget, id(DISPID_IHTMLLOCATION_PORT)]
9800     HRESULT port([retval, out] BSTR *p);
9801
9802     [propput, id(DISPID_IHTMLLOCATION_PATHNAME)]
9803     HRESULT pathname([in] BSTR v);
9804
9805     [propget, id(DISPID_IHTMLLOCATION_PATHNAME)]
9806     HRESULT pathname([retval, out] BSTR *p);
9807
9808     [propput, id(DISPID_IHTMLLOCATION_SEARCH)]
9809     HRESULT search([in] BSTR v);
9810
9811     [propget, id(DISPID_IHTMLLOCATION_SEARCH)]
9812     HRESULT search([retval, out] BSTR *p);
9813
9814     [propput, id(DISPID_IHTMLLOCATION_HASH)]
9815     HRESULT hash([in] BSTR v);
9816
9817     [propget, id(DISPID_IHTMLLOCATION_HASH)]
9818     HRESULT hash([retval, out] BSTR *p);
9819
9820     [id(DISPID_IHTMLLOCATION_RELOAD)]
9821     HRESULT reload([defaultvalue(0), in] VARIANT_BOOL flag);
9822
9823     [id(DISPID_IHTMLLOCATION_REPLACE)]
9824     HRESULT replace([in] BSTR bstr);
9825
9826     [id(DISPID_IHTMLLOCATION_ASSIGN)]
9827     HRESULT assign([in] BSTR bstr);
9828
9829     [id(DISPID_IHTMLLOCATION_TOSTRING)]
9830     HRESULT toString([retval, out] BSTR *String);
9831 }
9832
9833 /*****************************************************************************
9834  *    IHTMLDataTransfer interface
9835  */
9836 [
9837     odl,
9838     oleautomation,
9839     dual,
9840     uuid(3050f4b3-98b5-11cf-bb82-00aa00bdce0b)
9841 ]
9842 interface IHTMLDataTransfer : IDispatch
9843 {
9844     [id(DISPID_IHTMLDATATRANSFER_SETDATA)]
9845     HRESULT setData(
9846             [in] BSTR format,
9847             [in] VARIANT *data,
9848             [out, retval] VARIANT_BOOL *pret);
9849
9850     [id(DISPID_IHTMLDATATRANSFER_GETDATA)]
9851     HRESULT getData(
9852             [in] BSTR format,
9853             [out, retval] VARIANT *pvarRet);
9854
9855     [id(DISPID_IHTMLDATATRANSFER_CLEARDATA)]
9856     HRESULT clearData(
9857             [in] BSTR format,
9858             [out, retval] VARIANT_BOOL *pret);
9859
9860     [propput, id(DISPID_IHTMLDATATRANSFER_DROPEFFECT)]
9861     HRESULT dropEffect([in] BSTR v);
9862
9863     [propget, id(DISPID_IHTMLDATATRANSFER_DROPEFFECT)]
9864     HRESULT dropEffect([out, retval] BSTR *p);
9865
9866     [propput, id(DISPID_IHTMLDATATRANSFER_EFFECTALLOWED)]
9867     HRESULT effectAllowed([in] BSTR v);
9868
9869     [propget, id(DISPID_IHTMLDATATRANSFER_EFFECTALLOWED)]
9870     HRESULT effectAllowed([out, retval] BSTR *p);
9871 }
9872
9873 /*****************************************************************************
9874  *    IHTMLEventObj interface
9875  */
9876 [
9877     odl,
9878     oleautomation,
9879     dual,
9880     uuid(3050F32D-98B5-11CF-BB82-00AA00BDCE0B)
9881 ]
9882 interface IHTMLEventObj : IDispatch
9883 {
9884     [propget, id(DISPID_IHTMLEVENTOBJ_SRCELEMENT)]
9885     HRESULT srcElement([retval, out] IHTMLElement **p);
9886
9887     [propget, id(DISPID_IHTMLEVENTOBJ_ALTKEY)]
9888     HRESULT altKey([retval, out] VARIANT_BOOL *p);
9889
9890     [propget, id(DISPID_IHTMLEVENTOBJ_CTRLKEY)]
9891     HRESULT ctrlKey([retval, out] VARIANT_BOOL *p);
9892
9893     [propget, id(DISPID_IHTMLEVENTOBJ_SHIFTKEY)]
9894     HRESULT shiftKey([retval, out] VARIANT_BOOL *p);
9895
9896     [propput, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
9897     HRESULT returnValue([in] VARIANT v);
9898
9899     [propget, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
9900     HRESULT returnValue([retval, out] VARIANT *p);
9901
9902     [propput, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
9903     HRESULT cancelBubble([in] VARIANT_BOOL v);
9904
9905     [propget, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
9906     HRESULT cancelBubble([retval, out] VARIANT_BOOL *p);
9907
9908     [propget, id(DISPID_IHTMLEVENTOBJ_FROMELEMENT)]
9909     HRESULT fromElement([retval, out] IHTMLElement **p);
9910
9911     [propget, id(DISPID_IHTMLEVENTOBJ_TOELEMENT)]
9912     HRESULT toElement([retval, out] IHTMLElement **p);
9913
9914     [propput, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
9915     HRESULT keyCode([in] long v);
9916
9917     [propget, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
9918     HRESULT keyCode([retval, out] long *p);
9919
9920     [propget, id(DISPID_IHTMLEVENTOBJ_BUTTON)]
9921     HRESULT button([retval, out] long *p);
9922
9923     [propget, id(DISPID_IHTMLEVENTOBJ_TYPE)]
9924     HRESULT type([retval, out] BSTR *p);
9925
9926     [propget, id(DISPID_IHTMLEVENTOBJ_QUALIFIER)]
9927     HRESULT qualifier([retval, out] BSTR *p);
9928
9929     [propget, id(DISPID_IHTMLEVENTOBJ_REASON)]
9930     HRESULT reason([retval, out] long *p);
9931
9932     [propget, id(DISPID_IHTMLEVENTOBJ_X)]
9933     HRESULT x([retval, out] long *p);
9934
9935     [propget, id(DISPID_IHTMLEVENTOBJ_Y)]
9936     HRESULT y([retval, out] long *p);
9937
9938     [propget, id(DISPID_IHTMLEVENTOBJ_CLIENTX)]
9939     HRESULT clientX([retval, out] long *p);
9940
9941     [propget, id(DISPID_IHTMLEVENTOBJ_CLIENTY)]
9942     HRESULT clientY([retval, out] long *p);
9943
9944     [propget, id(DISPID_IHTMLEVENTOBJ_OFFSETX)]
9945     HRESULT offsetX([retval, out] long *p);
9946
9947     [propget, id(DISPID_IHTMLEVENTOBJ_OFFSETY)]
9948     HRESULT offsetY([retval, out] long *p);
9949
9950     [propget, id(DISPID_IHTMLEVENTOBJ_SCREENX)]
9951     HRESULT screenX([retval, out] long *p);
9952
9953     [propget, id(DISPID_IHTMLEVENTOBJ_SCREENY)]
9954     HRESULT screenY([retval, out] long *p);
9955
9956     [propget, id(DISPID_IHTMLEVENTOBJ_SRCFILTER)]
9957     HRESULT srcFilter([retval, out] IDispatch **p);
9958 }
9959
9960 /*****************************************************************************
9961  *    IHTMLFramesCollection2 interface
9962  */
9963 [
9964     odl,
9965     oleautomation,
9966     dual,
9967     uuid(332C4426-26CB-11D0-B483-00C04FD90119)
9968 ]
9969 interface IHTMLFramesCollection2 : IDispatch
9970 {
9971     [id(DISPID_IHTMLFRAMESCOLLECTION2_ITEM)]
9972     HRESULT item(
9973         [in] VARIANT *pvarIndex,
9974         [retval, out] VARIANT *pvarResult);
9975
9976     [propget, id(DISPID_IHTMLFRAMESCOLLECTION2_LENGTH)]
9977     HRESULT length([retval, out] long *p);
9978 }
9979
9980 /*****************************************************************************
9981  *    IHTMLScreen interface
9982  */
9983 [
9984     odl,
9985     oleautomation,
9986     dual,
9987     uuid(3050f35C-98B5-11CF-BB82-00AA00BDCE0B)
9988 ]
9989 interface IHTMLScreen : IDispatch
9990 {
9991     [propget, id(DISPID_IHTMLSCREEN_COLORDEPTH)]
9992     HRESULT colorDepth([retval, out] long *p);
9993
9994     [propput, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
9995     HRESULT bufferDepth([in] long v);
9996
9997     [propget, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
9998     HRESULT bufferDepth([retval, out] long *p);
9999
10000     [propget, id(DISPID_IHTMLSCREEN_WIDTH)]
10001     HRESULT width([retval, out] long *p);
10002
10003     [propget, id(DISPID_IHTMLSCREEN_HEIGHT)]
10004     HRESULT height([retval, out] long *p);
10005
10006     [propput, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
10007     HRESULT updateInterval([in] long v);
10008
10009     [propget, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
10010     HRESULT updateInterval([retval, out] long *p);
10011
10012     [propget, id(DISPID_IHTMLSCREEN_AVAILHEIGHT)]
10013     HRESULT availHeight([retval, out] long *p);
10014
10015     [propget, id(DISPID_IHTMLSCREEN_AVAILWIDTH)]
10016     HRESULT availWidth([retval, out] long *p);
10017
10018     [propget, id(DISPID_IHTMLSCREEN_FONTSMOOTHINGENABLED)]
10019     HRESULT fontSmoothingEnabled([retval, out] VARIANT_BOOL *p);
10020 }
10021
10022 /*****************************************************************************
10023  *    IHTMLWindow2 interface
10024  */
10025 [
10026     odl,
10027     oleautomation,
10028     dual,
10029     uuid(332C4427-26CB-11D0-B483-00C04FD90119)
10030 ]
10031 interface IHTMLWindow2 : IHTMLFramesCollection2
10032 {
10033     [propget, id(DISPID_IHTMLWINDOW2_FRAMES)]
10034     HRESULT frames([retval, out] IHTMLFramesCollection2 **p);
10035
10036     [propput, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
10037     HRESULT defaultStatus([in] BSTR v);
10038
10039     [propget, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
10040     HRESULT defaultStatus([retval, out] BSTR *p);
10041
10042     [propput, id(DISPID_IHTMLWINDOW2_STATUS)]
10043     HRESULT status([in] BSTR v);
10044
10045     [propget, id(DISPID_IHTMLWINDOW2_STATUS)]
10046     HRESULT status([retval, out] BSTR *p);
10047
10048     [id(DISPID_IHTMLWINDOW2_SETTIMEOUT)]
10049     HRESULT setTimeout(
10050         [in] BSTR expression,
10051         [in] long msec,
10052         [optional, in] VARIANT *language,
10053         [retval, out] long *timerID);
10054
10055     [id(DISPID_IHTMLWINDOW2_CLEARTIMEOUT)]
10056     HRESULT clearTimeout([in] long timerID);
10057
10058     [id(DISPID_IHTMLWINDOW2_ALERT)]
10059     HRESULT alert([defaultvalue(""), in] BSTR message);
10060
10061     [id(DISPID_IHTMLWINDOW2_CONFIRM)]
10062     HRESULT confirm(
10063         [defaultvalue(""), in] BSTR message,
10064         [retval, out] VARIANT_BOOL *confirmed);
10065
10066     [id(DISPID_IHTMLWINDOW2_PROMPT)]
10067     HRESULT prompt(
10068         [defaultvalue(""), in] BSTR message,
10069         [defaultvalue("undefined"), in] BSTR defstr,
10070         [retval, out] VARIANT *textdata);
10071
10072     [propget, id(DISPID_IHTMLWINDOW2_IMAGE)]
10073     HRESULT Image([retval, out] IHTMLImageElementFactory **p);
10074
10075     [propget, id(DISPID_IHTMLWINDOW2_LOCATION)]
10076     HRESULT location([retval, out] IHTMLLocation **p);
10077
10078     [propget, id(DISPID_IHTMLWINDOW2_HISTORY)]
10079     HRESULT history([retval, out] IOmHistory **p);
10080
10081     [id(DISPID_IHTMLWINDOW2_CLOSE)]
10082     HRESULT close();
10083
10084     [propput, id(DISPID_IHTMLWINDOW2_OPENER)]
10085     HRESULT opener([in] VARIANT v);
10086
10087     [propget, id(DISPID_IHTMLWINDOW2_OPENER)]
10088     HRESULT opener([retval, out] VARIANT *p);
10089
10090     [propget, id(DISPID_IHTMLWINDOW2_NAVIGATOR)]
10091     HRESULT navigator([retval, out] IOmNavigator **p);
10092
10093     [propput, id(DISPID_IHTMLWINDOW2_NAME)]
10094     HRESULT name([in] BSTR v);
10095
10096     [propget, id(DISPID_IHTMLWINDOW2_NAME)]
10097     HRESULT name([retval, out] BSTR *p);
10098
10099     [propget, id(DISPID_IHTMLWINDOW2_PARENT)]
10100     HRESULT parent([retval, out] IHTMLWindow2 **p);
10101
10102     [id(DISPID_IHTMLWINDOW2_OPEN)]
10103     HRESULT open(
10104         [defaultvalue(""), in] BSTR url,
10105         [defaultvalue(""), in] BSTR name,
10106         [defaultvalue(""), in] BSTR features,
10107         [defaultvalue(0), in] VARIANT_BOOL replace,
10108         [retval, out] IHTMLWindow2 **pomWindowResult);
10109
10110     [propget, id(DISPID_IHTMLWINDOW2_SELF)]
10111     HRESULT self([retval, out] IHTMLWindow2 **p);
10112
10113     [propget, id(DISPID_IHTMLWINDOW2_TOP)]
10114     HRESULT top([retval, out] IHTMLWindow2 **p);
10115
10116     [propget, id(DISPID_IHTMLWINDOW2_WINDOW)]
10117     HRESULT window([retval, out] IHTMLWindow2 **p);
10118
10119     [id(DISPID_IHTMLWINDOW2_NAVIGATE)]
10120     HRESULT navigate([in] BSTR url);
10121
10122     [propput, id(DISPID_IHTMLWINDOW2_ONFOCUS)]
10123     HRESULT onfocus([in] VARIANT v);
10124
10125     [propget, id(DISPID_IHTMLWINDOW2_ONFOCUS)]
10126     HRESULT onfocus([retval, out] VARIANT *p);
10127
10128     [propput, id(DISPID_IHTMLWINDOW2_ONBLUR)]
10129     HRESULT onblur([in] VARIANT v);
10130
10131     [propget, id(DISPID_IHTMLWINDOW2_ONBLUR)]
10132     HRESULT onblur([retval, out] VARIANT *p);
10133
10134     [propput, id(DISPID_IHTMLWINDOW2_ONLOAD)]
10135     HRESULT onload([in] VARIANT v);
10136
10137     [propget, id(DISPID_IHTMLWINDOW2_ONLOAD)]
10138     HRESULT onload([retval, out] VARIANT *p);
10139
10140     [propput, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD)]
10141     HRESULT onbeforeunload([in] VARIANT v);
10142
10143     [propget, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD)]
10144     HRESULT onbeforeunload([retval, out] VARIANT *p);
10145
10146     [propput, id(DISPID_IHTMLWINDOW2_ONUNLOAD)]
10147     HRESULT onunload([in] VARIANT v);
10148
10149     [propget, id(DISPID_IHTMLWINDOW2_ONUNLOAD)]
10150     HRESULT onunload([retval, out] VARIANT *p);
10151
10152     [propput, id(DISPID_IHTMLWINDOW2_ONHELP)]
10153     HRESULT onhelp([in] VARIANT v);
10154
10155     [propget, id(DISPID_IHTMLWINDOW2_ONHELP)]
10156     HRESULT onhelp([retval, out] VARIANT *p);
10157
10158     [propput, id(DISPID_IHTMLWINDOW2_ONERROR)]
10159     HRESULT onerror([in] VARIANT v);
10160
10161     [propget, id(DISPID_IHTMLWINDOW2_ONERROR)]
10162     HRESULT onerror([retval, out] VARIANT *p);
10163
10164     [propput, id(DISPID_IHTMLWINDOW2_ONRESIZE)]
10165     HRESULT onresize([in] VARIANT v);
10166
10167     [propget, id(DISPID_IHTMLWINDOW2_ONRESIZE)]
10168     HRESULT onresize([retval, out] VARIANT *p);
10169
10170     [propput, id(DISPID_IHTMLWINDOW2_ONSCROLL)]
10171     HRESULT onscroll([in] VARIANT v);
10172
10173     [propget, id(DISPID_IHTMLWINDOW2_ONSCROLL)]
10174     HRESULT onscroll([retval, out] VARIANT *p);
10175
10176     [propget, id(DISPID_IHTMLWINDOW2_DOCUMENT)]
10177     HRESULT document([retval, out] IHTMLDocument2 **p);
10178
10179     [propget, id(DISPID_IHTMLWINDOW2_EVENT)]
10180     HRESULT event([retval, out] IHTMLEventObj **p);
10181
10182     [propget, id(DISPID_IHTMLWINDOW2__NEWENUM)]
10183     HRESULT _newEnum([retval, out] IUnknown **p);
10184
10185     [id(DISPID_IHTMLWINDOW2_SHOWMODALDIALOG)]
10186     HRESULT showModalDialog(
10187         [in] BSTR dialog,
10188         [optional, in] VARIANT *varArgIn,
10189         [optional, in] VARIANT *varOptions,
10190         [retval, out] VARIANT *varArgOut);
10191
10192     [id(DISPID_IHTMLWINDOW2_SHOWHELP)]
10193     HRESULT showHelp(
10194         [in] BSTR helpURL,
10195         [optional, in] VARIANT helpArg,
10196         [defaultvalue(""), in] BSTR features);
10197
10198     [propget, id(DISPID_IHTMLWINDOW2_SCREEN)]
10199     HRESULT screen([retval, out] IHTMLScreen **p);
10200
10201     [propget, id(DISPID_IHTMLWINDOW2_OPTION)]
10202     HRESULT Option([retval, out] IHTMLOptionElementFactory **p);
10203
10204     [id(DISPID_IHTMLWINDOW2_FOCUS)]
10205     HRESULT focus();
10206
10207     [propget, id(DISPID_IHTMLWINDOW2_CLOSED)]
10208     HRESULT closed([retval, out] VARIANT_BOOL *p);
10209
10210     [id(DISPID_IHTMLWINDOW2_BLUR)]
10211     HRESULT blur();
10212
10213     [id(DISPID_IHTMLWINDOW2_SCROLL)]
10214     HRESULT scroll([in] long x, [in] long y);
10215
10216     [propget, id(DISPID_IHTMLWINDOW2_CLIENTINFORMATION)]
10217     HRESULT clientInformation([retval, out] IOmNavigator **p);
10218
10219     [id(DISPID_IHTMLWINDOW2_SETINTERVAL)]
10220     HRESULT setInterval([
10221         in] BSTR expression,
10222         [in] long msec,
10223         [optional, in] VARIANT *language,
10224         [retval, out] long *timerID);
10225
10226     [id(DISPID_IHTMLWINDOW2_CLEARINTERVAL)]
10227     HRESULT clearInterval([in] long timerID);
10228
10229     [propput, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
10230     HRESULT offscreenBuffering([in] VARIANT v);
10231
10232     [propget, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
10233     HRESULT offscreenBuffering([retval, out] VARIANT *p);
10234
10235     [id(DISPID_IHTMLWINDOW2_EXECSCRIPT)]
10236     HRESULT execScript(
10237         [in] BSTR scode,
10238         [defaultvalue("JScript"), in] BSTR language,
10239         [retval, out] VARIANT *pvarRet);
10240
10241     [id(DISPID_IHTMLWINDOW2_TOSTRING)]
10242     HRESULT toString([retval, out] BSTR *String);
10243
10244     [id(DISPID_IHTMLWINDOW2_SCROLLBY)]
10245     HRESULT scrollBy([in] long x, [in] long y);
10246
10247     [id(DISPID_IHTMLWINDOW2_SCROLLTO)]
10248     HRESULT scrollTo([in] long x, [in] long y);
10249
10250     [id(DISPID_IHTMLWINDOW2_MOVETO)]
10251     HRESULT moveTo([in] long x, [in] long y);
10252
10253     [id(DISPID_IHTMLWINDOW2_MOVEBY)]
10254     HRESULT moveBy([in] long x, [in] long y);
10255
10256     [id(DISPID_IHTMLWINDOW2_RESIZETO)]
10257     HRESULT resizeTo([in] long x, [in] long y);
10258
10259     [id(DISPID_IHTMLWINDOW2_RESIZEBY)]
10260     HRESULT resizeBy([in] long x, [in] long y);
10261
10262     [propget, id(DISPID_IHTMLWINDOW2_EXTERNAL)]
10263     HRESULT external([retval, out] IDispatch **p);
10264 }
10265
10266 /*****************************************************************************
10267  *    IHTMLWindow3 interface
10268  */
10269 [
10270     odl,
10271     oleautomation,
10272     dual,
10273     uuid(3050f4ae-98b5-11cf-bb82-00aa00bdce0b)
10274 ]
10275 interface IHTMLWindow3 : IDispatch
10276 {
10277     [propget, id(DISPID_IHTMLWINDOW3_SCREENLEFT)]
10278     HRESULT screenLeft([out, retval] long *p);
10279
10280     [propget, id(DISPID_IHTMLWINDOW3_SCREENTOP)]
10281     HRESULT screenTop([out, retval] long *p);
10282
10283     [id(DISPID_IHTMLWINDOW3_ATTACHEVENT)]
10284     HRESULT attachEvent(
10285             [in] BSTR event,
10286             [in] IDispatch *pDisp,
10287             [out, retval] VARIANT_BOOL *pfResult);
10288
10289     [id(DISPID_IHTMLWINDOW3_DETACHEVENT)]
10290     HRESULT detachEvent(
10291             [in] BSTR event,
10292             [in] IDispatch *pDisp);
10293
10294     [id(DISPID_IHTMLWINDOW3_SETTIMEOUT)]
10295     HRESULT setTimeout(
10296             [in] VARIANT *expression,
10297             [in] long msec,
10298             [in, optional] VARIANT *language,
10299             [out, retval] long *timerID);
10300
10301     [id(DISPID_IHTMLWINDOW3_SETINTERVAL)]
10302     HRESULT setInterval(
10303             [in] VARIANT *expression,
10304             [in] long msec,
10305             [in, optional] VARIANT *language,
10306             [out, retval] long *timerID);
10307
10308     [id(DISPID_IHTMLWINDOW3_PRINT)]
10309     HRESULT print();
10310
10311     [propput, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
10312     HRESULT onbeforeprint([in] VARIANT v);
10313
10314     [propget, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
10315     HRESULT onbeforeprint([out, retval] VARIANT *p);
10316
10317     [propput, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
10318     HRESULT onafterprint([in] VARIANT v);
10319
10320     [propget, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
10321     HRESULT onafterprint([out, retval] VARIANT *p);
10322
10323     [propget, id(DISPID_IHTMLWINDOW3_CLIPBOARDDATA)]
10324     HRESULT clipboardData([out, retval] IHTMLDataTransfer **p);
10325
10326     [id(DISPID_IHTMLWINDOW3_SHOWMODELESSDIALOG)]
10327     HRESULT showModelessDialog(
10328             [in, defaultvalue("")] BSTR url,
10329             [in, optional] VARIANT *varArgIn,
10330             [in, optional] VARIANT *options,
10331             [out, retval] IHTMLWindow2 **pDialog);
10332 }
10333
10334 /*****************************************************************************
10335  *    DispHTMLWindow2 dispinterface
10336  */
10337 [
10338     hidden,
10339     uuid(3050f55d-98b5-11cf-bb82-00aa00bdce0b)
10340 ]
10341 dispinterface DispHTMLWindow2
10342 {
10343 properties:
10344 methods:
10345     [id(DISPID_IHTMLFRAMESCOLLECTION2_ITEM)]
10346     VARIANT item([in] VARIANT *pvarIndex);
10347
10348     [propget, id(DISPID_IHTMLFRAMESCOLLECTION2_LENGTH)]
10349     long length();
10350
10351     [propget, id(DISPID_IHTMLWINDOW2_FRAMES)]
10352     IHTMLFramesCollection2 *frames();
10353
10354     [propput, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
10355     void defaultStatus(BSTR v);
10356
10357     [propget, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
10358     BSTR defaultStatus();
10359
10360     [propput, id(DISPID_IHTMLWINDOW2_STATUS)]
10361     void status(BSTR v);
10362
10363     [propget, id(DISPID_IHTMLWINDOW2_STATUS)]
10364     BSTR status();
10365
10366     [id(DISPID_IHTMLWINDOW2_CLEARTIMEOUT)]
10367     void clearTimeout([in] long timerID);
10368
10369     [id(DISPID_IHTMLWINDOW2_ALERT)]
10370     void alert([in, defaultvalue("")] BSTR message);
10371
10372     [id(DISPID_IHTMLWINDOW2_CONFIRM)]
10373     VARIANT_BOOL confirm([in, defaultvalue("")] BSTR message);
10374
10375     [id(DISPID_IHTMLWINDOW2_PROMPT)]
10376     VARIANT prompt(
10377             [in, defaultvalue("")] BSTR message,
10378             [in, defaultvalue("undefined")] BSTR defstr);
10379
10380     [propget, id(DISPID_IHTMLWINDOW2_IMAGE)]
10381     IHTMLImageElementFactory *Image();
10382
10383     [propget, id(DISPID_IHTMLWINDOW2_LOCATION)]
10384     IHTMLLocation *location();
10385
10386     [propget, id(DISPID_IHTMLWINDOW2_HISTORY)]
10387     IOmHistory *history();
10388
10389     [id(DISPID_IHTMLWINDOW2_CLOSE)]
10390     void close();
10391
10392     [propput, id(DISPID_IHTMLWINDOW2_OPENER)]
10393     void opener(VARIANT v);
10394
10395     [propget, id(DISPID_IHTMLWINDOW2_OPENER)]
10396     VARIANT opener();
10397
10398     [propget, id(DISPID_IHTMLWINDOW2_NAVIGATOR)]
10399     IOmNavigator *navigator();
10400
10401     [propput, id(DISPID_IHTMLWINDOW2_NAME)]
10402     void name(BSTR v);
10403
10404     [propget, id(DISPID_IHTMLWINDOW2_NAME)]
10405     BSTR name();
10406
10407     [propget, id(DISPID_IHTMLWINDOW2_PARENT)]
10408     IHTMLWindow2 *parent();
10409
10410     [id(DISPID_IHTMLWINDOW2_OPEN)]
10411     IHTMLWindow2 *open(
10412             [in, defaultvalue("")] BSTR url,
10413             [in, defaultvalue("")] BSTR name,
10414             [in, defaultvalue("")] BSTR features,
10415             [in, defaultvalue(0)]  VARIANT_BOOL replace);
10416
10417     [propget, id(DISPID_IHTMLWINDOW2_SELF)]
10418     IHTMLWindow2 *self();
10419
10420     [propget, id(DISPID_IHTMLWINDOW2_TOP)]
10421     IHTMLWindow2 *top();
10422
10423     [propget, id(DISPID_IHTMLWINDOW2_WINDOW)]
10424     IHTMLWindow2 *window();
10425
10426     [id(DISPID_IHTMLWINDOW2_NAVIGATE)]
10427     void navigate([in] BSTR url);
10428
10429     [propput, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
10430     void onfocus(VARIANT v);
10431
10432     [propget, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
10433     VARIANT onfocus();
10434
10435     [propput, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
10436     void onblur(VARIANT v);
10437
10438     [propget, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
10439     VARIANT onblur();
10440
10441     [propget, id(DISPID_IHTMLWINDOW2_ONLOAD), displaybind, bindable]
10442     VARIANT onload();
10443
10444     [propput, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
10445     void onbeforeunload(VARIANT v);
10446
10447     [propget, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
10448     VARIANT onbeforeunload();
10449
10450     [propput, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
10451     void onunload(VARIANT v);
10452
10453     [propget, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
10454     VARIANT onunload();
10455
10456     [propput, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
10457     void onhelp(VARIANT v);
10458
10459     [propget, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
10460     VARIANT onhelp();
10461
10462     [propput, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
10463     void onerror(VARIANT v);
10464
10465     [propget, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
10466     VARIANT onerror();
10467
10468     [propput, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
10469     void onresize(VARIANT v);
10470
10471     [propget, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
10472     VARIANT onresize();
10473
10474     [propput, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
10475     void onscroll(VARIANT v);
10476
10477     [propget, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
10478     VARIANT onscroll();
10479
10480     [propget, id(DISPID_IHTMLWINDOW2_DOCUMENT), source]
10481     IHTMLDocument2 *document();
10482
10483     [propget, id(DISPID_IHTMLWINDOW2_EVENT)]
10484     IHTMLEventObj *event();
10485
10486     [propget, id(DISPID_IHTMLWINDOW2__NEWENUM), hidden, restricted]
10487     IUnknown *_newEnum();
10488
10489     [id(DISPID_IHTMLWINDOW2_SHOWMODALDIALOG)]
10490     VARIANT showModalDialog(
10491             [in] BSTR dialog,
10492             [in, optional] VARIANT *varArgIn,
10493             [in, optional] VARIANT *varOptions);
10494
10495     [id(DISPID_IHTMLWINDOW2_SHOWHELP)]
10496     void showHelp(
10497             [in] BSTR helpURL,
10498             [in, optional] VARIANT helpArg,
10499             [in, defaultvalue("")] BSTR features);
10500
10501     [propget, id(DISPID_IHTMLWINDOW2_SCREEN)]
10502     IHTMLScreen *screen();
10503
10504     [propget, id(DISPID_IHTMLWINDOW2_OPTION)]
10505     IHTMLOptionElementFactory *Option();
10506
10507     [id(DISPID_IHTMLWINDOW2_FOCUS)]
10508     void focus();
10509
10510     [propget, id(DISPID_IHTMLWINDOW2_CLOSED)]
10511     VARIANT_BOOL closed();
10512
10513     [id(DISPID_IHTMLWINDOW2_BLUR)]
10514     void blur();
10515
10516     [id(DISPID_IHTMLWINDOW2_SCROLL)]
10517     void scroll([in] long x, [in] long y);
10518
10519     [propget, id(DISPID_IHTMLWINDOW2_CLIENTINFORMATION)]
10520     IOmNavigator *clientInformation();
10521
10522     [id(DISPID_IHTMLWINDOW2_CLEARINTERVAL)]
10523     void clearInterval([in] long timerID);
10524
10525     [propput, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
10526     void offscreenBuffering(VARIANT v);
10527
10528     [propget, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
10529     VARIANT offscreenBuffering();
10530
10531     [id(DISPID_IHTMLWINDOW2_EXECSCRIPT)]
10532     VARIANT execScript(
10533             [in] BSTR _code,
10534             [in, defaultvalue("JScript")] BSTR language);
10535
10536     [id(DISPID_IHTMLWINDOW2_TOSTRING)]
10537     BSTR toString();
10538
10539     [id(DISPID_IHTMLWINDOW2_SCROLLBY)]
10540     void scrollBy([in] long x, [in] long y);
10541
10542     [id(DISPID_IHTMLWINDOW2_SCROLLTO)]
10543     void scrollTo([in] long x, [in] long y);
10544
10545     [id(DISPID_IHTMLWINDOW2_MOVETO)]
10546     void moveTo([in] long x, [in] long y);
10547
10548     [id(DISPID_IHTMLWINDOW2_MOVEBY)]
10549     void moveBy([in] long x, [in] long y);
10550
10551     [id(DISPID_IHTMLWINDOW2_RESIZETO)]
10552     void resizeTo([in] long x, [in] long y);
10553
10554     [id(DISPID_IHTMLWINDOW2_RESIZEBY)]
10555     void resizeBy([in] long x, [in] long y);
10556
10557     [propget, id(DISPID_IHTMLWINDOW2_EXTERNAL)]
10558     IDispatch *external();
10559
10560     [propget, id(DISPID_IHTMLWINDOW3_SCREENLEFT)]
10561     long screenLeft();
10562
10563     [propget, id(DISPID_IHTMLWINDOW3_SCREENTOP)]
10564     long screenTop();
10565
10566     [id(DISPID_IHTMLWINDOW3_ATTACHEVENT)]
10567     VARIANT_BOOL attachEvent(
10568              [in] BSTR event,
10569              [in] IDispatch *pDisp);
10570
10571     [id(DISPID_IHTMLWINDOW3_DETACHEVENT)]
10572     void detachEvent(
10573             [in] BSTR event,
10574             [in] IDispatch *pDisp);
10575
10576     [id(DISPID_IHTMLWINDOW3_SETTIMEOUT)]
10577     long setTimeout(
10578             [in] VARIANT *expression,
10579             [in] long msec,
10580             [in, optional] VARIANT *language);
10581
10582     [id(DISPID_IHTMLWINDOW3_SETINTERVAL)]
10583     long setInterval(
10584             [in] VARIANT *expression,
10585             [in] long msec,
10586             [in, optional] VARIANT *language);
10587
10588     [id(DISPID_IHTMLWINDOW3_PRINT)]
10589     void print();
10590
10591     [propput, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
10592     void onbeforeprint(VARIANT v);
10593
10594     [propget, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
10595     VARIANT onbeforeprint();
10596
10597     [propput, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
10598     void onafterprint(VARIANT v);
10599
10600     [propget, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
10601     VARIANT onafterprint();
10602
10603     [propget, id(DISPID_IHTMLWINDOW3_CLIPBOARDDATA)]
10604     IHTMLDataTransfer *clipboardData();
10605
10606     [id(DISPID_IHTMLWINDOW3_SHOWMODELESSDIALOG)]
10607     IHTMLWindow2 *showModelessDialog(
10608             [in, defaultvalue("")] BSTR url,
10609             [in, optional] VARIANT *varArgIn,
10610             [in, optional] VARIANT *options);
10611
10612     [id(DISPID_IHTMLWINDOW4_CREATEPOPUP)]
10613     IDispatch *createPopup([in, optional] VARIANT *varArgIn);
10614
10615     [propget, id(DISPID_IHTMLWINDOW4_FRAMEELEMENT)]
10616     IHTMLFrameBase *frameElement();
10617 }
10618
10619 /*****************************************************************************
10620  *    HTMLDocumentEvents2 interface
10621  */
10622 [
10623     hidden,
10624     uuid(3050f613-98b5-11cf-bb82-00aa00bdce0b)
10625 ]
10626 dispinterface HTMLDocumentEvents2
10627 {
10628     properties:
10629     methods:
10630     [id(DISPID_HTMLDOCUMENTEVENTS2_ONHELP)]
10631     VARIANT_BOOL onhelp([in] IHTMLEventObj *pEvtObj);
10632
10633     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCLICK)]
10634     VARIANT_BOOL onclick([in] IHTMLEventObj *pEvtObj);
10635
10636     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDBLCLICK)]
10637     VARIANT_BOOL ondblclick([in] IHTMLEventObj *pEvtObj);
10638
10639     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYDOWN)]
10640     void onkeydown([in] IHTMLEventObj *pEvtObj);
10641
10642     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYUP)]
10643     void onkeyup([in] IHTMLEventObj *pEvtObj);
10644
10645     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYPRESS)]
10646     VARIANT_BOOL onkeypress([in] IHTMLEventObj *pEvtObj);
10647
10648     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEDOWN)]
10649     void onmousedown([in] IHTMLEventObj *pEvtObj);
10650
10651     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEMOVE)]
10652     void onmousemove([in] IHTMLEventObj *pEvtObj);
10653
10654     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEUP)]
10655     void onmouseup([in] IHTMLEventObj *pEvtObj);
10656
10657     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEOUT)]
10658     void onmouseout([in] IHTMLEventObj *pEvtObj);
10659
10660     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEOVER)]
10661     void onmouseover([in] IHTMLEventObj *pEvtObj);
10662
10663     [id(DISPID_HTMLDOCUMENTEVENTS2_ONREADYSTATECHANGE)]
10664     void onreadystatechange([in] IHTMLEventObj *pEvtObj);
10665
10666     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREUPDATE)]
10667     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj *pEvtObj);
10668
10669     [id(DISPID_HTMLDOCUMENTEVENTS2_ONAFTERUPDATE)]
10670     void onafterupdate([in] IHTMLEventObj *pEvtObj);
10671
10672     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWEXIT)]
10673     VARIANT_BOOL onrowexit([in] IHTMLEventObj *pEvtObj);
10674
10675     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWENTER)]
10676     void onrowenter([in] IHTMLEventObj *pEvtObj);
10677
10678     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDRAGSTART)]
10679     VARIANT_BOOL ondragstart([in] IHTMLEventObj *pEvtObj);
10680
10681     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSELECTSTART)]
10682     VARIANT_BOOL onselectstart([in] IHTMLEventObj *pEvtObj);
10683
10684     [id(DISPID_HTMLDOCUMENTEVENTS2_ONERRORUPDATE)]
10685     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj *pEvtObj);
10686
10687     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCONTEXTMENU)]
10688     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj *pEvtObj);
10689
10690     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSTOP)]
10691     VARIANT_BOOL onstop([in] IHTMLEventObj *pEvtObj);
10692
10693     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWSDELETE)]
10694     void onrowsdelete([in] IHTMLEventObj *pEvtObj);
10695
10696     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWSINSERTED)]
10697     void onrowsinserted([in] IHTMLEventObj *pEvtObj);
10698
10699     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCELLCHANGE)]
10700     void oncellchange([in] IHTMLEventObj *pEvtObj);
10701
10702     [id(DISPID_HTMLDOCUMENTEVENTS2_ONPROPERTYCHANGE)]
10703     void onpropertychange([in] IHTMLEventObj *pEvtObj);
10704
10705     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATASETCHANGED)]
10706     void ondatasetchanged([in] IHTMLEventObj *pEvtObj);
10707
10708     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATAAVAILABLE)]
10709     void ondataavailable([in] IHTMLEventObj *pEvtObj);
10710
10711     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATASETCOMPLETE)]
10712     void ondatasetcomplete([in] IHTMLEventObj *pEvtObj);
10713
10714     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREEDITFOCUS)]
10715     void onbeforeeditfocus([in] IHTMLEventObj *pEvtObj);
10716
10717     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSELECTIONCHANGE)]
10718     void onselectionchange([in] IHTMLEventObj *pEvtObj);
10719
10720     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCONTROLSELECT)]
10721     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj *pEvtObj);
10722
10723     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEWHEEL)]
10724     VARIANT_BOOL onmousewheel([in] IHTMLEventObj *pEvtObj);
10725
10726     [id(DISPID_HTMLDOCUMENTEVENTS2_ONFOCUSIN)]
10727     void onfocusin([in] IHTMLEventObj *pEvtObj);
10728
10729     [id(DISPID_HTMLDOCUMENTEVENTS2_ONFOCUSOUT)]
10730     void onfocusout([in] IHTMLEventObj *pEvtObj);
10731
10732     [id(DISPID_HTMLDOCUMENTEVENTS2_ONACTIVATE)]
10733     void onactivate([in] IHTMLEventObj *pEvtObj);
10734
10735     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDEACTIVATE)]
10736     void ondeactivate([in] IHTMLEventObj *pEvtObj);
10737
10738     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREACTIVATE)]
10739     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj *pEvtObj);
10740
10741     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREDEACTIVATE)]
10742     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj *pEvtObj);
10743 }
10744
10745 /*****************************************************************************
10746  *    HTMLDocumentEvents interface
10747  */
10748 [
10749     hidden,
10750     uuid(3050f260-98b5-11cf-bb82-00aa00bdce0b)
10751 ]
10752 dispinterface HTMLDocumentEvents
10753 {
10754     properties:
10755     methods:
10756     [id(DISPID_HTMLDOCUMENTEVENTS_ONHELP)]
10757     VARIANT_BOOL onhelp();
10758
10759     [id(DISPID_HTMLDOCUMENTEVENTS_ONCLICK)]
10760     VARIANT_BOOL onclick();
10761
10762     [id(DISPID_HTMLDOCUMENTEVENTS_ONDBLCLICK)]
10763     VARIANT_BOOL ondblclick();
10764
10765     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYDOWN)]
10766     void onkeydown();
10767
10768     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYUP)]
10769     void onkeyup();
10770
10771     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYPRESS)]
10772     VARIANT_BOOL onkeypress();
10773
10774     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEDOWN)]
10775     void onmousedown();
10776
10777     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEMOVE)]
10778     void onmousemove();
10779
10780     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEUP)]
10781     void onmouseup();
10782
10783     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEOUT)]
10784     void onmouseout();
10785
10786     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEOVER)]
10787     void onmouseover();
10788
10789     [id(DISPID_HTMLDOCUMENTEVENTS_ONREADYSTATECHANGE)]
10790     void onreadystatechange();
10791
10792     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREUPDATE)]
10793     VARIANT_BOOL onbeforeupdate();
10794
10795     [id(DISPID_HTMLDOCUMENTEVENTS_ONAFTERUPDATE)]
10796     void onafterupdate();
10797
10798     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWEXIT)]
10799     VARIANT_BOOL onrowexit();
10800
10801     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWENTER)]
10802     void onrowenter();
10803
10804     [id(DISPID_HTMLDOCUMENTEVENTS_ONDRAGSTART)]
10805     VARIANT_BOOL ondragstart();
10806
10807     [id(DISPID_HTMLDOCUMENTEVENTS_ONSELECTSTART)]
10808     VARIANT_BOOL onselectstart();
10809
10810     [id(DISPID_HTMLDOCUMENTEVENTS_ONERRORUPDATE)]
10811     VARIANT_BOOL onerrorupdate();
10812
10813     [id(DISPID_HTMLDOCUMENTEVENTS_ONCONTEXTMENU)]
10814     VARIANT_BOOL oncontextmenu();
10815
10816     [id(DISPID_HTMLDOCUMENTEVENTS_ONSTOP)]
10817     VARIANT_BOOL onstop();
10818
10819     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWSDELETE)]
10820     void onrowsdelete();
10821
10822     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWSINSERTED)]
10823     void onrowsinserted();
10824
10825     [id(DISPID_HTMLDOCUMENTEVENTS_ONCELLCHANGE)]
10826     void oncellchange();
10827
10828     [id(DISPID_HTMLDOCUMENTEVENTS_ONPROPERTYCHANGE)]
10829     void onpropertychange();
10830
10831     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATASETCHANGED)]
10832     void ondatasetchanged();
10833
10834     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATAAVAILABLE)]
10835     void ondataavailable();
10836
10837     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATASETCOMPLETE)]
10838     void ondatasetcomplete();
10839
10840     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREEDITFOCUS)]
10841     void onbeforeeditfocus();
10842
10843     [id(DISPID_HTMLDOCUMENTEVENTS_ONSELECTIONCHANGE)]
10844     void onselectionchange();
10845
10846     [id(DISPID_HTMLDOCUMENTEVENTS_ONCONTROLSELECT)]
10847     VARIANT_BOOL oncontrolselect();
10848
10849     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEWHEEL)]
10850     VARIANT_BOOL onmousewheel();
10851
10852     [id(DISPID_HTMLDOCUMENTEVENTS_ONFOCUSIN)]
10853     void onfocusin();
10854
10855     [id(DISPID_HTMLDOCUMENTEVENTS_ONFOCUSOUT)]
10856     void onfocusout();
10857
10858     [id(DISPID_HTMLDOCUMENTEVENTS_ONACTIVATE)]
10859     void onactivate();
10860
10861     [id(DISPID_HTMLDOCUMENTEVENTS_ONDEACTIVATE)]
10862     void ondeactivate();
10863
10864     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREACTIVATE)]
10865     VARIANT_BOOL onbeforeactivate();
10866
10867     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREDEACTIVATE)]
10868     VARIANT_BOOL onbeforedeactivate();
10869 }
10870
10871 /*****************************************************************************
10872  *    HTMLTextContainerEvents interface
10873  */
10874 [
10875     hidden,
10876     uuid(1ff6aa72-5842-11cf-a707-00aa00c0098d)
10877 ]
10878 dispinterface HTMLTextContainerEvents
10879 {
10880 properties:
10881
10882 methods:
10883     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
10884     VARIANT_BOOL onhelp();
10885
10886     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
10887     VARIANT_BOOL onclick();
10888
10889     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
10890     VARIANT_BOOL ondblclick();
10891
10892     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
10893     VARIANT_BOOL onkeypress();
10894
10895     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
10896     void onkeydown();
10897
10898     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
10899     void onkeyup();
10900
10901     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
10902     void onmouseout();
10903
10904     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
10905     void onmouseover();
10906
10907     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
10908     void onmousemove();
10909
10910     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
10911     void onmousedown();
10912
10913     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
10914     void onmouseup();
10915
10916     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
10917     VARIANT_BOOL onselectstart();
10918
10919     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
10920     void onfilterchange();
10921
10922     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
10923     VARIANT_BOOL ondragstart();
10924
10925     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
10926     VARIANT_BOOL onbeforeupdate();
10927
10928     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
10929     void onafterupdate();
10930
10931     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
10932     VARIANT_BOOL onerrorupdate();
10933
10934     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
10935     VARIANT_BOOL onrowexit();
10936
10937     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
10938     void onrowenter();
10939
10940     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
10941     void ondatasetchanged();
10942
10943     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
10944     void ondataavailable();
10945
10946     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
10947     void ondatasetcomplete();
10948
10949     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
10950     void onlosecapture();
10951
10952     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
10953     void onpropertychange();
10954
10955     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
10956     void onscroll();
10957
10958     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
10959     void onfocus();
10960
10961     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
10962     void onblur();
10963
10964     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
10965     void onresize();
10966
10967     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
10968     VARIANT_BOOL ondrag();
10969
10970     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
10971     void ondragend();
10972
10973     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
10974     VARIANT_BOOL ondragenter();
10975
10976     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
10977     VARIANT_BOOL ondragover();
10978
10979     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
10980     void ondragleave();
10981
10982     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
10983     VARIANT_BOOL ondrop();
10984
10985     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
10986     VARIANT_BOOL onbeforecut();
10987
10988     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
10989     VARIANT_BOOL oncut();
10990
10991     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
10992     VARIANT_BOOL onbeforecopy();
10993
10994     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
10995     VARIANT_BOOL oncopy();
10996
10997     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
10998     VARIANT_BOOL onbeforepaste();
10999
11000     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
11001     VARIANT_BOOL onpaste();
11002
11003     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
11004     VARIANT_BOOL oncontextmenu();
11005
11006     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
11007     void onrowsdelete();
11008
11009     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
11010     void onrowsinserted();
11011
11012     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
11013     void oncellchange();
11014
11015     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
11016     void onreadystatechange();
11017
11018     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
11019     void onbeforeeditfocus();
11020
11021     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
11022     void onlayoutcomplete();
11023
11024     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
11025     void onpage();
11026
11027     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
11028     VARIANT_BOOL onbeforedeactivate();
11029
11030     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
11031     VARIANT_BOOL onbeforeactivate();
11032
11033     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
11034     void onmove();
11035
11036     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
11037     VARIANT_BOOL oncontrolselect();
11038
11039     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
11040     VARIANT_BOOL onmovestart();
11041
11042     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
11043     void onmoveend();
11044
11045     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
11046     VARIANT_BOOL onresizestart();
11047
11048     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
11049     void onresizeend();
11050
11051     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
11052     void onmouseenter();
11053
11054     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
11055     void onmouseleave();
11056
11057     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
11058     VARIANT_BOOL onmousewheel();
11059
11060     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
11061     void onactivate();
11062
11063     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
11064     void ondeactivate();
11065
11066     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
11067     void onfocusin();
11068
11069     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
11070     void onfocusout();
11071
11072     [id(DISPID_HTMLTEXTCONTAINEREVENTS_ONCHANGE)]
11073     void onchange();
11074
11075     [id(DISPID_HTMLTEXTCONTAINEREVENTS_ONSELECT)]
11076     void onselect();
11077 };
11078
11079 /*****************************************************************************
11080  *    IHTMLDocument interface
11081  */
11082 [
11083     odl,
11084     oleautomation,
11085     dual,
11086     uuid(626FC520-A41E-11CF-A731-00A0C9082637)
11087 ]
11088 interface IHTMLDocument : IDispatch
11089 {
11090     [propget, id(DISPID_IHTMLDOCUMENT_SCRIPT)]
11091     HRESULT Script([retval, out] IDispatch **p);
11092 }
11093
11094 /*****************************************************************************
11095  *    IHTMLDocument2 interface
11096  */
11097 [
11098     odl,
11099     oleautomation,
11100     dual,
11101     uuid(332C4425-26CB-11D0-B483-00C04FD90119)
11102 ]
11103 interface IHTMLDocument2 : IHTMLDocument
11104 {
11105     [propget, id(DISPID_IHTMLDOCUMENT2_ALL)]
11106     HRESULT all([retval, out] IHTMLElementCollection **p);
11107
11108     [propget, id(DISPID_IHTMLDOCUMENT2_BODY)]
11109     HRESULT body([retval, out] IHTMLElement **p);
11110
11111     [propget, id(DISPID_IHTMLDOCUMENT2_ACTIVEELEMENT)]
11112     HRESULT activeElement([retval, out] IHTMLElement **p);
11113
11114     [propget, id(DISPID_IHTMLDOCUMENT2_IMAGES)]
11115     HRESULT images([retval, out] IHTMLElementCollection **p);
11116
11117     [propget, id(DISPID_IHTMLDOCUMENT2_APPLETS)]
11118     HRESULT applets([retval, out] IHTMLElementCollection **p);
11119
11120     [propget, id(DISPID_IHTMLDOCUMENT2_LINKS)]
11121     HRESULT links([retval, out] IHTMLElementCollection **p);
11122
11123     [propget, id(DISPID_IHTMLDOCUMENT2_FORMS)]
11124     HRESULT forms([retval, out] IHTMLElementCollection **p);
11125
11126     [propget, id(DISPID_IHTMLDOCUMENT2_ANCHORS)]
11127     HRESULT anchors([retval, out] IHTMLElementCollection **p);
11128
11129     [propput, id(DISPID_IHTMLDOCUMENT2_TITLE)]
11130     HRESULT title([in] BSTR v);
11131
11132     [propget, id(DISPID_IHTMLDOCUMENT2_TITLE)]
11133     HRESULT title([retval, out] BSTR *p);
11134
11135     [propget, id(DISPID_IHTMLDOCUMENT2_SCRIPTS)]
11136     HRESULT scripts([retval, out] IHTMLElementCollection **p);
11137
11138     [propput, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE)]
11139     HRESULT designMode([in] BSTR v);
11140
11141     [propget, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE)]
11142     HRESULT designMode([retval, out] BSTR *p);
11143
11144     [propget, id(DISPID_IHTMLDOCUMENT2_SELECTION)]
11145     HRESULT selection([retval, out] IHTMLSelectionObject **p);
11146
11147     [propget, id(DISPID_IHTMLDOCUMENT2_READYSTATE)]
11148      HRESULT readyState([retval, out] BSTR *p);
11149
11150     [propget, id(DISPID_IHTMLDOCUMENT2_FRAMES)]
11151     HRESULT frames([retval, out] IHTMLFramesCollection2 **p);
11152
11153     [propget, id(DISPID_IHTMLDOCUMENT2_EMBEDS)]
11154     HRESULT embeds([retval, out] IHTMLElementCollection **p);
11155
11156     [propget, id(DISPID_IHTMLDOCUMENT2_PLUGINS)]
11157     HRESULT plugins([retval, out] IHTMLElementCollection **p);
11158
11159     [propput, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
11160     HRESULT alinkColor([in] VARIANT v);
11161
11162     [propget, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
11163     HRESULT alinkColor([retval, out] VARIANT *p);
11164
11165     [propput, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
11166     HRESULT bgColor([in] VARIANT v);
11167
11168     [propget, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
11169     HRESULT bgColor([retval, out] VARIANT *p);
11170
11171     [propput, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
11172     HRESULT fgColor([in] VARIANT v);
11173
11174     [propget, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
11175     HRESULT fgColor([retval, out] VARIANT *p);
11176
11177     [propput, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
11178     HRESULT linkColor([in] VARIANT v);
11179
11180     [propget, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
11181     HRESULT linkColor([retval, out] VARIANT *p);
11182
11183     [propput, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
11184     HRESULT vlinkColor([in] VARIANT v);
11185
11186     [propget, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
11187     HRESULT vlinkColor([retval, out] VARIANT *p);
11188
11189     [propget, id(DISPID_IHTMLDOCUMENT2_REFERRER)]
11190     HRESULT referrer([retval, out] BSTR *p);
11191
11192     [propget, id(DISPID_IHTMLDOCUMENT2_LOCATION)]
11193     HRESULT location([retval, out] IHTMLLocation **p);
11194
11195     [propget, id(DISPID_IHTMLDOCUMENT2_LASTMODIFIED)]
11196     HRESULT lastModified([retval, out] BSTR *p);
11197
11198     [propput, id(DISPID_IHTMLDOCUMENT2_URL)]
11199     HRESULT URL([in] BSTR v);
11200
11201     [propget, id(DISPID_IHTMLDOCUMENT2_URL)]
11202     HRESULT URL([retval, out] BSTR *p);
11203
11204     [propput, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
11205     HRESULT domain([in] BSTR v);
11206
11207     [propget, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
11208     HRESULT domain([retval, out] BSTR *p);
11209
11210     [propput, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
11211     HRESULT cookie([in] BSTR v);
11212
11213     [propget, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
11214     HRESULT cookie([retval, out] BSTR *p);
11215
11216     [propput, id(DISPID_IHTMLDOCUMENT2_EXPANDO)]
11217     HRESULT expando([in] VARIANT_BOOL v);
11218
11219     [propget, id(DISPID_IHTMLDOCUMENT2_EXPANDO)]
11220     HRESULT expando([retval, out] VARIANT_BOOL *p);
11221
11222     [propput, id(DISPID_IHTMLDOCUMENT2_CHARSET)]
11223      HRESULT charset([in] BSTR v);
11224
11225     [propget, id(DISPID_IHTMLDOCUMENT2_CHARSET)]
11226     HRESULT charset([retval, out] BSTR *p);
11227
11228     [propput, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
11229     HRESULT defaultCharset([in] BSTR v);
11230
11231     [propget, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
11232     HRESULT defaultCharset([retval, out] BSTR *p);
11233
11234     [propget, id(DISPID_IHTMLDOCUMENT2_MIMETYPE)]
11235     HRESULT mimeType([retval, out] BSTR *p);
11236
11237     [propget, id(DISPID_IHTMLDOCUMENT2_FILESIZE)]
11238     HRESULT fileSize([retval, out] BSTR *p);
11239
11240     [propget, id(DISPID_IHTMLDOCUMENT2_FILECREATEDDATE)]
11241     HRESULT fileCreatedDate([retval, out] BSTR *p);
11242
11243     [propget, id(DISPID_IHTMLDOCUMENT2_FILEMODIFIEDDATE)]
11244     HRESULT fileModifiedDate([retval, out] BSTR *p);
11245
11246     [propget, id(DISPID_IHTMLDOCUMENT2_FILEUPDATEDDATE)]
11247     HRESULT fileUpdatedDate([retval, out] BSTR *p);
11248
11249     [propget, id(DISPID_IHTMLDOCUMENT2_SECURITY)]
11250     HRESULT security([retval, out] BSTR *p);
11251
11252     [propget, id(DISPID_IHTMLDOCUMENT2_PROTOCOL)]
11253     HRESULT protocol([retval, out] BSTR *p);
11254
11255     [propget, id(DISPID_IHTMLDOCUMENT2_NAMEPROP)]
11256      HRESULT nameProp([retval, out] BSTR *p);
11257
11258     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITE)]
11259     HRESULT write([in] SAFEARRAY(VARIANT) psarray);
11260
11261     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITELN)]
11262     HRESULT writeln([in] SAFEARRAY(VARIANT) psarray);
11263
11264     [id(DISPID_IHTMLDOCUMENT2_OPEN)]
11265     HRESULT open(
11266         [defaultvalue("text/html"), in] BSTR url,
11267         [optional, in] VARIANT name,
11268         [optional, in] VARIANT features,
11269         [optional, in] VARIANT replace,
11270         [retval, out]  IDispatch **pomWindowResult);
11271
11272     [id(DISPID_IHTMLDOCUMENT2_CLOSE)]
11273     HRESULT close();
11274
11275     [id(DISPID_IHTMLDOCUMENT2_CLEAR)]
11276     HRESULT clear();
11277
11278     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSUPPORTED)]
11279     HRESULT queryCommandSupported(
11280         [in] BSTR cmdID,
11281         [retval, out] VARIANT_BOOL *pfRet);
11282
11283     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDENABLED)]
11284     HRESULT queryCommandEnabled(
11285         [in] BSTR cmdID,
11286         [retval, out] VARIANT_BOOL *pfRet);
11287
11288     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSTATE)]
11289     HRESULT queryCommandState(
11290         [in] BSTR cmdID,
11291         [retval, out] VARIANT_BOOL *pfRet);
11292
11293     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDINDETERM)]
11294     HRESULT queryCommandIndeterm(
11295         [in] BSTR cmdID,
11296         [retval, out] VARIANT_BOOL *pfRet);
11297
11298     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDTEXT)]
11299     HRESULT queryCommandText(
11300         [in] BSTR cmdID,
11301         [retval, out] BSTR *pcmdText);
11302
11303     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDVALUE)]
11304     HRESULT queryCommandValue(
11305         [in] BSTR cmdID,
11306         [retval, out] VARIANT *pcmdValue);
11307
11308     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMAND)]
11309     HRESULT execCommand(
11310         [in] BSTR cmdID,
11311         [defaultvalue(0), in] VARIANT_BOOL showUI,
11312         [optional, in] VARIANT value,
11313         [retval, out] VARIANT_BOOL *pfRet);
11314
11315     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMANDSHOWHELP)]
11316     HRESULT execCommandShowHelp(
11317         [in] BSTR cmdID,
11318         [retval, out] VARIANT_BOOL *pfRet);
11319
11320     [id(DISPID_IHTMLDOCUMENT2_CREATEELEMENT)]
11321      HRESULT createElement(
11322         [in] BSTR eTag,
11323         [retval, out] IHTMLElement **newElem);
11324
11325     [propput, id(DISPID_IHTMLDOCUMENT2_ONHELP)]
11326     HRESULT onhelp([in] VARIANT v);
11327
11328     [propget, id(DISPID_IHTMLDOCUMENT2_ONHELP)]
11329     HRESULT onhelp([retval, out] VARIANT *p);
11330
11331     [propput, id(DISPID_IHTMLDOCUMENT2_ONCLICK)]
11332     HRESULT onclick([in] VARIANT v);
11333
11334     [propget, id(DISPID_IHTMLDOCUMENT2_ONCLICK)]
11335     HRESULT onclick([retval, out] VARIANT *p);
11336
11337     [propput, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK)]
11338     HRESULT ondblclick([in] VARIANT v);
11339
11340     [propget, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK)]
11341     HRESULT ondblclick([retval, out] VARIANT *p);
11342
11343     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYUP)]
11344     HRESULT onkeyup([in] VARIANT v);
11345
11346     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYUP)]
11347     HRESULT onkeyup([retval, out] VARIANT *p);
11348
11349     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN)]
11350     HRESULT onkeydown([in] VARIANT v);
11351
11352     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN)]
11353     HRESULT onkeydown([retval, out] VARIANT *p);
11354
11355     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS)]
11356      HRESULT onkeypress([in] VARIANT v);
11357
11358     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS)]
11359     HRESULT onkeypress([retval, out] VARIANT *p);
11360
11361     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP)]
11362     HRESULT onmouseup([in] VARIANT v);
11363
11364     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP)]
11365     HRESULT onmouseup([retval, out] VARIANT *p);
11366
11367     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN)]
11368     HRESULT onmousedown([in] VARIANT v);
11369
11370     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN)]
11371     HRESULT onmousedown([retval, out] VARIANT *p);
11372
11373     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE)]
11374     HRESULT onmousemove([in] VARIANT v);
11375
11376     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE)]
11377     HRESULT onmousemove([retval, out] VARIANT *p);
11378
11379     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT)]
11380     HRESULT onmouseout([in] VARIANT v);
11381
11382     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT)]
11383     HRESULT onmouseout([retval, out] VARIANT *p);
11384
11385     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER)]
11386     HRESULT onmouseover([in] VARIANT v);
11387
11388     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER)]
11389     HRESULT onmouseover([retval, out] VARIANT *p);
11390
11391     [propput, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE)]
11392     HRESULT onreadystatechange([in] VARIANT v);
11393
11394     [propget, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE)]
11395     HRESULT onreadystatechange([retval, out] VARIANT *p);
11396
11397     [propput, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE)]
11398     HRESULT onafterupdate([in] VARIANT v);
11399
11400     [propget, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE)]
11401     HRESULT onafterupdate([retval, out] VARIANT *p);
11402
11403     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT)]
11404     HRESULT onrowexit([in] VARIANT v);
11405
11406     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT)]
11407     HRESULT onrowexit([retval, out] VARIANT *p);
11408
11409     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWENTER)]
11410     HRESULT onrowenter([in] VARIANT v);
11411
11412     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWENTER)]
11413     HRESULT onrowenter([retval, out] VARIANT *p);
11414
11415     [propput, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART)]
11416     HRESULT ondragstart([in] VARIANT v);
11417
11418     [propget, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART)]
11419     HRESULT ondragstart([retval, out] VARIANT *p);
11420
11421     [propput, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART)]
11422     HRESULT onselectstart([in] VARIANT v);
11423
11424     [propget, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART)]
11425     HRESULT onselectstart([retval, out] VARIANT *p);
11426
11427     [id(DISPID_IHTMLDOCUMENT2_ELEMENTFROMPOINT)]
11428     HRESULT elementFromPoint(
11429         [in] long x,
11430         [in] long y,
11431         [retval, out] IHTMLElement **elementHit);
11432
11433     [propget, id(DISPID_IHTMLDOCUMENT2_PARENTWINDOW)]
11434     HRESULT parentWindow([retval, out] IHTMLWindow2 **p);
11435
11436     [propget, id(DISPID_IHTMLDOCUMENT2_STYLESHEETS)]
11437     HRESULT styleSheets([retval, out] IHTMLStyleSheetsCollection **p);
11438
11439     [propput, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE)]
11440     HRESULT onbeforeupdate([in] VARIANT v);
11441
11442     [propget, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE)]
11443     HRESULT onbeforeupdate([retval, out] VARIANT *p);
11444
11445     [propput, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE)]
11446     HRESULT onerrorupdate([in] VARIANT v);
11447
11448     [propget, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE)]
11449     HRESULT onerrorupdate([retval, out] VARIANT *p);
11450
11451     [id(DISPID_IHTMLDOCUMENT2_TOSTRING)]
11452     HRESULT toString([retval, out] BSTR *String);
11453
11454     [id(DISPID_IHTMLDOCUMENT2_CREATESTYLESHEET)]
11455     HRESULT createStyleSheet(
11456         [defaultvalue(""), in] BSTR bstrHref,
11457         [defaultvalue(-1), in] long lIndex,
11458         [retval, out] IHTMLStyleSheet **ppnewStyleSheet);
11459 }
11460
11461 /*****************************************************************************
11462  *    IHTMLDocument3 interface
11463  */
11464 [
11465     odl,
11466     oleautomation,
11467     dual,
11468     uuid(3050f485-98b5-11cf-bb82-00aa00bdce0b)
11469 ]
11470 interface IHTMLDocument3 : IDispatch
11471 {
11472     [id(DISPID_IHTMLDOCUMENT3_RELEASECAPTURE)]
11473     HRESULT releaseCapture();
11474
11475     [id(DISPID_IHTMLDOCUMENT3_RECALC)]
11476     HRESULT recalc([defaultvalue(0), in] VARIANT_BOOL fForce);
11477
11478     [id(DISPID_IHTMLDOCUMENT3_CREATETEXTNODE)]
11479     HRESULT createTextNode(
11480         [in] BSTR text,
11481         [retval, out] IHTMLDOMNode **newTextNode);
11482
11483     [propget, id(DISPID_IHTMLDOCUMENT3_DOCUMENTELEMENT)]
11484     HRESULT documentElement([retval, out] IHTMLElement **p);
11485
11486     [propget, id(DISPID_IHTMLDOCUMENT3_UNIQUEID), hidden]
11487     HRESULT uniqueID([retval, out] BSTR *p);
11488
11489     [id(DISPID_IHTMLDOCUMENT3_ATTACHEVENT)]
11490     HRESULT attachEvent(
11491         [in] BSTR event,
11492         [in] IDispatch* pDisp,
11493         [retval, out] VARIANT_BOOL *pfResult);
11494
11495     [id(DISPID_IHTMLDOCUMENT3_DETACHEVENT)]
11496     HRESULT detachEvent(
11497         [in] BSTR event,
11498         [in] IDispatch *pDisp);
11499
11500     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
11501     HRESULT onrowsdelete([in] VARIANT v);
11502
11503     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
11504     HRESULT onrowsdelete([retval, out] VARIANT *p);
11505
11506     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
11507     HRESULT onrowsinserted([in] VARIANT v);
11508
11509     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
11510     HRESULT onrowsinserted([retval, out] VARIANT *p);
11511
11512     [propput, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
11513     HRESULT oncellchange([in] VARIANT v);
11514
11515     [propget, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
11516     HRESULT oncellchange([retval, out] VARIANT *p);
11517
11518     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
11519     HRESULT ondatasetchanged([in] VARIANT v);
11520
11521     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
11522     HRESULT ondatasetchanged([retval, out] VARIANT *p);
11523
11524     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
11525     HRESULT ondataavailable([in] VARIANT v);
11526
11527     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
11528     HRESULT ondataavailable([retval, out] VARIANT * p);
11529
11530     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
11531     HRESULT ondatasetcomplete([in] VARIANT v);
11532
11533     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
11534     HRESULT ondatasetcomplete([retval, out] VARIANT *p);
11535
11536     [propput, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
11537     HRESULT onpropertychange([in] VARIANT v);
11538
11539     [propget, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
11540     HRESULT onpropertychange([retval, out] VARIANT *p);
11541
11542     [propput, id(DISPID_IHTMLDOCUMENT3_DIR)]
11543     HRESULT dir([in] BSTR v);
11544
11545     [propget, id(DISPID_IHTMLDOCUMENT3_DIR)]
11546     HRESULT dir([retval, out] BSTR *p);
11547
11548     [propput, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
11549     HRESULT oncontextmenu([in] VARIANT v);
11550
11551     [propget, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
11552     HRESULT oncontextmenu([retval, out] VARIANT *p);
11553
11554     [propput, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
11555     HRESULT onstop([in] VARIANT v);
11556
11557     [propget, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
11558     HRESULT onstop([retval, out] VARIANT *p);
11559
11560     [id(DISPID_IHTMLDOCUMENT3_CREATEDOCUMENTFRAGMENT)]
11561     HRESULT createDocumentFragment([retval, out] IHTMLDocument2 **pNewDoc);
11562
11563     [propget, id(DISPID_IHTMLDOCUMENT3_PARENTDOCUMENT), hidden, restricted]
11564     HRESULT parentDocument([retval, out] IHTMLDocument2 **p);
11565
11566     [propput, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
11567     HRESULT enableDownload([in] VARIANT_BOOL v);
11568
11569     [propget, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
11570     HRESULT enableDownload([retval, out] VARIANT_BOOL *p);
11571
11572     [propput, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
11573     HRESULT baseUrl([in] BSTR v);
11574
11575     [propget, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
11576     HRESULT baseUrl([retval, out] BSTR *p);
11577
11578     [propget, id(DISPID_IHTMLDOCUMENT3_CHILDNODES)]
11579     HRESULT childNodes([retval, out] IDispatch **p);
11580
11581     [propput, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
11582     HRESULT inheritStyleSheets([in] VARIANT_BOOL v);
11583
11584     [propget, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
11585     HRESULT inheritStyleSheets([retval, out] VARIANT_BOOL *p);
11586
11587     [propput, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
11588     HRESULT onbeforeeditfocus([in] VARIANT v);
11589
11590     [propget, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
11591     HRESULT onbeforeeditfocus([retval, out] VARIANT *p);
11592
11593     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYNAME)]
11594     HRESULT getElementsByName(
11595         [in] BSTR v,
11596         [retval, out] IHTMLElementCollection **pelColl);
11597
11598     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTBYID)]
11599     HRESULT getElementById(
11600         [in] BSTR v,
11601         [retval, out] IHTMLElement **pel);
11602
11603     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYTAGNAME)]
11604     HRESULT getElementsByTagName(
11605         [in] BSTR v,
11606         [retval, out] IHTMLElementCollection **pelColl);
11607 }
11608
11609 /*****************************************************************************
11610  *    IHTMLDocument4 interface
11611  */
11612 [
11613     odl,
11614     oleautomation,
11615     dual,
11616     uuid(3050f69a-98b5-11cf-bb82-00aa00bdce0b)
11617 ]
11618 interface IHTMLDocument4 : IDispatch
11619 {
11620     [id(DISPID_IHTMLDOCUMENT4_FOCUS)]
11621     HRESULT focus();
11622
11623     [id(DISPID_IHTMLDOCUMENT4_HASFOCUS)]
11624     HRESULT hasFocus([retval, out] VARIANT_BOOL *pfFocus);
11625
11626     [propput, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
11627     HRESULT onselectionchange([in] VARIANT v);
11628
11629     [propget, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
11630     HRESULT onselectionchange([retval, out] VARIANT *p);
11631
11632     [propget, id(DISPID_IHTMLDOCUMENT4_NAMESPACES)]
11633     HRESULT namespaces([retval, out] IDispatch **p);
11634
11635     [id(DISPID_IHTMLDOCUMENT4_CREATEDOCUMENTFROMURL)]
11636     HRESULT createDocumentFromUrl(
11637         [in] BSTR bstrUrl,
11638         [in] BSTR bstrOptions,
11639         [retval, out] IHTMLDocument2 **newDoc);
11640
11641     [propput, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
11642     HRESULT media([in] BSTR v);
11643
11644     [propget, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
11645     HRESULT media([retval, out] BSTR *p);
11646
11647     [id(DISPID_IHTMLDOCUMENT4_CREATEEVENTOBJECT)]
11648     HRESULT createEventObject(
11649         [optional, in] VARIANT *pvarEventObject,
11650         [retval, out] IHTMLEventObj **ppEventObj);
11651
11652     [id(DISPID_IHTMLDOCUMENT4_FIREEVENT)]
11653     HRESULT fireEvent(
11654         [in] BSTR bstrEventName,
11655         [optional, in] VARIANT *pvarEventObject,
11656         [retval, out] VARIANT_BOOL *pfCancelled);
11657
11658     [id(DISPID_IHTMLDOCUMENT4_CREATERENDERSTYLE)]
11659     HRESULT createRenderStyle(
11660         [in] BSTR v,
11661         [retval, out] IHTMLRenderStyle **ppIHTMLRenderStyle);
11662
11663     [propput, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
11664     HRESULT oncontrolselect([in] VARIANT v);
11665
11666     [propget, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
11667     HRESULT oncontrolselect([retval, out] VARIANT *p);
11668
11669     [propget, id(DISPID_IHTMLDOCUMENT4_URLUNENCODED)]
11670     HRESULT URLUnencoded([retval, out] BSTR *p);
11671 }
11672
11673 /*****************************************************************************
11674  *    IHTMLDocument5 interface
11675  */
11676 [
11677     odl,
11678     oleautomation,
11679     dual,
11680     uuid(3050f80c-98b5-11cf-bb82-00aa00bdce0b)
11681 ]
11682 interface IHTMLDocument5 : IDispatch
11683 {
11684     [propput, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
11685     HRESULT onmousewheel([in] VARIANT v);
11686
11687     [propget, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
11688     HRESULT onmousewheel([retval, out] VARIANT *p);
11689
11690     [propget, id(DISPID_IHTMLDOCUMENT5_DOCTYPE)]
11691     HRESULT doctype([retval, out] IHTMLDOMNode **p);
11692
11693     [propget, id(DISPID_IHTMLDOCUMENT5_IMPLEMENTATION)]
11694     HRESULT implementation([retval, out] IHTMLDOMImplementation **p);
11695
11696     [id(DISPID_IHTMLDOCUMENT5_CREATEATTRIBUTE)]
11697     HRESULT createAttribute(
11698         [in] BSTR bstrattrName,
11699         [retval, out] IHTMLDOMAttribute **ppattribute);
11700
11701     [id(DISPID_IHTMLDOCUMENT5_CREATECOMMENT)]
11702     HRESULT createComment(
11703         [in] BSTR bstrdata,
11704         [retval, out] IHTMLDOMNode **ppRetNode);
11705
11706     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
11707     HRESULT onfocusin([in] VARIANT v);
11708
11709     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
11710     HRESULT onfocusin([retval, out] VARIANT *p);
11711
11712     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
11713     HRESULT onfocusout([in] VARIANT v);
11714
11715     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
11716     HRESULT onfocusout([retval, out] VARIANT *p);
11717
11718     [propput, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
11719     HRESULT onactivate([in] VARIANT v);
11720
11721     [propget, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
11722     HRESULT onactivate([retval, out] VARIANT *p);
11723
11724     [propput, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
11725     HRESULT ondeactivate([in] VARIANT v);
11726
11727     [propget, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
11728     HRESULT ondeactivate([retval, out] VARIANT *p);
11729
11730     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
11731     HRESULT onbeforeactivate([in] VARIANT v);
11732
11733     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
11734     HRESULT onbeforeactivate([retval, out] VARIANT *p);
11735
11736     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
11737     HRESULT onbeforedeactivate([in] VARIANT v);
11738
11739     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
11740     HRESULT onbeforedeactivate([retval, out] VARIANT *p);
11741
11742     [propget, id(DISPID_IHTMLDOCUMENT5_COMPATMODE)]
11743     HRESULT compatMode([retval, out] BSTR *p);
11744 }
11745
11746 /*****************************************************************************
11747  *    DispHTMLDocument dispinterface
11748  */
11749 [
11750     hidden,
11751     uuid(3050f55f-98b5-11cf-bb82-00aa00bdce0b)
11752 ]
11753 dispinterface DispHTMLDocument
11754 {
11755 properties:
11756 methods:
11757     [propget, id(DISPID_IHTMLDOCUMENT_SCRIPT), hidden, nonbrowsable]
11758     IDispatch *Script();
11759
11760     [propget, id(DISPID_IHTMLDOCUMENT2_ALL)]
11761     IHTMLElementCollection *all();
11762
11763     [propget, id(DISPID_IHTMLDOCUMENT2_BODY)]
11764     IHTMLElement *body();
11765
11766     [propget, id(DISPID_IHTMLDOCUMENT2_ACTIVEELEMENT)]
11767     IHTMLElement *activeElement();
11768
11769     [propget, id(DISPID_IHTMLDOCUMENT2_IMAGES)]
11770     IHTMLElementCollection *images();
11771
11772     [propget, id(DISPID_IHTMLDOCUMENT2_APPLETS)]
11773     IHTMLElementCollection *applets();
11774
11775     [propget, id(DISPID_IHTMLDOCUMENT2_LINKS)]
11776     IHTMLElementCollection *links();
11777
11778     [propget, id(DISPID_IHTMLDOCUMENT2_FORMS)]
11779     IHTMLElementCollection *forms();
11780
11781     [propget, id(DISPID_IHTMLDOCUMENT2_ANCHORS)]
11782     IHTMLElementCollection *anchors();
11783
11784     [propput, id(DISPID_IHTMLDOCUMENT2_TITLE)]
11785     void title(BSTR v);
11786
11787     [propget, id(DISPID_IHTMLDOCUMENT2_TITLE)]
11788     BSTR title();
11789
11790     [propget, id(DISPID_IHTMLDOCUMENT2_SCRIPTS)]
11791     IHTMLElementCollection *scripts();
11792
11793     [propput, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE), hidden]
11794     void designMode(BSTR v);
11795
11796     [propget, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE), hidden]
11797     BSTR designMode();
11798
11799     [propget, id(DISPID_IHTMLDOCUMENT2_SELECTION)]
11800     IHTMLSelectionObject *selection();
11801
11802     [propget, id(DISPID_IHTMLDOCUMENT2_READYSTATE), bindable]
11803     BSTR readyState();
11804
11805     [propget, id(DISPID_IHTMLDOCUMENT2_FRAMES)]
11806     IHTMLFramesCollection2 *frames();
11807
11808     [propget, id(DISPID_IHTMLDOCUMENT2_EMBEDS)]
11809     IHTMLElementCollection *embeds();
11810
11811     [propget, id(DISPID_IHTMLDOCUMENT2_PLUGINS)]
11812     IHTMLElementCollection *plugins();
11813
11814     [propput, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
11815     void alinkColor(VARIANT v);
11816
11817     [propget, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
11818     VARIANT alinkColor();
11819
11820     [propput, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
11821     void bgColor(VARIANT v);
11822
11823     [propget, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
11824     VARIANT bgColor();
11825
11826     [propput, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
11827     void fgColor(VARIANT v);
11828
11829     [propget, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
11830     VARIANT fgColor();
11831
11832     [propput, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
11833     void linkColor(VARIANT v);
11834
11835     [propget, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
11836     VARIANT linkColor();
11837
11838     [propput, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
11839     void vlinkColor(VARIANT v);
11840
11841     [propget, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
11842     VARIANT vlinkColor();
11843
11844     [propget, id(DISPID_IHTMLDOCUMENT2_REFERRER)]
11845     BSTR referrer();
11846
11847     [propget, id(DISPID_IHTMLDOCUMENT2_LOCATION)]
11848     IHTMLLocation *location();
11849
11850     [propget, id(DISPID_IHTMLDOCUMENT2_LASTMODIFIED)]
11851     BSTR lastModified();
11852
11853     [propput, id(DISPID_IHTMLDOCUMENT2_URL)]
11854     void URL(BSTR v);
11855
11856     [propget, id(DISPID_IHTMLDOCUMENT2_URL)]
11857     BSTR URL();
11858
11859     [propput, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
11860     void domain(BSTR v);
11861
11862     [propget, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
11863     BSTR domain();
11864
11865     [propput, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
11866     void cookie(BSTR v);
11867
11868     [propget, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
11869     BSTR cookie();
11870
11871     [propput, id(DISPID_IHTMLDOCUMENT2_EXPANDO), bindable, hidden]
11872     void expando(VARIANT_BOOL v);
11873
11874     [propget, id(DISPID_IHTMLDOCUMENT2_EXPANDO), bindable, hidden]
11875     VARIANT_BOOL expando();
11876
11877     [propput, id(DISPID_IHTMLDOCUMENT2_CHARSET), hidden]
11878     void charset(BSTR v);
11879
11880     [propget, id(DISPID_IHTMLDOCUMENT2_CHARSET), hidden]
11881     BSTR charset();
11882
11883     [propput, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
11884     void defaultCharset(BSTR v);
11885
11886     [propget, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
11887     BSTR defaultCharset();
11888
11889     [propget, id(DISPID_IHTMLDOCUMENT2_MIMETYPE)]
11890     BSTR mimeType();
11891
11892     [propget, id(DISPID_IHTMLDOCUMENT2_FILESIZE)]
11893     BSTR fileSize();
11894
11895     [propget, id(DISPID_IHTMLDOCUMENT2_FILECREATEDDATE)]
11896     BSTR fileCreatedDate();
11897
11898     [propget, id(DISPID_IHTMLDOCUMENT2_FILEMODIFIEDDATE)]
11899     BSTR fileModifiedDate();
11900
11901     [propget, id(DISPID_IHTMLDOCUMENT2_FILEUPDATEDDATE)]
11902     BSTR fileUpdatedDate();
11903
11904     [propget, id(DISPID_IHTMLDOCUMENT2_SECURITY)]
11905     BSTR security();
11906
11907     [propget, id(DISPID_IHTMLDOCUMENT2_PROTOCOL)]
11908     BSTR protocol();
11909
11910     [propget, id(DISPID_IHTMLDOCUMENT2_NAMEPROP)]
11911     BSTR nameProp();
11912
11913     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITE)]
11914     void write([in] SAFEARRAY(VARIANT) psarray);
11915
11916     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITELN)]
11917     void writeln([in] SAFEARRAY(VARIANT) psarray);
11918
11919     [id(DISPID_IHTMLDOCUMENT2_OPEN)]
11920     IDispatch *open(
11921         [defaultvalue("text/html"), in] BSTR url,
11922         [optional, in] VARIANT name,
11923         [optional, in] VARIANT features,
11924         [optional, in] VARIANT replace);
11925
11926     [id(DISPID_IHTMLDOCUMENT2_CLOSE)]
11927     void close();
11928
11929     [id(DISPID_IHTMLDOCUMENT2_CLEAR)]
11930     void clear();
11931
11932     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSUPPORTED)]
11933     VARIANT_BOOL queryCommandSupported([in] BSTR cmdID);
11934
11935     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDENABLED)]
11936     VARIANT_BOOL queryCommandEnabled([in] BSTR cmdID);
11937
11938     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSTATE)]
11939     VARIANT_BOOL queryCommandState([in] BSTR cmdID);
11940
11941     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDINDETERM)]
11942     VARIANT_BOOL queryCommandIndeterm([in] BSTR cmdID);
11943
11944     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDTEXT)]
11945     BSTR queryCommandText([in] BSTR cmdID);
11946
11947     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDVALUE)]
11948     VARIANT queryCommandValue([in] BSTR cmdID);
11949
11950     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMAND)]
11951     VARIANT_BOOL execCommand(
11952         [in] BSTR cmdID,
11953         [defaultvalue(0), in] VARIANT_BOOL showUI,
11954         [optional, in] VARIANT value);
11955
11956     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMANDSHOWHELP)]
11957     VARIANT_BOOL execCommandShowHelp([in] BSTR cmdID);
11958
11959     [id(DISPID_IHTMLDOCUMENT2_CREATEELEMENT)]
11960     IHTMLElement *createElement([in] BSTR eTag);
11961
11962     [propput, id(DISPID_IHTMLDOCUMENT2_ONHELP), displaybind, bindable]
11963     void onhelp(VARIANT v);
11964
11965     [propget, id(DISPID_IHTMLDOCUMENT2_ONHELP), displaybind, bindable]
11966     VARIANT onhelp();
11967
11968     [propput, id(DISPID_IHTMLDOCUMENT2_ONCLICK), displaybind, bindable]
11969     void onclick(VARIANT v);
11970
11971     [propget, id(DISPID_IHTMLDOCUMENT2_ONCLICK), displaybind, bindable]
11972     VARIANT onclick();
11973
11974     [propput, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK), displaybind, bindable]
11975     void ondblclick(VARIANT v);
11976
11977     [propget, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK), displaybind, bindable]
11978     VARIANT ondblclick();
11979
11980     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYUP), displaybind, bindable]
11981     void onkeyup(VARIANT v);
11982
11983     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYUP), displaybind, bindable]
11984     VARIANT onkeyup();
11985
11986     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN), displaybind, bindable]
11987     void onkeydown(VARIANT v);
11988
11989     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN), displaybind, bindable]
11990     VARIANT onkeydown();
11991
11992     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS), displaybind, bindable]
11993     void onkeypress(VARIANT v);
11994
11995     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS), displaybind, bindable]
11996     VARIANT onkeypress();
11997
11998     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP), displaybind, bindable]
11999     void onmouseup(VARIANT v);
12000
12001     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP), displaybind, bindable]
12002     VARIANT onmouseup();
12003
12004     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN), displaybind, bindable]
12005     void onmousedown(VARIANT v);
12006
12007     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN), displaybind, bindable]
12008     VARIANT onmousedown();
12009
12010     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE), displaybind, bindable]
12011     void onmousemove(VARIANT v);
12012
12013     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE), displaybind, bindable]
12014     VARIANT onmousemove();
12015
12016     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT), displaybind, bindable]
12017     void onmouseout(VARIANT v);
12018
12019     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT), displaybind, bindable]
12020     VARIANT onmouseout();
12021
12022     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER), displaybind, bindable]
12023     void onmouseover(VARIANT v);
12024
12025     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER), displaybind, bindable]
12026     VARIANT onmouseover();
12027
12028     [propput, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE), displaybind, bindable]
12029     void onreadystatechange(VARIANT v);
12030
12031     [propget, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE), displaybind, bindable]
12032     VARIANT onreadystatechange();
12033
12034     [propput, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE), displaybind, bindable]
12035     void onafterupdate(VARIANT v);
12036
12037     [propget, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE), displaybind, bindable]
12038     VARIANT onafterupdate();
12039
12040     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT), displaybind, bindable]
12041     void onrowexit(VARIANT v);
12042
12043     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT), displaybind, bindable]
12044     VARIANT onrowexit();
12045
12046     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWENTER), displaybind, bindable]
12047     void onrowenter(VARIANT v);
12048
12049     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWENTER), displaybind, bindable]
12050     VARIANT onrowenter();
12051
12052     [propput, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART), displaybind, bindable]
12053     void ondragstart(VARIANT v);
12054
12055     [propget, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART), displaybind, bindable]
12056     VARIANT ondragstart();
12057
12058     [propput, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART), displaybind, bindable]
12059     void onselectstart(VARIANT v);
12060
12061     [propget, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART), displaybind, bindable]
12062     VARIANT onselectstart();
12063
12064     [id(DISPID_IHTMLDOCUMENT2_ELEMENTFROMPOINT)]
12065     IHTMLElement *elementFromPoint(
12066         [in] long x,
12067         [in] long y);
12068
12069     [propget, id(DISPID_IHTMLDOCUMENT2_PARENTWINDOW)]
12070     IHTMLWindow2 *parentWindow();
12071
12072     [propget, id(DISPID_IHTMLDOCUMENT2_STYLESHEETS)]
12073     IHTMLStyleSheetsCollection *styleSheets();
12074
12075     [propput, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE), displaybind, bindable]
12076     void onbeforeupdate(VARIANT v);
12077
12078     [propget, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE), displaybind, bindable]
12079     VARIANT onbeforeupdate();
12080
12081     [propput, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE), displaybind, bindable]
12082     void onerrorupdate(VARIANT v);
12083
12084     [propget, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE), displaybind, bindable]
12085     VARIANT onerrorupdate();
12086
12087     [id(DISPID_IHTMLDOCUMENT2_TOSTRING)]
12088     BSTR toString();
12089
12090     [id(DISPID_IHTMLDOCUMENT2_CREATESTYLESHEET)]
12091     IHTMLStyleSheet *createStyleSheet(
12092         [defaultvalue(""), in] BSTR bstrHref,
12093         [defaultvalue(-1), in] long lIndex);
12094
12095     [id(DISPID_IHTMLDOCUMENT3_RELEASECAPTURE)]
12096     void releaseCapture();
12097
12098     [id(DISPID_IHTMLDOCUMENT3_RECALC)]
12099     void recalc([defaultvalue(0), in] VARIANT_BOOL fForce);
12100
12101     [id(DISPID_IHTMLDOCUMENT3_CREATETEXTNODE)]
12102     IHTMLDOMNode *createTextNode([in] BSTR text);
12103
12104     [propget, id(DISPID_IHTMLDOCUMENT3_DOCUMENTELEMENT)]
12105     IHTMLElement *documentElement();
12106
12107     [propget, id(DISPID_IHTMLDOCUMENT3_UNIQUEID), hidden]
12108     BSTR uniqueID();
12109
12110     [id(DISPID_IHTMLDOCUMENT3_ATTACHEVENT)]
12111     VARIANT_BOOL attachEvent(
12112         [in] BSTR event,
12113         [in] IDispatch *pDisp);
12114
12115     [id(DISPID_IHTMLDOCUMENT3_DETACHEVENT)]
12116     void detachEvent(
12117         [in] BSTR event,
12118         [in] IDispatch *pDisp);
12119
12120     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
12121     void onrowsdelete(VARIANT v);
12122
12123     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
12124     VARIANT onrowsdelete();
12125
12126     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
12127     void onrowsinserted(VARIANT v);
12128
12129     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
12130     VARIANT onrowsinserted();
12131
12132     [propput, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
12133     void oncellchange(VARIANT v);
12134
12135     [propget, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
12136     VARIANT oncellchange();
12137
12138     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
12139     void ondatasetchanged(VARIANT v);
12140
12141     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
12142     VARIANT ondatasetchanged();
12143
12144     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
12145     void ondataavailable(VARIANT v);
12146
12147     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
12148     VARIANT ondataavailable();
12149
12150     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
12151     void ondatasetcomplete(VARIANT v);
12152
12153     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
12154     VARIANT ondatasetcomplete();
12155
12156     [propput, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
12157     void onpropertychange(VARIANT v);
12158
12159     [propget, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
12160     VARIANT onpropertychange();
12161
12162     [propput, id(DISPID_IHTMLDOCUMENT3_DIR)]
12163     void dir(BSTR v);
12164
12165     [propget, id(DISPID_IHTMLDOCUMENT3_DIR)]
12166     BSTR dir();
12167
12168     [propput, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
12169     void oncontextmenu(VARIANT v);
12170
12171     [propget, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
12172     VARIANT oncontextmenu();
12173
12174     [propput, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
12175     void onstop(VARIANT v);
12176
12177     [propget, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
12178     VARIANT onstop();
12179
12180     [id(DISPID_IHTMLDOCUMENT3_CREATEDOCUMENTFRAGMENT)]
12181     IHTMLDocument2 *createDocumentFragment();
12182
12183     [propget, id(DISPID_IHTMLDOCUMENT3_PARENTDOCUMENT), hidden, restricted]
12184     IHTMLDocument2 *parentDocument();
12185
12186     [propput, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
12187     void enableDownload(VARIANT_BOOL v);
12188
12189     [propget, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
12190     VARIANT_BOOL enableDownload();
12191
12192     [propput, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
12193     void baseUrl(BSTR v);
12194
12195     [propget, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
12196     BSTR baseUrl();
12197
12198     [propput, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
12199     void inheritStyleSheets(VARIANT_BOOL v);
12200
12201     [propget, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
12202     VARIANT_BOOL inheritStyleSheets();
12203
12204     [propput, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
12205     void onbeforeeditfocus(VARIANT v);
12206
12207     [propget, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
12208     VARIANT onbeforeeditfocus();
12209
12210     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYNAME)]
12211     IHTMLElementCollection *getElementsByName([in] BSTR v);
12212
12213     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTBYID)]
12214     IHTMLElement *getElementById([in] BSTR v);
12215
12216     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYTAGNAME)]
12217     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
12218
12219     [id(DISPID_IHTMLDOCUMENT4_FOCUS)]
12220     void focus();
12221
12222     [id(DISPID_IHTMLDOCUMENT4_HASFOCUS)]
12223     VARIANT_BOOL hasFocus();
12224
12225     [propput, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
12226     void onselectionchange(VARIANT v);
12227
12228     [propget, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
12229     VARIANT onselectionchange();
12230
12231     [propget, id(DISPID_IHTMLDOCUMENT4_NAMESPACES)]
12232     IDispatch *namespaces();
12233
12234     [id(DISPID_IHTMLDOCUMENT4_CREATEDOCUMENTFROMURL)]
12235     IHTMLDocument2 *createDocumentFromUrl(
12236         [in] BSTR bstrUrl,
12237         [in] BSTR bstrOptions);
12238
12239     [propput, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
12240     void media(BSTR v);
12241
12242     [propget, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
12243     BSTR media();
12244
12245     [id(DISPID_IHTMLDOCUMENT4_CREATEEVENTOBJECT)]
12246     IHTMLEventObj *createEventObject([optional, in] VARIANT *pvarEventObject);
12247
12248     [id(DISPID_IHTMLDOCUMENT4_FIREEVENT)]
12249     VARIANT_BOOL fireEvent(
12250         [in] BSTR bstrEventName,
12251         [optional, in] VARIANT *pvarEventObject);
12252
12253     [id(DISPID_IHTMLDOCUMENT4_CREATERENDERSTYLE)]
12254     IHTMLRenderStyle *createRenderStyle([in] BSTR v);
12255
12256     [propput, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
12257     void oncontrolselect(VARIANT v);
12258
12259     [propget, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
12260     VARIANT oncontrolselect();
12261
12262     [propget, id(DISPID_IHTMLDOCUMENT4_URLUNENCODED)]
12263     BSTR URLUnencoded();
12264
12265     [propput, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
12266     void onmousewheel(VARIANT v);
12267
12268     [propget, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
12269     VARIANT onmousewheel();
12270
12271     [propget, id(DISPID_IHTMLDOCUMENT5_DOCTYPE)]
12272     IHTMLDOMNode *doctype();
12273
12274     [propget, id(DISPID_IHTMLDOCUMENT5_IMPLEMENTATION)]
12275     IHTMLDOMImplementation *implementation();
12276
12277     [id(DISPID_IHTMLDOCUMENT5_CREATEATTRIBUTE)]
12278     IHTMLDOMAttribute *createAttribute([in] BSTR bstrattrName);
12279
12280     [id(DISPID_IHTMLDOCUMENT5_CREATECOMMENT)]
12281     IHTMLDOMNode *createComment([in] BSTR bstrdata);
12282
12283     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
12284     void onfocusin(VARIANT v);
12285
12286     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
12287     VARIANT onfocusin();
12288
12289     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
12290     void onfocusout(VARIANT v);
12291
12292     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
12293     VARIANT onfocusout();
12294
12295     [propput, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
12296     void onactivate(VARIANT v);
12297
12298     [propget, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
12299     VARIANT onactivate();
12300
12301     [propput, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
12302     void ondeactivate(VARIANT v);
12303
12304     [propget, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
12305     VARIANT ondeactivate();
12306
12307     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
12308     void onbeforeactivate(VARIANT v);
12309
12310     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
12311     VARIANT onbeforeactivate();
12312
12313     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
12314     void onbeforedeactivate(VARIANT v);
12315
12316     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
12317     VARIANT onbeforedeactivate();
12318
12319     [propget, id(DISPID_IHTMLDOCUMENT5_COMPATMODE)]
12320     BSTR compatMode();
12321
12322     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
12323     long nodeType();
12324
12325     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
12326     IHTMLDOMNode *parentNode();
12327
12328     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
12329     VARIANT_BOOL hasChildNodes();
12330
12331     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
12332     IDispatch *childNodes();
12333
12334     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
12335     IDispatch *attributes();
12336
12337     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
12338     IHTMLDOMNode *insertBefore(
12339         [in] IHTMLDOMNode *newChild,
12340         [optional, in] VARIANT refChild);
12341
12342     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
12343     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
12344
12345     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
12346     IHTMLDOMNode *replaceChild(
12347         [in] IHTMLDOMNode *newChild,
12348         [in] IHTMLDOMNode *oldChild);
12349
12350     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
12351     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
12352
12353     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
12354     IHTMLDOMNode *removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep);
12355
12356     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
12357     IHTMLDOMNode *swapNode([in] IHTMLDOMNode* otherNode);
12358
12359     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
12360     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
12361
12362     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
12363     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
12364
12365     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
12366     BSTR nodeName();
12367
12368     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
12369     void nodeValue(VARIANT v);
12370
12371     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
12372     VARIANT nodeValue();
12373
12374     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
12375     IHTMLDOMNode *firstChild();
12376
12377     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
12378     IHTMLDOMNode *lastChild();
12379
12380     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
12381     IHTMLDOMNode *previousSibling();
12382
12383     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
12384     IHTMLDOMNode *nextSibling();
12385
12386     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
12387     IDispatch *ownerDocument();
12388 }
12389
12390 /*****************************************************************************
12391  *    HTMLDocument coclass
12392  */
12393 [
12394     uuid(25336920-03F9-11cf-8FD0-00AA00686F13)
12395 ]
12396 coclass HTMLDocument
12397 {
12398     [default]         dispinterface DispHTMLDocument;
12399     [source, default] dispinterface HTMLDocumentEvents;
12400     [source]          dispinterface HTMLDocumentEvents2;
12401                       interface IHTMLDocument2;
12402                       interface IHTMLDocument3;
12403                       interface IHTMLDocument4;
12404                       interface IHTMLDocument5;
12405                       interface IHTMLDOMNode;
12406                       interface IHTMLDOMNode2;
12407 }
12408
12409 /*****************************************************************************
12410  *    IHTMLCommentElement interface
12411  */
12412 [
12413     odl,
12414     oleautomation,
12415     dual,
12416     uuid(3050f20c-98b5-11cf-bb82-00aa00bdce0b)
12417 ]
12418 interface IHTMLCommentElement : IDispatch
12419 {
12420     [propput, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
12421     HRESULT text([in] BSTR v);
12422
12423     [propget, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
12424     HRESULT text([out, retval] BSTR *p);
12425
12426     [propput, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
12427     HRESULT atomic([in] long v);
12428
12429     [propget, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
12430     HRESULT atomic([out, retval] long *p);
12431 }
12432
12433 /*****************************************************************************
12434  *    IHTMLCommentElement2 interface
12435  */
12436 [
12437     odl,
12438     oleautomation,
12439     dual,
12440     uuid(3050f813-98b5-11cf-bb82-00aa00bdce0b)
12441 ]
12442 interface IHTMLCommentElement2 : IDispatch
12443 {
12444     [propput, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
12445     HRESULT data([in] BSTR v);
12446
12447     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
12448     HRESULT data([out, retval] BSTR *p);
12449
12450     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_LENGTH)]
12451     HRESULT length([out, retval] long *p);
12452
12453     [id(DISPID_IHTMLCOMMENTELEMENT2_SUBSTRINGDATA)]
12454     HRESULT substringData(
12455             [in] long offset,
12456             [in] long Count,
12457             [out, retval] BSTR *pbstrsubString);
12458
12459     [id(DISPID_IHTMLCOMMENTELEMENT2_APPENDDATA)]
12460     HRESULT appendData([in] BSTR bstrstring);
12461
12462     [id(DISPID_IHTMLCOMMENTELEMENT2_INSERTDATA)]
12463     HRESULT insertData(
12464             [in] long offset,
12465             [in] BSTR bstrstring);
12466
12467     [id(DISPID_IHTMLCOMMENTELEMENT2_DELETEDATA)]
12468     HRESULT deleteData(
12469             [in] long offset,
12470             [in] long Count);
12471
12472     [id(DISPID_IHTMLCOMMENTELEMENT2_REPLACEDATA)]
12473     HRESULT replaceData(
12474             [in] long offset,
12475             [in] long Count,
12476             [in] BSTR bstrstring);
12477 }
12478
12479 /*****************************************************************************
12480  *    DispHTMLCommentElement dispinterface
12481  */
12482 [
12483     hidden,
12484     uuid(3050f50a-98b5-11cf-bb82-00aa00bdce0b)
12485 ]
12486 dispinterface DispHTMLCommentElement
12487 {
12488 properties:
12489 methods:
12490     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
12491     void setAttribute(
12492             [in] BSTR strAttributeName,
12493             [in] VARIANT AttributeValue,
12494             [in, defaultvalue(1)] LONG lFlags);
12495
12496     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
12497     VARIANT getAttribute(
12498              [in] BSTR strAttributeName,
12499              [in, defaultvalue(0)] LONG lFlags);
12500
12501     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
12502     VARIANT_BOOL removeAttribute(
12503             [in] BSTR strAttributeName,
12504             [in, defaultvalue(1)] LONG lFlags);
12505
12506     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
12507     void className(BSTR v);
12508
12509     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
12510     BSTR className();
12511
12512     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
12513     void id(BSTR v);
12514
12515     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
12516     BSTR id();
12517
12518     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
12519     BSTR tagName();
12520
12521     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
12522     IHTMLElement *parentElement();
12523
12524     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
12525     IHTMLStyle *style();
12526
12527     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
12528     void onhelp(VARIANT v);
12529
12530     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
12531     VARIANT onhelp();
12532
12533     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
12534     void onclick(VARIANT v);
12535
12536     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
12537     VARIANT onclick();
12538
12539     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
12540     void ondblclick(VARIANT v);
12541
12542     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
12543     VARIANT ondblclick();
12544
12545     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
12546     void onkeydown(VARIANT v);
12547
12548     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
12549     VARIANT onkeydown();
12550
12551     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
12552     void onkeyup(VARIANT v);
12553
12554     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
12555     VARIANT onkeyup();
12556
12557     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
12558     void onkeypress(VARIANT v);
12559
12560     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
12561     VARIANT onkeypress();
12562
12563     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
12564     void onmouseout(VARIANT v);
12565
12566     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
12567     VARIANT onmouseout();
12568
12569     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
12570     void onmouseover(VARIANT v);
12571
12572     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
12573     VARIANT onmouseover();
12574
12575     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
12576     void onmousemove(VARIANT v);
12577
12578     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
12579     VARIANT onmousemove();
12580
12581     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
12582     void onmousedown(VARIANT v);
12583
12584     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
12585     VARIANT onmousedown();
12586
12587     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
12588     void onmouseup(VARIANT v);
12589
12590     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
12591     VARIANT onmouseup();
12592
12593     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
12594     IDispatch *document();
12595
12596     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
12597     void title(BSTR v);
12598
12599     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
12600     BSTR title();
12601
12602     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
12603     void language(BSTR v);
12604
12605     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
12606     BSTR language();
12607
12608     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
12609     void onselectstart(VARIANT v);
12610
12611     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
12612     VARIANT onselectstart();
12613
12614     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
12615     void scrollIntoView([in, optional] VARIANT varargStart);
12616
12617     [id(DISPID_IHTMLELEMENT_CONTAINS)]
12618     VARIANT_BOOL contains([in] IHTMLElement *pChild);
12619
12620     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
12621     long sourceIndex();
12622
12623     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
12624     VARIANT recordNumber();
12625
12626     [propput, id(DISPID_IHTMLELEMENT_LANG)]
12627     void lang(BSTR v);
12628
12629     [propget, id(DISPID_IHTMLELEMENT_LANG)]
12630     BSTR lang();
12631
12632     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
12633     long offsetLeft();
12634
12635     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
12636     long offsetTop();
12637
12638     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
12639     long offsetWidth();
12640
12641     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
12642     long offsetHeight();
12643
12644     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
12645     IHTMLElement *offsetParent();
12646
12647     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
12648     void innerHTML(BSTR v);
12649
12650     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
12651     BSTR innerHTML();
12652
12653     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
12654     void innerText(BSTR v);
12655
12656     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
12657     BSTR innerText();
12658
12659     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
12660     void outerHTML(BSTR v);
12661
12662     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
12663     BSTR outerHTML();
12664
12665     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
12666     void outerText(BSTR v);
12667
12668     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
12669     BSTR outerText();
12670
12671     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
12672     void insertAdjacentHTML(
12673             [in] BSTR where,
12674             [in] BSTR html);
12675
12676     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
12677     void insertAdjacentText(
12678             [in] BSTR where,
12679             [in] BSTR text);
12680
12681     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
12682     IHTMLElement *parentTextEdit();
12683
12684     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
12685     VARIANT_BOOL isTextEdit();
12686
12687     [id(DISPID_IHTMLELEMENT_CLICK)]
12688     void click();
12689
12690     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
12691     IHTMLFiltersCollection *filters();
12692
12693     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
12694     void ondragstart(VARIANT v);
12695
12696     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
12697     VARIANT ondragstart();
12698
12699     [id(DISPID_IHTMLELEMENT_TOSTRING)]
12700     BSTR toString();
12701
12702     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
12703     void onbeforeupdate(VARIANT v);
12704
12705     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
12706     VARIANT onbeforeupdate();
12707
12708     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
12709     void onafterupdate(VARIANT v);
12710
12711     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
12712     VARIANT onafterupdate();
12713
12714     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
12715     void onerrorupdate(VARIANT v);
12716
12717     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
12718     VARIANT onerrorupdate();
12719
12720     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
12721     void onrowexit(VARIANT v);
12722
12723     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
12724     VARIANT onrowexit();
12725
12726     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
12727     void onrowenter(VARIANT v);
12728
12729     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
12730     VARIANT onrowenter();
12731
12732     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
12733     void ondatasetchanged(VARIANT v);
12734
12735     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
12736     VARIANT ondatasetchanged();
12737
12738     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
12739     void ondataavailable(VARIANT v);
12740
12741     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
12742     VARIANT ondataavailable();
12743
12744     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
12745     void ondatasetcomplete(VARIANT v);
12746
12747     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
12748     VARIANT ondatasetcomplete();
12749
12750     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
12751     void onfilterchange(VARIANT v);
12752
12753     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
12754     VARIANT onfilterchange();
12755
12756     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
12757     IDispatch *children();
12758
12759     [propget, id(DISPID_IHTMLELEMENT_ALL)]
12760     IDispatch *all();
12761
12762     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
12763     BSTR scopeName();
12764
12765     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
12766     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
12767
12768     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
12769     void releaseCapture();
12770
12771     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
12772     void onlosecapture(VARIANT v);
12773
12774     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
12775     VARIANT onlosecapture();
12776
12777     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
12778     BSTR componentFromPoint(
12779             [in] long x,
12780             [in] long y);
12781
12782     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
12783     void doScroll([in, optional] VARIANT component);
12784
12785     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
12786     void onscroll(VARIANT v);
12787
12788     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
12789     VARIANT onscroll();
12790
12791     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
12792     void ondrag(VARIANT v);
12793
12794     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
12795     VARIANT ondrag();
12796
12797     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
12798     void ondragend(VARIANT v);
12799
12800     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
12801     VARIANT ondragend();
12802
12803     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
12804     void ondragenter(VARIANT v);
12805
12806     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
12807     VARIANT ondragenter();
12808
12809     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
12810     void ondragover(VARIANT v);
12811
12812     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
12813     VARIANT ondragover();
12814
12815     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
12816     void ondragleave(VARIANT v);
12817
12818     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
12819     VARIANT ondragleave();
12820
12821     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
12822     void ondrop(VARIANT v);
12823
12824     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
12825     VARIANT ondrop();
12826
12827     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
12828     void onbeforecut(VARIANT v);
12829
12830     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
12831     VARIANT onbeforecut();
12832
12833     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
12834     void oncut(VARIANT v);
12835
12836     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
12837     VARIANT oncut();
12838
12839     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
12840     void onbeforecopy(VARIANT v);
12841
12842     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
12843     VARIANT onbeforecopy();
12844
12845     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
12846     void oncopy(VARIANT v);
12847
12848     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
12849     VARIANT oncopy();
12850
12851     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
12852     void onbeforepaste(VARIANT v);
12853
12854     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
12855     VARIANT onbeforepaste();
12856
12857     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
12858     void onpaste(VARIANT v);
12859
12860     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
12861     VARIANT onpaste();
12862
12863     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
12864     IHTMLCurrentStyle *currentStyle();
12865
12866     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
12867     void onpropertychange(VARIANT v);
12868
12869     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
12870     VARIANT onpropertychange();
12871
12872     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
12873     IHTMLRectCollection *getClientRects();
12874
12875     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
12876     IHTMLRect *getBoundingClientRect();
12877
12878     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
12879     void setExpression(
12880             [in] BSTR propname,
12881             [in] BSTR expression,
12882             [in, defaultvalue("")] BSTR language);
12883
12884     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
12885     VARIANT getExpression([in] BSTR propname);
12886
12887     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
12888     VARIANT_BOOL removeExpression([in] BSTR propname);
12889
12890     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
12891     void tabIndex(short v);
12892
12893     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
12894     short tabIndex();
12895
12896     [id(DISPID_IHTMLELEMENT2_FOCUS)]
12897     void focus();
12898
12899     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
12900     void accessKey(BSTR v);
12901
12902     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
12903     BSTR accessKey();
12904
12905     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
12906     void onblur(VARIANT v);
12907
12908     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
12909     VARIANT onblur();
12910
12911     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
12912     void onfocus(VARIANT v);
12913
12914     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
12915     VARIANT onfocus();
12916
12917     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
12918     void onresize(VARIANT v);
12919
12920     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
12921     VARIANT onresize();
12922
12923     [id(DISPID_IHTMLELEMENT2_BLUR)]
12924     void blur();
12925
12926     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
12927     void addFilter([in] IUnknown *pUnk);
12928
12929     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
12930     void removeFilter([in] IUnknown *pUnk);
12931
12932     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
12933     long clientHeight();
12934
12935     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
12936     long clientWidth();
12937
12938     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
12939     long clientTop();
12940
12941     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
12942     long clientLeft();
12943
12944     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
12945     VARIANT_BOOL attachEvent(
12946             [in] BSTR event,
12947             [in] IDispatch *pDisp);
12948
12949     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
12950     void detachEvent(
12951             [in] BSTR event,
12952             [in] IDispatch *pDisp);
12953
12954     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
12955     VARIANT readyState();
12956
12957     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
12958     void onreadystatechange(VARIANT v);
12959
12960     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
12961     VARIANT onreadystatechange();
12962
12963     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
12964     void onrowsdelete(VARIANT v);
12965
12966     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
12967     VARIANT onrowsdelete();
12968
12969     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
12970     void onrowsinserted(VARIANT v);
12971
12972     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
12973      VARIANT onrowsinserted();
12974
12975     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
12976      void oncellchange(VARIANT v);
12977
12978     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
12979     VARIANT oncellchange();
12980
12981     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
12982     void dir(BSTR v);
12983
12984     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
12985     BSTR dir();
12986
12987     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
12988     IDispatch *createControlRange();
12989
12990     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
12991     long scrollHeight();
12992
12993     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
12994     long scrollWidth();
12995
12996     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
12997     void scrollTop(long v);
12998
12999     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
13000     long scrollTop();
13001
13002     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
13003     void scrollLeft(long v);
13004
13005     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
13006     long scrollLeft();
13007
13008     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
13009     void clearAttributes();
13010
13011     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
13012     void oncontextmenu(VARIANT v);
13013
13014     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
13015     VARIANT oncontextmenu();
13016
13017     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
13018     IHTMLElement *insertAdjacentElement(
13019             [in] BSTR where,
13020             [in] IHTMLElement *insertedElement);
13021
13022     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
13023     IHTMLElement *applyElement(
13024             [in] IHTMLElement *apply,
13025             [in] BSTR where);
13026
13027     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
13028     BSTR getAdjacentText([in] BSTR where);
13029
13030     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
13031     BSTR replaceAdjacentText(
13032             [in] BSTR where,
13033             [in] BSTR newText);
13034
13035     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
13036     VARIANT_BOOL canHaveChildren();
13037
13038     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
13039     long addBehavior(
13040             [in] BSTR bstrUrl,
13041             [in, optional] VARIANT *pvarFactory);
13042
13043     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
13044     VARIANT_BOOL removeBehavior([in] long cookie);
13045
13046     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
13047     IHTMLStyle *runtimeStyle();
13048
13049     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
13050     IDispatch *behaviorUrns();
13051
13052     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
13053     void tagUrn(BSTR v);
13054
13055     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
13056     BSTR tagUrn();
13057
13058     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
13059     void onbeforeeditfocus(VARIANT v);
13060
13061     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
13062     VARIANT onbeforeeditfocus();
13063
13064     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
13065     long readyStateValue();
13066
13067     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
13068     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
13069
13070     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
13071     void mergeAttributes(
13072             [in] IHTMLElement *mergeThis,
13073             [in, optional] VARIANT *pvarFlags);
13074
13075     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
13076     VARIANT_BOOL isMultiLine();
13077
13078     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
13079     VARIANT_BOOL canHaveHTML();
13080
13081     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
13082     void onlayoutcomplete(VARIANT v);
13083
13084     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
13085     VARIANT onlayoutcomplete();
13086
13087     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
13088     void onpage(VARIANT v);
13089
13090     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
13091     VARIANT onpage();
13092
13093     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
13094     void inflateBlock(VARIANT_BOOL v);
13095
13096     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
13097     VARIANT_BOOL inflateBlock();
13098
13099     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
13100     void onbeforedeactivate(VARIANT v);
13101
13102     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
13103     VARIANT onbeforedeactivate();
13104
13105     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
13106     void setActive();
13107
13108     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
13109     void contentEditable(BSTR v);
13110
13111     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
13112     BSTR contentEditable();
13113
13114     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
13115     VARIANT_BOOL isContentEditable();
13116
13117     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
13118     void hideFocus(VARIANT_BOOL v);
13119
13120     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
13121     VARIANT_BOOL hideFocus();
13122
13123     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
13124     void disabled(VARIANT_BOOL v);
13125
13126     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
13127     VARIANT_BOOL disabled();
13128
13129     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
13130     VARIANT_BOOL isDisabled();
13131
13132     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
13133     void onmove(VARIANT v);
13134
13135     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
13136     VARIANT onmove();
13137
13138     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
13139     void oncontrolselect(VARIANT v);
13140
13141     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
13142     VARIANT oncontrolselect();
13143
13144     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
13145     VARIANT_BOOL fireEvent(
13146             [in] BSTR bstrEventName,
13147             [in, optional] VARIANT *pvarEventObject);
13148
13149     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
13150     void onresizestart(VARIANT v);
13151
13152     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
13153     VARIANT onresizestart();
13154
13155     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
13156     void onresizeend(VARIANT v);
13157
13158     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
13159     VARIANT onresizeend();
13160
13161     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
13162     void onmovestart(VARIANT v);
13163
13164     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
13165     VARIANT onmovestart();
13166
13167     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
13168     void onmoveend(VARIANT v);
13169
13170     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
13171     VARIANT onmoveend();
13172
13173     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
13174     void onmouseenter(VARIANT v);
13175
13176     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
13177     VARIANT onmouseenter();
13178
13179     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
13180     void onmouseleave(VARIANT v);
13181
13182     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
13183     VARIANT onmouseleave();
13184
13185     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
13186     void onactivate(VARIANT v);
13187
13188     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
13189     VARIANT onactivate();
13190
13191     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
13192     void ondeactivate(VARIANT v);
13193
13194     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
13195     VARIANT ondeactivate();
13196
13197     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
13198     VARIANT_BOOL dragDrop();
13199
13200     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
13201     LONG glyphMode();
13202
13203     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
13204     void onmousewheel(VARIANT v);
13205
13206     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
13207     VARIANT onmousewheel();
13208
13209     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
13210     void normalize();
13211
13212     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
13213     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
13214
13215     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
13216     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
13217
13218     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
13219     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
13220
13221     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
13222     void onbeforeactivate(VARIANT v);
13223
13224     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
13225     VARIANT onbeforeactivate();
13226
13227     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
13228     void onfocusin(VARIANT v);
13229
13230     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
13231     VARIANT onfocusin();
13232
13233     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
13234     void onfocusout(VARIANT v);
13235
13236     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
13237     VARIANT onfocusout();
13238
13239     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
13240     long uniqueNumber();
13241
13242     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
13243     BSTR uniqueID();
13244
13245     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
13246     long nodeType();
13247
13248     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
13249     IHTMLDOMNode *parentNode();
13250
13251     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
13252     VARIANT_BOOL hasChildNodes();
13253
13254     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
13255     IDispatch *childNodes();
13256
13257     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
13258     IDispatch *attributes();
13259
13260     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
13261     IHTMLDOMNode *insertBefore(
13262             [in] IHTMLDOMNode *newChild,
13263             [in, optional] VARIANT refChild);
13264
13265     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
13266     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
13267
13268     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
13269     IHTMLDOMNode *replaceChild(
13270             [in] IHTMLDOMNode *newChild,
13271             [in] IHTMLDOMNode *oldChild);
13272
13273     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
13274     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
13275
13276     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
13277     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
13278
13279     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
13280     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
13281
13282     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
13283     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
13284
13285     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
13286     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
13287
13288     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
13289     BSTR nodeName();
13290
13291     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
13292     void nodeValue(VARIANT v);
13293
13294     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
13295     VARIANT nodeValue();
13296
13297     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
13298     IHTMLDOMNode *firstChild();
13299
13300     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
13301     IHTMLDOMNode *lastChild();
13302
13303     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
13304     IHTMLDOMNode *previousSibling();
13305
13306     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
13307     IHTMLDOMNode *nextSibling();
13308
13309     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
13310     IDispatch *ownerDocument();
13311
13312     [propput, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
13313     void text(BSTR v);
13314
13315     [propget, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
13316     BSTR text();
13317
13318     [propput, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
13319     void atomic(long v);
13320
13321     [propget, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
13322     long atomic();
13323
13324     [propput, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
13325     void data(BSTR v);
13326
13327     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
13328     BSTR data();
13329
13330     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_LENGTH)]
13331     long length();
13332
13333     [id(DISPID_IHTMLCOMMENTELEMENT2_SUBSTRINGDATA)]
13334     BSTR substringData(
13335             [in] long offset,
13336             [in] long Count);
13337
13338     [id(DISPID_IHTMLCOMMENTELEMENT2_APPENDDATA)]
13339     void appendData([in] BSTR bstrstring);
13340
13341     [id(DISPID_IHTMLCOMMENTELEMENT2_INSERTDATA)]
13342      void insertData(
13343             [in] long offset,
13344             [in] BSTR bstrstring);
13345
13346     [id(DISPID_IHTMLCOMMENTELEMENT2_DELETEDATA)]
13347     void deleteData(
13348             [in] long offset,
13349             [in] long Count);
13350
13351     [id(DISPID_IHTMLCOMMENTELEMENT2_REPLACEDATA)]
13352     void replaceData(
13353             [in] long offset,
13354             [in] long Count,
13355             [in] BSTR bstrstring);
13356 }
13357
13358 /*****************************************************************************
13359  *    HTMLTableEvents dispinterface
13360  */
13361 [
13362     hidden,
13363     uuid(3050f407-98b5-11cf-bb82-00aa00bdce0b)
13364 ]
13365 dispinterface HTMLTableEvents
13366 {
13367 properties:
13368 methods:
13369     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
13370     VARIANT_BOOL onhelp();
13371
13372     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
13373     VARIANT_BOOL onclick();
13374
13375     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
13376     VARIANT_BOOL ondblclick();
13377
13378     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
13379     VARIANT_BOOL onkeypress();
13380
13381     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
13382     void onkeydown();
13383
13384     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
13385     void onkeyup();
13386
13387     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
13388     void onmouseout();
13389
13390     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
13391     void onmouseover();
13392
13393     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
13394     void onmousemove();
13395
13396     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
13397     void onmousedown();
13398
13399     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
13400     void onmouseup();
13401
13402     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
13403     VARIANT_BOOL onselectstart();
13404
13405     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
13406     void onfilterchange();
13407
13408     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
13409     VARIANT_BOOL ondragstart();
13410
13411     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
13412     VARIANT_BOOL onbeforeupdate();
13413
13414     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
13415     void onafterupdate();
13416
13417     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
13418     VARIANT_BOOL onerrorupdate();
13419
13420     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
13421     VARIANT_BOOL onrowexit();
13422
13423     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
13424     void onrowenter();
13425
13426     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
13427     void ondatasetchanged();
13428
13429     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
13430     void ondataavailable();
13431
13432     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
13433     void ondatasetcomplete();
13434
13435     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
13436     void onlosecapture();
13437
13438     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
13439     void onpropertychange();
13440
13441     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
13442     void onscroll();
13443
13444     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
13445     void onfocus();
13446
13447     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
13448     void onblur();
13449
13450     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
13451     void onresize();
13452
13453     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
13454     VARIANT_BOOL ondrag();
13455
13456     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
13457     void ondragend();
13458
13459     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
13460     VARIANT_BOOL ondragenter();
13461
13462     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
13463     VARIANT_BOOL ondragover();
13464
13465     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
13466     void ondragleave();
13467
13468     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
13469     VARIANT_BOOL ondrop();
13470
13471     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
13472     VARIANT_BOOL onbeforecut();
13473
13474     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
13475     VARIANT_BOOL oncut();
13476
13477     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
13478     VARIANT_BOOL onbeforecopy();
13479
13480     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
13481     VARIANT_BOOL oncopy();
13482
13483     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
13484     VARIANT_BOOL onbeforepaste();
13485
13486     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
13487     VARIANT_BOOL onpaste();
13488
13489     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
13490     VARIANT_BOOL oncontextmenu();
13491
13492     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
13493     void onrowsdelete();
13494
13495     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
13496     void onrowsinserted();
13497
13498     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
13499     void oncellchange();
13500
13501     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
13502     void onreadystatechange();
13503
13504     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
13505     void onbeforeeditfocus();
13506
13507     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
13508     void onlayoutcomplete();
13509
13510     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
13511     void onpage();
13512
13513     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
13514     VARIANT_BOOL onbeforedeactivate();
13515
13516     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
13517     VARIANT_BOOL onbeforeactivate();
13518
13519     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
13520     void onmove();
13521
13522     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
13523     VARIANT_BOOL oncontrolselect();
13524
13525     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
13526     VARIANT_BOOL onmovestart();
13527
13528     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
13529     void onmoveend();
13530
13531     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
13532     VARIANT_BOOL onresizestart();
13533
13534     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
13535     void onresizeend();
13536
13537     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
13538     void onmouseenter();
13539
13540     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
13541     void onmouseleave();
13542
13543     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
13544     VARIANT_BOOL onmousewheel();
13545
13546     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
13547     void onactivate();
13548
13549     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
13550     void ondeactivate();
13551
13552     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
13553     void onfocusin();
13554
13555     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
13556     void onfocusout();
13557 }
13558
13559 /*****************************************************************************
13560  *    IHTMLTableCaption interface
13561  */
13562 [
13563     odl,
13564     oleautomation,
13565     dual,
13566     uuid(3050f2eb-98b5-11cf-bb82-00aa00bdce0b)
13567 ]
13568 interface IHTMLTableCaption : IDispatch
13569 {
13570     [propput, id(DISPID_IHTMLTABLECAPTION_ALIGN)]
13571     HRESULT align([in] BSTR v);
13572
13573     [propget, id(DISPID_IHTMLTABLECAPTION_ALIGN)]
13574     HRESULT align([retval, out] BSTR *p);
13575
13576     [propput, id(DISPID_IHTMLTABLECAPTION_VALIGN)]
13577     HRESULT vAlign([in] BSTR v);
13578
13579     [propget, id(DISPID_IHTMLTABLECAPTION_VALIGN)]
13580     HRESULT vAlign([retval, out] BSTR *p);
13581 }
13582
13583 interface IHTMLTableSection;
13584
13585 /*****************************************************************************
13586  *    IHTMLTable interface
13587  */
13588 [
13589     odl,
13590     oleautomation,
13591     dual,
13592     uuid(3050f21e-98b5-11cf-bb82-00aa00bdce0b)
13593 ]
13594 interface IHTMLTable : IDispatch
13595 {
13596     [propput, id(DISPID_IHTMLTABLE_COLS)]
13597     HRESULT cols([in] long v);
13598
13599     [propget, id(DISPID_IHTMLTABLE_COLS)]
13600     HRESULT cols([retval, out] long *p);
13601
13602     [propput, id(DISPID_IHTMLTABLE_BORDER)]
13603     HRESULT border([in] VARIANT v);
13604
13605     [propget, id(DISPID_IHTMLTABLE_BORDER)]
13606     HRESULT border([retval, out] VARIANT *p);
13607
13608     [propput, id(DISPID_IHTMLTABLE_FRAME)]
13609     HRESULT frame([in] BSTR v);
13610
13611     [propget, id(DISPID_IHTMLTABLE_FRAME)]
13612     HRESULT frame([retval, out] BSTR *p);
13613
13614     [propput, id(DISPID_IHTMLTABLE_RULES)]
13615     HRESULT rules([in] BSTR v);
13616
13617     [propget, id(DISPID_IHTMLTABLE_RULES)]
13618     HRESULT rules([retval, out] BSTR *p);
13619
13620     [propput, id(DISPID_IHTMLTABLE_CELLSPACING)]
13621     HRESULT cellSpacing([in] VARIANT v);
13622
13623     [propget, id(DISPID_IHTMLTABLE_CELLSPACING)]
13624     HRESULT cellSpacing([retval, out] VARIANT *p);
13625
13626     [propput, id(DISPID_IHTMLTABLE_CELLPADDING)]
13627     HRESULT cellPadding([in] VARIANT v);
13628
13629     [propget, id(DISPID_IHTMLTABLE_CELLPADDING)]
13630     HRESULT cellPadding([retval, out] VARIANT *p);
13631
13632     [propput, id(DISPID_IHTMLTABLE_BACKGROUND)]
13633     HRESULT background([in] BSTR v);
13634
13635     [propget, id(DISPID_IHTMLTABLE_BACKGROUND)]
13636     HRESULT background([retval, out] BSTR *p);
13637
13638     [propput, id(DISPID_IHTMLTABLE_BGCOLOR)]
13639     HRESULT bgColor([in] VARIANT v);
13640
13641     [propget, id(DISPID_IHTMLTABLE_BGCOLOR)]
13642     HRESULT bgColor([retval, out] VARIANT *p);
13643
13644     [propput, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
13645     HRESULT borderColor([in] VARIANT v);
13646
13647     [propget, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
13648     HRESULT borderColor([retval, out] VARIANT *p);
13649
13650     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
13651     HRESULT borderColorLight([in] VARIANT v);
13652
13653     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
13654     HRESULT borderColorLight([retval, out] VARIANT *p);
13655
13656     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
13657     HRESULT borderColorDark([in] VARIANT v);
13658
13659     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
13660     HRESULT borderColorDark([retval, out] VARIANT *p);
13661
13662     [propput, id(DISPID_IHTMLTABLE_ALIGN)]
13663     HRESULT align([in] BSTR v);
13664
13665     [propget, id(DISPID_IHTMLTABLE_ALIGN)]
13666     HRESULT align([retval, out] BSTR * p);
13667
13668     [id(DISPID_IHTMLTABLE_REFRESH)]
13669     HRESULT refresh();
13670
13671     [propget, id(DISPID_IHTMLTABLE_ROWS)]
13672     HRESULT rows([retval, out] IHTMLElementCollection **p);
13673
13674     [propput, id(DISPID_IHTMLTABLE_WIDTH)]
13675     HRESULT width([in] VARIANT v);
13676
13677     [propget, id(DISPID_IHTMLTABLE_WIDTH)]
13678     HRESULT width([retval, out] VARIANT *p);
13679
13680     [propput, id(DISPID_IHTMLTABLE_HEIGHT)]
13681     HRESULT height([in] VARIANT v);
13682
13683     [propget, id(DISPID_IHTMLTABLE_HEIGHT)]
13684     HRESULT height([retval, out] VARIANT *p);
13685
13686     [propput, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
13687     HRESULT dataPageSize([in] long v);
13688
13689     [propget, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
13690     HRESULT dataPageSize([retval, out] long *p);
13691
13692     [id(DISPID_IHTMLTABLE_NEXTPAGE)]
13693     HRESULT nextPage();
13694
13695     [id(DISPID_IHTMLTABLE_PREVIOUSPAGE)]
13696     HRESULT previousPage();
13697
13698     [propget, id(DISPID_IHTMLTABLE_THEAD)]
13699     HRESULT tHead([retval, out] IHTMLTableSection **p);
13700
13701     [propget, id(DISPID_IHTMLTABLE_TFOOT)]
13702     HRESULT tFoot([retval, out] IHTMLTableSection **p);
13703
13704     [propget, id(DISPID_IHTMLTABLE_TBODIES)]
13705     HRESULT tBodies([retval, out] IHTMLElementCollection **p);
13706
13707     [propget, id(DISPID_IHTMLTABLE_CAPTION)]
13708     HRESULT caption([retval, out] IHTMLTableCaption **p);
13709
13710     [id(DISPID_IHTMLTABLE_CREATETHEAD)]
13711     HRESULT createTHead([retval, out] IDispatch **head);
13712
13713     [id(DISPID_IHTMLTABLE_DELETETHEAD)]
13714     HRESULT deleteTHead();
13715
13716     [id(DISPID_IHTMLTABLE_CREATETFOOT)]
13717     HRESULT createTFoot([retval, out] IDispatch **foot);
13718
13719     [id(DISPID_IHTMLTABLE_DELETETFOOT)]
13720     HRESULT deleteTFoot();
13721
13722     [id(DISPID_IHTMLTABLE_CREATECAPTION)]
13723     HRESULT createCaption([retval, out] IHTMLTableCaption **caption);
13724
13725     [id(DISPID_IHTMLTABLE_DELETECAPTION)]
13726     HRESULT deleteCaption();
13727
13728     [id(DISPID_IHTMLTABLE_INSERTROW)]
13729     HRESULT insertRow(
13730             [defaultvalue(-1), in] long index,
13731             [retval, out] IDispatch **row);
13732
13733     [id(DISPID_IHTMLTABLE_DELETEROW)]
13734     HRESULT deleteRow([defaultvalue(-1), in] long index);
13735
13736     [propget, id(DISPID_IHTMLTABLE_READYSTATE)]
13737     HRESULT readyState([retval, out] BSTR *p);
13738
13739     [propput, id(DISPID_IHTMLTABLE_ONREADYSTATECHANGE), displaybind, bindable]
13740     HRESULT onreadystatechange([in] VARIANT v);
13741
13742     [propget, id(DISPID_IHTMLTABLE_ONREADYSTATECHANGE), displaybind, bindable]
13743     HRESULT onreadystatechange([retval, out] VARIANT *p);
13744 }
13745
13746 [
13747     odl,
13748     oleautomation,
13749     dual,
13750     uuid(3050f23b-98b5-11cf-bb82-00aa00bdce0b)
13751 ]
13752 interface IHTMLTableSection : IDispatch
13753 {
13754     [propput, id(DISPID_IHTMLTABLESECTION_ALIGN)]
13755     HRESULT align([in] BSTR v);
13756
13757     [propget, id(DISPID_IHTMLTABLESECTION_ALIGN)]
13758     HRESULT align([retval, out] BSTR *p);
13759
13760     [propput, id(DISPID_IHTMLTABLESECTION_VALIGN)]
13761     HRESULT vAlign([in] BSTR v);
13762
13763     [propget, id(DISPID_IHTMLTABLESECTION_VALIGN)]
13764     HRESULT vAlign([retval, out] BSTR *p);
13765
13766     [propput, id(DISPID_IHTMLTABLESECTION_BGCOLOR)]
13767     HRESULT bgColor([in] VARIANT v);
13768
13769     [propget, id(DISPID_IHTMLTABLESECTION_BGCOLOR)]
13770     HRESULT bgColor([retval, out] VARIANT *p);
13771
13772     [propget, id(DISPID_IHTMLTABLESECTION_ROWS)]
13773     HRESULT rows([retval, out] IHTMLElementCollection **p);
13774
13775     [id(DISPID_IHTMLTABLESECTION_INSERTROW)]
13776     HRESULT insertRow(
13777             [defaultvalue(-1), in] long index,
13778             [retval, out] IDispatch **row);
13779
13780     [id(DISPID_IHTMLTABLESECTION_DELETEROW)]
13781     HRESULT deleteRow([defaultvalue(-1), in] long index);
13782 }
13783
13784 /*****************************************************************************
13785  *    IHTMLScriptElement interface
13786  */
13787 [
13788     odl,
13789     oleautomation,
13790     dual,
13791     uuid(3050f28b-98b5-11cf-bb82-00aa00bdce0b)
13792 ]
13793 interface IHTMLScriptElement : IDispatch
13794 {
13795     [propput, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
13796     HRESULT src([in] BSTR v);
13797
13798     [propget, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
13799     HRESULT src([retval, out] BSTR *p);
13800
13801     [propput, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
13802     HRESULT htmlFor([in] BSTR v);
13803
13804     [propget, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
13805     HRESULT htmlFor([retval, out] BSTR *p);
13806
13807     [propput, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
13808     HRESULT event([in] BSTR v);
13809
13810     [propget, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
13811     HRESULT event([retval, out] BSTR *p);
13812
13813     [propput, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
13814     HRESULT text([in] BSTR v);
13815
13816     [propget, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
13817     HRESULT text([retval, out] BSTR *p);
13818
13819     [propput, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
13820     HRESULT defer([in] VARIANT_BOOL v);
13821
13822     [propget, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
13823     HRESULT defer([retval, out] VARIANT_BOOL *p);
13824
13825     [propget, id(DISPID_IHTMLSCRIPTELEMENT_READYSTATE)]
13826     HRESULT readyState([retval, out] BSTR *p);
13827
13828     [propput, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
13829     HRESULT onerror([in] VARIANT v);
13830
13831     [propget, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
13832     HRESULT onerror([retval, out] VARIANT *p);
13833
13834     [propput, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
13835     HRESULT type([in] BSTR v);
13836
13837     [propget, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
13838     HRESULT type([retval, out] BSTR *p);
13839 }
13840
13841 /*****************************************************************************
13842  *    IHTMLScriptElement2 interface
13843  */
13844 [
13845     odl,
13846     oleautomation,
13847     dual,
13848     uuid(3050f828-98b5-11cf-bb82-00aa00bdce0b)
13849 ]
13850 interface IHTMLScriptElement2 : IDispatch
13851 {
13852     [propput, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
13853     HRESULT charset([in] BSTR v);
13854
13855     [propget, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
13856     HRESULT charset([retval, out] BSTR *p);
13857 }
13858
13859 /*****************************************************************************
13860  *    IHTMLFrameBase interface
13861  */
13862 [
13863     odl,
13864     oleautomation,
13865     dual,
13866     uuid(3050f311-98b5-11cf-bb82-00aa00bdce0b)
13867 ]
13868 interface IHTMLFrameBase : IDispatch
13869 {
13870     [propput, id(DISPID_IHTMLFRAMEBASE_SRC)]
13871     HRESULT src([in] BSTR v);
13872
13873     [propget, id(DISPID_IHTMLFRAMEBASE_SRC)]
13874     HRESULT src([out, retval] BSTR *p);
13875
13876     [propput, id(DISPID_IHTMLFRAMEBASE_NAME)]
13877     HRESULT name([in] BSTR v);
13878
13879     [propget, id(DISPID_IHTMLFRAMEBASE_NAME)]
13880     HRESULT name([out, retval] BSTR *p);
13881
13882     [propput, id(DISPID_IHTMLFRAMEBASE_BORDER)]
13883     HRESULT border([in] VARIANT v);
13884
13885     [propget, id(DISPID_IHTMLFRAMEBASE_BORDER)]
13886     HRESULT border([out, retval] VARIANT *p);
13887
13888     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
13889     HRESULT frameBorder([in] BSTR v);
13890
13891     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
13892     HRESULT frameBorder([out, retval] BSTR *p);
13893
13894     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
13895     HRESULT frameSpacing([in] VARIANT v);
13896
13897     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
13898     HRESULT frameSpacing([out, retval] VARIANT *p);
13899
13900     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
13901     HRESULT marginWidth([in] VARIANT v);
13902
13903     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
13904     HRESULT marginWidth([out, retval] VARIANT *p);
13905
13906     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
13907     HRESULT marginHeight([in] VARIANT v);
13908
13909     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
13910     HRESULT marginHeight([out, retval] VARIANT *p);
13911
13912     [propput, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
13913     HRESULT noResize([in] VARIANT_BOOL v);
13914
13915     [propget, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
13916     HRESULT noResize([out, retval] VARIANT_BOOL *p);
13917
13918     [propput, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
13919     HRESULT scrolling([in] BSTR v);
13920
13921     [propget, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
13922     HRESULT scrolling([out, retval] BSTR *p);
13923 }
13924
13925 /*****************************************************************************
13926  *    IHTMLFrameBase2 interface
13927  */
13928 [
13929     odl,
13930     oleautomation,
13931     dual,
13932     uuid(3050f6db-98b5-11cf-bb82-00aa00bdce0b)
13933 ]
13934 interface IHTMLFrameBase2 : IDispatch
13935 {
13936     [propget, id(DISPID_IHTMLFRAMEBASE2_CONTENTWINDOW)]
13937     HRESULT contentWindow([retval, out] IHTMLWindow2 **p);
13938
13939     [propput, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
13940     HRESULT onload([in] VARIANT v);
13941
13942     [propget, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
13943     HRESULT onload([retval, out] VARIANT *p);
13944
13945     [propput, id(DISPID_IHTMLFRAMEBASE2_ONREADYSTATECHANGE), displaybind, bindable]
13946     HRESULT onreadystatechange([in] VARIANT v);
13947
13948     [propget, id(DISPID_IHTMLFRAMEBASE2_ONREADYSTATECHANGE), displaybind, bindable]
13949     HRESULT onreadystatechange([retval, out] VARIANT *p);
13950
13951     [propget, id(DISPID_IHTMLFRAMEBASE2_READYSTATE)]
13952     HRESULT readyState([retval, out] BSTR *p);
13953
13954     [propput, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
13955     HRESULT allowTransparency([in] VARIANT_BOOL v);
13956
13957     [propget, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
13958     HRESULT allowTransparency([retval, out] VARIANT_BOOL *p);
13959 }
13960
13961 } /* library MSHTML */