msctf: Implement ITfClientId.
[wine] / include / mshtml.idl
1 /*
2  * Copyright 2004-2007 Jacek Caban for CodeWeavers
3  * Copyright 2008      Konstantin Kondratyuk (Etersoft)
4  *
5  * This library is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU Lesser General Public
7  * License as published by the Free Software Foundation; either
8  * version 2.1 of the License, or (at your option) any later version.
9  *
10  * This library is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13  * Lesser General Public License for more details.
14  *
15  * You should have received a copy of the GNU Lesser General Public
16  * License along with this library; if not, write to the Free Software
17  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
18  */
19
20 #include <mshtmdid.h>
21 #include <mshtmcid.h>
22 #include <olectl.h>
23
24 import "ocidl.idl";
25 import "dimm.idl";
26 import "shtypes.idl";
27
28 cpp_quote("#include <olectl.h>")
29
30 cpp_quote("DEFINE_GUID(SID_SEditCommandTarget,  0x3050f4b5,0x98b5,0x11cf,0xbb,0x82,0x00,0xaa,0x00,0xbd,0xce,0x0b);")
31 cpp_quote("DEFINE_GUID(SID_SHTMLEditHost,       0x3050f6a0,0x98b5,0x11cf,0xbb,0x82,0x00,0xaa,0x00,0xbd,0xce,0x0b);")
32 cpp_quote("DEFINE_GUID(SID_SHTMLEditServices,   0x3050f7f9,0x98b5,0x11cf,0xbb,0x82,0x00,0xaa,0x00,0xbd,0xce,0x0b);")
33 cpp_quote("#define SID_SHTMLWindow IID_IHTMLWindow2")
34 cpp_quote("#define SID_SElementBehaviorFactory IID_IElementBehaviorFactory")
35
36 cpp_quote("#ifdef WINE_NO_UNICODE_MACROS")
37 cpp_quote("#undef FindText")
38 cpp_quote("#endif")
39
40 typedef enum {
41     POINTER_GRAVITY_Left,
42     POINTER_GRAVITY_Right,
43     POINTER_GRAVITY_Max = 2147483647
44 } POINTER_GRAVITY;
45
46 typedef enum {
47     CONTEXT_TYPE_None,
48     CONTEXT_TYPE_Text,
49     CONTEXT_TYPE_EnterScope,
50     CONTEXT_TYPE_ExitScope,
51     CONTEXT_TYPE_NoScope,
52     MARKUP_CONTEXT_TYPE_Max = 2147483647
53 } MARKUP_CONTEXT_TYPE;
54
55 typedef enum {
56     ELEM_ADJ_BeforeBegin,
57     ELEM_ADJ_AfterBegin,
58     ELEM_ADJ_BeforeEnd,
59     ELEM_ADJ_AfterEnd,
60     ELEMENT_ADJACENCY_Max = 2147483647
61 } ELEMENT_ADJACENCY;
62
63 typedef enum {
64     MOVEUNIT_PREVCHAR,
65     MOVEUNIT_NEXTCHAR,
66     MOVEUNIT_PREVCLUSTERBEG,
67     MOVEUNIT_NEXTCLUSTERBEG,
68     MOVEUNIT_PREVCLUSTEREND,
69     MOVEUNIT_NEXTCLUSTEREND,
70     MOVEUNIT_PREVWORDBEG,
71     MOVEUNIT_NEXTWORDBEG,
72     MOVEUNIT_PREVWORDEND,
73     MOVEUNIT_NEXTWORDEND,
74     MOVEUNIT_PREVPROOFWORD,
75     MOVEUNIT_NEXTPROOFWORD,
76     MOVEUNIT_NEXTURLBEG,
77     MOVEUNIT_PREVURLBEG,
78     MOVEUNIT_NEXTURLEND,
79     MOVEUNIT_PREVURLEND,
80     MOVEUNIT_PREVSENTENCE,
81     MOVEUNIT_NEXTSENTENCE,
82     MOVEUNIT_PREVBLOCK,
83     MOVEUNIT_NEXTBLOCK,
84     MOVEUNIT_ACTION_Max = 2147483647
85 } MOVEUNIT_ACTION;
86
87 typedef enum _SELECTION_TYPE {
88     SELECTION_TYPE_None,
89     SELECTION_TYPE_Caret,
90     SELECTION_TYPE_Text,
91     SELECTION_TYPE_Control,
92     SELECTION_TYPE_Max = 2147483647
93 } SELECTION_TYPE;
94
95 interface IHTMLDocument2;
96 interface IHTMLStyleSheetsCollection;
97 interface IHTMLFrameBase;
98
99 /*****************************************************************************
100  *    IHTMLFiltersCollection interface
101  */
102 [
103     odl,
104     oleautomation,
105     dual,
106     uuid(3050F3EE-98B5-11Cf-BB82-00AA00BDCE0B)
107 ]
108 interface IHTMLFiltersCollection : IDispatch
109 {
110     [propget, id(DISPID_IHTMLFILTERSCOLLECTION_LENGTH)]
111     HRESULT length([retval, out] LONG *p);
112
113     [propget, id(DISPID_IHTMLFILTERSCOLLECTION__NEWENUM)]
114     HRESULT _newEnum([retval, out] IUnknown **p);
115
116     [id(DISPID_IHTMLFILTERSCOLLECTION_ITEM)]
117     HRESULT item(
118         [in] VARIANT *pvarIndex,
119         [retval, out] VARIANT *pvarResult);
120 }
121
122 [
123     version(4.0),
124     uuid(3050F1C5-98B5-11CF-BB82-00AA00BDCE0B)
125 ]
126 library MSHTML
127 {
128
129 importlib("stdole2.tlb");
130
131 /*****************************************************************************
132  *    IHTMLStyle interface
133  */
134 [
135     odl,
136     oleautomation,
137     dual,
138     uuid(3050F25E-98B5-11CF-BB82-00AA00BDCE0B)
139 ]
140 interface IHTMLStyle : IDispatch
141 {
142     [propput, id(DISPID_IHTMLSTYLE_FONTFAMILY), bindable, displaybind]
143     HRESULT fontFamily([in] BSTR v);
144
145     [propget, id(DISPID_IHTMLSTYLE_FONTFAMILY), bindable, displaybind]
146     HRESULT fontFamily([retval, out] BSTR *p);
147
148     [propput, id(DISPID_IHTMLSTYLE_FONTSTYLE), bindable, displaybind]
149     HRESULT fontStyle([in] BSTR v);
150
151     [propget, id(DISPID_IHTMLSTYLE_FONTSTYLE), bindable, displaybind]
152     HRESULT fontStyle([retval, out] BSTR *p);
153
154     [propput, id(DISPID_IHTMLSTYLE_FONTVARIANT), bindable, displaybind]
155     HRESULT fontVariant([in] BSTR v);
156
157     [propget, id(DISPID_IHTMLSTYLE_FONTVARIANT), bindable, displaybind]
158     HRESULT fontVariant([retval, out] BSTR *p);
159
160     [propput, id(DISPID_IHTMLSTYLE_FONTWEIGHT), bindable, displaybind]
161     HRESULT fontWeight([in] BSTR v);
162
163     [propget, id(DISPID_IHTMLSTYLE_FONTWEIGHT), bindable, displaybind]
164     HRESULT fontWeight([retval, out] BSTR *p);
165
166     [propput, id(DISPID_IHTMLSTYLE_FONTSIZE), bindable, displaybind]
167     HRESULT fontSize([in] VARIANT v);
168
169     [propget, id(DISPID_IHTMLSTYLE_FONTSIZE), bindable, displaybind]
170     HRESULT fontSize([retval, out] VARIANT *p);
171
172     [propput, id(DISPID_IHTMLSTYLE_FONT), bindable, displaybind]
173     HRESULT font([in] BSTR v);
174
175     [propget, id(DISPID_IHTMLSTYLE_FONT), bindable, displaybind]
176     HRESULT font([retval, out] BSTR *p);
177
178     [propput, id(DISPID_IHTMLSTYLE_COLOR), bindable, displaybind]
179     HRESULT color([in] VARIANT v);
180
181     [propget, id(DISPID_IHTMLSTYLE_COLOR), bindable, displaybind]
182     HRESULT color([retval, out] VARIANT *p);
183
184     [propput, id(DISPID_IHTMLSTYLE_BACKGROUND), bindable, displaybind]
185     HRESULT background([in] BSTR v);
186
187     [propget, id(DISPID_IHTMLSTYLE_BACKGROUND), bindable, displaybind]
188     HRESULT background([retval, out] BSTR *p);
189
190     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), bindable, displaybind]
191     HRESULT backgroundColor([in] VARIANT v);
192
193     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), bindable, displaybind]
194     HRESULT backgroundColor([retval, out] VARIANT *p);
195
196     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), bindable, displaybind]
197     HRESULT backgroundImage([in] BSTR v);
198
199     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), bindable, displaybind]
200     HRESULT backgroundImage([retval, out] BSTR *p);
201
202     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), bindable, displaybind]
203     HRESULT backgroundRepeat([in] BSTR v);
204
205     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), bindable, displaybind]
206     HRESULT backgroundRepeat([retval, out] BSTR *p);
207
208     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
209     HRESULT backgroundAttachment([in] BSTR v);
210
211     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
212     HRESULT backgroundAttachment([retval, out] BSTR *p);
213
214     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), bindable, displaybind]
215     HRESULT backgroundPosition([in] BSTR v);
216
217     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), bindable, displaybind]
218     HRESULT backgroundPosition([retval, out] BSTR *p);
219
220     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
221     HRESULT backgroundPositionX([in] VARIANT v);
222
223     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
224     HRESULT backgroundPositionX([retval, out] VARIANT *p);
225
226     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
227     HRESULT backgroundPositionY([in] VARIANT v);
228
229     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
230     HRESULT backgroundPositionY([retval, out] VARIANT *p);
231
232     [propput, id(DISPID_IHTMLSTYLE_WORDSPACING), bindable, displaybind]
233     HRESULT wordSpacing([in] VARIANT v);
234
235     [propget, id(DISPID_IHTMLSTYLE_WORDSPACING), bindable, displaybind]
236     HRESULT wordSpacing([retval, out] VARIANT *p);
237
238     [propput, id(DISPID_IHTMLSTYLE_LETTERSPACING), bindable, displaybind]
239     HRESULT letterSpacing([in] VARIANT v);
240
241     [propget, id(DISPID_IHTMLSTYLE_LETTERSPACING), bindable, displaybind]
242     HRESULT letterSpacing([retval, out] VARIANT *p);
243
244     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATION), bindable, displaybind]
245     HRESULT textDecoration([in] BSTR v);
246
247     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATION), bindable, displaybind]
248     HRESULT textDecoration([retval, out] BSTR *p);
249
250     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), bindable, displaybind]
251     HRESULT textDecorationNone([in] VARIANT_BOOL v);
252
253     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), bindable, displaybind]
254     HRESULT textDecorationNone([retval, out] VARIANT_BOOL *p);
255
256     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
257     HRESULT textDecorationUnderline([in] VARIANT_BOOL v);
258
259     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
260     HRESULT textDecorationUnderline([retval, out] VARIANT_BOOL *p);
261
262     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
263     HRESULT textDecorationOverline([in] VARIANT_BOOL v);
264
265     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
266     HRESULT textDecorationOverline([retval, out] VARIANT_BOOL *p);
267
268     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
269     HRESULT textDecorationLineThrough([in] VARIANT_BOOL v);
270
271     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
272     HRESULT textDecorationLineThrough([retval, out] VARIANT_BOOL *p);
273
274     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
275     HRESULT textDecorationBlink([in] VARIANT_BOOL v);
276
277     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
278     HRESULT textDecorationBlink([retval, out] VARIANT_BOOL *p);
279
280     [propput, id(DISPID_IHTMLSTYLE_VERTICALALIGN), bindable, displaybind]
281     HRESULT verticalAlign([in] VARIANT v);
282
283     [propget, id(DISPID_IHTMLSTYLE_VERTICALALIGN), bindable, displaybind]
284     HRESULT verticalAlign([retval, out] VARIANT *p);
285
286     [propput, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), bindable, displaybind]
287     HRESULT textTransform([in] BSTR v);
288
289     [propget, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), bindable, displaybind]
290     HRESULT textTransform([retval, out] BSTR *p);
291
292     [propput, id(DISPID_IHTMLSTYLE_TEXTALIGN), bindable, displaybind]
293     HRESULT textAlign([in] BSTR v);
294
295     [propget, id(DISPID_IHTMLSTYLE_TEXTALIGN), bindable, displaybind]
296     HRESULT textAlign([retval, out] BSTR *p);
297
298     [propput, id(DISPID_IHTMLSTYLE_TEXTINDENT), bindable, displaybind]
299     HRESULT textIndent([in] VARIANT v);
300
301     [propget, id(DISPID_IHTMLSTYLE_TEXTINDENT), bindable, displaybind]
302     HRESULT textIndent([retval, out] VARIANT *p);
303
304     [propput, id(DISPID_IHTMLSTYLE_LINEHEIGHT), bindable, displaybind]
305     HRESULT lineHeight([in] VARIANT v);
306
307     [propget, id(DISPID_IHTMLSTYLE_LINEHEIGHT), bindable, displaybind]
308     HRESULT lineHeight([retval, out] VARIANT *p);
309
310     [propput, id(DISPID_IHTMLSTYLE_MARGINTOP), bindable, displaybind]
311     HRESULT marginTop([in] VARIANT v);
312
313     [propget, id(DISPID_IHTMLSTYLE_MARGINTOP), bindable, displaybind]
314     HRESULT marginTop([retval, out] VARIANT *p);
315
316     [propput, id(DISPID_IHTMLSTYLE_MARGINRIGHT), bindable, displaybind]
317     HRESULT marginRight([in] VARIANT v);
318
319     [propget, id(DISPID_IHTMLSTYLE_MARGINRIGHT), bindable, displaybind]
320     HRESULT marginRight([retval, out] VARIANT *p);
321
322     [propput, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), bindable, displaybind]
323     HRESULT marginBottom([in] VARIANT v);
324
325     [propget, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), bindable, displaybind]
326     HRESULT marginBottom([retval, out] VARIANT *p);
327
328     [propput, id(DISPID_IHTMLSTYLE_MARGINLEFT), bindable, displaybind]
329     HRESULT marginLeft([in] VARIANT v);
330
331     [propget, id(DISPID_IHTMLSTYLE_MARGINLEFT), bindable, displaybind]
332     HRESULT marginLeft([retval, out] VARIANT *p);
333
334     [propput, id(DISPID_IHTMLSTYLE_MARGIN), bindable, displaybind]
335     HRESULT margin([in] BSTR v);
336
337     [propget, id(DISPID_IHTMLSTYLE_MARGIN), bindable, displaybind]
338     HRESULT margin([retval, out] BSTR *p);
339
340     [propput, id(DISPID_IHTMLSTYLE_PADDINGTOP), bindable, displaybind]
341     HRESULT paddingTop([in] VARIANT v);
342
343     [propget, id(DISPID_IHTMLSTYLE_PADDINGTOP), bindable, displaybind]
344     HRESULT paddingTop([retval, out] VARIANT *p);
345
346     [propput, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), bindable, displaybind]
347     HRESULT paddingRight([in] VARIANT v);
348
349     [propget, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), bindable, displaybind]
350     HRESULT paddingRight([retval, out] VARIANT *p);
351
352     [propput, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), bindable, displaybind]
353     HRESULT paddingBottom([in] VARIANT v);
354
355     [propget, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), bindable, displaybind]
356     HRESULT paddingBottom([retval, out] VARIANT *p);
357
358     [propput, id(DISPID_IHTMLSTYLE_PADDINGLEFT), bindable, displaybind]
359     HRESULT paddingLeft([in] VARIANT v);
360
361     [propget, id(DISPID_IHTMLSTYLE_PADDINGLEFT), bindable, displaybind]
362     HRESULT paddingLeft([retval, out] VARIANT *p);
363
364     [propput, id(DISPID_IHTMLSTYLE_PADDING), bindable, displaybind]
365     HRESULT padding([in] BSTR v);
366
367     [propget, id(DISPID_IHTMLSTYLE_PADDING), bindable, displaybind]
368     HRESULT padding([retval, out] BSTR *p);
369
370     [propput, id(DISPID_IHTMLSTYLE_BORDER), bindable, displaybind]
371     HRESULT border([in] BSTR v);
372
373     [propget, id(DISPID_IHTMLSTYLE_BORDER), bindable, displaybind]
374     HRESULT border([retval, out] BSTR *p);
375
376     [propput, id(DISPID_IHTMLSTYLE_BORDERTOP), bindable, displaybind]
377     HRESULT borderTop([in] BSTR v);
378
379     [propget, id(DISPID_IHTMLSTYLE_BORDERTOP), bindable, displaybind]
380     HRESULT borderTop([retval, out] BSTR *p);
381
382     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHT), bindable, displaybind]
383     HRESULT borderRight([in] BSTR v);
384
385     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHT), bindable, displaybind]
386     HRESULT borderRight([retval, out] BSTR *p);
387
388     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), bindable, displaybind]
389     HRESULT borderBottom([in] BSTR v);
390
391     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), bindable, displaybind]
392     HRESULT borderBottom([retval, out] BSTR *p);
393
394     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFT), bindable, displaybind]
395     HRESULT borderLeft([in] BSTR v);
396
397     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFT), bindable, displaybind]
398     HRESULT borderLeft([retval, out] BSTR *p);
399
400     [propput, id(DISPID_IHTMLSTYLE_BORDERCOLOR), bindable, displaybind]
401     HRESULT borderColor([in] BSTR v);
402
403     [propget, id(DISPID_IHTMLSTYLE_BORDERCOLOR), bindable, displaybind]
404     HRESULT borderColor([retval, out] BSTR *p);
405
406     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), bindable, displaybind]
407     HRESULT borderTopColor([in] VARIANT v);
408
409     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), bindable, displaybind]
410     HRESULT borderTopColor([retval, out] VARIANT *p);
411
412     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
413     HRESULT borderRightColor([in] VARIANT v);
414
415     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
416     HRESULT borderRightColor([retval, out] VARIANT *p);
417
418     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
419     HRESULT borderBottomColor([in] VARIANT v);
420
421     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
422     HRESULT borderBottomColor([retval, out] VARIANT *p);
423
424     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), bindable, displaybind]
425     HRESULT borderLeftColor([in] VARIANT v);
426
427     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), bindable, displaybind]
428     HRESULT borderLeftColor([retval, out] VARIANT *p);
429
430     [propput, id(DISPID_IHTMLSTYLE_BORDERWIDTH), bindable, displaybind]
431     HRESULT borderWidth([in] BSTR v);
432
433     [propget, id(DISPID_IHTMLSTYLE_BORDERWIDTH), bindable, displaybind]
434     HRESULT borderWidth([retval, out] BSTR *p);
435
436     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), bindable, displaybind]
437     HRESULT borderTopWidth([in] VARIANT v);
438
439     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), bindable, displaybind]
440     HRESULT borderTopWidth([retval, out] VARIANT *p);
441
442     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
443     HRESULT borderRightWidth([in] VARIANT v);
444
445     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
446     HRESULT borderRightWidth([retval, out] VARIANT *p);
447
448     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
449     HRESULT borderBottomWidth([in] VARIANT v);
450
451     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
452     HRESULT borderBottomWidth([retval, out] VARIANT *p);
453
454     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), bindable, displaybind]
455     HRESULT borderLeftWidth([in] VARIANT v);
456
457     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), bindable, displaybind]
458     HRESULT borderLeftWidth([retval, out] VARIANT *p);
459
460     [propput, id(DISPID_IHTMLSTYLE_BORDERSTYLE), bindable, displaybind]
461     HRESULT borderStyle([in] BSTR v);
462
463     [propget, id(DISPID_IHTMLSTYLE_BORDERSTYLE), bindable, displaybind]
464     HRESULT borderStyle([retval, out] BSTR *p);
465
466     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), bindable, displaybind]
467     HRESULT borderTopStyle([in] BSTR v);
468
469     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), bindable, displaybind]
470     HRESULT borderTopStyle([retval, out] BSTR *p);
471
472     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
473     HRESULT borderRightStyle([in] BSTR v);
474
475     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
476     HRESULT borderRightStyle([retval, out] BSTR *p);
477
478     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
479     HRESULT borderBottomStyle([in] BSTR v);
480
481     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
482     HRESULT borderBottomStyle([retval, out] BSTR *p);
483
484     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), bindable, displaybind]
485     HRESULT borderLeftStyle([in] BSTR v);
486
487     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), bindable, displaybind]
488     HRESULT borderLeftStyle([retval, out] BSTR *p);
489
490     [propput, id(DISPID_IHTMLSTYLE_WIDTH), bindable, displaybind]
491     HRESULT width([in] VARIANT v);
492
493     [propget, id(DISPID_IHTMLSTYLE_WIDTH), bindable, displaybind]
494     HRESULT width([retval, out] VARIANT *p);
495
496     [propput, id(DISPID_IHTMLSTYLE_HEIGHT), bindable, displaybind]
497     HRESULT height([in] VARIANT v);
498
499     [propget, id(DISPID_IHTMLSTYLE_HEIGHT), bindable, displaybind]
500     HRESULT height([retval, out] VARIANT *p);
501
502     [propput, id(DISPID_IHTMLSTYLE_STYLEFLOAT), bindable, displaybind]
503     HRESULT styleFloat([in] BSTR v);
504
505     [propget, id(DISPID_IHTMLSTYLE_STYLEFLOAT), bindable, displaybind]
506     HRESULT styleFloat([retval, out] BSTR *p);
507
508     [propput, id(DISPID_IHTMLSTYLE_CLEAR), bindable, displaybind]
509     HRESULT clear([in] BSTR v);
510
511     [propget, id(DISPID_IHTMLSTYLE_CLEAR), bindable, displaybind]
512     HRESULT clear([retval, out] BSTR *p);
513
514     [propput, id(DISPID_IHTMLSTYLE_DISPLAY), bindable, displaybind]
515     HRESULT display([in] BSTR v);
516
517     [propget, id(DISPID_IHTMLSTYLE_DISPLAY), bindable, displaybind]
518     HRESULT display([retval, out] BSTR *p);
519
520     [propput, id(DISPID_IHTMLSTYLE_VISIBILITY), bindable, displaybind]
521     HRESULT visibility([in] BSTR v);
522
523     [propget, id(DISPID_IHTMLSTYLE_VISIBILITY), bindable, displaybind]
524     HRESULT visibility([retval, out] BSTR *p);
525
526     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), bindable, displaybind]
527     HRESULT listStyleType([in] BSTR v);
528
529     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), bindable, displaybind]
530     HRESULT listStyleType([retval, out] BSTR *p);
531
532     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), bindable, displaybind]
533     HRESULT listStylePosition([in] BSTR v);
534
535     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), bindable, displaybind]
536     HRESULT listStylePosition([retval, out] BSTR *p);
537
538     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), bindable, displaybind]
539     HRESULT listStyleImage([in] BSTR v);
540
541     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), bindable, displaybind]
542     HRESULT listStyleImage([retval, out] BSTR *p);
543
544     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLE), bindable, displaybind]
545     HRESULT listStyle([in] BSTR v);
546
547     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLE), bindable, displaybind]
548     HRESULT listStyle([retval, out] BSTR *p);
549
550     [propput, id(DISPID_IHTMLSTYLE_WHITESPACE), bindable, displaybind]
551     HRESULT whiteSpace([in] BSTR v);
552
553     [propget, id(DISPID_IHTMLSTYLE_WHITESPACE), bindable, displaybind]
554     HRESULT whiteSpace([retval, out] BSTR *p);
555
556     [propput, id(DISPID_IHTMLSTYLE_TOP), bindable, displaybind]
557     HRESULT top([in] VARIANT v);
558
559     [propget, id(DISPID_IHTMLSTYLE_TOP), bindable, displaybind]
560     HRESULT top([retval, out] VARIANT *p);
561
562     [propput, id(DISPID_IHTMLSTYLE_LEFT), bindable, displaybind]
563     HRESULT left([in] VARIANT v);
564
565     [propget, id(DISPID_IHTMLSTYLE_LEFT), bindable, displaybind]
566     HRESULT left([retval, out] VARIANT *p);
567
568     [propget, id(DISPID_IHTMLSTYLE_POSITION), bindable, displaybind]
569     HRESULT position([retval, out] BSTR *p);
570
571     [propput, id(DISPID_IHTMLSTYLE_ZINDEX), bindable, displaybind]
572     HRESULT zIndex([in] VARIANT v);
573
574     [propget, id(DISPID_IHTMLSTYLE_ZINDEX), bindable, displaybind]
575     HRESULT zIndex([retval, out] VARIANT *p);
576
577     [propput, id(DISPID_IHTMLSTYLE_OVERFLOW), bindable, displaybind]
578     HRESULT overflow([in] BSTR v);
579
580     [propget, id(DISPID_IHTMLSTYLE_OVERFLOW), bindable, displaybind]
581     HRESULT overflow([retval, out] BSTR *p);
582
583     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), bindable, displaybind]
584     HRESULT pageBreakBefore([in] BSTR v);
585
586     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), bindable, displaybind]
587     HRESULT pageBreakBefore([retval, out] BSTR *p);
588
589     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), bindable, displaybind]
590     HRESULT pageBreakAfter([in] BSTR v);
591
592     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), bindable, displaybind]
593     HRESULT pageBreakAfter([retval, out] BSTR *p);
594
595     [propput, id(DISPID_IHTMLSTYLE_CSSTEXT), bindable, displaybind]
596     HRESULT cssText([in] BSTR v);
597
598     [propget, id(DISPID_IHTMLSTYLE_CSSTEXT), bindable, displaybind]
599     HRESULT cssText([retval, out] BSTR *p);
600
601     [propput, id(DISPID_IHTMLSTYLE_PIXELTOP), bindable, displaybind, hidden]
602     HRESULT pixelTop([in] LONG v);
603
604     [propget, id(DISPID_IHTMLSTYLE_PIXELTOP), bindable, displaybind, hidden]
605     HRESULT pixelTop([retval, out] LONG *p);
606
607     [propput, id(DISPID_IHTMLSTYLE_PIXELLEFT), bindable, displaybind, hidden]
608     HRESULT pixelLeft([in] LONG v);
609
610     [propget, id(DISPID_IHTMLSTYLE_PIXELLEFT), bindable, displaybind, hidden]
611     HRESULT pixelLeft([retval, out] LONG *p);
612
613     [propput, id(DISPID_IHTMLSTYLE_PIXELWIDTH), bindable, displaybind, hidden]
614     HRESULT pixelWidth([in] LONG v);
615
616     [propget, id(DISPID_IHTMLSTYLE_PIXELWIDTH), bindable, displaybind, hidden]
617     HRESULT pixelWidth([retval, out] LONG *p);
618
619     [propput, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), bindable, displaybind, hidden]
620     HRESULT pixelHeight([in] LONG v);
621
622     [propget, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), bindable, displaybind, hidden]
623     HRESULT pixelHeight([retval, out] LONG *p);
624
625     [propput, id(DISPID_IHTMLSTYLE_POSTOP), bindable, displaybind]
626     HRESULT posTop([in] float v);
627
628     [propget, id(DISPID_IHTMLSTYLE_POSTOP), bindable, displaybind]
629     HRESULT posTop([retval, out] float *p);
630
631     [propput, id(DISPID_IHTMLSTYLE_POSLEFT), bindable, displaybind]
632     HRESULT posLeft([in] float v);
633
634     [propget, id(DISPID_IHTMLSTYLE_POSLEFT), bindable, displaybind]
635     HRESULT posLeft([retval, out] float *p);
636
637     [propput, id(DISPID_IHTMLSTYLE_POSWIDTH), bindable, displaybind]
638     HRESULT posWidth([in] float v);
639
640     [propget, id(DISPID_IHTMLSTYLE_POSWIDTH), bindable, displaybind]
641     HRESULT posWidth([retval, out] float *p);
642
643     [propput, id(DISPID_IHTMLSTYLE_POSHEIGHT), bindable, displaybind]
644     HRESULT posHeight([in] float v);
645
646     [propget, id(DISPID_IHTMLSTYLE_POSHEIGHT), bindable, displaybind]
647     HRESULT posHeight([retval, out] float *p);
648
649     [propput, id(DISPID_IHTMLSTYLE_CURSOR), bindable, displaybind]
650     HRESULT cursor([in] BSTR v);
651
652     [propget, id(DISPID_IHTMLSTYLE_CURSOR), bindable, displaybind]
653     HRESULT cursor([retval, out] BSTR *p);
654
655     [propput, id(DISPID_IHTMLSTYLE_CLIP), bindable, displaybind]
656     HRESULT clip([in] BSTR v);
657
658     [propget, id(DISPID_IHTMLSTYLE_CLIP), bindable, displaybind]
659     HRESULT clip([retval, out] BSTR *p);
660
661     [propput, id(DISPID_IHTMLSTYLE_FILTER), bindable, displaybind]
662     HRESULT filter([in] BSTR v);
663
664     [propget, id(DISPID_IHTMLSTYLE_FILTER), bindable, displaybind]
665     HRESULT filter([retval, out] BSTR *p);
666
667     [id(DISPID_IHTMLSTYLE_SETATTRIBUTE)]
668     HRESULT setAttribute(
669         [in] BSTR strAttributeName,
670         [in] VARIANT AttributeValue,
671         [defaultvalue(1), in] LONG lFlags);
672
673     [id(DISPID_IHTMLSTYLE_GETATTRIBUTE)]
674     HRESULT getAttribute(
675         [in] BSTR strAttributeName,
676         [defaultvalue(0), in] LONG lFlags,
677         [retval, out] VARIANT *AttributeValue);
678
679     [id(DISPID_IHTMLSTYLE_REMOVEATTRIBUTE)]
680     HRESULT removeAttribute(
681         [in] BSTR strAttributeName,
682         [defaultvalue(1), in]
683         LONG lFlags,
684         [retval, out] VARIANT_BOOL *pfSuccess);
685
686     [id(DISPID_IHTMLSTYLE_TOSTRING)]
687     HRESULT toString([retval, out] BSTR *String);
688 }
689
690 /*****************************************************************************
691  *    IHTMLStyle2 interface
692  */
693 [
694     odl,
695     oleautomation,
696     dual,
697     uuid(3050f4a2-98b5-11cf-bb82-00aa00bdce0b)
698 ]
699 interface IHTMLStyle2 : IDispatch
700 {
701     [propput, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable]
702     HRESULT tableLayout([in] BSTR v);
703
704     [propget, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable]
705     HRESULT tableLayout([out, retval] BSTR *p);
706
707     [propput, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable]
708     HRESULT borderCollapse([in] BSTR v);
709
710     [propget, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable]
711     HRESULT borderCollapse([out, retval] BSTR *p);
712
713     [propput, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable]
714     HRESULT direction([in] BSTR v);
715
716     [propget, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable]
717     HRESULT direction([out, retval] BSTR *p);
718
719     [propput, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable]
720     HRESULT behavior([in] BSTR v);
721
722     [propget, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable]
723     HRESULT behavior([out, retval] BSTR *p);
724
725     [id(DISPID_IHTMLSTYLE2_SETEXPRESSION)]
726     HRESULT setExpression(
727             [in] BSTR propname,
728             [in] BSTR expression,
729             [in, defaultvalue("")] BSTR language);
730
731     [id(DISPID_IHTMLSTYLE2_GETEXPRESSION)]
732     HRESULT getExpression(
733             [in] BSTR propname,
734             [out, retval] VARIANT *expression);
735
736     [id(DISPID_IHTMLSTYLE2_REMOVEEXPRESSION)]
737     HRESULT removeExpression(
738             [in] BSTR propname,
739             [out, retval] VARIANT_BOOL *pfSuccess);
740
741     [propput, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable]
742     HRESULT position([in] BSTR v);
743
744     [propget, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable]
745     HRESULT position([out, retval] BSTR *p);
746
747     [propput, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable]
748     HRESULT unicodeBidi([in] BSTR v);
749
750     [propget, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable]
751     HRESULT unicodeBidi([out, retval] BSTR *p);
752
753     [propput, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable]
754     HRESULT bottom([in] VARIANT v);
755
756     [propget, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable]
757     HRESULT bottom([out, retval] VARIANT *p);
758
759     [propput, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable]
760     HRESULT right([in] VARIANT v);
761
762     [propget, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable]
763     HRESULT right([out, retval] VARIANT *p);
764
765     [propput, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden]
766     HRESULT pixelBottom([in] LONG v);
767
768     [propget, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden]
769     HRESULT pixelBottom([out, retval] LONG *p);
770
771     [propput, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden]
772     HRESULT pixelRight([in] LONG v);
773
774     [propget, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden]
775     HRESULT pixelRight([out, retval] LONG *p);
776
777     [propput, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable]
778     HRESULT posBottom([in] float v);
779
780     [propget, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable]
781     HRESULT posBottom([out, retval] float *p);
782
783     [propput, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable]
784     HRESULT posRight([in] float v);
785
786     [propget, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable]
787     HRESULT posRight([out, retval] float *p);
788
789     [propput, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable]
790     HRESULT imeMode([in] BSTR v);
791
792     [propget, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable]
793     HRESULT imeMode([out, retval] BSTR *p);
794
795     [propput, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable]
796     HRESULT rubyAlign([in] BSTR v);
797
798     [propget, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable]
799     HRESULT rubyAlign([out, retval] BSTR *p);
800
801     [propput, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable]
802     HRESULT rubyPosition([in] BSTR v);
803
804     [propget, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable]
805     HRESULT rubyPosition([out, retval] BSTR *p);
806
807     [propput, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable]
808     HRESULT rubyOverhang([in] BSTR v);
809
810     [propget, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable]
811     HRESULT rubyOverhang([out, retval] BSTR *p);
812
813     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable]
814     HRESULT layoutGridChar([in] VARIANT v);
815
816     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable]
817     HRESULT layoutGridChar([out, retval] VARIANT *p);
818
819     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable]
820     HRESULT layoutGridLine([in] VARIANT v);
821
822     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable]
823     HRESULT layoutGridLine([out, retval] VARIANT *p);
824
825     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable]
826     HRESULT layoutGridMode([in] BSTR v);
827
828     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable]
829     HRESULT layoutGridMode([out, retval] BSTR *p);
830
831     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable]
832     HRESULT layoutGridType([in] BSTR v);
833
834     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable]
835     HRESULT layoutGridType([out, retval] BSTR *p);
836
837     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable]
838     HRESULT layoutGrid([in] BSTR v);
839
840     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable]
841     HRESULT layoutGrid([out, retval] BSTR *p);
842
843     [propput, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable]
844     HRESULT wordBreak([in] BSTR v);
845
846     [propget, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable]
847     HRESULT wordBreak([out, retval] BSTR *p);
848
849     [propput, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable]
850     HRESULT lineBreak([in] BSTR v);
851
852     [propget, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable]
853     HRESULT lineBreak([out, retval] BSTR *p);
854
855     [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable]
856     HRESULT textJustify([in] BSTR v);
857
858     [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable]
859     HRESULT textJustify([out, retval] BSTR *p);
860
861     [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable]
862     HRESULT textJustifyTrim([in] BSTR v);
863
864     [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable]
865     HRESULT textJustifyTrim([out, retval] BSTR *p);
866
867     [propput, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable]
868     HRESULT textKashida([in] VARIANT v);
869
870     [propget, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable]
871     HRESULT textKashida([out, retval] VARIANT *p);
872
873     [propput, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable]
874     HRESULT textAutospace([in] BSTR v);
875
876     [propget, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable]
877     HRESULT textAutospace([out, retval] BSTR *p);
878
879     [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable]
880     HRESULT overflowX([in] BSTR v);
881
882     [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable]
883     HRESULT overflowX([out, retval] BSTR *p);
884
885     [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable]
886     HRESULT overflowY([in] BSTR v);
887
888     [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable]
889     HRESULT overflowY([out, retval] BSTR *p);
890
891     [propput, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable]
892     HRESULT accelerator([in] BSTR v);
893
894     [propget, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable]
895     HRESULT accelerator([out, retval] BSTR *p);
896 }
897
898 /*****************************************************************************
899  *    IHTMLRuleStyle interface
900  */
901 [
902         odl,
903         oleautomation,
904         dual,
905         uuid(3050F3CF-98B5-11CF-BB82-00AA00BDCE0B)
906 ]
907 interface IHTMLRuleStyle : IDispatch
908 {
909     [propput, id(DISPID_IHTMLRULESTYLE_FONTFAMILY), bindable, displaybind]
910     HRESULT fontFamily([in] BSTR v);
911
912     [propget, id(DISPID_IHTMLRULESTYLE_FONTFAMILY), bindable, displaybind]
913     HRESULT fontFamily([retval, out] BSTR *p);
914
915     [propput, id(DISPID_IHTMLRULESTYLE_FONTSTYLE), bindable, displaybind]
916     HRESULT fontStyle([in] BSTR v);
917
918     [propget, id(DISPID_IHTMLRULESTYLE_FONTSTYLE), bindable, displaybind]
919     HRESULT fontStyle([retval, out] BSTR *p);
920
921     [propput, id(DISPID_IHTMLRULESTYLE_FONTVARIANT), bindable, displaybind]
922     HRESULT fontVariant([in] BSTR v);
923
924     [propget, id(DISPID_IHTMLRULESTYLE_FONTVARIANT), bindable, displaybind]
925     HRESULT fontVariant([retval, out] BSTR *p);
926
927     [propput, id(DISPID_IHTMLRULESTYLE_FONTWEIGHT), bindable, displaybind]
928     HRESULT fontWeight([in] BSTR v);
929
930     [propget, id(DISPID_IHTMLRULESTYLE_FONTWEIGHT), bindable, displaybind]
931     HRESULT fontWeight([retval, out] BSTR *p);
932
933     [propput, id(DISPID_IHTMLRULESTYLE_FONTSIZE), bindable, displaybind]
934     HRESULT fontSize([in] VARIANT v);
935
936     [propget, id(DISPID_IHTMLRULESTYLE_FONTSIZE), bindable, displaybind]
937     HRESULT fontSize([retval, out] VARIANT *p);
938
939     [propput, id(DISPID_IHTMLRULESTYLE_FONT), bindable, displaybind]
940     HRESULT font([in] BSTR v);
941
942     [propget, id(DISPID_IHTMLRULESTYLE_FONT), bindable, displaybind]
943     HRESULT font([retval, out] BSTR *p);
944
945     [propput, id(DISPID_IHTMLRULESTYLE_COLOR), bindable, displaybind]
946     HRESULT color([in] VARIANT v);
947
948     [propget, id(DISPID_IHTMLRULESTYLE_COLOR), bindable, displaybind]
949     HRESULT color([retval, out] VARIANT *p);
950
951     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUND), bindable, displaybind]
952     HRESULT background([in] BSTR v);
953
954     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUND), bindable, displaybind]
955     HRESULT background([retval, out] BSTR *p);
956
957     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDCOLOR), bindable, displaybind]
958     HRESULT backgroundColor([in] VARIANT v);
959
960     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDCOLOR), bindable, displaybind]
961     HRESULT backgroundColor([retval, out] VARIANT *p);
962
963     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDIMAGE), bindable, displaybind]
964     HRESULT backgroundImage([in] BSTR v);
965
966     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDIMAGE), bindable, displaybind]
967     HRESULT backgroundImage([retval, out] BSTR *p);
968
969     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDREPEAT), bindable, displaybind]
970     HRESULT backgroundRepeat([in] BSTR v);
971
972     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDREPEAT), bindable, displaybind]
973     HRESULT backgroundRepeat([retval, out] BSTR *p);
974
975     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
976     HRESULT backgroundAttachment([in] BSTR v);
977
978     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
979     HRESULT backgroundAttachment([retval, out] BSTR *p);
980
981     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITION), bindable, displaybind]
982     HRESULT backgroundPosition([in] BSTR v);
983
984     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITION), bindable, displaybind]
985     HRESULT backgroundPosition([retval, out] BSTR *p);
986
987     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
988     HRESULT backgroundPositionX([in] VARIANT v);
989
990     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
991     HRESULT backgroundPositionX([retval, out] VARIANT *p);
992
993     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
994     HRESULT backgroundPositionY([in] VARIANT v);
995
996     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
997     HRESULT backgroundPositionY([retval, out] VARIANT *p);
998
999     [propput, id(DISPID_IHTMLRULESTYLE_WORDSPACING), bindable, displaybind]
1000     HRESULT wordSpacing([in] VARIANT v);
1001
1002     [propget, id(DISPID_IHTMLRULESTYLE_WORDSPACING), bindable, displaybind]
1003     HRESULT wordSpacing([retval, out] VARIANT *p);
1004
1005     [propput, id(DISPID_IHTMLRULESTYLE_LETTERSPACING), bindable, displaybind]
1006     HRESULT letterSpacing([in] VARIANT v);
1007
1008     [propget, id(DISPID_IHTMLRULESTYLE_LETTERSPACING), bindable, displaybind]
1009     HRESULT letterSpacing([retval, out] VARIANT *p);
1010
1011     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATION), bindable, displaybind]
1012     HRESULT textDecoration([in] BSTR v);
1013
1014     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATION), bindable, displaybind]
1015     HRESULT textDecoration([retval, out] BSTR *p);
1016
1017     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONNONE), bindable, displaybind]
1018     HRESULT textDecorationNone([in] VARIANT_BOOL v);
1019
1020     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONNONE), bindable, displaybind]
1021     HRESULT textDecorationNone([retval, out] VARIANT_BOOL *p);
1022
1023     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
1024     HRESULT textDecorationUnderline([in] VARIANT_BOOL v);
1025
1026     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
1027     HRESULT textDecorationUnderline([retval, out] VARIANT_BOOL *p);
1028
1029     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
1030     HRESULT textDecorationOverline([in] VARIANT_BOOL v);
1031
1032     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
1033     HRESULT textDecorationOverline([retval, out] VARIANT_BOOL *p);
1034
1035     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
1036     HRESULT textDecorationLineThrough([in] VARIANT_BOOL v);
1037
1038     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
1039     HRESULT textDecorationLineThrough([retval, out] VARIANT_BOOL *p);
1040
1041     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
1042     HRESULT textDecorationBlink([in] VARIANT_BOOL v);
1043
1044     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
1045     HRESULT textDecorationBlink([retval, out] VARIANT_BOOL *p);
1046
1047     [propput, id(DISPID_IHTMLRULESTYLE_VERTICALALIGN), bindable, displaybind]
1048     HRESULT verticalAlign([in] VARIANT v);
1049
1050     [propget, id(DISPID_IHTMLRULESTYLE_VERTICALALIGN), bindable, displaybind]
1051     HRESULT verticalAlign([retval, out] VARIANT *p);
1052
1053     [propput, id(DISPID_IHTMLRULESTYLE_TEXTTRANSFORM), bindable, displaybind]
1054     HRESULT textTransform([in] BSTR v);
1055
1056     [propget, id(DISPID_IHTMLRULESTYLE_TEXTTRANSFORM), bindable, displaybind]
1057     HRESULT textTransform([retval, out] BSTR *p);
1058
1059     [propput, id(DISPID_IHTMLRULESTYLE_TEXTALIGN), bindable, displaybind]
1060     HRESULT textAlign([in] BSTR v);
1061
1062     [propget, id(DISPID_IHTMLRULESTYLE_TEXTALIGN), bindable, displaybind]
1063     HRESULT textAlign([retval, out] BSTR *p);
1064
1065     [propput, id(DISPID_IHTMLRULESTYLE_TEXTINDENT), bindable, displaybind]
1066     HRESULT textIndent([in] VARIANT v);
1067
1068     [propget, id(DISPID_IHTMLRULESTYLE_TEXTINDENT), bindable, displaybind]
1069     HRESULT textIndent([retval, out] VARIANT *p);
1070
1071     [propput, id(DISPID_IHTMLRULESTYLE_LINEHEIGHT), bindable, displaybind]
1072     HRESULT lineHeight([in] VARIANT v);
1073
1074     [propget, id(DISPID_IHTMLRULESTYLE_LINEHEIGHT), bindable, displaybind]
1075     HRESULT lineHeight([retval, out] VARIANT *p);
1076
1077     [propput, id(DISPID_IHTMLRULESTYLE_MARGINTOP), bindable, displaybind]
1078     HRESULT marginTop([in] VARIANT v);
1079
1080     [propget, id(DISPID_IHTMLRULESTYLE_MARGINTOP), bindable, displaybind]
1081     HRESULT marginTop([retval, out] VARIANT *p);
1082
1083     [propput, id(DISPID_IHTMLRULESTYLE_MARGINRIGHT), bindable, displaybind]
1084     HRESULT marginRight([in] VARIANT v);
1085
1086     [propget, id(DISPID_IHTMLRULESTYLE_MARGINRIGHT), bindable, displaybind]
1087     HRESULT marginRight([retval, out] VARIANT *p);
1088
1089     [propput, id(DISPID_IHTMLRULESTYLE_MARGINBOTTOM), bindable, displaybind]
1090     HRESULT marginBottom([in] VARIANT v);
1091
1092     [propget, id(DISPID_IHTMLRULESTYLE_MARGINBOTTOM), bindable, displaybind]
1093     HRESULT marginBottom([retval, out] VARIANT *p);
1094
1095     [propput, id(DISPID_IHTMLRULESTYLE_MARGINLEFT), bindable, displaybind]
1096     HRESULT marginLeft([in] VARIANT v);
1097
1098     [propget, id(DISPID_IHTMLRULESTYLE_MARGINLEFT), bindable, displaybind]
1099     HRESULT marginLeft([retval, out] VARIANT *p);
1100
1101     [propput, id(DISPID_IHTMLRULESTYLE_MARGIN), bindable, displaybind]
1102     HRESULT margin([in] BSTR v);
1103
1104     [propget, id(DISPID_IHTMLRULESTYLE_MARGIN), bindable, displaybind]
1105     HRESULT margin([retval, out] BSTR *p);
1106
1107     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGTOP), bindable, displaybind]
1108     HRESULT paddingTop([in] VARIANT v);
1109
1110     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGTOP), bindable, displaybind]
1111     HRESULT paddingTop([retval, out] VARIANT *p);
1112
1113     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGRIGHT), bindable, displaybind]
1114     HRESULT paddingRight([in] VARIANT v);
1115
1116     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGRIGHT), bindable, displaybind]
1117     HRESULT paddingRight([retval, out] VARIANT *p);
1118
1119     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGBOTTOM), bindable, displaybind]
1120     HRESULT paddingBottom([in] VARIANT v);
1121
1122     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGBOTTOM), bindable, displaybind]
1123     HRESULT paddingBottom([retval, out] VARIANT *p);
1124
1125     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGLEFT), bindable, displaybind]
1126     HRESULT paddingLeft([in] VARIANT v);
1127
1128     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGLEFT), bindable, displaybind]
1129     HRESULT paddingLeft([retval, out] VARIANT *p);
1130
1131     [propput, id(DISPID_IHTMLRULESTYLE_PADDING), bindable, displaybind]
1132     HRESULT padding([in] BSTR v);
1133
1134     [propget, id(DISPID_IHTMLRULESTYLE_PADDING), bindable, displaybind]
1135     HRESULT padding([retval, out] BSTR *p);
1136
1137     [propput, id(DISPID_IHTMLRULESTYLE_BORDER), bindable, displaybind]
1138     HRESULT border([in] BSTR v);
1139
1140     [propget, id(DISPID_IHTMLRULESTYLE_BORDER), bindable, displaybind]
1141     HRESULT border([retval, out] BSTR *p);
1142
1143     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOP), bindable, displaybind]
1144     HRESULT borderTop([in] BSTR v);
1145
1146     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOP), bindable, displaybind]
1147     HRESULT borderTop([retval, out] BSTR *p);
1148
1149     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHT), bindable, displaybind]
1150     HRESULT borderRight([in] BSTR v);
1151
1152     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHT), bindable, displaybind]
1153     HRESULT borderRight([retval, out] BSTR *p);
1154
1155     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOM), bindable, displaybind]
1156     HRESULT borderBottom([in] BSTR v);
1157
1158     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOM), bindable, displaybind]
1159     HRESULT borderBottom([retval, out] BSTR *p);
1160
1161     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFT), bindable, displaybind]
1162     HRESULT borderLeft([in] BSTR v);
1163
1164     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFT), bindable, displaybind]
1165     HRESULT borderLeft([retval, out] BSTR *p);
1166
1167     [propput, id(DISPID_IHTMLRULESTYLE_BORDERCOLOR), bindable, displaybind]
1168     HRESULT borderColor([in] BSTR v);
1169
1170     [propget, id(DISPID_IHTMLRULESTYLE_BORDERCOLOR), bindable, displaybind]
1171     HRESULT borderColor([retval, out] BSTR *p);
1172
1173     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOPCOLOR), bindable, displaybind]
1174     HRESULT borderTopColor([in] VARIANT v);
1175
1176     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOPCOLOR), bindable, displaybind]
1177     HRESULT borderTopColor([retval, out] VARIANT *p);
1178
1179     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
1180     HRESULT borderRightColor([in] VARIANT v);
1181
1182     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
1183     HRESULT borderRightColor([retval, out] VARIANT *p);
1184
1185     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
1186     HRESULT borderBottomColor([in] VARIANT v);
1187
1188     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
1189     HRESULT borderBottomColor([retval, out] VARIANT *p);
1190
1191     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFTCOLOR), bindable, displaybind]
1192     HRESULT borderLeftColor([in] VARIANT v);
1193
1194     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFTCOLOR), bindable, displaybind]
1195     HRESULT borderLeftColor([retval, out] VARIANT *p);
1196
1197     [propput, id(DISPID_IHTMLRULESTYLE_BORDERWIDTH), bindable, displaybind]
1198     HRESULT borderWidth([in] BSTR v);
1199
1200     [propget, id(DISPID_IHTMLRULESTYLE_BORDERWIDTH), bindable, displaybind]
1201     HRESULT borderWidth([retval, out] BSTR *p);
1202
1203     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOPWIDTH), bindable, displaybind]
1204     HRESULT borderTopWidth([in] VARIANT v);
1205
1206     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOPWIDTH), bindable, displaybind]
1207     HRESULT borderTopWidth([retval, out] VARIANT *p);
1208
1209     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
1210     HRESULT borderRightWidth([in] VARIANT v);
1211
1212     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
1213     HRESULT borderRightWidth([retval, out] VARIANT *p);
1214
1215     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
1216     HRESULT borderBottomWidth([in] VARIANT v);
1217
1218     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
1219     HRESULT borderBottomWidth([retval, out] VARIANT *p);
1220
1221     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFTWIDTH), bindable, displaybind]
1222     HRESULT borderLeftWidth([in] VARIANT v);
1223
1224     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFTWIDTH), bindable, displaybind]
1225     HRESULT borderLeftWidth([retval, out] VARIANT *p);
1226
1227     [propput, id(DISPID_IHTMLRULESTYLE_BORDERSTYLE), bindable, displaybind]
1228     HRESULT borderStyle([in] BSTR v);
1229
1230     [propget, id(DISPID_IHTMLRULESTYLE_BORDERSTYLE), bindable, displaybind]
1231     HRESULT borderStyle([retval, out] BSTR *p);
1232
1233     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOPSTYLE), bindable, displaybind]
1234     HRESULT borderTopStyle([in] BSTR v);
1235
1236     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOPSTYLE), bindable, displaybind]
1237     HRESULT borderTopStyle([retval, out] BSTR *p);
1238
1239     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
1240     HRESULT borderRightStyle([in] BSTR v);
1241
1242     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
1243     HRESULT borderRightStyle([retval, out] BSTR *p);
1244
1245     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
1246     HRESULT borderBottomStyle([in] BSTR v);
1247
1248     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
1249     HRESULT borderBottomStyle([retval, out] BSTR *p);
1250
1251     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFTSTYLE), bindable, displaybind]
1252     HRESULT borderLeftStyle([in] BSTR v);
1253
1254     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFTSTYLE), bindable, displaybind]
1255     HRESULT borderLeftStyle([retval, out] BSTR *p);
1256
1257     [propput, id(DISPID_IHTMLRULESTYLE_WIDTH), bindable, displaybind]
1258     HRESULT width([in] VARIANT v);
1259
1260     [propget, id(DISPID_IHTMLRULESTYLE_WIDTH), bindable, displaybind]
1261     HRESULT width([retval, out] VARIANT *p);
1262
1263     [propput, id(DISPID_IHTMLRULESTYLE_HEIGHT), bindable, displaybind]
1264     HRESULT height([in] VARIANT v);
1265
1266     [propget, id(DISPID_IHTMLRULESTYLE_HEIGHT), bindable, displaybind]
1267     HRESULT height([retval, out] VARIANT *p);
1268
1269     [propput, id(DISPID_IHTMLRULESTYLE_STYLEFLOAT), bindable, displaybind]
1270     HRESULT styleFloat([in] BSTR v);
1271
1272     [propget, id(DISPID_IHTMLRULESTYLE_STYLEFLOAT), bindable, displaybind]
1273     HRESULT styleFloat([retval, out] BSTR *p);
1274
1275     [propput, id(DISPID_IHTMLRULESTYLE_CLEAR), bindable, displaybind]
1276     HRESULT clear([in] BSTR v);
1277
1278     [propget, id(DISPID_IHTMLRULESTYLE_CLEAR), bindable, displaybind]
1279     HRESULT clear([retval, out] BSTR *p);
1280
1281     [propput, id(DISPID_IHTMLRULESTYLE_DISPLAY), bindable, displaybind]
1282     HRESULT display([in] BSTR v);
1283
1284     [propget, id(DISPID_IHTMLRULESTYLE_DISPLAY), bindable, displaybind]
1285     HRESULT display([retval, out] BSTR *p);
1286
1287     [propput, id(DISPID_IHTMLRULESTYLE_VISIBILITY), bindable, displaybind]
1288     HRESULT visibility([in] BSTR v);
1289
1290     [propget, id(DISPID_IHTMLRULESTYLE_VISIBILITY), bindable, displaybind]
1291     HRESULT visibility([retval, out] BSTR *p);
1292
1293     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLETYPE), bindable, displaybind]
1294     HRESULT listStyleType([in] BSTR v);
1295
1296     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLETYPE), bindable, displaybind]
1297     HRESULT listStyleType([retval, out] BSTR *p);
1298
1299     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLEPOSITION), bindable, displaybind]
1300     HRESULT listStylePosition([in] BSTR v);
1301
1302     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLEPOSITION), bindable, displaybind]
1303     HRESULT listStylePosition([retval, out] BSTR *p);
1304
1305     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLEIMAGE), bindable, displaybind]
1306     HRESULT listStyleImage([in] BSTR v);
1307
1308     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLEIMAGE), bindable, displaybind]
1309     HRESULT listStyleImage([retval, out] BSTR *p);
1310
1311     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLE), bindable, displaybind]
1312     HRESULT listStyle([in] BSTR v);
1313
1314     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLE), bindable, displaybind]
1315     HRESULT listStyle([retval, out] BSTR *p);
1316
1317     [propput, id(DISPID_IHTMLRULESTYLE_WHITESPACE), bindable, displaybind]
1318     HRESULT whiteSpace([in] BSTR v);
1319
1320     [propget, id(DISPID_IHTMLRULESTYLE_WHITESPACE), bindable, displaybind]
1321     HRESULT whiteSpace([retval, out] BSTR *p);
1322
1323     [propput, id(DISPID_IHTMLRULESTYLE_TOP), bindable, displaybind]
1324     HRESULT top([in] VARIANT v);
1325
1326     [propget, id(DISPID_IHTMLRULESTYLE_TOP), bindable, displaybind]
1327     HRESULT top([retval, out] VARIANT *p);
1328
1329     [propput, id(DISPID_IHTMLRULESTYLE_LEFT), bindable, displaybind]
1330     HRESULT left([in] VARIANT v);
1331
1332     [propget, id(DISPID_IHTMLRULESTYLE_LEFT), bindable, displaybind]
1333     HRESULT left([retval, out] VARIANT *p);
1334
1335     [propget, id(DISPID_IHTMLRULESTYLE_POSITION), bindable, displaybind]
1336     HRESULT position([retval, out] BSTR *p);
1337
1338     [propput, id(DISPID_IHTMLRULESTYLE_ZINDEX), bindable, displaybind]
1339     HRESULT zIndex([in] VARIANT v);
1340
1341     [propget, id(DISPID_IHTMLRULESTYLE_ZINDEX), bindable, displaybind]
1342     HRESULT zIndex([retval, out] VARIANT *p);
1343
1344     [propput, id(DISPID_IHTMLRULESTYLE_OVERFLOW), bindable, displaybind]
1345     HRESULT overflow([in] BSTR v);
1346
1347     [propget, id(DISPID_IHTMLRULESTYLE_OVERFLOW), bindable, displaybind]
1348     HRESULT overflow([retval, out] BSTR *p);
1349
1350     [propput, id(DISPID_IHTMLRULESTYLE_PAGEBREAKBEFORE), bindable, displaybind]
1351     HRESULT pageBreakBefore([in] BSTR v);
1352
1353     [propget, id(DISPID_IHTMLRULESTYLE_PAGEBREAKBEFORE), bindable, displaybind]
1354     HRESULT pageBreakBefore([retval, out] BSTR *p);
1355
1356     [propput, id(DISPID_IHTMLRULESTYLE_PAGEBREAKAFTER), bindable, displaybind]
1357     HRESULT pageBreakAfter([in] BSTR v);
1358
1359     [propget, id(DISPID_IHTMLRULESTYLE_PAGEBREAKAFTER), bindable, displaybind]
1360     HRESULT pageBreakAfter([retval, out] BSTR *p);
1361
1362     [propput, id(DISPID_IHTMLRULESTYLE_CSSTEXT), bindable, displaybind]
1363     HRESULT cssText([in] BSTR v);
1364
1365     [propget, id(DISPID_IHTMLRULESTYLE_CSSTEXT), bindable, displaybind]
1366     HRESULT cssText([retval, out] BSTR *p);
1367
1368     [propput, id(DISPID_IHTMLRULESTYLE_CURSOR), bindable, displaybind]
1369     HRESULT cursor([in] BSTR v);
1370
1371     [propget, id(DISPID_IHTMLRULESTYLE_CURSOR), bindable, displaybind]
1372     HRESULT cursor([retval, out] BSTR *p);
1373
1374     [propput, id(DISPID_IHTMLRULESTYLE_CLIP), bindable, displaybind]
1375     HRESULT clip([in] BSTR v);
1376
1377     [propget, id(DISPID_IHTMLRULESTYLE_CLIP), bindable, displaybind]
1378     HRESULT clip([retval, out] BSTR *p);
1379
1380     [propput, id(DISPID_IHTMLRULESTYLE_FILTER), bindable, displaybind]
1381     HRESULT filter([in] BSTR v);
1382
1383     [propget, id(DISPID_IHTMLRULESTYLE_FILTER), bindable, displaybind]
1384     HRESULT filter([retval, out] BSTR *p);
1385
1386     [id(DISPID_IHTMLRULESTYLE_SETATTRIBUTE)]
1387     HRESULT setAttribute(
1388         [in] BSTR strAttributeName,
1389         [in] VARIANT AttributeValue,
1390         [defaultvalue(1), in] LONG lFlags);
1391
1392     [id(DISPID_IHTMLRULESTYLE_GETATTRIBUTE)]
1393     HRESULT getAttribute(
1394         [in] BSTR strAttributeName,
1395         [defaultvalue(0), in] LONG lFlags,
1396         [retval, out] VARIANT *AttributeValue);
1397
1398     [id(DISPID_IHTMLRULESTYLE_REMOVEATTRIBUTE)]
1399     HRESULT removeAttribute(
1400         [in] BSTR strAttributeName,
1401         [defaultvalue(1), in] LONG lFlags,
1402         [retval, out] VARIANT_BOOL *pfSuccess);
1403 }
1404
1405 /*****************************************************************************
1406  *    DispHTMLStyle dispinterface
1407  */
1408 [
1409     hidden,
1410     uuid(3050f55a-98b5-11cf-bb82-00aa00bdce0b)
1411 ]
1412 dispinterface DispHTMLStyle
1413 {
1414 properties:
1415 methods:
1416     [propput, id(DISPID_IHTMLSTYLE_FONTFAMILY), displaybind, bindable]
1417     void fontFamily(BSTR v);
1418
1419     [propget, id(DISPID_IHTMLSTYLE_FONTFAMILY), displaybind, bindable]
1420     BSTR fontFamily();
1421
1422     [propput, id(DISPID_IHTMLSTYLE_FONTSTYLE), displaybind, bindable]
1423     void fontStyle(BSTR v);
1424
1425     [propget, id(DISPID_IHTMLSTYLE_FONTSTYLE), displaybind, bindable]
1426     BSTR fontStyle();
1427
1428     [propput, id(DISPID_IHTMLSTYLE_FONTVARIANT), displaybind, bindable]
1429     void fontVariant(BSTR v);
1430
1431     [propget, id(DISPID_IHTMLSTYLE_FONTVARIANT), displaybind, bindable]
1432     BSTR fontVariant();
1433
1434     [propput, id(DISPID_IHTMLSTYLE_FONTWEIGHT), displaybind, bindable]
1435     void fontWeight(BSTR v);
1436
1437     [propget, id(DISPID_IHTMLSTYLE_FONTWEIGHT), displaybind, bindable]
1438     BSTR fontWeight();
1439
1440     [propput, id(DISPID_IHTMLSTYLE_FONTSIZE), displaybind, bindable]
1441     void fontSize(VARIANT v);
1442
1443     [propget, id(DISPID_IHTMLSTYLE_FONTSIZE), displaybind, bindable]
1444     VARIANT fontSize();
1445
1446     [propput, id(DISPID_IHTMLSTYLE_FONT), displaybind, bindable, nonbrowsable]
1447     void font(BSTR v);
1448
1449     [propget, id(DISPID_IHTMLSTYLE_FONT), displaybind, bindable, nonbrowsable]
1450     BSTR font();
1451
1452     [propput, id(DISPID_IHTMLSTYLE_COLOR), displaybind, bindable]
1453     void color(VARIANT v);
1454
1455     [propget, id(DISPID_IHTMLSTYLE_COLOR), displaybind, bindable]
1456     VARIANT color();
1457
1458     [propput, id(DISPID_IHTMLSTYLE_BACKGROUND), displaybind, bindable, nonbrowsable]
1459     void background(BSTR v);
1460
1461     [propget, id(DISPID_IHTMLSTYLE_BACKGROUND), displaybind, bindable, nonbrowsable]
1462     BSTR background();
1463
1464     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
1465     void backgroundColor(VARIANT v);
1466
1467     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
1468     VARIANT backgroundColor();
1469
1470     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
1471     void backgroundImage(BSTR v);
1472
1473     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
1474     BSTR backgroundImage();
1475
1476     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
1477     void backgroundRepeat(BSTR v);
1478
1479     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
1480     BSTR backgroundRepeat();
1481
1482     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
1483     void backgroundAttachment(BSTR v);
1484
1485     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
1486     BSTR backgroundAttachment();
1487
1488     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), displaybind, bindable, nonbrowsable]
1489     void backgroundPosition(BSTR v);
1490
1491     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), displaybind, bindable, nonbrowsable]
1492     BSTR backgroundPosition();
1493
1494     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
1495     void backgroundPositionX(VARIANT v);
1496
1497     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
1498     VARIANT backgroundPositionX();
1499
1500     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
1501     void backgroundPositionY(VARIANT v);
1502
1503     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
1504     VARIANT backgroundPositionY();
1505
1506     [propput, id(DISPID_IHTMLSTYLE_WORDSPACING), displaybind, bindable]
1507     void wordSpacing(VARIANT v);
1508
1509     [propget, id(DISPID_IHTMLSTYLE_WORDSPACING), displaybind, bindable]
1510     VARIANT wordSpacing();
1511
1512     [propput, id(DISPID_IHTMLSTYLE_LETTERSPACING), displaybind, bindable]
1513     void letterSpacing(VARIANT v);
1514
1515     [propget, id(DISPID_IHTMLSTYLE_LETTERSPACING), displaybind, bindable]
1516     VARIANT letterSpacing();
1517
1518     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATION), displaybind, bindable]
1519     void textDecoration(BSTR v);
1520
1521     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATION), displaybind, bindable]
1522     BSTR textDecoration();
1523
1524     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), displaybind, bindable]
1525     void textDecorationNone(VARIANT_BOOL v);
1526
1527     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), displaybind, bindable]
1528     VARIANT_BOOL textDecorationNone();
1529
1530     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), displaybind, bindable]
1531     void textDecorationUnderline(VARIANT_BOOL v);
1532
1533     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), displaybind, bindable]
1534     VARIANT_BOOL textDecorationUnderline();
1535
1536     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), displaybind, bindable]
1537     void textDecorationOverline(VARIANT_BOOL v);
1538
1539     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), displaybind, bindable]
1540     VARIANT_BOOL textDecorationOverline();
1541
1542     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), displaybind, bindable]
1543     void textDecorationLineThrough(VARIANT_BOOL v);
1544
1545     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), displaybind, bindable]
1546     VARIANT_BOOL textDecorationLineThrough();
1547
1548     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), displaybind, bindable]
1549     void textDecorationBlink(VARIANT_BOOL v);
1550
1551     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), displaybind, bindable]
1552     VARIANT_BOOL textDecorationBlink();
1553
1554     [propput, id(DISPID_IHTMLSTYLE_VERTICALALIGN), displaybind, bindable]
1555     void verticalAlign(VARIANT v);
1556
1557     [propget, id(DISPID_IHTMLSTYLE_VERTICALALIGN), displaybind, bindable]
1558     VARIANT verticalAlign();
1559
1560     [propput, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), displaybind, bindable]
1561     void textTransform(BSTR v);
1562
1563     [propget, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), displaybind, bindable]
1564     BSTR textTransform();
1565
1566     [propput, id(DISPID_IHTMLSTYLE_TEXTALIGN), displaybind, bindable]
1567     void textAlign(BSTR v);
1568
1569     [propget, id(DISPID_IHTMLSTYLE_TEXTALIGN), displaybind, bindable]
1570     BSTR textAlign();
1571
1572     [propput, id(DISPID_IHTMLSTYLE_TEXTINDENT), displaybind, bindable]
1573     void textIndent(VARIANT v);
1574
1575     [propget, id(DISPID_IHTMLSTYLE_TEXTINDENT), displaybind, bindable]
1576     VARIANT textIndent();
1577
1578     [propput, id(DISPID_IHTMLSTYLE_LINEHEIGHT), displaybind, bindable]
1579     void lineHeight(VARIANT v);
1580
1581     [propget, id(DISPID_IHTMLSTYLE_LINEHEIGHT), displaybind, bindable]
1582     VARIANT lineHeight();
1583
1584     [propput, id(DISPID_IHTMLSTYLE_MARGINTOP), displaybind, bindable]
1585     void marginTop(VARIANT v);
1586
1587     [propget, id(DISPID_IHTMLSTYLE_MARGINTOP), displaybind, bindable]
1588     VARIANT marginTop();
1589
1590     [propput, id(DISPID_IHTMLSTYLE_MARGINRIGHT), displaybind, bindable]
1591     void marginRight(VARIANT v);
1592
1593     [propget, id(DISPID_IHTMLSTYLE_MARGINRIGHT), displaybind, bindable]
1594     VARIANT marginRight();
1595
1596     [propput, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), displaybind, bindable]
1597     void marginBottom(VARIANT v);
1598
1599     [propget, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), displaybind, bindable]
1600     VARIANT marginBottom();
1601
1602     [propput, id(DISPID_IHTMLSTYLE_MARGINLEFT), displaybind, bindable]
1603     void marginLeft(VARIANT v);
1604
1605     [propget, id(DISPID_IHTMLSTYLE_MARGINLEFT), displaybind, bindable]
1606     VARIANT marginLeft();
1607
1608     [propput, id(DISPID_IHTMLSTYLE_MARGIN), displaybind, bindable, nonbrowsable]
1609     void margin(BSTR v);
1610
1611     [propget, id(DISPID_IHTMLSTYLE_MARGIN), displaybind, bindable, nonbrowsable]
1612     BSTR margin();
1613
1614     [propput, id(DISPID_IHTMLSTYLE_PADDINGTOP), displaybind, bindable]
1615     void paddingTop(VARIANT v);
1616
1617     [propget, id(DISPID_IHTMLSTYLE_PADDINGTOP), displaybind, bindable]
1618     VARIANT paddingTop();
1619
1620     [propput, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), displaybind, bindable]
1621     void paddingRight(VARIANT v);
1622
1623     [propget, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), displaybind, bindable]
1624     VARIANT paddingRight();
1625
1626     [propput, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), displaybind, bindable]
1627     void paddingBottom(VARIANT v);
1628
1629     [propget, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), displaybind, bindable]
1630     VARIANT paddingBottom();
1631
1632     [propput, id(DISPID_IHTMLSTYLE_PADDINGLEFT), displaybind, bindable]
1633     void paddingLeft(VARIANT v);
1634
1635     [propget, id(DISPID_IHTMLSTYLE_PADDINGLEFT), displaybind, bindable]
1636     VARIANT paddingLeft();
1637
1638     [propput, id(DISPID_IHTMLSTYLE_PADDING), displaybind, bindable, nonbrowsable]
1639     void padding(BSTR v);
1640
1641     [propget, id(DISPID_IHTMLSTYLE_PADDING), displaybind, bindable, nonbrowsable]
1642     BSTR padding();
1643
1644     [propput, id(DISPID_IHTMLSTYLE_BORDER), displaybind, bindable, nonbrowsable]
1645     void border(BSTR v);
1646
1647     [propget, id(DISPID_IHTMLSTYLE_BORDER), displaybind, bindable, nonbrowsable]
1648     BSTR border();
1649
1650     [propput, id(DISPID_IHTMLSTYLE_BORDERTOP), displaybind, bindable]
1651     void borderTop(BSTR v);
1652
1653     [propget, id(DISPID_IHTMLSTYLE_BORDERTOP), displaybind, bindable]
1654     BSTR borderTop();
1655
1656     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHT), displaybind, bindable]
1657     void borderRight(BSTR v);
1658
1659     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHT), displaybind, bindable]
1660     BSTR borderRight();
1661
1662     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), displaybind, bindable]
1663     void borderBottom(BSTR v);
1664
1665     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), displaybind, bindable]
1666     BSTR borderBottom();
1667
1668     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFT), displaybind, bindable]
1669     void borderLeft(BSTR v);
1670
1671     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFT), displaybind, bindable]
1672     BSTR borderLeft();
1673
1674     [propput, id(DISPID_IHTMLSTYLE_BORDERCOLOR), displaybind, bindable]
1675     void borderColor(BSTR v);
1676
1677     [propget, id(DISPID_IHTMLSTYLE_BORDERCOLOR), displaybind, bindable]
1678     BSTR borderColor();
1679
1680     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), displaybind, bindable]
1681     void borderTopColor(VARIANT v);
1682
1683     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), displaybind, bindable]
1684     VARIANT borderTopColor();
1685
1686     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
1687     void borderRightColor(VARIANT v);
1688
1689     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
1690     VARIANT borderRightColor();
1691
1692     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
1693     void borderBottomColor(VARIANT v);
1694
1695     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
1696     VARIANT borderBottomColor();
1697
1698     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
1699     void borderLeftColor(VARIANT v);
1700
1701     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
1702     VARIANT borderLeftColor();
1703
1704     [propput, id(DISPID_IHTMLSTYLE_BORDERWIDTH), displaybind, bindable]
1705     void borderWidth(BSTR v);
1706
1707     [propget, id(DISPID_IHTMLSTYLE_BORDERWIDTH), displaybind, bindable]
1708     BSTR borderWidth();
1709
1710     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), displaybind, bindable]
1711     void borderTopWidth(VARIANT v);
1712
1713     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), displaybind, bindable]
1714     VARIANT borderTopWidth();
1715
1716     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
1717     void borderRightWidth(VARIANT v);
1718
1719     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
1720     VARIANT borderRightWidth();
1721
1722     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
1723     void borderBottomWidth(VARIANT v);
1724
1725     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
1726     VARIANT borderBottomWidth();
1727
1728     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
1729     void borderLeftWidth(VARIANT v);
1730
1731     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
1732     VARIANT borderLeftWidth();
1733
1734     [propput, id(DISPID_IHTMLSTYLE_BORDERSTYLE), displaybind, bindable]
1735     void borderStyle(BSTR v);
1736
1737     [propget, id(DISPID_IHTMLSTYLE_BORDERSTYLE), displaybind, bindable]
1738     BSTR borderStyle();
1739
1740     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), displaybind, bindable]
1741     void borderTopStyle(BSTR v);
1742
1743     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), displaybind, bindable]
1744     BSTR borderTopStyle();
1745
1746     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
1747     void borderRightStyle(BSTR v);
1748
1749     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
1750     BSTR borderRightStyle();
1751
1752     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
1753     void borderBottomStyle(BSTR v);
1754
1755     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
1756     BSTR borderBottomStyle();
1757
1758     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
1759     void borderLeftStyle(BSTR v);
1760
1761     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
1762     BSTR borderLeftStyle();
1763
1764     [propput, id(DISPID_IHTMLSTYLE_WIDTH), displaybind, bindable]
1765     void width(VARIANT v);
1766
1767     [propget, id(DISPID_IHTMLSTYLE_WIDTH), displaybind, bindable]
1768     VARIANT width();
1769
1770     [propput, id(DISPID_IHTMLSTYLE_HEIGHT), displaybind, bindable]
1771     void height(VARIANT v);
1772
1773     [propget, id(DISPID_IHTMLSTYLE_HEIGHT), displaybind, bindable]
1774     VARIANT height();
1775
1776     [propput, id(DISPID_IHTMLSTYLE_STYLEFLOAT), displaybind, bindable]
1777     void styleFloat(BSTR v);
1778
1779     [propget, id(DISPID_IHTMLSTYLE_STYLEFLOAT), displaybind, bindable]
1780     BSTR styleFloat();
1781
1782     [propput, id(DISPID_IHTMLSTYLE_CLEAR), displaybind, bindable]
1783     void clear(BSTR v);
1784
1785     [propget, id(DISPID_IHTMLSTYLE_CLEAR), displaybind, bindable]
1786     BSTR clear();
1787
1788     [propput, id(DISPID_IHTMLSTYLE_DISPLAY), displaybind, bindable]
1789     void display(BSTR v);
1790
1791     [propget, id(DISPID_IHTMLSTYLE_DISPLAY), displaybind, bindable]
1792     BSTR display();
1793
1794     [propput, id(DISPID_IHTMLSTYLE_VISIBILITY), displaybind, bindable]
1795     void visibility(BSTR v);
1796
1797     [propget, id(DISPID_IHTMLSTYLE_VISIBILITY), displaybind, bindable]
1798     BSTR visibility();
1799
1800     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), displaybind, bindable]
1801     void listStyleType(BSTR v);
1802
1803     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), displaybind, bindable]
1804     BSTR listStyleType();
1805
1806     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
1807     void listStylePosition(BSTR v);
1808
1809     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
1810     BSTR listStylePosition();
1811
1812     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
1813     void listStyleImage(BSTR v);
1814
1815     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
1816     BSTR listStyleImage();
1817
1818     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLE), displaybind, bindable, nonbrowsable]
1819     void listStyle(BSTR v);
1820
1821     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLE), displaybind, bindable, nonbrowsable]
1822     BSTR listStyle();
1823
1824     [propput, id(DISPID_IHTMLSTYLE_WHITESPACE), displaybind, bindable]
1825     void whiteSpace(BSTR v);
1826
1827     [propget, id(DISPID_IHTMLSTYLE_WHITESPACE), displaybind, bindable]
1828     BSTR whiteSpace();
1829
1830     [propput, id(DISPID_IHTMLSTYLE_TOP), displaybind, bindable]
1831     void top(VARIANT v);
1832
1833     [propget, id(DISPID_IHTMLSTYLE_TOP), displaybind, bindable]
1834     VARIANT top();
1835
1836     [propput, id(DISPID_IHTMLSTYLE_LEFT), displaybind, bindable]
1837     void left(VARIANT v);
1838
1839     [propget, id(DISPID_IHTMLSTYLE_LEFT), displaybind, bindable]
1840     VARIANT left();
1841
1842     [propput, id(DISPID_IHTMLSTYLE_ZINDEX), displaybind, bindable]
1843     void zIndex(VARIANT v);
1844
1845     [propget, id(DISPID_IHTMLSTYLE_ZINDEX), displaybind, bindable]
1846     VARIANT zIndex();
1847
1848     [propput, id(DISPID_IHTMLSTYLE_OVERFLOW), displaybind, bindable]
1849     void overflow(BSTR v);
1850
1851     [propget, id(DISPID_IHTMLSTYLE_OVERFLOW), displaybind, bindable]
1852     BSTR overflow();
1853
1854     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
1855     void pageBreakBefore(BSTR v);
1856
1857     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
1858     BSTR pageBreakBefore();
1859
1860     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), displaybind, bindable]
1861     void pageBreakAfter(BSTR v);
1862
1863     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), displaybind, bindable]
1864     BSTR pageBreakAfter();
1865
1866     [propput, id(DISPID_IHTMLSTYLE_CSSTEXT), displaybind, bindable, nonbrowsable]
1867     void cssText(BSTR v);
1868
1869     [propget, id(DISPID_IHTMLSTYLE_CSSTEXT), displaybind, bindable, nonbrowsable]
1870     BSTR cssText();
1871
1872     [propput, id(DISPID_IHTMLSTYLE_PIXELTOP), displaybind, bindable, hidden]
1873     void pixelTop(LONG v);
1874
1875     [propget, id(DISPID_IHTMLSTYLE_PIXELTOP), displaybind, bindable, hidden]
1876     LONG pixelTop();
1877
1878     [propput, id(DISPID_IHTMLSTYLE_PIXELLEFT), displaybind, bindable, hidden]
1879     void pixelLeft(LONG v);
1880
1881     [propget, id(DISPID_IHTMLSTYLE_PIXELLEFT), displaybind, bindable, hidden]
1882     LONG pixelLeft();
1883
1884     [propput, id(DISPID_IHTMLSTYLE_PIXELWIDTH), displaybind, bindable, hidden]
1885     void pixelWidth(LONG v);
1886
1887     [propget, id(DISPID_IHTMLSTYLE_PIXELWIDTH), displaybind, bindable, hidden]
1888     LONG pixelWidth();
1889
1890     [propput, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), displaybind, bindable, hidden]
1891     void pixelHeight(LONG v);
1892
1893     [propget, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), displaybind, bindable, hidden]
1894     LONG pixelHeight();
1895
1896     [propput, id(DISPID_IHTMLSTYLE_POSTOP), displaybind, bindable]
1897     void posTop(float v);
1898
1899     [propget, id(DISPID_IHTMLSTYLE_POSTOP), displaybind, bindable]
1900     float posTop();
1901
1902     [propput, id(DISPID_IHTMLSTYLE_POSLEFT), displaybind, bindable]
1903     void posLeft(float v);
1904
1905     [propget, id(DISPID_IHTMLSTYLE_POSLEFT), displaybind, bindable]
1906     float posLeft();
1907
1908     [propput, id(DISPID_IHTMLSTYLE_POSWIDTH), displaybind, bindable]
1909     void posWidth(float v);
1910
1911     [propget, id(DISPID_IHTMLSTYLE_POSWIDTH), displaybind, bindable]
1912     float posWidth();
1913
1914     [propput, id(DISPID_IHTMLSTYLE_POSHEIGHT), displaybind, bindable]
1915     void posHeight(float v);
1916
1917     [propget, id(DISPID_IHTMLSTYLE_POSHEIGHT), displaybind, bindable]
1918     float posHeight();
1919
1920     [propput, id(DISPID_IHTMLSTYLE_CURSOR), displaybind, bindable]
1921     void cursor(BSTR v);
1922
1923     [propget, id(DISPID_IHTMLSTYLE_CURSOR), displaybind, bindable]
1924     BSTR cursor();
1925
1926     [propput, id(DISPID_IHTMLSTYLE_CLIP), displaybind, bindable]
1927     void clip(BSTR v);
1928
1929     [propget, id(DISPID_IHTMLSTYLE_CLIP), displaybind, bindable]
1930     BSTR clip();
1931
1932     [propput, id(DISPID_IHTMLSTYLE_FILTER), displaybind, bindable]
1933     void filter(BSTR v);
1934
1935     [propget, id(DISPID_IHTMLSTYLE_FILTER), displaybind, bindable]
1936     BSTR filter();
1937
1938     [id(DISPID_IHTMLSTYLE_SETATTRIBUTE)]
1939     void setAttribute(
1940             [in] BSTR strAttributeName,
1941             [in] VARIANT AttributeValue,
1942             [in, defaultvalue(1)] LONG lFlags);
1943
1944     [id(DISPID_IHTMLSTYLE_GETATTRIBUTE)]
1945     VARIANT getAttribute(
1946             [in] BSTR strAttributeName,
1947             [in, defaultvalue(0)] LONG lFlags);
1948
1949     [id(DISPID_IHTMLSTYLE_REMOVEATTRIBUTE)]
1950     VARIANT_BOOL removeAttribute(
1951             [in] BSTR strAttributeName,
1952             [in, defaultvalue(1)] LONG lFlags);
1953
1954     [id(DISPID_IHTMLSTYLE_TOSTRING)]
1955     BSTR toString();
1956
1957     [propput, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable]
1958     void tableLayout(BSTR v);
1959
1960     [propget, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable]
1961     BSTR tableLayout();
1962
1963     [propput, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable]
1964     void borderCollapse(BSTR v);
1965
1966     [propget, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable]
1967     BSTR borderCollapse();
1968
1969     [propput, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable]
1970     void direction(BSTR v);
1971
1972     [propget, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable]
1973     BSTR direction();
1974
1975     [propput, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable]
1976     void behavior(BSTR v);
1977
1978     [propget, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable]
1979     BSTR behavior();
1980
1981     [id(DISPID_IHTMLSTYLE2_SETEXPRESSION)]
1982     void setExpression(
1983             [in] BSTR propname,
1984             [in] BSTR expression,
1985             [in, defaultvalue("")] BSTR language);
1986
1987     [id(DISPID_IHTMLSTYLE2_GETEXPRESSION)]
1988     VARIANT getExpression([in] BSTR propname);
1989
1990     [id(DISPID_IHTMLSTYLE2_REMOVEEXPRESSION)]
1991     VARIANT_BOOL removeExpression([in] BSTR propname);
1992
1993     [propput, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable]
1994     void position(BSTR v);
1995
1996     [propget, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable]
1997     BSTR position();
1998
1999     [propput, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable]
2000     void unicodeBidi(BSTR v);
2001
2002     [propget, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable]
2003     BSTR unicodeBidi();
2004
2005     [propput, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable]
2006     void bottom(VARIANT v);
2007
2008     [propget, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable]
2009     VARIANT bottom();
2010
2011     [propput, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable]
2012     void right(VARIANT v);
2013
2014     [propget, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable]
2015     VARIANT right();
2016
2017     [propput, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden]
2018     void pixelBottom(LONG v);
2019
2020     [propget, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden]
2021     LONG pixelBottom();
2022
2023     [propput, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden]
2024     void pixelRight(LONG v);
2025
2026     [propget, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden]
2027     LONG pixelRight();
2028
2029     [propput, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable]
2030     void posBottom(float v);
2031
2032     [propget, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable]
2033     float posBottom();
2034
2035     [propput, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable]
2036     void posRight(float v);
2037
2038     [propget, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable]
2039     float posRight();
2040
2041     [propput, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable]
2042     void imeMode(BSTR v);
2043
2044     [propget, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable]
2045     BSTR imeMode();
2046
2047     [propput, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable]
2048     void rubyAlign(BSTR v);
2049
2050     [propget, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable]
2051     BSTR rubyAlign();
2052
2053     [propput, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable]
2054     void rubyPosition(BSTR v);
2055
2056     [propget, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable]
2057     BSTR rubyPosition();
2058
2059     [propput, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable]
2060     void rubyOverhang(BSTR v);
2061
2062     [propget, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable]
2063     BSTR rubyOverhang();
2064
2065     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable]
2066     void layoutGridChar(VARIANT v);
2067
2068     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable]
2069     VARIANT layoutGridChar();
2070
2071     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable]
2072     void layoutGridLine(VARIANT v);
2073
2074     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable]
2075     VARIANT layoutGridLine();
2076
2077     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable]
2078     void layoutGridMode(BSTR v);
2079
2080     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable]
2081     BSTR layoutGridMode();
2082
2083     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable]
2084     void layoutGridType(BSTR v);
2085
2086     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable]
2087     BSTR layoutGridType();
2088
2089     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable]
2090     void layoutGrid(BSTR v);
2091
2092     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable]
2093     BSTR layoutGrid();
2094
2095     [propput, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable]
2096     void wordBreak(BSTR v);
2097
2098     [propget, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable]
2099     BSTR wordBreak();
2100
2101     [propput, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable]
2102     void lineBreak(BSTR v);
2103
2104     [propget, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable]
2105     BSTR lineBreak();
2106
2107     [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable]
2108     void textJustify(BSTR v);
2109
2110     [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable]
2111     BSTR textJustify();
2112
2113     [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable]
2114     void textJustifyTrim(BSTR v);
2115
2116     [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable]
2117     BSTR textJustifyTrim();
2118
2119     [propput, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable]
2120     void textKashida(VARIANT v);
2121
2122     [propget, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable]
2123     VARIANT textKashida();
2124
2125     [propput, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable]
2126     void textAutospace(BSTR v);
2127
2128     [propget, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable]
2129     BSTR textAutospace();
2130
2131     [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable]
2132     void overflowX(BSTR v);
2133
2134     [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable]
2135     BSTR overflowX();
2136
2137     [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable]
2138     void overflowY(BSTR v);
2139
2140     [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable]
2141     BSTR overflowY();
2142
2143     [propput, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable]
2144     void accelerator(BSTR v);
2145
2146     [propget, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable]
2147     BSTR accelerator();
2148
2149     [propput, id(DISPID_IHTMLSTYLE3_LAYOUTFLOW), displaybind, bindable]
2150     void layoutFlow(BSTR v);
2151
2152     [propget, id(DISPID_IHTMLSTYLE3_LAYOUTFLOW), displaybind, bindable]
2153     BSTR layoutFlow();
2154
2155     [propput, id(DISPID_IHTMLSTYLE3_ZOOM), displaybind, bindable]
2156     void zoom(VARIANT v);
2157
2158     [propget, id(DISPID_IHTMLSTYLE3_ZOOM), displaybind, bindable]
2159     VARIANT zoom();
2160
2161     [propput, id(DISPID_IHTMLSTYLE3_WORDWRAP), displaybind, bindable]
2162     void wordWrap(BSTR v);
2163
2164     [propget, id(DISPID_IHTMLSTYLE3_WORDWRAP), displaybind, bindable]
2165     BSTR wordWrap();
2166
2167     [propput, id(DISPID_IHTMLSTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable]
2168     void textUnderlinePosition(BSTR v);
2169
2170     [propget, id(DISPID_IHTMLSTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable]
2171     BSTR textUnderlinePosition();
2172
2173     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARBASECOLOR), displaybind, bindable]
2174     void scrollbarBaseColor(VARIANT v);
2175
2176     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARBASECOLOR), displaybind, bindable]
2177     VARIANT scrollbarBaseColor();
2178
2179     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARFACECOLOR), displaybind, bindable]
2180     void scrollbarFaceColor(VARIANT v);
2181
2182     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARFACECOLOR), displaybind, bindable]
2183     VARIANT scrollbarFaceColor();
2184
2185     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
2186     void scrollbar3dLightColor(VARIANT v);
2187
2188     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
2189     VARIANT scrollbar3dLightColor();
2190
2191     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable]
2192     void scrollbarShadowColor(VARIANT v);
2193
2194     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable]
2195     VARIANT scrollbarShadowColor();
2196
2197     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
2198     void scrollbarHighlightColor(VARIANT v);
2199
2200     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
2201     VARIANT scrollbarHighlightColor();
2202
2203     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
2204     void scrollbarDarkShadowColor(VARIANT v);
2205
2206     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
2207     VARIANT scrollbarDarkShadowColor();
2208
2209     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable]
2210     void scrollbarArrowColor(VARIANT v);
2211
2212     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable]
2213     VARIANT scrollbarArrowColor();
2214
2215     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable]
2216     void scrollbarTrackColor(VARIANT v);
2217
2218     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable]
2219     VARIANT scrollbarTrackColor();
2220
2221     [propput, id(DISPID_IHTMLSTYLE3_WRITINGMODE), displaybind, bindable]
2222     void writingMode(BSTR v);
2223
2224     [propget, id(DISPID_IHTMLSTYLE3_WRITINGMODE), displaybind, bindable]
2225     BSTR writingMode();
2226
2227     [propput, id(DISPID_IHTMLSTYLE3_TEXTALIGNLAST), displaybind, bindable]
2228     void textAlignLast(BSTR v);
2229
2230     [propget, id(DISPID_IHTMLSTYLE3_TEXTALIGNLAST), displaybind, bindable]
2231     BSTR textAlignLast();
2232
2233     [propput, id(DISPID_IHTMLSTYLE3_TEXTKASHIDASPACE), displaybind, bindable]
2234     void textKashidaSpace(VARIANT v);
2235
2236     [propget, id(DISPID_IHTMLSTYLE3_TEXTKASHIDASPACE), displaybind, bindable]
2237     VARIANT textKashidaSpace();
2238
2239     [propput, id(DISPID_IHTMLSTYLE4_TEXTOVERFLOW), displaybind, bindable]
2240     void textOverflow(BSTR v);
2241
2242     [propget, id(DISPID_IHTMLSTYLE4_TEXTOVERFLOW), displaybind, bindable]
2243     BSTR textOverflow();
2244
2245     [propput, id(DISPID_IHTMLSTYLE4_MINHEIGHT), displaybind, bindable]
2246     void minHeight(VARIANT v);
2247
2248     [propget, id(DISPID_IHTMLSTYLE4_MINHEIGHT), displaybind, bindable]
2249     VARIANT minHeight();
2250 }
2251
2252 [
2253     odl,
2254     oleautomation,
2255     dual,
2256     uuid(3050f656-98b5-11cf-bb82-00aa00bdce0b)
2257 ]
2258 interface IHTMLStyle3 : IDispatch
2259 {
2260     [propput, id(DISPID_IHTMLSTYLE3_LAYOUTFLOW), displaybind, bindable]
2261     HRESULT layoutFlow([in] BSTR v);
2262
2263     [propget, id(DISPID_IHTMLSTYLE3_LAYOUTFLOW), displaybind, bindable]
2264     HRESULT layoutFlow([retval, out] BSTR * p);
2265
2266     [propput, id(DISPID_IHTMLSTYLE3_ZOOM), displaybind, bindable]
2267     HRESULT zoom([in] VARIANT v);
2268
2269     [propget, id(DISPID_IHTMLSTYLE3_ZOOM), displaybind, bindable]
2270     HRESULT zoom([retval, out] VARIANT * p);
2271
2272     [propput, id(DISPID_IHTMLSTYLE3_WORDWRAP), displaybind, bindable]
2273     HRESULT wordWrap([in] BSTR v);
2274
2275     [propget, id(DISPID_IHTMLSTYLE3_WORDWRAP), displaybind, bindable]
2276     HRESULT wordWrap([retval, out] BSTR * p);
2277
2278     [propput, id(DISPID_IHTMLSTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable]
2279     HRESULT textUnderlinePosition([in] BSTR v);
2280
2281     [propget, id(DISPID_IHTMLSTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable]
2282     HRESULT textUnderlinePosition([retval, out] BSTR * p);
2283
2284     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARBASECOLOR), displaybind, bindable]
2285     HRESULT scrollbarBaseColor([in] VARIANT v);
2286
2287     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARBASECOLOR), displaybind, bindable]
2288     HRESULT scrollbarBaseColor([retval, out] VARIANT * p);
2289
2290     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARFACECOLOR), displaybind, bindable]
2291     HRESULT scrollbarFaceColor([in] VARIANT v);
2292
2293     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARFACECOLOR), displaybind, bindable]
2294     HRESULT scrollbarFaceColor([retval, out] VARIANT * p);
2295
2296     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
2297     HRESULT scrollbar3dLightColor([in] VARIANT v);
2298
2299     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
2300     HRESULT scrollbar3dLightColor([retval, out] VARIANT * p);
2301
2302     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable]
2303     HRESULT scrollbarShadowColor([in] VARIANT v);
2304
2305     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable]
2306     HRESULT scrollbarShadowColor([retval, out] VARIANT * p);
2307
2308     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
2309     HRESULT scrollbarHighlightColor([in] VARIANT v);
2310
2311     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
2312     HRESULT scrollbarHighlightColor([retval, out] VARIANT * p);
2313
2314     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
2315     HRESULT scrollbarDarkShadowColor([in] VARIANT v);
2316
2317     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
2318     HRESULT scrollbarDarkShadowColor([retval, out] VARIANT * p);
2319
2320     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable]
2321     HRESULT scrollbarArrowColor([in] VARIANT v);
2322
2323     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable]
2324     HRESULT scrollbarArrowColor([retval, out] VARIANT * p);
2325
2326     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable]
2327     HRESULT scrollbarTrackColor([in] VARIANT v);
2328
2329     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable]
2330     HRESULT scrollbarTrackColor([retval, out] VARIANT * p);
2331
2332     [propput, id(DISPID_IHTMLSTYLE3_WRITINGMODE), displaybind, bindable]
2333     HRESULT writingMode([in] BSTR v);
2334
2335     [propget, id(DISPID_IHTMLSTYLE3_WRITINGMODE), displaybind, bindable]
2336     HRESULT writingMode([retval, out] BSTR * p);
2337
2338     [propput, id(DISPID_IHTMLSTYLE3_TEXTALIGNLAST), displaybind, bindable]
2339     HRESULT textAlignLast([in] BSTR v);
2340
2341     [propget, id(DISPID_IHTMLSTYLE3_TEXTALIGNLAST), displaybind, bindable]
2342     HRESULT textAlignLast([retval, out] BSTR * p);
2343
2344     [propput, id(DISPID_IHTMLSTYLE3_TEXTKASHIDASPACE), displaybind, bindable]
2345     HRESULT textKashidaSpace([in] VARIANT v);
2346
2347     [propget, id(DISPID_IHTMLSTYLE3_TEXTKASHIDASPACE), displaybind, bindable]
2348     HRESULT textKashidaSpace([retval, out] VARIANT * p);
2349 }
2350
2351 /*****************************************************************************
2352  *    IHTMLSytyle4 interface
2353  */
2354 [
2355     odl,
2356     oleautomation,
2357     dual,
2358     uuid(3050f816-98b5-11cf-bb82-00aa00bdce0b)
2359 ]
2360 interface IHTMLStyle4 : IDispatch
2361 {
2362     [propput, id(DISPID_IHTMLSTYLE4_TEXTOVERFLOW), displaybind, bindable]
2363     HRESULT textOverflow([in] BSTR v);
2364
2365     [propget, id(DISPID_IHTMLSTYLE4_TEXTOVERFLOW), displaybind, bindable]
2366     HRESULT textOverflow([retval, out] BSTR * p);
2367
2368     [propput, id(DISPID_IHTMLSTYLE4_MINHEIGHT), displaybind, bindable]
2369     HRESULT minHeight([in] VARIANT v);
2370
2371     [propget, id(DISPID_IHTMLSTYLE4_MINHEIGHT), displaybind, bindable]
2372     HRESULT minHeight([retval, out] VARIANT * p);
2373 }
2374
2375 [
2376     noncreatable,
2377     uuid(3050f285-98b5-11cf-bb82-00aa00bdce0b)
2378 ]
2379 coclass HTMLStyle
2380 {
2381     [default] dispinterface DispHTMLStyle;
2382     interface IHTMLStyle;
2383     interface IHTMLStyle2;
2384     interface IHTMLStyle3;
2385     interface IHTMLStyle4;
2386     /* interface IHTMLStyle5; */
2387 }
2388
2389 /*****************************************************************************
2390  *    IHTMLRenderStyle interface
2391  */
2392 [
2393     odl,
2394     oleautomation,
2395     dual,
2396     uuid(3050f6ae-98b5-11cf-bb82-00aa00bdce0b)
2397 ]
2398 interface IHTMLRenderStyle : IDispatch
2399 {
2400     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTLINETHROUGHSTYLE), displaybind, bindable]
2401     HRESULT textLineThroughStyle([in] BSTR v);
2402
2403     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTLINETHROUGHSTYLE), displaybind, bindable]
2404     HRESULT textLineThroughStyle([retval, out] BSTR *p);
2405
2406     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTUNDERLINESTYLE), displaybind, bindable]
2407     HRESULT textUnderlineStyle([in] BSTR v);
2408
2409     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTUNDERLINESTYLE), displaybind, bindable]
2410     HRESULT textUnderlineStyle([retval, out] BSTR *p);
2411
2412     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTEFFECT), displaybind, bindable]
2413     HRESULT textEffect([in] BSTR v);
2414
2415     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTEFFECT), displaybind, bindable]
2416     HRESULT textEffect([retval, out] BSTR *p);
2417
2418     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTCOLOR), displaybind, bindable]
2419     HRESULT textColor([in] VARIANT v);
2420
2421     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTCOLOR), displaybind, bindable]
2422     HRESULT textColor([retval, out] VARIANT *p);
2423
2424     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTBACKGROUNDCOLOR), displaybind, bindable]
2425     HRESULT textBackgroundColor([in] VARIANT v);
2426
2427     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTBACKGROUNDCOLOR), displaybind, bindable]
2428     HRESULT textBackgroundColor([retval, out] VARIANT *p);
2429
2430     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATIONCOLOR), displaybind, bindable]
2431     HRESULT textDecorationColor([in] VARIANT v);
2432
2433     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATIONCOLOR), displaybind, bindable]
2434     HRESULT textDecorationColor([retval, out] VARIANT *p);
2435
2436     [propput, id(DISPID_IHTMLRENDERSTYLE_RENDERINGPRIORITY), displaybind, bindable]
2437     HRESULT renderingPriority([in] LONG v);
2438
2439     [propget, id(DISPID_IHTMLRENDERSTYLE_RENDERINGPRIORITY), displaybind, bindable]
2440     HRESULT renderingPriority([retval, out] LONG *p);
2441
2442     [propput, id(DISPID_IHTMLRENDERSTYLE_DEFAULTTEXTSELECTION), displaybind, bindable]
2443     HRESULT defaultTextSelection([in] BSTR v);
2444
2445     [propget, id(DISPID_IHTMLRENDERSTYLE_DEFAULTTEXTSELECTION), displaybind, bindable]
2446     HRESULT defaultTextSelection([retval, out] BSTR *p);
2447
2448     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATION), displaybind, bindable]
2449     HRESULT textDecoration([in] BSTR v);
2450
2451     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATION), displaybind, bindable]
2452     HRESULT textDecoration([retval, out] BSTR *p);
2453 }
2454
2455 /*****************************************************************************
2456  *    IHTMLCurrentStyle interface
2457  */
2458 [
2459     odl,
2460     oleautomation,
2461     dual,
2462     uuid(3050f3db-98b5-11cf-bb82-00aa00bdce0b)
2463 ]
2464 interface IHTMLCurrentStyle : IDispatch
2465 {
2466     [propget, id(DISPID_IHTMLCURRENTSTYLE_POSITION), displaybind, bindable]
2467     HRESULT position([retval, out] BSTR *p);
2468
2469     [propget, id(DISPID_IHTMLCURRENTSTYLE_STYLEFLOAT), displaybind, bindable]
2470     HRESULT styleFloat([retval, out] BSTR *p);
2471
2472     [propget, id(DISPID_IHTMLCURRENTSTYLE_COLOR), displaybind, bindable]
2473     HRESULT color([retval, out] VARIANT *p);
2474
2475     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
2476     HRESULT backgroundColor([retval, out] VARIANT *p);
2477
2478     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTFAMILY), displaybind, bindable]
2479     HRESULT fontFamily([retval, out] BSTR *p);
2480
2481     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSTYLE), displaybind, bindable]
2482     HRESULT fontStyle([retval, out] BSTR *p);
2483
2484     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTVARIANT), displaybind, bindable, hidden]
2485     HRESULT fontVariant([retval, out] BSTR *p);
2486
2487     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTWEIGHT), displaybind, bindable]
2488     HRESULT fontWeight([retval, out] VARIANT *p);
2489
2490     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSIZE), displaybind, bindable]
2491     HRESULT fontSize([retval, out] VARIANT *p);
2492
2493     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
2494     HRESULT backgroundImage([retval, out] BSTR *p);
2495
2496     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
2497     HRESULT backgroundPositionX([retval, out] VARIANT *p);
2498
2499     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
2500     HRESULT backgroundPositionY([retval, out] VARIANT *p);
2501
2502     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
2503     HRESULT backgroundRepeat([retval, out] BSTR *p);
2504
2505     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
2506     HRESULT borderLeftColor([retval, out] VARIANT *p);
2507
2508     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPCOLOR), displaybind, bindable]
2509     HRESULT borderTopColor([retval, out] VARIANT *p);
2510
2511     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
2512     HRESULT borderRightColor([retval, out] VARIANT *p);
2513
2514     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
2515     HRESULT borderBottomColor([retval, out] VARIANT *p);
2516
2517     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPSTYLE), displaybind, bindable]
2518     HRESULT borderTopStyle([retval, out] BSTR *p);
2519
2520     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
2521     HRESULT borderRightStyle([retval, out] BSTR *p);
2522
2523     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
2524     HRESULT borderBottomStyle([retval, out] BSTR *p);
2525
2526     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
2527     HRESULT borderLeftStyle([retval, out] BSTR *p);
2528
2529     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPWIDTH), displaybind, bindable]
2530     HRESULT borderTopWidth([retval, out] VARIANT *p);
2531
2532     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
2533     HRESULT borderRightWidth([retval, out] VARIANT *p);
2534
2535     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
2536     HRESULT borderBottomWidth([retval, out] VARIANT *p);
2537
2538     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
2539     HRESULT borderLeftWidth([retval, out] VARIANT *p);
2540
2541     [propget, id(DISPID_IHTMLCURRENTSTYLE_LEFT), displaybind, bindable]
2542     HRESULT left([retval, out] VARIANT *p);
2543
2544     [propget, id(DISPID_IHTMLCURRENTSTYLE_TOP), displaybind, bindable]
2545     HRESULT top([retval, out] VARIANT *p);
2546
2547     [propget, id(DISPID_IHTMLCURRENTSTYLE_WIDTH), displaybind, bindable]
2548     HRESULT width([retval, out] VARIANT *p);
2549
2550     [propget, id(DISPID_IHTMLCURRENTSTYLE_HEIGHT), displaybind, bindable]
2551     HRESULT height([retval, out] VARIANT *p);
2552
2553     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGLEFT), displaybind, bindable]
2554     HRESULT paddingLeft([retval, out] VARIANT *p);
2555
2556     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGTOP), displaybind, bindable]
2557     HRESULT paddingTop([retval, out] VARIANT *p);
2558
2559     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGRIGHT), displaybind, bindable]
2560     HRESULT paddingRight([retval, out] VARIANT *p);
2561
2562     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGBOTTOM), displaybind, bindable]
2563     HRESULT paddingBottom([retval, out] VARIANT *p);
2564
2565     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTALIGN), displaybind, bindable]
2566     HRESULT textAlign([retval, out] BSTR *p);
2567
2568     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTDECORATION), displaybind, bindable]
2569     HRESULT textDecoration([retval, out] BSTR *p);
2570
2571     [propget, id(DISPID_IHTMLCURRENTSTYLE_DISPLAY), displaybind, bindable]
2572     HRESULT display([retval, out] BSTR *p);
2573
2574     [propget, id(DISPID_IHTMLCURRENTSTYLE_VISIBILITY), displaybind, bindable]
2575     HRESULT visibility([retval, out] BSTR *p);
2576
2577     [propget, id(DISPID_IHTMLCURRENTSTYLE_ZINDEX), displaybind, bindable]
2578     HRESULT zIndex([retval, out] VARIANT *p);
2579
2580     [propget, id(DISPID_IHTMLCURRENTSTYLE_LETTERSPACING), displaybind, bindable]
2581     HRESULT letterSpacing([retval, out] VARIANT *p);
2582
2583     [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEHEIGHT), displaybind, bindable]
2584     HRESULT lineHeight([retval, out] VARIANT *p);
2585
2586     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTINDENT), displaybind, bindable]
2587     HRESULT textIndent([retval, out] VARIANT *p);
2588
2589     [propget, id(DISPID_IHTMLCURRENTSTYLE_VERTICALALIGN), displaybind, bindable]
2590     HRESULT verticalAlign([retval, out] VARIANT *p);
2591
2592     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
2593     HRESULT backgroundAttachment([retval, out] BSTR *p);
2594
2595     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINTOP), displaybind, bindable]
2596     HRESULT marginTop([retval, out] VARIANT *p);
2597
2598     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINRIGHT), displaybind, bindable]
2599     HRESULT marginRight([retval, out] VARIANT *p);
2600
2601     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINBOTTOM), displaybind, bindable]
2602     HRESULT marginBottom([retval, out] VARIANT *p);
2603
2604     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINLEFT), displaybind, bindable]
2605     HRESULT marginLeft([retval, out] VARIANT *p);
2606
2607     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLEAR), displaybind, bindable]
2608     HRESULT clear([retval, out] BSTR *p);
2609
2610     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLETYPE), displaybind, bindable]
2611     HRESULT listStyleType([retval, out] BSTR *p);
2612
2613     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
2614     HRESULT listStylePosition([retval, out] BSTR *p);
2615
2616     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
2617     HRESULT listStyleImage([retval, out] BSTR *p);
2618
2619     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPTOP), displaybind, bindable]
2620     HRESULT clipTop([retval, out] VARIANT *p);
2621
2622     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPRIGHT), displaybind, bindable]
2623     HRESULT clipRight([retval, out] VARIANT *p);
2624
2625     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPBOTTOM), displaybind, bindable]
2626     HRESULT clipBottom([retval, out] VARIANT *p);
2627
2628     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPLEFT), displaybind, bindable]
2629     HRESULT clipLeft([retval, out] VARIANT *p);
2630
2631     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOW), displaybind, bindable]
2632     HRESULT overflow([retval, out] BSTR *p);
2633
2634     [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
2635     HRESULT pageBreakBefore([retval, out] BSTR *p);
2636
2637     [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKAFTER), displaybind, bindable]
2638     HRESULT pageBreakAfter([retval, out] BSTR *p);
2639
2640     [propget, id(DISPID_IHTMLCURRENTSTYLE_CURSOR), displaybind, bindable]
2641     HRESULT cursor([retval, out] BSTR *p);
2642
2643     [propget, id(DISPID_IHTMLCURRENTSTYLE_TABLELAYOUT), displaybind, bindable]
2644     HRESULT tableLayout([retval, out] BSTR *p);
2645
2646     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLLAPSE), displaybind, bindable]
2647     HRESULT borderCollapse([retval, out] BSTR *p);
2648
2649     [propget, id(DISPID_IHTMLCURRENTSTYLE_DIRECTION), displaybind, bindable]
2650     HRESULT direction([retval, out] BSTR *p);
2651
2652     [propget, id(DISPID_IHTMLCURRENTSTYLE_BEHAVIOR), displaybind, bindable]
2653     HRESULT behavior([retval, out] BSTR *p);
2654
2655     [id(DISPID_IHTMLCURRENTSTYLE_GETATTRIBUTE)]
2656     HRESULT getAttribute(
2657         [in] BSTR strAttributeName,
2658         [defaultvalue(0), in] LONG lFlags,
2659         [retval, out] VARIANT *AttributeValue);
2660
2661     [propget, id(DISPID_IHTMLCURRENTSTYLE_UNICODEBIDI), displaybind, bindable]
2662     HRESULT unicodeBidi([retval, out] BSTR *p);
2663
2664     [propget, id(DISPID_IHTMLCURRENTSTYLE_RIGHT), displaybind, bindable]
2665     HRESULT right([retval, out] VARIANT *p);
2666
2667     [propget, id(DISPID_IHTMLCURRENTSTYLE_BOTTOM), displaybind, bindable]
2668     HRESULT bottom([retval, out] VARIANT *p);
2669
2670     [propget, id(DISPID_IHTMLCURRENTSTYLE_IMEMODE), displaybind, bindable]
2671     HRESULT imeMode([retval, out] BSTR *p);
2672
2673     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYALIGN), displaybind, bindable]
2674     HRESULT rubyAlign([retval, out] BSTR *p);
2675
2676     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYPOSITION), displaybind, bindable]
2677     HRESULT rubyPosition([retval, out] BSTR *p);
2678
2679     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYOVERHANG), displaybind, bindable]
2680     HRESULT rubyOverhang([retval, out] BSTR *p);
2681
2682     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTAUTOSPACE), displaybind, bindable]
2683     HRESULT textAutospace([retval, out] BSTR *p);
2684
2685     [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEBREAK), displaybind, bindable]
2686     HRESULT lineBreak([retval, out] BSTR *p);
2687
2688     [propget, id(DISPID_IHTMLCURRENTSTYLE_WORDBREAK), displaybind, bindable]
2689     HRESULT wordBreak([retval, out] BSTR *p);
2690
2691     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFY), displaybind, bindable]
2692     HRESULT textJustify([retval, out] BSTR *p);
2693
2694     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFYTRIM), displaybind, bindable]
2695     HRESULT textJustifyTrim([retval, out] BSTR *p);
2696
2697     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTKASHIDA), displaybind, bindable]
2698     HRESULT textKashida([retval, out] VARIANT *p);
2699
2700     [propget, id(DISPID_IHTMLCURRENTSTYLE_BLOCKDIRECTION), displaybind, bindable]
2701     HRESULT blockDirection([retval, out] BSTR *p);
2702
2703     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDCHAR), displaybind, bindable]
2704     HRESULT layoutGridChar([retval, out] VARIANT *p);
2705
2706     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDLINE), displaybind, bindable]
2707     HRESULT layoutGridLine([retval, out] VARIANT *p);
2708
2709     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDMODE), displaybind, bindable]
2710     HRESULT layoutGridMode([retval, out] BSTR *p);
2711
2712     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDTYPE), displaybind, bindable]
2713     HRESULT layoutGridType([retval, out] BSTR *p);
2714
2715     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERSTYLE), displaybind, bindable]
2716     HRESULT borderStyle([retval, out] BSTR *p);
2717
2718     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLOR), displaybind, bindable]
2719     HRESULT borderColor([retval, out] BSTR *p);
2720
2721     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERWIDTH), displaybind, bindable]
2722     HRESULT borderWidth([retval, out] BSTR *p);
2723
2724     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDING), displaybind, bindable]
2725     HRESULT padding([retval, out] BSTR *p);
2726
2727     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGIN), displaybind, bindable]
2728     HRESULT margin([retval, out] BSTR *p);
2729
2730     [propget, id(DISPID_IHTMLCURRENTSTYLE_ACCELERATOR), displaybind, bindable]
2731     HRESULT accelerator([retval, out] BSTR *p);
2732
2733     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWX), displaybind, bindable]
2734     HRESULT overflowX([retval, out] BSTR *p);
2735
2736     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWY), displaybind, bindable]
2737     HRESULT overflowY([retval, out] BSTR *p);
2738
2739     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTTRANSFORM), displaybind, bindable]
2740     HRESULT textTransform([retval, out] BSTR *p);
2741 }
2742
2743 /*****************************************************************************
2744  *    IHTMLCurrentStyle2 interface
2745  */
2746 [
2747     odl,
2748     oleautomation,
2749     dual,
2750     uuid(3050f658-98b5-11cf-bb82-00aa00bdce0b)
2751 ]
2752 interface IHTMLCurrentStyle2 : IDispatch
2753 {
2754     [propget, id(DISPID_IHTMLCURRENTSTYLE2_LAYOUTFLOW), displaybind, bindable]
2755     HRESULT layoutFlow([retval, out] BSTR * p);
2756
2757     [propget, id(DISPID_IHTMLCURRENTSTYLE2_WORDWRAP), displaybind, bindable]
2758     HRESULT wordWrap([retval, out] BSTR * p);
2759
2760     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTUNDERLINEPOSITION), displaybind, bindable]
2761     HRESULT textUnderlinePosition([retval, out] BSTR * p);
2762
2763     [propget, id(DISPID_IHTMLCURRENTSTYLE2_HASLAYOUT), displaybind, bindable]
2764     HRESULT hasLayout([retval, out] VARIANT_BOOL * p);
2765
2766     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARBASECOLOR), displaybind, bindable]
2767     HRESULT scrollbarBaseColor([retval, out] VARIANT * p);
2768
2769     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARFACECOLOR), displaybind, bindable]
2770     HRESULT scrollbarFaceColor([retval, out] VARIANT * p);
2771
2772     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
2773     HRESULT scrollbar3dLightColor([retval, out] VARIANT * p);
2774
2775     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARSHADOWCOLOR), displaybind, bindable]
2776     HRESULT scrollbarShadowColor([retval, out] VARIANT * p);
2777
2778     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
2779     HRESULT scrollbarHighlightColor([retval, out] VARIANT * p);
2780
2781     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
2782     HRESULT scrollbarDarkShadowColor([retval, out] VARIANT * p);
2783
2784     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARARROWCOLOR), displaybind, bindable]
2785     HRESULT scrollbarArrowColor([retval, out] VARIANT * p);
2786
2787     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARTRACKCOLOR), displaybind, bindable]
2788     HRESULT scrollbarTrackColor([retval, out] VARIANT * p);
2789
2790     [propget, id(DISPID_IHTMLCURRENTSTYLE2_WRITINGMODE), displaybind, bindable]
2791     HRESULT writingMode([retval, out] BSTR * p);
2792
2793     [propget, id(DISPID_IHTMLCURRENTSTYLE2_ZOOM), displaybind, bindable]
2794     HRESULT zoom([retval, out] VARIANT * p);
2795
2796     [propget, id(DISPID_IHTMLCURRENTSTYLE2_FILTER), displaybind, bindable]
2797     HRESULT filter([retval, out] BSTR * p);
2798
2799     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTALIGNLAST), displaybind, bindable]
2800     HRESULT textAlignLast([retval, out] BSTR * p);
2801
2802     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTKASHIDASPACE), displaybind, bindable]
2803     HRESULT textKashidaSpace([retval, out] VARIANT * p);
2804
2805     [propget, id(DISPID_IHTMLCURRENTSTYLE2_ISBLOCK), displaybind, bindable, hidden, restricted, nonbrowsable]
2806     HRESULT isBlock([retval, out] VARIANT_BOOL * p);
2807 }
2808
2809 /*****************************************************************************
2810  *    IHTMLCurrentStyle3 interface
2811  */
2812 [
2813     odl,
2814     oleautomation,
2815     dual,
2816     uuid(3050f818-98b5-11cf-bb82-00aa00bdce0b)
2817 ]
2818 interface IHTMLCurrentStyle3 : IDispatch
2819 {
2820     [propget, id(DISPID_IHTMLCURRENTSTYLE3_TEXTOVERFLOW), displaybind, bindable]
2821     HRESULT textOverflow([retval, out] BSTR * p);
2822
2823     [propget, id(DISPID_IHTMLCURRENTSTYLE3_MINHEIGHT), displaybind, bindable]
2824     HRESULT minHeight([retval, out] VARIANT * p);
2825
2826     [propget, id(DISPID_IHTMLCURRENTSTYLE3_WORDSPACING), displaybind, bindable]
2827     HRESULT wordSpacing([retval, out] VARIANT * p);
2828
2829     [propget, id(DISPID_IHTMLCURRENTSTYLE3_WHITESPACE), displaybind, bindable]
2830     HRESULT whiteSpace([retval, out] BSTR * p);
2831 }
2832
2833 /*****************************************************************************
2834  *    IHTMLCurrentStyle4 interface
2835  */
2836 [
2837     odl,
2838     oleautomation,
2839     dual,
2840     uuid(3050f33b-98b5-11cf-bb82-00aa00bdce0b)
2841 ]
2842 interface IHTMLCurrentStyle4 : IDispatch
2843 {
2844     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MSINTERPOLATIONMODE), displaybind, bindable]
2845     HRESULT msInterpolationMode([retval, out] BSTR * p);
2846
2847     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MAXHEIGHT), displaybind, bindable]
2848     HRESULT maxHeight([retval, out] VARIANT * p);
2849
2850     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MINWIDTH), displaybind, bindable]
2851     HRESULT minWidth([retval, out] VARIANT * p);
2852
2853     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MAXWIDTH), displaybind, bindable]
2854     HRESULT maxWidth([retval, out] VARIANT * p);
2855 };
2856
2857 /*****************************************************************************
2858  *    DispHTMLCurrentStyle dispinterface
2859  */
2860 [
2861     hidden,
2862     uuid(3050f557-98b5-11cf-bb82-00aa00bdce0b)
2863 ]
2864 dispinterface DispHTMLCurrentStyle
2865 {
2866 properties:
2867 methods:
2868     [propget, id(DISPID_IHTMLCURRENTSTYLE_POSITION), displaybind, bindable]
2869     BSTR position();
2870
2871     [propget, id(DISPID_IHTMLCURRENTSTYLE_STYLEFLOAT), displaybind, bindable]
2872     BSTR styleFloat();
2873
2874     [propget, id(DISPID_IHTMLCURRENTSTYLE_COLOR), displaybind, bindable]
2875     VARIANT color();
2876
2877     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
2878     VARIANT backgroundColor();
2879
2880     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTFAMILY), displaybind, bindable]
2881     BSTR fontFamily();
2882
2883     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSTYLE), displaybind, bindable]
2884     BSTR fontStyle();
2885
2886     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTVARIANT), displaybind, bindable, hidden]
2887     BSTR fontVariant();
2888
2889     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTWEIGHT), displaybind, bindable]
2890     VARIANT fontWeight();
2891
2892     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSIZE), displaybind, bindable]
2893     VARIANT fontSize();
2894
2895     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
2896     BSTR backgroundImage();
2897
2898     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
2899     VARIANT backgroundPositionX();
2900
2901     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
2902     VARIANT backgroundPositionY();
2903
2904     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
2905     BSTR backgroundRepeat();
2906
2907     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
2908     VARIANT borderLeftColor();
2909
2910     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPCOLOR), displaybind, bindable]
2911     VARIANT borderTopColor();
2912
2913     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
2914     VARIANT borderRightColor();
2915
2916     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
2917     VARIANT borderBottomColor();
2918
2919     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPSTYLE), displaybind, bindable]
2920     BSTR borderTopStyle();
2921
2922     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
2923     BSTR borderRightStyle();
2924
2925     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
2926     BSTR borderBottomStyle();
2927
2928     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
2929     BSTR borderLeftStyle();
2930
2931     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPWIDTH), displaybind, bindable]
2932     VARIANT borderTopWidth();
2933
2934     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
2935     VARIANT borderRightWidth();
2936
2937     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
2938     VARIANT borderBottomWidth();
2939
2940     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
2941     VARIANT borderLeftWidth();
2942
2943     [propget, id(DISPID_IHTMLCURRENTSTYLE_LEFT), displaybind, bindable]
2944     VARIANT left();
2945
2946     [propget, id(DISPID_IHTMLCURRENTSTYLE_TOP), displaybind, bindable]
2947     VARIANT top();
2948
2949     [propget, id(DISPID_IHTMLCURRENTSTYLE_WIDTH), displaybind, bindable]
2950     VARIANT width();
2951
2952     [propget, id(DISPID_IHTMLCURRENTSTYLE_HEIGHT), displaybind, bindable]
2953     VARIANT height();
2954
2955     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGLEFT), displaybind, bindable]
2956     VARIANT paddingLeft();
2957
2958     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGTOP), displaybind, bindable]
2959     VARIANT paddingTop();
2960
2961     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGRIGHT), displaybind, bindable]
2962     VARIANT paddingRight();
2963
2964     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGBOTTOM), displaybind, bindable]
2965     VARIANT paddingBottom();
2966
2967     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTALIGN), displaybind, bindable]
2968     BSTR textAlign();
2969
2970     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTDECORATION), displaybind, bindable]
2971     BSTR textDecoration();
2972
2973     [propget, id(DISPID_IHTMLCURRENTSTYLE_DISPLAY), displaybind, bindable]
2974     BSTR display();
2975
2976     [propget, id(DISPID_IHTMLCURRENTSTYLE_VISIBILITY), displaybind, bindable]
2977     BSTR visibility();
2978
2979     [propget, id(DISPID_IHTMLCURRENTSTYLE_ZINDEX), displaybind, bindable]
2980     VARIANT zIndex();
2981
2982     [propget, id(DISPID_IHTMLCURRENTSTYLE_LETTERSPACING), displaybind, bindable]
2983     VARIANT letterSpacing();
2984
2985     [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEHEIGHT), displaybind, bindable]
2986     VARIANT lineHeight();
2987
2988     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTINDENT), displaybind, bindable]
2989     VARIANT textIndent();
2990
2991     [propget, id(DISPID_IHTMLCURRENTSTYLE_VERTICALALIGN), displaybind, bindable]
2992     VARIANT verticalAlign();
2993
2994     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
2995     BSTR backgroundAttachment();
2996
2997     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINTOP), displaybind, bindable]
2998     VARIANT marginTop();
2999
3000     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINRIGHT), displaybind, bindable]
3001     VARIANT marginRight();
3002
3003     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINBOTTOM), displaybind, bindable]
3004     VARIANT marginBottom();
3005
3006     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINLEFT), displaybind, bindable]
3007     VARIANT marginLeft();
3008
3009     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLEAR), displaybind, bindable]
3010     BSTR clear();
3011
3012     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLETYPE), displaybind, bindable]
3013     BSTR listStyleType();
3014
3015     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
3016     BSTR listStylePosition();
3017
3018     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
3019     BSTR listStyleImage();
3020
3021     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPTOP), displaybind, bindable]
3022     VARIANT clipTop();
3023
3024     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPRIGHT), displaybind, bindable]
3025     VARIANT clipRight();
3026
3027     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPBOTTOM), displaybind, bindable]
3028     VARIANT clipBottom();
3029
3030     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPLEFT), displaybind, bindable]
3031     VARIANT clipLeft();
3032
3033     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOW), displaybind, bindable]
3034     BSTR overflow();
3035
3036     [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
3037     BSTR pageBreakBefore();
3038
3039     [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKAFTER), displaybind, bindable]
3040     BSTR pageBreakAfter();
3041
3042     [propget, id(DISPID_IHTMLCURRENTSTYLE_CURSOR), displaybind, bindable]
3043     BSTR cursor();
3044
3045     [propget, id(DISPID_IHTMLCURRENTSTYLE_TABLELAYOUT), displaybind, bindable]
3046     BSTR tableLayout();
3047
3048     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLLAPSE), displaybind, bindable]
3049     BSTR borderCollapse();
3050
3051     [propget, id(DISPID_IHTMLCURRENTSTYLE_DIRECTION), displaybind, bindable]
3052     BSTR direction();
3053
3054     [propget, id(DISPID_IHTMLCURRENTSTYLE_BEHAVIOR), displaybind, bindable]
3055     BSTR behavior();
3056
3057     [id(DISPID_IHTMLCURRENTSTYLE_GETATTRIBUTE)]
3058     VARIANT getAttribute(
3059             [in] BSTR strAttributeName,
3060             [in, defaultvalue(0)] LONG lFlags);
3061
3062     [propget, id(DISPID_IHTMLCURRENTSTYLE_UNICODEBIDI), displaybind, bindable]
3063     BSTR unicodeBidi();
3064
3065     [propget, id(DISPID_IHTMLCURRENTSTYLE_RIGHT), displaybind, bindable]
3066     VARIANT right();
3067
3068     [propget, id(DISPID_IHTMLCURRENTSTYLE_BOTTOM), displaybind, bindable]
3069     VARIANT bottom();
3070
3071     [propget, id(DISPID_IHTMLCURRENTSTYLE_IMEMODE), displaybind, bindable]
3072     BSTR imeMode();
3073
3074     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYALIGN), displaybind, bindable]
3075     BSTR rubyAlign();
3076
3077     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYPOSITION), displaybind, bindable]
3078     BSTR rubyPosition();
3079
3080     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYOVERHANG), displaybind, bindable]
3081     BSTR rubyOverhang();
3082
3083     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTAUTOSPACE), displaybind, bindable]
3084     BSTR textAutospace();
3085
3086     [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEBREAK), displaybind, bindable]
3087     BSTR lineBreak();
3088
3089     [propget, id(DISPID_IHTMLCURRENTSTYLE_WORDBREAK), displaybind, bindable]
3090     BSTR wordBreak();
3091
3092     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFY), displaybind, bindable]
3093     BSTR textJustify();
3094
3095     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFYTRIM), displaybind, bindable]
3096     BSTR textJustifyTrim();
3097
3098     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTKASHIDA), displaybind, bindable]
3099     VARIANT textKashida();
3100
3101     [propget, id(DISPID_IHTMLCURRENTSTYLE_BLOCKDIRECTION), displaybind, bindable]
3102     BSTR blockDirection();
3103
3104     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDCHAR), displaybind, bindable]
3105     VARIANT layoutGridChar();
3106
3107     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDLINE), displaybind, bindable]
3108     VARIANT layoutGridLine();
3109
3110     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDMODE), displaybind, bindable]
3111     BSTR layoutGridMode();
3112
3113     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDTYPE), displaybind, bindable]
3114     BSTR layoutGridType();
3115
3116     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERSTYLE), displaybind, bindable]
3117     BSTR borderStyle();
3118
3119     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLOR), displaybind, bindable]
3120     BSTR borderColor();
3121
3122     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERWIDTH), displaybind, bindable]
3123     BSTR borderWidth();
3124
3125     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDING), displaybind, bindable]
3126     BSTR padding();
3127
3128     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGIN), displaybind, bindable]
3129     BSTR margin();
3130
3131     [propget, id(DISPID_IHTMLCURRENTSTYLE_ACCELERATOR), displaybind, bindable]
3132     BSTR accelerator();
3133
3134     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWX), displaybind, bindable]
3135     BSTR overflowX();
3136
3137     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWY), displaybind, bindable]
3138     BSTR overflowY();
3139
3140     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTTRANSFORM), displaybind, bindable]
3141     BSTR textTransform();
3142
3143     [propget, id(DISPID_IHTMLCURRENTSTYLE2_LAYOUTFLOW), displaybind, bindable]
3144     BSTR layoutFlow();
3145
3146     [propget, id(DISPID_IHTMLCURRENTSTYLE2_WORDWRAP), displaybind, bindable]
3147     BSTR wordWrap();
3148
3149     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTUNDERLINEPOSITION), displaybind, bindable]
3150     BSTR textUnderlinePosition();
3151
3152     [propget, id(DISPID_IHTMLCURRENTSTYLE2_HASLAYOUT), displaybind, bindable]
3153     VARIANT_BOOL hasLayout();
3154
3155     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARBASECOLOR), displaybind, bindable]
3156     VARIANT scrollbarBaseColor();
3157
3158     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARFACECOLOR), displaybind, bindable]
3159     VARIANT scrollbarFaceColor();
3160
3161     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
3162     VARIANT scrollbar3dLightColor();
3163
3164     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARSHADOWCOLOR), displaybind, bindable]
3165     VARIANT scrollbarShadowColor();
3166
3167     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
3168     VARIANT scrollbarHighlightColor();
3169
3170     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
3171     VARIANT scrollbarDarkShadowColor();
3172
3173     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARARROWCOLOR), displaybind, bindable]
3174     VARIANT scrollbarArrowColor();
3175
3176     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARTRACKCOLOR), displaybind, bindable]
3177     VARIANT scrollbarTrackColor();
3178
3179     [propget, id(DISPID_IHTMLCURRENTSTYLE2_WRITINGMODE), displaybind, bindable]
3180     BSTR writingMode();
3181
3182     [propget, id(DISPID_IHTMLCURRENTSTYLE2_ZOOM), displaybind, bindable]
3183     VARIANT zoom();
3184
3185     [propget, id(DISPID_IHTMLCURRENTSTYLE2_FILTER), displaybind, bindable]
3186     BSTR filter();
3187
3188     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTALIGNLAST), displaybind, bindable]
3189     BSTR textAlignLast();
3190
3191     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTKASHIDASPACE), displaybind, bindable]
3192     VARIANT textKashidaSpace();
3193
3194     [propget, id(DISPID_IHTMLCURRENTSTYLE2_ISBLOCK), displaybind, bindable, hidden, restricted, nonbrowsable]
3195     VARIANT_BOOL isBlock();
3196
3197     [propget, id(DISPID_IHTMLCURRENTSTYLE3_TEXTOVERFLOW), displaybind, bindable]
3198     BSTR textOverflow();
3199
3200     [propget, id(DISPID_IHTMLCURRENTSTYLE3_MINHEIGHT), displaybind, bindable]
3201     VARIANT minHeight();
3202
3203     [propget, id(DISPID_IHTMLCURRENTSTYLE3_WORDSPACING), displaybind, bindable]
3204     VARIANT wordSpacing();
3205
3206     [propget, id(DISPID_IHTMLCURRENTSTYLE3_WHITESPACE), displaybind, bindable]
3207     BSTR whiteSpace();
3208
3209     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MSINTERPOLATIONMODE), displaybind, bindable]
3210     BSTR msInterpolationMode();
3211
3212     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MAXHEIGHT), displaybind, bindable]
3213     VARIANT maxHeight();
3214
3215     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MINWIDTH), displaybind, bindable]
3216     VARIANT minWidth();
3217
3218     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MAXWIDTH), displaybind, bindable]
3219     VARIANT maxWidth();
3220 }
3221
3222 [
3223     noncreatable,
3224     uuid(3050f3dc-98b5-11cf-bb82-00aa00bdce0b)
3225 ]
3226 coclass HTMLCurrentStyle
3227 {
3228     [default] dispinterface DispHTMLCurrentStyle;
3229     interface IHTMLCurrentStyle;
3230     interface IHTMLCurrentStyle2;
3231     interface IHTMLCurrentStyle3;
3232     interface IHTMLCurrentStyle4;
3233 }
3234
3235 /*****************************************************************************
3236  *    IHTMLRect interface
3237  */
3238 [
3239     odl,
3240     oleautomation,
3241     dual,
3242     uuid(3050f4a3-98b5-11cf-bb82-00aa00bdce0b)
3243 ]
3244 interface IHTMLRect : IDispatch
3245 {
3246     [propput, id(DISPID_IHTMLRECT_LEFT)]
3247     HRESULT left([in] LONG v);
3248
3249     [propget, id(DISPID_IHTMLRECT_LEFT)]
3250     HRESULT left([retval, out] LONG *p);
3251
3252     [propput, id(DISPID_IHTMLRECT_TOP)]
3253     HRESULT top([in] LONG v);
3254
3255     [propget, id(DISPID_IHTMLRECT_TOP)]
3256     HRESULT top([retval, out] LONG *p);
3257
3258     [propput, id(DISPID_IHTMLRECT_RIGHT)]
3259     HRESULT right([in] LONG v);
3260
3261     [propget, id(DISPID_IHTMLRECT_RIGHT)]
3262     HRESULT right([retval, out] LONG *p);
3263
3264     [propput, id(DISPID_IHTMLRECT_BOTTOM)]
3265     HRESULT bottom([in] LONG v);
3266
3267     [propget, id(DISPID_IHTMLRECT_BOTTOM)]
3268     HRESULT bottom([retval, out] LONG *p);
3269 }
3270
3271 /*****************************************************************************
3272  *    IHTMLRectCollection interface
3273  */
3274 [
3275     odl,
3276     oleautomation,
3277     dual,
3278     uuid(3050f4a4-98b5-11cf-bb82-00aa00bdce0b)
3279 ]
3280 interface IHTMLRectCollection : IDispatch
3281 {
3282     [propget, id(DISPID_IHTMLRECTCOLLECTION_LENGTH)]
3283     HRESULT length([retval, out] LONG *p);
3284
3285     [propget, id(DISPID_IHTMLRECTCOLLECTION__NEWENUM), hidden, restricted]
3286     HRESULT _newEnum([retval, out] IUnknown **p);
3287
3288     [id(DISPID_IHTMLRECTCOLLECTION_ITEM)]
3289     HRESULT item(
3290         [in] VARIANT *pvarIndex,
3291         [retval, out] VARIANT *pvarResult);
3292 }
3293
3294 /*****************************************************************************
3295  *    IHTMLDOMNode interface
3296  */
3297 [
3298     odl,
3299     oleautomation,
3300     dual,
3301     uuid(3050f5da-98b5-11cf-bb82-00aa00bdce0b)
3302 ]
3303 interface IHTMLDOMNode : IDispatch
3304 {
3305     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
3306     HRESULT nodeType([retval, out] LONG *p);
3307
3308     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
3309     HRESULT parentNode([retval, out] IHTMLDOMNode **p);
3310
3311     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
3312     HRESULT hasChildNodes([retval, out] VARIANT_BOOL *fChildren);
3313
3314     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
3315     HRESULT childNodes([retval, out] IDispatch **p);
3316
3317     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
3318     HRESULT attributes([retval, out] IDispatch **p);
3319
3320     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
3321     HRESULT insertBefore(
3322         [in] IHTMLDOMNode *newChild,
3323         [optional, in] VARIANT refChild,
3324         [retval, out] IHTMLDOMNode **node);
3325
3326     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
3327     HRESULT removeChild(
3328         [in] IHTMLDOMNode *oldChild,
3329         [retval, out] IHTMLDOMNode **node);
3330
3331     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
3332     HRESULT replaceChild(
3333         [in] IHTMLDOMNode *newChild,
3334         [in] IHTMLDOMNode *oldChild,
3335         [retval, out] IHTMLDOMNode **node);
3336
3337     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
3338     HRESULT cloneNode(
3339         [in] VARIANT_BOOL fDeep,
3340         [retval, out] IHTMLDOMNode **clonedNode);
3341
3342     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
3343     HRESULT removeNode(
3344         [defaultvalue(0), in] VARIANT_BOOL fDeep,
3345         [retval, out] IHTMLDOMNode **removed);
3346
3347     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
3348     HRESULT swapNode(
3349         [in] IHTMLDOMNode *otherNode,
3350         [retval, out] IHTMLDOMNode **swappedNode);
3351
3352     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
3353     HRESULT replaceNode(
3354         [in] IHTMLDOMNode *replacement,
3355         [retval, out] IHTMLDOMNode **replaced);
3356
3357     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
3358     HRESULT appendChild(
3359         [in] IHTMLDOMNode *newChild,
3360         [retval, out] IHTMLDOMNode **node);
3361
3362     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
3363     HRESULT nodeName([retval, out] BSTR *p);
3364
3365     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
3366     HRESULT nodeValue([in] VARIANT v);
3367
3368     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
3369     HRESULT nodeValue([retval, out] VARIANT *p);
3370
3371     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
3372     HRESULT firstChild([retval, out] IHTMLDOMNode **p);
3373
3374     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
3375     HRESULT lastChild([retval, out] IHTMLDOMNode **p);
3376
3377     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
3378     HRESULT previousSibling([retval, out] IHTMLDOMNode **p);
3379
3380     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
3381     HRESULT nextSibling([retval, out] IHTMLDOMNode **p);
3382 }
3383
3384 /*****************************************************************************
3385  *    IHTMLDOMNode2 interface
3386  */
3387 [
3388     odl,
3389     oleautomation,
3390     dual,
3391     uuid(3050f80b-98b5-11cf-bb82-00aa00bdce0b)
3392 ]
3393 interface IHTMLDOMNode2 : IDispatch
3394 {
3395     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
3396     HRESULT ownerDocument([retval, out] IDispatch **p);
3397 }
3398
3399 /*****************************************************************************
3400  *    IHTMLDOMAttribute interface
3401  */
3402 [
3403     odl,
3404     oleautomation,
3405     dual,
3406     uuid(3050f4b0-98b5-11cf-bb82-00aa00bdce0b)
3407 ]
3408 interface IHTMLDOMAttribute : IDispatch
3409 {
3410     [propget, id(DISPID_IHTMLDOMATTRIBUTE_NODENAME)]
3411     HRESULT nodeName([retval, out] BSTR *p);
3412
3413     [propput, id(DISPID_IHTMLDOMATTRIBUTE_NODEVALUE)]
3414     HRESULT nodeValue([in] VARIANT v);
3415
3416     [propget, id(DISPID_IHTMLDOMATTRIBUTE_NODEVALUE)]
3417     HRESULT nodeValue([retval, out] VARIANT *p);
3418
3419     [propget, id(DISPID_IHTMLDOMATTRIBUTE_SPECIFIED)]
3420     HRESULT specified([retval, out] VARIANT_BOOL *p);
3421 }
3422
3423 /*****************************************************************************
3424  *    IHTMLDOMTextNode interface
3425  */
3426 [
3427     odl,
3428     oleautomation,
3429     dual,
3430     uuid(3050f4b1-98b5-11cf-bb82-00aa00bdce0b)
3431 ]
3432 interface IHTMLDOMTextNode : IDispatch
3433 {
3434     [propput, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
3435     HRESULT data([in] BSTR v);
3436
3437     [propget, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
3438     HRESULT data([out, retval] BSTR *p);
3439
3440     [id(DISPID_IHTMLDOMTEXTNODE_TOSTRING)]
3441     HRESULT toString([out, retval] BSTR *String);
3442
3443     [propget, id(DISPID_IHTMLDOMTEXTNODE_LENGTH)]
3444     HRESULT length([out, retval] LONG *p);
3445
3446     [id(DISPID_IHTMLDOMTEXTNODE_SPLITTEXT)]
3447     HRESULT splitText(
3448             [in] LONG offset,
3449             [out, retval] IHTMLDOMNode **pRetNode);
3450 }
3451
3452 /*****************************************************************************
3453  *    IHTMLDOMTextNode2 interface
3454  */
3455 [
3456     odl,
3457     oleautomation,
3458     dual,
3459     uuid(3050f809-98b5-11cf-bb82-00aa00bdce0b)
3460 ]
3461 interface IHTMLDOMTextNode2 : IDispatch
3462 {
3463     [id(DISPID_IHTMLDOMTEXTNODE2_SUBSTRINGDATA)]
3464     HRESULT substringData([in] LONG offset,[in] LONG Count,[retval, out] BSTR* pbstrsubString);
3465
3466     [id(DISPID_IHTMLDOMTEXTNODE2_APPENDDATA)]
3467     HRESULT appendData([in] BSTR bstrstring);
3468
3469     [id(DISPID_IHTMLDOMTEXTNODE2_INSERTDATA)]
3470     HRESULT insertData([in] LONG offset,[in] BSTR bstrstring);
3471
3472     [id(DISPID_IHTMLDOMTEXTNODE2_DELETEDATA)]
3473     HRESULT deleteData([in] LONG offset,[in] LONG Count);
3474
3475     [id(DISPID_IHTMLDOMTEXTNODE2_REPLACEDATA)]
3476     HRESULT replaceData([in] LONG offset,[in] LONG Count,[in] BSTR bstrstring);
3477 }
3478
3479 [
3480     noncreatable,
3481     uuid(3050f4ba-98b5-11cf-bb82-00aa00bdce0b)
3482 ]
3483 coclass HTMLDOMTextNode
3484 {
3485     [default]           dispinterface DispHTMLDOMTextNode;
3486                         interface IHTMLDOMTextNode;
3487                         interface IHTMLDOMTextNode2;
3488                         interface IHTMLDOMNode;
3489                         interface IHTMLDOMNode2;
3490 }
3491
3492 /*****************************************************************************
3493  *    IHTMLDOMImplementation interface
3494  */
3495 [
3496     odl,
3497     oleautomation,
3498     dual,
3499     uuid(3050f80d-98b5-11cf-bb82-00aa00bdce0b)
3500 ]
3501 interface IHTMLDOMImplementation : IDispatch
3502 {
3503     [id(DISPID_IHTMLDOMIMPLEMENTATION_HASFEATURE)]
3504     HRESULT hasFeature(
3505         [in] BSTR bstrfeature,
3506         [optional, in] VARIANT version,
3507         [retval, out] VARIANT_BOOL *pfHasFeature);
3508 }
3509
3510 /*****************************************************************************
3511  *    DispHTMLDOMTextNode dispinterface
3512  */
3513 [
3514     hidden,
3515     uuid(3050f565-98b5-11cf-bb82-00aa00bdce0b)
3516 ]
3517 dispinterface DispHTMLDOMTextNode
3518 {
3519 properties:
3520 methods:
3521     [propput, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
3522     void data(BSTR v);
3523
3524     [propget, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
3525     BSTR data();
3526
3527     [id(DISPID_IHTMLDOMTEXTNODE_TOSTRING)]
3528     BSTR toString();
3529
3530     [propget, id(DISPID_IHTMLDOMTEXTNODE_LENGTH)]
3531     LONG length();
3532
3533     [id(DISPID_IHTMLDOMTEXTNODE_SPLITTEXT)]
3534     IHTMLDOMNode *splitText([in] LONG offset);
3535
3536     [id(DISPID_IHTMLDOMTEXTNODE2_SUBSTRINGDATA)]
3537     BSTR substringData(
3538             [in] LONG offset,
3539             [in] LONG Count);
3540
3541     [id(DISPID_IHTMLDOMTEXTNODE2_APPENDDATA)]
3542     void appendData([in] BSTR bstrstring);
3543
3544     [id(DISPID_IHTMLDOMTEXTNODE2_INSERTDATA)]
3545     void insertData(
3546             [in] LONG offset,
3547             [in] BSTR bstrstring);
3548
3549     [id(DISPID_IHTMLDOMTEXTNODE2_DELETEDATA)]
3550     void deleteData(
3551             [in] LONG offset,
3552             [in] LONG Count);
3553
3554     [id(DISPID_IHTMLDOMTEXTNODE2_REPLACEDATA)]
3555     void replaceData(
3556             [in] LONG offset,
3557             [in] LONG Count,
3558             [in] BSTR bstrstring);
3559
3560     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
3561     LONG nodeType();
3562
3563     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
3564     IHTMLDOMNode *parentNode();
3565
3566     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
3567     VARIANT_BOOL hasChildNodes();
3568
3569     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
3570     IDispatch *childNodes();
3571
3572     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
3573     IDispatch *attributes();
3574
3575     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
3576     IHTMLDOMNode *insertBefore(
3577             [in] IHTMLDOMNode *newChild,
3578             [in, optional] VARIANT refChild);
3579
3580     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
3581     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
3582
3583     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
3584     IHTMLDOMNode *replaceChild(
3585             [in] IHTMLDOMNode *newChild,
3586             [in] IHTMLDOMNode *oldChild);
3587
3588     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
3589     IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
3590
3591     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
3592     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
3593
3594     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
3595     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
3596
3597     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
3598     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
3599
3600     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
3601     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
3602
3603     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
3604     BSTR nodeName();
3605
3606     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
3607     void nodeValue(VARIANT v);
3608
3609     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
3610     VARIANT nodeValue();
3611
3612     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
3613     IHTMLDOMNode *firstChild();
3614
3615     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
3616     IHTMLDOMNode *lastChild();
3617
3618     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
3619     IHTMLDOMNode *previousSibling();
3620
3621     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
3622     IHTMLDOMNode* nextSibling();
3623
3624     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
3625     IDispatch *ownerDocument();
3626 }
3627
3628 /*****************************************************************************
3629  *    IHTMLDOMChildrenCollection interface
3630  */
3631 [
3632     odl,
3633     oleautomation,
3634     dual,
3635     uuid(3050f5ab-98b5-11cf-bb82-00aa00bdce0b)
3636 ]
3637 interface IHTMLDOMChildrenCollection : IDispatch
3638 {
3639     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION_LENGTH)]
3640     HRESULT length([out, retval] LONG *p);
3641
3642     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION__NEWENUM), hidden, restricted]
3643     HRESULT _newEnum([out, retval] IUnknown **p);
3644
3645     [id(DISPID_IHTMLDOMCHILDRENCOLLECTION_ITEM)]
3646     HRESULT item(
3647             [in] LONG index,
3648             [out, retval] IDispatch **ppItem);
3649 }
3650
3651 /*****************************************************************************
3652  *    DispDOMChildrenCollection dispinterface
3653  */
3654 [
3655     hidden,
3656     uuid(3050f577-98b5-11cf-bb82-00aa00bdce0b)
3657 ]
3658 dispinterface DispDOMChildrenCollection
3659 {
3660 properties:
3661 methods:
3662     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION_LENGTH)]
3663     LONG length();
3664
3665     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION__NEWENUM), hidden, restricted]
3666     IUnknown *_newEnum();
3667
3668     [id(DISPID_IHTMLDOMCHILDRENCOLLECTION_ITEM)]
3669     IDispatch *item([in] LONG index);
3670 }
3671
3672 interface IHTMLElementCollection;
3673
3674 /*****************************************************************************
3675  *    IHTMLElement interface
3676  */
3677 [
3678     odl,
3679     dual,
3680     oleautomation,
3681     uuid(3050f1FF-98B5-11CF-BB82-00AA00BDCE0B)
3682 ]
3683 interface IHTMLElement : IDispatch
3684 {
3685     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
3686     HRESULT setAttribute(
3687         [in] BSTR strAttributeName,
3688         [in] VARIANT AttributeValue,
3689         [defaultvalue(1), in] LONG lFlags);
3690
3691     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
3692     HRESULT getAttribute(
3693         [in] BSTR strAttributeName,
3694         [defaultvalue(0), in] LONG lFlags,
3695         [retval, out] VARIANT *AttributeValue);
3696
3697     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
3698     HRESULT removeAttribute(
3699         [in] BSTR strAttributeName,
3700         [defaultvalue(1), in] LONG lFlags,
3701         [retval, out] VARIANT_BOOL *pfSuccess);
3702
3703     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME)]
3704     HRESULT className([in] BSTR v);
3705
3706     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME)]
3707     HRESULT className([retval, out] BSTR *p);
3708
3709     [propput, id(DISPID_IHTMLELEMENT_ID)]
3710     HRESULT id([in] BSTR v);
3711
3712     [propget, id(DISPID_IHTMLELEMENT_ID)]
3713     HRESULT id([retval, out] BSTR *p);
3714
3715     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
3716     HRESULT tagName([retval, out] BSTR *p);
3717
3718     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
3719     HRESULT parentElement([retval, out] IHTMLElement **p);
3720
3721     [propget, id(DISPID_IHTMLELEMENT_STYLE)]
3722     HRESULT style([retval, out] IHTMLStyle **p);
3723
3724     [propput, id(DISPID_IHTMLELEMENT_ONHELP)]
3725     HRESULT onhelp([in] VARIANT v);
3726
3727     [propget, id(DISPID_IHTMLELEMENT_ONHELP)]
3728     HRESULT onhelp([retval, out] VARIANT *p);
3729
3730     [propput, id(DISPID_IHTMLELEMENT_ONCLICK)]
3731     HRESULT onclick([in] VARIANT v);
3732
3733     [propget, id(DISPID_IHTMLELEMENT_ONCLICK)]
3734     HRESULT onclick([retval, out] VARIANT *p);
3735
3736     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK)]
3737     HRESULT ondblclick([in] VARIANT v);
3738
3739     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK)]
3740     HRESULT ondblclick([retval, out] VARIANT *p);
3741
3742     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN)]
3743     HRESULT onkeydown([in] VARIANT v);
3744
3745     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN)]
3746     HRESULT onkeydown([retval, out] VARIANT *p);
3747
3748     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP)]
3749     HRESULT onkeyup([in] VARIANT v);
3750
3751     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP)]
3752     HRESULT onkeyup([retval, out] VARIANT *p);
3753
3754     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS)]
3755     HRESULT onkeypress([in] VARIANT v);
3756
3757     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS)]
3758     HRESULT onkeypress([retval, out] VARIANT *p);
3759
3760     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT)]
3761     HRESULT onmouseout([in] VARIANT v);
3762
3763     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT)]
3764     HRESULT onmouseout([retval, out] VARIANT *p);
3765
3766     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER)]
3767     HRESULT onmouseover([in] VARIANT v);
3768
3769     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER)]
3770     HRESULT onmouseover([retval, out] VARIANT *p);
3771
3772     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE)]
3773     HRESULT onmousemove([in] VARIANT v);
3774
3775     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE)]
3776     HRESULT onmousemove([retval, out] VARIANT *p);
3777
3778     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN)]
3779     HRESULT onmousedown([in] VARIANT v);
3780
3781     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN)]
3782     HRESULT onmousedown([retval, out] VARIANT *p);
3783
3784     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP)]
3785     HRESULT onmouseup([in] VARIANT v);
3786
3787     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP)]
3788     HRESULT onmouseup([retval, out] VARIANT *p);
3789
3790     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
3791     HRESULT document([retval, out] IDispatch **p);
3792
3793     [propput, id(DISPID_IHTMLELEMENT_TITLE)]
3794     HRESULT title([in] BSTR v);
3795
3796     [propget, id(DISPID_IHTMLELEMENT_TITLE)]
3797     HRESULT title([retval, out] BSTR *p);
3798
3799     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE)]
3800     HRESULT language([in] BSTR v);
3801
3802     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE)]
3803     HRESULT language([retval, out] BSTR *p);
3804
3805     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART)]
3806     HRESULT onselectstart([in] VARIANT v);
3807
3808     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART)]
3809     HRESULT onselectstart([retval, out] VARIANT *p);
3810
3811     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
3812     HRESULT scrollIntoView([optional, in] VARIANT varargStart);
3813
3814     [id(DISPID_IHTMLELEMENT_CONTAINS)]
3815     HRESULT contains(
3816         [in] IHTMLElement *pChild,
3817         [retval, out] VARIANT_BOOL *pfResult);
3818
3819     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX)]
3820     HRESULT sourceIndex([retval, out] LONG *p);
3821
3822     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
3823     HRESULT recordNumber([retval, out] VARIANT *p);
3824
3825     [propput, id(DISPID_IHTMLELEMENT_LANG)]
3826     HRESULT lang([in] BSTR v);
3827
3828     [propget, id(DISPID_IHTMLELEMENT_LANG)]
3829     HRESULT lang([retval, out] BSTR *p);
3830
3831     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
3832     HRESULT offsetLeft([retval, out] LONG *p);
3833
3834     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
3835     HRESULT offsetTop([retval, out] LONG *p);
3836
3837     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
3838     HRESULT offsetWidth([retval, out] LONG *p);
3839
3840     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
3841     HRESULT offsetHeight([retval, out] LONG *p);
3842
3843     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
3844     HRESULT offsetParent([retval, out] IHTMLElement **p);
3845
3846     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
3847     HRESULT innerHTML([in] BSTR v);
3848
3849     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
3850     HRESULT innerHTML([retval, out] BSTR *p);
3851
3852     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
3853     HRESULT innerText([in] BSTR v);
3854
3855     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
3856     HRESULT innerText([retval, out] BSTR *p);
3857
3858     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
3859     HRESULT outerHTML([in] BSTR v);
3860
3861     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
3862     HRESULT outerHTML([retval, out] BSTR *p);
3863
3864     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
3865     HRESULT outerText([in] BSTR v);
3866
3867     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
3868     HRESULT outerText([retval, out] BSTR *p);
3869
3870     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
3871     HRESULT insertAdjacentHTML([in] BSTR where, [in] BSTR html);
3872
3873     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
3874     HRESULT insertAdjacentText([in] BSTR where, [in] BSTR text);
3875
3876     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
3877     HRESULT parentTextEdit([retval, out] IHTMLElement **p);
3878
3879     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
3880     HRESULT isTextEdit([retval, out] VARIANT_BOOL *p);
3881
3882     [id(DISPID_IHTMLELEMENT_CLICK)]
3883     HRESULT click();
3884
3885     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
3886     HRESULT filters([retval, out] IHTMLFiltersCollection **p);
3887
3888     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART)]
3889     HRESULT ondragstart([in] VARIANT v);
3890
3891     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART)]
3892     HRESULT ondragstart([retval, out] VARIANT *p);
3893
3894     [id(DISPID_IHTMLELEMENT_TOSTRING)]
3895     HRESULT toString([retval, out] BSTR *String);
3896
3897     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE)]
3898     HRESULT onbeforeupdate([in] VARIANT v);
3899
3900     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE)]
3901     HRESULT onbeforeupdate([retval, out] VARIANT *p);
3902
3903     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE)]
3904     HRESULT onafterupdate([in] VARIANT v);
3905
3906     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE)]
3907     HRESULT onafterupdate([retval, out] VARIANT *p);
3908
3909     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE)]
3910     HRESULT onerrorupdate([in] VARIANT v);
3911
3912     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE)]
3913     HRESULT onerrorupdate([retval, out] VARIANT *p);
3914
3915     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT)]
3916     HRESULT onrowexit([in] VARIANT v);
3917
3918     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT)]
3919     HRESULT onrowexit([retval, out] VARIANT *p);
3920
3921     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER)]
3922     HRESULT onrowenter([in] VARIANT v);
3923
3924     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER)]
3925     HRESULT onrowenter([retval, out] VARIANT *p);
3926
3927     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED)]
3928     HRESULT ondatasetchanged([in] VARIANT v);
3929
3930     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED)]
3931     HRESULT ondatasetchanged([retval, out] VARIANT *p);
3932
3933     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE)]
3934     HRESULT ondataavailable([in] VARIANT v);
3935
3936     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE)]
3937     HRESULT ondataavailable([retval, out] VARIANT *p);
3938
3939     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE)]
3940     HRESULT ondatasetcomplete([in] VARIANT v);
3941
3942     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE)]
3943     HRESULT ondatasetcomplete([retval, out] VARIANT *p);
3944
3945     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE)]
3946     HRESULT onfilterchange([in] VARIANT v);
3947
3948     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE)]
3949     HRESULT onfilterchange([retval, out] VARIANT *p);
3950
3951     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
3952     HRESULT children([retval, out] IDispatch **p);
3953
3954     [propget, id(DISPID_IHTMLELEMENT_ALL)]
3955     HRESULT all([retval, out] IDispatch **p);
3956 }
3957
3958 /*****************************************************************************
3959  *    IHTMLElement2 interface
3960  */
3961 [
3962     odl,
3963     oleautomation,
3964     dual,
3965     uuid(3050f434-98b5-11cf-bb82-00aa00bdce0b)
3966 ]
3967 interface IHTMLElement2 : IDispatch
3968 {
3969     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
3970     HRESULT scopeName([retval, out] BSTR *p);
3971
3972     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
3973     HRESULT setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
3974
3975     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
3976     HRESULT releaseCapture();
3977
3978     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
3979     HRESULT onlosecapture([in] VARIANT v);
3980
3981     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
3982     HRESULT onlosecapture([retval, out] VARIANT *p);
3983
3984     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
3985     HRESULT componentFromPoint(
3986         [in] LONG x,
3987         [in] LONG y,
3988         [retval, out] BSTR *component);
3989
3990     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
3991     HRESULT doScroll([optional, in] VARIANT component);
3992
3993     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
3994     HRESULT onscroll([in] VARIANT v);
3995
3996     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
3997     HRESULT onscroll([retval, out] VARIANT *p);
3998
3999     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
4000     HRESULT ondrag([in] VARIANT v);
4001
4002     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
4003     HRESULT ondrag([retval, out] VARIANT *p);
4004
4005     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
4006     HRESULT ondragend([in] VARIANT v);
4007
4008     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
4009     HRESULT ondragend([retval, out] VARIANT *p);
4010
4011     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
4012     HRESULT ondragenter([in] VARIANT v);
4013
4014     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
4015     HRESULT ondragenter([retval, out] VARIANT *p);
4016
4017     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
4018     HRESULT ondragover([in] VARIANT v);
4019
4020     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
4021     HRESULT ondragover([retval, out] VARIANT *p);
4022
4023     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
4024     HRESULT ondragleave([in] VARIANT v);
4025
4026     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
4027     HRESULT ondragleave([retval, out] VARIANT *p);
4028
4029     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
4030     HRESULT ondrop([in] VARIANT v);
4031
4032     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
4033     HRESULT ondrop([retval, out] VARIANT *p);
4034
4035     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
4036     HRESULT onbeforecut([in] VARIANT v);
4037
4038     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
4039     HRESULT onbeforecut([retval, out] VARIANT *p);
4040
4041     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
4042     HRESULT oncut([in] VARIANT v);
4043
4044     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
4045     HRESULT oncut([retval, out] VARIANT *p);
4046
4047     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
4048     HRESULT onbeforecopy([in] VARIANT v);
4049
4050     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
4051     HRESULT onbeforecopy([retval, out] VARIANT *p);
4052
4053     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
4054     HRESULT oncopy([in] VARIANT v);
4055
4056     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
4057     HRESULT oncopy([retval, out] VARIANT *p);
4058
4059     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
4060     HRESULT onbeforepaste([in] VARIANT v);
4061
4062     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
4063     HRESULT onbeforepaste([retval, out] VARIANT *p);
4064
4065     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
4066     HRESULT onpaste([in] VARIANT v);
4067
4068     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
4069     HRESULT onpaste([retval, out] VARIANT *p);
4070
4071     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
4072     HRESULT currentStyle([retval, out] IHTMLCurrentStyle **p);
4073
4074     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
4075     HRESULT onpropertychange([in] VARIANT v);
4076
4077     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
4078     HRESULT onpropertychange([retval, out] VARIANT *p);
4079
4080     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
4081     HRESULT getClientRects([retval, out] IHTMLRectCollection **pRectCol);
4082
4083     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
4084     HRESULT getBoundingClientRect([retval, out] IHTMLRect **pRect);
4085
4086     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
4087     HRESULT setExpression(
4088         [in] BSTR propname,
4089         [in] BSTR expression,
4090         [defaultvalue(""), in] BSTR language);
4091
4092     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
4093     HRESULT getExpression(
4094         [in] BSTR propname,
4095         [retval, out] VARIANT *expression);
4096
4097     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
4098     HRESULT removeExpression(
4099         [in] BSTR propname,
4100         [retval, out] VARIANT_BOOL *pfSuccess);
4101
4102     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
4103     HRESULT tabIndex([in] short v);
4104
4105     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
4106     HRESULT tabIndex([retval, out] short *p);
4107
4108     [id(DISPID_IHTMLELEMENT2_FOCUS)]
4109     HRESULT focus();
4110
4111     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
4112     HRESULT accessKey([in] BSTR v);
4113
4114     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
4115     HRESULT accessKey([retval, out] BSTR *p);
4116
4117     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
4118     HRESULT onblur([in] VARIANT v);
4119
4120     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
4121     HRESULT onblur([retval, out] VARIANT *p);
4122
4123     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
4124     HRESULT onfocus([in] VARIANT v);
4125
4126     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
4127     HRESULT onfocus([retval, out] VARIANT *p);
4128
4129     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
4130     HRESULT onresize([in] VARIANT v);
4131
4132     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
4133     HRESULT onresize([retval, out] VARIANT *p);
4134
4135     [id(DISPID_IHTMLELEMENT2_BLUR)]
4136     HRESULT blur();
4137
4138     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
4139     HRESULT addFilter([in] IUnknown *pUnk);
4140
4141     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
4142     HRESULT removeFilter([in] IUnknown *pUnk);
4143
4144     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
4145     HRESULT clientHeight([retval, out] LONG *p);
4146
4147     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
4148     HRESULT clientWidth([retval, out] LONG *p);
4149
4150     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
4151     HRESULT clientTop([retval, out] LONG *p);
4152
4153     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
4154     HRESULT clientLeft([retval, out] LONG *p);
4155
4156     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
4157     HRESULT attachEvent(
4158         [in] BSTR event,
4159         [in] IDispatch *pDisp,
4160         [retval, out] VARIANT_BOOL *pfResult);
4161
4162     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
4163     HRESULT detachEvent(
4164         [in] BSTR event,
4165         [in] IDispatch *pDisp);
4166
4167     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
4168     HRESULT readyState([retval, out] VARIANT *p);
4169
4170     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
4171     HRESULT onreadystatechange([in] VARIANT v);
4172
4173     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
4174     HRESULT onreadystatechange([retval, out] VARIANT *p);
4175
4176     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
4177     HRESULT onrowsdelete([in] VARIANT v);
4178
4179     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
4180     HRESULT onrowsdelete([retval, out] VARIANT *p);
4181
4182     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
4183     HRESULT onrowsinserted([in] VARIANT v);
4184
4185     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
4186     HRESULT onrowsinserted([retval, out] VARIANT *p);
4187
4188     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
4189     HRESULT oncellchange([in] VARIANT v);
4190
4191     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
4192     HRESULT oncellchange([retval, out] VARIANT *p);
4193
4194     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
4195     HRESULT dir([in] BSTR v);
4196
4197     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
4198     HRESULT dir([retval, out] BSTR *p);
4199
4200     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
4201     HRESULT createControlRange([retval, out] IDispatch **range);
4202
4203     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
4204     HRESULT scrollHeight([retval, out] LONG *p);
4205
4206     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
4207     HRESULT scrollWidth([retval, out] LONG *p);
4208
4209     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
4210     HRESULT scrollTop([in] LONG v);
4211
4212     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
4213     HRESULT scrollTop([retval, out] LONG *p);
4214
4215     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
4216     HRESULT scrollLeft([in] LONG v);
4217
4218     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
4219     HRESULT scrollLeft([retval, out] LONG *p);
4220
4221     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
4222     HRESULT clearAttributes();
4223
4224     [id(DISPID_IHTMLELEMENT2_MERGEATTRIBUTES)]
4225     HRESULT mergeAttributes([in] IHTMLElement *mergeThis);
4226
4227     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
4228     HRESULT oncontextmenu([in] VARIANT v);
4229
4230     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
4231     HRESULT oncontextmenu([retval, out] VARIANT *p);
4232
4233     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
4234     HRESULT insertAdjacentElement(
4235         [in] BSTR where,
4236         [in] IHTMLElement *insertedElement,
4237         [retval, out] IHTMLElement **inserted);
4238
4239     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
4240     HRESULT applyElement(
4241         [in] IHTMLElement *apply,
4242         [in] BSTR where,
4243         [retval, out] IHTMLElement **applied);
4244
4245     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
4246     HRESULT getAdjacentText(
4247         [in] BSTR where,
4248         [retval, out] BSTR *text);
4249
4250     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
4251     HRESULT replaceAdjacentText(
4252         [in] BSTR where,
4253         [in] BSTR newText,
4254         [retval, out] BSTR *oldText);
4255
4256     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
4257     HRESULT canHaveChildren([retval, out] VARIANT_BOOL *p);
4258
4259     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
4260     HRESULT addBehavior(
4261         [in] BSTR bstrUrl,
4262         [optional, in] VARIANT *pvarFactory,
4263         [retval, out] LONG *pCookie);
4264
4265     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
4266     HRESULT removeBehavior(
4267         [in] LONG cookie,
4268         [retval, out] VARIANT_BOOL *pfResult);
4269
4270     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
4271     HRESULT runtimeStyle([retval, out] IHTMLStyle **p);
4272
4273     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
4274     HRESULT behaviorUrns([retval, out] IDispatch **p);
4275
4276     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
4277     HRESULT tagUrn([in] BSTR v);
4278
4279     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
4280     HRESULT tagUrn([retval, out] BSTR *p);
4281
4282     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
4283     HRESULT onbeforeeditfocus([in] VARIANT v);
4284
4285     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
4286     HRESULT onbeforeeditfocus([retval, out] VARIANT *p);
4287
4288     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
4289     HRESULT readyStateValue([retval, out] LONG *p);
4290
4291     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
4292     HRESULT getElementsByTagName(
4293         [in] BSTR v,
4294         [retval, out] IHTMLElementCollection **pelColl);
4295 }
4296
4297
4298 /*****************************************************************************
4299  *    IHTMLElement3 interface
4300  */
4301 [
4302     odl,
4303     oleautomation,
4304     dual,
4305     uuid(3050f673-98b5-11cf-bb82-00aa00bdce0b)
4306 ]
4307 interface IHTMLElement3 : IDispatch
4308 {
4309     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)] HRESULT mergeAttributes([in]
4310     IHTMLElement* mergeThis,[optional, in] VARIANT* pvarFlags);
4311
4312     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
4313     HRESULT isMultiLine([retval, out] VARIANT_BOOL * p);
4314
4315     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
4316     HRESULT canHaveHTML([retval, out] VARIANT_BOOL * p);
4317
4318     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
4319     HRESULT onlayoutcomplete([in] VARIANT v);
4320
4321     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
4322     HRESULT onlayoutcomplete([retval, out] VARIANT * p);
4323
4324     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
4325     HRESULT onpage([in] VARIANT v);
4326
4327     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
4328     HRESULT onpage([retval, out] VARIANT * p);
4329
4330     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
4331     HRESULT inflateBlock([in] VARIANT_BOOL v);
4332
4333     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
4334     HRESULT inflateBlock([retval, out] VARIANT_BOOL * p);
4335
4336     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
4337     HRESULT onbeforedeactivate([in] VARIANT v);
4338
4339     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
4340     HRESULT onbeforedeactivate([retval, out] VARIANT * p);
4341
4342     [id(DISPID_IHTMLELEMENT3_SETACTIVE)] HRESULT setActive();
4343
4344     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
4345     HRESULT contentEditable([in] BSTR v);
4346
4347     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
4348     HRESULT contentEditable([retval, out] BSTR * p);
4349
4350     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
4351     HRESULT isContentEditable([retval, out] VARIANT_BOOL * p);
4352
4353     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
4354     HRESULT hideFocus([in] VARIANT_BOOL v);
4355
4356     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
4357     HRESULT hideFocus([retval, out] VARIANT_BOOL * p);
4358
4359     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
4360     HRESULT disabled([in] VARIANT_BOOL v);
4361
4362     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
4363     HRESULT disabled([retval, out] VARIANT_BOOL * p);
4364
4365     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
4366     HRESULT isDisabled([retval, out] VARIANT_BOOL * p);
4367
4368     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
4369     HRESULT onmove([in] VARIANT v);
4370
4371     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
4372     HRESULT onmove([retval, out] VARIANT * p);
4373
4374     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
4375     HRESULT oncontrolselect([in] VARIANT v);
4376
4377     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
4378     HRESULT oncontrolselect([retval, out] VARIANT * p);
4379
4380     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
4381     HRESULT fireEvent(
4382         [in] BSTR bstrEventName,
4383         [optional, in] VARIANT* pvarEventObject,
4384         [retval, out] VARIANT_BOOL* pfCancelled);
4385
4386     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
4387     HRESULT onresizestart([in] VARIANT v);
4388
4389     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
4390     HRESULT onresizestart([retval, out] VARIANT * p);
4391
4392     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
4393     HRESULT onresizeend([in] VARIANT v);
4394
4395     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
4396     HRESULT onresizeend([retval, out] VARIANT * p);
4397
4398     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
4399     HRESULT onmovestart([in] VARIANT v);
4400
4401     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
4402     HRESULT onmovestart([retval, out] VARIANT * p);
4403
4404     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
4405     HRESULT onmoveend([in] VARIANT v);
4406
4407     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
4408     HRESULT onmoveend([retval, out] VARIANT * p);
4409
4410     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
4411     HRESULT onmouseenter([in] VARIANT v);
4412
4413     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
4414     HRESULT onmouseenter([retval, out] VARIANT * p);
4415
4416     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
4417     HRESULT onmouseleave([in] VARIANT v);
4418
4419     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
4420     HRESULT onmouseleave([retval, out] VARIANT * p);
4421
4422     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
4423     HRESULT onactivate([in] VARIANT v);
4424
4425     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
4426     HRESULT onactivate([retval, out] VARIANT * p);
4427
4428     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
4429     HRESULT ondeactivate([in] VARIANT v);
4430
4431     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
4432     HRESULT ondeactivate([retval, out] VARIANT * p);
4433
4434     [id(DISPID_IHTMLELEMENT3_DRAGDROP)] HRESULT dragDrop([retval, out]
4435     VARIANT_BOOL* pfRet);
4436
4437     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
4438     HRESULT glyphMode([retval, out] LONG * p);
4439 };
4440 /*****************************************************************************
4441  *    IHTMLElement4 interface
4442  */
4443 [
4444     odl,
4445     oleautomation,
4446     dual,
4447     uuid(3050f80f-98b5-11cf-bb82-00aa00bdce0b)
4448 ]
4449 interface IHTMLElement4 : IDispatch
4450 {
4451     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
4452     HRESULT onmousewheel([in] VARIANT v);
4453
4454     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
4455     HRESULT onmousewheel([retval, out] VARIANT * p);
4456
4457     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
4458     HRESULT normalize();
4459
4460     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
4461     HRESULT getAttributeNode([in] BSTR bstrname,
4462         [retval, out] IHTMLDOMAttribute** ppAttribute);
4463
4464     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
4465     HRESULT setAttributeNode(
4466         [in] IHTMLDOMAttribute* pattr,
4467         [retval, out] IHTMLDOMAttribute** ppretAttribute);
4468
4469     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
4470     HRESULT removeAttributeNode(
4471         [in] IHTMLDOMAttribute* pattr,
4472         [retval, out] IHTMLDOMAttribute** ppretAttribute);
4473
4474     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
4475     HRESULT onbeforeactivate([in] VARIANT v);
4476
4477     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
4478     HRESULT onbeforeactivate([retval, out] VARIANT * p);
4479
4480     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
4481     HRESULT onfocusin([in] VARIANT v);
4482
4483     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
4484     HRESULT onfocusin([retval, out] VARIANT * p);
4485
4486     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
4487     HRESULT onfocusout([in] VARIANT v);
4488
4489     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
4490     HRESULT onfocusout([retval, out] VARIANT * p);
4491 };
4492
4493 /*****************************************************************************
4494  *    IHTMLGenericElement interface
4495  */
4496 [
4497     odl,
4498     oleautomation,
4499     dual,
4500     uuid(3050f4b7-98b5-11cf-bb82-00aa00bdce0b)
4501 ]
4502 interface IHTMLGenericElement : IDispatch
4503 {
4504     [propget, id(DISPID_IHTMLGENERICELEMENT_RECORDSET), hidden]
4505     HRESULT recordset([out, retval] IDispatch **p);
4506
4507     [id(DISPID_IHTMLGENERICELEMENT_NAMEDRECORDSET)]
4508     HRESULT namedRecordset(
4509             [in] BSTR dataMember,
4510             [in, optional] VARIANT *hierarchy,
4511             [out, retval] IDispatch **ppRecordset);
4512 }
4513
4514 /*****************************************************************************
4515  *    DispHTMLGenericElement dispinterface
4516  */
4517 [
4518     hidden,
4519     uuid(3050f563-98b5-11cf-bb82-00aa00bdce0b)
4520 ]
4521 dispinterface DispHTMLGenericElement
4522 {
4523 properties:
4524 methods:
4525     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
4526     void setAttribute(
4527             [in] BSTR strAttributeName,
4528             [in] VARIANT AttributeValue,
4529             [in, defaultvalue(1)] LONG lFlags);
4530
4531     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
4532     VARIANT getAttribute(
4533              [in] BSTR strAttributeName,
4534              [in, defaultvalue(0)] LONG lFlags);
4535
4536     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
4537     VARIANT_BOOL removeAttribute(
4538             [in] BSTR strAttributeName,
4539             [in, defaultvalue(1)] LONG lFlags);
4540
4541     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
4542     void className(BSTR v);
4543
4544     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
4545     BSTR className();
4546
4547     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
4548     void id(BSTR v);
4549
4550     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
4551     BSTR id();
4552
4553     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
4554     BSTR tagName();
4555
4556     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
4557     IHTMLElement *parentElement();
4558
4559     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
4560     IHTMLStyle *style();
4561
4562     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
4563     void onhelp(VARIANT v);
4564
4565     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
4566     VARIANT onhelp();
4567
4568     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
4569     void onclick(VARIANT v);
4570
4571     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
4572     VARIANT onclick();
4573
4574     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
4575     void ondblclick(VARIANT v);
4576
4577     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
4578     VARIANT ondblclick();
4579
4580     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
4581     void onkeydown(VARIANT v);
4582
4583     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
4584     VARIANT onkeydown();
4585
4586     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
4587     void onkeyup(VARIANT v);
4588
4589     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
4590     VARIANT onkeyup();
4591
4592     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
4593     void onkeypress(VARIANT v);
4594
4595     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
4596     VARIANT onkeypress();
4597
4598     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
4599     void onmouseout(VARIANT v);
4600
4601     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
4602     VARIANT onmouseout();
4603
4604     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
4605     void onmouseover(VARIANT v);
4606
4607     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
4608     VARIANT onmouseover();
4609
4610     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
4611     void onmousemove(VARIANT v);
4612
4613     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
4614     VARIANT onmousemove();
4615
4616     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
4617     void onmousedown(VARIANT v);
4618
4619     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
4620     VARIANT onmousedown();
4621
4622     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
4623     void onmouseup(VARIANT v);
4624
4625     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
4626     VARIANT onmouseup();
4627
4628     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
4629     IDispatch *document();
4630
4631     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
4632     void title(BSTR v);
4633
4634     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
4635     BSTR title();
4636
4637     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
4638     void language(BSTR v);
4639
4640     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
4641     BSTR language();
4642
4643     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
4644     void onselectstart(VARIANT v);
4645
4646     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
4647     VARIANT onselectstart();
4648
4649     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
4650     void scrollIntoView([in, optional] VARIANT varargStart);
4651
4652     [id(DISPID_IHTMLELEMENT_CONTAINS)]
4653     VARIANT_BOOL contains([in] IHTMLElement *pChild);
4654
4655     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
4656     LONG sourceIndex();
4657
4658     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
4659     VARIANT recordNumber();
4660
4661     [propput, id(DISPID_IHTMLELEMENT_LANG)]
4662     void lang(BSTR v);
4663
4664     [propget, id(DISPID_IHTMLELEMENT_LANG)]
4665     BSTR lang();
4666
4667     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
4668     LONG offsetLeft();
4669
4670     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
4671     LONG offsetTop();
4672
4673     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
4674     LONG offsetWidth();
4675
4676     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
4677     LONG offsetHeight();
4678
4679     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
4680     IHTMLElement *offsetParent();
4681
4682     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
4683     void innerHTML(BSTR v);
4684
4685     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
4686     BSTR innerHTML();
4687
4688     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
4689     void innerText(BSTR v);
4690
4691     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
4692     BSTR innerText();
4693
4694     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
4695     void outerHTML(BSTR v);
4696
4697     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
4698     BSTR outerHTML();
4699
4700     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
4701     void outerText(BSTR v);
4702
4703     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
4704     BSTR outerText();
4705
4706     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
4707     void insertAdjacentHTML(
4708             [in] BSTR where,
4709             [in] BSTR html);
4710
4711     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
4712     void insertAdjacentText(
4713             [in] BSTR where,
4714             [in] BSTR text);
4715
4716     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
4717     IHTMLElement *parentTextEdit();
4718
4719     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
4720     VARIANT_BOOL isTextEdit();
4721
4722     [id(DISPID_IHTMLELEMENT_CLICK)]
4723     void click();
4724
4725     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
4726     IHTMLFiltersCollection *filters();
4727
4728     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
4729     void ondragstart(VARIANT v);
4730
4731     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
4732     VARIANT ondragstart();
4733
4734     [id(DISPID_IHTMLELEMENT_TOSTRING)]
4735     BSTR toString();
4736
4737     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
4738     void onbeforeupdate(VARIANT v);
4739
4740     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
4741     VARIANT onbeforeupdate();
4742
4743     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
4744     void onafterupdate(VARIANT v);
4745
4746     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
4747     VARIANT onafterupdate();
4748
4749     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
4750     void onerrorupdate(VARIANT v);
4751
4752     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
4753     VARIANT onerrorupdate();
4754
4755     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
4756     void onrowexit(VARIANT v);
4757
4758     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
4759     VARIANT onrowexit();
4760
4761     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
4762     void onrowenter(VARIANT v);
4763
4764     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
4765     VARIANT onrowenter();
4766
4767     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
4768     void ondatasetchanged(VARIANT v);
4769
4770     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
4771     VARIANT ondatasetchanged();
4772
4773     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
4774     void ondataavailable(VARIANT v);
4775
4776     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
4777     VARIANT ondataavailable();
4778
4779     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
4780     void ondatasetcomplete(VARIANT v);
4781
4782     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
4783     VARIANT ondatasetcomplete();
4784
4785     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
4786     void onfilterchange(VARIANT v);
4787
4788     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
4789     VARIANT onfilterchange();
4790
4791     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
4792     IDispatch *children();
4793
4794     [propget, id(DISPID_IHTMLELEMENT_ALL)]
4795     IDispatch *all();
4796
4797     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
4798     BSTR scopeName();
4799
4800     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
4801     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
4802
4803     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
4804     void releaseCapture();
4805
4806     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
4807     void onlosecapture(VARIANT v);
4808
4809     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
4810     VARIANT onlosecapture();
4811
4812     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
4813     BSTR componentFromPoint(
4814             [in] LONG x,
4815             [in] LONG y);
4816
4817     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
4818     void doScroll([in, optional] VARIANT component);
4819
4820     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
4821     void onscroll(VARIANT v);
4822
4823     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
4824     VARIANT onscroll();
4825
4826     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
4827     void ondrag(VARIANT v);
4828
4829     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
4830     VARIANT ondrag();
4831
4832     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
4833     void ondragend(VARIANT v);
4834
4835     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
4836     VARIANT ondragend();
4837
4838     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
4839     void ondragenter(VARIANT v);
4840
4841     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
4842     VARIANT ondragenter();
4843
4844     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
4845     void ondragover(VARIANT v);
4846
4847     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
4848     VARIANT ondragover();
4849
4850     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
4851     void ondragleave(VARIANT v);
4852
4853     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
4854     VARIANT ondragleave();
4855
4856     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
4857     void ondrop(VARIANT v);
4858
4859     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
4860     VARIANT ondrop();
4861
4862     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
4863     void onbeforecut(VARIANT v);
4864
4865     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
4866     VARIANT onbeforecut();
4867
4868     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
4869     void oncut(VARIANT v);
4870
4871     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
4872     VARIANT oncut();
4873
4874     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
4875     void onbeforecopy(VARIANT v);
4876
4877     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
4878     VARIANT onbeforecopy();
4879
4880     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
4881     void oncopy(VARIANT v);
4882
4883     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
4884     VARIANT oncopy();
4885
4886     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
4887     void onbeforepaste(VARIANT v);
4888
4889     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
4890     VARIANT onbeforepaste();
4891
4892     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
4893     void onpaste(VARIANT v);
4894
4895     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
4896     VARIANT onpaste();
4897
4898     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
4899     IHTMLCurrentStyle *currentStyle();
4900
4901     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
4902     void onpropertychange(VARIANT v);
4903
4904     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
4905     VARIANT onpropertychange();
4906
4907     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
4908     IHTMLRectCollection *getClientRects();
4909
4910     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
4911     IHTMLRect *getBoundingClientRect();
4912
4913     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
4914     void setExpression(
4915             [in] BSTR propname,
4916             [in] BSTR expression,
4917             [in, defaultvalue("")] BSTR language);
4918
4919     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
4920     VARIANT getExpression([in] BSTR propname);
4921
4922     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
4923     VARIANT_BOOL removeExpression([in] BSTR propname);
4924
4925     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
4926     void tabIndex(short v);
4927
4928     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
4929     short tabIndex();
4930
4931     [id(DISPID_IHTMLELEMENT2_FOCUS)]
4932     void focus();
4933
4934     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
4935     void accessKey(BSTR v);
4936
4937     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
4938     BSTR accessKey();
4939
4940     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
4941     void onblur(VARIANT v);
4942
4943     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
4944     VARIANT onblur();
4945
4946     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
4947     void onfocus(VARIANT v);
4948
4949     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
4950     VARIANT onfocus();
4951
4952     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
4953     void onresize(VARIANT v);
4954
4955     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
4956     VARIANT onresize();
4957
4958     [id(DISPID_IHTMLELEMENT2_BLUR)]
4959     void blur();
4960
4961     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
4962     void addFilter([in] IUnknown *pUnk);
4963
4964     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
4965     void removeFilter([in] IUnknown *pUnk);
4966
4967     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
4968     LONG clientHeight();
4969
4970     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
4971     LONG clientWidth();
4972
4973     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
4974     LONG clientTop();
4975
4976     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
4977     LONG clientLeft();
4978
4979     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
4980     VARIANT_BOOL attachEvent(
4981             [in] BSTR event,
4982             [in] IDispatch *pDisp);
4983
4984     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
4985     void detachEvent(
4986             [in] BSTR event,
4987             [in] IDispatch *pDisp);
4988
4989     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
4990     VARIANT readyState();
4991
4992     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
4993     void onreadystatechange(VARIANT v);
4994
4995     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
4996     VARIANT onreadystatechange();
4997
4998     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
4999     void onrowsdelete(VARIANT v);
5000
5001     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
5002     VARIANT onrowsdelete();
5003
5004     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
5005     void onrowsinserted(VARIANT v);
5006
5007     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
5008      VARIANT onrowsinserted();
5009
5010     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
5011      void oncellchange(VARIANT v);
5012
5013     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
5014     VARIANT oncellchange();
5015
5016     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
5017     void dir(BSTR v);
5018
5019     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
5020     BSTR dir();
5021
5022     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
5023     IDispatch *createControlRange();
5024
5025     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
5026     LONG scrollHeight();
5027
5028     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
5029     LONG scrollWidth();
5030
5031     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
5032     void scrollTop(LONG v);
5033
5034     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
5035     LONG scrollTop();
5036
5037     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
5038     void scrollLeft(LONG v);
5039
5040     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
5041     LONG scrollLeft();
5042
5043     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
5044     void clearAttributes();
5045
5046     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
5047     void oncontextmenu(VARIANT v);
5048
5049     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
5050     VARIANT oncontextmenu();
5051
5052     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
5053     IHTMLElement *insertAdjacentElement(
5054             [in] BSTR where,
5055             [in] IHTMLElement *insertedElement);
5056
5057     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
5058     IHTMLElement *applyElement(
5059             [in] IHTMLElement *apply,
5060             [in] BSTR where);
5061
5062     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
5063     BSTR getAdjacentText([in] BSTR where);
5064
5065     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
5066     BSTR replaceAdjacentText(
5067             [in] BSTR where,
5068             [in] BSTR newText);
5069
5070     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
5071     VARIANT_BOOL canHaveChildren();
5072
5073     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
5074     LONG addBehavior(
5075             [in] BSTR bstrUrl,
5076             [in, optional] VARIANT *pvarFactory);
5077
5078     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
5079     VARIANT_BOOL removeBehavior([in] LONG cookie);
5080
5081     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
5082     IHTMLStyle *runtimeStyle();
5083
5084     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
5085     IDispatch *behaviorUrns();
5086
5087     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
5088     void tagUrn(BSTR v);
5089
5090     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
5091     BSTR tagUrn();
5092
5093     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
5094     void onbeforeeditfocus(VARIANT v);
5095
5096     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
5097     VARIANT onbeforeeditfocus();
5098
5099     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
5100     LONG readyStateValue();
5101
5102     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
5103     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
5104
5105     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
5106     void mergeAttributes(
5107             [in] IHTMLElement *mergeThis,
5108             [in, optional] VARIANT *pvarFlags);
5109
5110     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
5111     VARIANT_BOOL isMultiLine();
5112
5113     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
5114     VARIANT_BOOL canHaveHTML();
5115
5116     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
5117     void onlayoutcomplete(VARIANT v);
5118
5119     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
5120     VARIANT onlayoutcomplete();
5121
5122     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
5123     void onpage(VARIANT v);
5124
5125     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
5126     VARIANT onpage();
5127
5128     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
5129     void inflateBlock(VARIANT_BOOL v);
5130
5131     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
5132     VARIANT_BOOL inflateBlock();
5133
5134     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
5135     void onbeforedeactivate(VARIANT v);
5136
5137     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
5138     VARIANT onbeforedeactivate();
5139
5140     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
5141     void setActive();
5142
5143     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
5144     void contentEditable(BSTR v);
5145
5146     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
5147     BSTR contentEditable();
5148
5149     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
5150     VARIANT_BOOL isContentEditable();
5151
5152     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
5153     void hideFocus(VARIANT_BOOL v);
5154
5155     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
5156     VARIANT_BOOL hideFocus();
5157
5158     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
5159     void disabled(VARIANT_BOOL v);
5160
5161     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
5162     VARIANT_BOOL disabled();
5163
5164     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
5165     VARIANT_BOOL isDisabled();
5166
5167     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
5168     void onmove(VARIANT v);
5169
5170     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
5171     VARIANT onmove();
5172
5173     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
5174     void oncontrolselect(VARIANT v);
5175
5176     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
5177     VARIANT oncontrolselect();
5178
5179     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
5180     VARIANT_BOOL fireEvent(
5181             [in] BSTR bstrEventName,
5182             [in, optional] VARIANT *pvarEventObject);
5183
5184     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
5185     void onresizestart(VARIANT v);
5186
5187     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
5188     VARIANT onresizestart();
5189
5190     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
5191     void onresizeend(VARIANT v);
5192
5193     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
5194     VARIANT onresizeend();
5195
5196     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
5197     void onmovestart(VARIANT v);
5198
5199     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
5200     VARIANT onmovestart();
5201
5202     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
5203     void onmoveend(VARIANT v);
5204
5205     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
5206     VARIANT onmoveend();
5207
5208     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
5209     void onmouseenter(VARIANT v);
5210
5211     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
5212     VARIANT onmouseenter();
5213
5214     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
5215     void onmouseleave(VARIANT v);
5216
5217     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
5218     VARIANT onmouseleave();
5219
5220     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
5221     void onactivate(VARIANT v);
5222
5223     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
5224     VARIANT onactivate();
5225
5226     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
5227     void ondeactivate(VARIANT v);
5228
5229     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
5230     VARIANT ondeactivate();
5231
5232     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
5233     VARIANT_BOOL dragDrop();
5234
5235     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
5236     LONG glyphMode();
5237
5238     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
5239     void onmousewheel(VARIANT v);
5240
5241     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
5242     VARIANT onmousewheel();
5243
5244     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
5245     void normalize();
5246
5247     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
5248     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
5249
5250     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
5251     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
5252
5253     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
5254     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
5255
5256     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
5257     void onbeforeactivate(VARIANT v);
5258
5259     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
5260     VARIANT onbeforeactivate();
5261
5262     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
5263     void onfocusin(VARIANT v);
5264
5265     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
5266     VARIANT onfocusin();
5267
5268     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
5269     void onfocusout(VARIANT v);
5270
5271     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
5272     VARIANT onfocusout();
5273
5274     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
5275     LONG uniqueNumber();
5276
5277     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
5278     BSTR uniqueID();
5279
5280     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
5281     LONG nodeType();
5282
5283     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
5284     IHTMLDOMNode *parentNode();
5285
5286     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
5287     VARIANT_BOOL hasChildNodes();
5288
5289     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
5290     IDispatch *childNodes();
5291
5292     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
5293     IDispatch *attributes();
5294
5295     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
5296     IHTMLDOMNode *insertBefore(
5297             [in] IHTMLDOMNode *newChild,
5298             [in, optional] VARIANT refChild);
5299
5300     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
5301     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
5302
5303     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
5304     IHTMLDOMNode *replaceChild(
5305             [in] IHTMLDOMNode *newChild,
5306             [in] IHTMLDOMNode *oldChild);
5307
5308     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
5309     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
5310
5311     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
5312     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
5313
5314     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
5315     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
5316
5317     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
5318     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
5319
5320     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
5321     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
5322
5323     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
5324     BSTR nodeName();
5325
5326     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
5327     void nodeValue(VARIANT v);
5328
5329     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
5330     VARIANT nodeValue();
5331
5332     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
5333     IHTMLDOMNode *firstChild();
5334
5335     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
5336     IHTMLDOMNode *lastChild();
5337
5338     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
5339     IHTMLDOMNode *previousSibling();
5340
5341     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
5342     IHTMLDOMNode *nextSibling();
5343
5344     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
5345     IDispatch *ownerDocument();
5346
5347     [propget, id(DISPID_IHTMLGENERICELEMENT_RECORDSET), hidden]
5348     IDispatch *recordset();
5349
5350     [id(DISPID_IHTMLGENERICELEMENT_NAMEDRECORDSET)]
5351     IDispatch *namedRecordset(
5352             [in] BSTR dataMember,
5353             [in, optional] VARIANT *hierarchy);
5354 }
5355
5356 /*****************************************************************************
5357  *    IHTMLStyleSheetRule interface
5358  */
5359 [
5360     odl,
5361     oleautomation,
5362     dual,
5363     uuid(3050F357-98B5-11CF-BB82-00AA00BDCE0B)
5364 ]
5365 interface IHTMLStyleSheetRule : IDispatch
5366 {
5367     [propput, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)]
5368     HRESULT selectorText([in] BSTR v);
5369
5370     [propget, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)]
5371     HRESULT selectorText([retval, out] BSTR *p);
5372
5373     [propget, id(DISPID_IHTMLSTYLESHEETRULE_STYLE)]
5374     HRESULT style([retval, out] IHTMLRuleStyle **p);
5375
5376     [propget, id(DISPID_IHTMLSTYLESHEETRULE_READONLY)]
5377     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
5378 }
5379
5380 /*****************************************************************************
5381  *    IHTMLStyleSheetRulesCollection interface
5382  */
5383 [
5384     odl,
5385     oleautomation,
5386     dual,
5387     uuid(3050F2E5-98B5-11Cf-BB82-00AA00BDCE0B)
5388 ]
5389 interface IHTMLStyleSheetRulesCollection : IDispatch
5390 {
5391     [propget, id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_LENGTH)]
5392     HRESULT length([retval, out] LONG *p);
5393
5394     [id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_ITEM)]
5395     HRESULT item(
5396         [in] LONG index,
5397         [retval, out] IHTMLStyleSheetRule **ppHTMLStyleSheetRule);
5398 }
5399
5400 [
5401     odl,
5402     oleautomation,
5403     dual,
5404     uuid(3050f7ee-98b5-11cf-bb82-00aa00bdce0b)
5405 ]
5406 interface IHTMLStyleSheetPage : IDispatch
5407 {
5408     [propget, id(DISPID_IHTMLSTYLESHEETPAGE_SELECTOR)]
5409     HRESULT selector([retval, out] BSTR *p);
5410
5411     [propget, id(DISPID_IHTMLSTYLESHEETPAGE_PSEUDOCLASS)]
5412     HRESULT pseudoClass([retval, out] BSTR *p);
5413 }
5414
5415 [
5416     odl,
5417     oleautomation,
5418     dual,
5419     uuid(3050f7f0-98b5-11cf-bb82-00aa00bdce0b)
5420 ]
5421 interface IHTMLStyleSheetPagesCollection : IDispatch
5422 {
5423     [propget, id(DISPID_IHTMLSTYLESHEETPAGESCOLLECTION_LENGTH)]
5424     HRESULT length([retval, out] LONG *p);
5425
5426     [id(DISPID_IHTMLSTYLESHEETPAGESCOLLECTION_ITEM)]
5427     HRESULT item(
5428         [in] LONG index,
5429         [retval, out] IHTMLStyleSheetPage **ppHTMLStyleSheetPage);
5430 }
5431
5432 /*****************************************************************************
5433  *    IHTMLStyleSheet interface
5434  */
5435 [
5436     odl,
5437     oleautomation,
5438     dual,
5439     uuid(3050F2E3-98B5-11CF-BB82-00AA00BDCE0B)
5440 ]
5441 interface IHTMLStyleSheet : IDispatch
5442 {
5443     [propput, id(DISPID_IHTMLSTYLESHEET_TITLE)]
5444     HRESULT title([in] BSTR v);
5445
5446     [propget, id(DISPID_IHTMLSTYLESHEET_TITLE)]
5447     HRESULT title([retval, out] BSTR *p);
5448
5449     [propget, id(DISPID_IHTMLSTYLESHEET_PARENTSTYLESHEET)]
5450     HRESULT parentStyleSheet([retval, out] IHTMLStyleSheet **p);
5451
5452     [propget, id(DISPID_IHTMLSTYLESHEET_OWNINGELEMENT)]
5453     HRESULT owningElement([retval, out] IHTMLElement **p);
5454
5455     [propput, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
5456     HRESULT disabled([in] VARIANT_BOOL v);
5457
5458     [propget, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
5459     HRESULT disabled([retval, out] VARIANT_BOOL *p);
5460
5461     [propget, id(DISPID_IHTMLSTYLESHEET_READONLY)]
5462     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
5463
5464     [propget, id(DISPID_IHTMLSTYLESHEET_IMPORTS)]
5465     HRESULT imports([retval, out] IHTMLStyleSheetsCollection **p);
5466
5467     [propput, id(DISPID_IHTMLSTYLESHEET_HREF)]
5468     HRESULT href([in] BSTR v);
5469
5470     [propget, id(DISPID_IHTMLSTYLESHEET_HREF)]
5471     HRESULT href([retval, out] BSTR *p);
5472
5473     [propget, id(DISPID_IHTMLSTYLESHEET_TYPE)]
5474     HRESULT type([retval, out] BSTR *p);
5475
5476     [propget, id(DISPID_IHTMLSTYLESHEET_ID)]
5477     HRESULT id([retval, out] BSTR *p);
5478
5479     [id(DISPID_IHTMLSTYLESHEET_ADDIMPORT)]
5480     HRESULT addImport(
5481         [in] BSTR bstrURL,
5482         [defaultvalue(-1), in] LONG lIndex,
5483         [retval, out] LONG *plIndex);
5484
5485     [id(DISPID_IHTMLSTYLESHEET_ADDRULE)]
5486     HRESULT addRule(
5487         [in] BSTR bstrSelector,
5488         [in] BSTR bstrStyle,
5489         [defaultvalue(-1), in] LONG lIndex,
5490         [retval, out] LONG *plNewIndex);
5491
5492     [id(DISPID_IHTMLSTYLESHEET_REMOVEIMPORT)]
5493     HRESULT removeImport([in] LONG lIndex);
5494
5495     [id(DISPID_IHTMLSTYLESHEET_REMOVERULE)]
5496     HRESULT removeRule([in] LONG lIndex);
5497
5498     [propput, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
5499     HRESULT media([in] BSTR v);
5500
5501     [propget, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
5502     HRESULT media([retval, out] BSTR *p);
5503
5504     [propput, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
5505     HRESULT cssText([in] BSTR v);
5506
5507     [propget, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
5508     HRESULT cssText([retval, out] BSTR *p);
5509
5510     [propget, id(DISPID_IHTMLSTYLESHEET_RULES)]
5511     HRESULT rules([retval, out] IHTMLStyleSheetRulesCollection **p);
5512 }
5513
5514 /*****************************************************************************
5515  *    IHTMLStyleSheet2 interface
5516  */
5517 [
5518     odl,
5519     oleautomation,
5520     dual,
5521     uuid(3050f3d1-98b5-11cf-bb82-00aa00bdce0b)
5522 ]
5523 interface IHTMLStyleSheet2 : IDispatch
5524 {
5525     [propget, id(DISPID_IHTMLSTYLESHEET2_PAGES)]
5526     HRESULT pages([retval, out] IHTMLStyleSheetPagesCollection **p);
5527
5528     [id(DISPID_IHTMLSTYLESHEET2_ADDPAGERULE)]
5529     HRESULT addPageRule(
5530         [in] BSTR bstrSelector,
5531         [in] BSTR bstrStyle,
5532         [defaultvalue(-1), in] LONG lIndex,
5533         [retval, out] LONG *plNewIndex);
5534 }
5535
5536 [
5537     hidden,
5538     uuid(3050f58d-98b5-11cf-bb82-00aa00bdce0b)
5539 ]
5540 dispinterface DispHTMLStyleSheet
5541 {
5542 properties:
5543 methods:
5544     [propput, id(DISPID_IHTMLSTYLESHEET_TITLE)]
5545     void title(BSTR v);
5546
5547     [propget, id(DISPID_IHTMLSTYLESHEET_TITLE)]
5548     BSTR title();
5549
5550     [propget, id(DISPID_IHTMLSTYLESHEET_PARENTSTYLESHEET)]
5551     IHTMLStyleSheet* parentStyleSheet();
5552
5553     [propget, id(DISPID_IHTMLSTYLESHEET_OWNINGELEMENT)]
5554     IHTMLElement* owningElement();
5555
5556     [propput, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
5557     void disabled(VARIANT_BOOL v);
5558
5559     [propget, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
5560     VARIANT_BOOL disabled();
5561
5562     [propget, id(DISPID_IHTMLSTYLESHEET_READONLY)]
5563     VARIANT_BOOL readOnly();
5564
5565     [propget, id(DISPID_IHTMLSTYLESHEET_IMPORTS)]
5566     IHTMLStyleSheetsCollection* imports();
5567
5568     [propput, id(DISPID_IHTMLSTYLESHEET_HREF)]
5569     void href(BSTR v);
5570
5571     [propget, id(DISPID_IHTMLSTYLESHEET_HREF)]
5572     BSTR href();
5573
5574     [propget, id(DISPID_IHTMLSTYLESHEET_TYPE)]
5575     BSTR type();
5576
5577     [propget, id(DISPID_IHTMLSTYLESHEET_ID)]
5578     BSTR id();
5579
5580     [id(DISPID_IHTMLSTYLESHEET_ADDIMPORT)]
5581     LONG addImport(
5582         [in] BSTR bstrURL,
5583         [defaultvalue(-1), in] LONG lIndex);
5584
5585     [id(DISPID_IHTMLSTYLESHEET_ADDRULE)]
5586     LONG addRule(
5587         [in] BSTR bstrSelector,
5588         [in] BSTR bstrStyle,
5589         [defaultvalue(-1), in] LONG lIndex);
5590
5591     [id(DISPID_IHTMLSTYLESHEET_REMOVEIMPORT)]
5592     void removeImport([in] LONG lIndex);
5593
5594     [id(DISPID_IHTMLSTYLESHEET_REMOVERULE)]
5595     void removeRule([in] LONG lIndex);
5596
5597     [propput, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
5598     void media(BSTR v);
5599
5600     [propget, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
5601     BSTR media();
5602
5603     [propput, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
5604     void cssText(BSTR v);
5605
5606     [propget, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
5607     BSTR cssText();
5608
5609     [propget, id(DISPID_IHTMLSTYLESHEET_RULES)]
5610     IHTMLStyleSheetRulesCollection* rules();
5611
5612     [propget, id(DISPID_IHTMLSTYLESHEET2_PAGES)]
5613     IHTMLStyleSheetPagesCollection* pages();
5614
5615     [id(DISPID_IHTMLSTYLESHEET2_ADDPAGERULE)]
5616     LONG addPageRule(
5617         [in] BSTR bstrSelector,
5618         [in] BSTR bstrStyle,
5619         [defaultvalue(-1), in] LONG lIndex);
5620 }
5621
5622 [
5623     noncreatable,
5624     uuid(3050f2e4-98b5-11cf-bb82-00aa00bdce0b)
5625 ]
5626 coclass HTMLStyleSheet
5627 {
5628     [default]           dispinterface DispHTMLStyleSheet;
5629                         interface IHTMLStyleSheet;
5630                         interface IHTMLStyleSheet2;
5631 }
5632
5633 /*****************************************************************************
5634  *    IHTMLStyleSheetsCollection interface
5635  */
5636 [
5637     odl,
5638     oleautomation,
5639     dual,
5640     uuid(3050F37E-98B5-11CF-BB82-00AA00BDCE0B)
5641 ]
5642 interface IHTMLStyleSheetsCollection : IDispatch
5643 {
5644     [propget, id(DISPID_IHTMLSTYLESHEETSCOLLECTION_LENGTH)]
5645     HRESULT length([retval, out] LONG *p);
5646
5647     [propget, id(DISPID_IHTMLSTYLESHEETSCOLLECTION__NEWENUM)]
5648     HRESULT _newEnum([retval, out] IUnknown **p);
5649
5650     [id(DISPID_IHTMLSTYLESHEETSCOLLECTION_ITEM)]
5651     HRESULT item(
5652         [in] VARIANT *pvarIndex,
5653         [retval, out] VARIANT *pvarResult);
5654 }
5655
5656 /*****************************************************************************
5657  *    IHTMLTxtRange interface
5658  */
5659 [
5660     odl,
5661     oleautomation,
5662     dual,
5663     uuid(3050f220-98b5-11cf-bb82-00aa00bdce0b)
5664 ]
5665 interface IHTMLTxtRange : IDispatch
5666 {
5667     [propget, id(DISPID_IHTMLTXTRANGE_HTMLTEXT)]
5668     HRESULT htmlText([retval, out] BSTR *p);
5669
5670     [propput, id(DISPID_IHTMLTXTRANGE_TEXT)]
5671     HRESULT text([in] BSTR v);
5672
5673     [propget, id(DISPID_IHTMLTXTRANGE_TEXT)]
5674     HRESULT text([retval, out] BSTR *p);
5675
5676     [id(DISPID_IHTMLTXTRANGE_PARENTELEMENT)]
5677     HRESULT parentElement([retval, out] IHTMLElement **parent);
5678
5679     [id(DISPID_IHTMLTXTRANGE_DUPLICATE)]
5680     HRESULT duplicate([retval, out] IHTMLTxtRange **Duplicate);
5681
5682     [id(DISPID_IHTMLTXTRANGE_INRANGE)]
5683     HRESULT inRange(
5684         [in] IHTMLTxtRange *Range,
5685         [retval, out] VARIANT_BOOL *InRange);
5686
5687     [id(DISPID_IHTMLTXTRANGE_ISEQUAL)]
5688     HRESULT isEqual(
5689         [in] IHTMLTxtRange *Range,
5690         [retval, out] VARIANT_BOOL *IsEqual);
5691
5692     [id(DISPID_IHTMLTXTRANGE_SCROLLINTOVIEW)]
5693     HRESULT scrollIntoView([defaultvalue(-1), in] VARIANT_BOOL fStart);
5694
5695     [id(DISPID_IHTMLTXTRANGE_COLLAPSE)]
5696     HRESULT collapse([defaultvalue(-1), in] VARIANT_BOOL Start);
5697
5698     [id(DISPID_IHTMLTXTRANGE_EXPAND)]
5699     HRESULT expand(
5700         [in] BSTR Unit,
5701         [retval, out] VARIANT_BOOL *Success);
5702
5703     [id(DISPID_IHTMLTXTRANGE_MOVE)]
5704     HRESULT move(
5705         [in] BSTR Unit,
5706         [defaultvalue(1), in] LONG Count,
5707         [retval, out] LONG *ActualCount);
5708
5709     [id(DISPID_IHTMLTXTRANGE_MOVESTART)]
5710     HRESULT moveStart(
5711         [in] BSTR Unit,
5712         [defaultvalue(1), in] LONG Count,
5713         [retval, out] LONG *ActualCount);
5714
5715     [id(DISPID_IHTMLTXTRANGE_MOVEEND)]
5716     HRESULT moveEnd(
5717         [in] BSTR Unit,
5718         [defaultvalue(1), in] LONG Count,
5719         [retval, out] LONG *ActualCount);
5720
5721     [id(DISPID_IHTMLTXTRANGE_SELECT)]
5722     HRESULT select();
5723
5724     [id(DISPID_IHTMLTXTRANGE_PASTEHTML)]
5725     HRESULT pasteHTML([in] BSTR html);
5726
5727     [id(DISPID_IHTMLTXTRANGE_MOVETOELEMENTTEXT)]
5728     HRESULT moveToElementText([in] IHTMLElement *element);
5729
5730     [id(DISPID_IHTMLTXTRANGE_SETENDPOINT)]
5731     HRESULT setEndPoint(
5732         [in] BSTR how,
5733         [in] IHTMLTxtRange *SourceRange);
5734
5735     [id(DISPID_IHTMLTXTRANGE_COMPAREENDPOINTS)]
5736     HRESULT compareEndPoints(
5737         [in] BSTR how,
5738         [in] IHTMLTxtRange *SourceRange,
5739         [retval, out] LONG *ret);
5740
5741     [id(DISPID_IHTMLTXTRANGE_FINDTEXT)]
5742     HRESULT findText(
5743         [in] BSTR String,
5744         [defaultvalue(1073741823), in] LONG count,
5745         [defaultvalue(0), in] LONG Flags,
5746         [retval, out] VARIANT_BOOL *Success);
5747
5748     [id(DISPID_IHTMLTXTRANGE_MOVETOPOINT)]
5749     HRESULT moveToPoint(
5750         [in] LONG x,
5751         [in] LONG y);
5752
5753     [id(DISPID_IHTMLTXTRANGE_GETBOOKMARK)]
5754     HRESULT getBookmark([retval, out] BSTR *Boolmark);
5755
5756     [id(DISPID_IHTMLTXTRANGE_MOVETOBOOKMARK)]
5757     HRESULT moveToBookmark(
5758         [in] BSTR Bookmark,
5759         [retval, out] VARIANT_BOOL *Success);
5760
5761     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDSUPPORTED)]
5762     HRESULT queryCommandSupported(
5763         [in] BSTR cmdID,
5764         [retval, out] VARIANT_BOOL *pfRet);
5765
5766     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDENABLED)]
5767     HRESULT queryCommandEnabled(
5768         [in] BSTR cmdID,
5769         [retval, out] VARIANT_BOOL *pfRet);
5770
5771     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDSTATE)]
5772     HRESULT queryCommandState(
5773         [in] BSTR cmdID,
5774         [retval, out] VARIANT_BOOL *pfRet);
5775
5776     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDINDETERM)]
5777     HRESULT queryCommandIndeterm(
5778         [in] BSTR cmdID,
5779         [retval, out] VARIANT_BOOL *pfRet);
5780
5781     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDTEXT)]
5782     HRESULT queryCommandText(
5783         [in] BSTR cmdID,
5784         [retval, out] BSTR *pcmdText);
5785
5786     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDVALUE)]
5787     HRESULT queryCommandValue(
5788         [in] BSTR cmdID,
5789         [retval, out] VARIANT *pcmdValue);
5790
5791     [id(DISPID_IHTMLTXTRANGE_EXECCOMMAND)]
5792     HRESULT execCommand(
5793         [in] BSTR cmdID,
5794         [defaultvalue(0), in] VARIANT_BOOL showUI,
5795         [optional, in] VARIANT value,
5796         [retval, out] VARIANT_BOOL *pfRet);
5797
5798     [id(DISPID_IHTMLTXTRANGE_EXECCOMMANDSHOWHELP)]
5799     HRESULT execCommandShowHelp(
5800         [in] BSTR cmdID,
5801         [retval, out] VARIANT_BOOL *pfRet);
5802 }
5803
5804 [
5805     noncreatable,
5806     uuid(3050f37f-98b5-11cf-bb82-00aa00bdce0b)
5807 ]
5808 coclass HTMLStyleSheetsCollection
5809 {
5810     [default]           interface IHTMLStyleSheetsCollection;
5811 }
5812
5813 /*****************************************************************************
5814  *    IHTMLFormElement interface
5815  */
5816 [
5817     odl,
5818     oleautomation,
5819     dual,
5820     uuid(3050F1F7-98B5-11CF-BB82-00AA00BDCE0B)
5821 ]
5822 interface IHTMLFormElement : IDispatch
5823 {
5824     [propput, id(DISPID_IHTMLFORMELEMENT_ACTION)]
5825     HRESULT action([in] BSTR v);
5826
5827     [propget, id(DISPID_IHTMLFORMELEMENT_ACTION)]
5828     HRESULT action([retval, out] BSTR *p);
5829
5830     [propput, id(DISPID_IHTMLFORMELEMENT_DIR)]
5831     HRESULT dir([in] BSTR v);
5832
5833     [propget, id(DISPID_IHTMLFORMELEMENT_DIR)]
5834     HRESULT dir([retval, out] BSTR *p);
5835
5836     [propput, id(DISPID_IHTMLFORMELEMENT_ENCODING)]
5837     HRESULT encoding([in] BSTR v);
5838
5839     [propget, id(DISPID_IHTMLFORMELEMENT_ENCODING)]
5840     HRESULT encoding([retval, out] BSTR *p);
5841
5842     [propput, id(DISPID_IHTMLFORMELEMENT_METHOD)]
5843     HRESULT method([in] BSTR v);
5844
5845     [propget, id(DISPID_IHTMLFORMELEMENT_METHOD)]
5846     HRESULT method([retval, out] BSTR *p);
5847
5848     [propget, id(DISPID_IHTMLFORMELEMENT_ELEMENTS)]
5849     HRESULT elements([retval, out] IDispatch **p);
5850
5851     [propput, id(DISPID_IHTMLFORMELEMENT_TARGET)]
5852     HRESULT target([in] BSTR v);
5853
5854     [propget, id(DISPID_IHTMLFORMELEMENT_TARGET)]
5855     HRESULT target([retval, out] BSTR *p);
5856
5857     [propput, id(DISPID_IHTMLFORMELEMENT_NAME)]
5858     HRESULT name([in] BSTR v);
5859
5860     [propget, id(DISPID_IHTMLFORMELEMENT_NAME)]
5861     HRESULT name([retval, out] BSTR *p);
5862
5863     [propput, id(DISPID_IHTMLFORMELEMENT_ONSUBMIT)]
5864     HRESULT onsubmit([in] VARIANT v);
5865
5866     [propget, id(DISPID_IHTMLFORMELEMENT_ONSUBMIT)]
5867     HRESULT onsubmit([retval, out] VARIANT *p);
5868
5869     [propput, id(DISPID_IHTMLFORMELEMENT_ONRESET)]
5870     HRESULT onreset([in] VARIANT v);
5871
5872     [propget, id(DISPID_IHTMLFORMELEMENT_ONRESET)]
5873     HRESULT onreset([retval, out] VARIANT *p);
5874
5875     [id(DISPID_IHTMLFORMELEMENT_SUBMIT)]
5876     HRESULT submit();
5877
5878     [id(DISPID_IHTMLFORMELEMENT_RESET)]
5879     HRESULT reset();
5880
5881     [propput, id(DISPID_IHTMLFORMELEMENT_LENGTH)]
5882     HRESULT length([in] LONG v);
5883
5884     [propget, id(DISPID_IHTMLFORMELEMENT_LENGTH)]
5885     HRESULT length([retval, out] LONG *p);
5886
5887     [propget, id(DISPID_IHTMLFORMELEMENT__NEWENUM)]
5888     HRESULT _newEnum([retval, out] IUnknown **p);
5889
5890     [id(DISPID_IHTMLFORMELEMENT_ITEM)]
5891     HRESULT item(
5892         [optional, in] VARIANT name,
5893         [optional, in] VARIANT index,
5894         [retval, out] IDispatch **pdisp);
5895
5896     [id(DISPID_IHTMLFORMELEMENT_TAGS)]
5897     HRESULT tags(
5898         [in] VARIANT tagName,
5899         [retval, out] IDispatch **pdisp);
5900 }
5901
5902 /*****************************************************************************
5903  *    IHTMLTextContainer interface
5904  */
5905 [
5906     odl,
5907     oleautomation,
5908     dual,
5909     uuid(3050f230-98b5-11cf-bb82-00aa00bdce0b)
5910 ]
5911 interface IHTMLTextContainer : IDispatch
5912 {
5913     [id(DISPID_IHTMLTEXTCONTAINER_CREATECONTROLRANGE)]
5914     HRESULT createControlRange([retval, out] IDispatch **range);
5915
5916     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLHEIGHT), displaybind, bindable]
5917     HRESULT scrollHeight([retval, out] LONG *p);
5918
5919     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLWIDTH), displaybind, bindable]
5920     HRESULT scrollWidth([retval, out] LONG *p);
5921
5922     [propput, id(DISPID_IHTMLTEXTCONTAINER_SCROLLTOP), displaybind, bindable]
5923     HRESULT scrollTop([in] LONG v);
5924
5925     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLTOP), displaybind, bindable]
5926     HRESULT scrollTop([retval, out] LONG *p);
5927
5928     [propput, id(DISPID_IHTMLTEXTCONTAINER_SCROLLLEFT), displaybind, bindable]
5929     HRESULT scrollLeft([in] LONG v);
5930
5931     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLLEFT), displaybind, bindable]
5932     HRESULT scrollLeft([retval, out] LONG *p);
5933
5934     [propput, id(DISPID_IHTMLTEXTCONTAINER_ONSCROLL), displaybind, bindable]
5935     HRESULT onscroll([in] VARIANT v);
5936
5937     [propget, id(DISPID_IHTMLTEXTCONTAINER_ONSCROLL), displaybind, bindable]
5938     HRESULT onscroll([retval, out] VARIANT *p);
5939 }
5940
5941 /*****************************************************************************
5942  *    IHTMLImgElement interface
5943  */
5944 [
5945     odl,
5946     oleautomation,
5947     dual,
5948     uuid(3050F240-98B5-11CF-BB82-00AA00BDCE0B)
5949 ]
5950 interface IHTMLImgElement : IDispatch
5951 {
5952     [propput, id(DISPID_IHTMLIMGELEMENT_ISMAP)]
5953     HRESULT isMap([in] VARIANT_BOOL v);
5954
5955     [propget, id(DISPID_IHTMLIMGELEMENT_ISMAP)]
5956     HRESULT isMap([retval, out] VARIANT_BOOL *p);
5957
5958     [propput, id(DISPID_IHTMLIMGELEMENT_USEMAP)]
5959     HRESULT useMap([in] BSTR v);
5960
5961     [propget, id(DISPID_IHTMLIMGELEMENT_USEMAP)]
5962     HRESULT useMap([retval, out] BSTR *p);
5963
5964     [propget, id(DISPID_IHTMLIMGELEMENT_MIMETYPE)]
5965     HRESULT mimeType([retval, out] BSTR *p);
5966
5967     [propget, id(DISPID_IHTMLIMGELEMENT_FILESIZE)]
5968     HRESULT fileSize([retval, out] BSTR *p);
5969
5970     [propget, id(DISPID_IHTMLIMGELEMENT_FILECREATEDDATE)]
5971     HRESULT fileCreatedDate([retval, out] BSTR *p);
5972
5973     [propget, id(DISPID_IHTMLIMGELEMENT_FILEMODIFIEDDATE)]
5974     HRESULT fileModifiedDate([retval, out] BSTR *p);
5975
5976     [propget, id(DISPID_IHTMLIMGELEMENT_FILEUPDATEDDATE)]
5977     HRESULT fileUpdatedDate([retval, out] BSTR *p);
5978
5979     [propget, id(DISPID_IHTMLIMGELEMENT_PROTOCOL)]
5980     HRESULT protocol([retval, out] BSTR *p);
5981
5982     [propget, id(DISPID_IHTMLIMGELEMENT_HREF)]
5983     HRESULT href([retval, out] BSTR *p);
5984
5985     [propget, id(DISPID_IHTMLIMGELEMENT_NAMEPROP)]
5986     HRESULT nameProp([retval, out] BSTR *p);
5987
5988     [propput, id(DISPID_IHTMLIMGELEMENT_BORDER)]
5989     HRESULT border([in] VARIANT v);
5990
5991     [propget, id(DISPID_IHTMLIMGELEMENT_BORDER)]
5992     HRESULT border([retval, out] VARIANT *p);
5993
5994     [propput, id(DISPID_IHTMLIMGELEMENT_VSPACE)]
5995     HRESULT vspace([in] LONG v);
5996
5997     [propget, id(DISPID_IHTMLIMGELEMENT_VSPACE)]
5998     HRESULT vspace([retval, out] LONG *p);
5999
6000     [propput, id(DISPID_IHTMLIMGELEMENT_HSPACE)]
6001     HRESULT hspace([in] LONG v);
6002
6003     [propget, id(DISPID_IHTMLIMGELEMENT_HSPACE)]
6004     HRESULT hspace([retval, out] LONG *p);
6005
6006     [propput, id(DISPID_IHTMLIMGELEMENT_ALT)]
6007     HRESULT alt([in] BSTR v);
6008
6009     [propget, id(DISPID_IHTMLIMGELEMENT_ALT)]
6010     HRESULT alt([retval, out] BSTR *p);
6011
6012     [propput, id(DISPID_IHTMLIMGELEMENT_SRC)]
6013     HRESULT src([in] BSTR v);
6014
6015     [propget, id(DISPID_IHTMLIMGELEMENT_SRC)]
6016     HRESULT src([retval, out] BSTR *p);
6017
6018     [propput, id(DISPID_IHTMLIMGELEMENT_LOWSRC)]
6019     HRESULT lowsrc([in] BSTR v);
6020
6021     [propget, id(DISPID_IHTMLIMGELEMENT_LOWSRC)]
6022     HRESULT lowsrc([retval, out] BSTR *p);
6023
6024     [propput, id(DISPID_IHTMLIMGELEMENT_VRML)]
6025     HRESULT vrml([in] BSTR v);
6026
6027     [propget, id(DISPID_IHTMLIMGELEMENT_VRML)]
6028     HRESULT vrml([retval, out] BSTR *p);
6029
6030     [propput, id(DISPID_IHTMLIMGELEMENT_DYNSRC)]
6031     HRESULT dynsrc([in] BSTR v);
6032
6033     [propget, id(DISPID_IHTMLIMGELEMENT_DYNSRC)]
6034     HRESULT dynsrc([retval, out] BSTR *p);
6035
6036     [propget, id(DISPID_IHTMLIMGELEMENT_READYSTATE)]
6037     HRESULT readyState([retval, out] BSTR *p);
6038
6039     [propget, id(DISPID_IHTMLIMGELEMENT_COMPLETE)]
6040     HRESULT complete([retval, out] VARIANT_BOOL *p);
6041
6042     [propput, id(DISPID_IHTMLIMGELEMENT_LOOP)]
6043     HRESULT loop([in] VARIANT v);
6044
6045     [propget, id(DISPID_IHTMLIMGELEMENT_LOOP)]
6046     HRESULT loop([retval, out] VARIANT *p);
6047
6048     [propput, id(DISPID_IHTMLIMGELEMENT_ALIGN)]
6049     HRESULT align([in] BSTR v);
6050
6051     [propget, id(DISPID_IHTMLIMGELEMENT_ALIGN)]
6052     HRESULT align([retval, out] BSTR *p);
6053
6054     [propput, id(DISPID_IHTMLIMGELEMENT_ONLOAD)]
6055     HRESULT onload([in] VARIANT v);
6056
6057     [propget, id(DISPID_IHTMLIMGELEMENT_ONLOAD)]
6058     HRESULT onload([retval, out] VARIANT *p);
6059
6060     [propput, id(DISPID_IHTMLIMGELEMENT_ONERROR)]
6061     HRESULT onerror([in] VARIANT v);
6062
6063     [propget, id(DISPID_IHTMLIMGELEMENT_ONERROR)]
6064     HRESULT onerror([retval, out] VARIANT *p);
6065
6066     [propput, id(DISPID_IHTMLIMGELEMENT_ONABORT)]
6067     HRESULT onabort([in] VARIANT v);
6068
6069     [propget, id(DISPID_IHTMLIMGELEMENT_ONABORT)]
6070     HRESULT onabort([retval, out] VARIANT *p);
6071
6072     [propput, id(DISPID_IHTMLIMGELEMENT_NAME)]
6073     HRESULT name([in] BSTR v);
6074
6075     [propget, id(DISPID_IHTMLIMGELEMENT_NAME)]
6076     HRESULT name([retval, out] BSTR *p);
6077
6078     [propput, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
6079     HRESULT width([in] LONG v);
6080
6081     [propget, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
6082     HRESULT width([retval, out] LONG *p);
6083
6084     [propput, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
6085     HRESULT height([in] LONG v);
6086
6087     [propget, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
6088     HRESULT height([retval, out] LONG *p);
6089
6090     [propput, id(DISPID_IHTMLIMGELEMENT_START)]
6091     HRESULT start([in] BSTR v);
6092
6093     [propget, id(DISPID_IHTMLIMGELEMENT_START)]
6094     HRESULT start([retval, out] BSTR *p);
6095 }
6096
6097 /*****************************************************************************
6098  *    IHTMLImageElementFactory interface
6099  */
6100 [
6101     odl,
6102     oleautomation,
6103     dual,
6104     uuid(3050F38E-98B5-11CF-BB82-00AAA0BDCE0B)
6105 ]
6106 interface IHTMLImageElementFactory : IDispatch
6107 {
6108     [id(DISPID_IHTMLIMAGEELEMENTFACTORY_CREATE)]
6109     HRESULT create(
6110         [optional, in] VARIANT width,
6111         [optional, in] VARIANT height,
6112         [retval, out]  IHTMLImgElement **elem);
6113 }
6114
6115 /*****************************************************************************
6116  *    DispHTMLImg interface
6117  */
6118 [
6119     hidden,
6120     uuid(3050f51c-98b5-11cf-bb82-00aa00bdce0b)
6121 ]
6122 dispinterface DispHTMLImg
6123 {
6124 properties:
6125 methods:
6126     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
6127     void setAttribute(
6128             [in] BSTR strAttributeName,
6129             [in] VARIANT AttributeValue,
6130             [in, defaultvalue(1)] LONG lFlags);
6131
6132     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
6133     VARIANT getAttribute(
6134              [in] BSTR strAttributeName,
6135              [in, defaultvalue(0)] LONG lFlags);
6136
6137     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
6138     VARIANT_BOOL removeAttribute(
6139             [in] BSTR strAttributeName,
6140             [in, defaultvalue(1)] LONG lFlags);
6141
6142     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
6143     void className(BSTR v);
6144
6145     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
6146     BSTR className();
6147
6148     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
6149     void id(BSTR v);
6150
6151     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
6152     BSTR id();
6153
6154     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
6155     BSTR tagName();
6156
6157     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
6158     IHTMLElement *parentElement();
6159
6160     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
6161     IHTMLStyle *style();
6162
6163     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
6164     void onhelp(VARIANT v);
6165
6166     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
6167     VARIANT onhelp();
6168
6169     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
6170     void onclick(VARIANT v);
6171
6172     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
6173     VARIANT onclick();
6174
6175     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
6176     void ondblclick(VARIANT v);
6177
6178     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
6179     VARIANT ondblclick();
6180
6181     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
6182     void onkeydown(VARIANT v);
6183
6184     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
6185     VARIANT onkeydown();
6186
6187     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
6188     void onkeyup(VARIANT v);
6189
6190     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
6191     VARIANT onkeyup();
6192
6193     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
6194     void onkeypress(VARIANT v);
6195
6196     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
6197     VARIANT onkeypress();
6198
6199     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
6200     void onmouseout(VARIANT v);
6201
6202     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
6203     VARIANT onmouseout();
6204
6205     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
6206     void onmouseover(VARIANT v);
6207
6208     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
6209     VARIANT onmouseover();
6210
6211     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
6212     void onmousemove(VARIANT v);
6213
6214     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
6215     VARIANT onmousemove();
6216
6217     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
6218     void onmousedown(VARIANT v);
6219
6220     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
6221     VARIANT onmousedown();
6222
6223     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
6224     void onmouseup(VARIANT v);
6225
6226     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
6227     VARIANT onmouseup();
6228
6229     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
6230     IDispatch *document();
6231
6232     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
6233     void title(BSTR v);
6234
6235     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
6236     BSTR title();
6237
6238     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
6239     void language(BSTR v);
6240
6241     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
6242     BSTR language();
6243
6244     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
6245     void onselectstart(VARIANT v);
6246
6247     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
6248     VARIANT onselectstart();
6249
6250     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
6251     void scrollIntoView([in, optional] VARIANT varargStart);
6252
6253     [id(DISPID_IHTMLELEMENT_CONTAINS)]
6254     VARIANT_BOOL contains([in] IHTMLElement *pChild);
6255
6256     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
6257     LONG sourceIndex();
6258
6259     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
6260     VARIANT recordNumber();
6261
6262     [propput, id(DISPID_IHTMLELEMENT_LANG)]
6263     void lang(BSTR v);
6264
6265     [propget, id(DISPID_IHTMLELEMENT_LANG)]
6266     BSTR lang();
6267
6268     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
6269     LONG offsetLeft();
6270
6271     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
6272     LONG offsetTop();
6273
6274     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
6275     LONG offsetWidth();
6276
6277     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
6278     LONG offsetHeight();
6279
6280     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
6281     IHTMLElement *offsetParent();
6282
6283     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
6284     void innerHTML(BSTR v);
6285
6286     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
6287     BSTR innerHTML();
6288
6289     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
6290     void innerText(BSTR v);
6291
6292     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
6293     BSTR innerText();
6294
6295     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
6296     void outerHTML(BSTR v);
6297
6298     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
6299     BSTR outerHTML();
6300
6301     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
6302     void outerText(BSTR v);
6303
6304     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
6305     BSTR outerText();
6306
6307     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
6308     void insertAdjacentHTML(
6309             [in] BSTR where,
6310             [in] BSTR html);
6311
6312     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
6313     void insertAdjacentText(
6314             [in] BSTR where,
6315             [in] BSTR text);
6316
6317     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
6318     IHTMLElement *parentTextEdit();
6319
6320     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
6321     VARIANT_BOOL isTextEdit();
6322
6323     [id(DISPID_IHTMLELEMENT_CLICK)]
6324     void click();
6325
6326     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
6327     IHTMLFiltersCollection *filters();
6328
6329     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
6330     void ondragstart(VARIANT v);
6331
6332     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
6333     VARIANT ondragstart();
6334
6335     [id(DISPID_IHTMLELEMENT_TOSTRING)]
6336     BSTR toString();
6337
6338     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
6339     void onbeforeupdate(VARIANT v);
6340
6341     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
6342     VARIANT onbeforeupdate();
6343
6344     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
6345     void onafterupdate(VARIANT v);
6346
6347     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
6348     VARIANT onafterupdate();
6349
6350     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
6351     void onerrorupdate(VARIANT v);
6352
6353     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
6354     VARIANT onerrorupdate();
6355
6356     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
6357     void onrowexit(VARIANT v);
6358
6359     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
6360     VARIANT onrowexit();
6361
6362     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
6363     void onrowenter(VARIANT v);
6364
6365     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
6366     VARIANT onrowenter();
6367
6368     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
6369     void ondatasetchanged(VARIANT v);
6370
6371     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
6372     VARIANT ondatasetchanged();
6373
6374     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
6375     void ondataavailable(VARIANT v);
6376
6377     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
6378     VARIANT ondataavailable();
6379
6380     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
6381     void ondatasetcomplete(VARIANT v);
6382
6383     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
6384     VARIANT ondatasetcomplete();
6385
6386     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
6387     void onfilterchange(VARIANT v);
6388
6389     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
6390     VARIANT onfilterchange();
6391
6392     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
6393     IDispatch *children();
6394
6395     [propget, id(DISPID_IHTMLELEMENT_ALL)]
6396     IDispatch *all();
6397
6398     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
6399     BSTR scopeName();
6400
6401     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
6402     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
6403
6404     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
6405     void releaseCapture();
6406
6407     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
6408     void onlosecapture(VARIANT v);
6409
6410     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
6411     VARIANT onlosecapture();
6412
6413     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
6414     BSTR componentFromPoint(
6415             [in] LONG x,
6416             [in] LONG y);
6417
6418     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
6419     void doScroll([in, optional] VARIANT component);
6420
6421     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
6422     void onscroll(VARIANT v);
6423
6424     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
6425     VARIANT onscroll();
6426
6427     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
6428     void ondrag(VARIANT v);
6429
6430     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
6431     VARIANT ondrag();
6432
6433     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
6434     void ondragend(VARIANT v);
6435
6436     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
6437     VARIANT ondragend();
6438
6439     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
6440     void ondragenter(VARIANT v);
6441
6442     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
6443     VARIANT ondragenter();
6444
6445     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
6446     void ondragover(VARIANT v);
6447
6448     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
6449     VARIANT ondragover();
6450
6451     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
6452     void ondragleave(VARIANT v);
6453
6454     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
6455     VARIANT ondragleave();
6456
6457     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
6458     void ondrop(VARIANT v);
6459
6460     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
6461     VARIANT ondrop();
6462
6463     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
6464     void onbeforecut(VARIANT v);
6465
6466     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
6467     VARIANT onbeforecut();
6468
6469     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
6470     void oncut(VARIANT v);
6471
6472     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
6473     VARIANT oncut();
6474
6475     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
6476     void onbeforecopy(VARIANT v);
6477
6478     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
6479     VARIANT onbeforecopy();
6480
6481     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
6482     void oncopy(VARIANT v);
6483
6484     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
6485     VARIANT oncopy();
6486
6487     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
6488     void onbeforepaste(VARIANT v);
6489
6490     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
6491     VARIANT onbeforepaste();
6492
6493     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
6494     void onpaste(VARIANT v);
6495
6496     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
6497     VARIANT onpaste();
6498
6499     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
6500     IHTMLCurrentStyle *currentStyle();
6501
6502     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
6503     void onpropertychange(VARIANT v);
6504
6505     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
6506     VARIANT onpropertychange();
6507
6508     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
6509     IHTMLRectCollection *getClientRects();
6510
6511     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
6512     IHTMLRect *getBoundingClientRect();
6513
6514     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
6515     void setExpression(
6516             [in] BSTR propname,
6517             [in] BSTR expression,
6518             [in, defaultvalue("")] BSTR language);
6519
6520     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
6521     VARIANT getExpression([in] BSTR propname);
6522
6523     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
6524     VARIANT_BOOL removeExpression([in] BSTR propname);
6525
6526     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
6527     void tabIndex(short v);
6528
6529     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
6530     short tabIndex();
6531
6532     [id(DISPID_IHTMLELEMENT2_FOCUS)]
6533     void focus();
6534
6535     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
6536     void accessKey(BSTR v);
6537
6538     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
6539     BSTR accessKey();
6540
6541     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
6542     void onblur(VARIANT v);
6543
6544     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
6545     VARIANT onblur();
6546
6547     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
6548     void onfocus(VARIANT v);
6549
6550     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
6551     VARIANT onfocus();
6552
6553     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
6554     void onresize(VARIANT v);
6555
6556     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
6557     VARIANT onresize();
6558
6559     [id(DISPID_IHTMLELEMENT2_BLUR)]
6560     void blur();
6561
6562     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
6563     void addFilter([in] IUnknown *pUnk);
6564
6565     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
6566     void removeFilter([in] IUnknown *pUnk);
6567
6568     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
6569     LONG clientHeight();
6570
6571     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
6572     LONG clientWidth();
6573
6574     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
6575     LONG clientTop();
6576
6577     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
6578     LONG clientLeft();
6579
6580     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
6581     VARIANT_BOOL attachEvent(
6582             [in] BSTR event,
6583             [in] IDispatch *pDisp);
6584
6585     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
6586     void detachEvent(
6587             [in] BSTR event,
6588             [in] IDispatch *pDisp);
6589
6590     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
6591     VARIANT readyState();
6592
6593     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
6594     void onreadystatechange(VARIANT v);
6595
6596     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
6597     VARIANT onreadystatechange();
6598
6599     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
6600     void onrowsdelete(VARIANT v);
6601
6602     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
6603     VARIANT onrowsdelete();
6604
6605     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
6606     void onrowsinserted(VARIANT v);
6607
6608     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
6609      VARIANT onrowsinserted();
6610
6611     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
6612      void oncellchange(VARIANT v);
6613
6614     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
6615     VARIANT oncellchange();
6616
6617     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
6618     void dir(BSTR v);
6619
6620     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
6621     BSTR dir();
6622
6623     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
6624     IDispatch *createControlRange();
6625
6626     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
6627     LONG scrollHeight();
6628
6629     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
6630     LONG scrollWidth();
6631
6632     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
6633     void scrollTop(LONG v);
6634
6635     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
6636     LONG scrollTop();
6637
6638     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
6639     void scrollLeft(LONG v);
6640
6641     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
6642     LONG scrollLeft();
6643
6644     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
6645     void clearAttributes();
6646
6647     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
6648     void oncontextmenu(VARIANT v);
6649
6650     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
6651     VARIANT oncontextmenu();
6652
6653     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
6654     IHTMLElement *insertAdjacentElement(
6655             [in] BSTR where,
6656             [in] IHTMLElement *insertedElement);
6657
6658     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
6659     IHTMLElement *applyElement(
6660             [in] IHTMLElement *apply,
6661             [in] BSTR where);
6662
6663     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
6664     BSTR getAdjacentText([in] BSTR where);
6665
6666     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
6667     BSTR replaceAdjacentText(
6668             [in] BSTR where,
6669             [in] BSTR newText);
6670
6671     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
6672     VARIANT_BOOL canHaveChildren();
6673
6674     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
6675     LONG addBehavior(
6676             [in] BSTR bstrUrl,
6677             [in, optional] VARIANT *pvarFactory);
6678
6679     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
6680     VARIANT_BOOL removeBehavior([in] LONG cookie);
6681
6682     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
6683     IHTMLStyle *runtimeStyle();
6684
6685     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
6686     IDispatch *behaviorUrns();
6687
6688     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
6689     void tagUrn(BSTR v);
6690
6691     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
6692     BSTR tagUrn();
6693
6694     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
6695     void onbeforeeditfocus(VARIANT v);
6696
6697     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
6698     VARIANT onbeforeeditfocus();
6699
6700     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
6701     LONG readyStateValue();
6702
6703     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
6704     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
6705
6706     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
6707     void mergeAttributes(
6708             [in] IHTMLElement *mergeThis,
6709             [in, optional] VARIANT *pvarFlags);
6710
6711     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
6712     VARIANT_BOOL isMultiLine();
6713
6714     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
6715     VARIANT_BOOL canHaveHTML();
6716
6717     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
6718     void onlayoutcomplete(VARIANT v);
6719
6720     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
6721     VARIANT onlayoutcomplete();
6722
6723     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
6724     void onpage(VARIANT v);
6725
6726     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
6727     VARIANT onpage();
6728
6729     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
6730     void inflateBlock(VARIANT_BOOL v);
6731
6732     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
6733     VARIANT_BOOL inflateBlock();
6734
6735     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
6736     void onbeforedeactivate(VARIANT v);
6737
6738     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
6739     VARIANT onbeforedeactivate();
6740
6741     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
6742     void setActive();
6743
6744     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
6745     void contentEditable(BSTR v);
6746
6747     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
6748     BSTR contentEditable();
6749
6750     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
6751     VARIANT_BOOL isContentEditable();
6752
6753     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
6754     void hideFocus(VARIANT_BOOL v);
6755
6756     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
6757     VARIANT_BOOL hideFocus();
6758
6759     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
6760     void disabled(VARIANT_BOOL v);
6761
6762     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
6763     VARIANT_BOOL disabled();
6764
6765     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
6766     VARIANT_BOOL isDisabled();
6767
6768     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
6769     void onmove(VARIANT v);
6770
6771     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
6772     VARIANT onmove();
6773
6774     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
6775     void oncontrolselect(VARIANT v);
6776
6777     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
6778     VARIANT oncontrolselect();
6779
6780     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
6781     VARIANT_BOOL fireEvent(
6782             [in] BSTR bstrEventName,
6783             [in, optional] VARIANT *pvarEventObject);
6784
6785     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
6786     void onresizestart(VARIANT v);
6787
6788     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
6789     VARIANT onresizestart();
6790
6791     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
6792     void onresizeend(VARIANT v);
6793
6794     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
6795     VARIANT onresizeend();
6796
6797     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
6798     void onmovestart(VARIANT v);
6799
6800     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
6801     VARIANT onmovestart();
6802
6803     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
6804     void onmoveend(VARIANT v);
6805
6806     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
6807     VARIANT onmoveend();
6808
6809     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
6810     void onmouseenter(VARIANT v);
6811
6812     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
6813     VARIANT onmouseenter();
6814
6815     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
6816     void onmouseleave(VARIANT v);
6817
6818     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
6819     VARIANT onmouseleave();
6820
6821     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
6822     void onactivate(VARIANT v);
6823
6824     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
6825     VARIANT onactivate();
6826
6827     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
6828     void ondeactivate(VARIANT v);
6829
6830     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
6831     VARIANT ondeactivate();
6832
6833     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
6834     VARIANT_BOOL dragDrop();
6835
6836     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
6837     LONG glyphMode();
6838
6839     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
6840     void onmousewheel(VARIANT v);
6841
6842     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
6843     VARIANT onmousewheel();
6844
6845     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
6846     void normalize();
6847
6848     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
6849     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
6850
6851     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
6852     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
6853
6854     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
6855     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
6856
6857     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
6858     void onbeforeactivate(VARIANT v);
6859
6860     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
6861     VARIANT onbeforeactivate();
6862
6863     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
6864     void onfocusin(VARIANT v);
6865
6866     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
6867     VARIANT onfocusin();
6868
6869     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
6870     void onfocusout(VARIANT v);
6871
6872     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
6873     VARIANT onfocusout();
6874
6875     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
6876     LONG uniqueNumber();
6877
6878     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
6879     BSTR uniqueID();
6880
6881     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
6882     LONG nodeType();
6883
6884     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
6885     IHTMLDOMNode *parentNode();
6886
6887     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
6888     VARIANT_BOOL hasChildNodes();
6889
6890     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
6891     IDispatch *childNodes();
6892
6893     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
6894     IDispatch *attributes();
6895
6896     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
6897     IHTMLDOMNode *insertBefore(
6898             [in] IHTMLDOMNode *newChild,
6899             [in, optional] VARIANT refChild);
6900
6901     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
6902     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
6903
6904     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
6905     IHTMLDOMNode *replaceChild(
6906             [in] IHTMLDOMNode *newChild,
6907             [in] IHTMLDOMNode *oldChild);
6908
6909     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
6910     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
6911
6912     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
6913     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
6914
6915     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
6916     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
6917
6918     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
6919     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
6920
6921     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
6922     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
6923
6924     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
6925     BSTR nodeName();
6926
6927     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
6928     void nodeValue(VARIANT v);
6929
6930     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
6931     VARIANT nodeValue();
6932
6933     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
6934     IHTMLDOMNode *firstChild();
6935
6936     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
6937     IHTMLDOMNode *lastChild();
6938
6939     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
6940     IHTMLDOMNode *previousSibling();
6941
6942     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
6943     IHTMLDOMNode *nextSibling();
6944
6945     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
6946     IDispatch *ownerDocument();
6947
6948     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
6949     void dataFld(BSTR v);
6950
6951     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
6952     BSTR dataFld();
6953
6954     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
6955     void dataSrc(BSTR v);
6956
6957     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
6958     BSTR dataSrc();
6959
6960     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
6961     void dataFormatAs(BSTR v);
6962
6963     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
6964     BSTR dataFormatAs();
6965
6966     [propput, id(DISPID_IHTMLIMGELEMENT_ISMAP), displaybind, bindable]
6967     void isMap(VARIANT_BOOL v);
6968
6969     [propget, id(DISPID_IHTMLIMGELEMENT_ISMAP), displaybind, bindable]
6970     VARIANT_BOOL isMap();
6971
6972     [propput, id(DISPID_IHTMLIMGELEMENT_USEMAP), displaybind, bindable]
6973     void useMap(BSTR v);
6974
6975     [propget, id(DISPID_IHTMLIMGELEMENT_USEMAP), displaybind, bindable]
6976     BSTR useMap();
6977
6978     [propget, id(DISPID_IHTMLIMGELEMENT_MIMETYPE)]
6979     BSTR mimeType();
6980
6981     [propget, id(DISPID_IHTMLIMGELEMENT_FILESIZE)]
6982     BSTR fileSize();
6983
6984     [propget, id(DISPID_IHTMLIMGELEMENT_FILECREATEDDATE)]
6985     BSTR fileCreatedDate();
6986
6987     [propget, id(DISPID_IHTMLIMGELEMENT_FILEMODIFIEDDATE)]
6988     BSTR fileModifiedDate();
6989
6990     [propget, id(DISPID_IHTMLIMGELEMENT_FILEUPDATEDDATE)]
6991     BSTR fileUpdatedDate();
6992
6993     [propget, id(DISPID_IHTMLIMGELEMENT_PROTOCOL)]
6994     BSTR protocol();
6995
6996     [propget, id(DISPID_IHTMLIMGELEMENT_HREF)]
6997     BSTR href();
6998
6999     [propget, id(DISPID_IHTMLIMGELEMENT_NAMEPROP)]
7000     BSTR nameProp();
7001
7002     [propput, id(DISPID_IHTMLIMGELEMENT_BORDER), displaybind, bindable]
7003     void border(VARIANT v);
7004
7005     [propget, id(DISPID_IHTMLIMGELEMENT_BORDER), displaybind, bindable]
7006     VARIANT border();
7007
7008     [propput, id(DISPID_IHTMLIMGELEMENT_VSPACE), displaybind, bindable]
7009     void vspace(LONG v);
7010
7011     [propget, id(DISPID_IHTMLIMGELEMENT_VSPACE), displaybind, bindable]
7012     LONG vspace();
7013
7014     [propput, id(DISPID_IHTMLIMGELEMENT_HSPACE), displaybind, bindable]
7015     void hspace(LONG v);
7016
7017     [propget, id(DISPID_IHTMLIMGELEMENT_HSPACE), displaybind, bindable]
7018     LONG hspace();
7019
7020     [propput, id(DISPID_IHTMLIMGELEMENT_ALT), displaybind, bindable]
7021     void alt(BSTR v);
7022
7023     [propget, id(DISPID_IHTMLIMGELEMENT_ALT), displaybind, bindable]
7024     BSTR alt();
7025
7026     [propput, id(DISPID_IHTMLIMGELEMENT_SRC), displaybind, bindable]
7027     void src(BSTR v);
7028
7029     [propget, id(DISPID_IHTMLIMGELEMENT_SRC), displaybind, bindable]
7030     BSTR src();
7031
7032     [propput, id(DISPID_IHTMLIMGELEMENT_LOWSRC), displaybind, bindable]
7033     void lowsrc(BSTR v);
7034
7035     [propget, id(DISPID_IHTMLIMGELEMENT_LOWSRC), displaybind, bindable]
7036     BSTR lowsrc();
7037
7038     [propput, id(DISPID_IHTMLIMGELEMENT_VRML), displaybind, bindable]
7039     void vrml(BSTR v);
7040
7041     [propget, id(DISPID_IHTMLIMGELEMENT_VRML), displaybind, bindable]
7042     BSTR vrml();
7043
7044     [propput, id(DISPID_IHTMLIMGELEMENT_DYNSRC), displaybind, bindable]
7045     void dynsrc(BSTR v);
7046
7047     [propget, id(DISPID_IHTMLIMGELEMENT_DYNSRC), displaybind, bindable]
7048     BSTR dynsrc();
7049
7050     [propget, id(DISPID_IHTMLIMGELEMENT_COMPLETE)]
7051     VARIANT_BOOL complete();
7052
7053     [propput, id(DISPID_IHTMLIMGELEMENT_LOOP), displaybind, bindable]
7054     void loop(VARIANT v);
7055
7056     [propget, id(DISPID_IHTMLIMGELEMENT_LOOP), displaybind, bindable]
7057     VARIANT loop();
7058
7059     [propput, id(DISPID_IHTMLIMGELEMENT_ALIGN), displaybind, bindable]
7060     void align(BSTR v);
7061
7062     [propget, id(DISPID_IHTMLIMGELEMENT_ALIGN), displaybind, bindable]
7063     BSTR align();
7064
7065     [propput, id(DISPID_IHTMLIMGELEMENT_ONLOAD), displaybind, bindable]
7066     void onload(VARIANT v);
7067
7068     [propget, id(DISPID_IHTMLIMGELEMENT_ONLOAD), displaybind, bindable]
7069     VARIANT onload();
7070
7071     [propput, id(DISPID_IHTMLIMGELEMENT_ONERROR), displaybind, bindable]
7072     void onerror(VARIANT v);
7073
7074     [propget, id(DISPID_IHTMLIMGELEMENT_ONERROR), displaybind, bindable]
7075     VARIANT onerror();
7076
7077     [propput, id(DISPID_IHTMLIMGELEMENT_ONABORT), displaybind, bindable]
7078     void onabort(VARIANT v);
7079
7080     [propget, id(DISPID_IHTMLIMGELEMENT_ONABORT), displaybind, bindable]
7081     VARIANT onabort();
7082
7083     [propput, id(DISPID_IHTMLIMGELEMENT_NAME), displaybind, bindable]
7084     void name(BSTR v);
7085
7086     [propget, id(DISPID_IHTMLIMGELEMENT_NAME), displaybind, bindable]
7087     BSTR name();
7088
7089     [propput, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
7090     void width(LONG v);
7091
7092     [propget, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
7093     LONG width();
7094
7095     [propput, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
7096     void height(LONG v);
7097
7098     [propget, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
7099     LONG height();
7100
7101     [propput, id(DISPID_IHTMLIMGELEMENT_START), displaybind, bindable]
7102     void start(BSTR v);
7103
7104     [propget, id(DISPID_IHTMLIMGELEMENT_START), displaybind, bindable]
7105     BSTR start();
7106
7107     [propput, id(DISPID_IHTMLIMGELEMENT2_LONGDESC), displaybind, bindable]
7108     void longDesc(BSTR v);
7109
7110     [propget, id(DISPID_IHTMLIMGELEMENT2_LONGDESC), displaybind, bindable]
7111     BSTR longDesc();
7112 };
7113
7114 /*****************************************************************************
7115  *    IHTMLUniqueName interface
7116  */
7117 [
7118     odl,
7119     oleautomation,
7120     dual,
7121     uuid(3050f4d0-98b5-11cf-bb82-00aa00bdce0b)
7122 ]
7123 interface IHTMLUniqueName : IDispatch
7124 {
7125     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
7126     HRESULT uniqueNumber([retval, out] LONG * p);
7127
7128     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
7129     HRESULT uniqueID([retval, out] BSTR * p);
7130 };
7131
7132 [
7133     odl,
7134     oleautomation,
7135     dual,
7136     uuid(3050f3f2-98b5-11cf-bb82-00aa00bdce0b)
7137 ]
7138 interface IHTMLDatabinding : IDispatch
7139 {
7140     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
7141     HRESULT dataFld([in] BSTR v);
7142
7143     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
7144     HRESULT dataFld([retval, out] BSTR * p);
7145
7146     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
7147     HRESULT dataSrc([in] BSTR v);
7148
7149     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
7150     HRESULT dataSrc([retval, out] BSTR * p);
7151
7152     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
7153     HRESULT dataFormatAs([in] BSTR v);
7154
7155     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
7156     HRESULT dataFormatAs([retval, out] BSTR * p);
7157 };
7158
7159 /*****************************************************************************
7160  *    IHTMLControlElement interface
7161  */
7162 [
7163     odl,
7164     oleautomation,
7165     dual,
7166     uuid(3050f4e9-98b5-11cf-bb82-00aa00bdce0b)
7167 ]
7168 interface IHTMLControlElement : IDispatch
7169 {
7170     [propput, id(DISPID_IHTMLCONTROLELEMENT_TABINDEX), displaybind, bindable]
7171     HRESULT tabIndex([in] short v);
7172
7173     [propget, id(DISPID_IHTMLCONTROLELEMENT_TABINDEX), displaybind, bindable]
7174     HRESULT tabIndex([retval, out] short * p);
7175
7176     [id(DISPID_IHTMLCONTROLELEMENT_FOCUS)]
7177     HRESULT focus();
7178
7179     [propput, id(DISPID_IHTMLCONTROLELEMENT_ACCESSKEY), displaybind, bindable]
7180     HRESULT accessKey([in] BSTR v);
7181
7182     [propget, id(DISPID_IHTMLCONTROLELEMENT_ACCESSKEY), displaybind, bindable]
7183     HRESULT accessKey([retval, out] BSTR * p);
7184
7185     [propput, id(DISPID_IHTMLCONTROLELEMENT_ONBLUR), displaybind, bindable]
7186     HRESULT onblur([in] VARIANT v);
7187
7188     [propget, id(DISPID_IHTMLCONTROLELEMENT_ONBLUR), displaybind, bindable]
7189     HRESULT onblur([retval, out] VARIANT * p);
7190
7191     [propput, id(DISPID_IHTMLCONTROLELEMENT_ONFOCUS), displaybind, bindable]
7192     HRESULT onfocus([in] VARIANT v);
7193
7194     [propget, id(DISPID_IHTMLCONTROLELEMENT_ONFOCUS), displaybind, bindable]
7195     HRESULT onfocus([retval, out] VARIANT * p);
7196
7197     [propput, id(DISPID_IHTMLCONTROLELEMENT_ONRESIZE), displaybind, bindable]
7198     HRESULT onresize([in] VARIANT v);
7199
7200     [propget, id(DISPID_IHTMLCONTROLELEMENT_ONRESIZE), displaybind, bindable]
7201     HRESULT onresize([retval, out] VARIANT * p);
7202
7203     [id(DISPID_IHTMLCONTROLELEMENT_BLUR)]
7204     HRESULT blur();
7205
7206     [id(DISPID_IHTMLCONTROLELEMENT_ADDFILTER)]
7207     HRESULT addFilter([in] IUnknown* pUnk);
7208
7209     [id(DISPID_IHTMLCONTROLELEMENT_REMOVEFILTER)]
7210     HRESULT removeFilter([in] IUnknown* pUnk);
7211
7212     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTHEIGHT), displaybind, bindable]
7213     HRESULT clientHeight([retval, out] LONG * p);
7214
7215     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTWIDTH), displaybind, bindable]
7216     HRESULT clientWidth([retval, out] LONG * p);
7217
7218     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTTOP), displaybind, bindable]
7219     HRESULT clientTop([retval, out] LONG * p);
7220
7221     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTLEFT), displaybind, bindable]
7222     HRESULT clientLeft([retval, out] LONG * p);
7223 };
7224
7225 /*****************************************************************************
7226  *    IHTMLBodyElement interface
7227  */
7228 [
7229     odl,
7230     oleautomation,
7231     dual,
7232     uuid(3050f1d8-98b5-11cf-bb82-00aa00bdce0b)
7233 ]
7234 interface IHTMLBodyElement : IDispatch
7235 {
7236     [propput, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
7237     HRESULT background([in] BSTR v);
7238
7239     [propget, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
7240     HRESULT background([retval, out] BSTR *p);
7241
7242     [propput, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
7243     HRESULT bgProperties([in] BSTR v);
7244
7245     [propget, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
7246     HRESULT bgProperties([retval, out] BSTR *p);
7247
7248     [propput, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
7249     HRESULT leftMargin([in] VARIANT v);
7250
7251     [propget, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
7252     HRESULT leftMargin([retval, out] VARIANT *p);
7253
7254     [propput, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
7255     HRESULT topMargin([in] VARIANT v);
7256
7257     [propget, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
7258     HRESULT topMargin([retval, out] VARIANT *p);
7259
7260     [propput, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
7261     HRESULT rightMargin([in] VARIANT v);
7262
7263     [propget, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
7264     HRESULT rightMargin([retval, out] VARIANT *p);
7265
7266     [propput, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
7267     HRESULT bottomMargin([in] VARIANT v);
7268
7269     [propget, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
7270     HRESULT bottomMargin([retval, out] VARIANT *p);
7271
7272     [propput, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
7273     HRESULT noWrap([in] VARIANT_BOOL v);
7274
7275     [propget, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
7276     HRESULT noWrap([retval, out] VARIANT_BOOL *p);
7277
7278     [propput, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
7279     HRESULT bgColor([in] VARIANT v);
7280
7281     [propget, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
7282     HRESULT bgColor([retval, out] VARIANT *p);
7283
7284     [propput, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
7285     HRESULT text([in] VARIANT v);
7286
7287     [propget, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
7288     HRESULT text([retval, out] VARIANT *p);
7289
7290     [propput, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
7291     HRESULT link([in] VARIANT v);
7292
7293     [propget, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
7294     HRESULT link([retval, out] VARIANT *p);
7295
7296     [propput, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
7297     HRESULT vLink([in] VARIANT v);
7298
7299     [propget, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
7300     HRESULT vLink([retval, out] VARIANT *p);
7301
7302     [propput, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
7303     HRESULT aLink([in] VARIANT v);
7304
7305     [propget, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
7306     HRESULT aLink([retval, out] VARIANT *p);
7307
7308     [propput, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
7309     HRESULT onload([in] VARIANT v);
7310
7311     [propget, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
7312     HRESULT onload([retval, out] VARIANT *p);
7313
7314     [propput, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
7315     HRESULT onunload([in] VARIANT v);
7316
7317     [propget, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
7318     HRESULT onunload([retval, out] VARIANT *p);
7319
7320     [propput, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
7321     HRESULT scroll([in] BSTR v);
7322
7323     [propget, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
7324     HRESULT scroll([retval, out] BSTR *p);
7325
7326     [propput, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
7327     HRESULT onselect([in] VARIANT v);
7328
7329     [propget, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
7330     HRESULT onselect([retval, out] VARIANT *p);
7331
7332     [propput, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
7333     HRESULT onbeforeunload([in] VARIANT v);
7334
7335     [propget, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
7336     HRESULT onbeforeunload([retval, out] VARIANT *p);
7337
7338     [id(DISPID_IHTMLBODYELEMENT_CREATETEXTRANGE)]
7339     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
7340 }
7341
7342 /*****************************************************************************
7343  *    IHTMLBodyElement2 interface
7344  */
7345 [
7346     odl,
7347     oleautomation,
7348     dual,
7349     uuid(3050f5c5-98b5-11cf-bb82-00aa00bdce0b)
7350 ]
7351 interface IHTMLBodyElement2 : IDispatch
7352 {
7353     [propput, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
7354     HRESULT onbeforeprint([in] VARIANT v);
7355
7356     [propget, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
7357     HRESULT onbeforeprint([retval, out] VARIANT *p);
7358
7359     [propput, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
7360     HRESULT onafterprint([in] VARIANT v);
7361
7362     [propget, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
7363     HRESULT onafterprint([retval, out] VARIANT *p);
7364 }
7365
7366 [
7367     hidden,
7368     uuid(3050f507-98b5-11cf-bb82-00aa00bdce0b)
7369 ]
7370 dispinterface DispHTMLBody
7371 {
7372 properties:
7373 methods:
7374     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
7375     void setAttribute(
7376         [in] BSTR strAttributeName,
7377         [in] VARIANT AttValue,
7378         [defaultvalue(1), in] LONG lFlags);
7379
7380     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
7381     VARIANT getAttribute(
7382         [in] BSTR strAttributeName,
7383         [defaultvalue(0), in] LONG lFlags);
7384
7385     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
7386     VARIANT_BOOL removeAttribute(
7387         [in] BSTR strAttributeName,
7388         [defaultvalue(1), in] LONG lFlags);
7389
7390     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
7391     void className(BSTR v);
7392
7393     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
7394     BSTR className();
7395
7396     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
7397     void id(BSTR v);
7398
7399     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
7400     BSTR id();
7401
7402     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
7403     BSTR tagName();
7404
7405     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
7406     IHTMLElement* parentElement();
7407
7408     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
7409     IHTMLStyle* style();
7410
7411     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
7412     void onhelp(VARIANT v);
7413
7414     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
7415     VARIANT onhelp();
7416
7417     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
7418     void onclick(VARIANT v);
7419
7420     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
7421     VARIANT onclick();
7422
7423     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
7424     void ondblclick(VARIANT v);
7425
7426     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
7427     VARIANT ondblclick();
7428
7429     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
7430     void onkeydown(VARIANT v);
7431
7432     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
7433     VARIANT onkeydown();
7434
7435     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
7436     void onkeyup(VARIANT v);
7437
7438     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
7439     VARIANT onkeyup();
7440
7441     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
7442     void onkeypress(VARIANT v);
7443
7444     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
7445     VARIANT onkeypress();
7446
7447     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
7448     void onmouseout(VARIANT v);
7449
7450     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
7451     VARIANT onmouseout();
7452
7453     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
7454     void onmouseover(VARIANT v);
7455
7456     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
7457     VARIANT onmouseover();
7458
7459     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
7460     void onmousemove(VARIANT v);
7461
7462     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
7463     VARIANT onmousemove();
7464
7465     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
7466     void onmousedown(VARIANT v);
7467
7468     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
7469     VARIANT onmousedown();
7470
7471     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
7472     void onmouseup(VARIANT v);
7473
7474     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
7475     VARIANT onmouseup();
7476
7477     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)] IDispatch* document();
7478
7479     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
7480     void title(BSTR v);
7481
7482     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
7483     BSTR title();
7484
7485     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
7486     void language(BSTR v);
7487
7488     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
7489     BSTR language();
7490
7491     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
7492     void onselectstart(VARIANT v);
7493
7494     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
7495     VARIANT onselectstart();
7496
7497     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
7498     void scrollIntoView([optional, in] VARIANT varargStart);
7499
7500     [id(DISPID_IHTMLELEMENT_CONTAINS)]
7501     VARIANT_BOOL contains([in] IHTMLElement* pChild);
7502
7503     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
7504     LONG sourceIndex();
7505
7506     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
7507     VARIANT recordNumber();
7508
7509     [propput, id(DISPID_IHTMLELEMENT_LANG)]
7510     void lang(BSTR v);
7511
7512     [propget, id(DISPID_IHTMLELEMENT_LANG)]
7513     BSTR lang();
7514
7515     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
7516     LONG offsetLeft();
7517
7518     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
7519     LONG offsetTop();
7520
7521     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
7522     LONG offsetWidth();
7523
7524     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
7525     LONG offsetHeight();
7526
7527     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
7528     IHTMLElement* offsetParent();
7529
7530     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
7531     void innerHTML(BSTR v);
7532
7533     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
7534     BSTR innerHTML();
7535
7536     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
7537     void innerText(BSTR v);
7538
7539     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
7540     BSTR innerText();
7541
7542     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
7543     void outerHTML(BSTR v);
7544
7545     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
7546     BSTR outerHTML();
7547
7548     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
7549     void outerText(BSTR v);
7550
7551     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
7552     BSTR outerText();
7553
7554     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
7555     void insertAdjacentHTML(
7556         [in] BSTR where,
7557         [in] BSTR html);
7558
7559     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
7560     void insertAdjacentText(
7561         [in] BSTR where,
7562         [in] BSTR text);
7563
7564     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
7565     IHTMLElement* parentTextEdit();
7566
7567     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
7568     VARIANT_BOOL isTextEdit();
7569
7570     [id(DISPID_IHTMLELEMENT_CLICK)] void click();
7571
7572     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
7573     IHTMLFiltersCollection* filters();
7574
7575     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
7576     void ondragstart(VARIANT v);
7577
7578     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
7579     VARIANT ondragstart();
7580
7581     [id(DISPID_IHTMLELEMENT_TOSTRING)]
7582     BSTR toString();
7583
7584     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
7585     void onbeforeupdate(VARIANT v);
7586
7587     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
7588     VARIANT onbeforeupdate();
7589
7590     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
7591     void onafterupdate(VARIANT v);
7592
7593     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
7594     VARIANT onafterupdate();
7595
7596     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
7597     void onerrorupdate(VARIANT v);
7598
7599     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
7600     VARIANT onerrorupdate();
7601
7602     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
7603     void onrowexit(VARIANT v);
7604
7605     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
7606     VARIANT onrowexit();
7607
7608     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
7609     void onrowenter(VARIANT v);
7610
7611     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
7612     VARIANT onrowenter();
7613
7614     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
7615     void ondatasetchanged(VARIANT v);
7616
7617     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
7618     VARIANT ondatasetchanged();
7619
7620     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
7621     void ondataavailable(VARIANT v);
7622
7623     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
7624     VARIANT ondataavailable();
7625
7626     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
7627     void ondatasetcomplete(VARIANT v);
7628
7629     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
7630     VARIANT ondatasetcomplete();
7631
7632     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
7633     void onfilterchange(VARIANT v);
7634
7635     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
7636     VARIANT onfilterchange();
7637
7638     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
7639     IDispatch* children();
7640
7641     [propget, id(DISPID_IHTMLELEMENT_ALL)]
7642     IDispatch* all();
7643
7644     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
7645     BSTR scopeName();
7646
7647     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
7648     void setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
7649
7650     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
7651     void releaseCapture();
7652
7653     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
7654     void onlosecapture(VARIANT v);
7655
7656     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
7657     VARIANT onlosecapture();
7658
7659     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
7660     BSTR componentFromPoint([in] LONG x,[in] LONG y);
7661
7662     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
7663     void doScroll([optional, in] VARIANT component);
7664
7665     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
7666     void onscroll(VARIANT v);
7667
7668     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
7669     VARIANT onscroll();
7670
7671     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
7672     void ondrag(VARIANT v);
7673
7674     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
7675     VARIANT ondrag();
7676
7677     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
7678     void ondragend(VARIANT v);
7679
7680     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
7681     VARIANT ondragend();
7682
7683     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
7684     void ondragenter(VARIANT v);
7685
7686     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
7687     VARIANT ondragenter();
7688
7689     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
7690     void ondragover(VARIANT v);
7691
7692     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
7693     VARIANT ondragover();
7694
7695     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
7696     void ondragleave(VARIANT v);
7697
7698     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
7699     VARIANT ondragleave();
7700
7701     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
7702      void ondrop(VARIANT v);
7703
7704     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
7705     VARIANT ondrop();
7706
7707     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
7708     void onbeforecut(VARIANT v);
7709
7710     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
7711     VARIANT onbeforecut();
7712
7713     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
7714     void oncut(VARIANT v);
7715
7716     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
7717     VARIANT oncut();
7718
7719     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
7720     void onbeforecopy(VARIANT v);
7721
7722     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
7723     VARIANT onbeforecopy();
7724
7725     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
7726     void oncopy(VARIANT v);
7727
7728     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
7729     VARIANT oncopy();
7730
7731     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
7732     void onbeforepaste(VARIANT v);
7733
7734     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
7735      VARIANT onbeforepaste();
7736
7737     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
7738     void onpaste(VARIANT v);
7739
7740     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
7741     VARIANT onpaste();
7742
7743     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
7744     IHTMLCurrentStyle* currentStyle();
7745
7746     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
7747     void onpropertychange(VARIANT v);
7748
7749     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
7750     VARIANT onpropertychange();
7751
7752     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
7753     IHTMLRectCollection* getClientRects();
7754
7755     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
7756     IHTMLRect* getBoundingClientRect();
7757
7758     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
7759     void setExpression(
7760         [in] BSTR propname,
7761         [in] BSTR expr,
7762         [defaultvalue(""), in] BSTR lang);
7763
7764     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
7765     VARIANT getExpression([in] BSTR propname);
7766
7767     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
7768     VARIANT_BOOL removeExpression([in] BSTR propname);
7769
7770     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
7771     void tabIndex(short v);
7772
7773     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
7774     short tabIndex();
7775
7776     [id(DISPID_IHTMLELEMENT2_FOCUS)]
7777     void focus();
7778
7779     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
7780     void accessKey(BSTR v);
7781
7782     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
7783     BSTR accessKey();
7784
7785     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
7786     void onblur(VARIANT v);
7787
7788     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
7789      VARIANT onblur();
7790
7791     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
7792     void onfocus(VARIANT v);
7793
7794     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
7795     VARIANT onfocus();
7796
7797     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
7798     void onresize(VARIANT v);
7799
7800     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
7801     VARIANT onresize();
7802
7803     [id(DISPID_IHTMLELEMENT2_BLUR)]
7804     void blur();
7805
7806     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
7807     void addFilter([in] IUnknown* pUnk);
7808
7809     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
7810     void removeFilter([in] IUnknown* pUnk);
7811
7812     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
7813     LONG clientHeight();
7814
7815     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
7816     LONG clientWidth();
7817
7818     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
7819     LONG clientTop();
7820
7821     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
7822     LONG clientLeft();
7823
7824     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
7825     VARIANT_BOOL attachEvent(
7826         [in] BSTR event,
7827         [in] IDispatch* pDisp);
7828
7829     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
7830     void detachEvent(
7831         [in] BSTR event,
7832         [in] IDispatch* pDisp);
7833
7834     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)] VARIANT readyState();
7835
7836     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
7837      void onreadystatechange(VARIANT v);
7838
7839     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
7840     VARIANT onreadystatechange();
7841
7842     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
7843     void onrowsdelete(VARIANT v);
7844
7845     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
7846     VARIANT onrowsdelete();
7847
7848     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
7849     void onrowsinserted(VARIANT v);
7850
7851     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
7852     VARIANT onrowsinserted();
7853
7854     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
7855     void oncellchange(VARIANT v);
7856
7857     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
7858     VARIANT oncellchange();
7859
7860     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
7861     void dir(BSTR v);
7862
7863     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
7864     BSTR dir();
7865
7866     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
7867     IDispatch* createControlRange();
7868
7869     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
7870     LONG scrollHeight();
7871
7872     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
7873     LONG scrollWidth();
7874
7875     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
7876     void scrollTop(LONG v);
7877
7878     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
7879     LONG scrollTop();
7880
7881     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
7882     void scrollLeft(LONG v);
7883
7884     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
7885     LONG scrollLeft();
7886
7887     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
7888     void clearAttributes();
7889
7890     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
7891     void oncontextmenu(VARIANT v);
7892
7893     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
7894     VARIANT oncontextmenu();
7895
7896     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
7897     IHTMLElement* insertAdjacentElement(
7898         [in] BSTR where,
7899         [in] IHTMLElement* insertedElement);
7900
7901     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
7902     IHTMLElement* applyElement([in] IHTMLElement* apply,[in] BSTR where);
7903
7904     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
7905     BSTR getAdjacentText([in] BSTR where);
7906
7907     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
7908     BSTR replaceAdjacentText([in] BSTR where,[in] BSTR newText);
7909
7910     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
7911     VARIANT_BOOL canHaveChildren();
7912
7913     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
7914     LONG addBehavior([in] BSTR bstrUrl,[optional, in] VARIANT* pvarFactory);
7915
7916     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
7917     VARIANT_BOOL removeBehavior([in] LONG cookie);
7918
7919     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
7920     IHTMLStyle* runtimeStyle();
7921
7922     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
7923     IDispatch* behaviorUrns();
7924
7925     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
7926     void tagUrn(BSTR v);
7927
7928     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
7929     BSTR tagUrn();
7930
7931     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
7932     void onbeforeeditfocus(VARIANT v);
7933
7934     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
7935     VARIANT onbeforeeditfocus();
7936
7937     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
7938     LONG readyStateValue();
7939
7940     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
7941     IHTMLElementCollection* getElementsByTagName([in] BSTR v);
7942
7943     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
7944     void mergeAttributes(
7945         [in] IHTMLElement* mergeThis,
7946         [optional, in] VARIANT* pvarFlags);
7947
7948     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
7949     VARIANT_BOOL isMultiLine();
7950
7951     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
7952     VARIANT_BOOL canHaveHTML();
7953
7954     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
7955     void onlayoutcomplete(VARIANT v);
7956
7957     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
7958     VARIANT onlayoutcomplete();
7959
7960     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
7961     void onpage(VARIANT v);
7962
7963     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
7964     VARIANT onpage();
7965
7966     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
7967     void inflateBlock(VARIANT_BOOL v);
7968
7969     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
7970     VARIANT_BOOL inflateBlock();
7971
7972     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
7973     void onbeforedeactivate(VARIANT v);
7974
7975     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
7976     VARIANT onbeforedeactivate();
7977
7978     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
7979     void setActive();
7980
7981     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
7982     void contentEditable(BSTR v);
7983
7984     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
7985     BSTR contentEditable();
7986
7987     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
7988     VARIANT_BOOL isContentEditable();
7989
7990     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
7991     void hideFocus(VARIANT_BOOL v);
7992
7993     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
7994     VARIANT_BOOL hideFocus();
7995
7996     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
7997     void disabled(VARIANT_BOOL v);
7998
7999     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
8000     VARIANT_BOOL disabled();
8001
8002     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
8003     VARIANT_BOOL isDisabled();
8004
8005     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
8006     void onmove(VARIANT v);
8007
8008     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
8009     VARIANT onmove();
8010
8011     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
8012     void oncontrolselect(VARIANT v);
8013
8014     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
8015     VARIANT oncontrolselect();
8016
8017     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
8018     VARIANT_BOOL fireEvent(
8019         [in] BSTR bstrEventName,
8020         [optional, in] VARIANT* pvarEventObject);
8021
8022     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
8023      void onresizestart(VARIANT v);
8024
8025     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
8026     VARIANT onresizestart();
8027
8028     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
8029     void onresizeend(VARIANT v);
8030
8031     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
8032     VARIANT onresizeend();
8033
8034     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
8035     void onmovestart(VARIANT v);
8036
8037     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
8038     VARIANT onmovestart();
8039
8040     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
8041     void onmoveend(VARIANT v);
8042
8043     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
8044     VARIANT onmoveend();
8045
8046     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
8047     void onmouseenter(VARIANT v);
8048
8049     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
8050     VARIANT onmouseenter();
8051
8052     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
8053     void onmouseleave(VARIANT v);
8054
8055     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
8056     VARIANT onmouseleave();
8057
8058     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
8059     void onactivate(VARIANT v);
8060     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] VARIANT onactivate();
8061
8062     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
8063     void ondeactivate(VARIANT v);
8064
8065     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
8066     VARIANT ondeactivate();
8067
8068     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
8069     VARIANT_BOOL dragDrop();
8070
8071     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
8072     LONG glyphMode();
8073
8074     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
8075     void onmousewheel(VARIANT v);
8076
8077     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
8078     VARIANT onmousewheel();
8079
8080     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
8081     void normalize();
8082
8083     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
8084      IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrname);
8085
8086     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
8087     IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
8088
8089     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
8090     IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
8091
8092     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
8093     void onbeforeactivate(VARIANT v);
8094
8095     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
8096     VARIANT onbeforeactivate();
8097
8098     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
8099     void onfocusin(VARIANT v);
8100
8101     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
8102     VARIANT onfocusin();
8103
8104     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
8105     void onfocusout(VARIANT v);
8106
8107     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
8108     VARIANT onfocusout();
8109
8110     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
8111     LONG uniqueNumber();
8112
8113     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
8114     BSTR uniqueID();
8115
8116     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
8117     LONG nodeType();
8118
8119     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
8120     IHTMLDOMNode* parentNode();
8121
8122     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
8123     VARIANT_BOOL hasChildNodes();
8124
8125     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
8126     IDispatch* childNodes();
8127
8128     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
8129     IDispatch* attributes();
8130
8131     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
8132     IHTMLDOMNode* insertBefore(
8133         [in] IHTMLDOMNode* newChild,
8134         [optional, in] VARIANT refChild);
8135
8136     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
8137     IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
8138
8139     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
8140     IHTMLDOMNode* replaceChild(
8141         [in] IHTMLDOMNode* newChild,
8142         [in] IHTMLDOMNode* oldChild);
8143
8144     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
8145     IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
8146
8147     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
8148     IHTMLDOMNode* removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep);
8149
8150     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
8151     IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
8152
8153     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
8154     IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
8155
8156     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
8157     IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
8158
8159     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
8160     BSTR nodeName();
8161
8162     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
8163     void nodeValue(VARIANT v);
8164
8165     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
8166     VARIANT nodeValue();
8167
8168     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
8169     IHTMLDOMNode* firstChild();
8170
8171     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
8172     IHTMLDOMNode* lastChild();
8173
8174     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
8175     IHTMLDOMNode* previousSibling();
8176
8177     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
8178     IHTMLDOMNode* nextSibling();
8179
8180     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
8181     IDispatch* ownerDocument();
8182
8183     [propput, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
8184     void background(BSTR v);
8185
8186     [propget, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
8187     BSTR background();
8188
8189     [propput, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
8190     void bgProperties(BSTR v);
8191
8192     [propget, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
8193     BSTR bgProperties();
8194
8195     [propput, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
8196     void leftMargin(VARIANT v);
8197
8198     [propget, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
8199     VARIANT leftMargin();
8200
8201     [propput, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
8202     void topMargin(VARIANT v);
8203
8204     [propget, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
8205     VARIANT topMargin();
8206
8207     [propput, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
8208     void rightMargin(VARIANT v);
8209
8210     [propget, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
8211     VARIANT rightMargin();
8212
8213     [propput, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
8214     void bottomMargin(VARIANT v);
8215
8216     [propget, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
8217     VARIANT bottomMargin();
8218
8219     [propput, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
8220     void noWrap(VARIANT_BOOL v);
8221
8222     [propget, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
8223     VARIANT_BOOL noWrap();
8224
8225     [propput, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
8226     void bgColor(VARIANT v);
8227
8228     [propget, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
8229     VARIANT bgColor();
8230
8231     [propput, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
8232     void text(VARIANT v);
8233
8234     [propget, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
8235     VARIANT text();
8236
8237     [propput, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
8238     void link(VARIANT v);
8239
8240     [propget, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
8241     VARIANT link();
8242
8243     [propput, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
8244     void vLink(VARIANT v);
8245
8246     [propget, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
8247     VARIANT vLink();
8248
8249     [propput, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
8250     void aLink(VARIANT v);
8251
8252     [propget, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
8253     VARIANT aLink();
8254
8255     [propput, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
8256     void onload(VARIANT v);
8257
8258     [propget, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
8259     VARIANT onload();
8260
8261     [propput, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
8262     void onunload(VARIANT v);
8263
8264     [propget, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
8265     VARIANT onunload();
8266
8267     [propput, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
8268     void scroll(BSTR v);
8269
8270     [propget, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
8271     BSTR scroll();
8272
8273     [propput, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
8274     void onselect(VARIANT v);
8275
8276     [propget, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
8277     VARIANT onselect();
8278
8279     [propput, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
8280     void onbeforeunload(VARIANT v);
8281
8282     [propget, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
8283     VARIANT onbeforeunload();
8284
8285     [id(DISPID_IHTMLBODYELEMENT_CREATETEXTRANGE)]
8286     IHTMLTxtRange* createTextRange();
8287
8288     [propput, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
8289     void onbeforeprint(VARIANT v);
8290
8291     [propget, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
8292     VARIANT onbeforeprint();
8293
8294     [propput, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
8295     void onafterprint(VARIANT v);
8296
8297     [propget, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
8298     VARIANT onafterprint();
8299 };
8300
8301 [
8302     uuid(3050f24a-98b5-11cf-bb82-00aa00bdce0b)
8303 ]
8304 coclass HTMLBody
8305 {
8306     [default]           dispinterface DispHTMLBody;
8307     [source, default]   dispinterface HTMLTextContainerEvents;
8308     [source]            dispinterface HTMLTextContainerEvents2;
8309                         interface IHTMLElement;
8310                         interface IHTMLElement2;
8311                         interface IHTMLElement3;
8312                         interface IHTMLElement4;
8313                         interface IHTMLUniqueName;
8314                         interface IHTMLDOMNode;
8315                         interface IHTMLDOMNode2;
8316                         interface IHTMLControlElement;
8317                         interface IHTMLTextContainer;
8318                         interface IHTMLBodyElement;
8319                         interface IHTMLBodyElement2;
8320 };
8321
8322 /*****************************************************************************
8323  *    IHTMLAnchorElement interface
8324  */
8325 [
8326     odl,
8327     oleautomation,
8328     dual,
8329     uuid(3050f1da-98b5-11cf-bb82-00aa00bdce0b)
8330 ]
8331 interface IHTMLAnchorElement : IDispatch
8332 {
8333     [propput, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
8334     HRESULT href([in] BSTR v);
8335
8336     [propget, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
8337     HRESULT href([retval, out] BSTR *p);
8338
8339     [propput, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
8340     HRESULT target([in] BSTR v);
8341
8342     [propget, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
8343     HRESULT target([retval, out] BSTR *p);
8344
8345     [propput, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
8346     HRESULT rel([in] BSTR v);
8347
8348     [propget, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
8349     HRESULT rel([retval, out] BSTR *p);
8350
8351     [propput, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
8352     HRESULT rev([in] BSTR v);
8353
8354     [propget, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
8355     HRESULT rev([retval, out] BSTR *p);
8356
8357     [propput, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
8358     HRESULT urn([in] BSTR v);
8359
8360     [propget, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
8361     HRESULT urn([retval, out] BSTR *p);
8362
8363     [propput, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
8364     HRESULT Methods([in] BSTR v);
8365
8366     [propget, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
8367     HRESULT Methods([retval, out] BSTR *p);
8368
8369     [propput, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
8370     HRESULT name([in] BSTR v);
8371
8372     [propget, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
8373     HRESULT name([retval, out] BSTR *p);
8374
8375     [propput, id(DISPID_IHTMLANCHORELEMENT_HOST)]
8376     HRESULT host([in] BSTR v);
8377
8378     [propget, id(DISPID_IHTMLANCHORELEMENT_HOST)]
8379     HRESULT host([retval, out] BSTR *p);
8380
8381     [propput, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
8382     HRESULT hostname([in] BSTR v);
8383
8384     [propget, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
8385     HRESULT hostname([retval, out] BSTR *p);
8386
8387     [propput, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
8388     HRESULT pathname([in] BSTR v);
8389
8390     [propget, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
8391     HRESULT pathname([retval, out] BSTR *p);
8392
8393     [propput, id(DISPID_IHTMLANCHORELEMENT_PORT)]
8394     HRESULT port([in] BSTR v);
8395
8396     [propget, id(DISPID_IHTMLANCHORELEMENT_PORT)]
8397     HRESULT port([retval, out] BSTR *p);
8398
8399     [propput, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
8400     HRESULT protocol([in] BSTR v);
8401
8402     [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
8403     HRESULT protocol([retval, out] BSTR *p);
8404
8405     [propput, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
8406     HRESULT search([in] BSTR v);
8407
8408     [propget, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
8409     HRESULT search([retval, out] BSTR *p);
8410
8411     [propput, id(DISPID_IHTMLANCHORELEMENT_HASH)]
8412     HRESULT hash([in] BSTR v);
8413
8414     [propget, id(DISPID_IHTMLANCHORELEMENT_HASH)]
8415     HRESULT hash([retval, out] BSTR *p);
8416
8417     [propput, id(DISPID_IHTMLANCHORELEMENT_ONBLUR), displaybind, bindable]
8418     HRESULT onblur([in] VARIANT v);
8419
8420     [propget, id(DISPID_IHTMLANCHORELEMENT_ONBLUR), displaybind, bindable]
8421     HRESULT onblur([retval, out] VARIANT *p);
8422
8423     [propput, id(DISPID_IHTMLANCHORELEMENT_ONFOCUS), displaybind, bindable]
8424     HRESULT onfocus([in] VARIANT v);
8425
8426     [propget, id(DISPID_IHTMLANCHORELEMENT_ONFOCUS), displaybind, bindable]
8427     HRESULT onfocus([retval, out] VARIANT *p);
8428
8429     [propput, id(DISPID_IHTMLANCHORELEMENT_ACCESSKEY), displaybind, bindable]
8430     HRESULT accessKey([in] BSTR v);
8431
8432     [propget, id(DISPID_IHTMLANCHORELEMENT_ACCESSKEY), displaybind, bindable]
8433     HRESULT accessKey([retval, out] BSTR *p);
8434
8435     [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOLLONG)]
8436     HRESULT protocolLong([retval, out] BSTR *p);
8437
8438     [propget, id(DISPID_IHTMLANCHORELEMENT_MIMETYPE)]
8439     HRESULT mimeType([retval, out] BSTR *p);
8440
8441     [propget, id(DISPID_IHTMLANCHORELEMENT_NAMEPROP)]
8442     HRESULT nameProp([retval, out] BSTR *p);
8443
8444     [propput, id(DISPID_IHTMLANCHORELEMENT_TABINDEX), displaybind, bindable]
8445     HRESULT tabIndex([in] short v);
8446
8447     [propget, id(DISPID_IHTMLANCHORELEMENT_TABINDEX), displaybind, bindable]
8448     HRESULT tabIndex([retval, out] short *p);
8449
8450     [id(DISPID_IHTMLANCHORELEMENT_FOCUS)]
8451     HRESULT focus();
8452
8453     [id(DISPID_IHTMLANCHORELEMENT_BLUR)]
8454     HRESULT blur();
8455 }
8456
8457 /*****************************************************************************
8458  *    IHTMLElementCollection interface
8459  */
8460 [
8461     odl,
8462     oleautomation,
8463     dual,
8464     uuid(3050F21F-98B5-11CF-BB82-00AA00BDCE0B)
8465 ]
8466 interface IHTMLElementCollection : IDispatch
8467 {
8468     [id(DISPID_IHTMLELEMENTCOLLECTION_TOSTRING)]
8469     HRESULT toString([retval, out] BSTR *String);
8470
8471     [propput, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
8472     HRESULT length([in] LONG v);
8473
8474     [propget, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
8475     HRESULT length([retval, out] LONG *p);
8476
8477     [propget, id(DISPID_IHTMLELEMENTCOLLECTION__NEWENUM)]
8478     HRESULT _newEnum([retval, out] IUnknown **p);
8479
8480     [id(DISPID_IHTMLELEMENTCOLLECTION_ITEM)]
8481     HRESULT item(
8482         [optional, in] VARIANT name,
8483         [optional, in] VARIANT index,
8484         [retval,  out] IDispatch **pdisp);
8485
8486     [id(DISPID_IHTMLELEMENTCOLLECTION_TAGS)]
8487     HRESULT tags(
8488         [in] VARIANT tagName,
8489         [retval, out] IDispatch **pdisp);
8490 }
8491
8492 /*****************************************************************************
8493  *    DispHTMLElementCollection dispinterface
8494  */
8495 [
8496     hidden,
8497     uuid(3050f56b-98b5-11cf-bb82-00aa00bdce0b)
8498 ]
8499 dispinterface DispHTMLElementCollection
8500 {
8501 properties:
8502 methods:
8503     [id(DISPID_IHTMLELEMENTCOLLECTION_TOSTRING)]
8504     BSTR toString();
8505
8506     [propput, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
8507     void length(LONG v);
8508
8509     [propget, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
8510     LONG length();
8511
8512     [propget, id(DISPID_IHTMLELEMENTCOLLECTION__NEWENUM), hidden, restricted]
8513     IUnknown *_newEnum();
8514
8515     [id(DISPID_IHTMLELEMENTCOLLECTION_ITEM)]
8516     IDispatch *item(
8517             [in, optional] VARIANT name,
8518             [in, optional] VARIANT index);
8519
8520     [id(DISPID_IHTMLELEMENTCOLLECTION_TAGS)]
8521     IDispatch *tags(
8522             [in] VARIANT tagName);
8523
8524     [id(DISPID_IHTMLELEMENTCOLLECTION2_URNS)]
8525     IDispatch *urns([in] VARIANT urn);
8526
8527     [id(DISPID_IHTMLELEMENTCOLLECTION3_NAMEDITEM)]
8528     IDispatch *namedItem([in] BSTR name);
8529 }
8530
8531 /*****************************************************************************
8532  *    IHTMLSelectElement interface
8533  */
8534 [
8535     odl,
8536     oleautomation,
8537     dual,
8538     uuid(3050f244-98b5-11cf-bb82-00aa00bdce0b)
8539 ]
8540 interface IHTMLSelectElement : IDispatch
8541 {
8542     [propput, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
8543     HRESULT size([in] LONG v);
8544
8545     [propget, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
8546     HRESULT size([retval, out] LONG *p);
8547
8548     [propput, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
8549     HRESULT multiple([in] VARIANT_BOOL v);
8550
8551     [propget, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
8552     HRESULT multiple([retval, out] VARIANT_BOOL *p);
8553
8554     [propput, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
8555     HRESULT name([in] BSTR v);
8556
8557     [propget, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
8558     HRESULT name([retval, out] BSTR *p);
8559
8560     [propget, id(DISPID_IHTMLSELECTELEMENT_OPTIONS)]
8561     HRESULT options([retval, out] IDispatch **p);
8562
8563     [propput, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
8564     HRESULT onchange([in] VARIANT v);
8565
8566     [propget, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
8567     HRESULT onchange([retval, out] VARIANT *p);
8568
8569     [propput, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
8570     HRESULT selectedIndex([in] LONG v);
8571
8572     [propget, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
8573     HRESULT selectedIndex([retval, out] LONG *p);
8574
8575     [propget, id(DISPID_IHTMLSELECTELEMENT_TYPE), displaybind, bindable]
8576     HRESULT type([retval, out] BSTR *p);
8577
8578     [propput, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
8579     HRESULT value([in] BSTR v);
8580
8581     [propget, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
8582     HRESULT value([retval, out] BSTR *p);
8583
8584     [propput, id(DISPID_IHTMLSELECTELEMENT_DISABLED), displaybind, bindable]
8585     HRESULT disabled([in] VARIANT_BOOL v);
8586
8587     [propget, id(DISPID_IHTMLSELECTELEMENT_DISABLED), displaybind, bindable]
8588     HRESULT disabled([retval, out] VARIANT_BOOL *p);
8589
8590     [propget, id(DISPID_IHTMLSELECTELEMENT_FORM)]
8591     HRESULT form([retval, out] IHTMLFormElement **p);
8592
8593     [id(DISPID_IHTMLSELECTELEMENT_ADD)]
8594     HRESULT add(
8595         [in] IHTMLElement *element,
8596         [optional, in] VARIANT before);
8597
8598     [id(DISPID_IHTMLSELECTELEMENT_REMOVE)]
8599     HRESULT remove([defaultvalue(-1), in] LONG index);
8600
8601     [propput, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
8602     HRESULT length([in] LONG v);
8603
8604     [propget, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
8605     HRESULT length([retval, out] LONG *p);
8606
8607     [propget, id(DISPID_IHTMLSELECTELEMENT__NEWENUM), hidden, restricted]
8608     HRESULT _newEnum([retval, out] IUnknown **p);
8609
8610     [id(DISPID_IHTMLSELECTELEMENT_ITEM)]
8611     HRESULT item(
8612         [optional, in] VARIANT name,
8613         [optional, in] VARIANT index,
8614         [retval, out] IDispatch **pdisp);
8615
8616     [id(DISPID_IHTMLSELECTELEMENT_TAGS)]
8617     HRESULT tags(
8618         [in] VARIANT tagName,
8619         [retval, out] IDispatch **pdisp);
8620 }
8621
8622 /*****************************************************************************
8623  *    DispHTMLSelectElement dispinterface
8624  */
8625 [
8626     hidden,
8627     uuid(3050f531-98b5-11cf-bb82-00aa00bdce0b)
8628 ]
8629 dispinterface DispHTMLSelectElement
8630 {
8631 properties:
8632 methods:
8633     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
8634     void setAttribute(
8635             [in] BSTR strAttributeName,
8636             [in] VARIANT AttributeValue,
8637             [in, defaultvalue(1)] LONG lFlags);
8638
8639     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
8640     VARIANT getAttribute(
8641              [in] BSTR strAttributeName,
8642              [in, defaultvalue(0)] LONG lFlags);
8643
8644     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
8645     VARIANT_BOOL removeAttribute(
8646             [in] BSTR strAttributeName,
8647             [in, defaultvalue(1)] LONG lFlags);
8648
8649     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
8650     void className(BSTR v);
8651
8652     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
8653     BSTR className();
8654
8655     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
8656     void id(BSTR v);
8657
8658     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
8659     BSTR id();
8660
8661     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
8662     BSTR tagName();
8663
8664     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
8665     IHTMLElement *parentElement();
8666
8667     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
8668     IHTMLStyle *style();
8669
8670     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
8671     void onhelp(VARIANT v);
8672
8673     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
8674     VARIANT onhelp();
8675
8676     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
8677     void onclick(VARIANT v);
8678
8679     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
8680     VARIANT onclick();
8681
8682     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
8683     void ondblclick(VARIANT v);
8684
8685     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
8686     VARIANT ondblclick();
8687
8688     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
8689     void onkeydown(VARIANT v);
8690
8691     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
8692     VARIANT onkeydown();
8693
8694     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
8695     void onkeyup(VARIANT v);
8696
8697     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
8698     VARIANT onkeyup();
8699
8700     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
8701     void onkeypress(VARIANT v);
8702
8703     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
8704     VARIANT onkeypress();
8705
8706     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
8707     void onmouseout(VARIANT v);
8708
8709     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
8710     VARIANT onmouseout();
8711
8712     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
8713     void onmouseover(VARIANT v);
8714
8715     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
8716     VARIANT onmouseover();
8717
8718     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
8719     void onmousemove(VARIANT v);
8720
8721     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
8722     VARIANT onmousemove();
8723
8724     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
8725     void onmousedown(VARIANT v);
8726
8727     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
8728     VARIANT onmousedown();
8729
8730     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
8731     void onmouseup(VARIANT v);
8732
8733     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
8734     VARIANT onmouseup();
8735
8736     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
8737     IDispatch *document();
8738
8739     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
8740     void title(BSTR v);
8741
8742     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
8743     BSTR title();
8744
8745     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
8746     void language(BSTR v);
8747
8748     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
8749     BSTR language();
8750
8751     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
8752     void onselectstart(VARIANT v);
8753
8754     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
8755     VARIANT onselectstart();
8756
8757     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
8758     void scrollIntoView([in, optional] VARIANT varargStart);
8759
8760     [id(DISPID_IHTMLELEMENT_CONTAINS)]
8761     VARIANT_BOOL contains([in] IHTMLElement *pChild);
8762
8763     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
8764     LONG sourceIndex();
8765
8766     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
8767     VARIANT recordNumber();
8768
8769     [propput, id(DISPID_IHTMLELEMENT_LANG)]
8770     void lang(BSTR v);
8771
8772     [propget, id(DISPID_IHTMLELEMENT_LANG)]
8773     BSTR lang();
8774
8775     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
8776     LONG offsetLeft();
8777
8778     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
8779     LONG offsetTop();
8780
8781     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
8782     LONG offsetWidth();
8783
8784     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
8785     LONG offsetHeight();
8786
8787     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
8788     IHTMLElement *offsetParent();
8789
8790     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
8791     void innerHTML(BSTR v);
8792
8793     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
8794     BSTR innerHTML();
8795
8796     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
8797     void innerText(BSTR v);
8798
8799     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
8800     BSTR innerText();
8801
8802     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
8803     void outerHTML(BSTR v);
8804
8805     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
8806     BSTR outerHTML();
8807
8808     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
8809     void outerText(BSTR v);
8810
8811     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
8812     BSTR outerText();
8813
8814     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
8815     void insertAdjacentHTML(
8816             [in] BSTR where,
8817             [in] BSTR html);
8818
8819     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
8820     void insertAdjacentText(
8821             [in] BSTR where,
8822             [in] BSTR text);
8823
8824     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
8825     IHTMLElement *parentTextEdit();
8826
8827     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
8828     VARIANT_BOOL isTextEdit();
8829
8830     [id(DISPID_IHTMLELEMENT_CLICK)]
8831     void click();
8832
8833     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
8834     IHTMLFiltersCollection *filters();
8835
8836     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
8837     void ondragstart(VARIANT v);
8838
8839     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
8840     VARIANT ondragstart();
8841
8842     [id(DISPID_IHTMLELEMENT_TOSTRING)]
8843     BSTR toString();
8844
8845     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
8846     void onbeforeupdate(VARIANT v);
8847
8848     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
8849     VARIANT onbeforeupdate();
8850
8851     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
8852     void onafterupdate(VARIANT v);
8853
8854     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
8855     VARIANT onafterupdate();
8856
8857     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
8858     void onerrorupdate(VARIANT v);
8859
8860     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
8861     VARIANT onerrorupdate();
8862
8863     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
8864     void onrowexit(VARIANT v);
8865
8866     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
8867     VARIANT onrowexit();
8868
8869     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
8870     void onrowenter(VARIANT v);
8871
8872     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
8873     VARIANT onrowenter();
8874
8875     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
8876     void ondatasetchanged(VARIANT v);
8877
8878     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
8879     VARIANT ondatasetchanged();
8880
8881     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
8882     void ondataavailable(VARIANT v);
8883
8884     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
8885     VARIANT ondataavailable();
8886
8887     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
8888     void ondatasetcomplete(VARIANT v);
8889
8890     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
8891     VARIANT ondatasetcomplete();
8892
8893     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
8894     void onfilterchange(VARIANT v);
8895
8896     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
8897     VARIANT onfilterchange();
8898
8899     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
8900     IDispatch *children();
8901
8902     [propget, id(DISPID_IHTMLELEMENT_ALL)]
8903     IDispatch *all();
8904
8905     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
8906     BSTR scopeName();
8907
8908     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
8909     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
8910
8911     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
8912     void releaseCapture();
8913
8914     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
8915     void onlosecapture(VARIANT v);
8916
8917     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
8918     VARIANT onlosecapture();
8919
8920     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
8921     BSTR componentFromPoint(
8922             [in] LONG x,
8923             [in] LONG y);
8924
8925     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
8926     void doScroll([in, optional] VARIANT component);
8927
8928     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
8929     void onscroll(VARIANT v);
8930
8931     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
8932     VARIANT onscroll();
8933
8934     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
8935     void ondrag(VARIANT v);
8936
8937     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
8938     VARIANT ondrag();
8939
8940     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
8941     void ondragend(VARIANT v);
8942
8943     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
8944     VARIANT ondragend();
8945
8946     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
8947     void ondragenter(VARIANT v);
8948
8949     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
8950     VARIANT ondragenter();
8951
8952     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
8953     void ondragover(VARIANT v);
8954
8955     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
8956     VARIANT ondragover();
8957
8958     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
8959     void ondragleave(VARIANT v);
8960
8961     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
8962     VARIANT ondragleave();
8963
8964     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
8965     void ondrop(VARIANT v);
8966
8967     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
8968     VARIANT ondrop();
8969
8970     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
8971     void onbeforecut(VARIANT v);
8972
8973     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
8974     VARIANT onbeforecut();
8975
8976     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
8977     void oncut(VARIANT v);
8978
8979     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
8980     VARIANT oncut();
8981
8982     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
8983     void onbeforecopy(VARIANT v);
8984
8985     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
8986     VARIANT onbeforecopy();
8987
8988     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
8989     void oncopy(VARIANT v);
8990
8991     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
8992     VARIANT oncopy();
8993
8994     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
8995     void onbeforepaste(VARIANT v);
8996
8997     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
8998     VARIANT onbeforepaste();
8999
9000     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
9001     void onpaste(VARIANT v);
9002
9003     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
9004     VARIANT onpaste();
9005
9006     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
9007     IHTMLCurrentStyle *currentStyle();
9008
9009     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
9010     void onpropertychange(VARIANT v);
9011
9012     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
9013     VARIANT onpropertychange();
9014
9015     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
9016     IHTMLRectCollection *getClientRects();
9017
9018     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
9019     IHTMLRect *getBoundingClientRect();
9020
9021     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
9022     void setExpression(
9023             [in] BSTR propname,
9024             [in] BSTR expression,
9025             [in, defaultvalue("")] BSTR language);
9026
9027     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
9028     VARIANT getExpression([in] BSTR propname);
9029
9030     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
9031     VARIANT_BOOL removeExpression([in] BSTR propname);
9032
9033     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
9034     void tabIndex(short v);
9035
9036     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
9037     short tabIndex();
9038
9039     [id(DISPID_IHTMLELEMENT2_FOCUS)]
9040     void focus();
9041
9042     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
9043     void accessKey(BSTR v);
9044
9045     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
9046     BSTR accessKey();
9047
9048     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
9049     void onblur(VARIANT v);
9050
9051     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
9052     VARIANT onblur();
9053
9054     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
9055     void onfocus(VARIANT v);
9056
9057     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
9058     VARIANT onfocus();
9059
9060     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
9061     void onresize(VARIANT v);
9062
9063     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
9064     VARIANT onresize();
9065
9066     [id(DISPID_IHTMLELEMENT2_BLUR)]
9067     void blur();
9068
9069     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
9070     void addFilter([in] IUnknown *pUnk);
9071
9072     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
9073     void removeFilter([in] IUnknown *pUnk);
9074
9075     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
9076     LONG clientHeight();
9077
9078     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
9079     LONG clientWidth();
9080
9081     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
9082     LONG clientTop();
9083
9084     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
9085     LONG clientLeft();
9086
9087     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
9088     VARIANT_BOOL attachEvent(
9089             [in] BSTR event,
9090             [in] IDispatch *pDisp);
9091
9092     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
9093     void detachEvent(
9094             [in] BSTR event,
9095             [in] IDispatch *pDisp);
9096
9097     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
9098     VARIANT readyState();
9099
9100     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
9101     void onreadystatechange(VARIANT v);
9102
9103     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
9104     VARIANT onreadystatechange();
9105
9106     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
9107     void onrowsdelete(VARIANT v);
9108
9109     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
9110     VARIANT onrowsdelete();
9111
9112     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
9113     void onrowsinserted(VARIANT v);
9114
9115     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
9116      VARIANT onrowsinserted();
9117
9118     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
9119      void oncellchange(VARIANT v);
9120
9121     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
9122     VARIANT oncellchange();
9123
9124     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
9125     void dir(BSTR v);
9126
9127     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
9128     BSTR dir();
9129
9130     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
9131     IDispatch *createControlRange();
9132
9133     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
9134     LONG scrollHeight();
9135
9136     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
9137     LONG scrollWidth();
9138
9139     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
9140     void scrollTop(LONG v);
9141
9142     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
9143     LONG scrollTop();
9144
9145     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
9146     void scrollLeft(LONG v);
9147
9148     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
9149     LONG scrollLeft();
9150
9151     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
9152     void clearAttributes();
9153
9154     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
9155     void oncontextmenu(VARIANT v);
9156
9157     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
9158     VARIANT oncontextmenu();
9159
9160     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
9161     IHTMLElement *insertAdjacentElement(
9162             [in] BSTR where,
9163             [in] IHTMLElement *insertedElement);
9164
9165     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
9166     IHTMLElement *applyElement(
9167             [in] IHTMLElement *apply,
9168             [in] BSTR where);
9169
9170     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
9171     BSTR getAdjacentText([in] BSTR where);
9172
9173     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
9174     BSTR replaceAdjacentText(
9175             [in] BSTR where,
9176             [in] BSTR newText);
9177
9178     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
9179     VARIANT_BOOL canHaveChildren();
9180
9181     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
9182     LONG addBehavior(
9183             [in] BSTR bstrUrl,
9184             [in, optional] VARIANT *pvarFactory);
9185
9186     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
9187     VARIANT_BOOL removeBehavior([in] LONG cookie);
9188
9189     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
9190     IHTMLStyle *runtimeStyle();
9191
9192     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
9193     IDispatch *behaviorUrns();
9194
9195     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
9196     void tagUrn(BSTR v);
9197
9198     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
9199     BSTR tagUrn();
9200
9201     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
9202     void onbeforeeditfocus(VARIANT v);
9203
9204     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
9205     VARIANT onbeforeeditfocus();
9206
9207     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
9208     LONG readyStateValue();
9209
9210     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
9211     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
9212
9213     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
9214     void mergeAttributes(
9215             [in] IHTMLElement *mergeThis,
9216             [in, optional] VARIANT *pvarFlags);
9217
9218     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
9219     VARIANT_BOOL isMultiLine();
9220
9221     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
9222     VARIANT_BOOL canHaveHTML();
9223
9224     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
9225     void onlayoutcomplete(VARIANT v);
9226
9227     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
9228     VARIANT onlayoutcomplete();
9229
9230     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
9231     void onpage(VARIANT v);
9232
9233     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
9234     VARIANT onpage();
9235
9236     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
9237     void inflateBlock(VARIANT_BOOL v);
9238
9239     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
9240     VARIANT_BOOL inflateBlock();
9241
9242     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
9243     void onbeforedeactivate(VARIANT v);
9244
9245     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
9246     VARIANT onbeforedeactivate();
9247
9248     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
9249     void setActive();
9250
9251     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
9252     void contentEditable(BSTR v);
9253
9254     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
9255     BSTR contentEditable();
9256
9257     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
9258     VARIANT_BOOL isContentEditable();
9259
9260     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
9261     void hideFocus(VARIANT_BOOL v);
9262
9263     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
9264     VARIANT_BOOL hideFocus();
9265
9266     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
9267     void disabled(VARIANT_BOOL v);
9268
9269     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
9270     VARIANT_BOOL disabled();
9271
9272     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
9273     VARIANT_BOOL isDisabled();
9274
9275     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
9276     void onmove(VARIANT v);
9277
9278     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
9279     VARIANT onmove();
9280
9281     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
9282     void oncontrolselect(VARIANT v);
9283
9284     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
9285     VARIANT oncontrolselect();
9286
9287     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
9288     VARIANT_BOOL fireEvent(
9289             [in] BSTR bstrEventName,
9290             [in, optional] VARIANT *pvarEventObject);
9291
9292     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
9293     void onresizestart(VARIANT v);
9294
9295     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
9296     VARIANT onresizestart();
9297
9298     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
9299     void onresizeend(VARIANT v);
9300
9301     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
9302     VARIANT onresizeend();
9303
9304     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
9305     void onmovestart(VARIANT v);
9306
9307     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
9308     VARIANT onmovestart();
9309
9310     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
9311     void onmoveend(VARIANT v);
9312
9313     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
9314     VARIANT onmoveend();
9315
9316     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
9317     void onmouseenter(VARIANT v);
9318
9319     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
9320     VARIANT onmouseenter();
9321
9322     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
9323     void onmouseleave(VARIANT v);
9324
9325     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
9326     VARIANT onmouseleave();
9327
9328     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
9329     void onactivate(VARIANT v);
9330
9331     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
9332     VARIANT onactivate();
9333
9334     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
9335     void ondeactivate(VARIANT v);
9336
9337     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
9338     VARIANT ondeactivate();
9339
9340     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
9341     VARIANT_BOOL dragDrop();
9342
9343     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
9344     LONG glyphMode();
9345
9346     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
9347     void onmousewheel(VARIANT v);
9348
9349     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
9350     VARIANT onmousewheel();
9351
9352     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
9353     void normalize();
9354
9355     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
9356     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
9357
9358     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
9359     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
9360
9361     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
9362     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
9363
9364     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
9365     void onbeforeactivate(VARIANT v);
9366
9367     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
9368     VARIANT onbeforeactivate();
9369
9370     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
9371     void onfocusin(VARIANT v);
9372
9373     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
9374     VARIANT onfocusin();
9375
9376     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
9377     void onfocusout(VARIANT v);
9378
9379     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
9380     VARIANT onfocusout();
9381
9382     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
9383     LONG uniqueNumber();
9384
9385     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
9386     BSTR uniqueID();
9387
9388     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
9389     LONG nodeType();
9390
9391     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
9392     IHTMLDOMNode *parentNode();
9393
9394     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
9395     VARIANT_BOOL hasChildNodes();
9396
9397     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
9398     IDispatch *childNodes();
9399
9400     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
9401     IDispatch *attributes();
9402
9403     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
9404     IHTMLDOMNode *insertBefore(
9405             [in] IHTMLDOMNode *newChild,
9406             [in, optional] VARIANT refChild);
9407
9408     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
9409     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
9410
9411     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
9412     IHTMLDOMNode *replaceChild(
9413             [in] IHTMLDOMNode *newChild,
9414             [in] IHTMLDOMNode *oldChild);
9415
9416     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
9417     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
9418
9419     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
9420     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
9421
9422     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
9423     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
9424
9425     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
9426     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
9427
9428     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
9429     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
9430
9431     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
9432     BSTR nodeName();
9433
9434     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
9435     void nodeValue(VARIANT v);
9436
9437     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
9438     VARIANT nodeValue();
9439
9440     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
9441     IHTMLDOMNode *firstChild();
9442
9443     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
9444     IHTMLDOMNode *lastChild();
9445
9446     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
9447     IHTMLDOMNode *previousSibling();
9448
9449     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
9450     IHTMLDOMNode *nextSibling();
9451
9452     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
9453     IDispatch *ownerDocument();
9454
9455     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
9456     void dataFld(BSTR v);
9457
9458     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
9459     BSTR dataFld();
9460
9461     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
9462     void dataSrc(BSTR v);
9463
9464     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
9465     BSTR dataSrc();
9466
9467     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
9468     void dataFormatAs(BSTR v);
9469
9470     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
9471     BSTR dataFormatAs();
9472
9473     [propput, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
9474     void size(LONG v);
9475
9476     [propget, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
9477     LONG size();
9478
9479     [propput, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
9480     void multiple(VARIANT_BOOL v);
9481
9482     [propget, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
9483     VARIANT_BOOL multiple();
9484
9485     [propput, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
9486     void name(BSTR v);
9487
9488     [propget, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
9489     BSTR name();
9490
9491     [propget, id(DISPID_IHTMLSELECTELEMENT_OPTIONS)]
9492     IDispatch *options();
9493
9494     [propput, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
9495     void onchange(VARIANT v);
9496
9497     [propget, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
9498     VARIANT onchange();
9499
9500     [propput, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
9501     void selectedIndex(LONG v);
9502
9503     [propget, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
9504     LONG selectedIndex();
9505
9506     [propget, id(DISPID_IHTMLSELECTELEMENT_TYPE), displaybind, bindable]
9507     BSTR type();
9508
9509     [propput, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
9510     void value(BSTR v);
9511
9512     [propget, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
9513     BSTR value();
9514
9515     [propget, id(DISPID_IHTMLSELECTELEMENT_FORM)]
9516     IHTMLFormElement *form();
9517
9518     [id(DISPID_IHTMLSELECTELEMENT_ADD)]
9519     void add(
9520             [in] IHTMLElement *element,
9521             [in, optional] VARIANT before);
9522
9523     [id(DISPID_IHTMLSELECTELEMENT_REMOVE)]
9524     void remove([in, defaultvalue(-1)] LONG index);
9525
9526     [propput, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
9527     void length(LONG v);
9528
9529     [propget, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
9530     LONG length();
9531
9532     [propget, id(DISPID_IHTMLSELECTELEMENT__NEWENUM), hidden, restricted]
9533     IUnknown *_newEnum();
9534
9535     [id(DISPID_IHTMLSELECTELEMENT_ITEM)]
9536     IDispatch *item(
9537             [in, optional] VARIANT name,
9538             [in, optional] VARIANT index);
9539
9540     [id(DISPID_IHTMLSELECTELEMENT_TAGS)]
9541     IDispatch *tags([in] VARIANT tagName);
9542
9543     [id(DISPID_IHTMLSELECTELEMENT2_URNS)]
9544     IDispatch *urns([in] VARIANT urn);
9545
9546     [id(DISPID_IHTMLSELECTELEMENT4_NAMEDITEM)]
9547     IDispatch *namedItem([in] BSTR name);
9548 }
9549
9550 /*****************************************************************************
9551  *    IHTMLSelectionObject interface
9552  */
9553 [
9554     odl,
9555     oleautomation,
9556     dual,
9557     uuid(3050F25A-98B5-11CF-BB82-00AA00BDCE0B)
9558 ]
9559 interface IHTMLSelectionObject : IDispatch
9560 {
9561     [id(DISPID_IHTMLSELECTIONOBJECT_CREATERANGE)]
9562     HRESULT createRange([retval, out] IDispatch **range);
9563
9564     [id(DISPID_IHTMLSELECTIONOBJECT_EMPTY)]
9565     HRESULT empty();
9566
9567     [id(DISPID_IHTMLSELECTIONOBJECT_CLEAR)]
9568     HRESULT clear();
9569
9570     [propget, id(DISPID_IHTMLSELECTIONOBJECT_TYPE)]
9571     HRESULT type([retval, out] BSTR *p);
9572 }
9573
9574 /*****************************************************************************
9575  *    IHTMLOptionElement interface
9576  */
9577 [
9578     odl,
9579     oleautomation,
9580     dual,
9581     uuid(3050F211-98B5-11CF-BB82-00AA00BDCE0B)
9582 ]
9583 interface IHTMLOptionElement : IDispatch
9584 {
9585     [propput, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
9586     HRESULT selected([in] VARIANT_BOOL v);
9587
9588     [propget, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
9589     HRESULT selected([retval, out] VARIANT_BOOL *p);
9590
9591     [propput, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
9592     HRESULT value([in] BSTR v);
9593
9594     [propget, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
9595     HRESULT value([retval, out] BSTR *p);
9596
9597     [propput, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
9598     HRESULT defaultSelected([in] VARIANT_BOOL v);
9599
9600     [propget, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
9601     HRESULT defaultSelected([retval, out] VARIANT_BOOL *p);
9602
9603     [propput, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
9604     HRESULT index([in] LONG v);
9605
9606     [propget, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
9607     HRESULT index([retval, out] LONG *p);
9608
9609     [propput, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
9610     HRESULT text([in] BSTR v);
9611
9612     [propget, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
9613     HRESULT text([retval, out] BSTR *p);
9614
9615     [propget, id(DISPID_IHTMLOPTIONELEMENT_FORM)]
9616     HRESULT form([retval, out] IHTMLFormElement **p);
9617 }
9618
9619 /*****************************************************************************
9620  *    IHTMLOptionElementFactory interface
9621  */
9622 [
9623     odl,
9624     oleautomation,
9625     dual,
9626     uuid(3050F38C-98B5-11Cf-BB82-00AA00BDCE0B)
9627 ]
9628 interface IHTMLOptionElementFactory : IDispatch
9629 {
9630     [id(DISPID_IHTMLOPTIONELEMENTFACTORY_CREATE)]
9631     HRESULT create(
9632         [optional, in] VARIANT text,
9633         [optional, in] VARIANT value,
9634         [optional, in] VARIANT defaultselected,
9635         [optional, in] VARIANT selected,
9636         [retval, out] IHTMLOptionElement **optelem);
9637 }
9638
9639 /*****************************************************************************
9640  *    DispHTMLOptionElement dispinterface
9641  */
9642 [
9643     hidden,
9644     uuid(3050f52b-98b5-11cf-bb82-00aa00bdce0b)
9645 ]
9646 dispinterface DispHTMLOptionElement
9647 {
9648 properties:
9649 methods:
9650     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
9651     void setAttribute(
9652             [in] BSTR strAttributeName,
9653             [in] VARIANT AttributeValue,
9654             [in, defaultvalue(1)] LONG lFlags);
9655
9656     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
9657     VARIANT getAttribute(
9658              [in] BSTR strAttributeName,
9659              [in, defaultvalue(0)] LONG lFlags);
9660
9661     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
9662     VARIANT_BOOL removeAttribute(
9663             [in] BSTR strAttributeName,
9664             [in, defaultvalue(1)] LONG lFlags);
9665
9666     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
9667     void className(BSTR v);
9668
9669     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
9670     BSTR className();
9671
9672     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
9673     void id(BSTR v);
9674
9675     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
9676     BSTR id();
9677
9678     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
9679     BSTR tagName();
9680
9681     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
9682     IHTMLElement *parentElement();
9683
9684     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
9685     IHTMLStyle *style();
9686
9687     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
9688     void onhelp(VARIANT v);
9689
9690     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
9691     VARIANT onhelp();
9692
9693     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
9694     void onclick(VARIANT v);
9695
9696     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
9697     VARIANT onclick();
9698
9699     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
9700     void ondblclick(VARIANT v);
9701
9702     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
9703     VARIANT ondblclick();
9704
9705     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
9706     void onkeydown(VARIANT v);
9707
9708     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
9709     VARIANT onkeydown();
9710
9711     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
9712     void onkeyup(VARIANT v);
9713
9714     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
9715     VARIANT onkeyup();
9716
9717     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
9718     void onkeypress(VARIANT v);
9719
9720     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
9721     VARIANT onkeypress();
9722
9723     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
9724     void onmouseout(VARIANT v);
9725
9726     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
9727     VARIANT onmouseout();
9728
9729     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
9730     void onmouseover(VARIANT v);
9731
9732     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
9733     VARIANT onmouseover();
9734
9735     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
9736     void onmousemove(VARIANT v);
9737
9738     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
9739     VARIANT onmousemove();
9740
9741     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
9742     void onmousedown(VARIANT v);
9743
9744     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
9745     VARIANT onmousedown();
9746
9747     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
9748     void onmouseup(VARIANT v);
9749
9750     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
9751     VARIANT onmouseup();
9752
9753     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
9754     IDispatch *document();
9755
9756     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
9757     void title(BSTR v);
9758
9759     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
9760     BSTR title();
9761
9762     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
9763     void language(BSTR v);
9764
9765     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
9766     BSTR language();
9767
9768     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
9769     void onselectstart(VARIANT v);
9770
9771     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
9772     VARIANT onselectstart();
9773
9774     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
9775     void scrollIntoView([in, optional] VARIANT varargStart);
9776
9777     [id(DISPID_IHTMLELEMENT_CONTAINS)]
9778     VARIANT_BOOL contains([in] IHTMLElement *pChild);
9779
9780     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
9781     LONG sourceIndex();
9782
9783     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
9784     VARIANT recordNumber();
9785
9786     [propput, id(DISPID_IHTMLELEMENT_LANG)]
9787     void lang(BSTR v);
9788
9789     [propget, id(DISPID_IHTMLELEMENT_LANG)]
9790     BSTR lang();
9791
9792     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
9793     LONG offsetLeft();
9794
9795     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
9796     LONG offsetTop();
9797
9798     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
9799     LONG offsetWidth();
9800
9801     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
9802     LONG offsetHeight();
9803
9804     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
9805     IHTMLElement *offsetParent();
9806
9807     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
9808     void innerHTML(BSTR v);
9809
9810     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
9811     BSTR innerHTML();
9812
9813     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
9814     void innerText(BSTR v);
9815
9816     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
9817     BSTR innerText();
9818
9819     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
9820     void outerHTML(BSTR v);
9821
9822     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
9823     BSTR outerHTML();
9824
9825     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
9826     void outerText(BSTR v);
9827
9828     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
9829     BSTR outerText();
9830
9831     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
9832     void insertAdjacentHTML(
9833             [in] BSTR where,
9834             [in] BSTR html);
9835
9836     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
9837     void insertAdjacentText(
9838             [in] BSTR where,
9839             [in] BSTR text);
9840
9841     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
9842     IHTMLElement *parentTextEdit();
9843
9844     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
9845     VARIANT_BOOL isTextEdit();
9846
9847     [id(DISPID_IHTMLELEMENT_CLICK)]
9848     void click();
9849
9850     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
9851     IHTMLFiltersCollection *filters();
9852
9853     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
9854     void ondragstart(VARIANT v);
9855
9856     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
9857     VARIANT ondragstart();
9858
9859     [id(DISPID_IHTMLELEMENT_TOSTRING)]
9860     BSTR toString();
9861
9862     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
9863     void onbeforeupdate(VARIANT v);
9864
9865     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
9866     VARIANT onbeforeupdate();
9867
9868     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
9869     void onafterupdate(VARIANT v);
9870
9871     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
9872     VARIANT onafterupdate();
9873
9874     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
9875     void onerrorupdate(VARIANT v);
9876
9877     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
9878     VARIANT onerrorupdate();
9879
9880     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
9881     void onrowexit(VARIANT v);
9882
9883     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
9884     VARIANT onrowexit();
9885
9886     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
9887     void onrowenter(VARIANT v);
9888
9889     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
9890     VARIANT onrowenter();
9891
9892     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
9893     void ondatasetchanged(VARIANT v);
9894
9895     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
9896     VARIANT ondatasetchanged();
9897
9898     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
9899     void ondataavailable(VARIANT v);
9900
9901     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
9902     VARIANT ondataavailable();
9903
9904     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
9905     void ondatasetcomplete(VARIANT v);
9906
9907     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
9908     VARIANT ondatasetcomplete();
9909
9910     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
9911     void onfilterchange(VARIANT v);
9912
9913     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
9914     VARIANT onfilterchange();
9915
9916     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
9917     IDispatch *children();
9918
9919     [propget, id(DISPID_IHTMLELEMENT_ALL)]
9920     IDispatch *all();
9921
9922     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
9923     BSTR scopeName();
9924
9925     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
9926     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
9927
9928     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
9929     void releaseCapture();
9930
9931     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
9932     void onlosecapture(VARIANT v);
9933
9934     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
9935     VARIANT onlosecapture();
9936
9937     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
9938     BSTR componentFromPoint(
9939             [in] LONG x,
9940             [in] LONG y);
9941
9942     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
9943     void doScroll([in, optional] VARIANT component);
9944
9945     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
9946     void onscroll(VARIANT v);
9947
9948     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
9949     VARIANT onscroll();
9950
9951     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
9952     void ondrag(VARIANT v);
9953
9954     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
9955     VARIANT ondrag();
9956
9957     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
9958     void ondragend(VARIANT v);
9959
9960     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
9961     VARIANT ondragend();
9962
9963     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
9964     void ondragenter(VARIANT v);
9965
9966     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
9967     VARIANT ondragenter();
9968
9969     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
9970     void ondragover(VARIANT v);
9971
9972     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
9973     VARIANT ondragover();
9974
9975     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
9976     void ondragleave(VARIANT v);
9977
9978     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
9979     VARIANT ondragleave();
9980
9981     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
9982     void ondrop(VARIANT v);
9983
9984     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
9985     VARIANT ondrop();
9986
9987     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
9988     void onbeforecut(VARIANT v);
9989
9990     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
9991     VARIANT onbeforecut();
9992
9993     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
9994     void oncut(VARIANT v);
9995
9996     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
9997     VARIANT oncut();
9998
9999     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
10000     void onbeforecopy(VARIANT v);
10001
10002     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
10003     VARIANT onbeforecopy();
10004
10005     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
10006     void oncopy(VARIANT v);
10007
10008     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
10009     VARIANT oncopy();
10010
10011     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
10012     void onbeforepaste(VARIANT v);
10013
10014     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
10015     VARIANT onbeforepaste();
10016
10017     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
10018     void onpaste(VARIANT v);
10019
10020     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
10021     VARIANT onpaste();
10022
10023     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
10024     IHTMLCurrentStyle *currentStyle();
10025
10026     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
10027     void onpropertychange(VARIANT v);
10028
10029     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
10030     VARIANT onpropertychange();
10031
10032     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
10033     IHTMLRectCollection *getClientRects();
10034
10035     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
10036     IHTMLRect *getBoundingClientRect();
10037
10038     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
10039     void setExpression(
10040             [in] BSTR propname,
10041             [in] BSTR expression,
10042             [in, defaultvalue("")] BSTR language);
10043
10044     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
10045     VARIANT getExpression([in] BSTR propname);
10046
10047     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
10048     VARIANT_BOOL removeExpression([in] BSTR propname);
10049
10050     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
10051     void tabIndex(short v);
10052
10053     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
10054     short tabIndex();
10055
10056     [id(DISPID_IHTMLELEMENT2_FOCUS)]
10057     void focus();
10058
10059     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
10060     void accessKey(BSTR v);
10061
10062     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
10063     BSTR accessKey();
10064
10065     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
10066     void onblur(VARIANT v);
10067
10068     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
10069     VARIANT onblur();
10070
10071     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
10072     void onfocus(VARIANT v);
10073
10074     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
10075     VARIANT onfocus();
10076
10077     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
10078     void onresize(VARIANT v);
10079
10080     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
10081     VARIANT onresize();
10082
10083     [id(DISPID_IHTMLELEMENT2_BLUR)]
10084     void blur();
10085
10086     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
10087     void addFilter([in] IUnknown *pUnk);
10088
10089     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
10090     void removeFilter([in] IUnknown *pUnk);
10091
10092     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
10093     LONG clientHeight();
10094
10095     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
10096     LONG clientWidth();
10097
10098     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
10099     LONG clientTop();
10100
10101     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
10102     LONG clientLeft();
10103
10104     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
10105     VARIANT_BOOL attachEvent(
10106             [in] BSTR event,
10107             [in] IDispatch *pDisp);
10108
10109     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
10110     void detachEvent(
10111             [in] BSTR event,
10112             [in] IDispatch *pDisp);
10113
10114     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
10115     VARIANT readyState();
10116
10117     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
10118     void onreadystatechange(VARIANT v);
10119
10120     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
10121     VARIANT onreadystatechange();
10122
10123     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
10124     void onrowsdelete(VARIANT v);
10125
10126     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
10127     VARIANT onrowsdelete();
10128
10129     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
10130     void onrowsinserted(VARIANT v);
10131
10132     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
10133      VARIANT onrowsinserted();
10134
10135     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
10136      void oncellchange(VARIANT v);
10137
10138     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
10139     VARIANT oncellchange();
10140
10141     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
10142     void dir(BSTR v);
10143
10144     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
10145     BSTR dir();
10146
10147     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
10148     IDispatch *createControlRange();
10149
10150     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
10151     LONG scrollHeight();
10152
10153     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
10154     LONG scrollWidth();
10155
10156     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
10157     void scrollTop(LONG v);
10158
10159     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
10160     LONG scrollTop();
10161
10162     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
10163     void scrollLeft(LONG v);
10164
10165     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
10166     LONG scrollLeft();
10167
10168     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
10169     void clearAttributes();
10170
10171     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
10172     void oncontextmenu(VARIANT v);
10173
10174     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
10175     VARIANT oncontextmenu();
10176
10177     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
10178     IHTMLElement *insertAdjacentElement(
10179             [in] BSTR where,
10180             [in] IHTMLElement *insertedElement);
10181
10182     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
10183     IHTMLElement *applyElement(
10184             [in] IHTMLElement *apply,
10185             [in] BSTR where);
10186
10187     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
10188     BSTR getAdjacentText([in] BSTR where);
10189
10190     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
10191     BSTR replaceAdjacentText(
10192             [in] BSTR where,
10193             [in] BSTR newText);
10194
10195     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
10196     VARIANT_BOOL canHaveChildren();
10197
10198     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
10199     LONG addBehavior(
10200             [in] BSTR bstrUrl,
10201             [in, optional] VARIANT *pvarFactory);
10202
10203     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
10204     VARIANT_BOOL removeBehavior([in] LONG cookie);
10205
10206     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
10207     IHTMLStyle *runtimeStyle();
10208
10209     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
10210     IDispatch *behaviorUrns();
10211
10212     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
10213     void tagUrn(BSTR v);
10214
10215     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
10216     BSTR tagUrn();
10217
10218     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
10219     void onbeforeeditfocus(VARIANT v);
10220
10221     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
10222     VARIANT onbeforeeditfocus();
10223
10224     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
10225     LONG readyStateValue();
10226
10227     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
10228     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
10229
10230     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
10231     void mergeAttributes(
10232             [in] IHTMLElement *mergeThis,
10233             [in, optional] VARIANT *pvarFlags);
10234
10235     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
10236     VARIANT_BOOL isMultiLine();
10237
10238     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
10239     VARIANT_BOOL canHaveHTML();
10240
10241     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
10242     void onlayoutcomplete(VARIANT v);
10243
10244     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
10245     VARIANT onlayoutcomplete();
10246
10247     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
10248     void onpage(VARIANT v);
10249
10250     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
10251     VARIANT onpage();
10252
10253     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
10254     void inflateBlock(VARIANT_BOOL v);
10255
10256     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
10257     VARIANT_BOOL inflateBlock();
10258
10259     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
10260     void onbeforedeactivate(VARIANT v);
10261
10262     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
10263     VARIANT onbeforedeactivate();
10264
10265     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
10266     void setActive();
10267
10268     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
10269     void contentEditable(BSTR v);
10270
10271     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
10272     BSTR contentEditable();
10273
10274     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
10275     VARIANT_BOOL isContentEditable();
10276
10277     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
10278     void hideFocus(VARIANT_BOOL v);
10279
10280     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
10281     VARIANT_BOOL hideFocus();
10282
10283     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
10284     void disabled(VARIANT_BOOL v);
10285
10286     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
10287     VARIANT_BOOL disabled();
10288
10289     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
10290     VARIANT_BOOL isDisabled();
10291
10292     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
10293     void onmove(VARIANT v);
10294
10295     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
10296     VARIANT onmove();
10297
10298     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
10299     void oncontrolselect(VARIANT v);
10300
10301     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
10302     VARIANT oncontrolselect();
10303
10304     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
10305     VARIANT_BOOL fireEvent(
10306             [in] BSTR bstrEventName,
10307             [in, optional] VARIANT *pvarEventObject);
10308
10309     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
10310     void onresizestart(VARIANT v);
10311
10312     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
10313     VARIANT onresizestart();
10314
10315     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
10316     void onresizeend(VARIANT v);
10317
10318     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
10319     VARIANT onresizeend();
10320
10321     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
10322     void onmovestart(VARIANT v);
10323
10324     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
10325     VARIANT onmovestart();
10326
10327     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
10328     void onmoveend(VARIANT v);
10329
10330     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
10331     VARIANT onmoveend();
10332
10333     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
10334     void onmouseenter(VARIANT v);
10335
10336     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
10337     VARIANT onmouseenter();
10338
10339     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
10340     void onmouseleave(VARIANT v);
10341
10342     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
10343     VARIANT onmouseleave();
10344
10345     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
10346     void onactivate(VARIANT v);
10347
10348     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
10349     VARIANT onactivate();
10350
10351     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
10352     void ondeactivate(VARIANT v);
10353
10354     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
10355     VARIANT ondeactivate();
10356
10357     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
10358     VARIANT_BOOL dragDrop();
10359
10360     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
10361     LONG glyphMode();
10362
10363     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
10364     void onmousewheel(VARIANT v);
10365
10366     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
10367     VARIANT onmousewheel();
10368
10369     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
10370     void normalize();
10371
10372     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
10373     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
10374
10375     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
10376     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
10377
10378     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
10379     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
10380
10381     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
10382     void onbeforeactivate(VARIANT v);
10383
10384     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
10385     VARIANT onbeforeactivate();
10386
10387     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
10388     void onfocusin(VARIANT v);
10389
10390     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
10391     VARIANT onfocusin();
10392
10393     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
10394     void onfocusout(VARIANT v);
10395
10396     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
10397     VARIANT onfocusout();
10398
10399     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
10400     LONG uniqueNumber();
10401
10402     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
10403     BSTR uniqueID();
10404
10405     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
10406     LONG nodeType();
10407
10408     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
10409     IHTMLDOMNode *parentNode();
10410
10411     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
10412     VARIANT_BOOL hasChildNodes();
10413
10414     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
10415     IDispatch *childNodes();
10416
10417     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
10418     IDispatch *attributes();
10419
10420     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
10421     IHTMLDOMNode *insertBefore(
10422             [in] IHTMLDOMNode *newChild,
10423             [in, optional] VARIANT refChild);
10424
10425     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
10426     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
10427
10428     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
10429     IHTMLDOMNode *replaceChild(
10430             [in] IHTMLDOMNode *newChild,
10431             [in] IHTMLDOMNode *oldChild);
10432
10433     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
10434     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
10435
10436     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
10437     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
10438
10439     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
10440     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
10441
10442     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
10443     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
10444
10445     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
10446     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
10447
10448     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
10449     BSTR nodeName();
10450
10451     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
10452     void nodeValue(VARIANT v);
10453
10454     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
10455     VARIANT nodeValue();
10456
10457     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
10458     IHTMLDOMNode *firstChild();
10459
10460     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
10461     IHTMLDOMNode *lastChild();
10462
10463     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
10464     IHTMLDOMNode *previousSibling();
10465
10466     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
10467     IHTMLDOMNode *nextSibling();
10468
10469     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
10470     IDispatch *ownerDocument();
10471
10472     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
10473     void dataFld(BSTR v);
10474
10475     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
10476     BSTR dataFld();
10477
10478     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
10479     void dataSrc(BSTR v);
10480
10481     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
10482     BSTR dataSrc();
10483
10484     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
10485     void dataFormatAs(BSTR v);
10486
10487     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
10488     BSTR dataFormatAs();
10489
10490     [propput, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
10491     void selected(VARIANT_BOOL v);
10492
10493     [propget, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
10494     VARIANT_BOOL selected();
10495
10496     [propput, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
10497     void value(BSTR v);
10498
10499     [propget, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
10500     BSTR value();
10501
10502     [propput, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
10503     void defaultSelected(VARIANT_BOOL v);
10504
10505     [propget, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
10506     VARIANT_BOOL defaultSelected();
10507
10508     [propput, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
10509     void index(LONG v);
10510
10511     [propget, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
10512     LONG index();
10513
10514     [propput, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
10515     void text(BSTR v);
10516
10517     [propget, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
10518     BSTR text();
10519
10520     [propget, id(DISPID_IHTMLOPTIONELEMENT_FORM)]
10521     IHTMLFormElement *form();
10522
10523     [propput, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
10524     void label(BSTR v);
10525
10526     [propget, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
10527     BSTR label();
10528 }
10529
10530 /*****************************************************************************
10531  *    IHTMLInputElement interface
10532  */
10533 [
10534     odl,
10535     oleautomation,
10536     dual,
10537     uuid(3050f5d2-98b5-11cf-bb82-00aa00bdce0b)
10538 ]
10539 interface IHTMLInputElement : IDispatch
10540 {
10541     [propput, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
10542     HRESULT type([in] BSTR v);
10543
10544     [propget, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
10545     HRESULT type([retval, out] BSTR *p);
10546
10547     [propput, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
10548     HRESULT value([in] BSTR v);
10549
10550     [propget, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
10551     HRESULT value([retval, out] BSTR *p);
10552
10553     [propput, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
10554     HRESULT name([in] BSTR v);
10555
10556     [propget, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
10557     HRESULT name([retval, out] BSTR *p);
10558
10559     [propput, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
10560     HRESULT status([in] VARIANT_BOOL v);
10561
10562     [propget, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
10563     HRESULT status([retval, out] VARIANT_BOOL *p);
10564
10565     [propput, id(DISPID_IHTMLINPUTELEMENT_DISABLED), displaybind, bindable]
10566     HRESULT disabled([in] VARIANT_BOOL v);
10567
10568     [propget, id(DISPID_IHTMLINPUTELEMENT_DISABLED), displaybind, bindable]
10569     HRESULT disabled([retval, out] VARIANT_BOOL *p);
10570
10571     [propget, id(DISPID_IHTMLINPUTELEMENT_FORM)]
10572     HRESULT form([retval, out] IHTMLFormElement **p);
10573
10574     [propput, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
10575     HRESULT size([in] LONG v);
10576
10577     [propget, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
10578     HRESULT size([retval, out] LONG *p);
10579
10580     [propput, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
10581     HRESULT maxLength([in] LONG v);
10582
10583     [propget, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
10584     HRESULT maxLength([retval, out] LONG *p);
10585
10586     [id(DISPID_IHTMLINPUTELEMENT_SELECT)]
10587     HRESULT select();
10588
10589     [propput, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
10590     HRESULT onchange([in] VARIANT v);
10591
10592     [propget, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
10593     HRESULT onchange([retval, out] VARIANT *p);
10594
10595     [propput, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
10596     HRESULT onselect([in] VARIANT v);
10597
10598     [propget, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
10599     HRESULT onselect([retval, out] VARIANT *p);
10600
10601     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
10602     HRESULT defaultValue([in] BSTR v);
10603
10604     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
10605     HRESULT defaultValue([retval, out] BSTR *p);
10606
10607     [propput, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
10608     HRESULT readOnly([in] VARIANT_BOOL v);
10609
10610     [propget, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
10611     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
10612
10613     [id(DISPID_IHTMLINPUTELEMENT_CREATETEXTRANGE)]
10614     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
10615
10616     [propput, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
10617     HRESULT indeterminate([in] VARIANT_BOOL v);
10618
10619     [propget, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
10620     HRESULT indeterminate([retval, out] VARIANT_BOOL *p);
10621
10622     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
10623     HRESULT defaultChecked([in] VARIANT_BOOL v);
10624
10625     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
10626     HRESULT defaultChecked([retval, out] VARIANT_BOOL *p);
10627
10628     [propput, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
10629     HRESULT checked([in] VARIANT_BOOL v);
10630
10631     [propget, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
10632     HRESULT checked([retval, out] VARIANT_BOOL *p);
10633
10634     [propput, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
10635     HRESULT border([in] VARIANT v);
10636
10637     [propget, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
10638     HRESULT border([retval, out] VARIANT *p);
10639
10640     [propput, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
10641     HRESULT vspace([in] LONG v);
10642
10643     [propget, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
10644     HRESULT vspace([retval, out] LONG *p);
10645
10646     [propput, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
10647     HRESULT hspace([in] LONG v);
10648
10649     [propget, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
10650     HRESULT hspace([retval, out] LONG *p);
10651
10652     [propput, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
10653     HRESULT alt([in] BSTR v);
10654
10655     [propget, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
10656     HRESULT alt([retval, out] BSTR *p);
10657
10658     [propput, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
10659     HRESULT src([in] BSTR v);
10660
10661     [propget, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
10662     HRESULT src([retval, out] BSTR *p);
10663
10664     [propput, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
10665     HRESULT lowsrc([in] BSTR v);
10666
10667     [propget, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
10668     HRESULT lowsrc([retval, out] BSTR *p);
10669
10670     [propput, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
10671     HRESULT vrml([in] BSTR v);
10672
10673     [propget, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
10674     HRESULT vrml([retval, out] BSTR *p);
10675
10676     [propput, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
10677     HRESULT dynsrc([in] BSTR v);
10678
10679     [propget, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
10680     HRESULT dynsrc([retval, out] BSTR *p);
10681
10682     [propget, id(DISPID_IHTMLINPUTELEMENT_READYSTATE)]
10683     HRESULT readyState([retval, out] BSTR *p);
10684
10685     [propget, id(DISPID_IHTMLINPUTELEMENT_COMPLETE)]
10686     HRESULT complete([retval, out] VARIANT_BOOL *p);
10687
10688     [propput, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
10689     HRESULT loop([in] VARIANT v);
10690
10691     [propget, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
10692     HRESULT loop([retval, out] VARIANT *p);
10693
10694     [propput, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
10695     HRESULT align([in] BSTR v);
10696
10697     [propget, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
10698     HRESULT align([retval, out] BSTR *p);
10699
10700     [propput, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
10701     HRESULT onload([in] VARIANT v);
10702
10703     [propget, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
10704     HRESULT onload([retval, out] VARIANT *p);
10705
10706     [propput, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
10707     HRESULT onerror([in] VARIANT v);
10708
10709     [propget, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
10710     HRESULT onerror([retval, out] VARIANT *p);
10711
10712     [propput, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
10713     HRESULT onabort([in] VARIANT v);
10714
10715     [propget, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
10716     HRESULT onabort([retval, out] VARIANT *p);
10717
10718     [propput, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
10719     HRESULT width([in] LONG v);
10720
10721     [propget, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
10722     HRESULT width([retval, out] LONG *p);
10723
10724     [propput, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
10725     HRESULT height([in] LONG v);
10726
10727     [propget, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
10728     HRESULT height([retval, out] LONG *p);
10729
10730     [propput, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
10731     HRESULT start([in] BSTR v);
10732
10733     [propget, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
10734     HRESULT start([retval, out] BSTR *p);
10735 }
10736
10737 /*****************************************************************************
10738  *    IHTMLInputTextElement interface
10739  */
10740 [
10741     odl,
10742     oleautomation,
10743     dual,
10744     uuid(3050f2a6-98b5-11cf-bb82-00aa00bdce0b)
10745 ]
10746 interface IHTMLInputTextElement : IDispatch
10747 {
10748     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_TYPE)]
10749     HRESULT type([retval, out] BSTR *p);
10750
10751     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_VALUE), displaybind, bindable]
10752     HRESULT value([in] BSTR v);
10753
10754     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_VALUE), displaybind, bindable]
10755     HRESULT value([retval, out] BSTR *p);
10756
10757     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_NAME), displaybind, bindable]
10758     HRESULT name([in] BSTR v);
10759
10760     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_NAME), displaybind, bindable]
10761     HRESULT name([retval, out] BSTR *p);
10762
10763     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_STATUS)]
10764     HRESULT status([in] VARIANT v);
10765
10766     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_STATUS)]
10767     HRESULT status([retval, out] VARIANT *p);
10768
10769     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_DISABLED), displaybind, bindable]
10770     HRESULT disabled([in] VARIANT_BOOL v);
10771
10772     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_DISABLED), displaybind, bindable]
10773     HRESULT disabled([retval, out] VARIANT_BOOL *p);
10774
10775     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_FORM)]
10776     HRESULT form([retval, out] IHTMLFormElement **p);
10777
10778     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
10779     HRESULT defaultValue([in] BSTR v);
10780
10781     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
10782     HRESULT defaultValue([retval, out] BSTR *p);
10783
10784     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_SIZE), displaybind, bindable]
10785     HRESULT size([in] LONG v);
10786
10787     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_SIZE), displaybind, bindable]
10788     HRESULT size([retval, out] LONG *p);
10789
10790     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_MAXLENGTH), displaybind, bindable]
10791     HRESULT maxLength([in] LONG v);
10792
10793     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_MAXLENGTH), displaybind, bindable]
10794     HRESULT maxLength([retval, out] LONG *p);
10795
10796     [id(DISPID_IHTMLINPUTTEXTELEMENT_SELECT)]
10797     HRESULT select();
10798
10799     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_ONCHANGE), displaybind, bindable]
10800     HRESULT onchange([in] VARIANT v);
10801
10802     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_ONCHANGE), displaybind, bindable]
10803     HRESULT onchange([retval, out] VARIANT *p);
10804
10805     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_ONSELECT), displaybind, bindable]
10806     HRESULT onselect([in] VARIANT v);
10807
10808     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_ONSELECT), displaybind, bindable]
10809     HRESULT onselect([retval, out] VARIANT *p);
10810
10811     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_READONLY), displaybind, bindable]
10812     HRESULT readOnly([in] VARIANT_BOOL v);
10813
10814     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_READONLY), displaybind, bindable]
10815     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
10816
10817     [id(DISPID_IHTMLINPUTTEXTELEMENT_CREATETEXTRANGE)]
10818     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
10819 }
10820
10821 [
10822     hidden,
10823     uuid(3050f57d-98b5-11cf-bb82-00aa00bdce0b)
10824 ]
10825 dispinterface DispHTMLInputElement
10826 {
10827 properties:
10828 methods:
10829     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
10830     void setAttribute(
10831             [in] BSTR strAttributeName,
10832             [in] VARIANT AttributeValue,
10833             [in, defaultvalue(1)] LONG lFlags);
10834
10835     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
10836     VARIANT getAttribute(
10837              [in] BSTR strAttributeName,
10838              [in, defaultvalue(0)] LONG lFlags);
10839
10840     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
10841     VARIANT_BOOL removeAttribute(
10842             [in] BSTR strAttributeName,
10843             [in, defaultvalue(1)] LONG lFlags);
10844
10845     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
10846     void className(BSTR v);
10847
10848     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
10849     BSTR className();
10850
10851     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
10852     void id(BSTR v);
10853
10854     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
10855     BSTR id();
10856
10857     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
10858     BSTR tagName();
10859
10860     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
10861     IHTMLElement *parentElement();
10862
10863     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
10864     IHTMLStyle *style();
10865
10866     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
10867     void onhelp(VARIANT v);
10868
10869     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
10870     VARIANT onhelp();
10871
10872     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
10873     void onclick(VARIANT v);
10874
10875     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
10876     VARIANT onclick();
10877
10878     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
10879     void ondblclick(VARIANT v);
10880
10881     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
10882     VARIANT ondblclick();
10883
10884     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
10885     void onkeydown(VARIANT v);
10886
10887     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
10888     VARIANT onkeydown();
10889
10890     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
10891     void onkeyup(VARIANT v);
10892
10893     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
10894     VARIANT onkeyup();
10895
10896     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
10897     void onkeypress(VARIANT v);
10898
10899     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
10900     VARIANT onkeypress();
10901
10902     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
10903     void onmouseout(VARIANT v);
10904
10905     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
10906     VARIANT onmouseout();
10907
10908     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
10909     void onmouseover(VARIANT v);
10910
10911     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
10912     VARIANT onmouseover();
10913
10914     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
10915     void onmousemove(VARIANT v);
10916
10917     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
10918     VARIANT onmousemove();
10919
10920     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
10921     void onmousedown(VARIANT v);
10922
10923     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
10924     VARIANT onmousedown();
10925
10926     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
10927     void onmouseup(VARIANT v);
10928
10929     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
10930     VARIANT onmouseup();
10931
10932     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
10933     IDispatch *document();
10934
10935     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
10936     void title(BSTR v);
10937
10938     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
10939     BSTR title();
10940
10941     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
10942     void language(BSTR v);
10943
10944     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
10945     BSTR language();
10946
10947     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
10948     void onselectstart(VARIANT v);
10949
10950     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
10951     VARIANT onselectstart();
10952
10953     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
10954     void scrollIntoView([in, optional] VARIANT varargStart);
10955
10956     [id(DISPID_IHTMLELEMENT_CONTAINS)]
10957     VARIANT_BOOL contains([in] IHTMLElement *pChild);
10958
10959     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
10960     LONG sourceIndex();
10961
10962     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
10963     VARIANT recordNumber();
10964
10965     [propput, id(DISPID_IHTMLELEMENT_LANG)]
10966     void lang(BSTR v);
10967
10968     [propget, id(DISPID_IHTMLELEMENT_LANG)]
10969     BSTR lang();
10970
10971     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
10972     LONG offsetLeft();
10973
10974     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
10975     LONG offsetTop();
10976
10977     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
10978     LONG offsetWidth();
10979
10980     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
10981     LONG offsetHeight();
10982
10983     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
10984     IHTMLElement *offsetParent();
10985
10986     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
10987     void innerHTML(BSTR v);
10988
10989     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
10990     BSTR innerHTML();
10991
10992     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
10993     void innerText(BSTR v);
10994
10995     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
10996     BSTR innerText();
10997
10998     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
10999     void outerHTML(BSTR v);
11000
11001     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
11002     BSTR outerHTML();
11003
11004     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
11005     void outerText(BSTR v);
11006
11007     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
11008     BSTR outerText();
11009
11010     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
11011     void insertAdjacentHTML(
11012             [in] BSTR where,
11013             [in] BSTR html);
11014
11015     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
11016     void insertAdjacentText(
11017             [in] BSTR where,
11018             [in] BSTR text);
11019
11020     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
11021     IHTMLElement *parentTextEdit();
11022
11023     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
11024     VARIANT_BOOL isTextEdit();
11025
11026     [id(DISPID_IHTMLELEMENT_CLICK)]
11027     void click();
11028
11029     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
11030     IHTMLFiltersCollection *filters();
11031
11032     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
11033     void ondragstart(VARIANT v);
11034
11035     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
11036     VARIANT ondragstart();
11037
11038     [id(DISPID_IHTMLELEMENT_TOSTRING)]
11039     BSTR toString();
11040
11041     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
11042     void onbeforeupdate(VARIANT v);
11043
11044     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
11045     VARIANT onbeforeupdate();
11046
11047     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
11048     void onafterupdate(VARIANT v);
11049
11050     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
11051     VARIANT onafterupdate();
11052
11053     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
11054     void onerrorupdate(VARIANT v);
11055
11056     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
11057     VARIANT onerrorupdate();
11058
11059     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
11060     void onrowexit(VARIANT v);
11061
11062     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
11063     VARIANT onrowexit();
11064
11065     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
11066     void onrowenter(VARIANT v);
11067
11068     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
11069     VARIANT onrowenter();
11070
11071     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
11072     void ondatasetchanged(VARIANT v);
11073
11074     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
11075     VARIANT ondatasetchanged();
11076
11077     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
11078     void ondataavailable(VARIANT v);
11079
11080     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
11081     VARIANT ondataavailable();
11082
11083     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
11084     void ondatasetcomplete(VARIANT v);
11085
11086     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
11087     VARIANT ondatasetcomplete();
11088
11089     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
11090     void onfilterchange(VARIANT v);
11091
11092     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
11093     VARIANT onfilterchange();
11094
11095     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
11096     IDispatch *children();
11097
11098     [propget, id(DISPID_IHTMLELEMENT_ALL)]
11099     IDispatch *all();
11100
11101     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
11102     BSTR scopeName();
11103
11104     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
11105     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
11106
11107     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
11108     void releaseCapture();
11109
11110     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
11111     void onlosecapture(VARIANT v);
11112
11113     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
11114     VARIANT onlosecapture();
11115
11116     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
11117     BSTR componentFromPoint(
11118             [in] LONG x,
11119             [in] LONG y);
11120
11121     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
11122     void doScroll([in, optional] VARIANT component);
11123
11124     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
11125     void onscroll(VARIANT v);
11126
11127     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
11128     VARIANT onscroll();
11129
11130     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
11131     void ondrag(VARIANT v);
11132
11133     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
11134     VARIANT ondrag();
11135
11136     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
11137     void ondragend(VARIANT v);
11138
11139     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
11140     VARIANT ondragend();
11141
11142     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
11143     void ondragenter(VARIANT v);
11144
11145     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
11146     VARIANT ondragenter();
11147
11148     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
11149     void ondragover(VARIANT v);
11150
11151     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
11152     VARIANT ondragover();
11153
11154     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
11155     void ondragleave(VARIANT v);
11156
11157     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
11158     VARIANT ondragleave();
11159
11160     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
11161     void ondrop(VARIANT v);
11162
11163     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
11164     VARIANT ondrop();
11165
11166     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
11167     void onbeforecut(VARIANT v);
11168
11169     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
11170     VARIANT onbeforecut();
11171
11172     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
11173     void oncut(VARIANT v);
11174
11175     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
11176     VARIANT oncut();
11177
11178     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
11179     void onbeforecopy(VARIANT v);
11180
11181     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
11182     VARIANT onbeforecopy();
11183
11184     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
11185     void oncopy(VARIANT v);
11186
11187     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
11188     VARIANT oncopy();
11189
11190     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
11191     void onbeforepaste(VARIANT v);
11192
11193     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
11194     VARIANT onbeforepaste();
11195
11196     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
11197     void onpaste(VARIANT v);
11198
11199     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
11200     VARIANT onpaste();
11201
11202     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
11203     IHTMLCurrentStyle *currentStyle();
11204
11205     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
11206     void onpropertychange(VARIANT v);
11207
11208     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
11209     VARIANT onpropertychange();
11210
11211     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
11212     IHTMLRectCollection *getClientRects();
11213
11214     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
11215     IHTMLRect *getBoundingClientRect();
11216
11217     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
11218     void setExpression(
11219             [in] BSTR propname,
11220             [in] BSTR expression,
11221             [in, defaultvalue("")] BSTR language);
11222
11223     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
11224     VARIANT getExpression([in] BSTR propname);
11225
11226     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
11227     VARIANT_BOOL removeExpression([in] BSTR propname);
11228
11229     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
11230     void tabIndex(short v);
11231
11232     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
11233     short tabIndex();
11234
11235     [id(DISPID_IHTMLELEMENT2_FOCUS)]
11236     void focus();
11237
11238     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
11239     void accessKey(BSTR v);
11240
11241     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
11242     BSTR accessKey();
11243
11244     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
11245     void onblur(VARIANT v);
11246
11247     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
11248     VARIANT onblur();
11249
11250     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
11251     void onfocus(VARIANT v);
11252
11253     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
11254     VARIANT onfocus();
11255
11256     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
11257     void onresize(VARIANT v);
11258
11259     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
11260     VARIANT onresize();
11261
11262     [id(DISPID_IHTMLELEMENT2_BLUR)]
11263     void blur();
11264
11265     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
11266     void addFilter([in] IUnknown *pUnk);
11267
11268     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
11269     void removeFilter([in] IUnknown *pUnk);
11270
11271     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
11272     LONG clientHeight();
11273
11274     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
11275     LONG clientWidth();
11276
11277     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
11278     LONG clientTop();
11279
11280     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
11281     LONG clientLeft();
11282
11283     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
11284     VARIANT_BOOL attachEvent(
11285             [in] BSTR event,
11286             [in] IDispatch *pDisp);
11287
11288     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
11289     void detachEvent(
11290             [in] BSTR event,
11291             [in] IDispatch *pDisp);
11292
11293     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
11294     VARIANT readyState();
11295
11296     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
11297     void onreadystatechange(VARIANT v);
11298
11299     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
11300     VARIANT onreadystatechange();
11301
11302     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
11303     void onrowsdelete(VARIANT v);
11304
11305     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
11306     VARIANT onrowsdelete();
11307
11308     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
11309     void onrowsinserted(VARIANT v);
11310
11311     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
11312      VARIANT onrowsinserted();
11313
11314     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
11315      void oncellchange(VARIANT v);
11316
11317     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
11318     VARIANT oncellchange();
11319
11320     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
11321     void dir(BSTR v);
11322
11323     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
11324     BSTR dir();
11325
11326     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
11327     IDispatch *createControlRange();
11328
11329     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
11330     LONG scrollHeight();
11331
11332     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
11333     LONG scrollWidth();
11334
11335     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
11336     void scrollTop(LONG v);
11337
11338     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
11339     LONG scrollTop();
11340
11341     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
11342     void scrollLeft(LONG v);
11343
11344     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
11345     LONG scrollLeft();
11346
11347     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
11348     void clearAttributes();
11349
11350     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
11351     void oncontextmenu(VARIANT v);
11352
11353     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
11354     VARIANT oncontextmenu();
11355
11356     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
11357     IHTMLElement *insertAdjacentElement(
11358             [in] BSTR where,
11359             [in] IHTMLElement *insertedElement);
11360
11361     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
11362     IHTMLElement *applyElement(
11363             [in] IHTMLElement *apply,
11364             [in] BSTR where);
11365
11366     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
11367     BSTR getAdjacentText([in] BSTR where);
11368
11369     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
11370     BSTR replaceAdjacentText(
11371             [in] BSTR where,
11372             [in] BSTR newText);
11373
11374     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
11375     VARIANT_BOOL canHaveChildren();
11376
11377     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
11378     LONG addBehavior(
11379             [in] BSTR bstrUrl,
11380             [in, optional] VARIANT *pvarFactory);
11381
11382     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
11383     VARIANT_BOOL removeBehavior([in] LONG cookie);
11384
11385     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
11386     IHTMLStyle *runtimeStyle();
11387
11388     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
11389     IDispatch *behaviorUrns();
11390
11391     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
11392     void tagUrn(BSTR v);
11393
11394     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
11395     BSTR tagUrn();
11396
11397     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
11398     void onbeforeeditfocus(VARIANT v);
11399
11400     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
11401     VARIANT onbeforeeditfocus();
11402
11403     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
11404     LONG readyStateValue();
11405
11406     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
11407     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
11408
11409     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
11410     void mergeAttributes(
11411             [in] IHTMLElement *mergeThis,
11412             [in, optional] VARIANT *pvarFlags);
11413
11414     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
11415     VARIANT_BOOL isMultiLine();
11416
11417     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
11418     VARIANT_BOOL canHaveHTML();
11419
11420     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
11421     void onlayoutcomplete(VARIANT v);
11422
11423     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
11424     VARIANT onlayoutcomplete();
11425
11426     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
11427     void onpage(VARIANT v);
11428
11429     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
11430     VARIANT onpage();
11431
11432     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
11433     void inflateBlock(VARIANT_BOOL v);
11434
11435     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
11436     VARIANT_BOOL inflateBlock();
11437
11438     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
11439     void onbeforedeactivate(VARIANT v);
11440
11441     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
11442     VARIANT onbeforedeactivate();
11443
11444     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
11445     void setActive();
11446
11447     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
11448     void contentEditable(BSTR v);
11449
11450     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
11451     BSTR contentEditable();
11452
11453     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
11454     VARIANT_BOOL isContentEditable();
11455
11456     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
11457     void hideFocus(VARIANT_BOOL v);
11458
11459     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
11460     VARIANT_BOOL hideFocus();
11461
11462     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
11463     void disabled(VARIANT_BOOL v);
11464
11465     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
11466     VARIANT_BOOL disabled();
11467
11468     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
11469     VARIANT_BOOL isDisabled();
11470
11471     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
11472     void onmove(VARIANT v);
11473
11474     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
11475     VARIANT onmove();
11476
11477     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
11478     void oncontrolselect(VARIANT v);
11479
11480     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
11481     VARIANT oncontrolselect();
11482
11483     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
11484     VARIANT_BOOL fireEvent(
11485             [in] BSTR bstrEventName,
11486             [in, optional] VARIANT *pvarEventObject);
11487
11488     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
11489     void onresizestart(VARIANT v);
11490
11491     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
11492     VARIANT onresizestart();
11493
11494     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
11495     void onresizeend(VARIANT v);
11496
11497     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
11498     VARIANT onresizeend();
11499
11500     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
11501     void onmovestart(VARIANT v);
11502
11503     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
11504     VARIANT onmovestart();
11505
11506     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
11507     void onmoveend(VARIANT v);
11508
11509     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
11510     VARIANT onmoveend();
11511
11512     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
11513     void onmouseenter(VARIANT v);
11514
11515     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
11516     VARIANT onmouseenter();
11517
11518     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
11519     void onmouseleave(VARIANT v);
11520
11521     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
11522     VARIANT onmouseleave();
11523
11524     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
11525     void onactivate(VARIANT v);
11526
11527     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
11528     VARIANT onactivate();
11529
11530     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
11531     void ondeactivate(VARIANT v);
11532
11533     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
11534     VARIANT ondeactivate();
11535
11536     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
11537     VARIANT_BOOL dragDrop();
11538
11539     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
11540     LONG glyphMode();
11541
11542     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
11543     void onmousewheel(VARIANT v);
11544
11545     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
11546     VARIANT onmousewheel();
11547
11548     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
11549     void normalize();
11550
11551     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
11552     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
11553
11554     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
11555     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
11556
11557     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
11558     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
11559
11560     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
11561     void onbeforeactivate(VARIANT v);
11562
11563     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
11564     VARIANT onbeforeactivate();
11565
11566     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
11567     void onfocusin(VARIANT v);
11568
11569     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
11570     VARIANT onfocusin();
11571
11572     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
11573     void onfocusout(VARIANT v);
11574
11575     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
11576     VARIANT onfocusout();
11577
11578     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
11579     LONG uniqueNumber();
11580
11581     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
11582     BSTR uniqueID();
11583
11584     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
11585     LONG nodeType();
11586
11587     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
11588     IHTMLDOMNode *parentNode();
11589
11590     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
11591     VARIANT_BOOL hasChildNodes();
11592
11593     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
11594     IDispatch *childNodes();
11595
11596     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
11597     IDispatch *attributes();
11598
11599     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
11600     IHTMLDOMNode *insertBefore(
11601             [in] IHTMLDOMNode *newChild,
11602             [in, optional] VARIANT refChild);
11603
11604     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
11605     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
11606
11607     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
11608     IHTMLDOMNode *replaceChild(
11609             [in] IHTMLDOMNode *newChild,
11610             [in] IHTMLDOMNode *oldChild);
11611
11612     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
11613     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
11614
11615     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
11616     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
11617
11618     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
11619     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
11620
11621     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
11622     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
11623
11624     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
11625     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
11626
11627     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
11628     BSTR nodeName();
11629
11630     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
11631     void nodeValue(VARIANT v);
11632
11633     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
11634     VARIANT nodeValue();
11635
11636     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
11637     IHTMLDOMNode *firstChild();
11638
11639     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
11640     IHTMLDOMNode *lastChild();
11641
11642     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
11643     IHTMLDOMNode *previousSibling();
11644
11645     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
11646     IHTMLDOMNode *nextSibling();
11647
11648     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
11649     IDispatch *ownerDocument();
11650
11651     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
11652     void dataFld(BSTR v);
11653
11654     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
11655     BSTR dataFld();
11656
11657     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
11658     void dataSrc(BSTR v);
11659
11660     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
11661     BSTR dataSrc();
11662
11663     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
11664     void dataFormatAs(BSTR v);
11665
11666     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
11667     BSTR dataFormatAs();
11668
11669     [propput, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
11670     void type(BSTR v);
11671
11672     [propget, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
11673     BSTR type();
11674
11675     [propput, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
11676     void value(BSTR v);
11677
11678     [propget, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
11679     BSTR value();
11680
11681     [propput, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
11682     void name(BSTR v);
11683
11684     [propget, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
11685     BSTR name();
11686
11687     [propput, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
11688     void status(VARIANT_BOOL v);
11689
11690     [propget, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
11691     VARIANT_BOOL status();
11692
11693     [propget, id(DISPID_IHTMLINPUTELEMENT_FORM)]
11694     IHTMLFormElement *form();
11695
11696     [propput, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
11697     void size(LONG v);
11698
11699     [propget, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
11700     LONG size();
11701
11702     [propput, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
11703     void maxLength(LONG v);
11704
11705     [propget, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
11706     LONG maxLength();
11707
11708     [id(DISPID_IHTMLINPUTELEMENT_SELECT)]
11709     void select();
11710
11711     [propput, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
11712     void onchange(VARIANT v);
11713
11714     [propget, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
11715     VARIANT onchange();
11716
11717     [propput, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
11718     void onselect(VARIANT v);
11719
11720     [propget, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
11721     VARIANT onselect();
11722
11723     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
11724     void defaultValue(BSTR v);
11725
11726     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
11727     BSTR defaultValue();
11728
11729     [propput, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
11730     void readOnly(VARIANT_BOOL v);
11731
11732     [propget, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
11733     VARIANT_BOOL readOnly();
11734
11735     [id(DISPID_IHTMLINPUTELEMENT_CREATETEXTRANGE)]
11736     IHTMLTxtRange *createTextRange();
11737
11738     [propput, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
11739     void indeterminate(VARIANT_BOOL v);
11740
11741     [propget, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
11742     VARIANT_BOOL indeterminate();
11743
11744     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
11745     void defaultChecked(VARIANT_BOOL v);
11746
11747     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
11748     VARIANT_BOOL defaultChecked();
11749
11750     [propput, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
11751     void checked(VARIANT_BOOL v);
11752
11753     [propget, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
11754     VARIANT_BOOL checked();
11755
11756     [propput, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
11757     void border(VARIANT v);
11758
11759     [propget, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
11760     VARIANT border();
11761
11762     [propput, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
11763     void vspace(LONG v);
11764
11765     [propget, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
11766     LONG vspace();
11767
11768     [propput, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
11769     void hspace(LONG v);
11770
11771     [propget, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
11772     LONG hspace();
11773
11774     [propput, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
11775     void alt(BSTR v);
11776
11777     [propget, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
11778     BSTR alt();
11779
11780     [propput, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
11781     void src(BSTR v);
11782
11783     [propget, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
11784     BSTR src();
11785
11786     [propput, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
11787     void lowsrc(BSTR v);
11788
11789     [propget, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
11790     BSTR lowsrc();
11791
11792     [propput, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
11793     void vrml(BSTR v);
11794
11795     [propget, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
11796     BSTR vrml();
11797
11798     [propput, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
11799     void dynsrc(BSTR v);
11800
11801     [propget, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
11802     BSTR dynsrc();
11803
11804     [propget, id(DISPID_IHTMLINPUTELEMENT_COMPLETE)]
11805     VARIANT_BOOL complete();
11806
11807     [propput, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
11808     void loop(VARIANT v);
11809
11810     [propget, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
11811     VARIANT loop();
11812
11813     [propput, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
11814     void align(BSTR v);
11815
11816     [propget, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
11817     BSTR align();
11818
11819     [propput, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
11820     void onload(VARIANT v);
11821
11822     [propget, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
11823     VARIANT onload();
11824
11825     [propput, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
11826     void onerror(VARIANT v);
11827
11828     [propget, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
11829     VARIANT onerror();
11830
11831     [propput, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
11832     void onabort(VARIANT v);
11833
11834     [propget, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
11835     VARIANT onabort();
11836
11837     [propput, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
11838     void width(LONG v);
11839
11840     [propget, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
11841     LONG width();
11842
11843     [propput, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
11844     void height(LONG v);
11845
11846     [propget, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
11847     LONG height();
11848
11849     [propput, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
11850     void start(BSTR v);
11851
11852     [propget, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
11853     BSTR start();
11854
11855     [propput, id(DISPID_IHTMLINPUTELEMENT2_ACCEPT), displaybind, bindable]
11856     void accept(BSTR v);
11857
11858     [propget, id(DISPID_IHTMLINPUTELEMENT2_ACCEPT), displaybind, bindable]
11859     BSTR accept();
11860
11861     [propput, id(DISPID_IHTMLINPUTELEMENT2_USEMAP), displaybind, bindable]
11862     void useMap(BSTR v);
11863
11864     [propget, id(DISPID_IHTMLINPUTELEMENT2_USEMAP), displaybind, bindable]
11865     BSTR useMap();
11866 }
11867
11868 /*****************************************************************************
11869  *    IHTMLTextAreaElement interface
11870  */
11871 [
11872     odl,
11873     oleautomation,
11874     dual,
11875     uuid(3050f2aa-98b5-11cf-bb82-00aa00bdce0b)
11876 ]
11877 interface IHTMLTextAreaElement : IDispatch
11878 {
11879     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_TYPE)]
11880     HRESULT type([retval, out] BSTR *p);
11881
11882     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
11883     HRESULT value([in] BSTR v);
11884
11885     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
11886     HRESULT value([retval, out] BSTR *p);
11887
11888     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
11889     HRESULT name([in] BSTR v);
11890
11891     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
11892     HRESULT name([retval, out] BSTR *p);
11893
11894     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
11895     HRESULT status([in] VARIANT v);
11896
11897     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
11898     HRESULT status([retval, out] VARIANT *p);
11899
11900     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_DISABLED), displaybind, bindable]
11901     HRESULT disabled([in] VARIANT_BOOL v);
11902
11903     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_DISABLED), displaybind, bindable]
11904     HRESULT disabled([retval, out] VARIANT_BOOL *p);
11905
11906     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_FORM)]
11907     HRESULT form([retval, out] IHTMLFormElement **p);
11908
11909     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
11910     HRESULT defaultValue([in] BSTR v);
11911
11912     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
11913     HRESULT defaultValue([retval, out] BSTR *p);
11914
11915     [id(DISPID_IHTMLTEXTAREAELEMENT_SELECT)]
11916     HRESULT select();
11917
11918     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
11919     HRESULT onchange([in] VARIANT v);
11920
11921     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
11922     HRESULT onchange([retval, out] VARIANT *p);
11923
11924     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
11925     HRESULT onselect([in] VARIANT v);
11926
11927     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
11928     HRESULT onselect([retval, out] VARIANT *p);
11929
11930     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
11931     HRESULT readOnly([in] VARIANT_BOOL v);
11932
11933     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
11934     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
11935
11936     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
11937     HRESULT rows([in] LONG v);
11938
11939     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
11940     HRESULT rows([retval, out] LONG *p);
11941
11942     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
11943     HRESULT cols([in] LONG v);
11944
11945     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
11946     HRESULT cols([retval, out] LONG *p);
11947
11948     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
11949     HRESULT wrap([in] BSTR v);
11950
11951     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
11952     HRESULT wrap([retval, out] BSTR *p);
11953
11954     [id(DISPID_IHTMLTEXTAREAELEMENT_CREATETEXTRANGE)]
11955     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
11956 }
11957
11958 /*****************************************************************************
11959  *    DispHTMLUnknownElement interface
11960  */
11961 [
11962     hidden,
11963     uuid(3050f539-98b5-11cf-bb82-00aa00bdce0b)
11964 ]
11965 dispinterface DispHTMLUnknownElement
11966 {
11967 properties:
11968 methods:
11969     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
11970     void setAttribute(
11971             [in] BSTR strAttributeName,
11972             [in] VARIANT AttributeValue,
11973             [in, defaultvalue(1)] LONG lFlags);
11974
11975     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
11976     VARIANT getAttribute(
11977              [in] BSTR strAttributeName,
11978              [in, defaultvalue(0)] LONG lFlags);
11979
11980     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
11981     VARIANT_BOOL removeAttribute(
11982             [in] BSTR strAttributeName,
11983             [in, defaultvalue(1)] LONG lFlags);
11984
11985     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
11986     void className(BSTR v);
11987
11988     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
11989     BSTR className();
11990
11991     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
11992     void id(BSTR v);
11993
11994     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
11995     BSTR id();
11996
11997     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
11998     BSTR tagName();
11999
12000     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
12001     IHTMLElement *parentElement();
12002
12003     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
12004     IHTMLStyle *style();
12005
12006     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
12007     void onhelp(VARIANT v);
12008
12009     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
12010     VARIANT onhelp();
12011
12012     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
12013     void onclick(VARIANT v);
12014
12015     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
12016     VARIANT onclick();
12017
12018     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
12019     void ondblclick(VARIANT v);
12020
12021     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
12022     VARIANT ondblclick();
12023
12024     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
12025     void onkeydown(VARIANT v);
12026
12027     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
12028     VARIANT onkeydown();
12029
12030     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
12031     void onkeyup(VARIANT v);
12032
12033     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
12034     VARIANT onkeyup();
12035
12036     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
12037     void onkeypress(VARIANT v);
12038
12039     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
12040     VARIANT onkeypress();
12041
12042     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
12043     void onmouseout(VARIANT v);
12044
12045     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
12046     VARIANT onmouseout();
12047
12048     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
12049     void onmouseover(VARIANT v);
12050
12051     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
12052     VARIANT onmouseover();
12053
12054     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
12055     void onmousemove(VARIANT v);
12056
12057     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
12058     VARIANT onmousemove();
12059
12060     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
12061     void onmousedown(VARIANT v);
12062
12063     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
12064     VARIANT onmousedown();
12065
12066     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
12067     void onmouseup(VARIANT v);
12068
12069     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
12070     VARIANT onmouseup();
12071
12072     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
12073     IDispatch *document();
12074
12075     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
12076     void title(BSTR v);
12077
12078     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
12079     BSTR title();
12080
12081     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
12082     void language(BSTR v);
12083
12084     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
12085     BSTR language();
12086
12087     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
12088     void onselectstart(VARIANT v);
12089
12090     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
12091     VARIANT onselectstart();
12092
12093     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
12094     void scrollIntoView([in, optional] VARIANT varargStart);
12095
12096     [id(DISPID_IHTMLELEMENT_CONTAINS)]
12097     VARIANT_BOOL contains([in] IHTMLElement *pChild);
12098
12099     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
12100     LONG sourceIndex();
12101
12102     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
12103     VARIANT recordNumber();
12104
12105     [propput, id(DISPID_IHTMLELEMENT_LANG)]
12106     void lang(BSTR v);
12107
12108     [propget, id(DISPID_IHTMLELEMENT_LANG)]
12109     BSTR lang();
12110
12111     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
12112     LONG offsetLeft();
12113
12114     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
12115     LONG offsetTop();
12116
12117     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
12118     LONG offsetWidth();
12119
12120     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
12121     LONG offsetHeight();
12122
12123     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
12124     IHTMLElement *offsetParent();
12125
12126     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
12127     void innerHTML(BSTR v);
12128
12129     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
12130     BSTR innerHTML();
12131
12132     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
12133     void innerText(BSTR v);
12134
12135     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
12136     BSTR innerText();
12137
12138     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
12139     void outerHTML(BSTR v);
12140
12141     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
12142     BSTR outerHTML();
12143
12144     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
12145     void outerText(BSTR v);
12146
12147     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
12148     BSTR outerText();
12149
12150     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
12151     void insertAdjacentHTML(
12152             [in] BSTR where,
12153             [in] BSTR html);
12154
12155     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
12156     void insertAdjacentText(
12157             [in] BSTR where,
12158             [in] BSTR text);
12159
12160     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
12161     IHTMLElement *parentTextEdit();
12162
12163     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
12164     VARIANT_BOOL isTextEdit();
12165
12166     [id(DISPID_IHTMLELEMENT_CLICK)]
12167     void click();
12168
12169     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
12170     IHTMLFiltersCollection *filters();
12171
12172     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
12173     void ondragstart(VARIANT v);
12174
12175     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
12176     VARIANT ondragstart();
12177
12178     [id(DISPID_IHTMLELEMENT_TOSTRING)]
12179     BSTR toString();
12180
12181     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
12182     void onbeforeupdate(VARIANT v);
12183
12184     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
12185     VARIANT onbeforeupdate();
12186
12187     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
12188     void onafterupdate(VARIANT v);
12189
12190     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
12191     VARIANT onafterupdate();
12192
12193     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
12194     void onerrorupdate(VARIANT v);
12195
12196     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
12197     VARIANT onerrorupdate();
12198
12199     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
12200     void onrowexit(VARIANT v);
12201
12202     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
12203     VARIANT onrowexit();
12204
12205     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
12206     void onrowenter(VARIANT v);
12207
12208     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
12209     VARIANT onrowenter();
12210
12211     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
12212     void ondatasetchanged(VARIANT v);
12213
12214     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
12215     VARIANT ondatasetchanged();
12216
12217     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
12218     void ondataavailable(VARIANT v);
12219
12220     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
12221     VARIANT ondataavailable();
12222
12223     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
12224     void ondatasetcomplete(VARIANT v);
12225
12226     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
12227     VARIANT ondatasetcomplete();
12228
12229     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
12230     void onfilterchange(VARIANT v);
12231
12232     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
12233     VARIANT onfilterchange();
12234
12235     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
12236     IDispatch *children();
12237
12238     [propget, id(DISPID_IHTMLELEMENT_ALL)]
12239     IDispatch *all();
12240
12241     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
12242     BSTR scopeName();
12243
12244     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
12245     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
12246
12247     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
12248     void releaseCapture();
12249
12250     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
12251     void onlosecapture(VARIANT v);
12252
12253     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
12254     VARIANT onlosecapture();
12255
12256     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
12257     BSTR componentFromPoint(
12258             [in] LONG x,
12259             [in] LONG y);
12260
12261     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
12262     void doScroll([in, optional] VARIANT component);
12263
12264     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
12265     void onscroll(VARIANT v);
12266
12267     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
12268     VARIANT onscroll();
12269
12270     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
12271     void ondrag(VARIANT v);
12272
12273     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
12274     VARIANT ondrag();
12275
12276     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
12277     void ondragend(VARIANT v);
12278
12279     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
12280     VARIANT ondragend();
12281
12282     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
12283     void ondragenter(VARIANT v);
12284
12285     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
12286     VARIANT ondragenter();
12287
12288     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
12289     void ondragover(VARIANT v);
12290
12291     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
12292     VARIANT ondragover();
12293
12294     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
12295     void ondragleave(VARIANT v);
12296
12297     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
12298     VARIANT ondragleave();
12299
12300     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
12301     void ondrop(VARIANT v);
12302
12303     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
12304     VARIANT ondrop();
12305
12306     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
12307     void onbeforecut(VARIANT v);
12308
12309     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
12310     VARIANT onbeforecut();
12311
12312     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
12313     void oncut(VARIANT v);
12314
12315     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
12316     VARIANT oncut();
12317
12318     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
12319     void onbeforecopy(VARIANT v);
12320
12321     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
12322     VARIANT onbeforecopy();
12323
12324     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
12325     void oncopy(VARIANT v);
12326
12327     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
12328     VARIANT oncopy();
12329
12330     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
12331     void onbeforepaste(VARIANT v);
12332
12333     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
12334     VARIANT onbeforepaste();
12335
12336     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
12337     void onpaste(VARIANT v);
12338
12339     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
12340     VARIANT onpaste();
12341
12342     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
12343     IHTMLCurrentStyle *currentStyle();
12344
12345     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
12346     void onpropertychange(VARIANT v);
12347
12348     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
12349     VARIANT onpropertychange();
12350
12351     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
12352     IHTMLRectCollection *getClientRects();
12353
12354     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
12355     IHTMLRect *getBoundingClientRect();
12356
12357     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
12358     void setExpression(
12359             [in] BSTR propname,
12360             [in] BSTR expression,
12361             [in, defaultvalue("")] BSTR language);
12362
12363     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
12364     VARIANT getExpression([in] BSTR propname);
12365
12366     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
12367     VARIANT_BOOL removeExpression([in] BSTR propname);
12368
12369     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
12370     void tabIndex(short v);
12371
12372     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
12373     short tabIndex();
12374
12375     [id(DISPID_IHTMLELEMENT2_FOCUS)]
12376     void focus();
12377
12378     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
12379     void accessKey(BSTR v);
12380
12381     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
12382     BSTR accessKey();
12383
12384     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
12385     void onblur(VARIANT v);
12386
12387     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
12388     VARIANT onblur();
12389
12390     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
12391     void onfocus(VARIANT v);
12392
12393     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
12394     VARIANT onfocus();
12395
12396     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
12397     void onresize(VARIANT v);
12398
12399     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
12400     VARIANT onresize();
12401
12402     [id(DISPID_IHTMLELEMENT2_BLUR)]
12403     void blur();
12404
12405     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
12406     void addFilter([in] IUnknown *pUnk);
12407
12408     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
12409     void removeFilter([in] IUnknown *pUnk);
12410
12411     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
12412     LONG clientHeight();
12413
12414     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
12415     LONG clientWidth();
12416
12417     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
12418     LONG clientTop();
12419
12420     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
12421     LONG clientLeft();
12422
12423     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
12424     VARIANT_BOOL attachEvent(
12425             [in] BSTR event,
12426             [in] IDispatch *pDisp);
12427
12428     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
12429     void detachEvent(
12430             [in] BSTR event,
12431             [in] IDispatch *pDisp);
12432
12433     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
12434     VARIANT readyState();
12435
12436     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
12437     void onreadystatechange(VARIANT v);
12438
12439     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
12440     VARIANT onreadystatechange();
12441
12442     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
12443     void onrowsdelete(VARIANT v);
12444
12445     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
12446     VARIANT onrowsdelete();
12447
12448     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
12449     void onrowsinserted(VARIANT v);
12450
12451     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
12452      VARIANT onrowsinserted();
12453
12454     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
12455      void oncellchange(VARIANT v);
12456
12457     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
12458     VARIANT oncellchange();
12459
12460     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
12461     void dir(BSTR v);
12462
12463     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
12464     BSTR dir();
12465
12466     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
12467     IDispatch *createControlRange();
12468
12469     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
12470     LONG scrollHeight();
12471
12472     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
12473     LONG scrollWidth();
12474
12475     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
12476     void scrollTop(LONG v);
12477
12478     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
12479     LONG scrollTop();
12480
12481     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
12482     void scrollLeft(LONG v);
12483
12484     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
12485     LONG scrollLeft();
12486
12487     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
12488     void clearAttributes();
12489
12490     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
12491     void oncontextmenu(VARIANT v);
12492
12493     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
12494     VARIANT oncontextmenu();
12495
12496     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
12497     IHTMLElement *insertAdjacentElement(
12498             [in] BSTR where,
12499             [in] IHTMLElement *insertedElement);
12500
12501     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
12502     IHTMLElement *applyElement(
12503             [in] IHTMLElement *apply,
12504             [in] BSTR where);
12505
12506     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
12507     BSTR getAdjacentText([in] BSTR where);
12508
12509     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
12510     BSTR replaceAdjacentText(
12511             [in] BSTR where,
12512             [in] BSTR newText);
12513
12514     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
12515     VARIANT_BOOL canHaveChildren();
12516
12517     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
12518     LONG addBehavior(
12519             [in] BSTR bstrUrl,
12520             [in, optional] VARIANT *pvarFactory);
12521
12522     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
12523     VARIANT_BOOL removeBehavior([in] LONG cookie);
12524
12525     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
12526     IHTMLStyle *runtimeStyle();
12527
12528     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
12529     IDispatch *behaviorUrns();
12530
12531     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
12532     void tagUrn(BSTR v);
12533
12534     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
12535     BSTR tagUrn();
12536
12537     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
12538     void onbeforeeditfocus(VARIANT v);
12539
12540     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
12541     VARIANT onbeforeeditfocus();
12542
12543     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
12544     LONG readyStateValue();
12545
12546     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
12547     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
12548
12549     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
12550     void mergeAttributes(
12551             [in] IHTMLElement *mergeThis,
12552             [in, optional] VARIANT *pvarFlags);
12553
12554     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
12555     VARIANT_BOOL isMultiLine();
12556
12557     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
12558     VARIANT_BOOL canHaveHTML();
12559
12560     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
12561     void onlayoutcomplete(VARIANT v);
12562
12563     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
12564     VARIANT onlayoutcomplete();
12565
12566     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
12567     void onpage(VARIANT v);
12568
12569     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
12570     VARIANT onpage();
12571
12572     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
12573     void inflateBlock(VARIANT_BOOL v);
12574
12575     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
12576     VARIANT_BOOL inflateBlock();
12577
12578     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
12579     void onbeforedeactivate(VARIANT v);
12580
12581     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
12582     VARIANT onbeforedeactivate();
12583
12584     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
12585     void setActive();
12586
12587     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
12588     void contentEditable(BSTR v);
12589
12590     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
12591     BSTR contentEditable();
12592
12593     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
12594     VARIANT_BOOL isContentEditable();
12595
12596     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
12597     void hideFocus(VARIANT_BOOL v);
12598
12599     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
12600     VARIANT_BOOL hideFocus();
12601
12602     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
12603     void disabled(VARIANT_BOOL v);
12604
12605     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
12606     VARIANT_BOOL disabled();
12607
12608     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
12609     VARIANT_BOOL isDisabled();
12610
12611     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
12612     void onmove(VARIANT v);
12613
12614     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
12615     VARIANT onmove();
12616
12617     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
12618     void oncontrolselect(VARIANT v);
12619
12620     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
12621     VARIANT oncontrolselect();
12622
12623     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
12624     VARIANT_BOOL fireEvent(
12625             [in] BSTR bstrEventName,
12626             [in, optional] VARIANT *pvarEventObject);
12627
12628     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
12629     void onresizestart(VARIANT v);
12630
12631     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
12632     VARIANT onresizestart();
12633
12634     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
12635     void onresizeend(VARIANT v);
12636
12637     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
12638     VARIANT onresizeend();
12639
12640     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
12641     void onmovestart(VARIANT v);
12642
12643     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
12644     VARIANT onmovestart();
12645
12646     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
12647     void onmoveend(VARIANT v);
12648
12649     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
12650     VARIANT onmoveend();
12651
12652     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
12653     void onmouseenter(VARIANT v);
12654
12655     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
12656     VARIANT onmouseenter();
12657
12658     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
12659     void onmouseleave(VARIANT v);
12660
12661     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
12662     VARIANT onmouseleave();
12663
12664     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
12665     void onactivate(VARIANT v);
12666
12667     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
12668     VARIANT onactivate();
12669
12670     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
12671     void ondeactivate(VARIANT v);
12672
12673     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
12674     VARIANT ondeactivate();
12675
12676     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
12677     VARIANT_BOOL dragDrop();
12678
12679     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
12680     LONG glyphMode();
12681
12682     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
12683     void onmousewheel(VARIANT v);
12684
12685     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
12686     VARIANT onmousewheel();
12687
12688     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
12689     void normalize();
12690
12691     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
12692     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
12693
12694     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
12695     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
12696
12697     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
12698     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
12699
12700     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
12701     void onbeforeactivate(VARIANT v);
12702
12703     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
12704     VARIANT onbeforeactivate();
12705
12706     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
12707     void onfocusin(VARIANT v);
12708
12709     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
12710     VARIANT onfocusin();
12711
12712     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
12713     void onfocusout(VARIANT v);
12714
12715     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
12716     VARIANT onfocusout();
12717
12718     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
12719     LONG uniqueNumber();
12720
12721     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
12722     BSTR uniqueID();
12723
12724     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
12725     LONG nodeType();
12726
12727     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
12728     IHTMLDOMNode *parentNode();
12729
12730     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
12731     VARIANT_BOOL hasChildNodes();
12732
12733     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
12734     IDispatch *childNodes();
12735
12736     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
12737     IDispatch *attributes();
12738
12739     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
12740     IHTMLDOMNode *insertBefore(
12741             [in] IHTMLDOMNode *newChild,
12742             [in, optional] VARIANT refChild);
12743
12744     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
12745     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
12746
12747     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
12748     IHTMLDOMNode *replaceChild(
12749             [in] IHTMLDOMNode *newChild,
12750             [in] IHTMLDOMNode *oldChild);
12751
12752     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
12753     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
12754
12755     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
12756     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
12757
12758     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
12759     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
12760
12761     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
12762     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
12763
12764     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
12765     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
12766
12767     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
12768     BSTR nodeName();
12769
12770     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
12771     void nodeValue(VARIANT v);
12772
12773     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
12774     VARIANT nodeValue();
12775
12776     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
12777     IHTMLDOMNode *firstChild();
12778
12779     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
12780     IHTMLDOMNode *lastChild();
12781
12782     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
12783     IHTMLDOMNode *previousSibling();
12784
12785     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
12786     IHTMLDOMNode *nextSibling();
12787
12788     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
12789     IDispatch *ownerDocument();
12790 }
12791
12792 /*****************************************************************************
12793  *    IOmHistory interface
12794  */
12795 [
12796     odl,
12797     oleautomation,
12798     dual,
12799     uuid(FECEAAA2-8405-11CF-8BA1-00AA00476DA6)
12800 ]
12801 interface IOmHistory : IDispatch
12802 {
12803     [propget, id(DISPID_IOMHISTORY_LENGTH)]
12804     HRESULT length([retval, out] short *p);
12805
12806     [id(DISPID_IOMHISTORY_BACK)]
12807     HRESULT back([optional, in] VARIANT *pvargdistance);
12808
12809     [id(DISPID_IOMHISTORY_FORWARD)]
12810     HRESULT forward([optional, in] VARIANT *pvargdistance);
12811
12812     [id(DISPID_IOMHISTORY_GO)]
12813     HRESULT go([optional, in] VARIANT *pvargdistance);
12814 }
12815
12816 [
12817     noncreatable,
12818     uuid(FECEAAA3-8405-11cf-8BA1-00AA00476DA6)
12819 ]
12820 coclass HTMLHistory
12821 {
12822     [default]           interface IOmHistory;
12823 }
12824
12825 /*****************************************************************************
12826  *    IHTMLMimeTypesCollection interface
12827  */
12828 [
12829     odl,
12830     oleautomation,
12831     dual,
12832     uuid(3050F3FC-98B5-11CF-BB82-00AA00BDCE0B)
12833 ]
12834 interface IHTMLMimeTypesCollection : IDispatch
12835 {
12836     [propget, id(DISPID_IHTMLMIMETYPESCOLLECTION_LENGTH)]
12837     HRESULT length([retval, out] LONG *p);
12838 }
12839
12840 [
12841     noncreatable,
12842     uuid(3050f3fe-98b5-11cf-bb82-00aa00bdce0b)
12843 ]
12844 coclass CMimeTypes
12845 {
12846     [default]           interface IHTMLMimeTypesCollection;
12847 }
12848
12849 /*****************************************************************************
12850  *    IHTMLPluginsCollection interface
12851  */
12852 [
12853     odl,
12854     oleautomation,
12855     dual,
12856     uuid(3050F3FD-98B5-11CF-BB82-00AA00BDCE0B)
12857 ]
12858 interface IHTMLPluginsCollection : IDispatch
12859 {
12860     [propget, id(DISPID_IHTMLPLUGINSCOLLECTION_LENGTH)]
12861     HRESULT length([retval, out] LONG *p);
12862
12863     [id(DISPID_IHTMLPLUGINSCOLLECTION_REFRESH)]
12864     HRESULT refresh([defaultvalue(0), in] VARIANT_BOOL reload);
12865 }
12866
12867 [
12868     noncreatable,
12869     uuid(3050f3ff-98b5-11cf-bb82-00aa00bdce0b)
12870 ]
12871 coclass CPlugins
12872 {
12873     [default]           interface IHTMLPluginsCollection;
12874 }
12875
12876 /*****************************************************************************
12877  *    IHTMLOpsProfile interface
12878  */
12879 [
12880     odl,
12881     oleautomation,
12882     dual,
12883     uuid(3050F401-98B5-11CF-BB82-00AA00BDCE0B)
12884 ]
12885 interface IHTMLOpsProfile : IDispatch
12886 {
12887     [id(DISPID_IHTMLOPSPROFILE_ADDREQUEST)]
12888     HRESULT addRequest(
12889         [in] BSTR name,
12890         [optional, in] VARIANT reserved,
12891         [retval, out] VARIANT_BOOL *success);
12892
12893     [id(DISPID_IHTMLOPSPROFILE_CLEARREQUEST)]
12894     HRESULT clearRequest();
12895
12896     [id(DISPID_IHTMLOPSPROFILE_DOREQUEST)]
12897     HRESULT doRequest(
12898         [in] VARIANT usage,
12899         [optional, in] VARIANT fname,
12900         [optional, in] VARIANT domain,
12901         [optional, in] VARIANT path,
12902         [optional, in] VARIANT expire,
12903         [optional, in] VARIANT reserved);
12904
12905     [id(DISPID_IHTMLOPSPROFILE_GETATTRIBUTE)]
12906     HRESULT getAttribute(
12907         [in] BSTR name,
12908         [retval, out] BSTR *value);
12909
12910     [id(DISPID_IHTMLOPSPROFILE_SETATTRIBUTE)]
12911     HRESULT setAttribute(
12912         [in] BSTR name,
12913         [in] BSTR value,
12914         [optional, in] VARIANT prefs,
12915         [retval, out] VARIANT_BOOL *success);
12916
12917     [id(DISPID_IHTMLOPSPROFILE_COMMITCHANGES)]
12918     HRESULT commitChanges([retval, out] VARIANT_BOOL *success);
12919
12920     [id(DISPID_IHTMLOPSPROFILE_ADDREADREQUEST)]
12921     HRESULT addReadRequest(
12922         [in] BSTR name,
12923         [optional, in] VARIANT reserved,
12924         [retval, out] VARIANT_BOOL *success);
12925
12926     [id(DISPID_IHTMLOPSPROFILE_DOREADREQUEST)]
12927     HRESULT doReadRequest(
12928         [in] VARIANT usage,
12929         [optional, in] VARIANT fname,
12930         [optional, in] VARIANT domain,
12931         [optional, in] VARIANT path,
12932         [optional, in] VARIANT expire,
12933         [optional, in] VARIANT reserved);
12934
12935     [id(DISPID_IHTMLOPSPROFILE_DOWRITEREQUEST)]
12936     HRESULT doWriteRequest([retval, out] VARIANT_BOOL *success);
12937 }
12938
12939 [
12940     noncreatable,
12941     uuid(3050f402-98b5-11cf-bb82-00aa00bdce0b)
12942 ]
12943 coclass COpsProfile
12944 {
12945     [default]           interface IHTMLOpsProfile;
12946 }
12947
12948 /*****************************************************************************
12949  *    IOmNavigator interface
12950  */
12951 [
12952         odl,
12953         oleautomation,
12954         dual,
12955         uuid(FECEAAA5-8405-11CF-8BA1-00AA00476DA6)
12956 ]
12957 interface IOmNavigator : IDispatch
12958 {
12959     [propget, id(DISPID_IOMNAVIGATOR_APPCODENAME)]
12960     HRESULT appCodeName([retval, out] BSTR *p);
12961
12962     [propget, id(DISPID_IOMNAVIGATOR_APPNAME)]
12963     HRESULT appName([retval, out] BSTR *p);
12964
12965     [propget, id(DISPID_IOMNAVIGATOR_APPVERSION)]
12966     HRESULT appVersion([retval, out] BSTR *p);
12967
12968     [propget, id(DISPID_IOMNAVIGATOR_USERAGENT)]
12969     HRESULT userAgent([retval, out] BSTR *p);
12970
12971     [id(DISPID_IOMNAVIGATOR_JAVAENABLED)]
12972     HRESULT javaEnabled([retval, out] VARIANT_BOOL *enabled);
12973
12974     [id(DISPID_IOMNAVIGATOR_TAINTENABLED)]
12975     HRESULT taintEnabled([retval, out] VARIANT_BOOL *enabled);
12976
12977     [propget, id(DISPID_IOMNAVIGATOR_MIMETYPES)]
12978     HRESULT mimeTypes([retval, out] IHTMLMimeTypesCollection **p);
12979
12980     [propget, id(DISPID_IOMNAVIGATOR_PLUGINS)]
12981     HRESULT plugins([retval, out] IHTMLPluginsCollection **p);
12982
12983     [propget, id(DISPID_IOMNAVIGATOR_COOKIEENABLED)]
12984     HRESULT cookieEnabled([retval, out] VARIANT_BOOL *p);
12985
12986     [propget, id(DISPID_IOMNAVIGATOR_OPSPROFILE)]
12987     HRESULT opsProfile([retval, out] IHTMLOpsProfile **p);
12988
12989     [id(DISPID_IOMNAVIGATOR_TOSTRING)]
12990     HRESULT toString([retval, out] BSTR *String);
12991
12992     [propget, id(DISPID_IOMNAVIGATOR_CPUCLASS)]
12993     HRESULT cpuClass([retval, out] BSTR *p);
12994
12995     [propget, id(DISPID_IOMNAVIGATOR_SYSTEMLANGUAGE)]
12996     HRESULT systemLanguage([retval, out] BSTR *p);
12997
12998     [propget, id(DISPID_IOMNAVIGATOR_BROWSERLANGUAGE)]
12999     HRESULT browserLanguage([retval, out] BSTR *p);
13000
13001     [propget, id(DISPID_IOMNAVIGATOR_USERLANGUAGE)]
13002     HRESULT userLanguage([retval, out] BSTR *p);
13003
13004     [propget, id(DISPID_IOMNAVIGATOR_PLATFORM)]
13005     HRESULT platform([retval, out] BSTR *p);
13006
13007     [propget, id(DISPID_IOMNAVIGATOR_APPMINORVERSION)]
13008     HRESULT appMinorVersion([retval, out] BSTR *p);
13009
13010     [propget, id(DISPID_IOMNAVIGATOR_CONNECTIONSPEED)]
13011     HRESULT connectionSpeed([retval, out] LONG *p);
13012
13013     [propget, id(DISPID_IOMNAVIGATOR_ONLINE)]
13014     HRESULT onLine([retval, out] VARIANT_BOOL *p);
13015
13016     [propget, id(DISPID_IOMNAVIGATOR_USERPROFILE)]
13017     HRESULT userProfile([retval, out] IHTMLOpsProfile **p);
13018 }
13019
13020 [
13021     noncreatable,
13022     uuid(FECEAAA6-8405-11cf-8BA1-00AA00476DA6)
13023 ]
13024 coclass HTMLNavigator
13025 {
13026     [default]           interface IOmNavigator;
13027 }
13028
13029 /*****************************************************************************
13030  *    IHTMLLocation interface
13031  */
13032 [
13033     odl,
13034     oleautomation,
13035     dual,
13036     uuid(163BB1E0-6E00-11cf-837A-48DC04C10000)
13037 ]
13038 interface IHTMLLocation : IDispatch
13039 {
13040     [propput, id(DISPID_IHTMLLOCATION_HREF)]
13041     HRESULT href([in] BSTR v);
13042
13043     [propget, id(DISPID_IHTMLLOCATION_HREF)]
13044     HRESULT href([retval, out] BSTR *p);
13045
13046     [propput, id(DISPID_IHTMLLOCATION_PROTOCOL)]
13047     HRESULT protocol([in] BSTR v);
13048
13049     [propget, id(DISPID_IHTMLLOCATION_PROTOCOL)]
13050     HRESULT protocol([retval, out] BSTR *p);
13051
13052     [propput, id(DISPID_IHTMLLOCATION_HOST)]
13053     HRESULT host([in] BSTR v);
13054
13055     [propget, id(DISPID_IHTMLLOCATION_HOST)]
13056     HRESULT host([retval, out] BSTR *p);
13057
13058     [propput, id(DISPID_IHTMLLOCATION_HOSTNAME)]
13059     HRESULT hostname([in] BSTR v);
13060
13061     [propget, id(DISPID_IHTMLLOCATION_HOSTNAME)]
13062     HRESULT hostname([retval, out] BSTR *p);
13063
13064     [propput, id(DISPID_IHTMLLOCATION_PORT)]
13065     HRESULT port([in] BSTR v);
13066
13067     [propget, id(DISPID_IHTMLLOCATION_PORT)]
13068     HRESULT port([retval, out] BSTR *p);
13069
13070     [propput, id(DISPID_IHTMLLOCATION_PATHNAME)]
13071     HRESULT pathname([in] BSTR v);
13072
13073     [propget, id(DISPID_IHTMLLOCATION_PATHNAME)]
13074     HRESULT pathname([retval, out] BSTR *p);
13075
13076     [propput, id(DISPID_IHTMLLOCATION_SEARCH)]
13077     HRESULT search([in] BSTR v);
13078
13079     [propget, id(DISPID_IHTMLLOCATION_SEARCH)]
13080     HRESULT search([retval, out] BSTR *p);
13081
13082     [propput, id(DISPID_IHTMLLOCATION_HASH)]
13083     HRESULT hash([in] BSTR v);
13084
13085     [propget, id(DISPID_IHTMLLOCATION_HASH)]
13086     HRESULT hash([retval, out] BSTR *p);
13087
13088     [id(DISPID_IHTMLLOCATION_RELOAD)]
13089     HRESULT reload([defaultvalue(0), in] VARIANT_BOOL flag);
13090
13091     [id(DISPID_IHTMLLOCATION_REPLACE)]
13092     HRESULT replace([in] BSTR bstr);
13093
13094     [id(DISPID_IHTMLLOCATION_ASSIGN)]
13095     HRESULT assign([in] BSTR bstr);
13096
13097     [id(DISPID_IHTMLLOCATION_TOSTRING)]
13098     HRESULT toString([retval, out] BSTR *String);
13099 }
13100
13101 [
13102     noncreatable,
13103     uuid(163BB1E1-6E00-11cf-837A-48DC04C10000)
13104 ]
13105 coclass HTMLLocation
13106 {
13107     [default]           interface IHTMLLocation;
13108 }
13109
13110 [
13111     odl,
13112     oleautomation,
13113     dual,
13114     uuid(3050f4ce-98b5-11cf-bb82-00aa00bdce0b)
13115 ]
13116 interface IHTMLBookmarkCollection : IDispatch
13117 {
13118     [propget, id(DISPID_IHTMLBOOKMARKCOLLECTION_LENGTH), hidden]
13119     HRESULT length([out, retval] LONG *p);
13120
13121     [propget, id(DISPID_IHTMLBOOKMARKCOLLECTION__NEWENUM), hidden, restricted]
13122     HRESULT _newEnum([out, retval] IUnknown **p);
13123
13124     [id(DISPID_IHTMLBOOKMARKCOLLECTION_ITEM)]
13125     HRESULT item(
13126             [in] LONG index,
13127             [out, retval] VARIANT *pVarBookmark);
13128 }
13129
13130 /*****************************************************************************
13131  *    IHTMLDataTransfer interface
13132  */
13133 [
13134     odl,
13135     oleautomation,
13136     dual,
13137     uuid(3050f4b3-98b5-11cf-bb82-00aa00bdce0b)
13138 ]
13139 interface IHTMLDataTransfer : IDispatch
13140 {
13141     [id(DISPID_IHTMLDATATRANSFER_SETDATA)]
13142     HRESULT setData(
13143             [in] BSTR format,
13144             [in] VARIANT *data,
13145             [out, retval] VARIANT_BOOL *pret);
13146
13147     [id(DISPID_IHTMLDATATRANSFER_GETDATA)]
13148     HRESULT getData(
13149             [in] BSTR format,
13150             [out, retval] VARIANT *pvarRet);
13151
13152     [id(DISPID_IHTMLDATATRANSFER_CLEARDATA)]
13153     HRESULT clearData(
13154             [in] BSTR format,
13155             [out, retval] VARIANT_BOOL *pret);
13156
13157     [propput, id(DISPID_IHTMLDATATRANSFER_DROPEFFECT)]
13158     HRESULT dropEffect([in] BSTR v);
13159
13160     [propget, id(DISPID_IHTMLDATATRANSFER_DROPEFFECT)]
13161     HRESULT dropEffect([out, retval] BSTR *p);
13162
13163     [propput, id(DISPID_IHTMLDATATRANSFER_EFFECTALLOWED)]
13164     HRESULT effectAllowed([in] BSTR v);
13165
13166     [propget, id(DISPID_IHTMLDATATRANSFER_EFFECTALLOWED)]
13167     HRESULT effectAllowed([out, retval] BSTR *p);
13168 }
13169
13170 /*****************************************************************************
13171  *    IHTMLEventObj interface
13172  */
13173 [
13174     odl,
13175     oleautomation,
13176     dual,
13177     uuid(3050F32D-98B5-11CF-BB82-00AA00BDCE0B)
13178 ]
13179 interface IHTMLEventObj : IDispatch
13180 {
13181     [propget, id(DISPID_IHTMLEVENTOBJ_SRCELEMENT)]
13182     HRESULT srcElement([retval, out] IHTMLElement **p);
13183
13184     [propget, id(DISPID_IHTMLEVENTOBJ_ALTKEY)]
13185     HRESULT altKey([retval, out] VARIANT_BOOL *p);
13186
13187     [propget, id(DISPID_IHTMLEVENTOBJ_CTRLKEY)]
13188     HRESULT ctrlKey([retval, out] VARIANT_BOOL *p);
13189
13190     [propget, id(DISPID_IHTMLEVENTOBJ_SHIFTKEY)]
13191     HRESULT shiftKey([retval, out] VARIANT_BOOL *p);
13192
13193     [propput, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
13194     HRESULT returnValue([in] VARIANT v);
13195
13196     [propget, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
13197     HRESULT returnValue([retval, out] VARIANT *p);
13198
13199     [propput, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
13200     HRESULT cancelBubble([in] VARIANT_BOOL v);
13201
13202     [propget, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
13203     HRESULT cancelBubble([retval, out] VARIANT_BOOL *p);
13204
13205     [propget, id(DISPID_IHTMLEVENTOBJ_FROMELEMENT)]
13206     HRESULT fromElement([retval, out] IHTMLElement **p);
13207
13208     [propget, id(DISPID_IHTMLEVENTOBJ_TOELEMENT)]
13209     HRESULT toElement([retval, out] IHTMLElement **p);
13210
13211     [propput, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
13212     HRESULT keyCode([in] LONG v);
13213
13214     [propget, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
13215     HRESULT keyCode([retval, out] LONG *p);
13216
13217     [propget, id(DISPID_IHTMLEVENTOBJ_BUTTON)]
13218     HRESULT button([retval, out] LONG *p);
13219
13220     [propget, id(DISPID_IHTMLEVENTOBJ_TYPE)]
13221     HRESULT type([retval, out] BSTR *p);
13222
13223     [propget, id(DISPID_IHTMLEVENTOBJ_QUALIFIER)]
13224     HRESULT qualifier([retval, out] BSTR *p);
13225
13226     [propget, id(DISPID_IHTMLEVENTOBJ_REASON)]
13227     HRESULT reason([retval, out] LONG *p);
13228
13229     [propget, id(DISPID_IHTMLEVENTOBJ_X)]
13230     HRESULT x([retval, out] LONG *p);
13231
13232     [propget, id(DISPID_IHTMLEVENTOBJ_Y)]
13233     HRESULT y([retval, out] LONG *p);
13234
13235     [propget, id(DISPID_IHTMLEVENTOBJ_CLIENTX)]
13236     HRESULT clientX([retval, out] LONG *p);
13237
13238     [propget, id(DISPID_IHTMLEVENTOBJ_CLIENTY)]
13239     HRESULT clientY([retval, out] LONG *p);
13240
13241     [propget, id(DISPID_IHTMLEVENTOBJ_OFFSETX)]
13242     HRESULT offsetX([retval, out] LONG *p);
13243
13244     [propget, id(DISPID_IHTMLEVENTOBJ_OFFSETY)]
13245     HRESULT offsetY([retval, out] LONG *p);
13246
13247     [propget, id(DISPID_IHTMLEVENTOBJ_SCREENX)]
13248     HRESULT screenX([retval, out] LONG *p);
13249
13250     [propget, id(DISPID_IHTMLEVENTOBJ_SCREENY)]
13251     HRESULT screenY([retval, out] LONG *p);
13252
13253     [propget, id(DISPID_IHTMLEVENTOBJ_SRCFILTER)]
13254     HRESULT srcFilter([retval, out] IDispatch **p);
13255 }
13256
13257 /*****************************************************************************
13258  *    DispCEventObj dispinterface
13259  */
13260 [
13261     hidden,
13262     uuid(3050f558-98b5-11cf-bb82-00aa00bdce0b)
13263 ]
13264 dispinterface DispCEventObj
13265 {
13266 properties:
13267 methods:
13268     [propput, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
13269     void returnValue(VARIANT v);
13270
13271     [propget, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
13272     VARIANT returnValue();
13273
13274     [propput, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
13275     void cancelBubble(VARIANT_BOOL v);
13276
13277     [propget, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
13278     VARIANT_BOOL cancelBubble();
13279
13280     [propput, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
13281     void keyCode(LONG v);
13282
13283     [propget, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
13284     LONG keyCode();
13285
13286     [id(DISPID_IHTMLEVENTOBJ2_SETATTRIBUTE)]
13287     void setAttribute(
13288             [in] BSTR strAttributeName,
13289             [in] VARIANT AttributeValue,
13290             [in, defaultvalue(1)] LONG lFlags);
13291
13292     [id(DISPID_IHTMLEVENTOBJ2_GETATTRIBUTE)]
13293     VARIANT getAttribute(
13294             [in] BSTR strAttributeName,
13295             [in, defaultvalue(0)] LONG lFlags);
13296
13297     [id(DISPID_IHTMLEVENTOBJ2_REMOVEATTRIBUTE)]
13298     VARIANT_BOOL removeAttribute(
13299             [in] BSTR strAttributeName,
13300             [in, defaultvalue(1)] LONG lFlags);
13301
13302     [propput, id(DISPID_IHTMLEVENTOBJ2_PROPERTYNAME)]
13303     void propertyName(BSTR v);
13304
13305     [propget, id(DISPID_IHTMLEVENTOBJ2_PROPERTYNAME)]
13306     BSTR propertyName();
13307
13308     [propputref, id(DISPID_IHTMLEVENTOBJ2_BOOKMARKS)]
13309     void bookmarks(IHTMLBookmarkCollection *v);
13310
13311     [propget, id(DISPID_IHTMLEVENTOBJ2_BOOKMARKS)]
13312     IHTMLBookmarkCollection *bookmarks();
13313
13314     [propputref, id(DISPID_IHTMLEVENTOBJ2_RECORDSET)]
13315     void recordset(IDispatch *v);
13316
13317     [propget, id(DISPID_IHTMLEVENTOBJ2_RECORDSET)]
13318     IDispatch *recordset();
13319
13320     [propput, id(DISPID_IHTMLEVENTOBJ2_DATAFLD)]
13321     void dataFld(BSTR v);
13322
13323     [propget, id(DISPID_IHTMLEVENTOBJ2_DATAFLD)]
13324     BSTR dataFld();
13325
13326     [propputref, id(DISPID_IHTMLEVENTOBJ2_BOUNDELEMENTS)]
13327     void boundElements(IHTMLElementCollection *v);
13328
13329     [propget, id(DISPID_IHTMLEVENTOBJ2_BOUNDELEMENTS)]
13330     IHTMLElementCollection *boundElements();
13331
13332     [propput, id(DISPID_IHTMLEVENTOBJ2_REPEAT)]
13333     void repeat(VARIANT_BOOL v);
13334
13335     [propget, id(DISPID_IHTMLEVENTOBJ2_REPEAT)]
13336     VARIANT_BOOL repeat();
13337
13338     [propput, id(DISPID_IHTMLEVENTOBJ2_SRCURN)]
13339     void srcUrn(BSTR v);
13340
13341     [propget, id(DISPID_IHTMLEVENTOBJ2_SRCURN)]
13342     BSTR srcUrn();
13343
13344     [propputref, id(DISPID_IHTMLEVENTOBJ2_SRCELEMENT)]
13345     void srcElement(IHTMLElement *v);
13346
13347     [propget, id(DISPID_IHTMLEVENTOBJ2_SRCELEMENT)]
13348     IHTMLElement *srcElement();
13349
13350     [propput, id(DISPID_IHTMLEVENTOBJ2_ALTKEY)]
13351     void altKey(VARIANT_BOOL v);
13352
13353     [propget, id(DISPID_IHTMLEVENTOBJ2_ALTKEY)]
13354     VARIANT_BOOL altKey();
13355
13356     [propput, id(DISPID_IHTMLEVENTOBJ2_CTRLKEY)]
13357     void ctrlKey(VARIANT_BOOL v);
13358
13359     [propget, id(DISPID_IHTMLEVENTOBJ2_CTRLKEY)]
13360     VARIANT_BOOL ctrlKey();
13361
13362     [propput, id(DISPID_IHTMLEVENTOBJ2_SHIFTKEY)]
13363     void shiftKey(VARIANT_BOOL v);
13364
13365     [propget, id(DISPID_IHTMLEVENTOBJ2_SHIFTKEY)]
13366     VARIANT_BOOL shiftKey();
13367
13368     [propputref, id(DISPID_IHTMLEVENTOBJ2_FROMELEMENT)]
13369     void fromElement(IHTMLElement *v);
13370
13371     [propget, id(DISPID_IHTMLEVENTOBJ2_FROMELEMENT)]
13372     IHTMLElement *fromElement();
13373
13374     [propputref, id(DISPID_IHTMLEVENTOBJ2_TOELEMENT)]
13375     void toElement(IHTMLElement *v);
13376
13377     [propget, id(DISPID_IHTMLEVENTOBJ2_TOELEMENT)]
13378     IHTMLElement *toElement();
13379
13380     [propput, id(DISPID_IHTMLEVENTOBJ2_BUTTON)]
13381     void button(LONG v);
13382
13383     [propget, id(DISPID_IHTMLEVENTOBJ2_BUTTON)]
13384     LONG button();
13385
13386     [propput, id(DISPID_IHTMLEVENTOBJ2_TYPE)]
13387     void type(BSTR v);
13388
13389     [propget, id(DISPID_IHTMLEVENTOBJ2_TYPE)]
13390     BSTR type();
13391
13392     [propput, id(DISPID_IHTMLEVENTOBJ2_QUALIFIER)]
13393     void qualifier(BSTR v);
13394
13395     [propget, id(DISPID_IHTMLEVENTOBJ2_QUALIFIER)]
13396     BSTR qualifier();
13397
13398     [propput, id(DISPID_IHTMLEVENTOBJ2_REASON)]
13399     void reason(LONG v);
13400
13401     [propget, id(DISPID_IHTMLEVENTOBJ2_REASON)]
13402     LONG reason();
13403
13404     [propput, id(DISPID_IHTMLEVENTOBJ2_X)]
13405     void x(LONG v);
13406
13407     [propget, id(DISPID_IHTMLEVENTOBJ2_X)]
13408     LONG x();
13409
13410     [propput, id(DISPID_IHTMLEVENTOBJ2_Y)]
13411     void y(LONG v);
13412
13413     [propget, id(DISPID_IHTMLEVENTOBJ2_Y)]
13414     LONG y();
13415
13416     [propput, id(DISPID_IHTMLEVENTOBJ2_CLIENTX)]
13417     void clientX(LONG v);
13418
13419     [propget, id(DISPID_IHTMLEVENTOBJ2_CLIENTX)]
13420     LONG clientX();
13421
13422     [propput, id(DISPID_IHTMLEVENTOBJ2_CLIENTY)]
13423     void clientY(LONG v);
13424
13425     [propget, id(DISPID_IHTMLEVENTOBJ2_CLIENTY)]
13426     LONG clientY();
13427     [propput, id(DISPID_IHTMLEVENTOBJ2_OFFSETX)]
13428     void offsetX(LONG v);
13429
13430     [propget, id(DISPID_IHTMLEVENTOBJ2_OFFSETX)]
13431     LONG offsetX();
13432
13433     [propput, id(DISPID_IHTMLEVENTOBJ2_OFFSETY)]
13434     void offsetY(LONG v);
13435
13436     [propget, id(DISPID_IHTMLEVENTOBJ2_OFFSETY)]
13437     LONG offsetY();
13438
13439     [propput, id(DISPID_IHTMLEVENTOBJ2_SCREENX)]
13440     void screenX(LONG v);
13441
13442     [propget, id(DISPID_IHTMLEVENTOBJ2_SCREENX)]
13443     LONG screenX();
13444
13445     [propput, id(DISPID_IHTMLEVENTOBJ2_SCREENY)]
13446     void screenY(LONG v);
13447
13448     [propget, id(DISPID_IHTMLEVENTOBJ2_SCREENY)]
13449     LONG screenY();
13450
13451     [propputref, id(DISPID_IHTMLEVENTOBJ2_SRCFILTER)]
13452     void srcFilter(IDispatch *v);
13453
13454     [propget, id(DISPID_IHTMLEVENTOBJ2_SRCFILTER)]
13455     IDispatch *srcFilter();
13456
13457     [propget, id(DISPID_IHTMLEVENTOBJ2_DATATRANSFER)]
13458     IHTMLDataTransfer *dataTransfer();
13459
13460     [propget, id(DISPID_IHTMLEVENTOBJ3_CONTENTOVERFLOW)]
13461     VARIANT_BOOL contentOverflow();
13462
13463     [propput, id(DISPID_IHTMLEVENTOBJ3_SHIFTLEFT)]
13464     void shiftLeft(VARIANT_BOOL v);
13465
13466     [propget, id(DISPID_IHTMLEVENTOBJ3_SHIFTLEFT)]
13467     VARIANT_BOOL shiftLeft();
13468
13469     [propput, id(DISPID_IHTMLEVENTOBJ3_ALTLEFT)]
13470     void altLeft(VARIANT_BOOL v);
13471
13472     [propget, id(DISPID_IHTMLEVENTOBJ3_ALTLEFT)]
13473     VARIANT_BOOL altLeft();
13474
13475     [propput, id(DISPID_IHTMLEVENTOBJ3_CTRLLEFT)]
13476     void ctrlLeft(VARIANT_BOOL v);
13477
13478     [propget, id(DISPID_IHTMLEVENTOBJ3_CTRLLEFT)]
13479     VARIANT_BOOL ctrlLeft();
13480
13481     [propget, id(DISPID_IHTMLEVENTOBJ3_IMECOMPOSITIONCHANGE), hidden, restricted, nonbrowsable]
13482     LONG_PTR imeCompositionChange();
13483
13484     [propget, id(DISPID_IHTMLEVENTOBJ3_IMENOTIFYCOMMAND), hidden, restricted, nonbrowsable]
13485     LONG_PTR imeNotifyCommand();
13486
13487     [propget, id(DISPID_IHTMLEVENTOBJ3_IMENOTIFYDATA), hidden, restricted, nonbrowsable]
13488     LONG_PTR imeNotifyData();
13489
13490     [propget, id(DISPID_IHTMLEVENTOBJ3_IMEREQUEST), hidden, restricted, nonbrowsable]
13491     LONG_PTR imeRequest();
13492
13493     [propget, id(DISPID_IHTMLEVENTOBJ3_IMEREQUESTDATA), hidden, restricted, nonbrowsable]
13494     LONG_PTR imeRequestData();
13495
13496     [propget, id(DISPID_IHTMLEVENTOBJ3_KEYBOARDLAYOUT), hidden, restricted, nonbrowsable]
13497     LONG_PTR keyboardLayout();
13498
13499     [propget, id(DISPID_IHTMLEVENTOBJ3_BEHAVIORCOOKIE)]
13500     LONG behaviorCookie();
13501
13502     [propget, id(DISPID_IHTMLEVENTOBJ3_BEHAVIORPART)]
13503     LONG behaviorPart();
13504
13505     [propget, id(DISPID_IHTMLEVENTOBJ3_NEXTPAGE)]
13506     BSTR nextPage();
13507
13508     [propget, id(DISPID_IHTMLEVENTOBJ4_WHEELDELTA)]
13509     LONG wheelDelta();
13510 }
13511
13512 /*****************************************************************************
13513  *    IHTMLFramesCollection2 interface
13514  */
13515 [
13516     odl,
13517     oleautomation,
13518     dual,
13519     uuid(332C4426-26CB-11D0-B483-00C04FD90119)
13520 ]
13521 interface IHTMLFramesCollection2 : IDispatch
13522 {
13523     [id(DISPID_IHTMLFRAMESCOLLECTION2_ITEM)]
13524     HRESULT item(
13525         [in] VARIANT *pvarIndex,
13526         [retval, out] VARIANT *pvarResult);
13527
13528     [propget, id(DISPID_IHTMLFRAMESCOLLECTION2_LENGTH)]
13529     HRESULT length([retval, out] LONG *p);
13530 }
13531
13532 /*****************************************************************************
13533  *    IHTMLScreen interface
13534  */
13535 [
13536     odl,
13537     oleautomation,
13538     dual,
13539     uuid(3050f35C-98B5-11CF-BB82-00AA00BDCE0B)
13540 ]
13541 interface IHTMLScreen : IDispatch
13542 {
13543     [propget, id(DISPID_IHTMLSCREEN_COLORDEPTH)]
13544     HRESULT colorDepth([retval, out] LONG *p);
13545
13546     [propput, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
13547     HRESULT bufferDepth([in] LONG v);
13548
13549     [propget, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
13550     HRESULT bufferDepth([retval, out] LONG *p);
13551
13552     [propget, id(DISPID_IHTMLSCREEN_WIDTH)]
13553     HRESULT width([retval, out] LONG *p);
13554
13555     [propget, id(DISPID_IHTMLSCREEN_HEIGHT)]
13556     HRESULT height([retval, out] LONG *p);
13557
13558     [propput, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
13559     HRESULT updateInterval([in] LONG v);
13560
13561     [propget, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
13562     HRESULT updateInterval([retval, out] LONG *p);
13563
13564     [propget, id(DISPID_IHTMLSCREEN_AVAILHEIGHT)]
13565     HRESULT availHeight([retval, out] LONG *p);
13566
13567     [propget, id(DISPID_IHTMLSCREEN_AVAILWIDTH)]
13568     HRESULT availWidth([retval, out] LONG *p);
13569
13570     [propget, id(DISPID_IHTMLSCREEN_FONTSMOOTHINGENABLED)]
13571     HRESULT fontSmoothingEnabled([retval, out] VARIANT_BOOL *p);
13572 }
13573
13574 /*****************************************************************************
13575  *    IHTMLWindow2 interface
13576  */
13577 [
13578     odl,
13579     oleautomation,
13580     dual,
13581     uuid(332C4427-26CB-11D0-B483-00C04FD90119)
13582 ]
13583 interface IHTMLWindow2 : IHTMLFramesCollection2
13584 {
13585     [propget, id(DISPID_IHTMLWINDOW2_FRAMES)]
13586     HRESULT frames([retval, out] IHTMLFramesCollection2 **p);
13587
13588     [propput, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
13589     HRESULT defaultStatus([in] BSTR v);
13590
13591     [propget, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
13592     HRESULT defaultStatus([retval, out] BSTR *p);
13593
13594     [propput, id(DISPID_IHTMLWINDOW2_STATUS)]
13595     HRESULT status([in] BSTR v);
13596
13597     [propget, id(DISPID_IHTMLWINDOW2_STATUS)]
13598     HRESULT status([retval, out] BSTR *p);
13599
13600     [id(DISPID_IHTMLWINDOW2_SETTIMEOUT)]
13601     HRESULT setTimeout(
13602         [in] BSTR expression,
13603         [in] LONG msec,
13604         [optional, in] VARIANT *language,
13605         [retval, out] LONG *timerID);
13606
13607     [id(DISPID_IHTMLWINDOW2_CLEARTIMEOUT)]
13608     HRESULT clearTimeout([in] LONG timerID);
13609
13610     [id(DISPID_IHTMLWINDOW2_ALERT)]
13611     HRESULT alert([defaultvalue(""), in] BSTR message);
13612
13613     [id(DISPID_IHTMLWINDOW2_CONFIRM)]
13614     HRESULT confirm(
13615         [defaultvalue(""), in] BSTR message,
13616         [retval, out] VARIANT_BOOL *confirmed);
13617
13618     [id(DISPID_IHTMLWINDOW2_PROMPT)]
13619     HRESULT prompt(
13620         [defaultvalue(""), in] BSTR message,
13621         [defaultvalue("undefined"), in] BSTR defstr,
13622         [retval, out] VARIANT *textdata);
13623
13624     [propget, id(DISPID_IHTMLWINDOW2_IMAGE)]
13625     HRESULT Image([retval, out] IHTMLImageElementFactory **p);
13626
13627     [propget, id(DISPID_IHTMLWINDOW2_LOCATION)]
13628     HRESULT location([retval, out] IHTMLLocation **p);
13629
13630     [propget, id(DISPID_IHTMLWINDOW2_HISTORY)]
13631     HRESULT history([retval, out] IOmHistory **p);
13632
13633     [id(DISPID_IHTMLWINDOW2_CLOSE)]
13634     HRESULT close();
13635
13636     [propput, id(DISPID_IHTMLWINDOW2_OPENER)]
13637     HRESULT opener([in] VARIANT v);
13638
13639     [propget, id(DISPID_IHTMLWINDOW2_OPENER)]
13640     HRESULT opener([retval, out] VARIANT *p);
13641
13642     [propget, id(DISPID_IHTMLWINDOW2_NAVIGATOR)]
13643     HRESULT navigator([retval, out] IOmNavigator **p);
13644
13645     [propput, id(DISPID_IHTMLWINDOW2_NAME)]
13646     HRESULT name([in] BSTR v);
13647
13648     [propget, id(DISPID_IHTMLWINDOW2_NAME)]
13649     HRESULT name([retval, out] BSTR *p);
13650
13651     [propget, id(DISPID_IHTMLWINDOW2_PARENT)]
13652     HRESULT parent([retval, out] IHTMLWindow2 **p);
13653
13654     [id(DISPID_IHTMLWINDOW2_OPEN)]
13655     HRESULT open(
13656         [defaultvalue(""), in] BSTR url,
13657         [defaultvalue(""), in] BSTR name,
13658         [defaultvalue(""), in] BSTR features,
13659         [defaultvalue(0), in] VARIANT_BOOL replace,
13660         [retval, out] IHTMLWindow2 **pomWindowResult);
13661
13662     [propget, id(DISPID_IHTMLWINDOW2_SELF)]
13663     HRESULT self([retval, out] IHTMLWindow2 **p);
13664
13665     [propget, id(DISPID_IHTMLWINDOW2_TOP)]
13666     HRESULT top([retval, out] IHTMLWindow2 **p);
13667
13668     [propget, id(DISPID_IHTMLWINDOW2_WINDOW)]
13669     HRESULT window([retval, out] IHTMLWindow2 **p);
13670
13671     [id(DISPID_IHTMLWINDOW2_NAVIGATE)]
13672     HRESULT navigate([in] BSTR url);
13673
13674     [propput, id(DISPID_IHTMLWINDOW2_ONFOCUS)]
13675     HRESULT onfocus([in] VARIANT v);
13676
13677     [propget, id(DISPID_IHTMLWINDOW2_ONFOCUS)]
13678     HRESULT onfocus([retval, out] VARIANT *p);
13679
13680     [propput, id(DISPID_IHTMLWINDOW2_ONBLUR)]
13681     HRESULT onblur([in] VARIANT v);
13682
13683     [propget, id(DISPID_IHTMLWINDOW2_ONBLUR)]
13684     HRESULT onblur([retval, out] VARIANT *p);
13685
13686     [propput, id(DISPID_IHTMLWINDOW2_ONLOAD)]
13687     HRESULT onload([in] VARIANT v);
13688
13689     [propget, id(DISPID_IHTMLWINDOW2_ONLOAD)]
13690     HRESULT onload([retval, out] VARIANT *p);
13691
13692     [propput, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD)]
13693     HRESULT onbeforeunload([in] VARIANT v);
13694
13695     [propget, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD)]
13696     HRESULT onbeforeunload([retval, out] VARIANT *p);
13697
13698     [propput, id(DISPID_IHTMLWINDOW2_ONUNLOAD)]
13699     HRESULT onunload([in] VARIANT v);
13700
13701     [propget, id(DISPID_IHTMLWINDOW2_ONUNLOAD)]
13702     HRESULT onunload([retval, out] VARIANT *p);
13703
13704     [propput, id(DISPID_IHTMLWINDOW2_ONHELP)]
13705     HRESULT onhelp([in] VARIANT v);
13706
13707     [propget, id(DISPID_IHTMLWINDOW2_ONHELP)]
13708     HRESULT onhelp([retval, out] VARIANT *p);
13709
13710     [propput, id(DISPID_IHTMLWINDOW2_ONERROR)]
13711     HRESULT onerror([in] VARIANT v);
13712
13713     [propget, id(DISPID_IHTMLWINDOW2_ONERROR)]
13714     HRESULT onerror([retval, out] VARIANT *p);
13715
13716     [propput, id(DISPID_IHTMLWINDOW2_ONRESIZE)]
13717     HRESULT onresize([in] VARIANT v);
13718
13719     [propget, id(DISPID_IHTMLWINDOW2_ONRESIZE)]
13720     HRESULT onresize([retval, out] VARIANT *p);
13721
13722     [propput, id(DISPID_IHTMLWINDOW2_ONSCROLL)]
13723     HRESULT onscroll([in] VARIANT v);
13724
13725     [propget, id(DISPID_IHTMLWINDOW2_ONSCROLL)]
13726     HRESULT onscroll([retval, out] VARIANT *p);
13727
13728     [propget, id(DISPID_IHTMLWINDOW2_DOCUMENT)]
13729     HRESULT document([retval, out] IHTMLDocument2 **p);
13730
13731     [propget, id(DISPID_IHTMLWINDOW2_EVENT)]
13732     HRESULT event([retval, out] IHTMLEventObj **p);
13733
13734     [propget, id(DISPID_IHTMLWINDOW2__NEWENUM)]
13735     HRESULT _newEnum([retval, out] IUnknown **p);
13736
13737     [id(DISPID_IHTMLWINDOW2_SHOWMODALDIALOG)]
13738     HRESULT showModalDialog(
13739         [in] BSTR dialog,
13740         [optional, in] VARIANT *varArgIn,
13741         [optional, in] VARIANT *varOptions,
13742         [retval, out] VARIANT *varArgOut);
13743
13744     [id(DISPID_IHTMLWINDOW2_SHOWHELP)]
13745     HRESULT showHelp(
13746         [in] BSTR helpURL,
13747         [optional, in] VARIANT helpArg,
13748         [defaultvalue(""), in] BSTR features);
13749
13750     [propget, id(DISPID_IHTMLWINDOW2_SCREEN)]
13751     HRESULT screen([retval, out] IHTMLScreen **p);
13752
13753     [propget, id(DISPID_IHTMLWINDOW2_OPTION)]
13754     HRESULT Option([retval, out] IHTMLOptionElementFactory **p);
13755
13756     [id(DISPID_IHTMLWINDOW2_FOCUS)]
13757     HRESULT focus();
13758
13759     [propget, id(DISPID_IHTMLWINDOW2_CLOSED)]
13760     HRESULT closed([retval, out] VARIANT_BOOL *p);
13761
13762     [id(DISPID_IHTMLWINDOW2_BLUR)]
13763     HRESULT blur();
13764
13765     [id(DISPID_IHTMLWINDOW2_SCROLL)]
13766     HRESULT scroll([in] LONG x, [in] LONG y);
13767
13768     [propget, id(DISPID_IHTMLWINDOW2_CLIENTINFORMATION)]
13769     HRESULT clientInformation([retval, out] IOmNavigator **p);
13770
13771     [id(DISPID_IHTMLWINDOW2_SETINTERVAL)]
13772     HRESULT setInterval([
13773         in] BSTR expression,
13774         [in] LONG msec,
13775         [optional, in] VARIANT *language,
13776         [retval, out] LONG *timerID);
13777
13778     [id(DISPID_IHTMLWINDOW2_CLEARINTERVAL)]
13779     HRESULT clearInterval([in] LONG timerID);
13780
13781     [propput, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
13782     HRESULT offscreenBuffering([in] VARIANT v);
13783
13784     [propget, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
13785     HRESULT offscreenBuffering([retval, out] VARIANT *p);
13786
13787     [id(DISPID_IHTMLWINDOW2_EXECSCRIPT)]
13788     HRESULT execScript(
13789         [in] BSTR scode,
13790         [defaultvalue("JScript"), in] BSTR language,
13791         [retval, out] VARIANT *pvarRet);
13792
13793     [id(DISPID_IHTMLWINDOW2_TOSTRING)]
13794     HRESULT toString([retval, out] BSTR *String);
13795
13796     [id(DISPID_IHTMLWINDOW2_SCROLLBY)]
13797     HRESULT scrollBy([in] LONG x, [in] LONG y);
13798
13799     [id(DISPID_IHTMLWINDOW2_SCROLLTO)]
13800     HRESULT scrollTo([in] LONG x, [in] LONG y);
13801
13802     [id(DISPID_IHTMLWINDOW2_MOVETO)]
13803     HRESULT moveTo([in] LONG x, [in] LONG y);
13804
13805     [id(DISPID_IHTMLWINDOW2_MOVEBY)]
13806     HRESULT moveBy([in] LONG x, [in] LONG y);
13807
13808     [id(DISPID_IHTMLWINDOW2_RESIZETO)]
13809     HRESULT resizeTo([in] LONG x, [in] LONG y);
13810
13811     [id(DISPID_IHTMLWINDOW2_RESIZEBY)]
13812     HRESULT resizeBy([in] LONG x, [in] LONG y);
13813
13814     [propget, id(DISPID_IHTMLWINDOW2_EXTERNAL)]
13815     HRESULT external([retval, out] IDispatch **p);
13816 }
13817
13818 /*****************************************************************************
13819  *    IHTMLWindow3 interface
13820  */
13821 [
13822     odl,
13823     oleautomation,
13824     dual,
13825     uuid(3050f4ae-98b5-11cf-bb82-00aa00bdce0b)
13826 ]
13827 interface IHTMLWindow3 : IDispatch
13828 {
13829     [propget, id(DISPID_IHTMLWINDOW3_SCREENLEFT)]
13830     HRESULT screenLeft([out, retval] LONG *p);
13831
13832     [propget, id(DISPID_IHTMLWINDOW3_SCREENTOP)]
13833     HRESULT screenTop([out, retval] LONG *p);
13834
13835     [id(DISPID_IHTMLWINDOW3_ATTACHEVENT)]
13836     HRESULT attachEvent(
13837             [in] BSTR event,
13838             [in] IDispatch *pDisp,
13839             [out, retval] VARIANT_BOOL *pfResult);
13840
13841     [id(DISPID_IHTMLWINDOW3_DETACHEVENT)]
13842     HRESULT detachEvent(
13843             [in] BSTR event,
13844             [in] IDispatch *pDisp);
13845
13846     [id(DISPID_IHTMLWINDOW3_SETTIMEOUT)]
13847     HRESULT setTimeout(
13848             [in] VARIANT *expression,
13849             [in] LONG msec,
13850             [in, optional] VARIANT *language,
13851             [out, retval] LONG *timerID);
13852
13853     [id(DISPID_IHTMLWINDOW3_SETINTERVAL)]
13854     HRESULT setInterval(
13855             [in] VARIANT *expression,
13856             [in] LONG msec,
13857             [in, optional] VARIANT *language,
13858             [out, retval] LONG *timerID);
13859
13860     [id(DISPID_IHTMLWINDOW3_PRINT)]
13861     HRESULT print();
13862
13863     [propput, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
13864     HRESULT onbeforeprint([in] VARIANT v);
13865
13866     [propget, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
13867     HRESULT onbeforeprint([out, retval] VARIANT *p);
13868
13869     [propput, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
13870     HRESULT onafterprint([in] VARIANT v);
13871
13872     [propget, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
13873     HRESULT onafterprint([out, retval] VARIANT *p);
13874
13875     [propget, id(DISPID_IHTMLWINDOW3_CLIPBOARDDATA)]
13876     HRESULT clipboardData([out, retval] IHTMLDataTransfer **p);
13877
13878     [id(DISPID_IHTMLWINDOW3_SHOWMODELESSDIALOG)]
13879     HRESULT showModelessDialog(
13880             [in, defaultvalue("")] BSTR url,
13881             [in, optional] VARIANT *varArgIn,
13882             [in, optional] VARIANT *options,
13883             [out, retval] IHTMLWindow2 **pDialog);
13884 }
13885
13886 /*****************************************************************************
13887  *    IHTMLWindow4 interface
13888  */
13889 [
13890     odl,
13891     oleautomation,
13892     dual,
13893     uuid(3050f6cf-98b5-11cf-bb82-00aa00bdce0b)
13894 ]
13895 interface IHTMLWindow4 : IDispatch
13896 {
13897     [id(DISPID_IHTMLWINDOW4_CREATEPOPUP)]
13898     HRESULT createPopup([optional, in] VARIANT* varArgIn,
13899                         [retval, out] IDispatch** ppPopup);
13900
13901     [propget, id(DISPID_IHTMLWINDOW4_FRAMEELEMENT)]
13902     HRESULT frameElement([retval, out] IHTMLFrameBase* * p);
13903 };
13904
13905 /*****************************************************************************
13906  *    IHTMLWindow5 interface
13907  */
13908 [
13909     odl,
13910     oleautomation,
13911     dual,
13912     uuid(3051040e-98b5-11cf-bb82-00aa00bdce0b)
13913 ]
13914 interface IHTMLWindow5 : IDispatch
13915 {
13916     [propput, id(DISPID_IHTMLWINDOW5_XMLHTTPREQUEST)]
13917     HRESULT XMLHttpRequest([in] VARIANT v);
13918
13919     [propget, id(DISPID_IHTMLWINDOW5_XMLHTTPREQUEST)]
13920     HRESULT XMLHttpRequest([retval, out] VARIANT * p);
13921 };
13922
13923 /*****************************************************************************
13924  *    DispHTMLWindow2 dispinterface
13925  */
13926 [
13927     hidden,
13928     uuid(3050f55d-98b5-11cf-bb82-00aa00bdce0b)
13929 ]
13930 dispinterface DispHTMLWindow2
13931 {
13932 properties:
13933 methods:
13934     [id(DISPID_IHTMLFRAMESCOLLECTION2_ITEM)]
13935     VARIANT item([in] VARIANT *pvarIndex);
13936
13937     [propget, id(DISPID_IHTMLFRAMESCOLLECTION2_LENGTH)]
13938     LONG length();
13939
13940     [propget, id(DISPID_IHTMLWINDOW2_FRAMES)]
13941     IHTMLFramesCollection2 *frames();
13942
13943     [propput, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
13944     void defaultStatus(BSTR v);
13945
13946     [propget, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
13947     BSTR defaultStatus();
13948
13949     [propput, id(DISPID_IHTMLWINDOW2_STATUS)]
13950     void status(BSTR v);
13951
13952     [propget, id(DISPID_IHTMLWINDOW2_STATUS)]
13953     BSTR status();
13954
13955     [id(DISPID_IHTMLWINDOW2_CLEARTIMEOUT)]
13956     void clearTimeout([in] LONG timerID);
13957
13958     [id(DISPID_IHTMLWINDOW2_ALERT)]
13959     void alert([in, defaultvalue("")] BSTR message);
13960
13961     [id(DISPID_IHTMLWINDOW2_CONFIRM)]
13962     VARIANT_BOOL confirm([in, defaultvalue("")] BSTR message);
13963
13964     [id(DISPID_IHTMLWINDOW2_PROMPT)]
13965     VARIANT prompt(
13966             [in, defaultvalue("")] BSTR message,
13967             [in, defaultvalue("undefined")] BSTR defstr);
13968
13969     [propget, id(DISPID_IHTMLWINDOW2_IMAGE)]
13970     IHTMLImageElementFactory *Image();
13971
13972     [propget, id(DISPID_IHTMLWINDOW2_LOCATION)]
13973     IHTMLLocation *location();
13974
13975     [propget, id(DISPID_IHTMLWINDOW2_HISTORY)]
13976     IOmHistory *history();
13977
13978     [id(DISPID_IHTMLWINDOW2_CLOSE)]
13979     void close();
13980
13981     [propput, id(DISPID_IHTMLWINDOW2_OPENER)]
13982     void opener(VARIANT v);
13983
13984     [propget, id(DISPID_IHTMLWINDOW2_OPENER)]
13985     VARIANT opener();
13986
13987     [propget, id(DISPID_IHTMLWINDOW2_NAVIGATOR)]
13988     IOmNavigator *navigator();
13989
13990     [propput, id(DISPID_IHTMLWINDOW2_NAME)]
13991     void name(BSTR v);
13992
13993     [propget, id(DISPID_IHTMLWINDOW2_NAME)]
13994     BSTR name();
13995
13996     [propget, id(DISPID_IHTMLWINDOW2_PARENT)]
13997     IHTMLWindow2 *parent();
13998
13999     [id(DISPID_IHTMLWINDOW2_OPEN)]
14000     IHTMLWindow2 *open(
14001             [in, defaultvalue("")] BSTR url,
14002             [in, defaultvalue("")] BSTR name,
14003             [in, defaultvalue("")] BSTR features,
14004             [in, defaultvalue(0)]  VARIANT_BOOL replace);
14005
14006     [propget, id(DISPID_IHTMLWINDOW2_SELF)]
14007     IHTMLWindow2 *self();
14008
14009     [propget, id(DISPID_IHTMLWINDOW2_TOP)]
14010     IHTMLWindow2 *top();
14011
14012     [propget, id(DISPID_IHTMLWINDOW2_WINDOW)]
14013     IHTMLWindow2 *window();
14014
14015     [id(DISPID_IHTMLWINDOW2_NAVIGATE)]
14016     void navigate([in] BSTR url);
14017
14018     [propput, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
14019     void onfocus(VARIANT v);
14020
14021     [propget, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
14022     VARIANT onfocus();
14023
14024     [propput, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
14025     void onblur(VARIANT v);
14026
14027     [propget, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
14028     VARIANT onblur();
14029
14030     [propget, id(DISPID_IHTMLWINDOW2_ONLOAD), displaybind, bindable]
14031     VARIANT onload();
14032
14033     [propput, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
14034     void onbeforeunload(VARIANT v);
14035
14036     [propget, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
14037     VARIANT onbeforeunload();
14038
14039     [propput, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
14040     void onunload(VARIANT v);
14041
14042     [propget, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
14043     VARIANT onunload();
14044
14045     [propput, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
14046     void onhelp(VARIANT v);
14047
14048     [propget, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
14049     VARIANT onhelp();
14050
14051     [propput, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
14052     void onerror(VARIANT v);
14053
14054     [propget, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
14055     VARIANT onerror();
14056
14057     [propput, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
14058     void onresize(VARIANT v);
14059
14060     [propget, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
14061     VARIANT onresize();
14062
14063     [propput, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
14064     void onscroll(VARIANT v);
14065
14066     [propget, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
14067     VARIANT onscroll();
14068
14069     [propget, id(DISPID_IHTMLWINDOW2_DOCUMENT), source]
14070     IHTMLDocument2 *document();
14071
14072     [propget, id(DISPID_IHTMLWINDOW2_EVENT)]
14073     IHTMLEventObj *event();
14074
14075     [propget, id(DISPID_IHTMLWINDOW2__NEWENUM), hidden, restricted]
14076     IUnknown *_newEnum();
14077
14078     [id(DISPID_IHTMLWINDOW2_SHOWMODALDIALOG)]
14079     VARIANT showModalDialog(
14080             [in] BSTR dialog,
14081             [in, optional] VARIANT *varArgIn,
14082             [in, optional] VARIANT *varOptions);
14083
14084     [id(DISPID_IHTMLWINDOW2_SHOWHELP)]
14085     void showHelp(
14086             [in] BSTR helpURL,
14087             [in, optional] VARIANT helpArg,
14088             [in, defaultvalue("")] BSTR features);
14089
14090     [propget, id(DISPID_IHTMLWINDOW2_SCREEN)]
14091     IHTMLScreen *screen();
14092
14093     [propget, id(DISPID_IHTMLWINDOW2_OPTION)]
14094     IHTMLOptionElementFactory *Option();
14095
14096     [id(DISPID_IHTMLWINDOW2_FOCUS)]
14097     void focus();
14098
14099     [propget, id(DISPID_IHTMLWINDOW2_CLOSED)]
14100     VARIANT_BOOL closed();
14101
14102     [id(DISPID_IHTMLWINDOW2_BLUR)]
14103     void blur();
14104
14105     [id(DISPID_IHTMLWINDOW2_SCROLL)]
14106     void scroll([in] LONG x, [in] LONG y);
14107
14108     [propget, id(DISPID_IHTMLWINDOW2_CLIENTINFORMATION)]
14109     IOmNavigator *clientInformation();
14110
14111     [id(DISPID_IHTMLWINDOW2_CLEARINTERVAL)]
14112     void clearInterval([in] LONG timerID);
14113
14114     [propput, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
14115     void offscreenBuffering(VARIANT v);
14116
14117     [propget, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
14118     VARIANT offscreenBuffering();
14119
14120     [id(DISPID_IHTMLWINDOW2_EXECSCRIPT)]
14121     VARIANT execScript(
14122             [in] BSTR _code,
14123             [in, defaultvalue("JScript")] BSTR language);
14124
14125     [id(DISPID_IHTMLWINDOW2_TOSTRING)]
14126     BSTR toString();
14127
14128     [id(DISPID_IHTMLWINDOW2_SCROLLBY)]
14129     void scrollBy([in] LONG x, [in] LONG y);
14130
14131     [id(DISPID_IHTMLWINDOW2_SCROLLTO)]
14132     void scrollTo([in] LONG x, [in] LONG y);
14133
14134     [id(DISPID_IHTMLWINDOW2_MOVETO)]
14135     void moveTo([in] LONG x, [in] LONG y);
14136
14137     [id(DISPID_IHTMLWINDOW2_MOVEBY)]
14138     void moveBy([in] LONG x, [in] LONG y);
14139
14140     [id(DISPID_IHTMLWINDOW2_RESIZETO)]
14141     void resizeTo([in] LONG x, [in] LONG y);
14142
14143     [id(DISPID_IHTMLWINDOW2_RESIZEBY)]
14144     void resizeBy([in] LONG x, [in] LONG y);
14145
14146     [propget, id(DISPID_IHTMLWINDOW2_EXTERNAL)]
14147     IDispatch *external();
14148
14149     [propget, id(DISPID_IHTMLWINDOW3_SCREENLEFT)]
14150     LONG screenLeft();
14151
14152     [propget, id(DISPID_IHTMLWINDOW3_SCREENTOP)]
14153     LONG screenTop();
14154
14155     [id(DISPID_IHTMLWINDOW3_ATTACHEVENT)]
14156     VARIANT_BOOL attachEvent(
14157              [in] BSTR event,
14158              [in] IDispatch *pDisp);
14159
14160     [id(DISPID_IHTMLWINDOW3_DETACHEVENT)]
14161     void detachEvent(
14162             [in] BSTR event,
14163             [in] IDispatch *pDisp);
14164
14165     [id(DISPID_IHTMLWINDOW3_SETTIMEOUT)]
14166     LONG setTimeout(
14167             [in] VARIANT *expression,
14168             [in] LONG msec,
14169             [in, optional] VARIANT *language);
14170
14171     [id(DISPID_IHTMLWINDOW3_SETINTERVAL)]
14172     LONG setInterval(
14173             [in] VARIANT *expression,
14174             [in] LONG msec,
14175             [in, optional] VARIANT *language);
14176
14177     [id(DISPID_IHTMLWINDOW3_PRINT)]
14178     void print();
14179
14180     [propput, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
14181     void onbeforeprint(VARIANT v);
14182
14183     [propget, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
14184     VARIANT onbeforeprint();
14185
14186     [propput, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
14187     void onafterprint(VARIANT v);
14188
14189     [propget, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
14190     VARIANT onafterprint();
14191
14192     [propget, id(DISPID_IHTMLWINDOW3_CLIPBOARDDATA)]
14193     IHTMLDataTransfer *clipboardData();
14194
14195     [id(DISPID_IHTMLWINDOW3_SHOWMODELESSDIALOG)]
14196     IHTMLWindow2 *showModelessDialog(
14197             [in, defaultvalue("")] BSTR url,
14198             [in, optional] VARIANT *varArgIn,
14199             [in, optional] VARIANT *options);
14200
14201     [id(DISPID_IHTMLWINDOW4_CREATEPOPUP)]
14202     IDispatch *createPopup([in, optional] VARIANT *varArgIn);
14203
14204     [propget, id(DISPID_IHTMLWINDOW4_FRAMEELEMENT)]
14205     IHTMLFrameBase *frameElement();
14206 }
14207
14208 /*****************************************************************************
14209  *    DispHTMLWindowProxy dispinterface
14210  */
14211 [
14212     hidden,
14213     uuid(3050f55e-98b5-11cf-bb82-00aa00bdce0b)
14214 ]
14215 dispinterface DispHTMLWindowProxy
14216 {
14217 properties:
14218 methods:
14219     [id(DISPID_IHTMLFRAMESCOLLECTION2_ITEM)]
14220     VARIANT item([in] VARIANT* pvarIndex);
14221
14222     [propget, id(DISPID_IHTMLFRAMESCOLLECTION2_LENGTH)]
14223     LONG length();
14224
14225     [propget, id(DISPID_IHTMLWINDOW2_FRAMES)]
14226     IHTMLFramesCollection2* frames();
14227
14228     [propput, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
14229     void defaultStatus(BSTR v);
14230
14231     [propget, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
14232     BSTR defaultStatus();
14233
14234     [propput, id(DISPID_IHTMLWINDOW2_STATUS)]
14235     void status(BSTR v);
14236
14237     [propget, id(DISPID_IHTMLWINDOW2_STATUS)]
14238     BSTR status();
14239
14240     [id(DISPID_IHTMLWINDOW2_CLEARTIMEOUT)]
14241     void clearTimeout([in] LONG timerID);
14242
14243     [id(DISPID_IHTMLWINDOW2_ALERT)]
14244     void alert([defaultvalue(""), in] BSTR message);
14245
14246     [id(DISPID_IHTMLWINDOW2_CONFIRM)]
14247     VARIANT_BOOL confirm([defaultvalue(""), in] BSTR message);
14248
14249     [id(DISPID_IHTMLWINDOW2_PROMPT)]
14250     VARIANT prompt([defaultvalue(""), in] BSTR message,
14251                    [defaultvalue("undefined"), in] BSTR defstr);
14252
14253     [propget, id(DISPID_IHTMLWINDOW2_IMAGE)]
14254     IHTMLImageElementFactory* Image();
14255
14256     [propget, id(DISPID_IHTMLWINDOW2_LOCATION)]
14257     IHTMLLocation* location();
14258
14259     [propget, id(DISPID_IHTMLWINDOW2_HISTORY)]
14260     IOmHistory* history();
14261
14262     [id(DISPID_IHTMLWINDOW2_CLOSE)]
14263     void close();
14264
14265     [propput, id(DISPID_IHTMLWINDOW2_OPENER)]
14266     void opener(VARIANT v);
14267
14268     [propget, id(DISPID_IHTMLWINDOW2_OPENER)]
14269     VARIANT opener();
14270
14271     [propget, id(DISPID_IHTMLWINDOW2_NAVIGATOR)]
14272     IOmNavigator* navigator();
14273
14274     [propput, id(DISPID_IHTMLWINDOW2_NAME)]
14275     void name(BSTR v);
14276
14277     [propget, id(DISPID_IHTMLWINDOW2_NAME)]
14278     BSTR name();
14279
14280     [propget, id(DISPID_IHTMLWINDOW2_PARENT)]
14281     IHTMLWindow2* parent();
14282
14283     [id(DISPID_IHTMLWINDOW2_OPEN)]
14284     IHTMLWindow2* open([defaultvalue(""), in] BSTR url,
14285                        [defaultvalue(""), in] BSTR name,
14286                        [defaultvalue(""), in] BSTR features,
14287                        [defaultvalue(0), in] VARIANT_BOOL replace);
14288
14289     [propget, id(DISPID_IHTMLWINDOW2_SELF)]
14290     IHTMLWindow2* self();
14291
14292     [propget, id(DISPID_IHTMLWINDOW2_TOP)]
14293     IHTMLWindow2* top();
14294
14295     [propget, id(DISPID_IHTMLWINDOW2_WINDOW)]
14296     IHTMLWindow2* window();
14297
14298     [id(DISPID_IHTMLWINDOW2_NAVIGATE)]
14299     void navigate([in] BSTR url);
14300
14301     [propput, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
14302     void onfocus(VARIANT v);
14303
14304     [propget, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
14305     VARIANT onfocus();
14306
14307     [propput, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
14308     void onblur(VARIANT v);
14309
14310     [propget, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
14311     VARIANT onblur();
14312
14313     [propput, id(DISPID_IHTMLWINDOW2_ONLOAD), displaybind, bindable]
14314     void onload(VARIANT v);
14315
14316     [propget, id(DISPID_IHTMLWINDOW2_ONLOAD), displaybind, bindable]
14317     VARIANT onload();
14318
14319     [propput, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
14320     void onbeforeunload(VARIANT v);
14321
14322     [propget, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
14323     VARIANT onbeforeunload();
14324
14325     [propput, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
14326     void onunload(VARIANT v);
14327
14328     [propget, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
14329     VARIANT onunload();
14330
14331     [propput, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
14332     void onhelp(VARIANT v);
14333
14334     [propget, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
14335     VARIANT onhelp();
14336
14337     [propput, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
14338     void onerror(VARIANT v);
14339
14340     [propget, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
14341     VARIANT onerror();
14342
14343     [propput, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
14344     void onresize(VARIANT v);
14345
14346     [propget, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
14347     VARIANT onresize();
14348
14349     [propput, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
14350     void onscroll(VARIANT v);
14351
14352     [propget, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
14353     VARIANT onscroll();
14354
14355     [propget, id(DISPID_IHTMLWINDOW2_DOCUMENT), source]
14356     IHTMLDocument2* document();
14357
14358     [propget, id(DISPID_IHTMLWINDOW2_EVENT)]
14359     IHTMLEventObj* event();
14360
14361     [propget, id(DISPID_IHTMLWINDOW2__NEWENUM), hidden, restricted]
14362     IUnknown* _newEnum();
14363
14364     [id(DISPID_IHTMLWINDOW2_SHOWMODALDIALOG)]
14365     VARIANT showModalDialog([in] BSTR dialog,
14366                             [optional, in] VARIANT* varArgIn,
14367                             [optional, in] VARIANT* varOptions);
14368
14369     [id(DISPID_IHTMLWINDOW2_SHOWHELP)]
14370     void showHelp([in] BSTR helpURL,
14371                   [optional, in] VARIANT helpArg,
14372                   [defaultvalue(""), in] BSTR features);
14373
14374     [propget, id(DISPID_IHTMLWINDOW2_SCREEN)]
14375     IHTMLScreen* screen();
14376
14377     [propget, id(DISPID_IHTMLWINDOW2_OPTION)]
14378     IHTMLOptionElementFactory* Option();
14379
14380     [id(DISPID_IHTMLWINDOW2_FOCUS)]
14381     void focus();
14382
14383     [propget, id(DISPID_IHTMLWINDOW2_CLOSED)]
14384     VARIANT_BOOL closed();
14385
14386     [id(DISPID_IHTMLWINDOW2_BLUR)]
14387     void blur();
14388
14389     [id(DISPID_IHTMLWINDOW2_SCROLL)]
14390     void scroll([in] LONG x,
14391                 [in] LONG y);
14392
14393     [propget, id(DISPID_IHTMLWINDOW2_CLIENTINFORMATION)]
14394     IOmNavigator* clientInformation();
14395
14396     [id(DISPID_IHTMLWINDOW2_CLEARINTERVAL)]
14397     void clearInterval([in] LONG timerID);
14398
14399     [propput, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
14400     void offscreenBuffering(VARIANT v);
14401
14402     [propget, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
14403     VARIANT offscreenBuffering();
14404
14405     [id(DISPID_IHTMLWINDOW2_EXECSCRIPT)]
14406     VARIANT execScript([in] BSTR code,
14407                        [defaultvalue("JScript"), in] BSTR language);
14408
14409     [id(DISPID_IHTMLWINDOW2_TOSTRING)]
14410     BSTR toString();
14411
14412     [id(DISPID_IHTMLWINDOW2_SCROLLBY)]
14413     void scrollBy([in] LONG x,
14414                   [in] LONG y);
14415
14416     [id(DISPID_IHTMLWINDOW2_SCROLLTO)]
14417     void scrollTo([in] LONG x,
14418                   [in] LONG y);
14419
14420     [id(DISPID_IHTMLWINDOW2_MOVETO)]
14421     void moveTo([in] LONG x,
14422                 [in] LONG y);
14423
14424     [id(DISPID_IHTMLWINDOW2_MOVEBY)]
14425     void moveBy([in] LONG x,
14426                 [in] LONG y);
14427
14428     [id(DISPID_IHTMLWINDOW2_RESIZETO)]
14429     void resizeTo([in] LONG x,
14430                   [in] LONG y);
14431
14432     [id(DISPID_IHTMLWINDOW2_RESIZEBY)]
14433     void resizeBy([in] LONG x,
14434                   [in] LONG y);
14435
14436     [propget, id(DISPID_IHTMLWINDOW2_EXTERNAL)]
14437     IDispatch* external();
14438
14439     [propget, id(DISPID_IHTMLWINDOW3_SCREENLEFT)]
14440     LONG screenLeft();
14441
14442     [propget, id(DISPID_IHTMLWINDOW3_SCREENTOP)]
14443     LONG screenTop();
14444
14445     [id(DISPID_IHTMLWINDOW3_ATTACHEVENT)]
14446     VARIANT_BOOL attachEvent([in] BSTR event,
14447                              [in] IDispatch* pDisp);
14448
14449     [id(DISPID_IHTMLWINDOW3_DETACHEVENT)]
14450     void detachEvent([in] BSTR event,
14451                      [in] IDispatch* pDisp);
14452
14453     [id(DISPID_IHTMLWINDOW3_SETTIMEOUT)]
14454     LONG setTimeout([in] VARIANT* expression,
14455                     [in] LONG msec,
14456                     [optional, in] VARIANT* language);
14457
14458     [id(DISPID_IHTMLWINDOW3_SETINTERVAL)]
14459     LONG setInterval([in] VARIANT* expression,
14460                      [in] LONG msec,
14461                      [optional, in] VARIANT* language);
14462
14463     [id(DISPID_IHTMLWINDOW3_PRINT)]
14464     void print();
14465
14466     [propput, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
14467     void onbeforeprint(VARIANT v);
14468
14469     [propget, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
14470     VARIANT onbeforeprint();
14471
14472     [propput, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
14473     void onafterprint(VARIANT v);
14474
14475     [propget, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
14476     VARIANT onafterprint();
14477
14478     [propget, id(DISPID_IHTMLWINDOW3_CLIPBOARDDATA)]
14479     IHTMLDataTransfer* clipboardData();
14480
14481     [id(DISPID_IHTMLWINDOW3_SHOWMODELESSDIALOG)]
14482     IHTMLWindow2* showModelessDialog([defaultvalue(""), in] BSTR url,
14483                                      [optional, in] VARIANT* varArgIn,
14484                                      [optional, in] VARIANT* options);
14485
14486     [id(DISPID_IHTMLWINDOW4_CREATEPOPUP)]
14487     IDispatch* createPopup([optional, in] VARIANT* varArgIn);
14488
14489     [propget, id(DISPID_IHTMLWINDOW4_FRAMEELEMENT)]
14490     IHTMLFrameBase* frameElement();
14491
14492     [propput, id(DISPID_IHTMLWINDOW5_XMLHTTPREQUEST)]
14493     void XMLHttpRequest(VARIANT v);
14494
14495     [propget, id(DISPID_IHTMLWINDOW5_XMLHTTPREQUEST)]
14496     VARIANT XMLHttpRequest();
14497 };
14498
14499 /*****************************************************************************
14500  *    HTMLWindowEvents interface
14501  */
14502 [
14503     hidden,
14504     uuid(96A0A4E0-D062-11cf-94B6-00AA0060275C)
14505 ]
14506 dispinterface HTMLWindowEvents
14507 {
14508 properties:
14509 methods:
14510     [id(DISPID_HTMLWINDOWEVENTS_ONLOAD)]
14511     void onload();
14512
14513     [id(DISPID_HTMLWINDOWEVENTS_ONUNLOAD)]
14514     void onunload();
14515
14516     [id(DISPID_HTMLWINDOWEVENTS_ONHELP)]
14517     VARIANT_BOOL onhelp();
14518
14519     [id(DISPID_HTMLWINDOWEVENTS_ONFOCUS)]
14520     void onfocus();
14521
14522     [id(DISPID_HTMLWINDOWEVENTS_ONBLUR)]
14523     void onblur();
14524
14525     [id(DISPID_HTMLWINDOWEVENTS_ONERROR)]
14526     void onerror([in] BSTR description,
14527                  [in] BSTR url,
14528                  [in] LONG line);
14529
14530     [id(DISPID_HTMLWINDOWEVENTS_ONRESIZE)]
14531     void onresize();
14532
14533     [id(DISPID_HTMLWINDOWEVENTS_ONSCROLL)]
14534     void onscroll();
14535
14536     [id(DISPID_HTMLWINDOWEVENTS_ONBEFOREUNLOAD)]
14537     void onbeforeunload();
14538
14539     [id(DISPID_HTMLWINDOWEVENTS_ONBEFOREPRINT)]
14540     void onbeforeprint();
14541
14542     [id(DISPID_HTMLWINDOWEVENTS_ONAFTERPRINT)]
14543     void onafterprint();
14544 };
14545
14546 /*****************************************************************************
14547  *    HTMLWindowEvents2 interface
14548  */
14549 [
14550     hidden,
14551     uuid(3050f625-98b5-11cf-bb82-00aa00bdce0b)
14552 ]
14553 dispinterface HTMLWindowEvents2
14554 {
14555 properties:
14556 methods:
14557     [id(DISPID_HTMLWINDOWEVENTS2_ONLOAD)]
14558     void onload([in] IHTMLEventObj* pEvtObj);
14559
14560     [id(DISPID_HTMLWINDOWEVENTS2_ONUNLOAD)]
14561     void onunload([in] IHTMLEventObj* pEvtObj);
14562
14563     [id(DISPID_HTMLWINDOWEVENTS2_ONHELP)]
14564     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
14565
14566     [id(DISPID_HTMLWINDOWEVENTS2_ONFOCUS)]
14567     void onfocus([in] IHTMLEventObj* pEvtObj);
14568
14569     [id(DISPID_HTMLWINDOWEVENTS2_ONBLUR)]
14570     void onblur([in] IHTMLEventObj* pEvtObj);
14571
14572     [id(DISPID_HTMLWINDOWEVENTS2_ONERROR)]
14573     void onerror([in] BSTR description,
14574                  [in] BSTR url,
14575                  [in] LONG line);
14576
14577     [id(DISPID_HTMLWINDOWEVENTS2_ONRESIZE)]
14578     void onresize([in] IHTMLEventObj* pEvtObj);
14579
14580     [id(DISPID_HTMLWINDOWEVENTS2_ONSCROLL)]
14581     void onscroll([in] IHTMLEventObj* pEvtObj);
14582
14583     [id(DISPID_HTMLWINDOWEVENTS2_ONBEFOREUNLOAD)]
14584     void onbeforeunload([in] IHTMLEventObj* pEvtObj);
14585
14586     [id(DISPID_HTMLWINDOWEVENTS2_ONBEFOREPRINT)]
14587     void onbeforeprint([in] IHTMLEventObj* pEvtObj);
14588
14589     [id(DISPID_HTMLWINDOWEVENTS2_ONAFTERPRINT)]
14590     void onafterprint([in] IHTMLEventObj* pEvtObj);
14591 };
14592
14593 /*****************************************************************************
14594  *    HTMLWindowProxy class
14595  */
14596 [
14597     uuid(3050f391-98b5-11cf-bb82-00aa00bdce0b)
14598 ]
14599 coclass HTMLWindowProxy
14600 {
14601     [default]           dispinterface DispHTMLWindowProxy;
14602     [source, default]   dispinterface HTMLWindowEvents;
14603     [source]            dispinterface HTMLWindowEvents2;
14604                         interface IHTMLWindow2;
14605                         interface IHTMLWindow3;
14606                         interface IHTMLWindow4;
14607                         interface IHTMLWindow5;
14608 };
14609
14610 /*****************************************************************************
14611  *    HTMLDocumentEvents2 interface
14612  */
14613 [
14614     hidden,
14615     uuid(3050f613-98b5-11cf-bb82-00aa00bdce0b)
14616 ]
14617 dispinterface HTMLDocumentEvents2
14618 {
14619     properties:
14620     methods:
14621     [id(DISPID_HTMLDOCUMENTEVENTS2_ONHELP)]
14622     VARIANT_BOOL onhelp([in] IHTMLEventObj *pEvtObj);
14623
14624     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCLICK)]
14625     VARIANT_BOOL onclick([in] IHTMLEventObj *pEvtObj);
14626
14627     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDBLCLICK)]
14628     VARIANT_BOOL ondblclick([in] IHTMLEventObj *pEvtObj);
14629
14630     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYDOWN)]
14631     void onkeydown([in] IHTMLEventObj *pEvtObj);
14632
14633     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYUP)]
14634     void onkeyup([in] IHTMLEventObj *pEvtObj);
14635
14636     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYPRESS)]
14637     VARIANT_BOOL onkeypress([in] IHTMLEventObj *pEvtObj);
14638
14639     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEDOWN)]
14640     void onmousedown([in] IHTMLEventObj *pEvtObj);
14641
14642     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEMOVE)]
14643     void onmousemove([in] IHTMLEventObj *pEvtObj);
14644
14645     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEUP)]
14646     void onmouseup([in] IHTMLEventObj *pEvtObj);
14647
14648     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEOUT)]
14649     void onmouseout([in] IHTMLEventObj *pEvtObj);
14650
14651     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEOVER)]
14652     void onmouseover([in] IHTMLEventObj *pEvtObj);
14653
14654     [id(DISPID_HTMLDOCUMENTEVENTS2_ONREADYSTATECHANGE)]
14655     void onreadystatechange([in] IHTMLEventObj *pEvtObj);
14656
14657     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREUPDATE)]
14658     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj *pEvtObj);
14659
14660     [id(DISPID_HTMLDOCUMENTEVENTS2_ONAFTERUPDATE)]
14661     void onafterupdate([in] IHTMLEventObj *pEvtObj);
14662
14663     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWEXIT)]
14664     VARIANT_BOOL onrowexit([in] IHTMLEventObj *pEvtObj);
14665
14666     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWENTER)]
14667     void onrowenter([in] IHTMLEventObj *pEvtObj);
14668
14669     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDRAGSTART)]
14670     VARIANT_BOOL ondragstart([in] IHTMLEventObj *pEvtObj);
14671
14672     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSELECTSTART)]
14673     VARIANT_BOOL onselectstart([in] IHTMLEventObj *pEvtObj);
14674
14675     [id(DISPID_HTMLDOCUMENTEVENTS2_ONERRORUPDATE)]
14676     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj *pEvtObj);
14677
14678     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCONTEXTMENU)]
14679     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj *pEvtObj);
14680
14681     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSTOP)]
14682     VARIANT_BOOL onstop([in] IHTMLEventObj *pEvtObj);
14683
14684     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWSDELETE)]
14685     void onrowsdelete([in] IHTMLEventObj *pEvtObj);
14686
14687     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWSINSERTED)]
14688     void onrowsinserted([in] IHTMLEventObj *pEvtObj);
14689
14690     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCELLCHANGE)]
14691     void oncellchange([in] IHTMLEventObj *pEvtObj);
14692
14693     [id(DISPID_HTMLDOCUMENTEVENTS2_ONPROPERTYCHANGE)]
14694     void onpropertychange([in] IHTMLEventObj *pEvtObj);
14695
14696     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATASETCHANGED)]
14697     void ondatasetchanged([in] IHTMLEventObj *pEvtObj);
14698
14699     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATAAVAILABLE)]
14700     void ondataavailable([in] IHTMLEventObj *pEvtObj);
14701
14702     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATASETCOMPLETE)]
14703     void ondatasetcomplete([in] IHTMLEventObj *pEvtObj);
14704
14705     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREEDITFOCUS)]
14706     void onbeforeeditfocus([in] IHTMLEventObj *pEvtObj);
14707
14708     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSELECTIONCHANGE)]
14709     void onselectionchange([in] IHTMLEventObj *pEvtObj);
14710
14711     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCONTROLSELECT)]
14712     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj *pEvtObj);
14713
14714     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEWHEEL)]
14715     VARIANT_BOOL onmousewheel([in] IHTMLEventObj *pEvtObj);
14716
14717     [id(DISPID_HTMLDOCUMENTEVENTS2_ONFOCUSIN)]
14718     void onfocusin([in] IHTMLEventObj *pEvtObj);
14719
14720     [id(DISPID_HTMLDOCUMENTEVENTS2_ONFOCUSOUT)]
14721     void onfocusout([in] IHTMLEventObj *pEvtObj);
14722
14723     [id(DISPID_HTMLDOCUMENTEVENTS2_ONACTIVATE)]
14724     void onactivate([in] IHTMLEventObj *pEvtObj);
14725
14726     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDEACTIVATE)]
14727     void ondeactivate([in] IHTMLEventObj *pEvtObj);
14728
14729     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREACTIVATE)]
14730     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj *pEvtObj);
14731
14732     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREDEACTIVATE)]
14733     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj *pEvtObj);
14734 }
14735
14736 /*****************************************************************************
14737  *    HTMLDocumentEvents interface
14738  */
14739 [
14740     hidden,
14741     uuid(3050f260-98b5-11cf-bb82-00aa00bdce0b)
14742 ]
14743 dispinterface HTMLDocumentEvents
14744 {
14745     properties:
14746     methods:
14747     [id(DISPID_HTMLDOCUMENTEVENTS_ONHELP)]
14748     VARIANT_BOOL onhelp();
14749
14750     [id(DISPID_HTMLDOCUMENTEVENTS_ONCLICK)]
14751     VARIANT_BOOL onclick();
14752
14753     [id(DISPID_HTMLDOCUMENTEVENTS_ONDBLCLICK)]
14754     VARIANT_BOOL ondblclick();
14755
14756     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYDOWN)]
14757     void onkeydown();
14758
14759     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYUP)]
14760     void onkeyup();
14761
14762     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYPRESS)]
14763     VARIANT_BOOL onkeypress();
14764
14765     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEDOWN)]
14766     void onmousedown();
14767
14768     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEMOVE)]
14769     void onmousemove();
14770
14771     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEUP)]
14772     void onmouseup();
14773
14774     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEOUT)]
14775     void onmouseout();
14776
14777     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEOVER)]
14778     void onmouseover();
14779
14780     [id(DISPID_HTMLDOCUMENTEVENTS_ONREADYSTATECHANGE)]
14781     void onreadystatechange();
14782
14783     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREUPDATE)]
14784     VARIANT_BOOL onbeforeupdate();
14785
14786     [id(DISPID_HTMLDOCUMENTEVENTS_ONAFTERUPDATE)]
14787     void onafterupdate();
14788
14789     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWEXIT)]
14790     VARIANT_BOOL onrowexit();
14791
14792     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWENTER)]
14793     void onrowenter();
14794
14795     [id(DISPID_HTMLDOCUMENTEVENTS_ONDRAGSTART)]
14796     VARIANT_BOOL ondragstart();
14797
14798     [id(DISPID_HTMLDOCUMENTEVENTS_ONSELECTSTART)]
14799     VARIANT_BOOL onselectstart();
14800
14801     [id(DISPID_HTMLDOCUMENTEVENTS_ONERRORUPDATE)]
14802     VARIANT_BOOL onerrorupdate();
14803
14804     [id(DISPID_HTMLDOCUMENTEVENTS_ONCONTEXTMENU)]
14805     VARIANT_BOOL oncontextmenu();
14806
14807     [id(DISPID_HTMLDOCUMENTEVENTS_ONSTOP)]
14808     VARIANT_BOOL onstop();
14809
14810     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWSDELETE)]
14811     void onrowsdelete();
14812
14813     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWSINSERTED)]
14814     void onrowsinserted();
14815
14816     [id(DISPID_HTMLDOCUMENTEVENTS_ONCELLCHANGE)]
14817     void oncellchange();
14818
14819     [id(DISPID_HTMLDOCUMENTEVENTS_ONPROPERTYCHANGE)]
14820     void onpropertychange();
14821
14822     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATASETCHANGED)]
14823     void ondatasetchanged();
14824
14825     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATAAVAILABLE)]
14826     void ondataavailable();
14827
14828     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATASETCOMPLETE)]
14829     void ondatasetcomplete();
14830
14831     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREEDITFOCUS)]
14832     void onbeforeeditfocus();
14833
14834     [id(DISPID_HTMLDOCUMENTEVENTS_ONSELECTIONCHANGE)]
14835     void onselectionchange();
14836
14837     [id(DISPID_HTMLDOCUMENTEVENTS_ONCONTROLSELECT)]
14838     VARIANT_BOOL oncontrolselect();
14839
14840     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEWHEEL)]
14841     VARIANT_BOOL onmousewheel();
14842
14843     [id(DISPID_HTMLDOCUMENTEVENTS_ONFOCUSIN)]
14844     void onfocusin();
14845
14846     [id(DISPID_HTMLDOCUMENTEVENTS_ONFOCUSOUT)]
14847     void onfocusout();
14848
14849     [id(DISPID_HTMLDOCUMENTEVENTS_ONACTIVATE)]
14850     void onactivate();
14851
14852     [id(DISPID_HTMLDOCUMENTEVENTS_ONDEACTIVATE)]
14853     void ondeactivate();
14854
14855     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREACTIVATE)]
14856     VARIANT_BOOL onbeforeactivate();
14857
14858     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREDEACTIVATE)]
14859     VARIANT_BOOL onbeforedeactivate();
14860 }
14861
14862 /*****************************************************************************
14863  *    HTMLTextContainerEvents interface
14864  */
14865 [
14866     hidden,
14867     uuid(1ff6aa72-5842-11cf-a707-00aa00c0098d)
14868 ]
14869 dispinterface HTMLTextContainerEvents
14870 {
14871 properties:
14872
14873 methods:
14874     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
14875     VARIANT_BOOL onhelp();
14876
14877     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
14878     VARIANT_BOOL onclick();
14879
14880     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
14881     VARIANT_BOOL ondblclick();
14882
14883     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
14884     VARIANT_BOOL onkeypress();
14885
14886     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
14887     void onkeydown();
14888
14889     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
14890     void onkeyup();
14891
14892     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
14893     void onmouseout();
14894
14895     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
14896     void onmouseover();
14897
14898     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
14899     void onmousemove();
14900
14901     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
14902     void onmousedown();
14903
14904     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
14905     void onmouseup();
14906
14907     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
14908     VARIANT_BOOL onselectstart();
14909
14910     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
14911     void onfilterchange();
14912
14913     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
14914     VARIANT_BOOL ondragstart();
14915
14916     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
14917     VARIANT_BOOL onbeforeupdate();
14918
14919     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
14920     void onafterupdate();
14921
14922     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
14923     VARIANT_BOOL onerrorupdate();
14924
14925     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
14926     VARIANT_BOOL onrowexit();
14927
14928     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
14929     void onrowenter();
14930
14931     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
14932     void ondatasetchanged();
14933
14934     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
14935     void ondataavailable();
14936
14937     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
14938     void ondatasetcomplete();
14939
14940     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
14941     void onlosecapture();
14942
14943     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
14944     void onpropertychange();
14945
14946     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
14947     void onscroll();
14948
14949     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
14950     void onfocus();
14951
14952     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
14953     void onblur();
14954
14955     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
14956     void onresize();
14957
14958     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
14959     VARIANT_BOOL ondrag();
14960
14961     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
14962     void ondragend();
14963
14964     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
14965     VARIANT_BOOL ondragenter();
14966
14967     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
14968     VARIANT_BOOL ondragover();
14969
14970     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
14971     void ondragleave();
14972
14973     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
14974     VARIANT_BOOL ondrop();
14975
14976     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
14977     VARIANT_BOOL onbeforecut();
14978
14979     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
14980     VARIANT_BOOL oncut();
14981
14982     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
14983     VARIANT_BOOL onbeforecopy();
14984
14985     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
14986     VARIANT_BOOL oncopy();
14987
14988     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
14989     VARIANT_BOOL onbeforepaste();
14990
14991     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
14992     VARIANT_BOOL onpaste();
14993
14994     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
14995     VARIANT_BOOL oncontextmenu();
14996
14997     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
14998     void onrowsdelete();
14999
15000     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
15001     void onrowsinserted();
15002
15003     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
15004     void oncellchange();
15005
15006     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
15007     void onreadystatechange();
15008
15009     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
15010     void onbeforeeditfocus();
15011
15012     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
15013     void onlayoutcomplete();
15014
15015     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
15016     void onpage();
15017
15018     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
15019     VARIANT_BOOL onbeforedeactivate();
15020
15021     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
15022     VARIANT_BOOL onbeforeactivate();
15023
15024     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
15025     void onmove();
15026
15027     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
15028     VARIANT_BOOL oncontrolselect();
15029
15030     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
15031     VARIANT_BOOL onmovestart();
15032
15033     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
15034     void onmoveend();
15035
15036     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
15037     VARIANT_BOOL onresizestart();
15038
15039     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
15040     void onresizeend();
15041
15042     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
15043     void onmouseenter();
15044
15045     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
15046     void onmouseleave();
15047
15048     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
15049     VARIANT_BOOL onmousewheel();
15050
15051     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
15052     void onactivate();
15053
15054     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
15055     void ondeactivate();
15056
15057     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
15058     void onfocusin();
15059
15060     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
15061     void onfocusout();
15062
15063     [id(DISPID_HTMLTEXTCONTAINEREVENTS_ONCHANGE)]
15064     void onchange();
15065
15066     [id(DISPID_HTMLTEXTCONTAINEREVENTS_ONSELECT)]
15067     void onselect();
15068 };
15069
15070 /*****************************************************************************
15071  *    HTMLTextContainerEvents2 interface
15072  */
15073 [
15074     hidden,
15075     uuid(3050f624-98b5-11cf-bb82-00aa00bdce0b)
15076 ]
15077 dispinterface HTMLTextContainerEvents2
15078 {
15079 properties:
15080 methods:
15081     [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)]
15082     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
15083
15084     [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)]
15085     VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
15086
15087     [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)]
15088     VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
15089
15090     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)]
15091     VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
15092
15093     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)]
15094     void onkeydown([in] IHTMLEventObj* pEvtObj);
15095
15096     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)]
15097     void onkeyup([in] IHTMLEventObj* pEvtObj);
15098
15099     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)]
15100     void onmouseout([in] IHTMLEventObj* pEvtObj);
15101
15102     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)]
15103     void onmouseover([in] IHTMLEventObj* pEvtObj);
15104
15105     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)]
15106     void onmousemove([in] IHTMLEventObj* pEvtObj);
15107
15108     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)]
15109     void onmousedown([in] IHTMLEventObj* pEvtObj);
15110
15111     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)]
15112     void onmouseup([in] IHTMLEventObj* pEvtObj);
15113
15114     [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)]
15115     VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
15116
15117     [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)]
15118     void onfilterchange([in] IHTMLEventObj* pEvtObj);
15119
15120     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)]
15121     VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
15122
15123     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)]
15124     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
15125
15126     [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)]
15127     void onafterupdate([in] IHTMLEventObj* pEvtObj);
15128
15129     [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)]
15130     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
15131
15132     [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)]
15133     VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
15134
15135     [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)]
15136     void onrowenter([in] IHTMLEventObj* pEvtObj);
15137
15138     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)]
15139     void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
15140
15141     [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)]
15142     void ondataavailable([in] IHTMLEventObj* pEvtObj);
15143
15144     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)]
15145     void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
15146
15147     [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)]
15148     void onlosecapture([in] IHTMLEventObj* pEvtObj);
15149
15150     [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)]
15151     void onpropertychange([in] IHTMLEventObj* pEvtObj);
15152
15153     [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)]
15154     void onscroll([in] IHTMLEventObj* pEvtObj);
15155
15156     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)]
15157     void onfocus([in] IHTMLEventObj* pEvtObj);
15158
15159     [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)]
15160     void onblur([in] IHTMLEventObj* pEvtObj);
15161
15162     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)]
15163     void onresize([in] IHTMLEventObj* pEvtObj);
15164
15165     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)]
15166     VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
15167
15168     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)]
15169     void ondragend([in] IHTMLEventObj* pEvtObj);
15170
15171     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)]
15172     VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
15173
15174     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)]
15175     VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
15176
15177     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)]
15178     void ondragleave([in] IHTMLEventObj* pEvtObj);
15179
15180     [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)]
15181     VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
15182
15183     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)]
15184     VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
15185
15186     [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)]
15187     VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
15188
15189     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)]
15190     VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
15191
15192     [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)]
15193     VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
15194
15195     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)]
15196     VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
15197
15198     [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)]
15199     VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
15200
15201     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)]
15202     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
15203
15204     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)]
15205     void onrowsdelete([in] IHTMLEventObj* pEvtObj);
15206
15207     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)]
15208     void onrowsinserted([in] IHTMLEventObj* pEvtObj);
15209
15210     [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)]
15211     void oncellchange([in] IHTMLEventObj* pEvtObj);
15212
15213     [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)]
15214     void onreadystatechange([in] IHTMLEventObj* pEvtObj);
15215
15216     [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)]
15217     void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
15218
15219     [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)]
15220     void onpage([in] IHTMLEventObj* pEvtObj);
15221
15222     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)]
15223     void onmouseenter([in] IHTMLEventObj* pEvtObj);
15224
15225     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)]
15226     void onmouseleave([in] IHTMLEventObj* pEvtObj);
15227
15228     [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)]
15229     void onactivate([in] IHTMLEventObj* pEvtObj);
15230
15231     [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)]
15232     void ondeactivate([in] IHTMLEventObj* pEvtObj);
15233
15234     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)]
15235     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
15236
15237     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)]
15238     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
15239
15240     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)]
15241     void onfocusin([in] IHTMLEventObj* pEvtObj);
15242
15243     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)]
15244     void onfocusout([in] IHTMLEventObj* pEvtObj);
15245
15246     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)]
15247     void onmove([in] IHTMLEventObj* pEvtObj);
15248
15249     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)]
15250     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
15251
15252     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)]
15253     VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
15254
15255     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)]
15256     void onmoveend([in] IHTMLEventObj* pEvtObj);
15257
15258     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)]
15259     VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
15260
15261     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)]
15262     void onresizeend([in] IHTMLEventObj* pEvtObj);
15263
15264     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)]
15265     VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
15266
15267     [id(DISPID_HTMLTEXTCONTAINEREVENTS2_ONCHANGE)]
15268     void onchange([in] IHTMLEventObj* pEvtObj);
15269
15270     [id(DISPID_HTMLTEXTCONTAINEREVENTS2_ONSELECT)]
15271     void onselect([in] IHTMLEventObj* pEvtObj);
15272 };
15273
15274 /*****************************************************************************
15275  *    IHTMLDocument interface
15276  */
15277 [
15278     odl,
15279     oleautomation,
15280     dual,
15281     uuid(626FC520-A41E-11CF-A731-00A0C9082637)
15282 ]
15283 interface IHTMLDocument : IDispatch
15284 {
15285     [propget, id(DISPID_IHTMLDOCUMENT_SCRIPT)]
15286     HRESULT Script([retval, out] IDispatch **p);
15287 }
15288
15289 /*****************************************************************************
15290  *    IHTMLDocument2 interface
15291  */
15292 [
15293     odl,
15294     oleautomation,
15295     dual,
15296     uuid(332C4425-26CB-11D0-B483-00C04FD90119)
15297 ]
15298 interface IHTMLDocument2 : IHTMLDocument
15299 {
15300     [propget, id(DISPID_IHTMLDOCUMENT2_ALL)]
15301     HRESULT all([retval, out] IHTMLElementCollection **p);
15302
15303     [propget, id(DISPID_IHTMLDOCUMENT2_BODY)]
15304     HRESULT body([retval, out] IHTMLElement **p);
15305
15306     [propget, id(DISPID_IHTMLDOCUMENT2_ACTIVEELEMENT)]
15307     HRESULT activeElement([retval, out] IHTMLElement **p);
15308
15309     [propget, id(DISPID_IHTMLDOCUMENT2_IMAGES)]
15310     HRESULT images([retval, out] IHTMLElementCollection **p);
15311
15312     [propget, id(DISPID_IHTMLDOCUMENT2_APPLETS)]
15313     HRESULT applets([retval, out] IHTMLElementCollection **p);
15314
15315     [propget, id(DISPID_IHTMLDOCUMENT2_LINKS)]
15316     HRESULT links([retval, out] IHTMLElementCollection **p);
15317
15318     [propget, id(DISPID_IHTMLDOCUMENT2_FORMS)]
15319     HRESULT forms([retval, out] IHTMLElementCollection **p);
15320
15321     [propget, id(DISPID_IHTMLDOCUMENT2_ANCHORS)]
15322     HRESULT anchors([retval, out] IHTMLElementCollection **p);
15323
15324     [propput, id(DISPID_IHTMLDOCUMENT2_TITLE)]
15325     HRESULT title([in] BSTR v);
15326
15327     [propget, id(DISPID_IHTMLDOCUMENT2_TITLE)]
15328     HRESULT title([retval, out] BSTR *p);
15329
15330     [propget, id(DISPID_IHTMLDOCUMENT2_SCRIPTS)]
15331     HRESULT scripts([retval, out] IHTMLElementCollection **p);
15332
15333     [propput, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE)]
15334     HRESULT designMode([in] BSTR v);
15335
15336     [propget, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE)]
15337     HRESULT designMode([retval, out] BSTR *p);
15338
15339     [propget, id(DISPID_IHTMLDOCUMENT2_SELECTION)]
15340     HRESULT selection([retval, out] IHTMLSelectionObject **p);
15341
15342     [propget, id(DISPID_IHTMLDOCUMENT2_READYSTATE)]
15343      HRESULT readyState([retval, out] BSTR *p);
15344
15345     [propget, id(DISPID_IHTMLDOCUMENT2_FRAMES)]
15346     HRESULT frames([retval, out] IHTMLFramesCollection2 **p);
15347
15348     [propget, id(DISPID_IHTMLDOCUMENT2_EMBEDS)]
15349     HRESULT embeds([retval, out] IHTMLElementCollection **p);
15350
15351     [propget, id(DISPID_IHTMLDOCUMENT2_PLUGINS)]
15352     HRESULT plugins([retval, out] IHTMLElementCollection **p);
15353
15354     [propput, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
15355     HRESULT alinkColor([in] VARIANT v);
15356
15357     [propget, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
15358     HRESULT alinkColor([retval, out] VARIANT *p);
15359
15360     [propput, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
15361     HRESULT bgColor([in] VARIANT v);
15362
15363     [propget, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
15364     HRESULT bgColor([retval, out] VARIANT *p);
15365
15366     [propput, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
15367     HRESULT fgColor([in] VARIANT v);
15368
15369     [propget, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
15370     HRESULT fgColor([retval, out] VARIANT *p);
15371
15372     [propput, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
15373     HRESULT linkColor([in] VARIANT v);
15374
15375     [propget, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
15376     HRESULT linkColor([retval, out] VARIANT *p);
15377
15378     [propput, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
15379     HRESULT vlinkColor([in] VARIANT v);
15380
15381     [propget, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
15382     HRESULT vlinkColor([retval, out] VARIANT *p);
15383
15384     [propget, id(DISPID_IHTMLDOCUMENT2_REFERRER)]
15385     HRESULT referrer([retval, out] BSTR *p);
15386
15387     [propget, id(DISPID_IHTMLDOCUMENT2_LOCATION)]
15388     HRESULT location([retval, out] IHTMLLocation **p);
15389
15390     [propget, id(DISPID_IHTMLDOCUMENT2_LASTMODIFIED)]
15391     HRESULT lastModified([retval, out] BSTR *p);
15392
15393     [propput, id(DISPID_IHTMLDOCUMENT2_URL)]
15394     HRESULT URL([in] BSTR v);
15395
15396     [propget, id(DISPID_IHTMLDOCUMENT2_URL)]
15397     HRESULT URL([retval, out] BSTR *p);
15398
15399     [propput, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
15400     HRESULT domain([in] BSTR v);
15401
15402     [propget, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
15403     HRESULT domain([retval, out] BSTR *p);
15404
15405     [propput, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
15406     HRESULT cookie([in] BSTR v);
15407
15408     [propget, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
15409     HRESULT cookie([retval, out] BSTR *p);
15410
15411     [propput, id(DISPID_IHTMLDOCUMENT2_EXPANDO)]
15412     HRESULT expando([in] VARIANT_BOOL v);
15413
15414     [propget, id(DISPID_IHTMLDOCUMENT2_EXPANDO)]
15415     HRESULT expando([retval, out] VARIANT_BOOL *p);
15416
15417     [propput, id(DISPID_IHTMLDOCUMENT2_CHARSET)]
15418      HRESULT charset([in] BSTR v);
15419
15420     [propget, id(DISPID_IHTMLDOCUMENT2_CHARSET)]
15421     HRESULT charset([retval, out] BSTR *p);
15422
15423     [propput, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
15424     HRESULT defaultCharset([in] BSTR v);
15425
15426     [propget, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
15427     HRESULT defaultCharset([retval, out] BSTR *p);
15428
15429     [propget, id(DISPID_IHTMLDOCUMENT2_MIMETYPE)]
15430     HRESULT mimeType([retval, out] BSTR *p);
15431
15432     [propget, id(DISPID_IHTMLDOCUMENT2_FILESIZE)]
15433     HRESULT fileSize([retval, out] BSTR *p);
15434
15435     [propget, id(DISPID_IHTMLDOCUMENT2_FILECREATEDDATE)]
15436     HRESULT fileCreatedDate([retval, out] BSTR *p);
15437
15438     [propget, id(DISPID_IHTMLDOCUMENT2_FILEMODIFIEDDATE)]
15439     HRESULT fileModifiedDate([retval, out] BSTR *p);
15440
15441     [propget, id(DISPID_IHTMLDOCUMENT2_FILEUPDATEDDATE)]
15442     HRESULT fileUpdatedDate([retval, out] BSTR *p);
15443
15444     [propget, id(DISPID_IHTMLDOCUMENT2_SECURITY)]
15445     HRESULT security([retval, out] BSTR *p);
15446
15447     [propget, id(DISPID_IHTMLDOCUMENT2_PROTOCOL)]
15448     HRESULT protocol([retval, out] BSTR *p);
15449
15450     [propget, id(DISPID_IHTMLDOCUMENT2_NAMEPROP)]
15451      HRESULT nameProp([retval, out] BSTR *p);
15452
15453     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITE)]
15454     HRESULT write([in] SAFEARRAY(VARIANT) psarray);
15455
15456     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITELN)]
15457     HRESULT writeln([in] SAFEARRAY(VARIANT) psarray);
15458
15459     [id(DISPID_IHTMLDOCUMENT2_OPEN)]
15460     HRESULT open(
15461         [defaultvalue("text/html"), in] BSTR url,
15462         [optional, in] VARIANT name,
15463         [optional, in] VARIANT features,
15464         [optional, in] VARIANT replace,
15465         [retval, out]  IDispatch **pomWindowResult);
15466
15467     [id(DISPID_IHTMLDOCUMENT2_CLOSE)]
15468     HRESULT close();
15469
15470     [id(DISPID_IHTMLDOCUMENT2_CLEAR)]
15471     HRESULT clear();
15472
15473     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSUPPORTED)]
15474     HRESULT queryCommandSupported(
15475         [in] BSTR cmdID,
15476         [retval, out] VARIANT_BOOL *pfRet);
15477
15478     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDENABLED)]
15479     HRESULT queryCommandEnabled(
15480         [in] BSTR cmdID,
15481         [retval, out] VARIANT_BOOL *pfRet);
15482
15483     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSTATE)]
15484     HRESULT queryCommandState(
15485         [in] BSTR cmdID,
15486         [retval, out] VARIANT_BOOL *pfRet);
15487
15488     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDINDETERM)]
15489     HRESULT queryCommandIndeterm(
15490         [in] BSTR cmdID,
15491         [retval, out] VARIANT_BOOL *pfRet);
15492
15493     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDTEXT)]
15494     HRESULT queryCommandText(
15495         [in] BSTR cmdID,
15496         [retval, out] BSTR *pcmdText);
15497
15498     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDVALUE)]
15499     HRESULT queryCommandValue(
15500         [in] BSTR cmdID,
15501         [retval, out] VARIANT *pcmdValue);
15502
15503     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMAND)]
15504     HRESULT execCommand(
15505         [in] BSTR cmdID,
15506         [defaultvalue(0), in] VARIANT_BOOL showUI,
15507         [optional, in] VARIANT value,
15508         [retval, out] VARIANT_BOOL *pfRet);
15509
15510     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMANDSHOWHELP)]
15511     HRESULT execCommandShowHelp(
15512         [in] BSTR cmdID,
15513         [retval, out] VARIANT_BOOL *pfRet);
15514
15515     [id(DISPID_IHTMLDOCUMENT2_CREATEELEMENT)]
15516      HRESULT createElement(
15517         [in] BSTR eTag,
15518         [retval, out] IHTMLElement **newElem);
15519
15520     [propput, id(DISPID_IHTMLDOCUMENT2_ONHELP)]
15521     HRESULT onhelp([in] VARIANT v);
15522
15523     [propget, id(DISPID_IHTMLDOCUMENT2_ONHELP)]
15524     HRESULT onhelp([retval, out] VARIANT *p);
15525
15526     [propput, id(DISPID_IHTMLDOCUMENT2_ONCLICK)]
15527     HRESULT onclick([in] VARIANT v);
15528
15529     [propget, id(DISPID_IHTMLDOCUMENT2_ONCLICK)]
15530     HRESULT onclick([retval, out] VARIANT *p);
15531
15532     [propput, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK)]
15533     HRESULT ondblclick([in] VARIANT v);
15534
15535     [propget, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK)]
15536     HRESULT ondblclick([retval, out] VARIANT *p);
15537
15538     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYUP)]
15539     HRESULT onkeyup([in] VARIANT v);
15540
15541     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYUP)]
15542     HRESULT onkeyup([retval, out] VARIANT *p);
15543
15544     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN)]
15545     HRESULT onkeydown([in] VARIANT v);
15546
15547     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN)]
15548     HRESULT onkeydown([retval, out] VARIANT *p);
15549
15550     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS)]
15551      HRESULT onkeypress([in] VARIANT v);
15552
15553     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS)]
15554     HRESULT onkeypress([retval, out] VARIANT *p);
15555
15556     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP)]
15557     HRESULT onmouseup([in] VARIANT v);
15558
15559     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP)]
15560     HRESULT onmouseup([retval, out] VARIANT *p);
15561
15562     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN)]
15563     HRESULT onmousedown([in] VARIANT v);
15564
15565     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN)]
15566     HRESULT onmousedown([retval, out] VARIANT *p);
15567
15568     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE)]
15569     HRESULT onmousemove([in] VARIANT v);
15570
15571     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE)]
15572     HRESULT onmousemove([retval, out] VARIANT *p);
15573
15574     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT)]
15575     HRESULT onmouseout([in] VARIANT v);
15576
15577     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT)]
15578     HRESULT onmouseout([retval, out] VARIANT *p);
15579
15580     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER)]
15581     HRESULT onmouseover([in] VARIANT v);
15582
15583     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER)]
15584     HRESULT onmouseover([retval, out] VARIANT *p);
15585
15586     [propput, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE)]
15587     HRESULT onreadystatechange([in] VARIANT v);
15588
15589     [propget, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE)]
15590     HRESULT onreadystatechange([retval, out] VARIANT *p);
15591
15592     [propput, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE)]
15593     HRESULT onafterupdate([in] VARIANT v);
15594
15595     [propget, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE)]
15596     HRESULT onafterupdate([retval, out] VARIANT *p);
15597
15598     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT)]
15599     HRESULT onrowexit([in] VARIANT v);
15600
15601     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT)]
15602     HRESULT onrowexit([retval, out] VARIANT *p);
15603
15604     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWENTER)]
15605     HRESULT onrowenter([in] VARIANT v);
15606
15607     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWENTER)]
15608     HRESULT onrowenter([retval, out] VARIANT *p);
15609
15610     [propput, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART)]
15611     HRESULT ondragstart([in] VARIANT v);
15612
15613     [propget, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART)]
15614     HRESULT ondragstart([retval, out] VARIANT *p);
15615
15616     [propput, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART)]
15617     HRESULT onselectstart([in] VARIANT v);
15618
15619     [propget, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART)]
15620     HRESULT onselectstart([retval, out] VARIANT *p);
15621
15622     [id(DISPID_IHTMLDOCUMENT2_ELEMENTFROMPOINT)]
15623     HRESULT elementFromPoint(
15624         [in] LONG x,
15625         [in] LONG y,
15626         [retval, out] IHTMLElement **elementHit);
15627
15628     [propget, id(DISPID_IHTMLDOCUMENT2_PARENTWINDOW)]
15629     HRESULT parentWindow([retval, out] IHTMLWindow2 **p);
15630
15631     [propget, id(DISPID_IHTMLDOCUMENT2_STYLESHEETS)]
15632     HRESULT styleSheets([retval, out] IHTMLStyleSheetsCollection **p);
15633
15634     [propput, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE)]
15635     HRESULT onbeforeupdate([in] VARIANT v);
15636
15637     [propget, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE)]
15638     HRESULT onbeforeupdate([retval, out] VARIANT *p);
15639
15640     [propput, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE)]
15641     HRESULT onerrorupdate([in] VARIANT v);
15642
15643     [propget, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE)]
15644     HRESULT onerrorupdate([retval, out] VARIANT *p);
15645
15646     [id(DISPID_IHTMLDOCUMENT2_TOSTRING)]
15647     HRESULT toString([retval, out] BSTR *String);
15648
15649     [id(DISPID_IHTMLDOCUMENT2_CREATESTYLESHEET)]
15650     HRESULT createStyleSheet(
15651         [defaultvalue(""), in] BSTR bstrHref,
15652         [defaultvalue(-1), in] LONG lIndex,
15653         [retval, out] IHTMLStyleSheet **ppnewStyleSheet);
15654 }
15655
15656 /*****************************************************************************
15657  *    IHTMLDocument3 interface
15658  */
15659 [
15660     odl,
15661     oleautomation,
15662     dual,
15663     uuid(3050f485-98b5-11cf-bb82-00aa00bdce0b)
15664 ]
15665 interface IHTMLDocument3 : IDispatch
15666 {
15667     [id(DISPID_IHTMLDOCUMENT3_RELEASECAPTURE)]
15668     HRESULT releaseCapture();
15669
15670     [id(DISPID_IHTMLDOCUMENT3_RECALC)]
15671     HRESULT recalc([defaultvalue(0), in] VARIANT_BOOL fForce);
15672
15673     [id(DISPID_IHTMLDOCUMENT3_CREATETEXTNODE)]
15674     HRESULT createTextNode(
15675         [in] BSTR text,
15676         [retval, out] IHTMLDOMNode **newTextNode);
15677
15678     [propget, id(DISPID_IHTMLDOCUMENT3_DOCUMENTELEMENT)]
15679     HRESULT documentElement([retval, out] IHTMLElement **p);
15680
15681     [propget, id(DISPID_IHTMLDOCUMENT3_UNIQUEID), hidden]
15682     HRESULT uniqueID([retval, out] BSTR *p);
15683
15684     [id(DISPID_IHTMLDOCUMENT3_ATTACHEVENT)]
15685     HRESULT attachEvent(
15686         [in] BSTR event,
15687         [in] IDispatch* pDisp,
15688         [retval, out] VARIANT_BOOL *pfResult);
15689
15690     [id(DISPID_IHTMLDOCUMENT3_DETACHEVENT)]
15691     HRESULT detachEvent(
15692         [in] BSTR event,
15693         [in] IDispatch *pDisp);
15694
15695     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
15696     HRESULT onrowsdelete([in] VARIANT v);
15697
15698     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
15699     HRESULT onrowsdelete([retval, out] VARIANT *p);
15700
15701     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
15702     HRESULT onrowsinserted([in] VARIANT v);
15703
15704     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
15705     HRESULT onrowsinserted([retval, out] VARIANT *p);
15706
15707     [propput, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
15708     HRESULT oncellchange([in] VARIANT v);
15709
15710     [propget, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
15711     HRESULT oncellchange([retval, out] VARIANT *p);
15712
15713     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
15714     HRESULT ondatasetchanged([in] VARIANT v);
15715
15716     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
15717     HRESULT ondatasetchanged([retval, out] VARIANT *p);
15718
15719     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
15720     HRESULT ondataavailable([in] VARIANT v);
15721
15722     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
15723     HRESULT ondataavailable([retval, out] VARIANT * p);
15724
15725     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
15726     HRESULT ondatasetcomplete([in] VARIANT v);
15727
15728     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
15729     HRESULT ondatasetcomplete([retval, out] VARIANT *p);
15730
15731     [propput, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
15732     HRESULT onpropertychange([in] VARIANT v);
15733
15734     [propget, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
15735     HRESULT onpropertychange([retval, out] VARIANT *p);
15736
15737     [propput, id(DISPID_IHTMLDOCUMENT3_DIR)]
15738     HRESULT dir([in] BSTR v);
15739
15740     [propget, id(DISPID_IHTMLDOCUMENT3_DIR)]
15741     HRESULT dir([retval, out] BSTR *p);
15742
15743     [propput, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
15744     HRESULT oncontextmenu([in] VARIANT v);
15745
15746     [propget, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
15747     HRESULT oncontextmenu([retval, out] VARIANT *p);
15748
15749     [propput, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
15750     HRESULT onstop([in] VARIANT v);
15751
15752     [propget, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
15753     HRESULT onstop([retval, out] VARIANT *p);
15754
15755     [id(DISPID_IHTMLDOCUMENT3_CREATEDOCUMENTFRAGMENT)]
15756     HRESULT createDocumentFragment([retval, out] IHTMLDocument2 **pNewDoc);
15757
15758     [propget, id(DISPID_IHTMLDOCUMENT3_PARENTDOCUMENT), hidden, restricted]
15759     HRESULT parentDocument([retval, out] IHTMLDocument2 **p);
15760
15761     [propput, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
15762     HRESULT enableDownload([in] VARIANT_BOOL v);
15763
15764     [propget, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
15765     HRESULT enableDownload([retval, out] VARIANT_BOOL *p);
15766
15767     [propput, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
15768     HRESULT baseUrl([in] BSTR v);
15769
15770     [propget, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
15771     HRESULT baseUrl([retval, out] BSTR *p);
15772
15773     [propget, id(DISPID_IHTMLDOCUMENT3_CHILDNODES)]
15774     HRESULT childNodes([retval, out] IDispatch **p);
15775
15776     [propput, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
15777     HRESULT inheritStyleSheets([in] VARIANT_BOOL v);
15778
15779     [propget, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
15780     HRESULT inheritStyleSheets([retval, out] VARIANT_BOOL *p);
15781
15782     [propput, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
15783     HRESULT onbeforeeditfocus([in] VARIANT v);
15784
15785     [propget, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
15786     HRESULT onbeforeeditfocus([retval, out] VARIANT *p);
15787
15788     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYNAME)]
15789     HRESULT getElementsByName(
15790         [in] BSTR v,
15791         [retval, out] IHTMLElementCollection **pelColl);
15792
15793     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTBYID)]
15794     HRESULT getElementById(
15795         [in] BSTR v,
15796         [retval, out] IHTMLElement **pel);
15797
15798     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYTAGNAME)]
15799     HRESULT getElementsByTagName(
15800         [in] BSTR v,
15801         [retval, out] IHTMLElementCollection **pelColl);
15802 }
15803
15804 /*****************************************************************************
15805  *    IHTMLDocument4 interface
15806  */
15807 [
15808     odl,
15809     oleautomation,
15810     dual,
15811     uuid(3050f69a-98b5-11cf-bb82-00aa00bdce0b)
15812 ]
15813 interface IHTMLDocument4 : IDispatch
15814 {
15815     [id(DISPID_IHTMLDOCUMENT4_FOCUS)]
15816     HRESULT focus();
15817
15818     [id(DISPID_IHTMLDOCUMENT4_HASFOCUS)]
15819     HRESULT hasFocus([retval, out] VARIANT_BOOL *pfFocus);
15820
15821     [propput, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
15822     HRESULT onselectionchange([in] VARIANT v);
15823
15824     [propget, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
15825     HRESULT onselectionchange([retval, out] VARIANT *p);
15826
15827     [propget, id(DISPID_IHTMLDOCUMENT4_NAMESPACES)]
15828     HRESULT namespaces([retval, out] IDispatch **p);
15829
15830     [id(DISPID_IHTMLDOCUMENT4_CREATEDOCUMENTFROMURL)]
15831     HRESULT createDocumentFromUrl(
15832         [in] BSTR bstrUrl,
15833         [in] BSTR bstrOptions,
15834         [retval, out] IHTMLDocument2 **newDoc);
15835
15836     [propput, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
15837     HRESULT media([in] BSTR v);
15838
15839     [propget, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
15840     HRESULT media([retval, out] BSTR *p);
15841
15842     [id(DISPID_IHTMLDOCUMENT4_CREATEEVENTOBJECT)]
15843     HRESULT createEventObject(
15844         [optional, in] VARIANT *pvarEventObject,
15845         [retval, out] IHTMLEventObj **ppEventObj);
15846
15847     [id(DISPID_IHTMLDOCUMENT4_FIREEVENT)]
15848     HRESULT fireEvent(
15849         [in] BSTR bstrEventName,
15850         [optional, in] VARIANT *pvarEventObject,
15851         [retval, out] VARIANT_BOOL *pfCancelled);
15852
15853     [id(DISPID_IHTMLDOCUMENT4_CREATERENDERSTYLE)]
15854     HRESULT createRenderStyle(
15855         [in] BSTR v,
15856         [retval, out] IHTMLRenderStyle **ppIHTMLRenderStyle);
15857
15858     [propput, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
15859     HRESULT oncontrolselect([in] VARIANT v);
15860
15861     [propget, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
15862     HRESULT oncontrolselect([retval, out] VARIANT *p);
15863
15864     [propget, id(DISPID_IHTMLDOCUMENT4_URLUNENCODED)]
15865     HRESULT URLUnencoded([retval, out] BSTR *p);
15866 }
15867
15868 /*****************************************************************************
15869  *    IHTMLDocument5 interface
15870  */
15871 [
15872     odl,
15873     oleautomation,
15874     dual,
15875     uuid(3050f80c-98b5-11cf-bb82-00aa00bdce0b)
15876 ]
15877 interface IHTMLDocument5 : IDispatch
15878 {
15879     [propput, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
15880     HRESULT onmousewheel([in] VARIANT v);
15881
15882     [propget, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
15883     HRESULT onmousewheel([retval, out] VARIANT *p);
15884
15885     [propget, id(DISPID_IHTMLDOCUMENT5_DOCTYPE)]
15886     HRESULT doctype([retval, out] IHTMLDOMNode **p);
15887
15888     [propget, id(DISPID_IHTMLDOCUMENT5_IMPLEMENTATION)]
15889     HRESULT implementation([retval, out] IHTMLDOMImplementation **p);
15890
15891     [id(DISPID_IHTMLDOCUMENT5_CREATEATTRIBUTE)]
15892     HRESULT createAttribute(
15893         [in] BSTR bstrattrName,
15894         [retval, out] IHTMLDOMAttribute **ppattribute);
15895
15896     [id(DISPID_IHTMLDOCUMENT5_CREATECOMMENT)]
15897     HRESULT createComment(
15898         [in] BSTR bstrdata,
15899         [retval, out] IHTMLDOMNode **ppRetNode);
15900
15901     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
15902     HRESULT onfocusin([in] VARIANT v);
15903
15904     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
15905     HRESULT onfocusin([retval, out] VARIANT *p);
15906
15907     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
15908     HRESULT onfocusout([in] VARIANT v);
15909
15910     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
15911     HRESULT onfocusout([retval, out] VARIANT *p);
15912
15913     [propput, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
15914     HRESULT onactivate([in] VARIANT v);
15915
15916     [propget, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
15917     HRESULT onactivate([retval, out] VARIANT *p);
15918
15919     [propput, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
15920     HRESULT ondeactivate([in] VARIANT v);
15921
15922     [propget, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
15923     HRESULT ondeactivate([retval, out] VARIANT *p);
15924
15925     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
15926     HRESULT onbeforeactivate([in] VARIANT v);
15927
15928     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
15929     HRESULT onbeforeactivate([retval, out] VARIANT *p);
15930
15931     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
15932     HRESULT onbeforedeactivate([in] VARIANT v);
15933
15934     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
15935     HRESULT onbeforedeactivate([retval, out] VARIANT *p);
15936
15937     [propget, id(DISPID_IHTMLDOCUMENT5_COMPATMODE)]
15938     HRESULT compatMode([retval, out] BSTR *p);
15939 }
15940
15941 /*****************************************************************************
15942  *    DispHTMLDocument dispinterface
15943  */
15944 [
15945     hidden,
15946     uuid(3050f55f-98b5-11cf-bb82-00aa00bdce0b)
15947 ]
15948 dispinterface DispHTMLDocument
15949 {
15950 properties:
15951 methods:
15952     [propget, id(DISPID_IHTMLDOCUMENT_SCRIPT), hidden, nonbrowsable]
15953     IDispatch *Script();
15954
15955     [propget, id(DISPID_IHTMLDOCUMENT2_ALL)]
15956     IHTMLElementCollection *all();
15957
15958     [propget, id(DISPID_IHTMLDOCUMENT2_BODY)]
15959     IHTMLElement *body();
15960
15961     [propget, id(DISPID_IHTMLDOCUMENT2_ACTIVEELEMENT)]
15962     IHTMLElement *activeElement();
15963
15964     [propget, id(DISPID_IHTMLDOCUMENT2_IMAGES)]
15965     IHTMLElementCollection *images();
15966
15967     [propget, id(DISPID_IHTMLDOCUMENT2_APPLETS)]
15968     IHTMLElementCollection *applets();
15969
15970     [propget, id(DISPID_IHTMLDOCUMENT2_LINKS)]
15971     IHTMLElementCollection *links();
15972
15973     [propget, id(DISPID_IHTMLDOCUMENT2_FORMS)]
15974     IHTMLElementCollection *forms();
15975
15976     [propget, id(DISPID_IHTMLDOCUMENT2_ANCHORS)]
15977     IHTMLElementCollection *anchors();
15978
15979     [propput, id(DISPID_IHTMLDOCUMENT2_TITLE)]
15980     void title(BSTR v);
15981
15982     [propget, id(DISPID_IHTMLDOCUMENT2_TITLE)]
15983     BSTR title();
15984
15985     [propget, id(DISPID_IHTMLDOCUMENT2_SCRIPTS)]
15986     IHTMLElementCollection *scripts();
15987
15988     [propput, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE), hidden]
15989     void designMode(BSTR v);
15990
15991     [propget, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE), hidden]
15992     BSTR designMode();
15993
15994     [propget, id(DISPID_IHTMLDOCUMENT2_SELECTION)]
15995     IHTMLSelectionObject *selection();
15996
15997     [propget, id(DISPID_IHTMLDOCUMENT2_READYSTATE), bindable]
15998     BSTR readyState();
15999
16000     [propget, id(DISPID_IHTMLDOCUMENT2_FRAMES)]
16001     IHTMLFramesCollection2 *frames();
16002
16003     [propget, id(DISPID_IHTMLDOCUMENT2_EMBEDS)]
16004     IHTMLElementCollection *embeds();
16005
16006     [propget, id(DISPID_IHTMLDOCUMENT2_PLUGINS)]
16007     IHTMLElementCollection *plugins();
16008
16009     [propput, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
16010     void alinkColor(VARIANT v);
16011
16012     [propget, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
16013     VARIANT alinkColor();
16014
16015     [propput, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
16016     void bgColor(VARIANT v);
16017
16018     [propget, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
16019     VARIANT bgColor();
16020
16021     [propput, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
16022     void fgColor(VARIANT v);
16023
16024     [propget, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
16025     VARIANT fgColor();
16026
16027     [propput, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
16028     void linkColor(VARIANT v);
16029
16030     [propget, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
16031     VARIANT linkColor();
16032
16033     [propput, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
16034     void vlinkColor(VARIANT v);
16035
16036     [propget, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
16037     VARIANT vlinkColor();
16038
16039     [propget, id(DISPID_IHTMLDOCUMENT2_REFERRER)]
16040     BSTR referrer();
16041
16042     [propget, id(DISPID_IHTMLDOCUMENT2_LOCATION)]
16043     IHTMLLocation *location();
16044
16045     [propget, id(DISPID_IHTMLDOCUMENT2_LASTMODIFIED)]
16046     BSTR lastModified();
16047
16048     [propput, id(DISPID_IHTMLDOCUMENT2_URL)]
16049     void URL(BSTR v);
16050
16051     [propget, id(DISPID_IHTMLDOCUMENT2_URL)]
16052     BSTR URL();
16053
16054     [propput, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
16055     void domain(BSTR v);
16056
16057     [propget, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
16058     BSTR domain();
16059
16060     [propput, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
16061     void cookie(BSTR v);
16062
16063     [propget, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
16064     BSTR cookie();
16065
16066     [propput, id(DISPID_IHTMLDOCUMENT2_EXPANDO), bindable, hidden]
16067     void expando(VARIANT_BOOL v);
16068
16069     [propget, id(DISPID_IHTMLDOCUMENT2_EXPANDO), bindable, hidden]
16070     VARIANT_BOOL expando();
16071
16072     [propput, id(DISPID_IHTMLDOCUMENT2_CHARSET), hidden]
16073     void charset(BSTR v);
16074
16075     [propget, id(DISPID_IHTMLDOCUMENT2_CHARSET), hidden]
16076     BSTR charset();
16077
16078     [propput, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
16079     void defaultCharset(BSTR v);
16080
16081     [propget, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
16082     BSTR defaultCharset();
16083
16084     [propget, id(DISPID_IHTMLDOCUMENT2_MIMETYPE)]
16085     BSTR mimeType();
16086
16087     [propget, id(DISPID_IHTMLDOCUMENT2_FILESIZE)]
16088     BSTR fileSize();
16089
16090     [propget, id(DISPID_IHTMLDOCUMENT2_FILECREATEDDATE)]
16091     BSTR fileCreatedDate();
16092
16093     [propget, id(DISPID_IHTMLDOCUMENT2_FILEMODIFIEDDATE)]
16094     BSTR fileModifiedDate();
16095
16096     [propget, id(DISPID_IHTMLDOCUMENT2_FILEUPDATEDDATE)]
16097     BSTR fileUpdatedDate();
16098
16099     [propget, id(DISPID_IHTMLDOCUMENT2_SECURITY)]
16100     BSTR security();
16101
16102     [propget, id(DISPID_IHTMLDOCUMENT2_PROTOCOL)]
16103     BSTR protocol();
16104
16105     [propget, id(DISPID_IHTMLDOCUMENT2_NAMEPROP)]
16106     BSTR nameProp();
16107
16108     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITE)]
16109     void write([in] SAFEARRAY(VARIANT) psarray);
16110
16111     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITELN)]
16112     void writeln([in] SAFEARRAY(VARIANT) psarray);
16113
16114     [id(DISPID_IHTMLDOCUMENT2_OPEN)]
16115     IDispatch *open(
16116         [defaultvalue("text/html"), in] BSTR url,
16117         [optional, in] VARIANT name,
16118         [optional, in] VARIANT features,
16119         [optional, in] VARIANT replace);
16120
16121     [id(DISPID_IHTMLDOCUMENT2_CLOSE)]
16122     void close();
16123
16124     [id(DISPID_IHTMLDOCUMENT2_CLEAR)]
16125     void clear();
16126
16127     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSUPPORTED)]
16128     VARIANT_BOOL queryCommandSupported([in] BSTR cmdID);
16129
16130     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDENABLED)]
16131     VARIANT_BOOL queryCommandEnabled([in] BSTR cmdID);
16132
16133     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSTATE)]
16134     VARIANT_BOOL queryCommandState([in] BSTR cmdID);
16135
16136     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDINDETERM)]
16137     VARIANT_BOOL queryCommandIndeterm([in] BSTR cmdID);
16138
16139     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDTEXT)]
16140     BSTR queryCommandText([in] BSTR cmdID);
16141
16142     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDVALUE)]
16143     VARIANT queryCommandValue([in] BSTR cmdID);
16144
16145     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMAND)]
16146     VARIANT_BOOL execCommand(
16147         [in] BSTR cmdID,
16148         [defaultvalue(0), in] VARIANT_BOOL showUI,
16149         [optional, in] VARIANT value);
16150
16151     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMANDSHOWHELP)]
16152     VARIANT_BOOL execCommandShowHelp([in] BSTR cmdID);
16153
16154     [id(DISPID_IHTMLDOCUMENT2_CREATEELEMENT)]
16155     IHTMLElement *createElement([in] BSTR eTag);
16156
16157     [propput, id(DISPID_IHTMLDOCUMENT2_ONHELP), displaybind, bindable]
16158     void onhelp(VARIANT v);
16159
16160     [propget, id(DISPID_IHTMLDOCUMENT2_ONHELP), displaybind, bindable]
16161     VARIANT onhelp();
16162
16163     [propput, id(DISPID_IHTMLDOCUMENT2_ONCLICK), displaybind, bindable]
16164     void onclick(VARIANT v);
16165
16166     [propget, id(DISPID_IHTMLDOCUMENT2_ONCLICK), displaybind, bindable]
16167     VARIANT onclick();
16168
16169     [propput, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK), displaybind, bindable]
16170     void ondblclick(VARIANT v);
16171
16172     [propget, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK), displaybind, bindable]
16173     VARIANT ondblclick();
16174
16175     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYUP), displaybind, bindable]
16176     void onkeyup(VARIANT v);
16177
16178     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYUP), displaybind, bindable]
16179     VARIANT onkeyup();
16180
16181     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN), displaybind, bindable]
16182     void onkeydown(VARIANT v);
16183
16184     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN), displaybind, bindable]
16185     VARIANT onkeydown();
16186
16187     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS), displaybind, bindable]
16188     void onkeypress(VARIANT v);
16189
16190     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS), displaybind, bindable]
16191     VARIANT onkeypress();
16192
16193     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP), displaybind, bindable]
16194     void onmouseup(VARIANT v);
16195
16196     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP), displaybind, bindable]
16197     VARIANT onmouseup();
16198
16199     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN), displaybind, bindable]
16200     void onmousedown(VARIANT v);
16201
16202     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN), displaybind, bindable]
16203     VARIANT onmousedown();
16204
16205     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE), displaybind, bindable]
16206     void onmousemove(VARIANT v);
16207
16208     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE), displaybind, bindable]
16209     VARIANT onmousemove();
16210
16211     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT), displaybind, bindable]
16212     void onmouseout(VARIANT v);
16213
16214     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT), displaybind, bindable]
16215     VARIANT onmouseout();
16216
16217     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER), displaybind, bindable]
16218     void onmouseover(VARIANT v);
16219
16220     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER), displaybind, bindable]
16221     VARIANT onmouseover();
16222
16223     [propput, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE), displaybind, bindable]
16224     void onreadystatechange(VARIANT v);
16225
16226     [propget, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE), displaybind, bindable]
16227     VARIANT onreadystatechange();
16228
16229     [propput, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE), displaybind, bindable]
16230     void onafterupdate(VARIANT v);
16231
16232     [propget, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE), displaybind, bindable]
16233     VARIANT onafterupdate();
16234
16235     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT), displaybind, bindable]
16236     void onrowexit(VARIANT v);
16237
16238     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT), displaybind, bindable]
16239     VARIANT onrowexit();
16240
16241     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWENTER), displaybind, bindable]
16242     void onrowenter(VARIANT v);
16243
16244     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWENTER), displaybind, bindable]
16245     VARIANT onrowenter();
16246
16247     [propput, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART), displaybind, bindable]
16248     void ondragstart(VARIANT v);
16249
16250     [propget, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART), displaybind, bindable]
16251     VARIANT ondragstart();
16252
16253     [propput, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART), displaybind, bindable]
16254     void onselectstart(VARIANT v);
16255
16256     [propget, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART), displaybind, bindable]
16257     VARIANT onselectstart();
16258
16259     [id(DISPID_IHTMLDOCUMENT2_ELEMENTFROMPOINT)]
16260     IHTMLElement *elementFromPoint(
16261         [in] LONG x,
16262         [in] LONG y);
16263
16264     [propget, id(DISPID_IHTMLDOCUMENT2_PARENTWINDOW)]
16265     IHTMLWindow2 *parentWindow();
16266
16267     [propget, id(DISPID_IHTMLDOCUMENT2_STYLESHEETS)]
16268     IHTMLStyleSheetsCollection *styleSheets();
16269
16270     [propput, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE), displaybind, bindable]
16271     void onbeforeupdate(VARIANT v);
16272
16273     [propget, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE), displaybind, bindable]
16274     VARIANT onbeforeupdate();
16275
16276     [propput, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE), displaybind, bindable]
16277     void onerrorupdate(VARIANT v);
16278
16279     [propget, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE), displaybind, bindable]
16280     VARIANT onerrorupdate();
16281
16282     [id(DISPID_IHTMLDOCUMENT2_TOSTRING)]
16283     BSTR toString();
16284
16285     [id(DISPID_IHTMLDOCUMENT2_CREATESTYLESHEET)]
16286     IHTMLStyleSheet *createStyleSheet(
16287         [defaultvalue(""), in] BSTR bstrHref,
16288         [defaultvalue(-1), in] LONG lIndex);
16289
16290     [id(DISPID_IHTMLDOCUMENT3_RELEASECAPTURE)]
16291     void releaseCapture();
16292
16293     [id(DISPID_IHTMLDOCUMENT3_RECALC)]
16294     void recalc([defaultvalue(0), in] VARIANT_BOOL fForce);
16295
16296     [id(DISPID_IHTMLDOCUMENT3_CREATETEXTNODE)]
16297     IHTMLDOMNode *createTextNode([in] BSTR text);
16298
16299     [propget, id(DISPID_IHTMLDOCUMENT3_DOCUMENTELEMENT)]
16300     IHTMLElement *documentElement();
16301
16302     [propget, id(DISPID_IHTMLDOCUMENT3_UNIQUEID), hidden]
16303     BSTR uniqueID();
16304
16305     [id(DISPID_IHTMLDOCUMENT3_ATTACHEVENT)]
16306     VARIANT_BOOL attachEvent(
16307         [in] BSTR event,
16308         [in] IDispatch *pDisp);
16309
16310     [id(DISPID_IHTMLDOCUMENT3_DETACHEVENT)]
16311     void detachEvent(
16312         [in] BSTR event,
16313         [in] IDispatch *pDisp);
16314
16315     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
16316     void onrowsdelete(VARIANT v);
16317
16318     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
16319     VARIANT onrowsdelete();
16320
16321     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
16322     void onrowsinserted(VARIANT v);
16323
16324     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
16325     VARIANT onrowsinserted();
16326
16327     [propput, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
16328     void oncellchange(VARIANT v);
16329
16330     [propget, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
16331     VARIANT oncellchange();
16332
16333     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
16334     void ondatasetchanged(VARIANT v);
16335
16336     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
16337     VARIANT ondatasetchanged();
16338
16339     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
16340     void ondataavailable(VARIANT v);
16341
16342     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
16343     VARIANT ondataavailable();
16344
16345     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
16346     void ondatasetcomplete(VARIANT v);
16347
16348     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
16349     VARIANT ondatasetcomplete();
16350
16351     [propput, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
16352     void onpropertychange(VARIANT v);
16353
16354     [propget, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
16355     VARIANT onpropertychange();
16356
16357     [propput, id(DISPID_IHTMLDOCUMENT3_DIR)]
16358     void dir(BSTR v);
16359
16360     [propget, id(DISPID_IHTMLDOCUMENT3_DIR)]
16361     BSTR dir();
16362
16363     [propput, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
16364     void oncontextmenu(VARIANT v);
16365
16366     [propget, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
16367     VARIANT oncontextmenu();
16368
16369     [propput, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
16370     void onstop(VARIANT v);
16371
16372     [propget, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
16373     VARIANT onstop();
16374
16375     [id(DISPID_IHTMLDOCUMENT3_CREATEDOCUMENTFRAGMENT)]
16376     IHTMLDocument2 *createDocumentFragment();
16377
16378     [propget, id(DISPID_IHTMLDOCUMENT3_PARENTDOCUMENT), hidden, restricted]
16379     IHTMLDocument2 *parentDocument();
16380
16381     [propput, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
16382     void enableDownload(VARIANT_BOOL v);
16383
16384     [propget, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
16385     VARIANT_BOOL enableDownload();
16386
16387     [propput, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
16388     void baseUrl(BSTR v);
16389
16390     [propget, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
16391     BSTR baseUrl();
16392
16393     [propput, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
16394     void inheritStyleSheets(VARIANT_BOOL v);
16395
16396     [propget, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
16397     VARIANT_BOOL inheritStyleSheets();
16398
16399     [propput, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
16400     void onbeforeeditfocus(VARIANT v);
16401
16402     [propget, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
16403     VARIANT onbeforeeditfocus();
16404
16405     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYNAME)]
16406     IHTMLElementCollection *getElementsByName([in] BSTR v);
16407
16408     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTBYID)]
16409     IHTMLElement *getElementById([in] BSTR v);
16410
16411     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYTAGNAME)]
16412     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
16413
16414     [id(DISPID_IHTMLDOCUMENT4_FOCUS)]
16415     void focus();
16416
16417     [id(DISPID_IHTMLDOCUMENT4_HASFOCUS)]
16418     VARIANT_BOOL hasFocus();
16419
16420     [propput, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
16421     void onselectionchange(VARIANT v);
16422
16423     [propget, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
16424     VARIANT onselectionchange();
16425
16426     [propget, id(DISPID_IHTMLDOCUMENT4_NAMESPACES)]
16427     IDispatch *namespaces();
16428
16429     [id(DISPID_IHTMLDOCUMENT4_CREATEDOCUMENTFROMURL)]
16430     IHTMLDocument2 *createDocumentFromUrl(
16431         [in] BSTR bstrUrl,
16432         [in] BSTR bstrOptions);
16433
16434     [propput, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
16435     void media(BSTR v);
16436
16437     [propget, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
16438     BSTR media();
16439
16440     [id(DISPID_IHTMLDOCUMENT4_CREATEEVENTOBJECT)]
16441     IHTMLEventObj *createEventObject([optional, in] VARIANT *pvarEventObject);
16442
16443     [id(DISPID_IHTMLDOCUMENT4_FIREEVENT)]
16444     VARIANT_BOOL fireEvent(
16445         [in] BSTR bstrEventName,
16446         [optional, in] VARIANT *pvarEventObject);
16447
16448     [id(DISPID_IHTMLDOCUMENT4_CREATERENDERSTYLE)]
16449     IHTMLRenderStyle *createRenderStyle([in] BSTR v);
16450
16451     [propput, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
16452     void oncontrolselect(VARIANT v);
16453
16454     [propget, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
16455     VARIANT oncontrolselect();
16456
16457     [propget, id(DISPID_IHTMLDOCUMENT4_URLUNENCODED)]
16458     BSTR URLUnencoded();
16459
16460     [propput, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
16461     void onmousewheel(VARIANT v);
16462
16463     [propget, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
16464     VARIANT onmousewheel();
16465
16466     [propget, id(DISPID_IHTMLDOCUMENT5_DOCTYPE)]
16467     IHTMLDOMNode *doctype();
16468
16469     [propget, id(DISPID_IHTMLDOCUMENT5_IMPLEMENTATION)]
16470     IHTMLDOMImplementation *implementation();
16471
16472     [id(DISPID_IHTMLDOCUMENT5_CREATEATTRIBUTE)]
16473     IHTMLDOMAttribute *createAttribute([in] BSTR bstrattrName);
16474
16475     [id(DISPID_IHTMLDOCUMENT5_CREATECOMMENT)]
16476     IHTMLDOMNode *createComment([in] BSTR bstrdata);
16477
16478     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
16479     void onfocusin(VARIANT v);
16480
16481     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
16482     VARIANT onfocusin();
16483
16484     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
16485     void onfocusout(VARIANT v);
16486
16487     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
16488     VARIANT onfocusout();
16489
16490     [propput, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
16491     void onactivate(VARIANT v);
16492
16493     [propget, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
16494     VARIANT onactivate();
16495
16496     [propput, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
16497     void ondeactivate(VARIANT v);
16498
16499     [propget, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
16500     VARIANT ondeactivate();
16501
16502     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
16503     void onbeforeactivate(VARIANT v);
16504
16505     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
16506     VARIANT onbeforeactivate();
16507
16508     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
16509     void onbeforedeactivate(VARIANT v);
16510
16511     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
16512     VARIANT onbeforedeactivate();
16513
16514     [propget, id(DISPID_IHTMLDOCUMENT5_COMPATMODE)]
16515     BSTR compatMode();
16516
16517     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
16518     LONG nodeType();
16519
16520     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
16521     IHTMLDOMNode *parentNode();
16522
16523     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
16524     VARIANT_BOOL hasChildNodes();
16525
16526     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
16527     IDispatch *childNodes();
16528
16529     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
16530     IDispatch *attributes();
16531
16532     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
16533     IHTMLDOMNode *insertBefore(
16534         [in] IHTMLDOMNode *newChild,
16535         [optional, in] VARIANT refChild);
16536
16537     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
16538     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
16539
16540     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
16541     IHTMLDOMNode *replaceChild(
16542         [in] IHTMLDOMNode *newChild,
16543         [in] IHTMLDOMNode *oldChild);
16544
16545     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
16546     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
16547
16548     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
16549     IHTMLDOMNode *removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep);
16550
16551     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
16552     IHTMLDOMNode *swapNode([in] IHTMLDOMNode* otherNode);
16553
16554     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
16555     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
16556
16557     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
16558     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
16559
16560     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
16561     BSTR nodeName();
16562
16563     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
16564     void nodeValue(VARIANT v);
16565
16566     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
16567     VARIANT nodeValue();
16568
16569     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
16570     IHTMLDOMNode *firstChild();
16571
16572     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
16573     IHTMLDOMNode *lastChild();
16574
16575     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
16576     IHTMLDOMNode *previousSibling();
16577
16578     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
16579     IHTMLDOMNode *nextSibling();
16580
16581     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
16582     IDispatch *ownerDocument();
16583 }
16584
16585 /*****************************************************************************
16586  *    HTMLDocument coclass
16587  */
16588 [
16589     uuid(25336920-03F9-11cf-8FD0-00AA00686F13)
16590 ]
16591 coclass HTMLDocument
16592 {
16593     [default]         dispinterface DispHTMLDocument;
16594     [source, default] dispinterface HTMLDocumentEvents;
16595     [source]          dispinterface HTMLDocumentEvents2;
16596                       interface IHTMLDocument2;
16597                       interface IHTMLDocument3;
16598                       interface IHTMLDocument4;
16599                       interface IHTMLDocument5;
16600                       interface IHTMLDOMNode;
16601                       interface IHTMLDOMNode2;
16602 }
16603
16604 /*****************************************************************************
16605  *    IHTMLCommentElement interface
16606  */
16607 [
16608     odl,
16609     oleautomation,
16610     dual,
16611     uuid(3050f20c-98b5-11cf-bb82-00aa00bdce0b)
16612 ]
16613 interface IHTMLCommentElement : IDispatch
16614 {
16615     [propput, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
16616     HRESULT text([in] BSTR v);
16617
16618     [propget, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
16619     HRESULT text([out, retval] BSTR *p);
16620
16621     [propput, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
16622     HRESULT atomic([in] LONG v);
16623
16624     [propget, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
16625     HRESULT atomic([out, retval] LONG *p);
16626 }
16627
16628 /*****************************************************************************
16629  *    IHTMLCommentElement2 interface
16630  */
16631 [
16632     odl,
16633     oleautomation,
16634     dual,
16635     uuid(3050f813-98b5-11cf-bb82-00aa00bdce0b)
16636 ]
16637 interface IHTMLCommentElement2 : IDispatch
16638 {
16639     [propput, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
16640     HRESULT data([in] BSTR v);
16641
16642     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
16643     HRESULT data([out, retval] BSTR *p);
16644
16645     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_LENGTH)]
16646     HRESULT length([out, retval] LONG *p);
16647
16648     [id(DISPID_IHTMLCOMMENTELEMENT2_SUBSTRINGDATA)]
16649     HRESULT substringData(
16650             [in] LONG offset,
16651             [in] LONG Count,
16652             [out, retval] BSTR *pbstrsubString);
16653
16654     [id(DISPID_IHTMLCOMMENTELEMENT2_APPENDDATA)]
16655     HRESULT appendData([in] BSTR bstrstring);
16656
16657     [id(DISPID_IHTMLCOMMENTELEMENT2_INSERTDATA)]
16658     HRESULT insertData(
16659             [in] LONG offset,
16660             [in] BSTR bstrstring);
16661
16662     [id(DISPID_IHTMLCOMMENTELEMENT2_DELETEDATA)]
16663     HRESULT deleteData(
16664             [in] LONG offset,
16665             [in] LONG Count);
16666
16667     [id(DISPID_IHTMLCOMMENTELEMENT2_REPLACEDATA)]
16668     HRESULT replaceData(
16669             [in] LONG offset,
16670             [in] LONG Count,
16671             [in] BSTR bstrstring);
16672 }
16673
16674 /*****************************************************************************
16675  *    DispHTMLCommentElement dispinterface
16676  */
16677 [
16678     hidden,
16679     uuid(3050f50a-98b5-11cf-bb82-00aa00bdce0b)
16680 ]
16681 dispinterface DispHTMLCommentElement
16682 {
16683 properties:
16684 methods:
16685     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
16686     void setAttribute(
16687             [in] BSTR strAttributeName,
16688             [in] VARIANT AttributeValue,
16689             [in, defaultvalue(1)] LONG lFlags);
16690
16691     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
16692     VARIANT getAttribute(
16693              [in] BSTR strAttributeName,
16694              [in, defaultvalue(0)] LONG lFlags);
16695
16696     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
16697     VARIANT_BOOL removeAttribute(
16698             [in] BSTR strAttributeName,
16699             [in, defaultvalue(1)] LONG lFlags);
16700
16701     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
16702     void className(BSTR v);
16703
16704     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
16705     BSTR className();
16706
16707     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
16708     void id(BSTR v);
16709
16710     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
16711     BSTR id();
16712
16713     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
16714     BSTR tagName();
16715
16716     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
16717     IHTMLElement *parentElement();
16718
16719     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
16720     IHTMLStyle *style();
16721
16722     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
16723     void onhelp(VARIANT v);
16724
16725     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
16726     VARIANT onhelp();
16727
16728     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
16729     void onclick(VARIANT v);
16730
16731     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
16732     VARIANT onclick();
16733
16734     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
16735     void ondblclick(VARIANT v);
16736
16737     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
16738     VARIANT ondblclick();
16739
16740     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
16741     void onkeydown(VARIANT v);
16742
16743     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
16744     VARIANT onkeydown();
16745
16746     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
16747     void onkeyup(VARIANT v);
16748
16749     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
16750     VARIANT onkeyup();
16751
16752     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
16753     void onkeypress(VARIANT v);
16754
16755     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
16756     VARIANT onkeypress();
16757
16758     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
16759     void onmouseout(VARIANT v);
16760
16761     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
16762     VARIANT onmouseout();
16763
16764     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
16765     void onmouseover(VARIANT v);
16766
16767     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
16768     VARIANT onmouseover();
16769
16770     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
16771     void onmousemove(VARIANT v);
16772
16773     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
16774     VARIANT onmousemove();
16775
16776     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
16777     void onmousedown(VARIANT v);
16778
16779     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
16780     VARIANT onmousedown();
16781
16782     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
16783     void onmouseup(VARIANT v);
16784
16785     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
16786     VARIANT onmouseup();
16787
16788     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
16789     IDispatch *document();
16790
16791     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
16792     void title(BSTR v);
16793
16794     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
16795     BSTR title();
16796
16797     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
16798     void language(BSTR v);
16799
16800     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
16801     BSTR language();
16802
16803     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
16804     void onselectstart(VARIANT v);
16805
16806     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
16807     VARIANT onselectstart();
16808
16809     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
16810     void scrollIntoView([in, optional] VARIANT varargStart);
16811
16812     [id(DISPID_IHTMLELEMENT_CONTAINS)]
16813     VARIANT_BOOL contains([in] IHTMLElement *pChild);
16814
16815     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
16816     LONG sourceIndex();
16817
16818     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
16819     VARIANT recordNumber();
16820
16821     [propput, id(DISPID_IHTMLELEMENT_LANG)]
16822     void lang(BSTR v);
16823
16824     [propget, id(DISPID_IHTMLELEMENT_LANG)]
16825     BSTR lang();
16826
16827     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
16828     LONG offsetLeft();
16829
16830     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
16831     LONG offsetTop();
16832
16833     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
16834     LONG offsetWidth();
16835
16836     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
16837     LONG offsetHeight();
16838
16839     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
16840     IHTMLElement *offsetParent();
16841
16842     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
16843     void innerHTML(BSTR v);
16844
16845     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
16846     BSTR innerHTML();
16847
16848     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
16849     void innerText(BSTR v);
16850
16851     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
16852     BSTR innerText();
16853
16854     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
16855     void outerHTML(BSTR v);
16856
16857     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
16858     BSTR outerHTML();
16859
16860     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
16861     void outerText(BSTR v);
16862
16863     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
16864     BSTR outerText();
16865
16866     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
16867     void insertAdjacentHTML(
16868             [in] BSTR where,
16869             [in] BSTR html);
16870
16871     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
16872     void insertAdjacentText(
16873             [in] BSTR where,
16874             [in] BSTR text);
16875
16876     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
16877     IHTMLElement *parentTextEdit();
16878
16879     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
16880     VARIANT_BOOL isTextEdit();
16881
16882     [id(DISPID_IHTMLELEMENT_CLICK)]
16883     void click();
16884
16885     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
16886     IHTMLFiltersCollection *filters();
16887
16888     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
16889     void ondragstart(VARIANT v);
16890
16891     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
16892     VARIANT ondragstart();
16893
16894     [id(DISPID_IHTMLELEMENT_TOSTRING)]
16895     BSTR toString();
16896
16897     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
16898     void onbeforeupdate(VARIANT v);
16899
16900     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
16901     VARIANT onbeforeupdate();
16902
16903     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
16904     void onafterupdate(VARIANT v);
16905
16906     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
16907     VARIANT onafterupdate();
16908
16909     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
16910     void onerrorupdate(VARIANT v);
16911
16912     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
16913     VARIANT onerrorupdate();
16914
16915     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
16916     void onrowexit(VARIANT v);
16917
16918     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
16919     VARIANT onrowexit();
16920
16921     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
16922     void onrowenter(VARIANT v);
16923
16924     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
16925     VARIANT onrowenter();
16926
16927     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
16928     void ondatasetchanged(VARIANT v);
16929
16930     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
16931     VARIANT ondatasetchanged();
16932
16933     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
16934     void ondataavailable(VARIANT v);
16935
16936     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
16937     VARIANT ondataavailable();
16938
16939     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
16940     void ondatasetcomplete(VARIANT v);
16941
16942     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
16943     VARIANT ondatasetcomplete();
16944
16945     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
16946     void onfilterchange(VARIANT v);
16947
16948     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
16949     VARIANT onfilterchange();
16950
16951     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
16952     IDispatch *children();
16953
16954     [propget, id(DISPID_IHTMLELEMENT_ALL)]
16955     IDispatch *all();
16956
16957     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
16958     BSTR scopeName();
16959
16960     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
16961     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
16962
16963     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
16964     void releaseCapture();
16965
16966     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
16967     void onlosecapture(VARIANT v);
16968
16969     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
16970     VARIANT onlosecapture();
16971
16972     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
16973     BSTR componentFromPoint(
16974             [in] LONG x,
16975             [in] LONG y);
16976
16977     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
16978     void doScroll([in, optional] VARIANT component);
16979
16980     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
16981     void onscroll(VARIANT v);
16982
16983     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
16984     VARIANT onscroll();
16985
16986     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
16987     void ondrag(VARIANT v);
16988
16989     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
16990     VARIANT ondrag();
16991
16992     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
16993     void ondragend(VARIANT v);
16994
16995     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
16996     VARIANT ondragend();
16997
16998     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
16999     void ondragenter(VARIANT v);
17000
17001     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
17002     VARIANT ondragenter();
17003
17004     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
17005     void ondragover(VARIANT v);
17006
17007     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
17008     VARIANT ondragover();
17009
17010     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
17011     void ondragleave(VARIANT v);
17012
17013     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
17014     VARIANT ondragleave();
17015
17016     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
17017     void ondrop(VARIANT v);
17018
17019     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
17020     VARIANT ondrop();
17021
17022     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
17023     void onbeforecut(VARIANT v);
17024
17025     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
17026     VARIANT onbeforecut();
17027
17028     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
17029     void oncut(VARIANT v);
17030
17031     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
17032     VARIANT oncut();
17033
17034     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
17035     void onbeforecopy(VARIANT v);
17036
17037     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
17038     VARIANT onbeforecopy();
17039
17040     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
17041     void oncopy(VARIANT v);
17042
17043     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
17044     VARIANT oncopy();
17045
17046     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
17047     void onbeforepaste(VARIANT v);
17048
17049     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
17050     VARIANT onbeforepaste();
17051
17052     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
17053     void onpaste(VARIANT v);
17054
17055     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
17056     VARIANT onpaste();
17057
17058     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
17059     IHTMLCurrentStyle *currentStyle();
17060
17061     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
17062     void onpropertychange(VARIANT v);
17063
17064     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
17065     VARIANT onpropertychange();
17066
17067     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
17068     IHTMLRectCollection *getClientRects();
17069
17070     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
17071     IHTMLRect *getBoundingClientRect();
17072
17073     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
17074     void setExpression(
17075             [in] BSTR propname,
17076             [in] BSTR expression,
17077             [in, defaultvalue("")] BSTR language);
17078
17079     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
17080     VARIANT getExpression([in] BSTR propname);
17081
17082     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
17083     VARIANT_BOOL removeExpression([in] BSTR propname);
17084
17085     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
17086     void tabIndex(short v);
17087
17088     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
17089     short tabIndex();
17090
17091     [id(DISPID_IHTMLELEMENT2_FOCUS)]
17092     void focus();
17093
17094     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
17095     void accessKey(BSTR v);
17096
17097     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
17098     BSTR accessKey();
17099
17100     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
17101     void onblur(VARIANT v);
17102
17103     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
17104     VARIANT onblur();
17105
17106     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
17107     void onfocus(VARIANT v);
17108
17109     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
17110     VARIANT onfocus();
17111
17112     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
17113     void onresize(VARIANT v);
17114
17115     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
17116     VARIANT onresize();
17117
17118     [id(DISPID_IHTMLELEMENT2_BLUR)]
17119     void blur();
17120
17121     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
17122     void addFilter([in] IUnknown *pUnk);
17123
17124     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
17125     void removeFilter([in] IUnknown *pUnk);
17126
17127     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
17128     LONG clientHeight();
17129
17130     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
17131     LONG clientWidth();
17132
17133     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
17134     LONG clientTop();
17135
17136     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
17137     LONG clientLeft();
17138
17139     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
17140     VARIANT_BOOL attachEvent(
17141             [in] BSTR event,
17142             [in] IDispatch *pDisp);
17143
17144     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
17145     void detachEvent(
17146             [in] BSTR event,
17147             [in] IDispatch *pDisp);
17148
17149     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
17150     VARIANT readyState();
17151
17152     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
17153     void onreadystatechange(VARIANT v);
17154
17155     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
17156     VARIANT onreadystatechange();
17157
17158     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
17159     void onrowsdelete(VARIANT v);
17160
17161     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
17162     VARIANT onrowsdelete();
17163
17164     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
17165     void onrowsinserted(VARIANT v);
17166
17167     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
17168      VARIANT onrowsinserted();
17169
17170     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
17171      void oncellchange(VARIANT v);
17172
17173     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
17174     VARIANT oncellchange();
17175
17176     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
17177     void dir(BSTR v);
17178
17179     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
17180     BSTR dir();
17181
17182     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
17183     IDispatch *createControlRange();
17184
17185     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
17186     LONG scrollHeight();
17187
17188     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
17189     LONG scrollWidth();
17190
17191     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
17192     void scrollTop(LONG v);
17193
17194     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
17195     LONG scrollTop();
17196
17197     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
17198     void scrollLeft(LONG v);
17199
17200     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
17201     LONG scrollLeft();
17202
17203     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
17204     void clearAttributes();
17205
17206     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
17207     void oncontextmenu(VARIANT v);
17208
17209     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
17210     VARIANT oncontextmenu();
17211
17212     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
17213     IHTMLElement *insertAdjacentElement(
17214             [in] BSTR where,
17215             [in] IHTMLElement *insertedElement);
17216
17217     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
17218     IHTMLElement *applyElement(
17219             [in] IHTMLElement *apply,
17220             [in] BSTR where);
17221
17222     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
17223     BSTR getAdjacentText([in] BSTR where);
17224
17225     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
17226     BSTR replaceAdjacentText(
17227             [in] BSTR where,
17228             [in] BSTR newText);
17229
17230     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
17231     VARIANT_BOOL canHaveChildren();
17232
17233     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
17234     LONG addBehavior(
17235             [in] BSTR bstrUrl,
17236             [in, optional] VARIANT *pvarFactory);
17237
17238     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
17239     VARIANT_BOOL removeBehavior([in] LONG cookie);
17240
17241     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
17242     IHTMLStyle *runtimeStyle();
17243
17244     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
17245     IDispatch *behaviorUrns();
17246
17247     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
17248     void tagUrn(BSTR v);
17249
17250     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
17251     BSTR tagUrn();
17252
17253     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
17254     void onbeforeeditfocus(VARIANT v);
17255
17256     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
17257     VARIANT onbeforeeditfocus();
17258
17259     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
17260     LONG readyStateValue();
17261
17262     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
17263     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
17264
17265     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
17266     void mergeAttributes(
17267             [in] IHTMLElement *mergeThis,
17268             [in, optional] VARIANT *pvarFlags);
17269
17270     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
17271     VARIANT_BOOL isMultiLine();
17272
17273     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
17274     VARIANT_BOOL canHaveHTML();
17275
17276     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
17277     void onlayoutcomplete(VARIANT v);
17278
17279     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
17280     VARIANT onlayoutcomplete();
17281
17282     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
17283     void onpage(VARIANT v);
17284
17285     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
17286     VARIANT onpage();
17287
17288     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
17289     void inflateBlock(VARIANT_BOOL v);
17290
17291     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
17292     VARIANT_BOOL inflateBlock();
17293
17294     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
17295     void onbeforedeactivate(VARIANT v);
17296
17297     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
17298     VARIANT onbeforedeactivate();
17299
17300     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
17301     void setActive();
17302
17303     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
17304     void contentEditable(BSTR v);
17305
17306     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
17307     BSTR contentEditable();
17308
17309     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
17310     VARIANT_BOOL isContentEditable();
17311
17312     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
17313     void hideFocus(VARIANT_BOOL v);
17314
17315     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
17316     VARIANT_BOOL hideFocus();
17317
17318     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
17319     void disabled(VARIANT_BOOL v);
17320
17321     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
17322     VARIANT_BOOL disabled();
17323
17324     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
17325     VARIANT_BOOL isDisabled();
17326
17327     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
17328     void onmove(VARIANT v);
17329
17330     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
17331     VARIANT onmove();
17332
17333     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
17334     void oncontrolselect(VARIANT v);
17335
17336     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
17337     VARIANT oncontrolselect();
17338
17339     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
17340     VARIANT_BOOL fireEvent(
17341             [in] BSTR bstrEventName,
17342             [in, optional] VARIANT *pvarEventObject);
17343
17344     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
17345     void onresizestart(VARIANT v);
17346
17347     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
17348     VARIANT onresizestart();
17349
17350     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
17351     void onresizeend(VARIANT v);
17352
17353     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
17354     VARIANT onresizeend();
17355
17356     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
17357     void onmovestart(VARIANT v);
17358
17359     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
17360     VARIANT onmovestart();
17361
17362     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
17363     void onmoveend(VARIANT v);
17364
17365     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
17366     VARIANT onmoveend();
17367
17368     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
17369     void onmouseenter(VARIANT v);
17370
17371     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
17372     VARIANT onmouseenter();
17373
17374     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
17375     void onmouseleave(VARIANT v);
17376
17377     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
17378     VARIANT onmouseleave();
17379
17380     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
17381     void onactivate(VARIANT v);
17382
17383     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
17384     VARIANT onactivate();
17385
17386     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
17387     void ondeactivate(VARIANT v);
17388
17389     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
17390     VARIANT ondeactivate();
17391
17392     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
17393     VARIANT_BOOL dragDrop();
17394
17395     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
17396     LONG glyphMode();
17397
17398     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
17399     void onmousewheel(VARIANT v);
17400
17401     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
17402     VARIANT onmousewheel();
17403
17404     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
17405     void normalize();
17406
17407     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
17408     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
17409
17410     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
17411     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
17412
17413     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
17414     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
17415
17416     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
17417     void onbeforeactivate(VARIANT v);
17418
17419     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
17420     VARIANT onbeforeactivate();
17421
17422     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
17423     void onfocusin(VARIANT v);
17424
17425     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
17426     VARIANT onfocusin();
17427
17428     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
17429     void onfocusout(VARIANT v);
17430
17431     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
17432     VARIANT onfocusout();
17433
17434     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
17435     LONG uniqueNumber();
17436
17437     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
17438     BSTR uniqueID();
17439
17440     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
17441     LONG nodeType();
17442
17443     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
17444     IHTMLDOMNode *parentNode();
17445
17446     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
17447     VARIANT_BOOL hasChildNodes();
17448
17449     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
17450     IDispatch *childNodes();
17451
17452     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
17453     IDispatch *attributes();
17454
17455     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
17456     IHTMLDOMNode *insertBefore(
17457             [in] IHTMLDOMNode *newChild,
17458             [in, optional] VARIANT refChild);
17459
17460     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
17461     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
17462
17463     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
17464     IHTMLDOMNode *replaceChild(
17465             [in] IHTMLDOMNode *newChild,
17466             [in] IHTMLDOMNode *oldChild);
17467
17468     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
17469     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
17470
17471     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
17472     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
17473
17474     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
17475     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
17476
17477     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
17478     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
17479
17480     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
17481     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
17482
17483     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
17484     BSTR nodeName();
17485
17486     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
17487     void nodeValue(VARIANT v);
17488
17489     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
17490     VARIANT nodeValue();
17491
17492     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
17493     IHTMLDOMNode *firstChild();
17494
17495     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
17496     IHTMLDOMNode *lastChild();
17497
17498     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
17499     IHTMLDOMNode *previousSibling();
17500
17501     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
17502     IHTMLDOMNode *nextSibling();
17503
17504     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
17505     IDispatch *ownerDocument();
17506
17507     [propput, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
17508     void text(BSTR v);
17509
17510     [propget, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
17511     BSTR text();
17512
17513     [propput, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
17514     void atomic(LONG v);
17515
17516     [propget, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
17517     LONG atomic();
17518
17519     [propput, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
17520     void data(BSTR v);
17521
17522     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
17523     BSTR data();
17524
17525     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_LENGTH)]
17526     LONG length();
17527
17528     [id(DISPID_IHTMLCOMMENTELEMENT2_SUBSTRINGDATA)]
17529     BSTR substringData(
17530             [in] LONG offset,
17531             [in] LONG Count);
17532
17533     [id(DISPID_IHTMLCOMMENTELEMENT2_APPENDDATA)]
17534     void appendData([in] BSTR bstrstring);
17535
17536     [id(DISPID_IHTMLCOMMENTELEMENT2_INSERTDATA)]
17537      void insertData(
17538             [in] LONG offset,
17539             [in] BSTR bstrstring);
17540
17541     [id(DISPID_IHTMLCOMMENTELEMENT2_DELETEDATA)]
17542     void deleteData(
17543             [in] LONG offset,
17544             [in] LONG Count);
17545
17546     [id(DISPID_IHTMLCOMMENTELEMENT2_REPLACEDATA)]
17547     void replaceData(
17548             [in] LONG offset,
17549             [in] LONG Count,
17550             [in] BSTR bstrstring);
17551 }
17552
17553 [
17554     hidden,
17555     uuid(3050f60f-98b5-11cf-bb82-00aa00bdce0b)
17556 ]
17557 dispinterface HTMLElementEvents2
17558 {
17559 properties:
17560 methods:
17561     [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)]
17562     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
17563
17564     [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)]
17565     VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
17566
17567     [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)]
17568     VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
17569
17570     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)]
17571     VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
17572
17573     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)]
17574     void onkeydown([in] IHTMLEventObj* pEvtObj);
17575
17576     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)]
17577     void onkeyup([in] IHTMLEventObj* pEvtObj);
17578
17579     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)]
17580     void onmouseout([in] IHTMLEventObj* pEvtObj);
17581
17582     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)]
17583     void onmouseover([in] IHTMLEventObj* pEvtObj);
17584
17585     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)]
17586     void onmousemove([in] IHTMLEventObj* pEvtObj);
17587
17588     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)]
17589     void onmousedown([in] IHTMLEventObj* pEvtObj);
17590
17591     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)]
17592     void onmouseup([in] IHTMLEventObj* pEvtObj);
17593
17594     [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)]
17595     VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
17596
17597     [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)]
17598     void onfilterchange([in] IHTMLEventObj* pEvtObj);
17599
17600     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)]
17601     VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
17602
17603     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)]
17604     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
17605
17606     [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)]
17607     void onafterupdate([in] IHTMLEventObj* pEvtObj);
17608
17609     [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)]
17610     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
17611
17612     [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)]
17613     VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
17614
17615     [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)]
17616     void onrowenter([in] IHTMLEventObj* pEvtObj);
17617
17618     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)]
17619     void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
17620
17621     [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)]
17622     void ondataavailable([in] IHTMLEventObj* pEvtObj);
17623
17624     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)]
17625     void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
17626
17627     [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)]
17628     void onlosecapture([in] IHTMLEventObj* pEvtObj);
17629
17630     [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)]
17631     void onpropertychange([in] IHTMLEventObj* pEvtObj);
17632
17633     [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)]
17634     void onscroll([in] IHTMLEventObj* pEvtObj);
17635
17636     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)]
17637     void onfocus([in] IHTMLEventObj* pEvtObj);
17638
17639     [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)]
17640     void onblur([in] IHTMLEventObj* pEvtObj);
17641
17642     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)]
17643     void onresize([in] IHTMLEventObj* pEvtObj);
17644
17645     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)]
17646     VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
17647
17648     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)]
17649     void ondragend([in] IHTMLEventObj* pEvtObj);
17650
17651     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)]
17652     VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
17653
17654     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)]
17655     VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
17656
17657     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)]
17658     void ondragleave([in] IHTMLEventObj* pEvtObj);
17659
17660     [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)]
17661     VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
17662
17663     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)]
17664     VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
17665
17666     [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)]
17667     VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
17668
17669     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)]
17670     VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
17671
17672     [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)]
17673     VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
17674
17675     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)]
17676     VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
17677
17678     [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)]
17679     VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
17680
17681     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)]
17682     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
17683
17684     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)]
17685     void onrowsdelete([in] IHTMLEventObj* pEvtObj);
17686
17687     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)]
17688     void onrowsinserted([in] IHTMLEventObj* pEvtObj);
17689
17690     [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)]
17691     void oncellchange([in] IHTMLEventObj* pEvtObj);
17692
17693     [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)]
17694     void onreadystatechange([in] IHTMLEventObj* pEvtObj);
17695
17696     [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)]
17697     void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
17698
17699     [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)]
17700     void onpage([in] IHTMLEventObj* pEvtObj);
17701
17702     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)]
17703     void onmouseenter([in] IHTMLEventObj* pEvtObj);
17704
17705     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)]
17706     void onmouseleave([in] IHTMLEventObj* pEvtObj);
17707
17708     [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)]
17709     void onactivate([in] IHTMLEventObj* pEvtObj);
17710
17711     [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)]
17712     void ondeactivate([in] IHTMLEventObj* pEvtObj);
17713
17714     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)]
17715     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
17716
17717     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)]
17718     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
17719
17720     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)]
17721     void onfocusin([in] IHTMLEventObj* pEvtObj);
17722
17723     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)]
17724     void onfocusout([in] IHTMLEventObj* pEvtObj);
17725
17726     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)]
17727     void onmove([in] IHTMLEventObj* pEvtObj);
17728
17729     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)]
17730     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
17731
17732     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)]
17733     VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
17734
17735     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)]
17736     void onmoveend([in] IHTMLEventObj* pEvtObj);
17737
17738     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)]
17739     VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
17740
17741     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)]
17742     void onresizeend([in] IHTMLEventObj* pEvtObj);
17743
17744     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)]
17745     VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
17746 };
17747 [
17748     hidden,
17749     uuid(3050f33c-98b5-11cf-bb82-00aa00bdce0b)
17750 ]
17751 dispinterface HTMLElementEvents
17752 {
17753 properties:
17754 methods:
17755     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
17756     VARIANT_BOOL onhelp();
17757
17758     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
17759     VARIANT_BOOL onclick();
17760
17761     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
17762     VARIANT_BOOL ondblclick();
17763
17764     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
17765     VARIANT_BOOL onkeypress();
17766
17767     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
17768     void onkeydown();
17769
17770     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
17771     void onkeyup();
17772
17773     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
17774     void onmouseout();
17775
17776     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
17777     void onmouseover();
17778
17779     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
17780     void onmousemove();
17781
17782     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
17783     void onmousedown();
17784
17785     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
17786     void onmouseup();
17787
17788     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
17789     VARIANT_BOOL onselectstart();
17790
17791     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
17792     void onfilterchange();
17793
17794     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
17795     VARIANT_BOOL ondragstart();
17796
17797     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
17798     VARIANT_BOOL onbeforeupdate();
17799
17800     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
17801     void onafterupdate();
17802
17803     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
17804     VARIANT_BOOL onerrorupdate();
17805
17806     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
17807     VARIANT_BOOL onrowexit();
17808
17809     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
17810     void onrowenter();
17811
17812     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
17813     void ondatasetchanged();
17814
17815     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
17816     void ondataavailable();
17817
17818     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
17819     void ondatasetcomplete();
17820
17821     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
17822     void onlosecapture();
17823
17824     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
17825     void onpropertychange();
17826
17827     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
17828     void onscroll();
17829
17830     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
17831     void onfocus();
17832
17833     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
17834     void onblur();
17835
17836     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
17837     void onresize();
17838
17839     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
17840     VARIANT_BOOL ondrag();
17841
17842     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
17843     void ondragend();
17844
17845     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
17846     VARIANT_BOOL ondragenter();
17847
17848     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
17849     VARIANT_BOOL ondragover();
17850
17851     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
17852     void ondragleave();
17853
17854     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
17855     VARIANT_BOOL ondrop();
17856
17857     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
17858     VARIANT_BOOL onbeforecut();
17859
17860     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
17861     VARIANT_BOOL oncut();
17862
17863     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
17864     VARIANT_BOOL onbeforecopy();
17865
17866     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
17867     VARIANT_BOOL oncopy();
17868
17869     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
17870     VARIANT_BOOL onbeforepaste();
17871
17872     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
17873     VARIANT_BOOL onpaste();
17874
17875     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
17876     VARIANT_BOOL oncontextmenu();
17877
17878     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
17879     void onrowsdelete();
17880
17881     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
17882     void onrowsinserted();
17883
17884     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
17885     void oncellchange();
17886
17887     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
17888     void onreadystatechange();
17889
17890     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
17891     void onbeforeeditfocus();
17892
17893     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
17894     void onlayoutcomplete();
17895
17896     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
17897     void onpage();
17898
17899     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
17900     VARIANT_BOOL onbeforedeactivate();
17901
17902     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
17903     VARIANT_BOOL onbeforeactivate();
17904
17905     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
17906     void onmove();
17907
17908     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
17909     VARIANT_BOOL oncontrolselect();
17910
17911     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
17912     VARIANT_BOOL onmovestart();
17913
17914     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
17915     void onmoveend();
17916
17917     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
17918     VARIANT_BOOL onresizestart();
17919
17920     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
17921     void onresizeend();
17922
17923     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
17924     void onmouseenter();
17925
17926     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
17927     void onmouseleave();
17928
17929     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
17930     VARIANT_BOOL onmousewheel();
17931
17932     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
17933     void onactivate();
17934
17935     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
17936     void ondeactivate();
17937
17938     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
17939     void onfocusin();
17940
17941     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
17942     void onfocusout();
17943
17944 };
17945
17946 [
17947     noncreatable,
17948     uuid(3050f317-98b5-11cf-bb82-00aa00bdce0b)
17949 ]
17950 coclass HTMLCommentElement
17951 {
17952     [default]           dispinterface DispHTMLCommentElement;
17953     [source, default]   dispinterface HTMLElementEvents;
17954     [source]            dispinterface HTMLElementEvents2;
17955                         interface IHTMLElement;
17956                         interface IHTMLElement2;
17957                         interface IHTMLElement3;
17958                         interface IHTMLElement4;
17959                         interface IHTMLUniqueName;
17960                         interface IHTMLDOMNode;
17961                         interface IHTMLDOMNode2;
17962                         interface IHTMLCommentElement;
17963                         interface IHTMLCommentElement2;
17964 }
17965
17966 /*****************************************************************************
17967  *    HTMLTableEvents dispinterface
17968  */
17969 [
17970     hidden,
17971     uuid(3050f407-98b5-11cf-bb82-00aa00bdce0b)
17972 ]
17973 dispinterface HTMLTableEvents
17974 {
17975 properties:
17976 methods:
17977     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
17978     VARIANT_BOOL onhelp();
17979
17980     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
17981     VARIANT_BOOL onclick();
17982
17983     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
17984     VARIANT_BOOL ondblclick();
17985
17986     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
17987     VARIANT_BOOL onkeypress();
17988
17989     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
17990     void onkeydown();
17991
17992     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
17993     void onkeyup();
17994
17995     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
17996     void onmouseout();
17997
17998     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
17999     void onmouseover();
18000
18001     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
18002     void onmousemove();
18003
18004     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
18005     void onmousedown();
18006
18007     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
18008     void onmouseup();
18009
18010     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
18011     VARIANT_BOOL onselectstart();
18012
18013     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
18014     void onfilterchange();
18015
18016     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
18017     VARIANT_BOOL ondragstart();
18018
18019     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
18020     VARIANT_BOOL onbeforeupdate();
18021
18022     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
18023     void onafterupdate();
18024
18025     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
18026     VARIANT_BOOL onerrorupdate();
18027
18028     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
18029     VARIANT_BOOL onrowexit();
18030
18031     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
18032     void onrowenter();
18033
18034     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
18035     void ondatasetchanged();
18036
18037     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
18038     void ondataavailable();
18039
18040     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
18041     void ondatasetcomplete();
18042
18043     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
18044     void onlosecapture();
18045
18046     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
18047     void onpropertychange();
18048
18049     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
18050     void onscroll();
18051
18052     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
18053     void onfocus();
18054
18055     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
18056     void onblur();
18057
18058     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
18059     void onresize();
18060
18061     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
18062     VARIANT_BOOL ondrag();
18063
18064     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
18065     void ondragend();
18066
18067     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
18068     VARIANT_BOOL ondragenter();
18069
18070     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
18071     VARIANT_BOOL ondragover();
18072
18073     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
18074     void ondragleave();
18075
18076     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
18077     VARIANT_BOOL ondrop();
18078
18079     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
18080     VARIANT_BOOL onbeforecut();
18081
18082     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
18083     VARIANT_BOOL oncut();
18084
18085     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
18086     VARIANT_BOOL onbeforecopy();
18087
18088     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
18089     VARIANT_BOOL oncopy();
18090
18091     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
18092     VARIANT_BOOL onbeforepaste();
18093
18094     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
18095     VARIANT_BOOL onpaste();
18096
18097     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
18098     VARIANT_BOOL oncontextmenu();
18099
18100     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
18101     void onrowsdelete();
18102
18103     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
18104     void onrowsinserted();
18105
18106     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
18107     void oncellchange();
18108
18109     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
18110     void onreadystatechange();
18111
18112     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
18113     void onbeforeeditfocus();
18114
18115     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
18116     void onlayoutcomplete();
18117
18118     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
18119     void onpage();
18120
18121     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
18122     VARIANT_BOOL onbeforedeactivate();
18123
18124     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
18125     VARIANT_BOOL onbeforeactivate();
18126
18127     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
18128     void onmove();
18129
18130     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
18131     VARIANT_BOOL oncontrolselect();
18132
18133     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
18134     VARIANT_BOOL onmovestart();
18135
18136     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
18137     void onmoveend();
18138
18139     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
18140     VARIANT_BOOL onresizestart();
18141
18142     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
18143     void onresizeend();
18144
18145     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
18146     void onmouseenter();
18147
18148     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
18149     void onmouseleave();
18150
18151     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
18152     VARIANT_BOOL onmousewheel();
18153
18154     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
18155     void onactivate();
18156
18157     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
18158     void ondeactivate();
18159
18160     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
18161     void onfocusin();
18162
18163     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
18164     void onfocusout();
18165 }
18166
18167 [
18168     hidden,
18169     uuid(3050f623-98b5-11cf-bb82-00aa00bdce0b)
18170 ]
18171 dispinterface HTMLTableEvents2
18172 {
18173 properties:
18174 methods:
18175     [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)]
18176     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
18177
18178     [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)]
18179     VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
18180
18181     [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)]
18182     VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
18183
18184     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)]
18185     VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
18186
18187     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)]
18188     void onkeydown([in] IHTMLEventObj* pEvtObj);
18189
18190     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)]
18191     void onkeyup([in] IHTMLEventObj* pEvtObj);
18192
18193     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)]
18194     void onmouseout([in] IHTMLEventObj* pEvtObj);
18195
18196     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)]
18197     void onmouseover([in] IHTMLEventObj* pEvtObj);
18198
18199     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)]
18200     void onmousemove([in] IHTMLEventObj* pEvtObj);
18201
18202     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)]
18203     void onmousedown([in] IHTMLEventObj* pEvtObj);
18204
18205     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)]
18206     void onmouseup([in] IHTMLEventObj* pEvtObj);
18207
18208     [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)]
18209     VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
18210
18211     [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)]
18212     void onfilterchange([in] IHTMLEventObj* pEvtObj);
18213
18214     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)]
18215     VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
18216
18217     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)]
18218     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
18219
18220     [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)]
18221     void onafterupdate([in] IHTMLEventObj* pEvtObj);
18222
18223     [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)]
18224     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
18225
18226     [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)]
18227     VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
18228
18229     [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)]
18230     void onrowenter([in] IHTMLEventObj* pEvtObj);
18231
18232     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)]
18233     void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
18234
18235     [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)]
18236     void ondataavailable([in] IHTMLEventObj* pEvtObj);
18237
18238     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)]
18239     void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
18240
18241     [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)]
18242     void onlosecapture([in] IHTMLEventObj* pEvtObj);
18243
18244     [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)]
18245     void onpropertychange([in] IHTMLEventObj* pEvtObj);
18246
18247     [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)]
18248     void onscroll([in] IHTMLEventObj* pEvtObj);
18249
18250     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)]
18251     void onfocus([in] IHTMLEventObj* pEvtObj);
18252
18253     [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)]
18254     void onblur([in] IHTMLEventObj* pEvtObj);
18255
18256     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)]
18257     void onresize([in] IHTMLEventObj* pEvtObj);
18258
18259     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)]
18260     VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
18261
18262     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)]
18263     void ondragend([in] IHTMLEventObj* pEvtObj);
18264
18265     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)]
18266     VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
18267
18268     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)]
18269     VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
18270
18271     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)]
18272     void ondragleave([in] IHTMLEventObj* pEvtObj);
18273
18274     [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)]
18275     VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
18276
18277     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)]
18278     VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
18279
18280     [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)]
18281     VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
18282
18283     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)]
18284     VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
18285
18286     [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)]
18287     VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
18288
18289     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)]
18290     VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
18291
18292     [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)]
18293     VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
18294
18295     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)]
18296     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
18297
18298     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)]
18299     void onrowsdelete([in] IHTMLEventObj* pEvtObj);
18300
18301     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)]
18302     void onrowsinserted([in] IHTMLEventObj* pEvtObj);
18303
18304     [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)]
18305     void oncellchange([in] IHTMLEventObj* pEvtObj);
18306
18307     [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)]
18308     void onreadystatechange([in] IHTMLEventObj* pEvtObj);
18309
18310     [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)]
18311     void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
18312
18313     [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)]
18314     void onpage([in] IHTMLEventObj* pEvtObj);
18315
18316     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)]
18317     void onmouseenter([in] IHTMLEventObj* pEvtObj);
18318
18319     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)]
18320     void onmouseleave([in] IHTMLEventObj* pEvtObj);
18321
18322     [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)]
18323     void onactivate([in] IHTMLEventObj* pEvtObj);
18324
18325     [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)]
18326     void ondeactivate([in] IHTMLEventObj* pEvtObj);
18327
18328     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)]
18329     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
18330
18331     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)]
18332     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
18333
18334     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)]
18335     void onfocusin([in] IHTMLEventObj* pEvtObj);
18336
18337     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)]
18338     void onfocusout([in] IHTMLEventObj* pEvtObj);
18339
18340     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)]
18341     void onmove([in] IHTMLEventObj* pEvtObj);
18342
18343     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)]
18344     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
18345
18346     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)]
18347     VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
18348
18349     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)]
18350     void onmoveend([in] IHTMLEventObj* pEvtObj);
18351
18352     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)]
18353     VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
18354
18355     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)]
18356     void onresizeend([in] IHTMLEventObj* pEvtObj);
18357
18358     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)]
18359     VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
18360 };
18361
18362 /*****************************************************************************
18363  *    IHTMLTableCaption interface
18364  */
18365 [
18366     odl,
18367     oleautomation,
18368     dual,
18369     uuid(3050f2eb-98b5-11cf-bb82-00aa00bdce0b)
18370 ]
18371 interface IHTMLTableCaption : IDispatch
18372 {
18373     [propput, id(DISPID_IHTMLTABLECAPTION_ALIGN)]
18374     HRESULT align([in] BSTR v);
18375
18376     [propget, id(DISPID_IHTMLTABLECAPTION_ALIGN)]
18377     HRESULT align([retval, out] BSTR *p);
18378
18379     [propput, id(DISPID_IHTMLTABLECAPTION_VALIGN)]
18380     HRESULT vAlign([in] BSTR v);
18381
18382     [propget, id(DISPID_IHTMLTABLECAPTION_VALIGN)]
18383     HRESULT vAlign([retval, out] BSTR *p);
18384 }
18385
18386 interface IHTMLTableSection;
18387
18388 /*****************************************************************************
18389  *    IHTMLTable interface
18390  */
18391 [
18392     odl,
18393     oleautomation,
18394     dual,
18395     uuid(3050f21e-98b5-11cf-bb82-00aa00bdce0b)
18396 ]
18397 interface IHTMLTable : IDispatch
18398 {
18399     [propput, id(DISPID_IHTMLTABLE_COLS)]
18400     HRESULT cols([in] LONG v);
18401
18402     [propget, id(DISPID_IHTMLTABLE_COLS)]
18403     HRESULT cols([retval, out] LONG *p);
18404
18405     [propput, id(DISPID_IHTMLTABLE_BORDER)]
18406     HRESULT border([in] VARIANT v);
18407
18408     [propget, id(DISPID_IHTMLTABLE_BORDER)]
18409     HRESULT border([retval, out] VARIANT *p);
18410
18411     [propput, id(DISPID_IHTMLTABLE_FRAME)]
18412     HRESULT frame([in] BSTR v);
18413
18414     [propget, id(DISPID_IHTMLTABLE_FRAME)]
18415     HRESULT frame([retval, out] BSTR *p);
18416
18417     [propput, id(DISPID_IHTMLTABLE_RULES)]
18418     HRESULT rules([in] BSTR v);
18419
18420     [propget, id(DISPID_IHTMLTABLE_RULES)]
18421     HRESULT rules([retval, out] BSTR *p);
18422
18423     [propput, id(DISPID_IHTMLTABLE_CELLSPACING)]
18424     HRESULT cellSpacing([in] VARIANT v);
18425
18426     [propget, id(DISPID_IHTMLTABLE_CELLSPACING)]
18427     HRESULT cellSpacing([retval, out] VARIANT *p);
18428
18429     [propput, id(DISPID_IHTMLTABLE_CELLPADDING)]
18430     HRESULT cellPadding([in] VARIANT v);
18431
18432     [propget, id(DISPID_IHTMLTABLE_CELLPADDING)]
18433     HRESULT cellPadding([retval, out] VARIANT *p);
18434
18435     [propput, id(DISPID_IHTMLTABLE_BACKGROUND)]
18436     HRESULT background([in] BSTR v);
18437
18438     [propget, id(DISPID_IHTMLTABLE_BACKGROUND)]
18439     HRESULT background([retval, out] BSTR *p);
18440
18441     [propput, id(DISPID_IHTMLTABLE_BGCOLOR)]
18442     HRESULT bgColor([in] VARIANT v);
18443
18444     [propget, id(DISPID_IHTMLTABLE_BGCOLOR)]
18445     HRESULT bgColor([retval, out] VARIANT *p);
18446
18447     [propput, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
18448     HRESULT borderColor([in] VARIANT v);
18449
18450     [propget, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
18451     HRESULT borderColor([retval, out] VARIANT *p);
18452
18453     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
18454     HRESULT borderColorLight([in] VARIANT v);
18455
18456     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
18457     HRESULT borderColorLight([retval, out] VARIANT *p);
18458
18459     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
18460     HRESULT borderColorDark([in] VARIANT v);
18461
18462     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
18463     HRESULT borderColorDark([retval, out] VARIANT *p);
18464
18465     [propput, id(DISPID_IHTMLTABLE_ALIGN)]
18466     HRESULT align([in] BSTR v);
18467
18468     [propget, id(DISPID_IHTMLTABLE_ALIGN)]
18469     HRESULT align([retval, out] BSTR * p);
18470
18471     [id(DISPID_IHTMLTABLE_REFRESH)]
18472     HRESULT refresh();
18473
18474     [propget, id(DISPID_IHTMLTABLE_ROWS)]
18475     HRESULT rows([retval, out] IHTMLElementCollection **p);
18476
18477     [propput, id(DISPID_IHTMLTABLE_WIDTH)]
18478     HRESULT width([in] VARIANT v);
18479
18480     [propget, id(DISPID_IHTMLTABLE_WIDTH)]
18481     HRESULT width([retval, out] VARIANT *p);
18482
18483     [propput, id(DISPID_IHTMLTABLE_HEIGHT)]
18484     HRESULT height([in] VARIANT v);
18485
18486     [propget, id(DISPID_IHTMLTABLE_HEIGHT)]
18487     HRESULT height([retval, out] VARIANT *p);
18488
18489     [propput, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
18490     HRESULT dataPageSize([in] LONG v);
18491
18492     [propget, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
18493     HRESULT dataPageSize([retval, out] LONG *p);
18494
18495     [id(DISPID_IHTMLTABLE_NEXTPAGE)]
18496     HRESULT nextPage();
18497
18498     [id(DISPID_IHTMLTABLE_PREVIOUSPAGE)]
18499     HRESULT previousPage();
18500
18501     [propget, id(DISPID_IHTMLTABLE_THEAD)]
18502     HRESULT tHead([retval, out] IHTMLTableSection **p);
18503
18504     [propget, id(DISPID_IHTMLTABLE_TFOOT)]
18505     HRESULT tFoot([retval, out] IHTMLTableSection **p);
18506
18507     [propget, id(DISPID_IHTMLTABLE_TBODIES)]
18508     HRESULT tBodies([retval, out] IHTMLElementCollection **p);
18509
18510     [propget, id(DISPID_IHTMLTABLE_CAPTION)]
18511     HRESULT caption([retval, out] IHTMLTableCaption **p);
18512
18513     [id(DISPID_IHTMLTABLE_CREATETHEAD)]
18514     HRESULT createTHead([retval, out] IDispatch **head);
18515
18516     [id(DISPID_IHTMLTABLE_DELETETHEAD)]
18517     HRESULT deleteTHead();
18518
18519     [id(DISPID_IHTMLTABLE_CREATETFOOT)]
18520     HRESULT createTFoot([retval, out] IDispatch **foot);
18521
18522     [id(DISPID_IHTMLTABLE_DELETETFOOT)]
18523     HRESULT deleteTFoot();
18524
18525     [id(DISPID_IHTMLTABLE_CREATECAPTION)]
18526     HRESULT createCaption([retval, out] IHTMLTableCaption **caption);
18527
18528     [id(DISPID_IHTMLTABLE_DELETECAPTION)]
18529     HRESULT deleteCaption();
18530
18531     [id(DISPID_IHTMLTABLE_INSERTROW)]
18532     HRESULT insertRow(
18533             [defaultvalue(-1), in] LONG index,
18534             [retval, out] IDispatch **row);
18535
18536     [id(DISPID_IHTMLTABLE_DELETEROW)]
18537     HRESULT deleteRow([defaultvalue(-1), in] LONG index);
18538
18539     [propget, id(DISPID_IHTMLTABLE_READYSTATE)]
18540     HRESULT readyState([retval, out] BSTR *p);
18541
18542     [propput, id(DISPID_IHTMLTABLE_ONREADYSTATECHANGE), displaybind, bindable]
18543     HRESULT onreadystatechange([in] VARIANT v);
18544
18545     [propget, id(DISPID_IHTMLTABLE_ONREADYSTATECHANGE), displaybind, bindable]
18546     HRESULT onreadystatechange([retval, out] VARIANT *p);
18547 }
18548
18549 [
18550     odl,
18551     oleautomation,
18552     dual,
18553     uuid(3050f4ad-98b5-11cf-bb82-00aa00bdce0b)
18554 ]
18555 interface IHTMLTable2 : IDispatch
18556 {
18557     [id(DISPID_IHTMLTABLE2_FIRSTPAGE)]
18558     HRESULT firstPage();
18559
18560     [id(DISPID_IHTMLTABLE2_LASTPAGE)]
18561     HRESULT lastPage();
18562
18563     [propget, id(DISPID_IHTMLTABLE2_CELLS)]
18564     HRESULT cells([retval, out] IHTMLElementCollection* * p);
18565
18566     [id(DISPID_IHTMLTABLE2_MOVEROW)]
18567     HRESULT moveRow([defaultvalue(-1), in] LONG indexFrom,
18568         [defaultvalue(-1), in] LONG indexTo,
18569         [retval, out] IDispatch** row);
18570 };
18571
18572 [
18573     odl,
18574     oleautomation,
18575     dual,
18576     uuid(3050f829-98b5-11cf-bb82-00aa00bdce0b)
18577 ]
18578 interface IHTMLTable3 : IDispatch
18579 {
18580     [propput, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
18581     HRESULT summary([in] BSTR v);
18582
18583     [propget, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
18584     HRESULT summary([retval, out] BSTR * p);
18585 };
18586
18587 [
18588     noncreatable,
18589     uuid(3050f26b-98b5-11cf-bb82-00aa00bdce0b)
18590 ]
18591 coclass HTMLTable
18592 {
18593     [default]           dispinterface DispHTMLTable;
18594     [source, default]   dispinterface HTMLTableEvents;
18595     [source]            dispinterface HTMLTableEvents2;
18596                         interface IHTMLElement;
18597                         interface IHTMLElement2;
18598                         interface IHTMLElement3;
18599                         interface IHTMLElement4;
18600                         interface IHTMLUniqueName;
18601                         interface IHTMLDOMNode;
18602                         interface IHTMLDOMNode2;
18603                         interface IHTMLDatabinding;
18604                         interface IHTMLControlElement;
18605                         interface IHTMLTable;
18606                         interface IHTMLTable2;
18607                         interface IHTMLTable3;
18608 };
18609
18610 [
18611     odl,
18612     oleautomation,
18613     dual,
18614     uuid(3050f23b-98b5-11cf-bb82-00aa00bdce0b)
18615 ]
18616 interface IHTMLTableSection : IDispatch
18617 {
18618     [propput, id(DISPID_IHTMLTABLESECTION_ALIGN)]
18619     HRESULT align([in] BSTR v);
18620
18621     [propget, id(DISPID_IHTMLTABLESECTION_ALIGN)]
18622     HRESULT align([retval, out] BSTR *p);
18623
18624     [propput, id(DISPID_IHTMLTABLESECTION_VALIGN)]
18625     HRESULT vAlign([in] BSTR v);
18626
18627     [propget, id(DISPID_IHTMLTABLESECTION_VALIGN)]
18628     HRESULT vAlign([retval, out] BSTR *p);
18629
18630     [propput, id(DISPID_IHTMLTABLESECTION_BGCOLOR)]
18631     HRESULT bgColor([in] VARIANT v);
18632
18633     [propget, id(DISPID_IHTMLTABLESECTION_BGCOLOR)]
18634     HRESULT bgColor([retval, out] VARIANT *p);
18635
18636     [propget, id(DISPID_IHTMLTABLESECTION_ROWS)]
18637     HRESULT rows([retval, out] IHTMLElementCollection **p);
18638
18639     [id(DISPID_IHTMLTABLESECTION_INSERTROW)]
18640     HRESULT insertRow(
18641             [defaultvalue(-1), in] LONG index,
18642             [retval, out] IDispatch **row);
18643
18644     [id(DISPID_IHTMLTABLESECTION_DELETEROW)]
18645     HRESULT deleteRow([defaultvalue(-1), in] LONG index);
18646 }
18647
18648 /*****************************************************************************
18649  *    IHTMLTableRow interface
18650  */
18651 [
18652     odl,
18653     oleautomation,
18654     dual,
18655     uuid(3050f23c-98b5-11cf-bb82-00aa00bdce0b)
18656 ]
18657 interface IHTMLTableRow : IDispatch
18658 {
18659     [propput, id(DISPID_IHTMLTABLEROW_ALIGN)]
18660     HRESULT align([in] BSTR v);
18661
18662     [propget, id(DISPID_IHTMLTABLEROW_ALIGN)]
18663     HRESULT align([out, retval] BSTR *p);
18664
18665     [propput, id(DISPID_IHTMLTABLEROW_VALIGN)]
18666     HRESULT vAlign([in] BSTR v);
18667
18668     [propget, id(DISPID_IHTMLTABLEROW_VALIGN)]
18669     HRESULT vAlign([out, retval] BSTR *p);
18670
18671     [propput, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
18672     HRESULT bgColor([in] VARIANT v);
18673
18674     [propget, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
18675     HRESULT bgColor([out, retval] VARIANT *p);
18676
18677     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
18678     HRESULT borderColor([in] VARIANT v);
18679
18680     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
18681     HRESULT borderColor([out, retval] VARIANT *p);
18682
18683     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
18684     HRESULT borderColorLight([in] VARIANT v);
18685
18686     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
18687     HRESULT borderColorLight([out, retval] VARIANT *p);
18688
18689     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
18690     HRESULT borderColorDark([in] VARIANT v);
18691
18692     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
18693     HRESULT borderColorDark([out, retval] VARIANT *p);
18694
18695     [propget, id(DISPID_IHTMLTABLEROW_ROWINDEX)]
18696     HRESULT rowIndex([out, retval] LONG *p);
18697
18698     [propget, id(DISPID_IHTMLTABLEROW_SECTIONROWINDEX)]
18699     HRESULT sectionRowIndex([out, retval] LONG *p);
18700
18701     [propget, id(DISPID_IHTMLTABLEROW_CELLS)]
18702     HRESULT cells([out, retval] IHTMLElementCollection **p);
18703
18704     [id(DISPID_IHTMLTABLEROW_INSERTCELL)]
18705     HRESULT insertCell(
18706             [in, defaultvalue(-1)] LONG index,
18707             [out, retval] IDispatch **row);
18708
18709     [id(DISPID_IHTMLTABLEROW_DELETECELL)]
18710     HRESULT deleteCell([in, defaultvalue(-1)] LONG index);
18711 }
18712
18713 /*****************************************************************************
18714  *    DispHTMLTable interface
18715  */
18716 [
18717     hidden,
18718     uuid(3050f532-98b5-11cf-bb82-00aa00bdce0b)
18719 ]
18720 dispinterface DispHTMLTable
18721 {
18722 properties:
18723 methods:
18724     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
18725     void setAttribute(
18726             [in] BSTR strAttributeName,
18727             [in] VARIANT AttributeValue,
18728             [in, defaultvalue(1)] LONG lFlags);
18729
18730     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
18731     VARIANT getAttribute(
18732              [in] BSTR strAttributeName,
18733              [in, defaultvalue(0)] LONG lFlags);
18734
18735     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
18736     VARIANT_BOOL removeAttribute(
18737             [in] BSTR strAttributeName,
18738             [in, defaultvalue(1)] LONG lFlags);
18739
18740     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
18741     void className(BSTR v);
18742
18743     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
18744     BSTR className();
18745
18746     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
18747     void id(BSTR v);
18748
18749     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
18750     BSTR id();
18751
18752     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
18753     BSTR tagName();
18754
18755     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
18756     IHTMLElement *parentElement();
18757
18758     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
18759     IHTMLStyle *style();
18760
18761     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
18762     void onhelp(VARIANT v);
18763
18764     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
18765     VARIANT onhelp();
18766
18767     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
18768     void onclick(VARIANT v);
18769
18770     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
18771     VARIANT onclick();
18772
18773     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
18774     void ondblclick(VARIANT v);
18775
18776     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
18777     VARIANT ondblclick();
18778
18779     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
18780     void onkeydown(VARIANT v);
18781
18782     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
18783     VARIANT onkeydown();
18784
18785     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
18786     void onkeyup(VARIANT v);
18787
18788     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
18789     VARIANT onkeyup();
18790
18791     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
18792     void onkeypress(VARIANT v);
18793
18794     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
18795     VARIANT onkeypress();
18796
18797     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
18798     void onmouseout(VARIANT v);
18799
18800     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
18801     VARIANT onmouseout();
18802
18803     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
18804     void onmouseover(VARIANT v);
18805
18806     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
18807     VARIANT onmouseover();
18808
18809     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
18810     void onmousemove(VARIANT v);
18811
18812     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
18813     VARIANT onmousemove();
18814
18815     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
18816     void onmousedown(VARIANT v);
18817
18818     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
18819     VARIANT onmousedown();
18820
18821     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
18822     void onmouseup(VARIANT v);
18823
18824     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
18825     VARIANT onmouseup();
18826
18827     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
18828     IDispatch *document();
18829
18830     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
18831     void title(BSTR v);
18832
18833     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
18834     BSTR title();
18835
18836     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
18837     void language(BSTR v);
18838
18839     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
18840     BSTR language();
18841
18842     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
18843     void onselectstart(VARIANT v);
18844
18845     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
18846     VARIANT onselectstart();
18847
18848     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
18849     void scrollIntoView([in, optional] VARIANT varargStart);
18850
18851     [id(DISPID_IHTMLELEMENT_CONTAINS)]
18852     VARIANT_BOOL contains([in] IHTMLElement *pChild);
18853
18854     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
18855     LONG sourceIndex();
18856
18857     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
18858     VARIANT recordNumber();
18859
18860     [propput, id(DISPID_IHTMLELEMENT_LANG)]
18861     void lang(BSTR v);
18862
18863     [propget, id(DISPID_IHTMLELEMENT_LANG)]
18864     BSTR lang();
18865
18866     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
18867     LONG offsetLeft();
18868
18869     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
18870     LONG offsetTop();
18871
18872     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
18873     LONG offsetWidth();
18874
18875     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
18876     LONG offsetHeight();
18877
18878     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
18879     IHTMLElement *offsetParent();
18880
18881     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
18882     void innerHTML(BSTR v);
18883
18884     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
18885     BSTR innerHTML();
18886
18887     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
18888     void innerText(BSTR v);
18889
18890     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
18891     BSTR innerText();
18892
18893     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
18894     void outerHTML(BSTR v);
18895
18896     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
18897     BSTR outerHTML();
18898
18899     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
18900     void outerText(BSTR v);
18901
18902     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
18903     BSTR outerText();
18904
18905     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
18906     void insertAdjacentHTML(
18907             [in] BSTR where,
18908             [in] BSTR html);
18909
18910     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
18911     void insertAdjacentText(
18912             [in] BSTR where,
18913             [in] BSTR text);
18914
18915     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
18916     IHTMLElement *parentTextEdit();
18917
18918     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
18919     VARIANT_BOOL isTextEdit();
18920
18921     [id(DISPID_IHTMLELEMENT_CLICK)]
18922     void click();
18923
18924     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
18925     IHTMLFiltersCollection *filters();
18926
18927     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
18928     void ondragstart(VARIANT v);
18929
18930     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
18931     VARIANT ondragstart();
18932
18933     [id(DISPID_IHTMLELEMENT_TOSTRING)]
18934     BSTR toString();
18935
18936     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
18937     void onbeforeupdate(VARIANT v);
18938
18939     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
18940     VARIANT onbeforeupdate();
18941
18942     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
18943     void onafterupdate(VARIANT v);
18944
18945     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
18946     VARIANT onafterupdate();
18947
18948     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
18949     void onerrorupdate(VARIANT v);
18950
18951     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
18952     VARIANT onerrorupdate();
18953
18954     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
18955     void onrowexit(VARIANT v);
18956
18957     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
18958     VARIANT onrowexit();
18959
18960     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
18961     void onrowenter(VARIANT v);
18962
18963     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
18964     VARIANT onrowenter();
18965
18966     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
18967     void ondatasetchanged(VARIANT v);
18968
18969     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
18970     VARIANT ondatasetchanged();
18971
18972     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
18973     void ondataavailable(VARIANT v);
18974
18975     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
18976     VARIANT ondataavailable();
18977
18978     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
18979     void ondatasetcomplete(VARIANT v);
18980
18981     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
18982     VARIANT ondatasetcomplete();
18983
18984     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
18985     void onfilterchange(VARIANT v);
18986
18987     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
18988     VARIANT onfilterchange();
18989
18990     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
18991     IDispatch *children();
18992
18993     [propget, id(DISPID_IHTMLELEMENT_ALL)]
18994     IDispatch *all();
18995
18996     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
18997     BSTR scopeName();
18998
18999     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
19000     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
19001
19002     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
19003     void releaseCapture();
19004
19005     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
19006     void onlosecapture(VARIANT v);
19007
19008     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
19009     VARIANT onlosecapture();
19010
19011     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
19012     BSTR componentFromPoint(
19013             [in] LONG x,
19014             [in] LONG y);
19015
19016     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
19017     void doScroll([in, optional] VARIANT component);
19018
19019     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
19020     void onscroll(VARIANT v);
19021
19022     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
19023     VARIANT onscroll();
19024
19025     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
19026     void ondrag(VARIANT v);
19027
19028     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
19029     VARIANT ondrag();
19030
19031     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
19032     void ondragend(VARIANT v);
19033
19034     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
19035     VARIANT ondragend();
19036
19037     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
19038     void ondragenter(VARIANT v);
19039
19040     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
19041     VARIANT ondragenter();
19042
19043     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
19044     void ondragover(VARIANT v);
19045
19046     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
19047     VARIANT ondragover();
19048
19049     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
19050     void ondragleave(VARIANT v);
19051
19052     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
19053     VARIANT ondragleave();
19054
19055     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
19056     void ondrop(VARIANT v);
19057
19058     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
19059     VARIANT ondrop();
19060
19061     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
19062     void onbeforecut(VARIANT v);
19063
19064     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
19065     VARIANT onbeforecut();
19066
19067     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
19068     void oncut(VARIANT v);
19069
19070     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
19071     VARIANT oncut();
19072
19073     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
19074     void onbeforecopy(VARIANT v);
19075
19076     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
19077     VARIANT onbeforecopy();
19078
19079     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
19080     void oncopy(VARIANT v);
19081
19082     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
19083     VARIANT oncopy();
19084
19085     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
19086     void onbeforepaste(VARIANT v);
19087
19088     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
19089     VARIANT onbeforepaste();
19090
19091     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
19092     void onpaste(VARIANT v);
19093
19094     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
19095     VARIANT onpaste();
19096
19097     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
19098     IHTMLCurrentStyle *currentStyle();
19099
19100     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
19101     void onpropertychange(VARIANT v);
19102
19103     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
19104     VARIANT onpropertychange();
19105
19106     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
19107     IHTMLRectCollection *getClientRects();
19108
19109     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
19110     IHTMLRect *getBoundingClientRect();
19111
19112     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
19113     void setExpression(
19114             [in] BSTR propname,
19115             [in] BSTR expression,
19116             [in, defaultvalue("")] BSTR language);
19117
19118     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
19119     VARIANT getExpression([in] BSTR propname);
19120
19121     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
19122     VARIANT_BOOL removeExpression([in] BSTR propname);
19123
19124     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
19125     void tabIndex(short v);
19126
19127     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
19128     short tabIndex();
19129
19130     [id(DISPID_IHTMLELEMENT2_FOCUS)]
19131     void focus();
19132
19133     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
19134     void accessKey(BSTR v);
19135
19136     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
19137     BSTR accessKey();
19138
19139     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
19140     void onblur(VARIANT v);
19141
19142     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
19143     VARIANT onblur();
19144
19145     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
19146     void onfocus(VARIANT v);
19147
19148     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
19149     VARIANT onfocus();
19150
19151     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
19152     void onresize(VARIANT v);
19153
19154     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
19155     VARIANT onresize();
19156
19157     [id(DISPID_IHTMLELEMENT2_BLUR)]
19158     void blur();
19159
19160     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
19161     void addFilter([in] IUnknown *pUnk);
19162
19163     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
19164     void removeFilter([in] IUnknown *pUnk);
19165
19166     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
19167     LONG clientHeight();
19168
19169     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
19170     LONG clientWidth();
19171
19172     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
19173     LONG clientTop();
19174
19175     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
19176     LONG clientLeft();
19177
19178     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
19179     VARIANT_BOOL attachEvent(
19180             [in] BSTR event,
19181             [in] IDispatch *pDisp);
19182
19183     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
19184     void detachEvent(
19185             [in] BSTR event,
19186             [in] IDispatch *pDisp);
19187
19188     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
19189     VARIANT readyState();
19190
19191     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
19192     void onreadystatechange(VARIANT v);
19193
19194     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
19195     VARIANT onreadystatechange();
19196
19197     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
19198     void onrowsdelete(VARIANT v);
19199
19200     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
19201     VARIANT onrowsdelete();
19202
19203     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
19204     void onrowsinserted(VARIANT v);
19205
19206     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
19207     VARIANT onrowsinserted();
19208
19209     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
19210      void oncellchange(VARIANT v);
19211
19212     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
19213     VARIANT oncellchange();
19214
19215     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
19216     void dir(BSTR v);
19217
19218     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
19219     BSTR dir();
19220
19221     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
19222     IDispatch *createControlRange();
19223
19224     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
19225     LONG scrollHeight();
19226
19227     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
19228     LONG scrollWidth();
19229
19230     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
19231     void scrollTop(LONG v);
19232
19233     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
19234     LONG scrollTop();
19235
19236     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
19237     void scrollLeft(LONG v);
19238
19239     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
19240     LONG scrollLeft();
19241
19242     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
19243     void clearAttributes();
19244
19245     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
19246     void oncontextmenu(VARIANT v);
19247
19248     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
19249     VARIANT oncontextmenu();
19250
19251     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
19252     IHTMLElement *insertAdjacentElement(
19253             [in] BSTR where,
19254             [in] IHTMLElement *insertedElement);
19255
19256     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
19257     IHTMLElement *applyElement(
19258             [in] IHTMLElement *apply,
19259             [in] BSTR where);
19260
19261     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
19262     BSTR getAdjacentText([in] BSTR where);
19263
19264     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
19265     BSTR replaceAdjacentText(
19266             [in] BSTR where,
19267             [in] BSTR newText);
19268
19269     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
19270     VARIANT_BOOL canHaveChildren();
19271
19272     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
19273     LONG addBehavior(
19274             [in] BSTR bstrUrl,
19275             [in, optional] VARIANT *pvarFactory);
19276
19277     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
19278     VARIANT_BOOL removeBehavior([in] LONG cookie);
19279
19280     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
19281     IHTMLStyle *runtimeStyle();
19282
19283     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
19284     IDispatch *behaviorUrns();
19285
19286     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
19287     void tagUrn(BSTR v);
19288
19289     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
19290     BSTR tagUrn();
19291
19292     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
19293     void onbeforeeditfocus(VARIANT v);
19294
19295     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
19296     VARIANT onbeforeeditfocus();
19297
19298     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
19299     LONG readyStateValue();
19300
19301     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
19302     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
19303
19304     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
19305     void mergeAttributes(
19306             [in] IHTMLElement *mergeThis,
19307             [in, optional] VARIANT *pvarFlags);
19308
19309     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
19310     VARIANT_BOOL isMultiLine();
19311
19312     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
19313     VARIANT_BOOL canHaveHTML();
19314
19315     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
19316     void onlayoutcomplete(VARIANT v);
19317
19318     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
19319     VARIANT onlayoutcomplete();
19320
19321     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
19322     void onpage(VARIANT v);
19323
19324     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
19325     VARIANT onpage();
19326
19327     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
19328     void inflateBlock(VARIANT_BOOL v);
19329
19330     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
19331     VARIANT_BOOL inflateBlock();
19332
19333     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
19334     void onbeforedeactivate(VARIANT v);
19335
19336     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
19337     VARIANT onbeforedeactivate();
19338
19339     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
19340     void setActive();
19341
19342     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
19343     void contentEditable(BSTR v);
19344
19345     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
19346     BSTR contentEditable();
19347
19348     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
19349     VARIANT_BOOL isContentEditable();
19350
19351     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
19352     void hideFocus(VARIANT_BOOL v);
19353
19354     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
19355     VARIANT_BOOL hideFocus();
19356
19357     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
19358     void disabled(VARIANT_BOOL v);
19359
19360     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
19361     VARIANT_BOOL disabled();
19362
19363     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
19364     VARIANT_BOOL isDisabled();
19365
19366     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
19367     void onmove(VARIANT v);
19368
19369     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
19370     VARIANT onmove();
19371
19372     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
19373     void oncontrolselect(VARIANT v);
19374
19375     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
19376     VARIANT oncontrolselect();
19377
19378     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
19379     VARIANT_BOOL fireEvent(
19380             [in] BSTR bstrEventName,
19381             [in, optional] VARIANT *pvarEventObject);
19382
19383     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
19384     void onresizestart(VARIANT v);
19385
19386     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
19387     VARIANT onresizestart();
19388
19389     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
19390     void onresizeend(VARIANT v);
19391
19392     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
19393     VARIANT onresizeend();
19394
19395     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
19396     void onmovestart(VARIANT v);
19397
19398     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
19399     VARIANT onmovestart();
19400
19401     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
19402     void onmoveend(VARIANT v);
19403
19404     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
19405     VARIANT onmoveend();
19406
19407     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
19408     void onmouseenter(VARIANT v);
19409
19410     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
19411     VARIANT onmouseenter();
19412
19413     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
19414     void onmouseleave(VARIANT v);
19415
19416     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
19417     VARIANT onmouseleave();
19418
19419     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
19420     void onactivate(VARIANT v);
19421
19422     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
19423     VARIANT onactivate();
19424
19425     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
19426     void ondeactivate(VARIANT v);
19427
19428     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
19429     VARIANT ondeactivate();
19430
19431     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
19432     VARIANT_BOOL dragDrop();
19433
19434     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
19435     LONG glyphMode();
19436
19437     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
19438     void onmousewheel(VARIANT v);
19439
19440     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
19441     VARIANT onmousewheel();
19442
19443     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
19444     void normalize();
19445
19446     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
19447     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
19448
19449     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
19450     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
19451
19452     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
19453     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
19454
19455     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
19456     void onbeforeactivate(VARIANT v);
19457
19458     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
19459     VARIANT onbeforeactivate();
19460
19461     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
19462     void onfocusin(VARIANT v);
19463
19464     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
19465     VARIANT onfocusin();
19466
19467     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
19468     void onfocusout(VARIANT v);
19469
19470     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
19471     VARIANT onfocusout();
19472
19473     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
19474     LONG uniqueNumber();
19475
19476     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
19477     BSTR uniqueID();
19478
19479     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
19480     LONG nodeType();
19481
19482     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
19483     IHTMLDOMNode *parentNode();
19484
19485     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
19486     VARIANT_BOOL hasChildNodes();
19487
19488     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
19489     IDispatch *childNodes();
19490
19491     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
19492     IDispatch *attributes();
19493
19494     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
19495     IHTMLDOMNode *insertBefore(
19496             [in] IHTMLDOMNode *newChild,
19497             [in, optional] VARIANT refChild);
19498
19499     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
19500     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
19501
19502     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
19503     IHTMLDOMNode *replaceChild(
19504             [in] IHTMLDOMNode *newChild,
19505             [in] IHTMLDOMNode *oldChild);
19506
19507     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
19508     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
19509
19510     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
19511     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
19512
19513     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
19514     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
19515
19516     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
19517     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
19518
19519     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
19520     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
19521
19522     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
19523     BSTR nodeName();
19524
19525     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
19526     void nodeValue(VARIANT v);
19527
19528     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
19529     VARIANT nodeValue();
19530
19531     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
19532     IHTMLDOMNode *firstChild();
19533
19534     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
19535     IHTMLDOMNode *lastChild();
19536
19537     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
19538     IHTMLDOMNode *previousSibling();
19539
19540     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
19541     IHTMLDOMNode *nextSibling();
19542
19543     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
19544     IDispatch *ownerDocument();
19545
19546     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
19547     void dataFld(BSTR v);
19548
19549     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
19550     BSTR dataFld();
19551
19552     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
19553     void dataSrc(BSTR v);
19554
19555     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
19556     BSTR dataSrc();
19557
19558     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
19559     void dataFormatAs(BSTR v);
19560
19561     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
19562     BSTR dataFormatAs();
19563
19564     [propput, id(DISPID_IHTMLTABLE_COLS)]
19565     void cols(LONG v);
19566
19567     [propget, id(DISPID_IHTMLTABLE_COLS)]
19568     LONG cols();
19569
19570     [propput, id(DISPID_IHTMLTABLE_BORDER)]
19571     void border(VARIANT v);
19572
19573     [propget, id(DISPID_IHTMLTABLE_BORDER)]
19574     VARIANT border();
19575
19576     [propput, id(DISPID_IHTMLTABLE_FRAME)]
19577     void frame(BSTR v);
19578
19579     [propget, id(DISPID_IHTMLTABLE_FRAME)]
19580     BSTR frame();
19581
19582     [propput, id(DISPID_IHTMLTABLE_RULES)]
19583     void rules(BSTR v);
19584
19585     [propget, id(DISPID_IHTMLTABLE_RULES)]
19586     BSTR rules();
19587
19588     [propput, id(DISPID_IHTMLTABLE_CELLSPACING)]
19589     void cellSpacing(VARIANT v);
19590
19591     [propget, id(DISPID_IHTMLTABLE_CELLSPACING)]
19592     VARIANT cellSpacing();
19593
19594     [propput, id(DISPID_IHTMLTABLE_CELLPADDING)]
19595     void cellPadding(VARIANT v);
19596
19597     [propget, id(DISPID_IHTMLTABLE_CELLPADDING)]
19598     VARIANT cellPadding();
19599
19600     [propput, id(DISPID_IHTMLTABLE_BACKGROUND)]
19601     void background(BSTR v);
19602
19603     [propget, id(DISPID_IHTMLTABLE_BACKGROUND)]
19604     BSTR background();
19605
19606     [propput, id(DISPID_IHTMLTABLE_BGCOLOR)]
19607     void bgColor(VARIANT v);
19608
19609     [propget, id(DISPID_IHTMLTABLE_BGCOLOR)]
19610     VARIANT bgColor();
19611
19612     [propput, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
19613     void borderColor(VARIANT v);
19614
19615     [propget, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
19616     VARIANT borderColor();
19617
19618     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
19619     void borderColorLight(VARIANT v);
19620
19621     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
19622     VARIANT borderColorLight();
19623
19624     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
19625     void borderColorDark(VARIANT v);
19626
19627     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
19628     VARIANT borderColorDark();
19629
19630     [propput, id(DISPID_IHTMLTABLE_ALIGN)]
19631     void align(BSTR v);
19632
19633     [propget, id(DISPID_IHTMLTABLE_ALIGN)]
19634     BSTR align();
19635
19636     [id(DISPID_IHTMLTABLE_REFRESH)]
19637     void refresh();
19638
19639     [propget, id(DISPID_IHTMLTABLE_ROWS)]
19640     IHTMLElementCollection *rows();
19641
19642     [propput, id(DISPID_IHTMLTABLE_WIDTH)]
19643     void width(VARIANT v);
19644
19645     [propget, id(DISPID_IHTMLTABLE_WIDTH)]
19646     VARIANT width();
19647
19648     [propput, id(DISPID_IHTMLTABLE_HEIGHT)]
19649     void height(VARIANT v);
19650
19651     [propget, id(DISPID_IHTMLTABLE_HEIGHT)]
19652     VARIANT height();
19653
19654     [propput, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
19655     void dataPageSize(LONG v);
19656
19657     [propget, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
19658     LONG dataPageSize();
19659
19660     [id(DISPID_IHTMLTABLE_NEXTPAGE)]
19661     void nextPage();
19662
19663     [id(DISPID_IHTMLTABLE_PREVIOUSPAGE)]
19664     void previousPage();
19665
19666     [propget, id(DISPID_IHTMLTABLE_THEAD)]
19667     IHTMLTableSection *tHead();
19668
19669     [propget, id(DISPID_IHTMLTABLE_TFOOT)]
19670     IHTMLTableSection *tFoot();
19671
19672     [propget, id(DISPID_IHTMLTABLE_TBODIES)]
19673     IHTMLElementCollection *tBodies();
19674
19675     [propget, id(DISPID_IHTMLTABLE_CAPTION)]
19676     IHTMLTableCaption *caption();
19677
19678     [id(DISPID_IHTMLTABLE_CREATETHEAD)]
19679     IDispatch *createTHead();
19680
19681     [id(DISPID_IHTMLTABLE_DELETETHEAD)]
19682     void deleteTHead();
19683
19684     [id(DISPID_IHTMLTABLE_CREATETFOOT)]
19685     IDispatch *createTFoot();
19686
19687     [id(DISPID_IHTMLTABLE_DELETETFOOT)]
19688     void deleteTFoot();
19689
19690     [id(DISPID_IHTMLTABLE_CREATECAPTION)]
19691     IHTMLTableCaption *createCaption();
19692
19693     [id(DISPID_IHTMLTABLE_DELETECAPTION)]
19694     void deleteCaption();
19695
19696     [id(DISPID_IHTMLTABLE_INSERTROW)]
19697     IDispatch *insertRow([in, defaultvalue(-1)] LONG index);
19698
19699     [id(DISPID_IHTMLTABLE_DELETEROW)]
19700     void deleteRow([in, defaultvalue(-1)] LONG index);
19701
19702     [id(DISPID_IHTMLTABLE2_FIRSTPAGE)]
19703     void firstPage();
19704
19705     [id(DISPID_IHTMLTABLE2_LASTPAGE)]
19706     void lastPage();
19707
19708     [propget, id(DISPID_IHTMLTABLE2_CELLS)]
19709     IHTMLElementCollection *cells();
19710
19711     [id(DISPID_IHTMLTABLE2_MOVEROW)]
19712     IDispatch *moveRow(
19713             [in, defaultvalue(-1)] LONG indexFrom,
19714             [in, defaultvalue(-1)] LONG indexTo);
19715
19716     [propput, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
19717     void summary(BSTR v);
19718
19719     [propget, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
19720     BSTR summary();
19721 }
19722
19723 /*****************************************************************************
19724  *    DispHTMLTableRow dispinterface
19725  */
19726 [
19727     hidden,
19728     uuid(3050f535-98b5-11cf-bb82-00aa00bdce0b)
19729 ]
19730 dispinterface DispHTMLTableRow
19731 {
19732 properties:
19733 methods:
19734     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
19735     void setAttribute(
19736             [in] BSTR strAttributeName,
19737             [in] VARIANT AttributeValue,
19738             [in, defaultvalue(1)] LONG lFlags);
19739
19740     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
19741     VARIANT getAttribute(
19742              [in] BSTR strAttributeName,
19743              [in, defaultvalue(0)] LONG lFlags);
19744
19745     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
19746     VARIANT_BOOL removeAttribute(
19747             [in] BSTR strAttributeName,
19748             [in, defaultvalue(1)] LONG lFlags);
19749
19750     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
19751     void className(BSTR v);
19752
19753     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
19754     BSTR className();
19755
19756     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
19757     void id(BSTR v);
19758
19759     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
19760     BSTR id();
19761
19762     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
19763     BSTR tagName();
19764
19765     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
19766     IHTMLElement *parentElement();
19767
19768     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
19769     IHTMLStyle *style();
19770
19771     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
19772     void onhelp(VARIANT v);
19773
19774     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
19775     VARIANT onhelp();
19776
19777     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
19778     void onclick(VARIANT v);
19779
19780     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
19781     VARIANT onclick();
19782
19783     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
19784     void ondblclick(VARIANT v);
19785
19786     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
19787     VARIANT ondblclick();
19788
19789     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
19790     void onkeydown(VARIANT v);
19791
19792     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
19793     VARIANT onkeydown();
19794
19795     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
19796     void onkeyup(VARIANT v);
19797
19798     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
19799     VARIANT onkeyup();
19800
19801     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
19802     void onkeypress(VARIANT v);
19803
19804     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
19805     VARIANT onkeypress();
19806
19807     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
19808     void onmouseout(VARIANT v);
19809
19810     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
19811     VARIANT onmouseout();
19812
19813     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
19814     void onmouseover(VARIANT v);
19815
19816     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
19817     VARIANT onmouseover();
19818
19819     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
19820     void onmousemove(VARIANT v);
19821
19822     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
19823     VARIANT onmousemove();
19824
19825     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
19826     void onmousedown(VARIANT v);
19827
19828     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
19829     VARIANT onmousedown();
19830
19831     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
19832     void onmouseup(VARIANT v);
19833
19834     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
19835     VARIANT onmouseup();
19836
19837     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
19838     IDispatch *document();
19839
19840     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
19841     void title(BSTR v);
19842
19843     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
19844     BSTR title();
19845
19846     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
19847     void language(BSTR v);
19848
19849     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
19850     BSTR language();
19851
19852     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
19853     void onselectstart(VARIANT v);
19854
19855     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
19856     VARIANT onselectstart();
19857
19858     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
19859     void scrollIntoView([in, optional] VARIANT varargStart);
19860
19861     [id(DISPID_IHTMLELEMENT_CONTAINS)]
19862     VARIANT_BOOL contains([in] IHTMLElement *pChild);
19863
19864     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
19865     LONG sourceIndex();
19866
19867     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
19868     VARIANT recordNumber();
19869
19870     [propput, id(DISPID_IHTMLELEMENT_LANG)]
19871     void lang(BSTR v);
19872
19873     [propget, id(DISPID_IHTMLELEMENT_LANG)]
19874     BSTR lang();
19875
19876     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
19877     LONG offsetLeft();
19878
19879     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
19880     LONG offsetTop();
19881
19882     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
19883     LONG offsetWidth();
19884
19885     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
19886     LONG offsetHeight();
19887
19888     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
19889     IHTMLElement *offsetParent();
19890
19891     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
19892     void innerHTML(BSTR v);
19893
19894     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
19895     BSTR innerHTML();
19896
19897     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
19898     void innerText(BSTR v);
19899
19900     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
19901     BSTR innerText();
19902
19903     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
19904     void outerHTML(BSTR v);
19905
19906     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
19907     BSTR outerHTML();
19908
19909     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
19910     void outerText(BSTR v);
19911
19912     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
19913     BSTR outerText();
19914
19915     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
19916     void insertAdjacentHTML(
19917             [in] BSTR where,
19918             [in] BSTR html);
19919
19920     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
19921     void insertAdjacentText(
19922             [in] BSTR where,
19923             [in] BSTR text);
19924
19925     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
19926     IHTMLElement *parentTextEdit();
19927
19928     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
19929     VARIANT_BOOL isTextEdit();
19930
19931     [id(DISPID_IHTMLELEMENT_CLICK)]
19932     void click();
19933
19934     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
19935     IHTMLFiltersCollection *filters();
19936
19937     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
19938     void ondragstart(VARIANT v);
19939
19940     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
19941     VARIANT ondragstart();
19942
19943     [id(DISPID_IHTMLELEMENT_TOSTRING)]
19944     BSTR toString();
19945
19946     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
19947     void onbeforeupdate(VARIANT v);
19948
19949     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
19950     VARIANT onbeforeupdate();
19951
19952     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
19953     void onafterupdate(VARIANT v);
19954
19955     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
19956     VARIANT onafterupdate();
19957
19958     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
19959     void onerrorupdate(VARIANT v);
19960
19961     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
19962     VARIANT onerrorupdate();
19963
19964     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
19965     void onrowexit(VARIANT v);
19966
19967     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
19968     VARIANT onrowexit();
19969
19970     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
19971     void onrowenter(VARIANT v);
19972
19973     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
19974     VARIANT onrowenter();
19975
19976     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
19977     void ondatasetchanged(VARIANT v);
19978
19979     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
19980     VARIANT ondatasetchanged();
19981
19982     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
19983     void ondataavailable(VARIANT v);
19984
19985     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
19986     VARIANT ondataavailable();
19987
19988     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
19989     void ondatasetcomplete(VARIANT v);
19990
19991     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
19992     VARIANT ondatasetcomplete();
19993
19994     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
19995     void onfilterchange(VARIANT v);
19996
19997     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
19998     VARIANT onfilterchange();
19999
20000     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
20001     IDispatch *children();
20002
20003     [propget, id(DISPID_IHTMLELEMENT_ALL)]
20004     IDispatch *all();
20005
20006     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
20007     BSTR scopeName();
20008
20009     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
20010     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
20011
20012     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
20013     void releaseCapture();
20014
20015     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
20016     void onlosecapture(VARIANT v);
20017
20018     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
20019     VARIANT onlosecapture();
20020
20021     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
20022     BSTR componentFromPoint(
20023             [in] LONG x,
20024             [in] LONG y);
20025
20026     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
20027     void doScroll([in, optional] VARIANT component);
20028
20029     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
20030     void onscroll(VARIANT v);
20031
20032     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
20033     VARIANT onscroll();
20034
20035     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
20036     void ondrag(VARIANT v);
20037
20038     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
20039     VARIANT ondrag();
20040
20041     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
20042     void ondragend(VARIANT v);
20043
20044     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
20045     VARIANT ondragend();
20046
20047     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
20048     void ondragenter(VARIANT v);
20049
20050     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
20051     VARIANT ondragenter();
20052
20053     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
20054     void ondragover(VARIANT v);
20055
20056     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
20057     VARIANT ondragover();
20058
20059     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
20060     void ondragleave(VARIANT v);
20061
20062     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
20063     VARIANT ondragleave();
20064
20065     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
20066     void ondrop(VARIANT v);
20067
20068     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
20069     VARIANT ondrop();
20070
20071     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
20072     void onbeforecut(VARIANT v);
20073
20074     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
20075     VARIANT onbeforecut();
20076
20077     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
20078     void oncut(VARIANT v);
20079
20080     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
20081     VARIANT oncut();
20082
20083     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
20084     void onbeforecopy(VARIANT v);
20085
20086     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
20087     VARIANT onbeforecopy();
20088
20089     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
20090     void oncopy(VARIANT v);
20091
20092     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
20093     VARIANT oncopy();
20094
20095     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
20096     void onbeforepaste(VARIANT v);
20097
20098     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
20099     VARIANT onbeforepaste();
20100
20101     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
20102     void onpaste(VARIANT v);
20103
20104     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
20105     VARIANT onpaste();
20106
20107     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
20108     IHTMLCurrentStyle *currentStyle();
20109
20110     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
20111     void onpropertychange(VARIANT v);
20112
20113     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
20114     VARIANT onpropertychange();
20115
20116     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
20117     IHTMLRectCollection *getClientRects();
20118
20119     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
20120     IHTMLRect *getBoundingClientRect();
20121
20122     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
20123     void setExpression(
20124             [in] BSTR propname,
20125             [in] BSTR expression,
20126             [in, defaultvalue("")] BSTR language);
20127
20128     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
20129     VARIANT getExpression([in] BSTR propname);
20130
20131     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
20132     VARIANT_BOOL removeExpression([in] BSTR propname);
20133
20134     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
20135     void tabIndex(short v);
20136
20137     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
20138     short tabIndex();
20139
20140     [id(DISPID_IHTMLELEMENT2_FOCUS)]
20141     void focus();
20142
20143     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
20144     void accessKey(BSTR v);
20145
20146     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
20147     BSTR accessKey();
20148
20149     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
20150     void onblur(VARIANT v);
20151
20152     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
20153     VARIANT onblur();
20154
20155     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
20156     void onfocus(VARIANT v);
20157
20158     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
20159     VARIANT onfocus();
20160
20161     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
20162     void onresize(VARIANT v);
20163
20164     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
20165     VARIANT onresize();
20166
20167     [id(DISPID_IHTMLELEMENT2_BLUR)]
20168     void blur();
20169
20170     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
20171     void addFilter([in] IUnknown *pUnk);
20172
20173     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
20174     void removeFilter([in] IUnknown *pUnk);
20175
20176     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
20177     LONG clientHeight();
20178
20179     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
20180     LONG clientWidth();
20181
20182     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
20183     LONG clientTop();
20184
20185     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
20186     LONG clientLeft();
20187
20188     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
20189     VARIANT_BOOL attachEvent(
20190             [in] BSTR event,
20191             [in] IDispatch *pDisp);
20192
20193     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
20194     void detachEvent(
20195             [in] BSTR event,
20196             [in] IDispatch *pDisp);
20197
20198     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
20199     VARIANT readyState();
20200
20201     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
20202     void onreadystatechange(VARIANT v);
20203
20204     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
20205     VARIANT onreadystatechange();
20206
20207     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
20208     void onrowsdelete(VARIANT v);
20209
20210     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
20211     VARIANT onrowsdelete();
20212
20213     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
20214     void onrowsinserted(VARIANT v);
20215
20216     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
20217      VARIANT onrowsinserted();
20218
20219     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
20220      void oncellchange(VARIANT v);
20221
20222     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
20223     VARIANT oncellchange();
20224
20225     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
20226     void dir(BSTR v);
20227
20228     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
20229     BSTR dir();
20230
20231     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
20232     IDispatch *createControlRange();
20233
20234     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
20235     LONG scrollHeight();
20236
20237     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
20238     LONG scrollWidth();
20239
20240     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
20241     void scrollTop(LONG v);
20242
20243     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
20244     LONG scrollTop();
20245
20246     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
20247     void scrollLeft(LONG v);
20248
20249     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
20250     LONG scrollLeft();
20251
20252     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
20253     void clearAttributes();
20254
20255     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
20256     void oncontextmenu(VARIANT v);
20257
20258     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
20259     VARIANT oncontextmenu();
20260
20261     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
20262     IHTMLElement *insertAdjacentElement(
20263             [in] BSTR where,
20264             [in] IHTMLElement *insertedElement);
20265
20266     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
20267     IHTMLElement *applyElement(
20268             [in] IHTMLElement *apply,
20269             [in] BSTR where);
20270
20271     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
20272     BSTR getAdjacentText([in] BSTR where);
20273
20274     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
20275     BSTR replaceAdjacentText(
20276             [in] BSTR where,
20277             [in] BSTR newText);
20278
20279     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
20280     VARIANT_BOOL canHaveChildren();
20281
20282     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
20283     LONG addBehavior(
20284             [in] BSTR bstrUrl,
20285             [in, optional] VARIANT *pvarFactory);
20286
20287     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
20288     VARIANT_BOOL removeBehavior([in] LONG cookie);
20289
20290     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
20291     IHTMLStyle *runtimeStyle();
20292
20293     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
20294     IDispatch *behaviorUrns();
20295
20296     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
20297     void tagUrn(BSTR v);
20298
20299     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
20300     BSTR tagUrn();
20301
20302     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
20303     void onbeforeeditfocus(VARIANT v);
20304
20305     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
20306     VARIANT onbeforeeditfocus();
20307
20308     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
20309     LONG readyStateValue();
20310
20311     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
20312     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
20313
20314     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
20315     void mergeAttributes(
20316             [in] IHTMLElement *mergeThis,
20317             [in, optional] VARIANT *pvarFlags);
20318
20319     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
20320     VARIANT_BOOL isMultiLine();
20321
20322     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
20323     VARIANT_BOOL canHaveHTML();
20324
20325     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
20326     void onlayoutcomplete(VARIANT v);
20327
20328     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
20329     VARIANT onlayoutcomplete();
20330
20331     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
20332     void onpage(VARIANT v);
20333
20334     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
20335     VARIANT onpage();
20336
20337     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
20338     void inflateBlock(VARIANT_BOOL v);
20339
20340     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
20341     VARIANT_BOOL inflateBlock();
20342
20343     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
20344     void onbeforedeactivate(VARIANT v);
20345
20346     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
20347     VARIANT onbeforedeactivate();
20348
20349     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
20350     void setActive();
20351
20352     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
20353     void contentEditable(BSTR v);
20354
20355     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
20356     BSTR contentEditable();
20357
20358     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
20359     VARIANT_BOOL isContentEditable();
20360
20361     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
20362     void hideFocus(VARIANT_BOOL v);
20363
20364     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
20365     VARIANT_BOOL hideFocus();
20366
20367     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
20368     void disabled(VARIANT_BOOL v);
20369
20370     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
20371     VARIANT_BOOL disabled();
20372
20373     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
20374     VARIANT_BOOL isDisabled();
20375
20376     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
20377     void onmove(VARIANT v);
20378
20379     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
20380     VARIANT onmove();
20381
20382     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
20383     void oncontrolselect(VARIANT v);
20384
20385     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
20386     VARIANT oncontrolselect();
20387
20388     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
20389     VARIANT_BOOL fireEvent(
20390             [in] BSTR bstrEventName,
20391             [in, optional] VARIANT *pvarEventObject);
20392
20393     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
20394     void onresizestart(VARIANT v);
20395
20396     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
20397     VARIANT onresizestart();
20398
20399     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
20400     void onresizeend(VARIANT v);
20401
20402     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
20403     VARIANT onresizeend();
20404
20405     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
20406     void onmovestart(VARIANT v);
20407
20408     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
20409     VARIANT onmovestart();
20410
20411     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
20412     void onmoveend(VARIANT v);
20413
20414     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
20415     VARIANT onmoveend();
20416
20417     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
20418     void onmouseenter(VARIANT v);
20419
20420     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
20421     VARIANT onmouseenter();
20422
20423     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
20424     void onmouseleave(VARIANT v);
20425
20426     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
20427     VARIANT onmouseleave();
20428
20429     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
20430     void onactivate(VARIANT v);
20431
20432     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
20433     VARIANT onactivate();
20434
20435     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
20436     void ondeactivate(VARIANT v);
20437
20438     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
20439     VARIANT ondeactivate();
20440
20441     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
20442     VARIANT_BOOL dragDrop();
20443
20444     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
20445     LONG glyphMode();
20446
20447     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
20448     void onmousewheel(VARIANT v);
20449
20450     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
20451     VARIANT onmousewheel();
20452
20453     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
20454     void normalize();
20455
20456     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
20457     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
20458
20459     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
20460     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
20461
20462     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
20463     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
20464
20465     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
20466     void onbeforeactivate(VARIANT v);
20467
20468     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
20469     VARIANT onbeforeactivate();
20470
20471     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
20472     void onfocusin(VARIANT v);
20473
20474     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
20475     VARIANT onfocusin();
20476
20477     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
20478     void onfocusout(VARIANT v);
20479
20480     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
20481     VARIANT onfocusout();
20482
20483     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
20484     LONG uniqueNumber();
20485
20486     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
20487     BSTR uniqueID();
20488
20489     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
20490     LONG nodeType();
20491
20492     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
20493     IHTMLDOMNode *parentNode();
20494
20495     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
20496     VARIANT_BOOL hasChildNodes();
20497
20498     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
20499     IDispatch *childNodes();
20500
20501     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
20502     IDispatch *attributes();
20503
20504     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
20505     IHTMLDOMNode *insertBefore(
20506             [in] IHTMLDOMNode *newChild,
20507             [in, optional] VARIANT refChild);
20508
20509     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
20510     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
20511
20512     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
20513     IHTMLDOMNode *replaceChild(
20514             [in] IHTMLDOMNode *newChild,
20515             [in] IHTMLDOMNode *oldChild);
20516
20517     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
20518     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
20519
20520     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
20521     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
20522
20523     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
20524     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
20525
20526     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
20527     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
20528
20529     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
20530     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
20531
20532     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
20533     BSTR nodeName();
20534
20535     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
20536     void nodeValue(VARIANT v);
20537
20538     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
20539     VARIANT nodeValue();
20540
20541     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
20542     IHTMLDOMNode *firstChild();
20543
20544     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
20545     IHTMLDOMNode *lastChild();
20546
20547     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
20548     IHTMLDOMNode *previousSibling();
20549
20550     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
20551     IHTMLDOMNode *nextSibling();
20552
20553     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
20554     IDispatch *ownerDocument();
20555
20556     [propput, id(DISPID_IHTMLTABLEROW_ALIGN)]
20557     void align(BSTR v);
20558
20559     [propget, id(DISPID_IHTMLTABLEROW_ALIGN)]
20560     BSTR align();
20561
20562     [propput, id(DISPID_IHTMLTABLEROW_VALIGN)]
20563     void vAlign(BSTR v);
20564
20565     [propget, id(DISPID_IHTMLTABLEROW_VALIGN)]
20566     BSTR vAlign();
20567
20568     [propput, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
20569     void bgColor(VARIANT v);
20570
20571     [propget, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
20572     VARIANT bgColor();
20573
20574     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
20575     void borderColor(VARIANT v);
20576
20577     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
20578     VARIANT borderColor();
20579
20580     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
20581     void borderColorLight(VARIANT v);
20582
20583     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
20584     VARIANT borderColorLight();
20585
20586     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
20587     void borderColorDark(VARIANT v);
20588
20589     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
20590     VARIANT borderColorDark();
20591
20592     [propget, id(DISPID_IHTMLTABLEROW_ROWINDEX)]
20593     LONG rowIndex();
20594
20595     [propget, id(DISPID_IHTMLTABLEROW_SECTIONROWINDEX)]
20596     LONG sectionRowIndex();
20597
20598     [propget, id(DISPID_IHTMLTABLEROW_CELLS)]
20599     IHTMLElementCollection *cells();
20600
20601     [id(DISPID_IHTMLTABLEROW_INSERTCELL)]
20602     IDispatch *insertCell([in, defaultvalue(-1)] LONG index);
20603
20604     [id(DISPID_IHTMLTABLEROW_DELETECELL)]
20605     void deleteCell([in, defaultvalue(-1)] LONG index);
20606
20607     [propput, id(DISPID_IHTMLTABLEROW2_HEIGHT)]
20608     void height(VARIANT v);
20609
20610     [propget, id(DISPID_IHTMLTABLEROW2_HEIGHT)]
20611     VARIANT height();
20612
20613     [propput, id(DISPID_IHTMLTABLEROW3_CH), displaybind, bindable]
20614     void ch(BSTR v);
20615
20616     [propget, id(DISPID_IHTMLTABLEROW3_CH), displaybind, bindable]
20617     BSTR ch();
20618
20619     [propput, id(DISPID_IHTMLTABLEROW3_CHOFF), displaybind, bindable]
20620     void chOff(BSTR v);
20621
20622     [propget, id(DISPID_IHTMLTABLEROW3_CHOFF), displaybind, bindable]
20623     BSTR chOff();
20624 }
20625
20626 /*****************************************************************************
20627  *    IHTMLScriptElement interface
20628  */
20629 [
20630     odl,
20631     oleautomation,
20632     dual,
20633     uuid(3050f28b-98b5-11cf-bb82-00aa00bdce0b)
20634 ]
20635 interface IHTMLScriptElement : IDispatch
20636 {
20637     [propput, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
20638     HRESULT src([in] BSTR v);
20639
20640     [propget, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
20641     HRESULT src([retval, out] BSTR *p);
20642
20643     [propput, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
20644     HRESULT htmlFor([in] BSTR v);
20645
20646     [propget, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
20647     HRESULT htmlFor([retval, out] BSTR *p);
20648
20649     [propput, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
20650     HRESULT event([in] BSTR v);
20651
20652     [propget, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
20653     HRESULT event([retval, out] BSTR *p);
20654
20655     [propput, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
20656     HRESULT text([in] BSTR v);
20657
20658     [propget, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
20659     HRESULT text([retval, out] BSTR *p);
20660
20661     [propput, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
20662     HRESULT defer([in] VARIANT_BOOL v);
20663
20664     [propget, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
20665     HRESULT defer([retval, out] VARIANT_BOOL *p);
20666
20667     [propget, id(DISPID_IHTMLSCRIPTELEMENT_READYSTATE)]
20668     HRESULT readyState([retval, out] BSTR *p);
20669
20670     [propput, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
20671     HRESULT onerror([in] VARIANT v);
20672
20673     [propget, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
20674     HRESULT onerror([retval, out] VARIANT *p);
20675
20676     [propput, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
20677     HRESULT type([in] BSTR v);
20678
20679     [propget, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
20680     HRESULT type([retval, out] BSTR *p);
20681 }
20682
20683 /*****************************************************************************
20684  *    IHTMLScriptElement2 interface
20685  */
20686 [
20687     odl,
20688     oleautomation,
20689     dual,
20690     uuid(3050f828-98b5-11cf-bb82-00aa00bdce0b)
20691 ]
20692 interface IHTMLScriptElement2 : IDispatch
20693 {
20694     [propput, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
20695     HRESULT charset([in] BSTR v);
20696
20697     [propget, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
20698     HRESULT charset([retval, out] BSTR *p);
20699 }
20700
20701 /*****************************************************************************
20702  *    IHTMLFrameBase interface
20703  */
20704 [
20705     odl,
20706     oleautomation,
20707     dual,
20708     uuid(3050f311-98b5-11cf-bb82-00aa00bdce0b)
20709 ]
20710 interface IHTMLFrameBase : IDispatch
20711 {
20712     [propput, id(DISPID_IHTMLFRAMEBASE_SRC)]
20713     HRESULT src([in] BSTR v);
20714
20715     [propget, id(DISPID_IHTMLFRAMEBASE_SRC)]
20716     HRESULT src([out, retval] BSTR *p);
20717
20718     [propput, id(DISPID_IHTMLFRAMEBASE_NAME)]
20719     HRESULT name([in] BSTR v);
20720
20721     [propget, id(DISPID_IHTMLFRAMEBASE_NAME)]
20722     HRESULT name([out, retval] BSTR *p);
20723
20724     [propput, id(DISPID_IHTMLFRAMEBASE_BORDER)]
20725     HRESULT border([in] VARIANT v);
20726
20727     [propget, id(DISPID_IHTMLFRAMEBASE_BORDER)]
20728     HRESULT border([out, retval] VARIANT *p);
20729
20730     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
20731     HRESULT frameBorder([in] BSTR v);
20732
20733     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
20734     HRESULT frameBorder([out, retval] BSTR *p);
20735
20736     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
20737     HRESULT frameSpacing([in] VARIANT v);
20738
20739     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
20740     HRESULT frameSpacing([out, retval] VARIANT *p);
20741
20742     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
20743     HRESULT marginWidth([in] VARIANT v);
20744
20745     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
20746     HRESULT marginWidth([out, retval] VARIANT *p);
20747
20748     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
20749     HRESULT marginHeight([in] VARIANT v);
20750
20751     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
20752     HRESULT marginHeight([out, retval] VARIANT *p);
20753
20754     [propput, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
20755     HRESULT noResize([in] VARIANT_BOOL v);
20756
20757     [propget, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
20758     HRESULT noResize([out, retval] VARIANT_BOOL *p);
20759
20760     [propput, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
20761     HRESULT scrolling([in] BSTR v);
20762
20763     [propget, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
20764     HRESULT scrolling([out, retval] BSTR *p);
20765 }
20766
20767 /*****************************************************************************
20768  *    IHTMLFrameBase2 interface
20769  */
20770 [
20771     odl,
20772     oleautomation,
20773     dual,
20774     uuid(3050f6db-98b5-11cf-bb82-00aa00bdce0b)
20775 ]
20776 interface IHTMLFrameBase2 : IDispatch
20777 {
20778     [propget, id(DISPID_IHTMLFRAMEBASE2_CONTENTWINDOW)]
20779     HRESULT contentWindow([retval, out] IHTMLWindow2 **p);
20780
20781     [propput, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
20782     HRESULT onload([in] VARIANT v);
20783
20784     [propget, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
20785     HRESULT onload([retval, out] VARIANT *p);
20786
20787     [propput, id(DISPID_IHTMLFRAMEBASE2_ONREADYSTATECHANGE), displaybind, bindable]
20788     HRESULT onreadystatechange([in] VARIANT v);
20789
20790     [propget, id(DISPID_IHTMLFRAMEBASE2_ONREADYSTATECHANGE), displaybind, bindable]
20791     HRESULT onreadystatechange([retval, out] VARIANT *p);
20792
20793     [propget, id(DISPID_IHTMLFRAMEBASE2_READYSTATE)]
20794     HRESULT readyState([retval, out] BSTR *p);
20795
20796     [propput, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
20797     HRESULT allowTransparency([in] VARIANT_BOOL v);
20798
20799     [propget, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
20800     HRESULT allowTransparency([retval, out] VARIANT_BOOL *p);
20801 }
20802
20803 /*****************************************************************************
20804  *    DispHTMLIFrame dispinterface
20805  */
20806 [
20807     hidden,
20808     uuid(3050f51b-98b5-11cf-bb82-00aa00bdce0b)
20809 ]
20810 dispinterface DispHTMLIFrame
20811 {
20812 properties:
20813 methods:
20814     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
20815     void setAttribute(
20816             [in] BSTR strAttributeName,
20817             [in] VARIANT AttributeValue,
20818             [in, defaultvalue(1)] LONG lFlags);
20819
20820     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
20821     VARIANT getAttribute(
20822              [in] BSTR strAttributeName,
20823              [in, defaultvalue(0)] LONG lFlags);
20824
20825     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
20826     VARIANT_BOOL removeAttribute(
20827             [in] BSTR strAttributeName,
20828             [in, defaultvalue(1)] LONG lFlags);
20829
20830     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
20831     void className(BSTR v);
20832
20833     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
20834     BSTR className();
20835
20836     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
20837     void id(BSTR v);
20838
20839     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
20840     BSTR id();
20841
20842     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
20843     BSTR tagName();
20844
20845     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
20846     IHTMLElement *parentElement();
20847
20848     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
20849     IHTMLStyle *style();
20850
20851     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
20852     void onhelp(VARIANT v);
20853
20854     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
20855     VARIANT onhelp();
20856
20857     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
20858     void onclick(VARIANT v);
20859
20860     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
20861     VARIANT onclick();
20862
20863     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
20864     void ondblclick(VARIANT v);
20865
20866     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
20867     VARIANT ondblclick();
20868
20869     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
20870     void onkeydown(VARIANT v);
20871
20872     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
20873     VARIANT onkeydown();
20874
20875     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
20876     void onkeyup(VARIANT v);
20877
20878     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
20879     VARIANT onkeyup();
20880
20881     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
20882     void onkeypress(VARIANT v);
20883
20884     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
20885     VARIANT onkeypress();
20886
20887     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
20888     void onmouseout(VARIANT v);
20889
20890     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
20891     VARIANT onmouseout();
20892
20893     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
20894     void onmouseover(VARIANT v);
20895
20896     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
20897     VARIANT onmouseover();
20898
20899     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
20900     void onmousemove(VARIANT v);
20901
20902     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
20903     VARIANT onmousemove();
20904
20905     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
20906     void onmousedown(VARIANT v);
20907
20908     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
20909     VARIANT onmousedown();
20910
20911     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
20912     void onmouseup(VARIANT v);
20913
20914     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
20915     VARIANT onmouseup();
20916
20917     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
20918     IDispatch *document();
20919
20920     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
20921     void title(BSTR v);
20922
20923     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
20924     BSTR title();
20925
20926     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
20927     void language(BSTR v);
20928
20929     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
20930     BSTR language();
20931
20932     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
20933     void onselectstart(VARIANT v);
20934
20935     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
20936     VARIANT onselectstart();
20937
20938     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
20939     void scrollIntoView([in, optional] VARIANT varargStart);
20940
20941     [id(DISPID_IHTMLELEMENT_CONTAINS)]
20942     VARIANT_BOOL contains([in] IHTMLElement *pChild);
20943
20944     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
20945     LONG sourceIndex();
20946
20947     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
20948     VARIANT recordNumber();
20949
20950     [propput, id(DISPID_IHTMLELEMENT_LANG)]
20951     void lang(BSTR v);
20952
20953     [propget, id(DISPID_IHTMLELEMENT_LANG)]
20954     BSTR lang();
20955
20956     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
20957     LONG offsetLeft();
20958
20959     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
20960     LONG offsetTop();
20961
20962     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
20963     LONG offsetWidth();
20964
20965     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
20966     LONG offsetHeight();
20967
20968     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
20969     IHTMLElement *offsetParent();
20970
20971     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
20972     void innerHTML(BSTR v);
20973
20974     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
20975     BSTR innerHTML();
20976
20977     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
20978     void innerText(BSTR v);
20979
20980     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
20981     BSTR innerText();
20982
20983     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
20984     void outerHTML(BSTR v);
20985
20986     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
20987     BSTR outerHTML();
20988
20989     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
20990     void outerText(BSTR v);
20991
20992     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
20993     BSTR outerText();
20994
20995     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
20996     void insertAdjacentHTML(
20997             [in] BSTR where,
20998             [in] BSTR html);
20999
21000     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
21001     void insertAdjacentText(
21002             [in] BSTR where,
21003             [in] BSTR text);
21004
21005     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
21006     IHTMLElement *parentTextEdit();
21007
21008     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
21009     VARIANT_BOOL isTextEdit();
21010
21011     [id(DISPID_IHTMLELEMENT_CLICK)]
21012     void click();
21013
21014     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
21015     IHTMLFiltersCollection *filters();
21016
21017     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
21018     void ondragstart(VARIANT v);
21019
21020     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
21021     VARIANT ondragstart();
21022
21023     [id(DISPID_IHTMLELEMENT_TOSTRING)]
21024     BSTR toString();
21025
21026     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
21027     void onbeforeupdate(VARIANT v);
21028
21029     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
21030     VARIANT onbeforeupdate();
21031
21032     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
21033     void onafterupdate(VARIANT v);
21034
21035     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
21036     VARIANT onafterupdate();
21037
21038     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
21039     void onerrorupdate(VARIANT v);
21040
21041     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
21042     VARIANT onerrorupdate();
21043
21044     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
21045     void onrowexit(VARIANT v);
21046
21047     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
21048     VARIANT onrowexit();
21049
21050     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
21051     void onrowenter(VARIANT v);
21052
21053     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
21054     VARIANT onrowenter();
21055
21056     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
21057     void ondatasetchanged(VARIANT v);
21058
21059     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
21060     VARIANT ondatasetchanged();
21061
21062     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
21063     void ondataavailable(VARIANT v);
21064
21065     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
21066     VARIANT ondataavailable();
21067
21068     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
21069     void ondatasetcomplete(VARIANT v);
21070
21071     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
21072     VARIANT ondatasetcomplete();
21073
21074     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
21075     void onfilterchange(VARIANT v);
21076
21077     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
21078     VARIANT onfilterchange();
21079
21080     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
21081     IDispatch *children();
21082
21083     [propget, id(DISPID_IHTMLELEMENT_ALL)]
21084     IDispatch *all();
21085
21086     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
21087     BSTR scopeName();
21088
21089     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
21090     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
21091
21092     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
21093     void releaseCapture();
21094
21095     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
21096     void onlosecapture(VARIANT v);
21097
21098     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
21099     VARIANT onlosecapture();
21100
21101     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
21102     BSTR componentFromPoint(
21103             [in] LONG x,
21104             [in] LONG y);
21105
21106     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
21107     void doScroll([in, optional] VARIANT component);
21108
21109     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
21110     void onscroll(VARIANT v);
21111
21112     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
21113     VARIANT onscroll();
21114
21115     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
21116     void ondrag(VARIANT v);
21117
21118     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
21119     VARIANT ondrag();
21120
21121     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
21122     void ondragend(VARIANT v);
21123
21124     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
21125     VARIANT ondragend();
21126
21127     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
21128     void ondragenter(VARIANT v);
21129
21130     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
21131     VARIANT ondragenter();
21132
21133     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
21134     void ondragover(VARIANT v);
21135
21136     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
21137     VARIANT ondragover();
21138
21139     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
21140     void ondragleave(VARIANT v);
21141
21142     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
21143     VARIANT ondragleave();
21144
21145     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
21146     void ondrop(VARIANT v);
21147
21148     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
21149     VARIANT ondrop();
21150
21151     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
21152     void onbeforecut(VARIANT v);
21153
21154     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
21155     VARIANT onbeforecut();
21156
21157     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
21158     void oncut(VARIANT v);
21159
21160     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
21161     VARIANT oncut();
21162
21163     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
21164     void onbeforecopy(VARIANT v);
21165
21166     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
21167     VARIANT onbeforecopy();
21168
21169     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
21170     void oncopy(VARIANT v);
21171
21172     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
21173     VARIANT oncopy();
21174
21175     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
21176     void onbeforepaste(VARIANT v);
21177
21178     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
21179     VARIANT onbeforepaste();
21180
21181     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
21182     void onpaste(VARIANT v);
21183
21184     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
21185     VARIANT onpaste();
21186
21187     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
21188     IHTMLCurrentStyle *currentStyle();
21189
21190     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
21191     void onpropertychange(VARIANT v);
21192
21193     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
21194     VARIANT onpropertychange();
21195
21196     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
21197     IHTMLRectCollection *getClientRects();
21198
21199     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
21200     IHTMLRect *getBoundingClientRect();
21201
21202     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
21203     void setExpression(
21204             [in] BSTR propname,
21205             [in] BSTR expression,
21206             [in, defaultvalue("")] BSTR language);
21207
21208     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
21209     VARIANT getExpression([in] BSTR propname);
21210
21211     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
21212     VARIANT_BOOL removeExpression([in] BSTR propname);
21213
21214     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
21215     void tabIndex(short v);
21216
21217     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
21218     short tabIndex();
21219
21220     [id(DISPID_IHTMLELEMENT2_FOCUS)]
21221     void focus();
21222
21223     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
21224     void accessKey(BSTR v);
21225
21226     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
21227     BSTR accessKey();
21228
21229     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
21230     void onblur(VARIANT v);
21231
21232     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
21233     VARIANT onblur();
21234
21235     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
21236     void onfocus(VARIANT v);
21237
21238     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
21239     VARIANT onfocus();
21240
21241     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
21242     void onresize(VARIANT v);
21243
21244     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
21245     VARIANT onresize();
21246
21247     [id(DISPID_IHTMLELEMENT2_BLUR)]
21248     void blur();
21249
21250     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
21251     void addFilter([in] IUnknown *pUnk);
21252
21253     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
21254     void removeFilter([in] IUnknown *pUnk);
21255
21256     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
21257     LONG clientHeight();
21258
21259     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
21260     LONG clientWidth();
21261
21262     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
21263     LONG clientTop();
21264
21265     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
21266     LONG clientLeft();
21267
21268     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
21269     VARIANT_BOOL attachEvent(
21270             [in] BSTR event,
21271             [in] IDispatch *pDisp);
21272
21273     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
21274     void detachEvent(
21275             [in] BSTR event,
21276             [in] IDispatch *pDisp);
21277
21278     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
21279     VARIANT readyState();
21280
21281     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
21282     void onreadystatechange(VARIANT v);
21283
21284     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
21285     VARIANT onreadystatechange();
21286
21287     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
21288     void onrowsdelete(VARIANT v);
21289
21290     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
21291     VARIANT onrowsdelete();
21292
21293     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
21294     void onrowsinserted(VARIANT v);
21295
21296     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
21297      VARIANT onrowsinserted();
21298
21299     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
21300      void oncellchange(VARIANT v);
21301
21302     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
21303     VARIANT oncellchange();
21304
21305     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
21306     void dir(BSTR v);
21307
21308     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
21309     BSTR dir();
21310
21311     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
21312     IDispatch *createControlRange();
21313
21314     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
21315     LONG scrollHeight();
21316
21317     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
21318     LONG scrollWidth();
21319
21320     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
21321     void scrollTop(LONG v);
21322
21323     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
21324     LONG scrollTop();
21325
21326     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
21327     void scrollLeft(LONG v);
21328
21329     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
21330     LONG scrollLeft();
21331
21332     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
21333     void clearAttributes();
21334
21335     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
21336     void oncontextmenu(VARIANT v);
21337
21338     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
21339     VARIANT oncontextmenu();
21340
21341     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
21342     IHTMLElement *insertAdjacentElement(
21343             [in] BSTR where,
21344             [in] IHTMLElement *insertedElement);
21345
21346     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
21347     IHTMLElement *applyElement(
21348             [in] IHTMLElement *apply,
21349             [in] BSTR where);
21350
21351     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
21352     BSTR getAdjacentText([in] BSTR where);
21353
21354     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
21355     BSTR replaceAdjacentText(
21356             [in] BSTR where,
21357             [in] BSTR newText);
21358
21359     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
21360     VARIANT_BOOL canHaveChildren();
21361
21362     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
21363     LONG addBehavior(
21364             [in] BSTR bstrUrl,
21365             [in, optional] VARIANT *pvarFactory);
21366
21367     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
21368     VARIANT_BOOL removeBehavior([in] LONG cookie);
21369
21370     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
21371     IHTMLStyle *runtimeStyle();
21372
21373     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
21374     IDispatch *behaviorUrns();
21375
21376     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
21377     void tagUrn(BSTR v);
21378
21379     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
21380     BSTR tagUrn();
21381
21382     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
21383     void onbeforeeditfocus(VARIANT v);
21384
21385     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
21386     VARIANT onbeforeeditfocus();
21387
21388     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
21389     LONG readyStateValue();
21390
21391     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
21392     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
21393
21394     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
21395     void mergeAttributes(
21396             [in] IHTMLElement *mergeThis,
21397             [in, optional] VARIANT *pvarFlags);
21398
21399     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
21400     VARIANT_BOOL isMultiLine();
21401
21402     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
21403     VARIANT_BOOL canHaveHTML();
21404
21405     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
21406     void onlayoutcomplete(VARIANT v);
21407
21408     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
21409     VARIANT onlayoutcomplete();
21410
21411     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
21412     void onpage(VARIANT v);
21413
21414     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
21415     VARIANT onpage();
21416
21417     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
21418     void inflateBlock(VARIANT_BOOL v);
21419
21420     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
21421     VARIANT_BOOL inflateBlock();
21422
21423     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
21424     void onbeforedeactivate(VARIANT v);
21425
21426     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
21427     VARIANT onbeforedeactivate();
21428
21429     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
21430     void setActive();
21431
21432     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
21433     void contentEditable(BSTR v);
21434
21435     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
21436     BSTR contentEditable();
21437
21438     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
21439     VARIANT_BOOL isContentEditable();
21440
21441     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
21442     void hideFocus(VARIANT_BOOL v);
21443
21444     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
21445     VARIANT_BOOL hideFocus();
21446
21447     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
21448     void disabled(VARIANT_BOOL v);
21449
21450     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
21451     VARIANT_BOOL disabled();
21452
21453     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
21454     VARIANT_BOOL isDisabled();
21455
21456     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
21457     void onmove(VARIANT v);
21458
21459     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
21460     VARIANT onmove();
21461
21462     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
21463     void oncontrolselect(VARIANT v);
21464
21465     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
21466     VARIANT oncontrolselect();
21467
21468     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
21469     VARIANT_BOOL fireEvent(
21470             [in] BSTR bstrEventName,
21471             [in, optional] VARIANT *pvarEventObject);
21472
21473     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
21474     void onresizestart(VARIANT v);
21475
21476     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
21477     VARIANT onresizestart();
21478
21479     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
21480     void onresizeend(VARIANT v);
21481
21482     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
21483     VARIANT onresizeend();
21484
21485     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
21486     void onmovestart(VARIANT v);
21487
21488     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
21489     VARIANT onmovestart();
21490
21491     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
21492     void onmoveend(VARIANT v);
21493
21494     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
21495     VARIANT onmoveend();
21496
21497     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
21498     void onmouseenter(VARIANT v);
21499
21500     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
21501     VARIANT onmouseenter();
21502
21503     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
21504     void onmouseleave(VARIANT v);
21505
21506     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
21507     VARIANT onmouseleave();
21508
21509     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
21510     void onactivate(VARIANT v);
21511
21512     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
21513     VARIANT onactivate();
21514
21515     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
21516     void ondeactivate(VARIANT v);
21517
21518     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
21519     VARIANT ondeactivate();
21520
21521     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
21522     VARIANT_BOOL dragDrop();
21523
21524     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
21525     LONG glyphMode();
21526
21527     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
21528     void onmousewheel(VARIANT v);
21529
21530     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
21531     VARIANT onmousewheel();
21532
21533     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
21534     void normalize();
21535
21536     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
21537     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
21538
21539     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
21540     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
21541
21542     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
21543     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
21544
21545     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
21546     void onbeforeactivate(VARIANT v);
21547
21548     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
21549     VARIANT onbeforeactivate();
21550
21551     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
21552     void onfocusin(VARIANT v);
21553
21554     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
21555     VARIANT onfocusin();
21556
21557     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
21558     void onfocusout(VARIANT v);
21559
21560     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
21561     VARIANT onfocusout();
21562
21563     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
21564     LONG uniqueNumber();
21565
21566     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
21567     BSTR uniqueID();
21568
21569     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
21570     LONG nodeType();
21571
21572     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
21573     IHTMLDOMNode *parentNode();
21574
21575     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
21576     VARIANT_BOOL hasChildNodes();
21577
21578     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
21579     IDispatch *childNodes();
21580
21581     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
21582     IDispatch *attributes();
21583
21584     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
21585     IHTMLDOMNode *insertBefore(
21586             [in] IHTMLDOMNode *newChild,
21587             [in, optional] VARIANT refChild);
21588
21589     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
21590     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
21591
21592     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
21593     IHTMLDOMNode *replaceChild(
21594             [in] IHTMLDOMNode *newChild,
21595             [in] IHTMLDOMNode *oldChild);
21596
21597     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
21598     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
21599
21600     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
21601     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
21602
21603     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
21604     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
21605
21606     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
21607     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
21608
21609     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
21610     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
21611
21612     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
21613     BSTR nodeName();
21614
21615     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
21616     void nodeValue(VARIANT v);
21617
21618     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
21619     VARIANT nodeValue();
21620
21621     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
21622     IHTMLDOMNode *firstChild();
21623
21624     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
21625     IHTMLDOMNode *lastChild();
21626
21627     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
21628     IHTMLDOMNode *previousSibling();
21629
21630     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
21631     IHTMLDOMNode *nextSibling();
21632
21633     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
21634     IDispatch *ownerDocument();
21635
21636     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
21637     void dataFld(BSTR v);
21638
21639     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
21640     BSTR dataFld();
21641
21642     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
21643     void dataSrc(BSTR v);
21644
21645     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
21646     BSTR dataSrc();
21647
21648     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
21649     void dataFormatAs(BSTR v);
21650
21651     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
21652     BSTR dataFormatAs();
21653
21654     [propput, id(DISPID_IHTMLFRAMEBASE_SRC)]
21655     void src(BSTR v);
21656
21657     [propget, id(DISPID_IHTMLFRAMEBASE_SRC)]
21658     BSTR src();
21659
21660     [propput, id(DISPID_IHTMLFRAMEBASE_NAME)]
21661     void name(BSTR v);
21662
21663     [propget, id(DISPID_IHTMLFRAMEBASE_NAME)]
21664     BSTR name();
21665
21666     [propput, id(DISPID_IHTMLFRAMEBASE_BORDER)]
21667     void border(VARIANT v);
21668
21669     [propget, id(DISPID_IHTMLFRAMEBASE_BORDER)]
21670     VARIANT border();
21671
21672     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
21673     void frameBorder(BSTR v);
21674
21675     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
21676     BSTR frameBorder();
21677
21678     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
21679     void frameSpacing(VARIANT v);
21680
21681     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
21682     VARIANT frameSpacing();
21683
21684     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
21685     void marginWidth(VARIANT v);
21686
21687     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
21688     VARIANT marginWidth();
21689
21690     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
21691     void marginHeight(VARIANT v);
21692
21693     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
21694     VARIANT marginHeight();
21695
21696     [propput, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
21697     void noResize(VARIANT_BOOL v);
21698
21699     [propget, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
21700     VARIANT_BOOL noResize();
21701
21702     [propput, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
21703     void scrolling(BSTR v);
21704
21705     [propget, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
21706     BSTR scrolling();
21707
21708     [propget, id(DISPID_IHTMLFRAMEBASE2_CONTENTWINDOW)]
21709     IHTMLWindow2 *contentWindow();
21710
21711     [propput, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
21712     void onload(VARIANT v);
21713
21714     [propget, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
21715     VARIANT onload();
21716
21717     [propput, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
21718     void allowTransparency(VARIANT_BOOL v);
21719
21720     [propget, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
21721     VARIANT_BOOL allowTransparency();
21722
21723     [propput, id(DISPID_IHTMLFRAMEBASE3_LONGDESC), displaybind, bindable]
21724     void longDesc(BSTR v);
21725
21726     [propget, id(DISPID_IHTMLFRAMEBASE3_LONGDESC), displaybind, bindable]
21727     BSTR longDesc();
21728
21729     [propput, id(DISPID_IHTMLIFRAMEELEMENT_VSPACE)]
21730     void vspace(LONG v);
21731
21732     [propget, id(DISPID_IHTMLIFRAMEELEMENT_VSPACE)]
21733     LONG vspace();
21734
21735     [propput, id(DISPID_IHTMLIFRAMEELEMENT_HSPACE)]
21736     void hspace(LONG v);
21737
21738     [propget, id(DISPID_IHTMLIFRAMEELEMENT_HSPACE)]
21739     LONG hspace();
21740
21741     [propput, id(DISPID_IHTMLIFRAMEELEMENT_ALIGN), displaybind, bindable]
21742     void align(BSTR v);
21743
21744     [propget, id(DISPID_IHTMLIFRAMEELEMENT_ALIGN), displaybind, bindable]
21745     BSTR align();
21746
21747     [propput, id(DISPID_IHTMLIFRAMEELEMENT2_HEIGHT)]
21748     void height(VARIANT v);
21749
21750     [propget, id(DISPID_IHTMLIFRAMEELEMENT2_HEIGHT)]
21751     VARIANT height();
21752
21753     [propput, id(DISPID_IHTMLIFRAMEELEMENT2_WIDTH)]
21754     void width(VARIANT v);
21755
21756     [propget, id(DISPID_IHTMLIFRAMEELEMENT2_WIDTH)]
21757     VARIANT width();
21758 }
21759
21760 /*****************************************************************************
21761  *    IMarkupContainer interface
21762  */
21763 [
21764     object,
21765     pointer_default(unique),
21766     uuid(3050f5f9-98b5-11cf-bb82-00aa00bdce0B)
21767 ]
21768 interface IMarkupContainer : IUnknown
21769 {
21770     HRESULT OwningDoc([out] IHTMLDocument2 **ppDoc);
21771 }
21772
21773 /*****************************************************************************
21774  *    IMarkupPointer interface
21775  */
21776 [
21777     object,
21778     pointer_default(unique),
21779     uuid(3050f49f-98b5-11cf-bb82-00aa00bdce0b)
21780 ]
21781 interface IMarkupPointer : IUnknown
21782 {
21783     HRESULT OwningDoc([out] IHTMLDocument2 **ppDoc);
21784
21785     HRESULT Gravity([out] POINTER_GRAVITY *pGravity);
21786
21787     HRESULT SetGravity([in] POINTER_GRAVITY Gravity);
21788
21789     HRESULT Cling([out] BOOL *pfCling);
21790
21791     HRESULT SetCling([in] BOOL fCLing);
21792
21793     HRESULT UnPosition();
21794
21795     HRESULT IsPositioned([out] BOOL *pfPositioned);
21796
21797     HRESULT GetContainer([out] IMarkupContainer **ppContainer);
21798
21799     HRESULT MoveAdjacentToElement(
21800         [in] IHTMLElement *pElement,
21801         [in] ELEMENT_ADJACENCY eAdj);
21802
21803     HRESULT MoveToPointer([in] IMarkupPointer *pPointer);
21804
21805     HRESULT MoveToContainer(
21806         [in] IMarkupContainer *pContainer,
21807         [in] BOOL fAtStart);
21808
21809     HRESULT Left(
21810         [in] BOOL fMove,
21811         [out] MARKUP_CONTEXT_TYPE *pContext,
21812         [out] IHTMLElement **ppElement,
21813         [in, out] LONG *pcch,
21814         [out, size_is(*pcch)] OLECHAR *pchText);
21815
21816     HRESULT Right(
21817         [in] BOOL fMove,
21818         [out] MARKUP_CONTEXT_TYPE *pContext,
21819         [out] IHTMLElement **ppElement,
21820         [in, out] LONG *pcch,
21821         [out, size_is(*pcch)] OLECHAR *pchText);
21822
21823     HRESULT CurrentScope([out] IHTMLElement **ppElemCurrent);
21824
21825     HRESULT IsLeftOf(
21826         [in] IMarkupPointer *pPointerThat,
21827         [out] BOOL *pfResult);
21828
21829     HRESULT IsLeftOfOrEqualTo(
21830         [in] IMarkupPointer *pPointerThat,
21831         [out] BOOL *pfResult);
21832
21833     HRESULT IsRightOf(
21834         [in] IMarkupPointer *pPointerThat,
21835         [out] BOOL *pfResult);
21836
21837     HRESULT IsRightOfOrEqualTo(
21838         [in] IMarkupPointer *pPointerThat,
21839         [out] BOOL *pfResult);
21840
21841     HRESULT IsEqualTo(
21842         [in] IMarkupPointer *pPointerThat,
21843         [out] BOOL *pfAreEqual);
21844
21845     HRESULT MoveUnit([in] MOVEUNIT_ACTION muAction);
21846
21847     HRESULT FindText(
21848         [in] OLECHAR *pchFindText,
21849         [in] DWORD dwFlags,
21850         [in] IMarkupPointer *pIEndMatch,
21851         [in] IMarkupPointer *pIEndSearch);
21852 }
21853
21854 /*****************************************************************************
21855  *    ISegment interface
21856  */
21857 [
21858     object,
21859     pointer_default(unique),
21860     uuid(3050f683-98b5-11cf-bb82-00aa00bdce0b)
21861 ]
21862 interface ISegment : IUnknown
21863 {
21864     HRESULT GetPointers(
21865         [in] IMarkupPointer *pIStart,
21866         [in] IMarkupPointer *pIEnd);
21867 }
21868
21869 /*****************************************************************************
21870  *    IElementSegment interface
21871  */
21872 [
21873     object,
21874     pointer_default(unique),
21875     uuid(3050f68f-98b5-11cf-bb82-00aa00bdce0b)
21876 ]
21877 interface IElementSegment : ISegment
21878 {
21879     HRESULT GetElement([out] IHTMLElement **ppIElement);
21880
21881     HRESULT SetPrimary([in] BOOL fPrimary);
21882
21883     HRESULT IsPrimary([out] BOOL *pfPrimary);
21884 }
21885
21886 /*****************************************************************************
21887  *    ISelectionServicesListener interface
21888  */
21889 [
21890     object,
21891     pointer_default(unique),
21892     uuid(3050f699-98b5-11cf-bb82-00aa00bdce0b)
21893 ]
21894 interface ISelectionServicesListener : IUnknown
21895 {
21896     HRESULT BeginSelectionUndo();
21897
21898     HRESULT EndSelectionUndo();
21899
21900     HRESULT OnSelectedElementExit(
21901         [in] IMarkupPointer *pIElementStart,
21902         [in] IMarkupPointer *pIElementEnd,
21903         [in] IMarkupPointer *pIElementContentStart,
21904         [in] IMarkupPointer *pIElementContentEnd);
21905
21906     HRESULT OnChangeType(
21907         [in] SELECTION_TYPE eType,
21908         [in] ISelectionServicesListener *pIListener);
21909
21910     HRESULT GetTypeDetail([out] BSTR *pTypeDetail);
21911 }
21912
21913 /*****************************************************************************
21914  *    ISelectionServices interface
21915  */
21916 [
21917     object,
21918     pointer_default(unique),
21919     uuid(3050f684-98b5-11cf-bb82-00aa00bdce0b)
21920 ]
21921 interface ISelectionServices : IUnknown
21922 {
21923     HRESULT SetSelectionType(
21924         [in] SELECTION_TYPE eType,
21925         [in] ISelectionServicesListener *pIListener);
21926
21927     HRESULT GetMarkupContainer([out] IMarkupContainer **ppIContainer);
21928
21929     HRESULT AddSegment(
21930         [in] IMarkupPointer *pIStart,
21931         [in] IMarkupPointer *pIEnd,
21932         [out] ISegment **ppISegmentAdded);
21933
21934     HRESULT AddElementSegment(
21935         [in] IHTMLElement *pIElement,
21936         [out] IElementSegment **ppISegmentAdded);
21937
21938     HRESULT RemoveSegment([in] ISegment *pISegment);
21939
21940     HRESULT GetSelectionServicesListener([out] ISelectionServicesListener **ppISelectionServicesListener);
21941 }
21942
21943 /*****************************************************************************
21944  *    IHTMLEditDesigner interface
21945  */
21946 [
21947     object,
21948     pointer_default(unique),
21949     uuid(3050f662-98b5-11cf-bb82-00aa00bdce0b)
21950 ]
21951 interface IHTMLEditDesigner : IUnknown
21952 {
21953     HRESULT PreHandleEvent(
21954         [in] DISPID inEvtDispId,
21955         [in] IHTMLEventObj *pIEventObj);
21956
21957     HRESULT PostHandleEvent(
21958         [in] DISPID inEvtDispId,
21959         [in] IHTMLEventObj *pIEventObj);
21960
21961     HRESULT TranslateAccelerator(
21962         [in] DISPID inEvtDispId,
21963         [in] IHTMLEventObj *pIEventObj);
21964
21965     HRESULT PostEditorEventNotify(
21966         [in] DISPID inEvtDispId,
21967         [in] IHTMLEventObj *pIEventObj);
21968 }
21969
21970 /*****************************************************************************
21971  *    IHTMLEditServices interface
21972  */
21973 [
21974     object,
21975     pointer_default(unique),
21976     uuid(3050f663-98b5-11cf-bb82-00aa00bdce0b)
21977 ]
21978 interface IHTMLEditServices : IUnknown
21979 {
21980     HRESULT AddDesigner([in] IHTMLEditDesigner *pIDesigner);
21981
21982     HRESULT RemoveDesigner([in] IHTMLEditDesigner *pIDesigner);
21983
21984     HRESULT GetSelectionServices(
21985         [in] IMarkupContainer *pIContainer,
21986         [out] ISelectionServices **ppSelSvc);
21987
21988     HRESULT MoveToSelectionAnchor([in] IMarkupPointer *pIStartAnchor);
21989
21990     HRESULT MoveToSelectionEnd([in] IMarkupPointer *pIEndAnchor);
21991
21992     HRESULT SelectRange(
21993         [in] IMarkupPointer* pStart,
21994         [in] IMarkupPointer* pEnd,
21995         [in] SELECTION_TYPE eType);
21996 }
21997
21998 } /* library MSHTML */