include: Add new interfaces to mshtml.idl.
[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 typedef enum {
37     POINTER_GRAVITY_Left,
38     POINTER_GRAVITY_Right,
39     POINTER_GRAVITY_Max = 2147483647
40 } POINTER_GRAVITY;
41
42 typedef enum {
43     CONTEXT_TYPE_None,
44     CONTEXT_TYPE_Text,
45     CONTEXT_TYPE_EnterScope,
46     CONTEXT_TYPE_ExitScope,
47     CONTEXT_TYPE_NoScope,
48     MARKUP_CONTEXT_TYPE_Max = 2147483647
49 } MARKUP_CONTEXT_TYPE;
50
51 typedef enum {
52     ELEM_ADJ_BeforeBegin,
53     ELEM_ADJ_AfterBegin,
54     ELEM_ADJ_BeforeEnd,
55     ELEM_ADJ_AfterEnd,
56     ELEMENT_ADJACENCY_Max = 2147483647
57 } ELEMENT_ADJACENCY;
58
59 typedef enum {
60     MOVEUNIT_PREVCHAR,
61     MOVEUNIT_NEXTCHAR,
62     MOVEUNIT_PREVCLUSTERBEG,
63     MOVEUNIT_NEXTCLUSTERBEG,
64     MOVEUNIT_PREVCLUSTEREND,
65     MOVEUNIT_NEXTCLUSTEREND,
66     MOVEUNIT_PREVWORDBEG,
67     MOVEUNIT_NEXTWORDBEG,
68     MOVEUNIT_PREVWORDEND,
69     MOVEUNIT_NEXTWORDEND,
70     MOVEUNIT_PREVPROOFWORD,
71     MOVEUNIT_NEXTPROOFWORD,
72     MOVEUNIT_NEXTURLBEG,
73     MOVEUNIT_PREVURLBEG,
74     MOVEUNIT_NEXTURLEND,
75     MOVEUNIT_PREVURLEND,
76     MOVEUNIT_PREVSENTENCE,
77     MOVEUNIT_NEXTSENTENCE,
78     MOVEUNIT_PREVBLOCK,
79     MOVEUNIT_NEXTBLOCK,
80     MOVEUNIT_ACTION_Max = 2147483647
81 } MOVEUNIT_ACTION;
82
83 typedef enum _SELECTION_TYPE {
84     SELECTION_TYPE_None,
85     SELECTION_TYPE_Caret,
86     SELECTION_TYPE_Text,
87     SELECTION_TYPE_Control,
88     SELECTION_TYPE_Max = 2147483647
89 } SELECTION_TYPE;
90
91 interface IHTMLDocument2;
92 interface IHTMLStyleSheetsCollection;
93 interface IHTMLFrameBase;
94
95 /*****************************************************************************
96  *    IHTMLFiltersCollection interface
97  */
98 [
99     odl,
100     oleautomation,
101     dual,
102     uuid(3050F3EE-98B5-11Cf-BB82-00AA00BDCE0B)
103 ]
104 interface IHTMLFiltersCollection : IDispatch
105 {
106     [propget, id(DISPID_IHTMLFILTERSCOLLECTION_LENGTH)]
107     HRESULT length([retval, out] long *p);
108
109     [propget, id(DISPID_IHTMLFILTERSCOLLECTION__NEWENUM)]
110     HRESULT _newEnum([retval, out] IUnknown **p);
111
112     [id(DISPID_IHTMLFILTERSCOLLECTION_ITEM)]
113     HRESULT item(
114         [in] VARIANT *pvarIndex,
115         [retval, out] VARIANT *pvarResult);
116 }
117
118 [
119     version(4.0),
120     uuid(3050F1C5-98B5-11CF-BB82-00AA00BDCE0B)
121 ]
122 library MSHTML
123 {
124
125 importlib("stdole2.tlb");
126
127 /*****************************************************************************
128  *    IHTMLStyle interface
129  */
130 [
131     odl,
132     oleautomation,
133     dual,
134     uuid(3050F25E-98B5-11CF-BB82-00AA00BDCE0B)
135 ]
136 interface IHTMLStyle : IDispatch
137 {
138     [propput, id(DISPID_IHTMLSTYLE_FONTFAMILY), bindable, displaybind]
139     HRESULT fontFamily([in] BSTR v);
140
141     [propget, id(DISPID_IHTMLSTYLE_FONTFAMILY), bindable, displaybind]
142     HRESULT fontFamily([retval, out] BSTR *p);
143
144     [propput, id(DISPID_IHTMLSTYLE_FONTSTYLE), bindable, displaybind]
145     HRESULT fontStyle([in] BSTR v);
146
147     [propget, id(DISPID_IHTMLSTYLE_FONTSTYLE), bindable, displaybind]
148     HRESULT fontStyle([retval, out] BSTR *p);
149
150     [propput, id(DISPID_IHTMLSTYLE_FONTVARIANT), bindable, displaybind]
151     HRESULT fontVariant([in] BSTR v);
152
153     [propget, id(DISPID_IHTMLSTYLE_FONTVARIANT), bindable, displaybind]
154     HRESULT fontVariant([retval, out] BSTR *p);
155
156     [propput, id(DISPID_IHTMLSTYLE_FONTWEIGHT), bindable, displaybind]
157     HRESULT fontWeight([in] BSTR v);
158
159     [propget, id(DISPID_IHTMLSTYLE_FONTWEIGHT), bindable, displaybind]
160     HRESULT fontWeight([retval, out] BSTR *p);
161
162     [propput, id(DISPID_IHTMLSTYLE_FONTSIZE), bindable, displaybind]
163     HRESULT fontSize([in] VARIANT v);
164
165     [propget, id(DISPID_IHTMLSTYLE_FONTSIZE), bindable, displaybind]
166     HRESULT fontSize([retval, out] VARIANT *p);
167
168     [propput, id(DISPID_IHTMLSTYLE_FONT), bindable, displaybind]
169     HRESULT font([in] BSTR v);
170
171     [propget, id(DISPID_IHTMLSTYLE_FONT), bindable, displaybind]
172     HRESULT font([retval, out] BSTR *p);
173
174     [propput, id(DISPID_IHTMLSTYLE_COLOR), bindable, displaybind]
175     HRESULT color([in] VARIANT v);
176
177     [propget, id(DISPID_IHTMLSTYLE_COLOR), bindable, displaybind]
178     HRESULT color([retval, out] VARIANT *p);
179
180     [propput, id(DISPID_IHTMLSTYLE_BACKGROUND), bindable, displaybind]
181     HRESULT background([in] BSTR v);
182
183     [propget, id(DISPID_IHTMLSTYLE_BACKGROUND), bindable, displaybind]
184     HRESULT background([retval, out] BSTR *p);
185
186     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), bindable, displaybind]
187     HRESULT backgroundColor([in] VARIANT v);
188
189     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), bindable, displaybind]
190     HRESULT backgroundColor([retval, out] VARIANT *p);
191
192     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), bindable, displaybind]
193     HRESULT backgroundImage([in] BSTR v);
194
195     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), bindable, displaybind]
196     HRESULT backgroundImage([retval, out] BSTR *p);
197
198     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), bindable, displaybind]
199     HRESULT backgroundRepeat([in] BSTR v);
200
201     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), bindable, displaybind]
202     HRESULT backgroundRepeat([retval, out] BSTR *p);
203
204     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
205     HRESULT backgroundAttachment([in] BSTR v);
206
207     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
208     HRESULT backgroundAttachment([retval, out] BSTR *p);
209
210     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), bindable, displaybind]
211     HRESULT backgroundPosition([in] BSTR v);
212
213     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), bindable, displaybind]
214     HRESULT backgroundPosition([retval, out] BSTR *p);
215
216     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
217     HRESULT backgroundPositionX([in] VARIANT v);
218
219     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
220     HRESULT backgroundPositionX([retval, out] VARIANT *p);
221
222     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
223     HRESULT backgroundPositionY([in] VARIANT v);
224
225     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
226     HRESULT backgroundPositionY([retval, out] VARIANT *p);
227
228     [propput, id(DISPID_IHTMLSTYLE_WORDSPACING), bindable, displaybind]
229     HRESULT wordSpacing([in] VARIANT v);
230
231     [propget, id(DISPID_IHTMLSTYLE_WORDSPACING), bindable, displaybind]
232     HRESULT wordSpacing([retval, out] VARIANT *p);
233
234     [propput, id(DISPID_IHTMLSTYLE_LETTERSPACING), bindable, displaybind]
235     HRESULT letterSpacing([in] VARIANT v);
236
237     [propget, id(DISPID_IHTMLSTYLE_LETTERSPACING), bindable, displaybind]
238     HRESULT letterSpacing([retval, out] VARIANT *p);
239
240     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATION), bindable, displaybind]
241     HRESULT textDecoration([in] BSTR v);
242
243     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATION), bindable, displaybind]
244     HRESULT textDecoration([retval, out] BSTR *p);
245
246     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), bindable, displaybind]
247     HRESULT textDecorationNone([in] VARIANT_BOOL v);
248
249     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), bindable, displaybind]
250     HRESULT textDecorationNone([retval, out] VARIANT_BOOL *p);
251
252     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
253     HRESULT textDecorationUnderline([in] VARIANT_BOOL v);
254
255     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
256     HRESULT textDecorationUnderline([retval, out] VARIANT_BOOL *p);
257
258     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
259     HRESULT textDecorationOverline([in] VARIANT_BOOL v);
260
261     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
262     HRESULT textDecorationOverline([retval, out] VARIANT_BOOL *p);
263
264     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
265     HRESULT textDecorationLineThrough([in] VARIANT_BOOL v);
266
267     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
268     HRESULT textDecorationLineThrough([retval, out] VARIANT_BOOL *p);
269
270     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
271     HRESULT textDecorationBlink([in] VARIANT_BOOL v);
272
273     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
274     HRESULT textDecorationBlink([retval, out] VARIANT_BOOL *p);
275
276     [propput, id(DISPID_IHTMLSTYLE_VERTICALALIGN), bindable, displaybind]
277     HRESULT verticalAlign([in] VARIANT v);
278
279     [propget, id(DISPID_IHTMLSTYLE_VERTICALALIGN), bindable, displaybind]
280     HRESULT verticalAlign([retval, out] VARIANT *p);
281
282     [propput, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), bindable, displaybind]
283     HRESULT textTransform([in] BSTR v);
284
285     [propget, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), bindable, displaybind]
286     HRESULT textTransform([retval, out] BSTR *p);
287
288     [propput, id(DISPID_IHTMLSTYLE_TEXTALIGN), bindable, displaybind]
289     HRESULT textAlign([in] BSTR v);
290
291     [propget, id(DISPID_IHTMLSTYLE_TEXTALIGN), bindable, displaybind]
292     HRESULT textAlign([retval, out] BSTR *p);
293
294     [propput, id(DISPID_IHTMLSTYLE_TEXTINDENT), bindable, displaybind]
295     HRESULT textIndent([in] VARIANT v);
296
297     [propget, id(DISPID_IHTMLSTYLE_TEXTINDENT), bindable, displaybind]
298     HRESULT textIndent([retval, out] VARIANT *p);
299
300     [propput, id(DISPID_IHTMLSTYLE_LINEHEIGHT), bindable, displaybind]
301     HRESULT lineHeight([in] VARIANT v);
302
303     [propget, id(DISPID_IHTMLSTYLE_LINEHEIGHT), bindable, displaybind]
304     HRESULT lineHeight([retval, out] VARIANT *p);
305
306     [propput, id(DISPID_IHTMLSTYLE_MARGINTOP), bindable, displaybind]
307     HRESULT marginTop([in] VARIANT v);
308
309     [propget, id(DISPID_IHTMLSTYLE_MARGINTOP), bindable, displaybind]
310     HRESULT marginTop([retval, out] VARIANT *p);
311
312     [propput, id(DISPID_IHTMLSTYLE_MARGINRIGHT), bindable, displaybind]
313     HRESULT marginRight([in] VARIANT v);
314
315     [propget, id(DISPID_IHTMLSTYLE_MARGINRIGHT), bindable, displaybind]
316     HRESULT marginRight([retval, out] VARIANT *p);
317
318     [propput, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), bindable, displaybind]
319     HRESULT marginBottom([in] VARIANT v);
320
321     [propget, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), bindable, displaybind]
322     HRESULT marginBottom([retval, out] VARIANT *p);
323
324     [propput, id(DISPID_IHTMLSTYLE_MARGINLEFT), bindable, displaybind]
325     HRESULT marginLeft([in] VARIANT v);
326
327     [propget, id(DISPID_IHTMLSTYLE_MARGINLEFT), bindable, displaybind]
328     HRESULT marginLeft([retval, out] VARIANT *p);
329
330     [propput, id(DISPID_IHTMLSTYLE_MARGIN), bindable, displaybind]
331     HRESULT margin([in] BSTR v);
332
333     [propget, id(DISPID_IHTMLSTYLE_MARGIN), bindable, displaybind]
334     HRESULT margin([retval, out] BSTR *p);
335
336     [propput, id(DISPID_IHTMLSTYLE_PADDINGTOP), bindable, displaybind]
337     HRESULT paddingTop([in] VARIANT v);
338
339     [propget, id(DISPID_IHTMLSTYLE_PADDINGTOP), bindable, displaybind]
340     HRESULT paddingTop([retval, out] VARIANT *p);
341
342     [propput, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), bindable, displaybind]
343     HRESULT paddingRight([in] VARIANT v);
344
345     [propget, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), bindable, displaybind]
346     HRESULT paddingRight([retval, out] VARIANT *p);
347
348     [propput, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), bindable, displaybind]
349     HRESULT paddingBottom([in] VARIANT v);
350
351     [propget, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), bindable, displaybind]
352     HRESULT paddingBottom([retval, out] VARIANT *p);
353
354     [propput, id(DISPID_IHTMLSTYLE_PADDINGLEFT), bindable, displaybind]
355     HRESULT paddingLeft([in] VARIANT v);
356
357     [propget, id(DISPID_IHTMLSTYLE_PADDINGLEFT), bindable, displaybind]
358     HRESULT paddingLeft([retval, out] VARIANT *p);
359
360     [propput, id(DISPID_IHTMLSTYLE_PADDING), bindable, displaybind]
361     HRESULT padding([in] BSTR v);
362
363     [propget, id(DISPID_IHTMLSTYLE_PADDING), bindable, displaybind]
364     HRESULT padding([retval, out] BSTR *p);
365
366     [propput, id(DISPID_IHTMLSTYLE_BORDER), bindable, displaybind]
367     HRESULT border([in] BSTR v);
368
369     [propget, id(DISPID_IHTMLSTYLE_BORDER), bindable, displaybind]
370     HRESULT border([retval, out] BSTR *p);
371
372     [propput, id(DISPID_IHTMLSTYLE_BORDERTOP), bindable, displaybind]
373     HRESULT borderTop([in] BSTR v);
374
375     [propget, id(DISPID_IHTMLSTYLE_BORDERTOP), bindable, displaybind]
376     HRESULT borderTop([retval, out] BSTR *p);
377
378     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHT), bindable, displaybind]
379     HRESULT borderRight([in] BSTR v);
380
381     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHT), bindable, displaybind]
382     HRESULT borderRight([retval, out] BSTR *p);
383
384     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), bindable, displaybind]
385     HRESULT borderBottom([in] BSTR v);
386
387     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), bindable, displaybind]
388     HRESULT borderBottom([retval, out] BSTR *p);
389
390     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFT), bindable, displaybind]
391     HRESULT borderLeft([in] BSTR v);
392
393     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFT), bindable, displaybind]
394     HRESULT borderLeft([retval, out] BSTR *p);
395
396     [propput, id(DISPID_IHTMLSTYLE_BORDERCOLOR), bindable, displaybind]
397     HRESULT borderColor([in] BSTR v);
398
399     [propget, id(DISPID_IHTMLSTYLE_BORDERCOLOR), bindable, displaybind]
400     HRESULT borderColor([retval, out] BSTR *p);
401
402     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), bindable, displaybind]
403     HRESULT borderTopColor([in] VARIANT v);
404
405     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), bindable, displaybind]
406     HRESULT borderTopColor([retval, out] VARIANT *p);
407
408     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
409     HRESULT borderRightColor([in] VARIANT v);
410
411     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
412     HRESULT borderRightColor([retval, out] VARIANT *p);
413
414     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
415     HRESULT borderBottomColor([in] VARIANT v);
416
417     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
418     HRESULT borderBottomColor([retval, out] VARIANT *p);
419
420     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), bindable, displaybind]
421     HRESULT borderLeftColor([in] VARIANT v);
422
423     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), bindable, displaybind]
424     HRESULT borderLeftColor([retval, out] VARIANT *p);
425
426     [propput, id(DISPID_IHTMLSTYLE_BORDERWIDTH), bindable, displaybind]
427     HRESULT borderWidth([in] BSTR v);
428
429     [propget, id(DISPID_IHTMLSTYLE_BORDERWIDTH), bindable, displaybind]
430     HRESULT borderWidth([retval, out] BSTR *p);
431
432     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), bindable, displaybind]
433     HRESULT borderTopWidth([in] VARIANT v);
434
435     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), bindable, displaybind]
436     HRESULT borderTopWidth([retval, out] VARIANT *p);
437
438     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
439     HRESULT borderRightWidth([in] VARIANT v);
440
441     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
442     HRESULT borderRightWidth([retval, out] VARIANT *p);
443
444     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
445     HRESULT borderBottomWidth([in] VARIANT v);
446
447     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
448     HRESULT borderBottomWidth([retval, out] VARIANT *p);
449
450     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), bindable, displaybind]
451     HRESULT borderLeftWidth([in] VARIANT v);
452
453     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), bindable, displaybind]
454     HRESULT borderLeftWidth([retval, out] VARIANT *p);
455
456     [propput, id(DISPID_IHTMLSTYLE_BORDERSTYLE), bindable, displaybind]
457     HRESULT borderStyle([in] BSTR v);
458
459     [propget, id(DISPID_IHTMLSTYLE_BORDERSTYLE), bindable, displaybind]
460     HRESULT borderStyle([retval, out] BSTR *p);
461
462     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), bindable, displaybind]
463     HRESULT borderTopStyle([in] BSTR v);
464
465     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), bindable, displaybind]
466     HRESULT borderTopStyle([retval, out] BSTR *p);
467
468     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
469     HRESULT borderRightStyle([in] BSTR v);
470
471     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
472     HRESULT borderRightStyle([retval, out] BSTR *p);
473
474     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
475     HRESULT borderBottomStyle([in] BSTR v);
476
477     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
478     HRESULT borderBottomStyle([retval, out] BSTR *p);
479
480     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), bindable, displaybind]
481     HRESULT borderLeftStyle([in] BSTR v);
482
483     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), bindable, displaybind]
484     HRESULT borderLeftStyle([retval, out] BSTR *p);
485
486     [propput, id(DISPID_IHTMLSTYLE_WIDTH), bindable, displaybind]
487     HRESULT width([in] VARIANT v);
488
489     [propget, id(DISPID_IHTMLSTYLE_WIDTH), bindable, displaybind]
490     HRESULT width([retval, out] VARIANT *p);
491
492     [propput, id(DISPID_IHTMLSTYLE_HEIGHT), bindable, displaybind]
493     HRESULT height([in] VARIANT v);
494
495     [propget, id(DISPID_IHTMLSTYLE_HEIGHT), bindable, displaybind]
496     HRESULT height([retval, out] VARIANT *p);
497
498     [propput, id(DISPID_IHTMLSTYLE_STYLEFLOAT), bindable, displaybind]
499     HRESULT styleFloat([in] BSTR v);
500
501     [propget, id(DISPID_IHTMLSTYLE_STYLEFLOAT), bindable, displaybind]
502     HRESULT styleFloat([retval, out] BSTR *p);
503
504     [propput, id(DISPID_IHTMLSTYLE_CLEAR), bindable, displaybind]
505     HRESULT clear([in] BSTR v);
506
507     [propget, id(DISPID_IHTMLSTYLE_CLEAR), bindable, displaybind]
508     HRESULT clear([retval, out] BSTR *p);
509
510     [propput, id(DISPID_IHTMLSTYLE_DISPLAY), bindable, displaybind]
511     HRESULT display([in] BSTR v);
512
513     [propget, id(DISPID_IHTMLSTYLE_DISPLAY), bindable, displaybind]
514     HRESULT display([retval, out] BSTR *p);
515
516     [propput, id(DISPID_IHTMLSTYLE_VISIBILITY), bindable, displaybind]
517     HRESULT visibility([in] BSTR v);
518
519     [propget, id(DISPID_IHTMLSTYLE_VISIBILITY), bindable, displaybind]
520     HRESULT visibility([retval, out] BSTR *p);
521
522     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), bindable, displaybind]
523     HRESULT listStyleType([in] BSTR v);
524
525     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), bindable, displaybind]
526     HRESULT listStyleType([retval, out] BSTR *p);
527
528     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), bindable, displaybind]
529     HRESULT listStylePosition([in] BSTR v);
530
531     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), bindable, displaybind]
532     HRESULT listStylePosition([retval, out] BSTR *p);
533
534     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), bindable, displaybind]
535     HRESULT listStyleImage([in] BSTR v);
536
537     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), bindable, displaybind]
538     HRESULT listStyleImage([retval, out] BSTR *p);
539
540     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLE), bindable, displaybind]
541     HRESULT listStyle([in] BSTR v);
542
543     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLE), bindable, displaybind]
544     HRESULT listStyle([retval, out] BSTR *p);
545
546     [propput, id(DISPID_IHTMLSTYLE_WHITESPACE), bindable, displaybind]
547     HRESULT whiteSpace([in] BSTR v);
548
549     [propget, id(DISPID_IHTMLSTYLE_WHITESPACE), bindable, displaybind]
550     HRESULT whiteSpace([retval, out] BSTR *p);
551
552     [propput, id(DISPID_IHTMLSTYLE_TOP), bindable, displaybind]
553     HRESULT top([in] VARIANT v);
554
555     [propget, id(DISPID_IHTMLSTYLE_TOP), bindable, displaybind]
556     HRESULT top([retval, out] VARIANT *p);
557
558     [propput, id(DISPID_IHTMLSTYLE_LEFT), bindable, displaybind]
559     HRESULT left([in] VARIANT v);
560
561     [propget, id(DISPID_IHTMLSTYLE_LEFT), bindable, displaybind]
562     HRESULT left([retval, out] VARIANT *p);
563
564     [propget, id(DISPID_IHTMLSTYLE_POSITION), bindable, displaybind]
565     HRESULT position([retval, out] BSTR *p);
566
567     [propput, id(DISPID_IHTMLSTYLE_ZINDEX), bindable, displaybind]
568     HRESULT zIndex([in] VARIANT v);
569
570     [propget, id(DISPID_IHTMLSTYLE_ZINDEX), bindable, displaybind]
571     HRESULT zIndex([retval, out] VARIANT *p);
572
573     [propput, id(DISPID_IHTMLSTYLE_OVERFLOW), bindable, displaybind]
574     HRESULT overflow([in] BSTR v);
575
576     [propget, id(DISPID_IHTMLSTYLE_OVERFLOW), bindable, displaybind]
577     HRESULT overflow([retval, out] BSTR *p);
578
579     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), bindable, displaybind]
580     HRESULT pageBreakBefore([in] BSTR v);
581
582     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), bindable, displaybind]
583     HRESULT pageBreakBefore([retval, out] BSTR *p);
584
585     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), bindable, displaybind]
586     HRESULT pageBreakAfter([in] BSTR v);
587
588     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), bindable, displaybind]
589     HRESULT pageBreakAfter([retval, out] BSTR *p);
590
591     [propput, id(DISPID_IHTMLSTYLE_CSSTEXT), bindable, displaybind]
592     HRESULT cssText([in] BSTR v);
593
594     [propget, id(DISPID_IHTMLSTYLE_CSSTEXT), bindable, displaybind]
595     HRESULT cssText([retval, out] BSTR *p);
596
597     [propput, id(DISPID_IHTMLSTYLE_PIXELTOP), bindable, displaybind, hidden]
598     HRESULT pixelTop([in] long v);
599
600     [propget, id(DISPID_IHTMLSTYLE_PIXELTOP), bindable, displaybind, hidden]
601     HRESULT pixelTop([retval, out] long *p);
602
603     [propput, id(DISPID_IHTMLSTYLE_PIXELLEFT), bindable, displaybind, hidden]
604     HRESULT pixelLeft([in] long v);
605
606     [propget, id(DISPID_IHTMLSTYLE_PIXELLEFT), bindable, displaybind, hidden]
607     HRESULT pixelLeft([retval, out] long *p);
608
609     [propput, id(DISPID_IHTMLSTYLE_PIXELWIDTH), bindable, displaybind, hidden]
610     HRESULT pixelWidth([in] long v);
611
612     [propget, id(DISPID_IHTMLSTYLE_PIXELWIDTH), bindable, displaybind, hidden]
613     HRESULT pixelWidth([retval, out] long *p);
614
615     [propput, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), bindable, displaybind, hidden]
616     HRESULT pixelHeight([in] long v);
617
618     [propget, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), bindable, displaybind, hidden]
619     HRESULT pixelHeight([retval, out] long *p);
620
621     [propput, id(DISPID_IHTMLSTYLE_POSTOP), bindable, displaybind]
622     HRESULT posTop([in] float v);
623
624     [propget, id(DISPID_IHTMLSTYLE_POSTOP), bindable, displaybind]
625     HRESULT posTop([retval, out] float *p);
626
627     [propput, id(DISPID_IHTMLSTYLE_POSLEFT), bindable, displaybind]
628     HRESULT posLeft([in] float v);
629
630     [propget, id(DISPID_IHTMLSTYLE_POSLEFT), bindable, displaybind]
631     HRESULT posLeft([retval, out] float *p);
632
633     [propput, id(DISPID_IHTMLSTYLE_POSWIDTH), bindable, displaybind]
634     HRESULT posWidth([in] float v);
635
636     [propget, id(DISPID_IHTMLSTYLE_POSWIDTH), bindable, displaybind]
637     HRESULT posWidth([retval, out] float *p);
638
639     [propput, id(DISPID_IHTMLSTYLE_POSHEIGHT), bindable, displaybind]
640     HRESULT posHeight([in] float v);
641
642     [propget, id(DISPID_IHTMLSTYLE_POSHEIGHT), bindable, displaybind]
643     HRESULT posHeight([retval, out] float *p);
644
645     [propput, id(DISPID_IHTMLSTYLE_CURSOR), bindable, displaybind]
646     HRESULT cursor([in] BSTR v);
647
648     [propget, id(DISPID_IHTMLSTYLE_CURSOR), bindable, displaybind]
649     HRESULT cursor([retval, out] BSTR *p);
650
651     [propput, id(DISPID_IHTMLSTYLE_CLIP), bindable, displaybind]
652     HRESULT clip([in] BSTR v);
653
654     [propget, id(DISPID_IHTMLSTYLE_CLIP), bindable, displaybind]
655     HRESULT clip([retval, out] BSTR *p);
656
657     [propput, id(DISPID_IHTMLSTYLE_FILTER), bindable, displaybind]
658     HRESULT filter([in] BSTR v);
659
660     [propget, id(DISPID_IHTMLSTYLE_FILTER), bindable, displaybind]
661     HRESULT filter([retval, out] BSTR *p);
662
663     [id(DISPID_IHTMLSTYLE_SETATTRIBUTE)]
664     HRESULT setAttribute(
665         [in] BSTR strAttributeName,
666         [in] VARIANT AttributeValue,
667         [defaultvalue(1), in] LONG lFlags);
668
669     [id(DISPID_IHTMLSTYLE_GETATTRIBUTE)]
670     HRESULT getAttribute(
671         [in] BSTR strAttributeName,
672         [defaultvalue(0), in] LONG lFlags,
673         [retval, out] VARIANT *AttributeValue);
674
675     [id(DISPID_IHTMLSTYLE_REMOVEATTRIBUTE)]
676     HRESULT removeAttribute(
677         [in] BSTR strAttributeName,
678         [defaultvalue(1), in]
679         LONG lFlags,
680         [retval, out] VARIANT_BOOL *pfSuccess);
681
682     [id(DISPID_IHTMLSTYLE_TOSTRING)]
683     HRESULT toString([retval, out] BSTR *String);
684 }
685
686 /*****************************************************************************
687  *    IHTMLStyle2 interface
688  */
689 [
690     odl,
691     oleautomation,
692     dual,
693     uuid(3050f4a2-98b5-11cf-bb82-00aa00bdce0b)
694 ]
695 interface IHTMLStyle2 : IDispatch
696 {
697     [propput, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable]
698     HRESULT tableLayout([in] BSTR v);
699
700     [propget, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable]
701     HRESULT tableLayout([out, retval] BSTR *p);
702
703     [propput, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable]
704     HRESULT borderCollapse([in] BSTR v);
705
706     [propget, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable]
707     HRESULT borderCollapse([out, retval] BSTR *p);
708
709     [propput, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable]
710     HRESULT direction([in] BSTR v);
711
712     [propget, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable]
713     HRESULT direction([out, retval] BSTR *p);
714
715     [propput, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable]
716     HRESULT behavior([in] BSTR v);
717
718     [propget, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable]
719     HRESULT behavior([out, retval] BSTR *p);
720
721     [id(DISPID_IHTMLSTYLE2_SETEXPRESSION)]
722     HRESULT setExpression(
723             [in] BSTR propname,
724             [in] BSTR expression,
725             [in, defaultvalue("")] BSTR language);
726
727     [id(DISPID_IHTMLSTYLE2_GETEXPRESSION)]
728     HRESULT getExpression(
729             [in] BSTR propname,
730             [out, retval] VARIANT *expression);
731
732     [id(DISPID_IHTMLSTYLE2_REMOVEEXPRESSION)]
733     HRESULT removeExpression(
734             [in] BSTR propname,
735             [out, retval] VARIANT_BOOL *pfSuccess);
736
737     [propput, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable]
738     HRESULT position([in] BSTR v);
739
740     [propget, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable]
741     HRESULT position([out, retval] BSTR *p);
742
743     [propput, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable]
744     HRESULT unicodeBidi([in] BSTR v);
745
746     [propget, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable]
747     HRESULT unicodeBidi([out, retval] BSTR *p);
748
749     [propput, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable]
750     HRESULT bottom([in] VARIANT v);
751
752     [propget, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable]
753     HRESULT bottom([out, retval] VARIANT *p);
754
755     [propput, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable]
756     HRESULT right([in] VARIANT v);
757
758     [propget, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable]
759     HRESULT right([out, retval] VARIANT *p);
760
761     [propput, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden]
762     HRESULT pixelBottom([in] long v);
763
764     [propget, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden]
765     HRESULT pixelBottom([out, retval] long *p);
766
767     [propput, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden]
768     HRESULT pixelRight([in] long v);
769
770     [propget, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden]
771     HRESULT pixelRight([out, retval] long *p);
772
773     [propput, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable]
774     HRESULT posBottom([in] float v);
775
776     [propget, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable]
777     HRESULT posBottom([out, retval] float *p);
778
779     [propput, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable]
780     HRESULT posRight([in] float v);
781
782     [propget, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable]
783     HRESULT posRight([out, retval] float *p);
784
785     [propput, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable]
786     HRESULT imeMode([in] BSTR v);
787
788     [propget, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable]
789     HRESULT imeMode([out, retval] BSTR *p);
790
791     [propput, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable]
792     HRESULT rubyAlign([in] BSTR v);
793
794     [propget, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable]
795     HRESULT rubyAlign([out, retval] BSTR *p);
796
797     [propput, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable]
798     HRESULT rubyPosition([in] BSTR v);
799
800     [propget, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable]
801     HRESULT rubyPosition([out, retval] BSTR *p);
802
803     [propput, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable]
804     HRESULT rubyOverhang([in] BSTR v);
805
806     [propget, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable]
807     HRESULT rubyOverhang([out, retval] BSTR *p);
808
809     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable]
810     HRESULT layoutGridChar([in] VARIANT v);
811
812     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable]
813     HRESULT layoutGridChar([out, retval] VARIANT *p);
814
815     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable]
816     HRESULT layoutGridLine([in] VARIANT v);
817
818     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable]
819     HRESULT layoutGridLine([out, retval] VARIANT *p);
820
821     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable]
822     HRESULT layoutGridMode([in] BSTR v);
823
824     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable]
825     HRESULT layoutGridMode([out, retval] BSTR *p);
826
827     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable]
828     HRESULT layoutGridType([in] BSTR v);
829
830     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable]
831     HRESULT layoutGridType([out, retval] BSTR *p);
832
833     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable]
834     HRESULT layoutGrid([in] BSTR v);
835
836     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable]
837     HRESULT layoutGrid([out, retval] BSTR *p);
838
839     [propput, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable]
840     HRESULT wordBreak([in] BSTR v);
841
842     [propget, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable]
843     HRESULT wordBreak([out, retval] BSTR *p);
844
845     [propput, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable]
846     HRESULT lineBreak([in] BSTR v);
847
848     [propget, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable]
849     HRESULT lineBreak([out, retval] BSTR *p);
850
851     [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable]
852     HRESULT textJustify([in] BSTR v);
853
854     [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable]
855     HRESULT textJustify([out, retval] BSTR *p);
856
857     [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable]
858     HRESULT textJustifyTrim([in] BSTR v);
859
860     [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable]
861     HRESULT textJustifyTrim([out, retval] BSTR *p);
862
863     [propput, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable]
864     HRESULT textKashida([in] VARIANT v);
865
866     [propget, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable]
867     HRESULT textKashida([out, retval] VARIANT *p);
868
869     [propput, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable]
870     HRESULT textAutospace([in] BSTR v);
871
872     [propget, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable]
873     HRESULT textAutospace([out, retval] BSTR *p);
874
875     [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable]
876     HRESULT overflowX([in] BSTR v);
877
878     [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable]
879     HRESULT overflowX([out, retval] BSTR *p);
880
881     [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable]
882     HRESULT overflowY([in] BSTR v);
883
884     [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable]
885     HRESULT overflowY([out, retval] BSTR *p);
886
887     [propput, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable]
888     HRESULT accelerator([in] BSTR v);
889
890     [propget, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable]
891     HRESULT accelerator([out, retval] BSTR *p);
892 }
893
894 /*****************************************************************************
895  *    IHTMLRuleStyle interface
896  */
897 [
898         odl,
899         oleautomation,
900         dual,
901         uuid(3050F3CF-98B5-11CF-BB82-00AA00BDCE0B)
902 ]
903 interface IHTMLRuleStyle : IDispatch
904 {
905     [propput, id(DISPID_IHTMLRULESTYLE_FONTFAMILY), bindable, displaybind]
906     HRESULT fontFamily([in] BSTR v);
907
908     [propget, id(DISPID_IHTMLRULESTYLE_FONTFAMILY), bindable, displaybind]
909     HRESULT fontFamily([retval, out] BSTR *p);
910
911     [propput, id(DISPID_IHTMLRULESTYLE_FONTSTYLE), bindable, displaybind]
912     HRESULT fontStyle([in] BSTR v);
913
914     [propget, id(DISPID_IHTMLRULESTYLE_FONTSTYLE), bindable, displaybind]
915     HRESULT fontStyle([retval, out] BSTR *p);
916
917     [propput, id(DISPID_IHTMLRULESTYLE_FONTVARIANT), bindable, displaybind]
918     HRESULT fontVariant([in] BSTR v);
919
920     [propget, id(DISPID_IHTMLRULESTYLE_FONTVARIANT), bindable, displaybind]
921     HRESULT fontVariant([retval, out] BSTR *p);
922
923     [propput, id(DISPID_IHTMLRULESTYLE_FONTWEIGHT), bindable, displaybind]
924     HRESULT fontWeight([in] BSTR v);
925
926     [propget, id(DISPID_IHTMLRULESTYLE_FONTWEIGHT), bindable, displaybind]
927     HRESULT fontWeight([retval, out] BSTR *p);
928
929     [propput, id(DISPID_IHTMLRULESTYLE_FONTSIZE), bindable, displaybind]
930     HRESULT fontSize([in] VARIANT v);
931
932     [propget, id(DISPID_IHTMLRULESTYLE_FONTSIZE), bindable, displaybind]
933     HRESULT fontSize([retval, out] VARIANT *p);
934
935     [propput, id(DISPID_IHTMLRULESTYLE_FONT), bindable, displaybind]
936     HRESULT font([in] BSTR v);
937
938     [propget, id(DISPID_IHTMLRULESTYLE_FONT), bindable, displaybind]
939     HRESULT font([retval, out] BSTR *p);
940
941     [propput, id(DISPID_IHTMLRULESTYLE_COLOR), bindable, displaybind]
942     HRESULT color([in] VARIANT v);
943
944     [propget, id(DISPID_IHTMLRULESTYLE_COLOR), bindable, displaybind]
945     HRESULT color([retval, out] VARIANT *p);
946
947     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUND), bindable, displaybind]
948     HRESULT background([in] BSTR v);
949
950     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUND), bindable, displaybind]
951     HRESULT background([retval, out] BSTR *p);
952
953     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDCOLOR), bindable, displaybind]
954     HRESULT backgroundColor([in] VARIANT v);
955
956     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDCOLOR), bindable, displaybind]
957     HRESULT backgroundColor([retval, out] VARIANT *p);
958
959     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDIMAGE), bindable, displaybind]
960     HRESULT backgroundImage([in] BSTR v);
961
962     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDIMAGE), bindable, displaybind]
963     HRESULT backgroundImage([retval, out] BSTR *p);
964
965     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDREPEAT), bindable, displaybind]
966     HRESULT backgroundRepeat([in] BSTR v);
967
968     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDREPEAT), bindable, displaybind]
969     HRESULT backgroundRepeat([retval, out] BSTR *p);
970
971     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
972     HRESULT backgroundAttachment([in] BSTR v);
973
974     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
975     HRESULT backgroundAttachment([retval, out] BSTR *p);
976
977     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITION), bindable, displaybind]
978     HRESULT backgroundPosition([in] BSTR v);
979
980     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITION), bindable, displaybind]
981     HRESULT backgroundPosition([retval, out] BSTR *p);
982
983     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
984     HRESULT backgroundPositionX([in] VARIANT v);
985
986     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
987     HRESULT backgroundPositionX([retval, out] VARIANT *p);
988
989     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
990     HRESULT backgroundPositionY([in] VARIANT v);
991
992     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
993     HRESULT backgroundPositionY([retval, out] VARIANT *p);
994
995     [propput, id(DISPID_IHTMLRULESTYLE_WORDSPACING), bindable, displaybind]
996     HRESULT wordSpacing([in] VARIANT v);
997
998     [propget, id(DISPID_IHTMLRULESTYLE_WORDSPACING), bindable, displaybind]
999     HRESULT wordSpacing([retval, out] VARIANT *p);
1000
1001     [propput, id(DISPID_IHTMLRULESTYLE_LETTERSPACING), bindable, displaybind]
1002     HRESULT letterSpacing([in] VARIANT v);
1003
1004     [propget, id(DISPID_IHTMLRULESTYLE_LETTERSPACING), bindable, displaybind]
1005     HRESULT letterSpacing([retval, out] VARIANT *p);
1006
1007     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATION), bindable, displaybind]
1008     HRESULT textDecoration([in] BSTR v);
1009
1010     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATION), bindable, displaybind]
1011     HRESULT textDecoration([retval, out] BSTR *p);
1012
1013     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONNONE), bindable, displaybind]
1014     HRESULT textDecorationNone([in] VARIANT_BOOL v);
1015
1016     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONNONE), bindable, displaybind]
1017     HRESULT textDecorationNone([retval, out] VARIANT_BOOL *p);
1018
1019     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
1020     HRESULT textDecorationUnderline([in] VARIANT_BOOL v);
1021
1022     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
1023     HRESULT textDecorationUnderline([retval, out] VARIANT_BOOL *p);
1024
1025     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
1026     HRESULT textDecorationOverline([in] VARIANT_BOOL v);
1027
1028     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
1029     HRESULT textDecorationOverline([retval, out] VARIANT_BOOL *p);
1030
1031     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
1032     HRESULT textDecorationLineThrough([in] VARIANT_BOOL v);
1033
1034     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
1035     HRESULT textDecorationLineThrough([retval, out] VARIANT_BOOL *p);
1036
1037     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
1038     HRESULT textDecorationBlink([in] VARIANT_BOOL v);
1039
1040     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
1041     HRESULT textDecorationBlink([retval, out] VARIANT_BOOL *p);
1042
1043     [propput, id(DISPID_IHTMLRULESTYLE_VERTICALALIGN), bindable, displaybind]
1044     HRESULT verticalAlign([in] VARIANT v);
1045
1046     [propget, id(DISPID_IHTMLRULESTYLE_VERTICALALIGN), bindable, displaybind]
1047     HRESULT verticalAlign([retval, out] VARIANT *p);
1048
1049     [propput, id(DISPID_IHTMLRULESTYLE_TEXTTRANSFORM), bindable, displaybind]
1050     HRESULT textTransform([in] BSTR v);
1051
1052     [propget, id(DISPID_IHTMLRULESTYLE_TEXTTRANSFORM), bindable, displaybind]
1053     HRESULT textTransform([retval, out] BSTR *p);
1054
1055     [propput, id(DISPID_IHTMLRULESTYLE_TEXTALIGN), bindable, displaybind]
1056     HRESULT textAlign([in] BSTR v);
1057
1058     [propget, id(DISPID_IHTMLRULESTYLE_TEXTALIGN), bindable, displaybind]
1059     HRESULT textAlign([retval, out] BSTR *p);
1060
1061     [propput, id(DISPID_IHTMLRULESTYLE_TEXTINDENT), bindable, displaybind]
1062     HRESULT textIndent([in] VARIANT v);
1063
1064     [propget, id(DISPID_IHTMLRULESTYLE_TEXTINDENT), bindable, displaybind]
1065     HRESULT textIndent([retval, out] VARIANT *p);
1066
1067     [propput, id(DISPID_IHTMLRULESTYLE_LINEHEIGHT), bindable, displaybind]
1068     HRESULT lineHeight([in] VARIANT v);
1069
1070     [propget, id(DISPID_IHTMLRULESTYLE_LINEHEIGHT), bindable, displaybind]
1071     HRESULT lineHeight([retval, out] VARIANT *p);
1072
1073     [propput, id(DISPID_IHTMLRULESTYLE_MARGINTOP), bindable, displaybind]
1074     HRESULT marginTop([in] VARIANT v);
1075
1076     [propget, id(DISPID_IHTMLRULESTYLE_MARGINTOP), bindable, displaybind]
1077     HRESULT marginTop([retval, out] VARIANT *p);
1078
1079     [propput, id(DISPID_IHTMLRULESTYLE_MARGINRIGHT), bindable, displaybind]
1080     HRESULT marginRight([in] VARIANT v);
1081
1082     [propget, id(DISPID_IHTMLRULESTYLE_MARGINRIGHT), bindable, displaybind]
1083     HRESULT marginRight([retval, out] VARIANT *p);
1084
1085     [propput, id(DISPID_IHTMLRULESTYLE_MARGINBOTTOM), bindable, displaybind]
1086     HRESULT marginBottom([in] VARIANT v);
1087
1088     [propget, id(DISPID_IHTMLRULESTYLE_MARGINBOTTOM), bindable, displaybind]
1089     HRESULT marginBottom([retval, out] VARIANT *p);
1090
1091     [propput, id(DISPID_IHTMLRULESTYLE_MARGINLEFT), bindable, displaybind]
1092     HRESULT marginLeft([in] VARIANT v);
1093
1094     [propget, id(DISPID_IHTMLRULESTYLE_MARGINLEFT), bindable, displaybind]
1095     HRESULT marginLeft([retval, out] VARIANT *p);
1096
1097     [propput, id(DISPID_IHTMLRULESTYLE_MARGIN), bindable, displaybind]
1098     HRESULT margin([in] BSTR v);
1099
1100     [propget, id(DISPID_IHTMLRULESTYLE_MARGIN), bindable, displaybind]
1101     HRESULT margin([retval, out] BSTR *p);
1102
1103     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGTOP), bindable, displaybind]
1104     HRESULT paddingTop([in] VARIANT v);
1105
1106     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGTOP), bindable, displaybind]
1107     HRESULT paddingTop([retval, out] VARIANT *p);
1108
1109     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGRIGHT), bindable, displaybind]
1110     HRESULT paddingRight([in] VARIANT v);
1111
1112     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGRIGHT), bindable, displaybind]
1113     HRESULT paddingRight([retval, out] VARIANT *p);
1114
1115     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGBOTTOM), bindable, displaybind]
1116     HRESULT paddingBottom([in] VARIANT v);
1117
1118     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGBOTTOM), bindable, displaybind]
1119     HRESULT paddingBottom([retval, out] VARIANT *p);
1120
1121     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGLEFT), bindable, displaybind]
1122     HRESULT paddingLeft([in] VARIANT v);
1123
1124     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGLEFT), bindable, displaybind]
1125     HRESULT paddingLeft([retval, out] VARIANT *p);
1126
1127     [propput, id(DISPID_IHTMLRULESTYLE_PADDING), bindable, displaybind]
1128     HRESULT padding([in] BSTR v);
1129
1130     [propget, id(DISPID_IHTMLRULESTYLE_PADDING), bindable, displaybind]
1131     HRESULT padding([retval, out] BSTR *p);
1132
1133     [propput, id(DISPID_IHTMLRULESTYLE_BORDER), bindable, displaybind]
1134     HRESULT border([in] BSTR v);
1135
1136     [propget, id(DISPID_IHTMLRULESTYLE_BORDER), bindable, displaybind]
1137     HRESULT border([retval, out] BSTR *p);
1138
1139     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOP), bindable, displaybind]
1140     HRESULT borderTop([in] BSTR v);
1141
1142     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOP), bindable, displaybind]
1143     HRESULT borderTop([retval, out] BSTR *p);
1144
1145     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHT), bindable, displaybind]
1146     HRESULT borderRight([in] BSTR v);
1147
1148     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHT), bindable, displaybind]
1149     HRESULT borderRight([retval, out] BSTR *p);
1150
1151     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOM), bindable, displaybind]
1152     HRESULT borderBottom([in] BSTR v);
1153
1154     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOM), bindable, displaybind]
1155     HRESULT borderBottom([retval, out] BSTR *p);
1156
1157     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFT), bindable, displaybind]
1158     HRESULT borderLeft([in] BSTR v);
1159
1160     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFT), bindable, displaybind]
1161     HRESULT borderLeft([retval, out] BSTR *p);
1162
1163     [propput, id(DISPID_IHTMLRULESTYLE_BORDERCOLOR), bindable, displaybind]
1164     HRESULT borderColor([in] BSTR v);
1165
1166     [propget, id(DISPID_IHTMLRULESTYLE_BORDERCOLOR), bindable, displaybind]
1167     HRESULT borderColor([retval, out] BSTR *p);
1168
1169     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOPCOLOR), bindable, displaybind]
1170     HRESULT borderTopColor([in] VARIANT v);
1171
1172     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOPCOLOR), bindable, displaybind]
1173     HRESULT borderTopColor([retval, out] VARIANT *p);
1174
1175     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
1176     HRESULT borderRightColor([in] VARIANT v);
1177
1178     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
1179     HRESULT borderRightColor([retval, out] VARIANT *p);
1180
1181     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
1182     HRESULT borderBottomColor([in] VARIANT v);
1183
1184     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
1185     HRESULT borderBottomColor([retval, out] VARIANT *p);
1186
1187     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFTCOLOR), bindable, displaybind]
1188     HRESULT borderLeftColor([in] VARIANT v);
1189
1190     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFTCOLOR), bindable, displaybind]
1191     HRESULT borderLeftColor([retval, out] VARIANT *p);
1192
1193     [propput, id(DISPID_IHTMLRULESTYLE_BORDERWIDTH), bindable, displaybind]
1194     HRESULT borderWidth([in] BSTR v);
1195
1196     [propget, id(DISPID_IHTMLRULESTYLE_BORDERWIDTH), bindable, displaybind]
1197     HRESULT borderWidth([retval, out] BSTR *p);
1198
1199     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOPWIDTH), bindable, displaybind]
1200     HRESULT borderTopWidth([in] VARIANT v);
1201
1202     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOPWIDTH), bindable, displaybind]
1203     HRESULT borderTopWidth([retval, out] VARIANT *p);
1204
1205     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
1206     HRESULT borderRightWidth([in] VARIANT v);
1207
1208     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
1209     HRESULT borderRightWidth([retval, out] VARIANT *p);
1210
1211     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
1212     HRESULT borderBottomWidth([in] VARIANT v);
1213
1214     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
1215     HRESULT borderBottomWidth([retval, out] VARIANT *p);
1216
1217     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFTWIDTH), bindable, displaybind]
1218     HRESULT borderLeftWidth([in] VARIANT v);
1219
1220     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFTWIDTH), bindable, displaybind]
1221     HRESULT borderLeftWidth([retval, out] VARIANT *p);
1222
1223     [propput, id(DISPID_IHTMLRULESTYLE_BORDERSTYLE), bindable, displaybind]
1224     HRESULT borderStyle([in] BSTR v);
1225
1226     [propget, id(DISPID_IHTMLRULESTYLE_BORDERSTYLE), bindable, displaybind]
1227     HRESULT borderStyle([retval, out] BSTR *p);
1228
1229     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOPSTYLE), bindable, displaybind]
1230     HRESULT borderTopStyle([in] BSTR v);
1231
1232     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOPSTYLE), bindable, displaybind]
1233     HRESULT borderTopStyle([retval, out] BSTR *p);
1234
1235     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
1236     HRESULT borderRightStyle([in] BSTR v);
1237
1238     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
1239     HRESULT borderRightStyle([retval, out] BSTR *p);
1240
1241     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
1242     HRESULT borderBottomStyle([in] BSTR v);
1243
1244     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
1245     HRESULT borderBottomStyle([retval, out] BSTR *p);
1246
1247     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFTSTYLE), bindable, displaybind]
1248     HRESULT borderLeftStyle([in] BSTR v);
1249
1250     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFTSTYLE), bindable, displaybind]
1251     HRESULT borderLeftStyle([retval, out] BSTR *p);
1252
1253     [propput, id(DISPID_IHTMLRULESTYLE_WIDTH), bindable, displaybind]
1254     HRESULT width([in] VARIANT v);
1255
1256     [propget, id(DISPID_IHTMLRULESTYLE_WIDTH), bindable, displaybind]
1257     HRESULT width([retval, out] VARIANT *p);
1258
1259     [propput, id(DISPID_IHTMLRULESTYLE_HEIGHT), bindable, displaybind]
1260     HRESULT height([in] VARIANT v);
1261
1262     [propget, id(DISPID_IHTMLRULESTYLE_HEIGHT), bindable, displaybind]
1263     HRESULT height([retval, out] VARIANT *p);
1264
1265     [propput, id(DISPID_IHTMLRULESTYLE_STYLEFLOAT), bindable, displaybind]
1266     HRESULT styleFloat([in] BSTR v);
1267
1268     [propget, id(DISPID_IHTMLRULESTYLE_STYLEFLOAT), bindable, displaybind]
1269     HRESULT styleFloat([retval, out] BSTR *p);
1270
1271     [propput, id(DISPID_IHTMLRULESTYLE_CLEAR), bindable, displaybind]
1272     HRESULT clear([in] BSTR v);
1273
1274     [propget, id(DISPID_IHTMLRULESTYLE_CLEAR), bindable, displaybind]
1275     HRESULT clear([retval, out] BSTR *p);
1276
1277     [propput, id(DISPID_IHTMLRULESTYLE_DISPLAY), bindable, displaybind]
1278     HRESULT display([in] BSTR v);
1279
1280     [propget, id(DISPID_IHTMLRULESTYLE_DISPLAY), bindable, displaybind]
1281     HRESULT display([retval, out] BSTR *p);
1282
1283     [propput, id(DISPID_IHTMLRULESTYLE_VISIBILITY), bindable, displaybind]
1284     HRESULT visibility([in] BSTR v);
1285
1286     [propget, id(DISPID_IHTMLRULESTYLE_VISIBILITY), bindable, displaybind]
1287     HRESULT visibility([retval, out] BSTR *p);
1288
1289     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLETYPE), bindable, displaybind]
1290     HRESULT listStyleType([in] BSTR v);
1291
1292     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLETYPE), bindable, displaybind]
1293     HRESULT listStyleType([retval, out] BSTR *p);
1294
1295     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLEPOSITION), bindable, displaybind]
1296     HRESULT listStylePosition([in] BSTR v);
1297
1298     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLEPOSITION), bindable, displaybind]
1299     HRESULT listStylePosition([retval, out] BSTR *p);
1300
1301     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLEIMAGE), bindable, displaybind]
1302     HRESULT listStyleImage([in] BSTR v);
1303
1304     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLEIMAGE), bindable, displaybind]
1305     HRESULT listStyleImage([retval, out] BSTR *p);
1306
1307     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLE), bindable, displaybind]
1308     HRESULT listStyle([in] BSTR v);
1309
1310     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLE), bindable, displaybind]
1311     HRESULT listStyle([retval, out] BSTR *p);
1312
1313     [propput, id(DISPID_IHTMLRULESTYLE_WHITESPACE), bindable, displaybind]
1314     HRESULT whiteSpace([in] BSTR v);
1315
1316     [propget, id(DISPID_IHTMLRULESTYLE_WHITESPACE), bindable, displaybind]
1317     HRESULT whiteSpace([retval, out] BSTR *p);
1318
1319     [propput, id(DISPID_IHTMLRULESTYLE_TOP), bindable, displaybind]
1320     HRESULT top([in] VARIANT v);
1321
1322     [propget, id(DISPID_IHTMLRULESTYLE_TOP), bindable, displaybind]
1323     HRESULT top([retval, out] VARIANT *p);
1324
1325     [propput, id(DISPID_IHTMLRULESTYLE_LEFT), bindable, displaybind]
1326     HRESULT left([in] VARIANT v);
1327
1328     [propget, id(DISPID_IHTMLRULESTYLE_LEFT), bindable, displaybind]
1329     HRESULT left([retval, out] VARIANT *p);
1330
1331     [propget, id(DISPID_IHTMLRULESTYLE_POSITION), bindable, displaybind]
1332     HRESULT position([retval, out] BSTR *p);
1333
1334     [propput, id(DISPID_IHTMLRULESTYLE_ZINDEX), bindable, displaybind]
1335     HRESULT zIndex([in] VARIANT v);
1336
1337     [propget, id(DISPID_IHTMLRULESTYLE_ZINDEX), bindable, displaybind]
1338     HRESULT zIndex([retval, out] VARIANT *p);
1339
1340     [propput, id(DISPID_IHTMLRULESTYLE_OVERFLOW), bindable, displaybind]
1341     HRESULT overflow([in] BSTR v);
1342
1343     [propget, id(DISPID_IHTMLRULESTYLE_OVERFLOW), bindable, displaybind]
1344     HRESULT overflow([retval, out] BSTR *p);
1345
1346     [propput, id(DISPID_IHTMLRULESTYLE_PAGEBREAKBEFORE), bindable, displaybind]
1347     HRESULT pageBreakBefore([in] BSTR v);
1348
1349     [propget, id(DISPID_IHTMLRULESTYLE_PAGEBREAKBEFORE), bindable, displaybind]
1350     HRESULT pageBreakBefore([retval, out] BSTR *p);
1351
1352     [propput, id(DISPID_IHTMLRULESTYLE_PAGEBREAKAFTER), bindable, displaybind]
1353     HRESULT pageBreakAfter([in] BSTR v);
1354
1355     [propget, id(DISPID_IHTMLRULESTYLE_PAGEBREAKAFTER), bindable, displaybind]
1356     HRESULT pageBreakAfter([retval, out] BSTR *p);
1357
1358     [propput, id(DISPID_IHTMLRULESTYLE_CSSTEXT), bindable, displaybind]
1359     HRESULT cssText([in] BSTR v);
1360
1361     [propget, id(DISPID_IHTMLRULESTYLE_CSSTEXT), bindable, displaybind]
1362     HRESULT cssText([retval, out] BSTR *p);
1363
1364     [propput, id(DISPID_IHTMLRULESTYLE_CURSOR), bindable, displaybind]
1365     HRESULT cursor([in] BSTR v);
1366
1367     [propget, id(DISPID_IHTMLRULESTYLE_CURSOR), bindable, displaybind]
1368     HRESULT cursor([retval, out] BSTR *p);
1369
1370     [propput, id(DISPID_IHTMLRULESTYLE_CLIP), bindable, displaybind]
1371     HRESULT clip([in] BSTR v);
1372
1373     [propget, id(DISPID_IHTMLRULESTYLE_CLIP), bindable, displaybind]
1374     HRESULT clip([retval, out] BSTR *p);
1375
1376     [propput, id(DISPID_IHTMLRULESTYLE_FILTER), bindable, displaybind]
1377     HRESULT filter([in] BSTR v);
1378
1379     [propget, id(DISPID_IHTMLRULESTYLE_FILTER), bindable, displaybind]
1380     HRESULT filter([retval, out] BSTR *p);
1381
1382     [id(DISPID_IHTMLRULESTYLE_SETATTRIBUTE)]
1383     HRESULT setAttribute(
1384         [in] BSTR strAttributeName,
1385         [in] VARIANT AttributeValue,
1386         [defaultvalue(1), in] LONG lFlags);
1387
1388     [id(DISPID_IHTMLRULESTYLE_GETATTRIBUTE)]
1389     HRESULT getAttribute(
1390         [in] BSTR strAttributeName,
1391         [defaultvalue(0), in] LONG lFlags,
1392         [retval, out] VARIANT *AttributeValue);
1393
1394     [id(DISPID_IHTMLRULESTYLE_REMOVEATTRIBUTE)]
1395     HRESULT removeAttribute(
1396         [in] BSTR strAttributeName,
1397         [defaultvalue(1), in] LONG lFlags,
1398         [retval, out] VARIANT_BOOL *pfSuccess);
1399 }
1400
1401 /*****************************************************************************
1402  *    DispHTMLStyle dispinterface
1403  */
1404 [
1405     hidden,
1406     uuid(3050f55a-98b5-11cf-bb82-00aa00bdce0b)
1407 ]
1408 dispinterface DispHTMLStyle
1409 {
1410 properties:
1411 methods:
1412     [propput, id(DISPID_IHTMLSTYLE_FONTFAMILY), displaybind, bindable]
1413     void fontFamily(BSTR v);
1414
1415     [propget, id(DISPID_IHTMLSTYLE_FONTFAMILY), displaybind, bindable]
1416     BSTR fontFamily();
1417
1418     [propput, id(DISPID_IHTMLSTYLE_FONTSTYLE), displaybind, bindable]
1419     void fontStyle(BSTR v);
1420
1421     [propget, id(DISPID_IHTMLSTYLE_FONTSTYLE), displaybind, bindable]
1422     BSTR fontStyle();
1423
1424     [propput, id(DISPID_IHTMLSTYLE_FONTVARIANT), displaybind, bindable]
1425     void fontVariant(BSTR v);
1426
1427     [propget, id(DISPID_IHTMLSTYLE_FONTVARIANT), displaybind, bindable]
1428     BSTR fontVariant();
1429
1430     [propput, id(DISPID_IHTMLSTYLE_FONTWEIGHT), displaybind, bindable]
1431     void fontWeight(BSTR v);
1432
1433     [propget, id(DISPID_IHTMLSTYLE_FONTWEIGHT), displaybind, bindable]
1434     BSTR fontWeight();
1435
1436     [propput, id(DISPID_IHTMLSTYLE_FONTSIZE), displaybind, bindable]
1437     void fontSize(VARIANT v);
1438
1439     [propget, id(DISPID_IHTMLSTYLE_FONTSIZE), displaybind, bindable]
1440     VARIANT fontSize();
1441
1442     [propput, id(DISPID_IHTMLSTYLE_FONT), displaybind, bindable, nonbrowsable]
1443     void font(BSTR v);
1444
1445     [propget, id(DISPID_IHTMLSTYLE_FONT), displaybind, bindable, nonbrowsable]
1446     BSTR font();
1447
1448     [propput, id(DISPID_IHTMLSTYLE_COLOR), displaybind, bindable]
1449     void color(VARIANT v);
1450
1451     [propget, id(DISPID_IHTMLSTYLE_COLOR), displaybind, bindable]
1452     VARIANT color();
1453
1454     [propput, id(DISPID_IHTMLSTYLE_BACKGROUND), displaybind, bindable, nonbrowsable]
1455     void background(BSTR v);
1456
1457     [propget, id(DISPID_IHTMLSTYLE_BACKGROUND), displaybind, bindable, nonbrowsable]
1458     BSTR background();
1459
1460     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
1461     void backgroundColor(VARIANT v);
1462
1463     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
1464     VARIANT backgroundColor();
1465
1466     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
1467     void backgroundImage(BSTR v);
1468
1469     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
1470     BSTR backgroundImage();
1471
1472     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
1473     void backgroundRepeat(BSTR v);
1474
1475     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
1476     BSTR backgroundRepeat();
1477
1478     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
1479     void backgroundAttachment(BSTR v);
1480
1481     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
1482     BSTR backgroundAttachment();
1483
1484     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), displaybind, bindable, nonbrowsable]
1485     void backgroundPosition(BSTR v);
1486
1487     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), displaybind, bindable, nonbrowsable]
1488     BSTR backgroundPosition();
1489
1490     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
1491     void backgroundPositionX(VARIANT v);
1492
1493     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
1494     VARIANT backgroundPositionX();
1495
1496     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
1497     void backgroundPositionY(VARIANT v);
1498
1499     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
1500     VARIANT backgroundPositionY();
1501
1502     [propput, id(DISPID_IHTMLSTYLE_WORDSPACING), displaybind, bindable]
1503     void wordSpacing(VARIANT v);
1504
1505     [propget, id(DISPID_IHTMLSTYLE_WORDSPACING), displaybind, bindable]
1506     VARIANT wordSpacing();
1507
1508     [propput, id(DISPID_IHTMLSTYLE_LETTERSPACING), displaybind, bindable]
1509     void letterSpacing(VARIANT v);
1510
1511     [propget, id(DISPID_IHTMLSTYLE_LETTERSPACING), displaybind, bindable]
1512     VARIANT letterSpacing();
1513
1514     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATION), displaybind, bindable]
1515     void textDecoration(BSTR v);
1516
1517     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATION), displaybind, bindable]
1518     BSTR textDecoration();
1519
1520     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), displaybind, bindable]
1521     void textDecorationNone(VARIANT_BOOL v);
1522
1523     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), displaybind, bindable]
1524     VARIANT_BOOL textDecorationNone();
1525
1526     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), displaybind, bindable]
1527     void textDecorationUnderline(VARIANT_BOOL v);
1528
1529     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), displaybind, bindable]
1530     VARIANT_BOOL textDecorationUnderline();
1531
1532     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), displaybind, bindable]
1533     void textDecorationOverline(VARIANT_BOOL v);
1534
1535     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), displaybind, bindable]
1536     VARIANT_BOOL textDecorationOverline();
1537
1538     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), displaybind, bindable]
1539     void textDecorationLineThrough(VARIANT_BOOL v);
1540
1541     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), displaybind, bindable]
1542     VARIANT_BOOL textDecorationLineThrough();
1543
1544     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), displaybind, bindable]
1545     void textDecorationBlink(VARIANT_BOOL v);
1546
1547     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), displaybind, bindable]
1548     VARIANT_BOOL textDecorationBlink();
1549
1550     [propput, id(DISPID_IHTMLSTYLE_VERTICALALIGN), displaybind, bindable]
1551     void verticalAlign(VARIANT v);
1552
1553     [propget, id(DISPID_IHTMLSTYLE_VERTICALALIGN), displaybind, bindable]
1554     VARIANT verticalAlign();
1555
1556     [propput, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), displaybind, bindable]
1557     void textTransform(BSTR v);
1558
1559     [propget, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), displaybind, bindable]
1560     BSTR textTransform();
1561
1562     [propput, id(DISPID_IHTMLSTYLE_TEXTALIGN), displaybind, bindable]
1563     void textAlign(BSTR v);
1564
1565     [propget, id(DISPID_IHTMLSTYLE_TEXTALIGN), displaybind, bindable]
1566     BSTR textAlign();
1567
1568     [propput, id(DISPID_IHTMLSTYLE_TEXTINDENT), displaybind, bindable]
1569     void textIndent(VARIANT v);
1570
1571     [propget, id(DISPID_IHTMLSTYLE_TEXTINDENT), displaybind, bindable]
1572     VARIANT textIndent();
1573
1574     [propput, id(DISPID_IHTMLSTYLE_LINEHEIGHT), displaybind, bindable]
1575     void lineHeight(VARIANT v);
1576
1577     [propget, id(DISPID_IHTMLSTYLE_LINEHEIGHT), displaybind, bindable]
1578     VARIANT lineHeight();
1579
1580     [propput, id(DISPID_IHTMLSTYLE_MARGINTOP), displaybind, bindable]
1581     void marginTop(VARIANT v);
1582
1583     [propget, id(DISPID_IHTMLSTYLE_MARGINTOP), displaybind, bindable]
1584     VARIANT marginTop();
1585
1586     [propput, id(DISPID_IHTMLSTYLE_MARGINRIGHT), displaybind, bindable]
1587     void marginRight(VARIANT v);
1588
1589     [propget, id(DISPID_IHTMLSTYLE_MARGINRIGHT), displaybind, bindable]
1590     VARIANT marginRight();
1591
1592     [propput, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), displaybind, bindable]
1593     void marginBottom(VARIANT v);
1594
1595     [propget, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), displaybind, bindable]
1596     VARIANT marginBottom();
1597
1598     [propput, id(DISPID_IHTMLSTYLE_MARGINLEFT), displaybind, bindable]
1599     void marginLeft(VARIANT v);
1600
1601     [propget, id(DISPID_IHTMLSTYLE_MARGINLEFT), displaybind, bindable]
1602     VARIANT marginLeft();
1603
1604     [propput, id(DISPID_IHTMLSTYLE_MARGIN), displaybind, bindable, nonbrowsable]
1605     void margin(BSTR v);
1606
1607     [propget, id(DISPID_IHTMLSTYLE_MARGIN), displaybind, bindable, nonbrowsable]
1608     BSTR margin();
1609
1610     [propput, id(DISPID_IHTMLSTYLE_PADDINGTOP), displaybind, bindable]
1611     void paddingTop(VARIANT v);
1612
1613     [propget, id(DISPID_IHTMLSTYLE_PADDINGTOP), displaybind, bindable]
1614     VARIANT paddingTop();
1615
1616     [propput, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), displaybind, bindable]
1617     void paddingRight(VARIANT v);
1618
1619     [propget, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), displaybind, bindable]
1620     VARIANT paddingRight();
1621
1622     [propput, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), displaybind, bindable]
1623     void paddingBottom(VARIANT v);
1624
1625     [propget, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), displaybind, bindable]
1626     VARIANT paddingBottom();
1627
1628     [propput, id(DISPID_IHTMLSTYLE_PADDINGLEFT), displaybind, bindable]
1629     void paddingLeft(VARIANT v);
1630
1631     [propget, id(DISPID_IHTMLSTYLE_PADDINGLEFT), displaybind, bindable]
1632     VARIANT paddingLeft();
1633
1634     [propput, id(DISPID_IHTMLSTYLE_PADDING), displaybind, bindable, nonbrowsable]
1635     void padding(BSTR v);
1636
1637     [propget, id(DISPID_IHTMLSTYLE_PADDING), displaybind, bindable, nonbrowsable]
1638     BSTR padding();
1639
1640     [propput, id(DISPID_IHTMLSTYLE_BORDER), displaybind, bindable, nonbrowsable]
1641     void border(BSTR v);
1642
1643     [propget, id(DISPID_IHTMLSTYLE_BORDER), displaybind, bindable, nonbrowsable]
1644     BSTR border();
1645
1646     [propput, id(DISPID_IHTMLSTYLE_BORDERTOP), displaybind, bindable]
1647     void borderTop(BSTR v);
1648
1649     [propget, id(DISPID_IHTMLSTYLE_BORDERTOP), displaybind, bindable]
1650     BSTR borderTop();
1651
1652     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHT), displaybind, bindable]
1653     void borderRight(BSTR v);
1654
1655     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHT), displaybind, bindable]
1656     BSTR borderRight();
1657
1658     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), displaybind, bindable]
1659     void borderBottom(BSTR v);
1660
1661     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), displaybind, bindable]
1662     BSTR borderBottom();
1663
1664     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFT), displaybind, bindable]
1665     void borderLeft(BSTR v);
1666
1667     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFT), displaybind, bindable]
1668     BSTR borderLeft();
1669
1670     [propput, id(DISPID_IHTMLSTYLE_BORDERCOLOR), displaybind, bindable]
1671     void borderColor(BSTR v);
1672
1673     [propget, id(DISPID_IHTMLSTYLE_BORDERCOLOR), displaybind, bindable]
1674     BSTR borderColor();
1675
1676     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), displaybind, bindable]
1677     void borderTopColor(VARIANT v);
1678
1679     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), displaybind, bindable]
1680     VARIANT borderTopColor();
1681
1682     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
1683     void borderRightColor(VARIANT v);
1684
1685     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
1686     VARIANT borderRightColor();
1687
1688     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
1689     void borderBottomColor(VARIANT v);
1690
1691     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
1692     VARIANT borderBottomColor();
1693
1694     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
1695     void borderLeftColor(VARIANT v);
1696
1697     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
1698     VARIANT borderLeftColor();
1699
1700     [propput, id(DISPID_IHTMLSTYLE_BORDERWIDTH), displaybind, bindable]
1701     void borderWidth(BSTR v);
1702
1703     [propget, id(DISPID_IHTMLSTYLE_BORDERWIDTH), displaybind, bindable]
1704     BSTR borderWidth();
1705
1706     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), displaybind, bindable]
1707     void borderTopWidth(VARIANT v);
1708
1709     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), displaybind, bindable]
1710     VARIANT borderTopWidth();
1711
1712     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
1713     void borderRightWidth(VARIANT v);
1714
1715     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
1716     VARIANT borderRightWidth();
1717
1718     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
1719     void borderBottomWidth(VARIANT v);
1720
1721     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
1722     VARIANT borderBottomWidth();
1723
1724     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
1725     void borderLeftWidth(VARIANT v);
1726
1727     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
1728     VARIANT borderLeftWidth();
1729
1730     [propput, id(DISPID_IHTMLSTYLE_BORDERSTYLE), displaybind, bindable]
1731     void borderStyle(BSTR v);
1732
1733     [propget, id(DISPID_IHTMLSTYLE_BORDERSTYLE), displaybind, bindable]
1734     BSTR borderStyle();
1735
1736     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), displaybind, bindable]
1737     void borderTopStyle(BSTR v);
1738
1739     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), displaybind, bindable]
1740     BSTR borderTopStyle();
1741
1742     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
1743     void borderRightStyle(BSTR v);
1744
1745     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
1746     BSTR borderRightStyle();
1747
1748     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
1749     void borderBottomStyle(BSTR v);
1750
1751     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
1752     BSTR borderBottomStyle();
1753
1754     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
1755     void borderLeftStyle(BSTR v);
1756
1757     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
1758     BSTR borderLeftStyle();
1759
1760     [propput, id(DISPID_IHTMLSTYLE_WIDTH), displaybind, bindable]
1761     void width(VARIANT v);
1762
1763     [propget, id(DISPID_IHTMLSTYLE_WIDTH), displaybind, bindable]
1764     VARIANT width();
1765
1766     [propput, id(DISPID_IHTMLSTYLE_HEIGHT), displaybind, bindable]
1767     void height(VARIANT v);
1768
1769     [propget, id(DISPID_IHTMLSTYLE_HEIGHT), displaybind, bindable]
1770     VARIANT height();
1771
1772     [propput, id(DISPID_IHTMLSTYLE_STYLEFLOAT), displaybind, bindable]
1773     void styleFloat(BSTR v);
1774
1775     [propget, id(DISPID_IHTMLSTYLE_STYLEFLOAT), displaybind, bindable]
1776     BSTR styleFloat();
1777
1778     [propput, id(DISPID_IHTMLSTYLE_CLEAR), displaybind, bindable]
1779     void clear(BSTR v);
1780
1781     [propget, id(DISPID_IHTMLSTYLE_CLEAR), displaybind, bindable]
1782     BSTR clear();
1783
1784     [propput, id(DISPID_IHTMLSTYLE_DISPLAY), displaybind, bindable]
1785     void display(BSTR v);
1786
1787     [propget, id(DISPID_IHTMLSTYLE_DISPLAY), displaybind, bindable]
1788     BSTR display();
1789
1790     [propput, id(DISPID_IHTMLSTYLE_VISIBILITY), displaybind, bindable]
1791     void visibility(BSTR v);
1792
1793     [propget, id(DISPID_IHTMLSTYLE_VISIBILITY), displaybind, bindable]
1794     BSTR visibility();
1795
1796     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), displaybind, bindable]
1797     void listStyleType(BSTR v);
1798
1799     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), displaybind, bindable]
1800     BSTR listStyleType();
1801
1802     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
1803     void listStylePosition(BSTR v);
1804
1805     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
1806     BSTR listStylePosition();
1807
1808     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
1809     void listStyleImage(BSTR v);
1810
1811     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
1812     BSTR listStyleImage();
1813
1814     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLE), displaybind, bindable, nonbrowsable]
1815     void listStyle(BSTR v);
1816
1817     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLE), displaybind, bindable, nonbrowsable]
1818     BSTR listStyle();
1819
1820     [propput, id(DISPID_IHTMLSTYLE_WHITESPACE), displaybind, bindable]
1821     void whiteSpace(BSTR v);
1822
1823     [propget, id(DISPID_IHTMLSTYLE_WHITESPACE), displaybind, bindable]
1824     BSTR whiteSpace();
1825
1826     [propput, id(DISPID_IHTMLSTYLE_TOP), displaybind, bindable]
1827     void top(VARIANT v);
1828
1829     [propget, id(DISPID_IHTMLSTYLE_TOP), displaybind, bindable]
1830     VARIANT top();
1831
1832     [propput, id(DISPID_IHTMLSTYLE_LEFT), displaybind, bindable]
1833     void left(VARIANT v);
1834
1835     [propget, id(DISPID_IHTMLSTYLE_LEFT), displaybind, bindable]
1836     VARIANT left();
1837
1838     [propput, id(DISPID_IHTMLSTYLE_ZINDEX), displaybind, bindable]
1839     void zIndex(VARIANT v);
1840
1841     [propget, id(DISPID_IHTMLSTYLE_ZINDEX), displaybind, bindable]
1842     VARIANT zIndex();
1843
1844     [propput, id(DISPID_IHTMLSTYLE_OVERFLOW), displaybind, bindable]
1845     void overflow(BSTR v);
1846
1847     [propget, id(DISPID_IHTMLSTYLE_OVERFLOW), displaybind, bindable]
1848     BSTR overflow();
1849
1850     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
1851     void pageBreakBefore(BSTR v);
1852
1853     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
1854     BSTR pageBreakBefore();
1855
1856     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), displaybind, bindable]
1857     void pageBreakAfter(BSTR v);
1858
1859     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), displaybind, bindable]
1860     BSTR pageBreakAfter();
1861
1862     [propput, id(DISPID_IHTMLSTYLE_CSSTEXT), displaybind, bindable, nonbrowsable]
1863     void cssText(BSTR v);
1864
1865     [propget, id(DISPID_IHTMLSTYLE_CSSTEXT), displaybind, bindable, nonbrowsable]
1866     BSTR cssText();
1867
1868     [propput, id(DISPID_IHTMLSTYLE_PIXELTOP), displaybind, bindable, hidden]
1869     void pixelTop(long v);
1870
1871     [propget, id(DISPID_IHTMLSTYLE_PIXELTOP), displaybind, bindable, hidden]
1872     long pixelTop();
1873
1874     [propput, id(DISPID_IHTMLSTYLE_PIXELLEFT), displaybind, bindable, hidden]
1875     void pixelLeft(long v);
1876
1877     [propget, id(DISPID_IHTMLSTYLE_PIXELLEFT), displaybind, bindable, hidden]
1878     long pixelLeft();
1879
1880     [propput, id(DISPID_IHTMLSTYLE_PIXELWIDTH), displaybind, bindable, hidden]
1881     void pixelWidth(long v);
1882
1883     [propget, id(DISPID_IHTMLSTYLE_PIXELWIDTH), displaybind, bindable, hidden]
1884     long pixelWidth();
1885
1886     [propput, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), displaybind, bindable, hidden]
1887     void pixelHeight(long v);
1888
1889     [propget, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), displaybind, bindable, hidden]
1890     long pixelHeight();
1891
1892     [propput, id(DISPID_IHTMLSTYLE_POSTOP), displaybind, bindable]
1893     void posTop(float v);
1894
1895     [propget, id(DISPID_IHTMLSTYLE_POSTOP), displaybind, bindable]
1896     float posTop();
1897
1898     [propput, id(DISPID_IHTMLSTYLE_POSLEFT), displaybind, bindable]
1899     void posLeft(float v);
1900
1901     [propget, id(DISPID_IHTMLSTYLE_POSLEFT), displaybind, bindable]
1902     float posLeft();
1903
1904     [propput, id(DISPID_IHTMLSTYLE_POSWIDTH), displaybind, bindable]
1905     void posWidth(float v);
1906
1907     [propget, id(DISPID_IHTMLSTYLE_POSWIDTH), displaybind, bindable]
1908     float posWidth();
1909
1910     [propput, id(DISPID_IHTMLSTYLE_POSHEIGHT), displaybind, bindable]
1911     void posHeight(float v);
1912
1913     [propget, id(DISPID_IHTMLSTYLE_POSHEIGHT), displaybind, bindable]
1914     float posHeight();
1915
1916     [propput, id(DISPID_IHTMLSTYLE_CURSOR), displaybind, bindable]
1917     void cursor(BSTR v);
1918
1919     [propget, id(DISPID_IHTMLSTYLE_CURSOR), displaybind, bindable]
1920     BSTR cursor();
1921
1922     [propput, id(DISPID_IHTMLSTYLE_CLIP), displaybind, bindable]
1923     void clip(BSTR v);
1924
1925     [propget, id(DISPID_IHTMLSTYLE_CLIP), displaybind, bindable]
1926     BSTR clip();
1927
1928     [propput, id(DISPID_IHTMLSTYLE_FILTER), displaybind, bindable]
1929     void filter(BSTR v);
1930
1931     [propget, id(DISPID_IHTMLSTYLE_FILTER), displaybind, bindable]
1932     BSTR filter();
1933
1934     [id(DISPID_IHTMLSTYLE_SETATTRIBUTE)]
1935     void setAttribute(
1936             [in] BSTR strAttributeName,
1937             [in] VARIANT AttributeValue,
1938             [in, defaultvalue(1)] LONG lFlags);
1939
1940     [id(DISPID_IHTMLSTYLE_GETATTRIBUTE)]
1941     VARIANT getAttribute(
1942             [in] BSTR strAttributeName,
1943             [in, defaultvalue(0)] LONG lFlags);
1944
1945     [id(DISPID_IHTMLSTYLE_REMOVEATTRIBUTE)]
1946     VARIANT_BOOL removeAttribute(
1947             [in] BSTR strAttributeName,
1948             [in, defaultvalue(1)] LONG lFlags);
1949
1950     [id(DISPID_IHTMLSTYLE_TOSTRING)]
1951     BSTR toString();
1952
1953     [propput, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable]
1954     void tableLayout(BSTR v);
1955
1956     [propget, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable]
1957     BSTR tableLayout();
1958
1959     [propput, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable]
1960     void borderCollapse(BSTR v);
1961
1962     [propget, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable]
1963     BSTR borderCollapse();
1964
1965     [propput, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable]
1966     void direction(BSTR v);
1967
1968     [propget, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable]
1969     BSTR direction();
1970
1971     [propput, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable]
1972     void behavior(BSTR v);
1973
1974     [propget, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable]
1975     BSTR behavior();
1976
1977     [id(DISPID_IHTMLSTYLE2_SETEXPRESSION)]
1978     void setExpression(
1979             [in] BSTR propname,
1980             [in] BSTR expression,
1981             [in, defaultvalue("")] BSTR language);
1982
1983     [id(DISPID_IHTMLSTYLE2_GETEXPRESSION)]
1984     VARIANT getExpression([in] BSTR propname);
1985
1986     [id(DISPID_IHTMLSTYLE2_REMOVEEXPRESSION)]
1987     VARIANT_BOOL removeExpression([in] BSTR propname);
1988
1989     [propput, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable]
1990     void position(BSTR v);
1991
1992     [propget, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable]
1993     BSTR position();
1994
1995     [propput, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable]
1996     void unicodeBidi(BSTR v);
1997
1998     [propget, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable]
1999     BSTR unicodeBidi();
2000
2001     [propput, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable]
2002     void bottom(VARIANT v);
2003
2004     [propget, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable]
2005     VARIANT bottom();
2006
2007     [propput, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable]
2008     void right(VARIANT v);
2009
2010     [propget, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable]
2011     VARIANT right();
2012
2013     [propput, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden]
2014     void pixelBottom(long v);
2015
2016     [propget, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden]
2017     long pixelBottom();
2018
2019     [propput, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden]
2020     void pixelRight(long v);
2021
2022     [propget, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden]
2023     long pixelRight();
2024
2025     [propput, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable]
2026     void posBottom(float v);
2027
2028     [propget, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable]
2029     float posBottom();
2030
2031     [propput, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable]
2032     void posRight(float v);
2033
2034     [propget, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable]
2035     float posRight();
2036
2037     [propput, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable]
2038     void imeMode(BSTR v);
2039
2040     [propget, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable]
2041     BSTR imeMode();
2042
2043     [propput, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable]
2044     void rubyAlign(BSTR v);
2045
2046     [propget, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable]
2047     BSTR rubyAlign();
2048
2049     [propput, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable]
2050     void rubyPosition(BSTR v);
2051
2052     [propget, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable]
2053     BSTR rubyPosition();
2054
2055     [propput, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable]
2056     void rubyOverhang(BSTR v);
2057
2058     [propget, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable]
2059     BSTR rubyOverhang();
2060
2061     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable]
2062     void layoutGridChar(VARIANT v);
2063
2064     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable]
2065     VARIANT layoutGridChar();
2066
2067     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable]
2068     void layoutGridLine(VARIANT v);
2069
2070     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable]
2071     VARIANT layoutGridLine();
2072
2073     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable]
2074     void layoutGridMode(BSTR v);
2075
2076     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable]
2077     BSTR layoutGridMode();
2078
2079     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable]
2080     void layoutGridType(BSTR v);
2081
2082     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable]
2083     BSTR layoutGridType();
2084
2085     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable]
2086     void layoutGrid(BSTR v);
2087
2088     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable]
2089     BSTR layoutGrid();
2090
2091     [propput, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable]
2092     void wordBreak(BSTR v);
2093
2094     [propget, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable]
2095     BSTR wordBreak();
2096
2097     [propput, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable]
2098     void lineBreak(BSTR v);
2099
2100     [propget, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable]
2101     BSTR lineBreak();
2102
2103     [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable]
2104     void textJustify(BSTR v);
2105
2106     [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable]
2107     BSTR textJustify();
2108
2109     [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable]
2110     void textJustifyTrim(BSTR v);
2111
2112     [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable]
2113     BSTR textJustifyTrim();
2114
2115     [propput, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable]
2116     void textKashida(VARIANT v);
2117
2118     [propget, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable]
2119     VARIANT textKashida();
2120
2121     [propput, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable]
2122     void textAutospace(BSTR v);
2123
2124     [propget, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable]
2125     BSTR textAutospace();
2126
2127     [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable]
2128     void overflowX(BSTR v);
2129
2130     [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable]
2131     BSTR overflowX();
2132
2133     [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable]
2134     void overflowY(BSTR v);
2135
2136     [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable]
2137     BSTR overflowY();
2138
2139     [propput, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable]
2140     void accelerator(BSTR v);
2141
2142     [propget, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable]
2143     BSTR accelerator();
2144
2145     [propput, id(DISPID_IHTMLSTYLE3_LAYOUTFLOW), displaybind, bindable]
2146     void layoutFlow(BSTR v);
2147
2148     [propget, id(DISPID_IHTMLSTYLE3_LAYOUTFLOW), displaybind, bindable]
2149     BSTR layoutFlow();
2150
2151     [propput, id(DISPID_IHTMLSTYLE3_ZOOM), displaybind, bindable]
2152     void zoom(VARIANT v);
2153
2154     [propget, id(DISPID_IHTMLSTYLE3_ZOOM), displaybind, bindable]
2155     VARIANT zoom();
2156
2157     [propput, id(DISPID_IHTMLSTYLE3_WORDWRAP), displaybind, bindable]
2158     void wordWrap(BSTR v);
2159
2160     [propget, id(DISPID_IHTMLSTYLE3_WORDWRAP), displaybind, bindable]
2161     BSTR wordWrap();
2162
2163     [propput, id(DISPID_IHTMLSTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable]
2164     void textUnderlinePosition(BSTR v);
2165
2166     [propget, id(DISPID_IHTMLSTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable]
2167     BSTR textUnderlinePosition();
2168
2169     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARBASECOLOR), displaybind, bindable]
2170     void scrollbarBaseColor(VARIANT v);
2171
2172     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARBASECOLOR), displaybind, bindable]
2173     VARIANT scrollbarBaseColor();
2174
2175     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARFACECOLOR), displaybind, bindable]
2176     void scrollbarFaceColor(VARIANT v);
2177
2178     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARFACECOLOR), displaybind, bindable]
2179     VARIANT scrollbarFaceColor();
2180
2181     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
2182     void scrollbar3dLightColor(VARIANT v);
2183
2184     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
2185     VARIANT scrollbar3dLightColor();
2186
2187     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable]
2188     void scrollbarShadowColor(VARIANT v);
2189
2190     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable]
2191     VARIANT scrollbarShadowColor();
2192
2193     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
2194     void scrollbarHighlightColor(VARIANT v);
2195
2196     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
2197     VARIANT scrollbarHighlightColor();
2198
2199     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
2200     void scrollbarDarkShadowColor(VARIANT v);
2201
2202     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
2203     VARIANT scrollbarDarkShadowColor();
2204
2205     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable]
2206     void scrollbarArrowColor(VARIANT v);
2207
2208     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable]
2209     VARIANT scrollbarArrowColor();
2210
2211     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable]
2212     void scrollbarTrackColor(VARIANT v);
2213
2214     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable]
2215     VARIANT scrollbarTrackColor();
2216
2217     [propput, id(DISPID_IHTMLSTYLE3_WRITINGMODE), displaybind, bindable]
2218     void writingMode(BSTR v);
2219
2220     [propget, id(DISPID_IHTMLSTYLE3_WRITINGMODE), displaybind, bindable]
2221     BSTR writingMode();
2222
2223     [propput, id(DISPID_IHTMLSTYLE3_TEXTALIGNLAST), displaybind, bindable]
2224     void textAlignLast(BSTR v);
2225
2226     [propget, id(DISPID_IHTMLSTYLE3_TEXTALIGNLAST), displaybind, bindable]
2227     BSTR textAlignLast();
2228
2229     [propput, id(DISPID_IHTMLSTYLE3_TEXTKASHIDASPACE), displaybind, bindable]
2230     void textKashidaSpace(VARIANT v);
2231
2232     [propget, id(DISPID_IHTMLSTYLE3_TEXTKASHIDASPACE), displaybind, bindable]
2233     VARIANT textKashidaSpace();
2234
2235     [propput, id(DISPID_IHTMLSTYLE4_TEXTOVERFLOW), displaybind, bindable]
2236     void textOverflow(BSTR v);
2237
2238     [propget, id(DISPID_IHTMLSTYLE4_TEXTOVERFLOW), displaybind, bindable]
2239     BSTR textOverflow();
2240
2241     [propput, id(DISPID_IHTMLSTYLE4_MINHEIGHT), displaybind, bindable]
2242     void minHeight(VARIANT v);
2243
2244     [propget, id(DISPID_IHTMLSTYLE4_MINHEIGHT), displaybind, bindable]
2245     VARIANT minHeight();
2246 }
2247
2248 /*****************************************************************************
2249  *    IHTMLRenderStyle interface
2250  */
2251 [
2252     odl,
2253     oleautomation,
2254     dual,
2255     uuid(3050f6ae-98b5-11cf-bb82-00aa00bdce0b)
2256 ]
2257 interface IHTMLRenderStyle : IDispatch
2258 {
2259     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTLINETHROUGHSTYLE), displaybind, bindable]
2260     HRESULT textLineThroughStyle([in] BSTR v);
2261
2262     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTLINETHROUGHSTYLE), displaybind, bindable]
2263     HRESULT textLineThroughStyle([retval, out] BSTR *p);
2264
2265     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTUNDERLINESTYLE), displaybind, bindable]
2266     HRESULT textUnderlineStyle([in] BSTR v);
2267
2268     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTUNDERLINESTYLE), displaybind, bindable]
2269     HRESULT textUnderlineStyle([retval, out] BSTR *p);
2270
2271     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTEFFECT), displaybind, bindable]
2272     HRESULT textEffect([in] BSTR v);
2273
2274     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTEFFECT), displaybind, bindable]
2275     HRESULT textEffect([retval, out] BSTR *p);
2276
2277     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTCOLOR), displaybind, bindable]
2278     HRESULT textColor([in] VARIANT v);
2279
2280     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTCOLOR), displaybind, bindable]
2281     HRESULT textColor([retval, out] VARIANT *p);
2282
2283     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTBACKGROUNDCOLOR), displaybind, bindable]
2284     HRESULT textBackgroundColor([in] VARIANT v);
2285
2286     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTBACKGROUNDCOLOR), displaybind, bindable]
2287     HRESULT textBackgroundColor([retval, out] VARIANT *p);
2288
2289     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATIONCOLOR), displaybind, bindable]
2290     HRESULT textDecorationColor([in] VARIANT v);
2291
2292     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATIONCOLOR), displaybind, bindable]
2293     HRESULT textDecorationColor([retval, out] VARIANT *p);
2294
2295     [propput, id(DISPID_IHTMLRENDERSTYLE_RENDERINGPRIORITY), displaybind, bindable]
2296     HRESULT renderingPriority([in] long v);
2297
2298     [propget, id(DISPID_IHTMLRENDERSTYLE_RENDERINGPRIORITY), displaybind, bindable]
2299     HRESULT renderingPriority([retval, out] long *p);
2300
2301     [propput, id(DISPID_IHTMLRENDERSTYLE_DEFAULTTEXTSELECTION), displaybind, bindable]
2302     HRESULT defaultTextSelection([in] BSTR v);
2303
2304     [propget, id(DISPID_IHTMLRENDERSTYLE_DEFAULTTEXTSELECTION), displaybind, bindable]
2305     HRESULT defaultTextSelection([retval, out] BSTR *p);
2306
2307     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATION), displaybind, bindable]
2308     HRESULT textDecoration([in] BSTR v);
2309
2310     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATION), displaybind, bindable]
2311     HRESULT textDecoration([retval, out] BSTR *p);
2312 }
2313
2314 /*****************************************************************************
2315  *    IHTMLCurrentStyle interface
2316  */
2317 [
2318     odl,
2319     oleautomation,
2320     dual,
2321     uuid(3050f3db-98b5-11cf-bb82-00aa00bdce0b)
2322 ]
2323 interface IHTMLCurrentStyle : IDispatch
2324 {
2325     [propget, id(DISPID_IHTMLCURRENTSTYLE_POSITION), displaybind, bindable]
2326     HRESULT position([retval, out] BSTR *p);
2327
2328     [propget, id(DISPID_IHTMLCURRENTSTYLE_STYLEFLOAT), displaybind, bindable]
2329     HRESULT styleFloat([retval, out] BSTR *p);
2330
2331     [propget, id(DISPID_IHTMLCURRENTSTYLE_COLOR), displaybind, bindable]
2332     HRESULT color([retval, out] VARIANT *p);
2333
2334     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
2335     HRESULT backgroundColor([retval, out] VARIANT *p);
2336
2337     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTFAMILY), displaybind, bindable]
2338     HRESULT fontFamily([retval, out] BSTR *p);
2339
2340     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSTYLE), displaybind, bindable]
2341     HRESULT fontStyle([retval, out] BSTR *p);
2342
2343     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTVARIANT), displaybind, bindable, hidden]
2344     HRESULT fontVariant([retval, out] BSTR *p);
2345
2346     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTWEIGHT), displaybind, bindable]
2347     HRESULT fontWeight([retval, out] VARIANT *p);
2348
2349     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSIZE), displaybind, bindable]
2350     HRESULT fontSize([retval, out] VARIANT *p);
2351
2352     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
2353     HRESULT backgroundImage([retval, out] BSTR *p);
2354
2355     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
2356     HRESULT backgroundPositionX([retval, out] VARIANT *p);
2357
2358     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
2359     HRESULT backgroundPositionY([retval, out] VARIANT *p);
2360
2361     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
2362     HRESULT backgroundRepeat([retval, out] BSTR *p);
2363
2364     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
2365     HRESULT borderLeftColor([retval, out] VARIANT *p);
2366
2367     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPCOLOR), displaybind, bindable]
2368     HRESULT borderTopColor([retval, out] VARIANT *p);
2369
2370     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
2371     HRESULT borderRightColor([retval, out] VARIANT *p);
2372
2373     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
2374     HRESULT borderBottomColor([retval, out] VARIANT *p);
2375
2376     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPSTYLE), displaybind, bindable]
2377     HRESULT borderTopStyle([retval, out] BSTR *p);
2378
2379     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
2380     HRESULT borderRightStyle([retval, out] BSTR *p);
2381
2382     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
2383     HRESULT borderBottomStyle([retval, out] BSTR *p);
2384
2385     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
2386     HRESULT borderLeftStyle([retval, out] BSTR *p);
2387
2388     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPWIDTH), displaybind, bindable]
2389     HRESULT borderTopWidth([retval, out] VARIANT *p);
2390
2391     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
2392     HRESULT borderRightWidth([retval, out] VARIANT *p);
2393
2394     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
2395     HRESULT borderBottomWidth([retval, out] VARIANT *p);
2396
2397     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
2398     HRESULT borderLeftWidth([retval, out] VARIANT *p);
2399
2400     [propget, id(DISPID_IHTMLCURRENTSTYLE_LEFT), displaybind, bindable]
2401     HRESULT left([retval, out] VARIANT *p);
2402
2403     [propget, id(DISPID_IHTMLCURRENTSTYLE_TOP), displaybind, bindable]
2404     HRESULT top([retval, out] VARIANT *p);
2405
2406     [propget, id(DISPID_IHTMLCURRENTSTYLE_WIDTH), displaybind, bindable]
2407     HRESULT width([retval, out] VARIANT *p);
2408
2409     [propget, id(DISPID_IHTMLCURRENTSTYLE_HEIGHT), displaybind, bindable]
2410     HRESULT height([retval, out] VARIANT *p);
2411
2412     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGLEFT), displaybind, bindable]
2413     HRESULT paddingLeft([retval, out] VARIANT *p);
2414
2415     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGTOP), displaybind, bindable]
2416     HRESULT paddingTop([retval, out] VARIANT *p);
2417
2418     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGRIGHT), displaybind, bindable]
2419     HRESULT paddingRight([retval, out] VARIANT *p);
2420
2421     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGBOTTOM), displaybind, bindable]
2422     HRESULT paddingBottom([retval, out] VARIANT *p);
2423
2424     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTALIGN), displaybind, bindable]
2425     HRESULT textAlign([retval, out] BSTR *p);
2426
2427     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTDECORATION), displaybind, bindable]
2428     HRESULT textDecoration([retval, out] BSTR *p);
2429
2430     [propget, id(DISPID_IHTMLCURRENTSTYLE_DISPLAY), displaybind, bindable]
2431     HRESULT display([retval, out] BSTR *p);
2432
2433     [propget, id(DISPID_IHTMLCURRENTSTYLE_VISIBILITY), displaybind, bindable]
2434     HRESULT visibility([retval, out] BSTR *p);
2435
2436     [propget, id(DISPID_IHTMLCURRENTSTYLE_ZINDEX), displaybind, bindable]
2437     HRESULT zIndex([retval, out] VARIANT *p);
2438
2439     [propget, id(DISPID_IHTMLCURRENTSTYLE_LETTERSPACING), displaybind, bindable]
2440     HRESULT letterSpacing([retval, out] VARIANT *p);
2441
2442     [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEHEIGHT), displaybind, bindable]
2443     HRESULT lineHeight([retval, out] VARIANT *p);
2444
2445     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTINDENT), displaybind, bindable]
2446     HRESULT textIndent([retval, out] VARIANT *p);
2447
2448     [propget, id(DISPID_IHTMLCURRENTSTYLE_VERTICALALIGN), displaybind, bindable]
2449     HRESULT verticalAlign([retval, out] VARIANT *p);
2450
2451     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
2452     HRESULT backgroundAttachment([retval, out] BSTR *p);
2453
2454     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINTOP), displaybind, bindable]
2455     HRESULT marginTop([retval, out] VARIANT *p);
2456
2457     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINRIGHT), displaybind, bindable]
2458     HRESULT marginRight([retval, out] VARIANT *p);
2459
2460     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINBOTTOM), displaybind, bindable]
2461     HRESULT marginBottom([retval, out] VARIANT *p);
2462
2463     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINLEFT), displaybind, bindable]
2464     HRESULT marginLeft([retval, out] VARIANT *p);
2465
2466     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLEAR), displaybind, bindable]
2467     HRESULT clear([retval, out] BSTR *p);
2468
2469     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLETYPE), displaybind, bindable]
2470     HRESULT listStyleType([retval, out] BSTR *p);
2471
2472     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
2473     HRESULT listStylePosition([retval, out] BSTR *p);
2474
2475     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
2476     HRESULT listStyleImage([retval, out] BSTR *p);
2477
2478     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPTOP), displaybind, bindable]
2479     HRESULT clipTop([retval, out] VARIANT *p);
2480
2481     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPRIGHT), displaybind, bindable]
2482     HRESULT clipRight([retval, out] VARIANT *p);
2483
2484     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPBOTTOM), displaybind, bindable]
2485     HRESULT clipBottom([retval, out] VARIANT *p);
2486
2487     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPLEFT), displaybind, bindable]
2488     HRESULT clipLeft([retval, out] VARIANT *p);
2489
2490     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOW), displaybind, bindable]
2491     HRESULT overflow([retval, out] BSTR *p);
2492
2493     [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
2494     HRESULT pageBreakBefore([retval, out] BSTR *p);
2495
2496     [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKAFTER), displaybind, bindable]
2497     HRESULT pageBreakAfter([retval, out] BSTR *p);
2498
2499     [propget, id(DISPID_IHTMLCURRENTSTYLE_CURSOR), displaybind, bindable]
2500     HRESULT cursor([retval, out] BSTR *p);
2501
2502     [propget, id(DISPID_IHTMLCURRENTSTYLE_TABLELAYOUT), displaybind, bindable]
2503     HRESULT tableLayout([retval, out] BSTR *p);
2504
2505     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLLAPSE), displaybind, bindable]
2506     HRESULT borderCollapse([retval, out] BSTR *p);
2507
2508     [propget, id(DISPID_IHTMLCURRENTSTYLE_DIRECTION), displaybind, bindable]
2509     HRESULT direction([retval, out] BSTR *p);
2510
2511     [propget, id(DISPID_IHTMLCURRENTSTYLE_BEHAVIOR), displaybind, bindable]
2512     HRESULT behavior([retval, out] BSTR *p);
2513
2514     [id(DISPID_IHTMLCURRENTSTYLE_GETATTRIBUTE)]
2515     HRESULT getAttribute(
2516         [in] BSTR strAttributeName,
2517         [defaultvalue(0), in] LONG lFlags,
2518         [retval, out] VARIANT *AttributeValue);
2519
2520     [propget, id(DISPID_IHTMLCURRENTSTYLE_UNICODEBIDI), displaybind, bindable]
2521     HRESULT unicodeBidi([retval, out] BSTR *p);
2522
2523     [propget, id(DISPID_IHTMLCURRENTSTYLE_RIGHT), displaybind, bindable]
2524     HRESULT right([retval, out] VARIANT *p);
2525
2526     [propget, id(DISPID_IHTMLCURRENTSTYLE_BOTTOM), displaybind, bindable]
2527     HRESULT bottom([retval, out] VARIANT *p);
2528
2529     [propget, id(DISPID_IHTMLCURRENTSTYLE_IMEMODE), displaybind, bindable]
2530     HRESULT imeMode([retval, out] BSTR *p);
2531
2532     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYALIGN), displaybind, bindable]
2533     HRESULT rubyAlign([retval, out] BSTR *p);
2534
2535     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYPOSITION), displaybind, bindable]
2536     HRESULT rubyPosition([retval, out] BSTR *p);
2537
2538     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYOVERHANG), displaybind, bindable]
2539     HRESULT rubyOverhang([retval, out] BSTR *p);
2540
2541     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTAUTOSPACE), displaybind, bindable]
2542     HRESULT textAutospace([retval, out] BSTR *p);
2543
2544     [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEBREAK), displaybind, bindable]
2545     HRESULT lineBreak([retval, out] BSTR *p);
2546
2547     [propget, id(DISPID_IHTMLCURRENTSTYLE_WORDBREAK), displaybind, bindable]
2548     HRESULT wordBreak([retval, out] BSTR *p);
2549
2550     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFY), displaybind, bindable]
2551     HRESULT textJustify([retval, out] BSTR *p);
2552
2553     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFYTRIM), displaybind, bindable]
2554     HRESULT textJustifyTrim([retval, out] BSTR *p);
2555
2556     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTKASHIDA), displaybind, bindable]
2557     HRESULT textKashida([retval, out] VARIANT *p);
2558
2559     [propget, id(DISPID_IHTMLCURRENTSTYLE_BLOCKDIRECTION), displaybind, bindable]
2560     HRESULT blockDirection([retval, out] BSTR *p);
2561
2562     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDCHAR), displaybind, bindable]
2563     HRESULT layoutGridChar([retval, out] VARIANT *p);
2564
2565     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDLINE), displaybind, bindable]
2566     HRESULT layoutGridLine([retval, out] VARIANT *p);
2567
2568     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDMODE), displaybind, bindable]
2569     HRESULT layoutGridMode([retval, out] BSTR *p);
2570
2571     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDTYPE), displaybind, bindable]
2572     HRESULT layoutGridType([retval, out] BSTR *p);
2573
2574     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERSTYLE), displaybind, bindable]
2575     HRESULT borderStyle([retval, out] BSTR *p);
2576
2577     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLOR), displaybind, bindable]
2578     HRESULT borderColor([retval, out] BSTR *p);
2579
2580     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERWIDTH), displaybind, bindable]
2581     HRESULT borderWidth([retval, out] BSTR *p);
2582
2583     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDING), displaybind, bindable]
2584     HRESULT padding([retval, out] BSTR *p);
2585
2586     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGIN), displaybind, bindable]
2587     HRESULT margin([retval, out] BSTR *p);
2588
2589     [propget, id(DISPID_IHTMLCURRENTSTYLE_ACCELERATOR), displaybind, bindable]
2590     HRESULT accelerator([retval, out] BSTR *p);
2591
2592     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWX), displaybind, bindable]
2593     HRESULT overflowX([retval, out] BSTR *p);
2594
2595     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWY), displaybind, bindable]
2596     HRESULT overflowY([retval, out] BSTR *p);
2597
2598     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTTRANSFORM), displaybind, bindable]
2599     HRESULT textTransform([retval, out] BSTR *p);
2600 }
2601
2602 /*****************************************************************************
2603  *    DispHTMLCurrentStyle dispinterface
2604  */
2605 [
2606     hidden,
2607     uuid(3050f557-98b5-11cf-bb82-00aa00bdce0b)
2608 ]
2609 dispinterface DispHTMLCurrentStyle
2610 {
2611 properties:
2612 methods:
2613     [propget, id(DISPID_IHTMLCURRENTSTYLE_POSITION), displaybind, bindable]
2614     BSTR position();
2615
2616     [propget, id(DISPID_IHTMLCURRENTSTYLE_STYLEFLOAT), displaybind, bindable]
2617     BSTR styleFloat();
2618
2619     [propget, id(DISPID_IHTMLCURRENTSTYLE_COLOR), displaybind, bindable]
2620     VARIANT color();
2621
2622     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
2623     VARIANT backgroundColor();
2624
2625     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTFAMILY), displaybind, bindable]
2626     BSTR fontFamily();
2627
2628     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSTYLE), displaybind, bindable]
2629     BSTR fontStyle();
2630
2631     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTVARIANT), displaybind, bindable, hidden]
2632     BSTR fontVariant();
2633
2634     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTWEIGHT), displaybind, bindable]
2635     VARIANT fontWeight();
2636
2637     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSIZE), displaybind, bindable]
2638     VARIANT fontSize();
2639
2640     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
2641     BSTR backgroundImage();
2642
2643     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
2644     VARIANT backgroundPositionX();
2645
2646     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
2647     VARIANT backgroundPositionY();
2648
2649     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
2650     BSTR backgroundRepeat();
2651
2652     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
2653     VARIANT borderLeftColor();
2654
2655     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPCOLOR), displaybind, bindable]
2656     VARIANT borderTopColor();
2657
2658     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
2659     VARIANT borderRightColor();
2660
2661     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
2662     VARIANT borderBottomColor();
2663
2664     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPSTYLE), displaybind, bindable]
2665     BSTR borderTopStyle();
2666
2667     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
2668     BSTR borderRightStyle();
2669
2670     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
2671     BSTR borderBottomStyle();
2672
2673     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
2674     BSTR borderLeftStyle();
2675
2676     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPWIDTH), displaybind, bindable]
2677     VARIANT borderTopWidth();
2678
2679     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
2680     VARIANT borderRightWidth();
2681
2682     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
2683     VARIANT borderBottomWidth();
2684
2685     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
2686     VARIANT borderLeftWidth();
2687
2688     [propget, id(DISPID_IHTMLCURRENTSTYLE_LEFT), displaybind, bindable]
2689     VARIANT left();
2690
2691     [propget, id(DISPID_IHTMLCURRENTSTYLE_TOP), displaybind, bindable]
2692     VARIANT top();
2693
2694     [propget, id(DISPID_IHTMLCURRENTSTYLE_WIDTH), displaybind, bindable]
2695     VARIANT width();
2696
2697     [propget, id(DISPID_IHTMLCURRENTSTYLE_HEIGHT), displaybind, bindable]
2698     VARIANT height();
2699
2700     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGLEFT), displaybind, bindable]
2701     VARIANT paddingLeft();
2702
2703     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGTOP), displaybind, bindable]
2704     VARIANT paddingTop();
2705
2706     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGRIGHT), displaybind, bindable]
2707     VARIANT paddingRight();
2708
2709     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGBOTTOM), displaybind, bindable]
2710     VARIANT paddingBottom();
2711
2712     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTALIGN), displaybind, bindable]
2713     BSTR textAlign();
2714
2715     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTDECORATION), displaybind, bindable]
2716     BSTR textDecoration();
2717
2718     [propget, id(DISPID_IHTMLCURRENTSTYLE_DISPLAY), displaybind, bindable]
2719     BSTR display();
2720
2721     [propget, id(DISPID_IHTMLCURRENTSTYLE_VISIBILITY), displaybind, bindable]
2722     BSTR visibility();
2723
2724     [propget, id(DISPID_IHTMLCURRENTSTYLE_ZINDEX), displaybind, bindable]
2725     VARIANT zIndex();
2726
2727     [propget, id(DISPID_IHTMLCURRENTSTYLE_LETTERSPACING), displaybind, bindable]
2728     VARIANT letterSpacing();
2729
2730     [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEHEIGHT), displaybind, bindable]
2731     VARIANT lineHeight();
2732
2733     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTINDENT), displaybind, bindable]
2734     VARIANT textIndent();
2735
2736     [propget, id(DISPID_IHTMLCURRENTSTYLE_VERTICALALIGN), displaybind, bindable]
2737     VARIANT verticalAlign();
2738
2739     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
2740     BSTR backgroundAttachment();
2741
2742     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINTOP), displaybind, bindable]
2743     VARIANT marginTop();
2744
2745     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINRIGHT), displaybind, bindable]
2746     VARIANT marginRight();
2747
2748     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINBOTTOM), displaybind, bindable]
2749     VARIANT marginBottom();
2750
2751     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINLEFT), displaybind, bindable]
2752     VARIANT marginLeft();
2753
2754     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLEAR), displaybind, bindable]
2755     BSTR clear();
2756
2757     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLETYPE), displaybind, bindable]
2758     BSTR listStyleType();
2759
2760     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
2761     BSTR listStylePosition();
2762
2763     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
2764     BSTR listStyleImage();
2765
2766     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPTOP), displaybind, bindable]
2767     VARIANT clipTop();
2768
2769     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPRIGHT), displaybind, bindable]
2770     VARIANT clipRight();
2771
2772     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPBOTTOM), displaybind, bindable]
2773     VARIANT clipBottom();
2774
2775     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPLEFT), displaybind, bindable]
2776     VARIANT clipLeft();
2777
2778     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOW), displaybind, bindable]
2779     BSTR overflow();
2780
2781     [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
2782     BSTR pageBreakBefore();
2783
2784     [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKAFTER), displaybind, bindable]
2785     BSTR pageBreakAfter();
2786
2787     [propget, id(DISPID_IHTMLCURRENTSTYLE_CURSOR), displaybind, bindable]
2788     BSTR cursor();
2789
2790     [propget, id(DISPID_IHTMLCURRENTSTYLE_TABLELAYOUT), displaybind, bindable]
2791     BSTR tableLayout();
2792
2793     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLLAPSE), displaybind, bindable]
2794     BSTR borderCollapse();
2795
2796     [propget, id(DISPID_IHTMLCURRENTSTYLE_DIRECTION), displaybind, bindable]
2797     BSTR direction();
2798
2799     [propget, id(DISPID_IHTMLCURRENTSTYLE_BEHAVIOR), displaybind, bindable]
2800     BSTR behavior();
2801
2802     [id(DISPID_IHTMLCURRENTSTYLE_GETATTRIBUTE)]
2803     VARIANT getAttribute(
2804             [in] BSTR strAttributeName,
2805             [in, defaultvalue(0)] LONG lFlags);
2806
2807     [propget, id(DISPID_IHTMLCURRENTSTYLE_UNICODEBIDI), displaybind, bindable]
2808     BSTR unicodeBidi();
2809
2810     [propget, id(DISPID_IHTMLCURRENTSTYLE_RIGHT), displaybind, bindable]
2811     VARIANT right();
2812
2813     [propget, id(DISPID_IHTMLCURRENTSTYLE_BOTTOM), displaybind, bindable]
2814     VARIANT bottom();
2815
2816     [propget, id(DISPID_IHTMLCURRENTSTYLE_IMEMODE), displaybind, bindable]
2817     BSTR imeMode();
2818
2819     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYALIGN), displaybind, bindable]
2820     BSTR rubyAlign();
2821
2822     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYPOSITION), displaybind, bindable]
2823     BSTR rubyPosition();
2824
2825     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYOVERHANG), displaybind, bindable]
2826     BSTR rubyOverhang();
2827
2828     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTAUTOSPACE), displaybind, bindable]
2829     BSTR textAutospace();
2830
2831     [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEBREAK), displaybind, bindable]
2832     BSTR lineBreak();
2833
2834     [propget, id(DISPID_IHTMLCURRENTSTYLE_WORDBREAK), displaybind, bindable]
2835     BSTR wordBreak();
2836
2837     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFY), displaybind, bindable]
2838     BSTR textJustify();
2839
2840     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFYTRIM), displaybind, bindable]
2841     BSTR textJustifyTrim();
2842
2843     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTKASHIDA), displaybind, bindable]
2844     VARIANT textKashida();
2845
2846     [propget, id(DISPID_IHTMLCURRENTSTYLE_BLOCKDIRECTION), displaybind, bindable]
2847     BSTR blockDirection();
2848
2849     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDCHAR), displaybind, bindable]
2850     VARIANT layoutGridChar();
2851
2852     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDLINE), displaybind, bindable]
2853     VARIANT layoutGridLine();
2854
2855     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDMODE), displaybind, bindable]
2856     BSTR layoutGridMode();
2857
2858     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDTYPE), displaybind, bindable]
2859     BSTR layoutGridType();
2860
2861     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERSTYLE), displaybind, bindable]
2862     BSTR borderStyle();
2863
2864     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLOR), displaybind, bindable]
2865     BSTR borderColor();
2866
2867     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERWIDTH), displaybind, bindable]
2868     BSTR borderWidth();
2869
2870     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDING), displaybind, bindable]
2871     BSTR padding();
2872
2873     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGIN), displaybind, bindable]
2874     BSTR margin();
2875
2876     [propget, id(DISPID_IHTMLCURRENTSTYLE_ACCELERATOR), displaybind, bindable]
2877     BSTR accelerator();
2878
2879     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWX), displaybind, bindable]
2880     BSTR overflowX();
2881
2882     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWY), displaybind, bindable]
2883     BSTR overflowY();
2884
2885     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTTRANSFORM), displaybind, bindable]
2886     BSTR textTransform();
2887
2888     [propget, id(DISPID_IHTMLCURRENTSTYLE2_LAYOUTFLOW), displaybind, bindable]
2889     BSTR layoutFlow();
2890
2891     [propget, id(DISPID_IHTMLCURRENTSTYLE2_WORDWRAP), displaybind, bindable]
2892     BSTR wordWrap();
2893
2894     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTUNDERLINEPOSITION), displaybind, bindable]
2895     BSTR textUnderlinePosition();
2896
2897     [propget, id(DISPID_IHTMLCURRENTSTYLE2_HASLAYOUT), displaybind, bindable]
2898     VARIANT_BOOL hasLayout();
2899
2900     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARBASECOLOR), displaybind, bindable]
2901     VARIANT scrollbarBaseColor();
2902
2903     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARFACECOLOR), displaybind, bindable]
2904     VARIANT scrollbarFaceColor();
2905
2906     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
2907     VARIANT scrollbar3dLightColor();
2908
2909     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARSHADOWCOLOR), displaybind, bindable]
2910     VARIANT scrollbarShadowColor();
2911
2912     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
2913     VARIANT scrollbarHighlightColor();
2914
2915     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
2916     VARIANT scrollbarDarkShadowColor();
2917
2918     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARARROWCOLOR), displaybind, bindable]
2919     VARIANT scrollbarArrowColor();
2920
2921     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARTRACKCOLOR), displaybind, bindable]
2922     VARIANT scrollbarTrackColor();
2923
2924     [propget, id(DISPID_IHTMLCURRENTSTYLE2_WRITINGMODE), displaybind, bindable]
2925     BSTR writingMode();
2926
2927     [propget, id(DISPID_IHTMLCURRENTSTYLE2_ZOOM), displaybind, bindable]
2928     VARIANT zoom();
2929
2930     [propget, id(DISPID_IHTMLCURRENTSTYLE2_FILTER), displaybind, bindable]
2931     BSTR filter();
2932
2933     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTALIGNLAST), displaybind, bindable]
2934     BSTR textAlignLast();
2935
2936     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTKASHIDASPACE), displaybind, bindable]
2937     VARIANT textKashidaSpace();
2938
2939     [propget, id(DISPID_IHTMLCURRENTSTYLE2_ISBLOCK), displaybind, bindable, hidden, restricted, nonbrowsable]
2940     VARIANT_BOOL isBlock();
2941
2942     [propget, id(DISPID_IHTMLCURRENTSTYLE3_TEXTOVERFLOW), displaybind, bindable]
2943     BSTR textOverflow();
2944
2945     [propget, id(DISPID_IHTMLCURRENTSTYLE3_MINHEIGHT), displaybind, bindable]
2946     VARIANT minHeight();
2947
2948     [propget, id(DISPID_IHTMLCURRENTSTYLE3_WORDSPACING), displaybind, bindable]
2949     VARIANT wordSpacing();
2950
2951     [propget, id(DISPID_IHTMLCURRENTSTYLE3_WHITESPACE), displaybind, bindable]
2952     BSTR whiteSpace();
2953 }
2954
2955 /*****************************************************************************
2956  *    IHTMLRect interface
2957  */
2958 [
2959     odl,
2960     oleautomation,
2961     dual,
2962     uuid(3050f4a3-98b5-11cf-bb82-00aa00bdce0b)
2963 ]
2964 interface IHTMLRect : IDispatch
2965 {
2966     [propput, id(DISPID_IHTMLRECT_LEFT)]
2967     HRESULT left([in] long v);
2968
2969     [propget, id(DISPID_IHTMLRECT_LEFT)]
2970     HRESULT left([retval, out] long *p);
2971
2972     [propput, id(DISPID_IHTMLRECT_TOP)]
2973     HRESULT top([in] long v);
2974
2975     [propget, id(DISPID_IHTMLRECT_TOP)]
2976     HRESULT top([retval, out] long *p);
2977
2978     [propput, id(DISPID_IHTMLRECT_RIGHT)]
2979     HRESULT right([in] long v);
2980
2981     [propget, id(DISPID_IHTMLRECT_RIGHT)]
2982     HRESULT right([retval, out] long *p);
2983
2984     [propput, id(DISPID_IHTMLRECT_BOTTOM)]
2985     HRESULT bottom([in] long v);
2986
2987     [propget, id(DISPID_IHTMLRECT_BOTTOM)]
2988     HRESULT bottom([retval, out] long *p);
2989 }
2990
2991 /*****************************************************************************
2992  *    IHTMLRectCollection interface
2993  */
2994 [
2995     odl,
2996     oleautomation,
2997     dual,
2998     uuid(3050f4a4-98b5-11cf-bb82-00aa00bdce0b)
2999 ]
3000 interface IHTMLRectCollection : IDispatch
3001 {
3002     [propget, id(DISPID_IHTMLRECTCOLLECTION_LENGTH)]
3003     HRESULT length([retval, out] long *p);
3004
3005     [propget, id(DISPID_IHTMLRECTCOLLECTION__NEWENUM), hidden, restricted]
3006     HRESULT _newEnum([retval, out] IUnknown **p);
3007
3008     [id(DISPID_IHTMLRECTCOLLECTION_ITEM)]
3009     HRESULT item(
3010         [in] VARIANT *pvarIndex,
3011         [retval, out] VARIANT *pvarResult);
3012 }
3013
3014 /*****************************************************************************
3015  *    IHTMLDOMNode interface
3016  */
3017 [
3018     odl,
3019     oleautomation,
3020     dual,
3021     uuid(3050f5da-98b5-11cf-bb82-00aa00bdce0b)
3022 ]
3023 interface IHTMLDOMNode : IDispatch
3024 {
3025     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
3026     HRESULT nodeType([retval, out] long *p);
3027
3028     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
3029     HRESULT parentNode([retval, out] IHTMLDOMNode **p);
3030
3031     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
3032     HRESULT hasChildNodes([retval, out] VARIANT_BOOL *fChildren);
3033
3034     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
3035     HRESULT childNodes([retval, out] IDispatch **p);
3036
3037     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
3038     HRESULT attributes([retval, out] IDispatch **p);
3039
3040     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
3041     HRESULT insertBefore(
3042         [in] IHTMLDOMNode *newChild,
3043         [optional, in] VARIANT refChild,
3044         [retval, out] IHTMLDOMNode **node);
3045
3046     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
3047     HRESULT removeChild(
3048         [in] IHTMLDOMNode *oldChild,
3049         [retval, out] IHTMLDOMNode **node);
3050
3051     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
3052     HRESULT replaceChild(
3053         [in] IHTMLDOMNode *newChild,
3054         [in] IHTMLDOMNode *oldChild,
3055         [retval, out] IHTMLDOMNode **node);
3056
3057     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
3058     HRESULT cloneNode(
3059         [in] VARIANT_BOOL fDeep,
3060         [retval, out] IHTMLDOMNode **clonedNode);
3061
3062     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
3063     HRESULT removeNode(
3064         [defaultvalue(0), in] VARIANT_BOOL fDeep,
3065         [retval, out] IHTMLDOMNode **removed);
3066
3067     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
3068     HRESULT swapNode(
3069         [in] IHTMLDOMNode *otherNode,
3070         [retval, out] IHTMLDOMNode **swappedNode);
3071
3072     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
3073     HRESULT replaceNode(
3074         [in] IHTMLDOMNode *replacement,
3075         [retval, out] IHTMLDOMNode **replaced);
3076
3077     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
3078     HRESULT appendChild(
3079         [in] IHTMLDOMNode *newChild,
3080         [retval, out] IHTMLDOMNode **node);
3081
3082     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
3083     HRESULT nodeName([retval, out] BSTR *p);
3084
3085     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
3086     HRESULT nodeValue([in] VARIANT v);
3087
3088     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
3089     HRESULT nodeValue([retval, out] VARIANT *p);
3090
3091     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
3092     HRESULT firstChild([retval, out] IHTMLDOMNode **p);
3093
3094     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
3095     HRESULT lastChild([retval, out] IHTMLDOMNode **p);
3096
3097     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
3098     HRESULT previousSibling([retval, out] IHTMLDOMNode **p);
3099
3100     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
3101     HRESULT nextSibling([retval, out] IHTMLDOMNode **p);
3102 }
3103
3104 /*****************************************************************************
3105  *    IHTMLDOMNode2 interface
3106  */
3107 [
3108     odl,
3109     oleautomation,
3110     dual,
3111     uuid(3050f80b-98b5-11cf-bb82-00aa00bdce0b)
3112 ]
3113 interface IHTMLDOMNode2 : IDispatch
3114 {
3115     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
3116     HRESULT ownerDocument([retval, out] IDispatch **p);
3117 }
3118
3119 /*****************************************************************************
3120  *    IHTMLDOMAttribute interface
3121  */
3122 [
3123     odl,
3124     oleautomation,
3125     dual,
3126     uuid(3050f4b0-98b5-11cf-bb82-00aa00bdce0b)
3127 ]
3128 interface IHTMLDOMAttribute : IDispatch
3129 {
3130     [propget, id(DISPID_IHTMLDOMATTRIBUTE_NODENAME)]
3131     HRESULT nodeName([retval, out] BSTR *p);
3132
3133     [propput, id(DISPID_IHTMLDOMATTRIBUTE_NODEVALUE)]
3134     HRESULT nodeValue([in] VARIANT v);
3135
3136     [propget, id(DISPID_IHTMLDOMATTRIBUTE_NODEVALUE)]
3137     HRESULT nodeValue([retval, out] VARIANT *p);
3138
3139     [propget, id(DISPID_IHTMLDOMATTRIBUTE_SPECIFIED)]
3140     HRESULT specified([retval, out] VARIANT_BOOL *p);
3141 }
3142
3143 /*****************************************************************************
3144  *    IHTMLDOMTextNode interface
3145  */
3146 [
3147     odl,
3148     oleautomation,
3149     dual,
3150     uuid(3050f4b1-98b5-11cf-bb82-00aa00bdce0b)
3151 ]
3152 interface IHTMLDOMTextNode : IDispatch
3153 {
3154     [propput, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
3155     HRESULT data([in] BSTR v);
3156
3157     [propget, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
3158     HRESULT data([out, retval] BSTR *p);
3159
3160     [id(DISPID_IHTMLDOMTEXTNODE_TOSTRING)]
3161     HRESULT toString([out, retval] BSTR *String);
3162
3163     [propget, id(DISPID_IHTMLDOMTEXTNODE_LENGTH)]
3164     HRESULT length([out, retval] long *p);
3165
3166     [id(DISPID_IHTMLDOMTEXTNODE_SPLITTEXT)]
3167     HRESULT splitText(
3168             [in] long offset,
3169             [out, retval] IHTMLDOMNode **pRetNode);
3170 }
3171
3172 /*****************************************************************************
3173  *    IHTMLDOMImplementation interface
3174  */
3175 [
3176     odl,
3177     oleautomation,
3178     dual,
3179     uuid(3050f80d-98b5-11cf-bb82-00aa00bdce0b)
3180 ]
3181 interface IHTMLDOMImplementation : IDispatch
3182 {
3183     [id(DISPID_IHTMLDOMIMPLEMENTATION_HASFEATURE)]
3184     HRESULT hasFeature(
3185         [in] BSTR bstrfeature,
3186         [optional, in] VARIANT version,
3187         [retval, out] VARIANT_BOOL *pfHasFeature);
3188 }
3189
3190 /*****************************************************************************
3191  *    DispHTMLDOMTextNode dispinterface
3192  */
3193 [
3194     hidden,
3195     uuid(3050f565-98b5-11cf-bb82-00aa00bdce0b)
3196 ]
3197 dispinterface DispHTMLDOMTextNode
3198 {
3199 properties:
3200 methods:
3201     [propput, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
3202     void data(BSTR v);
3203
3204     [propget, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
3205     BSTR data();
3206
3207     [id(DISPID_IHTMLDOMTEXTNODE_TOSTRING)]
3208     BSTR toString();
3209
3210     [propget, id(DISPID_IHTMLDOMTEXTNODE_LENGTH)]
3211     long length();
3212
3213     [id(DISPID_IHTMLDOMTEXTNODE_SPLITTEXT)]
3214     IHTMLDOMNode *splitText([in] long offset);
3215
3216     [id(DISPID_IHTMLDOMTEXTNODE2_SUBSTRINGDATA)]
3217     BSTR substringData(
3218             [in] long offset,
3219             [in] long Count);
3220
3221     [id(DISPID_IHTMLDOMTEXTNODE2_APPENDDATA)]
3222     void appendData([in] BSTR bstrstring);
3223
3224     [id(DISPID_IHTMLDOMTEXTNODE2_INSERTDATA)]
3225     void insertData(
3226             [in] long offset,
3227             [in] BSTR bstrstring);
3228
3229     [id(DISPID_IHTMLDOMTEXTNODE2_DELETEDATA)]
3230     void deleteData(
3231             [in] long offset,
3232             [in] long Count);
3233
3234     [id(DISPID_IHTMLDOMTEXTNODE2_REPLACEDATA)]
3235     void replaceData(
3236             [in] long offset,
3237             [in] long Count,
3238             [in] BSTR bstrstring);
3239
3240     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
3241     long nodeType();
3242
3243     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
3244     IHTMLDOMNode *parentNode();
3245
3246     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
3247     VARIANT_BOOL hasChildNodes();
3248
3249     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
3250     IDispatch *childNodes();
3251
3252     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
3253     IDispatch *attributes();
3254
3255     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
3256     IHTMLDOMNode *insertBefore(
3257             [in] IHTMLDOMNode *newChild,
3258             [in, optional] VARIANT refChild);
3259
3260     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
3261     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
3262
3263     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
3264     IHTMLDOMNode *replaceChild(
3265             [in] IHTMLDOMNode *newChild,
3266             [in] IHTMLDOMNode *oldChild);
3267
3268     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
3269     IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
3270
3271     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
3272     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
3273
3274     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
3275     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
3276
3277     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
3278     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
3279
3280     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
3281     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
3282
3283     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
3284     BSTR nodeName();
3285
3286     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
3287     void nodeValue(VARIANT v);
3288
3289     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
3290     VARIANT nodeValue();
3291
3292     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
3293     IHTMLDOMNode *firstChild();
3294
3295     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
3296     IHTMLDOMNode *lastChild();
3297
3298     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
3299     IHTMLDOMNode *previousSibling();
3300
3301     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
3302     IHTMLDOMNode* nextSibling();
3303
3304     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
3305     IDispatch *ownerDocument();
3306 }
3307
3308 /*****************************************************************************
3309  *    IHTMLDOMChildrenCollection interface
3310  */
3311 [
3312     odl,
3313     oleautomation,
3314     dual,
3315     uuid(3050f5ab-98b5-11cf-bb82-00aa00bdce0b)
3316 ]
3317 interface IHTMLDOMChildrenCollection : IDispatch
3318 {
3319     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION_LENGTH)]
3320     HRESULT length([out, retval] long *p);
3321
3322     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION__NEWENUM), hidden, restricted]
3323     HRESULT _newEnum([out, retval] IUnknown **p);
3324
3325     [id(DISPID_IHTMLDOMCHILDRENCOLLECTION_ITEM)]
3326     HRESULT item(
3327             [in] long index,
3328             [out, retval] IDispatch **ppItem);
3329 }
3330
3331 /*****************************************************************************
3332  *    DispDOMChildrenCollection dispinterface
3333  */
3334 [
3335     hidden,
3336     uuid(3050f577-98b5-11cf-bb82-00aa00bdce0b)
3337 ]
3338 dispinterface DispDOMChildrenCollection
3339 {
3340 properties:
3341 methods:
3342     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION_LENGTH)]
3343     long length();
3344
3345     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION__NEWENUM), hidden, restricted]
3346     IUnknown *_newEnum();
3347
3348     [id(DISPID_IHTMLDOMCHILDRENCOLLECTION_ITEM)]
3349     IDispatch *item([in] long index);
3350 }
3351
3352 interface IHTMLElementCollection;
3353
3354 /*****************************************************************************
3355  *    IHTMLElement interface
3356  */
3357 [
3358     odl,
3359     dual,
3360     oleautomation,
3361     uuid(3050f1FF-98B5-11CF-BB82-00AA00BDCE0B)
3362 ]
3363 interface IHTMLElement : IDispatch
3364 {
3365     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
3366     HRESULT setAttribute(
3367         [in] BSTR strAttributeName,
3368         [in] VARIANT AttributeValue,
3369         [defaultvalue(1), in] LONG lFlags);
3370
3371     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
3372     HRESULT getAttribute(
3373         [in] BSTR strAttributeName,
3374         [defaultvalue(0), in] LONG lFlags,
3375         [retval, out] VARIANT *AttributeValue);
3376
3377     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
3378     HRESULT removeAttribute(
3379         [in] BSTR strAttributeName,
3380         [defaultvalue(1), in] LONG lFlags,
3381         [retval, out] VARIANT_BOOL *pfSuccess);
3382
3383     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME)]
3384     HRESULT className([in] BSTR v);
3385
3386     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME)]
3387     HRESULT className([retval, out] BSTR *p);
3388
3389     [propput, id(DISPID_IHTMLELEMENT_ID)]
3390     HRESULT id([in] BSTR v);
3391
3392     [propget, id(DISPID_IHTMLELEMENT_ID)]
3393     HRESULT id([retval, out] BSTR *p);
3394
3395     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
3396     HRESULT tagName([retval, out] BSTR *p);
3397
3398     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
3399     HRESULT parentElement([retval, out] IHTMLElement **p);
3400
3401     [propget, id(DISPID_IHTMLELEMENT_STYLE)]
3402     HRESULT style([retval, out] IHTMLStyle **p);
3403
3404     [propput, id(DISPID_IHTMLELEMENT_ONHELP)]
3405     HRESULT onhelp([in] VARIANT v);
3406
3407     [propget, id(DISPID_IHTMLELEMENT_ONHELP)]
3408     HRESULT onhelp([retval, out] VARIANT *p);
3409
3410     [propput, id(DISPID_IHTMLELEMENT_ONCLICK)]
3411     HRESULT onclick([in] VARIANT v);
3412
3413     [propget, id(DISPID_IHTMLELEMENT_ONCLICK)]
3414     HRESULT onclick([retval, out] VARIANT *p);
3415
3416     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK)]
3417     HRESULT ondblclick([in] VARIANT v);
3418
3419     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK)]
3420     HRESULT ondblclick([retval, out] VARIANT *p);
3421
3422     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN)]
3423     HRESULT onkeydown([in] VARIANT v);
3424
3425     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN)]
3426     HRESULT onkeydown([retval, out] VARIANT *p);
3427
3428     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP)]
3429     HRESULT onkeyup([in] VARIANT v);
3430
3431     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP)]
3432     HRESULT onkeyup([retval, out] VARIANT *p);
3433
3434     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS)]
3435     HRESULT onkeypress([in] VARIANT v);
3436
3437     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS)]
3438     HRESULT onkeypress([retval, out] VARIANT *p);
3439
3440     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT)]
3441     HRESULT onmouseout([in] VARIANT v);
3442
3443     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT)]
3444     HRESULT onmouseout([retval, out] VARIANT *p);
3445
3446     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER)]
3447     HRESULT onmouseover([in] VARIANT v);
3448
3449     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER)]
3450     HRESULT onmouseover([retval, out] VARIANT *p);
3451
3452     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE)]
3453     HRESULT onmousemove([in] VARIANT v);
3454
3455     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE)]
3456     HRESULT onmousemove([retval, out] VARIANT *p);
3457
3458     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN)]
3459     HRESULT onmousedown([in] VARIANT v);
3460
3461     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN)]
3462     HRESULT onmousedown([retval, out] VARIANT *p);
3463
3464     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP)]
3465     HRESULT onmouseup([in] VARIANT v);
3466
3467     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP)]
3468     HRESULT onmouseup([retval, out] VARIANT *p);
3469
3470     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
3471     HRESULT document([retval, out] IDispatch **p);
3472
3473     [propput, id(DISPID_IHTMLELEMENT_TITLE)]
3474     HRESULT title([in] BSTR v);
3475
3476     [propget, id(DISPID_IHTMLELEMENT_TITLE)]
3477     HRESULT title([retval, out] BSTR *p);
3478
3479     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE)]
3480     HRESULT language([in] BSTR v);
3481
3482     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE)]
3483     HRESULT language([retval, out] BSTR *p);
3484
3485     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART)]
3486     HRESULT onselectstart([in] VARIANT v);
3487
3488     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART)]
3489     HRESULT onselectstart([retval, out] VARIANT *p);
3490
3491     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
3492     HRESULT scrollIntoView([optional, in] VARIANT varargStart);
3493
3494     [id(DISPID_IHTMLELEMENT_CONTAINS)]
3495     HRESULT contains(
3496         [in] IHTMLElement *pChild,
3497         [retval, out] VARIANT_BOOL *pfResult);
3498
3499     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX)]
3500     HRESULT sourceIndex([retval, out] long *p);
3501
3502     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
3503     HRESULT recordNumber([retval, out] VARIANT *p);
3504
3505     [propput, id(DISPID_IHTMLELEMENT_LANG)]
3506     HRESULT lang([in] BSTR v);
3507
3508     [propget, id(DISPID_IHTMLELEMENT_LANG)]
3509     HRESULT lang([retval, out] BSTR *p);
3510
3511     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
3512     HRESULT offsetLeft([retval, out] long *p);
3513
3514     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
3515     HRESULT offsetTop([retval, out] long *p);
3516
3517     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
3518     HRESULT offsetWidth([retval, out] long *p);
3519
3520     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
3521     HRESULT offsetHeight([retval, out] long *p);
3522
3523     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
3524     HRESULT offsetParent([retval, out] IHTMLElement **p);
3525
3526     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
3527     HRESULT innerHTML([in] BSTR v);
3528
3529     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
3530     HRESULT innerHTML([retval, out] BSTR *p);
3531
3532     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
3533     HRESULT innerText([in] BSTR v);
3534
3535     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
3536     HRESULT innerText([retval, out] BSTR *p);
3537
3538     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
3539     HRESULT outerHTML([in] BSTR v);
3540
3541     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
3542     HRESULT outerHTML([retval, out] BSTR *p);
3543
3544     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
3545     HRESULT outerText([in] BSTR v);
3546
3547     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
3548     HRESULT outerText([retval, out] BSTR *p);
3549
3550     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
3551     HRESULT insertAdjacentHTML([in] BSTR where, [in] BSTR html);
3552
3553     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
3554     HRESULT insertAdjacentText([in] BSTR where, [in] BSTR text);
3555
3556     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
3557     HRESULT parentTextEdit([retval, out] IHTMLElement **p);
3558
3559     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
3560     HRESULT isTextEdit([retval, out] VARIANT_BOOL *p);
3561
3562     [id(DISPID_IHTMLELEMENT_CLICK)]
3563     HRESULT click();
3564
3565     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
3566     HRESULT filters([retval, out] IHTMLFiltersCollection **p);
3567
3568     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART)]
3569     HRESULT ondragstart([in] VARIANT v);
3570
3571     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART)]
3572     HRESULT ondragstart([retval, out] VARIANT *p);
3573
3574     [id(DISPID_IHTMLELEMENT_TOSTRING)]
3575     HRESULT toString([retval, out] BSTR *String);
3576
3577     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE)]
3578     HRESULT onbeforeupdate([in] VARIANT v);
3579
3580     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE)]
3581     HRESULT onbeforeupdate([retval, out] VARIANT *p);
3582
3583     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE)]
3584     HRESULT onafterupdate([in] VARIANT v);
3585
3586     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE)]
3587     HRESULT onafterupdate([retval, out] VARIANT *p);
3588
3589     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE)]
3590     HRESULT onerrorupdate([in] VARIANT v);
3591
3592     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE)]
3593     HRESULT onerrorupdate([retval, out] VARIANT *p);
3594
3595     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT)]
3596     HRESULT onrowexit([in] VARIANT v);
3597
3598     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT)]
3599     HRESULT onrowexit([retval, out] VARIANT *p);
3600
3601     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER)]
3602     HRESULT onrowenter([in] VARIANT v);
3603
3604     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER)]
3605     HRESULT onrowenter([retval, out] VARIANT *p);
3606
3607     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED)]
3608     HRESULT ondatasetchanged([in] VARIANT v);
3609
3610     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED)]
3611     HRESULT ondatasetchanged([retval, out] VARIANT *p);
3612
3613     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE)]
3614     HRESULT ondataavailable([in] VARIANT v);
3615
3616     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE)]
3617     HRESULT ondataavailable([retval, out] VARIANT *p);
3618
3619     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE)]
3620     HRESULT ondatasetcomplete([in] VARIANT v);
3621
3622     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE)]
3623     HRESULT ondatasetcomplete([retval, out] VARIANT *p);
3624
3625     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE)]
3626     HRESULT onfilterchange([in] VARIANT v);
3627
3628     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE)]
3629     HRESULT onfilterchange([retval, out] VARIANT *p);
3630
3631     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
3632     HRESULT children([retval, out] IDispatch **p);
3633
3634     [propget, id(DISPID_IHTMLELEMENT_ALL)]
3635     HRESULT all([retval, out] IDispatch **p);
3636 }
3637
3638 /*****************************************************************************
3639  *    IHTMLElement2 interface
3640  */
3641 [
3642     odl,
3643     oleautomation,
3644     dual,
3645     uuid(3050f434-98b5-11cf-bb82-00aa00bdce0b)
3646 ]
3647 interface IHTMLElement2 : IDispatch
3648 {
3649     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
3650     HRESULT scopeName([retval, out] BSTR *p);
3651
3652     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
3653     HRESULT setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
3654
3655     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
3656     HRESULT releaseCapture();
3657
3658     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
3659     HRESULT onlosecapture([in] VARIANT v);
3660
3661     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
3662     HRESULT onlosecapture([retval, out] VARIANT *p);
3663
3664     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
3665     HRESULT componentFromPoint(
3666         [in] long x,
3667         [in] long y,
3668         [retval, out] BSTR *component);
3669
3670     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
3671     HRESULT doScroll([optional, in] VARIANT component);
3672
3673     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
3674     HRESULT onscroll([in] VARIANT v);
3675
3676     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
3677     HRESULT onscroll([retval, out] VARIANT *p);
3678
3679     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
3680     HRESULT ondrag([in] VARIANT v);
3681
3682     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
3683     HRESULT ondrag([retval, out] VARIANT *p);
3684
3685     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
3686     HRESULT ondragend([in] VARIANT v);
3687
3688     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
3689     HRESULT ondragend([retval, out] VARIANT *p);
3690
3691     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
3692     HRESULT ondragenter([in] VARIANT v);
3693
3694     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
3695     HRESULT ondragenter([retval, out] VARIANT *p);
3696
3697     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
3698     HRESULT ondragover([in] VARIANT v);
3699
3700     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
3701     HRESULT ondragover([retval, out] VARIANT *p);
3702
3703     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
3704     HRESULT ondragleave([in] VARIANT v);
3705
3706     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
3707     HRESULT ondragleave([retval, out] VARIANT *p);
3708
3709     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
3710     HRESULT ondrop([in] VARIANT v);
3711
3712     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
3713     HRESULT ondrop([retval, out] VARIANT *p);
3714
3715     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
3716     HRESULT onbeforecut([in] VARIANT v);
3717
3718     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
3719     HRESULT onbeforecut([retval, out] VARIANT *p);
3720
3721     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
3722     HRESULT oncut([in] VARIANT v);
3723
3724     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
3725     HRESULT oncut([retval, out] VARIANT *p);
3726
3727     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
3728     HRESULT onbeforecopy([in] VARIANT v);
3729
3730     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
3731     HRESULT onbeforecopy([retval, out] VARIANT *p);
3732
3733     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
3734     HRESULT oncopy([in] VARIANT v);
3735
3736     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
3737     HRESULT oncopy([retval, out] VARIANT *p);
3738
3739     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
3740     HRESULT onbeforepaste([in] VARIANT v);
3741
3742     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
3743     HRESULT onbeforepaste([retval, out] VARIANT *p);
3744
3745     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
3746     HRESULT onpaste([in] VARIANT v);
3747
3748     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
3749     HRESULT onpaste([retval, out] VARIANT *p);
3750
3751     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
3752     HRESULT currentStyle([retval, out] IHTMLCurrentStyle **p);
3753
3754     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
3755     HRESULT onpropertychange([in] VARIANT v);
3756
3757     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
3758     HRESULT onpropertychange([retval, out] VARIANT *p);
3759
3760     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
3761     HRESULT getClientRects([retval, out] IHTMLRectCollection **pRectCol);
3762
3763     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
3764     HRESULT getBoundingClientRect([retval, out] IHTMLRect **pRect);
3765
3766     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
3767     HRESULT setExpression(
3768         [in] BSTR propname,
3769         [in] BSTR expression,
3770         [defaultvalue(""), in] BSTR language);
3771
3772     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
3773     HRESULT getExpression(
3774         [in] BSTR propname,
3775         [retval, out] VARIANT *expression);
3776
3777     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
3778     HRESULT removeExpression(
3779         [in] BSTR propname,
3780         [retval, out] VARIANT_BOOL *pfSuccess);
3781
3782     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
3783     HRESULT tabIndex([in] short v);
3784
3785     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
3786     HRESULT tabIndex([retval, out] short *p);
3787
3788     [id(DISPID_IHTMLELEMENT2_FOCUS)]
3789     HRESULT focus();
3790
3791     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
3792     HRESULT accessKey([in] BSTR v);
3793
3794     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
3795     HRESULT accessKey([retval, out] BSTR *p);
3796
3797     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
3798     HRESULT onblur([in] VARIANT v);
3799
3800     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
3801     HRESULT onblur([retval, out] VARIANT *p);
3802
3803     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
3804     HRESULT onfocus([in] VARIANT v);
3805
3806     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
3807     HRESULT onfocus([retval, out] VARIANT *p);
3808
3809     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
3810     HRESULT onresize([in] VARIANT v);
3811
3812     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
3813     HRESULT onresize([retval, out] VARIANT *p);
3814
3815     [id(DISPID_IHTMLELEMENT2_BLUR)]
3816     HRESULT blur();
3817
3818     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
3819     HRESULT addFilter([in] IUnknown *pUnk);
3820
3821     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
3822     HRESULT removeFilter([in] IUnknown *pUnk);
3823
3824     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
3825     HRESULT clientHeight([retval, out] long *p);
3826
3827     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
3828     HRESULT clientWidth([retval, out] long *p);
3829
3830     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
3831     HRESULT clientTop([retval, out] long *p);
3832
3833     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
3834     HRESULT clientLeft([retval, out] long *p);
3835
3836     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
3837     HRESULT attachEvent(
3838         [in] BSTR event,
3839         [in] IDispatch *pDisp,
3840         [retval, out] VARIANT_BOOL *pfResult);
3841
3842     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
3843     HRESULT detachEvent(
3844         [in] BSTR event,
3845         [in] IDispatch *pDisp);
3846
3847     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
3848     HRESULT readyState([retval, out] VARIANT *p);
3849
3850     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
3851     HRESULT onreadystatechange([in] VARIANT v);
3852
3853     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
3854     HRESULT onreadystatechange([retval, out] VARIANT *p);
3855
3856     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
3857     HRESULT onrowsdelete([in] VARIANT v);
3858
3859     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
3860     HRESULT onrowsdelete([retval, out] VARIANT *p);
3861
3862     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
3863     HRESULT onrowsinserted([in] VARIANT v);
3864
3865     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
3866     HRESULT onrowsinserted([retval, out] VARIANT *p);
3867
3868     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
3869     HRESULT oncellchange([in] VARIANT v);
3870
3871     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
3872     HRESULT oncellchange([retval, out] VARIANT *p);
3873
3874     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
3875     HRESULT dir([in] BSTR v);
3876
3877     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
3878     HRESULT dir([retval, out] BSTR *p);
3879
3880     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
3881     HRESULT createControlRange([retval, out] IDispatch **range);
3882
3883     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
3884     HRESULT scrollHeight([retval, out] long *p);
3885
3886     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
3887     HRESULT scrollWidth([retval, out] long *p);
3888
3889     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
3890     HRESULT scrollTop([in] long v);
3891
3892     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
3893     HRESULT scrollTop([retval, out] long *p);
3894
3895     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
3896     HRESULT scrollLeft([in] long v);
3897
3898     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
3899     HRESULT scrollLeft([retval, out] long *p);
3900
3901     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
3902     HRESULT clearAttributes();
3903
3904     [id(DISPID_IHTMLELEMENT2_MERGEATTRIBUTES)]
3905     HRESULT mergeAttributes([in] IHTMLElement *mergeThis);
3906
3907     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
3908     HRESULT oncontextmenu([in] VARIANT v);
3909
3910     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
3911     HRESULT oncontextmenu([retval, out] VARIANT *p);
3912
3913     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
3914     HRESULT insertAdjacentElement(
3915         [in] BSTR where,
3916         [in] IHTMLElement *insertedElement,
3917         [retval, out] IHTMLElement **inserted);
3918
3919     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
3920     HRESULT applyElement(
3921         [in] IHTMLElement *apply,
3922         [in] BSTR where,
3923         [retval, out] IHTMLElement **applied);
3924
3925     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
3926     HRESULT getAdjacentText(
3927         [in] BSTR where,
3928         [retval, out] BSTR *text);
3929
3930     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
3931     HRESULT replaceAdjacentText(
3932         [in] BSTR where,
3933         [in] BSTR newText,
3934         [retval, out] BSTR *oldText);
3935
3936     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
3937     HRESULT canHaveChildren([retval, out] VARIANT_BOOL *p);
3938
3939     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
3940     HRESULT addBehavior(
3941         [in] BSTR bstrUrl,
3942         [optional, in] VARIANT *pvarFactory,
3943         [retval, out] long *pCookie);
3944
3945     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
3946     HRESULT removeBehavior(
3947         [in] long cookie,
3948         [retval, out] VARIANT_BOOL *pfResult);
3949
3950     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
3951     HRESULT runtimeStyle([retval, out] IHTMLStyle **p);
3952
3953     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
3954     HRESULT behaviorUrns([retval, out] IDispatch **p);
3955
3956     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
3957     HRESULT tagUrn([in] BSTR v);
3958
3959     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
3960     HRESULT tagUrn([retval, out] BSTR *p);
3961
3962     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
3963     HRESULT onbeforeeditfocus([in] VARIANT v);
3964
3965     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
3966     HRESULT onbeforeeditfocus([retval, out] VARIANT *p);
3967
3968     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
3969     HRESULT readyStateValue([retval, out] long *p);
3970
3971     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
3972     HRESULT getElementsByTagName(
3973         [in] BSTR v,
3974         [retval, out] IHTMLElementCollection **pelColl);
3975 }
3976
3977
3978 /*****************************************************************************
3979  *    IHTMLElement3 interface
3980  */
3981 [
3982     odl,
3983     oleautomation,
3984     dual,
3985     uuid(3050f673-98b5-11cf-bb82-00aa00bdce0b)
3986 ]
3987 interface IHTMLElement3 : IDispatch
3988 {
3989     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)] HRESULT mergeAttributes([in]
3990     IHTMLElement* mergeThis,[optional, in] VARIANT* pvarFlags);
3991
3992     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
3993     HRESULT isMultiLine([retval, out] VARIANT_BOOL * p);
3994
3995     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
3996     HRESULT canHaveHTML([retval, out] VARIANT_BOOL * p);
3997
3998     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
3999     HRESULT onlayoutcomplete([in] VARIANT v);
4000
4001     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
4002     HRESULT onlayoutcomplete([retval, out] VARIANT * p);
4003
4004     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
4005     HRESULT onpage([in] VARIANT v);
4006
4007     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
4008     HRESULT onpage([retval, out] VARIANT * p);
4009
4010     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
4011     HRESULT inflateBlock([in] VARIANT_BOOL v);
4012
4013     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
4014     HRESULT inflateBlock([retval, out] VARIANT_BOOL * p);
4015
4016     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
4017     HRESULT onbeforedeactivate([in] VARIANT v);
4018
4019     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
4020     HRESULT onbeforedeactivate([retval, out] VARIANT * p);
4021
4022     [id(DISPID_IHTMLELEMENT3_SETACTIVE)] HRESULT setActive();
4023
4024     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
4025     HRESULT contentEditable([in] BSTR v);
4026
4027     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
4028     HRESULT contentEditable([retval, out] BSTR * p);
4029
4030     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
4031     HRESULT isContentEditable([retval, out] VARIANT_BOOL * p);
4032
4033     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
4034     HRESULT hideFocus([in] VARIANT_BOOL v);
4035
4036     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
4037     HRESULT hideFocus([retval, out] VARIANT_BOOL * p);
4038
4039     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
4040     HRESULT disabled([in] VARIANT_BOOL v);
4041
4042     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
4043     HRESULT disabled([retval, out] VARIANT_BOOL * p);
4044
4045     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
4046     HRESULT isDisabled([retval, out] VARIANT_BOOL * p);
4047
4048     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
4049     HRESULT onmove([in] VARIANT v);
4050
4051     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
4052     HRESULT onmove([retval, out] VARIANT * p);
4053
4054     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
4055     HRESULT oncontrolselect([in] VARIANT v);
4056
4057     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
4058     HRESULT oncontrolselect([retval, out] VARIANT * p);
4059
4060     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
4061     HRESULT fireEvent(
4062         [in] BSTR bstrEventName,
4063         [optional, in] VARIANT* pvarEventObject,
4064         [retval, out] VARIANT_BOOL* pfCancelled);
4065
4066     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
4067     HRESULT onresizestart([in] VARIANT v);
4068
4069     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
4070     HRESULT onresizestart([retval, out] VARIANT * p);
4071
4072     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
4073     HRESULT onresizeend([in] VARIANT v);
4074
4075     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
4076     HRESULT onresizeend([retval, out] VARIANT * p);
4077
4078     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
4079     HRESULT onmovestart([in] VARIANT v);
4080
4081     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
4082     HRESULT onmovestart([retval, out] VARIANT * p);
4083
4084     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
4085     HRESULT onmoveend([in] VARIANT v);
4086
4087     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
4088     HRESULT onmoveend([retval, out] VARIANT * p);
4089
4090     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
4091     HRESULT onmouseenter([in] VARIANT v);
4092
4093     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
4094     HRESULT onmouseenter([retval, out] VARIANT * p);
4095
4096     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
4097     HRESULT onmouseleave([in] VARIANT v);
4098
4099     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
4100     HRESULT onmouseleave([retval, out] VARIANT * p);
4101
4102     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
4103     HRESULT onactivate([in] VARIANT v);
4104
4105     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
4106     HRESULT onactivate([retval, out] VARIANT * p);
4107
4108     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
4109     HRESULT ondeactivate([in] VARIANT v);
4110
4111     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
4112     HRESULT ondeactivate([retval, out] VARIANT * p);
4113
4114     [id(DISPID_IHTMLELEMENT3_DRAGDROP)] HRESULT dragDrop([retval, out]
4115     VARIANT_BOOL* pfRet);
4116
4117     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
4118     HRESULT glyphMode([retval, out] LONG * p);
4119 };
4120 /*****************************************************************************
4121  *    IHTMLElement4 interface
4122  */
4123 [
4124     odl,
4125     oleautomation,
4126     dual,
4127     uuid(3050f80f-98b5-11cf-bb82-00aa00bdce0b)
4128 ]
4129 interface IHTMLElement4 : IDispatch
4130 {
4131     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
4132     HRESULT onmousewheel([in] VARIANT v);
4133
4134     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
4135     HRESULT onmousewheel([retval, out] VARIANT * p);
4136
4137     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
4138     HRESULT normalize();
4139
4140     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
4141     HRESULT getAttributeNode([in] BSTR bstrname,
4142         [retval, out] IHTMLDOMAttribute** ppAttribute);
4143
4144     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
4145     HRESULT setAttributeNode(
4146         [in] IHTMLDOMAttribute* pattr,
4147         [retval, out] IHTMLDOMAttribute** ppretAttribute);
4148
4149     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
4150     HRESULT removeAttributeNode(
4151         [in] IHTMLDOMAttribute* pattr,
4152         [retval, out] IHTMLDOMAttribute** ppretAttribute);
4153
4154     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
4155     HRESULT onbeforeactivate([in] VARIANT v);
4156
4157     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
4158     HRESULT onbeforeactivate([retval, out] VARIANT * p);
4159
4160     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
4161     HRESULT onfocusin([in] VARIANT v);
4162
4163     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
4164     HRESULT onfocusin([retval, out] VARIANT * p);
4165
4166     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
4167     HRESULT onfocusout([in] VARIANT v);
4168
4169     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
4170     HRESULT onfocusout([retval, out] VARIANT * p);
4171 };
4172
4173 /*****************************************************************************
4174  *    IHTMLGenericElement interface
4175  */
4176 [
4177     odl,
4178     oleautomation,
4179     dual,
4180     uuid(3050f4b7-98b5-11cf-bb82-00aa00bdce0b)
4181 ]
4182 interface IHTMLGenericElement : IDispatch
4183 {
4184     [propget, id(DISPID_IHTMLGENERICELEMENT_RECORDSET), hidden]
4185     HRESULT recordset([out, retval] IDispatch **p);
4186
4187     [id(DISPID_IHTMLGENERICELEMENT_NAMEDRECORDSET)]
4188     HRESULT namedRecordset(
4189             [in] BSTR dataMember,
4190             [in, optional] VARIANT *hierarchy,
4191             [out, retval] IDispatch **ppRecordset);
4192 }
4193
4194 /*****************************************************************************
4195  *    DispHTMLGenericElement dispinterface
4196  */
4197 [
4198     hidden,
4199     uuid(3050f563-98b5-11cf-bb82-00aa00bdce0b)
4200 ]
4201 dispinterface DispHTMLGenericElement
4202 {
4203 properties:
4204 methods:
4205     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
4206     void setAttribute(
4207             [in] BSTR strAttributeName,
4208             [in] VARIANT AttributeValue,
4209             [in, defaultvalue(1)] LONG lFlags);
4210
4211     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
4212     VARIANT getAttribute(
4213              [in] BSTR strAttributeName,
4214              [in, defaultvalue(0)] LONG lFlags);
4215
4216     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
4217     VARIANT_BOOL removeAttribute(
4218             [in] BSTR strAttributeName,
4219             [in, defaultvalue(1)] LONG lFlags);
4220
4221     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
4222     void className(BSTR v);
4223
4224     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
4225     BSTR className();
4226
4227     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
4228     void id(BSTR v);
4229
4230     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
4231     BSTR id();
4232
4233     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
4234     BSTR tagName();
4235
4236     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
4237     IHTMLElement *parentElement();
4238
4239     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
4240     IHTMLStyle *style();
4241
4242     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
4243     void onhelp(VARIANT v);
4244
4245     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
4246     VARIANT onhelp();
4247
4248     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
4249     void onclick(VARIANT v);
4250
4251     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
4252     VARIANT onclick();
4253
4254     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
4255     void ondblclick(VARIANT v);
4256
4257     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
4258     VARIANT ondblclick();
4259
4260     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
4261     void onkeydown(VARIANT v);
4262
4263     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
4264     VARIANT onkeydown();
4265
4266     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
4267     void onkeyup(VARIANT v);
4268
4269     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
4270     VARIANT onkeyup();
4271
4272     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
4273     void onkeypress(VARIANT v);
4274
4275     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
4276     VARIANT onkeypress();
4277
4278     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
4279     void onmouseout(VARIANT v);
4280
4281     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
4282     VARIANT onmouseout();
4283
4284     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
4285     void onmouseover(VARIANT v);
4286
4287     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
4288     VARIANT onmouseover();
4289
4290     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
4291     void onmousemove(VARIANT v);
4292
4293     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
4294     VARIANT onmousemove();
4295
4296     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
4297     void onmousedown(VARIANT v);
4298
4299     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
4300     VARIANT onmousedown();
4301
4302     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
4303     void onmouseup(VARIANT v);
4304
4305     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
4306     VARIANT onmouseup();
4307
4308     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
4309     IDispatch *document();
4310
4311     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
4312     void title(BSTR v);
4313
4314     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
4315     BSTR title();
4316
4317     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
4318     void language(BSTR v);
4319
4320     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
4321     BSTR language();
4322
4323     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
4324     void onselectstart(VARIANT v);
4325
4326     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
4327     VARIANT onselectstart();
4328
4329     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
4330     void scrollIntoView([in, optional] VARIANT varargStart);
4331
4332     [id(DISPID_IHTMLELEMENT_CONTAINS)]
4333     VARIANT_BOOL contains([in] IHTMLElement *pChild);
4334
4335     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
4336     long sourceIndex();
4337
4338     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
4339     VARIANT recordNumber();
4340
4341     [propput, id(DISPID_IHTMLELEMENT_LANG)]
4342     void lang(BSTR v);
4343
4344     [propget, id(DISPID_IHTMLELEMENT_LANG)]
4345     BSTR lang();
4346
4347     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
4348     long offsetLeft();
4349
4350     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
4351     long offsetTop();
4352
4353     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
4354     long offsetWidth();
4355
4356     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
4357     long offsetHeight();
4358
4359     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
4360     IHTMLElement *offsetParent();
4361
4362     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
4363     void innerHTML(BSTR v);
4364
4365     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
4366     BSTR innerHTML();
4367
4368     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
4369     void innerText(BSTR v);
4370
4371     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
4372     BSTR innerText();
4373
4374     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
4375     void outerHTML(BSTR v);
4376
4377     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
4378     BSTR outerHTML();
4379
4380     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
4381     void outerText(BSTR v);
4382
4383     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
4384     BSTR outerText();
4385
4386     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
4387     void insertAdjacentHTML(
4388             [in] BSTR where,
4389             [in] BSTR html);
4390
4391     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
4392     void insertAdjacentText(
4393             [in] BSTR where,
4394             [in] BSTR text);
4395
4396     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
4397     IHTMLElement *parentTextEdit();
4398
4399     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
4400     VARIANT_BOOL isTextEdit();
4401
4402     [id(DISPID_IHTMLELEMENT_CLICK)]
4403     void click();
4404
4405     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
4406     IHTMLFiltersCollection *filters();
4407
4408     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
4409     void ondragstart(VARIANT v);
4410
4411     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
4412     VARIANT ondragstart();
4413
4414     [id(DISPID_IHTMLELEMENT_TOSTRING)]
4415     BSTR toString();
4416
4417     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
4418     void onbeforeupdate(VARIANT v);
4419
4420     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
4421     VARIANT onbeforeupdate();
4422
4423     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
4424     void onafterupdate(VARIANT v);
4425
4426     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
4427     VARIANT onafterupdate();
4428
4429     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
4430     void onerrorupdate(VARIANT v);
4431
4432     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
4433     VARIANT onerrorupdate();
4434
4435     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
4436     void onrowexit(VARIANT v);
4437
4438     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
4439     VARIANT onrowexit();
4440
4441     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
4442     void onrowenter(VARIANT v);
4443
4444     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
4445     VARIANT onrowenter();
4446
4447     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
4448     void ondatasetchanged(VARIANT v);
4449
4450     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
4451     VARIANT ondatasetchanged();
4452
4453     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
4454     void ondataavailable(VARIANT v);
4455
4456     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
4457     VARIANT ondataavailable();
4458
4459     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
4460     void ondatasetcomplete(VARIANT v);
4461
4462     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
4463     VARIANT ondatasetcomplete();
4464
4465     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
4466     void onfilterchange(VARIANT v);
4467
4468     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
4469     VARIANT onfilterchange();
4470
4471     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
4472     IDispatch *children();
4473
4474     [propget, id(DISPID_IHTMLELEMENT_ALL)]
4475     IDispatch *all();
4476
4477     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
4478     BSTR scopeName();
4479
4480     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
4481     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
4482
4483     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
4484     void releaseCapture();
4485
4486     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
4487     void onlosecapture(VARIANT v);
4488
4489     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
4490     VARIANT onlosecapture();
4491
4492     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
4493     BSTR componentFromPoint(
4494             [in] long x,
4495             [in] long y);
4496
4497     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
4498     void doScroll([in, optional] VARIANT component);
4499
4500     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
4501     void onscroll(VARIANT v);
4502
4503     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
4504     VARIANT onscroll();
4505
4506     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
4507     void ondrag(VARIANT v);
4508
4509     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
4510     VARIANT ondrag();
4511
4512     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
4513     void ondragend(VARIANT v);
4514
4515     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
4516     VARIANT ondragend();
4517
4518     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
4519     void ondragenter(VARIANT v);
4520
4521     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
4522     VARIANT ondragenter();
4523
4524     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
4525     void ondragover(VARIANT v);
4526
4527     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
4528     VARIANT ondragover();
4529
4530     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
4531     void ondragleave(VARIANT v);
4532
4533     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
4534     VARIANT ondragleave();
4535
4536     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
4537     void ondrop(VARIANT v);
4538
4539     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
4540     VARIANT ondrop();
4541
4542     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
4543     void onbeforecut(VARIANT v);
4544
4545     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
4546     VARIANT onbeforecut();
4547
4548     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
4549     void oncut(VARIANT v);
4550
4551     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
4552     VARIANT oncut();
4553
4554     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
4555     void onbeforecopy(VARIANT v);
4556
4557     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
4558     VARIANT onbeforecopy();
4559
4560     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
4561     void oncopy(VARIANT v);
4562
4563     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
4564     VARIANT oncopy();
4565
4566     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
4567     void onbeforepaste(VARIANT v);
4568
4569     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
4570     VARIANT onbeforepaste();
4571
4572     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
4573     void onpaste(VARIANT v);
4574
4575     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
4576     VARIANT onpaste();
4577
4578     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
4579     IHTMLCurrentStyle *currentStyle();
4580
4581     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
4582     void onpropertychange(VARIANT v);
4583
4584     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
4585     VARIANT onpropertychange();
4586
4587     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
4588     IHTMLRectCollection *getClientRects();
4589
4590     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
4591     IHTMLRect *getBoundingClientRect();
4592
4593     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
4594     void setExpression(
4595             [in] BSTR propname,
4596             [in] BSTR expression,
4597             [in, defaultvalue("")] BSTR language);
4598
4599     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
4600     VARIANT getExpression([in] BSTR propname);
4601
4602     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
4603     VARIANT_BOOL removeExpression([in] BSTR propname);
4604
4605     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
4606     void tabIndex(short v);
4607
4608     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
4609     short tabIndex();
4610
4611     [id(DISPID_IHTMLELEMENT2_FOCUS)]
4612     void focus();
4613
4614     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
4615     void accessKey(BSTR v);
4616
4617     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
4618     BSTR accessKey();
4619
4620     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
4621     void onblur(VARIANT v);
4622
4623     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
4624     VARIANT onblur();
4625
4626     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
4627     void onfocus(VARIANT v);
4628
4629     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
4630     VARIANT onfocus();
4631
4632     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
4633     void onresize(VARIANT v);
4634
4635     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
4636     VARIANT onresize();
4637
4638     [id(DISPID_IHTMLELEMENT2_BLUR)]
4639     void blur();
4640
4641     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
4642     void addFilter([in] IUnknown *pUnk);
4643
4644     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
4645     void removeFilter([in] IUnknown *pUnk);
4646
4647     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
4648     long clientHeight();
4649
4650     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
4651     long clientWidth();
4652
4653     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
4654     long clientTop();
4655
4656     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
4657     long clientLeft();
4658
4659     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
4660     VARIANT_BOOL attachEvent(
4661             [in] BSTR event,
4662             [in] IDispatch *pDisp);
4663
4664     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
4665     void detachEvent(
4666             [in] BSTR event,
4667             [in] IDispatch *pDisp);
4668
4669     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
4670     VARIANT readyState();
4671
4672     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
4673     void onreadystatechange(VARIANT v);
4674
4675     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
4676     VARIANT onreadystatechange();
4677
4678     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
4679     void onrowsdelete(VARIANT v);
4680
4681     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
4682     VARIANT onrowsdelete();
4683
4684     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
4685     void onrowsinserted(VARIANT v);
4686
4687     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
4688      VARIANT onrowsinserted();
4689
4690     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
4691      void oncellchange(VARIANT v);
4692
4693     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
4694     VARIANT oncellchange();
4695
4696     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
4697     void dir(BSTR v);
4698
4699     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
4700     BSTR dir();
4701
4702     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
4703     IDispatch *createControlRange();
4704
4705     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
4706     long scrollHeight();
4707
4708     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
4709     long scrollWidth();
4710
4711     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
4712     void scrollTop(long v);
4713
4714     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
4715     long scrollTop();
4716
4717     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
4718     void scrollLeft(long v);
4719
4720     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
4721     long scrollLeft();
4722
4723     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
4724     void clearAttributes();
4725
4726     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
4727     void oncontextmenu(VARIANT v);
4728
4729     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
4730     VARIANT oncontextmenu();
4731
4732     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
4733     IHTMLElement *insertAdjacentElement(
4734             [in] BSTR where,
4735             [in] IHTMLElement *insertedElement);
4736
4737     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
4738     IHTMLElement *applyElement(
4739             [in] IHTMLElement *apply,
4740             [in] BSTR where);
4741
4742     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
4743     BSTR getAdjacentText([in] BSTR where);
4744
4745     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
4746     BSTR replaceAdjacentText(
4747             [in] BSTR where,
4748             [in] BSTR newText);
4749
4750     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
4751     VARIANT_BOOL canHaveChildren();
4752
4753     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
4754     long addBehavior(
4755             [in] BSTR bstrUrl,
4756             [in, optional] VARIANT *pvarFactory);
4757
4758     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
4759     VARIANT_BOOL removeBehavior([in] long cookie);
4760
4761     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
4762     IHTMLStyle *runtimeStyle();
4763
4764     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
4765     IDispatch *behaviorUrns();
4766
4767     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
4768     void tagUrn(BSTR v);
4769
4770     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
4771     BSTR tagUrn();
4772
4773     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
4774     void onbeforeeditfocus(VARIANT v);
4775
4776     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
4777     VARIANT onbeforeeditfocus();
4778
4779     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
4780     long readyStateValue();
4781
4782     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
4783     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
4784
4785     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
4786     void mergeAttributes(
4787             [in] IHTMLElement *mergeThis,
4788             [in, optional] VARIANT *pvarFlags);
4789
4790     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
4791     VARIANT_BOOL isMultiLine();
4792
4793     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
4794     VARIANT_BOOL canHaveHTML();
4795
4796     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
4797     void onlayoutcomplete(VARIANT v);
4798
4799     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
4800     VARIANT onlayoutcomplete();
4801
4802     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
4803     void onpage(VARIANT v);
4804
4805     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
4806     VARIANT onpage();
4807
4808     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
4809     void inflateBlock(VARIANT_BOOL v);
4810
4811     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
4812     VARIANT_BOOL inflateBlock();
4813
4814     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
4815     void onbeforedeactivate(VARIANT v);
4816
4817     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
4818     VARIANT onbeforedeactivate();
4819
4820     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
4821     void setActive();
4822
4823     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
4824     void contentEditable(BSTR v);
4825
4826     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
4827     BSTR contentEditable();
4828
4829     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
4830     VARIANT_BOOL isContentEditable();
4831
4832     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
4833     void hideFocus(VARIANT_BOOL v);
4834
4835     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
4836     VARIANT_BOOL hideFocus();
4837
4838     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
4839     void disabled(VARIANT_BOOL v);
4840
4841     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
4842     VARIANT_BOOL disabled();
4843
4844     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
4845     VARIANT_BOOL isDisabled();
4846
4847     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
4848     void onmove(VARIANT v);
4849
4850     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
4851     VARIANT onmove();
4852
4853     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
4854     void oncontrolselect(VARIANT v);
4855
4856     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
4857     VARIANT oncontrolselect();
4858
4859     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
4860     VARIANT_BOOL fireEvent(
4861             [in] BSTR bstrEventName,
4862             [in, optional] VARIANT *pvarEventObject);
4863
4864     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
4865     void onresizestart(VARIANT v);
4866
4867     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
4868     VARIANT onresizestart();
4869
4870     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
4871     void onresizeend(VARIANT v);
4872
4873     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
4874     VARIANT onresizeend();
4875
4876     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
4877     void onmovestart(VARIANT v);
4878
4879     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
4880     VARIANT onmovestart();
4881
4882     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
4883     void onmoveend(VARIANT v);
4884
4885     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
4886     VARIANT onmoveend();
4887
4888     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
4889     void onmouseenter(VARIANT v);
4890
4891     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
4892     VARIANT onmouseenter();
4893
4894     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
4895     void onmouseleave(VARIANT v);
4896
4897     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
4898     VARIANT onmouseleave();
4899
4900     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
4901     void onactivate(VARIANT v);
4902
4903     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
4904     VARIANT onactivate();
4905
4906     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
4907     void ondeactivate(VARIANT v);
4908
4909     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
4910     VARIANT ondeactivate();
4911
4912     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
4913     VARIANT_BOOL dragDrop();
4914
4915     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
4916     LONG glyphMode();
4917
4918     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
4919     void onmousewheel(VARIANT v);
4920
4921     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
4922     VARIANT onmousewheel();
4923
4924     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
4925     void normalize();
4926
4927     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
4928     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
4929
4930     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
4931     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
4932
4933     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
4934     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
4935
4936     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
4937     void onbeforeactivate(VARIANT v);
4938
4939     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
4940     VARIANT onbeforeactivate();
4941
4942     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
4943     void onfocusin(VARIANT v);
4944
4945     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
4946     VARIANT onfocusin();
4947
4948     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
4949     void onfocusout(VARIANT v);
4950
4951     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
4952     VARIANT onfocusout();
4953
4954     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
4955     long uniqueNumber();
4956
4957     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
4958     BSTR uniqueID();
4959
4960     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
4961     long nodeType();
4962
4963     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
4964     IHTMLDOMNode *parentNode();
4965
4966     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
4967     VARIANT_BOOL hasChildNodes();
4968
4969     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
4970     IDispatch *childNodes();
4971
4972     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
4973     IDispatch *attributes();
4974
4975     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
4976     IHTMLDOMNode *insertBefore(
4977             [in] IHTMLDOMNode *newChild,
4978             [in, optional] VARIANT refChild);
4979
4980     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
4981     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
4982
4983     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
4984     IHTMLDOMNode *replaceChild(
4985             [in] IHTMLDOMNode *newChild,
4986             [in] IHTMLDOMNode *oldChild);
4987
4988     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
4989     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
4990
4991     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
4992     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
4993
4994     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
4995     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
4996
4997     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
4998     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
4999
5000     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
5001     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
5002
5003     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
5004     BSTR nodeName();
5005
5006     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
5007     void nodeValue(VARIANT v);
5008
5009     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
5010     VARIANT nodeValue();
5011
5012     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
5013     IHTMLDOMNode *firstChild();
5014
5015     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
5016     IHTMLDOMNode *lastChild();
5017
5018     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
5019     IHTMLDOMNode *previousSibling();
5020
5021     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
5022     IHTMLDOMNode *nextSibling();
5023
5024     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
5025     IDispatch *ownerDocument();
5026
5027     [propget, id(DISPID_IHTMLGENERICELEMENT_RECORDSET), hidden]
5028     IDispatch *recordset();
5029
5030     [id(DISPID_IHTMLGENERICELEMENT_NAMEDRECORDSET)]
5031     IDispatch *namedRecordset(
5032             [in] BSTR dataMember,
5033             [in, optional] VARIANT *hierarchy);
5034 }
5035
5036 /*****************************************************************************
5037  *    IHTMLStyleSheetRule interface
5038  */
5039 [
5040     odl,
5041     oleautomation,
5042     dual,
5043     uuid(3050F357-98B5-11CF-BB82-00AA00BDCE0B)
5044 ]
5045 interface IHTMLStyleSheetRule : IDispatch
5046 {
5047     [propput, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)]
5048     HRESULT selectorText([in] BSTR v);
5049
5050     [propget, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)]
5051     HRESULT selectorText([retval, out] BSTR *p);
5052
5053     [propget, id(DISPID_IHTMLSTYLESHEETRULE_STYLE)]
5054     HRESULT style([retval, out] IHTMLRuleStyle **p);
5055
5056     [propget, id(DISPID_IHTMLSTYLESHEETRULE_READONLY)]
5057     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
5058 }
5059
5060 /*****************************************************************************
5061  *    IHTMLStyleSheetRulesCollection interface
5062  */
5063 [
5064     odl,
5065     oleautomation,
5066     dual,
5067     uuid(3050F2E5-98B5-11Cf-BB82-00AA00BDCE0B)
5068 ]
5069 interface IHTMLStyleSheetRulesCollection : IDispatch
5070 {
5071     [propget, id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_LENGTH)]
5072     HRESULT length([retval, out] long *p);
5073
5074     [id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_ITEM)]
5075     HRESULT item(
5076         [in] long index,
5077         [retval, out] IHTMLStyleSheetRule **ppHTMLStyleSheetRule);
5078 }
5079
5080 /*****************************************************************************
5081  *    IHTMLStyleSheet interface
5082  */
5083 [
5084     odl,
5085     oleautomation,
5086     dual,
5087     uuid(3050F2E3-98B5-11CF-BB82-00AA00BDCE0B)
5088 ]
5089 interface IHTMLStyleSheet : IDispatch
5090 {
5091     [propput, id(DISPID_IHTMLSTYLESHEET_TITLE)]
5092     HRESULT title([in] BSTR v);
5093
5094     [propget, id(DISPID_IHTMLSTYLESHEET_TITLE)]
5095     HRESULT title([retval, out] BSTR *p);
5096
5097     [propget, id(DISPID_IHTMLSTYLESHEET_PARENTSTYLESHEET)]
5098     HRESULT parentStyleSheet([retval, out] IHTMLStyleSheet **p);
5099
5100     [propget, id(DISPID_IHTMLSTYLESHEET_OWNINGELEMENT)]
5101     HRESULT owningElement([retval, out] IHTMLElement **p);
5102
5103     [propput, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
5104     HRESULT disabled([in] VARIANT_BOOL v);
5105
5106     [propget, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
5107     HRESULT disabled([retval, out] VARIANT_BOOL *p);
5108
5109     [propget, id(DISPID_IHTMLSTYLESHEET_READONLY)]
5110     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
5111
5112     [propget, id(DISPID_IHTMLSTYLESHEET_IMPORTS)]
5113     HRESULT imports([retval, out] IHTMLStyleSheetsCollection **p);
5114
5115     [propput, id(DISPID_IHTMLSTYLESHEET_HREF)]
5116     HRESULT href([in] BSTR v);
5117
5118     [propget, id(DISPID_IHTMLSTYLESHEET_HREF)]
5119     HRESULT href([retval, out] BSTR *p);
5120
5121     [propget, id(DISPID_IHTMLSTYLESHEET_TYPE)]
5122     HRESULT type([retval, out] BSTR *p);
5123
5124     [propget, id(DISPID_IHTMLSTYLESHEET_ID)]
5125     HRESULT id([retval, out] BSTR *p);
5126
5127     [id(DISPID_IHTMLSTYLESHEET_ADDIMPORT)]
5128     HRESULT addImport(
5129         [in] BSTR bstrURL,
5130         [defaultvalue(-1), in] long lIndex,
5131         [retval, out] long *plIndex);
5132
5133     [id(DISPID_IHTMLSTYLESHEET_ADDRULE)]
5134     HRESULT addRule(
5135         [in] BSTR bstrSelector,
5136         [in] BSTR bstrStyle,
5137         [defaultvalue(-1), in] long lIndex,
5138         [retval, out] long *plNewIndex);
5139
5140     [id(DISPID_IHTMLSTYLESHEET_REMOVEIMPORT)]
5141     HRESULT removeImport([in] long lIndex);
5142
5143     [id(DISPID_IHTMLSTYLESHEET_REMOVERULE)]
5144     HRESULT removeRule([in] long lIndex);
5145
5146     [propput, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
5147     HRESULT media([in] BSTR v);
5148
5149     [propget, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
5150     HRESULT media([retval, out] BSTR *p);
5151
5152     [propput, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
5153     HRESULT cssText([in] BSTR v);
5154
5155     [propget, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
5156     HRESULT cssText([retval, out] BSTR *p);
5157
5158     [propget, id(DISPID_IHTMLSTYLESHEET_RULES)]
5159     HRESULT rules([retval, out] IHTMLStyleSheetRulesCollection **p);
5160 }
5161
5162 /*****************************************************************************
5163  *    IHTMLStyleSheetsCollection interface
5164  */
5165 [
5166     odl,
5167     oleautomation,
5168     dual,
5169     uuid(3050F37E-98B5-11CF-BB82-00AA00BDCE0B)
5170 ]
5171 interface IHTMLStyleSheetsCollection : IDispatch
5172 {
5173     [propget, id(DISPID_IHTMLSTYLESHEETSCOLLECTION_LENGTH)]
5174     HRESULT length([retval, out] long *p);
5175
5176     [propget, id(DISPID_IHTMLSTYLESHEETSCOLLECTION__NEWENUM)]
5177     HRESULT _newEnum([retval, out] IUnknown **p);
5178
5179     [id(DISPID_IHTMLSTYLESHEETSCOLLECTION_ITEM)]
5180     HRESULT item(
5181         [in] VARIANT *pvarIndex,
5182         [retval, out] VARIANT *pvarResult);
5183 }
5184
5185 /*****************************************************************************
5186  *    IHTMLTxtRange interface
5187  */
5188 [
5189     odl,
5190     oleautomation,
5191     dual,
5192     uuid(3050f220-98b5-11cf-bb82-00aa00bdce0b)
5193 ]
5194 interface IHTMLTxtRange : IDispatch
5195 {
5196     [propget, id(DISPID_IHTMLTXTRANGE_HTMLTEXT)]
5197     HRESULT htmlText([retval, out] BSTR *p);
5198
5199     [propput, id(DISPID_IHTMLTXTRANGE_TEXT)]
5200     HRESULT text([in] BSTR v);
5201
5202     [propget, id(DISPID_IHTMLTXTRANGE_TEXT)]
5203     HRESULT text([retval, out] BSTR *p);
5204
5205     [id(DISPID_IHTMLTXTRANGE_PARENTELEMENT)]
5206     HRESULT parentElement([retval, out] IHTMLElement **parent);
5207
5208     [id(DISPID_IHTMLTXTRANGE_DUPLICATE)]
5209     HRESULT duplicate([retval, out] IHTMLTxtRange **Duplicate);
5210
5211     [id(DISPID_IHTMLTXTRANGE_INRANGE)]
5212     HRESULT inRange(
5213         [in] IHTMLTxtRange *Range,
5214         [retval, out] VARIANT_BOOL *InRange);
5215
5216     [id(DISPID_IHTMLTXTRANGE_ISEQUAL)]
5217     HRESULT isEqual(
5218         [in] IHTMLTxtRange *Range,
5219         [retval, out] VARIANT_BOOL *IsEqual);
5220
5221     [id(DISPID_IHTMLTXTRANGE_SCROLLINTOVIEW)]
5222     HRESULT scrollIntoView([defaultvalue(-1), in] VARIANT_BOOL fStart);
5223
5224     [id(DISPID_IHTMLTXTRANGE_COLLAPSE)]
5225     HRESULT collapse([defaultvalue(-1), in] VARIANT_BOOL Start);
5226
5227     [id(DISPID_IHTMLTXTRANGE_EXPAND)]
5228     HRESULT expand(
5229         [in] BSTR Unit,
5230         [retval, out] VARIANT_BOOL *Success);
5231
5232     [id(DISPID_IHTMLTXTRANGE_MOVE)]
5233     HRESULT move(
5234         [in] BSTR Unit,
5235         [defaultvalue(1), in] long Count,
5236         [retval, out] long *ActualCount);
5237
5238     [id(DISPID_IHTMLTXTRANGE_MOVESTART)]
5239     HRESULT moveStart(
5240         [in] BSTR Unit,
5241         [defaultvalue(1), in] long Count,
5242         [retval, out] long *ActualCount);
5243
5244     [id(DISPID_IHTMLTXTRANGE_MOVEEND)]
5245     HRESULT moveEnd(
5246         [in] BSTR Unit,
5247         [defaultvalue(1), in] long Count,
5248         [retval, out] long *ActualCount);
5249
5250     [id(DISPID_IHTMLTXTRANGE_SELECT)]
5251     HRESULT select();
5252
5253     [id(DISPID_IHTMLTXTRANGE_PASTEHTML)]
5254     HRESULT pasteHTML([in] BSTR html);
5255
5256     [id(DISPID_IHTMLTXTRANGE_MOVETOELEMENTTEXT)]
5257     HRESULT moveToElementText([in] IHTMLElement *element);
5258
5259     [id(DISPID_IHTMLTXTRANGE_SETENDPOINT)]
5260     HRESULT setEndPoint(
5261         [in] BSTR how,
5262         [in] IHTMLTxtRange *SourceRange);
5263
5264     [id(DISPID_IHTMLTXTRANGE_COMPAREENDPOINTS)]
5265     HRESULT compareEndPoints(
5266         [in] BSTR how,
5267         [in] IHTMLTxtRange *SourceRange,
5268         [retval, out] long *ret);
5269
5270     [id(DISPID_IHTMLTXTRANGE_FINDTEXT)]
5271     HRESULT findText(
5272         [in] BSTR String,
5273         [defaultvalue(1073741823), in] long count,
5274         [defaultvalue(0), in] long Flags,
5275         [retval, out] VARIANT_BOOL *Success);
5276
5277     [id(DISPID_IHTMLTXTRANGE_MOVETOPOINT)]
5278     HRESULT moveToPoint(
5279         [in] long x,
5280         [in] long y);
5281
5282     [id(DISPID_IHTMLTXTRANGE_GETBOOKMARK)]
5283     HRESULT getBookmark([retval, out] BSTR *Boolmark);
5284
5285     [id(DISPID_IHTMLTXTRANGE_MOVETOBOOKMARK)]
5286     HRESULT moveToBookmark(
5287         [in] BSTR Bookmark,
5288         [retval, out] VARIANT_BOOL *Success);
5289
5290     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDSUPPORTED)]
5291     HRESULT queryCommandSupported(
5292         [in] BSTR cmdID,
5293         [retval, out] VARIANT_BOOL *pfRet);
5294
5295     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDENABLED)]
5296     HRESULT queryCommandEnabled(
5297         [in] BSTR cmdID,
5298         [retval, out] VARIANT_BOOL *pfRet);
5299
5300     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDSTATE)]
5301     HRESULT queryCommandState(
5302         [in] BSTR cmdID,
5303         [retval, out] VARIANT_BOOL *pfRet);
5304
5305     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDINDETERM)]
5306     HRESULT queryCommandIndeterm(
5307         [in] BSTR cmdID,
5308         [retval, out] VARIANT_BOOL *pfRet);
5309
5310     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDTEXT)]
5311     HRESULT queryCommandText(
5312         [in] BSTR cmdID,
5313         [retval, out] BSTR *pcmdText);
5314
5315     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDVALUE)]
5316     HRESULT queryCommandValue(
5317         [in] BSTR cmdID,
5318         [retval, out] VARIANT *pcmdValue);
5319
5320     [id(DISPID_IHTMLTXTRANGE_EXECCOMMAND)]
5321     HRESULT execCommand(
5322         [in] BSTR cmdID,
5323         [defaultvalue(0), in] VARIANT_BOOL showUI,
5324         [optional, in] VARIANT value,
5325         [retval, out] VARIANT_BOOL *pfRet);
5326
5327     [id(DISPID_IHTMLTXTRANGE_EXECCOMMANDSHOWHELP)]
5328     HRESULT execCommandShowHelp(
5329         [in] BSTR cmdID,
5330         [retval, out] VARIANT_BOOL *pfRet);
5331 }
5332
5333 /*****************************************************************************
5334  *    IHTMLFormElement interface
5335  */
5336 [
5337     odl,
5338     oleautomation,
5339     dual,
5340     uuid(3050F1F7-98B5-11CF-BB82-00AA00BDCE0B)
5341 ]
5342 interface IHTMLFormElement : IDispatch
5343 {
5344     [propput, id(DISPID_IHTMLFORMELEMENT_ACTION)]
5345     HRESULT action([in] BSTR v);
5346
5347     [propget, id(DISPID_IHTMLFORMELEMENT_ACTION)]
5348     HRESULT action([retval, out] BSTR *p);
5349
5350     [propput, id(DISPID_IHTMLFORMELEMENT_DIR)]
5351     HRESULT dir([in] BSTR v);
5352
5353     [propget, id(DISPID_IHTMLFORMELEMENT_DIR)]
5354     HRESULT dir([retval, out] BSTR *p);
5355
5356     [propput, id(DISPID_IHTMLFORMELEMENT_ENCODING)]
5357     HRESULT encoding([in] BSTR v);
5358
5359     [propget, id(DISPID_IHTMLFORMELEMENT_ENCODING)]
5360     HRESULT encoding([retval, out] BSTR *p);
5361
5362     [propput, id(DISPID_IHTMLFORMELEMENT_METHOD)]
5363     HRESULT method([in] BSTR v);
5364
5365     [propget, id(DISPID_IHTMLFORMELEMENT_METHOD)]
5366     HRESULT method([retval, out] BSTR *p);
5367
5368     [propget, id(DISPID_IHTMLFORMELEMENT_ELEMENTS)]
5369     HRESULT elements([retval, out] IDispatch **p);
5370
5371     [propput, id(DISPID_IHTMLFORMELEMENT_TARGET)]
5372     HRESULT target([in] BSTR v);
5373
5374     [propget, id(DISPID_IHTMLFORMELEMENT_TARGET)]
5375     HRESULT target([retval, out] BSTR *p);
5376
5377     [propput, id(DISPID_IHTMLFORMELEMENT_NAME)]
5378     HRESULT name([in] BSTR v);
5379
5380     [propget, id(DISPID_IHTMLFORMELEMENT_NAME)]
5381     HRESULT name([retval, out] BSTR *p);
5382
5383     [propput, id(DISPID_IHTMLFORMELEMENT_ONSUBMIT)]
5384     HRESULT onsubmit([in] VARIANT v);
5385
5386     [propget, id(DISPID_IHTMLFORMELEMENT_ONSUBMIT)]
5387     HRESULT onsubmit([retval, out] VARIANT *p);
5388
5389     [propput, id(DISPID_IHTMLFORMELEMENT_ONRESET)]
5390     HRESULT onreset([in] VARIANT v);
5391
5392     [propget, id(DISPID_IHTMLFORMELEMENT_ONRESET)]
5393     HRESULT onreset([retval, out] VARIANT *p);
5394
5395     [id(DISPID_IHTMLFORMELEMENT_SUBMIT)]
5396     HRESULT submit();
5397
5398     [id(DISPID_IHTMLFORMELEMENT_RESET)]
5399     HRESULT reset();
5400
5401     [propput, id(DISPID_IHTMLFORMELEMENT_LENGTH)]
5402     HRESULT length([in] long v);
5403
5404     [propget, id(DISPID_IHTMLFORMELEMENT_LENGTH)]
5405     HRESULT length([retval, out] long *p);
5406
5407     [propget, id(DISPID_IHTMLFORMELEMENT__NEWENUM)]
5408     HRESULT _newEnum([retval, out] IUnknown **p);
5409
5410     [id(DISPID_IHTMLFORMELEMENT_ITEM)]
5411     HRESULT item(
5412         [optional, in] VARIANT name,
5413         [optional, in] VARIANT index,
5414         [retval, out] IDispatch **pdisp);
5415
5416     [id(DISPID_IHTMLFORMELEMENT_TAGS)]
5417     HRESULT tags(
5418         [in] VARIANT tagName,
5419         [retval, out] IDispatch **pdisp);
5420 }
5421
5422 /*****************************************************************************
5423  *    IHTMLTextContainer interface
5424  */
5425 [
5426     odl,
5427     oleautomation,
5428     dual,
5429     uuid(3050f230-98b5-11cf-bb82-00aa00bdce0b)
5430 ]
5431 interface IHTMLTextContainer : IDispatch
5432 {
5433     [id(DISPID_IHTMLTEXTCONTAINER_CREATECONTROLRANGE)]
5434     HRESULT createControlRange([retval, out] IDispatch **range);
5435
5436     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLHEIGHT), displaybind, bindable]
5437     HRESULT scrollHeight([retval, out] long *p);
5438
5439     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLWIDTH), displaybind, bindable]
5440     HRESULT scrollWidth([retval, out] long *p);
5441
5442     [propput, id(DISPID_IHTMLTEXTCONTAINER_SCROLLTOP), displaybind, bindable]
5443     HRESULT scrollTop([in] long v);
5444
5445     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLTOP), displaybind, bindable]
5446     HRESULT scrollTop([retval, out] long *p);
5447
5448     [propput, id(DISPID_IHTMLTEXTCONTAINER_SCROLLLEFT), displaybind, bindable]
5449     HRESULT scrollLeft([in] long v);
5450
5451     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLLEFT), displaybind, bindable]
5452     HRESULT scrollLeft([retval, out] long *p);
5453
5454     [propput, id(DISPID_IHTMLTEXTCONTAINER_ONSCROLL), displaybind, bindable]
5455     HRESULT onscroll([in] VARIANT v);
5456
5457     [propget, id(DISPID_IHTMLTEXTCONTAINER_ONSCROLL), displaybind, bindable]
5458     HRESULT onscroll([retval, out] VARIANT *p);
5459 }
5460
5461 /*****************************************************************************
5462  *    IHTMLImgElement interface
5463  */
5464 [
5465     odl,
5466     oleautomation,
5467     dual,
5468     uuid(3050F240-98B5-11CF-BB82-00AA00BDCE0B)
5469 ]
5470 interface IHTMLImgElement : IDispatch
5471 {
5472     [propput, id(DISPID_IHTMLIMGELEMENT_ISMAP)]
5473     HRESULT isMap([in] VARIANT_BOOL v);
5474
5475     [propget, id(DISPID_IHTMLIMGELEMENT_ISMAP)]
5476     HRESULT isMap([retval, out] VARIANT_BOOL *p);
5477
5478     [propput, id(DISPID_IHTMLIMGELEMENT_USEMAP)]
5479     HRESULT useMap([in] BSTR v);
5480
5481     [propget, id(DISPID_IHTMLIMGELEMENT_USEMAP)]
5482     HRESULT useMap([retval, out] BSTR *p);
5483
5484     [propget, id(DISPID_IHTMLIMGELEMENT_MIMETYPE)]
5485     HRESULT mimeType([retval, out] BSTR *p);
5486
5487     [propget, id(DISPID_IHTMLIMGELEMENT_FILESIZE)]
5488     HRESULT fileSize([retval, out] BSTR *p);
5489
5490     [propget, id(DISPID_IHTMLIMGELEMENT_FILECREATEDDATE)]
5491     HRESULT fileCreatedDate([retval, out] BSTR *p);
5492
5493     [propget, id(DISPID_IHTMLIMGELEMENT_FILEMODIFIEDDATE)]
5494     HRESULT fileModifiedDate([retval, out] BSTR *p);
5495
5496     [propget, id(DISPID_IHTMLIMGELEMENT_FILEUPDATEDDATE)]
5497     HRESULT fileUpdatedDate([retval, out] BSTR *p);
5498
5499     [propget, id(DISPID_IHTMLIMGELEMENT_PROTOCOL)]
5500     HRESULT protocol([retval, out] BSTR *p);
5501
5502     [propget, id(DISPID_IHTMLIMGELEMENT_HREF)]
5503     HRESULT href([retval, out] BSTR *p);
5504
5505     [propget, id(DISPID_IHTMLIMGELEMENT_NAMEPROP)]
5506     HRESULT nameProp([retval, out] BSTR *p);
5507
5508     [propput, id(DISPID_IHTMLIMGELEMENT_BORDER)]
5509     HRESULT border([in] VARIANT v);
5510
5511     [propget, id(DISPID_IHTMLIMGELEMENT_BORDER)]
5512     HRESULT border([retval, out] VARIANT *p);
5513
5514     [propput, id(DISPID_IHTMLIMGELEMENT_VSPACE)]
5515     HRESULT vspace([in] long v);
5516
5517     [propget, id(DISPID_IHTMLIMGELEMENT_VSPACE)]
5518     HRESULT vspace([retval, out] long *p);
5519
5520     [propput, id(DISPID_IHTMLIMGELEMENT_HSPACE)]
5521     HRESULT hspace([in] long v);
5522
5523     [propget, id(DISPID_IHTMLIMGELEMENT_HSPACE)]
5524     HRESULT hspace([retval, out] long *p);
5525
5526     [propput, id(DISPID_IHTMLIMGELEMENT_ALT)]
5527     HRESULT alt([in] BSTR v);
5528
5529     [propget, id(DISPID_IHTMLIMGELEMENT_ALT)]
5530     HRESULT alt([retval, out] BSTR *p);
5531
5532     [propput, id(DISPID_IHTMLIMGELEMENT_SRC)]
5533     HRESULT src([in] BSTR v);
5534
5535     [propget, id(DISPID_IHTMLIMGELEMENT_SRC)]
5536     HRESULT src([retval, out] BSTR *p);
5537
5538     [propput, id(DISPID_IHTMLIMGELEMENT_LOWSRC)]
5539     HRESULT lowsrc([in] BSTR v);
5540
5541     [propget, id(DISPID_IHTMLIMGELEMENT_LOWSRC)]
5542     HRESULT lowsrc([retval, out] BSTR *p);
5543
5544     [propput, id(DISPID_IHTMLIMGELEMENT_VRML)]
5545     HRESULT vrml([in] BSTR v);
5546
5547     [propget, id(DISPID_IHTMLIMGELEMENT_VRML)]
5548     HRESULT vrml([retval, out] BSTR *p);
5549
5550     [propput, id(DISPID_IHTMLIMGELEMENT_DYNSRC)]
5551     HRESULT dynsrc([in] BSTR v);
5552
5553     [propget, id(DISPID_IHTMLIMGELEMENT_DYNSRC)]
5554     HRESULT dynsrc([retval, out] BSTR *p);
5555
5556     [propget, id(DISPID_IHTMLIMGELEMENT_READYSTATE)]
5557     HRESULT readyState([retval, out] BSTR *p);
5558
5559     [propget, id(DISPID_IHTMLIMGELEMENT_COMPLETE)]
5560     HRESULT complete([retval, out] VARIANT_BOOL *p);
5561
5562     [propput, id(DISPID_IHTMLIMGELEMENT_LOOP)]
5563     HRESULT loop([in] VARIANT v);
5564
5565     [propget, id(DISPID_IHTMLIMGELEMENT_LOOP)]
5566     HRESULT loop([retval, out] VARIANT *p);
5567
5568     [propput, id(DISPID_IHTMLIMGELEMENT_ALIGN)]
5569     HRESULT align([in] BSTR v);
5570
5571     [propget, id(DISPID_IHTMLIMGELEMENT_ALIGN)]
5572     HRESULT align([retval, out] BSTR *p);
5573
5574     [propput, id(DISPID_IHTMLIMGELEMENT_ONLOAD)]
5575     HRESULT onload([in] VARIANT v);
5576
5577     [propget, id(DISPID_IHTMLIMGELEMENT_ONLOAD)]
5578     HRESULT onload([retval, out] VARIANT *p);
5579
5580     [propput, id(DISPID_IHTMLIMGELEMENT_ONERROR)]
5581     HRESULT onerror([in] VARIANT v);
5582
5583     [propget, id(DISPID_IHTMLIMGELEMENT_ONERROR)]
5584     HRESULT onerror([retval, out] VARIANT *p);
5585
5586     [propput, id(DISPID_IHTMLIMGELEMENT_ONABORT)]
5587     HRESULT onabort([in] VARIANT v);
5588
5589     [propget, id(DISPID_IHTMLIMGELEMENT_ONABORT)]
5590     HRESULT onabort([retval, out] VARIANT *p);
5591
5592     [propput, id(DISPID_IHTMLIMGELEMENT_NAME)]
5593     HRESULT name([in] BSTR v);
5594
5595     [propget, id(DISPID_IHTMLIMGELEMENT_NAME)]
5596     HRESULT name([retval, out] BSTR *p);
5597
5598     [propput, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
5599     HRESULT width([in] long v);
5600
5601     [propget, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
5602     HRESULT width([retval, out] long *p);
5603
5604     [propput, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
5605     HRESULT height([in] long v);
5606
5607     [propget, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
5608     HRESULT height([retval, out] long *p);
5609
5610     [propput, id(DISPID_IHTMLIMGELEMENT_START)]
5611     HRESULT start([in] BSTR v);
5612
5613     [propget, id(DISPID_IHTMLIMGELEMENT_START)]
5614     HRESULT start([retval, out] BSTR *p);
5615 }
5616
5617 /*****************************************************************************
5618  *    IHTMLImageElementFactory interface
5619  */
5620 [
5621     odl,
5622     oleautomation,
5623     dual,
5624     uuid(3050F38E-98B5-11CF-BB82-00AAA0BDCE0B)
5625 ]
5626 interface IHTMLImageElementFactory : IDispatch
5627 {
5628     [id(DISPID_IHTMLIMAGEELEMENTFACTORY_CREATE)]
5629     HRESULT create(
5630         [optional, in] VARIANT width,
5631         [optional, in] VARIANT height,
5632         [retval, out]  IHTMLImgElement **elem);
5633 }
5634
5635 /*****************************************************************************
5636  *    DispHTMLImg interface
5637  */
5638 [
5639     hidden,
5640     uuid(3050f51c-98b5-11cf-bb82-00aa00bdce0b)
5641 ]
5642 dispinterface DispHTMLImg
5643 {
5644 properties:
5645 methods:
5646     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
5647     void setAttribute(
5648             [in] BSTR strAttributeName,
5649             [in] VARIANT AttributeValue,
5650             [in, defaultvalue(1)] LONG lFlags);
5651
5652     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
5653     VARIANT getAttribute(
5654              [in] BSTR strAttributeName,
5655              [in, defaultvalue(0)] LONG lFlags);
5656
5657     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
5658     VARIANT_BOOL removeAttribute(
5659             [in] BSTR strAttributeName,
5660             [in, defaultvalue(1)] LONG lFlags);
5661
5662     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
5663     void className(BSTR v);
5664
5665     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
5666     BSTR className();
5667
5668     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
5669     void id(BSTR v);
5670
5671     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
5672     BSTR id();
5673
5674     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
5675     BSTR tagName();
5676
5677     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
5678     IHTMLElement *parentElement();
5679
5680     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
5681     IHTMLStyle *style();
5682
5683     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
5684     void onhelp(VARIANT v);
5685
5686     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
5687     VARIANT onhelp();
5688
5689     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
5690     void onclick(VARIANT v);
5691
5692     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
5693     VARIANT onclick();
5694
5695     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
5696     void ondblclick(VARIANT v);
5697
5698     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
5699     VARIANT ondblclick();
5700
5701     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
5702     void onkeydown(VARIANT v);
5703
5704     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
5705     VARIANT onkeydown();
5706
5707     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
5708     void onkeyup(VARIANT v);
5709
5710     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
5711     VARIANT onkeyup();
5712
5713     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
5714     void onkeypress(VARIANT v);
5715
5716     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
5717     VARIANT onkeypress();
5718
5719     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
5720     void onmouseout(VARIANT v);
5721
5722     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
5723     VARIANT onmouseout();
5724
5725     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
5726     void onmouseover(VARIANT v);
5727
5728     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
5729     VARIANT onmouseover();
5730
5731     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
5732     void onmousemove(VARIANT v);
5733
5734     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
5735     VARIANT onmousemove();
5736
5737     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
5738     void onmousedown(VARIANT v);
5739
5740     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
5741     VARIANT onmousedown();
5742
5743     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
5744     void onmouseup(VARIANT v);
5745
5746     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
5747     VARIANT onmouseup();
5748
5749     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
5750     IDispatch *document();
5751
5752     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
5753     void title(BSTR v);
5754
5755     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
5756     BSTR title();
5757
5758     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
5759     void language(BSTR v);
5760
5761     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
5762     BSTR language();
5763
5764     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
5765     void onselectstart(VARIANT v);
5766
5767     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
5768     VARIANT onselectstart();
5769
5770     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
5771     void scrollIntoView([in, optional] VARIANT varargStart);
5772
5773     [id(DISPID_IHTMLELEMENT_CONTAINS)]
5774     VARIANT_BOOL contains([in] IHTMLElement *pChild);
5775
5776     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
5777     long sourceIndex();
5778
5779     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
5780     VARIANT recordNumber();
5781
5782     [propput, id(DISPID_IHTMLELEMENT_LANG)]
5783     void lang(BSTR v);
5784
5785     [propget, id(DISPID_IHTMLELEMENT_LANG)]
5786     BSTR lang();
5787
5788     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
5789     long offsetLeft();
5790
5791     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
5792     long offsetTop();
5793
5794     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
5795     long offsetWidth();
5796
5797     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
5798     long offsetHeight();
5799
5800     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
5801     IHTMLElement *offsetParent();
5802
5803     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
5804     void innerHTML(BSTR v);
5805
5806     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
5807     BSTR innerHTML();
5808
5809     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
5810     void innerText(BSTR v);
5811
5812     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
5813     BSTR innerText();
5814
5815     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
5816     void outerHTML(BSTR v);
5817
5818     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
5819     BSTR outerHTML();
5820
5821     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
5822     void outerText(BSTR v);
5823
5824     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
5825     BSTR outerText();
5826
5827     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
5828     void insertAdjacentHTML(
5829             [in] BSTR where,
5830             [in] BSTR html);
5831
5832     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
5833     void insertAdjacentText(
5834             [in] BSTR where,
5835             [in] BSTR text);
5836
5837     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
5838     IHTMLElement *parentTextEdit();
5839
5840     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
5841     VARIANT_BOOL isTextEdit();
5842
5843     [id(DISPID_IHTMLELEMENT_CLICK)]
5844     void click();
5845
5846     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
5847     IHTMLFiltersCollection *filters();
5848
5849     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
5850     void ondragstart(VARIANT v);
5851
5852     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
5853     VARIANT ondragstart();
5854
5855     [id(DISPID_IHTMLELEMENT_TOSTRING)]
5856     BSTR toString();
5857
5858     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
5859     void onbeforeupdate(VARIANT v);
5860
5861     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
5862     VARIANT onbeforeupdate();
5863
5864     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
5865     void onafterupdate(VARIANT v);
5866
5867     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
5868     VARIANT onafterupdate();
5869
5870     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
5871     void onerrorupdate(VARIANT v);
5872
5873     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
5874     VARIANT onerrorupdate();
5875
5876     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
5877     void onrowexit(VARIANT v);
5878
5879     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
5880     VARIANT onrowexit();
5881
5882     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
5883     void onrowenter(VARIANT v);
5884
5885     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
5886     VARIANT onrowenter();
5887
5888     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
5889     void ondatasetchanged(VARIANT v);
5890
5891     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
5892     VARIANT ondatasetchanged();
5893
5894     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
5895     void ondataavailable(VARIANT v);
5896
5897     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
5898     VARIANT ondataavailable();
5899
5900     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
5901     void ondatasetcomplete(VARIANT v);
5902
5903     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
5904     VARIANT ondatasetcomplete();
5905
5906     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
5907     void onfilterchange(VARIANT v);
5908
5909     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
5910     VARIANT onfilterchange();
5911
5912     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
5913     IDispatch *children();
5914
5915     [propget, id(DISPID_IHTMLELEMENT_ALL)]
5916     IDispatch *all();
5917
5918     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
5919     BSTR scopeName();
5920
5921     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
5922     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
5923
5924     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
5925     void releaseCapture();
5926
5927     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
5928     void onlosecapture(VARIANT v);
5929
5930     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
5931     VARIANT onlosecapture();
5932
5933     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
5934     BSTR componentFromPoint(
5935             [in] long x,
5936             [in] long y);
5937
5938     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
5939     void doScroll([in, optional] VARIANT component);
5940
5941     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
5942     void onscroll(VARIANT v);
5943
5944     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
5945     VARIANT onscroll();
5946
5947     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
5948     void ondrag(VARIANT v);
5949
5950     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
5951     VARIANT ondrag();
5952
5953     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
5954     void ondragend(VARIANT v);
5955
5956     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
5957     VARIANT ondragend();
5958
5959     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
5960     void ondragenter(VARIANT v);
5961
5962     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
5963     VARIANT ondragenter();
5964
5965     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
5966     void ondragover(VARIANT v);
5967
5968     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
5969     VARIANT ondragover();
5970
5971     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
5972     void ondragleave(VARIANT v);
5973
5974     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
5975     VARIANT ondragleave();
5976
5977     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
5978     void ondrop(VARIANT v);
5979
5980     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
5981     VARIANT ondrop();
5982
5983     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
5984     void onbeforecut(VARIANT v);
5985
5986     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
5987     VARIANT onbeforecut();
5988
5989     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
5990     void oncut(VARIANT v);
5991
5992     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
5993     VARIANT oncut();
5994
5995     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
5996     void onbeforecopy(VARIANT v);
5997
5998     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
5999     VARIANT onbeforecopy();
6000
6001     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
6002     void oncopy(VARIANT v);
6003
6004     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
6005     VARIANT oncopy();
6006
6007     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
6008     void onbeforepaste(VARIANT v);
6009
6010     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
6011     VARIANT onbeforepaste();
6012
6013     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
6014     void onpaste(VARIANT v);
6015
6016     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
6017     VARIANT onpaste();
6018
6019     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
6020     IHTMLCurrentStyle *currentStyle();
6021
6022     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
6023     void onpropertychange(VARIANT v);
6024
6025     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
6026     VARIANT onpropertychange();
6027
6028     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
6029     IHTMLRectCollection *getClientRects();
6030
6031     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
6032     IHTMLRect *getBoundingClientRect();
6033
6034     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
6035     void setExpression(
6036             [in] BSTR propname,
6037             [in] BSTR expression,
6038             [in, defaultvalue("")] BSTR language);
6039
6040     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
6041     VARIANT getExpression([in] BSTR propname);
6042
6043     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
6044     VARIANT_BOOL removeExpression([in] BSTR propname);
6045
6046     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
6047     void tabIndex(short v);
6048
6049     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
6050     short tabIndex();
6051
6052     [id(DISPID_IHTMLELEMENT2_FOCUS)]
6053     void focus();
6054
6055     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
6056     void accessKey(BSTR v);
6057
6058     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
6059     BSTR accessKey();
6060
6061     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
6062     void onblur(VARIANT v);
6063
6064     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
6065     VARIANT onblur();
6066
6067     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
6068     void onfocus(VARIANT v);
6069
6070     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
6071     VARIANT onfocus();
6072
6073     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
6074     void onresize(VARIANT v);
6075
6076     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
6077     VARIANT onresize();
6078
6079     [id(DISPID_IHTMLELEMENT2_BLUR)]
6080     void blur();
6081
6082     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
6083     void addFilter([in] IUnknown *pUnk);
6084
6085     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
6086     void removeFilter([in] IUnknown *pUnk);
6087
6088     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
6089     long clientHeight();
6090
6091     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
6092     long clientWidth();
6093
6094     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
6095     long clientTop();
6096
6097     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
6098     long clientLeft();
6099
6100     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
6101     VARIANT_BOOL attachEvent(
6102             [in] BSTR event,
6103             [in] IDispatch *pDisp);
6104
6105     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
6106     void detachEvent(
6107             [in] BSTR event,
6108             [in] IDispatch *pDisp);
6109
6110     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
6111     VARIANT readyState();
6112
6113     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
6114     void onreadystatechange(VARIANT v);
6115
6116     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
6117     VARIANT onreadystatechange();
6118
6119     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
6120     void onrowsdelete(VARIANT v);
6121
6122     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
6123     VARIANT onrowsdelete();
6124
6125     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
6126     void onrowsinserted(VARIANT v);
6127
6128     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
6129      VARIANT onrowsinserted();
6130
6131     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
6132      void oncellchange(VARIANT v);
6133
6134     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
6135     VARIANT oncellchange();
6136
6137     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
6138     void dir(BSTR v);
6139
6140     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
6141     BSTR dir();
6142
6143     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
6144     IDispatch *createControlRange();
6145
6146     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
6147     long scrollHeight();
6148
6149     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
6150     long scrollWidth();
6151
6152     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
6153     void scrollTop(long v);
6154
6155     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
6156     long scrollTop();
6157
6158     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
6159     void scrollLeft(long v);
6160
6161     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
6162     long scrollLeft();
6163
6164     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
6165     void clearAttributes();
6166
6167     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
6168     void oncontextmenu(VARIANT v);
6169
6170     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
6171     VARIANT oncontextmenu();
6172
6173     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
6174     IHTMLElement *insertAdjacentElement(
6175             [in] BSTR where,
6176             [in] IHTMLElement *insertedElement);
6177
6178     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
6179     IHTMLElement *applyElement(
6180             [in] IHTMLElement *apply,
6181             [in] BSTR where);
6182
6183     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
6184     BSTR getAdjacentText([in] BSTR where);
6185
6186     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
6187     BSTR replaceAdjacentText(
6188             [in] BSTR where,
6189             [in] BSTR newText);
6190
6191     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
6192     VARIANT_BOOL canHaveChildren();
6193
6194     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
6195     long addBehavior(
6196             [in] BSTR bstrUrl,
6197             [in, optional] VARIANT *pvarFactory);
6198
6199     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
6200     VARIANT_BOOL removeBehavior([in] long cookie);
6201
6202     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
6203     IHTMLStyle *runtimeStyle();
6204
6205     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
6206     IDispatch *behaviorUrns();
6207
6208     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
6209     void tagUrn(BSTR v);
6210
6211     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
6212     BSTR tagUrn();
6213
6214     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
6215     void onbeforeeditfocus(VARIANT v);
6216
6217     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
6218     VARIANT onbeforeeditfocus();
6219
6220     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
6221     long readyStateValue();
6222
6223     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
6224     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
6225
6226     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
6227     void mergeAttributes(
6228             [in] IHTMLElement *mergeThis,
6229             [in, optional] VARIANT *pvarFlags);
6230
6231     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
6232     VARIANT_BOOL isMultiLine();
6233
6234     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
6235     VARIANT_BOOL canHaveHTML();
6236
6237     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
6238     void onlayoutcomplete(VARIANT v);
6239
6240     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
6241     VARIANT onlayoutcomplete();
6242
6243     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
6244     void onpage(VARIANT v);
6245
6246     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
6247     VARIANT onpage();
6248
6249     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
6250     void inflateBlock(VARIANT_BOOL v);
6251
6252     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
6253     VARIANT_BOOL inflateBlock();
6254
6255     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
6256     void onbeforedeactivate(VARIANT v);
6257
6258     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
6259     VARIANT onbeforedeactivate();
6260
6261     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
6262     void setActive();
6263
6264     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
6265     void contentEditable(BSTR v);
6266
6267     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
6268     BSTR contentEditable();
6269
6270     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
6271     VARIANT_BOOL isContentEditable();
6272
6273     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
6274     void hideFocus(VARIANT_BOOL v);
6275
6276     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
6277     VARIANT_BOOL hideFocus();
6278
6279     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
6280     void disabled(VARIANT_BOOL v);
6281
6282     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
6283     VARIANT_BOOL disabled();
6284
6285     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
6286     VARIANT_BOOL isDisabled();
6287
6288     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
6289     void onmove(VARIANT v);
6290
6291     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
6292     VARIANT onmove();
6293
6294     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
6295     void oncontrolselect(VARIANT v);
6296
6297     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
6298     VARIANT oncontrolselect();
6299
6300     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
6301     VARIANT_BOOL fireEvent(
6302             [in] BSTR bstrEventName,
6303             [in, optional] VARIANT *pvarEventObject);
6304
6305     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
6306     void onresizestart(VARIANT v);
6307
6308     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
6309     VARIANT onresizestart();
6310
6311     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
6312     void onresizeend(VARIANT v);
6313
6314     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
6315     VARIANT onresizeend();
6316
6317     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
6318     void onmovestart(VARIANT v);
6319
6320     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
6321     VARIANT onmovestart();
6322
6323     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
6324     void onmoveend(VARIANT v);
6325
6326     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
6327     VARIANT onmoveend();
6328
6329     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
6330     void onmouseenter(VARIANT v);
6331
6332     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
6333     VARIANT onmouseenter();
6334
6335     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
6336     void onmouseleave(VARIANT v);
6337
6338     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
6339     VARIANT onmouseleave();
6340
6341     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
6342     void onactivate(VARIANT v);
6343
6344     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
6345     VARIANT onactivate();
6346
6347     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
6348     void ondeactivate(VARIANT v);
6349
6350     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
6351     VARIANT ondeactivate();
6352
6353     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
6354     VARIANT_BOOL dragDrop();
6355
6356     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
6357     LONG glyphMode();
6358
6359     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
6360     void onmousewheel(VARIANT v);
6361
6362     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
6363     VARIANT onmousewheel();
6364
6365     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
6366     void normalize();
6367
6368     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
6369     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
6370
6371     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
6372     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
6373
6374     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
6375     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
6376
6377     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
6378     void onbeforeactivate(VARIANT v);
6379
6380     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
6381     VARIANT onbeforeactivate();
6382
6383     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
6384     void onfocusin(VARIANT v);
6385
6386     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
6387     VARIANT onfocusin();
6388
6389     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
6390     void onfocusout(VARIANT v);
6391
6392     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
6393     VARIANT onfocusout();
6394
6395     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
6396     long uniqueNumber();
6397
6398     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
6399     BSTR uniqueID();
6400
6401     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
6402     long nodeType();
6403
6404     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
6405     IHTMLDOMNode *parentNode();
6406
6407     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
6408     VARIANT_BOOL hasChildNodes();
6409
6410     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
6411     IDispatch *childNodes();
6412
6413     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
6414     IDispatch *attributes();
6415
6416     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
6417     IHTMLDOMNode *insertBefore(
6418             [in] IHTMLDOMNode *newChild,
6419             [in, optional] VARIANT refChild);
6420
6421     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
6422     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
6423
6424     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
6425     IHTMLDOMNode *replaceChild(
6426             [in] IHTMLDOMNode *newChild,
6427             [in] IHTMLDOMNode *oldChild);
6428
6429     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
6430     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
6431
6432     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
6433     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
6434
6435     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
6436     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
6437
6438     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
6439     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
6440
6441     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
6442     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
6443
6444     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
6445     BSTR nodeName();
6446
6447     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
6448     void nodeValue(VARIANT v);
6449
6450     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
6451     VARIANT nodeValue();
6452
6453     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
6454     IHTMLDOMNode *firstChild();
6455
6456     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
6457     IHTMLDOMNode *lastChild();
6458
6459     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
6460     IHTMLDOMNode *previousSibling();
6461
6462     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
6463     IHTMLDOMNode *nextSibling();
6464
6465     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
6466     IDispatch *ownerDocument();
6467
6468     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
6469     void dataFld(BSTR v);
6470
6471     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
6472     BSTR dataFld();
6473
6474     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
6475     void dataSrc(BSTR v);
6476
6477     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
6478     BSTR dataSrc();
6479
6480     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
6481     void dataFormatAs(BSTR v);
6482
6483     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
6484     BSTR dataFormatAs();
6485
6486     [propput, id(DISPID_IHTMLIMGELEMENT_ISMAP), displaybind, bindable]
6487     void isMap(VARIANT_BOOL v);
6488
6489     [propget, id(DISPID_IHTMLIMGELEMENT_ISMAP), displaybind, bindable]
6490     VARIANT_BOOL isMap();
6491
6492     [propput, id(DISPID_IHTMLIMGELEMENT_USEMAP), displaybind, bindable]
6493     void useMap(BSTR v);
6494
6495     [propget, id(DISPID_IHTMLIMGELEMENT_USEMAP), displaybind, bindable]
6496     BSTR useMap();
6497
6498     [propget, id(DISPID_IHTMLIMGELEMENT_MIMETYPE)]
6499     BSTR mimeType();
6500
6501     [propget, id(DISPID_IHTMLIMGELEMENT_FILESIZE)]
6502     BSTR fileSize();
6503
6504     [propget, id(DISPID_IHTMLIMGELEMENT_FILECREATEDDATE)]
6505     BSTR fileCreatedDate();
6506
6507     [propget, id(DISPID_IHTMLIMGELEMENT_FILEMODIFIEDDATE)]
6508     BSTR fileModifiedDate();
6509
6510     [propget, id(DISPID_IHTMLIMGELEMENT_FILEUPDATEDDATE)]
6511     BSTR fileUpdatedDate();
6512
6513     [propget, id(DISPID_IHTMLIMGELEMENT_PROTOCOL)]
6514     BSTR protocol();
6515
6516     [propget, id(DISPID_IHTMLIMGELEMENT_HREF)]
6517     BSTR href();
6518
6519     [propget, id(DISPID_IHTMLIMGELEMENT_NAMEPROP)]
6520     BSTR nameProp();
6521
6522     [propput, id(DISPID_IHTMLIMGELEMENT_BORDER), displaybind, bindable]
6523     void border(VARIANT v);
6524
6525     [propget, id(DISPID_IHTMLIMGELEMENT_BORDER), displaybind, bindable]
6526     VARIANT border();
6527
6528     [propput, id(DISPID_IHTMLIMGELEMENT_VSPACE), displaybind, bindable]
6529     void vspace(long v);
6530
6531     [propget, id(DISPID_IHTMLIMGELEMENT_VSPACE), displaybind, bindable]
6532     long vspace();
6533
6534     [propput, id(DISPID_IHTMLIMGELEMENT_HSPACE), displaybind, bindable]
6535     void hspace(long v);
6536
6537     [propget, id(DISPID_IHTMLIMGELEMENT_HSPACE), displaybind, bindable]
6538     long hspace();
6539
6540     [propput, id(DISPID_IHTMLIMGELEMENT_ALT), displaybind, bindable]
6541     void alt(BSTR v);
6542
6543     [propget, id(DISPID_IHTMLIMGELEMENT_ALT), displaybind, bindable]
6544     BSTR alt();
6545
6546     [propput, id(DISPID_IHTMLIMGELEMENT_SRC), displaybind, bindable]
6547     void src(BSTR v);
6548
6549     [propget, id(DISPID_IHTMLIMGELEMENT_SRC), displaybind, bindable]
6550     BSTR src();
6551
6552     [propput, id(DISPID_IHTMLIMGELEMENT_LOWSRC), displaybind, bindable]
6553     void lowsrc(BSTR v);
6554
6555     [propget, id(DISPID_IHTMLIMGELEMENT_LOWSRC), displaybind, bindable]
6556     BSTR lowsrc();
6557
6558     [propput, id(DISPID_IHTMLIMGELEMENT_VRML), displaybind, bindable]
6559     void vrml(BSTR v);
6560
6561     [propget, id(DISPID_IHTMLIMGELEMENT_VRML), displaybind, bindable]
6562     BSTR vrml();
6563
6564     [propput, id(DISPID_IHTMLIMGELEMENT_DYNSRC), displaybind, bindable]
6565     void dynsrc(BSTR v);
6566
6567     [propget, id(DISPID_IHTMLIMGELEMENT_DYNSRC), displaybind, bindable]
6568     BSTR dynsrc();
6569
6570     [propget, id(DISPID_IHTMLIMGELEMENT_COMPLETE)]
6571     VARIANT_BOOL complete();
6572
6573     [propput, id(DISPID_IHTMLIMGELEMENT_LOOP), displaybind, bindable]
6574     void loop(VARIANT v);
6575
6576     [propget, id(DISPID_IHTMLIMGELEMENT_LOOP), displaybind, bindable]
6577     VARIANT loop();
6578
6579     [propput, id(DISPID_IHTMLIMGELEMENT_ALIGN), displaybind, bindable]
6580     void align(BSTR v);
6581
6582     [propget, id(DISPID_IHTMLIMGELEMENT_ALIGN), displaybind, bindable]
6583     BSTR align();
6584
6585     [propput, id(DISPID_IHTMLIMGELEMENT_ONLOAD), displaybind, bindable]
6586     void onload(VARIANT v);
6587
6588     [propget, id(DISPID_IHTMLIMGELEMENT_ONLOAD), displaybind, bindable]
6589     VARIANT onload();
6590
6591     [propput, id(DISPID_IHTMLIMGELEMENT_ONERROR), displaybind, bindable]
6592     void onerror(VARIANT v);
6593
6594     [propget, id(DISPID_IHTMLIMGELEMENT_ONERROR), displaybind, bindable]
6595     VARIANT onerror();
6596
6597     [propput, id(DISPID_IHTMLIMGELEMENT_ONABORT), displaybind, bindable]
6598     void onabort(VARIANT v);
6599
6600     [propget, id(DISPID_IHTMLIMGELEMENT_ONABORT), displaybind, bindable]
6601     VARIANT onabort();
6602
6603     [propput, id(DISPID_IHTMLIMGELEMENT_NAME), displaybind, bindable]
6604     void name(BSTR v);
6605
6606     [propget, id(DISPID_IHTMLIMGELEMENT_NAME), displaybind, bindable]
6607     BSTR name();
6608
6609     [propput, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
6610     void width(long v);
6611
6612     [propget, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
6613     long width();
6614
6615     [propput, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
6616     void height(long v);
6617
6618     [propget, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
6619     long height();
6620
6621     [propput, id(DISPID_IHTMLIMGELEMENT_START), displaybind, bindable]
6622     void start(BSTR v);
6623
6624     [propget, id(DISPID_IHTMLIMGELEMENT_START), displaybind, bindable]
6625     BSTR start();
6626
6627     [propput, id(DISPID_IHTMLIMGELEMENT2_LONGDESC), displaybind, bindable]
6628     void longDesc(BSTR v);
6629
6630     [propget, id(DISPID_IHTMLIMGELEMENT2_LONGDESC), displaybind, bindable]
6631     BSTR longDesc();
6632 };
6633
6634 /*****************************************************************************
6635  *    IHTMLUniqueName interface
6636  */
6637 [
6638     odl,
6639     oleautomation,
6640     dual,
6641     uuid(3050f4d0-98b5-11cf-bb82-00aa00bdce0b)
6642 ]
6643 interface IHTMLUniqueName : IDispatch
6644 {
6645     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
6646     HRESULT uniqueNumber([retval, out] long * p);
6647
6648     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
6649     HRESULT uniqueID([retval, out] BSTR * p);
6650 };
6651
6652 /*****************************************************************************
6653  *    IHTMLControlElement interface
6654  */
6655 [
6656     odl,
6657     oleautomation,
6658     dual,
6659     uuid(3050f4e9-98b5-11cf-bb82-00aa00bdce0b)
6660 ]
6661 interface IHTMLControlElement : IDispatch
6662 {
6663     [propput, id(DISPID_IHTMLCONTROLELEMENT_TABINDEX), displaybind, bindable]
6664     HRESULT tabIndex([in] short v);
6665
6666     [propget, id(DISPID_IHTMLCONTROLELEMENT_TABINDEX), displaybind, bindable]
6667     HRESULT tabIndex([retval, out] short * p);
6668
6669     [id(DISPID_IHTMLCONTROLELEMENT_FOCUS)]
6670     HRESULT focus();
6671
6672     [propput, id(DISPID_IHTMLCONTROLELEMENT_ACCESSKEY), displaybind, bindable]
6673     HRESULT accessKey([in] BSTR v);
6674
6675     [propget, id(DISPID_IHTMLCONTROLELEMENT_ACCESSKEY), displaybind, bindable]
6676     HRESULT accessKey([retval, out] BSTR * p);
6677
6678     [propput, id(DISPID_IHTMLCONTROLELEMENT_ONBLUR), displaybind, bindable]
6679     HRESULT onblur([in] VARIANT v);
6680
6681     [propget, id(DISPID_IHTMLCONTROLELEMENT_ONBLUR), displaybind, bindable]
6682     HRESULT onblur([retval, out] VARIANT * p);
6683
6684     [propput, id(DISPID_IHTMLCONTROLELEMENT_ONFOCUS), displaybind, bindable]
6685     HRESULT onfocus([in] VARIANT v);
6686
6687     [propget, id(DISPID_IHTMLCONTROLELEMENT_ONFOCUS), displaybind, bindable]
6688     HRESULT onfocus([retval, out] VARIANT * p);
6689
6690     [propput, id(DISPID_IHTMLCONTROLELEMENT_ONRESIZE), displaybind, bindable]
6691     HRESULT onresize([in] VARIANT v);
6692
6693     [propget, id(DISPID_IHTMLCONTROLELEMENT_ONRESIZE), displaybind, bindable]
6694     HRESULT onresize([retval, out] VARIANT * p);
6695
6696     [id(DISPID_IHTMLCONTROLELEMENT_BLUR)]
6697     HRESULT blur();
6698
6699     [id(DISPID_IHTMLCONTROLELEMENT_ADDFILTER)]
6700     HRESULT addFilter([in] IUnknown* pUnk);
6701
6702     [id(DISPID_IHTMLCONTROLELEMENT_REMOVEFILTER)]
6703     HRESULT removeFilter([in] IUnknown* pUnk);
6704
6705     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTHEIGHT), displaybind, bindable]
6706     HRESULT clientHeight([retval, out] long * p);
6707
6708     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTWIDTH), displaybind, bindable]
6709     HRESULT clientWidth([retval, out] long * p);
6710
6711     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTTOP), displaybind, bindable]
6712     HRESULT clientTop([retval, out] long * p);
6713
6714     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTLEFT), displaybind, bindable]
6715     HRESULT clientLeft([retval, out] long * p);
6716 };
6717
6718 /*****************************************************************************
6719  *    IHTMLBodyElement interface
6720  */
6721 [
6722     odl,
6723     oleautomation,
6724     dual,
6725     uuid(3050f1d8-98b5-11cf-bb82-00aa00bdce0b)
6726 ]
6727 interface IHTMLBodyElement : IDispatch
6728 {
6729     [propput, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
6730     HRESULT background([in] BSTR v);
6731
6732     [propget, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
6733     HRESULT background([retval, out] BSTR *p);
6734
6735     [propput, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
6736     HRESULT bgProperties([in] BSTR v);
6737
6738     [propget, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
6739     HRESULT bgProperties([retval, out] BSTR *p);
6740
6741     [propput, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
6742     HRESULT leftMargin([in] VARIANT v);
6743
6744     [propget, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
6745     HRESULT leftMargin([retval, out] VARIANT *p);
6746
6747     [propput, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
6748     HRESULT topMargin([in] VARIANT v);
6749
6750     [propget, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
6751     HRESULT topMargin([retval, out] VARIANT *p);
6752
6753     [propput, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
6754     HRESULT rightMargin([in] VARIANT v);
6755
6756     [propget, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
6757     HRESULT rightMargin([retval, out] VARIANT *p);
6758
6759     [propput, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
6760     HRESULT bottomMargin([in] VARIANT v);
6761
6762     [propget, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
6763     HRESULT bottomMargin([retval, out] VARIANT *p);
6764
6765     [propput, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
6766     HRESULT noWrap([in] VARIANT_BOOL v);
6767
6768     [propget, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
6769     HRESULT noWrap([retval, out] VARIANT_BOOL *p);
6770
6771     [propput, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
6772     HRESULT bgColor([in] VARIANT v);
6773
6774     [propget, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
6775     HRESULT bgColor([retval, out] VARIANT *p);
6776
6777     [propput, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
6778     HRESULT text([in] VARIANT v);
6779
6780     [propget, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
6781     HRESULT text([retval, out] VARIANT *p);
6782
6783     [propput, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
6784     HRESULT link([in] VARIANT v);
6785
6786     [propget, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
6787     HRESULT link([retval, out] VARIANT *p);
6788
6789     [propput, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
6790     HRESULT vLink([in] VARIANT v);
6791
6792     [propget, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
6793     HRESULT vLink([retval, out] VARIANT *p);
6794
6795     [propput, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
6796     HRESULT aLink([in] VARIANT v);
6797
6798     [propget, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
6799     HRESULT aLink([retval, out] VARIANT *p);
6800
6801     [propput, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
6802     HRESULT onload([in] VARIANT v);
6803
6804     [propget, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
6805     HRESULT onload([retval, out] VARIANT *p);
6806
6807     [propput, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
6808     HRESULT onunload([in] VARIANT v);
6809
6810     [propget, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
6811     HRESULT onunload([retval, out] VARIANT *p);
6812
6813     [propput, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
6814     HRESULT scroll([in] BSTR v);
6815
6816     [propget, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
6817     HRESULT scroll([retval, out] BSTR *p);
6818
6819     [propput, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
6820     HRESULT onselect([in] VARIANT v);
6821
6822     [propget, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
6823     HRESULT onselect([retval, out] VARIANT *p);
6824
6825     [propput, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
6826     HRESULT onbeforeunload([in] VARIANT v);
6827
6828     [propget, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
6829     HRESULT onbeforeunload([retval, out] VARIANT *p);
6830
6831     [id(DISPID_IHTMLBODYELEMENT_CREATETEXTRANGE)]
6832     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
6833 }
6834
6835 /*****************************************************************************
6836  *    IHTMLBodyElement2 interface
6837  */
6838 [
6839     odl,
6840     oleautomation,
6841     dual,
6842     uuid(3050f5c5-98b5-11cf-bb82-00aa00bdce0b)
6843 ]
6844 interface IHTMLBodyElement2 : IDispatch
6845 {
6846     [propput, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
6847     HRESULT onbeforeprint([in] VARIANT v);
6848
6849     [propget, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
6850     HRESULT onbeforeprint([retval, out] VARIANT *p);
6851
6852     [propput, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
6853     HRESULT onafterprint([in] VARIANT v);
6854
6855     [propget, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
6856     HRESULT onafterprint([retval, out] VARIANT *p);
6857 }
6858
6859 [
6860     hidden,
6861     uuid(3050f507-98b5-11cf-bb82-00aa00bdce0b)
6862 ]
6863 dispinterface DispHTMLBody
6864 {
6865 properties:
6866 methods:
6867     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
6868     void setAttribute(
6869         [in] BSTR strAttributeName,
6870         [in] VARIANT AttValue,
6871         [defaultvalue(1), in] LONG lFlags);
6872
6873     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
6874     VARIANT getAttribute(
6875         [in] BSTR strAttributeName,
6876         [defaultvalue(0), in] LONG lFlags);
6877
6878     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
6879     VARIANT_BOOL removeAttribute(
6880         [in] BSTR strAttributeName,
6881         [defaultvalue(1), in] LONG lFlags);
6882
6883     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
6884     void className(BSTR v);
6885
6886     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
6887     BSTR className();
6888
6889     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
6890     void id(BSTR v);
6891
6892     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
6893     BSTR id();
6894
6895     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
6896     BSTR tagName();
6897
6898     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
6899     IHTMLElement* parentElement();
6900
6901     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
6902     IHTMLStyle* style();
6903
6904     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
6905     void onhelp(VARIANT v);
6906
6907     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
6908     VARIANT onhelp();
6909
6910     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
6911     void onclick(VARIANT v);
6912
6913     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
6914     VARIANT onclick();
6915
6916     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
6917     void ondblclick(VARIANT v);
6918
6919     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
6920     VARIANT ondblclick();
6921
6922     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
6923     void onkeydown(VARIANT v);
6924
6925     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
6926     VARIANT onkeydown();
6927
6928     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
6929     void onkeyup(VARIANT v);
6930
6931     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
6932     VARIANT onkeyup();
6933
6934     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
6935     void onkeypress(VARIANT v);
6936
6937     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
6938     VARIANT onkeypress();
6939
6940     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
6941     void onmouseout(VARIANT v);
6942
6943     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
6944     VARIANT onmouseout();
6945
6946     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
6947     void onmouseover(VARIANT v);
6948
6949     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
6950     VARIANT onmouseover();
6951
6952     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
6953     void onmousemove(VARIANT v);
6954
6955     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
6956     VARIANT onmousemove();
6957
6958     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
6959     void onmousedown(VARIANT v);
6960
6961     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
6962     VARIANT onmousedown();
6963
6964     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
6965     void onmouseup(VARIANT v);
6966
6967     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
6968     VARIANT onmouseup();
6969
6970     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)] IDispatch* document();
6971
6972     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
6973     void title(BSTR v);
6974
6975     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
6976     BSTR title();
6977
6978     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
6979     void language(BSTR v);
6980
6981     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
6982     BSTR language();
6983
6984     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
6985     void onselectstart(VARIANT v);
6986
6987     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
6988     VARIANT onselectstart();
6989
6990     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
6991     void scrollIntoView([optional, in] VARIANT varargStart);
6992
6993     [id(DISPID_IHTMLELEMENT_CONTAINS)]
6994     VARIANT_BOOL contains([in] IHTMLElement* pChild);
6995
6996     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
6997     long sourceIndex();
6998
6999     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
7000     VARIANT recordNumber();
7001
7002     [propput, id(DISPID_IHTMLELEMENT_LANG)]
7003     void lang(BSTR v);
7004
7005     [propget, id(DISPID_IHTMLELEMENT_LANG)]
7006     BSTR lang();
7007
7008     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
7009     long offsetLeft();
7010
7011     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
7012     long offsetTop();
7013
7014     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
7015     long offsetWidth();
7016
7017     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
7018     long offsetHeight();
7019
7020     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
7021     IHTMLElement* offsetParent();
7022
7023     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
7024     void innerHTML(BSTR v);
7025
7026     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
7027     BSTR innerHTML();
7028
7029     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
7030     void innerText(BSTR v);
7031
7032     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
7033     BSTR innerText();
7034
7035     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
7036     void outerHTML(BSTR v);
7037
7038     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
7039     BSTR outerHTML();
7040
7041     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
7042     void outerText(BSTR v);
7043
7044     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
7045     BSTR outerText();
7046
7047     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
7048     void insertAdjacentHTML(
7049         [in] BSTR where,
7050         [in] BSTR html);
7051
7052     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
7053     void insertAdjacentText(
7054         [in] BSTR where,
7055         [in] BSTR text);
7056
7057     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
7058     IHTMLElement* parentTextEdit();
7059
7060     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
7061     VARIANT_BOOL isTextEdit();
7062
7063     [id(DISPID_IHTMLELEMENT_CLICK)] void click();
7064
7065     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
7066     IHTMLFiltersCollection* filters();
7067
7068     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
7069     void ondragstart(VARIANT v);
7070
7071     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
7072     VARIANT ondragstart();
7073
7074     [id(DISPID_IHTMLELEMENT_TOSTRING)]
7075     BSTR toString();
7076
7077     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
7078     void onbeforeupdate(VARIANT v);
7079
7080     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
7081     VARIANT onbeforeupdate();
7082
7083     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
7084     void onafterupdate(VARIANT v);
7085
7086     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
7087     VARIANT onafterupdate();
7088
7089     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
7090     void onerrorupdate(VARIANT v);
7091
7092     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
7093     VARIANT onerrorupdate();
7094
7095     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
7096     void onrowexit(VARIANT v);
7097
7098     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
7099     VARIANT onrowexit();
7100
7101     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
7102     void onrowenter(VARIANT v);
7103
7104     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
7105     VARIANT onrowenter();
7106
7107     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
7108     void ondatasetchanged(VARIANT v);
7109
7110     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
7111     VARIANT ondatasetchanged();
7112
7113     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
7114     void ondataavailable(VARIANT v);
7115
7116     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
7117     VARIANT ondataavailable();
7118
7119     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
7120     void ondatasetcomplete(VARIANT v);
7121
7122     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
7123     VARIANT ondatasetcomplete();
7124
7125     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
7126     void onfilterchange(VARIANT v);
7127
7128     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
7129     VARIANT onfilterchange();
7130
7131     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
7132     IDispatch* children();
7133
7134     [propget, id(DISPID_IHTMLELEMENT_ALL)]
7135     IDispatch* all();
7136
7137     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
7138     BSTR scopeName();
7139
7140     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
7141     void setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
7142
7143     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
7144     void releaseCapture();
7145
7146     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
7147     void onlosecapture(VARIANT v);
7148
7149     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
7150     VARIANT onlosecapture();
7151
7152     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
7153     BSTR componentFromPoint([in] long x,[in] long y);
7154
7155     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
7156     void doScroll([optional, in] VARIANT component);
7157
7158     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
7159     void onscroll(VARIANT v);
7160
7161     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
7162     VARIANT onscroll();
7163
7164     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
7165     void ondrag(VARIANT v);
7166
7167     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
7168     VARIANT ondrag();
7169
7170     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
7171     void ondragend(VARIANT v);
7172
7173     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
7174     VARIANT ondragend();
7175
7176     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
7177     void ondragenter(VARIANT v);
7178
7179     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
7180     VARIANT ondragenter();
7181
7182     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
7183     void ondragover(VARIANT v);
7184
7185     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
7186     VARIANT ondragover();
7187
7188     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
7189     void ondragleave(VARIANT v);
7190
7191     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
7192     VARIANT ondragleave();
7193
7194     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
7195      void ondrop(VARIANT v);
7196
7197     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
7198     VARIANT ondrop();
7199
7200     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
7201     void onbeforecut(VARIANT v);
7202
7203     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
7204     VARIANT onbeforecut();
7205
7206     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
7207     void oncut(VARIANT v);
7208
7209     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
7210     VARIANT oncut();
7211
7212     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
7213     void onbeforecopy(VARIANT v);
7214
7215     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
7216     VARIANT onbeforecopy();
7217
7218     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
7219     void oncopy(VARIANT v);
7220
7221     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
7222     VARIANT oncopy();
7223
7224     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
7225     void onbeforepaste(VARIANT v);
7226
7227     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
7228      VARIANT onbeforepaste();
7229
7230     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
7231     void onpaste(VARIANT v);
7232
7233     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
7234     VARIANT onpaste();
7235
7236     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
7237     IHTMLCurrentStyle* currentStyle();
7238
7239     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
7240     void onpropertychange(VARIANT v);
7241
7242     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
7243     VARIANT onpropertychange();
7244
7245     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
7246     IHTMLRectCollection* getClientRects();
7247
7248     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
7249     IHTMLRect* getBoundingClientRect();
7250
7251     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
7252     void setExpression(
7253         [in] BSTR propname,
7254         [in] BSTR expr,
7255         [defaultvalue(""), in] BSTR lang);
7256
7257     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
7258     VARIANT getExpression([in] BSTR propname);
7259
7260     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
7261     VARIANT_BOOL removeExpression([in] BSTR propname);
7262
7263     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
7264     void tabIndex(short v);
7265
7266     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
7267     short tabIndex();
7268
7269     [id(DISPID_IHTMLELEMENT2_FOCUS)]
7270     void focus();
7271
7272     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
7273     void accessKey(BSTR v);
7274
7275     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
7276     BSTR accessKey();
7277
7278     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
7279     void onblur(VARIANT v);
7280
7281     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
7282      VARIANT onblur();
7283
7284     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
7285     void onfocus(VARIANT v);
7286
7287     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
7288     VARIANT onfocus();
7289
7290     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
7291     void onresize(VARIANT v);
7292
7293     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
7294     VARIANT onresize();
7295
7296     [id(DISPID_IHTMLELEMENT2_BLUR)]
7297     void blur();
7298
7299     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
7300     void addFilter([in] IUnknown* pUnk);
7301
7302     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
7303     void removeFilter([in] IUnknown* pUnk);
7304
7305     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
7306     long clientHeight();
7307
7308     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
7309     long clientWidth();
7310
7311     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
7312     long clientTop();
7313
7314     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
7315     long clientLeft();
7316
7317     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
7318     VARIANT_BOOL attachEvent(
7319         [in] BSTR event,
7320         [in] IDispatch* pDisp);
7321
7322     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
7323     void detachEvent(
7324         [in] BSTR event,
7325         [in] IDispatch* pDisp);
7326
7327     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)] VARIANT readyState();
7328
7329     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
7330      void onreadystatechange(VARIANT v);
7331
7332     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
7333     VARIANT onreadystatechange();
7334
7335     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
7336     void onrowsdelete(VARIANT v);
7337
7338     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
7339     VARIANT onrowsdelete();
7340
7341     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
7342     void onrowsinserted(VARIANT v);
7343
7344     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
7345     VARIANT onrowsinserted();
7346
7347     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
7348     void oncellchange(VARIANT v);
7349
7350     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
7351     VARIANT oncellchange();
7352
7353     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
7354     void dir(BSTR v);
7355
7356     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
7357     BSTR dir();
7358
7359     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
7360     IDispatch* createControlRange();
7361
7362     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
7363     long scrollHeight();
7364
7365     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
7366     long scrollWidth();
7367
7368     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
7369     void scrollTop(long v);
7370
7371     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
7372     long scrollTop();
7373
7374     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
7375     void scrollLeft(long v);
7376
7377     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
7378     long scrollLeft();
7379
7380     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
7381     void clearAttributes();
7382
7383     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
7384     void oncontextmenu(VARIANT v);
7385
7386     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
7387     VARIANT oncontextmenu();
7388
7389     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
7390     IHTMLElement* insertAdjacentElement(
7391         [in] BSTR where,
7392         [in] IHTMLElement* insertedElement);
7393
7394     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
7395     IHTMLElement* applyElement([in] IHTMLElement* apply,[in] BSTR where);
7396
7397     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
7398     BSTR getAdjacentText([in] BSTR where);
7399
7400     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
7401     BSTR replaceAdjacentText([in] BSTR where,[in] BSTR newText);
7402
7403     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
7404     VARIANT_BOOL canHaveChildren();
7405
7406     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
7407     long addBehavior([in] BSTR bstrUrl,[optional, in] VARIANT* pvarFactory);
7408
7409     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
7410     VARIANT_BOOL removeBehavior([in] long cookie);
7411
7412     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
7413     IHTMLStyle* runtimeStyle();
7414
7415     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
7416     IDispatch* behaviorUrns();
7417
7418     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
7419     void tagUrn(BSTR v);
7420
7421     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
7422     BSTR tagUrn();
7423
7424     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
7425     void onbeforeeditfocus(VARIANT v);
7426
7427     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
7428     VARIANT onbeforeeditfocus();
7429
7430     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
7431     long readyStateValue();
7432
7433     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
7434     IHTMLElementCollection* getElementsByTagName([in] BSTR v);
7435
7436     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
7437     void mergeAttributes(
7438         [in] IHTMLElement* mergeThis,
7439         [optional, in] VARIANT* pvarFlags);
7440
7441     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
7442     VARIANT_BOOL isMultiLine();
7443
7444     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
7445     VARIANT_BOOL canHaveHTML();
7446
7447     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
7448     void onlayoutcomplete(VARIANT v);
7449
7450     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
7451     VARIANT onlayoutcomplete();
7452
7453     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
7454     void onpage(VARIANT v);
7455
7456     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
7457     VARIANT onpage();
7458
7459     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
7460     void inflateBlock(VARIANT_BOOL v);
7461
7462     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
7463     VARIANT_BOOL inflateBlock();
7464
7465     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
7466     void onbeforedeactivate(VARIANT v);
7467
7468     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
7469     VARIANT onbeforedeactivate();
7470
7471     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
7472     void setActive();
7473
7474     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
7475     void contentEditable(BSTR v);
7476
7477     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
7478     BSTR contentEditable();
7479
7480     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
7481     VARIANT_BOOL isContentEditable();
7482
7483     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
7484     void hideFocus(VARIANT_BOOL v);
7485
7486     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
7487     VARIANT_BOOL hideFocus();
7488
7489     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
7490     void disabled(VARIANT_BOOL v);
7491
7492     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
7493     VARIANT_BOOL disabled();
7494
7495     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
7496     VARIANT_BOOL isDisabled();
7497
7498     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
7499     void onmove(VARIANT v);
7500
7501     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
7502     VARIANT onmove();
7503
7504     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
7505     void oncontrolselect(VARIANT v);
7506
7507     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
7508     VARIANT oncontrolselect();
7509
7510     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
7511     VARIANT_BOOL fireEvent(
7512         [in] BSTR bstrEventName,
7513         [optional, in] VARIANT* pvarEventObject);
7514
7515     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
7516      void onresizestart(VARIANT v);
7517
7518     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
7519     VARIANT onresizestart();
7520
7521     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
7522     void onresizeend(VARIANT v);
7523
7524     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
7525     VARIANT onresizeend();
7526
7527     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
7528     void onmovestart(VARIANT v);
7529
7530     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
7531     VARIANT onmovestart();
7532
7533     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
7534     void onmoveend(VARIANT v);
7535
7536     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
7537     VARIANT onmoveend();
7538
7539     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
7540     void onmouseenter(VARIANT v);
7541
7542     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
7543     VARIANT onmouseenter();
7544
7545     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
7546     void onmouseleave(VARIANT v);
7547
7548     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
7549     VARIANT onmouseleave();
7550
7551     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
7552     void onactivate(VARIANT v);
7553     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] VARIANT onactivate();
7554
7555     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
7556     void ondeactivate(VARIANT v);
7557
7558     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
7559     VARIANT ondeactivate();
7560
7561     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
7562     VARIANT_BOOL dragDrop();
7563
7564     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
7565     LONG glyphMode();
7566
7567     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
7568     void onmousewheel(VARIANT v);
7569
7570     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
7571     VARIANT onmousewheel();
7572
7573     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
7574     void normalize();
7575
7576     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
7577      IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrname);
7578
7579     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
7580     IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
7581
7582     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
7583     IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
7584
7585     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
7586     void onbeforeactivate(VARIANT v);
7587
7588     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
7589     VARIANT onbeforeactivate();
7590
7591     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
7592     void onfocusin(VARIANT v);
7593
7594     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
7595     VARIANT onfocusin();
7596
7597     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
7598     void onfocusout(VARIANT v);
7599
7600     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
7601     VARIANT onfocusout();
7602
7603     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
7604     long uniqueNumber();
7605
7606     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
7607     BSTR uniqueID();
7608
7609     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
7610     long nodeType();
7611
7612     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
7613     IHTMLDOMNode* parentNode();
7614
7615     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
7616     VARIANT_BOOL hasChildNodes();
7617
7618     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
7619     IDispatch* childNodes();
7620
7621     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
7622     IDispatch* attributes();
7623
7624     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
7625     IHTMLDOMNode* insertBefore(
7626         [in] IHTMLDOMNode* newChild,
7627         [optional, in] VARIANT refChild);
7628
7629     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
7630     IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
7631
7632     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
7633     IHTMLDOMNode* replaceChild(
7634         [in] IHTMLDOMNode* newChild,
7635         [in] IHTMLDOMNode* oldChild);
7636
7637     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
7638     IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
7639
7640     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
7641     IHTMLDOMNode* removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep);
7642
7643     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
7644     IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
7645
7646     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
7647     IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
7648
7649     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
7650     IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
7651
7652     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
7653     BSTR nodeName();
7654
7655     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
7656     void nodeValue(VARIANT v);
7657
7658     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
7659     VARIANT nodeValue();
7660
7661     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
7662     IHTMLDOMNode* firstChild();
7663
7664     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
7665     IHTMLDOMNode* lastChild();
7666
7667     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
7668     IHTMLDOMNode* previousSibling();
7669
7670     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
7671     IHTMLDOMNode* nextSibling();
7672
7673     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
7674     IDispatch* ownerDocument();
7675
7676     [propput, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
7677     void background(BSTR v);
7678
7679     [propget, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
7680     BSTR background();
7681
7682     [propput, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
7683     void bgProperties(BSTR v);
7684
7685     [propget, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
7686     BSTR bgProperties();
7687
7688     [propput, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
7689     void leftMargin(VARIANT v);
7690
7691     [propget, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
7692     VARIANT leftMargin();
7693
7694     [propput, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
7695     void topMargin(VARIANT v);
7696
7697     [propget, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
7698     VARIANT topMargin();
7699
7700     [propput, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
7701     void rightMargin(VARIANT v);
7702
7703     [propget, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
7704     VARIANT rightMargin();
7705
7706     [propput, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
7707     void bottomMargin(VARIANT v);
7708
7709     [propget, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
7710     VARIANT bottomMargin();
7711
7712     [propput, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
7713     void noWrap(VARIANT_BOOL v);
7714
7715     [propget, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
7716     VARIANT_BOOL noWrap();
7717
7718     [propput, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
7719     void bgColor(VARIANT v);
7720
7721     [propget, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
7722     VARIANT bgColor();
7723
7724     [propput, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
7725     void text(VARIANT v);
7726
7727     [propget, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
7728     VARIANT text();
7729
7730     [propput, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
7731     void link(VARIANT v);
7732
7733     [propget, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
7734     VARIANT link();
7735
7736     [propput, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
7737     void vLink(VARIANT v);
7738
7739     [propget, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
7740     VARIANT vLink();
7741
7742     [propput, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
7743     void aLink(VARIANT v);
7744
7745     [propget, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
7746     VARIANT aLink();
7747
7748     [propput, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
7749     void onload(VARIANT v);
7750
7751     [propget, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
7752     VARIANT onload();
7753
7754     [propput, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
7755     void onunload(VARIANT v);
7756
7757     [propget, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
7758     VARIANT onunload();
7759
7760     [propput, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
7761     void scroll(BSTR v);
7762
7763     [propget, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
7764     BSTR scroll();
7765
7766     [propput, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
7767     void onselect(VARIANT v);
7768
7769     [propget, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
7770     VARIANT onselect();
7771
7772     [propput, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
7773     void onbeforeunload(VARIANT v);
7774
7775     [propget, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
7776     VARIANT onbeforeunload();
7777
7778     [id(DISPID_IHTMLBODYELEMENT_CREATETEXTRANGE)]
7779     IHTMLTxtRange* createTextRange();
7780
7781     [propput, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
7782     void onbeforeprint(VARIANT v);
7783
7784     [propget, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
7785     VARIANT onbeforeprint();
7786
7787     [propput, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
7788     void onafterprint(VARIANT v);
7789
7790     [propget, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
7791     VARIANT onafterprint();
7792 };
7793
7794 [
7795     uuid(3050f24a-98b5-11cf-bb82-00aa00bdce0b)
7796 ]
7797 coclass HTMLBody
7798 {
7799     [default]           dispinterface DispHTMLBody;
7800     [source, default]   dispinterface HTMLTextContainerEvents;
7801     [source]            dispinterface HTMLTextContainerEvents2;
7802                         interface IHTMLElement;
7803                         interface IHTMLElement2;
7804                         interface IHTMLElement3;
7805                         interface IHTMLElement4;
7806                         interface IHTMLUniqueName;
7807                         interface IHTMLDOMNode;
7808                         interface IHTMLDOMNode2;
7809                         interface IHTMLControlElement;
7810                         interface IHTMLTextContainer;
7811                         interface IHTMLBodyElement;
7812                         interface IHTMLBodyElement2;
7813 };
7814
7815 /*****************************************************************************
7816  *    IHTMLAnchorElement interface
7817  */
7818 [
7819     odl,
7820     oleautomation,
7821     dual,
7822     uuid(3050f1da-98b5-11cf-bb82-00aa00bdce0b)
7823 ]
7824 interface IHTMLAnchorElement : IDispatch
7825 {
7826     [propput, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
7827     HRESULT href([in] BSTR v);
7828
7829     [propget, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
7830     HRESULT href([retval, out] BSTR *p);
7831
7832     [propput, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
7833     HRESULT target([in] BSTR v);
7834
7835     [propget, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
7836     HRESULT target([retval, out] BSTR *p);
7837
7838     [propput, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
7839     HRESULT rel([in] BSTR v);
7840
7841     [propget, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
7842     HRESULT rel([retval, out] BSTR *p);
7843
7844     [propput, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
7845     HRESULT rev([in] BSTR v);
7846
7847     [propget, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
7848     HRESULT rev([retval, out] BSTR *p);
7849
7850     [propput, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
7851     HRESULT urn([in] BSTR v);
7852
7853     [propget, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
7854     HRESULT urn([retval, out] BSTR *p);
7855
7856     [propput, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
7857     HRESULT Methods([in] BSTR v);
7858
7859     [propget, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
7860     HRESULT Methods([retval, out] BSTR *p);
7861
7862     [propput, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
7863     HRESULT name([in] BSTR v);
7864
7865     [propget, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
7866     HRESULT name([retval, out] BSTR *p);
7867
7868     [propput, id(DISPID_IHTMLANCHORELEMENT_HOST)]
7869     HRESULT host([in] BSTR v);
7870
7871     [propget, id(DISPID_IHTMLANCHORELEMENT_HOST)]
7872     HRESULT host([retval, out] BSTR *p);
7873
7874     [propput, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
7875     HRESULT hostname([in] BSTR v);
7876
7877     [propget, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
7878     HRESULT hostname([retval, out] BSTR *p);
7879
7880     [propput, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
7881     HRESULT pathname([in] BSTR v);
7882
7883     [propget, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
7884     HRESULT pathname([retval, out] BSTR *p);
7885
7886     [propput, id(DISPID_IHTMLANCHORELEMENT_PORT)]
7887     HRESULT port([in] BSTR v);
7888
7889     [propget, id(DISPID_IHTMLANCHORELEMENT_PORT)]
7890     HRESULT port([retval, out] BSTR *p);
7891
7892     [propput, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
7893     HRESULT protocol([in] BSTR v);
7894
7895     [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
7896     HRESULT protocol([retval, out] BSTR *p);
7897
7898     [propput, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
7899     HRESULT search([in] BSTR v);
7900
7901     [propget, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
7902     HRESULT search([retval, out] BSTR *p);
7903
7904     [propput, id(DISPID_IHTMLANCHORELEMENT_HASH)]
7905     HRESULT hash([in] BSTR v);
7906
7907     [propget, id(DISPID_IHTMLANCHORELEMENT_HASH)]
7908     HRESULT hash([retval, out] BSTR *p);
7909
7910     [propput, id(DISPID_IHTMLANCHORELEMENT_ONBLUR), displaybind, bindable]
7911     HRESULT onblur([in] VARIANT v);
7912
7913     [propget, id(DISPID_IHTMLANCHORELEMENT_ONBLUR), displaybind, bindable]
7914     HRESULT onblur([retval, out] VARIANT *p);
7915
7916     [propput, id(DISPID_IHTMLANCHORELEMENT_ONFOCUS), displaybind, bindable]
7917     HRESULT onfocus([in] VARIANT v);
7918
7919     [propget, id(DISPID_IHTMLANCHORELEMENT_ONFOCUS), displaybind, bindable]
7920     HRESULT onfocus([retval, out] VARIANT *p);
7921
7922     [propput, id(DISPID_IHTMLANCHORELEMENT_ACCESSKEY), displaybind, bindable]
7923     HRESULT accessKey([in] BSTR v);
7924
7925     [propget, id(DISPID_IHTMLANCHORELEMENT_ACCESSKEY), displaybind, bindable]
7926     HRESULT accessKey([retval, out] BSTR *p);
7927
7928     [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOLLONG)]
7929     HRESULT protocolLong([retval, out] BSTR *p);
7930
7931     [propget, id(DISPID_IHTMLANCHORELEMENT_MIMETYPE)]
7932     HRESULT mimeType([retval, out] BSTR *p);
7933
7934     [propget, id(DISPID_IHTMLANCHORELEMENT_NAMEPROP)]
7935     HRESULT nameProp([retval, out] BSTR *p);
7936
7937     [propput, id(DISPID_IHTMLANCHORELEMENT_TABINDEX), displaybind, bindable]
7938     HRESULT tabIndex([in] short v);
7939
7940     [propget, id(DISPID_IHTMLANCHORELEMENT_TABINDEX), displaybind, bindable]
7941     HRESULT tabIndex([retval, out] short *p);
7942
7943     [id(DISPID_IHTMLANCHORELEMENT_FOCUS)]
7944     HRESULT focus();
7945
7946     [id(DISPID_IHTMLANCHORELEMENT_BLUR)]
7947     HRESULT blur();
7948 }
7949
7950 /*****************************************************************************
7951  *    IHTMLElementCollection interface
7952  */
7953 [
7954     odl,
7955     oleautomation,
7956     dual,
7957     uuid(3050F21F-98B5-11CF-BB82-00AA00BDCE0B)
7958 ]
7959 interface IHTMLElementCollection : IDispatch
7960 {
7961     [id(DISPID_IHTMLELEMENTCOLLECTION_TOSTRING)]
7962     HRESULT toString([retval, out] BSTR *String);
7963
7964     [propput, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
7965     HRESULT length([in] long v);
7966
7967     [propget, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
7968     HRESULT length([retval, out] long *p);
7969
7970     [propget, id(DISPID_IHTMLELEMENTCOLLECTION__NEWENUM)]
7971     HRESULT _newEnum([retval, out] IUnknown **p);
7972
7973     [id(DISPID_IHTMLELEMENTCOLLECTION_ITEM)]
7974     HRESULT item(
7975         [optional, in] VARIANT name,
7976         [optional, in] VARIANT index,
7977         [retval,  out] IDispatch **pdisp);
7978
7979     [id(DISPID_IHTMLELEMENTCOLLECTION_TAGS)]
7980     HRESULT tags(
7981         [in] VARIANT tagName,
7982         [retval, out] IDispatch **pdisp);
7983 }
7984
7985 /*****************************************************************************
7986  *    DispHTMLElementCollection dispinterface
7987  */
7988 [
7989     hidden,
7990     uuid(3050f56b-98b5-11cf-bb82-00aa00bdce0b)
7991 ]
7992 dispinterface DispHTMLElementCollection
7993 {
7994 properties:
7995 methods:
7996     [id(DISPID_IHTMLELEMENTCOLLECTION_TOSTRING)]
7997     BSTR toString();
7998
7999     [propput, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
8000     void length(long v);
8001
8002     [propget, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
8003     long length();
8004
8005     [propget, id(DISPID_IHTMLELEMENTCOLLECTION__NEWENUM), hidden, restricted]
8006     IUnknown *_newEnum();
8007
8008     [id(DISPID_IHTMLELEMENTCOLLECTION_ITEM)]
8009     IDispatch *item(
8010             [in, optional] VARIANT name,
8011             [in, optional] VARIANT index);
8012
8013     [id(DISPID_IHTMLELEMENTCOLLECTION_TAGS)]
8014     IDispatch *tags(
8015             [in] VARIANT tagName);
8016
8017     [id(DISPID_IHTMLELEMENTCOLLECTION2_URNS)]
8018     IDispatch *urns([in] VARIANT urn);
8019
8020     [id(DISPID_IHTMLELEMENTCOLLECTION3_NAMEDITEM)]
8021     IDispatch *namedItem([in] BSTR name);
8022 }
8023
8024 /*****************************************************************************
8025  *    IHTMLSelectElement interface
8026  */
8027 [
8028     odl,
8029     oleautomation,
8030     dual,
8031     uuid(3050f244-98b5-11cf-bb82-00aa00bdce0b)
8032 ]
8033 interface IHTMLSelectElement : IDispatch
8034 {
8035     [propput, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
8036     HRESULT size([in] long v);
8037
8038     [propget, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
8039     HRESULT size([retval, out] long *p);
8040
8041     [propput, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
8042     HRESULT multiple([in] VARIANT_BOOL v);
8043
8044     [propget, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
8045     HRESULT multiple([retval, out] VARIANT_BOOL *p);
8046
8047     [propput, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
8048     HRESULT name([in] BSTR v);
8049
8050     [propget, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
8051     HRESULT name([retval, out] BSTR *p);
8052
8053     [propget, id(DISPID_IHTMLSELECTELEMENT_OPTIONS)]
8054     HRESULT options([retval, out] IDispatch **p);
8055
8056     [propput, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
8057     HRESULT onchange([in] VARIANT v);
8058
8059     [propget, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
8060     HRESULT onchange([retval, out] VARIANT *p);
8061
8062     [propput, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
8063     HRESULT selectedIndex([in] long v);
8064
8065     [propget, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
8066     HRESULT selectedIndex([retval, out] long *p);
8067
8068     [propget, id(DISPID_IHTMLSELECTELEMENT_TYPE), displaybind, bindable]
8069     HRESULT type([retval, out] BSTR *p);
8070
8071     [propput, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
8072     HRESULT value([in] BSTR v);
8073
8074     [propget, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
8075     HRESULT value([retval, out] BSTR *p);
8076
8077     [propput, id(DISPID_IHTMLSELECTELEMENT_DISABLED), displaybind, bindable]
8078     HRESULT disabled([in] VARIANT_BOOL v);
8079
8080     [propget, id(DISPID_IHTMLSELECTELEMENT_DISABLED), displaybind, bindable]
8081     HRESULT disabled([retval, out] VARIANT_BOOL *p);
8082
8083     [propget, id(DISPID_IHTMLSELECTELEMENT_FORM)]
8084     HRESULT form([retval, out] IHTMLFormElement **p);
8085
8086     [id(DISPID_IHTMLSELECTELEMENT_ADD)]
8087     HRESULT add(
8088         [in] IHTMLElement *element,
8089         [optional, in] VARIANT before);
8090
8091     [id(DISPID_IHTMLSELECTELEMENT_REMOVE)]
8092     HRESULT remove([defaultvalue(-1), in] long index);
8093
8094     [propput, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
8095     HRESULT length([in] long v);
8096
8097     [propget, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
8098     HRESULT length([retval, out] long *p);
8099
8100     [propget, id(DISPID_IHTMLSELECTELEMENT__NEWENUM), hidden, restricted]
8101     HRESULT _newEnum([retval, out] IUnknown **p);
8102
8103     [id(DISPID_IHTMLSELECTELEMENT_ITEM)]
8104     HRESULT item(
8105         [optional, in] VARIANT name,
8106         [optional, in] VARIANT index,
8107         [retval, out] IDispatch **pdisp);
8108
8109     [id(DISPID_IHTMLSELECTELEMENT_TAGS)]
8110     HRESULT tags(
8111         [in] VARIANT tagName,
8112         [retval, out] IDispatch **pdisp);
8113 }
8114
8115 /*****************************************************************************
8116  *    DispHTMLSelectElement dispinterface
8117  */
8118 [
8119     hidden,
8120     uuid(3050f531-98b5-11cf-bb82-00aa00bdce0b)
8121 ]
8122 dispinterface DispHTMLSelectElement
8123 {
8124 properties:
8125 methods:
8126     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
8127     void setAttribute(
8128             [in] BSTR strAttributeName,
8129             [in] VARIANT AttributeValue,
8130             [in, defaultvalue(1)] LONG lFlags);
8131
8132     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
8133     VARIANT getAttribute(
8134              [in] BSTR strAttributeName,
8135              [in, defaultvalue(0)] LONG lFlags);
8136
8137     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
8138     VARIANT_BOOL removeAttribute(
8139             [in] BSTR strAttributeName,
8140             [in, defaultvalue(1)] LONG lFlags);
8141
8142     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
8143     void className(BSTR v);
8144
8145     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
8146     BSTR className();
8147
8148     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
8149     void id(BSTR v);
8150
8151     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
8152     BSTR id();
8153
8154     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
8155     BSTR tagName();
8156
8157     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
8158     IHTMLElement *parentElement();
8159
8160     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
8161     IHTMLStyle *style();
8162
8163     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
8164     void onhelp(VARIANT v);
8165
8166     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
8167     VARIANT onhelp();
8168
8169     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
8170     void onclick(VARIANT v);
8171
8172     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
8173     VARIANT onclick();
8174
8175     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
8176     void ondblclick(VARIANT v);
8177
8178     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
8179     VARIANT ondblclick();
8180
8181     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
8182     void onkeydown(VARIANT v);
8183
8184     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
8185     VARIANT onkeydown();
8186
8187     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
8188     void onkeyup(VARIANT v);
8189
8190     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
8191     VARIANT onkeyup();
8192
8193     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
8194     void onkeypress(VARIANT v);
8195
8196     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
8197     VARIANT onkeypress();
8198
8199     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
8200     void onmouseout(VARIANT v);
8201
8202     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
8203     VARIANT onmouseout();
8204
8205     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
8206     void onmouseover(VARIANT v);
8207
8208     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
8209     VARIANT onmouseover();
8210
8211     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
8212     void onmousemove(VARIANT v);
8213
8214     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
8215     VARIANT onmousemove();
8216
8217     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
8218     void onmousedown(VARIANT v);
8219
8220     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
8221     VARIANT onmousedown();
8222
8223     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
8224     void onmouseup(VARIANT v);
8225
8226     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
8227     VARIANT onmouseup();
8228
8229     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
8230     IDispatch *document();
8231
8232     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
8233     void title(BSTR v);
8234
8235     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
8236     BSTR title();
8237
8238     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
8239     void language(BSTR v);
8240
8241     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
8242     BSTR language();
8243
8244     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
8245     void onselectstart(VARIANT v);
8246
8247     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
8248     VARIANT onselectstart();
8249
8250     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
8251     void scrollIntoView([in, optional] VARIANT varargStart);
8252
8253     [id(DISPID_IHTMLELEMENT_CONTAINS)]
8254     VARIANT_BOOL contains([in] IHTMLElement *pChild);
8255
8256     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
8257     long sourceIndex();
8258
8259     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
8260     VARIANT recordNumber();
8261
8262     [propput, id(DISPID_IHTMLELEMENT_LANG)]
8263     void lang(BSTR v);
8264
8265     [propget, id(DISPID_IHTMLELEMENT_LANG)]
8266     BSTR lang();
8267
8268     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
8269     long offsetLeft();
8270
8271     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
8272     long offsetTop();
8273
8274     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
8275     long offsetWidth();
8276
8277     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
8278     long offsetHeight();
8279
8280     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
8281     IHTMLElement *offsetParent();
8282
8283     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
8284     void innerHTML(BSTR v);
8285
8286     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
8287     BSTR innerHTML();
8288
8289     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
8290     void innerText(BSTR v);
8291
8292     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
8293     BSTR innerText();
8294
8295     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
8296     void outerHTML(BSTR v);
8297
8298     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
8299     BSTR outerHTML();
8300
8301     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
8302     void outerText(BSTR v);
8303
8304     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
8305     BSTR outerText();
8306
8307     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
8308     void insertAdjacentHTML(
8309             [in] BSTR where,
8310             [in] BSTR html);
8311
8312     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
8313     void insertAdjacentText(
8314             [in] BSTR where,
8315             [in] BSTR text);
8316
8317     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
8318     IHTMLElement *parentTextEdit();
8319
8320     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
8321     VARIANT_BOOL isTextEdit();
8322
8323     [id(DISPID_IHTMLELEMENT_CLICK)]
8324     void click();
8325
8326     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
8327     IHTMLFiltersCollection *filters();
8328
8329     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
8330     void ondragstart(VARIANT v);
8331
8332     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
8333     VARIANT ondragstart();
8334
8335     [id(DISPID_IHTMLELEMENT_TOSTRING)]
8336     BSTR toString();
8337
8338     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
8339     void onbeforeupdate(VARIANT v);
8340
8341     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
8342     VARIANT onbeforeupdate();
8343
8344     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
8345     void onafterupdate(VARIANT v);
8346
8347     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
8348     VARIANT onafterupdate();
8349
8350     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
8351     void onerrorupdate(VARIANT v);
8352
8353     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
8354     VARIANT onerrorupdate();
8355
8356     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
8357     void onrowexit(VARIANT v);
8358
8359     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
8360     VARIANT onrowexit();
8361
8362     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
8363     void onrowenter(VARIANT v);
8364
8365     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
8366     VARIANT onrowenter();
8367
8368     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
8369     void ondatasetchanged(VARIANT v);
8370
8371     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
8372     VARIANT ondatasetchanged();
8373
8374     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
8375     void ondataavailable(VARIANT v);
8376
8377     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
8378     VARIANT ondataavailable();
8379
8380     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
8381     void ondatasetcomplete(VARIANT v);
8382
8383     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
8384     VARIANT ondatasetcomplete();
8385
8386     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
8387     void onfilterchange(VARIANT v);
8388
8389     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
8390     VARIANT onfilterchange();
8391
8392     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
8393     IDispatch *children();
8394
8395     [propget, id(DISPID_IHTMLELEMENT_ALL)]
8396     IDispatch *all();
8397
8398     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
8399     BSTR scopeName();
8400
8401     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
8402     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
8403
8404     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
8405     void releaseCapture();
8406
8407     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
8408     void onlosecapture(VARIANT v);
8409
8410     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
8411     VARIANT onlosecapture();
8412
8413     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
8414     BSTR componentFromPoint(
8415             [in] long x,
8416             [in] long y);
8417
8418     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
8419     void doScroll([in, optional] VARIANT component);
8420
8421     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
8422     void onscroll(VARIANT v);
8423
8424     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
8425     VARIANT onscroll();
8426
8427     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
8428     void ondrag(VARIANT v);
8429
8430     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
8431     VARIANT ondrag();
8432
8433     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
8434     void ondragend(VARIANT v);
8435
8436     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
8437     VARIANT ondragend();
8438
8439     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
8440     void ondragenter(VARIANT v);
8441
8442     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
8443     VARIANT ondragenter();
8444
8445     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
8446     void ondragover(VARIANT v);
8447
8448     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
8449     VARIANT ondragover();
8450
8451     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
8452     void ondragleave(VARIANT v);
8453
8454     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
8455     VARIANT ondragleave();
8456
8457     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
8458     void ondrop(VARIANT v);
8459
8460     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
8461     VARIANT ondrop();
8462
8463     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
8464     void onbeforecut(VARIANT v);
8465
8466     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
8467     VARIANT onbeforecut();
8468
8469     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
8470     void oncut(VARIANT v);
8471
8472     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
8473     VARIANT oncut();
8474
8475     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
8476     void onbeforecopy(VARIANT v);
8477
8478     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
8479     VARIANT onbeforecopy();
8480
8481     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
8482     void oncopy(VARIANT v);
8483
8484     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
8485     VARIANT oncopy();
8486
8487     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
8488     void onbeforepaste(VARIANT v);
8489
8490     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
8491     VARIANT onbeforepaste();
8492
8493     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
8494     void onpaste(VARIANT v);
8495
8496     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
8497     VARIANT onpaste();
8498
8499     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
8500     IHTMLCurrentStyle *currentStyle();
8501
8502     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
8503     void onpropertychange(VARIANT v);
8504
8505     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
8506     VARIANT onpropertychange();
8507
8508     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
8509     IHTMLRectCollection *getClientRects();
8510
8511     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
8512     IHTMLRect *getBoundingClientRect();
8513
8514     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
8515     void setExpression(
8516             [in] BSTR propname,
8517             [in] BSTR expression,
8518             [in, defaultvalue("")] BSTR language);
8519
8520     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
8521     VARIANT getExpression([in] BSTR propname);
8522
8523     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
8524     VARIANT_BOOL removeExpression([in] BSTR propname);
8525
8526     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
8527     void tabIndex(short v);
8528
8529     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
8530     short tabIndex();
8531
8532     [id(DISPID_IHTMLELEMENT2_FOCUS)]
8533     void focus();
8534
8535     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
8536     void accessKey(BSTR v);
8537
8538     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
8539     BSTR accessKey();
8540
8541     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
8542     void onblur(VARIANT v);
8543
8544     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
8545     VARIANT onblur();
8546
8547     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
8548     void onfocus(VARIANT v);
8549
8550     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
8551     VARIANT onfocus();
8552
8553     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
8554     void onresize(VARIANT v);
8555
8556     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
8557     VARIANT onresize();
8558
8559     [id(DISPID_IHTMLELEMENT2_BLUR)]
8560     void blur();
8561
8562     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
8563     void addFilter([in] IUnknown *pUnk);
8564
8565     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
8566     void removeFilter([in] IUnknown *pUnk);
8567
8568     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
8569     long clientHeight();
8570
8571     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
8572     long clientWidth();
8573
8574     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
8575     long clientTop();
8576
8577     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
8578     long clientLeft();
8579
8580     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
8581     VARIANT_BOOL attachEvent(
8582             [in] BSTR event,
8583             [in] IDispatch *pDisp);
8584
8585     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
8586     void detachEvent(
8587             [in] BSTR event,
8588             [in] IDispatch *pDisp);
8589
8590     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
8591     VARIANT readyState();
8592
8593     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
8594     void onreadystatechange(VARIANT v);
8595
8596     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
8597     VARIANT onreadystatechange();
8598
8599     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
8600     void onrowsdelete(VARIANT v);
8601
8602     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
8603     VARIANT onrowsdelete();
8604
8605     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
8606     void onrowsinserted(VARIANT v);
8607
8608     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
8609      VARIANT onrowsinserted();
8610
8611     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
8612      void oncellchange(VARIANT v);
8613
8614     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
8615     VARIANT oncellchange();
8616
8617     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
8618     void dir(BSTR v);
8619
8620     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
8621     BSTR dir();
8622
8623     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
8624     IDispatch *createControlRange();
8625
8626     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
8627     long scrollHeight();
8628
8629     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
8630     long scrollWidth();
8631
8632     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
8633     void scrollTop(long v);
8634
8635     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
8636     long scrollTop();
8637
8638     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
8639     void scrollLeft(long v);
8640
8641     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
8642     long scrollLeft();
8643
8644     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
8645     void clearAttributes();
8646
8647     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
8648     void oncontextmenu(VARIANT v);
8649
8650     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
8651     VARIANT oncontextmenu();
8652
8653     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
8654     IHTMLElement *insertAdjacentElement(
8655             [in] BSTR where,
8656             [in] IHTMLElement *insertedElement);
8657
8658     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
8659     IHTMLElement *applyElement(
8660             [in] IHTMLElement *apply,
8661             [in] BSTR where);
8662
8663     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
8664     BSTR getAdjacentText([in] BSTR where);
8665
8666     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
8667     BSTR replaceAdjacentText(
8668             [in] BSTR where,
8669             [in] BSTR newText);
8670
8671     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
8672     VARIANT_BOOL canHaveChildren();
8673
8674     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
8675     long addBehavior(
8676             [in] BSTR bstrUrl,
8677             [in, optional] VARIANT *pvarFactory);
8678
8679     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
8680     VARIANT_BOOL removeBehavior([in] long cookie);
8681
8682     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
8683     IHTMLStyle *runtimeStyle();
8684
8685     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
8686     IDispatch *behaviorUrns();
8687
8688     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
8689     void tagUrn(BSTR v);
8690
8691     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
8692     BSTR tagUrn();
8693
8694     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
8695     void onbeforeeditfocus(VARIANT v);
8696
8697     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
8698     VARIANT onbeforeeditfocus();
8699
8700     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
8701     long readyStateValue();
8702
8703     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
8704     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
8705
8706     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
8707     void mergeAttributes(
8708             [in] IHTMLElement *mergeThis,
8709             [in, optional] VARIANT *pvarFlags);
8710
8711     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
8712     VARIANT_BOOL isMultiLine();
8713
8714     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
8715     VARIANT_BOOL canHaveHTML();
8716
8717     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
8718     void onlayoutcomplete(VARIANT v);
8719
8720     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
8721     VARIANT onlayoutcomplete();
8722
8723     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
8724     void onpage(VARIANT v);
8725
8726     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
8727     VARIANT onpage();
8728
8729     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
8730     void inflateBlock(VARIANT_BOOL v);
8731
8732     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
8733     VARIANT_BOOL inflateBlock();
8734
8735     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
8736     void onbeforedeactivate(VARIANT v);
8737
8738     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
8739     VARIANT onbeforedeactivate();
8740
8741     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
8742     void setActive();
8743
8744     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
8745     void contentEditable(BSTR v);
8746
8747     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
8748     BSTR contentEditable();
8749
8750     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
8751     VARIANT_BOOL isContentEditable();
8752
8753     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
8754     void hideFocus(VARIANT_BOOL v);
8755
8756     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
8757     VARIANT_BOOL hideFocus();
8758
8759     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
8760     void disabled(VARIANT_BOOL v);
8761
8762     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
8763     VARIANT_BOOL disabled();
8764
8765     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
8766     VARIANT_BOOL isDisabled();
8767
8768     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
8769     void onmove(VARIANT v);
8770
8771     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
8772     VARIANT onmove();
8773
8774     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
8775     void oncontrolselect(VARIANT v);
8776
8777     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
8778     VARIANT oncontrolselect();
8779
8780     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
8781     VARIANT_BOOL fireEvent(
8782             [in] BSTR bstrEventName,
8783             [in, optional] VARIANT *pvarEventObject);
8784
8785     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
8786     void onresizestart(VARIANT v);
8787
8788     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
8789     VARIANT onresizestart();
8790
8791     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
8792     void onresizeend(VARIANT v);
8793
8794     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
8795     VARIANT onresizeend();
8796
8797     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
8798     void onmovestart(VARIANT v);
8799
8800     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
8801     VARIANT onmovestart();
8802
8803     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
8804     void onmoveend(VARIANT v);
8805
8806     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
8807     VARIANT onmoveend();
8808
8809     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
8810     void onmouseenter(VARIANT v);
8811
8812     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
8813     VARIANT onmouseenter();
8814
8815     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
8816     void onmouseleave(VARIANT v);
8817
8818     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
8819     VARIANT onmouseleave();
8820
8821     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
8822     void onactivate(VARIANT v);
8823
8824     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
8825     VARIANT onactivate();
8826
8827     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
8828     void ondeactivate(VARIANT v);
8829
8830     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
8831     VARIANT ondeactivate();
8832
8833     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
8834     VARIANT_BOOL dragDrop();
8835
8836     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
8837     LONG glyphMode();
8838
8839     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
8840     void onmousewheel(VARIANT v);
8841
8842     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
8843     VARIANT onmousewheel();
8844
8845     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
8846     void normalize();
8847
8848     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
8849     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
8850
8851     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
8852     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
8853
8854     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
8855     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
8856
8857     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
8858     void onbeforeactivate(VARIANT v);
8859
8860     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
8861     VARIANT onbeforeactivate();
8862
8863     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
8864     void onfocusin(VARIANT v);
8865
8866     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
8867     VARIANT onfocusin();
8868
8869     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
8870     void onfocusout(VARIANT v);
8871
8872     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
8873     VARIANT onfocusout();
8874
8875     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
8876     long uniqueNumber();
8877
8878     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
8879     BSTR uniqueID();
8880
8881     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
8882     long nodeType();
8883
8884     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
8885     IHTMLDOMNode *parentNode();
8886
8887     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
8888     VARIANT_BOOL hasChildNodes();
8889
8890     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
8891     IDispatch *childNodes();
8892
8893     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
8894     IDispatch *attributes();
8895
8896     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
8897     IHTMLDOMNode *insertBefore(
8898             [in] IHTMLDOMNode *newChild,
8899             [in, optional] VARIANT refChild);
8900
8901     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
8902     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
8903
8904     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
8905     IHTMLDOMNode *replaceChild(
8906             [in] IHTMLDOMNode *newChild,
8907             [in] IHTMLDOMNode *oldChild);
8908
8909     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
8910     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
8911
8912     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
8913     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
8914
8915     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
8916     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
8917
8918     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
8919     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
8920
8921     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
8922     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
8923
8924     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
8925     BSTR nodeName();
8926
8927     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
8928     void nodeValue(VARIANT v);
8929
8930     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
8931     VARIANT nodeValue();
8932
8933     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
8934     IHTMLDOMNode *firstChild();
8935
8936     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
8937     IHTMLDOMNode *lastChild();
8938
8939     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
8940     IHTMLDOMNode *previousSibling();
8941
8942     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
8943     IHTMLDOMNode *nextSibling();
8944
8945     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
8946     IDispatch *ownerDocument();
8947
8948     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
8949     void dataFld(BSTR v);
8950
8951     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
8952     BSTR dataFld();
8953
8954     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
8955     void dataSrc(BSTR v);
8956
8957     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
8958     BSTR dataSrc();
8959
8960     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
8961     void dataFormatAs(BSTR v);
8962
8963     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
8964     BSTR dataFormatAs();
8965
8966     [propput, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
8967     void size(long v);
8968
8969     [propget, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
8970     long size();
8971
8972     [propput, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
8973     void multiple(VARIANT_BOOL v);
8974
8975     [propget, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
8976     VARIANT_BOOL multiple();
8977
8978     [propput, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
8979     void name(BSTR v);
8980
8981     [propget, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
8982     BSTR name();
8983
8984     [propget, id(DISPID_IHTMLSELECTELEMENT_OPTIONS)]
8985     IDispatch *options();
8986
8987     [propput, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
8988     void onchange(VARIANT v);
8989
8990     [propget, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
8991     VARIANT onchange();
8992
8993     [propput, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
8994     void selectedIndex(long v);
8995
8996     [propget, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
8997     long selectedIndex();
8998
8999     [propget, id(DISPID_IHTMLSELECTELEMENT_TYPE), displaybind, bindable]
9000     BSTR type();
9001
9002     [propput, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
9003     void value(BSTR v);
9004
9005     [propget, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
9006     BSTR value();
9007
9008     [propget, id(DISPID_IHTMLSELECTELEMENT_FORM)]
9009     IHTMLFormElement *form();
9010
9011     [id(DISPID_IHTMLSELECTELEMENT_ADD)]
9012     void add(
9013             [in] IHTMLElement *element,
9014             [in, optional] VARIANT before);
9015
9016     [id(DISPID_IHTMLSELECTELEMENT_REMOVE)]
9017     void remove([in, defaultvalue(-1)] long index);
9018
9019     [propput, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
9020     void length(long v);
9021
9022     [propget, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
9023     long length();
9024
9025     [propget, id(DISPID_IHTMLSELECTELEMENT__NEWENUM), hidden, restricted]
9026     IUnknown *_newEnum();
9027
9028     [id(DISPID_IHTMLSELECTELEMENT_ITEM)]
9029     IDispatch *item(
9030             [in, optional] VARIANT name,
9031             [in, optional] VARIANT index);
9032
9033     [id(DISPID_IHTMLSELECTELEMENT_TAGS)]
9034     IDispatch *tags([in] VARIANT tagName);
9035
9036     [id(DISPID_IHTMLSELECTELEMENT2_URNS)]
9037     IDispatch *urns([in] VARIANT urn);
9038
9039     [id(DISPID_IHTMLSELECTELEMENT4_NAMEDITEM)]
9040     IDispatch *namedItem([in] BSTR name);
9041 }
9042
9043 /*****************************************************************************
9044  *    IHTMLSelectionObject interface
9045  */
9046 [
9047     odl,
9048     oleautomation,
9049     dual,
9050     uuid(3050F25A-98B5-11CF-BB82-00AA00BDCE0B)
9051 ]
9052 interface IHTMLSelectionObject : IDispatch
9053 {
9054     [id(DISPID_IHTMLSELECTIONOBJECT_CREATERANGE)]
9055     HRESULT createRange([retval, out] IDispatch **range);
9056
9057     [id(DISPID_IHTMLSELECTIONOBJECT_EMPTY)]
9058     HRESULT empty();
9059
9060     [id(DISPID_IHTMLSELECTIONOBJECT_CLEAR)]
9061     HRESULT clear();
9062
9063     [propget, id(DISPID_IHTMLSELECTIONOBJECT_TYPE)]
9064     HRESULT type([retval, out] BSTR *p);
9065 }
9066
9067 /*****************************************************************************
9068  *    IHTMLOptionElement interface
9069  */
9070 [
9071     odl,
9072     oleautomation,
9073     dual,
9074     uuid(3050F211-98B5-11CF-BB82-00AA00BDCE0B)
9075 ]
9076 interface IHTMLOptionElement : IDispatch
9077 {
9078     [propput, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
9079     HRESULT selected([in] VARIANT_BOOL v);
9080
9081     [propget, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
9082     HRESULT selected([retval, out] VARIANT_BOOL *p);
9083
9084     [propput, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
9085     HRESULT value([in] BSTR v);
9086
9087     [propget, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
9088     HRESULT value([retval, out] BSTR *p);
9089
9090     [propput, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
9091     HRESULT defaultSelected([in] VARIANT_BOOL v);
9092
9093     [propget, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
9094     HRESULT defaultSelected([retval, out] VARIANT_BOOL *p);
9095
9096     [propput, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
9097     HRESULT index([in] LONG v);
9098
9099     [propget, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
9100     HRESULT index([retval, out] LONG *p);
9101
9102     [propput, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
9103     HRESULT text([in] BSTR v);
9104
9105     [propget, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
9106     HRESULT text([retval, out] BSTR *p);
9107
9108     [propget, id(DISPID_IHTMLOPTIONELEMENT_FORM)]
9109     HRESULT form([retval, out] IHTMLFormElement **p);
9110 }
9111
9112 /*****************************************************************************
9113  *    IHTMLOptionElementFactory interface
9114  */
9115 [
9116     odl,
9117     oleautomation,
9118     dual,
9119     uuid(3050F38C-98B5-11Cf-BB82-00AA00BDCE0B)
9120 ]
9121 interface IHTMLOptionElementFactory : IDispatch
9122 {
9123     [id(DISPID_IHTMLOPTIONELEMENTFACTORY_CREATE)]
9124     HRESULT create(
9125         [optional, in] VARIANT text,
9126         [optional, in] VARIANT value,
9127         [optional, in] VARIANT defaultselected,
9128         [optional, in] VARIANT selected,
9129         [retval, out] IHTMLOptionElement **optelem);
9130 }
9131
9132 /*****************************************************************************
9133  *    DispHTMLOptionElement dispinterface
9134  */
9135 [
9136     hidden,
9137     uuid(3050f52b-98b5-11cf-bb82-00aa00bdce0b)
9138 ]
9139 dispinterface DispHTMLOptionElement
9140 {
9141 properties:
9142 methods:
9143     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
9144     void setAttribute(
9145             [in] BSTR strAttributeName,
9146             [in] VARIANT AttributeValue,
9147             [in, defaultvalue(1)] LONG lFlags);
9148
9149     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
9150     VARIANT getAttribute(
9151              [in] BSTR strAttributeName,
9152              [in, defaultvalue(0)] LONG lFlags);
9153
9154     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
9155     VARIANT_BOOL removeAttribute(
9156             [in] BSTR strAttributeName,
9157             [in, defaultvalue(1)] LONG lFlags);
9158
9159     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
9160     void className(BSTR v);
9161
9162     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
9163     BSTR className();
9164
9165     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
9166     void id(BSTR v);
9167
9168     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
9169     BSTR id();
9170
9171     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
9172     BSTR tagName();
9173
9174     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
9175     IHTMLElement *parentElement();
9176
9177     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
9178     IHTMLStyle *style();
9179
9180     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
9181     void onhelp(VARIANT v);
9182
9183     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
9184     VARIANT onhelp();
9185
9186     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
9187     void onclick(VARIANT v);
9188
9189     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
9190     VARIANT onclick();
9191
9192     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
9193     void ondblclick(VARIANT v);
9194
9195     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
9196     VARIANT ondblclick();
9197
9198     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
9199     void onkeydown(VARIANT v);
9200
9201     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
9202     VARIANT onkeydown();
9203
9204     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
9205     void onkeyup(VARIANT v);
9206
9207     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
9208     VARIANT onkeyup();
9209
9210     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
9211     void onkeypress(VARIANT v);
9212
9213     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
9214     VARIANT onkeypress();
9215
9216     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
9217     void onmouseout(VARIANT v);
9218
9219     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
9220     VARIANT onmouseout();
9221
9222     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
9223     void onmouseover(VARIANT v);
9224
9225     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
9226     VARIANT onmouseover();
9227
9228     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
9229     void onmousemove(VARIANT v);
9230
9231     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
9232     VARIANT onmousemove();
9233
9234     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
9235     void onmousedown(VARIANT v);
9236
9237     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
9238     VARIANT onmousedown();
9239
9240     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
9241     void onmouseup(VARIANT v);
9242
9243     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
9244     VARIANT onmouseup();
9245
9246     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
9247     IDispatch *document();
9248
9249     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
9250     void title(BSTR v);
9251
9252     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
9253     BSTR title();
9254
9255     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
9256     void language(BSTR v);
9257
9258     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
9259     BSTR language();
9260
9261     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
9262     void onselectstart(VARIANT v);
9263
9264     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
9265     VARIANT onselectstart();
9266
9267     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
9268     void scrollIntoView([in, optional] VARIANT varargStart);
9269
9270     [id(DISPID_IHTMLELEMENT_CONTAINS)]
9271     VARIANT_BOOL contains([in] IHTMLElement *pChild);
9272
9273     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
9274     long sourceIndex();
9275
9276     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
9277     VARIANT recordNumber();
9278
9279     [propput, id(DISPID_IHTMLELEMENT_LANG)]
9280     void lang(BSTR v);
9281
9282     [propget, id(DISPID_IHTMLELEMENT_LANG)]
9283     BSTR lang();
9284
9285     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
9286     long offsetLeft();
9287
9288     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
9289     long offsetTop();
9290
9291     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
9292     long offsetWidth();
9293
9294     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
9295     long offsetHeight();
9296
9297     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
9298     IHTMLElement *offsetParent();
9299
9300     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
9301     void innerHTML(BSTR v);
9302
9303     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
9304     BSTR innerHTML();
9305
9306     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
9307     void innerText(BSTR v);
9308
9309     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
9310     BSTR innerText();
9311
9312     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
9313     void outerHTML(BSTR v);
9314
9315     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
9316     BSTR outerHTML();
9317
9318     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
9319     void outerText(BSTR v);
9320
9321     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
9322     BSTR outerText();
9323
9324     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
9325     void insertAdjacentHTML(
9326             [in] BSTR where,
9327             [in] BSTR html);
9328
9329     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
9330     void insertAdjacentText(
9331             [in] BSTR where,
9332             [in] BSTR text);
9333
9334     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
9335     IHTMLElement *parentTextEdit();
9336
9337     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
9338     VARIANT_BOOL isTextEdit();
9339
9340     [id(DISPID_IHTMLELEMENT_CLICK)]
9341     void click();
9342
9343     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
9344     IHTMLFiltersCollection *filters();
9345
9346     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
9347     void ondragstart(VARIANT v);
9348
9349     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
9350     VARIANT ondragstart();
9351
9352     [id(DISPID_IHTMLELEMENT_TOSTRING)]
9353     BSTR toString();
9354
9355     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
9356     void onbeforeupdate(VARIANT v);
9357
9358     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
9359     VARIANT onbeforeupdate();
9360
9361     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
9362     void onafterupdate(VARIANT v);
9363
9364     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
9365     VARIANT onafterupdate();
9366
9367     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
9368     void onerrorupdate(VARIANT v);
9369
9370     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
9371     VARIANT onerrorupdate();
9372
9373     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
9374     void onrowexit(VARIANT v);
9375
9376     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
9377     VARIANT onrowexit();
9378
9379     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
9380     void onrowenter(VARIANT v);
9381
9382     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
9383     VARIANT onrowenter();
9384
9385     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
9386     void ondatasetchanged(VARIANT v);
9387
9388     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
9389     VARIANT ondatasetchanged();
9390
9391     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
9392     void ondataavailable(VARIANT v);
9393
9394     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
9395     VARIANT ondataavailable();
9396
9397     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
9398     void ondatasetcomplete(VARIANT v);
9399
9400     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
9401     VARIANT ondatasetcomplete();
9402
9403     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
9404     void onfilterchange(VARIANT v);
9405
9406     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
9407     VARIANT onfilterchange();
9408
9409     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
9410     IDispatch *children();
9411
9412     [propget, id(DISPID_IHTMLELEMENT_ALL)]
9413     IDispatch *all();
9414
9415     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
9416     BSTR scopeName();
9417
9418     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
9419     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
9420
9421     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
9422     void releaseCapture();
9423
9424     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
9425     void onlosecapture(VARIANT v);
9426
9427     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
9428     VARIANT onlosecapture();
9429
9430     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
9431     BSTR componentFromPoint(
9432             [in] long x,
9433             [in] long y);
9434
9435     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
9436     void doScroll([in, optional] VARIANT component);
9437
9438     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
9439     void onscroll(VARIANT v);
9440
9441     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
9442     VARIANT onscroll();
9443
9444     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
9445     void ondrag(VARIANT v);
9446
9447     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
9448     VARIANT ondrag();
9449
9450     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
9451     void ondragend(VARIANT v);
9452
9453     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
9454     VARIANT ondragend();
9455
9456     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
9457     void ondragenter(VARIANT v);
9458
9459     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
9460     VARIANT ondragenter();
9461
9462     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
9463     void ondragover(VARIANT v);
9464
9465     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
9466     VARIANT ondragover();
9467
9468     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
9469     void ondragleave(VARIANT v);
9470
9471     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
9472     VARIANT ondragleave();
9473
9474     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
9475     void ondrop(VARIANT v);
9476
9477     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
9478     VARIANT ondrop();
9479
9480     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
9481     void onbeforecut(VARIANT v);
9482
9483     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
9484     VARIANT onbeforecut();
9485
9486     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
9487     void oncut(VARIANT v);
9488
9489     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
9490     VARIANT oncut();
9491
9492     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
9493     void onbeforecopy(VARIANT v);
9494
9495     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
9496     VARIANT onbeforecopy();
9497
9498     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
9499     void oncopy(VARIANT v);
9500
9501     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
9502     VARIANT oncopy();
9503
9504     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
9505     void onbeforepaste(VARIANT v);
9506
9507     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
9508     VARIANT onbeforepaste();
9509
9510     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
9511     void onpaste(VARIANT v);
9512
9513     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
9514     VARIANT onpaste();
9515
9516     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
9517     IHTMLCurrentStyle *currentStyle();
9518
9519     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
9520     void onpropertychange(VARIANT v);
9521
9522     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
9523     VARIANT onpropertychange();
9524
9525     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
9526     IHTMLRectCollection *getClientRects();
9527
9528     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
9529     IHTMLRect *getBoundingClientRect();
9530
9531     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
9532     void setExpression(
9533             [in] BSTR propname,
9534             [in] BSTR expression,
9535             [in, defaultvalue("")] BSTR language);
9536
9537     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
9538     VARIANT getExpression([in] BSTR propname);
9539
9540     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
9541     VARIANT_BOOL removeExpression([in] BSTR propname);
9542
9543     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
9544     void tabIndex(short v);
9545
9546     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
9547     short tabIndex();
9548
9549     [id(DISPID_IHTMLELEMENT2_FOCUS)]
9550     void focus();
9551
9552     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
9553     void accessKey(BSTR v);
9554
9555     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
9556     BSTR accessKey();
9557
9558     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
9559     void onblur(VARIANT v);
9560
9561     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
9562     VARIANT onblur();
9563
9564     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
9565     void onfocus(VARIANT v);
9566
9567     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
9568     VARIANT onfocus();
9569
9570     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
9571     void onresize(VARIANT v);
9572
9573     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
9574     VARIANT onresize();
9575
9576     [id(DISPID_IHTMLELEMENT2_BLUR)]
9577     void blur();
9578
9579     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
9580     void addFilter([in] IUnknown *pUnk);
9581
9582     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
9583     void removeFilter([in] IUnknown *pUnk);
9584
9585     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
9586     long clientHeight();
9587
9588     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
9589     long clientWidth();
9590
9591     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
9592     long clientTop();
9593
9594     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
9595     long clientLeft();
9596
9597     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
9598     VARIANT_BOOL attachEvent(
9599             [in] BSTR event,
9600             [in] IDispatch *pDisp);
9601
9602     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
9603     void detachEvent(
9604             [in] BSTR event,
9605             [in] IDispatch *pDisp);
9606
9607     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
9608     VARIANT readyState();
9609
9610     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
9611     void onreadystatechange(VARIANT v);
9612
9613     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
9614     VARIANT onreadystatechange();
9615
9616     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
9617     void onrowsdelete(VARIANT v);
9618
9619     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
9620     VARIANT onrowsdelete();
9621
9622     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
9623     void onrowsinserted(VARIANT v);
9624
9625     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
9626      VARIANT onrowsinserted();
9627
9628     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
9629      void oncellchange(VARIANT v);
9630
9631     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
9632     VARIANT oncellchange();
9633
9634     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
9635     void dir(BSTR v);
9636
9637     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
9638     BSTR dir();
9639
9640     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
9641     IDispatch *createControlRange();
9642
9643     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
9644     long scrollHeight();
9645
9646     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
9647     long scrollWidth();
9648
9649     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
9650     void scrollTop(long v);
9651
9652     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
9653     long scrollTop();
9654
9655     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
9656     void scrollLeft(long v);
9657
9658     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
9659     long scrollLeft();
9660
9661     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
9662     void clearAttributes();
9663
9664     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
9665     void oncontextmenu(VARIANT v);
9666
9667     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
9668     VARIANT oncontextmenu();
9669
9670     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
9671     IHTMLElement *insertAdjacentElement(
9672             [in] BSTR where,
9673             [in] IHTMLElement *insertedElement);
9674
9675     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
9676     IHTMLElement *applyElement(
9677             [in] IHTMLElement *apply,
9678             [in] BSTR where);
9679
9680     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
9681     BSTR getAdjacentText([in] BSTR where);
9682
9683     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
9684     BSTR replaceAdjacentText(
9685             [in] BSTR where,
9686             [in] BSTR newText);
9687
9688     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
9689     VARIANT_BOOL canHaveChildren();
9690
9691     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
9692     long addBehavior(
9693             [in] BSTR bstrUrl,
9694             [in, optional] VARIANT *pvarFactory);
9695
9696     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
9697     VARIANT_BOOL removeBehavior([in] long cookie);
9698
9699     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
9700     IHTMLStyle *runtimeStyle();
9701
9702     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
9703     IDispatch *behaviorUrns();
9704
9705     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
9706     void tagUrn(BSTR v);
9707
9708     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
9709     BSTR tagUrn();
9710
9711     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
9712     void onbeforeeditfocus(VARIANT v);
9713
9714     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
9715     VARIANT onbeforeeditfocus();
9716
9717     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
9718     long readyStateValue();
9719
9720     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
9721     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
9722
9723     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
9724     void mergeAttributes(
9725             [in] IHTMLElement *mergeThis,
9726             [in, optional] VARIANT *pvarFlags);
9727
9728     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
9729     VARIANT_BOOL isMultiLine();
9730
9731     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
9732     VARIANT_BOOL canHaveHTML();
9733
9734     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
9735     void onlayoutcomplete(VARIANT v);
9736
9737     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
9738     VARIANT onlayoutcomplete();
9739
9740     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
9741     void onpage(VARIANT v);
9742
9743     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
9744     VARIANT onpage();
9745
9746     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
9747     void inflateBlock(VARIANT_BOOL v);
9748
9749     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
9750     VARIANT_BOOL inflateBlock();
9751
9752     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
9753     void onbeforedeactivate(VARIANT v);
9754
9755     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
9756     VARIANT onbeforedeactivate();
9757
9758     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
9759     void setActive();
9760
9761     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
9762     void contentEditable(BSTR v);
9763
9764     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
9765     BSTR contentEditable();
9766
9767     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
9768     VARIANT_BOOL isContentEditable();
9769
9770     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
9771     void hideFocus(VARIANT_BOOL v);
9772
9773     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
9774     VARIANT_BOOL hideFocus();
9775
9776     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
9777     void disabled(VARIANT_BOOL v);
9778
9779     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
9780     VARIANT_BOOL disabled();
9781
9782     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
9783     VARIANT_BOOL isDisabled();
9784
9785     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
9786     void onmove(VARIANT v);
9787
9788     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
9789     VARIANT onmove();
9790
9791     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
9792     void oncontrolselect(VARIANT v);
9793
9794     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
9795     VARIANT oncontrolselect();
9796
9797     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
9798     VARIANT_BOOL fireEvent(
9799             [in] BSTR bstrEventName,
9800             [in, optional] VARIANT *pvarEventObject);
9801
9802     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
9803     void onresizestart(VARIANT v);
9804
9805     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
9806     VARIANT onresizestart();
9807
9808     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
9809     void onresizeend(VARIANT v);
9810
9811     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
9812     VARIANT onresizeend();
9813
9814     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
9815     void onmovestart(VARIANT v);
9816
9817     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
9818     VARIANT onmovestart();
9819
9820     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
9821     void onmoveend(VARIANT v);
9822
9823     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
9824     VARIANT onmoveend();
9825
9826     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
9827     void onmouseenter(VARIANT v);
9828
9829     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
9830     VARIANT onmouseenter();
9831
9832     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
9833     void onmouseleave(VARIANT v);
9834
9835     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
9836     VARIANT onmouseleave();
9837
9838     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
9839     void onactivate(VARIANT v);
9840
9841     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
9842     VARIANT onactivate();
9843
9844     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
9845     void ondeactivate(VARIANT v);
9846
9847     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
9848     VARIANT ondeactivate();
9849
9850     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
9851     VARIANT_BOOL dragDrop();
9852
9853     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
9854     LONG glyphMode();
9855
9856     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
9857     void onmousewheel(VARIANT v);
9858
9859     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
9860     VARIANT onmousewheel();
9861
9862     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
9863     void normalize();
9864
9865     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
9866     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
9867
9868     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
9869     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
9870
9871     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
9872     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
9873
9874     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
9875     void onbeforeactivate(VARIANT v);
9876
9877     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
9878     VARIANT onbeforeactivate();
9879
9880     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
9881     void onfocusin(VARIANT v);
9882
9883     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
9884     VARIANT onfocusin();
9885
9886     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
9887     void onfocusout(VARIANT v);
9888
9889     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
9890     VARIANT onfocusout();
9891
9892     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
9893     long uniqueNumber();
9894
9895     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
9896     BSTR uniqueID();
9897
9898     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
9899     long nodeType();
9900
9901     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
9902     IHTMLDOMNode *parentNode();
9903
9904     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
9905     VARIANT_BOOL hasChildNodes();
9906
9907     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
9908     IDispatch *childNodes();
9909
9910     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
9911     IDispatch *attributes();
9912
9913     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
9914     IHTMLDOMNode *insertBefore(
9915             [in] IHTMLDOMNode *newChild,
9916             [in, optional] VARIANT refChild);
9917
9918     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
9919     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
9920
9921     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
9922     IHTMLDOMNode *replaceChild(
9923             [in] IHTMLDOMNode *newChild,
9924             [in] IHTMLDOMNode *oldChild);
9925
9926     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
9927     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
9928
9929     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
9930     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
9931
9932     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
9933     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
9934
9935     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
9936     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
9937
9938     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
9939     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
9940
9941     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
9942     BSTR nodeName();
9943
9944     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
9945     void nodeValue(VARIANT v);
9946
9947     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
9948     VARIANT nodeValue();
9949
9950     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
9951     IHTMLDOMNode *firstChild();
9952
9953     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
9954     IHTMLDOMNode *lastChild();
9955
9956     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
9957     IHTMLDOMNode *previousSibling();
9958
9959     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
9960     IHTMLDOMNode *nextSibling();
9961
9962     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
9963     IDispatch *ownerDocument();
9964
9965     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
9966     void dataFld(BSTR v);
9967
9968     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
9969     BSTR dataFld();
9970
9971     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
9972     void dataSrc(BSTR v);
9973
9974     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
9975     BSTR dataSrc();
9976
9977     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
9978     void dataFormatAs(BSTR v);
9979
9980     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
9981     BSTR dataFormatAs();
9982
9983     [propput, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
9984     void selected(VARIANT_BOOL v);
9985
9986     [propget, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
9987     VARIANT_BOOL selected();
9988
9989     [propput, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
9990     void value(BSTR v);
9991
9992     [propget, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
9993     BSTR value();
9994
9995     [propput, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
9996     void defaultSelected(VARIANT_BOOL v);
9997
9998     [propget, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
9999     VARIANT_BOOL defaultSelected();
10000
10001     [propput, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
10002     void index(LONG v);
10003
10004     [propget, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
10005     LONG index();
10006
10007     [propput, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
10008     void text(BSTR v);
10009
10010     [propget, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
10011     BSTR text();
10012
10013     [propget, id(DISPID_IHTMLOPTIONELEMENT_FORM)]
10014     IHTMLFormElement *form();
10015
10016     [propput, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
10017     void label(BSTR v);
10018
10019     [propget, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
10020     BSTR label();
10021 }
10022
10023 /*****************************************************************************
10024  *    IHTMLInputElement interface
10025  */
10026 [
10027     odl,
10028     oleautomation,
10029     dual,
10030     uuid(3050f5d2-98b5-11cf-bb82-00aa00bdce0b)
10031 ]
10032 interface IHTMLInputElement : IDispatch
10033 {
10034     [propput, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
10035     HRESULT type([in] BSTR v);
10036
10037     [propget, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
10038     HRESULT type([retval, out] BSTR *p);
10039
10040     [propput, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
10041     HRESULT value([in] BSTR v);
10042
10043     [propget, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
10044     HRESULT value([retval, out] BSTR *p);
10045
10046     [propput, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
10047     HRESULT name([in] BSTR v);
10048
10049     [propget, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
10050     HRESULT name([retval, out] BSTR *p);
10051
10052     [propput, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
10053     HRESULT status([in] VARIANT_BOOL v);
10054
10055     [propget, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
10056     HRESULT status([retval, out] VARIANT_BOOL *p);
10057
10058     [propput, id(DISPID_IHTMLINPUTELEMENT_DISABLED), displaybind, bindable]
10059     HRESULT disabled([in] VARIANT_BOOL v);
10060
10061     [propget, id(DISPID_IHTMLINPUTELEMENT_DISABLED), displaybind, bindable]
10062     HRESULT disabled([retval, out] VARIANT_BOOL *p);
10063
10064     [propget, id(DISPID_IHTMLINPUTELEMENT_FORM)]
10065     HRESULT form([retval, out] IHTMLFormElement **p);
10066
10067     [propput, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
10068     HRESULT size([in] long v);
10069
10070     [propget, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
10071     HRESULT size([retval, out] long *p);
10072
10073     [propput, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
10074     HRESULT maxLength([in] long v);
10075
10076     [propget, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
10077     HRESULT maxLength([retval, out] long *p);
10078
10079     [id(DISPID_IHTMLINPUTELEMENT_SELECT)]
10080     HRESULT select();
10081
10082     [propput, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
10083     HRESULT onchange([in] VARIANT v);
10084
10085     [propget, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
10086     HRESULT onchange([retval, out] VARIANT *p);
10087
10088     [propput, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
10089     HRESULT onselect([in] VARIANT v);
10090
10091     [propget, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
10092     HRESULT onselect([retval, out] VARIANT *p);
10093
10094     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
10095     HRESULT defaultValue([in] BSTR v);
10096
10097     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
10098     HRESULT defaultValue([retval, out] BSTR *p);
10099
10100     [propput, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
10101     HRESULT readOnly([in] VARIANT_BOOL v);
10102
10103     [propget, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
10104     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
10105
10106     [id(DISPID_IHTMLINPUTELEMENT_CREATETEXTRANGE)]
10107     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
10108
10109     [propput, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
10110     HRESULT indeterminate([in] VARIANT_BOOL v);
10111
10112     [propget, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
10113     HRESULT indeterminate([retval, out] VARIANT_BOOL *p);
10114
10115     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
10116     HRESULT defaultChecked([in] VARIANT_BOOL v);
10117
10118     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
10119     HRESULT defaultChecked([retval, out] VARIANT_BOOL *p);
10120
10121     [propput, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
10122     HRESULT checked([in] VARIANT_BOOL v);
10123
10124     [propget, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
10125     HRESULT checked([retval, out] VARIANT_BOOL *p);
10126
10127     [propput, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
10128     HRESULT border([in] VARIANT v);
10129
10130     [propget, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
10131     HRESULT border([retval, out] VARIANT *p);
10132
10133     [propput, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
10134     HRESULT vspace([in] long v);
10135
10136     [propget, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
10137     HRESULT vspace([retval, out] long *p);
10138
10139     [propput, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
10140     HRESULT hspace([in] long v);
10141
10142     [propget, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
10143     HRESULT hspace([retval, out] long *p);
10144
10145     [propput, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
10146     HRESULT alt([in] BSTR v);
10147
10148     [propget, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
10149     HRESULT alt([retval, out] BSTR *p);
10150
10151     [propput, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
10152     HRESULT src([in] BSTR v);
10153
10154     [propget, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
10155     HRESULT src([retval, out] BSTR *p);
10156
10157     [propput, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
10158     HRESULT lowsrc([in] BSTR v);
10159
10160     [propget, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
10161     HRESULT lowsrc([retval, out] BSTR *p);
10162
10163     [propput, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
10164     HRESULT vrml([in] BSTR v);
10165
10166     [propget, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
10167     HRESULT vrml([retval, out] BSTR *p);
10168
10169     [propput, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
10170     HRESULT dynsrc([in] BSTR v);
10171
10172     [propget, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
10173     HRESULT dynsrc([retval, out] BSTR *p);
10174
10175     [propget, id(DISPID_IHTMLINPUTELEMENT_READYSTATE)]
10176     HRESULT readyState([retval, out] BSTR *p);
10177
10178     [propget, id(DISPID_IHTMLINPUTELEMENT_COMPLETE)]
10179     HRESULT complete([retval, out] VARIANT_BOOL *p);
10180
10181     [propput, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
10182     HRESULT loop([in] VARIANT v);
10183
10184     [propget, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
10185     HRESULT loop([retval, out] VARIANT *p);
10186
10187     [propput, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
10188     HRESULT align([in] BSTR v);
10189
10190     [propget, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
10191     HRESULT align([retval, out] BSTR *p);
10192
10193     [propput, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
10194     HRESULT onload([in] VARIANT v);
10195
10196     [propget, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
10197     HRESULT onload([retval, out] VARIANT *p);
10198
10199     [propput, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
10200     HRESULT onerror([in] VARIANT v);
10201
10202     [propget, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
10203     HRESULT onerror([retval, out] VARIANT *p);
10204
10205     [propput, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
10206     HRESULT onabort([in] VARIANT v);
10207
10208     [propget, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
10209     HRESULT onabort([retval, out] VARIANT *p);
10210
10211     [propput, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
10212     HRESULT width([in] long v);
10213
10214     [propget, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
10215     HRESULT width([retval, out] long *p);
10216
10217     [propput, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
10218     HRESULT height([in] long v);
10219
10220     [propget, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
10221     HRESULT height([retval, out] long *p);
10222
10223     [propput, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
10224     HRESULT start([in] BSTR v);
10225
10226     [propget, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
10227     HRESULT start([retval, out] BSTR *p);
10228 }
10229
10230 /*****************************************************************************
10231  *    IHTMLInputTextElement interface
10232  */
10233 [
10234     odl,
10235     oleautomation,
10236     dual,
10237     uuid(3050f2a6-98b5-11cf-bb82-00aa00bdce0b)
10238 ]
10239 interface IHTMLInputTextElement : IDispatch
10240 {
10241     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_TYPE)]
10242     HRESULT type([retval, out] BSTR *p);
10243
10244     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_VALUE), displaybind, bindable]
10245     HRESULT value([in] BSTR v);
10246
10247     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_VALUE), displaybind, bindable]
10248     HRESULT value([retval, out] BSTR *p);
10249
10250     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_NAME), displaybind, bindable]
10251     HRESULT name([in] BSTR v);
10252
10253     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_NAME), displaybind, bindable]
10254     HRESULT name([retval, out] BSTR *p);
10255
10256     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_STATUS)]
10257     HRESULT status([in] VARIANT v);
10258
10259     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_STATUS)]
10260     HRESULT status([retval, out] VARIANT *p);
10261
10262     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_DISABLED), displaybind, bindable]
10263     HRESULT disabled([in] VARIANT_BOOL v);
10264
10265     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_DISABLED), displaybind, bindable]
10266     HRESULT disabled([retval, out] VARIANT_BOOL *p);
10267
10268     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_FORM)]
10269     HRESULT form([retval, out] IHTMLFormElement **p);
10270
10271     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
10272     HRESULT defaultValue([in] BSTR v);
10273
10274     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
10275     HRESULT defaultValue([retval, out] BSTR *p);
10276
10277     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_SIZE), displaybind, bindable]
10278     HRESULT size([in] long v);
10279
10280     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_SIZE), displaybind, bindable]
10281     HRESULT size([retval, out] long *p);
10282
10283     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_MAXLENGTH), displaybind, bindable]
10284     HRESULT maxLength([in] long v);
10285
10286     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_MAXLENGTH), displaybind, bindable]
10287     HRESULT maxLength([retval, out] long *p);
10288
10289     [id(DISPID_IHTMLINPUTTEXTELEMENT_SELECT)]
10290     HRESULT select();
10291
10292     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_ONCHANGE), displaybind, bindable]
10293     HRESULT onchange([in] VARIANT v);
10294
10295     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_ONCHANGE), displaybind, bindable]
10296     HRESULT onchange([retval, out] VARIANT *p);
10297
10298     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_ONSELECT), displaybind, bindable]
10299     HRESULT onselect([in] VARIANT v);
10300
10301     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_ONSELECT), displaybind, bindable]
10302     HRESULT onselect([retval, out] VARIANT *p);
10303
10304     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_READONLY), displaybind, bindable]
10305     HRESULT readOnly([in] VARIANT_BOOL v);
10306
10307     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_READONLY), displaybind, bindable]
10308     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
10309
10310     [id(DISPID_IHTMLINPUTTEXTELEMENT_CREATETEXTRANGE)]
10311     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
10312 }
10313
10314 [
10315     hidden,
10316     uuid(3050f57d-98b5-11cf-bb82-00aa00bdce0b)
10317 ]
10318 dispinterface DispHTMLInputElement
10319 {
10320 properties:
10321 methods:
10322     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
10323     void setAttribute(
10324             [in] BSTR strAttributeName,
10325             [in] VARIANT AttributeValue,
10326             [in, defaultvalue(1)] LONG lFlags);
10327
10328     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
10329     VARIANT getAttribute(
10330              [in] BSTR strAttributeName,
10331              [in, defaultvalue(0)] LONG lFlags);
10332
10333     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
10334     VARIANT_BOOL removeAttribute(
10335             [in] BSTR strAttributeName,
10336             [in, defaultvalue(1)] LONG lFlags);
10337
10338     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
10339     void className(BSTR v);
10340
10341     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
10342     BSTR className();
10343
10344     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
10345     void id(BSTR v);
10346
10347     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
10348     BSTR id();
10349
10350     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
10351     BSTR tagName();
10352
10353     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
10354     IHTMLElement *parentElement();
10355
10356     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
10357     IHTMLStyle *style();
10358
10359     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
10360     void onhelp(VARIANT v);
10361
10362     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
10363     VARIANT onhelp();
10364
10365     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
10366     void onclick(VARIANT v);
10367
10368     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
10369     VARIANT onclick();
10370
10371     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
10372     void ondblclick(VARIANT v);
10373
10374     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
10375     VARIANT ondblclick();
10376
10377     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
10378     void onkeydown(VARIANT v);
10379
10380     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
10381     VARIANT onkeydown();
10382
10383     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
10384     void onkeyup(VARIANT v);
10385
10386     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
10387     VARIANT onkeyup();
10388
10389     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
10390     void onkeypress(VARIANT v);
10391
10392     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
10393     VARIANT onkeypress();
10394
10395     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
10396     void onmouseout(VARIANT v);
10397
10398     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
10399     VARIANT onmouseout();
10400
10401     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
10402     void onmouseover(VARIANT v);
10403
10404     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
10405     VARIANT onmouseover();
10406
10407     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
10408     void onmousemove(VARIANT v);
10409
10410     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
10411     VARIANT onmousemove();
10412
10413     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
10414     void onmousedown(VARIANT v);
10415
10416     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
10417     VARIANT onmousedown();
10418
10419     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
10420     void onmouseup(VARIANT v);
10421
10422     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
10423     VARIANT onmouseup();
10424
10425     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
10426     IDispatch *document();
10427
10428     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
10429     void title(BSTR v);
10430
10431     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
10432     BSTR title();
10433
10434     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
10435     void language(BSTR v);
10436
10437     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
10438     BSTR language();
10439
10440     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
10441     void onselectstart(VARIANT v);
10442
10443     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
10444     VARIANT onselectstart();
10445
10446     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
10447     void scrollIntoView([in, optional] VARIANT varargStart);
10448
10449     [id(DISPID_IHTMLELEMENT_CONTAINS)]
10450     VARIANT_BOOL contains([in] IHTMLElement *pChild);
10451
10452     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
10453     long sourceIndex();
10454
10455     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
10456     VARIANT recordNumber();
10457
10458     [propput, id(DISPID_IHTMLELEMENT_LANG)]
10459     void lang(BSTR v);
10460
10461     [propget, id(DISPID_IHTMLELEMENT_LANG)]
10462     BSTR lang();
10463
10464     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
10465     long offsetLeft();
10466
10467     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
10468     long offsetTop();
10469
10470     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
10471     long offsetWidth();
10472
10473     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
10474     long offsetHeight();
10475
10476     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
10477     IHTMLElement *offsetParent();
10478
10479     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
10480     void innerHTML(BSTR v);
10481
10482     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
10483     BSTR innerHTML();
10484
10485     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
10486     void innerText(BSTR v);
10487
10488     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
10489     BSTR innerText();
10490
10491     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
10492     void outerHTML(BSTR v);
10493
10494     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
10495     BSTR outerHTML();
10496
10497     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
10498     void outerText(BSTR v);
10499
10500     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
10501     BSTR outerText();
10502
10503     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
10504     void insertAdjacentHTML(
10505             [in] BSTR where,
10506             [in] BSTR html);
10507
10508     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
10509     void insertAdjacentText(
10510             [in] BSTR where,
10511             [in] BSTR text);
10512
10513     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
10514     IHTMLElement *parentTextEdit();
10515
10516     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
10517     VARIANT_BOOL isTextEdit();
10518
10519     [id(DISPID_IHTMLELEMENT_CLICK)]
10520     void click();
10521
10522     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
10523     IHTMLFiltersCollection *filters();
10524
10525     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
10526     void ondragstart(VARIANT v);
10527
10528     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
10529     VARIANT ondragstart();
10530
10531     [id(DISPID_IHTMLELEMENT_TOSTRING)]
10532     BSTR toString();
10533
10534     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
10535     void onbeforeupdate(VARIANT v);
10536
10537     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
10538     VARIANT onbeforeupdate();
10539
10540     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
10541     void onafterupdate(VARIANT v);
10542
10543     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
10544     VARIANT onafterupdate();
10545
10546     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
10547     void onerrorupdate(VARIANT v);
10548
10549     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
10550     VARIANT onerrorupdate();
10551
10552     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
10553     void onrowexit(VARIANT v);
10554
10555     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
10556     VARIANT onrowexit();
10557
10558     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
10559     void onrowenter(VARIANT v);
10560
10561     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
10562     VARIANT onrowenter();
10563
10564     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
10565     void ondatasetchanged(VARIANT v);
10566
10567     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
10568     VARIANT ondatasetchanged();
10569
10570     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
10571     void ondataavailable(VARIANT v);
10572
10573     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
10574     VARIANT ondataavailable();
10575
10576     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
10577     void ondatasetcomplete(VARIANT v);
10578
10579     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
10580     VARIANT ondatasetcomplete();
10581
10582     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
10583     void onfilterchange(VARIANT v);
10584
10585     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
10586     VARIANT onfilterchange();
10587
10588     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
10589     IDispatch *children();
10590
10591     [propget, id(DISPID_IHTMLELEMENT_ALL)]
10592     IDispatch *all();
10593
10594     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
10595     BSTR scopeName();
10596
10597     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
10598     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
10599
10600     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
10601     void releaseCapture();
10602
10603     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
10604     void onlosecapture(VARIANT v);
10605
10606     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
10607     VARIANT onlosecapture();
10608
10609     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
10610     BSTR componentFromPoint(
10611             [in] long x,
10612             [in] long y);
10613
10614     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
10615     void doScroll([in, optional] VARIANT component);
10616
10617     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
10618     void onscroll(VARIANT v);
10619
10620     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
10621     VARIANT onscroll();
10622
10623     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
10624     void ondrag(VARIANT v);
10625
10626     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
10627     VARIANT ondrag();
10628
10629     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
10630     void ondragend(VARIANT v);
10631
10632     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
10633     VARIANT ondragend();
10634
10635     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
10636     void ondragenter(VARIANT v);
10637
10638     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
10639     VARIANT ondragenter();
10640
10641     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
10642     void ondragover(VARIANT v);
10643
10644     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
10645     VARIANT ondragover();
10646
10647     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
10648     void ondragleave(VARIANT v);
10649
10650     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
10651     VARIANT ondragleave();
10652
10653     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
10654     void ondrop(VARIANT v);
10655
10656     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
10657     VARIANT ondrop();
10658
10659     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
10660     void onbeforecut(VARIANT v);
10661
10662     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
10663     VARIANT onbeforecut();
10664
10665     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
10666     void oncut(VARIANT v);
10667
10668     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
10669     VARIANT oncut();
10670
10671     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
10672     void onbeforecopy(VARIANT v);
10673
10674     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
10675     VARIANT onbeforecopy();
10676
10677     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
10678     void oncopy(VARIANT v);
10679
10680     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
10681     VARIANT oncopy();
10682
10683     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
10684     void onbeforepaste(VARIANT v);
10685
10686     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
10687     VARIANT onbeforepaste();
10688
10689     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
10690     void onpaste(VARIANT v);
10691
10692     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
10693     VARIANT onpaste();
10694
10695     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
10696     IHTMLCurrentStyle *currentStyle();
10697
10698     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
10699     void onpropertychange(VARIANT v);
10700
10701     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
10702     VARIANT onpropertychange();
10703
10704     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
10705     IHTMLRectCollection *getClientRects();
10706
10707     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
10708     IHTMLRect *getBoundingClientRect();
10709
10710     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
10711     void setExpression(
10712             [in] BSTR propname,
10713             [in] BSTR expression,
10714             [in, defaultvalue("")] BSTR language);
10715
10716     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
10717     VARIANT getExpression([in] BSTR propname);
10718
10719     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
10720     VARIANT_BOOL removeExpression([in] BSTR propname);
10721
10722     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
10723     void tabIndex(short v);
10724
10725     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
10726     short tabIndex();
10727
10728     [id(DISPID_IHTMLELEMENT2_FOCUS)]
10729     void focus();
10730
10731     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
10732     void accessKey(BSTR v);
10733
10734     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
10735     BSTR accessKey();
10736
10737     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
10738     void onblur(VARIANT v);
10739
10740     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
10741     VARIANT onblur();
10742
10743     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
10744     void onfocus(VARIANT v);
10745
10746     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
10747     VARIANT onfocus();
10748
10749     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
10750     void onresize(VARIANT v);
10751
10752     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
10753     VARIANT onresize();
10754
10755     [id(DISPID_IHTMLELEMENT2_BLUR)]
10756     void blur();
10757
10758     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
10759     void addFilter([in] IUnknown *pUnk);
10760
10761     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
10762     void removeFilter([in] IUnknown *pUnk);
10763
10764     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
10765     long clientHeight();
10766
10767     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
10768     long clientWidth();
10769
10770     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
10771     long clientTop();
10772
10773     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
10774     long clientLeft();
10775
10776     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
10777     VARIANT_BOOL attachEvent(
10778             [in] BSTR event,
10779             [in] IDispatch *pDisp);
10780
10781     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
10782     void detachEvent(
10783             [in] BSTR event,
10784             [in] IDispatch *pDisp);
10785
10786     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
10787     VARIANT readyState();
10788
10789     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
10790     void onreadystatechange(VARIANT v);
10791
10792     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
10793     VARIANT onreadystatechange();
10794
10795     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
10796     void onrowsdelete(VARIANT v);
10797
10798     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
10799     VARIANT onrowsdelete();
10800
10801     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
10802     void onrowsinserted(VARIANT v);
10803
10804     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
10805      VARIANT onrowsinserted();
10806
10807     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
10808      void oncellchange(VARIANT v);
10809
10810     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
10811     VARIANT oncellchange();
10812
10813     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
10814     void dir(BSTR v);
10815
10816     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
10817     BSTR dir();
10818
10819     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
10820     IDispatch *createControlRange();
10821
10822     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
10823     long scrollHeight();
10824
10825     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
10826     long scrollWidth();
10827
10828     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
10829     void scrollTop(long v);
10830
10831     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
10832     long scrollTop();
10833
10834     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
10835     void scrollLeft(long v);
10836
10837     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
10838     long scrollLeft();
10839
10840     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
10841     void clearAttributes();
10842
10843     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
10844     void oncontextmenu(VARIANT v);
10845
10846     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
10847     VARIANT oncontextmenu();
10848
10849     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
10850     IHTMLElement *insertAdjacentElement(
10851             [in] BSTR where,
10852             [in] IHTMLElement *insertedElement);
10853
10854     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
10855     IHTMLElement *applyElement(
10856             [in] IHTMLElement *apply,
10857             [in] BSTR where);
10858
10859     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
10860     BSTR getAdjacentText([in] BSTR where);
10861
10862     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
10863     BSTR replaceAdjacentText(
10864             [in] BSTR where,
10865             [in] BSTR newText);
10866
10867     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
10868     VARIANT_BOOL canHaveChildren();
10869
10870     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
10871     long addBehavior(
10872             [in] BSTR bstrUrl,
10873             [in, optional] VARIANT *pvarFactory);
10874
10875     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
10876     VARIANT_BOOL removeBehavior([in] long cookie);
10877
10878     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
10879     IHTMLStyle *runtimeStyle();
10880
10881     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
10882     IDispatch *behaviorUrns();
10883
10884     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
10885     void tagUrn(BSTR v);
10886
10887     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
10888     BSTR tagUrn();
10889
10890     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
10891     void onbeforeeditfocus(VARIANT v);
10892
10893     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
10894     VARIANT onbeforeeditfocus();
10895
10896     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
10897     long readyStateValue();
10898
10899     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
10900     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
10901
10902     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
10903     void mergeAttributes(
10904             [in] IHTMLElement *mergeThis,
10905             [in, optional] VARIANT *pvarFlags);
10906
10907     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
10908     VARIANT_BOOL isMultiLine();
10909
10910     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
10911     VARIANT_BOOL canHaveHTML();
10912
10913     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
10914     void onlayoutcomplete(VARIANT v);
10915
10916     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
10917     VARIANT onlayoutcomplete();
10918
10919     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
10920     void onpage(VARIANT v);
10921
10922     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
10923     VARIANT onpage();
10924
10925     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
10926     void inflateBlock(VARIANT_BOOL v);
10927
10928     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
10929     VARIANT_BOOL inflateBlock();
10930
10931     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
10932     void onbeforedeactivate(VARIANT v);
10933
10934     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
10935     VARIANT onbeforedeactivate();
10936
10937     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
10938     void setActive();
10939
10940     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
10941     void contentEditable(BSTR v);
10942
10943     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
10944     BSTR contentEditable();
10945
10946     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
10947     VARIANT_BOOL isContentEditable();
10948
10949     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
10950     void hideFocus(VARIANT_BOOL v);
10951
10952     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
10953     VARIANT_BOOL hideFocus();
10954
10955     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
10956     void disabled(VARIANT_BOOL v);
10957
10958     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
10959     VARIANT_BOOL disabled();
10960
10961     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
10962     VARIANT_BOOL isDisabled();
10963
10964     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
10965     void onmove(VARIANT v);
10966
10967     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
10968     VARIANT onmove();
10969
10970     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
10971     void oncontrolselect(VARIANT v);
10972
10973     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
10974     VARIANT oncontrolselect();
10975
10976     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
10977     VARIANT_BOOL fireEvent(
10978             [in] BSTR bstrEventName,
10979             [in, optional] VARIANT *pvarEventObject);
10980
10981     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
10982     void onresizestart(VARIANT v);
10983
10984     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
10985     VARIANT onresizestart();
10986
10987     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
10988     void onresizeend(VARIANT v);
10989
10990     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
10991     VARIANT onresizeend();
10992
10993     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
10994     void onmovestart(VARIANT v);
10995
10996     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
10997     VARIANT onmovestart();
10998
10999     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
11000     void onmoveend(VARIANT v);
11001
11002     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
11003     VARIANT onmoveend();
11004
11005     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
11006     void onmouseenter(VARIANT v);
11007
11008     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
11009     VARIANT onmouseenter();
11010
11011     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
11012     void onmouseleave(VARIANT v);
11013
11014     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
11015     VARIANT onmouseleave();
11016
11017     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
11018     void onactivate(VARIANT v);
11019
11020     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
11021     VARIANT onactivate();
11022
11023     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
11024     void ondeactivate(VARIANT v);
11025
11026     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
11027     VARIANT ondeactivate();
11028
11029     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
11030     VARIANT_BOOL dragDrop();
11031
11032     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
11033     LONG glyphMode();
11034
11035     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
11036     void onmousewheel(VARIANT v);
11037
11038     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
11039     VARIANT onmousewheel();
11040
11041     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
11042     void normalize();
11043
11044     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
11045     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
11046
11047     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
11048     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
11049
11050     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
11051     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
11052
11053     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
11054     void onbeforeactivate(VARIANT v);
11055
11056     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
11057     VARIANT onbeforeactivate();
11058
11059     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
11060     void onfocusin(VARIANT v);
11061
11062     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
11063     VARIANT onfocusin();
11064
11065     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
11066     void onfocusout(VARIANT v);
11067
11068     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
11069     VARIANT onfocusout();
11070
11071     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
11072     long uniqueNumber();
11073
11074     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
11075     BSTR uniqueID();
11076
11077     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
11078     long nodeType();
11079
11080     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
11081     IHTMLDOMNode *parentNode();
11082
11083     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
11084     VARIANT_BOOL hasChildNodes();
11085
11086     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
11087     IDispatch *childNodes();
11088
11089     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
11090     IDispatch *attributes();
11091
11092     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
11093     IHTMLDOMNode *insertBefore(
11094             [in] IHTMLDOMNode *newChild,
11095             [in, optional] VARIANT refChild);
11096
11097     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
11098     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
11099
11100     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
11101     IHTMLDOMNode *replaceChild(
11102             [in] IHTMLDOMNode *newChild,
11103             [in] IHTMLDOMNode *oldChild);
11104
11105     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
11106     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
11107
11108     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
11109     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
11110
11111     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
11112     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
11113
11114     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
11115     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
11116
11117     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
11118     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
11119
11120     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
11121     BSTR nodeName();
11122
11123     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
11124     void nodeValue(VARIANT v);
11125
11126     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
11127     VARIANT nodeValue();
11128
11129     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
11130     IHTMLDOMNode *firstChild();
11131
11132     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
11133     IHTMLDOMNode *lastChild();
11134
11135     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
11136     IHTMLDOMNode *previousSibling();
11137
11138     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
11139     IHTMLDOMNode *nextSibling();
11140
11141     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
11142     IDispatch *ownerDocument();
11143
11144     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
11145     void dataFld(BSTR v);
11146
11147     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
11148     BSTR dataFld();
11149
11150     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
11151     void dataSrc(BSTR v);
11152
11153     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
11154     BSTR dataSrc();
11155
11156     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
11157     void dataFormatAs(BSTR v);
11158
11159     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
11160     BSTR dataFormatAs();
11161
11162     [propput, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
11163     void type(BSTR v);
11164
11165     [propget, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
11166     BSTR type();
11167
11168     [propput, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
11169     void value(BSTR v);
11170
11171     [propget, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
11172     BSTR value();
11173
11174     [propput, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
11175     void name(BSTR v);
11176
11177     [propget, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
11178     BSTR name();
11179
11180     [propput, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
11181     void status(VARIANT_BOOL v);
11182
11183     [propget, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
11184     VARIANT_BOOL status();
11185
11186     [propget, id(DISPID_IHTMLINPUTELEMENT_FORM)]
11187     IHTMLFormElement *form();
11188
11189     [propput, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
11190     void size(long v);
11191
11192     [propget, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
11193     long size();
11194
11195     [propput, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
11196     void maxLength(long v);
11197
11198     [propget, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
11199     long maxLength();
11200
11201     [id(DISPID_IHTMLINPUTELEMENT_SELECT)]
11202     void select();
11203
11204     [propput, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
11205     void onchange(VARIANT v);
11206
11207     [propget, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
11208     VARIANT onchange();
11209
11210     [propput, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
11211     void onselect(VARIANT v);
11212
11213     [propget, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
11214     VARIANT onselect();
11215
11216     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
11217     void defaultValue(BSTR v);
11218
11219     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
11220     BSTR defaultValue();
11221
11222     [propput, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
11223     void readOnly(VARIANT_BOOL v);
11224
11225     [propget, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
11226     VARIANT_BOOL readOnly();
11227
11228     [id(DISPID_IHTMLINPUTELEMENT_CREATETEXTRANGE)]
11229     IHTMLTxtRange *createTextRange();
11230
11231     [propput, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
11232     void indeterminate(VARIANT_BOOL v);
11233
11234     [propget, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
11235     VARIANT_BOOL indeterminate();
11236
11237     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
11238     void defaultChecked(VARIANT_BOOL v);
11239
11240     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
11241     VARIANT_BOOL defaultChecked();
11242
11243     [propput, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
11244     void checked(VARIANT_BOOL v);
11245
11246     [propget, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
11247     VARIANT_BOOL checked();
11248
11249     [propput, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
11250     void border(VARIANT v);
11251
11252     [propget, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
11253     VARIANT border();
11254
11255     [propput, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
11256     void vspace(long v);
11257
11258     [propget, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
11259     long vspace();
11260
11261     [propput, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
11262     void hspace(long v);
11263
11264     [propget, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
11265     long hspace();
11266
11267     [propput, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
11268     void alt(BSTR v);
11269
11270     [propget, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
11271     BSTR alt();
11272
11273     [propput, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
11274     void src(BSTR v);
11275
11276     [propget, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
11277     BSTR src();
11278
11279     [propput, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
11280     void lowsrc(BSTR v);
11281
11282     [propget, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
11283     BSTR lowsrc();
11284
11285     [propput, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
11286     void vrml(BSTR v);
11287
11288     [propget, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
11289     BSTR vrml();
11290
11291     [propput, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
11292     void dynsrc(BSTR v);
11293
11294     [propget, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
11295     BSTR dynsrc();
11296
11297     [propget, id(DISPID_IHTMLINPUTELEMENT_COMPLETE)]
11298     VARIANT_BOOL complete();
11299
11300     [propput, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
11301     void loop(VARIANT v);
11302
11303     [propget, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
11304     VARIANT loop();
11305
11306     [propput, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
11307     void align(BSTR v);
11308
11309     [propget, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
11310     BSTR align();
11311
11312     [propput, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
11313     void onload(VARIANT v);
11314
11315     [propget, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
11316     VARIANT onload();
11317
11318     [propput, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
11319     void onerror(VARIANT v);
11320
11321     [propget, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
11322     VARIANT onerror();
11323
11324     [propput, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
11325     void onabort(VARIANT v);
11326
11327     [propget, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
11328     VARIANT onabort();
11329
11330     [propput, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
11331     void width(long v);
11332
11333     [propget, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
11334     long width();
11335
11336     [propput, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
11337     void height(long v);
11338
11339     [propget, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
11340     long height();
11341
11342     [propput, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
11343     void start(BSTR v);
11344
11345     [propget, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
11346     BSTR start();
11347
11348     [propput, id(DISPID_IHTMLINPUTELEMENT2_ACCEPT), displaybind, bindable]
11349     void accept(BSTR v);
11350
11351     [propget, id(DISPID_IHTMLINPUTELEMENT2_ACCEPT), displaybind, bindable]
11352     BSTR accept();
11353
11354     [propput, id(DISPID_IHTMLINPUTELEMENT2_USEMAP), displaybind, bindable]
11355     void useMap(BSTR v);
11356
11357     [propget, id(DISPID_IHTMLINPUTELEMENT2_USEMAP), displaybind, bindable]
11358     BSTR useMap();
11359 }
11360
11361 /*****************************************************************************
11362  *    IHTMLTextAreaElement interface
11363  */
11364 [
11365     odl,
11366     oleautomation,
11367     dual,
11368     uuid(3050f2aa-98b5-11cf-bb82-00aa00bdce0b)
11369 ]
11370 interface IHTMLTextAreaElement : IDispatch
11371 {
11372     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_TYPE)]
11373     HRESULT type([retval, out] BSTR *p);
11374
11375     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
11376     HRESULT value([in] BSTR v);
11377
11378     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
11379     HRESULT value([retval, out] BSTR *p);
11380
11381     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
11382     HRESULT name([in] BSTR v);
11383
11384     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
11385     HRESULT name([retval, out] BSTR *p);
11386
11387     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
11388     HRESULT status([in] VARIANT v);
11389
11390     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
11391     HRESULT status([retval, out] VARIANT *p);
11392
11393     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_DISABLED), displaybind, bindable]
11394     HRESULT disabled([in] VARIANT_BOOL v);
11395
11396     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_DISABLED), displaybind, bindable]
11397     HRESULT disabled([retval, out] VARIANT_BOOL *p);
11398
11399     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_FORM)]
11400     HRESULT form([retval, out] IHTMLFormElement **p);
11401
11402     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
11403     HRESULT defaultValue([in] BSTR v);
11404
11405     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
11406     HRESULT defaultValue([retval, out] BSTR *p);
11407
11408     [id(DISPID_IHTMLTEXTAREAELEMENT_SELECT)]
11409     HRESULT select();
11410
11411     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
11412     HRESULT onchange([in] VARIANT v);
11413
11414     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
11415     HRESULT onchange([retval, out] VARIANT *p);
11416
11417     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
11418     HRESULT onselect([in] VARIANT v);
11419
11420     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
11421     HRESULT onselect([retval, out] VARIANT *p);
11422
11423     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
11424     HRESULT readOnly([in] VARIANT_BOOL v);
11425
11426     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
11427     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
11428
11429     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
11430     HRESULT rows([in] long v);
11431
11432     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
11433     HRESULT rows([retval, out] long *p);
11434
11435     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
11436     HRESULT cols([in] long v);
11437
11438     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
11439     HRESULT cols([retval, out] long *p);
11440
11441     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
11442     HRESULT wrap([in] BSTR v);
11443
11444     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
11445     HRESULT wrap([retval, out] BSTR *p);
11446
11447     [id(DISPID_IHTMLTEXTAREAELEMENT_CREATETEXTRANGE)]
11448     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
11449 }
11450
11451 /*****************************************************************************
11452  *    DispHTMLUnknownElement interface
11453  */
11454 [
11455     hidden,
11456     uuid(3050f539-98b5-11cf-bb82-00aa00bdce0b)
11457 ]
11458 dispinterface DispHTMLUnknownElement
11459 {
11460 properties:
11461 methods:
11462     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
11463     void setAttribute(
11464             [in] BSTR strAttributeName,
11465             [in] VARIANT AttributeValue,
11466             [in, defaultvalue(1)] LONG lFlags);
11467
11468     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
11469     VARIANT getAttribute(
11470              [in] BSTR strAttributeName,
11471              [in, defaultvalue(0)] LONG lFlags);
11472
11473     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
11474     VARIANT_BOOL removeAttribute(
11475             [in] BSTR strAttributeName,
11476             [in, defaultvalue(1)] LONG lFlags);
11477
11478     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
11479     void className(BSTR v);
11480
11481     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
11482     BSTR className();
11483
11484     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
11485     void id(BSTR v);
11486
11487     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
11488     BSTR id();
11489
11490     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
11491     BSTR tagName();
11492
11493     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
11494     IHTMLElement *parentElement();
11495
11496     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
11497     IHTMLStyle *style();
11498
11499     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
11500     void onhelp(VARIANT v);
11501
11502     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
11503     VARIANT onhelp();
11504
11505     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
11506     void onclick(VARIANT v);
11507
11508     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
11509     VARIANT onclick();
11510
11511     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
11512     void ondblclick(VARIANT v);
11513
11514     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
11515     VARIANT ondblclick();
11516
11517     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
11518     void onkeydown(VARIANT v);
11519
11520     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
11521     VARIANT onkeydown();
11522
11523     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
11524     void onkeyup(VARIANT v);
11525
11526     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
11527     VARIANT onkeyup();
11528
11529     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
11530     void onkeypress(VARIANT v);
11531
11532     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
11533     VARIANT onkeypress();
11534
11535     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
11536     void onmouseout(VARIANT v);
11537
11538     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
11539     VARIANT onmouseout();
11540
11541     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
11542     void onmouseover(VARIANT v);
11543
11544     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
11545     VARIANT onmouseover();
11546
11547     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
11548     void onmousemove(VARIANT v);
11549
11550     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
11551     VARIANT onmousemove();
11552
11553     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
11554     void onmousedown(VARIANT v);
11555
11556     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
11557     VARIANT onmousedown();
11558
11559     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
11560     void onmouseup(VARIANT v);
11561
11562     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
11563     VARIANT onmouseup();
11564
11565     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
11566     IDispatch *document();
11567
11568     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
11569     void title(BSTR v);
11570
11571     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
11572     BSTR title();
11573
11574     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
11575     void language(BSTR v);
11576
11577     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
11578     BSTR language();
11579
11580     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
11581     void onselectstart(VARIANT v);
11582
11583     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
11584     VARIANT onselectstart();
11585
11586     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
11587     void scrollIntoView([in, optional] VARIANT varargStart);
11588
11589     [id(DISPID_IHTMLELEMENT_CONTAINS)]
11590     VARIANT_BOOL contains([in] IHTMLElement *pChild);
11591
11592     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
11593     long sourceIndex();
11594
11595     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
11596     VARIANT recordNumber();
11597
11598     [propput, id(DISPID_IHTMLELEMENT_LANG)]
11599     void lang(BSTR v);
11600
11601     [propget, id(DISPID_IHTMLELEMENT_LANG)]
11602     BSTR lang();
11603
11604     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
11605     long offsetLeft();
11606
11607     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
11608     long offsetTop();
11609
11610     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
11611     long offsetWidth();
11612
11613     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
11614     long offsetHeight();
11615
11616     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
11617     IHTMLElement *offsetParent();
11618
11619     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
11620     void innerHTML(BSTR v);
11621
11622     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
11623     BSTR innerHTML();
11624
11625     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
11626     void innerText(BSTR v);
11627
11628     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
11629     BSTR innerText();
11630
11631     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
11632     void outerHTML(BSTR v);
11633
11634     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
11635     BSTR outerHTML();
11636
11637     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
11638     void outerText(BSTR v);
11639
11640     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
11641     BSTR outerText();
11642
11643     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
11644     void insertAdjacentHTML(
11645             [in] BSTR where,
11646             [in] BSTR html);
11647
11648     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
11649     void insertAdjacentText(
11650             [in] BSTR where,
11651             [in] BSTR text);
11652
11653     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
11654     IHTMLElement *parentTextEdit();
11655
11656     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
11657     VARIANT_BOOL isTextEdit();
11658
11659     [id(DISPID_IHTMLELEMENT_CLICK)]
11660     void click();
11661
11662     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
11663     IHTMLFiltersCollection *filters();
11664
11665     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
11666     void ondragstart(VARIANT v);
11667
11668     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
11669     VARIANT ondragstart();
11670
11671     [id(DISPID_IHTMLELEMENT_TOSTRING)]
11672     BSTR toString();
11673
11674     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
11675     void onbeforeupdate(VARIANT v);
11676
11677     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
11678     VARIANT onbeforeupdate();
11679
11680     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
11681     void onafterupdate(VARIANT v);
11682
11683     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
11684     VARIANT onafterupdate();
11685
11686     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
11687     void onerrorupdate(VARIANT v);
11688
11689     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
11690     VARIANT onerrorupdate();
11691
11692     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
11693     void onrowexit(VARIANT v);
11694
11695     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
11696     VARIANT onrowexit();
11697
11698     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
11699     void onrowenter(VARIANT v);
11700
11701     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
11702     VARIANT onrowenter();
11703
11704     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
11705     void ondatasetchanged(VARIANT v);
11706
11707     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
11708     VARIANT ondatasetchanged();
11709
11710     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
11711     void ondataavailable(VARIANT v);
11712
11713     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
11714     VARIANT ondataavailable();
11715
11716     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
11717     void ondatasetcomplete(VARIANT v);
11718
11719     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
11720     VARIANT ondatasetcomplete();
11721
11722     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
11723     void onfilterchange(VARIANT v);
11724
11725     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
11726     VARIANT onfilterchange();
11727
11728     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
11729     IDispatch *children();
11730
11731     [propget, id(DISPID_IHTMLELEMENT_ALL)]
11732     IDispatch *all();
11733
11734     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
11735     BSTR scopeName();
11736
11737     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
11738     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
11739
11740     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
11741     void releaseCapture();
11742
11743     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
11744     void onlosecapture(VARIANT v);
11745
11746     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
11747     VARIANT onlosecapture();
11748
11749     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
11750     BSTR componentFromPoint(
11751             [in] long x,
11752             [in] long y);
11753
11754     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
11755     void doScroll([in, optional] VARIANT component);
11756
11757     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
11758     void onscroll(VARIANT v);
11759
11760     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
11761     VARIANT onscroll();
11762
11763     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
11764     void ondrag(VARIANT v);
11765
11766     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
11767     VARIANT ondrag();
11768
11769     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
11770     void ondragend(VARIANT v);
11771
11772     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
11773     VARIANT ondragend();
11774
11775     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
11776     void ondragenter(VARIANT v);
11777
11778     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
11779     VARIANT ondragenter();
11780
11781     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
11782     void ondragover(VARIANT v);
11783
11784     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
11785     VARIANT ondragover();
11786
11787     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
11788     void ondragleave(VARIANT v);
11789
11790     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
11791     VARIANT ondragleave();
11792
11793     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
11794     void ondrop(VARIANT v);
11795
11796     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
11797     VARIANT ondrop();
11798
11799     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
11800     void onbeforecut(VARIANT v);
11801
11802     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
11803     VARIANT onbeforecut();
11804
11805     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
11806     void oncut(VARIANT v);
11807
11808     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
11809     VARIANT oncut();
11810
11811     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
11812     void onbeforecopy(VARIANT v);
11813
11814     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
11815     VARIANT onbeforecopy();
11816
11817     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
11818     void oncopy(VARIANT v);
11819
11820     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
11821     VARIANT oncopy();
11822
11823     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
11824     void onbeforepaste(VARIANT v);
11825
11826     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
11827     VARIANT onbeforepaste();
11828
11829     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
11830     void onpaste(VARIANT v);
11831
11832     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
11833     VARIANT onpaste();
11834
11835     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
11836     IHTMLCurrentStyle *currentStyle();
11837
11838     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
11839     void onpropertychange(VARIANT v);
11840
11841     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
11842     VARIANT onpropertychange();
11843
11844     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
11845     IHTMLRectCollection *getClientRects();
11846
11847     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
11848     IHTMLRect *getBoundingClientRect();
11849
11850     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
11851     void setExpression(
11852             [in] BSTR propname,
11853             [in] BSTR expression,
11854             [in, defaultvalue("")] BSTR language);
11855
11856     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
11857     VARIANT getExpression([in] BSTR propname);
11858
11859     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
11860     VARIANT_BOOL removeExpression([in] BSTR propname);
11861
11862     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
11863     void tabIndex(short v);
11864
11865     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
11866     short tabIndex();
11867
11868     [id(DISPID_IHTMLELEMENT2_FOCUS)]
11869     void focus();
11870
11871     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
11872     void accessKey(BSTR v);
11873
11874     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
11875     BSTR accessKey();
11876
11877     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
11878     void onblur(VARIANT v);
11879
11880     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
11881     VARIANT onblur();
11882
11883     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
11884     void onfocus(VARIANT v);
11885
11886     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
11887     VARIANT onfocus();
11888
11889     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
11890     void onresize(VARIANT v);
11891
11892     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
11893     VARIANT onresize();
11894
11895     [id(DISPID_IHTMLELEMENT2_BLUR)]
11896     void blur();
11897
11898     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
11899     void addFilter([in] IUnknown *pUnk);
11900
11901     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
11902     void removeFilter([in] IUnknown *pUnk);
11903
11904     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
11905     long clientHeight();
11906
11907     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
11908     long clientWidth();
11909
11910     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
11911     long clientTop();
11912
11913     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
11914     long clientLeft();
11915
11916     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
11917     VARIANT_BOOL attachEvent(
11918             [in] BSTR event,
11919             [in] IDispatch *pDisp);
11920
11921     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
11922     void detachEvent(
11923             [in] BSTR event,
11924             [in] IDispatch *pDisp);
11925
11926     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
11927     VARIANT readyState();
11928
11929     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
11930     void onreadystatechange(VARIANT v);
11931
11932     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
11933     VARIANT onreadystatechange();
11934
11935     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
11936     void onrowsdelete(VARIANT v);
11937
11938     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
11939     VARIANT onrowsdelete();
11940
11941     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
11942     void onrowsinserted(VARIANT v);
11943
11944     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
11945      VARIANT onrowsinserted();
11946
11947     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
11948      void oncellchange(VARIANT v);
11949
11950     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
11951     VARIANT oncellchange();
11952
11953     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
11954     void dir(BSTR v);
11955
11956     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
11957     BSTR dir();
11958
11959     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
11960     IDispatch *createControlRange();
11961
11962     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
11963     long scrollHeight();
11964
11965     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
11966     long scrollWidth();
11967
11968     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
11969     void scrollTop(long v);
11970
11971     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
11972     long scrollTop();
11973
11974     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
11975     void scrollLeft(long v);
11976
11977     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
11978     long scrollLeft();
11979
11980     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
11981     void clearAttributes();
11982
11983     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
11984     void oncontextmenu(VARIANT v);
11985
11986     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
11987     VARIANT oncontextmenu();
11988
11989     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
11990     IHTMLElement *insertAdjacentElement(
11991             [in] BSTR where,
11992             [in] IHTMLElement *insertedElement);
11993
11994     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
11995     IHTMLElement *applyElement(
11996             [in] IHTMLElement *apply,
11997             [in] BSTR where);
11998
11999     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
12000     BSTR getAdjacentText([in] BSTR where);
12001
12002     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
12003     BSTR replaceAdjacentText(
12004             [in] BSTR where,
12005             [in] BSTR newText);
12006
12007     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
12008     VARIANT_BOOL canHaveChildren();
12009
12010     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
12011     long addBehavior(
12012             [in] BSTR bstrUrl,
12013             [in, optional] VARIANT *pvarFactory);
12014
12015     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
12016     VARIANT_BOOL removeBehavior([in] long cookie);
12017
12018     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
12019     IHTMLStyle *runtimeStyle();
12020
12021     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
12022     IDispatch *behaviorUrns();
12023
12024     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
12025     void tagUrn(BSTR v);
12026
12027     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
12028     BSTR tagUrn();
12029
12030     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
12031     void onbeforeeditfocus(VARIANT v);
12032
12033     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
12034     VARIANT onbeforeeditfocus();
12035
12036     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
12037     long readyStateValue();
12038
12039     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
12040     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
12041
12042     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
12043     void mergeAttributes(
12044             [in] IHTMLElement *mergeThis,
12045             [in, optional] VARIANT *pvarFlags);
12046
12047     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
12048     VARIANT_BOOL isMultiLine();
12049
12050     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
12051     VARIANT_BOOL canHaveHTML();
12052
12053     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
12054     void onlayoutcomplete(VARIANT v);
12055
12056     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
12057     VARIANT onlayoutcomplete();
12058
12059     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
12060     void onpage(VARIANT v);
12061
12062     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
12063     VARIANT onpage();
12064
12065     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
12066     void inflateBlock(VARIANT_BOOL v);
12067
12068     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
12069     VARIANT_BOOL inflateBlock();
12070
12071     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
12072     void onbeforedeactivate(VARIANT v);
12073
12074     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
12075     VARIANT onbeforedeactivate();
12076
12077     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
12078     void setActive();
12079
12080     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
12081     void contentEditable(BSTR v);
12082
12083     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
12084     BSTR contentEditable();
12085
12086     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
12087     VARIANT_BOOL isContentEditable();
12088
12089     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
12090     void hideFocus(VARIANT_BOOL v);
12091
12092     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
12093     VARIANT_BOOL hideFocus();
12094
12095     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
12096     void disabled(VARIANT_BOOL v);
12097
12098     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
12099     VARIANT_BOOL disabled();
12100
12101     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
12102     VARIANT_BOOL isDisabled();
12103
12104     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
12105     void onmove(VARIANT v);
12106
12107     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
12108     VARIANT onmove();
12109
12110     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
12111     void oncontrolselect(VARIANT v);
12112
12113     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
12114     VARIANT oncontrolselect();
12115
12116     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
12117     VARIANT_BOOL fireEvent(
12118             [in] BSTR bstrEventName,
12119             [in, optional] VARIANT *pvarEventObject);
12120
12121     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
12122     void onresizestart(VARIANT v);
12123
12124     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
12125     VARIANT onresizestart();
12126
12127     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
12128     void onresizeend(VARIANT v);
12129
12130     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
12131     VARIANT onresizeend();
12132
12133     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
12134     void onmovestart(VARIANT v);
12135
12136     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
12137     VARIANT onmovestart();
12138
12139     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
12140     void onmoveend(VARIANT v);
12141
12142     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
12143     VARIANT onmoveend();
12144
12145     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
12146     void onmouseenter(VARIANT v);
12147
12148     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
12149     VARIANT onmouseenter();
12150
12151     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
12152     void onmouseleave(VARIANT v);
12153
12154     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
12155     VARIANT onmouseleave();
12156
12157     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
12158     void onactivate(VARIANT v);
12159
12160     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
12161     VARIANT onactivate();
12162
12163     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
12164     void ondeactivate(VARIANT v);
12165
12166     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
12167     VARIANT ondeactivate();
12168
12169     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
12170     VARIANT_BOOL dragDrop();
12171
12172     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
12173     LONG glyphMode();
12174
12175     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
12176     void onmousewheel(VARIANT v);
12177
12178     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
12179     VARIANT onmousewheel();
12180
12181     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
12182     void normalize();
12183
12184     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
12185     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
12186
12187     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
12188     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
12189
12190     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
12191     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
12192
12193     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
12194     void onbeforeactivate(VARIANT v);
12195
12196     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
12197     VARIANT onbeforeactivate();
12198
12199     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
12200     void onfocusin(VARIANT v);
12201
12202     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
12203     VARIANT onfocusin();
12204
12205     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
12206     void onfocusout(VARIANT v);
12207
12208     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
12209     VARIANT onfocusout();
12210
12211     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
12212     long uniqueNumber();
12213
12214     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
12215     BSTR uniqueID();
12216
12217     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
12218     long nodeType();
12219
12220     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
12221     IHTMLDOMNode *parentNode();
12222
12223     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
12224     VARIANT_BOOL hasChildNodes();
12225
12226     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
12227     IDispatch *childNodes();
12228
12229     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
12230     IDispatch *attributes();
12231
12232     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
12233     IHTMLDOMNode *insertBefore(
12234             [in] IHTMLDOMNode *newChild,
12235             [in, optional] VARIANT refChild);
12236
12237     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
12238     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
12239
12240     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
12241     IHTMLDOMNode *replaceChild(
12242             [in] IHTMLDOMNode *newChild,
12243             [in] IHTMLDOMNode *oldChild);
12244
12245     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
12246     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
12247
12248     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
12249     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
12250
12251     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
12252     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
12253
12254     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
12255     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
12256
12257     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
12258     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
12259
12260     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
12261     BSTR nodeName();
12262
12263     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
12264     void nodeValue(VARIANT v);
12265
12266     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
12267     VARIANT nodeValue();
12268
12269     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
12270     IHTMLDOMNode *firstChild();
12271
12272     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
12273     IHTMLDOMNode *lastChild();
12274
12275     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
12276     IHTMLDOMNode *previousSibling();
12277
12278     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
12279     IHTMLDOMNode *nextSibling();
12280
12281     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
12282     IDispatch *ownerDocument();
12283 }
12284
12285 /*****************************************************************************
12286  *    IOmHistory interface
12287  */
12288 [
12289     odl,
12290     oleautomation,
12291     dual,
12292     uuid(FECEAAA2-8405-11CF-8BA1-00AA00476DA6)
12293 ]
12294 interface IOmHistory : IDispatch
12295 {
12296     [propget, id(DISPID_IOMHISTORY_LENGTH)]
12297     HRESULT length([retval, out] short *p);
12298
12299     [id(DISPID_IOMHISTORY_BACK)]
12300     HRESULT back([optional, in] VARIANT *pvargdistance);
12301
12302     [id(DISPID_IOMHISTORY_FORWARD)]
12303     HRESULT forward([optional, in] VARIANT *pvargdistance);
12304
12305     [id(DISPID_IOMHISTORY_GO)]
12306     HRESULT go([optional, in] VARIANT *pvargdistance);
12307 }
12308
12309 /*****************************************************************************
12310  *    IHTMLMimeTypesCollection interface
12311  */
12312 [
12313     odl,
12314     oleautomation,
12315     dual,
12316     uuid(3050F3FC-98B5-11CF-BB82-00AA00BDCE0B)
12317 ]
12318 interface IHTMLMimeTypesCollection : IDispatch
12319 {
12320     [propget, id(DISPID_IHTMLMIMETYPESCOLLECTION_LENGTH)]
12321     HRESULT length([retval, out] long *p);
12322 }
12323
12324 /*****************************************************************************
12325  *    IHTMLPluginsCollection interface
12326  */
12327 [
12328     odl,
12329     oleautomation,
12330     dual,
12331     uuid(3050F3FD-98B5-11CF-BB82-00AA00BDCE0B)
12332 ]
12333 interface IHTMLPluginsCollection : IDispatch
12334 {
12335     [propget, id(DISPID_IHTMLPLUGINSCOLLECTION_LENGTH)]
12336     HRESULT length([retval, out] long *p);
12337
12338     [id(DISPID_IHTMLPLUGINSCOLLECTION_REFRESH)]
12339     HRESULT refresh([defaultvalue(0), in] VARIANT_BOOL reload);
12340 }
12341
12342 /*****************************************************************************
12343  *    IHTMLOpsProfile interface
12344  */
12345 [
12346     odl,
12347     oleautomation,
12348     dual,
12349     uuid(3050F401-98B5-11CF-BB82-00AA00BDCE0B)
12350 ]
12351 interface IHTMLOpsProfile : IDispatch
12352 {
12353     [id(DISPID_IHTMLOPSPROFILE_ADDREQUEST)]
12354     HRESULT addRequest(
12355         [in] BSTR name,
12356         [optional, in] VARIANT reserved,
12357         [retval, out] VARIANT_BOOL *success);
12358
12359     [id(DISPID_IHTMLOPSPROFILE_CLEARREQUEST)]
12360     HRESULT clearRequest();
12361
12362     [id(DISPID_IHTMLOPSPROFILE_DOREQUEST)]
12363     HRESULT doRequest(
12364         [in] VARIANT usage,
12365         [optional, in] VARIANT fname,
12366         [optional, in] VARIANT domain,
12367         [optional, in] VARIANT path,
12368         [optional, in] VARIANT expire,
12369         [optional, in] VARIANT reserved);
12370
12371     [id(DISPID_IHTMLOPSPROFILE_GETATTRIBUTE)]
12372     HRESULT getAttribute(
12373         [in] BSTR name,
12374         [retval, out] BSTR *value);
12375
12376     [id(DISPID_IHTMLOPSPROFILE_SETATTRIBUTE)]
12377     HRESULT setAttribute(
12378         [in] BSTR name,
12379         [in] BSTR value,
12380         [optional, in] VARIANT prefs,
12381         [retval, out] VARIANT_BOOL *success);
12382
12383     [id(DISPID_IHTMLOPSPROFILE_COMMITCHANGES)]
12384     HRESULT commitChanges([retval, out] VARIANT_BOOL *success);
12385
12386     [id(DISPID_IHTMLOPSPROFILE_ADDREADREQUEST)]
12387     HRESULT addReadRequest(
12388         [in] BSTR name,
12389         [optional, in] VARIANT reserved,
12390         [retval, out] VARIANT_BOOL *success);
12391
12392     [id(DISPID_IHTMLOPSPROFILE_DOREADREQUEST)]
12393     HRESULT doReadRequest(
12394         [in] VARIANT usage,
12395         [optional, in] VARIANT fname,
12396         [optional, in] VARIANT domain,
12397         [optional, in] VARIANT path,
12398         [optional, in] VARIANT expire,
12399         [optional, in] VARIANT reserved);
12400
12401     [id(DISPID_IHTMLOPSPROFILE_DOWRITEREQUEST)]
12402     HRESULT doWriteRequest([retval, out] VARIANT_BOOL *success);
12403 }
12404
12405 /*****************************************************************************
12406  *    IOmNavigator interface
12407  */
12408 [
12409         odl,
12410         oleautomation,
12411         dual,
12412         uuid(FECEAAA5-8405-11CF-8BA1-00AA00476DA6)
12413 ]
12414 interface IOmNavigator : IDispatch
12415 {
12416     [propget, id(DISPID_IOMNAVIGATOR_APPCODENAME)]
12417     HRESULT appCodeName([retval, out] BSTR *p);
12418
12419     [propget, id(DISPID_IOMNAVIGATOR_APPNAME)]
12420     HRESULT appName([retval, out] BSTR *p);
12421
12422     [propget, id(DISPID_IOMNAVIGATOR_APPVERSION)]
12423     HRESULT appVersion([retval, out] BSTR *p);
12424
12425     [propget, id(DISPID_IOMNAVIGATOR_USERAGENT)]
12426     HRESULT userAgent([retval, out] BSTR *p);
12427
12428     [id(DISPID_IOMNAVIGATOR_JAVAENABLED)]
12429     HRESULT javaEnabled([retval, out] VARIANT_BOOL *enabled);
12430
12431     [id(DISPID_IOMNAVIGATOR_TAINTENABLED)]
12432     HRESULT taintEnabled([retval, out] VARIANT_BOOL *enabled);
12433
12434     [propget, id(DISPID_IOMNAVIGATOR_MIMETYPES)]
12435     HRESULT mimeTypes([retval, out] IHTMLMimeTypesCollection **p);
12436
12437     [propget, id(DISPID_IOMNAVIGATOR_PLUGINS)]
12438     HRESULT plugins([retval, out] IHTMLPluginsCollection **p);
12439
12440     [propget, id(DISPID_IOMNAVIGATOR_COOKIEENABLED)]
12441     HRESULT cookieEnabled([retval, out] VARIANT_BOOL *p);
12442
12443     [propget, id(DISPID_IOMNAVIGATOR_OPSPROFILE)]
12444     HRESULT opsProfile([retval, out] IHTMLOpsProfile **p);
12445
12446     [id(DISPID_IOMNAVIGATOR_TOSTRING)]
12447     HRESULT toString([retval, out] BSTR *String);
12448
12449     [propget, id(DISPID_IOMNAVIGATOR_CPUCLASS)]
12450     HRESULT cpuClass([retval, out] BSTR *p);
12451
12452     [propget, id(DISPID_IOMNAVIGATOR_SYSTEMLANGUAGE)]
12453     HRESULT systemLanguage([retval, out] BSTR *p);
12454
12455     [propget, id(DISPID_IOMNAVIGATOR_BROWSERLANGUAGE)]
12456     HRESULT browserLanguage([retval, out] BSTR *p);
12457
12458     [propget, id(DISPID_IOMNAVIGATOR_USERLANGUAGE)]
12459     HRESULT userLanguage([retval, out] BSTR *p);
12460
12461     [propget, id(DISPID_IOMNAVIGATOR_PLATFORM)]
12462     HRESULT platform([retval, out] BSTR *p);
12463
12464     [propget, id(DISPID_IOMNAVIGATOR_APPMINORVERSION)]
12465     HRESULT appMinorVersion([retval, out] BSTR *p);
12466
12467     [propget, id(DISPID_IOMNAVIGATOR_CONNECTIONSPEED)]
12468     HRESULT connectionSpeed([retval, out] long *p);
12469
12470     [propget, id(DISPID_IOMNAVIGATOR_ONLINE)]
12471     HRESULT onLine([retval, out] VARIANT_BOOL *p);
12472
12473     [propget, id(DISPID_IOMNAVIGATOR_USERPROFILE)]
12474     HRESULT userProfile([retval, out] IHTMLOpsProfile **p);
12475 }
12476
12477 /*****************************************************************************
12478  *    IHTMLLocation interface
12479  */
12480 [
12481     odl,
12482     oleautomation,
12483     dual,
12484     uuid(163BB1E0-6E00-11cf-837A-48DC04C10000)
12485 ]
12486 interface IHTMLLocation : IDispatch
12487 {
12488     [propput, id(DISPID_IHTMLLOCATION_HREF)]
12489     HRESULT href([in] BSTR v);
12490
12491     [propget, id(DISPID_IHTMLLOCATION_HREF)]
12492     HRESULT href([retval, out] BSTR *p);
12493
12494     [propput, id(DISPID_IHTMLLOCATION_PROTOCOL)]
12495     HRESULT protocol([in] BSTR v);
12496
12497     [propget, id(DISPID_IHTMLLOCATION_PROTOCOL)]
12498     HRESULT protocol([retval, out] BSTR *p);
12499
12500     [propput, id(DISPID_IHTMLLOCATION_HOST)]
12501     HRESULT host([in] BSTR v);
12502
12503     [propget, id(DISPID_IHTMLLOCATION_HOST)]
12504     HRESULT host([retval, out] BSTR *p);
12505
12506     [propput, id(DISPID_IHTMLLOCATION_HOSTNAME)]
12507     HRESULT hostname([in] BSTR v);
12508
12509     [propget, id(DISPID_IHTMLLOCATION_HOSTNAME)]
12510     HRESULT hostname([retval, out] BSTR *p);
12511
12512     [propput, id(DISPID_IHTMLLOCATION_PORT)]
12513     HRESULT port([in] BSTR v);
12514
12515     [propget, id(DISPID_IHTMLLOCATION_PORT)]
12516     HRESULT port([retval, out] BSTR *p);
12517
12518     [propput, id(DISPID_IHTMLLOCATION_PATHNAME)]
12519     HRESULT pathname([in] BSTR v);
12520
12521     [propget, id(DISPID_IHTMLLOCATION_PATHNAME)]
12522     HRESULT pathname([retval, out] BSTR *p);
12523
12524     [propput, id(DISPID_IHTMLLOCATION_SEARCH)]
12525     HRESULT search([in] BSTR v);
12526
12527     [propget, id(DISPID_IHTMLLOCATION_SEARCH)]
12528     HRESULT search([retval, out] BSTR *p);
12529
12530     [propput, id(DISPID_IHTMLLOCATION_HASH)]
12531     HRESULT hash([in] BSTR v);
12532
12533     [propget, id(DISPID_IHTMLLOCATION_HASH)]
12534     HRESULT hash([retval, out] BSTR *p);
12535
12536     [id(DISPID_IHTMLLOCATION_RELOAD)]
12537     HRESULT reload([defaultvalue(0), in] VARIANT_BOOL flag);
12538
12539     [id(DISPID_IHTMLLOCATION_REPLACE)]
12540     HRESULT replace([in] BSTR bstr);
12541
12542     [id(DISPID_IHTMLLOCATION_ASSIGN)]
12543     HRESULT assign([in] BSTR bstr);
12544
12545     [id(DISPID_IHTMLLOCATION_TOSTRING)]
12546     HRESULT toString([retval, out] BSTR *String);
12547 }
12548
12549 [
12550     odl,
12551     oleautomation,
12552     dual,
12553     uuid(3050f4ce-98b5-11cf-bb82-00aa00bdce0b)
12554 ]
12555 interface IHTMLBookmarkCollection : IDispatch
12556 {
12557     [propget, id(DISPID_IHTMLBOOKMARKCOLLECTION_LENGTH), hidden]
12558     HRESULT length([out, retval] long *p);
12559
12560     [propget, id(DISPID_IHTMLBOOKMARKCOLLECTION__NEWENUM), hidden, restricted]
12561     HRESULT _newEnum([out, retval] IUnknown **p);
12562
12563     [id(DISPID_IHTMLBOOKMARKCOLLECTION_ITEM)]
12564     HRESULT item(
12565             [in] long index,
12566             [out, retval] VARIANT *pVarBookmark);
12567 }
12568
12569 /*****************************************************************************
12570  *    IHTMLDataTransfer interface
12571  */
12572 [
12573     odl,
12574     oleautomation,
12575     dual,
12576     uuid(3050f4b3-98b5-11cf-bb82-00aa00bdce0b)
12577 ]
12578 interface IHTMLDataTransfer : IDispatch
12579 {
12580     [id(DISPID_IHTMLDATATRANSFER_SETDATA)]
12581     HRESULT setData(
12582             [in] BSTR format,
12583             [in] VARIANT *data,
12584             [out, retval] VARIANT_BOOL *pret);
12585
12586     [id(DISPID_IHTMLDATATRANSFER_GETDATA)]
12587     HRESULT getData(
12588             [in] BSTR format,
12589             [out, retval] VARIANT *pvarRet);
12590
12591     [id(DISPID_IHTMLDATATRANSFER_CLEARDATA)]
12592     HRESULT clearData(
12593             [in] BSTR format,
12594             [out, retval] VARIANT_BOOL *pret);
12595
12596     [propput, id(DISPID_IHTMLDATATRANSFER_DROPEFFECT)]
12597     HRESULT dropEffect([in] BSTR v);
12598
12599     [propget, id(DISPID_IHTMLDATATRANSFER_DROPEFFECT)]
12600     HRESULT dropEffect([out, retval] BSTR *p);
12601
12602     [propput, id(DISPID_IHTMLDATATRANSFER_EFFECTALLOWED)]
12603     HRESULT effectAllowed([in] BSTR v);
12604
12605     [propget, id(DISPID_IHTMLDATATRANSFER_EFFECTALLOWED)]
12606     HRESULT effectAllowed([out, retval] BSTR *p);
12607 }
12608
12609 /*****************************************************************************
12610  *    IHTMLEventObj interface
12611  */
12612 [
12613     odl,
12614     oleautomation,
12615     dual,
12616     uuid(3050F32D-98B5-11CF-BB82-00AA00BDCE0B)
12617 ]
12618 interface IHTMLEventObj : IDispatch
12619 {
12620     [propget, id(DISPID_IHTMLEVENTOBJ_SRCELEMENT)]
12621     HRESULT srcElement([retval, out] IHTMLElement **p);
12622
12623     [propget, id(DISPID_IHTMLEVENTOBJ_ALTKEY)]
12624     HRESULT altKey([retval, out] VARIANT_BOOL *p);
12625
12626     [propget, id(DISPID_IHTMLEVENTOBJ_CTRLKEY)]
12627     HRESULT ctrlKey([retval, out] VARIANT_BOOL *p);
12628
12629     [propget, id(DISPID_IHTMLEVENTOBJ_SHIFTKEY)]
12630     HRESULT shiftKey([retval, out] VARIANT_BOOL *p);
12631
12632     [propput, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
12633     HRESULT returnValue([in] VARIANT v);
12634
12635     [propget, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
12636     HRESULT returnValue([retval, out] VARIANT *p);
12637
12638     [propput, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
12639     HRESULT cancelBubble([in] VARIANT_BOOL v);
12640
12641     [propget, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
12642     HRESULT cancelBubble([retval, out] VARIANT_BOOL *p);
12643
12644     [propget, id(DISPID_IHTMLEVENTOBJ_FROMELEMENT)]
12645     HRESULT fromElement([retval, out] IHTMLElement **p);
12646
12647     [propget, id(DISPID_IHTMLEVENTOBJ_TOELEMENT)]
12648     HRESULT toElement([retval, out] IHTMLElement **p);
12649
12650     [propput, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
12651     HRESULT keyCode([in] long v);
12652
12653     [propget, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
12654     HRESULT keyCode([retval, out] long *p);
12655
12656     [propget, id(DISPID_IHTMLEVENTOBJ_BUTTON)]
12657     HRESULT button([retval, out] long *p);
12658
12659     [propget, id(DISPID_IHTMLEVENTOBJ_TYPE)]
12660     HRESULT type([retval, out] BSTR *p);
12661
12662     [propget, id(DISPID_IHTMLEVENTOBJ_QUALIFIER)]
12663     HRESULT qualifier([retval, out] BSTR *p);
12664
12665     [propget, id(DISPID_IHTMLEVENTOBJ_REASON)]
12666     HRESULT reason([retval, out] long *p);
12667
12668     [propget, id(DISPID_IHTMLEVENTOBJ_X)]
12669     HRESULT x([retval, out] long *p);
12670
12671     [propget, id(DISPID_IHTMLEVENTOBJ_Y)]
12672     HRESULT y([retval, out] long *p);
12673
12674     [propget, id(DISPID_IHTMLEVENTOBJ_CLIENTX)]
12675     HRESULT clientX([retval, out] long *p);
12676
12677     [propget, id(DISPID_IHTMLEVENTOBJ_CLIENTY)]
12678     HRESULT clientY([retval, out] long *p);
12679
12680     [propget, id(DISPID_IHTMLEVENTOBJ_OFFSETX)]
12681     HRESULT offsetX([retval, out] long *p);
12682
12683     [propget, id(DISPID_IHTMLEVENTOBJ_OFFSETY)]
12684     HRESULT offsetY([retval, out] long *p);
12685
12686     [propget, id(DISPID_IHTMLEVENTOBJ_SCREENX)]
12687     HRESULT screenX([retval, out] long *p);
12688
12689     [propget, id(DISPID_IHTMLEVENTOBJ_SCREENY)]
12690     HRESULT screenY([retval, out] long *p);
12691
12692     [propget, id(DISPID_IHTMLEVENTOBJ_SRCFILTER)]
12693     HRESULT srcFilter([retval, out] IDispatch **p);
12694 }
12695
12696 /*****************************************************************************
12697  *    DispCEventObj dispinterface
12698  */
12699 [
12700     hidden,
12701     uuid(3050f558-98b5-11cf-bb82-00aa00bdce0b)
12702 ]
12703 dispinterface DispCEventObj
12704 {
12705 properties:
12706 methods:
12707     [propput, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
12708     void returnValue(VARIANT v);
12709
12710     [propget, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
12711     VARIANT returnValue();
12712
12713     [propput, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
12714     void cancelBubble(VARIANT_BOOL v);
12715
12716     [propget, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
12717     VARIANT_BOOL cancelBubble();
12718
12719     [propput, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
12720     void keyCode(long v);
12721
12722     [propget, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
12723     long keyCode();
12724
12725     [id(DISPID_IHTMLEVENTOBJ2_SETATTRIBUTE)]
12726     void setAttribute(
12727             [in] BSTR strAttributeName,
12728             [in] VARIANT AttributeValue,
12729             [in, defaultvalue(1)] LONG lFlags);
12730
12731     [id(DISPID_IHTMLEVENTOBJ2_GETATTRIBUTE)]
12732     VARIANT getAttribute(
12733             [in] BSTR strAttributeName,
12734             [in, defaultvalue(0)] LONG lFlags);
12735
12736     [id(DISPID_IHTMLEVENTOBJ2_REMOVEATTRIBUTE)]
12737     VARIANT_BOOL removeAttribute(
12738             [in] BSTR strAttributeName,
12739             [in, defaultvalue(1)] LONG lFlags);
12740
12741     [propput, id(DISPID_IHTMLEVENTOBJ2_PROPERTYNAME)]
12742     void propertyName(BSTR v);
12743
12744     [propget, id(DISPID_IHTMLEVENTOBJ2_PROPERTYNAME)]
12745     BSTR propertyName();
12746
12747     [propputref, id(DISPID_IHTMLEVENTOBJ2_BOOKMARKS)]
12748     void bookmarks(IHTMLBookmarkCollection *v);
12749
12750     [propget, id(DISPID_IHTMLEVENTOBJ2_BOOKMARKS)]
12751     IHTMLBookmarkCollection *bookmarks();
12752
12753     [propputref, id(DISPID_IHTMLEVENTOBJ2_RECORDSET)]
12754     void recordset(IDispatch *v);
12755
12756     [propget, id(DISPID_IHTMLEVENTOBJ2_RECORDSET)]
12757     IDispatch *recordset();
12758
12759     [propput, id(DISPID_IHTMLEVENTOBJ2_DATAFLD)]
12760     void dataFld(BSTR v);
12761
12762     [propget, id(DISPID_IHTMLEVENTOBJ2_DATAFLD)]
12763     BSTR dataFld();
12764
12765     [propputref, id(DISPID_IHTMLEVENTOBJ2_BOUNDELEMENTS)]
12766     void boundElements(IHTMLElementCollection *v);
12767
12768     [propget, id(DISPID_IHTMLEVENTOBJ2_BOUNDELEMENTS)]
12769     IHTMLElementCollection *boundElements();
12770
12771     [propput, id(DISPID_IHTMLEVENTOBJ2_REPEAT)]
12772     void repeat(VARIANT_BOOL v);
12773
12774     [propget, id(DISPID_IHTMLEVENTOBJ2_REPEAT)]
12775     VARIANT_BOOL repeat();
12776
12777     [propput, id(DISPID_IHTMLEVENTOBJ2_SRCURN)]
12778     void srcUrn(BSTR v);
12779
12780     [propget, id(DISPID_IHTMLEVENTOBJ2_SRCURN)]
12781     BSTR srcUrn();
12782
12783     [propputref, id(DISPID_IHTMLEVENTOBJ2_SRCELEMENT)]
12784     void srcElement(IHTMLElement *v);
12785
12786     [propget, id(DISPID_IHTMLEVENTOBJ2_SRCELEMENT)]
12787     IHTMLElement *srcElement();
12788
12789     [propput, id(DISPID_IHTMLEVENTOBJ2_ALTKEY)]
12790     void altKey(VARIANT_BOOL v);
12791
12792     [propget, id(DISPID_IHTMLEVENTOBJ2_ALTKEY)]
12793     VARIANT_BOOL altKey();
12794
12795     [propput, id(DISPID_IHTMLEVENTOBJ2_CTRLKEY)]
12796     void ctrlKey(VARIANT_BOOL v);
12797
12798     [propget, id(DISPID_IHTMLEVENTOBJ2_CTRLKEY)]
12799     VARIANT_BOOL ctrlKey();
12800
12801     [propput, id(DISPID_IHTMLEVENTOBJ2_SHIFTKEY)]
12802     void shiftKey(VARIANT_BOOL v);
12803
12804     [propget, id(DISPID_IHTMLEVENTOBJ2_SHIFTKEY)]
12805     VARIANT_BOOL shiftKey();
12806
12807     [propputref, id(DISPID_IHTMLEVENTOBJ2_FROMELEMENT)]
12808     void fromElement(IHTMLElement *v);
12809
12810     [propget, id(DISPID_IHTMLEVENTOBJ2_FROMELEMENT)]
12811     IHTMLElement *fromElement();
12812
12813     [propputref, id(DISPID_IHTMLEVENTOBJ2_TOELEMENT)]
12814     void toElement(IHTMLElement *v);
12815
12816     [propget, id(DISPID_IHTMLEVENTOBJ2_TOELEMENT)]
12817     IHTMLElement *toElement();
12818
12819     [propput, id(DISPID_IHTMLEVENTOBJ2_BUTTON)]
12820     void button(long v);
12821
12822     [propget, id(DISPID_IHTMLEVENTOBJ2_BUTTON)]
12823     long button();
12824
12825     [propput, id(DISPID_IHTMLEVENTOBJ2_TYPE)]
12826     void type(BSTR v);
12827
12828     [propget, id(DISPID_IHTMLEVENTOBJ2_TYPE)]
12829     BSTR type();
12830
12831     [propput, id(DISPID_IHTMLEVENTOBJ2_QUALIFIER)]
12832     void qualifier(BSTR v);
12833
12834     [propget, id(DISPID_IHTMLEVENTOBJ2_QUALIFIER)]
12835     BSTR qualifier();
12836
12837     [propput, id(DISPID_IHTMLEVENTOBJ2_REASON)]
12838     void reason(long v);
12839
12840     [propget, id(DISPID_IHTMLEVENTOBJ2_REASON)]
12841     long reason();
12842
12843     [propput, id(DISPID_IHTMLEVENTOBJ2_X)]
12844     void x(long v);
12845
12846     [propget, id(DISPID_IHTMLEVENTOBJ2_X)]
12847     long x();
12848
12849     [propput, id(DISPID_IHTMLEVENTOBJ2_Y)]
12850     void y(long v);
12851
12852     [propget, id(DISPID_IHTMLEVENTOBJ2_Y)]
12853     long y();
12854
12855     [propput, id(DISPID_IHTMLEVENTOBJ2_CLIENTX)]
12856     void clientX(long v);
12857
12858     [propget, id(DISPID_IHTMLEVENTOBJ2_CLIENTX)]
12859     long clientX();
12860
12861     [propput, id(DISPID_IHTMLEVENTOBJ2_CLIENTY)]
12862     void clientY(long v);
12863
12864     [propget, id(DISPID_IHTMLEVENTOBJ2_CLIENTY)]
12865     long clientY();
12866     [propput, id(DISPID_IHTMLEVENTOBJ2_OFFSETX)]
12867     void offsetX(long v);
12868
12869     [propget, id(DISPID_IHTMLEVENTOBJ2_OFFSETX)]
12870     long offsetX();
12871
12872     [propput, id(DISPID_IHTMLEVENTOBJ2_OFFSETY)]
12873     void offsetY(long v);
12874
12875     [propget, id(DISPID_IHTMLEVENTOBJ2_OFFSETY)]
12876     long offsetY();
12877
12878     [propput, id(DISPID_IHTMLEVENTOBJ2_SCREENX)]
12879     void screenX(long v);
12880
12881     [propget, id(DISPID_IHTMLEVENTOBJ2_SCREENX)]
12882     long screenX();
12883
12884     [propput, id(DISPID_IHTMLEVENTOBJ2_SCREENY)]
12885     void screenY(long v);
12886
12887     [propget, id(DISPID_IHTMLEVENTOBJ2_SCREENY)]
12888     long screenY();
12889
12890     [propputref, id(DISPID_IHTMLEVENTOBJ2_SRCFILTER)]
12891     void srcFilter(IDispatch *v);
12892
12893     [propget, id(DISPID_IHTMLEVENTOBJ2_SRCFILTER)]
12894     IDispatch *srcFilter();
12895
12896     [propget, id(DISPID_IHTMLEVENTOBJ2_DATATRANSFER)]
12897     IHTMLDataTransfer *dataTransfer();
12898
12899     [propget, id(DISPID_IHTMLEVENTOBJ3_CONTENTOVERFLOW)]
12900     VARIANT_BOOL contentOverflow();
12901
12902     [propput, id(DISPID_IHTMLEVENTOBJ3_SHIFTLEFT)]
12903     void shiftLeft(VARIANT_BOOL v);
12904
12905     [propget, id(DISPID_IHTMLEVENTOBJ3_SHIFTLEFT)]
12906     VARIANT_BOOL shiftLeft();
12907
12908     [propput, id(DISPID_IHTMLEVENTOBJ3_ALTLEFT)]
12909     void altLeft(VARIANT_BOOL v);
12910
12911     [propget, id(DISPID_IHTMLEVENTOBJ3_ALTLEFT)]
12912     VARIANT_BOOL altLeft();
12913
12914     [propput, id(DISPID_IHTMLEVENTOBJ3_CTRLLEFT)]
12915     void ctrlLeft(VARIANT_BOOL v);
12916
12917     [propget, id(DISPID_IHTMLEVENTOBJ3_CTRLLEFT)]
12918     VARIANT_BOOL ctrlLeft();
12919
12920     [propget, id(DISPID_IHTMLEVENTOBJ3_IMECOMPOSITIONCHANGE), hidden, restricted, nonbrowsable]
12921     LONG_PTR imeCompositionChange();
12922
12923     [propget, id(DISPID_IHTMLEVENTOBJ3_IMENOTIFYCOMMAND), hidden, restricted, nonbrowsable]
12924     LONG_PTR imeNotifyCommand();
12925
12926     [propget, id(DISPID_IHTMLEVENTOBJ3_IMENOTIFYDATA), hidden, restricted, nonbrowsable]
12927     LONG_PTR imeNotifyData();
12928
12929     [propget, id(DISPID_IHTMLEVENTOBJ3_IMEREQUEST), hidden, restricted, nonbrowsable]
12930     LONG_PTR imeRequest();
12931
12932     [propget, id(DISPID_IHTMLEVENTOBJ3_IMEREQUESTDATA), hidden, restricted, nonbrowsable]
12933     LONG_PTR imeRequestData();
12934
12935     [propget, id(DISPID_IHTMLEVENTOBJ3_KEYBOARDLAYOUT), hidden, restricted, nonbrowsable]
12936     LONG_PTR keyboardLayout();
12937
12938     [propget, id(DISPID_IHTMLEVENTOBJ3_BEHAVIORCOOKIE)]
12939     long behaviorCookie();
12940
12941     [propget, id(DISPID_IHTMLEVENTOBJ3_BEHAVIORPART)]
12942     long behaviorPart();
12943
12944     [propget, id(DISPID_IHTMLEVENTOBJ3_NEXTPAGE)]
12945     BSTR nextPage();
12946
12947     [propget, id(DISPID_IHTMLEVENTOBJ4_WHEELDELTA)]
12948     long wheelDelta();
12949 }
12950
12951 /*****************************************************************************
12952  *    IHTMLFramesCollection2 interface
12953  */
12954 [
12955     odl,
12956     oleautomation,
12957     dual,
12958     uuid(332C4426-26CB-11D0-B483-00C04FD90119)
12959 ]
12960 interface IHTMLFramesCollection2 : IDispatch
12961 {
12962     [id(DISPID_IHTMLFRAMESCOLLECTION2_ITEM)]
12963     HRESULT item(
12964         [in] VARIANT *pvarIndex,
12965         [retval, out] VARIANT *pvarResult);
12966
12967     [propget, id(DISPID_IHTMLFRAMESCOLLECTION2_LENGTH)]
12968     HRESULT length([retval, out] long *p);
12969 }
12970
12971 /*****************************************************************************
12972  *    IHTMLScreen interface
12973  */
12974 [
12975     odl,
12976     oleautomation,
12977     dual,
12978     uuid(3050f35C-98B5-11CF-BB82-00AA00BDCE0B)
12979 ]
12980 interface IHTMLScreen : IDispatch
12981 {
12982     [propget, id(DISPID_IHTMLSCREEN_COLORDEPTH)]
12983     HRESULT colorDepth([retval, out] long *p);
12984
12985     [propput, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
12986     HRESULT bufferDepth([in] long v);
12987
12988     [propget, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
12989     HRESULT bufferDepth([retval, out] long *p);
12990
12991     [propget, id(DISPID_IHTMLSCREEN_WIDTH)]
12992     HRESULT width([retval, out] long *p);
12993
12994     [propget, id(DISPID_IHTMLSCREEN_HEIGHT)]
12995     HRESULT height([retval, out] long *p);
12996
12997     [propput, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
12998     HRESULT updateInterval([in] long v);
12999
13000     [propget, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
13001     HRESULT updateInterval([retval, out] long *p);
13002
13003     [propget, id(DISPID_IHTMLSCREEN_AVAILHEIGHT)]
13004     HRESULT availHeight([retval, out] long *p);
13005
13006     [propget, id(DISPID_IHTMLSCREEN_AVAILWIDTH)]
13007     HRESULT availWidth([retval, out] long *p);
13008
13009     [propget, id(DISPID_IHTMLSCREEN_FONTSMOOTHINGENABLED)]
13010     HRESULT fontSmoothingEnabled([retval, out] VARIANT_BOOL *p);
13011 }
13012
13013 /*****************************************************************************
13014  *    IHTMLWindow2 interface
13015  */
13016 [
13017     odl,
13018     oleautomation,
13019     dual,
13020     uuid(332C4427-26CB-11D0-B483-00C04FD90119)
13021 ]
13022 interface IHTMLWindow2 : IHTMLFramesCollection2
13023 {
13024     [propget, id(DISPID_IHTMLWINDOW2_FRAMES)]
13025     HRESULT frames([retval, out] IHTMLFramesCollection2 **p);
13026
13027     [propput, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
13028     HRESULT defaultStatus([in] BSTR v);
13029
13030     [propget, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
13031     HRESULT defaultStatus([retval, out] BSTR *p);
13032
13033     [propput, id(DISPID_IHTMLWINDOW2_STATUS)]
13034     HRESULT status([in] BSTR v);
13035
13036     [propget, id(DISPID_IHTMLWINDOW2_STATUS)]
13037     HRESULT status([retval, out] BSTR *p);
13038
13039     [id(DISPID_IHTMLWINDOW2_SETTIMEOUT)]
13040     HRESULT setTimeout(
13041         [in] BSTR expression,
13042         [in] long msec,
13043         [optional, in] VARIANT *language,
13044         [retval, out] long *timerID);
13045
13046     [id(DISPID_IHTMLWINDOW2_CLEARTIMEOUT)]
13047     HRESULT clearTimeout([in] long timerID);
13048
13049     [id(DISPID_IHTMLWINDOW2_ALERT)]
13050     HRESULT alert([defaultvalue(""), in] BSTR message);
13051
13052     [id(DISPID_IHTMLWINDOW2_CONFIRM)]
13053     HRESULT confirm(
13054         [defaultvalue(""), in] BSTR message,
13055         [retval, out] VARIANT_BOOL *confirmed);
13056
13057     [id(DISPID_IHTMLWINDOW2_PROMPT)]
13058     HRESULT prompt(
13059         [defaultvalue(""), in] BSTR message,
13060         [defaultvalue("undefined"), in] BSTR defstr,
13061         [retval, out] VARIANT *textdata);
13062
13063     [propget, id(DISPID_IHTMLWINDOW2_IMAGE)]
13064     HRESULT Image([retval, out] IHTMLImageElementFactory **p);
13065
13066     [propget, id(DISPID_IHTMLWINDOW2_LOCATION)]
13067     HRESULT location([retval, out] IHTMLLocation **p);
13068
13069     [propget, id(DISPID_IHTMLWINDOW2_HISTORY)]
13070     HRESULT history([retval, out] IOmHistory **p);
13071
13072     [id(DISPID_IHTMLWINDOW2_CLOSE)]
13073     HRESULT close();
13074
13075     [propput, id(DISPID_IHTMLWINDOW2_OPENER)]
13076     HRESULT opener([in] VARIANT v);
13077
13078     [propget, id(DISPID_IHTMLWINDOW2_OPENER)]
13079     HRESULT opener([retval, out] VARIANT *p);
13080
13081     [propget, id(DISPID_IHTMLWINDOW2_NAVIGATOR)]
13082     HRESULT navigator([retval, out] IOmNavigator **p);
13083
13084     [propput, id(DISPID_IHTMLWINDOW2_NAME)]
13085     HRESULT name([in] BSTR v);
13086
13087     [propget, id(DISPID_IHTMLWINDOW2_NAME)]
13088     HRESULT name([retval, out] BSTR *p);
13089
13090     [propget, id(DISPID_IHTMLWINDOW2_PARENT)]
13091     HRESULT parent([retval, out] IHTMLWindow2 **p);
13092
13093     [id(DISPID_IHTMLWINDOW2_OPEN)]
13094     HRESULT open(
13095         [defaultvalue(""), in] BSTR url,
13096         [defaultvalue(""), in] BSTR name,
13097         [defaultvalue(""), in] BSTR features,
13098         [defaultvalue(0), in] VARIANT_BOOL replace,
13099         [retval, out] IHTMLWindow2 **pomWindowResult);
13100
13101     [propget, id(DISPID_IHTMLWINDOW2_SELF)]
13102     HRESULT self([retval, out] IHTMLWindow2 **p);
13103
13104     [propget, id(DISPID_IHTMLWINDOW2_TOP)]
13105     HRESULT top([retval, out] IHTMLWindow2 **p);
13106
13107     [propget, id(DISPID_IHTMLWINDOW2_WINDOW)]
13108     HRESULT window([retval, out] IHTMLWindow2 **p);
13109
13110     [id(DISPID_IHTMLWINDOW2_NAVIGATE)]
13111     HRESULT navigate([in] BSTR url);
13112
13113     [propput, id(DISPID_IHTMLWINDOW2_ONFOCUS)]
13114     HRESULT onfocus([in] VARIANT v);
13115
13116     [propget, id(DISPID_IHTMLWINDOW2_ONFOCUS)]
13117     HRESULT onfocus([retval, out] VARIANT *p);
13118
13119     [propput, id(DISPID_IHTMLWINDOW2_ONBLUR)]
13120     HRESULT onblur([in] VARIANT v);
13121
13122     [propget, id(DISPID_IHTMLWINDOW2_ONBLUR)]
13123     HRESULT onblur([retval, out] VARIANT *p);
13124
13125     [propput, id(DISPID_IHTMLWINDOW2_ONLOAD)]
13126     HRESULT onload([in] VARIANT v);
13127
13128     [propget, id(DISPID_IHTMLWINDOW2_ONLOAD)]
13129     HRESULT onload([retval, out] VARIANT *p);
13130
13131     [propput, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD)]
13132     HRESULT onbeforeunload([in] VARIANT v);
13133
13134     [propget, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD)]
13135     HRESULT onbeforeunload([retval, out] VARIANT *p);
13136
13137     [propput, id(DISPID_IHTMLWINDOW2_ONUNLOAD)]
13138     HRESULT onunload([in] VARIANT v);
13139
13140     [propget, id(DISPID_IHTMLWINDOW2_ONUNLOAD)]
13141     HRESULT onunload([retval, out] VARIANT *p);
13142
13143     [propput, id(DISPID_IHTMLWINDOW2_ONHELP)]
13144     HRESULT onhelp([in] VARIANT v);
13145
13146     [propget, id(DISPID_IHTMLWINDOW2_ONHELP)]
13147     HRESULT onhelp([retval, out] VARIANT *p);
13148
13149     [propput, id(DISPID_IHTMLWINDOW2_ONERROR)]
13150     HRESULT onerror([in] VARIANT v);
13151
13152     [propget, id(DISPID_IHTMLWINDOW2_ONERROR)]
13153     HRESULT onerror([retval, out] VARIANT *p);
13154
13155     [propput, id(DISPID_IHTMLWINDOW2_ONRESIZE)]
13156     HRESULT onresize([in] VARIANT v);
13157
13158     [propget, id(DISPID_IHTMLWINDOW2_ONRESIZE)]
13159     HRESULT onresize([retval, out] VARIANT *p);
13160
13161     [propput, id(DISPID_IHTMLWINDOW2_ONSCROLL)]
13162     HRESULT onscroll([in] VARIANT v);
13163
13164     [propget, id(DISPID_IHTMLWINDOW2_ONSCROLL)]
13165     HRESULT onscroll([retval, out] VARIANT *p);
13166
13167     [propget, id(DISPID_IHTMLWINDOW2_DOCUMENT)]
13168     HRESULT document([retval, out] IHTMLDocument2 **p);
13169
13170     [propget, id(DISPID_IHTMLWINDOW2_EVENT)]
13171     HRESULT event([retval, out] IHTMLEventObj **p);
13172
13173     [propget, id(DISPID_IHTMLWINDOW2__NEWENUM)]
13174     HRESULT _newEnum([retval, out] IUnknown **p);
13175
13176     [id(DISPID_IHTMLWINDOW2_SHOWMODALDIALOG)]
13177     HRESULT showModalDialog(
13178         [in] BSTR dialog,
13179         [optional, in] VARIANT *varArgIn,
13180         [optional, in] VARIANT *varOptions,
13181         [retval, out] VARIANT *varArgOut);
13182
13183     [id(DISPID_IHTMLWINDOW2_SHOWHELP)]
13184     HRESULT showHelp(
13185         [in] BSTR helpURL,
13186         [optional, in] VARIANT helpArg,
13187         [defaultvalue(""), in] BSTR features);
13188
13189     [propget, id(DISPID_IHTMLWINDOW2_SCREEN)]
13190     HRESULT screen([retval, out] IHTMLScreen **p);
13191
13192     [propget, id(DISPID_IHTMLWINDOW2_OPTION)]
13193     HRESULT Option([retval, out] IHTMLOptionElementFactory **p);
13194
13195     [id(DISPID_IHTMLWINDOW2_FOCUS)]
13196     HRESULT focus();
13197
13198     [propget, id(DISPID_IHTMLWINDOW2_CLOSED)]
13199     HRESULT closed([retval, out] VARIANT_BOOL *p);
13200
13201     [id(DISPID_IHTMLWINDOW2_BLUR)]
13202     HRESULT blur();
13203
13204     [id(DISPID_IHTMLWINDOW2_SCROLL)]
13205     HRESULT scroll([in] long x, [in] long y);
13206
13207     [propget, id(DISPID_IHTMLWINDOW2_CLIENTINFORMATION)]
13208     HRESULT clientInformation([retval, out] IOmNavigator **p);
13209
13210     [id(DISPID_IHTMLWINDOW2_SETINTERVAL)]
13211     HRESULT setInterval([
13212         in] BSTR expression,
13213         [in] long msec,
13214         [optional, in] VARIANT *language,
13215         [retval, out] long *timerID);
13216
13217     [id(DISPID_IHTMLWINDOW2_CLEARINTERVAL)]
13218     HRESULT clearInterval([in] long timerID);
13219
13220     [propput, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
13221     HRESULT offscreenBuffering([in] VARIANT v);
13222
13223     [propget, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
13224     HRESULT offscreenBuffering([retval, out] VARIANT *p);
13225
13226     [id(DISPID_IHTMLWINDOW2_EXECSCRIPT)]
13227     HRESULT execScript(
13228         [in] BSTR scode,
13229         [defaultvalue("JScript"), in] BSTR language,
13230         [retval, out] VARIANT *pvarRet);
13231
13232     [id(DISPID_IHTMLWINDOW2_TOSTRING)]
13233     HRESULT toString([retval, out] BSTR *String);
13234
13235     [id(DISPID_IHTMLWINDOW2_SCROLLBY)]
13236     HRESULT scrollBy([in] long x, [in] long y);
13237
13238     [id(DISPID_IHTMLWINDOW2_SCROLLTO)]
13239     HRESULT scrollTo([in] long x, [in] long y);
13240
13241     [id(DISPID_IHTMLWINDOW2_MOVETO)]
13242     HRESULT moveTo([in] long x, [in] long y);
13243
13244     [id(DISPID_IHTMLWINDOW2_MOVEBY)]
13245     HRESULT moveBy([in] long x, [in] long y);
13246
13247     [id(DISPID_IHTMLWINDOW2_RESIZETO)]
13248     HRESULT resizeTo([in] long x, [in] long y);
13249
13250     [id(DISPID_IHTMLWINDOW2_RESIZEBY)]
13251     HRESULT resizeBy([in] long x, [in] long y);
13252
13253     [propget, id(DISPID_IHTMLWINDOW2_EXTERNAL)]
13254     HRESULT external([retval, out] IDispatch **p);
13255 }
13256
13257 /*****************************************************************************
13258  *    IHTMLWindow3 interface
13259  */
13260 [
13261     odl,
13262     oleautomation,
13263     dual,
13264     uuid(3050f4ae-98b5-11cf-bb82-00aa00bdce0b)
13265 ]
13266 interface IHTMLWindow3 : IDispatch
13267 {
13268     [propget, id(DISPID_IHTMLWINDOW3_SCREENLEFT)]
13269     HRESULT screenLeft([out, retval] long *p);
13270
13271     [propget, id(DISPID_IHTMLWINDOW3_SCREENTOP)]
13272     HRESULT screenTop([out, retval] long *p);
13273
13274     [id(DISPID_IHTMLWINDOW3_ATTACHEVENT)]
13275     HRESULT attachEvent(
13276             [in] BSTR event,
13277             [in] IDispatch *pDisp,
13278             [out, retval] VARIANT_BOOL *pfResult);
13279
13280     [id(DISPID_IHTMLWINDOW3_DETACHEVENT)]
13281     HRESULT detachEvent(
13282             [in] BSTR event,
13283             [in] IDispatch *pDisp);
13284
13285     [id(DISPID_IHTMLWINDOW3_SETTIMEOUT)]
13286     HRESULT setTimeout(
13287             [in] VARIANT *expression,
13288             [in] long msec,
13289             [in, optional] VARIANT *language,
13290             [out, retval] long *timerID);
13291
13292     [id(DISPID_IHTMLWINDOW3_SETINTERVAL)]
13293     HRESULT setInterval(
13294             [in] VARIANT *expression,
13295             [in] long msec,
13296             [in, optional] VARIANT *language,
13297             [out, retval] long *timerID);
13298
13299     [id(DISPID_IHTMLWINDOW3_PRINT)]
13300     HRESULT print();
13301
13302     [propput, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
13303     HRESULT onbeforeprint([in] VARIANT v);
13304
13305     [propget, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
13306     HRESULT onbeforeprint([out, retval] VARIANT *p);
13307
13308     [propput, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
13309     HRESULT onafterprint([in] VARIANT v);
13310
13311     [propget, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
13312     HRESULT onafterprint([out, retval] VARIANT *p);
13313
13314     [propget, id(DISPID_IHTMLWINDOW3_CLIPBOARDDATA)]
13315     HRESULT clipboardData([out, retval] IHTMLDataTransfer **p);
13316
13317     [id(DISPID_IHTMLWINDOW3_SHOWMODELESSDIALOG)]
13318     HRESULT showModelessDialog(
13319             [in, defaultvalue("")] BSTR url,
13320             [in, optional] VARIANT *varArgIn,
13321             [in, optional] VARIANT *options,
13322             [out, retval] IHTMLWindow2 **pDialog);
13323 }
13324
13325 /*****************************************************************************
13326  *    DispHTMLWindow2 dispinterface
13327  */
13328 [
13329     hidden,
13330     uuid(3050f55d-98b5-11cf-bb82-00aa00bdce0b)
13331 ]
13332 dispinterface DispHTMLWindow2
13333 {
13334 properties:
13335 methods:
13336     [id(DISPID_IHTMLFRAMESCOLLECTION2_ITEM)]
13337     VARIANT item([in] VARIANT *pvarIndex);
13338
13339     [propget, id(DISPID_IHTMLFRAMESCOLLECTION2_LENGTH)]
13340     long length();
13341
13342     [propget, id(DISPID_IHTMLWINDOW2_FRAMES)]
13343     IHTMLFramesCollection2 *frames();
13344
13345     [propput, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
13346     void defaultStatus(BSTR v);
13347
13348     [propget, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
13349     BSTR defaultStatus();
13350
13351     [propput, id(DISPID_IHTMLWINDOW2_STATUS)]
13352     void status(BSTR v);
13353
13354     [propget, id(DISPID_IHTMLWINDOW2_STATUS)]
13355     BSTR status();
13356
13357     [id(DISPID_IHTMLWINDOW2_CLEARTIMEOUT)]
13358     void clearTimeout([in] long timerID);
13359
13360     [id(DISPID_IHTMLWINDOW2_ALERT)]
13361     void alert([in, defaultvalue("")] BSTR message);
13362
13363     [id(DISPID_IHTMLWINDOW2_CONFIRM)]
13364     VARIANT_BOOL confirm([in, defaultvalue("")] BSTR message);
13365
13366     [id(DISPID_IHTMLWINDOW2_PROMPT)]
13367     VARIANT prompt(
13368             [in, defaultvalue("")] BSTR message,
13369             [in, defaultvalue("undefined")] BSTR defstr);
13370
13371     [propget, id(DISPID_IHTMLWINDOW2_IMAGE)]
13372     IHTMLImageElementFactory *Image();
13373
13374     [propget, id(DISPID_IHTMLWINDOW2_LOCATION)]
13375     IHTMLLocation *location();
13376
13377     [propget, id(DISPID_IHTMLWINDOW2_HISTORY)]
13378     IOmHistory *history();
13379
13380     [id(DISPID_IHTMLWINDOW2_CLOSE)]
13381     void close();
13382
13383     [propput, id(DISPID_IHTMLWINDOW2_OPENER)]
13384     void opener(VARIANT v);
13385
13386     [propget, id(DISPID_IHTMLWINDOW2_OPENER)]
13387     VARIANT opener();
13388
13389     [propget, id(DISPID_IHTMLWINDOW2_NAVIGATOR)]
13390     IOmNavigator *navigator();
13391
13392     [propput, id(DISPID_IHTMLWINDOW2_NAME)]
13393     void name(BSTR v);
13394
13395     [propget, id(DISPID_IHTMLWINDOW2_NAME)]
13396     BSTR name();
13397
13398     [propget, id(DISPID_IHTMLWINDOW2_PARENT)]
13399     IHTMLWindow2 *parent();
13400
13401     [id(DISPID_IHTMLWINDOW2_OPEN)]
13402     IHTMLWindow2 *open(
13403             [in, defaultvalue("")] BSTR url,
13404             [in, defaultvalue("")] BSTR name,
13405             [in, defaultvalue("")] BSTR features,
13406             [in, defaultvalue(0)]  VARIANT_BOOL replace);
13407
13408     [propget, id(DISPID_IHTMLWINDOW2_SELF)]
13409     IHTMLWindow2 *self();
13410
13411     [propget, id(DISPID_IHTMLWINDOW2_TOP)]
13412     IHTMLWindow2 *top();
13413
13414     [propget, id(DISPID_IHTMLWINDOW2_WINDOW)]
13415     IHTMLWindow2 *window();
13416
13417     [id(DISPID_IHTMLWINDOW2_NAVIGATE)]
13418     void navigate([in] BSTR url);
13419
13420     [propput, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
13421     void onfocus(VARIANT v);
13422
13423     [propget, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
13424     VARIANT onfocus();
13425
13426     [propput, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
13427     void onblur(VARIANT v);
13428
13429     [propget, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
13430     VARIANT onblur();
13431
13432     [propget, id(DISPID_IHTMLWINDOW2_ONLOAD), displaybind, bindable]
13433     VARIANT onload();
13434
13435     [propput, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
13436     void onbeforeunload(VARIANT v);
13437
13438     [propget, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
13439     VARIANT onbeforeunload();
13440
13441     [propput, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
13442     void onunload(VARIANT v);
13443
13444     [propget, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
13445     VARIANT onunload();
13446
13447     [propput, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
13448     void onhelp(VARIANT v);
13449
13450     [propget, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
13451     VARIANT onhelp();
13452
13453     [propput, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
13454     void onerror(VARIANT v);
13455
13456     [propget, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
13457     VARIANT onerror();
13458
13459     [propput, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
13460     void onresize(VARIANT v);
13461
13462     [propget, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
13463     VARIANT onresize();
13464
13465     [propput, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
13466     void onscroll(VARIANT v);
13467
13468     [propget, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
13469     VARIANT onscroll();
13470
13471     [propget, id(DISPID_IHTMLWINDOW2_DOCUMENT), source]
13472     IHTMLDocument2 *document();
13473
13474     [propget, id(DISPID_IHTMLWINDOW2_EVENT)]
13475     IHTMLEventObj *event();
13476
13477     [propget, id(DISPID_IHTMLWINDOW2__NEWENUM), hidden, restricted]
13478     IUnknown *_newEnum();
13479
13480     [id(DISPID_IHTMLWINDOW2_SHOWMODALDIALOG)]
13481     VARIANT showModalDialog(
13482             [in] BSTR dialog,
13483             [in, optional] VARIANT *varArgIn,
13484             [in, optional] VARIANT *varOptions);
13485
13486     [id(DISPID_IHTMLWINDOW2_SHOWHELP)]
13487     void showHelp(
13488             [in] BSTR helpURL,
13489             [in, optional] VARIANT helpArg,
13490             [in, defaultvalue("")] BSTR features);
13491
13492     [propget, id(DISPID_IHTMLWINDOW2_SCREEN)]
13493     IHTMLScreen *screen();
13494
13495     [propget, id(DISPID_IHTMLWINDOW2_OPTION)]
13496     IHTMLOptionElementFactory *Option();
13497
13498     [id(DISPID_IHTMLWINDOW2_FOCUS)]
13499     void focus();
13500
13501     [propget, id(DISPID_IHTMLWINDOW2_CLOSED)]
13502     VARIANT_BOOL closed();
13503
13504     [id(DISPID_IHTMLWINDOW2_BLUR)]
13505     void blur();
13506
13507     [id(DISPID_IHTMLWINDOW2_SCROLL)]
13508     void scroll([in] long x, [in] long y);
13509
13510     [propget, id(DISPID_IHTMLWINDOW2_CLIENTINFORMATION)]
13511     IOmNavigator *clientInformation();
13512
13513     [id(DISPID_IHTMLWINDOW2_CLEARINTERVAL)]
13514     void clearInterval([in] long timerID);
13515
13516     [propput, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
13517     void offscreenBuffering(VARIANT v);
13518
13519     [propget, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
13520     VARIANT offscreenBuffering();
13521
13522     [id(DISPID_IHTMLWINDOW2_EXECSCRIPT)]
13523     VARIANT execScript(
13524             [in] BSTR _code,
13525             [in, defaultvalue("JScript")] BSTR language);
13526
13527     [id(DISPID_IHTMLWINDOW2_TOSTRING)]
13528     BSTR toString();
13529
13530     [id(DISPID_IHTMLWINDOW2_SCROLLBY)]
13531     void scrollBy([in] long x, [in] long y);
13532
13533     [id(DISPID_IHTMLWINDOW2_SCROLLTO)]
13534     void scrollTo([in] long x, [in] long y);
13535
13536     [id(DISPID_IHTMLWINDOW2_MOVETO)]
13537     void moveTo([in] long x, [in] long y);
13538
13539     [id(DISPID_IHTMLWINDOW2_MOVEBY)]
13540     void moveBy([in] long x, [in] long y);
13541
13542     [id(DISPID_IHTMLWINDOW2_RESIZETO)]
13543     void resizeTo([in] long x, [in] long y);
13544
13545     [id(DISPID_IHTMLWINDOW2_RESIZEBY)]
13546     void resizeBy([in] long x, [in] long y);
13547
13548     [propget, id(DISPID_IHTMLWINDOW2_EXTERNAL)]
13549     IDispatch *external();
13550
13551     [propget, id(DISPID_IHTMLWINDOW3_SCREENLEFT)]
13552     long screenLeft();
13553
13554     [propget, id(DISPID_IHTMLWINDOW3_SCREENTOP)]
13555     long screenTop();
13556
13557     [id(DISPID_IHTMLWINDOW3_ATTACHEVENT)]
13558     VARIANT_BOOL attachEvent(
13559              [in] BSTR event,
13560              [in] IDispatch *pDisp);
13561
13562     [id(DISPID_IHTMLWINDOW3_DETACHEVENT)]
13563     void detachEvent(
13564             [in] BSTR event,
13565             [in] IDispatch *pDisp);
13566
13567     [id(DISPID_IHTMLWINDOW3_SETTIMEOUT)]
13568     long setTimeout(
13569             [in] VARIANT *expression,
13570             [in] long msec,
13571             [in, optional] VARIANT *language);
13572
13573     [id(DISPID_IHTMLWINDOW3_SETINTERVAL)]
13574     long setInterval(
13575             [in] VARIANT *expression,
13576             [in] long msec,
13577             [in, optional] VARIANT *language);
13578
13579     [id(DISPID_IHTMLWINDOW3_PRINT)]
13580     void print();
13581
13582     [propput, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
13583     void onbeforeprint(VARIANT v);
13584
13585     [propget, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
13586     VARIANT onbeforeprint();
13587
13588     [propput, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
13589     void onafterprint(VARIANT v);
13590
13591     [propget, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
13592     VARIANT onafterprint();
13593
13594     [propget, id(DISPID_IHTMLWINDOW3_CLIPBOARDDATA)]
13595     IHTMLDataTransfer *clipboardData();
13596
13597     [id(DISPID_IHTMLWINDOW3_SHOWMODELESSDIALOG)]
13598     IHTMLWindow2 *showModelessDialog(
13599             [in, defaultvalue("")] BSTR url,
13600             [in, optional] VARIANT *varArgIn,
13601             [in, optional] VARIANT *options);
13602
13603     [id(DISPID_IHTMLWINDOW4_CREATEPOPUP)]
13604     IDispatch *createPopup([in, optional] VARIANT *varArgIn);
13605
13606     [propget, id(DISPID_IHTMLWINDOW4_FRAMEELEMENT)]
13607     IHTMLFrameBase *frameElement();
13608 }
13609
13610 /*****************************************************************************
13611  *    HTMLDocumentEvents2 interface
13612  */
13613 [
13614     hidden,
13615     uuid(3050f613-98b5-11cf-bb82-00aa00bdce0b)
13616 ]
13617 dispinterface HTMLDocumentEvents2
13618 {
13619     properties:
13620     methods:
13621     [id(DISPID_HTMLDOCUMENTEVENTS2_ONHELP)]
13622     VARIANT_BOOL onhelp([in] IHTMLEventObj *pEvtObj);
13623
13624     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCLICK)]
13625     VARIANT_BOOL onclick([in] IHTMLEventObj *pEvtObj);
13626
13627     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDBLCLICK)]
13628     VARIANT_BOOL ondblclick([in] IHTMLEventObj *pEvtObj);
13629
13630     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYDOWN)]
13631     void onkeydown([in] IHTMLEventObj *pEvtObj);
13632
13633     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYUP)]
13634     void onkeyup([in] IHTMLEventObj *pEvtObj);
13635
13636     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYPRESS)]
13637     VARIANT_BOOL onkeypress([in] IHTMLEventObj *pEvtObj);
13638
13639     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEDOWN)]
13640     void onmousedown([in] IHTMLEventObj *pEvtObj);
13641
13642     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEMOVE)]
13643     void onmousemove([in] IHTMLEventObj *pEvtObj);
13644
13645     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEUP)]
13646     void onmouseup([in] IHTMLEventObj *pEvtObj);
13647
13648     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEOUT)]
13649     void onmouseout([in] IHTMLEventObj *pEvtObj);
13650
13651     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEOVER)]
13652     void onmouseover([in] IHTMLEventObj *pEvtObj);
13653
13654     [id(DISPID_HTMLDOCUMENTEVENTS2_ONREADYSTATECHANGE)]
13655     void onreadystatechange([in] IHTMLEventObj *pEvtObj);
13656
13657     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREUPDATE)]
13658     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj *pEvtObj);
13659
13660     [id(DISPID_HTMLDOCUMENTEVENTS2_ONAFTERUPDATE)]
13661     void onafterupdate([in] IHTMLEventObj *pEvtObj);
13662
13663     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWEXIT)]
13664     VARIANT_BOOL onrowexit([in] IHTMLEventObj *pEvtObj);
13665
13666     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWENTER)]
13667     void onrowenter([in] IHTMLEventObj *pEvtObj);
13668
13669     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDRAGSTART)]
13670     VARIANT_BOOL ondragstart([in] IHTMLEventObj *pEvtObj);
13671
13672     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSELECTSTART)]
13673     VARIANT_BOOL onselectstart([in] IHTMLEventObj *pEvtObj);
13674
13675     [id(DISPID_HTMLDOCUMENTEVENTS2_ONERRORUPDATE)]
13676     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj *pEvtObj);
13677
13678     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCONTEXTMENU)]
13679     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj *pEvtObj);
13680
13681     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSTOP)]
13682     VARIANT_BOOL onstop([in] IHTMLEventObj *pEvtObj);
13683
13684     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWSDELETE)]
13685     void onrowsdelete([in] IHTMLEventObj *pEvtObj);
13686
13687     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWSINSERTED)]
13688     void onrowsinserted([in] IHTMLEventObj *pEvtObj);
13689
13690     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCELLCHANGE)]
13691     void oncellchange([in] IHTMLEventObj *pEvtObj);
13692
13693     [id(DISPID_HTMLDOCUMENTEVENTS2_ONPROPERTYCHANGE)]
13694     void onpropertychange([in] IHTMLEventObj *pEvtObj);
13695
13696     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATASETCHANGED)]
13697     void ondatasetchanged([in] IHTMLEventObj *pEvtObj);
13698
13699     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATAAVAILABLE)]
13700     void ondataavailable([in] IHTMLEventObj *pEvtObj);
13701
13702     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATASETCOMPLETE)]
13703     void ondatasetcomplete([in] IHTMLEventObj *pEvtObj);
13704
13705     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREEDITFOCUS)]
13706     void onbeforeeditfocus([in] IHTMLEventObj *pEvtObj);
13707
13708     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSELECTIONCHANGE)]
13709     void onselectionchange([in] IHTMLEventObj *pEvtObj);
13710
13711     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCONTROLSELECT)]
13712     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj *pEvtObj);
13713
13714     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEWHEEL)]
13715     VARIANT_BOOL onmousewheel([in] IHTMLEventObj *pEvtObj);
13716
13717     [id(DISPID_HTMLDOCUMENTEVENTS2_ONFOCUSIN)]
13718     void onfocusin([in] IHTMLEventObj *pEvtObj);
13719
13720     [id(DISPID_HTMLDOCUMENTEVENTS2_ONFOCUSOUT)]
13721     void onfocusout([in] IHTMLEventObj *pEvtObj);
13722
13723     [id(DISPID_HTMLDOCUMENTEVENTS2_ONACTIVATE)]
13724     void onactivate([in] IHTMLEventObj *pEvtObj);
13725
13726     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDEACTIVATE)]
13727     void ondeactivate([in] IHTMLEventObj *pEvtObj);
13728
13729     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREACTIVATE)]
13730     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj *pEvtObj);
13731
13732     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREDEACTIVATE)]
13733     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj *pEvtObj);
13734 }
13735
13736 /*****************************************************************************
13737  *    HTMLDocumentEvents interface
13738  */
13739 [
13740     hidden,
13741     uuid(3050f260-98b5-11cf-bb82-00aa00bdce0b)
13742 ]
13743 dispinterface HTMLDocumentEvents
13744 {
13745     properties:
13746     methods:
13747     [id(DISPID_HTMLDOCUMENTEVENTS_ONHELP)]
13748     VARIANT_BOOL onhelp();
13749
13750     [id(DISPID_HTMLDOCUMENTEVENTS_ONCLICK)]
13751     VARIANT_BOOL onclick();
13752
13753     [id(DISPID_HTMLDOCUMENTEVENTS_ONDBLCLICK)]
13754     VARIANT_BOOL ondblclick();
13755
13756     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYDOWN)]
13757     void onkeydown();
13758
13759     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYUP)]
13760     void onkeyup();
13761
13762     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYPRESS)]
13763     VARIANT_BOOL onkeypress();
13764
13765     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEDOWN)]
13766     void onmousedown();
13767
13768     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEMOVE)]
13769     void onmousemove();
13770
13771     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEUP)]
13772     void onmouseup();
13773
13774     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEOUT)]
13775     void onmouseout();
13776
13777     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEOVER)]
13778     void onmouseover();
13779
13780     [id(DISPID_HTMLDOCUMENTEVENTS_ONREADYSTATECHANGE)]
13781     void onreadystatechange();
13782
13783     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREUPDATE)]
13784     VARIANT_BOOL onbeforeupdate();
13785
13786     [id(DISPID_HTMLDOCUMENTEVENTS_ONAFTERUPDATE)]
13787     void onafterupdate();
13788
13789     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWEXIT)]
13790     VARIANT_BOOL onrowexit();
13791
13792     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWENTER)]
13793     void onrowenter();
13794
13795     [id(DISPID_HTMLDOCUMENTEVENTS_ONDRAGSTART)]
13796     VARIANT_BOOL ondragstart();
13797
13798     [id(DISPID_HTMLDOCUMENTEVENTS_ONSELECTSTART)]
13799     VARIANT_BOOL onselectstart();
13800
13801     [id(DISPID_HTMLDOCUMENTEVENTS_ONERRORUPDATE)]
13802     VARIANT_BOOL onerrorupdate();
13803
13804     [id(DISPID_HTMLDOCUMENTEVENTS_ONCONTEXTMENU)]
13805     VARIANT_BOOL oncontextmenu();
13806
13807     [id(DISPID_HTMLDOCUMENTEVENTS_ONSTOP)]
13808     VARIANT_BOOL onstop();
13809
13810     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWSDELETE)]
13811     void onrowsdelete();
13812
13813     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWSINSERTED)]
13814     void onrowsinserted();
13815
13816     [id(DISPID_HTMLDOCUMENTEVENTS_ONCELLCHANGE)]
13817     void oncellchange();
13818
13819     [id(DISPID_HTMLDOCUMENTEVENTS_ONPROPERTYCHANGE)]
13820     void onpropertychange();
13821
13822     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATASETCHANGED)]
13823     void ondatasetchanged();
13824
13825     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATAAVAILABLE)]
13826     void ondataavailable();
13827
13828     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATASETCOMPLETE)]
13829     void ondatasetcomplete();
13830
13831     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREEDITFOCUS)]
13832     void onbeforeeditfocus();
13833
13834     [id(DISPID_HTMLDOCUMENTEVENTS_ONSELECTIONCHANGE)]
13835     void onselectionchange();
13836
13837     [id(DISPID_HTMLDOCUMENTEVENTS_ONCONTROLSELECT)]
13838     VARIANT_BOOL oncontrolselect();
13839
13840     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEWHEEL)]
13841     VARIANT_BOOL onmousewheel();
13842
13843     [id(DISPID_HTMLDOCUMENTEVENTS_ONFOCUSIN)]
13844     void onfocusin();
13845
13846     [id(DISPID_HTMLDOCUMENTEVENTS_ONFOCUSOUT)]
13847     void onfocusout();
13848
13849     [id(DISPID_HTMLDOCUMENTEVENTS_ONACTIVATE)]
13850     void onactivate();
13851
13852     [id(DISPID_HTMLDOCUMENTEVENTS_ONDEACTIVATE)]
13853     void ondeactivate();
13854
13855     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREACTIVATE)]
13856     VARIANT_BOOL onbeforeactivate();
13857
13858     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREDEACTIVATE)]
13859     VARIANT_BOOL onbeforedeactivate();
13860 }
13861
13862 /*****************************************************************************
13863  *    HTMLTextContainerEvents interface
13864  */
13865 [
13866     hidden,
13867     uuid(1ff6aa72-5842-11cf-a707-00aa00c0098d)
13868 ]
13869 dispinterface HTMLTextContainerEvents
13870 {
13871 properties:
13872
13873 methods:
13874     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
13875     VARIANT_BOOL onhelp();
13876
13877     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
13878     VARIANT_BOOL onclick();
13879
13880     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
13881     VARIANT_BOOL ondblclick();
13882
13883     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
13884     VARIANT_BOOL onkeypress();
13885
13886     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
13887     void onkeydown();
13888
13889     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
13890     void onkeyup();
13891
13892     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
13893     void onmouseout();
13894
13895     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
13896     void onmouseover();
13897
13898     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
13899     void onmousemove();
13900
13901     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
13902     void onmousedown();
13903
13904     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
13905     void onmouseup();
13906
13907     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
13908     VARIANT_BOOL onselectstart();
13909
13910     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
13911     void onfilterchange();
13912
13913     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
13914     VARIANT_BOOL ondragstart();
13915
13916     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
13917     VARIANT_BOOL onbeforeupdate();
13918
13919     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
13920     void onafterupdate();
13921
13922     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
13923     VARIANT_BOOL onerrorupdate();
13924
13925     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
13926     VARIANT_BOOL onrowexit();
13927
13928     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
13929     void onrowenter();
13930
13931     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
13932     void ondatasetchanged();
13933
13934     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
13935     void ondataavailable();
13936
13937     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
13938     void ondatasetcomplete();
13939
13940     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
13941     void onlosecapture();
13942
13943     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
13944     void onpropertychange();
13945
13946     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
13947     void onscroll();
13948
13949     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
13950     void onfocus();
13951
13952     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
13953     void onblur();
13954
13955     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
13956     void onresize();
13957
13958     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
13959     VARIANT_BOOL ondrag();
13960
13961     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
13962     void ondragend();
13963
13964     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
13965     VARIANT_BOOL ondragenter();
13966
13967     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
13968     VARIANT_BOOL ondragover();
13969
13970     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
13971     void ondragleave();
13972
13973     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
13974     VARIANT_BOOL ondrop();
13975
13976     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
13977     VARIANT_BOOL onbeforecut();
13978
13979     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
13980     VARIANT_BOOL oncut();
13981
13982     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
13983     VARIANT_BOOL onbeforecopy();
13984
13985     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
13986     VARIANT_BOOL oncopy();
13987
13988     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
13989     VARIANT_BOOL onbeforepaste();
13990
13991     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
13992     VARIANT_BOOL onpaste();
13993
13994     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
13995     VARIANT_BOOL oncontextmenu();
13996
13997     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
13998     void onrowsdelete();
13999
14000     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
14001     void onrowsinserted();
14002
14003     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
14004     void oncellchange();
14005
14006     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
14007     void onreadystatechange();
14008
14009     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
14010     void onbeforeeditfocus();
14011
14012     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
14013     void onlayoutcomplete();
14014
14015     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
14016     void onpage();
14017
14018     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
14019     VARIANT_BOOL onbeforedeactivate();
14020
14021     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
14022     VARIANT_BOOL onbeforeactivate();
14023
14024     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
14025     void onmove();
14026
14027     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
14028     VARIANT_BOOL oncontrolselect();
14029
14030     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
14031     VARIANT_BOOL onmovestart();
14032
14033     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
14034     void onmoveend();
14035
14036     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
14037     VARIANT_BOOL onresizestart();
14038
14039     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
14040     void onresizeend();
14041
14042     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
14043     void onmouseenter();
14044
14045     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
14046     void onmouseleave();
14047
14048     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
14049     VARIANT_BOOL onmousewheel();
14050
14051     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
14052     void onactivate();
14053
14054     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
14055     void ondeactivate();
14056
14057     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
14058     void onfocusin();
14059
14060     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
14061     void onfocusout();
14062
14063     [id(DISPID_HTMLTEXTCONTAINEREVENTS_ONCHANGE)]
14064     void onchange();
14065
14066     [id(DISPID_HTMLTEXTCONTAINEREVENTS_ONSELECT)]
14067     void onselect();
14068 };
14069
14070 /*****************************************************************************
14071  *    HTMLTextContainerEvents2 interface
14072  */
14073 [
14074     hidden,
14075     uuid(3050f624-98b5-11cf-bb82-00aa00bdce0b)
14076 ]
14077 dispinterface HTMLTextContainerEvents2
14078 {
14079 properties:
14080 methods:
14081     [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)]
14082     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
14083
14084     [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)]
14085     VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
14086
14087     [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)]
14088     VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
14089
14090     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)]
14091     VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
14092
14093     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)]
14094     void onkeydown([in] IHTMLEventObj* pEvtObj);
14095
14096     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)]
14097     void onkeyup([in] IHTMLEventObj* pEvtObj);
14098
14099     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)]
14100     void onmouseout([in] IHTMLEventObj* pEvtObj);
14101
14102     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)]
14103     void onmouseover([in] IHTMLEventObj* pEvtObj);
14104
14105     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)]
14106     void onmousemove([in] IHTMLEventObj* pEvtObj);
14107
14108     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)]
14109     void onmousedown([in] IHTMLEventObj* pEvtObj);
14110
14111     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)]
14112     void onmouseup([in] IHTMLEventObj* pEvtObj);
14113
14114     [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)]
14115     VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
14116
14117     [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)]
14118     void onfilterchange([in] IHTMLEventObj* pEvtObj);
14119
14120     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)]
14121     VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
14122
14123     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)]
14124     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
14125
14126     [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)]
14127     void onafterupdate([in] IHTMLEventObj* pEvtObj);
14128
14129     [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)]
14130     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
14131
14132     [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)]
14133     VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
14134
14135     [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)]
14136     void onrowenter([in] IHTMLEventObj* pEvtObj);
14137
14138     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)]
14139     void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
14140
14141     [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)]
14142     void ondataavailable([in] IHTMLEventObj* pEvtObj);
14143
14144     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)]
14145     void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
14146
14147     [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)]
14148     void onlosecapture([in] IHTMLEventObj* pEvtObj);
14149
14150     [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)]
14151     void onpropertychange([in] IHTMLEventObj* pEvtObj);
14152
14153     [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)]
14154     void onscroll([in] IHTMLEventObj* pEvtObj);
14155
14156     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)]
14157     void onfocus([in] IHTMLEventObj* pEvtObj);
14158
14159     [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)]
14160     void onblur([in] IHTMLEventObj* pEvtObj);
14161
14162     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)]
14163     void onresize([in] IHTMLEventObj* pEvtObj);
14164
14165     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)]
14166     VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
14167
14168     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)]
14169     void ondragend([in] IHTMLEventObj* pEvtObj);
14170
14171     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)]
14172     VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
14173
14174     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)]
14175     VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
14176
14177     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)]
14178     void ondragleave([in] IHTMLEventObj* pEvtObj);
14179
14180     [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)]
14181     VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
14182
14183     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)]
14184     VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
14185
14186     [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)]
14187     VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
14188
14189     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)]
14190     VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
14191
14192     [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)]
14193     VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
14194
14195     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)]
14196     VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
14197
14198     [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)]
14199     VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
14200
14201     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)]
14202     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
14203
14204     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)]
14205     void onrowsdelete([in] IHTMLEventObj* pEvtObj);
14206
14207     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)]
14208     void onrowsinserted([in] IHTMLEventObj* pEvtObj);
14209
14210     [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)]
14211     void oncellchange([in] IHTMLEventObj* pEvtObj);
14212
14213     [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)]
14214     void onreadystatechange([in] IHTMLEventObj* pEvtObj);
14215
14216     [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)]
14217     void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
14218
14219     [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)]
14220     void onpage([in] IHTMLEventObj* pEvtObj);
14221
14222     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)]
14223     void onmouseenter([in] IHTMLEventObj* pEvtObj);
14224
14225     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)]
14226     void onmouseleave([in] IHTMLEventObj* pEvtObj);
14227
14228     [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)]
14229     void onactivate([in] IHTMLEventObj* pEvtObj);
14230
14231     [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)]
14232     void ondeactivate([in] IHTMLEventObj* pEvtObj);
14233
14234     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)]
14235     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
14236
14237     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)]
14238     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
14239
14240     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)]
14241     void onfocusin([in] IHTMLEventObj* pEvtObj);
14242
14243     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)]
14244     void onfocusout([in] IHTMLEventObj* pEvtObj);
14245
14246     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)]
14247     void onmove([in] IHTMLEventObj* pEvtObj);
14248
14249     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)]
14250     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
14251
14252     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)]
14253     VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
14254
14255     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)]
14256     void onmoveend([in] IHTMLEventObj* pEvtObj);
14257
14258     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)]
14259     VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
14260
14261     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)]
14262     void onresizeend([in] IHTMLEventObj* pEvtObj);
14263
14264     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)]
14265     VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
14266
14267     [id(DISPID_HTMLTEXTCONTAINEREVENTS2_ONCHANGE)]
14268     void onchange([in] IHTMLEventObj* pEvtObj);
14269
14270     [id(DISPID_HTMLTEXTCONTAINEREVENTS2_ONSELECT)]
14271     void onselect([in] IHTMLEventObj* pEvtObj);
14272 };
14273
14274 /*****************************************************************************
14275  *    IHTMLDocument interface
14276  */
14277 [
14278     odl,
14279     oleautomation,
14280     dual,
14281     uuid(626FC520-A41E-11CF-A731-00A0C9082637)
14282 ]
14283 interface IHTMLDocument : IDispatch
14284 {
14285     [propget, id(DISPID_IHTMLDOCUMENT_SCRIPT)]
14286     HRESULT Script([retval, out] IDispatch **p);
14287 }
14288
14289 /*****************************************************************************
14290  *    IHTMLDocument2 interface
14291  */
14292 [
14293     odl,
14294     oleautomation,
14295     dual,
14296     uuid(332C4425-26CB-11D0-B483-00C04FD90119)
14297 ]
14298 interface IHTMLDocument2 : IHTMLDocument
14299 {
14300     [propget, id(DISPID_IHTMLDOCUMENT2_ALL)]
14301     HRESULT all([retval, out] IHTMLElementCollection **p);
14302
14303     [propget, id(DISPID_IHTMLDOCUMENT2_BODY)]
14304     HRESULT body([retval, out] IHTMLElement **p);
14305
14306     [propget, id(DISPID_IHTMLDOCUMENT2_ACTIVEELEMENT)]
14307     HRESULT activeElement([retval, out] IHTMLElement **p);
14308
14309     [propget, id(DISPID_IHTMLDOCUMENT2_IMAGES)]
14310     HRESULT images([retval, out] IHTMLElementCollection **p);
14311
14312     [propget, id(DISPID_IHTMLDOCUMENT2_APPLETS)]
14313     HRESULT applets([retval, out] IHTMLElementCollection **p);
14314
14315     [propget, id(DISPID_IHTMLDOCUMENT2_LINKS)]
14316     HRESULT links([retval, out] IHTMLElementCollection **p);
14317
14318     [propget, id(DISPID_IHTMLDOCUMENT2_FORMS)]
14319     HRESULT forms([retval, out] IHTMLElementCollection **p);
14320
14321     [propget, id(DISPID_IHTMLDOCUMENT2_ANCHORS)]
14322     HRESULT anchors([retval, out] IHTMLElementCollection **p);
14323
14324     [propput, id(DISPID_IHTMLDOCUMENT2_TITLE)]
14325     HRESULT title([in] BSTR v);
14326
14327     [propget, id(DISPID_IHTMLDOCUMENT2_TITLE)]
14328     HRESULT title([retval, out] BSTR *p);
14329
14330     [propget, id(DISPID_IHTMLDOCUMENT2_SCRIPTS)]
14331     HRESULT scripts([retval, out] IHTMLElementCollection **p);
14332
14333     [propput, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE)]
14334     HRESULT designMode([in] BSTR v);
14335
14336     [propget, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE)]
14337     HRESULT designMode([retval, out] BSTR *p);
14338
14339     [propget, id(DISPID_IHTMLDOCUMENT2_SELECTION)]
14340     HRESULT selection([retval, out] IHTMLSelectionObject **p);
14341
14342     [propget, id(DISPID_IHTMLDOCUMENT2_READYSTATE)]
14343      HRESULT readyState([retval, out] BSTR *p);
14344
14345     [propget, id(DISPID_IHTMLDOCUMENT2_FRAMES)]
14346     HRESULT frames([retval, out] IHTMLFramesCollection2 **p);
14347
14348     [propget, id(DISPID_IHTMLDOCUMENT2_EMBEDS)]
14349     HRESULT embeds([retval, out] IHTMLElementCollection **p);
14350
14351     [propget, id(DISPID_IHTMLDOCUMENT2_PLUGINS)]
14352     HRESULT plugins([retval, out] IHTMLElementCollection **p);
14353
14354     [propput, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
14355     HRESULT alinkColor([in] VARIANT v);
14356
14357     [propget, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
14358     HRESULT alinkColor([retval, out] VARIANT *p);
14359
14360     [propput, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
14361     HRESULT bgColor([in] VARIANT v);
14362
14363     [propget, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
14364     HRESULT bgColor([retval, out] VARIANT *p);
14365
14366     [propput, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
14367     HRESULT fgColor([in] VARIANT v);
14368
14369     [propget, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
14370     HRESULT fgColor([retval, out] VARIANT *p);
14371
14372     [propput, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
14373     HRESULT linkColor([in] VARIANT v);
14374
14375     [propget, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
14376     HRESULT linkColor([retval, out] VARIANT *p);
14377
14378     [propput, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
14379     HRESULT vlinkColor([in] VARIANT v);
14380
14381     [propget, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
14382     HRESULT vlinkColor([retval, out] VARIANT *p);
14383
14384     [propget, id(DISPID_IHTMLDOCUMENT2_REFERRER)]
14385     HRESULT referrer([retval, out] BSTR *p);
14386
14387     [propget, id(DISPID_IHTMLDOCUMENT2_LOCATION)]
14388     HRESULT location([retval, out] IHTMLLocation **p);
14389
14390     [propget, id(DISPID_IHTMLDOCUMENT2_LASTMODIFIED)]
14391     HRESULT lastModified([retval, out] BSTR *p);
14392
14393     [propput, id(DISPID_IHTMLDOCUMENT2_URL)]
14394     HRESULT URL([in] BSTR v);
14395
14396     [propget, id(DISPID_IHTMLDOCUMENT2_URL)]
14397     HRESULT URL([retval, out] BSTR *p);
14398
14399     [propput, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
14400     HRESULT domain([in] BSTR v);
14401
14402     [propget, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
14403     HRESULT domain([retval, out] BSTR *p);
14404
14405     [propput, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
14406     HRESULT cookie([in] BSTR v);
14407
14408     [propget, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
14409     HRESULT cookie([retval, out] BSTR *p);
14410
14411     [propput, id(DISPID_IHTMLDOCUMENT2_EXPANDO)]
14412     HRESULT expando([in] VARIANT_BOOL v);
14413
14414     [propget, id(DISPID_IHTMLDOCUMENT2_EXPANDO)]
14415     HRESULT expando([retval, out] VARIANT_BOOL *p);
14416
14417     [propput, id(DISPID_IHTMLDOCUMENT2_CHARSET)]
14418      HRESULT charset([in] BSTR v);
14419
14420     [propget, id(DISPID_IHTMLDOCUMENT2_CHARSET)]
14421     HRESULT charset([retval, out] BSTR *p);
14422
14423     [propput, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
14424     HRESULT defaultCharset([in] BSTR v);
14425
14426     [propget, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
14427     HRESULT defaultCharset([retval, out] BSTR *p);
14428
14429     [propget, id(DISPID_IHTMLDOCUMENT2_MIMETYPE)]
14430     HRESULT mimeType([retval, out] BSTR *p);
14431
14432     [propget, id(DISPID_IHTMLDOCUMENT2_FILESIZE)]
14433     HRESULT fileSize([retval, out] BSTR *p);
14434
14435     [propget, id(DISPID_IHTMLDOCUMENT2_FILECREATEDDATE)]
14436     HRESULT fileCreatedDate([retval, out] BSTR *p);
14437
14438     [propget, id(DISPID_IHTMLDOCUMENT2_FILEMODIFIEDDATE)]
14439     HRESULT fileModifiedDate([retval, out] BSTR *p);
14440
14441     [propget, id(DISPID_IHTMLDOCUMENT2_FILEUPDATEDDATE)]
14442     HRESULT fileUpdatedDate([retval, out] BSTR *p);
14443
14444     [propget, id(DISPID_IHTMLDOCUMENT2_SECURITY)]
14445     HRESULT security([retval, out] BSTR *p);
14446
14447     [propget, id(DISPID_IHTMLDOCUMENT2_PROTOCOL)]
14448     HRESULT protocol([retval, out] BSTR *p);
14449
14450     [propget, id(DISPID_IHTMLDOCUMENT2_NAMEPROP)]
14451      HRESULT nameProp([retval, out] BSTR *p);
14452
14453     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITE)]
14454     HRESULT write([in] SAFEARRAY(VARIANT) psarray);
14455
14456     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITELN)]
14457     HRESULT writeln([in] SAFEARRAY(VARIANT) psarray);
14458
14459     [id(DISPID_IHTMLDOCUMENT2_OPEN)]
14460     HRESULT open(
14461         [defaultvalue("text/html"), in] BSTR url,
14462         [optional, in] VARIANT name,
14463         [optional, in] VARIANT features,
14464         [optional, in] VARIANT replace,
14465         [retval, out]  IDispatch **pomWindowResult);
14466
14467     [id(DISPID_IHTMLDOCUMENT2_CLOSE)]
14468     HRESULT close();
14469
14470     [id(DISPID_IHTMLDOCUMENT2_CLEAR)]
14471     HRESULT clear();
14472
14473     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSUPPORTED)]
14474     HRESULT queryCommandSupported(
14475         [in] BSTR cmdID,
14476         [retval, out] VARIANT_BOOL *pfRet);
14477
14478     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDENABLED)]
14479     HRESULT queryCommandEnabled(
14480         [in] BSTR cmdID,
14481         [retval, out] VARIANT_BOOL *pfRet);
14482
14483     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSTATE)]
14484     HRESULT queryCommandState(
14485         [in] BSTR cmdID,
14486         [retval, out] VARIANT_BOOL *pfRet);
14487
14488     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDINDETERM)]
14489     HRESULT queryCommandIndeterm(
14490         [in] BSTR cmdID,
14491         [retval, out] VARIANT_BOOL *pfRet);
14492
14493     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDTEXT)]
14494     HRESULT queryCommandText(
14495         [in] BSTR cmdID,
14496         [retval, out] BSTR *pcmdText);
14497
14498     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDVALUE)]
14499     HRESULT queryCommandValue(
14500         [in] BSTR cmdID,
14501         [retval, out] VARIANT *pcmdValue);
14502
14503     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMAND)]
14504     HRESULT execCommand(
14505         [in] BSTR cmdID,
14506         [defaultvalue(0), in] VARIANT_BOOL showUI,
14507         [optional, in] VARIANT value,
14508         [retval, out] VARIANT_BOOL *pfRet);
14509
14510     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMANDSHOWHELP)]
14511     HRESULT execCommandShowHelp(
14512         [in] BSTR cmdID,
14513         [retval, out] VARIANT_BOOL *pfRet);
14514
14515     [id(DISPID_IHTMLDOCUMENT2_CREATEELEMENT)]
14516      HRESULT createElement(
14517         [in] BSTR eTag,
14518         [retval, out] IHTMLElement **newElem);
14519
14520     [propput, id(DISPID_IHTMLDOCUMENT2_ONHELP)]
14521     HRESULT onhelp([in] VARIANT v);
14522
14523     [propget, id(DISPID_IHTMLDOCUMENT2_ONHELP)]
14524     HRESULT onhelp([retval, out] VARIANT *p);
14525
14526     [propput, id(DISPID_IHTMLDOCUMENT2_ONCLICK)]
14527     HRESULT onclick([in] VARIANT v);
14528
14529     [propget, id(DISPID_IHTMLDOCUMENT2_ONCLICK)]
14530     HRESULT onclick([retval, out] VARIANT *p);
14531
14532     [propput, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK)]
14533     HRESULT ondblclick([in] VARIANT v);
14534
14535     [propget, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK)]
14536     HRESULT ondblclick([retval, out] VARIANT *p);
14537
14538     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYUP)]
14539     HRESULT onkeyup([in] VARIANT v);
14540
14541     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYUP)]
14542     HRESULT onkeyup([retval, out] VARIANT *p);
14543
14544     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN)]
14545     HRESULT onkeydown([in] VARIANT v);
14546
14547     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN)]
14548     HRESULT onkeydown([retval, out] VARIANT *p);
14549
14550     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS)]
14551      HRESULT onkeypress([in] VARIANT v);
14552
14553     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS)]
14554     HRESULT onkeypress([retval, out] VARIANT *p);
14555
14556     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP)]
14557     HRESULT onmouseup([in] VARIANT v);
14558
14559     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP)]
14560     HRESULT onmouseup([retval, out] VARIANT *p);
14561
14562     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN)]
14563     HRESULT onmousedown([in] VARIANT v);
14564
14565     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN)]
14566     HRESULT onmousedown([retval, out] VARIANT *p);
14567
14568     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE)]
14569     HRESULT onmousemove([in] VARIANT v);
14570
14571     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE)]
14572     HRESULT onmousemove([retval, out] VARIANT *p);
14573
14574     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT)]
14575     HRESULT onmouseout([in] VARIANT v);
14576
14577     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT)]
14578     HRESULT onmouseout([retval, out] VARIANT *p);
14579
14580     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER)]
14581     HRESULT onmouseover([in] VARIANT v);
14582
14583     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER)]
14584     HRESULT onmouseover([retval, out] VARIANT *p);
14585
14586     [propput, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE)]
14587     HRESULT onreadystatechange([in] VARIANT v);
14588
14589     [propget, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE)]
14590     HRESULT onreadystatechange([retval, out] VARIANT *p);
14591
14592     [propput, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE)]
14593     HRESULT onafterupdate([in] VARIANT v);
14594
14595     [propget, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE)]
14596     HRESULT onafterupdate([retval, out] VARIANT *p);
14597
14598     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT)]
14599     HRESULT onrowexit([in] VARIANT v);
14600
14601     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT)]
14602     HRESULT onrowexit([retval, out] VARIANT *p);
14603
14604     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWENTER)]
14605     HRESULT onrowenter([in] VARIANT v);
14606
14607     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWENTER)]
14608     HRESULT onrowenter([retval, out] VARIANT *p);
14609
14610     [propput, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART)]
14611     HRESULT ondragstart([in] VARIANT v);
14612
14613     [propget, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART)]
14614     HRESULT ondragstart([retval, out] VARIANT *p);
14615
14616     [propput, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART)]
14617     HRESULT onselectstart([in] VARIANT v);
14618
14619     [propget, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART)]
14620     HRESULT onselectstart([retval, out] VARIANT *p);
14621
14622     [id(DISPID_IHTMLDOCUMENT2_ELEMENTFROMPOINT)]
14623     HRESULT elementFromPoint(
14624         [in] long x,
14625         [in] long y,
14626         [retval, out] IHTMLElement **elementHit);
14627
14628     [propget, id(DISPID_IHTMLDOCUMENT2_PARENTWINDOW)]
14629     HRESULT parentWindow([retval, out] IHTMLWindow2 **p);
14630
14631     [propget, id(DISPID_IHTMLDOCUMENT2_STYLESHEETS)]
14632     HRESULT styleSheets([retval, out] IHTMLStyleSheetsCollection **p);
14633
14634     [propput, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE)]
14635     HRESULT onbeforeupdate([in] VARIANT v);
14636
14637     [propget, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE)]
14638     HRESULT onbeforeupdate([retval, out] VARIANT *p);
14639
14640     [propput, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE)]
14641     HRESULT onerrorupdate([in] VARIANT v);
14642
14643     [propget, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE)]
14644     HRESULT onerrorupdate([retval, out] VARIANT *p);
14645
14646     [id(DISPID_IHTMLDOCUMENT2_TOSTRING)]
14647     HRESULT toString([retval, out] BSTR *String);
14648
14649     [id(DISPID_IHTMLDOCUMENT2_CREATESTYLESHEET)]
14650     HRESULT createStyleSheet(
14651         [defaultvalue(""), in] BSTR bstrHref,
14652         [defaultvalue(-1), in] long lIndex,
14653         [retval, out] IHTMLStyleSheet **ppnewStyleSheet);
14654 }
14655
14656 /*****************************************************************************
14657  *    IHTMLDocument3 interface
14658  */
14659 [
14660     odl,
14661     oleautomation,
14662     dual,
14663     uuid(3050f485-98b5-11cf-bb82-00aa00bdce0b)
14664 ]
14665 interface IHTMLDocument3 : IDispatch
14666 {
14667     [id(DISPID_IHTMLDOCUMENT3_RELEASECAPTURE)]
14668     HRESULT releaseCapture();
14669
14670     [id(DISPID_IHTMLDOCUMENT3_RECALC)]
14671     HRESULT recalc([defaultvalue(0), in] VARIANT_BOOL fForce);
14672
14673     [id(DISPID_IHTMLDOCUMENT3_CREATETEXTNODE)]
14674     HRESULT createTextNode(
14675         [in] BSTR text,
14676         [retval, out] IHTMLDOMNode **newTextNode);
14677
14678     [propget, id(DISPID_IHTMLDOCUMENT3_DOCUMENTELEMENT)]
14679     HRESULT documentElement([retval, out] IHTMLElement **p);
14680
14681     [propget, id(DISPID_IHTMLDOCUMENT3_UNIQUEID), hidden]
14682     HRESULT uniqueID([retval, out] BSTR *p);
14683
14684     [id(DISPID_IHTMLDOCUMENT3_ATTACHEVENT)]
14685     HRESULT attachEvent(
14686         [in] BSTR event,
14687         [in] IDispatch* pDisp,
14688         [retval, out] VARIANT_BOOL *pfResult);
14689
14690     [id(DISPID_IHTMLDOCUMENT3_DETACHEVENT)]
14691     HRESULT detachEvent(
14692         [in] BSTR event,
14693         [in] IDispatch *pDisp);
14694
14695     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
14696     HRESULT onrowsdelete([in] VARIANT v);
14697
14698     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
14699     HRESULT onrowsdelete([retval, out] VARIANT *p);
14700
14701     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
14702     HRESULT onrowsinserted([in] VARIANT v);
14703
14704     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
14705     HRESULT onrowsinserted([retval, out] VARIANT *p);
14706
14707     [propput, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
14708     HRESULT oncellchange([in] VARIANT v);
14709
14710     [propget, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
14711     HRESULT oncellchange([retval, out] VARIANT *p);
14712
14713     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
14714     HRESULT ondatasetchanged([in] VARIANT v);
14715
14716     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
14717     HRESULT ondatasetchanged([retval, out] VARIANT *p);
14718
14719     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
14720     HRESULT ondataavailable([in] VARIANT v);
14721
14722     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
14723     HRESULT ondataavailable([retval, out] VARIANT * p);
14724
14725     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
14726     HRESULT ondatasetcomplete([in] VARIANT v);
14727
14728     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
14729     HRESULT ondatasetcomplete([retval, out] VARIANT *p);
14730
14731     [propput, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
14732     HRESULT onpropertychange([in] VARIANT v);
14733
14734     [propget, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
14735     HRESULT onpropertychange([retval, out] VARIANT *p);
14736
14737     [propput, id(DISPID_IHTMLDOCUMENT3_DIR)]
14738     HRESULT dir([in] BSTR v);
14739
14740     [propget, id(DISPID_IHTMLDOCUMENT3_DIR)]
14741     HRESULT dir([retval, out] BSTR *p);
14742
14743     [propput, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
14744     HRESULT oncontextmenu([in] VARIANT v);
14745
14746     [propget, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
14747     HRESULT oncontextmenu([retval, out] VARIANT *p);
14748
14749     [propput, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
14750     HRESULT onstop([in] VARIANT v);
14751
14752     [propget, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
14753     HRESULT onstop([retval, out] VARIANT *p);
14754
14755     [id(DISPID_IHTMLDOCUMENT3_CREATEDOCUMENTFRAGMENT)]
14756     HRESULT createDocumentFragment([retval, out] IHTMLDocument2 **pNewDoc);
14757
14758     [propget, id(DISPID_IHTMLDOCUMENT3_PARENTDOCUMENT), hidden, restricted]
14759     HRESULT parentDocument([retval, out] IHTMLDocument2 **p);
14760
14761     [propput, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
14762     HRESULT enableDownload([in] VARIANT_BOOL v);
14763
14764     [propget, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
14765     HRESULT enableDownload([retval, out] VARIANT_BOOL *p);
14766
14767     [propput, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
14768     HRESULT baseUrl([in] BSTR v);
14769
14770     [propget, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
14771     HRESULT baseUrl([retval, out] BSTR *p);
14772
14773     [propget, id(DISPID_IHTMLDOCUMENT3_CHILDNODES)]
14774     HRESULT childNodes([retval, out] IDispatch **p);
14775
14776     [propput, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
14777     HRESULT inheritStyleSheets([in] VARIANT_BOOL v);
14778
14779     [propget, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
14780     HRESULT inheritStyleSheets([retval, out] VARIANT_BOOL *p);
14781
14782     [propput, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
14783     HRESULT onbeforeeditfocus([in] VARIANT v);
14784
14785     [propget, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
14786     HRESULT onbeforeeditfocus([retval, out] VARIANT *p);
14787
14788     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYNAME)]
14789     HRESULT getElementsByName(
14790         [in] BSTR v,
14791         [retval, out] IHTMLElementCollection **pelColl);
14792
14793     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTBYID)]
14794     HRESULT getElementById(
14795         [in] BSTR v,
14796         [retval, out] IHTMLElement **pel);
14797
14798     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYTAGNAME)]
14799     HRESULT getElementsByTagName(
14800         [in] BSTR v,
14801         [retval, out] IHTMLElementCollection **pelColl);
14802 }
14803
14804 /*****************************************************************************
14805  *    IHTMLDocument4 interface
14806  */
14807 [
14808     odl,
14809     oleautomation,
14810     dual,
14811     uuid(3050f69a-98b5-11cf-bb82-00aa00bdce0b)
14812 ]
14813 interface IHTMLDocument4 : IDispatch
14814 {
14815     [id(DISPID_IHTMLDOCUMENT4_FOCUS)]
14816     HRESULT focus();
14817
14818     [id(DISPID_IHTMLDOCUMENT4_HASFOCUS)]
14819     HRESULT hasFocus([retval, out] VARIANT_BOOL *pfFocus);
14820
14821     [propput, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
14822     HRESULT onselectionchange([in] VARIANT v);
14823
14824     [propget, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
14825     HRESULT onselectionchange([retval, out] VARIANT *p);
14826
14827     [propget, id(DISPID_IHTMLDOCUMENT4_NAMESPACES)]
14828     HRESULT namespaces([retval, out] IDispatch **p);
14829
14830     [id(DISPID_IHTMLDOCUMENT4_CREATEDOCUMENTFROMURL)]
14831     HRESULT createDocumentFromUrl(
14832         [in] BSTR bstrUrl,
14833         [in] BSTR bstrOptions,
14834         [retval, out] IHTMLDocument2 **newDoc);
14835
14836     [propput, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
14837     HRESULT media([in] BSTR v);
14838
14839     [propget, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
14840     HRESULT media([retval, out] BSTR *p);
14841
14842     [id(DISPID_IHTMLDOCUMENT4_CREATEEVENTOBJECT)]
14843     HRESULT createEventObject(
14844         [optional, in] VARIANT *pvarEventObject,
14845         [retval, out] IHTMLEventObj **ppEventObj);
14846
14847     [id(DISPID_IHTMLDOCUMENT4_FIREEVENT)]
14848     HRESULT fireEvent(
14849         [in] BSTR bstrEventName,
14850         [optional, in] VARIANT *pvarEventObject,
14851         [retval, out] VARIANT_BOOL *pfCancelled);
14852
14853     [id(DISPID_IHTMLDOCUMENT4_CREATERENDERSTYLE)]
14854     HRESULT createRenderStyle(
14855         [in] BSTR v,
14856         [retval, out] IHTMLRenderStyle **ppIHTMLRenderStyle);
14857
14858     [propput, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
14859     HRESULT oncontrolselect([in] VARIANT v);
14860
14861     [propget, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
14862     HRESULT oncontrolselect([retval, out] VARIANT *p);
14863
14864     [propget, id(DISPID_IHTMLDOCUMENT4_URLUNENCODED)]
14865     HRESULT URLUnencoded([retval, out] BSTR *p);
14866 }
14867
14868 /*****************************************************************************
14869  *    IHTMLDocument5 interface
14870  */
14871 [
14872     odl,
14873     oleautomation,
14874     dual,
14875     uuid(3050f80c-98b5-11cf-bb82-00aa00bdce0b)
14876 ]
14877 interface IHTMLDocument5 : IDispatch
14878 {
14879     [propput, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
14880     HRESULT onmousewheel([in] VARIANT v);
14881
14882     [propget, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
14883     HRESULT onmousewheel([retval, out] VARIANT *p);
14884
14885     [propget, id(DISPID_IHTMLDOCUMENT5_DOCTYPE)]
14886     HRESULT doctype([retval, out] IHTMLDOMNode **p);
14887
14888     [propget, id(DISPID_IHTMLDOCUMENT5_IMPLEMENTATION)]
14889     HRESULT implementation([retval, out] IHTMLDOMImplementation **p);
14890
14891     [id(DISPID_IHTMLDOCUMENT5_CREATEATTRIBUTE)]
14892     HRESULT createAttribute(
14893         [in] BSTR bstrattrName,
14894         [retval, out] IHTMLDOMAttribute **ppattribute);
14895
14896     [id(DISPID_IHTMLDOCUMENT5_CREATECOMMENT)]
14897     HRESULT createComment(
14898         [in] BSTR bstrdata,
14899         [retval, out] IHTMLDOMNode **ppRetNode);
14900
14901     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
14902     HRESULT onfocusin([in] VARIANT v);
14903
14904     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
14905     HRESULT onfocusin([retval, out] VARIANT *p);
14906
14907     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
14908     HRESULT onfocusout([in] VARIANT v);
14909
14910     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
14911     HRESULT onfocusout([retval, out] VARIANT *p);
14912
14913     [propput, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
14914     HRESULT onactivate([in] VARIANT v);
14915
14916     [propget, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
14917     HRESULT onactivate([retval, out] VARIANT *p);
14918
14919     [propput, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
14920     HRESULT ondeactivate([in] VARIANT v);
14921
14922     [propget, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
14923     HRESULT ondeactivate([retval, out] VARIANT *p);
14924
14925     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
14926     HRESULT onbeforeactivate([in] VARIANT v);
14927
14928     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
14929     HRESULT onbeforeactivate([retval, out] VARIANT *p);
14930
14931     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
14932     HRESULT onbeforedeactivate([in] VARIANT v);
14933
14934     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
14935     HRESULT onbeforedeactivate([retval, out] VARIANT *p);
14936
14937     [propget, id(DISPID_IHTMLDOCUMENT5_COMPATMODE)]
14938     HRESULT compatMode([retval, out] BSTR *p);
14939 }
14940
14941 /*****************************************************************************
14942  *    DispHTMLDocument dispinterface
14943  */
14944 [
14945     hidden,
14946     uuid(3050f55f-98b5-11cf-bb82-00aa00bdce0b)
14947 ]
14948 dispinterface DispHTMLDocument
14949 {
14950 properties:
14951 methods:
14952     [propget, id(DISPID_IHTMLDOCUMENT_SCRIPT), hidden, nonbrowsable]
14953     IDispatch *Script();
14954
14955     [propget, id(DISPID_IHTMLDOCUMENT2_ALL)]
14956     IHTMLElementCollection *all();
14957
14958     [propget, id(DISPID_IHTMLDOCUMENT2_BODY)]
14959     IHTMLElement *body();
14960
14961     [propget, id(DISPID_IHTMLDOCUMENT2_ACTIVEELEMENT)]
14962     IHTMLElement *activeElement();
14963
14964     [propget, id(DISPID_IHTMLDOCUMENT2_IMAGES)]
14965     IHTMLElementCollection *images();
14966
14967     [propget, id(DISPID_IHTMLDOCUMENT2_APPLETS)]
14968     IHTMLElementCollection *applets();
14969
14970     [propget, id(DISPID_IHTMLDOCUMENT2_LINKS)]
14971     IHTMLElementCollection *links();
14972
14973     [propget, id(DISPID_IHTMLDOCUMENT2_FORMS)]
14974     IHTMLElementCollection *forms();
14975
14976     [propget, id(DISPID_IHTMLDOCUMENT2_ANCHORS)]
14977     IHTMLElementCollection *anchors();
14978
14979     [propput, id(DISPID_IHTMLDOCUMENT2_TITLE)]
14980     void title(BSTR v);
14981
14982     [propget, id(DISPID_IHTMLDOCUMENT2_TITLE)]
14983     BSTR title();
14984
14985     [propget, id(DISPID_IHTMLDOCUMENT2_SCRIPTS)]
14986     IHTMLElementCollection *scripts();
14987
14988     [propput, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE), hidden]
14989     void designMode(BSTR v);
14990
14991     [propget, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE), hidden]
14992     BSTR designMode();
14993
14994     [propget, id(DISPID_IHTMLDOCUMENT2_SELECTION)]
14995     IHTMLSelectionObject *selection();
14996
14997     [propget, id(DISPID_IHTMLDOCUMENT2_READYSTATE), bindable]
14998     BSTR readyState();
14999
15000     [propget, id(DISPID_IHTMLDOCUMENT2_FRAMES)]
15001     IHTMLFramesCollection2 *frames();
15002
15003     [propget, id(DISPID_IHTMLDOCUMENT2_EMBEDS)]
15004     IHTMLElementCollection *embeds();
15005
15006     [propget, id(DISPID_IHTMLDOCUMENT2_PLUGINS)]
15007     IHTMLElementCollection *plugins();
15008
15009     [propput, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
15010     void alinkColor(VARIANT v);
15011
15012     [propget, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
15013     VARIANT alinkColor();
15014
15015     [propput, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
15016     void bgColor(VARIANT v);
15017
15018     [propget, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
15019     VARIANT bgColor();
15020
15021     [propput, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
15022     void fgColor(VARIANT v);
15023
15024     [propget, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
15025     VARIANT fgColor();
15026
15027     [propput, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
15028     void linkColor(VARIANT v);
15029
15030     [propget, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
15031     VARIANT linkColor();
15032
15033     [propput, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
15034     void vlinkColor(VARIANT v);
15035
15036     [propget, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
15037     VARIANT vlinkColor();
15038
15039     [propget, id(DISPID_IHTMLDOCUMENT2_REFERRER)]
15040     BSTR referrer();
15041
15042     [propget, id(DISPID_IHTMLDOCUMENT2_LOCATION)]
15043     IHTMLLocation *location();
15044
15045     [propget, id(DISPID_IHTMLDOCUMENT2_LASTMODIFIED)]
15046     BSTR lastModified();
15047
15048     [propput, id(DISPID_IHTMLDOCUMENT2_URL)]
15049     void URL(BSTR v);
15050
15051     [propget, id(DISPID_IHTMLDOCUMENT2_URL)]
15052     BSTR URL();
15053
15054     [propput, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
15055     void domain(BSTR v);
15056
15057     [propget, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
15058     BSTR domain();
15059
15060     [propput, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
15061     void cookie(BSTR v);
15062
15063     [propget, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
15064     BSTR cookie();
15065
15066     [propput, id(DISPID_IHTMLDOCUMENT2_EXPANDO), bindable, hidden]
15067     void expando(VARIANT_BOOL v);
15068
15069     [propget, id(DISPID_IHTMLDOCUMENT2_EXPANDO), bindable, hidden]
15070     VARIANT_BOOL expando();
15071
15072     [propput, id(DISPID_IHTMLDOCUMENT2_CHARSET), hidden]
15073     void charset(BSTR v);
15074
15075     [propget, id(DISPID_IHTMLDOCUMENT2_CHARSET), hidden]
15076     BSTR charset();
15077
15078     [propput, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
15079     void defaultCharset(BSTR v);
15080
15081     [propget, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
15082     BSTR defaultCharset();
15083
15084     [propget, id(DISPID_IHTMLDOCUMENT2_MIMETYPE)]
15085     BSTR mimeType();
15086
15087     [propget, id(DISPID_IHTMLDOCUMENT2_FILESIZE)]
15088     BSTR fileSize();
15089
15090     [propget, id(DISPID_IHTMLDOCUMENT2_FILECREATEDDATE)]
15091     BSTR fileCreatedDate();
15092
15093     [propget, id(DISPID_IHTMLDOCUMENT2_FILEMODIFIEDDATE)]
15094     BSTR fileModifiedDate();
15095
15096     [propget, id(DISPID_IHTMLDOCUMENT2_FILEUPDATEDDATE)]
15097     BSTR fileUpdatedDate();
15098
15099     [propget, id(DISPID_IHTMLDOCUMENT2_SECURITY)]
15100     BSTR security();
15101
15102     [propget, id(DISPID_IHTMLDOCUMENT2_PROTOCOL)]
15103     BSTR protocol();
15104
15105     [propget, id(DISPID_IHTMLDOCUMENT2_NAMEPROP)]
15106     BSTR nameProp();
15107
15108     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITE)]
15109     void write([in] SAFEARRAY(VARIANT) psarray);
15110
15111     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITELN)]
15112     void writeln([in] SAFEARRAY(VARIANT) psarray);
15113
15114     [id(DISPID_IHTMLDOCUMENT2_OPEN)]
15115     IDispatch *open(
15116         [defaultvalue("text/html"), in] BSTR url,
15117         [optional, in] VARIANT name,
15118         [optional, in] VARIANT features,
15119         [optional, in] VARIANT replace);
15120
15121     [id(DISPID_IHTMLDOCUMENT2_CLOSE)]
15122     void close();
15123
15124     [id(DISPID_IHTMLDOCUMENT2_CLEAR)]
15125     void clear();
15126
15127     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSUPPORTED)]
15128     VARIANT_BOOL queryCommandSupported([in] BSTR cmdID);
15129
15130     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDENABLED)]
15131     VARIANT_BOOL queryCommandEnabled([in] BSTR cmdID);
15132
15133     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSTATE)]
15134     VARIANT_BOOL queryCommandState([in] BSTR cmdID);
15135
15136     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDINDETERM)]
15137     VARIANT_BOOL queryCommandIndeterm([in] BSTR cmdID);
15138
15139     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDTEXT)]
15140     BSTR queryCommandText([in] BSTR cmdID);
15141
15142     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDVALUE)]
15143     VARIANT queryCommandValue([in] BSTR cmdID);
15144
15145     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMAND)]
15146     VARIANT_BOOL execCommand(
15147         [in] BSTR cmdID,
15148         [defaultvalue(0), in] VARIANT_BOOL showUI,
15149         [optional, in] VARIANT value);
15150
15151     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMANDSHOWHELP)]
15152     VARIANT_BOOL execCommandShowHelp([in] BSTR cmdID);
15153
15154     [id(DISPID_IHTMLDOCUMENT2_CREATEELEMENT)]
15155     IHTMLElement *createElement([in] BSTR eTag);
15156
15157     [propput, id(DISPID_IHTMLDOCUMENT2_ONHELP), displaybind, bindable]
15158     void onhelp(VARIANT v);
15159
15160     [propget, id(DISPID_IHTMLDOCUMENT2_ONHELP), displaybind, bindable]
15161     VARIANT onhelp();
15162
15163     [propput, id(DISPID_IHTMLDOCUMENT2_ONCLICK), displaybind, bindable]
15164     void onclick(VARIANT v);
15165
15166     [propget, id(DISPID_IHTMLDOCUMENT2_ONCLICK), displaybind, bindable]
15167     VARIANT onclick();
15168
15169     [propput, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK), displaybind, bindable]
15170     void ondblclick(VARIANT v);
15171
15172     [propget, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK), displaybind, bindable]
15173     VARIANT ondblclick();
15174
15175     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYUP), displaybind, bindable]
15176     void onkeyup(VARIANT v);
15177
15178     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYUP), displaybind, bindable]
15179     VARIANT onkeyup();
15180
15181     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN), displaybind, bindable]
15182     void onkeydown(VARIANT v);
15183
15184     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN), displaybind, bindable]
15185     VARIANT onkeydown();
15186
15187     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS), displaybind, bindable]
15188     void onkeypress(VARIANT v);
15189
15190     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS), displaybind, bindable]
15191     VARIANT onkeypress();
15192
15193     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP), displaybind, bindable]
15194     void onmouseup(VARIANT v);
15195
15196     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP), displaybind, bindable]
15197     VARIANT onmouseup();
15198
15199     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN), displaybind, bindable]
15200     void onmousedown(VARIANT v);
15201
15202     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN), displaybind, bindable]
15203     VARIANT onmousedown();
15204
15205     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE), displaybind, bindable]
15206     void onmousemove(VARIANT v);
15207
15208     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE), displaybind, bindable]
15209     VARIANT onmousemove();
15210
15211     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT), displaybind, bindable]
15212     void onmouseout(VARIANT v);
15213
15214     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT), displaybind, bindable]
15215     VARIANT onmouseout();
15216
15217     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER), displaybind, bindable]
15218     void onmouseover(VARIANT v);
15219
15220     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER), displaybind, bindable]
15221     VARIANT onmouseover();
15222
15223     [propput, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE), displaybind, bindable]
15224     void onreadystatechange(VARIANT v);
15225
15226     [propget, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE), displaybind, bindable]
15227     VARIANT onreadystatechange();
15228
15229     [propput, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE), displaybind, bindable]
15230     void onafterupdate(VARIANT v);
15231
15232     [propget, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE), displaybind, bindable]
15233     VARIANT onafterupdate();
15234
15235     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT), displaybind, bindable]
15236     void onrowexit(VARIANT v);
15237
15238     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT), displaybind, bindable]
15239     VARIANT onrowexit();
15240
15241     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWENTER), displaybind, bindable]
15242     void onrowenter(VARIANT v);
15243
15244     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWENTER), displaybind, bindable]
15245     VARIANT onrowenter();
15246
15247     [propput, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART), displaybind, bindable]
15248     void ondragstart(VARIANT v);
15249
15250     [propget, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART), displaybind, bindable]
15251     VARIANT ondragstart();
15252
15253     [propput, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART), displaybind, bindable]
15254     void onselectstart(VARIANT v);
15255
15256     [propget, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART), displaybind, bindable]
15257     VARIANT onselectstart();
15258
15259     [id(DISPID_IHTMLDOCUMENT2_ELEMENTFROMPOINT)]
15260     IHTMLElement *elementFromPoint(
15261         [in] long x,
15262         [in] long y);
15263
15264     [propget, id(DISPID_IHTMLDOCUMENT2_PARENTWINDOW)]
15265     IHTMLWindow2 *parentWindow();
15266
15267     [propget, id(DISPID_IHTMLDOCUMENT2_STYLESHEETS)]
15268     IHTMLStyleSheetsCollection *styleSheets();
15269
15270     [propput, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE), displaybind, bindable]
15271     void onbeforeupdate(VARIANT v);
15272
15273     [propget, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE), displaybind, bindable]
15274     VARIANT onbeforeupdate();
15275
15276     [propput, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE), displaybind, bindable]
15277     void onerrorupdate(VARIANT v);
15278
15279     [propget, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE), displaybind, bindable]
15280     VARIANT onerrorupdate();
15281
15282     [id(DISPID_IHTMLDOCUMENT2_TOSTRING)]
15283     BSTR toString();
15284
15285     [id(DISPID_IHTMLDOCUMENT2_CREATESTYLESHEET)]
15286     IHTMLStyleSheet *createStyleSheet(
15287         [defaultvalue(""), in] BSTR bstrHref,
15288         [defaultvalue(-1), in] long lIndex);
15289
15290     [id(DISPID_IHTMLDOCUMENT3_RELEASECAPTURE)]
15291     void releaseCapture();
15292
15293     [id(DISPID_IHTMLDOCUMENT3_RECALC)]
15294     void recalc([defaultvalue(0), in] VARIANT_BOOL fForce);
15295
15296     [id(DISPID_IHTMLDOCUMENT3_CREATETEXTNODE)]
15297     IHTMLDOMNode *createTextNode([in] BSTR text);
15298
15299     [propget, id(DISPID_IHTMLDOCUMENT3_DOCUMENTELEMENT)]
15300     IHTMLElement *documentElement();
15301
15302     [propget, id(DISPID_IHTMLDOCUMENT3_UNIQUEID), hidden]
15303     BSTR uniqueID();
15304
15305     [id(DISPID_IHTMLDOCUMENT3_ATTACHEVENT)]
15306     VARIANT_BOOL attachEvent(
15307         [in] BSTR event,
15308         [in] IDispatch *pDisp);
15309
15310     [id(DISPID_IHTMLDOCUMENT3_DETACHEVENT)]
15311     void detachEvent(
15312         [in] BSTR event,
15313         [in] IDispatch *pDisp);
15314
15315     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
15316     void onrowsdelete(VARIANT v);
15317
15318     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
15319     VARIANT onrowsdelete();
15320
15321     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
15322     void onrowsinserted(VARIANT v);
15323
15324     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
15325     VARIANT onrowsinserted();
15326
15327     [propput, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
15328     void oncellchange(VARIANT v);
15329
15330     [propget, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
15331     VARIANT oncellchange();
15332
15333     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
15334     void ondatasetchanged(VARIANT v);
15335
15336     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
15337     VARIANT ondatasetchanged();
15338
15339     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
15340     void ondataavailable(VARIANT v);
15341
15342     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
15343     VARIANT ondataavailable();
15344
15345     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
15346     void ondatasetcomplete(VARIANT v);
15347
15348     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
15349     VARIANT ondatasetcomplete();
15350
15351     [propput, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
15352     void onpropertychange(VARIANT v);
15353
15354     [propget, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
15355     VARIANT onpropertychange();
15356
15357     [propput, id(DISPID_IHTMLDOCUMENT3_DIR)]
15358     void dir(BSTR v);
15359
15360     [propget, id(DISPID_IHTMLDOCUMENT3_DIR)]
15361     BSTR dir();
15362
15363     [propput, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
15364     void oncontextmenu(VARIANT v);
15365
15366     [propget, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
15367     VARIANT oncontextmenu();
15368
15369     [propput, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
15370     void onstop(VARIANT v);
15371
15372     [propget, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
15373     VARIANT onstop();
15374
15375     [id(DISPID_IHTMLDOCUMENT3_CREATEDOCUMENTFRAGMENT)]
15376     IHTMLDocument2 *createDocumentFragment();
15377
15378     [propget, id(DISPID_IHTMLDOCUMENT3_PARENTDOCUMENT), hidden, restricted]
15379     IHTMLDocument2 *parentDocument();
15380
15381     [propput, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
15382     void enableDownload(VARIANT_BOOL v);
15383
15384     [propget, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
15385     VARIANT_BOOL enableDownload();
15386
15387     [propput, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
15388     void baseUrl(BSTR v);
15389
15390     [propget, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
15391     BSTR baseUrl();
15392
15393     [propput, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
15394     void inheritStyleSheets(VARIANT_BOOL v);
15395
15396     [propget, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
15397     VARIANT_BOOL inheritStyleSheets();
15398
15399     [propput, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
15400     void onbeforeeditfocus(VARIANT v);
15401
15402     [propget, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
15403     VARIANT onbeforeeditfocus();
15404
15405     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYNAME)]
15406     IHTMLElementCollection *getElementsByName([in] BSTR v);
15407
15408     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTBYID)]
15409     IHTMLElement *getElementById([in] BSTR v);
15410
15411     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYTAGNAME)]
15412     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
15413
15414     [id(DISPID_IHTMLDOCUMENT4_FOCUS)]
15415     void focus();
15416
15417     [id(DISPID_IHTMLDOCUMENT4_HASFOCUS)]
15418     VARIANT_BOOL hasFocus();
15419
15420     [propput, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
15421     void onselectionchange(VARIANT v);
15422
15423     [propget, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
15424     VARIANT onselectionchange();
15425
15426     [propget, id(DISPID_IHTMLDOCUMENT4_NAMESPACES)]
15427     IDispatch *namespaces();
15428
15429     [id(DISPID_IHTMLDOCUMENT4_CREATEDOCUMENTFROMURL)]
15430     IHTMLDocument2 *createDocumentFromUrl(
15431         [in] BSTR bstrUrl,
15432         [in] BSTR bstrOptions);
15433
15434     [propput, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
15435     void media(BSTR v);
15436
15437     [propget, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
15438     BSTR media();
15439
15440     [id(DISPID_IHTMLDOCUMENT4_CREATEEVENTOBJECT)]
15441     IHTMLEventObj *createEventObject([optional, in] VARIANT *pvarEventObject);
15442
15443     [id(DISPID_IHTMLDOCUMENT4_FIREEVENT)]
15444     VARIANT_BOOL fireEvent(
15445         [in] BSTR bstrEventName,
15446         [optional, in] VARIANT *pvarEventObject);
15447
15448     [id(DISPID_IHTMLDOCUMENT4_CREATERENDERSTYLE)]
15449     IHTMLRenderStyle *createRenderStyle([in] BSTR v);
15450
15451     [propput, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
15452     void oncontrolselect(VARIANT v);
15453
15454     [propget, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
15455     VARIANT oncontrolselect();
15456
15457     [propget, id(DISPID_IHTMLDOCUMENT4_URLUNENCODED)]
15458     BSTR URLUnencoded();
15459
15460     [propput, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
15461     void onmousewheel(VARIANT v);
15462
15463     [propget, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
15464     VARIANT onmousewheel();
15465
15466     [propget, id(DISPID_IHTMLDOCUMENT5_DOCTYPE)]
15467     IHTMLDOMNode *doctype();
15468
15469     [propget, id(DISPID_IHTMLDOCUMENT5_IMPLEMENTATION)]
15470     IHTMLDOMImplementation *implementation();
15471
15472     [id(DISPID_IHTMLDOCUMENT5_CREATEATTRIBUTE)]
15473     IHTMLDOMAttribute *createAttribute([in] BSTR bstrattrName);
15474
15475     [id(DISPID_IHTMLDOCUMENT5_CREATECOMMENT)]
15476     IHTMLDOMNode *createComment([in] BSTR bstrdata);
15477
15478     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
15479     void onfocusin(VARIANT v);
15480
15481     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
15482     VARIANT onfocusin();
15483
15484     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
15485     void onfocusout(VARIANT v);
15486
15487     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
15488     VARIANT onfocusout();
15489
15490     [propput, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
15491     void onactivate(VARIANT v);
15492
15493     [propget, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
15494     VARIANT onactivate();
15495
15496     [propput, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
15497     void ondeactivate(VARIANT v);
15498
15499     [propget, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
15500     VARIANT ondeactivate();
15501
15502     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
15503     void onbeforeactivate(VARIANT v);
15504
15505     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
15506     VARIANT onbeforeactivate();
15507
15508     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
15509     void onbeforedeactivate(VARIANT v);
15510
15511     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
15512     VARIANT onbeforedeactivate();
15513
15514     [propget, id(DISPID_IHTMLDOCUMENT5_COMPATMODE)]
15515     BSTR compatMode();
15516
15517     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
15518     long nodeType();
15519
15520     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
15521     IHTMLDOMNode *parentNode();
15522
15523     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
15524     VARIANT_BOOL hasChildNodes();
15525
15526     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
15527     IDispatch *childNodes();
15528
15529     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
15530     IDispatch *attributes();
15531
15532     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
15533     IHTMLDOMNode *insertBefore(
15534         [in] IHTMLDOMNode *newChild,
15535         [optional, in] VARIANT refChild);
15536
15537     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
15538     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
15539
15540     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
15541     IHTMLDOMNode *replaceChild(
15542         [in] IHTMLDOMNode *newChild,
15543         [in] IHTMLDOMNode *oldChild);
15544
15545     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
15546     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
15547
15548     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
15549     IHTMLDOMNode *removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep);
15550
15551     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
15552     IHTMLDOMNode *swapNode([in] IHTMLDOMNode* otherNode);
15553
15554     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
15555     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
15556
15557     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
15558     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
15559
15560     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
15561     BSTR nodeName();
15562
15563     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
15564     void nodeValue(VARIANT v);
15565
15566     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
15567     VARIANT nodeValue();
15568
15569     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
15570     IHTMLDOMNode *firstChild();
15571
15572     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
15573     IHTMLDOMNode *lastChild();
15574
15575     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
15576     IHTMLDOMNode *previousSibling();
15577
15578     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
15579     IHTMLDOMNode *nextSibling();
15580
15581     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
15582     IDispatch *ownerDocument();
15583 }
15584
15585 /*****************************************************************************
15586  *    HTMLDocument coclass
15587  */
15588 [
15589     uuid(25336920-03F9-11cf-8FD0-00AA00686F13)
15590 ]
15591 coclass HTMLDocument
15592 {
15593     [default]         dispinterface DispHTMLDocument;
15594     [source, default] dispinterface HTMLDocumentEvents;
15595     [source]          dispinterface HTMLDocumentEvents2;
15596                       interface IHTMLDocument2;
15597                       interface IHTMLDocument3;
15598                       interface IHTMLDocument4;
15599                       interface IHTMLDocument5;
15600                       interface IHTMLDOMNode;
15601                       interface IHTMLDOMNode2;
15602 }
15603
15604 /*****************************************************************************
15605  *    IHTMLCommentElement interface
15606  */
15607 [
15608     odl,
15609     oleautomation,
15610     dual,
15611     uuid(3050f20c-98b5-11cf-bb82-00aa00bdce0b)
15612 ]
15613 interface IHTMLCommentElement : IDispatch
15614 {
15615     [propput, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
15616     HRESULT text([in] BSTR v);
15617
15618     [propget, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
15619     HRESULT text([out, retval] BSTR *p);
15620
15621     [propput, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
15622     HRESULT atomic([in] long v);
15623
15624     [propget, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
15625     HRESULT atomic([out, retval] long *p);
15626 }
15627
15628 /*****************************************************************************
15629  *    IHTMLCommentElement2 interface
15630  */
15631 [
15632     odl,
15633     oleautomation,
15634     dual,
15635     uuid(3050f813-98b5-11cf-bb82-00aa00bdce0b)
15636 ]
15637 interface IHTMLCommentElement2 : IDispatch
15638 {
15639     [propput, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
15640     HRESULT data([in] BSTR v);
15641
15642     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
15643     HRESULT data([out, retval] BSTR *p);
15644
15645     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_LENGTH)]
15646     HRESULT length([out, retval] long *p);
15647
15648     [id(DISPID_IHTMLCOMMENTELEMENT2_SUBSTRINGDATA)]
15649     HRESULT substringData(
15650             [in] long offset,
15651             [in] long Count,
15652             [out, retval] BSTR *pbstrsubString);
15653
15654     [id(DISPID_IHTMLCOMMENTELEMENT2_APPENDDATA)]
15655     HRESULT appendData([in] BSTR bstrstring);
15656
15657     [id(DISPID_IHTMLCOMMENTELEMENT2_INSERTDATA)]
15658     HRESULT insertData(
15659             [in] long offset,
15660             [in] BSTR bstrstring);
15661
15662     [id(DISPID_IHTMLCOMMENTELEMENT2_DELETEDATA)]
15663     HRESULT deleteData(
15664             [in] long offset,
15665             [in] long Count);
15666
15667     [id(DISPID_IHTMLCOMMENTELEMENT2_REPLACEDATA)]
15668     HRESULT replaceData(
15669             [in] long offset,
15670             [in] long Count,
15671             [in] BSTR bstrstring);
15672 }
15673
15674 /*****************************************************************************
15675  *    DispHTMLCommentElement dispinterface
15676  */
15677 [
15678     hidden,
15679     uuid(3050f50a-98b5-11cf-bb82-00aa00bdce0b)
15680 ]
15681 dispinterface DispHTMLCommentElement
15682 {
15683 properties:
15684 methods:
15685     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
15686     void setAttribute(
15687             [in] BSTR strAttributeName,
15688             [in] VARIANT AttributeValue,
15689             [in, defaultvalue(1)] LONG lFlags);
15690
15691     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
15692     VARIANT getAttribute(
15693              [in] BSTR strAttributeName,
15694              [in, defaultvalue(0)] LONG lFlags);
15695
15696     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
15697     VARIANT_BOOL removeAttribute(
15698             [in] BSTR strAttributeName,
15699             [in, defaultvalue(1)] LONG lFlags);
15700
15701     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
15702     void className(BSTR v);
15703
15704     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
15705     BSTR className();
15706
15707     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
15708     void id(BSTR v);
15709
15710     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
15711     BSTR id();
15712
15713     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
15714     BSTR tagName();
15715
15716     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
15717     IHTMLElement *parentElement();
15718
15719     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
15720     IHTMLStyle *style();
15721
15722     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
15723     void onhelp(VARIANT v);
15724
15725     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
15726     VARIANT onhelp();
15727
15728     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
15729     void onclick(VARIANT v);
15730
15731     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
15732     VARIANT onclick();
15733
15734     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
15735     void ondblclick(VARIANT v);
15736
15737     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
15738     VARIANT ondblclick();
15739
15740     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
15741     void onkeydown(VARIANT v);
15742
15743     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
15744     VARIANT onkeydown();
15745
15746     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
15747     void onkeyup(VARIANT v);
15748
15749     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
15750     VARIANT onkeyup();
15751
15752     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
15753     void onkeypress(VARIANT v);
15754
15755     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
15756     VARIANT onkeypress();
15757
15758     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
15759     void onmouseout(VARIANT v);
15760
15761     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
15762     VARIANT onmouseout();
15763
15764     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
15765     void onmouseover(VARIANT v);
15766
15767     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
15768     VARIANT onmouseover();
15769
15770     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
15771     void onmousemove(VARIANT v);
15772
15773     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
15774     VARIANT onmousemove();
15775
15776     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
15777     void onmousedown(VARIANT v);
15778
15779     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
15780     VARIANT onmousedown();
15781
15782     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
15783     void onmouseup(VARIANT v);
15784
15785     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
15786     VARIANT onmouseup();
15787
15788     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
15789     IDispatch *document();
15790
15791     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
15792     void title(BSTR v);
15793
15794     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
15795     BSTR title();
15796
15797     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
15798     void language(BSTR v);
15799
15800     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
15801     BSTR language();
15802
15803     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
15804     void onselectstart(VARIANT v);
15805
15806     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
15807     VARIANT onselectstart();
15808
15809     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
15810     void scrollIntoView([in, optional] VARIANT varargStart);
15811
15812     [id(DISPID_IHTMLELEMENT_CONTAINS)]
15813     VARIANT_BOOL contains([in] IHTMLElement *pChild);
15814
15815     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
15816     long sourceIndex();
15817
15818     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
15819     VARIANT recordNumber();
15820
15821     [propput, id(DISPID_IHTMLELEMENT_LANG)]
15822     void lang(BSTR v);
15823
15824     [propget, id(DISPID_IHTMLELEMENT_LANG)]
15825     BSTR lang();
15826
15827     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
15828     long offsetLeft();
15829
15830     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
15831     long offsetTop();
15832
15833     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
15834     long offsetWidth();
15835
15836     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
15837     long offsetHeight();
15838
15839     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
15840     IHTMLElement *offsetParent();
15841
15842     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
15843     void innerHTML(BSTR v);
15844
15845     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
15846     BSTR innerHTML();
15847
15848     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
15849     void innerText(BSTR v);
15850
15851     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
15852     BSTR innerText();
15853
15854     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
15855     void outerHTML(BSTR v);
15856
15857     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
15858     BSTR outerHTML();
15859
15860     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
15861     void outerText(BSTR v);
15862
15863     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
15864     BSTR outerText();
15865
15866     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
15867     void insertAdjacentHTML(
15868             [in] BSTR where,
15869             [in] BSTR html);
15870
15871     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
15872     void insertAdjacentText(
15873             [in] BSTR where,
15874             [in] BSTR text);
15875
15876     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
15877     IHTMLElement *parentTextEdit();
15878
15879     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
15880     VARIANT_BOOL isTextEdit();
15881
15882     [id(DISPID_IHTMLELEMENT_CLICK)]
15883     void click();
15884
15885     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
15886     IHTMLFiltersCollection *filters();
15887
15888     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
15889     void ondragstart(VARIANT v);
15890
15891     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
15892     VARIANT ondragstart();
15893
15894     [id(DISPID_IHTMLELEMENT_TOSTRING)]
15895     BSTR toString();
15896
15897     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
15898     void onbeforeupdate(VARIANT v);
15899
15900     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
15901     VARIANT onbeforeupdate();
15902
15903     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
15904     void onafterupdate(VARIANT v);
15905
15906     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
15907     VARIANT onafterupdate();
15908
15909     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
15910     void onerrorupdate(VARIANT v);
15911
15912     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
15913     VARIANT onerrorupdate();
15914
15915     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
15916     void onrowexit(VARIANT v);
15917
15918     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
15919     VARIANT onrowexit();
15920
15921     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
15922     void onrowenter(VARIANT v);
15923
15924     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
15925     VARIANT onrowenter();
15926
15927     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
15928     void ondatasetchanged(VARIANT v);
15929
15930     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
15931     VARIANT ondatasetchanged();
15932
15933     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
15934     void ondataavailable(VARIANT v);
15935
15936     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
15937     VARIANT ondataavailable();
15938
15939     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
15940     void ondatasetcomplete(VARIANT v);
15941
15942     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
15943     VARIANT ondatasetcomplete();
15944
15945     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
15946     void onfilterchange(VARIANT v);
15947
15948     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
15949     VARIANT onfilterchange();
15950
15951     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
15952     IDispatch *children();
15953
15954     [propget, id(DISPID_IHTMLELEMENT_ALL)]
15955     IDispatch *all();
15956
15957     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
15958     BSTR scopeName();
15959
15960     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
15961     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
15962
15963     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
15964     void releaseCapture();
15965
15966     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
15967     void onlosecapture(VARIANT v);
15968
15969     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
15970     VARIANT onlosecapture();
15971
15972     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
15973     BSTR componentFromPoint(
15974             [in] long x,
15975             [in] long y);
15976
15977     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
15978     void doScroll([in, optional] VARIANT component);
15979
15980     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
15981     void onscroll(VARIANT v);
15982
15983     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
15984     VARIANT onscroll();
15985
15986     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
15987     void ondrag(VARIANT v);
15988
15989     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
15990     VARIANT ondrag();
15991
15992     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
15993     void ondragend(VARIANT v);
15994
15995     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
15996     VARIANT ondragend();
15997
15998     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
15999     void ondragenter(VARIANT v);
16000
16001     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
16002     VARIANT ondragenter();
16003
16004     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
16005     void ondragover(VARIANT v);
16006
16007     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
16008     VARIANT ondragover();
16009
16010     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
16011     void ondragleave(VARIANT v);
16012
16013     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
16014     VARIANT ondragleave();
16015
16016     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
16017     void ondrop(VARIANT v);
16018
16019     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
16020     VARIANT ondrop();
16021
16022     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
16023     void onbeforecut(VARIANT v);
16024
16025     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
16026     VARIANT onbeforecut();
16027
16028     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
16029     void oncut(VARIANT v);
16030
16031     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
16032     VARIANT oncut();
16033
16034     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
16035     void onbeforecopy(VARIANT v);
16036
16037     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
16038     VARIANT onbeforecopy();
16039
16040     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
16041     void oncopy(VARIANT v);
16042
16043     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
16044     VARIANT oncopy();
16045
16046     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
16047     void onbeforepaste(VARIANT v);
16048
16049     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
16050     VARIANT onbeforepaste();
16051
16052     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
16053     void onpaste(VARIANT v);
16054
16055     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
16056     VARIANT onpaste();
16057
16058     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
16059     IHTMLCurrentStyle *currentStyle();
16060
16061     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
16062     void onpropertychange(VARIANT v);
16063
16064     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
16065     VARIANT onpropertychange();
16066
16067     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
16068     IHTMLRectCollection *getClientRects();
16069
16070     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
16071     IHTMLRect *getBoundingClientRect();
16072
16073     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
16074     void setExpression(
16075             [in] BSTR propname,
16076             [in] BSTR expression,
16077             [in, defaultvalue("")] BSTR language);
16078
16079     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
16080     VARIANT getExpression([in] BSTR propname);
16081
16082     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
16083     VARIANT_BOOL removeExpression([in] BSTR propname);
16084
16085     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
16086     void tabIndex(short v);
16087
16088     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
16089     short tabIndex();
16090
16091     [id(DISPID_IHTMLELEMENT2_FOCUS)]
16092     void focus();
16093
16094     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
16095     void accessKey(BSTR v);
16096
16097     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
16098     BSTR accessKey();
16099
16100     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
16101     void onblur(VARIANT v);
16102
16103     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
16104     VARIANT onblur();
16105
16106     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
16107     void onfocus(VARIANT v);
16108
16109     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
16110     VARIANT onfocus();
16111
16112     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
16113     void onresize(VARIANT v);
16114
16115     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
16116     VARIANT onresize();
16117
16118     [id(DISPID_IHTMLELEMENT2_BLUR)]
16119     void blur();
16120
16121     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
16122     void addFilter([in] IUnknown *pUnk);
16123
16124     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
16125     void removeFilter([in] IUnknown *pUnk);
16126
16127     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
16128     long clientHeight();
16129
16130     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
16131     long clientWidth();
16132
16133     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
16134     long clientTop();
16135
16136     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
16137     long clientLeft();
16138
16139     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
16140     VARIANT_BOOL attachEvent(
16141             [in] BSTR event,
16142             [in] IDispatch *pDisp);
16143
16144     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
16145     void detachEvent(
16146             [in] BSTR event,
16147             [in] IDispatch *pDisp);
16148
16149     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
16150     VARIANT readyState();
16151
16152     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
16153     void onreadystatechange(VARIANT v);
16154
16155     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
16156     VARIANT onreadystatechange();
16157
16158     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
16159     void onrowsdelete(VARIANT v);
16160
16161     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
16162     VARIANT onrowsdelete();
16163
16164     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
16165     void onrowsinserted(VARIANT v);
16166
16167     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
16168      VARIANT onrowsinserted();
16169
16170     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
16171      void oncellchange(VARIANT v);
16172
16173     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
16174     VARIANT oncellchange();
16175
16176     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
16177     void dir(BSTR v);
16178
16179     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
16180     BSTR dir();
16181
16182     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
16183     IDispatch *createControlRange();
16184
16185     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
16186     long scrollHeight();
16187
16188     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
16189     long scrollWidth();
16190
16191     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
16192     void scrollTop(long v);
16193
16194     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
16195     long scrollTop();
16196
16197     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
16198     void scrollLeft(long v);
16199
16200     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
16201     long scrollLeft();
16202
16203     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
16204     void clearAttributes();
16205
16206     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
16207     void oncontextmenu(VARIANT v);
16208
16209     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
16210     VARIANT oncontextmenu();
16211
16212     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
16213     IHTMLElement *insertAdjacentElement(
16214             [in] BSTR where,
16215             [in] IHTMLElement *insertedElement);
16216
16217     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
16218     IHTMLElement *applyElement(
16219             [in] IHTMLElement *apply,
16220             [in] BSTR where);
16221
16222     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
16223     BSTR getAdjacentText([in] BSTR where);
16224
16225     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
16226     BSTR replaceAdjacentText(
16227             [in] BSTR where,
16228             [in] BSTR newText);
16229
16230     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
16231     VARIANT_BOOL canHaveChildren();
16232
16233     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
16234     long addBehavior(
16235             [in] BSTR bstrUrl,
16236             [in, optional] VARIANT *pvarFactory);
16237
16238     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
16239     VARIANT_BOOL removeBehavior([in] long cookie);
16240
16241     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
16242     IHTMLStyle *runtimeStyle();
16243
16244     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
16245     IDispatch *behaviorUrns();
16246
16247     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
16248     void tagUrn(BSTR v);
16249
16250     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
16251     BSTR tagUrn();
16252
16253     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
16254     void onbeforeeditfocus(VARIANT v);
16255
16256     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
16257     VARIANT onbeforeeditfocus();
16258
16259     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
16260     long readyStateValue();
16261
16262     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
16263     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
16264
16265     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
16266     void mergeAttributes(
16267             [in] IHTMLElement *mergeThis,
16268             [in, optional] VARIANT *pvarFlags);
16269
16270     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
16271     VARIANT_BOOL isMultiLine();
16272
16273     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
16274     VARIANT_BOOL canHaveHTML();
16275
16276     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
16277     void onlayoutcomplete(VARIANT v);
16278
16279     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
16280     VARIANT onlayoutcomplete();
16281
16282     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
16283     void onpage(VARIANT v);
16284
16285     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
16286     VARIANT onpage();
16287
16288     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
16289     void inflateBlock(VARIANT_BOOL v);
16290
16291     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
16292     VARIANT_BOOL inflateBlock();
16293
16294     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
16295     void onbeforedeactivate(VARIANT v);
16296
16297     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
16298     VARIANT onbeforedeactivate();
16299
16300     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
16301     void setActive();
16302
16303     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
16304     void contentEditable(BSTR v);
16305
16306     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
16307     BSTR contentEditable();
16308
16309     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
16310     VARIANT_BOOL isContentEditable();
16311
16312     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
16313     void hideFocus(VARIANT_BOOL v);
16314
16315     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
16316     VARIANT_BOOL hideFocus();
16317
16318     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
16319     void disabled(VARIANT_BOOL v);
16320
16321     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
16322     VARIANT_BOOL disabled();
16323
16324     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
16325     VARIANT_BOOL isDisabled();
16326
16327     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
16328     void onmove(VARIANT v);
16329
16330     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
16331     VARIANT onmove();
16332
16333     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
16334     void oncontrolselect(VARIANT v);
16335
16336     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
16337     VARIANT oncontrolselect();
16338
16339     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
16340     VARIANT_BOOL fireEvent(
16341             [in] BSTR bstrEventName,
16342             [in, optional] VARIANT *pvarEventObject);
16343
16344     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
16345     void onresizestart(VARIANT v);
16346
16347     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
16348     VARIANT onresizestart();
16349
16350     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
16351     void onresizeend(VARIANT v);
16352
16353     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
16354     VARIANT onresizeend();
16355
16356     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
16357     void onmovestart(VARIANT v);
16358
16359     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
16360     VARIANT onmovestart();
16361
16362     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
16363     void onmoveend(VARIANT v);
16364
16365     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
16366     VARIANT onmoveend();
16367
16368     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
16369     void onmouseenter(VARIANT v);
16370
16371     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
16372     VARIANT onmouseenter();
16373
16374     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
16375     void onmouseleave(VARIANT v);
16376
16377     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
16378     VARIANT onmouseleave();
16379
16380     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
16381     void onactivate(VARIANT v);
16382
16383     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
16384     VARIANT onactivate();
16385
16386     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
16387     void ondeactivate(VARIANT v);
16388
16389     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
16390     VARIANT ondeactivate();
16391
16392     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
16393     VARIANT_BOOL dragDrop();
16394
16395     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
16396     LONG glyphMode();
16397
16398     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
16399     void onmousewheel(VARIANT v);
16400
16401     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
16402     VARIANT onmousewheel();
16403
16404     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
16405     void normalize();
16406
16407     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
16408     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
16409
16410     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
16411     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
16412
16413     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
16414     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
16415
16416     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
16417     void onbeforeactivate(VARIANT v);
16418
16419     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
16420     VARIANT onbeforeactivate();
16421
16422     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
16423     void onfocusin(VARIANT v);
16424
16425     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
16426     VARIANT onfocusin();
16427
16428     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
16429     void onfocusout(VARIANT v);
16430
16431     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
16432     VARIANT onfocusout();
16433
16434     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
16435     long uniqueNumber();
16436
16437     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
16438     BSTR uniqueID();
16439
16440     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
16441     long nodeType();
16442
16443     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
16444     IHTMLDOMNode *parentNode();
16445
16446     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
16447     VARIANT_BOOL hasChildNodes();
16448
16449     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
16450     IDispatch *childNodes();
16451
16452     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
16453     IDispatch *attributes();
16454
16455     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
16456     IHTMLDOMNode *insertBefore(
16457             [in] IHTMLDOMNode *newChild,
16458             [in, optional] VARIANT refChild);
16459
16460     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
16461     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
16462
16463     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
16464     IHTMLDOMNode *replaceChild(
16465             [in] IHTMLDOMNode *newChild,
16466             [in] IHTMLDOMNode *oldChild);
16467
16468     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
16469     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
16470
16471     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
16472     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
16473
16474     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
16475     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
16476
16477     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
16478     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
16479
16480     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
16481     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
16482
16483     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
16484     BSTR nodeName();
16485
16486     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
16487     void nodeValue(VARIANT v);
16488
16489     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
16490     VARIANT nodeValue();
16491
16492     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
16493     IHTMLDOMNode *firstChild();
16494
16495     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
16496     IHTMLDOMNode *lastChild();
16497
16498     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
16499     IHTMLDOMNode *previousSibling();
16500
16501     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
16502     IHTMLDOMNode *nextSibling();
16503
16504     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
16505     IDispatch *ownerDocument();
16506
16507     [propput, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
16508     void text(BSTR v);
16509
16510     [propget, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
16511     BSTR text();
16512
16513     [propput, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
16514     void atomic(long v);
16515
16516     [propget, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
16517     long atomic();
16518
16519     [propput, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
16520     void data(BSTR v);
16521
16522     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
16523     BSTR data();
16524
16525     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_LENGTH)]
16526     long length();
16527
16528     [id(DISPID_IHTMLCOMMENTELEMENT2_SUBSTRINGDATA)]
16529     BSTR substringData(
16530             [in] long offset,
16531             [in] long Count);
16532
16533     [id(DISPID_IHTMLCOMMENTELEMENT2_APPENDDATA)]
16534     void appendData([in] BSTR bstrstring);
16535
16536     [id(DISPID_IHTMLCOMMENTELEMENT2_INSERTDATA)]
16537      void insertData(
16538             [in] long offset,
16539             [in] BSTR bstrstring);
16540
16541     [id(DISPID_IHTMLCOMMENTELEMENT2_DELETEDATA)]
16542     void deleteData(
16543             [in] long offset,
16544             [in] long Count);
16545
16546     [id(DISPID_IHTMLCOMMENTELEMENT2_REPLACEDATA)]
16547     void replaceData(
16548             [in] long offset,
16549             [in] long Count,
16550             [in] BSTR bstrstring);
16551 }
16552
16553 /*****************************************************************************
16554  *    HTMLTableEvents dispinterface
16555  */
16556 [
16557     hidden,
16558     uuid(3050f407-98b5-11cf-bb82-00aa00bdce0b)
16559 ]
16560 dispinterface HTMLTableEvents
16561 {
16562 properties:
16563 methods:
16564     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
16565     VARIANT_BOOL onhelp();
16566
16567     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
16568     VARIANT_BOOL onclick();
16569
16570     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
16571     VARIANT_BOOL ondblclick();
16572
16573     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
16574     VARIANT_BOOL onkeypress();
16575
16576     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
16577     void onkeydown();
16578
16579     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
16580     void onkeyup();
16581
16582     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
16583     void onmouseout();
16584
16585     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
16586     void onmouseover();
16587
16588     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
16589     void onmousemove();
16590
16591     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
16592     void onmousedown();
16593
16594     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
16595     void onmouseup();
16596
16597     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
16598     VARIANT_BOOL onselectstart();
16599
16600     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
16601     void onfilterchange();
16602
16603     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
16604     VARIANT_BOOL ondragstart();
16605
16606     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
16607     VARIANT_BOOL onbeforeupdate();
16608
16609     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
16610     void onafterupdate();
16611
16612     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
16613     VARIANT_BOOL onerrorupdate();
16614
16615     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
16616     VARIANT_BOOL onrowexit();
16617
16618     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
16619     void onrowenter();
16620
16621     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
16622     void ondatasetchanged();
16623
16624     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
16625     void ondataavailable();
16626
16627     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
16628     void ondatasetcomplete();
16629
16630     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
16631     void onlosecapture();
16632
16633     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
16634     void onpropertychange();
16635
16636     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
16637     void onscroll();
16638
16639     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
16640     void onfocus();
16641
16642     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
16643     void onblur();
16644
16645     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
16646     void onresize();
16647
16648     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
16649     VARIANT_BOOL ondrag();
16650
16651     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
16652     void ondragend();
16653
16654     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
16655     VARIANT_BOOL ondragenter();
16656
16657     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
16658     VARIANT_BOOL ondragover();
16659
16660     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
16661     void ondragleave();
16662
16663     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
16664     VARIANT_BOOL ondrop();
16665
16666     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
16667     VARIANT_BOOL onbeforecut();
16668
16669     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
16670     VARIANT_BOOL oncut();
16671
16672     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
16673     VARIANT_BOOL onbeforecopy();
16674
16675     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
16676     VARIANT_BOOL oncopy();
16677
16678     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
16679     VARIANT_BOOL onbeforepaste();
16680
16681     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
16682     VARIANT_BOOL onpaste();
16683
16684     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
16685     VARIANT_BOOL oncontextmenu();
16686
16687     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
16688     void onrowsdelete();
16689
16690     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
16691     void onrowsinserted();
16692
16693     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
16694     void oncellchange();
16695
16696     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
16697     void onreadystatechange();
16698
16699     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
16700     void onbeforeeditfocus();
16701
16702     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
16703     void onlayoutcomplete();
16704
16705     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
16706     void onpage();
16707
16708     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
16709     VARIANT_BOOL onbeforedeactivate();
16710
16711     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
16712     VARIANT_BOOL onbeforeactivate();
16713
16714     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
16715     void onmove();
16716
16717     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
16718     VARIANT_BOOL oncontrolselect();
16719
16720     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
16721     VARIANT_BOOL onmovestart();
16722
16723     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
16724     void onmoveend();
16725
16726     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
16727     VARIANT_BOOL onresizestart();
16728
16729     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
16730     void onresizeend();
16731
16732     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
16733     void onmouseenter();
16734
16735     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
16736     void onmouseleave();
16737
16738     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
16739     VARIANT_BOOL onmousewheel();
16740
16741     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
16742     void onactivate();
16743
16744     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
16745     void ondeactivate();
16746
16747     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
16748     void onfocusin();
16749
16750     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
16751     void onfocusout();
16752 }
16753
16754 /*****************************************************************************
16755  *    IHTMLTableCaption interface
16756  */
16757 [
16758     odl,
16759     oleautomation,
16760     dual,
16761     uuid(3050f2eb-98b5-11cf-bb82-00aa00bdce0b)
16762 ]
16763 interface IHTMLTableCaption : IDispatch
16764 {
16765     [propput, id(DISPID_IHTMLTABLECAPTION_ALIGN)]
16766     HRESULT align([in] BSTR v);
16767
16768     [propget, id(DISPID_IHTMLTABLECAPTION_ALIGN)]
16769     HRESULT align([retval, out] BSTR *p);
16770
16771     [propput, id(DISPID_IHTMLTABLECAPTION_VALIGN)]
16772     HRESULT vAlign([in] BSTR v);
16773
16774     [propget, id(DISPID_IHTMLTABLECAPTION_VALIGN)]
16775     HRESULT vAlign([retval, out] BSTR *p);
16776 }
16777
16778 interface IHTMLTableSection;
16779
16780 /*****************************************************************************
16781  *    IHTMLTable interface
16782  */
16783 [
16784     odl,
16785     oleautomation,
16786     dual,
16787     uuid(3050f21e-98b5-11cf-bb82-00aa00bdce0b)
16788 ]
16789 interface IHTMLTable : IDispatch
16790 {
16791     [propput, id(DISPID_IHTMLTABLE_COLS)]
16792     HRESULT cols([in] long v);
16793
16794     [propget, id(DISPID_IHTMLTABLE_COLS)]
16795     HRESULT cols([retval, out] long *p);
16796
16797     [propput, id(DISPID_IHTMLTABLE_BORDER)]
16798     HRESULT border([in] VARIANT v);
16799
16800     [propget, id(DISPID_IHTMLTABLE_BORDER)]
16801     HRESULT border([retval, out] VARIANT *p);
16802
16803     [propput, id(DISPID_IHTMLTABLE_FRAME)]
16804     HRESULT frame([in] BSTR v);
16805
16806     [propget, id(DISPID_IHTMLTABLE_FRAME)]
16807     HRESULT frame([retval, out] BSTR *p);
16808
16809     [propput, id(DISPID_IHTMLTABLE_RULES)]
16810     HRESULT rules([in] BSTR v);
16811
16812     [propget, id(DISPID_IHTMLTABLE_RULES)]
16813     HRESULT rules([retval, out] BSTR *p);
16814
16815     [propput, id(DISPID_IHTMLTABLE_CELLSPACING)]
16816     HRESULT cellSpacing([in] VARIANT v);
16817
16818     [propget, id(DISPID_IHTMLTABLE_CELLSPACING)]
16819     HRESULT cellSpacing([retval, out] VARIANT *p);
16820
16821     [propput, id(DISPID_IHTMLTABLE_CELLPADDING)]
16822     HRESULT cellPadding([in] VARIANT v);
16823
16824     [propget, id(DISPID_IHTMLTABLE_CELLPADDING)]
16825     HRESULT cellPadding([retval, out] VARIANT *p);
16826
16827     [propput, id(DISPID_IHTMLTABLE_BACKGROUND)]
16828     HRESULT background([in] BSTR v);
16829
16830     [propget, id(DISPID_IHTMLTABLE_BACKGROUND)]
16831     HRESULT background([retval, out] BSTR *p);
16832
16833     [propput, id(DISPID_IHTMLTABLE_BGCOLOR)]
16834     HRESULT bgColor([in] VARIANT v);
16835
16836     [propget, id(DISPID_IHTMLTABLE_BGCOLOR)]
16837     HRESULT bgColor([retval, out] VARIANT *p);
16838
16839     [propput, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
16840     HRESULT borderColor([in] VARIANT v);
16841
16842     [propget, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
16843     HRESULT borderColor([retval, out] VARIANT *p);
16844
16845     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
16846     HRESULT borderColorLight([in] VARIANT v);
16847
16848     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
16849     HRESULT borderColorLight([retval, out] VARIANT *p);
16850
16851     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
16852     HRESULT borderColorDark([in] VARIANT v);
16853
16854     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
16855     HRESULT borderColorDark([retval, out] VARIANT *p);
16856
16857     [propput, id(DISPID_IHTMLTABLE_ALIGN)]
16858     HRESULT align([in] BSTR v);
16859
16860     [propget, id(DISPID_IHTMLTABLE_ALIGN)]
16861     HRESULT align([retval, out] BSTR * p);
16862
16863     [id(DISPID_IHTMLTABLE_REFRESH)]
16864     HRESULT refresh();
16865
16866     [propget, id(DISPID_IHTMLTABLE_ROWS)]
16867     HRESULT rows([retval, out] IHTMLElementCollection **p);
16868
16869     [propput, id(DISPID_IHTMLTABLE_WIDTH)]
16870     HRESULT width([in] VARIANT v);
16871
16872     [propget, id(DISPID_IHTMLTABLE_WIDTH)]
16873     HRESULT width([retval, out] VARIANT *p);
16874
16875     [propput, id(DISPID_IHTMLTABLE_HEIGHT)]
16876     HRESULT height([in] VARIANT v);
16877
16878     [propget, id(DISPID_IHTMLTABLE_HEIGHT)]
16879     HRESULT height([retval, out] VARIANT *p);
16880
16881     [propput, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
16882     HRESULT dataPageSize([in] long v);
16883
16884     [propget, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
16885     HRESULT dataPageSize([retval, out] long *p);
16886
16887     [id(DISPID_IHTMLTABLE_NEXTPAGE)]
16888     HRESULT nextPage();
16889
16890     [id(DISPID_IHTMLTABLE_PREVIOUSPAGE)]
16891     HRESULT previousPage();
16892
16893     [propget, id(DISPID_IHTMLTABLE_THEAD)]
16894     HRESULT tHead([retval, out] IHTMLTableSection **p);
16895
16896     [propget, id(DISPID_IHTMLTABLE_TFOOT)]
16897     HRESULT tFoot([retval, out] IHTMLTableSection **p);
16898
16899     [propget, id(DISPID_IHTMLTABLE_TBODIES)]
16900     HRESULT tBodies([retval, out] IHTMLElementCollection **p);
16901
16902     [propget, id(DISPID_IHTMLTABLE_CAPTION)]
16903     HRESULT caption([retval, out] IHTMLTableCaption **p);
16904
16905     [id(DISPID_IHTMLTABLE_CREATETHEAD)]
16906     HRESULT createTHead([retval, out] IDispatch **head);
16907
16908     [id(DISPID_IHTMLTABLE_DELETETHEAD)]
16909     HRESULT deleteTHead();
16910
16911     [id(DISPID_IHTMLTABLE_CREATETFOOT)]
16912     HRESULT createTFoot([retval, out] IDispatch **foot);
16913
16914     [id(DISPID_IHTMLTABLE_DELETETFOOT)]
16915     HRESULT deleteTFoot();
16916
16917     [id(DISPID_IHTMLTABLE_CREATECAPTION)]
16918     HRESULT createCaption([retval, out] IHTMLTableCaption **caption);
16919
16920     [id(DISPID_IHTMLTABLE_DELETECAPTION)]
16921     HRESULT deleteCaption();
16922
16923     [id(DISPID_IHTMLTABLE_INSERTROW)]
16924     HRESULT insertRow(
16925             [defaultvalue(-1), in] long index,
16926             [retval, out] IDispatch **row);
16927
16928     [id(DISPID_IHTMLTABLE_DELETEROW)]
16929     HRESULT deleteRow([defaultvalue(-1), in] long index);
16930
16931     [propget, id(DISPID_IHTMLTABLE_READYSTATE)]
16932     HRESULT readyState([retval, out] BSTR *p);
16933
16934     [propput, id(DISPID_IHTMLTABLE_ONREADYSTATECHANGE), displaybind, bindable]
16935     HRESULT onreadystatechange([in] VARIANT v);
16936
16937     [propget, id(DISPID_IHTMLTABLE_ONREADYSTATECHANGE), displaybind, bindable]
16938     HRESULT onreadystatechange([retval, out] VARIANT *p);
16939 }
16940
16941 [
16942     odl,
16943     oleautomation,
16944     dual,
16945     uuid(3050f23b-98b5-11cf-bb82-00aa00bdce0b)
16946 ]
16947 interface IHTMLTableSection : IDispatch
16948 {
16949     [propput, id(DISPID_IHTMLTABLESECTION_ALIGN)]
16950     HRESULT align([in] BSTR v);
16951
16952     [propget, id(DISPID_IHTMLTABLESECTION_ALIGN)]
16953     HRESULT align([retval, out] BSTR *p);
16954
16955     [propput, id(DISPID_IHTMLTABLESECTION_VALIGN)]
16956     HRESULT vAlign([in] BSTR v);
16957
16958     [propget, id(DISPID_IHTMLTABLESECTION_VALIGN)]
16959     HRESULT vAlign([retval, out] BSTR *p);
16960
16961     [propput, id(DISPID_IHTMLTABLESECTION_BGCOLOR)]
16962     HRESULT bgColor([in] VARIANT v);
16963
16964     [propget, id(DISPID_IHTMLTABLESECTION_BGCOLOR)]
16965     HRESULT bgColor([retval, out] VARIANT *p);
16966
16967     [propget, id(DISPID_IHTMLTABLESECTION_ROWS)]
16968     HRESULT rows([retval, out] IHTMLElementCollection **p);
16969
16970     [id(DISPID_IHTMLTABLESECTION_INSERTROW)]
16971     HRESULT insertRow(
16972             [defaultvalue(-1), in] long index,
16973             [retval, out] IDispatch **row);
16974
16975     [id(DISPID_IHTMLTABLESECTION_DELETEROW)]
16976     HRESULT deleteRow([defaultvalue(-1), in] long index);
16977 }
16978
16979 /*****************************************************************************
16980  *    IHTMLTableRow interface
16981  */
16982 [
16983     odl,
16984     oleautomation,
16985     dual,
16986     uuid(3050f23c-98b5-11cf-bb82-00aa00bdce0b)
16987 ]
16988 interface IHTMLTableRow : IDispatch
16989 {
16990     [propput, id(DISPID_IHTMLTABLEROW_ALIGN)]
16991     HRESULT align([in] BSTR v);
16992
16993     [propget, id(DISPID_IHTMLTABLEROW_ALIGN)]
16994     HRESULT align([out, retval] BSTR *p);
16995
16996     [propput, id(DISPID_IHTMLTABLEROW_VALIGN)]
16997     HRESULT vAlign([in] BSTR v);
16998
16999     [propget, id(DISPID_IHTMLTABLEROW_VALIGN)]
17000     HRESULT vAlign([out, retval] BSTR *p);
17001
17002     [propput, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
17003     HRESULT bgColor([in] VARIANT v);
17004
17005     [propget, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
17006     HRESULT bgColor([out, retval] VARIANT *p);
17007
17008     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
17009     HRESULT borderColor([in] VARIANT v);
17010
17011     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
17012     HRESULT borderColor([out, retval] VARIANT *p);
17013
17014     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
17015     HRESULT borderColorLight([in] VARIANT v);
17016
17017     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
17018     HRESULT borderColorLight([out, retval] VARIANT *p);
17019
17020     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
17021     HRESULT borderColorDark([in] VARIANT v);
17022
17023     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
17024     HRESULT borderColorDark([out, retval] VARIANT *p);
17025
17026     [propget, id(DISPID_IHTMLTABLEROW_ROWINDEX)]
17027     HRESULT rowIndex([out, retval] long *p);
17028
17029     [propget, id(DISPID_IHTMLTABLEROW_SECTIONROWINDEX)]
17030     HRESULT sectionRowIndex([out, retval] long *p);
17031
17032     [propget, id(DISPID_IHTMLTABLEROW_CELLS)]
17033     HRESULT cells([out, retval] IHTMLElementCollection **p);
17034
17035     [id(DISPID_IHTMLTABLEROW_INSERTCELL)]
17036     HRESULT insertCell(
17037             [in, defaultvalue(-1)] long index,
17038             [out, retval] IDispatch **row);
17039
17040     [id(DISPID_IHTMLTABLEROW_DELETECELL)]
17041     HRESULT deleteCell([in, defaultvalue(-1)] long index);
17042 }
17043
17044 /*****************************************************************************
17045  *    DispHTMLTable interface
17046  */
17047 [
17048     hidden,
17049     uuid(3050f532-98b5-11cf-bb82-00aa00bdce0b)
17050 ]
17051 dispinterface DispHTMLTable
17052 {
17053 properties:
17054 methods:
17055     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
17056     void setAttribute(
17057             [in] BSTR strAttributeName,
17058             [in] VARIANT AttributeValue,
17059             [in, defaultvalue(1)] LONG lFlags);
17060
17061     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
17062     VARIANT getAttribute(
17063              [in] BSTR strAttributeName,
17064              [in, defaultvalue(0)] LONG lFlags);
17065
17066     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
17067     VARIANT_BOOL removeAttribute(
17068             [in] BSTR strAttributeName,
17069             [in, defaultvalue(1)] LONG lFlags);
17070
17071     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
17072     void className(BSTR v);
17073
17074     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
17075     BSTR className();
17076
17077     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
17078     void id(BSTR v);
17079
17080     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
17081     BSTR id();
17082
17083     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
17084     BSTR tagName();
17085
17086     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
17087     IHTMLElement *parentElement();
17088
17089     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
17090     IHTMLStyle *style();
17091
17092     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
17093     void onhelp(VARIANT v);
17094
17095     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
17096     VARIANT onhelp();
17097
17098     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
17099     void onclick(VARIANT v);
17100
17101     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
17102     VARIANT onclick();
17103
17104     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
17105     void ondblclick(VARIANT v);
17106
17107     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
17108     VARIANT ondblclick();
17109
17110     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
17111     void onkeydown(VARIANT v);
17112
17113     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
17114     VARIANT onkeydown();
17115
17116     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
17117     void onkeyup(VARIANT v);
17118
17119     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
17120     VARIANT onkeyup();
17121
17122     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
17123     void onkeypress(VARIANT v);
17124
17125     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
17126     VARIANT onkeypress();
17127
17128     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
17129     void onmouseout(VARIANT v);
17130
17131     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
17132     VARIANT onmouseout();
17133
17134     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
17135     void onmouseover(VARIANT v);
17136
17137     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
17138     VARIANT onmouseover();
17139
17140     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
17141     void onmousemove(VARIANT v);
17142
17143     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
17144     VARIANT onmousemove();
17145
17146     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
17147     void onmousedown(VARIANT v);
17148
17149     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
17150     VARIANT onmousedown();
17151
17152     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
17153     void onmouseup(VARIANT v);
17154
17155     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
17156     VARIANT onmouseup();
17157
17158     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
17159     IDispatch *document();
17160
17161     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
17162     void title(BSTR v);
17163
17164     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
17165     BSTR title();
17166
17167     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
17168     void language(BSTR v);
17169
17170     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
17171     BSTR language();
17172
17173     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
17174     void onselectstart(VARIANT v);
17175
17176     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
17177     VARIANT onselectstart();
17178
17179     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
17180     void scrollIntoView([in, optional] VARIANT varargStart);
17181
17182     [id(DISPID_IHTMLELEMENT_CONTAINS)]
17183     VARIANT_BOOL contains([in] IHTMLElement *pChild);
17184
17185     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
17186     long sourceIndex();
17187
17188     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
17189     VARIANT recordNumber();
17190
17191     [propput, id(DISPID_IHTMLELEMENT_LANG)]
17192     void lang(BSTR v);
17193
17194     [propget, id(DISPID_IHTMLELEMENT_LANG)]
17195     BSTR lang();
17196
17197     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
17198     long offsetLeft();
17199
17200     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
17201     long offsetTop();
17202
17203     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
17204     long offsetWidth();
17205
17206     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
17207     long offsetHeight();
17208
17209     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
17210     IHTMLElement *offsetParent();
17211
17212     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
17213     void innerHTML(BSTR v);
17214
17215     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
17216     BSTR innerHTML();
17217
17218     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
17219     void innerText(BSTR v);
17220
17221     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
17222     BSTR innerText();
17223
17224     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
17225     void outerHTML(BSTR v);
17226
17227     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
17228     BSTR outerHTML();
17229
17230     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
17231     void outerText(BSTR v);
17232
17233     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
17234     BSTR outerText();
17235
17236     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
17237     void insertAdjacentHTML(
17238             [in] BSTR where,
17239             [in] BSTR html);
17240
17241     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
17242     void insertAdjacentText(
17243             [in] BSTR where,
17244             [in] BSTR text);
17245
17246     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
17247     IHTMLElement *parentTextEdit();
17248
17249     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
17250     VARIANT_BOOL isTextEdit();
17251
17252     [id(DISPID_IHTMLELEMENT_CLICK)]
17253     void click();
17254
17255     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
17256     IHTMLFiltersCollection *filters();
17257
17258     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
17259     void ondragstart(VARIANT v);
17260
17261     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
17262     VARIANT ondragstart();
17263
17264     [id(DISPID_IHTMLELEMENT_TOSTRING)]
17265     BSTR toString();
17266
17267     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
17268     void onbeforeupdate(VARIANT v);
17269
17270     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
17271     VARIANT onbeforeupdate();
17272
17273     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
17274     void onafterupdate(VARIANT v);
17275
17276     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
17277     VARIANT onafterupdate();
17278
17279     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
17280     void onerrorupdate(VARIANT v);
17281
17282     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
17283     VARIANT onerrorupdate();
17284
17285     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
17286     void onrowexit(VARIANT v);
17287
17288     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
17289     VARIANT onrowexit();
17290
17291     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
17292     void onrowenter(VARIANT v);
17293
17294     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
17295     VARIANT onrowenter();
17296
17297     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
17298     void ondatasetchanged(VARIANT v);
17299
17300     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
17301     VARIANT ondatasetchanged();
17302
17303     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
17304     void ondataavailable(VARIANT v);
17305
17306     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
17307     VARIANT ondataavailable();
17308
17309     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
17310     void ondatasetcomplete(VARIANT v);
17311
17312     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
17313     VARIANT ondatasetcomplete();
17314
17315     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
17316     void onfilterchange(VARIANT v);
17317
17318     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
17319     VARIANT onfilterchange();
17320
17321     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
17322     IDispatch *children();
17323
17324     [propget, id(DISPID_IHTMLELEMENT_ALL)]
17325     IDispatch *all();
17326
17327     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
17328     BSTR scopeName();
17329
17330     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
17331     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
17332
17333     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
17334     void releaseCapture();
17335
17336     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
17337     void onlosecapture(VARIANT v);
17338
17339     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
17340     VARIANT onlosecapture();
17341
17342     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
17343     BSTR componentFromPoint(
17344             [in] long x,
17345             [in] long y);
17346
17347     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
17348     void doScroll([in, optional] VARIANT component);
17349
17350     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
17351     void onscroll(VARIANT v);
17352
17353     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
17354     VARIANT onscroll();
17355
17356     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
17357     void ondrag(VARIANT v);
17358
17359     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
17360     VARIANT ondrag();
17361
17362     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
17363     void ondragend(VARIANT v);
17364
17365     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
17366     VARIANT ondragend();
17367
17368     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
17369     void ondragenter(VARIANT v);
17370
17371     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
17372     VARIANT ondragenter();
17373
17374     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
17375     void ondragover(VARIANT v);
17376
17377     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
17378     VARIANT ondragover();
17379
17380     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
17381     void ondragleave(VARIANT v);
17382
17383     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
17384     VARIANT ondragleave();
17385
17386     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
17387     void ondrop(VARIANT v);
17388
17389     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
17390     VARIANT ondrop();
17391
17392     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
17393     void onbeforecut(VARIANT v);
17394
17395     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
17396     VARIANT onbeforecut();
17397
17398     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
17399     void oncut(VARIANT v);
17400
17401     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
17402     VARIANT oncut();
17403
17404     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
17405     void onbeforecopy(VARIANT v);
17406
17407     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
17408     VARIANT onbeforecopy();
17409
17410     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
17411     void oncopy(VARIANT v);
17412
17413     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
17414     VARIANT oncopy();
17415
17416     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
17417     void onbeforepaste(VARIANT v);
17418
17419     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
17420     VARIANT onbeforepaste();
17421
17422     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
17423     void onpaste(VARIANT v);
17424
17425     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
17426     VARIANT onpaste();
17427
17428     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
17429     IHTMLCurrentStyle *currentStyle();
17430
17431     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
17432     void onpropertychange(VARIANT v);
17433
17434     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
17435     VARIANT onpropertychange();
17436
17437     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
17438     IHTMLRectCollection *getClientRects();
17439
17440     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
17441     IHTMLRect *getBoundingClientRect();
17442
17443     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
17444     void setExpression(
17445             [in] BSTR propname,
17446             [in] BSTR expression,
17447             [in, defaultvalue("")] BSTR language);
17448
17449     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
17450     VARIANT getExpression([in] BSTR propname);
17451
17452     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
17453     VARIANT_BOOL removeExpression([in] BSTR propname);
17454
17455     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
17456     void tabIndex(short v);
17457
17458     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
17459     short tabIndex();
17460
17461     [id(DISPID_IHTMLELEMENT2_FOCUS)]
17462     void focus();
17463
17464     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
17465     void accessKey(BSTR v);
17466
17467     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
17468     BSTR accessKey();
17469
17470     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
17471     void onblur(VARIANT v);
17472
17473     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
17474     VARIANT onblur();
17475
17476     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
17477     void onfocus(VARIANT v);
17478
17479     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
17480     VARIANT onfocus();
17481
17482     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
17483     void onresize(VARIANT v);
17484
17485     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
17486     VARIANT onresize();
17487
17488     [id(DISPID_IHTMLELEMENT2_BLUR)]
17489     void blur();
17490
17491     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
17492     void addFilter([in] IUnknown *pUnk);
17493
17494     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
17495     void removeFilter([in] IUnknown *pUnk);
17496
17497     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
17498     long clientHeight();
17499
17500     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
17501     long clientWidth();
17502
17503     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
17504     long clientTop();
17505
17506     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
17507     long clientLeft();
17508
17509     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
17510     VARIANT_BOOL attachEvent(
17511             [in] BSTR event,
17512             [in] IDispatch *pDisp);
17513
17514     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
17515     void detachEvent(
17516             [in] BSTR event,
17517             [in] IDispatch *pDisp);
17518
17519     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
17520     VARIANT readyState();
17521
17522     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
17523     void onreadystatechange(VARIANT v);
17524
17525     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
17526     VARIANT onreadystatechange();
17527
17528     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
17529     void onrowsdelete(VARIANT v);
17530
17531     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
17532     VARIANT onrowsdelete();
17533
17534     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
17535     void onrowsinserted(VARIANT v);
17536
17537     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
17538     VARIANT onrowsinserted();
17539
17540     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
17541      void oncellchange(VARIANT v);
17542
17543     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
17544     VARIANT oncellchange();
17545
17546     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
17547     void dir(BSTR v);
17548
17549     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
17550     BSTR dir();
17551
17552     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
17553     IDispatch *createControlRange();
17554
17555     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
17556     long scrollHeight();
17557
17558     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
17559     long scrollWidth();
17560
17561     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
17562     void scrollTop(long v);
17563
17564     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
17565     long scrollTop();
17566
17567     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
17568     void scrollLeft(long v);
17569
17570     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
17571     long scrollLeft();
17572
17573     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
17574     void clearAttributes();
17575
17576     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
17577     void oncontextmenu(VARIANT v);
17578
17579     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
17580     VARIANT oncontextmenu();
17581
17582     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
17583     IHTMLElement *insertAdjacentElement(
17584             [in] BSTR where,
17585             [in] IHTMLElement *insertedElement);
17586
17587     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
17588     IHTMLElement *applyElement(
17589             [in] IHTMLElement *apply,
17590             [in] BSTR where);
17591
17592     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
17593     BSTR getAdjacentText([in] BSTR where);
17594
17595     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
17596     BSTR replaceAdjacentText(
17597             [in] BSTR where,
17598             [in] BSTR newText);
17599
17600     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
17601     VARIANT_BOOL canHaveChildren();
17602
17603     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
17604     long addBehavior(
17605             [in] BSTR bstrUrl,
17606             [in, optional] VARIANT *pvarFactory);
17607
17608     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
17609     VARIANT_BOOL removeBehavior([in] long cookie);
17610
17611     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
17612     IHTMLStyle *runtimeStyle();
17613
17614     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
17615     IDispatch *behaviorUrns();
17616
17617     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
17618     void tagUrn(BSTR v);
17619
17620     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
17621     BSTR tagUrn();
17622
17623     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
17624     void onbeforeeditfocus(VARIANT v);
17625
17626     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
17627     VARIANT onbeforeeditfocus();
17628
17629     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
17630     long readyStateValue();
17631
17632     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
17633     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
17634
17635     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
17636     void mergeAttributes(
17637             [in] IHTMLElement *mergeThis,
17638             [in, optional] VARIANT *pvarFlags);
17639
17640     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
17641     VARIANT_BOOL isMultiLine();
17642
17643     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
17644     VARIANT_BOOL canHaveHTML();
17645
17646     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
17647     void onlayoutcomplete(VARIANT v);
17648
17649     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
17650     VARIANT onlayoutcomplete();
17651
17652     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
17653     void onpage(VARIANT v);
17654
17655     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
17656     VARIANT onpage();
17657
17658     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
17659     void inflateBlock(VARIANT_BOOL v);
17660
17661     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
17662     VARIANT_BOOL inflateBlock();
17663
17664     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
17665     void onbeforedeactivate(VARIANT v);
17666
17667     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
17668     VARIANT onbeforedeactivate();
17669
17670     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
17671     void setActive();
17672
17673     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
17674     void contentEditable(BSTR v);
17675
17676     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
17677     BSTR contentEditable();
17678
17679     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
17680     VARIANT_BOOL isContentEditable();
17681
17682     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
17683     void hideFocus(VARIANT_BOOL v);
17684
17685     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
17686     VARIANT_BOOL hideFocus();
17687
17688     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
17689     void disabled(VARIANT_BOOL v);
17690
17691     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
17692     VARIANT_BOOL disabled();
17693
17694     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
17695     VARIANT_BOOL isDisabled();
17696
17697     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
17698     void onmove(VARIANT v);
17699
17700     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
17701     VARIANT onmove();
17702
17703     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
17704     void oncontrolselect(VARIANT v);
17705
17706     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
17707     VARIANT oncontrolselect();
17708
17709     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
17710     VARIANT_BOOL fireEvent(
17711             [in] BSTR bstrEventName,
17712             [in, optional] VARIANT *pvarEventObject);
17713
17714     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
17715     void onresizestart(VARIANT v);
17716
17717     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
17718     VARIANT onresizestart();
17719
17720     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
17721     void onresizeend(VARIANT v);
17722
17723     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
17724     VARIANT onresizeend();
17725
17726     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
17727     void onmovestart(VARIANT v);
17728
17729     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
17730     VARIANT onmovestart();
17731
17732     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
17733     void onmoveend(VARIANT v);
17734
17735     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
17736     VARIANT onmoveend();
17737
17738     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
17739     void onmouseenter(VARIANT v);
17740
17741     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
17742     VARIANT onmouseenter();
17743
17744     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
17745     void onmouseleave(VARIANT v);
17746
17747     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
17748     VARIANT onmouseleave();
17749
17750     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
17751     void onactivate(VARIANT v);
17752
17753     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
17754     VARIANT onactivate();
17755
17756     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
17757     void ondeactivate(VARIANT v);
17758
17759     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
17760     VARIANT ondeactivate();
17761
17762     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
17763     VARIANT_BOOL dragDrop();
17764
17765     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
17766     LONG glyphMode();
17767
17768     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
17769     void onmousewheel(VARIANT v);
17770
17771     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
17772     VARIANT onmousewheel();
17773
17774     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
17775     void normalize();
17776
17777     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
17778     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
17779
17780     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
17781     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
17782
17783     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
17784     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
17785
17786     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
17787     void onbeforeactivate(VARIANT v);
17788
17789     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
17790     VARIANT onbeforeactivate();
17791
17792     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
17793     void onfocusin(VARIANT v);
17794
17795     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
17796     VARIANT onfocusin();
17797
17798     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
17799     void onfocusout(VARIANT v);
17800
17801     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
17802     VARIANT onfocusout();
17803
17804     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
17805     long uniqueNumber();
17806
17807     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
17808     BSTR uniqueID();
17809
17810     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
17811     long nodeType();
17812
17813     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
17814     IHTMLDOMNode *parentNode();
17815
17816     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
17817     VARIANT_BOOL hasChildNodes();
17818
17819     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
17820     IDispatch *childNodes();
17821
17822     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
17823     IDispatch *attributes();
17824
17825     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
17826     IHTMLDOMNode *insertBefore(
17827             [in] IHTMLDOMNode *newChild,
17828             [in, optional] VARIANT refChild);
17829
17830     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
17831     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
17832
17833     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
17834     IHTMLDOMNode *replaceChild(
17835             [in] IHTMLDOMNode *newChild,
17836             [in] IHTMLDOMNode *oldChild);
17837
17838     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
17839     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
17840
17841     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
17842     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
17843
17844     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
17845     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
17846
17847     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
17848     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
17849
17850     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
17851     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
17852
17853     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
17854     BSTR nodeName();
17855
17856     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
17857     void nodeValue(VARIANT v);
17858
17859     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
17860     VARIANT nodeValue();
17861
17862     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
17863     IHTMLDOMNode *firstChild();
17864
17865     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
17866     IHTMLDOMNode *lastChild();
17867
17868     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
17869     IHTMLDOMNode *previousSibling();
17870
17871     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
17872     IHTMLDOMNode *nextSibling();
17873
17874     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
17875     IDispatch *ownerDocument();
17876
17877     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
17878     void dataFld(BSTR v);
17879
17880     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
17881     BSTR dataFld();
17882
17883     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
17884     void dataSrc(BSTR v);
17885
17886     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
17887     BSTR dataSrc();
17888
17889     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
17890     void dataFormatAs(BSTR v);
17891
17892     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
17893     BSTR dataFormatAs();
17894
17895     [propput, id(DISPID_IHTMLTABLE_COLS)]
17896     void cols(long v);
17897
17898     [propget, id(DISPID_IHTMLTABLE_COLS)]
17899     long cols();
17900
17901     [propput, id(DISPID_IHTMLTABLE_BORDER)]
17902     void border(VARIANT v);
17903
17904     [propget, id(DISPID_IHTMLTABLE_BORDER)]
17905     VARIANT border();
17906
17907     [propput, id(DISPID_IHTMLTABLE_FRAME)]
17908     void frame(BSTR v);
17909
17910     [propget, id(DISPID_IHTMLTABLE_FRAME)]
17911     BSTR frame();
17912
17913     [propput, id(DISPID_IHTMLTABLE_RULES)]
17914     void rules(BSTR v);
17915
17916     [propget, id(DISPID_IHTMLTABLE_RULES)]
17917     BSTR rules();
17918
17919     [propput, id(DISPID_IHTMLTABLE_CELLSPACING)]
17920     void cellSpacing(VARIANT v);
17921
17922     [propget, id(DISPID_IHTMLTABLE_CELLSPACING)]
17923     VARIANT cellSpacing();
17924
17925     [propput, id(DISPID_IHTMLTABLE_CELLPADDING)]
17926     void cellPadding(VARIANT v);
17927
17928     [propget, id(DISPID_IHTMLTABLE_CELLPADDING)]
17929     VARIANT cellPadding();
17930
17931     [propput, id(DISPID_IHTMLTABLE_BACKGROUND)]
17932     void background(BSTR v);
17933
17934     [propget, id(DISPID_IHTMLTABLE_BACKGROUND)]
17935     BSTR background();
17936
17937     [propput, id(DISPID_IHTMLTABLE_BGCOLOR)]
17938     void bgColor(VARIANT v);
17939
17940     [propget, id(DISPID_IHTMLTABLE_BGCOLOR)]
17941     VARIANT bgColor();
17942
17943     [propput, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
17944     void borderColor(VARIANT v);
17945
17946     [propget, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
17947     VARIANT borderColor();
17948
17949     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
17950     void borderColorLight(VARIANT v);
17951
17952     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
17953     VARIANT borderColorLight();
17954
17955     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
17956     void borderColorDark(VARIANT v);
17957
17958     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
17959     VARIANT borderColorDark();
17960
17961     [propput, id(DISPID_IHTMLTABLE_ALIGN)]
17962     void align(BSTR v);
17963
17964     [propget, id(DISPID_IHTMLTABLE_ALIGN)]
17965     BSTR align();
17966
17967     [id(DISPID_IHTMLTABLE_REFRESH)]
17968     void refresh();
17969
17970     [propget, id(DISPID_IHTMLTABLE_ROWS)]
17971     IHTMLElementCollection *rows();
17972
17973     [propput, id(DISPID_IHTMLTABLE_WIDTH)]
17974     void width(VARIANT v);
17975
17976     [propget, id(DISPID_IHTMLTABLE_WIDTH)]
17977     VARIANT width();
17978
17979     [propput, id(DISPID_IHTMLTABLE_HEIGHT)]
17980     void height(VARIANT v);
17981
17982     [propget, id(DISPID_IHTMLTABLE_HEIGHT)]
17983     VARIANT height();
17984
17985     [propput, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
17986     void dataPageSize(long v);
17987
17988     [propget, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
17989     long dataPageSize();
17990
17991     [id(DISPID_IHTMLTABLE_NEXTPAGE)]
17992     void nextPage();
17993
17994     [id(DISPID_IHTMLTABLE_PREVIOUSPAGE)]
17995     void previousPage();
17996
17997     [propget, id(DISPID_IHTMLTABLE_THEAD)]
17998     IHTMLTableSection *tHead();
17999
18000     [propget, id(DISPID_IHTMLTABLE_TFOOT)]
18001     IHTMLTableSection *tFoot();
18002
18003     [propget, id(DISPID_IHTMLTABLE_TBODIES)]
18004     IHTMLElementCollection *tBodies();
18005
18006     [propget, id(DISPID_IHTMLTABLE_CAPTION)]
18007     IHTMLTableCaption *caption();
18008
18009     [id(DISPID_IHTMLTABLE_CREATETHEAD)]
18010     IDispatch *createTHead();
18011
18012     [id(DISPID_IHTMLTABLE_DELETETHEAD)]
18013     void deleteTHead();
18014
18015     [id(DISPID_IHTMLTABLE_CREATETFOOT)]
18016     IDispatch *createTFoot();
18017
18018     [id(DISPID_IHTMLTABLE_DELETETFOOT)]
18019     void deleteTFoot();
18020
18021     [id(DISPID_IHTMLTABLE_CREATECAPTION)]
18022     IHTMLTableCaption *createCaption();
18023
18024     [id(DISPID_IHTMLTABLE_DELETECAPTION)]
18025     void deleteCaption();
18026
18027     [id(DISPID_IHTMLTABLE_INSERTROW)]
18028     IDispatch *insertRow([in, defaultvalue(-1)] long index);
18029
18030     [id(DISPID_IHTMLTABLE_DELETEROW)]
18031     void deleteRow([in, defaultvalue(-1)] long index);
18032
18033     [id(DISPID_IHTMLTABLE2_FIRSTPAGE)]
18034     void firstPage();
18035
18036     [id(DISPID_IHTMLTABLE2_LASTPAGE)]
18037     void lastPage();
18038
18039     [propget, id(DISPID_IHTMLTABLE2_CELLS)]
18040     IHTMLElementCollection *cells();
18041
18042     [id(DISPID_IHTMLTABLE2_MOVEROW)]
18043     IDispatch *moveRow(
18044             [in, defaultvalue(-1)] long indexFrom,
18045             [in, defaultvalue(-1)] long indexTo);
18046
18047     [propput, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
18048     void summary(BSTR v);
18049
18050     [propget, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
18051     BSTR summary();
18052 }
18053
18054 /*****************************************************************************
18055  *    DispHTMLTableRow dispinterface
18056  */
18057 [
18058     hidden,
18059     uuid(3050f535-98b5-11cf-bb82-00aa00bdce0b)
18060 ]
18061 dispinterface DispHTMLTableRow
18062 {
18063 properties:
18064 methods:
18065     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
18066     void setAttribute(
18067             [in] BSTR strAttributeName,
18068             [in] VARIANT AttributeValue,
18069             [in, defaultvalue(1)] LONG lFlags);
18070
18071     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
18072     VARIANT getAttribute(
18073              [in] BSTR strAttributeName,
18074              [in, defaultvalue(0)] LONG lFlags);
18075
18076     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
18077     VARIANT_BOOL removeAttribute(
18078             [in] BSTR strAttributeName,
18079             [in, defaultvalue(1)] LONG lFlags);
18080
18081     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
18082     void className(BSTR v);
18083
18084     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
18085     BSTR className();
18086
18087     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
18088     void id(BSTR v);
18089
18090     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
18091     BSTR id();
18092
18093     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
18094     BSTR tagName();
18095
18096     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
18097     IHTMLElement *parentElement();
18098
18099     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
18100     IHTMLStyle *style();
18101
18102     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
18103     void onhelp(VARIANT v);
18104
18105     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
18106     VARIANT onhelp();
18107
18108     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
18109     void onclick(VARIANT v);
18110
18111     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
18112     VARIANT onclick();
18113
18114     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
18115     void ondblclick(VARIANT v);
18116
18117     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
18118     VARIANT ondblclick();
18119
18120     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
18121     void onkeydown(VARIANT v);
18122
18123     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
18124     VARIANT onkeydown();
18125
18126     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
18127     void onkeyup(VARIANT v);
18128
18129     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
18130     VARIANT onkeyup();
18131
18132     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
18133     void onkeypress(VARIANT v);
18134
18135     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
18136     VARIANT onkeypress();
18137
18138     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
18139     void onmouseout(VARIANT v);
18140
18141     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
18142     VARIANT onmouseout();
18143
18144     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
18145     void onmouseover(VARIANT v);
18146
18147     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
18148     VARIANT onmouseover();
18149
18150     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
18151     void onmousemove(VARIANT v);
18152
18153     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
18154     VARIANT onmousemove();
18155
18156     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
18157     void onmousedown(VARIANT v);
18158
18159     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
18160     VARIANT onmousedown();
18161
18162     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
18163     void onmouseup(VARIANT v);
18164
18165     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
18166     VARIANT onmouseup();
18167
18168     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
18169     IDispatch *document();
18170
18171     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
18172     void title(BSTR v);
18173
18174     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
18175     BSTR title();
18176
18177     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
18178     void language(BSTR v);
18179
18180     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
18181     BSTR language();
18182
18183     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
18184     void onselectstart(VARIANT v);
18185
18186     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
18187     VARIANT onselectstart();
18188
18189     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
18190     void scrollIntoView([in, optional] VARIANT varargStart);
18191
18192     [id(DISPID_IHTMLELEMENT_CONTAINS)]
18193     VARIANT_BOOL contains([in] IHTMLElement *pChild);
18194
18195     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
18196     long sourceIndex();
18197
18198     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
18199     VARIANT recordNumber();
18200
18201     [propput, id(DISPID_IHTMLELEMENT_LANG)]
18202     void lang(BSTR v);
18203
18204     [propget, id(DISPID_IHTMLELEMENT_LANG)]
18205     BSTR lang();
18206
18207     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
18208     long offsetLeft();
18209
18210     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
18211     long offsetTop();
18212
18213     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
18214     long offsetWidth();
18215
18216     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
18217     long offsetHeight();
18218
18219     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
18220     IHTMLElement *offsetParent();
18221
18222     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
18223     void innerHTML(BSTR v);
18224
18225     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
18226     BSTR innerHTML();
18227
18228     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
18229     void innerText(BSTR v);
18230
18231     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
18232     BSTR innerText();
18233
18234     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
18235     void outerHTML(BSTR v);
18236
18237     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
18238     BSTR outerHTML();
18239
18240     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
18241     void outerText(BSTR v);
18242
18243     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
18244     BSTR outerText();
18245
18246     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
18247     void insertAdjacentHTML(
18248             [in] BSTR where,
18249             [in] BSTR html);
18250
18251     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
18252     void insertAdjacentText(
18253             [in] BSTR where,
18254             [in] BSTR text);
18255
18256     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
18257     IHTMLElement *parentTextEdit();
18258
18259     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
18260     VARIANT_BOOL isTextEdit();
18261
18262     [id(DISPID_IHTMLELEMENT_CLICK)]
18263     void click();
18264
18265     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
18266     IHTMLFiltersCollection *filters();
18267
18268     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
18269     void ondragstart(VARIANT v);
18270
18271     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
18272     VARIANT ondragstart();
18273
18274     [id(DISPID_IHTMLELEMENT_TOSTRING)]
18275     BSTR toString();
18276
18277     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
18278     void onbeforeupdate(VARIANT v);
18279
18280     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
18281     VARIANT onbeforeupdate();
18282
18283     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
18284     void onafterupdate(VARIANT v);
18285
18286     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
18287     VARIANT onafterupdate();
18288
18289     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
18290     void onerrorupdate(VARIANT v);
18291
18292     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
18293     VARIANT onerrorupdate();
18294
18295     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
18296     void onrowexit(VARIANT v);
18297
18298     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
18299     VARIANT onrowexit();
18300
18301     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
18302     void onrowenter(VARIANT v);
18303
18304     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
18305     VARIANT onrowenter();
18306
18307     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
18308     void ondatasetchanged(VARIANT v);
18309
18310     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
18311     VARIANT ondatasetchanged();
18312
18313     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
18314     void ondataavailable(VARIANT v);
18315
18316     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
18317     VARIANT ondataavailable();
18318
18319     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
18320     void ondatasetcomplete(VARIANT v);
18321
18322     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
18323     VARIANT ondatasetcomplete();
18324
18325     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
18326     void onfilterchange(VARIANT v);
18327
18328     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
18329     VARIANT onfilterchange();
18330
18331     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
18332     IDispatch *children();
18333
18334     [propget, id(DISPID_IHTMLELEMENT_ALL)]
18335     IDispatch *all();
18336
18337     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
18338     BSTR scopeName();
18339
18340     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
18341     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
18342
18343     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
18344     void releaseCapture();
18345
18346     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
18347     void onlosecapture(VARIANT v);
18348
18349     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
18350     VARIANT onlosecapture();
18351
18352     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
18353     BSTR componentFromPoint(
18354             [in] long x,
18355             [in] long y);
18356
18357     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
18358     void doScroll([in, optional] VARIANT component);
18359
18360     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
18361     void onscroll(VARIANT v);
18362
18363     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
18364     VARIANT onscroll();
18365
18366     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
18367     void ondrag(VARIANT v);
18368
18369     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
18370     VARIANT ondrag();
18371
18372     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
18373     void ondragend(VARIANT v);
18374
18375     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
18376     VARIANT ondragend();
18377
18378     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
18379     void ondragenter(VARIANT v);
18380
18381     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
18382     VARIANT ondragenter();
18383
18384     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
18385     void ondragover(VARIANT v);
18386
18387     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
18388     VARIANT ondragover();
18389
18390     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
18391     void ondragleave(VARIANT v);
18392
18393     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
18394     VARIANT ondragleave();
18395
18396     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
18397     void ondrop(VARIANT v);
18398
18399     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
18400     VARIANT ondrop();
18401
18402     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
18403     void onbeforecut(VARIANT v);
18404
18405     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
18406     VARIANT onbeforecut();
18407
18408     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
18409     void oncut(VARIANT v);
18410
18411     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
18412     VARIANT oncut();
18413
18414     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
18415     void onbeforecopy(VARIANT v);
18416
18417     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
18418     VARIANT onbeforecopy();
18419
18420     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
18421     void oncopy(VARIANT v);
18422
18423     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
18424     VARIANT oncopy();
18425
18426     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
18427     void onbeforepaste(VARIANT v);
18428
18429     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
18430     VARIANT onbeforepaste();
18431
18432     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
18433     void onpaste(VARIANT v);
18434
18435     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
18436     VARIANT onpaste();
18437
18438     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
18439     IHTMLCurrentStyle *currentStyle();
18440
18441     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
18442     void onpropertychange(VARIANT v);
18443
18444     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
18445     VARIANT onpropertychange();
18446
18447     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
18448     IHTMLRectCollection *getClientRects();
18449
18450     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
18451     IHTMLRect *getBoundingClientRect();
18452
18453     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
18454     void setExpression(
18455             [in] BSTR propname,
18456             [in] BSTR expression,
18457             [in, defaultvalue("")] BSTR language);
18458
18459     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
18460     VARIANT getExpression([in] BSTR propname);
18461
18462     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
18463     VARIANT_BOOL removeExpression([in] BSTR propname);
18464
18465     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
18466     void tabIndex(short v);
18467
18468     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
18469     short tabIndex();
18470
18471     [id(DISPID_IHTMLELEMENT2_FOCUS)]
18472     void focus();
18473
18474     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
18475     void accessKey(BSTR v);
18476
18477     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
18478     BSTR accessKey();
18479
18480     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
18481     void onblur(VARIANT v);
18482
18483     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
18484     VARIANT onblur();
18485
18486     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
18487     void onfocus(VARIANT v);
18488
18489     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
18490     VARIANT onfocus();
18491
18492     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
18493     void onresize(VARIANT v);
18494
18495     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
18496     VARIANT onresize();
18497
18498     [id(DISPID_IHTMLELEMENT2_BLUR)]
18499     void blur();
18500
18501     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
18502     void addFilter([in] IUnknown *pUnk);
18503
18504     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
18505     void removeFilter([in] IUnknown *pUnk);
18506
18507     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
18508     long clientHeight();
18509
18510     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
18511     long clientWidth();
18512
18513     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
18514     long clientTop();
18515
18516     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
18517     long clientLeft();
18518
18519     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
18520     VARIANT_BOOL attachEvent(
18521             [in] BSTR event,
18522             [in] IDispatch *pDisp);
18523
18524     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
18525     void detachEvent(
18526             [in] BSTR event,
18527             [in] IDispatch *pDisp);
18528
18529     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
18530     VARIANT readyState();
18531
18532     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
18533     void onreadystatechange(VARIANT v);
18534
18535     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
18536     VARIANT onreadystatechange();
18537
18538     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
18539     void onrowsdelete(VARIANT v);
18540
18541     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
18542     VARIANT onrowsdelete();
18543
18544     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
18545     void onrowsinserted(VARIANT v);
18546
18547     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
18548      VARIANT onrowsinserted();
18549
18550     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
18551      void oncellchange(VARIANT v);
18552
18553     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
18554     VARIANT oncellchange();
18555
18556     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
18557     void dir(BSTR v);
18558
18559     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
18560     BSTR dir();
18561
18562     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
18563     IDispatch *createControlRange();
18564
18565     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
18566     long scrollHeight();
18567
18568     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
18569     long scrollWidth();
18570
18571     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
18572     void scrollTop(long v);
18573
18574     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
18575     long scrollTop();
18576
18577     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
18578     void scrollLeft(long v);
18579
18580     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
18581     long scrollLeft();
18582
18583     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
18584     void clearAttributes();
18585
18586     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
18587     void oncontextmenu(VARIANT v);
18588
18589     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
18590     VARIANT oncontextmenu();
18591
18592     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
18593     IHTMLElement *insertAdjacentElement(
18594             [in] BSTR where,
18595             [in] IHTMLElement *insertedElement);
18596
18597     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
18598     IHTMLElement *applyElement(
18599             [in] IHTMLElement *apply,
18600             [in] BSTR where);
18601
18602     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
18603     BSTR getAdjacentText([in] BSTR where);
18604
18605     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
18606     BSTR replaceAdjacentText(
18607             [in] BSTR where,
18608             [in] BSTR newText);
18609
18610     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
18611     VARIANT_BOOL canHaveChildren();
18612
18613     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
18614     long addBehavior(
18615             [in] BSTR bstrUrl,
18616             [in, optional] VARIANT *pvarFactory);
18617
18618     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
18619     VARIANT_BOOL removeBehavior([in] long cookie);
18620
18621     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
18622     IHTMLStyle *runtimeStyle();
18623
18624     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
18625     IDispatch *behaviorUrns();
18626
18627     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
18628     void tagUrn(BSTR v);
18629
18630     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
18631     BSTR tagUrn();
18632
18633     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
18634     void onbeforeeditfocus(VARIANT v);
18635
18636     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
18637     VARIANT onbeforeeditfocus();
18638
18639     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
18640     long readyStateValue();
18641
18642     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
18643     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
18644
18645     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
18646     void mergeAttributes(
18647             [in] IHTMLElement *mergeThis,
18648             [in, optional] VARIANT *pvarFlags);
18649
18650     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
18651     VARIANT_BOOL isMultiLine();
18652
18653     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
18654     VARIANT_BOOL canHaveHTML();
18655
18656     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
18657     void onlayoutcomplete(VARIANT v);
18658
18659     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
18660     VARIANT onlayoutcomplete();
18661
18662     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
18663     void onpage(VARIANT v);
18664
18665     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
18666     VARIANT onpage();
18667
18668     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
18669     void inflateBlock(VARIANT_BOOL v);
18670
18671     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
18672     VARIANT_BOOL inflateBlock();
18673
18674     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
18675     void onbeforedeactivate(VARIANT v);
18676
18677     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
18678     VARIANT onbeforedeactivate();
18679
18680     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
18681     void setActive();
18682
18683     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
18684     void contentEditable(BSTR v);
18685
18686     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
18687     BSTR contentEditable();
18688
18689     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
18690     VARIANT_BOOL isContentEditable();
18691
18692     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
18693     void hideFocus(VARIANT_BOOL v);
18694
18695     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
18696     VARIANT_BOOL hideFocus();
18697
18698     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
18699     void disabled(VARIANT_BOOL v);
18700
18701     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
18702     VARIANT_BOOL disabled();
18703
18704     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
18705     VARIANT_BOOL isDisabled();
18706
18707     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
18708     void onmove(VARIANT v);
18709
18710     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
18711     VARIANT onmove();
18712
18713     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
18714     void oncontrolselect(VARIANT v);
18715
18716     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
18717     VARIANT oncontrolselect();
18718
18719     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
18720     VARIANT_BOOL fireEvent(
18721             [in] BSTR bstrEventName,
18722             [in, optional] VARIANT *pvarEventObject);
18723
18724     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
18725     void onresizestart(VARIANT v);
18726
18727     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
18728     VARIANT onresizestart();
18729
18730     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
18731     void onresizeend(VARIANT v);
18732
18733     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
18734     VARIANT onresizeend();
18735
18736     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
18737     void onmovestart(VARIANT v);
18738
18739     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
18740     VARIANT onmovestart();
18741
18742     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
18743     void onmoveend(VARIANT v);
18744
18745     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
18746     VARIANT onmoveend();
18747
18748     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
18749     void onmouseenter(VARIANT v);
18750
18751     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
18752     VARIANT onmouseenter();
18753
18754     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
18755     void onmouseleave(VARIANT v);
18756
18757     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
18758     VARIANT onmouseleave();
18759
18760     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
18761     void onactivate(VARIANT v);
18762
18763     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
18764     VARIANT onactivate();
18765
18766     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
18767     void ondeactivate(VARIANT v);
18768
18769     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
18770     VARIANT ondeactivate();
18771
18772     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
18773     VARIANT_BOOL dragDrop();
18774
18775     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
18776     LONG glyphMode();
18777
18778     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
18779     void onmousewheel(VARIANT v);
18780
18781     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
18782     VARIANT onmousewheel();
18783
18784     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
18785     void normalize();
18786
18787     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
18788     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
18789
18790     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
18791     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
18792
18793     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
18794     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
18795
18796     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
18797     void onbeforeactivate(VARIANT v);
18798
18799     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
18800     VARIANT onbeforeactivate();
18801
18802     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
18803     void onfocusin(VARIANT v);
18804
18805     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
18806     VARIANT onfocusin();
18807
18808     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
18809     void onfocusout(VARIANT v);
18810
18811     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
18812     VARIANT onfocusout();
18813
18814     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
18815     long uniqueNumber();
18816
18817     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
18818     BSTR uniqueID();
18819
18820     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
18821     long nodeType();
18822
18823     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
18824     IHTMLDOMNode *parentNode();
18825
18826     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
18827     VARIANT_BOOL hasChildNodes();
18828
18829     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
18830     IDispatch *childNodes();
18831
18832     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
18833     IDispatch *attributes();
18834
18835     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
18836     IHTMLDOMNode *insertBefore(
18837             [in] IHTMLDOMNode *newChild,
18838             [in, optional] VARIANT refChild);
18839
18840     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
18841     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
18842
18843     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
18844     IHTMLDOMNode *replaceChild(
18845             [in] IHTMLDOMNode *newChild,
18846             [in] IHTMLDOMNode *oldChild);
18847
18848     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
18849     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
18850
18851     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
18852     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
18853
18854     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
18855     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
18856
18857     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
18858     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
18859
18860     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
18861     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
18862
18863     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
18864     BSTR nodeName();
18865
18866     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
18867     void nodeValue(VARIANT v);
18868
18869     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
18870     VARIANT nodeValue();
18871
18872     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
18873     IHTMLDOMNode *firstChild();
18874
18875     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
18876     IHTMLDOMNode *lastChild();
18877
18878     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
18879     IHTMLDOMNode *previousSibling();
18880
18881     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
18882     IHTMLDOMNode *nextSibling();
18883
18884     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
18885     IDispatch *ownerDocument();
18886
18887     [propput, id(DISPID_IHTMLTABLEROW_ALIGN)]
18888     void align(BSTR v);
18889
18890     [propget, id(DISPID_IHTMLTABLEROW_ALIGN)]
18891     BSTR align();
18892
18893     [propput, id(DISPID_IHTMLTABLEROW_VALIGN)]
18894     void vAlign(BSTR v);
18895
18896     [propget, id(DISPID_IHTMLTABLEROW_VALIGN)]
18897     BSTR vAlign();
18898
18899     [propput, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
18900     void bgColor(VARIANT v);
18901
18902     [propget, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
18903     VARIANT bgColor();
18904
18905     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
18906     void borderColor(VARIANT v);
18907
18908     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
18909     VARIANT borderColor();
18910
18911     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
18912     void borderColorLight(VARIANT v);
18913
18914     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
18915     VARIANT borderColorLight();
18916
18917     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
18918     void borderColorDark(VARIANT v);
18919
18920     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
18921     VARIANT borderColorDark();
18922
18923     [propget, id(DISPID_IHTMLTABLEROW_ROWINDEX)]
18924     long rowIndex();
18925
18926     [propget, id(DISPID_IHTMLTABLEROW_SECTIONROWINDEX)]
18927     long sectionRowIndex();
18928
18929     [propget, id(DISPID_IHTMLTABLEROW_CELLS)]
18930     IHTMLElementCollection *cells();
18931
18932     [id(DISPID_IHTMLTABLEROW_INSERTCELL)]
18933     IDispatch *insertCell([in, defaultvalue(-1)] long index);
18934
18935     [id(DISPID_IHTMLTABLEROW_DELETECELL)]
18936     void deleteCell([in, defaultvalue(-1)] long index);
18937
18938     [propput, id(DISPID_IHTMLTABLEROW2_HEIGHT)]
18939     void height(VARIANT v);
18940
18941     [propget, id(DISPID_IHTMLTABLEROW2_HEIGHT)]
18942     VARIANT height();
18943
18944     [propput, id(DISPID_IHTMLTABLEROW3_CH), displaybind, bindable]
18945     void ch(BSTR v);
18946
18947     [propget, id(DISPID_IHTMLTABLEROW3_CH), displaybind, bindable]
18948     BSTR ch();
18949
18950     [propput, id(DISPID_IHTMLTABLEROW3_CHOFF), displaybind, bindable]
18951     void chOff(BSTR v);
18952
18953     [propget, id(DISPID_IHTMLTABLEROW3_CHOFF), displaybind, bindable]
18954     BSTR chOff();
18955 }
18956
18957 /*****************************************************************************
18958  *    IHTMLScriptElement interface
18959  */
18960 [
18961     odl,
18962     oleautomation,
18963     dual,
18964     uuid(3050f28b-98b5-11cf-bb82-00aa00bdce0b)
18965 ]
18966 interface IHTMLScriptElement : IDispatch
18967 {
18968     [propput, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
18969     HRESULT src([in] BSTR v);
18970
18971     [propget, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
18972     HRESULT src([retval, out] BSTR *p);
18973
18974     [propput, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
18975     HRESULT htmlFor([in] BSTR v);
18976
18977     [propget, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
18978     HRESULT htmlFor([retval, out] BSTR *p);
18979
18980     [propput, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
18981     HRESULT event([in] BSTR v);
18982
18983     [propget, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
18984     HRESULT event([retval, out] BSTR *p);
18985
18986     [propput, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
18987     HRESULT text([in] BSTR v);
18988
18989     [propget, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
18990     HRESULT text([retval, out] BSTR *p);
18991
18992     [propput, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
18993     HRESULT defer([in] VARIANT_BOOL v);
18994
18995     [propget, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
18996     HRESULT defer([retval, out] VARIANT_BOOL *p);
18997
18998     [propget, id(DISPID_IHTMLSCRIPTELEMENT_READYSTATE)]
18999     HRESULT readyState([retval, out] BSTR *p);
19000
19001     [propput, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
19002     HRESULT onerror([in] VARIANT v);
19003
19004     [propget, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
19005     HRESULT onerror([retval, out] VARIANT *p);
19006
19007     [propput, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
19008     HRESULT type([in] BSTR v);
19009
19010     [propget, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
19011     HRESULT type([retval, out] BSTR *p);
19012 }
19013
19014 /*****************************************************************************
19015  *    IHTMLScriptElement2 interface
19016  */
19017 [
19018     odl,
19019     oleautomation,
19020     dual,
19021     uuid(3050f828-98b5-11cf-bb82-00aa00bdce0b)
19022 ]
19023 interface IHTMLScriptElement2 : IDispatch
19024 {
19025     [propput, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
19026     HRESULT charset([in] BSTR v);
19027
19028     [propget, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
19029     HRESULT charset([retval, out] BSTR *p);
19030 }
19031
19032 /*****************************************************************************
19033  *    IHTMLFrameBase interface
19034  */
19035 [
19036     odl,
19037     oleautomation,
19038     dual,
19039     uuid(3050f311-98b5-11cf-bb82-00aa00bdce0b)
19040 ]
19041 interface IHTMLFrameBase : IDispatch
19042 {
19043     [propput, id(DISPID_IHTMLFRAMEBASE_SRC)]
19044     HRESULT src([in] BSTR v);
19045
19046     [propget, id(DISPID_IHTMLFRAMEBASE_SRC)]
19047     HRESULT src([out, retval] BSTR *p);
19048
19049     [propput, id(DISPID_IHTMLFRAMEBASE_NAME)]
19050     HRESULT name([in] BSTR v);
19051
19052     [propget, id(DISPID_IHTMLFRAMEBASE_NAME)]
19053     HRESULT name([out, retval] BSTR *p);
19054
19055     [propput, id(DISPID_IHTMLFRAMEBASE_BORDER)]
19056     HRESULT border([in] VARIANT v);
19057
19058     [propget, id(DISPID_IHTMLFRAMEBASE_BORDER)]
19059     HRESULT border([out, retval] VARIANT *p);
19060
19061     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
19062     HRESULT frameBorder([in] BSTR v);
19063
19064     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
19065     HRESULT frameBorder([out, retval] BSTR *p);
19066
19067     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
19068     HRESULT frameSpacing([in] VARIANT v);
19069
19070     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
19071     HRESULT frameSpacing([out, retval] VARIANT *p);
19072
19073     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
19074     HRESULT marginWidth([in] VARIANT v);
19075
19076     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
19077     HRESULT marginWidth([out, retval] VARIANT *p);
19078
19079     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
19080     HRESULT marginHeight([in] VARIANT v);
19081
19082     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
19083     HRESULT marginHeight([out, retval] VARIANT *p);
19084
19085     [propput, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
19086     HRESULT noResize([in] VARIANT_BOOL v);
19087
19088     [propget, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
19089     HRESULT noResize([out, retval] VARIANT_BOOL *p);
19090
19091     [propput, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
19092     HRESULT scrolling([in] BSTR v);
19093
19094     [propget, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
19095     HRESULT scrolling([out, retval] BSTR *p);
19096 }
19097
19098 /*****************************************************************************
19099  *    IHTMLFrameBase2 interface
19100  */
19101 [
19102     odl,
19103     oleautomation,
19104     dual,
19105     uuid(3050f6db-98b5-11cf-bb82-00aa00bdce0b)
19106 ]
19107 interface IHTMLFrameBase2 : IDispatch
19108 {
19109     [propget, id(DISPID_IHTMLFRAMEBASE2_CONTENTWINDOW)]
19110     HRESULT contentWindow([retval, out] IHTMLWindow2 **p);
19111
19112     [propput, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
19113     HRESULT onload([in] VARIANT v);
19114
19115     [propget, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
19116     HRESULT onload([retval, out] VARIANT *p);
19117
19118     [propput, id(DISPID_IHTMLFRAMEBASE2_ONREADYSTATECHANGE), displaybind, bindable]
19119     HRESULT onreadystatechange([in] VARIANT v);
19120
19121     [propget, id(DISPID_IHTMLFRAMEBASE2_ONREADYSTATECHANGE), displaybind, bindable]
19122     HRESULT onreadystatechange([retval, out] VARIANT *p);
19123
19124     [propget, id(DISPID_IHTMLFRAMEBASE2_READYSTATE)]
19125     HRESULT readyState([retval, out] BSTR *p);
19126
19127     [propput, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
19128     HRESULT allowTransparency([in] VARIANT_BOOL v);
19129
19130     [propget, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
19131     HRESULT allowTransparency([retval, out] VARIANT_BOOL *p);
19132 }
19133
19134 /*****************************************************************************
19135  *    DispHTMLIFrame dispinterface
19136  */
19137 [
19138     hidden,
19139     uuid(3050f51b-98b5-11cf-bb82-00aa00bdce0b)
19140 ]
19141 dispinterface DispHTMLIFrame
19142 {
19143 properties:
19144 methods:
19145     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
19146     void setAttribute(
19147             [in] BSTR strAttributeName,
19148             [in] VARIANT AttributeValue,
19149             [in, defaultvalue(1)] LONG lFlags);
19150
19151     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
19152     VARIANT getAttribute(
19153              [in] BSTR strAttributeName,
19154              [in, defaultvalue(0)] LONG lFlags);
19155
19156     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
19157     VARIANT_BOOL removeAttribute(
19158             [in] BSTR strAttributeName,
19159             [in, defaultvalue(1)] LONG lFlags);
19160
19161     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
19162     void className(BSTR v);
19163
19164     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
19165     BSTR className();
19166
19167     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
19168     void id(BSTR v);
19169
19170     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
19171     BSTR id();
19172
19173     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
19174     BSTR tagName();
19175
19176     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
19177     IHTMLElement *parentElement();
19178
19179     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
19180     IHTMLStyle *style();
19181
19182     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
19183     void onhelp(VARIANT v);
19184
19185     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
19186     VARIANT onhelp();
19187
19188     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
19189     void onclick(VARIANT v);
19190
19191     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
19192     VARIANT onclick();
19193
19194     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
19195     void ondblclick(VARIANT v);
19196
19197     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
19198     VARIANT ondblclick();
19199
19200     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
19201     void onkeydown(VARIANT v);
19202
19203     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
19204     VARIANT onkeydown();
19205
19206     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
19207     void onkeyup(VARIANT v);
19208
19209     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
19210     VARIANT onkeyup();
19211
19212     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
19213     void onkeypress(VARIANT v);
19214
19215     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
19216     VARIANT onkeypress();
19217
19218     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
19219     void onmouseout(VARIANT v);
19220
19221     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
19222     VARIANT onmouseout();
19223
19224     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
19225     void onmouseover(VARIANT v);
19226
19227     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
19228     VARIANT onmouseover();
19229
19230     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
19231     void onmousemove(VARIANT v);
19232
19233     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
19234     VARIANT onmousemove();
19235
19236     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
19237     void onmousedown(VARIANT v);
19238
19239     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
19240     VARIANT onmousedown();
19241
19242     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
19243     void onmouseup(VARIANT v);
19244
19245     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
19246     VARIANT onmouseup();
19247
19248     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
19249     IDispatch *document();
19250
19251     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
19252     void title(BSTR v);
19253
19254     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
19255     BSTR title();
19256
19257     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
19258     void language(BSTR v);
19259
19260     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
19261     BSTR language();
19262
19263     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
19264     void onselectstart(VARIANT v);
19265
19266     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
19267     VARIANT onselectstart();
19268
19269     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
19270     void scrollIntoView([in, optional] VARIANT varargStart);
19271
19272     [id(DISPID_IHTMLELEMENT_CONTAINS)]
19273     VARIANT_BOOL contains([in] IHTMLElement *pChild);
19274
19275     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
19276     long sourceIndex();
19277
19278     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
19279     VARIANT recordNumber();
19280
19281     [propput, id(DISPID_IHTMLELEMENT_LANG)]
19282     void lang(BSTR v);
19283
19284     [propget, id(DISPID_IHTMLELEMENT_LANG)]
19285     BSTR lang();
19286
19287     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
19288     long offsetLeft();
19289
19290     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
19291     long offsetTop();
19292
19293     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
19294     long offsetWidth();
19295
19296     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
19297     long offsetHeight();
19298
19299     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
19300     IHTMLElement *offsetParent();
19301
19302     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
19303     void innerHTML(BSTR v);
19304
19305     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
19306     BSTR innerHTML();
19307
19308     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
19309     void innerText(BSTR v);
19310
19311     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
19312     BSTR innerText();
19313
19314     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
19315     void outerHTML(BSTR v);
19316
19317     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
19318     BSTR outerHTML();
19319
19320     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
19321     void outerText(BSTR v);
19322
19323     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
19324     BSTR outerText();
19325
19326     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
19327     void insertAdjacentHTML(
19328             [in] BSTR where,
19329             [in] BSTR html);
19330
19331     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
19332     void insertAdjacentText(
19333             [in] BSTR where,
19334             [in] BSTR text);
19335
19336     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
19337     IHTMLElement *parentTextEdit();
19338
19339     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
19340     VARIANT_BOOL isTextEdit();
19341
19342     [id(DISPID_IHTMLELEMENT_CLICK)]
19343     void click();
19344
19345     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
19346     IHTMLFiltersCollection *filters();
19347
19348     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
19349     void ondragstart(VARIANT v);
19350
19351     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
19352     VARIANT ondragstart();
19353
19354     [id(DISPID_IHTMLELEMENT_TOSTRING)]
19355     BSTR toString();
19356
19357     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
19358     void onbeforeupdate(VARIANT v);
19359
19360     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
19361     VARIANT onbeforeupdate();
19362
19363     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
19364     void onafterupdate(VARIANT v);
19365
19366     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
19367     VARIANT onafterupdate();
19368
19369     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
19370     void onerrorupdate(VARIANT v);
19371
19372     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
19373     VARIANT onerrorupdate();
19374
19375     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
19376     void onrowexit(VARIANT v);
19377
19378     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
19379     VARIANT onrowexit();
19380
19381     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
19382     void onrowenter(VARIANT v);
19383
19384     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
19385     VARIANT onrowenter();
19386
19387     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
19388     void ondatasetchanged(VARIANT v);
19389
19390     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
19391     VARIANT ondatasetchanged();
19392
19393     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
19394     void ondataavailable(VARIANT v);
19395
19396     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
19397     VARIANT ondataavailable();
19398
19399     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
19400     void ondatasetcomplete(VARIANT v);
19401
19402     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
19403     VARIANT ondatasetcomplete();
19404
19405     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
19406     void onfilterchange(VARIANT v);
19407
19408     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
19409     VARIANT onfilterchange();
19410
19411     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
19412     IDispatch *children();
19413
19414     [propget, id(DISPID_IHTMLELEMENT_ALL)]
19415     IDispatch *all();
19416
19417     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
19418     BSTR scopeName();
19419
19420     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
19421     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
19422
19423     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
19424     void releaseCapture();
19425
19426     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
19427     void onlosecapture(VARIANT v);
19428
19429     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
19430     VARIANT onlosecapture();
19431
19432     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
19433     BSTR componentFromPoint(
19434             [in] long x,
19435             [in] long y);
19436
19437     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
19438     void doScroll([in, optional] VARIANT component);
19439
19440     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
19441     void onscroll(VARIANT v);
19442
19443     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
19444     VARIANT onscroll();
19445
19446     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
19447     void ondrag(VARIANT v);
19448
19449     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
19450     VARIANT ondrag();
19451
19452     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
19453     void ondragend(VARIANT v);
19454
19455     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
19456     VARIANT ondragend();
19457
19458     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
19459     void ondragenter(VARIANT v);
19460
19461     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
19462     VARIANT ondragenter();
19463
19464     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
19465     void ondragover(VARIANT v);
19466
19467     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
19468     VARIANT ondragover();
19469
19470     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
19471     void ondragleave(VARIANT v);
19472
19473     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
19474     VARIANT ondragleave();
19475
19476     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
19477     void ondrop(VARIANT v);
19478
19479     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
19480     VARIANT ondrop();
19481
19482     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
19483     void onbeforecut(VARIANT v);
19484
19485     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
19486     VARIANT onbeforecut();
19487
19488     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
19489     void oncut(VARIANT v);
19490
19491     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
19492     VARIANT oncut();
19493
19494     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
19495     void onbeforecopy(VARIANT v);
19496
19497     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
19498     VARIANT onbeforecopy();
19499
19500     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
19501     void oncopy(VARIANT v);
19502
19503     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
19504     VARIANT oncopy();
19505
19506     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
19507     void onbeforepaste(VARIANT v);
19508
19509     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
19510     VARIANT onbeforepaste();
19511
19512     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
19513     void onpaste(VARIANT v);
19514
19515     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
19516     VARIANT onpaste();
19517
19518     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
19519     IHTMLCurrentStyle *currentStyle();
19520
19521     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
19522     void onpropertychange(VARIANT v);
19523
19524     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
19525     VARIANT onpropertychange();
19526
19527     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
19528     IHTMLRectCollection *getClientRects();
19529
19530     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
19531     IHTMLRect *getBoundingClientRect();
19532
19533     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
19534     void setExpression(
19535             [in] BSTR propname,
19536             [in] BSTR expression,
19537             [in, defaultvalue("")] BSTR language);
19538
19539     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
19540     VARIANT getExpression([in] BSTR propname);
19541
19542     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
19543     VARIANT_BOOL removeExpression([in] BSTR propname);
19544
19545     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
19546     void tabIndex(short v);
19547
19548     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
19549     short tabIndex();
19550
19551     [id(DISPID_IHTMLELEMENT2_FOCUS)]
19552     void focus();
19553
19554     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
19555     void accessKey(BSTR v);
19556
19557     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
19558     BSTR accessKey();
19559
19560     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
19561     void onblur(VARIANT v);
19562
19563     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
19564     VARIANT onblur();
19565
19566     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
19567     void onfocus(VARIANT v);
19568
19569     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
19570     VARIANT onfocus();
19571
19572     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
19573     void onresize(VARIANT v);
19574
19575     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
19576     VARIANT onresize();
19577
19578     [id(DISPID_IHTMLELEMENT2_BLUR)]
19579     void blur();
19580
19581     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
19582     void addFilter([in] IUnknown *pUnk);
19583
19584     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
19585     void removeFilter([in] IUnknown *pUnk);
19586
19587     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
19588     long clientHeight();
19589
19590     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
19591     long clientWidth();
19592
19593     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
19594     long clientTop();
19595
19596     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
19597     long clientLeft();
19598
19599     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
19600     VARIANT_BOOL attachEvent(
19601             [in] BSTR event,
19602             [in] IDispatch *pDisp);
19603
19604     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
19605     void detachEvent(
19606             [in] BSTR event,
19607             [in] IDispatch *pDisp);
19608
19609     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
19610     VARIANT readyState();
19611
19612     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
19613     void onreadystatechange(VARIANT v);
19614
19615     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
19616     VARIANT onreadystatechange();
19617
19618     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
19619     void onrowsdelete(VARIANT v);
19620
19621     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
19622     VARIANT onrowsdelete();
19623
19624     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
19625     void onrowsinserted(VARIANT v);
19626
19627     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
19628      VARIANT onrowsinserted();
19629
19630     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
19631      void oncellchange(VARIANT v);
19632
19633     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
19634     VARIANT oncellchange();
19635
19636     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
19637     void dir(BSTR v);
19638
19639     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
19640     BSTR dir();
19641
19642     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
19643     IDispatch *createControlRange();
19644
19645     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
19646     long scrollHeight();
19647
19648     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
19649     long scrollWidth();
19650
19651     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
19652     void scrollTop(long v);
19653
19654     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
19655     long scrollTop();
19656
19657     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
19658     void scrollLeft(long v);
19659
19660     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
19661     long scrollLeft();
19662
19663     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
19664     void clearAttributes();
19665
19666     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
19667     void oncontextmenu(VARIANT v);
19668
19669     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
19670     VARIANT oncontextmenu();
19671
19672     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
19673     IHTMLElement *insertAdjacentElement(
19674             [in] BSTR where,
19675             [in] IHTMLElement *insertedElement);
19676
19677     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
19678     IHTMLElement *applyElement(
19679             [in] IHTMLElement *apply,
19680             [in] BSTR where);
19681
19682     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
19683     BSTR getAdjacentText([in] BSTR where);
19684
19685     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
19686     BSTR replaceAdjacentText(
19687             [in] BSTR where,
19688             [in] BSTR newText);
19689
19690     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
19691     VARIANT_BOOL canHaveChildren();
19692
19693     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
19694     long addBehavior(
19695             [in] BSTR bstrUrl,
19696             [in, optional] VARIANT *pvarFactory);
19697
19698     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
19699     VARIANT_BOOL removeBehavior([in] long cookie);
19700
19701     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
19702     IHTMLStyle *runtimeStyle();
19703
19704     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
19705     IDispatch *behaviorUrns();
19706
19707     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
19708     void tagUrn(BSTR v);
19709
19710     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
19711     BSTR tagUrn();
19712
19713     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
19714     void onbeforeeditfocus(VARIANT v);
19715
19716     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
19717     VARIANT onbeforeeditfocus();
19718
19719     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
19720     long readyStateValue();
19721
19722     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
19723     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
19724
19725     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
19726     void mergeAttributes(
19727             [in] IHTMLElement *mergeThis,
19728             [in, optional] VARIANT *pvarFlags);
19729
19730     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
19731     VARIANT_BOOL isMultiLine();
19732
19733     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
19734     VARIANT_BOOL canHaveHTML();
19735
19736     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
19737     void onlayoutcomplete(VARIANT v);
19738
19739     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
19740     VARIANT onlayoutcomplete();
19741
19742     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
19743     void onpage(VARIANT v);
19744
19745     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
19746     VARIANT onpage();
19747
19748     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
19749     void inflateBlock(VARIANT_BOOL v);
19750
19751     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
19752     VARIANT_BOOL inflateBlock();
19753
19754     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
19755     void onbeforedeactivate(VARIANT v);
19756
19757     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
19758     VARIANT onbeforedeactivate();
19759
19760     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
19761     void setActive();
19762
19763     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
19764     void contentEditable(BSTR v);
19765
19766     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
19767     BSTR contentEditable();
19768
19769     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
19770     VARIANT_BOOL isContentEditable();
19771
19772     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
19773     void hideFocus(VARIANT_BOOL v);
19774
19775     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
19776     VARIANT_BOOL hideFocus();
19777
19778     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
19779     void disabled(VARIANT_BOOL v);
19780
19781     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
19782     VARIANT_BOOL disabled();
19783
19784     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
19785     VARIANT_BOOL isDisabled();
19786
19787     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
19788     void onmove(VARIANT v);
19789
19790     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
19791     VARIANT onmove();
19792
19793     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
19794     void oncontrolselect(VARIANT v);
19795
19796     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
19797     VARIANT oncontrolselect();
19798
19799     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
19800     VARIANT_BOOL fireEvent(
19801             [in] BSTR bstrEventName,
19802             [in, optional] VARIANT *pvarEventObject);
19803
19804     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
19805     void onresizestart(VARIANT v);
19806
19807     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
19808     VARIANT onresizestart();
19809
19810     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
19811     void onresizeend(VARIANT v);
19812
19813     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
19814     VARIANT onresizeend();
19815
19816     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
19817     void onmovestart(VARIANT v);
19818
19819     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
19820     VARIANT onmovestart();
19821
19822     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
19823     void onmoveend(VARIANT v);
19824
19825     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
19826     VARIANT onmoveend();
19827
19828     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
19829     void onmouseenter(VARIANT v);
19830
19831     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
19832     VARIANT onmouseenter();
19833
19834     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
19835     void onmouseleave(VARIANT v);
19836
19837     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
19838     VARIANT onmouseleave();
19839
19840     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
19841     void onactivate(VARIANT v);
19842
19843     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
19844     VARIANT onactivate();
19845
19846     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
19847     void ondeactivate(VARIANT v);
19848
19849     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
19850     VARIANT ondeactivate();
19851
19852     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
19853     VARIANT_BOOL dragDrop();
19854
19855     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
19856     LONG glyphMode();
19857
19858     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
19859     void onmousewheel(VARIANT v);
19860
19861     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
19862     VARIANT onmousewheel();
19863
19864     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
19865     void normalize();
19866
19867     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
19868     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
19869
19870     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
19871     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
19872
19873     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
19874     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
19875
19876     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
19877     void onbeforeactivate(VARIANT v);
19878
19879     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
19880     VARIANT onbeforeactivate();
19881
19882     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
19883     void onfocusin(VARIANT v);
19884
19885     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
19886     VARIANT onfocusin();
19887
19888     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
19889     void onfocusout(VARIANT v);
19890
19891     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
19892     VARIANT onfocusout();
19893
19894     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
19895     long uniqueNumber();
19896
19897     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
19898     BSTR uniqueID();
19899
19900     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
19901     long nodeType();
19902
19903     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
19904     IHTMLDOMNode *parentNode();
19905
19906     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
19907     VARIANT_BOOL hasChildNodes();
19908
19909     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
19910     IDispatch *childNodes();
19911
19912     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
19913     IDispatch *attributes();
19914
19915     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
19916     IHTMLDOMNode *insertBefore(
19917             [in] IHTMLDOMNode *newChild,
19918             [in, optional] VARIANT refChild);
19919
19920     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
19921     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
19922
19923     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
19924     IHTMLDOMNode *replaceChild(
19925             [in] IHTMLDOMNode *newChild,
19926             [in] IHTMLDOMNode *oldChild);
19927
19928     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
19929     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
19930
19931     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
19932     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
19933
19934     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
19935     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
19936
19937     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
19938     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
19939
19940     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
19941     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
19942
19943     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
19944     BSTR nodeName();
19945
19946     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
19947     void nodeValue(VARIANT v);
19948
19949     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
19950     VARIANT nodeValue();
19951
19952     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
19953     IHTMLDOMNode *firstChild();
19954
19955     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
19956     IHTMLDOMNode *lastChild();
19957
19958     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
19959     IHTMLDOMNode *previousSibling();
19960
19961     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
19962     IHTMLDOMNode *nextSibling();
19963
19964     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
19965     IDispatch *ownerDocument();
19966
19967     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
19968     void dataFld(BSTR v);
19969
19970     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
19971     BSTR dataFld();
19972
19973     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
19974     void dataSrc(BSTR v);
19975
19976     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
19977     BSTR dataSrc();
19978
19979     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
19980     void dataFormatAs(BSTR v);
19981
19982     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
19983     BSTR dataFormatAs();
19984
19985     [propput, id(DISPID_IHTMLFRAMEBASE_SRC)]
19986     void src(BSTR v);
19987
19988     [propget, id(DISPID_IHTMLFRAMEBASE_SRC)]
19989     BSTR src();
19990
19991     [propput, id(DISPID_IHTMLFRAMEBASE_NAME)]
19992     void name(BSTR v);
19993
19994     [propget, id(DISPID_IHTMLFRAMEBASE_NAME)]
19995     BSTR name();
19996
19997     [propput, id(DISPID_IHTMLFRAMEBASE_BORDER)]
19998     void border(VARIANT v);
19999
20000     [propget, id(DISPID_IHTMLFRAMEBASE_BORDER)]
20001     VARIANT border();
20002
20003     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
20004     void frameBorder(BSTR v);
20005
20006     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
20007     BSTR frameBorder();
20008
20009     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
20010     void frameSpacing(VARIANT v);
20011
20012     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
20013     VARIANT frameSpacing();
20014
20015     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
20016     void marginWidth(VARIANT v);
20017
20018     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
20019     VARIANT marginWidth();
20020
20021     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
20022     void marginHeight(VARIANT v);
20023
20024     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
20025     VARIANT marginHeight();
20026
20027     [propput, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
20028     void noResize(VARIANT_BOOL v);
20029
20030     [propget, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
20031     VARIANT_BOOL noResize();
20032
20033     [propput, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
20034     void scrolling(BSTR v);
20035
20036     [propget, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
20037     BSTR scrolling();
20038
20039     [propget, id(DISPID_IHTMLFRAMEBASE2_CONTENTWINDOW)]
20040     IHTMLWindow2 *contentWindow();
20041
20042     [propput, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
20043     void onload(VARIANT v);
20044
20045     [propget, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
20046     VARIANT onload();
20047
20048     [propput, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
20049     void allowTransparency(VARIANT_BOOL v);
20050
20051     [propget, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
20052     VARIANT_BOOL allowTransparency();
20053
20054     [propput, id(DISPID_IHTMLFRAMEBASE3_LONGDESC), displaybind, bindable]
20055     void longDesc(BSTR v);
20056
20057     [propget, id(DISPID_IHTMLFRAMEBASE3_LONGDESC), displaybind, bindable]
20058     BSTR longDesc();
20059
20060     [propput, id(DISPID_IHTMLIFRAMEELEMENT_VSPACE)]
20061     void vspace(long v);
20062
20063     [propget, id(DISPID_IHTMLIFRAMEELEMENT_VSPACE)]
20064     long vspace();
20065
20066     [propput, id(DISPID_IHTMLIFRAMEELEMENT_HSPACE)]
20067     void hspace(long v);
20068
20069     [propget, id(DISPID_IHTMLIFRAMEELEMENT_HSPACE)]
20070     long hspace();
20071
20072     [propput, id(DISPID_IHTMLIFRAMEELEMENT_ALIGN), displaybind, bindable]
20073     void align(BSTR v);
20074
20075     [propget, id(DISPID_IHTMLIFRAMEELEMENT_ALIGN), displaybind, bindable]
20076     BSTR align();
20077
20078     [propput, id(DISPID_IHTMLIFRAMEELEMENT2_HEIGHT)]
20079     void height(VARIANT v);
20080
20081     [propget, id(DISPID_IHTMLIFRAMEELEMENT2_HEIGHT)]
20082     VARIANT height();
20083
20084     [propput, id(DISPID_IHTMLIFRAMEELEMENT2_WIDTH)]
20085     void width(VARIANT v);
20086
20087     [propget, id(DISPID_IHTMLIFRAMEELEMENT2_WIDTH)]
20088     VARIANT width();
20089 }
20090
20091 /*****************************************************************************
20092  *    IMarkupContainer interface
20093  */
20094 [
20095     object,
20096     pointer_default(unique),
20097     uuid(3050f5f9-98b5-11cf-bb82-00aa00bdce0B)
20098 ]
20099 interface IMarkupContainer : IUnknown
20100 {
20101     HRESULT OwningDoc([out] IHTMLDocument2 **ppDoc);
20102 }
20103
20104 /*****************************************************************************
20105  *    IMarkupPointer interface
20106  */
20107 [
20108     object,
20109     pointer_default(unique),
20110     uuid(3050f49f-98b5-11cf-bb82-00aa00bdce0b)
20111 ]
20112 interface IMarkupPointer : IUnknown
20113 {
20114     HRESULT OwningDoc([out] IHTMLDocument2 **ppDoc);
20115
20116     HRESULT Gravity([out] POINTER_GRAVITY *pGravity);
20117
20118     HRESULT SetGravity([in] POINTER_GRAVITY Gravity);
20119
20120     HRESULT Cling([out] BOOL *pfCling);
20121
20122     HRESULT SetCling([in] BOOL fCLing);
20123
20124     HRESULT UnPosition();
20125
20126     HRESULT IsPositioned([out] BOOL *pfPositioned);
20127
20128     HRESULT GetContainer([out] IMarkupContainer **ppContainer);
20129
20130     HRESULT MoveAdjacentToElement(
20131         [in] IHTMLElement *pElement,
20132         [in] ELEMENT_ADJACENCY eAdj);
20133
20134     HRESULT MoveToPointer([in] IMarkupPointer *pPointer);
20135
20136     HRESULT MoveToContainer(
20137         [in] IMarkupContainer *pContainer,
20138         [in] BOOL fAtStart);
20139
20140     HRESULT Left(
20141         [in] BOOL fMove,
20142         [out] MARKUP_CONTEXT_TYPE *pContext,
20143         [out] IHTMLElement **ppElement,
20144         [in, out] long *pcch,
20145         [out, size_is(*pcch)] OLECHAR *pchText);
20146
20147     HRESULT Right(
20148         [in] BOOL fMove,
20149         [out] MARKUP_CONTEXT_TYPE *pContext,
20150         [out] IHTMLElement **ppElement,
20151         [in, out] long *pcch,
20152         [out, size_is(*pcch)] OLECHAR *pchText);
20153
20154     HRESULT CurrentScope([out] IHTMLElement **ppElemCurrent);
20155
20156     HRESULT IsLeftOf(
20157         [in] IMarkupPointer *pPointerThat,
20158         [out] BOOL *pfResult);
20159
20160     HRESULT IsLeftOfOrEqualTo(
20161         [in] IMarkupPointer *pPointerThat,
20162         [out] BOOL *pfResult);
20163
20164     HRESULT IsRightOf(
20165         [in] IMarkupPointer *pPointerThat,
20166         [out] BOOL *pfResult);
20167
20168     HRESULT IsRightOfOrEqualTo(
20169         [in] IMarkupPointer *pPointerThat,
20170         [out] BOOL *pfResult);
20171
20172     HRESULT IsEqualTo(
20173         [in] IMarkupPointer *pPointerThat,
20174         [out] BOOL *pfAreEqual);
20175
20176     HRESULT MoveUnit([in] MOVEUNIT_ACTION muAction);
20177
20178     HRESULT FindText(
20179         [in] OLECHAR *pchFindText,
20180         [in] DWORD dwFlags,
20181         [in] IMarkupPointer *pIEndMatch,
20182         [in] IMarkupPointer *pIEndSearch);
20183 }
20184
20185 /*****************************************************************************
20186  *    ISegment interface
20187  */
20188 [
20189     object,
20190     pointer_default(unique),
20191     uuid(83f65030-b598-cf11-bb82-00aa00bdce0b)
20192 ]
20193 interface ISegment : IUnknown
20194 {
20195     HRESULT GetPointers(
20196         [in] IMarkupPointer *pIStart,
20197         [in] IMarkupPointer *pIEnd);
20198 }
20199
20200 /*****************************************************************************
20201  *    IElementSegment interface
20202  */
20203 [
20204     object,
20205     pointer_default(unique),
20206     uuid(3050f68f-98b5-11cf-bb82-00aa00bdce0b)
20207 ]
20208 interface IElementSegment : ISegment
20209 {
20210     HRESULT GetElement([out] IHTMLElement **ppIElement);
20211
20212     HRESULT SetPrimary([in] BOOL fPrimary);
20213
20214     HRESULT IsPrimary([out] BOOL *pfPrimary);
20215 }
20216
20217 /*****************************************************************************
20218  *    ISelectionServicesListener interface
20219  */
20220 [
20221     object,
20222     pointer_default(unique),
20223     uuid(99f65030-b598-cf11-bb82-00aa00bdce0b)
20224 ]
20225 interface ISelectionServicesListener : IUnknown
20226 {
20227     HRESULT BeginSelectionUndo();
20228
20229     HRESULT EndSelectionUndo();
20230
20231     HRESULT OnSelectedElementExit(
20232         [in] IMarkupPointer *pIElementStart,
20233         [in] IMarkupPointer *pIElementEnd,
20234         [in] IMarkupPointer *pIElementContentStart,
20235         [in] IMarkupPointer *pIElementContentEnd);
20236
20237     HRESULT OnChangeType(
20238         [in] SELECTION_TYPE eType,
20239         [in] ISelectionServicesListener *pIListener);
20240
20241     HRESULT GetTypeDetail([out] BSTR *pTypeDetail);
20242 }
20243
20244 /*****************************************************************************
20245  *    ISelectionServices interface
20246  */
20247 [
20248     object,
20249     pointer_default(unique),
20250     uuid(3050f684-98b5-11cf-bb82-00aa00bdce0b)
20251 ]
20252 interface ISelectionServices : IUnknown
20253 {
20254     HRESULT SetSelectionType(
20255         [in] SELECTION_TYPE eType,
20256         [in] ISelectionServicesListener *pIListener);
20257
20258     HRESULT GetMarkupContainer([out] IMarkupContainer **ppIContainer);
20259
20260     HRESULT AddSegment(
20261         [in] IMarkupPointer *pIStart,
20262         [in] IMarkupPointer *pIEnd,
20263         [out] ISegment **ppISegmentAdded);
20264
20265     HRESULT AddElementSegment(
20266         [in] IHTMLElement *pIElement,
20267         [out] IElementSegment **ppISegmentAdded);
20268
20269     HRESULT RemoveSegment([in] ISegment *pISegment);
20270
20271     HRESULT GetSelectionServicesListener([out] ISelectionServicesListener **ppISelectionServicesListener);
20272 }
20273
20274 /*****************************************************************************
20275  *    IHTMLEditDesigner interface
20276  */
20277 [
20278     object,
20279     pointer_default(unique),
20280     uuid(3050f662-98b5-11cf-bb82-00aa00bdce0b)
20281 ]
20282 interface IHTMLEditDesigner : IUnknown
20283 {
20284     HRESULT PreHandleEvent(
20285         [in] DISPID inEvtDispId,
20286         [in] IHTMLEventObj *pIEventObj);
20287
20288     HRESULT PostHandleEvent(
20289         [in] DISPID inEvtDispId,
20290         [in] IHTMLEventObj *pIEventObj);
20291
20292     HRESULT TranslateAccelerator(
20293         [in] DISPID inEvtDispId,
20294         [in] IHTMLEventObj *pIEventObj);
20295
20296     HRESULT PostEditorEventNotify(
20297         [in] DISPID inEvtDispId,
20298         [in] IHTMLEventObj *pIEventObj);
20299 }
20300
20301 /*****************************************************************************
20302  *    IHTMLEditServices interface
20303  */
20304 [
20305     object,
20306     pointer_default(unique),
20307     uuid(3050f663-98b5-11cf-bb82-00aa00bdce0b)
20308 ]
20309 interface IHTMLEditServices : IUnknown
20310 {
20311     HRESULT AddDesigner([in] IHTMLEditDesigner *pIDesigner);
20312
20313     HRESULT RemoveDesigner([in] IHTMLEditDesigner *pIDesigner);
20314
20315     HRESULT GetSelectionServices(
20316         [in] IMarkupContainer *pIContainer,
20317         [out] ISelectionServices **ppSelSvc);
20318
20319     HRESULT MoveToSelectionAnchor([in] IMarkupPointer *pIStartAnchor);
20320
20321     HRESULT MoveToSelectionEnd([in] IMarkupPointer *pIEndAnchor);
20322
20323     HRESULT SelectRange(
20324         [in] IMarkupPointer* pStart,
20325         [in] IMarkupPointer* pEnd,
20326         [in] SELECTION_TYPE eType);
20327 }
20328
20329 } /* library MSHTML */