msi: Allocate token information buffer dynamically.
[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  *    DispHTMLWindow2 dispinterface
13888  */
13889 [
13890     hidden,
13891     uuid(3050f55d-98b5-11cf-bb82-00aa00bdce0b)
13892 ]
13893 dispinterface DispHTMLWindow2
13894 {
13895 properties:
13896 methods:
13897     [id(DISPID_IHTMLFRAMESCOLLECTION2_ITEM)]
13898     VARIANT item([in] VARIANT *pvarIndex);
13899
13900     [propget, id(DISPID_IHTMLFRAMESCOLLECTION2_LENGTH)]
13901     LONG length();
13902
13903     [propget, id(DISPID_IHTMLWINDOW2_FRAMES)]
13904     IHTMLFramesCollection2 *frames();
13905
13906     [propput, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
13907     void defaultStatus(BSTR v);
13908
13909     [propget, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
13910     BSTR defaultStatus();
13911
13912     [propput, id(DISPID_IHTMLWINDOW2_STATUS)]
13913     void status(BSTR v);
13914
13915     [propget, id(DISPID_IHTMLWINDOW2_STATUS)]
13916     BSTR status();
13917
13918     [id(DISPID_IHTMLWINDOW2_CLEARTIMEOUT)]
13919     void clearTimeout([in] LONG timerID);
13920
13921     [id(DISPID_IHTMLWINDOW2_ALERT)]
13922     void alert([in, defaultvalue("")] BSTR message);
13923
13924     [id(DISPID_IHTMLWINDOW2_CONFIRM)]
13925     VARIANT_BOOL confirm([in, defaultvalue("")] BSTR message);
13926
13927     [id(DISPID_IHTMLWINDOW2_PROMPT)]
13928     VARIANT prompt(
13929             [in, defaultvalue("")] BSTR message,
13930             [in, defaultvalue("undefined")] BSTR defstr);
13931
13932     [propget, id(DISPID_IHTMLWINDOW2_IMAGE)]
13933     IHTMLImageElementFactory *Image();
13934
13935     [propget, id(DISPID_IHTMLWINDOW2_LOCATION)]
13936     IHTMLLocation *location();
13937
13938     [propget, id(DISPID_IHTMLWINDOW2_HISTORY)]
13939     IOmHistory *history();
13940
13941     [id(DISPID_IHTMLWINDOW2_CLOSE)]
13942     void close();
13943
13944     [propput, id(DISPID_IHTMLWINDOW2_OPENER)]
13945     void opener(VARIANT v);
13946
13947     [propget, id(DISPID_IHTMLWINDOW2_OPENER)]
13948     VARIANT opener();
13949
13950     [propget, id(DISPID_IHTMLWINDOW2_NAVIGATOR)]
13951     IOmNavigator *navigator();
13952
13953     [propput, id(DISPID_IHTMLWINDOW2_NAME)]
13954     void name(BSTR v);
13955
13956     [propget, id(DISPID_IHTMLWINDOW2_NAME)]
13957     BSTR name();
13958
13959     [propget, id(DISPID_IHTMLWINDOW2_PARENT)]
13960     IHTMLWindow2 *parent();
13961
13962     [id(DISPID_IHTMLWINDOW2_OPEN)]
13963     IHTMLWindow2 *open(
13964             [in, defaultvalue("")] BSTR url,
13965             [in, defaultvalue("")] BSTR name,
13966             [in, defaultvalue("")] BSTR features,
13967             [in, defaultvalue(0)]  VARIANT_BOOL replace);
13968
13969     [propget, id(DISPID_IHTMLWINDOW2_SELF)]
13970     IHTMLWindow2 *self();
13971
13972     [propget, id(DISPID_IHTMLWINDOW2_TOP)]
13973     IHTMLWindow2 *top();
13974
13975     [propget, id(DISPID_IHTMLWINDOW2_WINDOW)]
13976     IHTMLWindow2 *window();
13977
13978     [id(DISPID_IHTMLWINDOW2_NAVIGATE)]
13979     void navigate([in] BSTR url);
13980
13981     [propput, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
13982     void onfocus(VARIANT v);
13983
13984     [propget, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
13985     VARIANT onfocus();
13986
13987     [propput, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
13988     void onblur(VARIANT v);
13989
13990     [propget, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
13991     VARIANT onblur();
13992
13993     [propget, id(DISPID_IHTMLWINDOW2_ONLOAD), displaybind, bindable]
13994     VARIANT onload();
13995
13996     [propput, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
13997     void onbeforeunload(VARIANT v);
13998
13999     [propget, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
14000     VARIANT onbeforeunload();
14001
14002     [propput, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
14003     void onunload(VARIANT v);
14004
14005     [propget, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
14006     VARIANT onunload();
14007
14008     [propput, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
14009     void onhelp(VARIANT v);
14010
14011     [propget, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
14012     VARIANT onhelp();
14013
14014     [propput, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
14015     void onerror(VARIANT v);
14016
14017     [propget, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
14018     VARIANT onerror();
14019
14020     [propput, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
14021     void onresize(VARIANT v);
14022
14023     [propget, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
14024     VARIANT onresize();
14025
14026     [propput, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
14027     void onscroll(VARIANT v);
14028
14029     [propget, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
14030     VARIANT onscroll();
14031
14032     [propget, id(DISPID_IHTMLWINDOW2_DOCUMENT), source]
14033     IHTMLDocument2 *document();
14034
14035     [propget, id(DISPID_IHTMLWINDOW2_EVENT)]
14036     IHTMLEventObj *event();
14037
14038     [propget, id(DISPID_IHTMLWINDOW2__NEWENUM), hidden, restricted]
14039     IUnknown *_newEnum();
14040
14041     [id(DISPID_IHTMLWINDOW2_SHOWMODALDIALOG)]
14042     VARIANT showModalDialog(
14043             [in] BSTR dialog,
14044             [in, optional] VARIANT *varArgIn,
14045             [in, optional] VARIANT *varOptions);
14046
14047     [id(DISPID_IHTMLWINDOW2_SHOWHELP)]
14048     void showHelp(
14049             [in] BSTR helpURL,
14050             [in, optional] VARIANT helpArg,
14051             [in, defaultvalue("")] BSTR features);
14052
14053     [propget, id(DISPID_IHTMLWINDOW2_SCREEN)]
14054     IHTMLScreen *screen();
14055
14056     [propget, id(DISPID_IHTMLWINDOW2_OPTION)]
14057     IHTMLOptionElementFactory *Option();
14058
14059     [id(DISPID_IHTMLWINDOW2_FOCUS)]
14060     void focus();
14061
14062     [propget, id(DISPID_IHTMLWINDOW2_CLOSED)]
14063     VARIANT_BOOL closed();
14064
14065     [id(DISPID_IHTMLWINDOW2_BLUR)]
14066     void blur();
14067
14068     [id(DISPID_IHTMLWINDOW2_SCROLL)]
14069     void scroll([in] LONG x, [in] LONG y);
14070
14071     [propget, id(DISPID_IHTMLWINDOW2_CLIENTINFORMATION)]
14072     IOmNavigator *clientInformation();
14073
14074     [id(DISPID_IHTMLWINDOW2_CLEARINTERVAL)]
14075     void clearInterval([in] LONG timerID);
14076
14077     [propput, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
14078     void offscreenBuffering(VARIANT v);
14079
14080     [propget, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
14081     VARIANT offscreenBuffering();
14082
14083     [id(DISPID_IHTMLWINDOW2_EXECSCRIPT)]
14084     VARIANT execScript(
14085             [in] BSTR _code,
14086             [in, defaultvalue("JScript")] BSTR language);
14087
14088     [id(DISPID_IHTMLWINDOW2_TOSTRING)]
14089     BSTR toString();
14090
14091     [id(DISPID_IHTMLWINDOW2_SCROLLBY)]
14092     void scrollBy([in] LONG x, [in] LONG y);
14093
14094     [id(DISPID_IHTMLWINDOW2_SCROLLTO)]
14095     void scrollTo([in] LONG x, [in] LONG y);
14096
14097     [id(DISPID_IHTMLWINDOW2_MOVETO)]
14098     void moveTo([in] LONG x, [in] LONG y);
14099
14100     [id(DISPID_IHTMLWINDOW2_MOVEBY)]
14101     void moveBy([in] LONG x, [in] LONG y);
14102
14103     [id(DISPID_IHTMLWINDOW2_RESIZETO)]
14104     void resizeTo([in] LONG x, [in] LONG y);
14105
14106     [id(DISPID_IHTMLWINDOW2_RESIZEBY)]
14107     void resizeBy([in] LONG x, [in] LONG y);
14108
14109     [propget, id(DISPID_IHTMLWINDOW2_EXTERNAL)]
14110     IDispatch *external();
14111
14112     [propget, id(DISPID_IHTMLWINDOW3_SCREENLEFT)]
14113     LONG screenLeft();
14114
14115     [propget, id(DISPID_IHTMLWINDOW3_SCREENTOP)]
14116     LONG screenTop();
14117
14118     [id(DISPID_IHTMLWINDOW3_ATTACHEVENT)]
14119     VARIANT_BOOL attachEvent(
14120              [in] BSTR event,
14121              [in] IDispatch *pDisp);
14122
14123     [id(DISPID_IHTMLWINDOW3_DETACHEVENT)]
14124     void detachEvent(
14125             [in] BSTR event,
14126             [in] IDispatch *pDisp);
14127
14128     [id(DISPID_IHTMLWINDOW3_SETTIMEOUT)]
14129     LONG setTimeout(
14130             [in] VARIANT *expression,
14131             [in] LONG msec,
14132             [in, optional] VARIANT *language);
14133
14134     [id(DISPID_IHTMLWINDOW3_SETINTERVAL)]
14135     LONG setInterval(
14136             [in] VARIANT *expression,
14137             [in] LONG msec,
14138             [in, optional] VARIANT *language);
14139
14140     [id(DISPID_IHTMLWINDOW3_PRINT)]
14141     void print();
14142
14143     [propput, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
14144     void onbeforeprint(VARIANT v);
14145
14146     [propget, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
14147     VARIANT onbeforeprint();
14148
14149     [propput, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
14150     void onafterprint(VARIANT v);
14151
14152     [propget, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
14153     VARIANT onafterprint();
14154
14155     [propget, id(DISPID_IHTMLWINDOW3_CLIPBOARDDATA)]
14156     IHTMLDataTransfer *clipboardData();
14157
14158     [id(DISPID_IHTMLWINDOW3_SHOWMODELESSDIALOG)]
14159     IHTMLWindow2 *showModelessDialog(
14160             [in, defaultvalue("")] BSTR url,
14161             [in, optional] VARIANT *varArgIn,
14162             [in, optional] VARIANT *options);
14163
14164     [id(DISPID_IHTMLWINDOW4_CREATEPOPUP)]
14165     IDispatch *createPopup([in, optional] VARIANT *varArgIn);
14166
14167     [propget, id(DISPID_IHTMLWINDOW4_FRAMEELEMENT)]
14168     IHTMLFrameBase *frameElement();
14169 }
14170
14171 /*****************************************************************************
14172  *    HTMLDocumentEvents2 interface
14173  */
14174 [
14175     hidden,
14176     uuid(3050f613-98b5-11cf-bb82-00aa00bdce0b)
14177 ]
14178 dispinterface HTMLDocumentEvents2
14179 {
14180     properties:
14181     methods:
14182     [id(DISPID_HTMLDOCUMENTEVENTS2_ONHELP)]
14183     VARIANT_BOOL onhelp([in] IHTMLEventObj *pEvtObj);
14184
14185     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCLICK)]
14186     VARIANT_BOOL onclick([in] IHTMLEventObj *pEvtObj);
14187
14188     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDBLCLICK)]
14189     VARIANT_BOOL ondblclick([in] IHTMLEventObj *pEvtObj);
14190
14191     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYDOWN)]
14192     void onkeydown([in] IHTMLEventObj *pEvtObj);
14193
14194     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYUP)]
14195     void onkeyup([in] IHTMLEventObj *pEvtObj);
14196
14197     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYPRESS)]
14198     VARIANT_BOOL onkeypress([in] IHTMLEventObj *pEvtObj);
14199
14200     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEDOWN)]
14201     void onmousedown([in] IHTMLEventObj *pEvtObj);
14202
14203     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEMOVE)]
14204     void onmousemove([in] IHTMLEventObj *pEvtObj);
14205
14206     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEUP)]
14207     void onmouseup([in] IHTMLEventObj *pEvtObj);
14208
14209     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEOUT)]
14210     void onmouseout([in] IHTMLEventObj *pEvtObj);
14211
14212     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEOVER)]
14213     void onmouseover([in] IHTMLEventObj *pEvtObj);
14214
14215     [id(DISPID_HTMLDOCUMENTEVENTS2_ONREADYSTATECHANGE)]
14216     void onreadystatechange([in] IHTMLEventObj *pEvtObj);
14217
14218     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREUPDATE)]
14219     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj *pEvtObj);
14220
14221     [id(DISPID_HTMLDOCUMENTEVENTS2_ONAFTERUPDATE)]
14222     void onafterupdate([in] IHTMLEventObj *pEvtObj);
14223
14224     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWEXIT)]
14225     VARIANT_BOOL onrowexit([in] IHTMLEventObj *pEvtObj);
14226
14227     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWENTER)]
14228     void onrowenter([in] IHTMLEventObj *pEvtObj);
14229
14230     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDRAGSTART)]
14231     VARIANT_BOOL ondragstart([in] IHTMLEventObj *pEvtObj);
14232
14233     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSELECTSTART)]
14234     VARIANT_BOOL onselectstart([in] IHTMLEventObj *pEvtObj);
14235
14236     [id(DISPID_HTMLDOCUMENTEVENTS2_ONERRORUPDATE)]
14237     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj *pEvtObj);
14238
14239     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCONTEXTMENU)]
14240     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj *pEvtObj);
14241
14242     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSTOP)]
14243     VARIANT_BOOL onstop([in] IHTMLEventObj *pEvtObj);
14244
14245     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWSDELETE)]
14246     void onrowsdelete([in] IHTMLEventObj *pEvtObj);
14247
14248     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWSINSERTED)]
14249     void onrowsinserted([in] IHTMLEventObj *pEvtObj);
14250
14251     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCELLCHANGE)]
14252     void oncellchange([in] IHTMLEventObj *pEvtObj);
14253
14254     [id(DISPID_HTMLDOCUMENTEVENTS2_ONPROPERTYCHANGE)]
14255     void onpropertychange([in] IHTMLEventObj *pEvtObj);
14256
14257     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATASETCHANGED)]
14258     void ondatasetchanged([in] IHTMLEventObj *pEvtObj);
14259
14260     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATAAVAILABLE)]
14261     void ondataavailable([in] IHTMLEventObj *pEvtObj);
14262
14263     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATASETCOMPLETE)]
14264     void ondatasetcomplete([in] IHTMLEventObj *pEvtObj);
14265
14266     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREEDITFOCUS)]
14267     void onbeforeeditfocus([in] IHTMLEventObj *pEvtObj);
14268
14269     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSELECTIONCHANGE)]
14270     void onselectionchange([in] IHTMLEventObj *pEvtObj);
14271
14272     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCONTROLSELECT)]
14273     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj *pEvtObj);
14274
14275     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEWHEEL)]
14276     VARIANT_BOOL onmousewheel([in] IHTMLEventObj *pEvtObj);
14277
14278     [id(DISPID_HTMLDOCUMENTEVENTS2_ONFOCUSIN)]
14279     void onfocusin([in] IHTMLEventObj *pEvtObj);
14280
14281     [id(DISPID_HTMLDOCUMENTEVENTS2_ONFOCUSOUT)]
14282     void onfocusout([in] IHTMLEventObj *pEvtObj);
14283
14284     [id(DISPID_HTMLDOCUMENTEVENTS2_ONACTIVATE)]
14285     void onactivate([in] IHTMLEventObj *pEvtObj);
14286
14287     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDEACTIVATE)]
14288     void ondeactivate([in] IHTMLEventObj *pEvtObj);
14289
14290     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREACTIVATE)]
14291     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj *pEvtObj);
14292
14293     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREDEACTIVATE)]
14294     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj *pEvtObj);
14295 }
14296
14297 /*****************************************************************************
14298  *    HTMLDocumentEvents interface
14299  */
14300 [
14301     hidden,
14302     uuid(3050f260-98b5-11cf-bb82-00aa00bdce0b)
14303 ]
14304 dispinterface HTMLDocumentEvents
14305 {
14306     properties:
14307     methods:
14308     [id(DISPID_HTMLDOCUMENTEVENTS_ONHELP)]
14309     VARIANT_BOOL onhelp();
14310
14311     [id(DISPID_HTMLDOCUMENTEVENTS_ONCLICK)]
14312     VARIANT_BOOL onclick();
14313
14314     [id(DISPID_HTMLDOCUMENTEVENTS_ONDBLCLICK)]
14315     VARIANT_BOOL ondblclick();
14316
14317     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYDOWN)]
14318     void onkeydown();
14319
14320     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYUP)]
14321     void onkeyup();
14322
14323     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYPRESS)]
14324     VARIANT_BOOL onkeypress();
14325
14326     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEDOWN)]
14327     void onmousedown();
14328
14329     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEMOVE)]
14330     void onmousemove();
14331
14332     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEUP)]
14333     void onmouseup();
14334
14335     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEOUT)]
14336     void onmouseout();
14337
14338     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEOVER)]
14339     void onmouseover();
14340
14341     [id(DISPID_HTMLDOCUMENTEVENTS_ONREADYSTATECHANGE)]
14342     void onreadystatechange();
14343
14344     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREUPDATE)]
14345     VARIANT_BOOL onbeforeupdate();
14346
14347     [id(DISPID_HTMLDOCUMENTEVENTS_ONAFTERUPDATE)]
14348     void onafterupdate();
14349
14350     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWEXIT)]
14351     VARIANT_BOOL onrowexit();
14352
14353     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWENTER)]
14354     void onrowenter();
14355
14356     [id(DISPID_HTMLDOCUMENTEVENTS_ONDRAGSTART)]
14357     VARIANT_BOOL ondragstart();
14358
14359     [id(DISPID_HTMLDOCUMENTEVENTS_ONSELECTSTART)]
14360     VARIANT_BOOL onselectstart();
14361
14362     [id(DISPID_HTMLDOCUMENTEVENTS_ONERRORUPDATE)]
14363     VARIANT_BOOL onerrorupdate();
14364
14365     [id(DISPID_HTMLDOCUMENTEVENTS_ONCONTEXTMENU)]
14366     VARIANT_BOOL oncontextmenu();
14367
14368     [id(DISPID_HTMLDOCUMENTEVENTS_ONSTOP)]
14369     VARIANT_BOOL onstop();
14370
14371     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWSDELETE)]
14372     void onrowsdelete();
14373
14374     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWSINSERTED)]
14375     void onrowsinserted();
14376
14377     [id(DISPID_HTMLDOCUMENTEVENTS_ONCELLCHANGE)]
14378     void oncellchange();
14379
14380     [id(DISPID_HTMLDOCUMENTEVENTS_ONPROPERTYCHANGE)]
14381     void onpropertychange();
14382
14383     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATASETCHANGED)]
14384     void ondatasetchanged();
14385
14386     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATAAVAILABLE)]
14387     void ondataavailable();
14388
14389     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATASETCOMPLETE)]
14390     void ondatasetcomplete();
14391
14392     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREEDITFOCUS)]
14393     void onbeforeeditfocus();
14394
14395     [id(DISPID_HTMLDOCUMENTEVENTS_ONSELECTIONCHANGE)]
14396     void onselectionchange();
14397
14398     [id(DISPID_HTMLDOCUMENTEVENTS_ONCONTROLSELECT)]
14399     VARIANT_BOOL oncontrolselect();
14400
14401     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEWHEEL)]
14402     VARIANT_BOOL onmousewheel();
14403
14404     [id(DISPID_HTMLDOCUMENTEVENTS_ONFOCUSIN)]
14405     void onfocusin();
14406
14407     [id(DISPID_HTMLDOCUMENTEVENTS_ONFOCUSOUT)]
14408     void onfocusout();
14409
14410     [id(DISPID_HTMLDOCUMENTEVENTS_ONACTIVATE)]
14411     void onactivate();
14412
14413     [id(DISPID_HTMLDOCUMENTEVENTS_ONDEACTIVATE)]
14414     void ondeactivate();
14415
14416     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREACTIVATE)]
14417     VARIANT_BOOL onbeforeactivate();
14418
14419     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREDEACTIVATE)]
14420     VARIANT_BOOL onbeforedeactivate();
14421 }
14422
14423 /*****************************************************************************
14424  *    HTMLTextContainerEvents interface
14425  */
14426 [
14427     hidden,
14428     uuid(1ff6aa72-5842-11cf-a707-00aa00c0098d)
14429 ]
14430 dispinterface HTMLTextContainerEvents
14431 {
14432 properties:
14433
14434 methods:
14435     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
14436     VARIANT_BOOL onhelp();
14437
14438     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
14439     VARIANT_BOOL onclick();
14440
14441     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
14442     VARIANT_BOOL ondblclick();
14443
14444     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
14445     VARIANT_BOOL onkeypress();
14446
14447     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
14448     void onkeydown();
14449
14450     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
14451     void onkeyup();
14452
14453     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
14454     void onmouseout();
14455
14456     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
14457     void onmouseover();
14458
14459     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
14460     void onmousemove();
14461
14462     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
14463     void onmousedown();
14464
14465     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
14466     void onmouseup();
14467
14468     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
14469     VARIANT_BOOL onselectstart();
14470
14471     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
14472     void onfilterchange();
14473
14474     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
14475     VARIANT_BOOL ondragstart();
14476
14477     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
14478     VARIANT_BOOL onbeforeupdate();
14479
14480     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
14481     void onafterupdate();
14482
14483     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
14484     VARIANT_BOOL onerrorupdate();
14485
14486     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
14487     VARIANT_BOOL onrowexit();
14488
14489     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
14490     void onrowenter();
14491
14492     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
14493     void ondatasetchanged();
14494
14495     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
14496     void ondataavailable();
14497
14498     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
14499     void ondatasetcomplete();
14500
14501     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
14502     void onlosecapture();
14503
14504     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
14505     void onpropertychange();
14506
14507     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
14508     void onscroll();
14509
14510     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
14511     void onfocus();
14512
14513     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
14514     void onblur();
14515
14516     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
14517     void onresize();
14518
14519     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
14520     VARIANT_BOOL ondrag();
14521
14522     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
14523     void ondragend();
14524
14525     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
14526     VARIANT_BOOL ondragenter();
14527
14528     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
14529     VARIANT_BOOL ondragover();
14530
14531     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
14532     void ondragleave();
14533
14534     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
14535     VARIANT_BOOL ondrop();
14536
14537     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
14538     VARIANT_BOOL onbeforecut();
14539
14540     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
14541     VARIANT_BOOL oncut();
14542
14543     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
14544     VARIANT_BOOL onbeforecopy();
14545
14546     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
14547     VARIANT_BOOL oncopy();
14548
14549     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
14550     VARIANT_BOOL onbeforepaste();
14551
14552     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
14553     VARIANT_BOOL onpaste();
14554
14555     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
14556     VARIANT_BOOL oncontextmenu();
14557
14558     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
14559     void onrowsdelete();
14560
14561     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
14562     void onrowsinserted();
14563
14564     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
14565     void oncellchange();
14566
14567     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
14568     void onreadystatechange();
14569
14570     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
14571     void onbeforeeditfocus();
14572
14573     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
14574     void onlayoutcomplete();
14575
14576     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
14577     void onpage();
14578
14579     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
14580     VARIANT_BOOL onbeforedeactivate();
14581
14582     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
14583     VARIANT_BOOL onbeforeactivate();
14584
14585     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
14586     void onmove();
14587
14588     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
14589     VARIANT_BOOL oncontrolselect();
14590
14591     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
14592     VARIANT_BOOL onmovestart();
14593
14594     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
14595     void onmoveend();
14596
14597     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
14598     VARIANT_BOOL onresizestart();
14599
14600     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
14601     void onresizeend();
14602
14603     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
14604     void onmouseenter();
14605
14606     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
14607     void onmouseleave();
14608
14609     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
14610     VARIANT_BOOL onmousewheel();
14611
14612     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
14613     void onactivate();
14614
14615     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
14616     void ondeactivate();
14617
14618     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
14619     void onfocusin();
14620
14621     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
14622     void onfocusout();
14623
14624     [id(DISPID_HTMLTEXTCONTAINEREVENTS_ONCHANGE)]
14625     void onchange();
14626
14627     [id(DISPID_HTMLTEXTCONTAINEREVENTS_ONSELECT)]
14628     void onselect();
14629 };
14630
14631 /*****************************************************************************
14632  *    HTMLTextContainerEvents2 interface
14633  */
14634 [
14635     hidden,
14636     uuid(3050f624-98b5-11cf-bb82-00aa00bdce0b)
14637 ]
14638 dispinterface HTMLTextContainerEvents2
14639 {
14640 properties:
14641 methods:
14642     [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)]
14643     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
14644
14645     [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)]
14646     VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
14647
14648     [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)]
14649     VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
14650
14651     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)]
14652     VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
14653
14654     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)]
14655     void onkeydown([in] IHTMLEventObj* pEvtObj);
14656
14657     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)]
14658     void onkeyup([in] IHTMLEventObj* pEvtObj);
14659
14660     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)]
14661     void onmouseout([in] IHTMLEventObj* pEvtObj);
14662
14663     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)]
14664     void onmouseover([in] IHTMLEventObj* pEvtObj);
14665
14666     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)]
14667     void onmousemove([in] IHTMLEventObj* pEvtObj);
14668
14669     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)]
14670     void onmousedown([in] IHTMLEventObj* pEvtObj);
14671
14672     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)]
14673     void onmouseup([in] IHTMLEventObj* pEvtObj);
14674
14675     [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)]
14676     VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
14677
14678     [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)]
14679     void onfilterchange([in] IHTMLEventObj* pEvtObj);
14680
14681     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)]
14682     VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
14683
14684     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)]
14685     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
14686
14687     [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)]
14688     void onafterupdate([in] IHTMLEventObj* pEvtObj);
14689
14690     [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)]
14691     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
14692
14693     [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)]
14694     VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
14695
14696     [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)]
14697     void onrowenter([in] IHTMLEventObj* pEvtObj);
14698
14699     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)]
14700     void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
14701
14702     [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)]
14703     void ondataavailable([in] IHTMLEventObj* pEvtObj);
14704
14705     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)]
14706     void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
14707
14708     [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)]
14709     void onlosecapture([in] IHTMLEventObj* pEvtObj);
14710
14711     [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)]
14712     void onpropertychange([in] IHTMLEventObj* pEvtObj);
14713
14714     [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)]
14715     void onscroll([in] IHTMLEventObj* pEvtObj);
14716
14717     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)]
14718     void onfocus([in] IHTMLEventObj* pEvtObj);
14719
14720     [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)]
14721     void onblur([in] IHTMLEventObj* pEvtObj);
14722
14723     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)]
14724     void onresize([in] IHTMLEventObj* pEvtObj);
14725
14726     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)]
14727     VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
14728
14729     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)]
14730     void ondragend([in] IHTMLEventObj* pEvtObj);
14731
14732     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)]
14733     VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
14734
14735     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)]
14736     VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
14737
14738     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)]
14739     void ondragleave([in] IHTMLEventObj* pEvtObj);
14740
14741     [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)]
14742     VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
14743
14744     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)]
14745     VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
14746
14747     [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)]
14748     VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
14749
14750     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)]
14751     VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
14752
14753     [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)]
14754     VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
14755
14756     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)]
14757     VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
14758
14759     [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)]
14760     VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
14761
14762     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)]
14763     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
14764
14765     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)]
14766     void onrowsdelete([in] IHTMLEventObj* pEvtObj);
14767
14768     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)]
14769     void onrowsinserted([in] IHTMLEventObj* pEvtObj);
14770
14771     [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)]
14772     void oncellchange([in] IHTMLEventObj* pEvtObj);
14773
14774     [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)]
14775     void onreadystatechange([in] IHTMLEventObj* pEvtObj);
14776
14777     [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)]
14778     void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
14779
14780     [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)]
14781     void onpage([in] IHTMLEventObj* pEvtObj);
14782
14783     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)]
14784     void onmouseenter([in] IHTMLEventObj* pEvtObj);
14785
14786     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)]
14787     void onmouseleave([in] IHTMLEventObj* pEvtObj);
14788
14789     [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)]
14790     void onactivate([in] IHTMLEventObj* pEvtObj);
14791
14792     [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)]
14793     void ondeactivate([in] IHTMLEventObj* pEvtObj);
14794
14795     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)]
14796     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
14797
14798     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)]
14799     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
14800
14801     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)]
14802     void onfocusin([in] IHTMLEventObj* pEvtObj);
14803
14804     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)]
14805     void onfocusout([in] IHTMLEventObj* pEvtObj);
14806
14807     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)]
14808     void onmove([in] IHTMLEventObj* pEvtObj);
14809
14810     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)]
14811     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
14812
14813     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)]
14814     VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
14815
14816     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)]
14817     void onmoveend([in] IHTMLEventObj* pEvtObj);
14818
14819     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)]
14820     VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
14821
14822     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)]
14823     void onresizeend([in] IHTMLEventObj* pEvtObj);
14824
14825     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)]
14826     VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
14827
14828     [id(DISPID_HTMLTEXTCONTAINEREVENTS2_ONCHANGE)]
14829     void onchange([in] IHTMLEventObj* pEvtObj);
14830
14831     [id(DISPID_HTMLTEXTCONTAINEREVENTS2_ONSELECT)]
14832     void onselect([in] IHTMLEventObj* pEvtObj);
14833 };
14834
14835 /*****************************************************************************
14836  *    IHTMLDocument interface
14837  */
14838 [
14839     odl,
14840     oleautomation,
14841     dual,
14842     uuid(626FC520-A41E-11CF-A731-00A0C9082637)
14843 ]
14844 interface IHTMLDocument : IDispatch
14845 {
14846     [propget, id(DISPID_IHTMLDOCUMENT_SCRIPT)]
14847     HRESULT Script([retval, out] IDispatch **p);
14848 }
14849
14850 /*****************************************************************************
14851  *    IHTMLDocument2 interface
14852  */
14853 [
14854     odl,
14855     oleautomation,
14856     dual,
14857     uuid(332C4425-26CB-11D0-B483-00C04FD90119)
14858 ]
14859 interface IHTMLDocument2 : IHTMLDocument
14860 {
14861     [propget, id(DISPID_IHTMLDOCUMENT2_ALL)]
14862     HRESULT all([retval, out] IHTMLElementCollection **p);
14863
14864     [propget, id(DISPID_IHTMLDOCUMENT2_BODY)]
14865     HRESULT body([retval, out] IHTMLElement **p);
14866
14867     [propget, id(DISPID_IHTMLDOCUMENT2_ACTIVEELEMENT)]
14868     HRESULT activeElement([retval, out] IHTMLElement **p);
14869
14870     [propget, id(DISPID_IHTMLDOCUMENT2_IMAGES)]
14871     HRESULT images([retval, out] IHTMLElementCollection **p);
14872
14873     [propget, id(DISPID_IHTMLDOCUMENT2_APPLETS)]
14874     HRESULT applets([retval, out] IHTMLElementCollection **p);
14875
14876     [propget, id(DISPID_IHTMLDOCUMENT2_LINKS)]
14877     HRESULT links([retval, out] IHTMLElementCollection **p);
14878
14879     [propget, id(DISPID_IHTMLDOCUMENT2_FORMS)]
14880     HRESULT forms([retval, out] IHTMLElementCollection **p);
14881
14882     [propget, id(DISPID_IHTMLDOCUMENT2_ANCHORS)]
14883     HRESULT anchors([retval, out] IHTMLElementCollection **p);
14884
14885     [propput, id(DISPID_IHTMLDOCUMENT2_TITLE)]
14886     HRESULT title([in] BSTR v);
14887
14888     [propget, id(DISPID_IHTMLDOCUMENT2_TITLE)]
14889     HRESULT title([retval, out] BSTR *p);
14890
14891     [propget, id(DISPID_IHTMLDOCUMENT2_SCRIPTS)]
14892     HRESULT scripts([retval, out] IHTMLElementCollection **p);
14893
14894     [propput, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE)]
14895     HRESULT designMode([in] BSTR v);
14896
14897     [propget, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE)]
14898     HRESULT designMode([retval, out] BSTR *p);
14899
14900     [propget, id(DISPID_IHTMLDOCUMENT2_SELECTION)]
14901     HRESULT selection([retval, out] IHTMLSelectionObject **p);
14902
14903     [propget, id(DISPID_IHTMLDOCUMENT2_READYSTATE)]
14904      HRESULT readyState([retval, out] BSTR *p);
14905
14906     [propget, id(DISPID_IHTMLDOCUMENT2_FRAMES)]
14907     HRESULT frames([retval, out] IHTMLFramesCollection2 **p);
14908
14909     [propget, id(DISPID_IHTMLDOCUMENT2_EMBEDS)]
14910     HRESULT embeds([retval, out] IHTMLElementCollection **p);
14911
14912     [propget, id(DISPID_IHTMLDOCUMENT2_PLUGINS)]
14913     HRESULT plugins([retval, out] IHTMLElementCollection **p);
14914
14915     [propput, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
14916     HRESULT alinkColor([in] VARIANT v);
14917
14918     [propget, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
14919     HRESULT alinkColor([retval, out] VARIANT *p);
14920
14921     [propput, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
14922     HRESULT bgColor([in] VARIANT v);
14923
14924     [propget, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
14925     HRESULT bgColor([retval, out] VARIANT *p);
14926
14927     [propput, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
14928     HRESULT fgColor([in] VARIANT v);
14929
14930     [propget, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
14931     HRESULT fgColor([retval, out] VARIANT *p);
14932
14933     [propput, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
14934     HRESULT linkColor([in] VARIANT v);
14935
14936     [propget, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
14937     HRESULT linkColor([retval, out] VARIANT *p);
14938
14939     [propput, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
14940     HRESULT vlinkColor([in] VARIANT v);
14941
14942     [propget, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
14943     HRESULT vlinkColor([retval, out] VARIANT *p);
14944
14945     [propget, id(DISPID_IHTMLDOCUMENT2_REFERRER)]
14946     HRESULT referrer([retval, out] BSTR *p);
14947
14948     [propget, id(DISPID_IHTMLDOCUMENT2_LOCATION)]
14949     HRESULT location([retval, out] IHTMLLocation **p);
14950
14951     [propget, id(DISPID_IHTMLDOCUMENT2_LASTMODIFIED)]
14952     HRESULT lastModified([retval, out] BSTR *p);
14953
14954     [propput, id(DISPID_IHTMLDOCUMENT2_URL)]
14955     HRESULT URL([in] BSTR v);
14956
14957     [propget, id(DISPID_IHTMLDOCUMENT2_URL)]
14958     HRESULT URL([retval, out] BSTR *p);
14959
14960     [propput, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
14961     HRESULT domain([in] BSTR v);
14962
14963     [propget, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
14964     HRESULT domain([retval, out] BSTR *p);
14965
14966     [propput, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
14967     HRESULT cookie([in] BSTR v);
14968
14969     [propget, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
14970     HRESULT cookie([retval, out] BSTR *p);
14971
14972     [propput, id(DISPID_IHTMLDOCUMENT2_EXPANDO)]
14973     HRESULT expando([in] VARIANT_BOOL v);
14974
14975     [propget, id(DISPID_IHTMLDOCUMENT2_EXPANDO)]
14976     HRESULT expando([retval, out] VARIANT_BOOL *p);
14977
14978     [propput, id(DISPID_IHTMLDOCUMENT2_CHARSET)]
14979      HRESULT charset([in] BSTR v);
14980
14981     [propget, id(DISPID_IHTMLDOCUMENT2_CHARSET)]
14982     HRESULT charset([retval, out] BSTR *p);
14983
14984     [propput, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
14985     HRESULT defaultCharset([in] BSTR v);
14986
14987     [propget, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
14988     HRESULT defaultCharset([retval, out] BSTR *p);
14989
14990     [propget, id(DISPID_IHTMLDOCUMENT2_MIMETYPE)]
14991     HRESULT mimeType([retval, out] BSTR *p);
14992
14993     [propget, id(DISPID_IHTMLDOCUMENT2_FILESIZE)]
14994     HRESULT fileSize([retval, out] BSTR *p);
14995
14996     [propget, id(DISPID_IHTMLDOCUMENT2_FILECREATEDDATE)]
14997     HRESULT fileCreatedDate([retval, out] BSTR *p);
14998
14999     [propget, id(DISPID_IHTMLDOCUMENT2_FILEMODIFIEDDATE)]
15000     HRESULT fileModifiedDate([retval, out] BSTR *p);
15001
15002     [propget, id(DISPID_IHTMLDOCUMENT2_FILEUPDATEDDATE)]
15003     HRESULT fileUpdatedDate([retval, out] BSTR *p);
15004
15005     [propget, id(DISPID_IHTMLDOCUMENT2_SECURITY)]
15006     HRESULT security([retval, out] BSTR *p);
15007
15008     [propget, id(DISPID_IHTMLDOCUMENT2_PROTOCOL)]
15009     HRESULT protocol([retval, out] BSTR *p);
15010
15011     [propget, id(DISPID_IHTMLDOCUMENT2_NAMEPROP)]
15012      HRESULT nameProp([retval, out] BSTR *p);
15013
15014     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITE)]
15015     HRESULT write([in] SAFEARRAY(VARIANT) psarray);
15016
15017     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITELN)]
15018     HRESULT writeln([in] SAFEARRAY(VARIANT) psarray);
15019
15020     [id(DISPID_IHTMLDOCUMENT2_OPEN)]
15021     HRESULT open(
15022         [defaultvalue("text/html"), in] BSTR url,
15023         [optional, in] VARIANT name,
15024         [optional, in] VARIANT features,
15025         [optional, in] VARIANT replace,
15026         [retval, out]  IDispatch **pomWindowResult);
15027
15028     [id(DISPID_IHTMLDOCUMENT2_CLOSE)]
15029     HRESULT close();
15030
15031     [id(DISPID_IHTMLDOCUMENT2_CLEAR)]
15032     HRESULT clear();
15033
15034     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSUPPORTED)]
15035     HRESULT queryCommandSupported(
15036         [in] BSTR cmdID,
15037         [retval, out] VARIANT_BOOL *pfRet);
15038
15039     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDENABLED)]
15040     HRESULT queryCommandEnabled(
15041         [in] BSTR cmdID,
15042         [retval, out] VARIANT_BOOL *pfRet);
15043
15044     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSTATE)]
15045     HRESULT queryCommandState(
15046         [in] BSTR cmdID,
15047         [retval, out] VARIANT_BOOL *pfRet);
15048
15049     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDINDETERM)]
15050     HRESULT queryCommandIndeterm(
15051         [in] BSTR cmdID,
15052         [retval, out] VARIANT_BOOL *pfRet);
15053
15054     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDTEXT)]
15055     HRESULT queryCommandText(
15056         [in] BSTR cmdID,
15057         [retval, out] BSTR *pcmdText);
15058
15059     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDVALUE)]
15060     HRESULT queryCommandValue(
15061         [in] BSTR cmdID,
15062         [retval, out] VARIANT *pcmdValue);
15063
15064     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMAND)]
15065     HRESULT execCommand(
15066         [in] BSTR cmdID,
15067         [defaultvalue(0), in] VARIANT_BOOL showUI,
15068         [optional, in] VARIANT value,
15069         [retval, out] VARIANT_BOOL *pfRet);
15070
15071     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMANDSHOWHELP)]
15072     HRESULT execCommandShowHelp(
15073         [in] BSTR cmdID,
15074         [retval, out] VARIANT_BOOL *pfRet);
15075
15076     [id(DISPID_IHTMLDOCUMENT2_CREATEELEMENT)]
15077      HRESULT createElement(
15078         [in] BSTR eTag,
15079         [retval, out] IHTMLElement **newElem);
15080
15081     [propput, id(DISPID_IHTMLDOCUMENT2_ONHELP)]
15082     HRESULT onhelp([in] VARIANT v);
15083
15084     [propget, id(DISPID_IHTMLDOCUMENT2_ONHELP)]
15085     HRESULT onhelp([retval, out] VARIANT *p);
15086
15087     [propput, id(DISPID_IHTMLDOCUMENT2_ONCLICK)]
15088     HRESULT onclick([in] VARIANT v);
15089
15090     [propget, id(DISPID_IHTMLDOCUMENT2_ONCLICK)]
15091     HRESULT onclick([retval, out] VARIANT *p);
15092
15093     [propput, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK)]
15094     HRESULT ondblclick([in] VARIANT v);
15095
15096     [propget, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK)]
15097     HRESULT ondblclick([retval, out] VARIANT *p);
15098
15099     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYUP)]
15100     HRESULT onkeyup([in] VARIANT v);
15101
15102     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYUP)]
15103     HRESULT onkeyup([retval, out] VARIANT *p);
15104
15105     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN)]
15106     HRESULT onkeydown([in] VARIANT v);
15107
15108     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN)]
15109     HRESULT onkeydown([retval, out] VARIANT *p);
15110
15111     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS)]
15112      HRESULT onkeypress([in] VARIANT v);
15113
15114     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS)]
15115     HRESULT onkeypress([retval, out] VARIANT *p);
15116
15117     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP)]
15118     HRESULT onmouseup([in] VARIANT v);
15119
15120     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP)]
15121     HRESULT onmouseup([retval, out] VARIANT *p);
15122
15123     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN)]
15124     HRESULT onmousedown([in] VARIANT v);
15125
15126     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN)]
15127     HRESULT onmousedown([retval, out] VARIANT *p);
15128
15129     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE)]
15130     HRESULT onmousemove([in] VARIANT v);
15131
15132     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE)]
15133     HRESULT onmousemove([retval, out] VARIANT *p);
15134
15135     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT)]
15136     HRESULT onmouseout([in] VARIANT v);
15137
15138     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT)]
15139     HRESULT onmouseout([retval, out] VARIANT *p);
15140
15141     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER)]
15142     HRESULT onmouseover([in] VARIANT v);
15143
15144     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER)]
15145     HRESULT onmouseover([retval, out] VARIANT *p);
15146
15147     [propput, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE)]
15148     HRESULT onreadystatechange([in] VARIANT v);
15149
15150     [propget, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE)]
15151     HRESULT onreadystatechange([retval, out] VARIANT *p);
15152
15153     [propput, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE)]
15154     HRESULT onafterupdate([in] VARIANT v);
15155
15156     [propget, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE)]
15157     HRESULT onafterupdate([retval, out] VARIANT *p);
15158
15159     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT)]
15160     HRESULT onrowexit([in] VARIANT v);
15161
15162     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT)]
15163     HRESULT onrowexit([retval, out] VARIANT *p);
15164
15165     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWENTER)]
15166     HRESULT onrowenter([in] VARIANT v);
15167
15168     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWENTER)]
15169     HRESULT onrowenter([retval, out] VARIANT *p);
15170
15171     [propput, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART)]
15172     HRESULT ondragstart([in] VARIANT v);
15173
15174     [propget, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART)]
15175     HRESULT ondragstart([retval, out] VARIANT *p);
15176
15177     [propput, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART)]
15178     HRESULT onselectstart([in] VARIANT v);
15179
15180     [propget, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART)]
15181     HRESULT onselectstart([retval, out] VARIANT *p);
15182
15183     [id(DISPID_IHTMLDOCUMENT2_ELEMENTFROMPOINT)]
15184     HRESULT elementFromPoint(
15185         [in] LONG x,
15186         [in] LONG y,
15187         [retval, out] IHTMLElement **elementHit);
15188
15189     [propget, id(DISPID_IHTMLDOCUMENT2_PARENTWINDOW)]
15190     HRESULT parentWindow([retval, out] IHTMLWindow2 **p);
15191
15192     [propget, id(DISPID_IHTMLDOCUMENT2_STYLESHEETS)]
15193     HRESULT styleSheets([retval, out] IHTMLStyleSheetsCollection **p);
15194
15195     [propput, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE)]
15196     HRESULT onbeforeupdate([in] VARIANT v);
15197
15198     [propget, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE)]
15199     HRESULT onbeforeupdate([retval, out] VARIANT *p);
15200
15201     [propput, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE)]
15202     HRESULT onerrorupdate([in] VARIANT v);
15203
15204     [propget, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE)]
15205     HRESULT onerrorupdate([retval, out] VARIANT *p);
15206
15207     [id(DISPID_IHTMLDOCUMENT2_TOSTRING)]
15208     HRESULT toString([retval, out] BSTR *String);
15209
15210     [id(DISPID_IHTMLDOCUMENT2_CREATESTYLESHEET)]
15211     HRESULT createStyleSheet(
15212         [defaultvalue(""), in] BSTR bstrHref,
15213         [defaultvalue(-1), in] LONG lIndex,
15214         [retval, out] IHTMLStyleSheet **ppnewStyleSheet);
15215 }
15216
15217 /*****************************************************************************
15218  *    IHTMLDocument3 interface
15219  */
15220 [
15221     odl,
15222     oleautomation,
15223     dual,
15224     uuid(3050f485-98b5-11cf-bb82-00aa00bdce0b)
15225 ]
15226 interface IHTMLDocument3 : IDispatch
15227 {
15228     [id(DISPID_IHTMLDOCUMENT3_RELEASECAPTURE)]
15229     HRESULT releaseCapture();
15230
15231     [id(DISPID_IHTMLDOCUMENT3_RECALC)]
15232     HRESULT recalc([defaultvalue(0), in] VARIANT_BOOL fForce);
15233
15234     [id(DISPID_IHTMLDOCUMENT3_CREATETEXTNODE)]
15235     HRESULT createTextNode(
15236         [in] BSTR text,
15237         [retval, out] IHTMLDOMNode **newTextNode);
15238
15239     [propget, id(DISPID_IHTMLDOCUMENT3_DOCUMENTELEMENT)]
15240     HRESULT documentElement([retval, out] IHTMLElement **p);
15241
15242     [propget, id(DISPID_IHTMLDOCUMENT3_UNIQUEID), hidden]
15243     HRESULT uniqueID([retval, out] BSTR *p);
15244
15245     [id(DISPID_IHTMLDOCUMENT3_ATTACHEVENT)]
15246     HRESULT attachEvent(
15247         [in] BSTR event,
15248         [in] IDispatch* pDisp,
15249         [retval, out] VARIANT_BOOL *pfResult);
15250
15251     [id(DISPID_IHTMLDOCUMENT3_DETACHEVENT)]
15252     HRESULT detachEvent(
15253         [in] BSTR event,
15254         [in] IDispatch *pDisp);
15255
15256     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
15257     HRESULT onrowsdelete([in] VARIANT v);
15258
15259     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
15260     HRESULT onrowsdelete([retval, out] VARIANT *p);
15261
15262     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
15263     HRESULT onrowsinserted([in] VARIANT v);
15264
15265     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
15266     HRESULT onrowsinserted([retval, out] VARIANT *p);
15267
15268     [propput, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
15269     HRESULT oncellchange([in] VARIANT v);
15270
15271     [propget, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
15272     HRESULT oncellchange([retval, out] VARIANT *p);
15273
15274     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
15275     HRESULT ondatasetchanged([in] VARIANT v);
15276
15277     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
15278     HRESULT ondatasetchanged([retval, out] VARIANT *p);
15279
15280     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
15281     HRESULT ondataavailable([in] VARIANT v);
15282
15283     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
15284     HRESULT ondataavailable([retval, out] VARIANT * p);
15285
15286     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
15287     HRESULT ondatasetcomplete([in] VARIANT v);
15288
15289     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
15290     HRESULT ondatasetcomplete([retval, out] VARIANT *p);
15291
15292     [propput, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
15293     HRESULT onpropertychange([in] VARIANT v);
15294
15295     [propget, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
15296     HRESULT onpropertychange([retval, out] VARIANT *p);
15297
15298     [propput, id(DISPID_IHTMLDOCUMENT3_DIR)]
15299     HRESULT dir([in] BSTR v);
15300
15301     [propget, id(DISPID_IHTMLDOCUMENT3_DIR)]
15302     HRESULT dir([retval, out] BSTR *p);
15303
15304     [propput, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
15305     HRESULT oncontextmenu([in] VARIANT v);
15306
15307     [propget, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
15308     HRESULT oncontextmenu([retval, out] VARIANT *p);
15309
15310     [propput, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
15311     HRESULT onstop([in] VARIANT v);
15312
15313     [propget, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
15314     HRESULT onstop([retval, out] VARIANT *p);
15315
15316     [id(DISPID_IHTMLDOCUMENT3_CREATEDOCUMENTFRAGMENT)]
15317     HRESULT createDocumentFragment([retval, out] IHTMLDocument2 **pNewDoc);
15318
15319     [propget, id(DISPID_IHTMLDOCUMENT3_PARENTDOCUMENT), hidden, restricted]
15320     HRESULT parentDocument([retval, out] IHTMLDocument2 **p);
15321
15322     [propput, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
15323     HRESULT enableDownload([in] VARIANT_BOOL v);
15324
15325     [propget, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
15326     HRESULT enableDownload([retval, out] VARIANT_BOOL *p);
15327
15328     [propput, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
15329     HRESULT baseUrl([in] BSTR v);
15330
15331     [propget, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
15332     HRESULT baseUrl([retval, out] BSTR *p);
15333
15334     [propget, id(DISPID_IHTMLDOCUMENT3_CHILDNODES)]
15335     HRESULT childNodes([retval, out] IDispatch **p);
15336
15337     [propput, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
15338     HRESULT inheritStyleSheets([in] VARIANT_BOOL v);
15339
15340     [propget, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
15341     HRESULT inheritStyleSheets([retval, out] VARIANT_BOOL *p);
15342
15343     [propput, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
15344     HRESULT onbeforeeditfocus([in] VARIANT v);
15345
15346     [propget, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
15347     HRESULT onbeforeeditfocus([retval, out] VARIANT *p);
15348
15349     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYNAME)]
15350     HRESULT getElementsByName(
15351         [in] BSTR v,
15352         [retval, out] IHTMLElementCollection **pelColl);
15353
15354     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTBYID)]
15355     HRESULT getElementById(
15356         [in] BSTR v,
15357         [retval, out] IHTMLElement **pel);
15358
15359     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYTAGNAME)]
15360     HRESULT getElementsByTagName(
15361         [in] BSTR v,
15362         [retval, out] IHTMLElementCollection **pelColl);
15363 }
15364
15365 /*****************************************************************************
15366  *    IHTMLDocument4 interface
15367  */
15368 [
15369     odl,
15370     oleautomation,
15371     dual,
15372     uuid(3050f69a-98b5-11cf-bb82-00aa00bdce0b)
15373 ]
15374 interface IHTMLDocument4 : IDispatch
15375 {
15376     [id(DISPID_IHTMLDOCUMENT4_FOCUS)]
15377     HRESULT focus();
15378
15379     [id(DISPID_IHTMLDOCUMENT4_HASFOCUS)]
15380     HRESULT hasFocus([retval, out] VARIANT_BOOL *pfFocus);
15381
15382     [propput, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
15383     HRESULT onselectionchange([in] VARIANT v);
15384
15385     [propget, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
15386     HRESULT onselectionchange([retval, out] VARIANT *p);
15387
15388     [propget, id(DISPID_IHTMLDOCUMENT4_NAMESPACES)]
15389     HRESULT namespaces([retval, out] IDispatch **p);
15390
15391     [id(DISPID_IHTMLDOCUMENT4_CREATEDOCUMENTFROMURL)]
15392     HRESULT createDocumentFromUrl(
15393         [in] BSTR bstrUrl,
15394         [in] BSTR bstrOptions,
15395         [retval, out] IHTMLDocument2 **newDoc);
15396
15397     [propput, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
15398     HRESULT media([in] BSTR v);
15399
15400     [propget, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
15401     HRESULT media([retval, out] BSTR *p);
15402
15403     [id(DISPID_IHTMLDOCUMENT4_CREATEEVENTOBJECT)]
15404     HRESULT createEventObject(
15405         [optional, in] VARIANT *pvarEventObject,
15406         [retval, out] IHTMLEventObj **ppEventObj);
15407
15408     [id(DISPID_IHTMLDOCUMENT4_FIREEVENT)]
15409     HRESULT fireEvent(
15410         [in] BSTR bstrEventName,
15411         [optional, in] VARIANT *pvarEventObject,
15412         [retval, out] VARIANT_BOOL *pfCancelled);
15413
15414     [id(DISPID_IHTMLDOCUMENT4_CREATERENDERSTYLE)]
15415     HRESULT createRenderStyle(
15416         [in] BSTR v,
15417         [retval, out] IHTMLRenderStyle **ppIHTMLRenderStyle);
15418
15419     [propput, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
15420     HRESULT oncontrolselect([in] VARIANT v);
15421
15422     [propget, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
15423     HRESULT oncontrolselect([retval, out] VARIANT *p);
15424
15425     [propget, id(DISPID_IHTMLDOCUMENT4_URLUNENCODED)]
15426     HRESULT URLUnencoded([retval, out] BSTR *p);
15427 }
15428
15429 /*****************************************************************************
15430  *    IHTMLDocument5 interface
15431  */
15432 [
15433     odl,
15434     oleautomation,
15435     dual,
15436     uuid(3050f80c-98b5-11cf-bb82-00aa00bdce0b)
15437 ]
15438 interface IHTMLDocument5 : IDispatch
15439 {
15440     [propput, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
15441     HRESULT onmousewheel([in] VARIANT v);
15442
15443     [propget, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
15444     HRESULT onmousewheel([retval, out] VARIANT *p);
15445
15446     [propget, id(DISPID_IHTMLDOCUMENT5_DOCTYPE)]
15447     HRESULT doctype([retval, out] IHTMLDOMNode **p);
15448
15449     [propget, id(DISPID_IHTMLDOCUMENT5_IMPLEMENTATION)]
15450     HRESULT implementation([retval, out] IHTMLDOMImplementation **p);
15451
15452     [id(DISPID_IHTMLDOCUMENT5_CREATEATTRIBUTE)]
15453     HRESULT createAttribute(
15454         [in] BSTR bstrattrName,
15455         [retval, out] IHTMLDOMAttribute **ppattribute);
15456
15457     [id(DISPID_IHTMLDOCUMENT5_CREATECOMMENT)]
15458     HRESULT createComment(
15459         [in] BSTR bstrdata,
15460         [retval, out] IHTMLDOMNode **ppRetNode);
15461
15462     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
15463     HRESULT onfocusin([in] VARIANT v);
15464
15465     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
15466     HRESULT onfocusin([retval, out] VARIANT *p);
15467
15468     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
15469     HRESULT onfocusout([in] VARIANT v);
15470
15471     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
15472     HRESULT onfocusout([retval, out] VARIANT *p);
15473
15474     [propput, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
15475     HRESULT onactivate([in] VARIANT v);
15476
15477     [propget, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
15478     HRESULT onactivate([retval, out] VARIANT *p);
15479
15480     [propput, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
15481     HRESULT ondeactivate([in] VARIANT v);
15482
15483     [propget, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
15484     HRESULT ondeactivate([retval, out] VARIANT *p);
15485
15486     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
15487     HRESULT onbeforeactivate([in] VARIANT v);
15488
15489     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
15490     HRESULT onbeforeactivate([retval, out] VARIANT *p);
15491
15492     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
15493     HRESULT onbeforedeactivate([in] VARIANT v);
15494
15495     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
15496     HRESULT onbeforedeactivate([retval, out] VARIANT *p);
15497
15498     [propget, id(DISPID_IHTMLDOCUMENT5_COMPATMODE)]
15499     HRESULT compatMode([retval, out] BSTR *p);
15500 }
15501
15502 /*****************************************************************************
15503  *    DispHTMLDocument dispinterface
15504  */
15505 [
15506     hidden,
15507     uuid(3050f55f-98b5-11cf-bb82-00aa00bdce0b)
15508 ]
15509 dispinterface DispHTMLDocument
15510 {
15511 properties:
15512 methods:
15513     [propget, id(DISPID_IHTMLDOCUMENT_SCRIPT), hidden, nonbrowsable]
15514     IDispatch *Script();
15515
15516     [propget, id(DISPID_IHTMLDOCUMENT2_ALL)]
15517     IHTMLElementCollection *all();
15518
15519     [propget, id(DISPID_IHTMLDOCUMENT2_BODY)]
15520     IHTMLElement *body();
15521
15522     [propget, id(DISPID_IHTMLDOCUMENT2_ACTIVEELEMENT)]
15523     IHTMLElement *activeElement();
15524
15525     [propget, id(DISPID_IHTMLDOCUMENT2_IMAGES)]
15526     IHTMLElementCollection *images();
15527
15528     [propget, id(DISPID_IHTMLDOCUMENT2_APPLETS)]
15529     IHTMLElementCollection *applets();
15530
15531     [propget, id(DISPID_IHTMLDOCUMENT2_LINKS)]
15532     IHTMLElementCollection *links();
15533
15534     [propget, id(DISPID_IHTMLDOCUMENT2_FORMS)]
15535     IHTMLElementCollection *forms();
15536
15537     [propget, id(DISPID_IHTMLDOCUMENT2_ANCHORS)]
15538     IHTMLElementCollection *anchors();
15539
15540     [propput, id(DISPID_IHTMLDOCUMENT2_TITLE)]
15541     void title(BSTR v);
15542
15543     [propget, id(DISPID_IHTMLDOCUMENT2_TITLE)]
15544     BSTR title();
15545
15546     [propget, id(DISPID_IHTMLDOCUMENT2_SCRIPTS)]
15547     IHTMLElementCollection *scripts();
15548
15549     [propput, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE), hidden]
15550     void designMode(BSTR v);
15551
15552     [propget, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE), hidden]
15553     BSTR designMode();
15554
15555     [propget, id(DISPID_IHTMLDOCUMENT2_SELECTION)]
15556     IHTMLSelectionObject *selection();
15557
15558     [propget, id(DISPID_IHTMLDOCUMENT2_READYSTATE), bindable]
15559     BSTR readyState();
15560
15561     [propget, id(DISPID_IHTMLDOCUMENT2_FRAMES)]
15562     IHTMLFramesCollection2 *frames();
15563
15564     [propget, id(DISPID_IHTMLDOCUMENT2_EMBEDS)]
15565     IHTMLElementCollection *embeds();
15566
15567     [propget, id(DISPID_IHTMLDOCUMENT2_PLUGINS)]
15568     IHTMLElementCollection *plugins();
15569
15570     [propput, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
15571     void alinkColor(VARIANT v);
15572
15573     [propget, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
15574     VARIANT alinkColor();
15575
15576     [propput, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
15577     void bgColor(VARIANT v);
15578
15579     [propget, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
15580     VARIANT bgColor();
15581
15582     [propput, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
15583     void fgColor(VARIANT v);
15584
15585     [propget, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
15586     VARIANT fgColor();
15587
15588     [propput, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
15589     void linkColor(VARIANT v);
15590
15591     [propget, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
15592     VARIANT linkColor();
15593
15594     [propput, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
15595     void vlinkColor(VARIANT v);
15596
15597     [propget, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
15598     VARIANT vlinkColor();
15599
15600     [propget, id(DISPID_IHTMLDOCUMENT2_REFERRER)]
15601     BSTR referrer();
15602
15603     [propget, id(DISPID_IHTMLDOCUMENT2_LOCATION)]
15604     IHTMLLocation *location();
15605
15606     [propget, id(DISPID_IHTMLDOCUMENT2_LASTMODIFIED)]
15607     BSTR lastModified();
15608
15609     [propput, id(DISPID_IHTMLDOCUMENT2_URL)]
15610     void URL(BSTR v);
15611
15612     [propget, id(DISPID_IHTMLDOCUMENT2_URL)]
15613     BSTR URL();
15614
15615     [propput, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
15616     void domain(BSTR v);
15617
15618     [propget, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
15619     BSTR domain();
15620
15621     [propput, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
15622     void cookie(BSTR v);
15623
15624     [propget, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
15625     BSTR cookie();
15626
15627     [propput, id(DISPID_IHTMLDOCUMENT2_EXPANDO), bindable, hidden]
15628     void expando(VARIANT_BOOL v);
15629
15630     [propget, id(DISPID_IHTMLDOCUMENT2_EXPANDO), bindable, hidden]
15631     VARIANT_BOOL expando();
15632
15633     [propput, id(DISPID_IHTMLDOCUMENT2_CHARSET), hidden]
15634     void charset(BSTR v);
15635
15636     [propget, id(DISPID_IHTMLDOCUMENT2_CHARSET), hidden]
15637     BSTR charset();
15638
15639     [propput, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
15640     void defaultCharset(BSTR v);
15641
15642     [propget, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
15643     BSTR defaultCharset();
15644
15645     [propget, id(DISPID_IHTMLDOCUMENT2_MIMETYPE)]
15646     BSTR mimeType();
15647
15648     [propget, id(DISPID_IHTMLDOCUMENT2_FILESIZE)]
15649     BSTR fileSize();
15650
15651     [propget, id(DISPID_IHTMLDOCUMENT2_FILECREATEDDATE)]
15652     BSTR fileCreatedDate();
15653
15654     [propget, id(DISPID_IHTMLDOCUMENT2_FILEMODIFIEDDATE)]
15655     BSTR fileModifiedDate();
15656
15657     [propget, id(DISPID_IHTMLDOCUMENT2_FILEUPDATEDDATE)]
15658     BSTR fileUpdatedDate();
15659
15660     [propget, id(DISPID_IHTMLDOCUMENT2_SECURITY)]
15661     BSTR security();
15662
15663     [propget, id(DISPID_IHTMLDOCUMENT2_PROTOCOL)]
15664     BSTR protocol();
15665
15666     [propget, id(DISPID_IHTMLDOCUMENT2_NAMEPROP)]
15667     BSTR nameProp();
15668
15669     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITE)]
15670     void write([in] SAFEARRAY(VARIANT) psarray);
15671
15672     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITELN)]
15673     void writeln([in] SAFEARRAY(VARIANT) psarray);
15674
15675     [id(DISPID_IHTMLDOCUMENT2_OPEN)]
15676     IDispatch *open(
15677         [defaultvalue("text/html"), in] BSTR url,
15678         [optional, in] VARIANT name,
15679         [optional, in] VARIANT features,
15680         [optional, in] VARIANT replace);
15681
15682     [id(DISPID_IHTMLDOCUMENT2_CLOSE)]
15683     void close();
15684
15685     [id(DISPID_IHTMLDOCUMENT2_CLEAR)]
15686     void clear();
15687
15688     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSUPPORTED)]
15689     VARIANT_BOOL queryCommandSupported([in] BSTR cmdID);
15690
15691     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDENABLED)]
15692     VARIANT_BOOL queryCommandEnabled([in] BSTR cmdID);
15693
15694     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSTATE)]
15695     VARIANT_BOOL queryCommandState([in] BSTR cmdID);
15696
15697     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDINDETERM)]
15698     VARIANT_BOOL queryCommandIndeterm([in] BSTR cmdID);
15699
15700     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDTEXT)]
15701     BSTR queryCommandText([in] BSTR cmdID);
15702
15703     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDVALUE)]
15704     VARIANT queryCommandValue([in] BSTR cmdID);
15705
15706     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMAND)]
15707     VARIANT_BOOL execCommand(
15708         [in] BSTR cmdID,
15709         [defaultvalue(0), in] VARIANT_BOOL showUI,
15710         [optional, in] VARIANT value);
15711
15712     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMANDSHOWHELP)]
15713     VARIANT_BOOL execCommandShowHelp([in] BSTR cmdID);
15714
15715     [id(DISPID_IHTMLDOCUMENT2_CREATEELEMENT)]
15716     IHTMLElement *createElement([in] BSTR eTag);
15717
15718     [propput, id(DISPID_IHTMLDOCUMENT2_ONHELP), displaybind, bindable]
15719     void onhelp(VARIANT v);
15720
15721     [propget, id(DISPID_IHTMLDOCUMENT2_ONHELP), displaybind, bindable]
15722     VARIANT onhelp();
15723
15724     [propput, id(DISPID_IHTMLDOCUMENT2_ONCLICK), displaybind, bindable]
15725     void onclick(VARIANT v);
15726
15727     [propget, id(DISPID_IHTMLDOCUMENT2_ONCLICK), displaybind, bindable]
15728     VARIANT onclick();
15729
15730     [propput, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK), displaybind, bindable]
15731     void ondblclick(VARIANT v);
15732
15733     [propget, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK), displaybind, bindable]
15734     VARIANT ondblclick();
15735
15736     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYUP), displaybind, bindable]
15737     void onkeyup(VARIANT v);
15738
15739     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYUP), displaybind, bindable]
15740     VARIANT onkeyup();
15741
15742     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN), displaybind, bindable]
15743     void onkeydown(VARIANT v);
15744
15745     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN), displaybind, bindable]
15746     VARIANT onkeydown();
15747
15748     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS), displaybind, bindable]
15749     void onkeypress(VARIANT v);
15750
15751     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS), displaybind, bindable]
15752     VARIANT onkeypress();
15753
15754     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP), displaybind, bindable]
15755     void onmouseup(VARIANT v);
15756
15757     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP), displaybind, bindable]
15758     VARIANT onmouseup();
15759
15760     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN), displaybind, bindable]
15761     void onmousedown(VARIANT v);
15762
15763     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN), displaybind, bindable]
15764     VARIANT onmousedown();
15765
15766     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE), displaybind, bindable]
15767     void onmousemove(VARIANT v);
15768
15769     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE), displaybind, bindable]
15770     VARIANT onmousemove();
15771
15772     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT), displaybind, bindable]
15773     void onmouseout(VARIANT v);
15774
15775     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT), displaybind, bindable]
15776     VARIANT onmouseout();
15777
15778     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER), displaybind, bindable]
15779     void onmouseover(VARIANT v);
15780
15781     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER), displaybind, bindable]
15782     VARIANT onmouseover();
15783
15784     [propput, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE), displaybind, bindable]
15785     void onreadystatechange(VARIANT v);
15786
15787     [propget, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE), displaybind, bindable]
15788     VARIANT onreadystatechange();
15789
15790     [propput, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE), displaybind, bindable]
15791     void onafterupdate(VARIANT v);
15792
15793     [propget, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE), displaybind, bindable]
15794     VARIANT onafterupdate();
15795
15796     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT), displaybind, bindable]
15797     void onrowexit(VARIANT v);
15798
15799     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT), displaybind, bindable]
15800     VARIANT onrowexit();
15801
15802     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWENTER), displaybind, bindable]
15803     void onrowenter(VARIANT v);
15804
15805     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWENTER), displaybind, bindable]
15806     VARIANT onrowenter();
15807
15808     [propput, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART), displaybind, bindable]
15809     void ondragstart(VARIANT v);
15810
15811     [propget, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART), displaybind, bindable]
15812     VARIANT ondragstart();
15813
15814     [propput, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART), displaybind, bindable]
15815     void onselectstart(VARIANT v);
15816
15817     [propget, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART), displaybind, bindable]
15818     VARIANT onselectstart();
15819
15820     [id(DISPID_IHTMLDOCUMENT2_ELEMENTFROMPOINT)]
15821     IHTMLElement *elementFromPoint(
15822         [in] LONG x,
15823         [in] LONG y);
15824
15825     [propget, id(DISPID_IHTMLDOCUMENT2_PARENTWINDOW)]
15826     IHTMLWindow2 *parentWindow();
15827
15828     [propget, id(DISPID_IHTMLDOCUMENT2_STYLESHEETS)]
15829     IHTMLStyleSheetsCollection *styleSheets();
15830
15831     [propput, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE), displaybind, bindable]
15832     void onbeforeupdate(VARIANT v);
15833
15834     [propget, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE), displaybind, bindable]
15835     VARIANT onbeforeupdate();
15836
15837     [propput, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE), displaybind, bindable]
15838     void onerrorupdate(VARIANT v);
15839
15840     [propget, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE), displaybind, bindable]
15841     VARIANT onerrorupdate();
15842
15843     [id(DISPID_IHTMLDOCUMENT2_TOSTRING)]
15844     BSTR toString();
15845
15846     [id(DISPID_IHTMLDOCUMENT2_CREATESTYLESHEET)]
15847     IHTMLStyleSheet *createStyleSheet(
15848         [defaultvalue(""), in] BSTR bstrHref,
15849         [defaultvalue(-1), in] LONG lIndex);
15850
15851     [id(DISPID_IHTMLDOCUMENT3_RELEASECAPTURE)]
15852     void releaseCapture();
15853
15854     [id(DISPID_IHTMLDOCUMENT3_RECALC)]
15855     void recalc([defaultvalue(0), in] VARIANT_BOOL fForce);
15856
15857     [id(DISPID_IHTMLDOCUMENT3_CREATETEXTNODE)]
15858     IHTMLDOMNode *createTextNode([in] BSTR text);
15859
15860     [propget, id(DISPID_IHTMLDOCUMENT3_DOCUMENTELEMENT)]
15861     IHTMLElement *documentElement();
15862
15863     [propget, id(DISPID_IHTMLDOCUMENT3_UNIQUEID), hidden]
15864     BSTR uniqueID();
15865
15866     [id(DISPID_IHTMLDOCUMENT3_ATTACHEVENT)]
15867     VARIANT_BOOL attachEvent(
15868         [in] BSTR event,
15869         [in] IDispatch *pDisp);
15870
15871     [id(DISPID_IHTMLDOCUMENT3_DETACHEVENT)]
15872     void detachEvent(
15873         [in] BSTR event,
15874         [in] IDispatch *pDisp);
15875
15876     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
15877     void onrowsdelete(VARIANT v);
15878
15879     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
15880     VARIANT onrowsdelete();
15881
15882     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
15883     void onrowsinserted(VARIANT v);
15884
15885     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
15886     VARIANT onrowsinserted();
15887
15888     [propput, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
15889     void oncellchange(VARIANT v);
15890
15891     [propget, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
15892     VARIANT oncellchange();
15893
15894     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
15895     void ondatasetchanged(VARIANT v);
15896
15897     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
15898     VARIANT ondatasetchanged();
15899
15900     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
15901     void ondataavailable(VARIANT v);
15902
15903     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
15904     VARIANT ondataavailable();
15905
15906     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
15907     void ondatasetcomplete(VARIANT v);
15908
15909     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
15910     VARIANT ondatasetcomplete();
15911
15912     [propput, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
15913     void onpropertychange(VARIANT v);
15914
15915     [propget, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
15916     VARIANT onpropertychange();
15917
15918     [propput, id(DISPID_IHTMLDOCUMENT3_DIR)]
15919     void dir(BSTR v);
15920
15921     [propget, id(DISPID_IHTMLDOCUMENT3_DIR)]
15922     BSTR dir();
15923
15924     [propput, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
15925     void oncontextmenu(VARIANT v);
15926
15927     [propget, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
15928     VARIANT oncontextmenu();
15929
15930     [propput, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
15931     void onstop(VARIANT v);
15932
15933     [propget, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
15934     VARIANT onstop();
15935
15936     [id(DISPID_IHTMLDOCUMENT3_CREATEDOCUMENTFRAGMENT)]
15937     IHTMLDocument2 *createDocumentFragment();
15938
15939     [propget, id(DISPID_IHTMLDOCUMENT3_PARENTDOCUMENT), hidden, restricted]
15940     IHTMLDocument2 *parentDocument();
15941
15942     [propput, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
15943     void enableDownload(VARIANT_BOOL v);
15944
15945     [propget, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
15946     VARIANT_BOOL enableDownload();
15947
15948     [propput, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
15949     void baseUrl(BSTR v);
15950
15951     [propget, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
15952     BSTR baseUrl();
15953
15954     [propput, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
15955     void inheritStyleSheets(VARIANT_BOOL v);
15956
15957     [propget, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
15958     VARIANT_BOOL inheritStyleSheets();
15959
15960     [propput, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
15961     void onbeforeeditfocus(VARIANT v);
15962
15963     [propget, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
15964     VARIANT onbeforeeditfocus();
15965
15966     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYNAME)]
15967     IHTMLElementCollection *getElementsByName([in] BSTR v);
15968
15969     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTBYID)]
15970     IHTMLElement *getElementById([in] BSTR v);
15971
15972     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYTAGNAME)]
15973     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
15974
15975     [id(DISPID_IHTMLDOCUMENT4_FOCUS)]
15976     void focus();
15977
15978     [id(DISPID_IHTMLDOCUMENT4_HASFOCUS)]
15979     VARIANT_BOOL hasFocus();
15980
15981     [propput, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
15982     void onselectionchange(VARIANT v);
15983
15984     [propget, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
15985     VARIANT onselectionchange();
15986
15987     [propget, id(DISPID_IHTMLDOCUMENT4_NAMESPACES)]
15988     IDispatch *namespaces();
15989
15990     [id(DISPID_IHTMLDOCUMENT4_CREATEDOCUMENTFROMURL)]
15991     IHTMLDocument2 *createDocumentFromUrl(
15992         [in] BSTR bstrUrl,
15993         [in] BSTR bstrOptions);
15994
15995     [propput, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
15996     void media(BSTR v);
15997
15998     [propget, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
15999     BSTR media();
16000
16001     [id(DISPID_IHTMLDOCUMENT4_CREATEEVENTOBJECT)]
16002     IHTMLEventObj *createEventObject([optional, in] VARIANT *pvarEventObject);
16003
16004     [id(DISPID_IHTMLDOCUMENT4_FIREEVENT)]
16005     VARIANT_BOOL fireEvent(
16006         [in] BSTR bstrEventName,
16007         [optional, in] VARIANT *pvarEventObject);
16008
16009     [id(DISPID_IHTMLDOCUMENT4_CREATERENDERSTYLE)]
16010     IHTMLRenderStyle *createRenderStyle([in] BSTR v);
16011
16012     [propput, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
16013     void oncontrolselect(VARIANT v);
16014
16015     [propget, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
16016     VARIANT oncontrolselect();
16017
16018     [propget, id(DISPID_IHTMLDOCUMENT4_URLUNENCODED)]
16019     BSTR URLUnencoded();
16020
16021     [propput, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
16022     void onmousewheel(VARIANT v);
16023
16024     [propget, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
16025     VARIANT onmousewheel();
16026
16027     [propget, id(DISPID_IHTMLDOCUMENT5_DOCTYPE)]
16028     IHTMLDOMNode *doctype();
16029
16030     [propget, id(DISPID_IHTMLDOCUMENT5_IMPLEMENTATION)]
16031     IHTMLDOMImplementation *implementation();
16032
16033     [id(DISPID_IHTMLDOCUMENT5_CREATEATTRIBUTE)]
16034     IHTMLDOMAttribute *createAttribute([in] BSTR bstrattrName);
16035
16036     [id(DISPID_IHTMLDOCUMENT5_CREATECOMMENT)]
16037     IHTMLDOMNode *createComment([in] BSTR bstrdata);
16038
16039     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
16040     void onfocusin(VARIANT v);
16041
16042     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
16043     VARIANT onfocusin();
16044
16045     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
16046     void onfocusout(VARIANT v);
16047
16048     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
16049     VARIANT onfocusout();
16050
16051     [propput, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
16052     void onactivate(VARIANT v);
16053
16054     [propget, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
16055     VARIANT onactivate();
16056
16057     [propput, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
16058     void ondeactivate(VARIANT v);
16059
16060     [propget, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
16061     VARIANT ondeactivate();
16062
16063     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
16064     void onbeforeactivate(VARIANT v);
16065
16066     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
16067     VARIANT onbeforeactivate();
16068
16069     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
16070     void onbeforedeactivate(VARIANT v);
16071
16072     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
16073     VARIANT onbeforedeactivate();
16074
16075     [propget, id(DISPID_IHTMLDOCUMENT5_COMPATMODE)]
16076     BSTR compatMode();
16077
16078     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
16079     LONG nodeType();
16080
16081     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
16082     IHTMLDOMNode *parentNode();
16083
16084     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
16085     VARIANT_BOOL hasChildNodes();
16086
16087     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
16088     IDispatch *childNodes();
16089
16090     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
16091     IDispatch *attributes();
16092
16093     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
16094     IHTMLDOMNode *insertBefore(
16095         [in] IHTMLDOMNode *newChild,
16096         [optional, in] VARIANT refChild);
16097
16098     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
16099     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
16100
16101     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
16102     IHTMLDOMNode *replaceChild(
16103         [in] IHTMLDOMNode *newChild,
16104         [in] IHTMLDOMNode *oldChild);
16105
16106     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
16107     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
16108
16109     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
16110     IHTMLDOMNode *removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep);
16111
16112     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
16113     IHTMLDOMNode *swapNode([in] IHTMLDOMNode* otherNode);
16114
16115     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
16116     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
16117
16118     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
16119     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
16120
16121     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
16122     BSTR nodeName();
16123
16124     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
16125     void nodeValue(VARIANT v);
16126
16127     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
16128     VARIANT nodeValue();
16129
16130     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
16131     IHTMLDOMNode *firstChild();
16132
16133     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
16134     IHTMLDOMNode *lastChild();
16135
16136     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
16137     IHTMLDOMNode *previousSibling();
16138
16139     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
16140     IHTMLDOMNode *nextSibling();
16141
16142     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
16143     IDispatch *ownerDocument();
16144 }
16145
16146 /*****************************************************************************
16147  *    HTMLDocument coclass
16148  */
16149 [
16150     uuid(25336920-03F9-11cf-8FD0-00AA00686F13)
16151 ]
16152 coclass HTMLDocument
16153 {
16154     [default]         dispinterface DispHTMLDocument;
16155     [source, default] dispinterface HTMLDocumentEvents;
16156     [source]          dispinterface HTMLDocumentEvents2;
16157                       interface IHTMLDocument2;
16158                       interface IHTMLDocument3;
16159                       interface IHTMLDocument4;
16160                       interface IHTMLDocument5;
16161                       interface IHTMLDOMNode;
16162                       interface IHTMLDOMNode2;
16163 }
16164
16165 /*****************************************************************************
16166  *    IHTMLCommentElement interface
16167  */
16168 [
16169     odl,
16170     oleautomation,
16171     dual,
16172     uuid(3050f20c-98b5-11cf-bb82-00aa00bdce0b)
16173 ]
16174 interface IHTMLCommentElement : IDispatch
16175 {
16176     [propput, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
16177     HRESULT text([in] BSTR v);
16178
16179     [propget, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
16180     HRESULT text([out, retval] BSTR *p);
16181
16182     [propput, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
16183     HRESULT atomic([in] LONG v);
16184
16185     [propget, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
16186     HRESULT atomic([out, retval] LONG *p);
16187 }
16188
16189 /*****************************************************************************
16190  *    IHTMLCommentElement2 interface
16191  */
16192 [
16193     odl,
16194     oleautomation,
16195     dual,
16196     uuid(3050f813-98b5-11cf-bb82-00aa00bdce0b)
16197 ]
16198 interface IHTMLCommentElement2 : IDispatch
16199 {
16200     [propput, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
16201     HRESULT data([in] BSTR v);
16202
16203     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
16204     HRESULT data([out, retval] BSTR *p);
16205
16206     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_LENGTH)]
16207     HRESULT length([out, retval] LONG *p);
16208
16209     [id(DISPID_IHTMLCOMMENTELEMENT2_SUBSTRINGDATA)]
16210     HRESULT substringData(
16211             [in] LONG offset,
16212             [in] LONG Count,
16213             [out, retval] BSTR *pbstrsubString);
16214
16215     [id(DISPID_IHTMLCOMMENTELEMENT2_APPENDDATA)]
16216     HRESULT appendData([in] BSTR bstrstring);
16217
16218     [id(DISPID_IHTMLCOMMENTELEMENT2_INSERTDATA)]
16219     HRESULT insertData(
16220             [in] LONG offset,
16221             [in] BSTR bstrstring);
16222
16223     [id(DISPID_IHTMLCOMMENTELEMENT2_DELETEDATA)]
16224     HRESULT deleteData(
16225             [in] LONG offset,
16226             [in] LONG Count);
16227
16228     [id(DISPID_IHTMLCOMMENTELEMENT2_REPLACEDATA)]
16229     HRESULT replaceData(
16230             [in] LONG offset,
16231             [in] LONG Count,
16232             [in] BSTR bstrstring);
16233 }
16234
16235 /*****************************************************************************
16236  *    DispHTMLCommentElement dispinterface
16237  */
16238 [
16239     hidden,
16240     uuid(3050f50a-98b5-11cf-bb82-00aa00bdce0b)
16241 ]
16242 dispinterface DispHTMLCommentElement
16243 {
16244 properties:
16245 methods:
16246     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
16247     void setAttribute(
16248             [in] BSTR strAttributeName,
16249             [in] VARIANT AttributeValue,
16250             [in, defaultvalue(1)] LONG lFlags);
16251
16252     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
16253     VARIANT getAttribute(
16254              [in] BSTR strAttributeName,
16255              [in, defaultvalue(0)] LONG lFlags);
16256
16257     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
16258     VARIANT_BOOL removeAttribute(
16259             [in] BSTR strAttributeName,
16260             [in, defaultvalue(1)] LONG lFlags);
16261
16262     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
16263     void className(BSTR v);
16264
16265     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
16266     BSTR className();
16267
16268     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
16269     void id(BSTR v);
16270
16271     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
16272     BSTR id();
16273
16274     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
16275     BSTR tagName();
16276
16277     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
16278     IHTMLElement *parentElement();
16279
16280     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
16281     IHTMLStyle *style();
16282
16283     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
16284     void onhelp(VARIANT v);
16285
16286     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
16287     VARIANT onhelp();
16288
16289     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
16290     void onclick(VARIANT v);
16291
16292     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
16293     VARIANT onclick();
16294
16295     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
16296     void ondblclick(VARIANT v);
16297
16298     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
16299     VARIANT ondblclick();
16300
16301     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
16302     void onkeydown(VARIANT v);
16303
16304     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
16305     VARIANT onkeydown();
16306
16307     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
16308     void onkeyup(VARIANT v);
16309
16310     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
16311     VARIANT onkeyup();
16312
16313     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
16314     void onkeypress(VARIANT v);
16315
16316     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
16317     VARIANT onkeypress();
16318
16319     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
16320     void onmouseout(VARIANT v);
16321
16322     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
16323     VARIANT onmouseout();
16324
16325     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
16326     void onmouseover(VARIANT v);
16327
16328     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
16329     VARIANT onmouseover();
16330
16331     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
16332     void onmousemove(VARIANT v);
16333
16334     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
16335     VARIANT onmousemove();
16336
16337     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
16338     void onmousedown(VARIANT v);
16339
16340     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
16341     VARIANT onmousedown();
16342
16343     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
16344     void onmouseup(VARIANT v);
16345
16346     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
16347     VARIANT onmouseup();
16348
16349     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
16350     IDispatch *document();
16351
16352     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
16353     void title(BSTR v);
16354
16355     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
16356     BSTR title();
16357
16358     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
16359     void language(BSTR v);
16360
16361     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
16362     BSTR language();
16363
16364     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
16365     void onselectstart(VARIANT v);
16366
16367     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
16368     VARIANT onselectstart();
16369
16370     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
16371     void scrollIntoView([in, optional] VARIANT varargStart);
16372
16373     [id(DISPID_IHTMLELEMENT_CONTAINS)]
16374     VARIANT_BOOL contains([in] IHTMLElement *pChild);
16375
16376     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
16377     LONG sourceIndex();
16378
16379     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
16380     VARIANT recordNumber();
16381
16382     [propput, id(DISPID_IHTMLELEMENT_LANG)]
16383     void lang(BSTR v);
16384
16385     [propget, id(DISPID_IHTMLELEMENT_LANG)]
16386     BSTR lang();
16387
16388     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
16389     LONG offsetLeft();
16390
16391     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
16392     LONG offsetTop();
16393
16394     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
16395     LONG offsetWidth();
16396
16397     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
16398     LONG offsetHeight();
16399
16400     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
16401     IHTMLElement *offsetParent();
16402
16403     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
16404     void innerHTML(BSTR v);
16405
16406     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
16407     BSTR innerHTML();
16408
16409     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
16410     void innerText(BSTR v);
16411
16412     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
16413     BSTR innerText();
16414
16415     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
16416     void outerHTML(BSTR v);
16417
16418     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
16419     BSTR outerHTML();
16420
16421     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
16422     void outerText(BSTR v);
16423
16424     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
16425     BSTR outerText();
16426
16427     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
16428     void insertAdjacentHTML(
16429             [in] BSTR where,
16430             [in] BSTR html);
16431
16432     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
16433     void insertAdjacentText(
16434             [in] BSTR where,
16435             [in] BSTR text);
16436
16437     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
16438     IHTMLElement *parentTextEdit();
16439
16440     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
16441     VARIANT_BOOL isTextEdit();
16442
16443     [id(DISPID_IHTMLELEMENT_CLICK)]
16444     void click();
16445
16446     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
16447     IHTMLFiltersCollection *filters();
16448
16449     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
16450     void ondragstart(VARIANT v);
16451
16452     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
16453     VARIANT ondragstart();
16454
16455     [id(DISPID_IHTMLELEMENT_TOSTRING)]
16456     BSTR toString();
16457
16458     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
16459     void onbeforeupdate(VARIANT v);
16460
16461     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
16462     VARIANT onbeforeupdate();
16463
16464     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
16465     void onafterupdate(VARIANT v);
16466
16467     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
16468     VARIANT onafterupdate();
16469
16470     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
16471     void onerrorupdate(VARIANT v);
16472
16473     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
16474     VARIANT onerrorupdate();
16475
16476     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
16477     void onrowexit(VARIANT v);
16478
16479     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
16480     VARIANT onrowexit();
16481
16482     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
16483     void onrowenter(VARIANT v);
16484
16485     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
16486     VARIANT onrowenter();
16487
16488     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
16489     void ondatasetchanged(VARIANT v);
16490
16491     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
16492     VARIANT ondatasetchanged();
16493
16494     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
16495     void ondataavailable(VARIANT v);
16496
16497     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
16498     VARIANT ondataavailable();
16499
16500     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
16501     void ondatasetcomplete(VARIANT v);
16502
16503     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
16504     VARIANT ondatasetcomplete();
16505
16506     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
16507     void onfilterchange(VARIANT v);
16508
16509     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
16510     VARIANT onfilterchange();
16511
16512     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
16513     IDispatch *children();
16514
16515     [propget, id(DISPID_IHTMLELEMENT_ALL)]
16516     IDispatch *all();
16517
16518     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
16519     BSTR scopeName();
16520
16521     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
16522     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
16523
16524     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
16525     void releaseCapture();
16526
16527     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
16528     void onlosecapture(VARIANT v);
16529
16530     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
16531     VARIANT onlosecapture();
16532
16533     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
16534     BSTR componentFromPoint(
16535             [in] LONG x,
16536             [in] LONG y);
16537
16538     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
16539     void doScroll([in, optional] VARIANT component);
16540
16541     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
16542     void onscroll(VARIANT v);
16543
16544     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
16545     VARIANT onscroll();
16546
16547     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
16548     void ondrag(VARIANT v);
16549
16550     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
16551     VARIANT ondrag();
16552
16553     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
16554     void ondragend(VARIANT v);
16555
16556     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
16557     VARIANT ondragend();
16558
16559     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
16560     void ondragenter(VARIANT v);
16561
16562     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
16563     VARIANT ondragenter();
16564
16565     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
16566     void ondragover(VARIANT v);
16567
16568     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
16569     VARIANT ondragover();
16570
16571     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
16572     void ondragleave(VARIANT v);
16573
16574     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
16575     VARIANT ondragleave();
16576
16577     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
16578     void ondrop(VARIANT v);
16579
16580     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
16581     VARIANT ondrop();
16582
16583     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
16584     void onbeforecut(VARIANT v);
16585
16586     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
16587     VARIANT onbeforecut();
16588
16589     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
16590     void oncut(VARIANT v);
16591
16592     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
16593     VARIANT oncut();
16594
16595     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
16596     void onbeforecopy(VARIANT v);
16597
16598     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
16599     VARIANT onbeforecopy();
16600
16601     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
16602     void oncopy(VARIANT v);
16603
16604     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
16605     VARIANT oncopy();
16606
16607     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
16608     void onbeforepaste(VARIANT v);
16609
16610     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
16611     VARIANT onbeforepaste();
16612
16613     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
16614     void onpaste(VARIANT v);
16615
16616     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
16617     VARIANT onpaste();
16618
16619     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
16620     IHTMLCurrentStyle *currentStyle();
16621
16622     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
16623     void onpropertychange(VARIANT v);
16624
16625     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
16626     VARIANT onpropertychange();
16627
16628     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
16629     IHTMLRectCollection *getClientRects();
16630
16631     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
16632     IHTMLRect *getBoundingClientRect();
16633
16634     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
16635     void setExpression(
16636             [in] BSTR propname,
16637             [in] BSTR expression,
16638             [in, defaultvalue("")] BSTR language);
16639
16640     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
16641     VARIANT getExpression([in] BSTR propname);
16642
16643     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
16644     VARIANT_BOOL removeExpression([in] BSTR propname);
16645
16646     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
16647     void tabIndex(short v);
16648
16649     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
16650     short tabIndex();
16651
16652     [id(DISPID_IHTMLELEMENT2_FOCUS)]
16653     void focus();
16654
16655     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
16656     void accessKey(BSTR v);
16657
16658     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
16659     BSTR accessKey();
16660
16661     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
16662     void onblur(VARIANT v);
16663
16664     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
16665     VARIANT onblur();
16666
16667     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
16668     void onfocus(VARIANT v);
16669
16670     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
16671     VARIANT onfocus();
16672
16673     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
16674     void onresize(VARIANT v);
16675
16676     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
16677     VARIANT onresize();
16678
16679     [id(DISPID_IHTMLELEMENT2_BLUR)]
16680     void blur();
16681
16682     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
16683     void addFilter([in] IUnknown *pUnk);
16684
16685     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
16686     void removeFilter([in] IUnknown *pUnk);
16687
16688     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
16689     LONG clientHeight();
16690
16691     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
16692     LONG clientWidth();
16693
16694     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
16695     LONG clientTop();
16696
16697     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
16698     LONG clientLeft();
16699
16700     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
16701     VARIANT_BOOL attachEvent(
16702             [in] BSTR event,
16703             [in] IDispatch *pDisp);
16704
16705     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
16706     void detachEvent(
16707             [in] BSTR event,
16708             [in] IDispatch *pDisp);
16709
16710     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
16711     VARIANT readyState();
16712
16713     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
16714     void onreadystatechange(VARIANT v);
16715
16716     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
16717     VARIANT onreadystatechange();
16718
16719     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
16720     void onrowsdelete(VARIANT v);
16721
16722     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
16723     VARIANT onrowsdelete();
16724
16725     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
16726     void onrowsinserted(VARIANT v);
16727
16728     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
16729      VARIANT onrowsinserted();
16730
16731     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
16732      void oncellchange(VARIANT v);
16733
16734     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
16735     VARIANT oncellchange();
16736
16737     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
16738     void dir(BSTR v);
16739
16740     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
16741     BSTR dir();
16742
16743     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
16744     IDispatch *createControlRange();
16745
16746     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
16747     LONG scrollHeight();
16748
16749     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
16750     LONG scrollWidth();
16751
16752     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
16753     void scrollTop(LONG v);
16754
16755     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
16756     LONG scrollTop();
16757
16758     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
16759     void scrollLeft(LONG v);
16760
16761     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
16762     LONG scrollLeft();
16763
16764     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
16765     void clearAttributes();
16766
16767     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
16768     void oncontextmenu(VARIANT v);
16769
16770     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
16771     VARIANT oncontextmenu();
16772
16773     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
16774     IHTMLElement *insertAdjacentElement(
16775             [in] BSTR where,
16776             [in] IHTMLElement *insertedElement);
16777
16778     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
16779     IHTMLElement *applyElement(
16780             [in] IHTMLElement *apply,
16781             [in] BSTR where);
16782
16783     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
16784     BSTR getAdjacentText([in] BSTR where);
16785
16786     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
16787     BSTR replaceAdjacentText(
16788             [in] BSTR where,
16789             [in] BSTR newText);
16790
16791     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
16792     VARIANT_BOOL canHaveChildren();
16793
16794     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
16795     LONG addBehavior(
16796             [in] BSTR bstrUrl,
16797             [in, optional] VARIANT *pvarFactory);
16798
16799     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
16800     VARIANT_BOOL removeBehavior([in] LONG cookie);
16801
16802     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
16803     IHTMLStyle *runtimeStyle();
16804
16805     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
16806     IDispatch *behaviorUrns();
16807
16808     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
16809     void tagUrn(BSTR v);
16810
16811     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
16812     BSTR tagUrn();
16813
16814     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
16815     void onbeforeeditfocus(VARIANT v);
16816
16817     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
16818     VARIANT onbeforeeditfocus();
16819
16820     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
16821     LONG readyStateValue();
16822
16823     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
16824     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
16825
16826     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
16827     void mergeAttributes(
16828             [in] IHTMLElement *mergeThis,
16829             [in, optional] VARIANT *pvarFlags);
16830
16831     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
16832     VARIANT_BOOL isMultiLine();
16833
16834     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
16835     VARIANT_BOOL canHaveHTML();
16836
16837     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
16838     void onlayoutcomplete(VARIANT v);
16839
16840     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
16841     VARIANT onlayoutcomplete();
16842
16843     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
16844     void onpage(VARIANT v);
16845
16846     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
16847     VARIANT onpage();
16848
16849     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
16850     void inflateBlock(VARIANT_BOOL v);
16851
16852     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
16853     VARIANT_BOOL inflateBlock();
16854
16855     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
16856     void onbeforedeactivate(VARIANT v);
16857
16858     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
16859     VARIANT onbeforedeactivate();
16860
16861     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
16862     void setActive();
16863
16864     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
16865     void contentEditable(BSTR v);
16866
16867     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
16868     BSTR contentEditable();
16869
16870     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
16871     VARIANT_BOOL isContentEditable();
16872
16873     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
16874     void hideFocus(VARIANT_BOOL v);
16875
16876     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
16877     VARIANT_BOOL hideFocus();
16878
16879     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
16880     void disabled(VARIANT_BOOL v);
16881
16882     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
16883     VARIANT_BOOL disabled();
16884
16885     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
16886     VARIANT_BOOL isDisabled();
16887
16888     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
16889     void onmove(VARIANT v);
16890
16891     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
16892     VARIANT onmove();
16893
16894     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
16895     void oncontrolselect(VARIANT v);
16896
16897     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
16898     VARIANT oncontrolselect();
16899
16900     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
16901     VARIANT_BOOL fireEvent(
16902             [in] BSTR bstrEventName,
16903             [in, optional] VARIANT *pvarEventObject);
16904
16905     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
16906     void onresizestart(VARIANT v);
16907
16908     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
16909     VARIANT onresizestart();
16910
16911     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
16912     void onresizeend(VARIANT v);
16913
16914     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
16915     VARIANT onresizeend();
16916
16917     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
16918     void onmovestart(VARIANT v);
16919
16920     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
16921     VARIANT onmovestart();
16922
16923     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
16924     void onmoveend(VARIANT v);
16925
16926     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
16927     VARIANT onmoveend();
16928
16929     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
16930     void onmouseenter(VARIANT v);
16931
16932     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
16933     VARIANT onmouseenter();
16934
16935     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
16936     void onmouseleave(VARIANT v);
16937
16938     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
16939     VARIANT onmouseleave();
16940
16941     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
16942     void onactivate(VARIANT v);
16943
16944     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
16945     VARIANT onactivate();
16946
16947     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
16948     void ondeactivate(VARIANT v);
16949
16950     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
16951     VARIANT ondeactivate();
16952
16953     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
16954     VARIANT_BOOL dragDrop();
16955
16956     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
16957     LONG glyphMode();
16958
16959     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
16960     void onmousewheel(VARIANT v);
16961
16962     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
16963     VARIANT onmousewheel();
16964
16965     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
16966     void normalize();
16967
16968     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
16969     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
16970
16971     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
16972     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
16973
16974     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
16975     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
16976
16977     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
16978     void onbeforeactivate(VARIANT v);
16979
16980     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
16981     VARIANT onbeforeactivate();
16982
16983     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
16984     void onfocusin(VARIANT v);
16985
16986     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
16987     VARIANT onfocusin();
16988
16989     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
16990     void onfocusout(VARIANT v);
16991
16992     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
16993     VARIANT onfocusout();
16994
16995     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
16996     LONG uniqueNumber();
16997
16998     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
16999     BSTR uniqueID();
17000
17001     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
17002     LONG nodeType();
17003
17004     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
17005     IHTMLDOMNode *parentNode();
17006
17007     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
17008     VARIANT_BOOL hasChildNodes();
17009
17010     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
17011     IDispatch *childNodes();
17012
17013     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
17014     IDispatch *attributes();
17015
17016     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
17017     IHTMLDOMNode *insertBefore(
17018             [in] IHTMLDOMNode *newChild,
17019             [in, optional] VARIANT refChild);
17020
17021     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
17022     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
17023
17024     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
17025     IHTMLDOMNode *replaceChild(
17026             [in] IHTMLDOMNode *newChild,
17027             [in] IHTMLDOMNode *oldChild);
17028
17029     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
17030     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
17031
17032     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
17033     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
17034
17035     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
17036     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
17037
17038     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
17039     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
17040
17041     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
17042     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
17043
17044     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
17045     BSTR nodeName();
17046
17047     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
17048     void nodeValue(VARIANT v);
17049
17050     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
17051     VARIANT nodeValue();
17052
17053     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
17054     IHTMLDOMNode *firstChild();
17055
17056     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
17057     IHTMLDOMNode *lastChild();
17058
17059     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
17060     IHTMLDOMNode *previousSibling();
17061
17062     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
17063     IHTMLDOMNode *nextSibling();
17064
17065     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
17066     IDispatch *ownerDocument();
17067
17068     [propput, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
17069     void text(BSTR v);
17070
17071     [propget, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
17072     BSTR text();
17073
17074     [propput, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
17075     void atomic(LONG v);
17076
17077     [propget, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
17078     LONG atomic();
17079
17080     [propput, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
17081     void data(BSTR v);
17082
17083     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
17084     BSTR data();
17085
17086     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_LENGTH)]
17087     LONG length();
17088
17089     [id(DISPID_IHTMLCOMMENTELEMENT2_SUBSTRINGDATA)]
17090     BSTR substringData(
17091             [in] LONG offset,
17092             [in] LONG Count);
17093
17094     [id(DISPID_IHTMLCOMMENTELEMENT2_APPENDDATA)]
17095     void appendData([in] BSTR bstrstring);
17096
17097     [id(DISPID_IHTMLCOMMENTELEMENT2_INSERTDATA)]
17098      void insertData(
17099             [in] LONG offset,
17100             [in] BSTR bstrstring);
17101
17102     [id(DISPID_IHTMLCOMMENTELEMENT2_DELETEDATA)]
17103     void deleteData(
17104             [in] LONG offset,
17105             [in] LONG Count);
17106
17107     [id(DISPID_IHTMLCOMMENTELEMENT2_REPLACEDATA)]
17108     void replaceData(
17109             [in] LONG offset,
17110             [in] LONG Count,
17111             [in] BSTR bstrstring);
17112 }
17113
17114 [
17115     hidden,
17116     uuid(3050f60f-98b5-11cf-bb82-00aa00bdce0b)
17117 ]
17118 dispinterface HTMLElementEvents2
17119 {
17120 properties:
17121 methods:
17122     [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)]
17123     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
17124
17125     [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)]
17126     VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
17127
17128     [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)]
17129     VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
17130
17131     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)]
17132     VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
17133
17134     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)]
17135     void onkeydown([in] IHTMLEventObj* pEvtObj);
17136
17137     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)]
17138     void onkeyup([in] IHTMLEventObj* pEvtObj);
17139
17140     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)]
17141     void onmouseout([in] IHTMLEventObj* pEvtObj);
17142
17143     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)]
17144     void onmouseover([in] IHTMLEventObj* pEvtObj);
17145
17146     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)]
17147     void onmousemove([in] IHTMLEventObj* pEvtObj);
17148
17149     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)]
17150     void onmousedown([in] IHTMLEventObj* pEvtObj);
17151
17152     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)]
17153     void onmouseup([in] IHTMLEventObj* pEvtObj);
17154
17155     [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)]
17156     VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
17157
17158     [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)]
17159     void onfilterchange([in] IHTMLEventObj* pEvtObj);
17160
17161     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)]
17162     VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
17163
17164     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)]
17165     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
17166
17167     [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)]
17168     void onafterupdate([in] IHTMLEventObj* pEvtObj);
17169
17170     [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)]
17171     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
17172
17173     [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)]
17174     VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
17175
17176     [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)]
17177     void onrowenter([in] IHTMLEventObj* pEvtObj);
17178
17179     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)]
17180     void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
17181
17182     [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)]
17183     void ondataavailable([in] IHTMLEventObj* pEvtObj);
17184
17185     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)]
17186     void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
17187
17188     [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)]
17189     void onlosecapture([in] IHTMLEventObj* pEvtObj);
17190
17191     [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)]
17192     void onpropertychange([in] IHTMLEventObj* pEvtObj);
17193
17194     [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)]
17195     void onscroll([in] IHTMLEventObj* pEvtObj);
17196
17197     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)]
17198     void onfocus([in] IHTMLEventObj* pEvtObj);
17199
17200     [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)]
17201     void onblur([in] IHTMLEventObj* pEvtObj);
17202
17203     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)]
17204     void onresize([in] IHTMLEventObj* pEvtObj);
17205
17206     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)]
17207     VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
17208
17209     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)]
17210     void ondragend([in] IHTMLEventObj* pEvtObj);
17211
17212     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)]
17213     VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
17214
17215     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)]
17216     VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
17217
17218     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)]
17219     void ondragleave([in] IHTMLEventObj* pEvtObj);
17220
17221     [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)]
17222     VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
17223
17224     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)]
17225     VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
17226
17227     [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)]
17228     VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
17229
17230     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)]
17231     VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
17232
17233     [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)]
17234     VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
17235
17236     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)]
17237     VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
17238
17239     [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)]
17240     VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
17241
17242     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)]
17243     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
17244
17245     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)]
17246     void onrowsdelete([in] IHTMLEventObj* pEvtObj);
17247
17248     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)]
17249     void onrowsinserted([in] IHTMLEventObj* pEvtObj);
17250
17251     [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)]
17252     void oncellchange([in] IHTMLEventObj* pEvtObj);
17253
17254     [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)]
17255     void onreadystatechange([in] IHTMLEventObj* pEvtObj);
17256
17257     [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)]
17258     void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
17259
17260     [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)]
17261     void onpage([in] IHTMLEventObj* pEvtObj);
17262
17263     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)]
17264     void onmouseenter([in] IHTMLEventObj* pEvtObj);
17265
17266     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)]
17267     void onmouseleave([in] IHTMLEventObj* pEvtObj);
17268
17269     [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)]
17270     void onactivate([in] IHTMLEventObj* pEvtObj);
17271
17272     [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)]
17273     void ondeactivate([in] IHTMLEventObj* pEvtObj);
17274
17275     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)]
17276     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
17277
17278     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)]
17279     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
17280
17281     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)]
17282     void onfocusin([in] IHTMLEventObj* pEvtObj);
17283
17284     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)]
17285     void onfocusout([in] IHTMLEventObj* pEvtObj);
17286
17287     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)]
17288     void onmove([in] IHTMLEventObj* pEvtObj);
17289
17290     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)]
17291     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
17292
17293     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)]
17294     VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
17295
17296     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)]
17297     void onmoveend([in] IHTMLEventObj* pEvtObj);
17298
17299     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)]
17300     VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
17301
17302     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)]
17303     void onresizeend([in] IHTMLEventObj* pEvtObj);
17304
17305     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)]
17306     VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
17307 };
17308 [
17309     hidden,
17310     uuid(3050f33c-98b5-11cf-bb82-00aa00bdce0b)
17311 ]
17312 dispinterface HTMLElementEvents
17313 {
17314 properties:
17315 methods:
17316     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
17317     VARIANT_BOOL onhelp();
17318
17319     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
17320     VARIANT_BOOL onclick();
17321
17322     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
17323     VARIANT_BOOL ondblclick();
17324
17325     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
17326     VARIANT_BOOL onkeypress();
17327
17328     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
17329     void onkeydown();
17330
17331     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
17332     void onkeyup();
17333
17334     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
17335     void onmouseout();
17336
17337     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
17338     void onmouseover();
17339
17340     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
17341     void onmousemove();
17342
17343     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
17344     void onmousedown();
17345
17346     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
17347     void onmouseup();
17348
17349     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
17350     VARIANT_BOOL onselectstart();
17351
17352     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
17353     void onfilterchange();
17354
17355     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
17356     VARIANT_BOOL ondragstart();
17357
17358     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
17359     VARIANT_BOOL onbeforeupdate();
17360
17361     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
17362     void onafterupdate();
17363
17364     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
17365     VARIANT_BOOL onerrorupdate();
17366
17367     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
17368     VARIANT_BOOL onrowexit();
17369
17370     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
17371     void onrowenter();
17372
17373     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
17374     void ondatasetchanged();
17375
17376     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
17377     void ondataavailable();
17378
17379     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
17380     void ondatasetcomplete();
17381
17382     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
17383     void onlosecapture();
17384
17385     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
17386     void onpropertychange();
17387
17388     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
17389     void onscroll();
17390
17391     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
17392     void onfocus();
17393
17394     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
17395     void onblur();
17396
17397     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
17398     void onresize();
17399
17400     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
17401     VARIANT_BOOL ondrag();
17402
17403     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
17404     void ondragend();
17405
17406     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
17407     VARIANT_BOOL ondragenter();
17408
17409     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
17410     VARIANT_BOOL ondragover();
17411
17412     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
17413     void ondragleave();
17414
17415     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
17416     VARIANT_BOOL ondrop();
17417
17418     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
17419     VARIANT_BOOL onbeforecut();
17420
17421     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
17422     VARIANT_BOOL oncut();
17423
17424     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
17425     VARIANT_BOOL onbeforecopy();
17426
17427     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
17428     VARIANT_BOOL oncopy();
17429
17430     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
17431     VARIANT_BOOL onbeforepaste();
17432
17433     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
17434     VARIANT_BOOL onpaste();
17435
17436     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
17437     VARIANT_BOOL oncontextmenu();
17438
17439     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
17440     void onrowsdelete();
17441
17442     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
17443     void onrowsinserted();
17444
17445     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
17446     void oncellchange();
17447
17448     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
17449     void onreadystatechange();
17450
17451     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
17452     void onbeforeeditfocus();
17453
17454     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
17455     void onlayoutcomplete();
17456
17457     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
17458     void onpage();
17459
17460     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
17461     VARIANT_BOOL onbeforedeactivate();
17462
17463     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
17464     VARIANT_BOOL onbeforeactivate();
17465
17466     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
17467     void onmove();
17468
17469     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
17470     VARIANT_BOOL oncontrolselect();
17471
17472     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
17473     VARIANT_BOOL onmovestart();
17474
17475     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
17476     void onmoveend();
17477
17478     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
17479     VARIANT_BOOL onresizestart();
17480
17481     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
17482     void onresizeend();
17483
17484     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
17485     void onmouseenter();
17486
17487     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
17488     void onmouseleave();
17489
17490     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
17491     VARIANT_BOOL onmousewheel();
17492
17493     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
17494     void onactivate();
17495
17496     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
17497     void ondeactivate();
17498
17499     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
17500     void onfocusin();
17501
17502     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
17503     void onfocusout();
17504
17505 };
17506
17507 [
17508     noncreatable,
17509     uuid(3050f317-98b5-11cf-bb82-00aa00bdce0b)
17510 ]
17511 coclass HTMLCommentElement
17512 {
17513     [default]           dispinterface DispHTMLCommentElement;
17514     [source, default]   dispinterface HTMLElementEvents;
17515     [source]            dispinterface HTMLElementEvents2;
17516                         interface IHTMLElement;
17517                         interface IHTMLElement2;
17518                         interface IHTMLElement3;
17519                         interface IHTMLElement4;
17520                         interface IHTMLUniqueName;
17521                         interface IHTMLDOMNode;
17522                         interface IHTMLDOMNode2;
17523                         interface IHTMLCommentElement;
17524                         interface IHTMLCommentElement2;
17525 }
17526
17527 /*****************************************************************************
17528  *    HTMLTableEvents dispinterface
17529  */
17530 [
17531     hidden,
17532     uuid(3050f407-98b5-11cf-bb82-00aa00bdce0b)
17533 ]
17534 dispinterface HTMLTableEvents
17535 {
17536 properties:
17537 methods:
17538     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
17539     VARIANT_BOOL onhelp();
17540
17541     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
17542     VARIANT_BOOL onclick();
17543
17544     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
17545     VARIANT_BOOL ondblclick();
17546
17547     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
17548     VARIANT_BOOL onkeypress();
17549
17550     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
17551     void onkeydown();
17552
17553     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
17554     void onkeyup();
17555
17556     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
17557     void onmouseout();
17558
17559     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
17560     void onmouseover();
17561
17562     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
17563     void onmousemove();
17564
17565     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
17566     void onmousedown();
17567
17568     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
17569     void onmouseup();
17570
17571     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
17572     VARIANT_BOOL onselectstart();
17573
17574     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
17575     void onfilterchange();
17576
17577     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
17578     VARIANT_BOOL ondragstart();
17579
17580     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
17581     VARIANT_BOOL onbeforeupdate();
17582
17583     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
17584     void onafterupdate();
17585
17586     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
17587     VARIANT_BOOL onerrorupdate();
17588
17589     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
17590     VARIANT_BOOL onrowexit();
17591
17592     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
17593     void onrowenter();
17594
17595     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
17596     void ondatasetchanged();
17597
17598     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
17599     void ondataavailable();
17600
17601     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
17602     void ondatasetcomplete();
17603
17604     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
17605     void onlosecapture();
17606
17607     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
17608     void onpropertychange();
17609
17610     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
17611     void onscroll();
17612
17613     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
17614     void onfocus();
17615
17616     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
17617     void onblur();
17618
17619     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
17620     void onresize();
17621
17622     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
17623     VARIANT_BOOL ondrag();
17624
17625     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
17626     void ondragend();
17627
17628     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
17629     VARIANT_BOOL ondragenter();
17630
17631     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
17632     VARIANT_BOOL ondragover();
17633
17634     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
17635     void ondragleave();
17636
17637     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
17638     VARIANT_BOOL ondrop();
17639
17640     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
17641     VARIANT_BOOL onbeforecut();
17642
17643     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
17644     VARIANT_BOOL oncut();
17645
17646     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
17647     VARIANT_BOOL onbeforecopy();
17648
17649     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
17650     VARIANT_BOOL oncopy();
17651
17652     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
17653     VARIANT_BOOL onbeforepaste();
17654
17655     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
17656     VARIANT_BOOL onpaste();
17657
17658     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
17659     VARIANT_BOOL oncontextmenu();
17660
17661     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
17662     void onrowsdelete();
17663
17664     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
17665     void onrowsinserted();
17666
17667     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
17668     void oncellchange();
17669
17670     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
17671     void onreadystatechange();
17672
17673     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
17674     void onbeforeeditfocus();
17675
17676     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
17677     void onlayoutcomplete();
17678
17679     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
17680     void onpage();
17681
17682     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
17683     VARIANT_BOOL onbeforedeactivate();
17684
17685     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
17686     VARIANT_BOOL onbeforeactivate();
17687
17688     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
17689     void onmove();
17690
17691     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
17692     VARIANT_BOOL oncontrolselect();
17693
17694     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
17695     VARIANT_BOOL onmovestart();
17696
17697     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
17698     void onmoveend();
17699
17700     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
17701     VARIANT_BOOL onresizestart();
17702
17703     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
17704     void onresizeend();
17705
17706     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
17707     void onmouseenter();
17708
17709     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
17710     void onmouseleave();
17711
17712     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
17713     VARIANT_BOOL onmousewheel();
17714
17715     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
17716     void onactivate();
17717
17718     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
17719     void ondeactivate();
17720
17721     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
17722     void onfocusin();
17723
17724     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
17725     void onfocusout();
17726 }
17727
17728 [
17729     hidden,
17730     uuid(3050f623-98b5-11cf-bb82-00aa00bdce0b)
17731 ]
17732 dispinterface HTMLTableEvents2
17733 {
17734 properties:
17735 methods:
17736     [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)]
17737     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
17738
17739     [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)]
17740     VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
17741
17742     [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)]
17743     VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
17744
17745     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)]
17746     VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
17747
17748     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)]
17749     void onkeydown([in] IHTMLEventObj* pEvtObj);
17750
17751     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)]
17752     void onkeyup([in] IHTMLEventObj* pEvtObj);
17753
17754     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)]
17755     void onmouseout([in] IHTMLEventObj* pEvtObj);
17756
17757     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)]
17758     void onmouseover([in] IHTMLEventObj* pEvtObj);
17759
17760     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)]
17761     void onmousemove([in] IHTMLEventObj* pEvtObj);
17762
17763     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)]
17764     void onmousedown([in] IHTMLEventObj* pEvtObj);
17765
17766     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)]
17767     void onmouseup([in] IHTMLEventObj* pEvtObj);
17768
17769     [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)]
17770     VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
17771
17772     [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)]
17773     void onfilterchange([in] IHTMLEventObj* pEvtObj);
17774
17775     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)]
17776     VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
17777
17778     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)]
17779     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
17780
17781     [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)]
17782     void onafterupdate([in] IHTMLEventObj* pEvtObj);
17783
17784     [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)]
17785     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
17786
17787     [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)]
17788     VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
17789
17790     [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)]
17791     void onrowenter([in] IHTMLEventObj* pEvtObj);
17792
17793     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)]
17794     void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
17795
17796     [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)]
17797     void ondataavailable([in] IHTMLEventObj* pEvtObj);
17798
17799     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)]
17800     void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
17801
17802     [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)]
17803     void onlosecapture([in] IHTMLEventObj* pEvtObj);
17804
17805     [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)]
17806     void onpropertychange([in] IHTMLEventObj* pEvtObj);
17807
17808     [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)]
17809     void onscroll([in] IHTMLEventObj* pEvtObj);
17810
17811     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)]
17812     void onfocus([in] IHTMLEventObj* pEvtObj);
17813
17814     [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)]
17815     void onblur([in] IHTMLEventObj* pEvtObj);
17816
17817     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)]
17818     void onresize([in] IHTMLEventObj* pEvtObj);
17819
17820     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)]
17821     VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
17822
17823     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)]
17824     void ondragend([in] IHTMLEventObj* pEvtObj);
17825
17826     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)]
17827     VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
17828
17829     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)]
17830     VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
17831
17832     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)]
17833     void ondragleave([in] IHTMLEventObj* pEvtObj);
17834
17835     [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)]
17836     VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
17837
17838     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)]
17839     VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
17840
17841     [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)]
17842     VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
17843
17844     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)]
17845     VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
17846
17847     [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)]
17848     VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
17849
17850     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)]
17851     VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
17852
17853     [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)]
17854     VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
17855
17856     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)]
17857     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
17858
17859     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)]
17860     void onrowsdelete([in] IHTMLEventObj* pEvtObj);
17861
17862     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)]
17863     void onrowsinserted([in] IHTMLEventObj* pEvtObj);
17864
17865     [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)]
17866     void oncellchange([in] IHTMLEventObj* pEvtObj);
17867
17868     [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)]
17869     void onreadystatechange([in] IHTMLEventObj* pEvtObj);
17870
17871     [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)]
17872     void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
17873
17874     [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)]
17875     void onpage([in] IHTMLEventObj* pEvtObj);
17876
17877     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)]
17878     void onmouseenter([in] IHTMLEventObj* pEvtObj);
17879
17880     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)]
17881     void onmouseleave([in] IHTMLEventObj* pEvtObj);
17882
17883     [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)]
17884     void onactivate([in] IHTMLEventObj* pEvtObj);
17885
17886     [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)]
17887     void ondeactivate([in] IHTMLEventObj* pEvtObj);
17888
17889     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)]
17890     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
17891
17892     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)]
17893     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
17894
17895     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)]
17896     void onfocusin([in] IHTMLEventObj* pEvtObj);
17897
17898     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)]
17899     void onfocusout([in] IHTMLEventObj* pEvtObj);
17900
17901     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)]
17902     void onmove([in] IHTMLEventObj* pEvtObj);
17903
17904     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)]
17905     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
17906
17907     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)]
17908     VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
17909
17910     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)]
17911     void onmoveend([in] IHTMLEventObj* pEvtObj);
17912
17913     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)]
17914     VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
17915
17916     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)]
17917     void onresizeend([in] IHTMLEventObj* pEvtObj);
17918
17919     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)]
17920     VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
17921 };
17922
17923 /*****************************************************************************
17924  *    IHTMLTableCaption interface
17925  */
17926 [
17927     odl,
17928     oleautomation,
17929     dual,
17930     uuid(3050f2eb-98b5-11cf-bb82-00aa00bdce0b)
17931 ]
17932 interface IHTMLTableCaption : IDispatch
17933 {
17934     [propput, id(DISPID_IHTMLTABLECAPTION_ALIGN)]
17935     HRESULT align([in] BSTR v);
17936
17937     [propget, id(DISPID_IHTMLTABLECAPTION_ALIGN)]
17938     HRESULT align([retval, out] BSTR *p);
17939
17940     [propput, id(DISPID_IHTMLTABLECAPTION_VALIGN)]
17941     HRESULT vAlign([in] BSTR v);
17942
17943     [propget, id(DISPID_IHTMLTABLECAPTION_VALIGN)]
17944     HRESULT vAlign([retval, out] BSTR *p);
17945 }
17946
17947 interface IHTMLTableSection;
17948
17949 /*****************************************************************************
17950  *    IHTMLTable interface
17951  */
17952 [
17953     odl,
17954     oleautomation,
17955     dual,
17956     uuid(3050f21e-98b5-11cf-bb82-00aa00bdce0b)
17957 ]
17958 interface IHTMLTable : IDispatch
17959 {
17960     [propput, id(DISPID_IHTMLTABLE_COLS)]
17961     HRESULT cols([in] LONG v);
17962
17963     [propget, id(DISPID_IHTMLTABLE_COLS)]
17964     HRESULT cols([retval, out] LONG *p);
17965
17966     [propput, id(DISPID_IHTMLTABLE_BORDER)]
17967     HRESULT border([in] VARIANT v);
17968
17969     [propget, id(DISPID_IHTMLTABLE_BORDER)]
17970     HRESULT border([retval, out] VARIANT *p);
17971
17972     [propput, id(DISPID_IHTMLTABLE_FRAME)]
17973     HRESULT frame([in] BSTR v);
17974
17975     [propget, id(DISPID_IHTMLTABLE_FRAME)]
17976     HRESULT frame([retval, out] BSTR *p);
17977
17978     [propput, id(DISPID_IHTMLTABLE_RULES)]
17979     HRESULT rules([in] BSTR v);
17980
17981     [propget, id(DISPID_IHTMLTABLE_RULES)]
17982     HRESULT rules([retval, out] BSTR *p);
17983
17984     [propput, id(DISPID_IHTMLTABLE_CELLSPACING)]
17985     HRESULT cellSpacing([in] VARIANT v);
17986
17987     [propget, id(DISPID_IHTMLTABLE_CELLSPACING)]
17988     HRESULT cellSpacing([retval, out] VARIANT *p);
17989
17990     [propput, id(DISPID_IHTMLTABLE_CELLPADDING)]
17991     HRESULT cellPadding([in] VARIANT v);
17992
17993     [propget, id(DISPID_IHTMLTABLE_CELLPADDING)]
17994     HRESULT cellPadding([retval, out] VARIANT *p);
17995
17996     [propput, id(DISPID_IHTMLTABLE_BACKGROUND)]
17997     HRESULT background([in] BSTR v);
17998
17999     [propget, id(DISPID_IHTMLTABLE_BACKGROUND)]
18000     HRESULT background([retval, out] BSTR *p);
18001
18002     [propput, id(DISPID_IHTMLTABLE_BGCOLOR)]
18003     HRESULT bgColor([in] VARIANT v);
18004
18005     [propget, id(DISPID_IHTMLTABLE_BGCOLOR)]
18006     HRESULT bgColor([retval, out] VARIANT *p);
18007
18008     [propput, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
18009     HRESULT borderColor([in] VARIANT v);
18010
18011     [propget, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
18012     HRESULT borderColor([retval, out] VARIANT *p);
18013
18014     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
18015     HRESULT borderColorLight([in] VARIANT v);
18016
18017     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
18018     HRESULT borderColorLight([retval, out] VARIANT *p);
18019
18020     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
18021     HRESULT borderColorDark([in] VARIANT v);
18022
18023     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
18024     HRESULT borderColorDark([retval, out] VARIANT *p);
18025
18026     [propput, id(DISPID_IHTMLTABLE_ALIGN)]
18027     HRESULT align([in] BSTR v);
18028
18029     [propget, id(DISPID_IHTMLTABLE_ALIGN)]
18030     HRESULT align([retval, out] BSTR * p);
18031
18032     [id(DISPID_IHTMLTABLE_REFRESH)]
18033     HRESULT refresh();
18034
18035     [propget, id(DISPID_IHTMLTABLE_ROWS)]
18036     HRESULT rows([retval, out] IHTMLElementCollection **p);
18037
18038     [propput, id(DISPID_IHTMLTABLE_WIDTH)]
18039     HRESULT width([in] VARIANT v);
18040
18041     [propget, id(DISPID_IHTMLTABLE_WIDTH)]
18042     HRESULT width([retval, out] VARIANT *p);
18043
18044     [propput, id(DISPID_IHTMLTABLE_HEIGHT)]
18045     HRESULT height([in] VARIANT v);
18046
18047     [propget, id(DISPID_IHTMLTABLE_HEIGHT)]
18048     HRESULT height([retval, out] VARIANT *p);
18049
18050     [propput, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
18051     HRESULT dataPageSize([in] LONG v);
18052
18053     [propget, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
18054     HRESULT dataPageSize([retval, out] LONG *p);
18055
18056     [id(DISPID_IHTMLTABLE_NEXTPAGE)]
18057     HRESULT nextPage();
18058
18059     [id(DISPID_IHTMLTABLE_PREVIOUSPAGE)]
18060     HRESULT previousPage();
18061
18062     [propget, id(DISPID_IHTMLTABLE_THEAD)]
18063     HRESULT tHead([retval, out] IHTMLTableSection **p);
18064
18065     [propget, id(DISPID_IHTMLTABLE_TFOOT)]
18066     HRESULT tFoot([retval, out] IHTMLTableSection **p);
18067
18068     [propget, id(DISPID_IHTMLTABLE_TBODIES)]
18069     HRESULT tBodies([retval, out] IHTMLElementCollection **p);
18070
18071     [propget, id(DISPID_IHTMLTABLE_CAPTION)]
18072     HRESULT caption([retval, out] IHTMLTableCaption **p);
18073
18074     [id(DISPID_IHTMLTABLE_CREATETHEAD)]
18075     HRESULT createTHead([retval, out] IDispatch **head);
18076
18077     [id(DISPID_IHTMLTABLE_DELETETHEAD)]
18078     HRESULT deleteTHead();
18079
18080     [id(DISPID_IHTMLTABLE_CREATETFOOT)]
18081     HRESULT createTFoot([retval, out] IDispatch **foot);
18082
18083     [id(DISPID_IHTMLTABLE_DELETETFOOT)]
18084     HRESULT deleteTFoot();
18085
18086     [id(DISPID_IHTMLTABLE_CREATECAPTION)]
18087     HRESULT createCaption([retval, out] IHTMLTableCaption **caption);
18088
18089     [id(DISPID_IHTMLTABLE_DELETECAPTION)]
18090     HRESULT deleteCaption();
18091
18092     [id(DISPID_IHTMLTABLE_INSERTROW)]
18093     HRESULT insertRow(
18094             [defaultvalue(-1), in] LONG index,
18095             [retval, out] IDispatch **row);
18096
18097     [id(DISPID_IHTMLTABLE_DELETEROW)]
18098     HRESULT deleteRow([defaultvalue(-1), in] LONG index);
18099
18100     [propget, id(DISPID_IHTMLTABLE_READYSTATE)]
18101     HRESULT readyState([retval, out] BSTR *p);
18102
18103     [propput, id(DISPID_IHTMLTABLE_ONREADYSTATECHANGE), displaybind, bindable]
18104     HRESULT onreadystatechange([in] VARIANT v);
18105
18106     [propget, id(DISPID_IHTMLTABLE_ONREADYSTATECHANGE), displaybind, bindable]
18107     HRESULT onreadystatechange([retval, out] VARIANT *p);
18108 }
18109
18110 [
18111     odl,
18112     oleautomation,
18113     dual,
18114     uuid(3050f4ad-98b5-11cf-bb82-00aa00bdce0b)
18115 ]
18116 interface IHTMLTable2 : IDispatch
18117 {
18118     [id(DISPID_IHTMLTABLE2_FIRSTPAGE)]
18119     HRESULT firstPage();
18120
18121     [id(DISPID_IHTMLTABLE2_LASTPAGE)]
18122     HRESULT lastPage();
18123
18124     [propget, id(DISPID_IHTMLTABLE2_CELLS)]
18125     HRESULT cells([retval, out] IHTMLElementCollection* * p);
18126
18127     [id(DISPID_IHTMLTABLE2_MOVEROW)]
18128     HRESULT moveRow([defaultvalue(-1), in] LONG indexFrom,
18129         [defaultvalue(-1), in] LONG indexTo,
18130         [retval, out] IDispatch** row);
18131 };
18132
18133 [
18134     odl,
18135     oleautomation,
18136     dual,
18137     uuid(3050f829-98b5-11cf-bb82-00aa00bdce0b)
18138 ]
18139 interface IHTMLTable3 : IDispatch
18140 {
18141     [propput, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
18142     HRESULT summary([in] BSTR v);
18143
18144     [propget, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
18145     HRESULT summary([retval, out] BSTR * p);
18146 };
18147
18148 [
18149     noncreatable,
18150     uuid(3050f26b-98b5-11cf-bb82-00aa00bdce0b)
18151 ]
18152 coclass HTMLTable
18153 {
18154     [default]           dispinterface DispHTMLTable;
18155     [source, default]   dispinterface HTMLTableEvents;
18156     [source]            dispinterface HTMLTableEvents2;
18157                         interface IHTMLElement;
18158                         interface IHTMLElement2;
18159                         interface IHTMLElement3;
18160                         interface IHTMLElement4;
18161                         interface IHTMLUniqueName;
18162                         interface IHTMLDOMNode;
18163                         interface IHTMLDOMNode2;
18164                         interface IHTMLDatabinding;
18165                         interface IHTMLControlElement;
18166                         interface IHTMLTable;
18167                         interface IHTMLTable2;
18168                         interface IHTMLTable3;
18169 };
18170
18171 [
18172     odl,
18173     oleautomation,
18174     dual,
18175     uuid(3050f23b-98b5-11cf-bb82-00aa00bdce0b)
18176 ]
18177 interface IHTMLTableSection : IDispatch
18178 {
18179     [propput, id(DISPID_IHTMLTABLESECTION_ALIGN)]
18180     HRESULT align([in] BSTR v);
18181
18182     [propget, id(DISPID_IHTMLTABLESECTION_ALIGN)]
18183     HRESULT align([retval, out] BSTR *p);
18184
18185     [propput, id(DISPID_IHTMLTABLESECTION_VALIGN)]
18186     HRESULT vAlign([in] BSTR v);
18187
18188     [propget, id(DISPID_IHTMLTABLESECTION_VALIGN)]
18189     HRESULT vAlign([retval, out] BSTR *p);
18190
18191     [propput, id(DISPID_IHTMLTABLESECTION_BGCOLOR)]
18192     HRESULT bgColor([in] VARIANT v);
18193
18194     [propget, id(DISPID_IHTMLTABLESECTION_BGCOLOR)]
18195     HRESULT bgColor([retval, out] VARIANT *p);
18196
18197     [propget, id(DISPID_IHTMLTABLESECTION_ROWS)]
18198     HRESULT rows([retval, out] IHTMLElementCollection **p);
18199
18200     [id(DISPID_IHTMLTABLESECTION_INSERTROW)]
18201     HRESULT insertRow(
18202             [defaultvalue(-1), in] LONG index,
18203             [retval, out] IDispatch **row);
18204
18205     [id(DISPID_IHTMLTABLESECTION_DELETEROW)]
18206     HRESULT deleteRow([defaultvalue(-1), in] LONG index);
18207 }
18208
18209 /*****************************************************************************
18210  *    IHTMLTableRow interface
18211  */
18212 [
18213     odl,
18214     oleautomation,
18215     dual,
18216     uuid(3050f23c-98b5-11cf-bb82-00aa00bdce0b)
18217 ]
18218 interface IHTMLTableRow : IDispatch
18219 {
18220     [propput, id(DISPID_IHTMLTABLEROW_ALIGN)]
18221     HRESULT align([in] BSTR v);
18222
18223     [propget, id(DISPID_IHTMLTABLEROW_ALIGN)]
18224     HRESULT align([out, retval] BSTR *p);
18225
18226     [propput, id(DISPID_IHTMLTABLEROW_VALIGN)]
18227     HRESULT vAlign([in] BSTR v);
18228
18229     [propget, id(DISPID_IHTMLTABLEROW_VALIGN)]
18230     HRESULT vAlign([out, retval] BSTR *p);
18231
18232     [propput, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
18233     HRESULT bgColor([in] VARIANT v);
18234
18235     [propget, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
18236     HRESULT bgColor([out, retval] VARIANT *p);
18237
18238     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
18239     HRESULT borderColor([in] VARIANT v);
18240
18241     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
18242     HRESULT borderColor([out, retval] VARIANT *p);
18243
18244     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
18245     HRESULT borderColorLight([in] VARIANT v);
18246
18247     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
18248     HRESULT borderColorLight([out, retval] VARIANT *p);
18249
18250     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
18251     HRESULT borderColorDark([in] VARIANT v);
18252
18253     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
18254     HRESULT borderColorDark([out, retval] VARIANT *p);
18255
18256     [propget, id(DISPID_IHTMLTABLEROW_ROWINDEX)]
18257     HRESULT rowIndex([out, retval] LONG *p);
18258
18259     [propget, id(DISPID_IHTMLTABLEROW_SECTIONROWINDEX)]
18260     HRESULT sectionRowIndex([out, retval] LONG *p);
18261
18262     [propget, id(DISPID_IHTMLTABLEROW_CELLS)]
18263     HRESULT cells([out, retval] IHTMLElementCollection **p);
18264
18265     [id(DISPID_IHTMLTABLEROW_INSERTCELL)]
18266     HRESULT insertCell(
18267             [in, defaultvalue(-1)] LONG index,
18268             [out, retval] IDispatch **row);
18269
18270     [id(DISPID_IHTMLTABLEROW_DELETECELL)]
18271     HRESULT deleteCell([in, defaultvalue(-1)] LONG index);
18272 }
18273
18274 /*****************************************************************************
18275  *    DispHTMLTable interface
18276  */
18277 [
18278     hidden,
18279     uuid(3050f532-98b5-11cf-bb82-00aa00bdce0b)
18280 ]
18281 dispinterface DispHTMLTable
18282 {
18283 properties:
18284 methods:
18285     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
18286     void setAttribute(
18287             [in] BSTR strAttributeName,
18288             [in] VARIANT AttributeValue,
18289             [in, defaultvalue(1)] LONG lFlags);
18290
18291     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
18292     VARIANT getAttribute(
18293              [in] BSTR strAttributeName,
18294              [in, defaultvalue(0)] LONG lFlags);
18295
18296     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
18297     VARIANT_BOOL removeAttribute(
18298             [in] BSTR strAttributeName,
18299             [in, defaultvalue(1)] LONG lFlags);
18300
18301     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
18302     void className(BSTR v);
18303
18304     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
18305     BSTR className();
18306
18307     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
18308     void id(BSTR v);
18309
18310     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
18311     BSTR id();
18312
18313     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
18314     BSTR tagName();
18315
18316     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
18317     IHTMLElement *parentElement();
18318
18319     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
18320     IHTMLStyle *style();
18321
18322     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
18323     void onhelp(VARIANT v);
18324
18325     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
18326     VARIANT onhelp();
18327
18328     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
18329     void onclick(VARIANT v);
18330
18331     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
18332     VARIANT onclick();
18333
18334     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
18335     void ondblclick(VARIANT v);
18336
18337     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
18338     VARIANT ondblclick();
18339
18340     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
18341     void onkeydown(VARIANT v);
18342
18343     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
18344     VARIANT onkeydown();
18345
18346     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
18347     void onkeyup(VARIANT v);
18348
18349     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
18350     VARIANT onkeyup();
18351
18352     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
18353     void onkeypress(VARIANT v);
18354
18355     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
18356     VARIANT onkeypress();
18357
18358     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
18359     void onmouseout(VARIANT v);
18360
18361     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
18362     VARIANT onmouseout();
18363
18364     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
18365     void onmouseover(VARIANT v);
18366
18367     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
18368     VARIANT onmouseover();
18369
18370     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
18371     void onmousemove(VARIANT v);
18372
18373     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
18374     VARIANT onmousemove();
18375
18376     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
18377     void onmousedown(VARIANT v);
18378
18379     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
18380     VARIANT onmousedown();
18381
18382     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
18383     void onmouseup(VARIANT v);
18384
18385     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
18386     VARIANT onmouseup();
18387
18388     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
18389     IDispatch *document();
18390
18391     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
18392     void title(BSTR v);
18393
18394     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
18395     BSTR title();
18396
18397     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
18398     void language(BSTR v);
18399
18400     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
18401     BSTR language();
18402
18403     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
18404     void onselectstart(VARIANT v);
18405
18406     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
18407     VARIANT onselectstart();
18408
18409     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
18410     void scrollIntoView([in, optional] VARIANT varargStart);
18411
18412     [id(DISPID_IHTMLELEMENT_CONTAINS)]
18413     VARIANT_BOOL contains([in] IHTMLElement *pChild);
18414
18415     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
18416     LONG sourceIndex();
18417
18418     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
18419     VARIANT recordNumber();
18420
18421     [propput, id(DISPID_IHTMLELEMENT_LANG)]
18422     void lang(BSTR v);
18423
18424     [propget, id(DISPID_IHTMLELEMENT_LANG)]
18425     BSTR lang();
18426
18427     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
18428     LONG offsetLeft();
18429
18430     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
18431     LONG offsetTop();
18432
18433     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
18434     LONG offsetWidth();
18435
18436     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
18437     LONG offsetHeight();
18438
18439     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
18440     IHTMLElement *offsetParent();
18441
18442     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
18443     void innerHTML(BSTR v);
18444
18445     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
18446     BSTR innerHTML();
18447
18448     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
18449     void innerText(BSTR v);
18450
18451     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
18452     BSTR innerText();
18453
18454     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
18455     void outerHTML(BSTR v);
18456
18457     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
18458     BSTR outerHTML();
18459
18460     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
18461     void outerText(BSTR v);
18462
18463     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
18464     BSTR outerText();
18465
18466     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
18467     void insertAdjacentHTML(
18468             [in] BSTR where,
18469             [in] BSTR html);
18470
18471     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
18472     void insertAdjacentText(
18473             [in] BSTR where,
18474             [in] BSTR text);
18475
18476     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
18477     IHTMLElement *parentTextEdit();
18478
18479     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
18480     VARIANT_BOOL isTextEdit();
18481
18482     [id(DISPID_IHTMLELEMENT_CLICK)]
18483     void click();
18484
18485     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
18486     IHTMLFiltersCollection *filters();
18487
18488     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
18489     void ondragstart(VARIANT v);
18490
18491     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
18492     VARIANT ondragstart();
18493
18494     [id(DISPID_IHTMLELEMENT_TOSTRING)]
18495     BSTR toString();
18496
18497     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
18498     void onbeforeupdate(VARIANT v);
18499
18500     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
18501     VARIANT onbeforeupdate();
18502
18503     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
18504     void onafterupdate(VARIANT v);
18505
18506     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
18507     VARIANT onafterupdate();
18508
18509     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
18510     void onerrorupdate(VARIANT v);
18511
18512     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
18513     VARIANT onerrorupdate();
18514
18515     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
18516     void onrowexit(VARIANT v);
18517
18518     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
18519     VARIANT onrowexit();
18520
18521     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
18522     void onrowenter(VARIANT v);
18523
18524     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
18525     VARIANT onrowenter();
18526
18527     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
18528     void ondatasetchanged(VARIANT v);
18529
18530     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
18531     VARIANT ondatasetchanged();
18532
18533     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
18534     void ondataavailable(VARIANT v);
18535
18536     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
18537     VARIANT ondataavailable();
18538
18539     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
18540     void ondatasetcomplete(VARIANT v);
18541
18542     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
18543     VARIANT ondatasetcomplete();
18544
18545     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
18546     void onfilterchange(VARIANT v);
18547
18548     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
18549     VARIANT onfilterchange();
18550
18551     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
18552     IDispatch *children();
18553
18554     [propget, id(DISPID_IHTMLELEMENT_ALL)]
18555     IDispatch *all();
18556
18557     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
18558     BSTR scopeName();
18559
18560     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
18561     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
18562
18563     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
18564     void releaseCapture();
18565
18566     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
18567     void onlosecapture(VARIANT v);
18568
18569     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
18570     VARIANT onlosecapture();
18571
18572     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
18573     BSTR componentFromPoint(
18574             [in] LONG x,
18575             [in] LONG y);
18576
18577     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
18578     void doScroll([in, optional] VARIANT component);
18579
18580     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
18581     void onscroll(VARIANT v);
18582
18583     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
18584     VARIANT onscroll();
18585
18586     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
18587     void ondrag(VARIANT v);
18588
18589     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
18590     VARIANT ondrag();
18591
18592     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
18593     void ondragend(VARIANT v);
18594
18595     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
18596     VARIANT ondragend();
18597
18598     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
18599     void ondragenter(VARIANT v);
18600
18601     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
18602     VARIANT ondragenter();
18603
18604     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
18605     void ondragover(VARIANT v);
18606
18607     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
18608     VARIANT ondragover();
18609
18610     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
18611     void ondragleave(VARIANT v);
18612
18613     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
18614     VARIANT ondragleave();
18615
18616     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
18617     void ondrop(VARIANT v);
18618
18619     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
18620     VARIANT ondrop();
18621
18622     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
18623     void onbeforecut(VARIANT v);
18624
18625     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
18626     VARIANT onbeforecut();
18627
18628     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
18629     void oncut(VARIANT v);
18630
18631     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
18632     VARIANT oncut();
18633
18634     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
18635     void onbeforecopy(VARIANT v);
18636
18637     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
18638     VARIANT onbeforecopy();
18639
18640     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
18641     void oncopy(VARIANT v);
18642
18643     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
18644     VARIANT oncopy();
18645
18646     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
18647     void onbeforepaste(VARIANT v);
18648
18649     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
18650     VARIANT onbeforepaste();
18651
18652     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
18653     void onpaste(VARIANT v);
18654
18655     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
18656     VARIANT onpaste();
18657
18658     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
18659     IHTMLCurrentStyle *currentStyle();
18660
18661     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
18662     void onpropertychange(VARIANT v);
18663
18664     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
18665     VARIANT onpropertychange();
18666
18667     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
18668     IHTMLRectCollection *getClientRects();
18669
18670     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
18671     IHTMLRect *getBoundingClientRect();
18672
18673     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
18674     void setExpression(
18675             [in] BSTR propname,
18676             [in] BSTR expression,
18677             [in, defaultvalue("")] BSTR language);
18678
18679     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
18680     VARIANT getExpression([in] BSTR propname);
18681
18682     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
18683     VARIANT_BOOL removeExpression([in] BSTR propname);
18684
18685     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
18686     void tabIndex(short v);
18687
18688     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
18689     short tabIndex();
18690
18691     [id(DISPID_IHTMLELEMENT2_FOCUS)]
18692     void focus();
18693
18694     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
18695     void accessKey(BSTR v);
18696
18697     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
18698     BSTR accessKey();
18699
18700     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
18701     void onblur(VARIANT v);
18702
18703     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
18704     VARIANT onblur();
18705
18706     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
18707     void onfocus(VARIANT v);
18708
18709     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
18710     VARIANT onfocus();
18711
18712     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
18713     void onresize(VARIANT v);
18714
18715     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
18716     VARIANT onresize();
18717
18718     [id(DISPID_IHTMLELEMENT2_BLUR)]
18719     void blur();
18720
18721     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
18722     void addFilter([in] IUnknown *pUnk);
18723
18724     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
18725     void removeFilter([in] IUnknown *pUnk);
18726
18727     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
18728     LONG clientHeight();
18729
18730     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
18731     LONG clientWidth();
18732
18733     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
18734     LONG clientTop();
18735
18736     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
18737     LONG clientLeft();
18738
18739     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
18740     VARIANT_BOOL attachEvent(
18741             [in] BSTR event,
18742             [in] IDispatch *pDisp);
18743
18744     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
18745     void detachEvent(
18746             [in] BSTR event,
18747             [in] IDispatch *pDisp);
18748
18749     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
18750     VARIANT readyState();
18751
18752     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
18753     void onreadystatechange(VARIANT v);
18754
18755     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
18756     VARIANT onreadystatechange();
18757
18758     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
18759     void onrowsdelete(VARIANT v);
18760
18761     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
18762     VARIANT onrowsdelete();
18763
18764     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
18765     void onrowsinserted(VARIANT v);
18766
18767     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
18768     VARIANT onrowsinserted();
18769
18770     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
18771      void oncellchange(VARIANT v);
18772
18773     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
18774     VARIANT oncellchange();
18775
18776     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
18777     void dir(BSTR v);
18778
18779     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
18780     BSTR dir();
18781
18782     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
18783     IDispatch *createControlRange();
18784
18785     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
18786     LONG scrollHeight();
18787
18788     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
18789     LONG scrollWidth();
18790
18791     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
18792     void scrollTop(LONG v);
18793
18794     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
18795     LONG scrollTop();
18796
18797     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
18798     void scrollLeft(LONG v);
18799
18800     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
18801     LONG scrollLeft();
18802
18803     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
18804     void clearAttributes();
18805
18806     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
18807     void oncontextmenu(VARIANT v);
18808
18809     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
18810     VARIANT oncontextmenu();
18811
18812     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
18813     IHTMLElement *insertAdjacentElement(
18814             [in] BSTR where,
18815             [in] IHTMLElement *insertedElement);
18816
18817     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
18818     IHTMLElement *applyElement(
18819             [in] IHTMLElement *apply,
18820             [in] BSTR where);
18821
18822     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
18823     BSTR getAdjacentText([in] BSTR where);
18824
18825     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
18826     BSTR replaceAdjacentText(
18827             [in] BSTR where,
18828             [in] BSTR newText);
18829
18830     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
18831     VARIANT_BOOL canHaveChildren();
18832
18833     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
18834     LONG addBehavior(
18835             [in] BSTR bstrUrl,
18836             [in, optional] VARIANT *pvarFactory);
18837
18838     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
18839     VARIANT_BOOL removeBehavior([in] LONG cookie);
18840
18841     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
18842     IHTMLStyle *runtimeStyle();
18843
18844     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
18845     IDispatch *behaviorUrns();
18846
18847     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
18848     void tagUrn(BSTR v);
18849
18850     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
18851     BSTR tagUrn();
18852
18853     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
18854     void onbeforeeditfocus(VARIANT v);
18855
18856     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
18857     VARIANT onbeforeeditfocus();
18858
18859     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
18860     LONG readyStateValue();
18861
18862     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
18863     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
18864
18865     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
18866     void mergeAttributes(
18867             [in] IHTMLElement *mergeThis,
18868             [in, optional] VARIANT *pvarFlags);
18869
18870     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
18871     VARIANT_BOOL isMultiLine();
18872
18873     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
18874     VARIANT_BOOL canHaveHTML();
18875
18876     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
18877     void onlayoutcomplete(VARIANT v);
18878
18879     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
18880     VARIANT onlayoutcomplete();
18881
18882     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
18883     void onpage(VARIANT v);
18884
18885     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
18886     VARIANT onpage();
18887
18888     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
18889     void inflateBlock(VARIANT_BOOL v);
18890
18891     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
18892     VARIANT_BOOL inflateBlock();
18893
18894     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
18895     void onbeforedeactivate(VARIANT v);
18896
18897     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
18898     VARIANT onbeforedeactivate();
18899
18900     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
18901     void setActive();
18902
18903     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
18904     void contentEditable(BSTR v);
18905
18906     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
18907     BSTR contentEditable();
18908
18909     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
18910     VARIANT_BOOL isContentEditable();
18911
18912     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
18913     void hideFocus(VARIANT_BOOL v);
18914
18915     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
18916     VARIANT_BOOL hideFocus();
18917
18918     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
18919     void disabled(VARIANT_BOOL v);
18920
18921     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
18922     VARIANT_BOOL disabled();
18923
18924     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
18925     VARIANT_BOOL isDisabled();
18926
18927     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
18928     void onmove(VARIANT v);
18929
18930     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
18931     VARIANT onmove();
18932
18933     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
18934     void oncontrolselect(VARIANT v);
18935
18936     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
18937     VARIANT oncontrolselect();
18938
18939     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
18940     VARIANT_BOOL fireEvent(
18941             [in] BSTR bstrEventName,
18942             [in, optional] VARIANT *pvarEventObject);
18943
18944     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
18945     void onresizestart(VARIANT v);
18946
18947     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
18948     VARIANT onresizestart();
18949
18950     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
18951     void onresizeend(VARIANT v);
18952
18953     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
18954     VARIANT onresizeend();
18955
18956     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
18957     void onmovestart(VARIANT v);
18958
18959     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
18960     VARIANT onmovestart();
18961
18962     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
18963     void onmoveend(VARIANT v);
18964
18965     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
18966     VARIANT onmoveend();
18967
18968     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
18969     void onmouseenter(VARIANT v);
18970
18971     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
18972     VARIANT onmouseenter();
18973
18974     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
18975     void onmouseleave(VARIANT v);
18976
18977     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
18978     VARIANT onmouseleave();
18979
18980     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
18981     void onactivate(VARIANT v);
18982
18983     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
18984     VARIANT onactivate();
18985
18986     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
18987     void ondeactivate(VARIANT v);
18988
18989     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
18990     VARIANT ondeactivate();
18991
18992     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
18993     VARIANT_BOOL dragDrop();
18994
18995     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
18996     LONG glyphMode();
18997
18998     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
18999     void onmousewheel(VARIANT v);
19000
19001     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
19002     VARIANT onmousewheel();
19003
19004     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
19005     void normalize();
19006
19007     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
19008     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
19009
19010     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
19011     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
19012
19013     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
19014     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
19015
19016     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
19017     void onbeforeactivate(VARIANT v);
19018
19019     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
19020     VARIANT onbeforeactivate();
19021
19022     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
19023     void onfocusin(VARIANT v);
19024
19025     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
19026     VARIANT onfocusin();
19027
19028     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
19029     void onfocusout(VARIANT v);
19030
19031     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
19032     VARIANT onfocusout();
19033
19034     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
19035     LONG uniqueNumber();
19036
19037     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
19038     BSTR uniqueID();
19039
19040     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
19041     LONG nodeType();
19042
19043     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
19044     IHTMLDOMNode *parentNode();
19045
19046     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
19047     VARIANT_BOOL hasChildNodes();
19048
19049     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
19050     IDispatch *childNodes();
19051
19052     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
19053     IDispatch *attributes();
19054
19055     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
19056     IHTMLDOMNode *insertBefore(
19057             [in] IHTMLDOMNode *newChild,
19058             [in, optional] VARIANT refChild);
19059
19060     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
19061     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
19062
19063     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
19064     IHTMLDOMNode *replaceChild(
19065             [in] IHTMLDOMNode *newChild,
19066             [in] IHTMLDOMNode *oldChild);
19067
19068     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
19069     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
19070
19071     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
19072     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
19073
19074     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
19075     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
19076
19077     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
19078     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
19079
19080     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
19081     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
19082
19083     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
19084     BSTR nodeName();
19085
19086     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
19087     void nodeValue(VARIANT v);
19088
19089     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
19090     VARIANT nodeValue();
19091
19092     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
19093     IHTMLDOMNode *firstChild();
19094
19095     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
19096     IHTMLDOMNode *lastChild();
19097
19098     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
19099     IHTMLDOMNode *previousSibling();
19100
19101     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
19102     IHTMLDOMNode *nextSibling();
19103
19104     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
19105     IDispatch *ownerDocument();
19106
19107     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
19108     void dataFld(BSTR v);
19109
19110     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
19111     BSTR dataFld();
19112
19113     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
19114     void dataSrc(BSTR v);
19115
19116     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
19117     BSTR dataSrc();
19118
19119     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
19120     void dataFormatAs(BSTR v);
19121
19122     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
19123     BSTR dataFormatAs();
19124
19125     [propput, id(DISPID_IHTMLTABLE_COLS)]
19126     void cols(LONG v);
19127
19128     [propget, id(DISPID_IHTMLTABLE_COLS)]
19129     LONG cols();
19130
19131     [propput, id(DISPID_IHTMLTABLE_BORDER)]
19132     void border(VARIANT v);
19133
19134     [propget, id(DISPID_IHTMLTABLE_BORDER)]
19135     VARIANT border();
19136
19137     [propput, id(DISPID_IHTMLTABLE_FRAME)]
19138     void frame(BSTR v);
19139
19140     [propget, id(DISPID_IHTMLTABLE_FRAME)]
19141     BSTR frame();
19142
19143     [propput, id(DISPID_IHTMLTABLE_RULES)]
19144     void rules(BSTR v);
19145
19146     [propget, id(DISPID_IHTMLTABLE_RULES)]
19147     BSTR rules();
19148
19149     [propput, id(DISPID_IHTMLTABLE_CELLSPACING)]
19150     void cellSpacing(VARIANT v);
19151
19152     [propget, id(DISPID_IHTMLTABLE_CELLSPACING)]
19153     VARIANT cellSpacing();
19154
19155     [propput, id(DISPID_IHTMLTABLE_CELLPADDING)]
19156     void cellPadding(VARIANT v);
19157
19158     [propget, id(DISPID_IHTMLTABLE_CELLPADDING)]
19159     VARIANT cellPadding();
19160
19161     [propput, id(DISPID_IHTMLTABLE_BACKGROUND)]
19162     void background(BSTR v);
19163
19164     [propget, id(DISPID_IHTMLTABLE_BACKGROUND)]
19165     BSTR background();
19166
19167     [propput, id(DISPID_IHTMLTABLE_BGCOLOR)]
19168     void bgColor(VARIANT v);
19169
19170     [propget, id(DISPID_IHTMLTABLE_BGCOLOR)]
19171     VARIANT bgColor();
19172
19173     [propput, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
19174     void borderColor(VARIANT v);
19175
19176     [propget, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
19177     VARIANT borderColor();
19178
19179     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
19180     void borderColorLight(VARIANT v);
19181
19182     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
19183     VARIANT borderColorLight();
19184
19185     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
19186     void borderColorDark(VARIANT v);
19187
19188     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
19189     VARIANT borderColorDark();
19190
19191     [propput, id(DISPID_IHTMLTABLE_ALIGN)]
19192     void align(BSTR v);
19193
19194     [propget, id(DISPID_IHTMLTABLE_ALIGN)]
19195     BSTR align();
19196
19197     [id(DISPID_IHTMLTABLE_REFRESH)]
19198     void refresh();
19199
19200     [propget, id(DISPID_IHTMLTABLE_ROWS)]
19201     IHTMLElementCollection *rows();
19202
19203     [propput, id(DISPID_IHTMLTABLE_WIDTH)]
19204     void width(VARIANT v);
19205
19206     [propget, id(DISPID_IHTMLTABLE_WIDTH)]
19207     VARIANT width();
19208
19209     [propput, id(DISPID_IHTMLTABLE_HEIGHT)]
19210     void height(VARIANT v);
19211
19212     [propget, id(DISPID_IHTMLTABLE_HEIGHT)]
19213     VARIANT height();
19214
19215     [propput, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
19216     void dataPageSize(LONG v);
19217
19218     [propget, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
19219     LONG dataPageSize();
19220
19221     [id(DISPID_IHTMLTABLE_NEXTPAGE)]
19222     void nextPage();
19223
19224     [id(DISPID_IHTMLTABLE_PREVIOUSPAGE)]
19225     void previousPage();
19226
19227     [propget, id(DISPID_IHTMLTABLE_THEAD)]
19228     IHTMLTableSection *tHead();
19229
19230     [propget, id(DISPID_IHTMLTABLE_TFOOT)]
19231     IHTMLTableSection *tFoot();
19232
19233     [propget, id(DISPID_IHTMLTABLE_TBODIES)]
19234     IHTMLElementCollection *tBodies();
19235
19236     [propget, id(DISPID_IHTMLTABLE_CAPTION)]
19237     IHTMLTableCaption *caption();
19238
19239     [id(DISPID_IHTMLTABLE_CREATETHEAD)]
19240     IDispatch *createTHead();
19241
19242     [id(DISPID_IHTMLTABLE_DELETETHEAD)]
19243     void deleteTHead();
19244
19245     [id(DISPID_IHTMLTABLE_CREATETFOOT)]
19246     IDispatch *createTFoot();
19247
19248     [id(DISPID_IHTMLTABLE_DELETETFOOT)]
19249     void deleteTFoot();
19250
19251     [id(DISPID_IHTMLTABLE_CREATECAPTION)]
19252     IHTMLTableCaption *createCaption();
19253
19254     [id(DISPID_IHTMLTABLE_DELETECAPTION)]
19255     void deleteCaption();
19256
19257     [id(DISPID_IHTMLTABLE_INSERTROW)]
19258     IDispatch *insertRow([in, defaultvalue(-1)] LONG index);
19259
19260     [id(DISPID_IHTMLTABLE_DELETEROW)]
19261     void deleteRow([in, defaultvalue(-1)] LONG index);
19262
19263     [id(DISPID_IHTMLTABLE2_FIRSTPAGE)]
19264     void firstPage();
19265
19266     [id(DISPID_IHTMLTABLE2_LASTPAGE)]
19267     void lastPage();
19268
19269     [propget, id(DISPID_IHTMLTABLE2_CELLS)]
19270     IHTMLElementCollection *cells();
19271
19272     [id(DISPID_IHTMLTABLE2_MOVEROW)]
19273     IDispatch *moveRow(
19274             [in, defaultvalue(-1)] LONG indexFrom,
19275             [in, defaultvalue(-1)] LONG indexTo);
19276
19277     [propput, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
19278     void summary(BSTR v);
19279
19280     [propget, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
19281     BSTR summary();
19282 }
19283
19284 /*****************************************************************************
19285  *    DispHTMLTableRow dispinterface
19286  */
19287 [
19288     hidden,
19289     uuid(3050f535-98b5-11cf-bb82-00aa00bdce0b)
19290 ]
19291 dispinterface DispHTMLTableRow
19292 {
19293 properties:
19294 methods:
19295     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
19296     void setAttribute(
19297             [in] BSTR strAttributeName,
19298             [in] VARIANT AttributeValue,
19299             [in, defaultvalue(1)] LONG lFlags);
19300
19301     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
19302     VARIANT getAttribute(
19303              [in] BSTR strAttributeName,
19304              [in, defaultvalue(0)] LONG lFlags);
19305
19306     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
19307     VARIANT_BOOL removeAttribute(
19308             [in] BSTR strAttributeName,
19309             [in, defaultvalue(1)] LONG lFlags);
19310
19311     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
19312     void className(BSTR v);
19313
19314     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
19315     BSTR className();
19316
19317     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
19318     void id(BSTR v);
19319
19320     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
19321     BSTR id();
19322
19323     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
19324     BSTR tagName();
19325
19326     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
19327     IHTMLElement *parentElement();
19328
19329     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
19330     IHTMLStyle *style();
19331
19332     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
19333     void onhelp(VARIANT v);
19334
19335     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
19336     VARIANT onhelp();
19337
19338     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
19339     void onclick(VARIANT v);
19340
19341     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
19342     VARIANT onclick();
19343
19344     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
19345     void ondblclick(VARIANT v);
19346
19347     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
19348     VARIANT ondblclick();
19349
19350     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
19351     void onkeydown(VARIANT v);
19352
19353     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
19354     VARIANT onkeydown();
19355
19356     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
19357     void onkeyup(VARIANT v);
19358
19359     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
19360     VARIANT onkeyup();
19361
19362     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
19363     void onkeypress(VARIANT v);
19364
19365     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
19366     VARIANT onkeypress();
19367
19368     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
19369     void onmouseout(VARIANT v);
19370
19371     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
19372     VARIANT onmouseout();
19373
19374     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
19375     void onmouseover(VARIANT v);
19376
19377     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
19378     VARIANT onmouseover();
19379
19380     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
19381     void onmousemove(VARIANT v);
19382
19383     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
19384     VARIANT onmousemove();
19385
19386     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
19387     void onmousedown(VARIANT v);
19388
19389     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
19390     VARIANT onmousedown();
19391
19392     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
19393     void onmouseup(VARIANT v);
19394
19395     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
19396     VARIANT onmouseup();
19397
19398     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
19399     IDispatch *document();
19400
19401     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
19402     void title(BSTR v);
19403
19404     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
19405     BSTR title();
19406
19407     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
19408     void language(BSTR v);
19409
19410     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
19411     BSTR language();
19412
19413     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
19414     void onselectstart(VARIANT v);
19415
19416     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
19417     VARIANT onselectstart();
19418
19419     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
19420     void scrollIntoView([in, optional] VARIANT varargStart);
19421
19422     [id(DISPID_IHTMLELEMENT_CONTAINS)]
19423     VARIANT_BOOL contains([in] IHTMLElement *pChild);
19424
19425     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
19426     LONG sourceIndex();
19427
19428     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
19429     VARIANT recordNumber();
19430
19431     [propput, id(DISPID_IHTMLELEMENT_LANG)]
19432     void lang(BSTR v);
19433
19434     [propget, id(DISPID_IHTMLELEMENT_LANG)]
19435     BSTR lang();
19436
19437     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
19438     LONG offsetLeft();
19439
19440     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
19441     LONG offsetTop();
19442
19443     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
19444     LONG offsetWidth();
19445
19446     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
19447     LONG offsetHeight();
19448
19449     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
19450     IHTMLElement *offsetParent();
19451
19452     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
19453     void innerHTML(BSTR v);
19454
19455     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
19456     BSTR innerHTML();
19457
19458     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
19459     void innerText(BSTR v);
19460
19461     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
19462     BSTR innerText();
19463
19464     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
19465     void outerHTML(BSTR v);
19466
19467     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
19468     BSTR outerHTML();
19469
19470     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
19471     void outerText(BSTR v);
19472
19473     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
19474     BSTR outerText();
19475
19476     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
19477     void insertAdjacentHTML(
19478             [in] BSTR where,
19479             [in] BSTR html);
19480
19481     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
19482     void insertAdjacentText(
19483             [in] BSTR where,
19484             [in] BSTR text);
19485
19486     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
19487     IHTMLElement *parentTextEdit();
19488
19489     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
19490     VARIANT_BOOL isTextEdit();
19491
19492     [id(DISPID_IHTMLELEMENT_CLICK)]
19493     void click();
19494
19495     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
19496     IHTMLFiltersCollection *filters();
19497
19498     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
19499     void ondragstart(VARIANT v);
19500
19501     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
19502     VARIANT ondragstart();
19503
19504     [id(DISPID_IHTMLELEMENT_TOSTRING)]
19505     BSTR toString();
19506
19507     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
19508     void onbeforeupdate(VARIANT v);
19509
19510     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
19511     VARIANT onbeforeupdate();
19512
19513     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
19514     void onafterupdate(VARIANT v);
19515
19516     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
19517     VARIANT onafterupdate();
19518
19519     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
19520     void onerrorupdate(VARIANT v);
19521
19522     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
19523     VARIANT onerrorupdate();
19524
19525     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
19526     void onrowexit(VARIANT v);
19527
19528     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
19529     VARIANT onrowexit();
19530
19531     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
19532     void onrowenter(VARIANT v);
19533
19534     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
19535     VARIANT onrowenter();
19536
19537     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
19538     void ondatasetchanged(VARIANT v);
19539
19540     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
19541     VARIANT ondatasetchanged();
19542
19543     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
19544     void ondataavailable(VARIANT v);
19545
19546     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
19547     VARIANT ondataavailable();
19548
19549     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
19550     void ondatasetcomplete(VARIANT v);
19551
19552     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
19553     VARIANT ondatasetcomplete();
19554
19555     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
19556     void onfilterchange(VARIANT v);
19557
19558     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
19559     VARIANT onfilterchange();
19560
19561     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
19562     IDispatch *children();
19563
19564     [propget, id(DISPID_IHTMLELEMENT_ALL)]
19565     IDispatch *all();
19566
19567     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
19568     BSTR scopeName();
19569
19570     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
19571     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
19572
19573     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
19574     void releaseCapture();
19575
19576     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
19577     void onlosecapture(VARIANT v);
19578
19579     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
19580     VARIANT onlosecapture();
19581
19582     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
19583     BSTR componentFromPoint(
19584             [in] LONG x,
19585             [in] LONG y);
19586
19587     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
19588     void doScroll([in, optional] VARIANT component);
19589
19590     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
19591     void onscroll(VARIANT v);
19592
19593     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
19594     VARIANT onscroll();
19595
19596     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
19597     void ondrag(VARIANT v);
19598
19599     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
19600     VARIANT ondrag();
19601
19602     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
19603     void ondragend(VARIANT v);
19604
19605     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
19606     VARIANT ondragend();
19607
19608     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
19609     void ondragenter(VARIANT v);
19610
19611     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
19612     VARIANT ondragenter();
19613
19614     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
19615     void ondragover(VARIANT v);
19616
19617     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
19618     VARIANT ondragover();
19619
19620     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
19621     void ondragleave(VARIANT v);
19622
19623     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
19624     VARIANT ondragleave();
19625
19626     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
19627     void ondrop(VARIANT v);
19628
19629     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
19630     VARIANT ondrop();
19631
19632     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
19633     void onbeforecut(VARIANT v);
19634
19635     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
19636     VARIANT onbeforecut();
19637
19638     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
19639     void oncut(VARIANT v);
19640
19641     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
19642     VARIANT oncut();
19643
19644     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
19645     void onbeforecopy(VARIANT v);
19646
19647     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
19648     VARIANT onbeforecopy();
19649
19650     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
19651     void oncopy(VARIANT v);
19652
19653     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
19654     VARIANT oncopy();
19655
19656     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
19657     void onbeforepaste(VARIANT v);
19658
19659     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
19660     VARIANT onbeforepaste();
19661
19662     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
19663     void onpaste(VARIANT v);
19664
19665     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
19666     VARIANT onpaste();
19667
19668     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
19669     IHTMLCurrentStyle *currentStyle();
19670
19671     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
19672     void onpropertychange(VARIANT v);
19673
19674     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
19675     VARIANT onpropertychange();
19676
19677     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
19678     IHTMLRectCollection *getClientRects();
19679
19680     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
19681     IHTMLRect *getBoundingClientRect();
19682
19683     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
19684     void setExpression(
19685             [in] BSTR propname,
19686             [in] BSTR expression,
19687             [in, defaultvalue("")] BSTR language);
19688
19689     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
19690     VARIANT getExpression([in] BSTR propname);
19691
19692     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
19693     VARIANT_BOOL removeExpression([in] BSTR propname);
19694
19695     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
19696     void tabIndex(short v);
19697
19698     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
19699     short tabIndex();
19700
19701     [id(DISPID_IHTMLELEMENT2_FOCUS)]
19702     void focus();
19703
19704     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
19705     void accessKey(BSTR v);
19706
19707     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
19708     BSTR accessKey();
19709
19710     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
19711     void onblur(VARIANT v);
19712
19713     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
19714     VARIANT onblur();
19715
19716     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
19717     void onfocus(VARIANT v);
19718
19719     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
19720     VARIANT onfocus();
19721
19722     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
19723     void onresize(VARIANT v);
19724
19725     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
19726     VARIANT onresize();
19727
19728     [id(DISPID_IHTMLELEMENT2_BLUR)]
19729     void blur();
19730
19731     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
19732     void addFilter([in] IUnknown *pUnk);
19733
19734     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
19735     void removeFilter([in] IUnknown *pUnk);
19736
19737     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
19738     LONG clientHeight();
19739
19740     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
19741     LONG clientWidth();
19742
19743     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
19744     LONG clientTop();
19745
19746     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
19747     LONG clientLeft();
19748
19749     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
19750     VARIANT_BOOL attachEvent(
19751             [in] BSTR event,
19752             [in] IDispatch *pDisp);
19753
19754     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
19755     void detachEvent(
19756             [in] BSTR event,
19757             [in] IDispatch *pDisp);
19758
19759     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
19760     VARIANT readyState();
19761
19762     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
19763     void onreadystatechange(VARIANT v);
19764
19765     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
19766     VARIANT onreadystatechange();
19767
19768     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
19769     void onrowsdelete(VARIANT v);
19770
19771     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
19772     VARIANT onrowsdelete();
19773
19774     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
19775     void onrowsinserted(VARIANT v);
19776
19777     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
19778      VARIANT onrowsinserted();
19779
19780     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
19781      void oncellchange(VARIANT v);
19782
19783     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
19784     VARIANT oncellchange();
19785
19786     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
19787     void dir(BSTR v);
19788
19789     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
19790     BSTR dir();
19791
19792     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
19793     IDispatch *createControlRange();
19794
19795     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
19796     LONG scrollHeight();
19797
19798     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
19799     LONG scrollWidth();
19800
19801     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
19802     void scrollTop(LONG v);
19803
19804     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
19805     LONG scrollTop();
19806
19807     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
19808     void scrollLeft(LONG v);
19809
19810     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
19811     LONG scrollLeft();
19812
19813     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
19814     void clearAttributes();
19815
19816     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
19817     void oncontextmenu(VARIANT v);
19818
19819     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
19820     VARIANT oncontextmenu();
19821
19822     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
19823     IHTMLElement *insertAdjacentElement(
19824             [in] BSTR where,
19825             [in] IHTMLElement *insertedElement);
19826
19827     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
19828     IHTMLElement *applyElement(
19829             [in] IHTMLElement *apply,
19830             [in] BSTR where);
19831
19832     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
19833     BSTR getAdjacentText([in] BSTR where);
19834
19835     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
19836     BSTR replaceAdjacentText(
19837             [in] BSTR where,
19838             [in] BSTR newText);
19839
19840     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
19841     VARIANT_BOOL canHaveChildren();
19842
19843     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
19844     LONG addBehavior(
19845             [in] BSTR bstrUrl,
19846             [in, optional] VARIANT *pvarFactory);
19847
19848     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
19849     VARIANT_BOOL removeBehavior([in] LONG cookie);
19850
19851     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
19852     IHTMLStyle *runtimeStyle();
19853
19854     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
19855     IDispatch *behaviorUrns();
19856
19857     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
19858     void tagUrn(BSTR v);
19859
19860     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
19861     BSTR tagUrn();
19862
19863     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
19864     void onbeforeeditfocus(VARIANT v);
19865
19866     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
19867     VARIANT onbeforeeditfocus();
19868
19869     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
19870     LONG readyStateValue();
19871
19872     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
19873     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
19874
19875     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
19876     void mergeAttributes(
19877             [in] IHTMLElement *mergeThis,
19878             [in, optional] VARIANT *pvarFlags);
19879
19880     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
19881     VARIANT_BOOL isMultiLine();
19882
19883     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
19884     VARIANT_BOOL canHaveHTML();
19885
19886     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
19887     void onlayoutcomplete(VARIANT v);
19888
19889     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
19890     VARIANT onlayoutcomplete();
19891
19892     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
19893     void onpage(VARIANT v);
19894
19895     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
19896     VARIANT onpage();
19897
19898     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
19899     void inflateBlock(VARIANT_BOOL v);
19900
19901     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
19902     VARIANT_BOOL inflateBlock();
19903
19904     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
19905     void onbeforedeactivate(VARIANT v);
19906
19907     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
19908     VARIANT onbeforedeactivate();
19909
19910     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
19911     void setActive();
19912
19913     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
19914     void contentEditable(BSTR v);
19915
19916     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
19917     BSTR contentEditable();
19918
19919     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
19920     VARIANT_BOOL isContentEditable();
19921
19922     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
19923     void hideFocus(VARIANT_BOOL v);
19924
19925     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
19926     VARIANT_BOOL hideFocus();
19927
19928     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
19929     void disabled(VARIANT_BOOL v);
19930
19931     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
19932     VARIANT_BOOL disabled();
19933
19934     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
19935     VARIANT_BOOL isDisabled();
19936
19937     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
19938     void onmove(VARIANT v);
19939
19940     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
19941     VARIANT onmove();
19942
19943     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
19944     void oncontrolselect(VARIANT v);
19945
19946     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
19947     VARIANT oncontrolselect();
19948
19949     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
19950     VARIANT_BOOL fireEvent(
19951             [in] BSTR bstrEventName,
19952             [in, optional] VARIANT *pvarEventObject);
19953
19954     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
19955     void onresizestart(VARIANT v);
19956
19957     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
19958     VARIANT onresizestart();
19959
19960     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
19961     void onresizeend(VARIANT v);
19962
19963     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
19964     VARIANT onresizeend();
19965
19966     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
19967     void onmovestart(VARIANT v);
19968
19969     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
19970     VARIANT onmovestart();
19971
19972     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
19973     void onmoveend(VARIANT v);
19974
19975     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
19976     VARIANT onmoveend();
19977
19978     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
19979     void onmouseenter(VARIANT v);
19980
19981     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
19982     VARIANT onmouseenter();
19983
19984     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
19985     void onmouseleave(VARIANT v);
19986
19987     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
19988     VARIANT onmouseleave();
19989
19990     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
19991     void onactivate(VARIANT v);
19992
19993     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
19994     VARIANT onactivate();
19995
19996     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
19997     void ondeactivate(VARIANT v);
19998
19999     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
20000     VARIANT ondeactivate();
20001
20002     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
20003     VARIANT_BOOL dragDrop();
20004
20005     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
20006     LONG glyphMode();
20007
20008     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
20009     void onmousewheel(VARIANT v);
20010
20011     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
20012     VARIANT onmousewheel();
20013
20014     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
20015     void normalize();
20016
20017     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
20018     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
20019
20020     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
20021     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
20022
20023     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
20024     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
20025
20026     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
20027     void onbeforeactivate(VARIANT v);
20028
20029     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
20030     VARIANT onbeforeactivate();
20031
20032     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
20033     void onfocusin(VARIANT v);
20034
20035     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
20036     VARIANT onfocusin();
20037
20038     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
20039     void onfocusout(VARIANT v);
20040
20041     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
20042     VARIANT onfocusout();
20043
20044     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
20045     LONG uniqueNumber();
20046
20047     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
20048     BSTR uniqueID();
20049
20050     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
20051     LONG nodeType();
20052
20053     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
20054     IHTMLDOMNode *parentNode();
20055
20056     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
20057     VARIANT_BOOL hasChildNodes();
20058
20059     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
20060     IDispatch *childNodes();
20061
20062     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
20063     IDispatch *attributes();
20064
20065     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
20066     IHTMLDOMNode *insertBefore(
20067             [in] IHTMLDOMNode *newChild,
20068             [in, optional] VARIANT refChild);
20069
20070     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
20071     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
20072
20073     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
20074     IHTMLDOMNode *replaceChild(
20075             [in] IHTMLDOMNode *newChild,
20076             [in] IHTMLDOMNode *oldChild);
20077
20078     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
20079     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
20080
20081     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
20082     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
20083
20084     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
20085     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
20086
20087     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
20088     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
20089
20090     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
20091     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
20092
20093     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
20094     BSTR nodeName();
20095
20096     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
20097     void nodeValue(VARIANT v);
20098
20099     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
20100     VARIANT nodeValue();
20101
20102     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
20103     IHTMLDOMNode *firstChild();
20104
20105     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
20106     IHTMLDOMNode *lastChild();
20107
20108     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
20109     IHTMLDOMNode *previousSibling();
20110
20111     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
20112     IHTMLDOMNode *nextSibling();
20113
20114     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
20115     IDispatch *ownerDocument();
20116
20117     [propput, id(DISPID_IHTMLTABLEROW_ALIGN)]
20118     void align(BSTR v);
20119
20120     [propget, id(DISPID_IHTMLTABLEROW_ALIGN)]
20121     BSTR align();
20122
20123     [propput, id(DISPID_IHTMLTABLEROW_VALIGN)]
20124     void vAlign(BSTR v);
20125
20126     [propget, id(DISPID_IHTMLTABLEROW_VALIGN)]
20127     BSTR vAlign();
20128
20129     [propput, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
20130     void bgColor(VARIANT v);
20131
20132     [propget, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
20133     VARIANT bgColor();
20134
20135     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
20136     void borderColor(VARIANT v);
20137
20138     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
20139     VARIANT borderColor();
20140
20141     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
20142     void borderColorLight(VARIANT v);
20143
20144     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
20145     VARIANT borderColorLight();
20146
20147     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
20148     void borderColorDark(VARIANT v);
20149
20150     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
20151     VARIANT borderColorDark();
20152
20153     [propget, id(DISPID_IHTMLTABLEROW_ROWINDEX)]
20154     LONG rowIndex();
20155
20156     [propget, id(DISPID_IHTMLTABLEROW_SECTIONROWINDEX)]
20157     LONG sectionRowIndex();
20158
20159     [propget, id(DISPID_IHTMLTABLEROW_CELLS)]
20160     IHTMLElementCollection *cells();
20161
20162     [id(DISPID_IHTMLTABLEROW_INSERTCELL)]
20163     IDispatch *insertCell([in, defaultvalue(-1)] LONG index);
20164
20165     [id(DISPID_IHTMLTABLEROW_DELETECELL)]
20166     void deleteCell([in, defaultvalue(-1)] LONG index);
20167
20168     [propput, id(DISPID_IHTMLTABLEROW2_HEIGHT)]
20169     void height(VARIANT v);
20170
20171     [propget, id(DISPID_IHTMLTABLEROW2_HEIGHT)]
20172     VARIANT height();
20173
20174     [propput, id(DISPID_IHTMLTABLEROW3_CH), displaybind, bindable]
20175     void ch(BSTR v);
20176
20177     [propget, id(DISPID_IHTMLTABLEROW3_CH), displaybind, bindable]
20178     BSTR ch();
20179
20180     [propput, id(DISPID_IHTMLTABLEROW3_CHOFF), displaybind, bindable]
20181     void chOff(BSTR v);
20182
20183     [propget, id(DISPID_IHTMLTABLEROW3_CHOFF), displaybind, bindable]
20184     BSTR chOff();
20185 }
20186
20187 /*****************************************************************************
20188  *    IHTMLScriptElement interface
20189  */
20190 [
20191     odl,
20192     oleautomation,
20193     dual,
20194     uuid(3050f28b-98b5-11cf-bb82-00aa00bdce0b)
20195 ]
20196 interface IHTMLScriptElement : IDispatch
20197 {
20198     [propput, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
20199     HRESULT src([in] BSTR v);
20200
20201     [propget, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
20202     HRESULT src([retval, out] BSTR *p);
20203
20204     [propput, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
20205     HRESULT htmlFor([in] BSTR v);
20206
20207     [propget, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
20208     HRESULT htmlFor([retval, out] BSTR *p);
20209
20210     [propput, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
20211     HRESULT event([in] BSTR v);
20212
20213     [propget, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
20214     HRESULT event([retval, out] BSTR *p);
20215
20216     [propput, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
20217     HRESULT text([in] BSTR v);
20218
20219     [propget, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
20220     HRESULT text([retval, out] BSTR *p);
20221
20222     [propput, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
20223     HRESULT defer([in] VARIANT_BOOL v);
20224
20225     [propget, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
20226     HRESULT defer([retval, out] VARIANT_BOOL *p);
20227
20228     [propget, id(DISPID_IHTMLSCRIPTELEMENT_READYSTATE)]
20229     HRESULT readyState([retval, out] BSTR *p);
20230
20231     [propput, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
20232     HRESULT onerror([in] VARIANT v);
20233
20234     [propget, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
20235     HRESULT onerror([retval, out] VARIANT *p);
20236
20237     [propput, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
20238     HRESULT type([in] BSTR v);
20239
20240     [propget, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
20241     HRESULT type([retval, out] BSTR *p);
20242 }
20243
20244 /*****************************************************************************
20245  *    IHTMLScriptElement2 interface
20246  */
20247 [
20248     odl,
20249     oleautomation,
20250     dual,
20251     uuid(3050f828-98b5-11cf-bb82-00aa00bdce0b)
20252 ]
20253 interface IHTMLScriptElement2 : IDispatch
20254 {
20255     [propput, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
20256     HRESULT charset([in] BSTR v);
20257
20258     [propget, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
20259     HRESULT charset([retval, out] BSTR *p);
20260 }
20261
20262 /*****************************************************************************
20263  *    IHTMLFrameBase interface
20264  */
20265 [
20266     odl,
20267     oleautomation,
20268     dual,
20269     uuid(3050f311-98b5-11cf-bb82-00aa00bdce0b)
20270 ]
20271 interface IHTMLFrameBase : IDispatch
20272 {
20273     [propput, id(DISPID_IHTMLFRAMEBASE_SRC)]
20274     HRESULT src([in] BSTR v);
20275
20276     [propget, id(DISPID_IHTMLFRAMEBASE_SRC)]
20277     HRESULT src([out, retval] BSTR *p);
20278
20279     [propput, id(DISPID_IHTMLFRAMEBASE_NAME)]
20280     HRESULT name([in] BSTR v);
20281
20282     [propget, id(DISPID_IHTMLFRAMEBASE_NAME)]
20283     HRESULT name([out, retval] BSTR *p);
20284
20285     [propput, id(DISPID_IHTMLFRAMEBASE_BORDER)]
20286     HRESULT border([in] VARIANT v);
20287
20288     [propget, id(DISPID_IHTMLFRAMEBASE_BORDER)]
20289     HRESULT border([out, retval] VARIANT *p);
20290
20291     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
20292     HRESULT frameBorder([in] BSTR v);
20293
20294     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
20295     HRESULT frameBorder([out, retval] BSTR *p);
20296
20297     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
20298     HRESULT frameSpacing([in] VARIANT v);
20299
20300     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
20301     HRESULT frameSpacing([out, retval] VARIANT *p);
20302
20303     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
20304     HRESULT marginWidth([in] VARIANT v);
20305
20306     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
20307     HRESULT marginWidth([out, retval] VARIANT *p);
20308
20309     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
20310     HRESULT marginHeight([in] VARIANT v);
20311
20312     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
20313     HRESULT marginHeight([out, retval] VARIANT *p);
20314
20315     [propput, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
20316     HRESULT noResize([in] VARIANT_BOOL v);
20317
20318     [propget, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
20319     HRESULT noResize([out, retval] VARIANT_BOOL *p);
20320
20321     [propput, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
20322     HRESULT scrolling([in] BSTR v);
20323
20324     [propget, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
20325     HRESULT scrolling([out, retval] BSTR *p);
20326 }
20327
20328 /*****************************************************************************
20329  *    IHTMLFrameBase2 interface
20330  */
20331 [
20332     odl,
20333     oleautomation,
20334     dual,
20335     uuid(3050f6db-98b5-11cf-bb82-00aa00bdce0b)
20336 ]
20337 interface IHTMLFrameBase2 : IDispatch
20338 {
20339     [propget, id(DISPID_IHTMLFRAMEBASE2_CONTENTWINDOW)]
20340     HRESULT contentWindow([retval, out] IHTMLWindow2 **p);
20341
20342     [propput, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
20343     HRESULT onload([in] VARIANT v);
20344
20345     [propget, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
20346     HRESULT onload([retval, out] VARIANT *p);
20347
20348     [propput, id(DISPID_IHTMLFRAMEBASE2_ONREADYSTATECHANGE), displaybind, bindable]
20349     HRESULT onreadystatechange([in] VARIANT v);
20350
20351     [propget, id(DISPID_IHTMLFRAMEBASE2_ONREADYSTATECHANGE), displaybind, bindable]
20352     HRESULT onreadystatechange([retval, out] VARIANT *p);
20353
20354     [propget, id(DISPID_IHTMLFRAMEBASE2_READYSTATE)]
20355     HRESULT readyState([retval, out] BSTR *p);
20356
20357     [propput, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
20358     HRESULT allowTransparency([in] VARIANT_BOOL v);
20359
20360     [propget, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
20361     HRESULT allowTransparency([retval, out] VARIANT_BOOL *p);
20362 }
20363
20364 /*****************************************************************************
20365  *    DispHTMLIFrame dispinterface
20366  */
20367 [
20368     hidden,
20369     uuid(3050f51b-98b5-11cf-bb82-00aa00bdce0b)
20370 ]
20371 dispinterface DispHTMLIFrame
20372 {
20373 properties:
20374 methods:
20375     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
20376     void setAttribute(
20377             [in] BSTR strAttributeName,
20378             [in] VARIANT AttributeValue,
20379             [in, defaultvalue(1)] LONG lFlags);
20380
20381     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
20382     VARIANT getAttribute(
20383              [in] BSTR strAttributeName,
20384              [in, defaultvalue(0)] LONG lFlags);
20385
20386     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
20387     VARIANT_BOOL removeAttribute(
20388             [in] BSTR strAttributeName,
20389             [in, defaultvalue(1)] LONG lFlags);
20390
20391     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
20392     void className(BSTR v);
20393
20394     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
20395     BSTR className();
20396
20397     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
20398     void id(BSTR v);
20399
20400     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
20401     BSTR id();
20402
20403     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
20404     BSTR tagName();
20405
20406     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
20407     IHTMLElement *parentElement();
20408
20409     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
20410     IHTMLStyle *style();
20411
20412     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
20413     void onhelp(VARIANT v);
20414
20415     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
20416     VARIANT onhelp();
20417
20418     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
20419     void onclick(VARIANT v);
20420
20421     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
20422     VARIANT onclick();
20423
20424     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
20425     void ondblclick(VARIANT v);
20426
20427     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
20428     VARIANT ondblclick();
20429
20430     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
20431     void onkeydown(VARIANT v);
20432
20433     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
20434     VARIANT onkeydown();
20435
20436     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
20437     void onkeyup(VARIANT v);
20438
20439     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
20440     VARIANT onkeyup();
20441
20442     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
20443     void onkeypress(VARIANT v);
20444
20445     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
20446     VARIANT onkeypress();
20447
20448     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
20449     void onmouseout(VARIANT v);
20450
20451     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
20452     VARIANT onmouseout();
20453
20454     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
20455     void onmouseover(VARIANT v);
20456
20457     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
20458     VARIANT onmouseover();
20459
20460     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
20461     void onmousemove(VARIANT v);
20462
20463     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
20464     VARIANT onmousemove();
20465
20466     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
20467     void onmousedown(VARIANT v);
20468
20469     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
20470     VARIANT onmousedown();
20471
20472     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
20473     void onmouseup(VARIANT v);
20474
20475     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
20476     VARIANT onmouseup();
20477
20478     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
20479     IDispatch *document();
20480
20481     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
20482     void title(BSTR v);
20483
20484     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
20485     BSTR title();
20486
20487     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
20488     void language(BSTR v);
20489
20490     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
20491     BSTR language();
20492
20493     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
20494     void onselectstart(VARIANT v);
20495
20496     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
20497     VARIANT onselectstart();
20498
20499     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
20500     void scrollIntoView([in, optional] VARIANT varargStart);
20501
20502     [id(DISPID_IHTMLELEMENT_CONTAINS)]
20503     VARIANT_BOOL contains([in] IHTMLElement *pChild);
20504
20505     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
20506     LONG sourceIndex();
20507
20508     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
20509     VARIANT recordNumber();
20510
20511     [propput, id(DISPID_IHTMLELEMENT_LANG)]
20512     void lang(BSTR v);
20513
20514     [propget, id(DISPID_IHTMLELEMENT_LANG)]
20515     BSTR lang();
20516
20517     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
20518     LONG offsetLeft();
20519
20520     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
20521     LONG offsetTop();
20522
20523     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
20524     LONG offsetWidth();
20525
20526     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
20527     LONG offsetHeight();
20528
20529     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
20530     IHTMLElement *offsetParent();
20531
20532     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
20533     void innerHTML(BSTR v);
20534
20535     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
20536     BSTR innerHTML();
20537
20538     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
20539     void innerText(BSTR v);
20540
20541     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
20542     BSTR innerText();
20543
20544     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
20545     void outerHTML(BSTR v);
20546
20547     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
20548     BSTR outerHTML();
20549
20550     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
20551     void outerText(BSTR v);
20552
20553     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
20554     BSTR outerText();
20555
20556     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
20557     void insertAdjacentHTML(
20558             [in] BSTR where,
20559             [in] BSTR html);
20560
20561     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
20562     void insertAdjacentText(
20563             [in] BSTR where,
20564             [in] BSTR text);
20565
20566     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
20567     IHTMLElement *parentTextEdit();
20568
20569     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
20570     VARIANT_BOOL isTextEdit();
20571
20572     [id(DISPID_IHTMLELEMENT_CLICK)]
20573     void click();
20574
20575     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
20576     IHTMLFiltersCollection *filters();
20577
20578     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
20579     void ondragstart(VARIANT v);
20580
20581     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
20582     VARIANT ondragstart();
20583
20584     [id(DISPID_IHTMLELEMENT_TOSTRING)]
20585     BSTR toString();
20586
20587     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
20588     void onbeforeupdate(VARIANT v);
20589
20590     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
20591     VARIANT onbeforeupdate();
20592
20593     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
20594     void onafterupdate(VARIANT v);
20595
20596     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
20597     VARIANT onafterupdate();
20598
20599     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
20600     void onerrorupdate(VARIANT v);
20601
20602     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
20603     VARIANT onerrorupdate();
20604
20605     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
20606     void onrowexit(VARIANT v);
20607
20608     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
20609     VARIANT onrowexit();
20610
20611     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
20612     void onrowenter(VARIANT v);
20613
20614     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
20615     VARIANT onrowenter();
20616
20617     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
20618     void ondatasetchanged(VARIANT v);
20619
20620     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
20621     VARIANT ondatasetchanged();
20622
20623     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
20624     void ondataavailable(VARIANT v);
20625
20626     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
20627     VARIANT ondataavailable();
20628
20629     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
20630     void ondatasetcomplete(VARIANT v);
20631
20632     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
20633     VARIANT ondatasetcomplete();
20634
20635     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
20636     void onfilterchange(VARIANT v);
20637
20638     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
20639     VARIANT onfilterchange();
20640
20641     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
20642     IDispatch *children();
20643
20644     [propget, id(DISPID_IHTMLELEMENT_ALL)]
20645     IDispatch *all();
20646
20647     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
20648     BSTR scopeName();
20649
20650     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
20651     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
20652
20653     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
20654     void releaseCapture();
20655
20656     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
20657     void onlosecapture(VARIANT v);
20658
20659     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
20660     VARIANT onlosecapture();
20661
20662     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
20663     BSTR componentFromPoint(
20664             [in] LONG x,
20665             [in] LONG y);
20666
20667     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
20668     void doScroll([in, optional] VARIANT component);
20669
20670     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
20671     void onscroll(VARIANT v);
20672
20673     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
20674     VARIANT onscroll();
20675
20676     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
20677     void ondrag(VARIANT v);
20678
20679     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
20680     VARIANT ondrag();
20681
20682     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
20683     void ondragend(VARIANT v);
20684
20685     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
20686     VARIANT ondragend();
20687
20688     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
20689     void ondragenter(VARIANT v);
20690
20691     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
20692     VARIANT ondragenter();
20693
20694     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
20695     void ondragover(VARIANT v);
20696
20697     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
20698     VARIANT ondragover();
20699
20700     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
20701     void ondragleave(VARIANT v);
20702
20703     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
20704     VARIANT ondragleave();
20705
20706     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
20707     void ondrop(VARIANT v);
20708
20709     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
20710     VARIANT ondrop();
20711
20712     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
20713     void onbeforecut(VARIANT v);
20714
20715     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
20716     VARIANT onbeforecut();
20717
20718     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
20719     void oncut(VARIANT v);
20720
20721     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
20722     VARIANT oncut();
20723
20724     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
20725     void onbeforecopy(VARIANT v);
20726
20727     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
20728     VARIANT onbeforecopy();
20729
20730     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
20731     void oncopy(VARIANT v);
20732
20733     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
20734     VARIANT oncopy();
20735
20736     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
20737     void onbeforepaste(VARIANT v);
20738
20739     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
20740     VARIANT onbeforepaste();
20741
20742     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
20743     void onpaste(VARIANT v);
20744
20745     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
20746     VARIANT onpaste();
20747
20748     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
20749     IHTMLCurrentStyle *currentStyle();
20750
20751     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
20752     void onpropertychange(VARIANT v);
20753
20754     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
20755     VARIANT onpropertychange();
20756
20757     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
20758     IHTMLRectCollection *getClientRects();
20759
20760     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
20761     IHTMLRect *getBoundingClientRect();
20762
20763     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
20764     void setExpression(
20765             [in] BSTR propname,
20766             [in] BSTR expression,
20767             [in, defaultvalue("")] BSTR language);
20768
20769     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
20770     VARIANT getExpression([in] BSTR propname);
20771
20772     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
20773     VARIANT_BOOL removeExpression([in] BSTR propname);
20774
20775     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
20776     void tabIndex(short v);
20777
20778     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
20779     short tabIndex();
20780
20781     [id(DISPID_IHTMLELEMENT2_FOCUS)]
20782     void focus();
20783
20784     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
20785     void accessKey(BSTR v);
20786
20787     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
20788     BSTR accessKey();
20789
20790     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
20791     void onblur(VARIANT v);
20792
20793     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
20794     VARIANT onblur();
20795
20796     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
20797     void onfocus(VARIANT v);
20798
20799     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
20800     VARIANT onfocus();
20801
20802     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
20803     void onresize(VARIANT v);
20804
20805     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
20806     VARIANT onresize();
20807
20808     [id(DISPID_IHTMLELEMENT2_BLUR)]
20809     void blur();
20810
20811     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
20812     void addFilter([in] IUnknown *pUnk);
20813
20814     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
20815     void removeFilter([in] IUnknown *pUnk);
20816
20817     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
20818     LONG clientHeight();
20819
20820     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
20821     LONG clientWidth();
20822
20823     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
20824     LONG clientTop();
20825
20826     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
20827     LONG clientLeft();
20828
20829     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
20830     VARIANT_BOOL attachEvent(
20831             [in] BSTR event,
20832             [in] IDispatch *pDisp);
20833
20834     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
20835     void detachEvent(
20836             [in] BSTR event,
20837             [in] IDispatch *pDisp);
20838
20839     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
20840     VARIANT readyState();
20841
20842     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
20843     void onreadystatechange(VARIANT v);
20844
20845     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
20846     VARIANT onreadystatechange();
20847
20848     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
20849     void onrowsdelete(VARIANT v);
20850
20851     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
20852     VARIANT onrowsdelete();
20853
20854     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
20855     void onrowsinserted(VARIANT v);
20856
20857     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
20858      VARIANT onrowsinserted();
20859
20860     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
20861      void oncellchange(VARIANT v);
20862
20863     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
20864     VARIANT oncellchange();
20865
20866     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
20867     void dir(BSTR v);
20868
20869     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
20870     BSTR dir();
20871
20872     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
20873     IDispatch *createControlRange();
20874
20875     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
20876     LONG scrollHeight();
20877
20878     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
20879     LONG scrollWidth();
20880
20881     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
20882     void scrollTop(LONG v);
20883
20884     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
20885     LONG scrollTop();
20886
20887     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
20888     void scrollLeft(LONG v);
20889
20890     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
20891     LONG scrollLeft();
20892
20893     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
20894     void clearAttributes();
20895
20896     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
20897     void oncontextmenu(VARIANT v);
20898
20899     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
20900     VARIANT oncontextmenu();
20901
20902     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
20903     IHTMLElement *insertAdjacentElement(
20904             [in] BSTR where,
20905             [in] IHTMLElement *insertedElement);
20906
20907     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
20908     IHTMLElement *applyElement(
20909             [in] IHTMLElement *apply,
20910             [in] BSTR where);
20911
20912     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
20913     BSTR getAdjacentText([in] BSTR where);
20914
20915     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
20916     BSTR replaceAdjacentText(
20917             [in] BSTR where,
20918             [in] BSTR newText);
20919
20920     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
20921     VARIANT_BOOL canHaveChildren();
20922
20923     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
20924     LONG addBehavior(
20925             [in] BSTR bstrUrl,
20926             [in, optional] VARIANT *pvarFactory);
20927
20928     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
20929     VARIANT_BOOL removeBehavior([in] LONG cookie);
20930
20931     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
20932     IHTMLStyle *runtimeStyle();
20933
20934     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
20935     IDispatch *behaviorUrns();
20936
20937     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
20938     void tagUrn(BSTR v);
20939
20940     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
20941     BSTR tagUrn();
20942
20943     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
20944     void onbeforeeditfocus(VARIANT v);
20945
20946     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
20947     VARIANT onbeforeeditfocus();
20948
20949     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
20950     LONG readyStateValue();
20951
20952     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
20953     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
20954
20955     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
20956     void mergeAttributes(
20957             [in] IHTMLElement *mergeThis,
20958             [in, optional] VARIANT *pvarFlags);
20959
20960     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
20961     VARIANT_BOOL isMultiLine();
20962
20963     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
20964     VARIANT_BOOL canHaveHTML();
20965
20966     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
20967     void onlayoutcomplete(VARIANT v);
20968
20969     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
20970     VARIANT onlayoutcomplete();
20971
20972     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
20973     void onpage(VARIANT v);
20974
20975     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
20976     VARIANT onpage();
20977
20978     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
20979     void inflateBlock(VARIANT_BOOL v);
20980
20981     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
20982     VARIANT_BOOL inflateBlock();
20983
20984     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
20985     void onbeforedeactivate(VARIANT v);
20986
20987     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
20988     VARIANT onbeforedeactivate();
20989
20990     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
20991     void setActive();
20992
20993     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
20994     void contentEditable(BSTR v);
20995
20996     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
20997     BSTR contentEditable();
20998
20999     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
21000     VARIANT_BOOL isContentEditable();
21001
21002     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
21003     void hideFocus(VARIANT_BOOL v);
21004
21005     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
21006     VARIANT_BOOL hideFocus();
21007
21008     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
21009     void disabled(VARIANT_BOOL v);
21010
21011     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
21012     VARIANT_BOOL disabled();
21013
21014     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
21015     VARIANT_BOOL isDisabled();
21016
21017     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
21018     void onmove(VARIANT v);
21019
21020     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
21021     VARIANT onmove();
21022
21023     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
21024     void oncontrolselect(VARIANT v);
21025
21026     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
21027     VARIANT oncontrolselect();
21028
21029     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
21030     VARIANT_BOOL fireEvent(
21031             [in] BSTR bstrEventName,
21032             [in, optional] VARIANT *pvarEventObject);
21033
21034     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
21035     void onresizestart(VARIANT v);
21036
21037     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
21038     VARIANT onresizestart();
21039
21040     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
21041     void onresizeend(VARIANT v);
21042
21043     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
21044     VARIANT onresizeend();
21045
21046     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
21047     void onmovestart(VARIANT v);
21048
21049     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
21050     VARIANT onmovestart();
21051
21052     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
21053     void onmoveend(VARIANT v);
21054
21055     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
21056     VARIANT onmoveend();
21057
21058     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
21059     void onmouseenter(VARIANT v);
21060
21061     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
21062     VARIANT onmouseenter();
21063
21064     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
21065     void onmouseleave(VARIANT v);
21066
21067     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
21068     VARIANT onmouseleave();
21069
21070     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
21071     void onactivate(VARIANT v);
21072
21073     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
21074     VARIANT onactivate();
21075
21076     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
21077     void ondeactivate(VARIANT v);
21078
21079     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
21080     VARIANT ondeactivate();
21081
21082     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
21083     VARIANT_BOOL dragDrop();
21084
21085     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
21086     LONG glyphMode();
21087
21088     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
21089     void onmousewheel(VARIANT v);
21090
21091     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
21092     VARIANT onmousewheel();
21093
21094     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
21095     void normalize();
21096
21097     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
21098     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
21099
21100     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
21101     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
21102
21103     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
21104     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
21105
21106     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
21107     void onbeforeactivate(VARIANT v);
21108
21109     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
21110     VARIANT onbeforeactivate();
21111
21112     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
21113     void onfocusin(VARIANT v);
21114
21115     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
21116     VARIANT onfocusin();
21117
21118     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
21119     void onfocusout(VARIANT v);
21120
21121     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
21122     VARIANT onfocusout();
21123
21124     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
21125     LONG uniqueNumber();
21126
21127     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
21128     BSTR uniqueID();
21129
21130     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
21131     LONG nodeType();
21132
21133     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
21134     IHTMLDOMNode *parentNode();
21135
21136     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
21137     VARIANT_BOOL hasChildNodes();
21138
21139     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
21140     IDispatch *childNodes();
21141
21142     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
21143     IDispatch *attributes();
21144
21145     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
21146     IHTMLDOMNode *insertBefore(
21147             [in] IHTMLDOMNode *newChild,
21148             [in, optional] VARIANT refChild);
21149
21150     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
21151     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
21152
21153     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
21154     IHTMLDOMNode *replaceChild(
21155             [in] IHTMLDOMNode *newChild,
21156             [in] IHTMLDOMNode *oldChild);
21157
21158     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
21159     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
21160
21161     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
21162     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
21163
21164     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
21165     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
21166
21167     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
21168     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
21169
21170     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
21171     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
21172
21173     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
21174     BSTR nodeName();
21175
21176     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
21177     void nodeValue(VARIANT v);
21178
21179     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
21180     VARIANT nodeValue();
21181
21182     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
21183     IHTMLDOMNode *firstChild();
21184
21185     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
21186     IHTMLDOMNode *lastChild();
21187
21188     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
21189     IHTMLDOMNode *previousSibling();
21190
21191     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
21192     IHTMLDOMNode *nextSibling();
21193
21194     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
21195     IDispatch *ownerDocument();
21196
21197     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
21198     void dataFld(BSTR v);
21199
21200     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
21201     BSTR dataFld();
21202
21203     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
21204     void dataSrc(BSTR v);
21205
21206     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
21207     BSTR dataSrc();
21208
21209     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
21210     void dataFormatAs(BSTR v);
21211
21212     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
21213     BSTR dataFormatAs();
21214
21215     [propput, id(DISPID_IHTMLFRAMEBASE_SRC)]
21216     void src(BSTR v);
21217
21218     [propget, id(DISPID_IHTMLFRAMEBASE_SRC)]
21219     BSTR src();
21220
21221     [propput, id(DISPID_IHTMLFRAMEBASE_NAME)]
21222     void name(BSTR v);
21223
21224     [propget, id(DISPID_IHTMLFRAMEBASE_NAME)]
21225     BSTR name();
21226
21227     [propput, id(DISPID_IHTMLFRAMEBASE_BORDER)]
21228     void border(VARIANT v);
21229
21230     [propget, id(DISPID_IHTMLFRAMEBASE_BORDER)]
21231     VARIANT border();
21232
21233     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
21234     void frameBorder(BSTR v);
21235
21236     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
21237     BSTR frameBorder();
21238
21239     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
21240     void frameSpacing(VARIANT v);
21241
21242     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
21243     VARIANT frameSpacing();
21244
21245     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
21246     void marginWidth(VARIANT v);
21247
21248     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
21249     VARIANT marginWidth();
21250
21251     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
21252     void marginHeight(VARIANT v);
21253
21254     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
21255     VARIANT marginHeight();
21256
21257     [propput, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
21258     void noResize(VARIANT_BOOL v);
21259
21260     [propget, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
21261     VARIANT_BOOL noResize();
21262
21263     [propput, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
21264     void scrolling(BSTR v);
21265
21266     [propget, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
21267     BSTR scrolling();
21268
21269     [propget, id(DISPID_IHTMLFRAMEBASE2_CONTENTWINDOW)]
21270     IHTMLWindow2 *contentWindow();
21271
21272     [propput, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
21273     void onload(VARIANT v);
21274
21275     [propget, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
21276     VARIANT onload();
21277
21278     [propput, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
21279     void allowTransparency(VARIANT_BOOL v);
21280
21281     [propget, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
21282     VARIANT_BOOL allowTransparency();
21283
21284     [propput, id(DISPID_IHTMLFRAMEBASE3_LONGDESC), displaybind, bindable]
21285     void longDesc(BSTR v);
21286
21287     [propget, id(DISPID_IHTMLFRAMEBASE3_LONGDESC), displaybind, bindable]
21288     BSTR longDesc();
21289
21290     [propput, id(DISPID_IHTMLIFRAMEELEMENT_VSPACE)]
21291     void vspace(LONG v);
21292
21293     [propget, id(DISPID_IHTMLIFRAMEELEMENT_VSPACE)]
21294     LONG vspace();
21295
21296     [propput, id(DISPID_IHTMLIFRAMEELEMENT_HSPACE)]
21297     void hspace(LONG v);
21298
21299     [propget, id(DISPID_IHTMLIFRAMEELEMENT_HSPACE)]
21300     LONG hspace();
21301
21302     [propput, id(DISPID_IHTMLIFRAMEELEMENT_ALIGN), displaybind, bindable]
21303     void align(BSTR v);
21304
21305     [propget, id(DISPID_IHTMLIFRAMEELEMENT_ALIGN), displaybind, bindable]
21306     BSTR align();
21307
21308     [propput, id(DISPID_IHTMLIFRAMEELEMENT2_HEIGHT)]
21309     void height(VARIANT v);
21310
21311     [propget, id(DISPID_IHTMLIFRAMEELEMENT2_HEIGHT)]
21312     VARIANT height();
21313
21314     [propput, id(DISPID_IHTMLIFRAMEELEMENT2_WIDTH)]
21315     void width(VARIANT v);
21316
21317     [propget, id(DISPID_IHTMLIFRAMEELEMENT2_WIDTH)]
21318     VARIANT width();
21319 }
21320
21321 /*****************************************************************************
21322  *    IMarkupContainer interface
21323  */
21324 [
21325     object,
21326     pointer_default(unique),
21327     uuid(3050f5f9-98b5-11cf-bb82-00aa00bdce0B)
21328 ]
21329 interface IMarkupContainer : IUnknown
21330 {
21331     HRESULT OwningDoc([out] IHTMLDocument2 **ppDoc);
21332 }
21333
21334 /*****************************************************************************
21335  *    IMarkupPointer interface
21336  */
21337 [
21338     object,
21339     pointer_default(unique),
21340     uuid(3050f49f-98b5-11cf-bb82-00aa00bdce0b)
21341 ]
21342 interface IMarkupPointer : IUnknown
21343 {
21344     HRESULT OwningDoc([out] IHTMLDocument2 **ppDoc);
21345
21346     HRESULT Gravity([out] POINTER_GRAVITY *pGravity);
21347
21348     HRESULT SetGravity([in] POINTER_GRAVITY Gravity);
21349
21350     HRESULT Cling([out] BOOL *pfCling);
21351
21352     HRESULT SetCling([in] BOOL fCLing);
21353
21354     HRESULT UnPosition();
21355
21356     HRESULT IsPositioned([out] BOOL *pfPositioned);
21357
21358     HRESULT GetContainer([out] IMarkupContainer **ppContainer);
21359
21360     HRESULT MoveAdjacentToElement(
21361         [in] IHTMLElement *pElement,
21362         [in] ELEMENT_ADJACENCY eAdj);
21363
21364     HRESULT MoveToPointer([in] IMarkupPointer *pPointer);
21365
21366     HRESULT MoveToContainer(
21367         [in] IMarkupContainer *pContainer,
21368         [in] BOOL fAtStart);
21369
21370     HRESULT Left(
21371         [in] BOOL fMove,
21372         [out] MARKUP_CONTEXT_TYPE *pContext,
21373         [out] IHTMLElement **ppElement,
21374         [in, out] LONG *pcch,
21375         [out, size_is(*pcch)] OLECHAR *pchText);
21376
21377     HRESULT Right(
21378         [in] BOOL fMove,
21379         [out] MARKUP_CONTEXT_TYPE *pContext,
21380         [out] IHTMLElement **ppElement,
21381         [in, out] LONG *pcch,
21382         [out, size_is(*pcch)] OLECHAR *pchText);
21383
21384     HRESULT CurrentScope([out] IHTMLElement **ppElemCurrent);
21385
21386     HRESULT IsLeftOf(
21387         [in] IMarkupPointer *pPointerThat,
21388         [out] BOOL *pfResult);
21389
21390     HRESULT IsLeftOfOrEqualTo(
21391         [in] IMarkupPointer *pPointerThat,
21392         [out] BOOL *pfResult);
21393
21394     HRESULT IsRightOf(
21395         [in] IMarkupPointer *pPointerThat,
21396         [out] BOOL *pfResult);
21397
21398     HRESULT IsRightOfOrEqualTo(
21399         [in] IMarkupPointer *pPointerThat,
21400         [out] BOOL *pfResult);
21401
21402     HRESULT IsEqualTo(
21403         [in] IMarkupPointer *pPointerThat,
21404         [out] BOOL *pfAreEqual);
21405
21406     HRESULT MoveUnit([in] MOVEUNIT_ACTION muAction);
21407
21408     HRESULT FindText(
21409         [in] OLECHAR *pchFindText,
21410         [in] DWORD dwFlags,
21411         [in] IMarkupPointer *pIEndMatch,
21412         [in] IMarkupPointer *pIEndSearch);
21413 }
21414
21415 /*****************************************************************************
21416  *    ISegment interface
21417  */
21418 [
21419     object,
21420     pointer_default(unique),
21421     uuid(3050f683-98b5-11cf-bb82-00aa00bdce0b)
21422 ]
21423 interface ISegment : IUnknown
21424 {
21425     HRESULT GetPointers(
21426         [in] IMarkupPointer *pIStart,
21427         [in] IMarkupPointer *pIEnd);
21428 }
21429
21430 /*****************************************************************************
21431  *    IElementSegment interface
21432  */
21433 [
21434     object,
21435     pointer_default(unique),
21436     uuid(3050f68f-98b5-11cf-bb82-00aa00bdce0b)
21437 ]
21438 interface IElementSegment : ISegment
21439 {
21440     HRESULT GetElement([out] IHTMLElement **ppIElement);
21441
21442     HRESULT SetPrimary([in] BOOL fPrimary);
21443
21444     HRESULT IsPrimary([out] BOOL *pfPrimary);
21445 }
21446
21447 /*****************************************************************************
21448  *    ISelectionServicesListener interface
21449  */
21450 [
21451     object,
21452     pointer_default(unique),
21453     uuid(3050f699-98b5-11cf-bb82-00aa00bdce0b)
21454 ]
21455 interface ISelectionServicesListener : IUnknown
21456 {
21457     HRESULT BeginSelectionUndo();
21458
21459     HRESULT EndSelectionUndo();
21460
21461     HRESULT OnSelectedElementExit(
21462         [in] IMarkupPointer *pIElementStart,
21463         [in] IMarkupPointer *pIElementEnd,
21464         [in] IMarkupPointer *pIElementContentStart,
21465         [in] IMarkupPointer *pIElementContentEnd);
21466
21467     HRESULT OnChangeType(
21468         [in] SELECTION_TYPE eType,
21469         [in] ISelectionServicesListener *pIListener);
21470
21471     HRESULT GetTypeDetail([out] BSTR *pTypeDetail);
21472 }
21473
21474 /*****************************************************************************
21475  *    ISelectionServices interface
21476  */
21477 [
21478     object,
21479     pointer_default(unique),
21480     uuid(3050f684-98b5-11cf-bb82-00aa00bdce0b)
21481 ]
21482 interface ISelectionServices : IUnknown
21483 {
21484     HRESULT SetSelectionType(
21485         [in] SELECTION_TYPE eType,
21486         [in] ISelectionServicesListener *pIListener);
21487
21488     HRESULT GetMarkupContainer([out] IMarkupContainer **ppIContainer);
21489
21490     HRESULT AddSegment(
21491         [in] IMarkupPointer *pIStart,
21492         [in] IMarkupPointer *pIEnd,
21493         [out] ISegment **ppISegmentAdded);
21494
21495     HRESULT AddElementSegment(
21496         [in] IHTMLElement *pIElement,
21497         [out] IElementSegment **ppISegmentAdded);
21498
21499     HRESULT RemoveSegment([in] ISegment *pISegment);
21500
21501     HRESULT GetSelectionServicesListener([out] ISelectionServicesListener **ppISelectionServicesListener);
21502 }
21503
21504 /*****************************************************************************
21505  *    IHTMLEditDesigner interface
21506  */
21507 [
21508     object,
21509     pointer_default(unique),
21510     uuid(3050f662-98b5-11cf-bb82-00aa00bdce0b)
21511 ]
21512 interface IHTMLEditDesigner : IUnknown
21513 {
21514     HRESULT PreHandleEvent(
21515         [in] DISPID inEvtDispId,
21516         [in] IHTMLEventObj *pIEventObj);
21517
21518     HRESULT PostHandleEvent(
21519         [in] DISPID inEvtDispId,
21520         [in] IHTMLEventObj *pIEventObj);
21521
21522     HRESULT TranslateAccelerator(
21523         [in] DISPID inEvtDispId,
21524         [in] IHTMLEventObj *pIEventObj);
21525
21526     HRESULT PostEditorEventNotify(
21527         [in] DISPID inEvtDispId,
21528         [in] IHTMLEventObj *pIEventObj);
21529 }
21530
21531 /*****************************************************************************
21532  *    IHTMLEditServices interface
21533  */
21534 [
21535     object,
21536     pointer_default(unique),
21537     uuid(3050f663-98b5-11cf-bb82-00aa00bdce0b)
21538 ]
21539 interface IHTMLEditServices : IUnknown
21540 {
21541     HRESULT AddDesigner([in] IHTMLEditDesigner *pIDesigner);
21542
21543     HRESULT RemoveDesigner([in] IHTMLEditDesigner *pIDesigner);
21544
21545     HRESULT GetSelectionServices(
21546         [in] IMarkupContainer *pIContainer,
21547         [out] ISelectionServices **ppSelSvc);
21548
21549     HRESULT MoveToSelectionAnchor([in] IMarkupPointer *pIStartAnchor);
21550
21551     HRESULT MoveToSelectionEnd([in] IMarkupPointer *pIEndAnchor);
21552
21553     HRESULT SelectRange(
21554         [in] IMarkupPointer* pStart,
21555         [in] IMarkupPointer* pEnd,
21556         [in] SELECTION_TYPE eType);
21557 }
21558
21559 } /* library MSHTML */