mshtml: Add missing interfaces.
[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     odl,
2250     oleautomation,
2251     dual,
2252     uuid(3050f656-98b5-11cf-bb82-00aa00bdce0b)
2253 ]
2254 interface IHTMLStyle3 : IDispatch
2255 {
2256     [propput, id(DISPID_IHTMLSTYLE3_LAYOUTFLOW), displaybind, bindable]
2257     HRESULT layoutFlow([in] BSTR v);
2258
2259     [propget, id(DISPID_IHTMLSTYLE3_LAYOUTFLOW), displaybind, bindable]
2260     HRESULT layoutFlow([retval, out] BSTR * p);
2261
2262     [propput, id(DISPID_IHTMLSTYLE3_ZOOM), displaybind, bindable]
2263     HRESULT zoom([in] VARIANT v);
2264
2265     [propget, id(DISPID_IHTMLSTYLE3_ZOOM), displaybind, bindable]
2266     HRESULT zoom([retval, out] VARIANT * p);
2267
2268     [propput, id(DISPID_IHTMLSTYLE3_WORDWRAP), displaybind, bindable]
2269     HRESULT wordWrap([in] BSTR v);
2270
2271     [propget, id(DISPID_IHTMLSTYLE3_WORDWRAP), displaybind, bindable]
2272     HRESULT wordWrap([retval, out] BSTR * p);
2273
2274     [propput, id(DISPID_IHTMLSTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable]
2275     HRESULT textUnderlinePosition([in] BSTR v);
2276
2277     [propget, id(DISPID_IHTMLSTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable]
2278     HRESULT textUnderlinePosition([retval, out] BSTR * p);
2279
2280     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARBASECOLOR), displaybind, bindable]
2281     HRESULT scrollbarBaseColor([in] VARIANT v);
2282
2283     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARBASECOLOR), displaybind, bindable]
2284     HRESULT scrollbarBaseColor([retval, out] VARIANT * p);
2285
2286     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARFACECOLOR), displaybind, bindable]
2287     HRESULT scrollbarFaceColor([in] VARIANT v);
2288
2289     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARFACECOLOR), displaybind, bindable]
2290     HRESULT scrollbarFaceColor([retval, out] VARIANT * p);
2291
2292     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
2293     HRESULT scrollbar3dLightColor([in] VARIANT v);
2294
2295     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
2296     HRESULT scrollbar3dLightColor([retval, out] VARIANT * p);
2297
2298     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable]
2299     HRESULT scrollbarShadowColor([in] VARIANT v);
2300
2301     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable]
2302     HRESULT scrollbarShadowColor([retval, out] VARIANT * p);
2303
2304     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
2305     HRESULT scrollbarHighlightColor([in] VARIANT v);
2306
2307     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
2308     HRESULT scrollbarHighlightColor([retval, out] VARIANT * p);
2309
2310     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
2311     HRESULT scrollbarDarkShadowColor([in] VARIANT v);
2312
2313     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
2314     HRESULT scrollbarDarkShadowColor([retval, out] VARIANT * p);
2315
2316     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable]
2317     HRESULT scrollbarArrowColor([in] VARIANT v);
2318
2319     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable]
2320     HRESULT scrollbarArrowColor([retval, out] VARIANT * p);
2321
2322     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable]
2323     HRESULT scrollbarTrackColor([in] VARIANT v);
2324
2325     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable]
2326     HRESULT scrollbarTrackColor([retval, out] VARIANT * p);
2327
2328     [propput, id(DISPID_IHTMLSTYLE3_WRITINGMODE), displaybind, bindable]
2329     HRESULT writingMode([in] BSTR v);
2330
2331     [propget, id(DISPID_IHTMLSTYLE3_WRITINGMODE), displaybind, bindable]
2332     HRESULT writingMode([retval, out] BSTR * p);
2333
2334     [propput, id(DISPID_IHTMLSTYLE3_TEXTALIGNLAST), displaybind, bindable]
2335     HRESULT textAlignLast([in] BSTR v);
2336
2337     [propget, id(DISPID_IHTMLSTYLE3_TEXTALIGNLAST), displaybind, bindable]
2338     HRESULT textAlignLast([retval, out] BSTR * p);
2339
2340     [propput, id(DISPID_IHTMLSTYLE3_TEXTKASHIDASPACE), displaybind, bindable]
2341     HRESULT textKashidaSpace([in] VARIANT v);
2342
2343     [propget, id(DISPID_IHTMLSTYLE3_TEXTKASHIDASPACE), displaybind, bindable]
2344     HRESULT textKashidaSpace([retval, out] VARIANT * p);
2345 }
2346
2347 /*****************************************************************************
2348  *    IHTMLSytyle4 interface
2349  */
2350 [
2351     odl,
2352     oleautomation,
2353     dual,
2354     uuid(3050f816-98b5-11cf-bb82-00aa00bdce0b)
2355 ]
2356 interface IHTMLStyle4 : IDispatch
2357 {
2358     [propput, id(DISPID_IHTMLSTYLE4_TEXTOVERFLOW), displaybind, bindable]
2359     HRESULT textOverflow([in] BSTR v);
2360
2361     [propget, id(DISPID_IHTMLSTYLE4_TEXTOVERFLOW), displaybind, bindable]
2362     HRESULT textOverflow([retval, out] BSTR * p);
2363
2364     [propput, id(DISPID_IHTMLSTYLE4_MINHEIGHT), displaybind, bindable]
2365     HRESULT minHeight([in] VARIANT v);
2366
2367     [propget, id(DISPID_IHTMLSTYLE4_MINHEIGHT), displaybind, bindable]
2368     HRESULT minHeight([retval, out] VARIANT * p);
2369 }
2370
2371 [
2372     noncreatable,
2373     uuid(3050f285-98b5-11cf-bb82-00aa00bdce0b)
2374 ]
2375 coclass HTMLStyle
2376 {
2377     [default] dispinterface DispHTMLStyle;
2378     interface IHTMLStyle;
2379     interface IHTMLStyle2;
2380     interface IHTMLStyle3;
2381     interface IHTMLStyle4;
2382     /* interface IHTMLStyle5; */
2383 }
2384
2385 /*****************************************************************************
2386  *    IHTMLRenderStyle interface
2387  */
2388 [
2389     odl,
2390     oleautomation,
2391     dual,
2392     uuid(3050f6ae-98b5-11cf-bb82-00aa00bdce0b)
2393 ]
2394 interface IHTMLRenderStyle : IDispatch
2395 {
2396     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTLINETHROUGHSTYLE), displaybind, bindable]
2397     HRESULT textLineThroughStyle([in] BSTR v);
2398
2399     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTLINETHROUGHSTYLE), displaybind, bindable]
2400     HRESULT textLineThroughStyle([retval, out] BSTR *p);
2401
2402     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTUNDERLINESTYLE), displaybind, bindable]
2403     HRESULT textUnderlineStyle([in] BSTR v);
2404
2405     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTUNDERLINESTYLE), displaybind, bindable]
2406     HRESULT textUnderlineStyle([retval, out] BSTR *p);
2407
2408     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTEFFECT), displaybind, bindable]
2409     HRESULT textEffect([in] BSTR v);
2410
2411     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTEFFECT), displaybind, bindable]
2412     HRESULT textEffect([retval, out] BSTR *p);
2413
2414     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTCOLOR), displaybind, bindable]
2415     HRESULT textColor([in] VARIANT v);
2416
2417     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTCOLOR), displaybind, bindable]
2418     HRESULT textColor([retval, out] VARIANT *p);
2419
2420     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTBACKGROUNDCOLOR), displaybind, bindable]
2421     HRESULT textBackgroundColor([in] VARIANT v);
2422
2423     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTBACKGROUNDCOLOR), displaybind, bindable]
2424     HRESULT textBackgroundColor([retval, out] VARIANT *p);
2425
2426     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATIONCOLOR), displaybind, bindable]
2427     HRESULT textDecorationColor([in] VARIANT v);
2428
2429     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATIONCOLOR), displaybind, bindable]
2430     HRESULT textDecorationColor([retval, out] VARIANT *p);
2431
2432     [propput, id(DISPID_IHTMLRENDERSTYLE_RENDERINGPRIORITY), displaybind, bindable]
2433     HRESULT renderingPriority([in] long v);
2434
2435     [propget, id(DISPID_IHTMLRENDERSTYLE_RENDERINGPRIORITY), displaybind, bindable]
2436     HRESULT renderingPriority([retval, out] long *p);
2437
2438     [propput, id(DISPID_IHTMLRENDERSTYLE_DEFAULTTEXTSELECTION), displaybind, bindable]
2439     HRESULT defaultTextSelection([in] BSTR v);
2440
2441     [propget, id(DISPID_IHTMLRENDERSTYLE_DEFAULTTEXTSELECTION), displaybind, bindable]
2442     HRESULT defaultTextSelection([retval, out] BSTR *p);
2443
2444     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATION), displaybind, bindable]
2445     HRESULT textDecoration([in] BSTR v);
2446
2447     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATION), displaybind, bindable]
2448     HRESULT textDecoration([retval, out] BSTR *p);
2449 }
2450
2451 /*****************************************************************************
2452  *    IHTMLCurrentStyle interface
2453  */
2454 [
2455     odl,
2456     oleautomation,
2457     dual,
2458     uuid(3050f3db-98b5-11cf-bb82-00aa00bdce0b)
2459 ]
2460 interface IHTMLCurrentStyle : IDispatch
2461 {
2462     [propget, id(DISPID_IHTMLCURRENTSTYLE_POSITION), displaybind, bindable]
2463     HRESULT position([retval, out] BSTR *p);
2464
2465     [propget, id(DISPID_IHTMLCURRENTSTYLE_STYLEFLOAT), displaybind, bindable]
2466     HRESULT styleFloat([retval, out] BSTR *p);
2467
2468     [propget, id(DISPID_IHTMLCURRENTSTYLE_COLOR), displaybind, bindable]
2469     HRESULT color([retval, out] VARIANT *p);
2470
2471     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
2472     HRESULT backgroundColor([retval, out] VARIANT *p);
2473
2474     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTFAMILY), displaybind, bindable]
2475     HRESULT fontFamily([retval, out] BSTR *p);
2476
2477     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSTYLE), displaybind, bindable]
2478     HRESULT fontStyle([retval, out] BSTR *p);
2479
2480     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTVARIANT), displaybind, bindable, hidden]
2481     HRESULT fontVariant([retval, out] BSTR *p);
2482
2483     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTWEIGHT), displaybind, bindable]
2484     HRESULT fontWeight([retval, out] VARIANT *p);
2485
2486     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSIZE), displaybind, bindable]
2487     HRESULT fontSize([retval, out] VARIANT *p);
2488
2489     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
2490     HRESULT backgroundImage([retval, out] BSTR *p);
2491
2492     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
2493     HRESULT backgroundPositionX([retval, out] VARIANT *p);
2494
2495     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
2496     HRESULT backgroundPositionY([retval, out] VARIANT *p);
2497
2498     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
2499     HRESULT backgroundRepeat([retval, out] BSTR *p);
2500
2501     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
2502     HRESULT borderLeftColor([retval, out] VARIANT *p);
2503
2504     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPCOLOR), displaybind, bindable]
2505     HRESULT borderTopColor([retval, out] VARIANT *p);
2506
2507     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
2508     HRESULT borderRightColor([retval, out] VARIANT *p);
2509
2510     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
2511     HRESULT borderBottomColor([retval, out] VARIANT *p);
2512
2513     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPSTYLE), displaybind, bindable]
2514     HRESULT borderTopStyle([retval, out] BSTR *p);
2515
2516     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
2517     HRESULT borderRightStyle([retval, out] BSTR *p);
2518
2519     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
2520     HRESULT borderBottomStyle([retval, out] BSTR *p);
2521
2522     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
2523     HRESULT borderLeftStyle([retval, out] BSTR *p);
2524
2525     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPWIDTH), displaybind, bindable]
2526     HRESULT borderTopWidth([retval, out] VARIANT *p);
2527
2528     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
2529     HRESULT borderRightWidth([retval, out] VARIANT *p);
2530
2531     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
2532     HRESULT borderBottomWidth([retval, out] VARIANT *p);
2533
2534     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
2535     HRESULT borderLeftWidth([retval, out] VARIANT *p);
2536
2537     [propget, id(DISPID_IHTMLCURRENTSTYLE_LEFT), displaybind, bindable]
2538     HRESULT left([retval, out] VARIANT *p);
2539
2540     [propget, id(DISPID_IHTMLCURRENTSTYLE_TOP), displaybind, bindable]
2541     HRESULT top([retval, out] VARIANT *p);
2542
2543     [propget, id(DISPID_IHTMLCURRENTSTYLE_WIDTH), displaybind, bindable]
2544     HRESULT width([retval, out] VARIANT *p);
2545
2546     [propget, id(DISPID_IHTMLCURRENTSTYLE_HEIGHT), displaybind, bindable]
2547     HRESULT height([retval, out] VARIANT *p);
2548
2549     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGLEFT), displaybind, bindable]
2550     HRESULT paddingLeft([retval, out] VARIANT *p);
2551
2552     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGTOP), displaybind, bindable]
2553     HRESULT paddingTop([retval, out] VARIANT *p);
2554
2555     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGRIGHT), displaybind, bindable]
2556     HRESULT paddingRight([retval, out] VARIANT *p);
2557
2558     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGBOTTOM), displaybind, bindable]
2559     HRESULT paddingBottom([retval, out] VARIANT *p);
2560
2561     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTALIGN), displaybind, bindable]
2562     HRESULT textAlign([retval, out] BSTR *p);
2563
2564     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTDECORATION), displaybind, bindable]
2565     HRESULT textDecoration([retval, out] BSTR *p);
2566
2567     [propget, id(DISPID_IHTMLCURRENTSTYLE_DISPLAY), displaybind, bindable]
2568     HRESULT display([retval, out] BSTR *p);
2569
2570     [propget, id(DISPID_IHTMLCURRENTSTYLE_VISIBILITY), displaybind, bindable]
2571     HRESULT visibility([retval, out] BSTR *p);
2572
2573     [propget, id(DISPID_IHTMLCURRENTSTYLE_ZINDEX), displaybind, bindable]
2574     HRESULT zIndex([retval, out] VARIANT *p);
2575
2576     [propget, id(DISPID_IHTMLCURRENTSTYLE_LETTERSPACING), displaybind, bindable]
2577     HRESULT letterSpacing([retval, out] VARIANT *p);
2578
2579     [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEHEIGHT), displaybind, bindable]
2580     HRESULT lineHeight([retval, out] VARIANT *p);
2581
2582     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTINDENT), displaybind, bindable]
2583     HRESULT textIndent([retval, out] VARIANT *p);
2584
2585     [propget, id(DISPID_IHTMLCURRENTSTYLE_VERTICALALIGN), displaybind, bindable]
2586     HRESULT verticalAlign([retval, out] VARIANT *p);
2587
2588     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
2589     HRESULT backgroundAttachment([retval, out] BSTR *p);
2590
2591     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINTOP), displaybind, bindable]
2592     HRESULT marginTop([retval, out] VARIANT *p);
2593
2594     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINRIGHT), displaybind, bindable]
2595     HRESULT marginRight([retval, out] VARIANT *p);
2596
2597     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINBOTTOM), displaybind, bindable]
2598     HRESULT marginBottom([retval, out] VARIANT *p);
2599
2600     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINLEFT), displaybind, bindable]
2601     HRESULT marginLeft([retval, out] VARIANT *p);
2602
2603     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLEAR), displaybind, bindable]
2604     HRESULT clear([retval, out] BSTR *p);
2605
2606     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLETYPE), displaybind, bindable]
2607     HRESULT listStyleType([retval, out] BSTR *p);
2608
2609     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
2610     HRESULT listStylePosition([retval, out] BSTR *p);
2611
2612     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
2613     HRESULT listStyleImage([retval, out] BSTR *p);
2614
2615     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPTOP), displaybind, bindable]
2616     HRESULT clipTop([retval, out] VARIANT *p);
2617
2618     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPRIGHT), displaybind, bindable]
2619     HRESULT clipRight([retval, out] VARIANT *p);
2620
2621     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPBOTTOM), displaybind, bindable]
2622     HRESULT clipBottom([retval, out] VARIANT *p);
2623
2624     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPLEFT), displaybind, bindable]
2625     HRESULT clipLeft([retval, out] VARIANT *p);
2626
2627     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOW), displaybind, bindable]
2628     HRESULT overflow([retval, out] BSTR *p);
2629
2630     [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
2631     HRESULT pageBreakBefore([retval, out] BSTR *p);
2632
2633     [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKAFTER), displaybind, bindable]
2634     HRESULT pageBreakAfter([retval, out] BSTR *p);
2635
2636     [propget, id(DISPID_IHTMLCURRENTSTYLE_CURSOR), displaybind, bindable]
2637     HRESULT cursor([retval, out] BSTR *p);
2638
2639     [propget, id(DISPID_IHTMLCURRENTSTYLE_TABLELAYOUT), displaybind, bindable]
2640     HRESULT tableLayout([retval, out] BSTR *p);
2641
2642     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLLAPSE), displaybind, bindable]
2643     HRESULT borderCollapse([retval, out] BSTR *p);
2644
2645     [propget, id(DISPID_IHTMLCURRENTSTYLE_DIRECTION), displaybind, bindable]
2646     HRESULT direction([retval, out] BSTR *p);
2647
2648     [propget, id(DISPID_IHTMLCURRENTSTYLE_BEHAVIOR), displaybind, bindable]
2649     HRESULT behavior([retval, out] BSTR *p);
2650
2651     [id(DISPID_IHTMLCURRENTSTYLE_GETATTRIBUTE)]
2652     HRESULT getAttribute(
2653         [in] BSTR strAttributeName,
2654         [defaultvalue(0), in] LONG lFlags,
2655         [retval, out] VARIANT *AttributeValue);
2656
2657     [propget, id(DISPID_IHTMLCURRENTSTYLE_UNICODEBIDI), displaybind, bindable]
2658     HRESULT unicodeBidi([retval, out] BSTR *p);
2659
2660     [propget, id(DISPID_IHTMLCURRENTSTYLE_RIGHT), displaybind, bindable]
2661     HRESULT right([retval, out] VARIANT *p);
2662
2663     [propget, id(DISPID_IHTMLCURRENTSTYLE_BOTTOM), displaybind, bindable]
2664     HRESULT bottom([retval, out] VARIANT *p);
2665
2666     [propget, id(DISPID_IHTMLCURRENTSTYLE_IMEMODE), displaybind, bindable]
2667     HRESULT imeMode([retval, out] BSTR *p);
2668
2669     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYALIGN), displaybind, bindable]
2670     HRESULT rubyAlign([retval, out] BSTR *p);
2671
2672     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYPOSITION), displaybind, bindable]
2673     HRESULT rubyPosition([retval, out] BSTR *p);
2674
2675     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYOVERHANG), displaybind, bindable]
2676     HRESULT rubyOverhang([retval, out] BSTR *p);
2677
2678     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTAUTOSPACE), displaybind, bindable]
2679     HRESULT textAutospace([retval, out] BSTR *p);
2680
2681     [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEBREAK), displaybind, bindable]
2682     HRESULT lineBreak([retval, out] BSTR *p);
2683
2684     [propget, id(DISPID_IHTMLCURRENTSTYLE_WORDBREAK), displaybind, bindable]
2685     HRESULT wordBreak([retval, out] BSTR *p);
2686
2687     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFY), displaybind, bindable]
2688     HRESULT textJustify([retval, out] BSTR *p);
2689
2690     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFYTRIM), displaybind, bindable]
2691     HRESULT textJustifyTrim([retval, out] BSTR *p);
2692
2693     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTKASHIDA), displaybind, bindable]
2694     HRESULT textKashida([retval, out] VARIANT *p);
2695
2696     [propget, id(DISPID_IHTMLCURRENTSTYLE_BLOCKDIRECTION), displaybind, bindable]
2697     HRESULT blockDirection([retval, out] BSTR *p);
2698
2699     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDCHAR), displaybind, bindable]
2700     HRESULT layoutGridChar([retval, out] VARIANT *p);
2701
2702     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDLINE), displaybind, bindable]
2703     HRESULT layoutGridLine([retval, out] VARIANT *p);
2704
2705     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDMODE), displaybind, bindable]
2706     HRESULT layoutGridMode([retval, out] BSTR *p);
2707
2708     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDTYPE), displaybind, bindable]
2709     HRESULT layoutGridType([retval, out] BSTR *p);
2710
2711     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERSTYLE), displaybind, bindable]
2712     HRESULT borderStyle([retval, out] BSTR *p);
2713
2714     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLOR), displaybind, bindable]
2715     HRESULT borderColor([retval, out] BSTR *p);
2716
2717     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERWIDTH), displaybind, bindable]
2718     HRESULT borderWidth([retval, out] BSTR *p);
2719
2720     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDING), displaybind, bindable]
2721     HRESULT padding([retval, out] BSTR *p);
2722
2723     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGIN), displaybind, bindable]
2724     HRESULT margin([retval, out] BSTR *p);
2725
2726     [propget, id(DISPID_IHTMLCURRENTSTYLE_ACCELERATOR), displaybind, bindable]
2727     HRESULT accelerator([retval, out] BSTR *p);
2728
2729     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWX), displaybind, bindable]
2730     HRESULT overflowX([retval, out] BSTR *p);
2731
2732     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWY), displaybind, bindable]
2733     HRESULT overflowY([retval, out] BSTR *p);
2734
2735     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTTRANSFORM), displaybind, bindable]
2736     HRESULT textTransform([retval, out] BSTR *p);
2737 }
2738
2739 /*****************************************************************************
2740  *    IHTMLCurrentStyle2 interface
2741  */
2742 [
2743     odl,
2744     oleautomation,
2745     dual,
2746     uuid(3050f658-98b5-11cf-bb82-00aa00bdce0b)
2747 ]
2748 interface IHTMLCurrentStyle2 : IDispatch
2749 {
2750     [propget, id(DISPID_IHTMLCURRENTSTYLE2_LAYOUTFLOW), displaybind, bindable]
2751     HRESULT layoutFlow([retval, out] BSTR * p);
2752
2753     [propget, id(DISPID_IHTMLCURRENTSTYLE2_WORDWRAP), displaybind, bindable]
2754     HRESULT wordWrap([retval, out] BSTR * p);
2755
2756     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTUNDERLINEPOSITION), displaybind, bindable]
2757     HRESULT textUnderlinePosition([retval, out] BSTR * p);
2758
2759     [propget, id(DISPID_IHTMLCURRENTSTYLE2_HASLAYOUT), displaybind, bindable]
2760     HRESULT hasLayout([retval, out] VARIANT_BOOL * p);
2761
2762     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARBASECOLOR), displaybind, bindable]
2763     HRESULT scrollbarBaseColor([retval, out] VARIANT * p);
2764
2765     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARFACECOLOR), displaybind, bindable]
2766     HRESULT scrollbarFaceColor([retval, out] VARIANT * p);
2767
2768     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
2769     HRESULT scrollbar3dLightColor([retval, out] VARIANT * p);
2770
2771     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARSHADOWCOLOR), displaybind, bindable]
2772     HRESULT scrollbarShadowColor([retval, out] VARIANT * p);
2773
2774     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
2775     HRESULT scrollbarHighlightColor([retval, out] VARIANT * p);
2776
2777     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
2778     HRESULT scrollbarDarkShadowColor([retval, out] VARIANT * p);
2779
2780     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARARROWCOLOR), displaybind, bindable]
2781     HRESULT scrollbarArrowColor([retval, out] VARIANT * p);
2782
2783     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARTRACKCOLOR), displaybind, bindable]
2784     HRESULT scrollbarTrackColor([retval, out] VARIANT * p);
2785
2786     [propget, id(DISPID_IHTMLCURRENTSTYLE2_WRITINGMODE), displaybind, bindable]
2787     HRESULT writingMode([retval, out] BSTR * p);
2788
2789     [propget, id(DISPID_IHTMLCURRENTSTYLE2_ZOOM), displaybind, bindable]
2790     HRESULT zoom([retval, out] VARIANT * p);
2791
2792     [propget, id(DISPID_IHTMLCURRENTSTYLE2_FILTER), displaybind, bindable]
2793     HRESULT filter([retval, out] BSTR * p);
2794
2795     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTALIGNLAST), displaybind, bindable]
2796     HRESULT textAlignLast([retval, out] BSTR * p);
2797
2798     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTKASHIDASPACE), displaybind, bindable]
2799     HRESULT textKashidaSpace([retval, out] VARIANT * p);
2800
2801     [propget, id(DISPID_IHTMLCURRENTSTYLE2_ISBLOCK), displaybind, bindable, hidden, restricted, nonbrowsable]
2802     HRESULT isBlock([retval, out] VARIANT_BOOL * p);
2803 }
2804
2805 /*****************************************************************************
2806  *    IHTMLCurrentStyle3 interface
2807  */
2808 [
2809     odl,
2810     oleautomation,
2811     dual,
2812     uuid(3050f818-98b5-11cf-bb82-00aa00bdce0b)
2813 ]
2814 interface IHTMLCurrentStyle3 : IDispatch
2815 {
2816     [propget, id(DISPID_IHTMLCURRENTSTYLE3_TEXTOVERFLOW), displaybind, bindable]
2817     HRESULT textOverflow([retval, out] BSTR * p);
2818
2819     [propget, id(DISPID_IHTMLCURRENTSTYLE3_MINHEIGHT), displaybind, bindable]
2820     HRESULT minHeight([retval, out] VARIANT * p);
2821
2822     [propget, id(DISPID_IHTMLCURRENTSTYLE3_WORDSPACING), displaybind, bindable]
2823     HRESULT wordSpacing([retval, out] VARIANT * p);
2824
2825     [propget, id(DISPID_IHTMLCURRENTSTYLE3_WHITESPACE), displaybind, bindable]
2826     HRESULT whiteSpace([retval, out] BSTR * p);
2827 }
2828
2829 /*****************************************************************************
2830  *    IHTMLCurrentStyle4 interface
2831  */
2832 [
2833     odl,
2834     oleautomation,
2835     dual,
2836     uuid(3050f33b-98b5-11cf-bb82-00aa00bdce0b)
2837 ]
2838 interface IHTMLCurrentStyle4 : IDispatch
2839 {
2840     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MSINTERPOLATIONMODE), displaybind, bindable]
2841     HRESULT msInterpolationMode([retval, out] BSTR * p);
2842
2843     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MAXHEIGHT), displaybind, bindable]
2844     HRESULT maxHeight([retval, out] VARIANT * p);
2845
2846     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MINWIDTH), displaybind, bindable]
2847     HRESULT minWidth([retval, out] VARIANT * p);
2848
2849     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MAXWIDTH), displaybind, bindable]
2850     HRESULT maxWidth([retval, out] VARIANT * p);
2851 };
2852
2853 /*****************************************************************************
2854  *    DispHTMLCurrentStyle dispinterface
2855  */
2856 [
2857     hidden,
2858     uuid(3050f557-98b5-11cf-bb82-00aa00bdce0b)
2859 ]
2860 dispinterface DispHTMLCurrentStyle
2861 {
2862 properties:
2863 methods:
2864     [propget, id(DISPID_IHTMLCURRENTSTYLE_POSITION), displaybind, bindable]
2865     BSTR position();
2866
2867     [propget, id(DISPID_IHTMLCURRENTSTYLE_STYLEFLOAT), displaybind, bindable]
2868     BSTR styleFloat();
2869
2870     [propget, id(DISPID_IHTMLCURRENTSTYLE_COLOR), displaybind, bindable]
2871     VARIANT color();
2872
2873     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
2874     VARIANT backgroundColor();
2875
2876     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTFAMILY), displaybind, bindable]
2877     BSTR fontFamily();
2878
2879     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSTYLE), displaybind, bindable]
2880     BSTR fontStyle();
2881
2882     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTVARIANT), displaybind, bindable, hidden]
2883     BSTR fontVariant();
2884
2885     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTWEIGHT), displaybind, bindable]
2886     VARIANT fontWeight();
2887
2888     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSIZE), displaybind, bindable]
2889     VARIANT fontSize();
2890
2891     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
2892     BSTR backgroundImage();
2893
2894     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
2895     VARIANT backgroundPositionX();
2896
2897     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
2898     VARIANT backgroundPositionY();
2899
2900     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
2901     BSTR backgroundRepeat();
2902
2903     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
2904     VARIANT borderLeftColor();
2905
2906     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPCOLOR), displaybind, bindable]
2907     VARIANT borderTopColor();
2908
2909     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
2910     VARIANT borderRightColor();
2911
2912     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
2913     VARIANT borderBottomColor();
2914
2915     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPSTYLE), displaybind, bindable]
2916     BSTR borderTopStyle();
2917
2918     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
2919     BSTR borderRightStyle();
2920
2921     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
2922     BSTR borderBottomStyle();
2923
2924     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
2925     BSTR borderLeftStyle();
2926
2927     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPWIDTH), displaybind, bindable]
2928     VARIANT borderTopWidth();
2929
2930     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
2931     VARIANT borderRightWidth();
2932
2933     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
2934     VARIANT borderBottomWidth();
2935
2936     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
2937     VARIANT borderLeftWidth();
2938
2939     [propget, id(DISPID_IHTMLCURRENTSTYLE_LEFT), displaybind, bindable]
2940     VARIANT left();
2941
2942     [propget, id(DISPID_IHTMLCURRENTSTYLE_TOP), displaybind, bindable]
2943     VARIANT top();
2944
2945     [propget, id(DISPID_IHTMLCURRENTSTYLE_WIDTH), displaybind, bindable]
2946     VARIANT width();
2947
2948     [propget, id(DISPID_IHTMLCURRENTSTYLE_HEIGHT), displaybind, bindable]
2949     VARIANT height();
2950
2951     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGLEFT), displaybind, bindable]
2952     VARIANT paddingLeft();
2953
2954     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGTOP), displaybind, bindable]
2955     VARIANT paddingTop();
2956
2957     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGRIGHT), displaybind, bindable]
2958     VARIANT paddingRight();
2959
2960     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGBOTTOM), displaybind, bindable]
2961     VARIANT paddingBottom();
2962
2963     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTALIGN), displaybind, bindable]
2964     BSTR textAlign();
2965
2966     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTDECORATION), displaybind, bindable]
2967     BSTR textDecoration();
2968
2969     [propget, id(DISPID_IHTMLCURRENTSTYLE_DISPLAY), displaybind, bindable]
2970     BSTR display();
2971
2972     [propget, id(DISPID_IHTMLCURRENTSTYLE_VISIBILITY), displaybind, bindable]
2973     BSTR visibility();
2974
2975     [propget, id(DISPID_IHTMLCURRENTSTYLE_ZINDEX), displaybind, bindable]
2976     VARIANT zIndex();
2977
2978     [propget, id(DISPID_IHTMLCURRENTSTYLE_LETTERSPACING), displaybind, bindable]
2979     VARIANT letterSpacing();
2980
2981     [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEHEIGHT), displaybind, bindable]
2982     VARIANT lineHeight();
2983
2984     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTINDENT), displaybind, bindable]
2985     VARIANT textIndent();
2986
2987     [propget, id(DISPID_IHTMLCURRENTSTYLE_VERTICALALIGN), displaybind, bindable]
2988     VARIANT verticalAlign();
2989
2990     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
2991     BSTR backgroundAttachment();
2992
2993     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINTOP), displaybind, bindable]
2994     VARIANT marginTop();
2995
2996     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINRIGHT), displaybind, bindable]
2997     VARIANT marginRight();
2998
2999     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINBOTTOM), displaybind, bindable]
3000     VARIANT marginBottom();
3001
3002     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINLEFT), displaybind, bindable]
3003     VARIANT marginLeft();
3004
3005     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLEAR), displaybind, bindable]
3006     BSTR clear();
3007
3008     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLETYPE), displaybind, bindable]
3009     BSTR listStyleType();
3010
3011     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
3012     BSTR listStylePosition();
3013
3014     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
3015     BSTR listStyleImage();
3016
3017     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPTOP), displaybind, bindable]
3018     VARIANT clipTop();
3019
3020     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPRIGHT), displaybind, bindable]
3021     VARIANT clipRight();
3022
3023     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPBOTTOM), displaybind, bindable]
3024     VARIANT clipBottom();
3025
3026     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPLEFT), displaybind, bindable]
3027     VARIANT clipLeft();
3028
3029     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOW), displaybind, bindable]
3030     BSTR overflow();
3031
3032     [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
3033     BSTR pageBreakBefore();
3034
3035     [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKAFTER), displaybind, bindable]
3036     BSTR pageBreakAfter();
3037
3038     [propget, id(DISPID_IHTMLCURRENTSTYLE_CURSOR), displaybind, bindable]
3039     BSTR cursor();
3040
3041     [propget, id(DISPID_IHTMLCURRENTSTYLE_TABLELAYOUT), displaybind, bindable]
3042     BSTR tableLayout();
3043
3044     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLLAPSE), displaybind, bindable]
3045     BSTR borderCollapse();
3046
3047     [propget, id(DISPID_IHTMLCURRENTSTYLE_DIRECTION), displaybind, bindable]
3048     BSTR direction();
3049
3050     [propget, id(DISPID_IHTMLCURRENTSTYLE_BEHAVIOR), displaybind, bindable]
3051     BSTR behavior();
3052
3053     [id(DISPID_IHTMLCURRENTSTYLE_GETATTRIBUTE)]
3054     VARIANT getAttribute(
3055             [in] BSTR strAttributeName,
3056             [in, defaultvalue(0)] LONG lFlags);
3057
3058     [propget, id(DISPID_IHTMLCURRENTSTYLE_UNICODEBIDI), displaybind, bindable]
3059     BSTR unicodeBidi();
3060
3061     [propget, id(DISPID_IHTMLCURRENTSTYLE_RIGHT), displaybind, bindable]
3062     VARIANT right();
3063
3064     [propget, id(DISPID_IHTMLCURRENTSTYLE_BOTTOM), displaybind, bindable]
3065     VARIANT bottom();
3066
3067     [propget, id(DISPID_IHTMLCURRENTSTYLE_IMEMODE), displaybind, bindable]
3068     BSTR imeMode();
3069
3070     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYALIGN), displaybind, bindable]
3071     BSTR rubyAlign();
3072
3073     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYPOSITION), displaybind, bindable]
3074     BSTR rubyPosition();
3075
3076     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYOVERHANG), displaybind, bindable]
3077     BSTR rubyOverhang();
3078
3079     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTAUTOSPACE), displaybind, bindable]
3080     BSTR textAutospace();
3081
3082     [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEBREAK), displaybind, bindable]
3083     BSTR lineBreak();
3084
3085     [propget, id(DISPID_IHTMLCURRENTSTYLE_WORDBREAK), displaybind, bindable]
3086     BSTR wordBreak();
3087
3088     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFY), displaybind, bindable]
3089     BSTR textJustify();
3090
3091     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFYTRIM), displaybind, bindable]
3092     BSTR textJustifyTrim();
3093
3094     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTKASHIDA), displaybind, bindable]
3095     VARIANT textKashida();
3096
3097     [propget, id(DISPID_IHTMLCURRENTSTYLE_BLOCKDIRECTION), displaybind, bindable]
3098     BSTR blockDirection();
3099
3100     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDCHAR), displaybind, bindable]
3101     VARIANT layoutGridChar();
3102
3103     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDLINE), displaybind, bindable]
3104     VARIANT layoutGridLine();
3105
3106     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDMODE), displaybind, bindable]
3107     BSTR layoutGridMode();
3108
3109     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDTYPE), displaybind, bindable]
3110     BSTR layoutGridType();
3111
3112     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERSTYLE), displaybind, bindable]
3113     BSTR borderStyle();
3114
3115     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLOR), displaybind, bindable]
3116     BSTR borderColor();
3117
3118     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERWIDTH), displaybind, bindable]
3119     BSTR borderWidth();
3120
3121     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDING), displaybind, bindable]
3122     BSTR padding();
3123
3124     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGIN), displaybind, bindable]
3125     BSTR margin();
3126
3127     [propget, id(DISPID_IHTMLCURRENTSTYLE_ACCELERATOR), displaybind, bindable]
3128     BSTR accelerator();
3129
3130     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWX), displaybind, bindable]
3131     BSTR overflowX();
3132
3133     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWY), displaybind, bindable]
3134     BSTR overflowY();
3135
3136     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTTRANSFORM), displaybind, bindable]
3137     BSTR textTransform();
3138
3139     [propget, id(DISPID_IHTMLCURRENTSTYLE2_LAYOUTFLOW), displaybind, bindable]
3140     BSTR layoutFlow();
3141
3142     [propget, id(DISPID_IHTMLCURRENTSTYLE2_WORDWRAP), displaybind, bindable]
3143     BSTR wordWrap();
3144
3145     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTUNDERLINEPOSITION), displaybind, bindable]
3146     BSTR textUnderlinePosition();
3147
3148     [propget, id(DISPID_IHTMLCURRENTSTYLE2_HASLAYOUT), displaybind, bindable]
3149     VARIANT_BOOL hasLayout();
3150
3151     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARBASECOLOR), displaybind, bindable]
3152     VARIANT scrollbarBaseColor();
3153
3154     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARFACECOLOR), displaybind, bindable]
3155     VARIANT scrollbarFaceColor();
3156
3157     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
3158     VARIANT scrollbar3dLightColor();
3159
3160     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARSHADOWCOLOR), displaybind, bindable]
3161     VARIANT scrollbarShadowColor();
3162
3163     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
3164     VARIANT scrollbarHighlightColor();
3165
3166     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
3167     VARIANT scrollbarDarkShadowColor();
3168
3169     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARARROWCOLOR), displaybind, bindable]
3170     VARIANT scrollbarArrowColor();
3171
3172     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARTRACKCOLOR), displaybind, bindable]
3173     VARIANT scrollbarTrackColor();
3174
3175     [propget, id(DISPID_IHTMLCURRENTSTYLE2_WRITINGMODE), displaybind, bindable]
3176     BSTR writingMode();
3177
3178     [propget, id(DISPID_IHTMLCURRENTSTYLE2_ZOOM), displaybind, bindable]
3179     VARIANT zoom();
3180
3181     [propget, id(DISPID_IHTMLCURRENTSTYLE2_FILTER), displaybind, bindable]
3182     BSTR filter();
3183
3184     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTALIGNLAST), displaybind, bindable]
3185     BSTR textAlignLast();
3186
3187     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTKASHIDASPACE), displaybind, bindable]
3188     VARIANT textKashidaSpace();
3189
3190     [propget, id(DISPID_IHTMLCURRENTSTYLE2_ISBLOCK), displaybind, bindable, hidden, restricted, nonbrowsable]
3191     VARIANT_BOOL isBlock();
3192
3193     [propget, id(DISPID_IHTMLCURRENTSTYLE3_TEXTOVERFLOW), displaybind, bindable]
3194     BSTR textOverflow();
3195
3196     [propget, id(DISPID_IHTMLCURRENTSTYLE3_MINHEIGHT), displaybind, bindable]
3197     VARIANT minHeight();
3198
3199     [propget, id(DISPID_IHTMLCURRENTSTYLE3_WORDSPACING), displaybind, bindable]
3200     VARIANT wordSpacing();
3201
3202     [propget, id(DISPID_IHTMLCURRENTSTYLE3_WHITESPACE), displaybind, bindable]
3203     BSTR whiteSpace();
3204
3205     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MSINTERPOLATIONMODE), displaybind, bindable]
3206     BSTR msInterpolationMode();
3207
3208     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MAXHEIGHT), displaybind, bindable]
3209     VARIANT maxHeight();
3210
3211     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MINWIDTH), displaybind, bindable]
3212     VARIANT minWidth();
3213
3214     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MAXWIDTH), displaybind, bindable]
3215     VARIANT maxWidth();
3216 }
3217
3218 [
3219     noncreatable,
3220     uuid(3050f3dc-98b5-11cf-bb82-00aa00bdce0b)
3221 ]
3222 coclass HTMLCurrentStyle
3223 {
3224     [default] dispinterface DispHTMLCurrentStyle;
3225     interface IHTMLCurrentStyle;
3226     interface IHTMLCurrentStyle2;
3227     interface IHTMLCurrentStyle3;
3228     interface IHTMLCurrentStyle4;
3229 }
3230
3231 /*****************************************************************************
3232  *    IHTMLRect interface
3233  */
3234 [
3235     odl,
3236     oleautomation,
3237     dual,
3238     uuid(3050f4a3-98b5-11cf-bb82-00aa00bdce0b)
3239 ]
3240 interface IHTMLRect : IDispatch
3241 {
3242     [propput, id(DISPID_IHTMLRECT_LEFT)]
3243     HRESULT left([in] long v);
3244
3245     [propget, id(DISPID_IHTMLRECT_LEFT)]
3246     HRESULT left([retval, out] long *p);
3247
3248     [propput, id(DISPID_IHTMLRECT_TOP)]
3249     HRESULT top([in] long v);
3250
3251     [propget, id(DISPID_IHTMLRECT_TOP)]
3252     HRESULT top([retval, out] long *p);
3253
3254     [propput, id(DISPID_IHTMLRECT_RIGHT)]
3255     HRESULT right([in] long v);
3256
3257     [propget, id(DISPID_IHTMLRECT_RIGHT)]
3258     HRESULT right([retval, out] long *p);
3259
3260     [propput, id(DISPID_IHTMLRECT_BOTTOM)]
3261     HRESULT bottom([in] long v);
3262
3263     [propget, id(DISPID_IHTMLRECT_BOTTOM)]
3264     HRESULT bottom([retval, out] long *p);
3265 }
3266
3267 /*****************************************************************************
3268  *    IHTMLRectCollection interface
3269  */
3270 [
3271     odl,
3272     oleautomation,
3273     dual,
3274     uuid(3050f4a4-98b5-11cf-bb82-00aa00bdce0b)
3275 ]
3276 interface IHTMLRectCollection : IDispatch
3277 {
3278     [propget, id(DISPID_IHTMLRECTCOLLECTION_LENGTH)]
3279     HRESULT length([retval, out] long *p);
3280
3281     [propget, id(DISPID_IHTMLRECTCOLLECTION__NEWENUM), hidden, restricted]
3282     HRESULT _newEnum([retval, out] IUnknown **p);
3283
3284     [id(DISPID_IHTMLRECTCOLLECTION_ITEM)]
3285     HRESULT item(
3286         [in] VARIANT *pvarIndex,
3287         [retval, out] VARIANT *pvarResult);
3288 }
3289
3290 /*****************************************************************************
3291  *    IHTMLDOMNode interface
3292  */
3293 [
3294     odl,
3295     oleautomation,
3296     dual,
3297     uuid(3050f5da-98b5-11cf-bb82-00aa00bdce0b)
3298 ]
3299 interface IHTMLDOMNode : IDispatch
3300 {
3301     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
3302     HRESULT nodeType([retval, out] long *p);
3303
3304     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
3305     HRESULT parentNode([retval, out] IHTMLDOMNode **p);
3306
3307     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
3308     HRESULT hasChildNodes([retval, out] VARIANT_BOOL *fChildren);
3309
3310     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
3311     HRESULT childNodes([retval, out] IDispatch **p);
3312
3313     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
3314     HRESULT attributes([retval, out] IDispatch **p);
3315
3316     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
3317     HRESULT insertBefore(
3318         [in] IHTMLDOMNode *newChild,
3319         [optional, in] VARIANT refChild,
3320         [retval, out] IHTMLDOMNode **node);
3321
3322     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
3323     HRESULT removeChild(
3324         [in] IHTMLDOMNode *oldChild,
3325         [retval, out] IHTMLDOMNode **node);
3326
3327     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
3328     HRESULT replaceChild(
3329         [in] IHTMLDOMNode *newChild,
3330         [in] IHTMLDOMNode *oldChild,
3331         [retval, out] IHTMLDOMNode **node);
3332
3333     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
3334     HRESULT cloneNode(
3335         [in] VARIANT_BOOL fDeep,
3336         [retval, out] IHTMLDOMNode **clonedNode);
3337
3338     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
3339     HRESULT removeNode(
3340         [defaultvalue(0), in] VARIANT_BOOL fDeep,
3341         [retval, out] IHTMLDOMNode **removed);
3342
3343     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
3344     HRESULT swapNode(
3345         [in] IHTMLDOMNode *otherNode,
3346         [retval, out] IHTMLDOMNode **swappedNode);
3347
3348     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
3349     HRESULT replaceNode(
3350         [in] IHTMLDOMNode *replacement,
3351         [retval, out] IHTMLDOMNode **replaced);
3352
3353     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
3354     HRESULT appendChild(
3355         [in] IHTMLDOMNode *newChild,
3356         [retval, out] IHTMLDOMNode **node);
3357
3358     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
3359     HRESULT nodeName([retval, out] BSTR *p);
3360
3361     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
3362     HRESULT nodeValue([in] VARIANT v);
3363
3364     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
3365     HRESULT nodeValue([retval, out] VARIANT *p);
3366
3367     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
3368     HRESULT firstChild([retval, out] IHTMLDOMNode **p);
3369
3370     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
3371     HRESULT lastChild([retval, out] IHTMLDOMNode **p);
3372
3373     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
3374     HRESULT previousSibling([retval, out] IHTMLDOMNode **p);
3375
3376     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
3377     HRESULT nextSibling([retval, out] IHTMLDOMNode **p);
3378 }
3379
3380 /*****************************************************************************
3381  *    IHTMLDOMNode2 interface
3382  */
3383 [
3384     odl,
3385     oleautomation,
3386     dual,
3387     uuid(3050f80b-98b5-11cf-bb82-00aa00bdce0b)
3388 ]
3389 interface IHTMLDOMNode2 : IDispatch
3390 {
3391     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
3392     HRESULT ownerDocument([retval, out] IDispatch **p);
3393 }
3394
3395 /*****************************************************************************
3396  *    IHTMLDOMAttribute interface
3397  */
3398 [
3399     odl,
3400     oleautomation,
3401     dual,
3402     uuid(3050f4b0-98b5-11cf-bb82-00aa00bdce0b)
3403 ]
3404 interface IHTMLDOMAttribute : IDispatch
3405 {
3406     [propget, id(DISPID_IHTMLDOMATTRIBUTE_NODENAME)]
3407     HRESULT nodeName([retval, out] BSTR *p);
3408
3409     [propput, id(DISPID_IHTMLDOMATTRIBUTE_NODEVALUE)]
3410     HRESULT nodeValue([in] VARIANT v);
3411
3412     [propget, id(DISPID_IHTMLDOMATTRIBUTE_NODEVALUE)]
3413     HRESULT nodeValue([retval, out] VARIANT *p);
3414
3415     [propget, id(DISPID_IHTMLDOMATTRIBUTE_SPECIFIED)]
3416     HRESULT specified([retval, out] VARIANT_BOOL *p);
3417 }
3418
3419 /*****************************************************************************
3420  *    IHTMLDOMTextNode interface
3421  */
3422 [
3423     odl,
3424     oleautomation,
3425     dual,
3426     uuid(3050f4b1-98b5-11cf-bb82-00aa00bdce0b)
3427 ]
3428 interface IHTMLDOMTextNode : IDispatch
3429 {
3430     [propput, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
3431     HRESULT data([in] BSTR v);
3432
3433     [propget, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
3434     HRESULT data([out, retval] BSTR *p);
3435
3436     [id(DISPID_IHTMLDOMTEXTNODE_TOSTRING)]
3437     HRESULT toString([out, retval] BSTR *String);
3438
3439     [propget, id(DISPID_IHTMLDOMTEXTNODE_LENGTH)]
3440     HRESULT length([out, retval] long *p);
3441
3442     [id(DISPID_IHTMLDOMTEXTNODE_SPLITTEXT)]
3443     HRESULT splitText(
3444             [in] long offset,
3445             [out, retval] IHTMLDOMNode **pRetNode);
3446 }
3447
3448 /*****************************************************************************
3449  *    IHTMLDOMTextNode2 interface
3450  */
3451 [
3452     odl,
3453     oleautomation,
3454     dual,
3455     uuid(3050f809-98b5-11cf-bb82-00aa00bdce0b)
3456 ]
3457 interface IHTMLDOMTextNode2 : IDispatch
3458 {
3459     [id(DISPID_IHTMLDOMTEXTNODE2_SUBSTRINGDATA)]
3460     HRESULT substringData([in] long offset,[in] long Count,[retval, out] BSTR* pbstrsubString);
3461
3462     [id(DISPID_IHTMLDOMTEXTNODE2_APPENDDATA)]
3463     HRESULT appendData([in] BSTR bstrstring);
3464
3465     [id(DISPID_IHTMLDOMTEXTNODE2_INSERTDATA)]
3466     HRESULT insertData([in] long offset,[in] BSTR bstrstring);
3467
3468     [id(DISPID_IHTMLDOMTEXTNODE2_DELETEDATA)]
3469     HRESULT deleteData([in] long offset,[in] long Count);
3470
3471     [id(DISPID_IHTMLDOMTEXTNODE2_REPLACEDATA)]
3472     HRESULT replaceData([in] long offset,[in] long Count,[in] BSTR bstrstring);
3473 }
3474
3475 [
3476     noncreatable,
3477     uuid(3050f4ba-98b5-11cf-bb82-00aa00bdce0b)
3478 ]
3479 coclass HTMLDOMTextNode
3480 {
3481     [default]           dispinterface DispHTMLDOMTextNode;
3482                         interface IHTMLDOMTextNode;
3483                         interface IHTMLDOMTextNode2;
3484                         interface IHTMLDOMNode;
3485                         interface IHTMLDOMNode2;
3486 }
3487
3488 /*****************************************************************************
3489  *    IHTMLDOMImplementation interface
3490  */
3491 [
3492     odl,
3493     oleautomation,
3494     dual,
3495     uuid(3050f80d-98b5-11cf-bb82-00aa00bdce0b)
3496 ]
3497 interface IHTMLDOMImplementation : IDispatch
3498 {
3499     [id(DISPID_IHTMLDOMIMPLEMENTATION_HASFEATURE)]
3500     HRESULT hasFeature(
3501         [in] BSTR bstrfeature,
3502         [optional, in] VARIANT version,
3503         [retval, out] VARIANT_BOOL *pfHasFeature);
3504 }
3505
3506 /*****************************************************************************
3507  *    DispHTMLDOMTextNode dispinterface
3508  */
3509 [
3510     hidden,
3511     uuid(3050f565-98b5-11cf-bb82-00aa00bdce0b)
3512 ]
3513 dispinterface DispHTMLDOMTextNode
3514 {
3515 properties:
3516 methods:
3517     [propput, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
3518     void data(BSTR v);
3519
3520     [propget, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
3521     BSTR data();
3522
3523     [id(DISPID_IHTMLDOMTEXTNODE_TOSTRING)]
3524     BSTR toString();
3525
3526     [propget, id(DISPID_IHTMLDOMTEXTNODE_LENGTH)]
3527     long length();
3528
3529     [id(DISPID_IHTMLDOMTEXTNODE_SPLITTEXT)]
3530     IHTMLDOMNode *splitText([in] long offset);
3531
3532     [id(DISPID_IHTMLDOMTEXTNODE2_SUBSTRINGDATA)]
3533     BSTR substringData(
3534             [in] long offset,
3535             [in] long Count);
3536
3537     [id(DISPID_IHTMLDOMTEXTNODE2_APPENDDATA)]
3538     void appendData([in] BSTR bstrstring);
3539
3540     [id(DISPID_IHTMLDOMTEXTNODE2_INSERTDATA)]
3541     void insertData(
3542             [in] long offset,
3543             [in] BSTR bstrstring);
3544
3545     [id(DISPID_IHTMLDOMTEXTNODE2_DELETEDATA)]
3546     void deleteData(
3547             [in] long offset,
3548             [in] long Count);
3549
3550     [id(DISPID_IHTMLDOMTEXTNODE2_REPLACEDATA)]
3551     void replaceData(
3552             [in] long offset,
3553             [in] long Count,
3554             [in] BSTR bstrstring);
3555
3556     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
3557     long nodeType();
3558
3559     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
3560     IHTMLDOMNode *parentNode();
3561
3562     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
3563     VARIANT_BOOL hasChildNodes();
3564
3565     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
3566     IDispatch *childNodes();
3567
3568     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
3569     IDispatch *attributes();
3570
3571     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
3572     IHTMLDOMNode *insertBefore(
3573             [in] IHTMLDOMNode *newChild,
3574             [in, optional] VARIANT refChild);
3575
3576     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
3577     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
3578
3579     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
3580     IHTMLDOMNode *replaceChild(
3581             [in] IHTMLDOMNode *newChild,
3582             [in] IHTMLDOMNode *oldChild);
3583
3584     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
3585     IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
3586
3587     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
3588     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
3589
3590     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
3591     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
3592
3593     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
3594     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
3595
3596     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
3597     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
3598
3599     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
3600     BSTR nodeName();
3601
3602     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
3603     void nodeValue(VARIANT v);
3604
3605     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
3606     VARIANT nodeValue();
3607
3608     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
3609     IHTMLDOMNode *firstChild();
3610
3611     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
3612     IHTMLDOMNode *lastChild();
3613
3614     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
3615     IHTMLDOMNode *previousSibling();
3616
3617     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
3618     IHTMLDOMNode* nextSibling();
3619
3620     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
3621     IDispatch *ownerDocument();
3622 }
3623
3624 /*****************************************************************************
3625  *    IHTMLDOMChildrenCollection interface
3626  */
3627 [
3628     odl,
3629     oleautomation,
3630     dual,
3631     uuid(3050f5ab-98b5-11cf-bb82-00aa00bdce0b)
3632 ]
3633 interface IHTMLDOMChildrenCollection : IDispatch
3634 {
3635     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION_LENGTH)]
3636     HRESULT length([out, retval] long *p);
3637
3638     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION__NEWENUM), hidden, restricted]
3639     HRESULT _newEnum([out, retval] IUnknown **p);
3640
3641     [id(DISPID_IHTMLDOMCHILDRENCOLLECTION_ITEM)]
3642     HRESULT item(
3643             [in] long index,
3644             [out, retval] IDispatch **ppItem);
3645 }
3646
3647 /*****************************************************************************
3648  *    DispDOMChildrenCollection dispinterface
3649  */
3650 [
3651     hidden,
3652     uuid(3050f577-98b5-11cf-bb82-00aa00bdce0b)
3653 ]
3654 dispinterface DispDOMChildrenCollection
3655 {
3656 properties:
3657 methods:
3658     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION_LENGTH)]
3659     long length();
3660
3661     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION__NEWENUM), hidden, restricted]
3662     IUnknown *_newEnum();
3663
3664     [id(DISPID_IHTMLDOMCHILDRENCOLLECTION_ITEM)]
3665     IDispatch *item([in] long index);
3666 }
3667
3668 interface IHTMLElementCollection;
3669
3670 /*****************************************************************************
3671  *    IHTMLElement interface
3672  */
3673 [
3674     odl,
3675     dual,
3676     oleautomation,
3677     uuid(3050f1FF-98B5-11CF-BB82-00AA00BDCE0B)
3678 ]
3679 interface IHTMLElement : IDispatch
3680 {
3681     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
3682     HRESULT setAttribute(
3683         [in] BSTR strAttributeName,
3684         [in] VARIANT AttributeValue,
3685         [defaultvalue(1), in] LONG lFlags);
3686
3687     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
3688     HRESULT getAttribute(
3689         [in] BSTR strAttributeName,
3690         [defaultvalue(0), in] LONG lFlags,
3691         [retval, out] VARIANT *AttributeValue);
3692
3693     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
3694     HRESULT removeAttribute(
3695         [in] BSTR strAttributeName,
3696         [defaultvalue(1), in] LONG lFlags,
3697         [retval, out] VARIANT_BOOL *pfSuccess);
3698
3699     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME)]
3700     HRESULT className([in] BSTR v);
3701
3702     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME)]
3703     HRESULT className([retval, out] BSTR *p);
3704
3705     [propput, id(DISPID_IHTMLELEMENT_ID)]
3706     HRESULT id([in] BSTR v);
3707
3708     [propget, id(DISPID_IHTMLELEMENT_ID)]
3709     HRESULT id([retval, out] BSTR *p);
3710
3711     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
3712     HRESULT tagName([retval, out] BSTR *p);
3713
3714     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
3715     HRESULT parentElement([retval, out] IHTMLElement **p);
3716
3717     [propget, id(DISPID_IHTMLELEMENT_STYLE)]
3718     HRESULT style([retval, out] IHTMLStyle **p);
3719
3720     [propput, id(DISPID_IHTMLELEMENT_ONHELP)]
3721     HRESULT onhelp([in] VARIANT v);
3722
3723     [propget, id(DISPID_IHTMLELEMENT_ONHELP)]
3724     HRESULT onhelp([retval, out] VARIANT *p);
3725
3726     [propput, id(DISPID_IHTMLELEMENT_ONCLICK)]
3727     HRESULT onclick([in] VARIANT v);
3728
3729     [propget, id(DISPID_IHTMLELEMENT_ONCLICK)]
3730     HRESULT onclick([retval, out] VARIANT *p);
3731
3732     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK)]
3733     HRESULT ondblclick([in] VARIANT v);
3734
3735     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK)]
3736     HRESULT ondblclick([retval, out] VARIANT *p);
3737
3738     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN)]
3739     HRESULT onkeydown([in] VARIANT v);
3740
3741     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN)]
3742     HRESULT onkeydown([retval, out] VARIANT *p);
3743
3744     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP)]
3745     HRESULT onkeyup([in] VARIANT v);
3746
3747     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP)]
3748     HRESULT onkeyup([retval, out] VARIANT *p);
3749
3750     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS)]
3751     HRESULT onkeypress([in] VARIANT v);
3752
3753     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS)]
3754     HRESULT onkeypress([retval, out] VARIANT *p);
3755
3756     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT)]
3757     HRESULT onmouseout([in] VARIANT v);
3758
3759     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT)]
3760     HRESULT onmouseout([retval, out] VARIANT *p);
3761
3762     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER)]
3763     HRESULT onmouseover([in] VARIANT v);
3764
3765     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER)]
3766     HRESULT onmouseover([retval, out] VARIANT *p);
3767
3768     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE)]
3769     HRESULT onmousemove([in] VARIANT v);
3770
3771     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE)]
3772     HRESULT onmousemove([retval, out] VARIANT *p);
3773
3774     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN)]
3775     HRESULT onmousedown([in] VARIANT v);
3776
3777     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN)]
3778     HRESULT onmousedown([retval, out] VARIANT *p);
3779
3780     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP)]
3781     HRESULT onmouseup([in] VARIANT v);
3782
3783     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP)]
3784     HRESULT onmouseup([retval, out] VARIANT *p);
3785
3786     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
3787     HRESULT document([retval, out] IDispatch **p);
3788
3789     [propput, id(DISPID_IHTMLELEMENT_TITLE)]
3790     HRESULT title([in] BSTR v);
3791
3792     [propget, id(DISPID_IHTMLELEMENT_TITLE)]
3793     HRESULT title([retval, out] BSTR *p);
3794
3795     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE)]
3796     HRESULT language([in] BSTR v);
3797
3798     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE)]
3799     HRESULT language([retval, out] BSTR *p);
3800
3801     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART)]
3802     HRESULT onselectstart([in] VARIANT v);
3803
3804     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART)]
3805     HRESULT onselectstart([retval, out] VARIANT *p);
3806
3807     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
3808     HRESULT scrollIntoView([optional, in] VARIANT varargStart);
3809
3810     [id(DISPID_IHTMLELEMENT_CONTAINS)]
3811     HRESULT contains(
3812         [in] IHTMLElement *pChild,
3813         [retval, out] VARIANT_BOOL *pfResult);
3814
3815     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX)]
3816     HRESULT sourceIndex([retval, out] long *p);
3817
3818     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
3819     HRESULT recordNumber([retval, out] VARIANT *p);
3820
3821     [propput, id(DISPID_IHTMLELEMENT_LANG)]
3822     HRESULT lang([in] BSTR v);
3823
3824     [propget, id(DISPID_IHTMLELEMENT_LANG)]
3825     HRESULT lang([retval, out] BSTR *p);
3826
3827     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
3828     HRESULT offsetLeft([retval, out] long *p);
3829
3830     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
3831     HRESULT offsetTop([retval, out] long *p);
3832
3833     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
3834     HRESULT offsetWidth([retval, out] long *p);
3835
3836     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
3837     HRESULT offsetHeight([retval, out] long *p);
3838
3839     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
3840     HRESULT offsetParent([retval, out] IHTMLElement **p);
3841
3842     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
3843     HRESULT innerHTML([in] BSTR v);
3844
3845     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
3846     HRESULT innerHTML([retval, out] BSTR *p);
3847
3848     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
3849     HRESULT innerText([in] BSTR v);
3850
3851     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
3852     HRESULT innerText([retval, out] BSTR *p);
3853
3854     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
3855     HRESULT outerHTML([in] BSTR v);
3856
3857     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
3858     HRESULT outerHTML([retval, out] BSTR *p);
3859
3860     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
3861     HRESULT outerText([in] BSTR v);
3862
3863     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
3864     HRESULT outerText([retval, out] BSTR *p);
3865
3866     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
3867     HRESULT insertAdjacentHTML([in] BSTR where, [in] BSTR html);
3868
3869     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
3870     HRESULT insertAdjacentText([in] BSTR where, [in] BSTR text);
3871
3872     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
3873     HRESULT parentTextEdit([retval, out] IHTMLElement **p);
3874
3875     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
3876     HRESULT isTextEdit([retval, out] VARIANT_BOOL *p);
3877
3878     [id(DISPID_IHTMLELEMENT_CLICK)]
3879     HRESULT click();
3880
3881     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
3882     HRESULT filters([retval, out] IHTMLFiltersCollection **p);
3883
3884     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART)]
3885     HRESULT ondragstart([in] VARIANT v);
3886
3887     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART)]
3888     HRESULT ondragstart([retval, out] VARIANT *p);
3889
3890     [id(DISPID_IHTMLELEMENT_TOSTRING)]
3891     HRESULT toString([retval, out] BSTR *String);
3892
3893     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE)]
3894     HRESULT onbeforeupdate([in] VARIANT v);
3895
3896     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE)]
3897     HRESULT onbeforeupdate([retval, out] VARIANT *p);
3898
3899     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE)]
3900     HRESULT onafterupdate([in] VARIANT v);
3901
3902     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE)]
3903     HRESULT onafterupdate([retval, out] VARIANT *p);
3904
3905     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE)]
3906     HRESULT onerrorupdate([in] VARIANT v);
3907
3908     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE)]
3909     HRESULT onerrorupdate([retval, out] VARIANT *p);
3910
3911     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT)]
3912     HRESULT onrowexit([in] VARIANT v);
3913
3914     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT)]
3915     HRESULT onrowexit([retval, out] VARIANT *p);
3916
3917     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER)]
3918     HRESULT onrowenter([in] VARIANT v);
3919
3920     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER)]
3921     HRESULT onrowenter([retval, out] VARIANT *p);
3922
3923     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED)]
3924     HRESULT ondatasetchanged([in] VARIANT v);
3925
3926     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED)]
3927     HRESULT ondatasetchanged([retval, out] VARIANT *p);
3928
3929     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE)]
3930     HRESULT ondataavailable([in] VARIANT v);
3931
3932     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE)]
3933     HRESULT ondataavailable([retval, out] VARIANT *p);
3934
3935     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE)]
3936     HRESULT ondatasetcomplete([in] VARIANT v);
3937
3938     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE)]
3939     HRESULT ondatasetcomplete([retval, out] VARIANT *p);
3940
3941     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE)]
3942     HRESULT onfilterchange([in] VARIANT v);
3943
3944     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE)]
3945     HRESULT onfilterchange([retval, out] VARIANT *p);
3946
3947     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
3948     HRESULT children([retval, out] IDispatch **p);
3949
3950     [propget, id(DISPID_IHTMLELEMENT_ALL)]
3951     HRESULT all([retval, out] IDispatch **p);
3952 }
3953
3954 /*****************************************************************************
3955  *    IHTMLElement2 interface
3956  */
3957 [
3958     odl,
3959     oleautomation,
3960     dual,
3961     uuid(3050f434-98b5-11cf-bb82-00aa00bdce0b)
3962 ]
3963 interface IHTMLElement2 : IDispatch
3964 {
3965     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
3966     HRESULT scopeName([retval, out] BSTR *p);
3967
3968     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
3969     HRESULT setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
3970
3971     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
3972     HRESULT releaseCapture();
3973
3974     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
3975     HRESULT onlosecapture([in] VARIANT v);
3976
3977     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
3978     HRESULT onlosecapture([retval, out] VARIANT *p);
3979
3980     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
3981     HRESULT componentFromPoint(
3982         [in] long x,
3983         [in] long y,
3984         [retval, out] BSTR *component);
3985
3986     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
3987     HRESULT doScroll([optional, in] VARIANT component);
3988
3989     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
3990     HRESULT onscroll([in] VARIANT v);
3991
3992     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
3993     HRESULT onscroll([retval, out] VARIANT *p);
3994
3995     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
3996     HRESULT ondrag([in] VARIANT v);
3997
3998     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
3999     HRESULT ondrag([retval, out] VARIANT *p);
4000
4001     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
4002     HRESULT ondragend([in] VARIANT v);
4003
4004     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
4005     HRESULT ondragend([retval, out] VARIANT *p);
4006
4007     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
4008     HRESULT ondragenter([in] VARIANT v);
4009
4010     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
4011     HRESULT ondragenter([retval, out] VARIANT *p);
4012
4013     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
4014     HRESULT ondragover([in] VARIANT v);
4015
4016     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
4017     HRESULT ondragover([retval, out] VARIANT *p);
4018
4019     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
4020     HRESULT ondragleave([in] VARIANT v);
4021
4022     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
4023     HRESULT ondragleave([retval, out] VARIANT *p);
4024
4025     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
4026     HRESULT ondrop([in] VARIANT v);
4027
4028     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
4029     HRESULT ondrop([retval, out] VARIANT *p);
4030
4031     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
4032     HRESULT onbeforecut([in] VARIANT v);
4033
4034     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
4035     HRESULT onbeforecut([retval, out] VARIANT *p);
4036
4037     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
4038     HRESULT oncut([in] VARIANT v);
4039
4040     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
4041     HRESULT oncut([retval, out] VARIANT *p);
4042
4043     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
4044     HRESULT onbeforecopy([in] VARIANT v);
4045
4046     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
4047     HRESULT onbeforecopy([retval, out] VARIANT *p);
4048
4049     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
4050     HRESULT oncopy([in] VARIANT v);
4051
4052     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
4053     HRESULT oncopy([retval, out] VARIANT *p);
4054
4055     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
4056     HRESULT onbeforepaste([in] VARIANT v);
4057
4058     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
4059     HRESULT onbeforepaste([retval, out] VARIANT *p);
4060
4061     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
4062     HRESULT onpaste([in] VARIANT v);
4063
4064     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
4065     HRESULT onpaste([retval, out] VARIANT *p);
4066
4067     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
4068     HRESULT currentStyle([retval, out] IHTMLCurrentStyle **p);
4069
4070     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
4071     HRESULT onpropertychange([in] VARIANT v);
4072
4073     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
4074     HRESULT onpropertychange([retval, out] VARIANT *p);
4075
4076     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
4077     HRESULT getClientRects([retval, out] IHTMLRectCollection **pRectCol);
4078
4079     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
4080     HRESULT getBoundingClientRect([retval, out] IHTMLRect **pRect);
4081
4082     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
4083     HRESULT setExpression(
4084         [in] BSTR propname,
4085         [in] BSTR expression,
4086         [defaultvalue(""), in] BSTR language);
4087
4088     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
4089     HRESULT getExpression(
4090         [in] BSTR propname,
4091         [retval, out] VARIANT *expression);
4092
4093     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
4094     HRESULT removeExpression(
4095         [in] BSTR propname,
4096         [retval, out] VARIANT_BOOL *pfSuccess);
4097
4098     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
4099     HRESULT tabIndex([in] short v);
4100
4101     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
4102     HRESULT tabIndex([retval, out] short *p);
4103
4104     [id(DISPID_IHTMLELEMENT2_FOCUS)]
4105     HRESULT focus();
4106
4107     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
4108     HRESULT accessKey([in] BSTR v);
4109
4110     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
4111     HRESULT accessKey([retval, out] BSTR *p);
4112
4113     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
4114     HRESULT onblur([in] VARIANT v);
4115
4116     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
4117     HRESULT onblur([retval, out] VARIANT *p);
4118
4119     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
4120     HRESULT onfocus([in] VARIANT v);
4121
4122     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
4123     HRESULT onfocus([retval, out] VARIANT *p);
4124
4125     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
4126     HRESULT onresize([in] VARIANT v);
4127
4128     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
4129     HRESULT onresize([retval, out] VARIANT *p);
4130
4131     [id(DISPID_IHTMLELEMENT2_BLUR)]
4132     HRESULT blur();
4133
4134     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
4135     HRESULT addFilter([in] IUnknown *pUnk);
4136
4137     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
4138     HRESULT removeFilter([in] IUnknown *pUnk);
4139
4140     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
4141     HRESULT clientHeight([retval, out] long *p);
4142
4143     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
4144     HRESULT clientWidth([retval, out] long *p);
4145
4146     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
4147     HRESULT clientTop([retval, out] long *p);
4148
4149     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
4150     HRESULT clientLeft([retval, out] long *p);
4151
4152     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
4153     HRESULT attachEvent(
4154         [in] BSTR event,
4155         [in] IDispatch *pDisp,
4156         [retval, out] VARIANT_BOOL *pfResult);
4157
4158     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
4159     HRESULT detachEvent(
4160         [in] BSTR event,
4161         [in] IDispatch *pDisp);
4162
4163     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
4164     HRESULT readyState([retval, out] VARIANT *p);
4165
4166     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
4167     HRESULT onreadystatechange([in] VARIANT v);
4168
4169     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
4170     HRESULT onreadystatechange([retval, out] VARIANT *p);
4171
4172     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
4173     HRESULT onrowsdelete([in] VARIANT v);
4174
4175     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
4176     HRESULT onrowsdelete([retval, out] VARIANT *p);
4177
4178     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
4179     HRESULT onrowsinserted([in] VARIANT v);
4180
4181     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
4182     HRESULT onrowsinserted([retval, out] VARIANT *p);
4183
4184     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
4185     HRESULT oncellchange([in] VARIANT v);
4186
4187     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
4188     HRESULT oncellchange([retval, out] VARIANT *p);
4189
4190     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
4191     HRESULT dir([in] BSTR v);
4192
4193     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
4194     HRESULT dir([retval, out] BSTR *p);
4195
4196     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
4197     HRESULT createControlRange([retval, out] IDispatch **range);
4198
4199     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
4200     HRESULT scrollHeight([retval, out] long *p);
4201
4202     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
4203     HRESULT scrollWidth([retval, out] long *p);
4204
4205     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
4206     HRESULT scrollTop([in] long v);
4207
4208     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
4209     HRESULT scrollTop([retval, out] long *p);
4210
4211     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
4212     HRESULT scrollLeft([in] long v);
4213
4214     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
4215     HRESULT scrollLeft([retval, out] long *p);
4216
4217     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
4218     HRESULT clearAttributes();
4219
4220     [id(DISPID_IHTMLELEMENT2_MERGEATTRIBUTES)]
4221     HRESULT mergeAttributes([in] IHTMLElement *mergeThis);
4222
4223     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
4224     HRESULT oncontextmenu([in] VARIANT v);
4225
4226     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
4227     HRESULT oncontextmenu([retval, out] VARIANT *p);
4228
4229     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
4230     HRESULT insertAdjacentElement(
4231         [in] BSTR where,
4232         [in] IHTMLElement *insertedElement,
4233         [retval, out] IHTMLElement **inserted);
4234
4235     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
4236     HRESULT applyElement(
4237         [in] IHTMLElement *apply,
4238         [in] BSTR where,
4239         [retval, out] IHTMLElement **applied);
4240
4241     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
4242     HRESULT getAdjacentText(
4243         [in] BSTR where,
4244         [retval, out] BSTR *text);
4245
4246     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
4247     HRESULT replaceAdjacentText(
4248         [in] BSTR where,
4249         [in] BSTR newText,
4250         [retval, out] BSTR *oldText);
4251
4252     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
4253     HRESULT canHaveChildren([retval, out] VARIANT_BOOL *p);
4254
4255     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
4256     HRESULT addBehavior(
4257         [in] BSTR bstrUrl,
4258         [optional, in] VARIANT *pvarFactory,
4259         [retval, out] long *pCookie);
4260
4261     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
4262     HRESULT removeBehavior(
4263         [in] long cookie,
4264         [retval, out] VARIANT_BOOL *pfResult);
4265
4266     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
4267     HRESULT runtimeStyle([retval, out] IHTMLStyle **p);
4268
4269     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
4270     HRESULT behaviorUrns([retval, out] IDispatch **p);
4271
4272     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
4273     HRESULT tagUrn([in] BSTR v);
4274
4275     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
4276     HRESULT tagUrn([retval, out] BSTR *p);
4277
4278     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
4279     HRESULT onbeforeeditfocus([in] VARIANT v);
4280
4281     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
4282     HRESULT onbeforeeditfocus([retval, out] VARIANT *p);
4283
4284     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
4285     HRESULT readyStateValue([retval, out] long *p);
4286
4287     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
4288     HRESULT getElementsByTagName(
4289         [in] BSTR v,
4290         [retval, out] IHTMLElementCollection **pelColl);
4291 }
4292
4293
4294 /*****************************************************************************
4295  *    IHTMLElement3 interface
4296  */
4297 [
4298     odl,
4299     oleautomation,
4300     dual,
4301     uuid(3050f673-98b5-11cf-bb82-00aa00bdce0b)
4302 ]
4303 interface IHTMLElement3 : IDispatch
4304 {
4305     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)] HRESULT mergeAttributes([in]
4306     IHTMLElement* mergeThis,[optional, in] VARIANT* pvarFlags);
4307
4308     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
4309     HRESULT isMultiLine([retval, out] VARIANT_BOOL * p);
4310
4311     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
4312     HRESULT canHaveHTML([retval, out] VARIANT_BOOL * p);
4313
4314     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
4315     HRESULT onlayoutcomplete([in] VARIANT v);
4316
4317     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
4318     HRESULT onlayoutcomplete([retval, out] VARIANT * p);
4319
4320     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
4321     HRESULT onpage([in] VARIANT v);
4322
4323     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
4324     HRESULT onpage([retval, out] VARIANT * p);
4325
4326     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
4327     HRESULT inflateBlock([in] VARIANT_BOOL v);
4328
4329     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
4330     HRESULT inflateBlock([retval, out] VARIANT_BOOL * p);
4331
4332     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
4333     HRESULT onbeforedeactivate([in] VARIANT v);
4334
4335     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
4336     HRESULT onbeforedeactivate([retval, out] VARIANT * p);
4337
4338     [id(DISPID_IHTMLELEMENT3_SETACTIVE)] HRESULT setActive();
4339
4340     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
4341     HRESULT contentEditable([in] BSTR v);
4342
4343     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
4344     HRESULT contentEditable([retval, out] BSTR * p);
4345
4346     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
4347     HRESULT isContentEditable([retval, out] VARIANT_BOOL * p);
4348
4349     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
4350     HRESULT hideFocus([in] VARIANT_BOOL v);
4351
4352     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
4353     HRESULT hideFocus([retval, out] VARIANT_BOOL * p);
4354
4355     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
4356     HRESULT disabled([in] VARIANT_BOOL v);
4357
4358     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
4359     HRESULT disabled([retval, out] VARIANT_BOOL * p);
4360
4361     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
4362     HRESULT isDisabled([retval, out] VARIANT_BOOL * p);
4363
4364     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
4365     HRESULT onmove([in] VARIANT v);
4366
4367     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
4368     HRESULT onmove([retval, out] VARIANT * p);
4369
4370     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
4371     HRESULT oncontrolselect([in] VARIANT v);
4372
4373     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
4374     HRESULT oncontrolselect([retval, out] VARIANT * p);
4375
4376     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
4377     HRESULT fireEvent(
4378         [in] BSTR bstrEventName,
4379         [optional, in] VARIANT* pvarEventObject,
4380         [retval, out] VARIANT_BOOL* pfCancelled);
4381
4382     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
4383     HRESULT onresizestart([in] VARIANT v);
4384
4385     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
4386     HRESULT onresizestart([retval, out] VARIANT * p);
4387
4388     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
4389     HRESULT onresizeend([in] VARIANT v);
4390
4391     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
4392     HRESULT onresizeend([retval, out] VARIANT * p);
4393
4394     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
4395     HRESULT onmovestart([in] VARIANT v);
4396
4397     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
4398     HRESULT onmovestart([retval, out] VARIANT * p);
4399
4400     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
4401     HRESULT onmoveend([in] VARIANT v);
4402
4403     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
4404     HRESULT onmoveend([retval, out] VARIANT * p);
4405
4406     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
4407     HRESULT onmouseenter([in] VARIANT v);
4408
4409     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
4410     HRESULT onmouseenter([retval, out] VARIANT * p);
4411
4412     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
4413     HRESULT onmouseleave([in] VARIANT v);
4414
4415     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
4416     HRESULT onmouseleave([retval, out] VARIANT * p);
4417
4418     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
4419     HRESULT onactivate([in] VARIANT v);
4420
4421     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
4422     HRESULT onactivate([retval, out] VARIANT * p);
4423
4424     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
4425     HRESULT ondeactivate([in] VARIANT v);
4426
4427     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
4428     HRESULT ondeactivate([retval, out] VARIANT * p);
4429
4430     [id(DISPID_IHTMLELEMENT3_DRAGDROP)] HRESULT dragDrop([retval, out]
4431     VARIANT_BOOL* pfRet);
4432
4433     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
4434     HRESULT glyphMode([retval, out] LONG * p);
4435 };
4436 /*****************************************************************************
4437  *    IHTMLElement4 interface
4438  */
4439 [
4440     odl,
4441     oleautomation,
4442     dual,
4443     uuid(3050f80f-98b5-11cf-bb82-00aa00bdce0b)
4444 ]
4445 interface IHTMLElement4 : IDispatch
4446 {
4447     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
4448     HRESULT onmousewheel([in] VARIANT v);
4449
4450     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
4451     HRESULT onmousewheel([retval, out] VARIANT * p);
4452
4453     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
4454     HRESULT normalize();
4455
4456     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
4457     HRESULT getAttributeNode([in] BSTR bstrname,
4458         [retval, out] IHTMLDOMAttribute** ppAttribute);
4459
4460     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
4461     HRESULT setAttributeNode(
4462         [in] IHTMLDOMAttribute* pattr,
4463         [retval, out] IHTMLDOMAttribute** ppretAttribute);
4464
4465     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
4466     HRESULT removeAttributeNode(
4467         [in] IHTMLDOMAttribute* pattr,
4468         [retval, out] IHTMLDOMAttribute** ppretAttribute);
4469
4470     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
4471     HRESULT onbeforeactivate([in] VARIANT v);
4472
4473     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
4474     HRESULT onbeforeactivate([retval, out] VARIANT * p);
4475
4476     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
4477     HRESULT onfocusin([in] VARIANT v);
4478
4479     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
4480     HRESULT onfocusin([retval, out] VARIANT * p);
4481
4482     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
4483     HRESULT onfocusout([in] VARIANT v);
4484
4485     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
4486     HRESULT onfocusout([retval, out] VARIANT * p);
4487 };
4488
4489 /*****************************************************************************
4490  *    IHTMLGenericElement interface
4491  */
4492 [
4493     odl,
4494     oleautomation,
4495     dual,
4496     uuid(3050f4b7-98b5-11cf-bb82-00aa00bdce0b)
4497 ]
4498 interface IHTMLGenericElement : IDispatch
4499 {
4500     [propget, id(DISPID_IHTMLGENERICELEMENT_RECORDSET), hidden]
4501     HRESULT recordset([out, retval] IDispatch **p);
4502
4503     [id(DISPID_IHTMLGENERICELEMENT_NAMEDRECORDSET)]
4504     HRESULT namedRecordset(
4505             [in] BSTR dataMember,
4506             [in, optional] VARIANT *hierarchy,
4507             [out, retval] IDispatch **ppRecordset);
4508 }
4509
4510 /*****************************************************************************
4511  *    DispHTMLGenericElement dispinterface
4512  */
4513 [
4514     hidden,
4515     uuid(3050f563-98b5-11cf-bb82-00aa00bdce0b)
4516 ]
4517 dispinterface DispHTMLGenericElement
4518 {
4519 properties:
4520 methods:
4521     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
4522     void setAttribute(
4523             [in] BSTR strAttributeName,
4524             [in] VARIANT AttributeValue,
4525             [in, defaultvalue(1)] LONG lFlags);
4526
4527     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
4528     VARIANT getAttribute(
4529              [in] BSTR strAttributeName,
4530              [in, defaultvalue(0)] LONG lFlags);
4531
4532     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
4533     VARIANT_BOOL removeAttribute(
4534             [in] BSTR strAttributeName,
4535             [in, defaultvalue(1)] LONG lFlags);
4536
4537     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
4538     void className(BSTR v);
4539
4540     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
4541     BSTR className();
4542
4543     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
4544     void id(BSTR v);
4545
4546     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
4547     BSTR id();
4548
4549     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
4550     BSTR tagName();
4551
4552     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
4553     IHTMLElement *parentElement();
4554
4555     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
4556     IHTMLStyle *style();
4557
4558     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
4559     void onhelp(VARIANT v);
4560
4561     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
4562     VARIANT onhelp();
4563
4564     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
4565     void onclick(VARIANT v);
4566
4567     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
4568     VARIANT onclick();
4569
4570     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
4571     void ondblclick(VARIANT v);
4572
4573     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
4574     VARIANT ondblclick();
4575
4576     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
4577     void onkeydown(VARIANT v);
4578
4579     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
4580     VARIANT onkeydown();
4581
4582     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
4583     void onkeyup(VARIANT v);
4584
4585     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
4586     VARIANT onkeyup();
4587
4588     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
4589     void onkeypress(VARIANT v);
4590
4591     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
4592     VARIANT onkeypress();
4593
4594     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
4595     void onmouseout(VARIANT v);
4596
4597     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
4598     VARIANT onmouseout();
4599
4600     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
4601     void onmouseover(VARIANT v);
4602
4603     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
4604     VARIANT onmouseover();
4605
4606     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
4607     void onmousemove(VARIANT v);
4608
4609     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
4610     VARIANT onmousemove();
4611
4612     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
4613     void onmousedown(VARIANT v);
4614
4615     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
4616     VARIANT onmousedown();
4617
4618     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
4619     void onmouseup(VARIANT v);
4620
4621     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
4622     VARIANT onmouseup();
4623
4624     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
4625     IDispatch *document();
4626
4627     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
4628     void title(BSTR v);
4629
4630     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
4631     BSTR title();
4632
4633     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
4634     void language(BSTR v);
4635
4636     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
4637     BSTR language();
4638
4639     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
4640     void onselectstart(VARIANT v);
4641
4642     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
4643     VARIANT onselectstart();
4644
4645     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
4646     void scrollIntoView([in, optional] VARIANT varargStart);
4647
4648     [id(DISPID_IHTMLELEMENT_CONTAINS)]
4649     VARIANT_BOOL contains([in] IHTMLElement *pChild);
4650
4651     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
4652     long sourceIndex();
4653
4654     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
4655     VARIANT recordNumber();
4656
4657     [propput, id(DISPID_IHTMLELEMENT_LANG)]
4658     void lang(BSTR v);
4659
4660     [propget, id(DISPID_IHTMLELEMENT_LANG)]
4661     BSTR lang();
4662
4663     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
4664     long offsetLeft();
4665
4666     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
4667     long offsetTop();
4668
4669     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
4670     long offsetWidth();
4671
4672     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
4673     long offsetHeight();
4674
4675     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
4676     IHTMLElement *offsetParent();
4677
4678     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
4679     void innerHTML(BSTR v);
4680
4681     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
4682     BSTR innerHTML();
4683
4684     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
4685     void innerText(BSTR v);
4686
4687     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
4688     BSTR innerText();
4689
4690     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
4691     void outerHTML(BSTR v);
4692
4693     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
4694     BSTR outerHTML();
4695
4696     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
4697     void outerText(BSTR v);
4698
4699     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
4700     BSTR outerText();
4701
4702     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
4703     void insertAdjacentHTML(
4704             [in] BSTR where,
4705             [in] BSTR html);
4706
4707     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
4708     void insertAdjacentText(
4709             [in] BSTR where,
4710             [in] BSTR text);
4711
4712     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
4713     IHTMLElement *parentTextEdit();
4714
4715     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
4716     VARIANT_BOOL isTextEdit();
4717
4718     [id(DISPID_IHTMLELEMENT_CLICK)]
4719     void click();
4720
4721     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
4722     IHTMLFiltersCollection *filters();
4723
4724     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
4725     void ondragstart(VARIANT v);
4726
4727     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
4728     VARIANT ondragstart();
4729
4730     [id(DISPID_IHTMLELEMENT_TOSTRING)]
4731     BSTR toString();
4732
4733     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
4734     void onbeforeupdate(VARIANT v);
4735
4736     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
4737     VARIANT onbeforeupdate();
4738
4739     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
4740     void onafterupdate(VARIANT v);
4741
4742     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
4743     VARIANT onafterupdate();
4744
4745     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
4746     void onerrorupdate(VARIANT v);
4747
4748     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
4749     VARIANT onerrorupdate();
4750
4751     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
4752     void onrowexit(VARIANT v);
4753
4754     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
4755     VARIANT onrowexit();
4756
4757     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
4758     void onrowenter(VARIANT v);
4759
4760     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
4761     VARIANT onrowenter();
4762
4763     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
4764     void ondatasetchanged(VARIANT v);
4765
4766     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
4767     VARIANT ondatasetchanged();
4768
4769     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
4770     void ondataavailable(VARIANT v);
4771
4772     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
4773     VARIANT ondataavailable();
4774
4775     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
4776     void ondatasetcomplete(VARIANT v);
4777
4778     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
4779     VARIANT ondatasetcomplete();
4780
4781     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
4782     void onfilterchange(VARIANT v);
4783
4784     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
4785     VARIANT onfilterchange();
4786
4787     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
4788     IDispatch *children();
4789
4790     [propget, id(DISPID_IHTMLELEMENT_ALL)]
4791     IDispatch *all();
4792
4793     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
4794     BSTR scopeName();
4795
4796     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
4797     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
4798
4799     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
4800     void releaseCapture();
4801
4802     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
4803     void onlosecapture(VARIANT v);
4804
4805     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
4806     VARIANT onlosecapture();
4807
4808     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
4809     BSTR componentFromPoint(
4810             [in] long x,
4811             [in] long y);
4812
4813     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
4814     void doScroll([in, optional] VARIANT component);
4815
4816     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
4817     void onscroll(VARIANT v);
4818
4819     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
4820     VARIANT onscroll();
4821
4822     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
4823     void ondrag(VARIANT v);
4824
4825     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
4826     VARIANT ondrag();
4827
4828     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
4829     void ondragend(VARIANT v);
4830
4831     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
4832     VARIANT ondragend();
4833
4834     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
4835     void ondragenter(VARIANT v);
4836
4837     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
4838     VARIANT ondragenter();
4839
4840     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
4841     void ondragover(VARIANT v);
4842
4843     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
4844     VARIANT ondragover();
4845
4846     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
4847     void ondragleave(VARIANT v);
4848
4849     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
4850     VARIANT ondragleave();
4851
4852     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
4853     void ondrop(VARIANT v);
4854
4855     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
4856     VARIANT ondrop();
4857
4858     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
4859     void onbeforecut(VARIANT v);
4860
4861     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
4862     VARIANT onbeforecut();
4863
4864     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
4865     void oncut(VARIANT v);
4866
4867     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
4868     VARIANT oncut();
4869
4870     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
4871     void onbeforecopy(VARIANT v);
4872
4873     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
4874     VARIANT onbeforecopy();
4875
4876     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
4877     void oncopy(VARIANT v);
4878
4879     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
4880     VARIANT oncopy();
4881
4882     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
4883     void onbeforepaste(VARIANT v);
4884
4885     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
4886     VARIANT onbeforepaste();
4887
4888     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
4889     void onpaste(VARIANT v);
4890
4891     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
4892     VARIANT onpaste();
4893
4894     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
4895     IHTMLCurrentStyle *currentStyle();
4896
4897     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
4898     void onpropertychange(VARIANT v);
4899
4900     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
4901     VARIANT onpropertychange();
4902
4903     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
4904     IHTMLRectCollection *getClientRects();
4905
4906     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
4907     IHTMLRect *getBoundingClientRect();
4908
4909     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
4910     void setExpression(
4911             [in] BSTR propname,
4912             [in] BSTR expression,
4913             [in, defaultvalue("")] BSTR language);
4914
4915     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
4916     VARIANT getExpression([in] BSTR propname);
4917
4918     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
4919     VARIANT_BOOL removeExpression([in] BSTR propname);
4920
4921     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
4922     void tabIndex(short v);
4923
4924     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
4925     short tabIndex();
4926
4927     [id(DISPID_IHTMLELEMENT2_FOCUS)]
4928     void focus();
4929
4930     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
4931     void accessKey(BSTR v);
4932
4933     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
4934     BSTR accessKey();
4935
4936     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
4937     void onblur(VARIANT v);
4938
4939     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
4940     VARIANT onblur();
4941
4942     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
4943     void onfocus(VARIANT v);
4944
4945     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
4946     VARIANT onfocus();
4947
4948     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
4949     void onresize(VARIANT v);
4950
4951     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
4952     VARIANT onresize();
4953
4954     [id(DISPID_IHTMLELEMENT2_BLUR)]
4955     void blur();
4956
4957     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
4958     void addFilter([in] IUnknown *pUnk);
4959
4960     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
4961     void removeFilter([in] IUnknown *pUnk);
4962
4963     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
4964     long clientHeight();
4965
4966     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
4967     long clientWidth();
4968
4969     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
4970     long clientTop();
4971
4972     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
4973     long clientLeft();
4974
4975     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
4976     VARIANT_BOOL attachEvent(
4977             [in] BSTR event,
4978             [in] IDispatch *pDisp);
4979
4980     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
4981     void detachEvent(
4982             [in] BSTR event,
4983             [in] IDispatch *pDisp);
4984
4985     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
4986     VARIANT readyState();
4987
4988     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
4989     void onreadystatechange(VARIANT v);
4990
4991     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
4992     VARIANT onreadystatechange();
4993
4994     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
4995     void onrowsdelete(VARIANT v);
4996
4997     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
4998     VARIANT onrowsdelete();
4999
5000     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
5001     void onrowsinserted(VARIANT v);
5002
5003     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
5004      VARIANT onrowsinserted();
5005
5006     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
5007      void oncellchange(VARIANT v);
5008
5009     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
5010     VARIANT oncellchange();
5011
5012     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
5013     void dir(BSTR v);
5014
5015     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
5016     BSTR dir();
5017
5018     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
5019     IDispatch *createControlRange();
5020
5021     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
5022     long scrollHeight();
5023
5024     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
5025     long scrollWidth();
5026
5027     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
5028     void scrollTop(long v);
5029
5030     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
5031     long scrollTop();
5032
5033     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
5034     void scrollLeft(long v);
5035
5036     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
5037     long scrollLeft();
5038
5039     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
5040     void clearAttributes();
5041
5042     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
5043     void oncontextmenu(VARIANT v);
5044
5045     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
5046     VARIANT oncontextmenu();
5047
5048     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
5049     IHTMLElement *insertAdjacentElement(
5050             [in] BSTR where,
5051             [in] IHTMLElement *insertedElement);
5052
5053     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
5054     IHTMLElement *applyElement(
5055             [in] IHTMLElement *apply,
5056             [in] BSTR where);
5057
5058     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
5059     BSTR getAdjacentText([in] BSTR where);
5060
5061     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
5062     BSTR replaceAdjacentText(
5063             [in] BSTR where,
5064             [in] BSTR newText);
5065
5066     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
5067     VARIANT_BOOL canHaveChildren();
5068
5069     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
5070     long addBehavior(
5071             [in] BSTR bstrUrl,
5072             [in, optional] VARIANT *pvarFactory);
5073
5074     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
5075     VARIANT_BOOL removeBehavior([in] long cookie);
5076
5077     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
5078     IHTMLStyle *runtimeStyle();
5079
5080     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
5081     IDispatch *behaviorUrns();
5082
5083     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
5084     void tagUrn(BSTR v);
5085
5086     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
5087     BSTR tagUrn();
5088
5089     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
5090     void onbeforeeditfocus(VARIANT v);
5091
5092     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
5093     VARIANT onbeforeeditfocus();
5094
5095     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
5096     long readyStateValue();
5097
5098     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
5099     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
5100
5101     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
5102     void mergeAttributes(
5103             [in] IHTMLElement *mergeThis,
5104             [in, optional] VARIANT *pvarFlags);
5105
5106     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
5107     VARIANT_BOOL isMultiLine();
5108
5109     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
5110     VARIANT_BOOL canHaveHTML();
5111
5112     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
5113     void onlayoutcomplete(VARIANT v);
5114
5115     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
5116     VARIANT onlayoutcomplete();
5117
5118     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
5119     void onpage(VARIANT v);
5120
5121     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
5122     VARIANT onpage();
5123
5124     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
5125     void inflateBlock(VARIANT_BOOL v);
5126
5127     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
5128     VARIANT_BOOL inflateBlock();
5129
5130     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
5131     void onbeforedeactivate(VARIANT v);
5132
5133     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
5134     VARIANT onbeforedeactivate();
5135
5136     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
5137     void setActive();
5138
5139     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
5140     void contentEditable(BSTR v);
5141
5142     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
5143     BSTR contentEditable();
5144
5145     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
5146     VARIANT_BOOL isContentEditable();
5147
5148     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
5149     void hideFocus(VARIANT_BOOL v);
5150
5151     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
5152     VARIANT_BOOL hideFocus();
5153
5154     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
5155     void disabled(VARIANT_BOOL v);
5156
5157     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
5158     VARIANT_BOOL disabled();
5159
5160     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
5161     VARIANT_BOOL isDisabled();
5162
5163     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
5164     void onmove(VARIANT v);
5165
5166     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
5167     VARIANT onmove();
5168
5169     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
5170     void oncontrolselect(VARIANT v);
5171
5172     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
5173     VARIANT oncontrolselect();
5174
5175     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
5176     VARIANT_BOOL fireEvent(
5177             [in] BSTR bstrEventName,
5178             [in, optional] VARIANT *pvarEventObject);
5179
5180     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
5181     void onresizestart(VARIANT v);
5182
5183     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
5184     VARIANT onresizestart();
5185
5186     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
5187     void onresizeend(VARIANT v);
5188
5189     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
5190     VARIANT onresizeend();
5191
5192     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
5193     void onmovestart(VARIANT v);
5194
5195     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
5196     VARIANT onmovestart();
5197
5198     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
5199     void onmoveend(VARIANT v);
5200
5201     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
5202     VARIANT onmoveend();
5203
5204     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
5205     void onmouseenter(VARIANT v);
5206
5207     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
5208     VARIANT onmouseenter();
5209
5210     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
5211     void onmouseleave(VARIANT v);
5212
5213     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
5214     VARIANT onmouseleave();
5215
5216     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
5217     void onactivate(VARIANT v);
5218
5219     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
5220     VARIANT onactivate();
5221
5222     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
5223     void ondeactivate(VARIANT v);
5224
5225     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
5226     VARIANT ondeactivate();
5227
5228     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
5229     VARIANT_BOOL dragDrop();
5230
5231     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
5232     LONG glyphMode();
5233
5234     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
5235     void onmousewheel(VARIANT v);
5236
5237     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
5238     VARIANT onmousewheel();
5239
5240     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
5241     void normalize();
5242
5243     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
5244     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
5245
5246     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
5247     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
5248
5249     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
5250     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
5251
5252     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
5253     void onbeforeactivate(VARIANT v);
5254
5255     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
5256     VARIANT onbeforeactivate();
5257
5258     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
5259     void onfocusin(VARIANT v);
5260
5261     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
5262     VARIANT onfocusin();
5263
5264     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
5265     void onfocusout(VARIANT v);
5266
5267     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
5268     VARIANT onfocusout();
5269
5270     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
5271     long uniqueNumber();
5272
5273     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
5274     BSTR uniqueID();
5275
5276     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
5277     long nodeType();
5278
5279     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
5280     IHTMLDOMNode *parentNode();
5281
5282     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
5283     VARIANT_BOOL hasChildNodes();
5284
5285     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
5286     IDispatch *childNodes();
5287
5288     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
5289     IDispatch *attributes();
5290
5291     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
5292     IHTMLDOMNode *insertBefore(
5293             [in] IHTMLDOMNode *newChild,
5294             [in, optional] VARIANT refChild);
5295
5296     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
5297     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
5298
5299     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
5300     IHTMLDOMNode *replaceChild(
5301             [in] IHTMLDOMNode *newChild,
5302             [in] IHTMLDOMNode *oldChild);
5303
5304     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
5305     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
5306
5307     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
5308     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
5309
5310     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
5311     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
5312
5313     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
5314     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
5315
5316     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
5317     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
5318
5319     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
5320     BSTR nodeName();
5321
5322     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
5323     void nodeValue(VARIANT v);
5324
5325     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
5326     VARIANT nodeValue();
5327
5328     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
5329     IHTMLDOMNode *firstChild();
5330
5331     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
5332     IHTMLDOMNode *lastChild();
5333
5334     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
5335     IHTMLDOMNode *previousSibling();
5336
5337     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
5338     IHTMLDOMNode *nextSibling();
5339
5340     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
5341     IDispatch *ownerDocument();
5342
5343     [propget, id(DISPID_IHTMLGENERICELEMENT_RECORDSET), hidden]
5344     IDispatch *recordset();
5345
5346     [id(DISPID_IHTMLGENERICELEMENT_NAMEDRECORDSET)]
5347     IDispatch *namedRecordset(
5348             [in] BSTR dataMember,
5349             [in, optional] VARIANT *hierarchy);
5350 }
5351
5352 /*****************************************************************************
5353  *    IHTMLStyleSheetRule interface
5354  */
5355 [
5356     odl,
5357     oleautomation,
5358     dual,
5359     uuid(3050F357-98B5-11CF-BB82-00AA00BDCE0B)
5360 ]
5361 interface IHTMLStyleSheetRule : IDispatch
5362 {
5363     [propput, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)]
5364     HRESULT selectorText([in] BSTR v);
5365
5366     [propget, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)]
5367     HRESULT selectorText([retval, out] BSTR *p);
5368
5369     [propget, id(DISPID_IHTMLSTYLESHEETRULE_STYLE)]
5370     HRESULT style([retval, out] IHTMLRuleStyle **p);
5371
5372     [propget, id(DISPID_IHTMLSTYLESHEETRULE_READONLY)]
5373     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
5374 }
5375
5376 /*****************************************************************************
5377  *    IHTMLStyleSheetRulesCollection interface
5378  */
5379 [
5380     odl,
5381     oleautomation,
5382     dual,
5383     uuid(3050F2E5-98B5-11Cf-BB82-00AA00BDCE0B)
5384 ]
5385 interface IHTMLStyleSheetRulesCollection : IDispatch
5386 {
5387     [propget, id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_LENGTH)]
5388     HRESULT length([retval, out] long *p);
5389
5390     [id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_ITEM)]
5391     HRESULT item(
5392         [in] long index,
5393         [retval, out] IHTMLStyleSheetRule **ppHTMLStyleSheetRule);
5394 }
5395
5396 /*****************************************************************************
5397  *    IHTMLStyleSheet interface
5398  */
5399 [
5400     odl,
5401     oleautomation,
5402     dual,
5403     uuid(3050F2E3-98B5-11CF-BB82-00AA00BDCE0B)
5404 ]
5405 interface IHTMLStyleSheet : IDispatch
5406 {
5407     [propput, id(DISPID_IHTMLSTYLESHEET_TITLE)]
5408     HRESULT title([in] BSTR v);
5409
5410     [propget, id(DISPID_IHTMLSTYLESHEET_TITLE)]
5411     HRESULT title([retval, out] BSTR *p);
5412
5413     [propget, id(DISPID_IHTMLSTYLESHEET_PARENTSTYLESHEET)]
5414     HRESULT parentStyleSheet([retval, out] IHTMLStyleSheet **p);
5415
5416     [propget, id(DISPID_IHTMLSTYLESHEET_OWNINGELEMENT)]
5417     HRESULT owningElement([retval, out] IHTMLElement **p);
5418
5419     [propput, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
5420     HRESULT disabled([in] VARIANT_BOOL v);
5421
5422     [propget, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
5423     HRESULT disabled([retval, out] VARIANT_BOOL *p);
5424
5425     [propget, id(DISPID_IHTMLSTYLESHEET_READONLY)]
5426     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
5427
5428     [propget, id(DISPID_IHTMLSTYLESHEET_IMPORTS)]
5429     HRESULT imports([retval, out] IHTMLStyleSheetsCollection **p);
5430
5431     [propput, id(DISPID_IHTMLSTYLESHEET_HREF)]
5432     HRESULT href([in] BSTR v);
5433
5434     [propget, id(DISPID_IHTMLSTYLESHEET_HREF)]
5435     HRESULT href([retval, out] BSTR *p);
5436
5437     [propget, id(DISPID_IHTMLSTYLESHEET_TYPE)]
5438     HRESULT type([retval, out] BSTR *p);
5439
5440     [propget, id(DISPID_IHTMLSTYLESHEET_ID)]
5441     HRESULT id([retval, out] BSTR *p);
5442
5443     [id(DISPID_IHTMLSTYLESHEET_ADDIMPORT)]
5444     HRESULT addImport(
5445         [in] BSTR bstrURL,
5446         [defaultvalue(-1), in] long lIndex,
5447         [retval, out] long *plIndex);
5448
5449     [id(DISPID_IHTMLSTYLESHEET_ADDRULE)]
5450     HRESULT addRule(
5451         [in] BSTR bstrSelector,
5452         [in] BSTR bstrStyle,
5453         [defaultvalue(-1), in] long lIndex,
5454         [retval, out] long *plNewIndex);
5455
5456     [id(DISPID_IHTMLSTYLESHEET_REMOVEIMPORT)]
5457     HRESULT removeImport([in] long lIndex);
5458
5459     [id(DISPID_IHTMLSTYLESHEET_REMOVERULE)]
5460     HRESULT removeRule([in] long lIndex);
5461
5462     [propput, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
5463     HRESULT media([in] BSTR v);
5464
5465     [propget, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
5466     HRESULT media([retval, out] BSTR *p);
5467
5468     [propput, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
5469     HRESULT cssText([in] BSTR v);
5470
5471     [propget, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
5472     HRESULT cssText([retval, out] BSTR *p);
5473
5474     [propget, id(DISPID_IHTMLSTYLESHEET_RULES)]
5475     HRESULT rules([retval, out] IHTMLStyleSheetRulesCollection **p);
5476 }
5477
5478 /*****************************************************************************
5479  *    IHTMLStyleSheetsCollection interface
5480  */
5481 [
5482     odl,
5483     oleautomation,
5484     dual,
5485     uuid(3050F37E-98B5-11CF-BB82-00AA00BDCE0B)
5486 ]
5487 interface IHTMLStyleSheetsCollection : IDispatch
5488 {
5489     [propget, id(DISPID_IHTMLSTYLESHEETSCOLLECTION_LENGTH)]
5490     HRESULT length([retval, out] long *p);
5491
5492     [propget, id(DISPID_IHTMLSTYLESHEETSCOLLECTION__NEWENUM)]
5493     HRESULT _newEnum([retval, out] IUnknown **p);
5494
5495     [id(DISPID_IHTMLSTYLESHEETSCOLLECTION_ITEM)]
5496     HRESULT item(
5497         [in] VARIANT *pvarIndex,
5498         [retval, out] VARIANT *pvarResult);
5499 }
5500
5501 /*****************************************************************************
5502  *    IHTMLTxtRange interface
5503  */
5504 [
5505     odl,
5506     oleautomation,
5507     dual,
5508     uuid(3050f220-98b5-11cf-bb82-00aa00bdce0b)
5509 ]
5510 interface IHTMLTxtRange : IDispatch
5511 {
5512     [propget, id(DISPID_IHTMLTXTRANGE_HTMLTEXT)]
5513     HRESULT htmlText([retval, out] BSTR *p);
5514
5515     [propput, id(DISPID_IHTMLTXTRANGE_TEXT)]
5516     HRESULT text([in] BSTR v);
5517
5518     [propget, id(DISPID_IHTMLTXTRANGE_TEXT)]
5519     HRESULT text([retval, out] BSTR *p);
5520
5521     [id(DISPID_IHTMLTXTRANGE_PARENTELEMENT)]
5522     HRESULT parentElement([retval, out] IHTMLElement **parent);
5523
5524     [id(DISPID_IHTMLTXTRANGE_DUPLICATE)]
5525     HRESULT duplicate([retval, out] IHTMLTxtRange **Duplicate);
5526
5527     [id(DISPID_IHTMLTXTRANGE_INRANGE)]
5528     HRESULT inRange(
5529         [in] IHTMLTxtRange *Range,
5530         [retval, out] VARIANT_BOOL *InRange);
5531
5532     [id(DISPID_IHTMLTXTRANGE_ISEQUAL)]
5533     HRESULT isEqual(
5534         [in] IHTMLTxtRange *Range,
5535         [retval, out] VARIANT_BOOL *IsEqual);
5536
5537     [id(DISPID_IHTMLTXTRANGE_SCROLLINTOVIEW)]
5538     HRESULT scrollIntoView([defaultvalue(-1), in] VARIANT_BOOL fStart);
5539
5540     [id(DISPID_IHTMLTXTRANGE_COLLAPSE)]
5541     HRESULT collapse([defaultvalue(-1), in] VARIANT_BOOL Start);
5542
5543     [id(DISPID_IHTMLTXTRANGE_EXPAND)]
5544     HRESULT expand(
5545         [in] BSTR Unit,
5546         [retval, out] VARIANT_BOOL *Success);
5547
5548     [id(DISPID_IHTMLTXTRANGE_MOVE)]
5549     HRESULT move(
5550         [in] BSTR Unit,
5551         [defaultvalue(1), in] long Count,
5552         [retval, out] long *ActualCount);
5553
5554     [id(DISPID_IHTMLTXTRANGE_MOVESTART)]
5555     HRESULT moveStart(
5556         [in] BSTR Unit,
5557         [defaultvalue(1), in] long Count,
5558         [retval, out] long *ActualCount);
5559
5560     [id(DISPID_IHTMLTXTRANGE_MOVEEND)]
5561     HRESULT moveEnd(
5562         [in] BSTR Unit,
5563         [defaultvalue(1), in] long Count,
5564         [retval, out] long *ActualCount);
5565
5566     [id(DISPID_IHTMLTXTRANGE_SELECT)]
5567     HRESULT select();
5568
5569     [id(DISPID_IHTMLTXTRANGE_PASTEHTML)]
5570     HRESULT pasteHTML([in] BSTR html);
5571
5572     [id(DISPID_IHTMLTXTRANGE_MOVETOELEMENTTEXT)]
5573     HRESULT moveToElementText([in] IHTMLElement *element);
5574
5575     [id(DISPID_IHTMLTXTRANGE_SETENDPOINT)]
5576     HRESULT setEndPoint(
5577         [in] BSTR how,
5578         [in] IHTMLTxtRange *SourceRange);
5579
5580     [id(DISPID_IHTMLTXTRANGE_COMPAREENDPOINTS)]
5581     HRESULT compareEndPoints(
5582         [in] BSTR how,
5583         [in] IHTMLTxtRange *SourceRange,
5584         [retval, out] long *ret);
5585
5586     [id(DISPID_IHTMLTXTRANGE_FINDTEXT)]
5587     HRESULT findText(
5588         [in] BSTR String,
5589         [defaultvalue(1073741823), in] long count,
5590         [defaultvalue(0), in] long Flags,
5591         [retval, out] VARIANT_BOOL *Success);
5592
5593     [id(DISPID_IHTMLTXTRANGE_MOVETOPOINT)]
5594     HRESULT moveToPoint(
5595         [in] long x,
5596         [in] long y);
5597
5598     [id(DISPID_IHTMLTXTRANGE_GETBOOKMARK)]
5599     HRESULT getBookmark([retval, out] BSTR *Boolmark);
5600
5601     [id(DISPID_IHTMLTXTRANGE_MOVETOBOOKMARK)]
5602     HRESULT moveToBookmark(
5603         [in] BSTR Bookmark,
5604         [retval, out] VARIANT_BOOL *Success);
5605
5606     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDSUPPORTED)]
5607     HRESULT queryCommandSupported(
5608         [in] BSTR cmdID,
5609         [retval, out] VARIANT_BOOL *pfRet);
5610
5611     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDENABLED)]
5612     HRESULT queryCommandEnabled(
5613         [in] BSTR cmdID,
5614         [retval, out] VARIANT_BOOL *pfRet);
5615
5616     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDSTATE)]
5617     HRESULT queryCommandState(
5618         [in] BSTR cmdID,
5619         [retval, out] VARIANT_BOOL *pfRet);
5620
5621     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDINDETERM)]
5622     HRESULT queryCommandIndeterm(
5623         [in] BSTR cmdID,
5624         [retval, out] VARIANT_BOOL *pfRet);
5625
5626     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDTEXT)]
5627     HRESULT queryCommandText(
5628         [in] BSTR cmdID,
5629         [retval, out] BSTR *pcmdText);
5630
5631     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDVALUE)]
5632     HRESULT queryCommandValue(
5633         [in] BSTR cmdID,
5634         [retval, out] VARIANT *pcmdValue);
5635
5636     [id(DISPID_IHTMLTXTRANGE_EXECCOMMAND)]
5637     HRESULT execCommand(
5638         [in] BSTR cmdID,
5639         [defaultvalue(0), in] VARIANT_BOOL showUI,
5640         [optional, in] VARIANT value,
5641         [retval, out] VARIANT_BOOL *pfRet);
5642
5643     [id(DISPID_IHTMLTXTRANGE_EXECCOMMANDSHOWHELP)]
5644     HRESULT execCommandShowHelp(
5645         [in] BSTR cmdID,
5646         [retval, out] VARIANT_BOOL *pfRet);
5647 }
5648
5649 /*****************************************************************************
5650  *    IHTMLFormElement interface
5651  */
5652 [
5653     odl,
5654     oleautomation,
5655     dual,
5656     uuid(3050F1F7-98B5-11CF-BB82-00AA00BDCE0B)
5657 ]
5658 interface IHTMLFormElement : IDispatch
5659 {
5660     [propput, id(DISPID_IHTMLFORMELEMENT_ACTION)]
5661     HRESULT action([in] BSTR v);
5662
5663     [propget, id(DISPID_IHTMLFORMELEMENT_ACTION)]
5664     HRESULT action([retval, out] BSTR *p);
5665
5666     [propput, id(DISPID_IHTMLFORMELEMENT_DIR)]
5667     HRESULT dir([in] BSTR v);
5668
5669     [propget, id(DISPID_IHTMLFORMELEMENT_DIR)]
5670     HRESULT dir([retval, out] BSTR *p);
5671
5672     [propput, id(DISPID_IHTMLFORMELEMENT_ENCODING)]
5673     HRESULT encoding([in] BSTR v);
5674
5675     [propget, id(DISPID_IHTMLFORMELEMENT_ENCODING)]
5676     HRESULT encoding([retval, out] BSTR *p);
5677
5678     [propput, id(DISPID_IHTMLFORMELEMENT_METHOD)]
5679     HRESULT method([in] BSTR v);
5680
5681     [propget, id(DISPID_IHTMLFORMELEMENT_METHOD)]
5682     HRESULT method([retval, out] BSTR *p);
5683
5684     [propget, id(DISPID_IHTMLFORMELEMENT_ELEMENTS)]
5685     HRESULT elements([retval, out] IDispatch **p);
5686
5687     [propput, id(DISPID_IHTMLFORMELEMENT_TARGET)]
5688     HRESULT target([in] BSTR v);
5689
5690     [propget, id(DISPID_IHTMLFORMELEMENT_TARGET)]
5691     HRESULT target([retval, out] BSTR *p);
5692
5693     [propput, id(DISPID_IHTMLFORMELEMENT_NAME)]
5694     HRESULT name([in] BSTR v);
5695
5696     [propget, id(DISPID_IHTMLFORMELEMENT_NAME)]
5697     HRESULT name([retval, out] BSTR *p);
5698
5699     [propput, id(DISPID_IHTMLFORMELEMENT_ONSUBMIT)]
5700     HRESULT onsubmit([in] VARIANT v);
5701
5702     [propget, id(DISPID_IHTMLFORMELEMENT_ONSUBMIT)]
5703     HRESULT onsubmit([retval, out] VARIANT *p);
5704
5705     [propput, id(DISPID_IHTMLFORMELEMENT_ONRESET)]
5706     HRESULT onreset([in] VARIANT v);
5707
5708     [propget, id(DISPID_IHTMLFORMELEMENT_ONRESET)]
5709     HRESULT onreset([retval, out] VARIANT *p);
5710
5711     [id(DISPID_IHTMLFORMELEMENT_SUBMIT)]
5712     HRESULT submit();
5713
5714     [id(DISPID_IHTMLFORMELEMENT_RESET)]
5715     HRESULT reset();
5716
5717     [propput, id(DISPID_IHTMLFORMELEMENT_LENGTH)]
5718     HRESULT length([in] long v);
5719
5720     [propget, id(DISPID_IHTMLFORMELEMENT_LENGTH)]
5721     HRESULT length([retval, out] long *p);
5722
5723     [propget, id(DISPID_IHTMLFORMELEMENT__NEWENUM)]
5724     HRESULT _newEnum([retval, out] IUnknown **p);
5725
5726     [id(DISPID_IHTMLFORMELEMENT_ITEM)]
5727     HRESULT item(
5728         [optional, in] VARIANT name,
5729         [optional, in] VARIANT index,
5730         [retval, out] IDispatch **pdisp);
5731
5732     [id(DISPID_IHTMLFORMELEMENT_TAGS)]
5733     HRESULT tags(
5734         [in] VARIANT tagName,
5735         [retval, out] IDispatch **pdisp);
5736 }
5737
5738 /*****************************************************************************
5739  *    IHTMLTextContainer interface
5740  */
5741 [
5742     odl,
5743     oleautomation,
5744     dual,
5745     uuid(3050f230-98b5-11cf-bb82-00aa00bdce0b)
5746 ]
5747 interface IHTMLTextContainer : IDispatch
5748 {
5749     [id(DISPID_IHTMLTEXTCONTAINER_CREATECONTROLRANGE)]
5750     HRESULT createControlRange([retval, out] IDispatch **range);
5751
5752     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLHEIGHT), displaybind, bindable]
5753     HRESULT scrollHeight([retval, out] long *p);
5754
5755     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLWIDTH), displaybind, bindable]
5756     HRESULT scrollWidth([retval, out] long *p);
5757
5758     [propput, id(DISPID_IHTMLTEXTCONTAINER_SCROLLTOP), displaybind, bindable]
5759     HRESULT scrollTop([in] long v);
5760
5761     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLTOP), displaybind, bindable]
5762     HRESULT scrollTop([retval, out] long *p);
5763
5764     [propput, id(DISPID_IHTMLTEXTCONTAINER_SCROLLLEFT), displaybind, bindable]
5765     HRESULT scrollLeft([in] long v);
5766
5767     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLLEFT), displaybind, bindable]
5768     HRESULT scrollLeft([retval, out] long *p);
5769
5770     [propput, id(DISPID_IHTMLTEXTCONTAINER_ONSCROLL), displaybind, bindable]
5771     HRESULT onscroll([in] VARIANT v);
5772
5773     [propget, id(DISPID_IHTMLTEXTCONTAINER_ONSCROLL), displaybind, bindable]
5774     HRESULT onscroll([retval, out] VARIANT *p);
5775 }
5776
5777 /*****************************************************************************
5778  *    IHTMLImgElement interface
5779  */
5780 [
5781     odl,
5782     oleautomation,
5783     dual,
5784     uuid(3050F240-98B5-11CF-BB82-00AA00BDCE0B)
5785 ]
5786 interface IHTMLImgElement : IDispatch
5787 {
5788     [propput, id(DISPID_IHTMLIMGELEMENT_ISMAP)]
5789     HRESULT isMap([in] VARIANT_BOOL v);
5790
5791     [propget, id(DISPID_IHTMLIMGELEMENT_ISMAP)]
5792     HRESULT isMap([retval, out] VARIANT_BOOL *p);
5793
5794     [propput, id(DISPID_IHTMLIMGELEMENT_USEMAP)]
5795     HRESULT useMap([in] BSTR v);
5796
5797     [propget, id(DISPID_IHTMLIMGELEMENT_USEMAP)]
5798     HRESULT useMap([retval, out] BSTR *p);
5799
5800     [propget, id(DISPID_IHTMLIMGELEMENT_MIMETYPE)]
5801     HRESULT mimeType([retval, out] BSTR *p);
5802
5803     [propget, id(DISPID_IHTMLIMGELEMENT_FILESIZE)]
5804     HRESULT fileSize([retval, out] BSTR *p);
5805
5806     [propget, id(DISPID_IHTMLIMGELEMENT_FILECREATEDDATE)]
5807     HRESULT fileCreatedDate([retval, out] BSTR *p);
5808
5809     [propget, id(DISPID_IHTMLIMGELEMENT_FILEMODIFIEDDATE)]
5810     HRESULT fileModifiedDate([retval, out] BSTR *p);
5811
5812     [propget, id(DISPID_IHTMLIMGELEMENT_FILEUPDATEDDATE)]
5813     HRESULT fileUpdatedDate([retval, out] BSTR *p);
5814
5815     [propget, id(DISPID_IHTMLIMGELEMENT_PROTOCOL)]
5816     HRESULT protocol([retval, out] BSTR *p);
5817
5818     [propget, id(DISPID_IHTMLIMGELEMENT_HREF)]
5819     HRESULT href([retval, out] BSTR *p);
5820
5821     [propget, id(DISPID_IHTMLIMGELEMENT_NAMEPROP)]
5822     HRESULT nameProp([retval, out] BSTR *p);
5823
5824     [propput, id(DISPID_IHTMLIMGELEMENT_BORDER)]
5825     HRESULT border([in] VARIANT v);
5826
5827     [propget, id(DISPID_IHTMLIMGELEMENT_BORDER)]
5828     HRESULT border([retval, out] VARIANT *p);
5829
5830     [propput, id(DISPID_IHTMLIMGELEMENT_VSPACE)]
5831     HRESULT vspace([in] long v);
5832
5833     [propget, id(DISPID_IHTMLIMGELEMENT_VSPACE)]
5834     HRESULT vspace([retval, out] long *p);
5835
5836     [propput, id(DISPID_IHTMLIMGELEMENT_HSPACE)]
5837     HRESULT hspace([in] long v);
5838
5839     [propget, id(DISPID_IHTMLIMGELEMENT_HSPACE)]
5840     HRESULT hspace([retval, out] long *p);
5841
5842     [propput, id(DISPID_IHTMLIMGELEMENT_ALT)]
5843     HRESULT alt([in] BSTR v);
5844
5845     [propget, id(DISPID_IHTMLIMGELEMENT_ALT)]
5846     HRESULT alt([retval, out] BSTR *p);
5847
5848     [propput, id(DISPID_IHTMLIMGELEMENT_SRC)]
5849     HRESULT src([in] BSTR v);
5850
5851     [propget, id(DISPID_IHTMLIMGELEMENT_SRC)]
5852     HRESULT src([retval, out] BSTR *p);
5853
5854     [propput, id(DISPID_IHTMLIMGELEMENT_LOWSRC)]
5855     HRESULT lowsrc([in] BSTR v);
5856
5857     [propget, id(DISPID_IHTMLIMGELEMENT_LOWSRC)]
5858     HRESULT lowsrc([retval, out] BSTR *p);
5859
5860     [propput, id(DISPID_IHTMLIMGELEMENT_VRML)]
5861     HRESULT vrml([in] BSTR v);
5862
5863     [propget, id(DISPID_IHTMLIMGELEMENT_VRML)]
5864     HRESULT vrml([retval, out] BSTR *p);
5865
5866     [propput, id(DISPID_IHTMLIMGELEMENT_DYNSRC)]
5867     HRESULT dynsrc([in] BSTR v);
5868
5869     [propget, id(DISPID_IHTMLIMGELEMENT_DYNSRC)]
5870     HRESULT dynsrc([retval, out] BSTR *p);
5871
5872     [propget, id(DISPID_IHTMLIMGELEMENT_READYSTATE)]
5873     HRESULT readyState([retval, out] BSTR *p);
5874
5875     [propget, id(DISPID_IHTMLIMGELEMENT_COMPLETE)]
5876     HRESULT complete([retval, out] VARIANT_BOOL *p);
5877
5878     [propput, id(DISPID_IHTMLIMGELEMENT_LOOP)]
5879     HRESULT loop([in] VARIANT v);
5880
5881     [propget, id(DISPID_IHTMLIMGELEMENT_LOOP)]
5882     HRESULT loop([retval, out] VARIANT *p);
5883
5884     [propput, id(DISPID_IHTMLIMGELEMENT_ALIGN)]
5885     HRESULT align([in] BSTR v);
5886
5887     [propget, id(DISPID_IHTMLIMGELEMENT_ALIGN)]
5888     HRESULT align([retval, out] BSTR *p);
5889
5890     [propput, id(DISPID_IHTMLIMGELEMENT_ONLOAD)]
5891     HRESULT onload([in] VARIANT v);
5892
5893     [propget, id(DISPID_IHTMLIMGELEMENT_ONLOAD)]
5894     HRESULT onload([retval, out] VARIANT *p);
5895
5896     [propput, id(DISPID_IHTMLIMGELEMENT_ONERROR)]
5897     HRESULT onerror([in] VARIANT v);
5898
5899     [propget, id(DISPID_IHTMLIMGELEMENT_ONERROR)]
5900     HRESULT onerror([retval, out] VARIANT *p);
5901
5902     [propput, id(DISPID_IHTMLIMGELEMENT_ONABORT)]
5903     HRESULT onabort([in] VARIANT v);
5904
5905     [propget, id(DISPID_IHTMLIMGELEMENT_ONABORT)]
5906     HRESULT onabort([retval, out] VARIANT *p);
5907
5908     [propput, id(DISPID_IHTMLIMGELEMENT_NAME)]
5909     HRESULT name([in] BSTR v);
5910
5911     [propget, id(DISPID_IHTMLIMGELEMENT_NAME)]
5912     HRESULT name([retval, out] BSTR *p);
5913
5914     [propput, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
5915     HRESULT width([in] long v);
5916
5917     [propget, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
5918     HRESULT width([retval, out] long *p);
5919
5920     [propput, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
5921     HRESULT height([in] long v);
5922
5923     [propget, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
5924     HRESULT height([retval, out] long *p);
5925
5926     [propput, id(DISPID_IHTMLIMGELEMENT_START)]
5927     HRESULT start([in] BSTR v);
5928
5929     [propget, id(DISPID_IHTMLIMGELEMENT_START)]
5930     HRESULT start([retval, out] BSTR *p);
5931 }
5932
5933 /*****************************************************************************
5934  *    IHTMLImageElementFactory interface
5935  */
5936 [
5937     odl,
5938     oleautomation,
5939     dual,
5940     uuid(3050F38E-98B5-11CF-BB82-00AAA0BDCE0B)
5941 ]
5942 interface IHTMLImageElementFactory : IDispatch
5943 {
5944     [id(DISPID_IHTMLIMAGEELEMENTFACTORY_CREATE)]
5945     HRESULT create(
5946         [optional, in] VARIANT width,
5947         [optional, in] VARIANT height,
5948         [retval, out]  IHTMLImgElement **elem);
5949 }
5950
5951 /*****************************************************************************
5952  *    DispHTMLImg interface
5953  */
5954 [
5955     hidden,
5956     uuid(3050f51c-98b5-11cf-bb82-00aa00bdce0b)
5957 ]
5958 dispinterface DispHTMLImg
5959 {
5960 properties:
5961 methods:
5962     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
5963     void setAttribute(
5964             [in] BSTR strAttributeName,
5965             [in] VARIANT AttributeValue,
5966             [in, defaultvalue(1)] LONG lFlags);
5967
5968     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
5969     VARIANT getAttribute(
5970              [in] BSTR strAttributeName,
5971              [in, defaultvalue(0)] LONG lFlags);
5972
5973     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
5974     VARIANT_BOOL removeAttribute(
5975             [in] BSTR strAttributeName,
5976             [in, defaultvalue(1)] LONG lFlags);
5977
5978     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
5979     void className(BSTR v);
5980
5981     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
5982     BSTR className();
5983
5984     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
5985     void id(BSTR v);
5986
5987     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
5988     BSTR id();
5989
5990     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
5991     BSTR tagName();
5992
5993     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
5994     IHTMLElement *parentElement();
5995
5996     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
5997     IHTMLStyle *style();
5998
5999     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
6000     void onhelp(VARIANT v);
6001
6002     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
6003     VARIANT onhelp();
6004
6005     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
6006     void onclick(VARIANT v);
6007
6008     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
6009     VARIANT onclick();
6010
6011     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
6012     void ondblclick(VARIANT v);
6013
6014     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
6015     VARIANT ondblclick();
6016
6017     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
6018     void onkeydown(VARIANT v);
6019
6020     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
6021     VARIANT onkeydown();
6022
6023     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
6024     void onkeyup(VARIANT v);
6025
6026     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
6027     VARIANT onkeyup();
6028
6029     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
6030     void onkeypress(VARIANT v);
6031
6032     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
6033     VARIANT onkeypress();
6034
6035     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
6036     void onmouseout(VARIANT v);
6037
6038     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
6039     VARIANT onmouseout();
6040
6041     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
6042     void onmouseover(VARIANT v);
6043
6044     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
6045     VARIANT onmouseover();
6046
6047     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
6048     void onmousemove(VARIANT v);
6049
6050     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
6051     VARIANT onmousemove();
6052
6053     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
6054     void onmousedown(VARIANT v);
6055
6056     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
6057     VARIANT onmousedown();
6058
6059     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
6060     void onmouseup(VARIANT v);
6061
6062     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
6063     VARIANT onmouseup();
6064
6065     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
6066     IDispatch *document();
6067
6068     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
6069     void title(BSTR v);
6070
6071     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
6072     BSTR title();
6073
6074     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
6075     void language(BSTR v);
6076
6077     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
6078     BSTR language();
6079
6080     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
6081     void onselectstart(VARIANT v);
6082
6083     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
6084     VARIANT onselectstart();
6085
6086     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
6087     void scrollIntoView([in, optional] VARIANT varargStart);
6088
6089     [id(DISPID_IHTMLELEMENT_CONTAINS)]
6090     VARIANT_BOOL contains([in] IHTMLElement *pChild);
6091
6092     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
6093     long sourceIndex();
6094
6095     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
6096     VARIANT recordNumber();
6097
6098     [propput, id(DISPID_IHTMLELEMENT_LANG)]
6099     void lang(BSTR v);
6100
6101     [propget, id(DISPID_IHTMLELEMENT_LANG)]
6102     BSTR lang();
6103
6104     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
6105     long offsetLeft();
6106
6107     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
6108     long offsetTop();
6109
6110     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
6111     long offsetWidth();
6112
6113     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
6114     long offsetHeight();
6115
6116     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
6117     IHTMLElement *offsetParent();
6118
6119     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
6120     void innerHTML(BSTR v);
6121
6122     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
6123     BSTR innerHTML();
6124
6125     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
6126     void innerText(BSTR v);
6127
6128     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
6129     BSTR innerText();
6130
6131     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
6132     void outerHTML(BSTR v);
6133
6134     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
6135     BSTR outerHTML();
6136
6137     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
6138     void outerText(BSTR v);
6139
6140     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
6141     BSTR outerText();
6142
6143     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
6144     void insertAdjacentHTML(
6145             [in] BSTR where,
6146             [in] BSTR html);
6147
6148     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
6149     void insertAdjacentText(
6150             [in] BSTR where,
6151             [in] BSTR text);
6152
6153     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
6154     IHTMLElement *parentTextEdit();
6155
6156     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
6157     VARIANT_BOOL isTextEdit();
6158
6159     [id(DISPID_IHTMLELEMENT_CLICK)]
6160     void click();
6161
6162     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
6163     IHTMLFiltersCollection *filters();
6164
6165     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
6166     void ondragstart(VARIANT v);
6167
6168     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
6169     VARIANT ondragstart();
6170
6171     [id(DISPID_IHTMLELEMENT_TOSTRING)]
6172     BSTR toString();
6173
6174     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
6175     void onbeforeupdate(VARIANT v);
6176
6177     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
6178     VARIANT onbeforeupdate();
6179
6180     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
6181     void onafterupdate(VARIANT v);
6182
6183     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
6184     VARIANT onafterupdate();
6185
6186     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
6187     void onerrorupdate(VARIANT v);
6188
6189     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
6190     VARIANT onerrorupdate();
6191
6192     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
6193     void onrowexit(VARIANT v);
6194
6195     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
6196     VARIANT onrowexit();
6197
6198     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
6199     void onrowenter(VARIANT v);
6200
6201     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
6202     VARIANT onrowenter();
6203
6204     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
6205     void ondatasetchanged(VARIANT v);
6206
6207     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
6208     VARIANT ondatasetchanged();
6209
6210     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
6211     void ondataavailable(VARIANT v);
6212
6213     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
6214     VARIANT ondataavailable();
6215
6216     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
6217     void ondatasetcomplete(VARIANT v);
6218
6219     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
6220     VARIANT ondatasetcomplete();
6221
6222     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
6223     void onfilterchange(VARIANT v);
6224
6225     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
6226     VARIANT onfilterchange();
6227
6228     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
6229     IDispatch *children();
6230
6231     [propget, id(DISPID_IHTMLELEMENT_ALL)]
6232     IDispatch *all();
6233
6234     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
6235     BSTR scopeName();
6236
6237     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
6238     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
6239
6240     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
6241     void releaseCapture();
6242
6243     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
6244     void onlosecapture(VARIANT v);
6245
6246     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
6247     VARIANT onlosecapture();
6248
6249     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
6250     BSTR componentFromPoint(
6251             [in] long x,
6252             [in] long y);
6253
6254     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
6255     void doScroll([in, optional] VARIANT component);
6256
6257     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
6258     void onscroll(VARIANT v);
6259
6260     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
6261     VARIANT onscroll();
6262
6263     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
6264     void ondrag(VARIANT v);
6265
6266     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
6267     VARIANT ondrag();
6268
6269     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
6270     void ondragend(VARIANT v);
6271
6272     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
6273     VARIANT ondragend();
6274
6275     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
6276     void ondragenter(VARIANT v);
6277
6278     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
6279     VARIANT ondragenter();
6280
6281     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
6282     void ondragover(VARIANT v);
6283
6284     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
6285     VARIANT ondragover();
6286
6287     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
6288     void ondragleave(VARIANT v);
6289
6290     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
6291     VARIANT ondragleave();
6292
6293     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
6294     void ondrop(VARIANT v);
6295
6296     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
6297     VARIANT ondrop();
6298
6299     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
6300     void onbeforecut(VARIANT v);
6301
6302     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
6303     VARIANT onbeforecut();
6304
6305     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
6306     void oncut(VARIANT v);
6307
6308     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
6309     VARIANT oncut();
6310
6311     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
6312     void onbeforecopy(VARIANT v);
6313
6314     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
6315     VARIANT onbeforecopy();
6316
6317     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
6318     void oncopy(VARIANT v);
6319
6320     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
6321     VARIANT oncopy();
6322
6323     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
6324     void onbeforepaste(VARIANT v);
6325
6326     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
6327     VARIANT onbeforepaste();
6328
6329     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
6330     void onpaste(VARIANT v);
6331
6332     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
6333     VARIANT onpaste();
6334
6335     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
6336     IHTMLCurrentStyle *currentStyle();
6337
6338     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
6339     void onpropertychange(VARIANT v);
6340
6341     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
6342     VARIANT onpropertychange();
6343
6344     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
6345     IHTMLRectCollection *getClientRects();
6346
6347     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
6348     IHTMLRect *getBoundingClientRect();
6349
6350     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
6351     void setExpression(
6352             [in] BSTR propname,
6353             [in] BSTR expression,
6354             [in, defaultvalue("")] BSTR language);
6355
6356     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
6357     VARIANT getExpression([in] BSTR propname);
6358
6359     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
6360     VARIANT_BOOL removeExpression([in] BSTR propname);
6361
6362     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
6363     void tabIndex(short v);
6364
6365     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
6366     short tabIndex();
6367
6368     [id(DISPID_IHTMLELEMENT2_FOCUS)]
6369     void focus();
6370
6371     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
6372     void accessKey(BSTR v);
6373
6374     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
6375     BSTR accessKey();
6376
6377     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
6378     void onblur(VARIANT v);
6379
6380     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
6381     VARIANT onblur();
6382
6383     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
6384     void onfocus(VARIANT v);
6385
6386     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
6387     VARIANT onfocus();
6388
6389     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
6390     void onresize(VARIANT v);
6391
6392     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
6393     VARIANT onresize();
6394
6395     [id(DISPID_IHTMLELEMENT2_BLUR)]
6396     void blur();
6397
6398     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
6399     void addFilter([in] IUnknown *pUnk);
6400
6401     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
6402     void removeFilter([in] IUnknown *pUnk);
6403
6404     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
6405     long clientHeight();
6406
6407     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
6408     long clientWidth();
6409
6410     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
6411     long clientTop();
6412
6413     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
6414     long clientLeft();
6415
6416     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
6417     VARIANT_BOOL attachEvent(
6418             [in] BSTR event,
6419             [in] IDispatch *pDisp);
6420
6421     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
6422     void detachEvent(
6423             [in] BSTR event,
6424             [in] IDispatch *pDisp);
6425
6426     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
6427     VARIANT readyState();
6428
6429     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
6430     void onreadystatechange(VARIANT v);
6431
6432     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
6433     VARIANT onreadystatechange();
6434
6435     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
6436     void onrowsdelete(VARIANT v);
6437
6438     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
6439     VARIANT onrowsdelete();
6440
6441     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
6442     void onrowsinserted(VARIANT v);
6443
6444     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
6445      VARIANT onrowsinserted();
6446
6447     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
6448      void oncellchange(VARIANT v);
6449
6450     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
6451     VARIANT oncellchange();
6452
6453     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
6454     void dir(BSTR v);
6455
6456     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
6457     BSTR dir();
6458
6459     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
6460     IDispatch *createControlRange();
6461
6462     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
6463     long scrollHeight();
6464
6465     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
6466     long scrollWidth();
6467
6468     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
6469     void scrollTop(long v);
6470
6471     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
6472     long scrollTop();
6473
6474     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
6475     void scrollLeft(long v);
6476
6477     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
6478     long scrollLeft();
6479
6480     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
6481     void clearAttributes();
6482
6483     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
6484     void oncontextmenu(VARIANT v);
6485
6486     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
6487     VARIANT oncontextmenu();
6488
6489     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
6490     IHTMLElement *insertAdjacentElement(
6491             [in] BSTR where,
6492             [in] IHTMLElement *insertedElement);
6493
6494     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
6495     IHTMLElement *applyElement(
6496             [in] IHTMLElement *apply,
6497             [in] BSTR where);
6498
6499     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
6500     BSTR getAdjacentText([in] BSTR where);
6501
6502     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
6503     BSTR replaceAdjacentText(
6504             [in] BSTR where,
6505             [in] BSTR newText);
6506
6507     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
6508     VARIANT_BOOL canHaveChildren();
6509
6510     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
6511     long addBehavior(
6512             [in] BSTR bstrUrl,
6513             [in, optional] VARIANT *pvarFactory);
6514
6515     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
6516     VARIANT_BOOL removeBehavior([in] long cookie);
6517
6518     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
6519     IHTMLStyle *runtimeStyle();
6520
6521     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
6522     IDispatch *behaviorUrns();
6523
6524     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
6525     void tagUrn(BSTR v);
6526
6527     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
6528     BSTR tagUrn();
6529
6530     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
6531     void onbeforeeditfocus(VARIANT v);
6532
6533     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
6534     VARIANT onbeforeeditfocus();
6535
6536     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
6537     long readyStateValue();
6538
6539     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
6540     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
6541
6542     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
6543     void mergeAttributes(
6544             [in] IHTMLElement *mergeThis,
6545             [in, optional] VARIANT *pvarFlags);
6546
6547     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
6548     VARIANT_BOOL isMultiLine();
6549
6550     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
6551     VARIANT_BOOL canHaveHTML();
6552
6553     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
6554     void onlayoutcomplete(VARIANT v);
6555
6556     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
6557     VARIANT onlayoutcomplete();
6558
6559     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
6560     void onpage(VARIANT v);
6561
6562     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
6563     VARIANT onpage();
6564
6565     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
6566     void inflateBlock(VARIANT_BOOL v);
6567
6568     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
6569     VARIANT_BOOL inflateBlock();
6570
6571     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
6572     void onbeforedeactivate(VARIANT v);
6573
6574     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
6575     VARIANT onbeforedeactivate();
6576
6577     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
6578     void setActive();
6579
6580     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
6581     void contentEditable(BSTR v);
6582
6583     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
6584     BSTR contentEditable();
6585
6586     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
6587     VARIANT_BOOL isContentEditable();
6588
6589     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
6590     void hideFocus(VARIANT_BOOL v);
6591
6592     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
6593     VARIANT_BOOL hideFocus();
6594
6595     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
6596     void disabled(VARIANT_BOOL v);
6597
6598     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
6599     VARIANT_BOOL disabled();
6600
6601     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
6602     VARIANT_BOOL isDisabled();
6603
6604     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
6605     void onmove(VARIANT v);
6606
6607     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
6608     VARIANT onmove();
6609
6610     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
6611     void oncontrolselect(VARIANT v);
6612
6613     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
6614     VARIANT oncontrolselect();
6615
6616     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
6617     VARIANT_BOOL fireEvent(
6618             [in] BSTR bstrEventName,
6619             [in, optional] VARIANT *pvarEventObject);
6620
6621     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
6622     void onresizestart(VARIANT v);
6623
6624     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
6625     VARIANT onresizestart();
6626
6627     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
6628     void onresizeend(VARIANT v);
6629
6630     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
6631     VARIANT onresizeend();
6632
6633     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
6634     void onmovestart(VARIANT v);
6635
6636     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
6637     VARIANT onmovestart();
6638
6639     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
6640     void onmoveend(VARIANT v);
6641
6642     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
6643     VARIANT onmoveend();
6644
6645     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
6646     void onmouseenter(VARIANT v);
6647
6648     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
6649     VARIANT onmouseenter();
6650
6651     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
6652     void onmouseleave(VARIANT v);
6653
6654     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
6655     VARIANT onmouseleave();
6656
6657     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
6658     void onactivate(VARIANT v);
6659
6660     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
6661     VARIANT onactivate();
6662
6663     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
6664     void ondeactivate(VARIANT v);
6665
6666     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
6667     VARIANT ondeactivate();
6668
6669     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
6670     VARIANT_BOOL dragDrop();
6671
6672     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
6673     LONG glyphMode();
6674
6675     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
6676     void onmousewheel(VARIANT v);
6677
6678     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
6679     VARIANT onmousewheel();
6680
6681     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
6682     void normalize();
6683
6684     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
6685     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
6686
6687     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
6688     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
6689
6690     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
6691     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
6692
6693     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
6694     void onbeforeactivate(VARIANT v);
6695
6696     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
6697     VARIANT onbeforeactivate();
6698
6699     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
6700     void onfocusin(VARIANT v);
6701
6702     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
6703     VARIANT onfocusin();
6704
6705     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
6706     void onfocusout(VARIANT v);
6707
6708     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
6709     VARIANT onfocusout();
6710
6711     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
6712     long uniqueNumber();
6713
6714     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
6715     BSTR uniqueID();
6716
6717     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
6718     long nodeType();
6719
6720     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
6721     IHTMLDOMNode *parentNode();
6722
6723     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
6724     VARIANT_BOOL hasChildNodes();
6725
6726     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
6727     IDispatch *childNodes();
6728
6729     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
6730     IDispatch *attributes();
6731
6732     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
6733     IHTMLDOMNode *insertBefore(
6734             [in] IHTMLDOMNode *newChild,
6735             [in, optional] VARIANT refChild);
6736
6737     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
6738     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
6739
6740     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
6741     IHTMLDOMNode *replaceChild(
6742             [in] IHTMLDOMNode *newChild,
6743             [in] IHTMLDOMNode *oldChild);
6744
6745     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
6746     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
6747
6748     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
6749     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
6750
6751     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
6752     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
6753
6754     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
6755     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
6756
6757     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
6758     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
6759
6760     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
6761     BSTR nodeName();
6762
6763     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
6764     void nodeValue(VARIANT v);
6765
6766     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
6767     VARIANT nodeValue();
6768
6769     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
6770     IHTMLDOMNode *firstChild();
6771
6772     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
6773     IHTMLDOMNode *lastChild();
6774
6775     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
6776     IHTMLDOMNode *previousSibling();
6777
6778     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
6779     IHTMLDOMNode *nextSibling();
6780
6781     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
6782     IDispatch *ownerDocument();
6783
6784     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
6785     void dataFld(BSTR v);
6786
6787     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
6788     BSTR dataFld();
6789
6790     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
6791     void dataSrc(BSTR v);
6792
6793     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
6794     BSTR dataSrc();
6795
6796     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
6797     void dataFormatAs(BSTR v);
6798
6799     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
6800     BSTR dataFormatAs();
6801
6802     [propput, id(DISPID_IHTMLIMGELEMENT_ISMAP), displaybind, bindable]
6803     void isMap(VARIANT_BOOL v);
6804
6805     [propget, id(DISPID_IHTMLIMGELEMENT_ISMAP), displaybind, bindable]
6806     VARIANT_BOOL isMap();
6807
6808     [propput, id(DISPID_IHTMLIMGELEMENT_USEMAP), displaybind, bindable]
6809     void useMap(BSTR v);
6810
6811     [propget, id(DISPID_IHTMLIMGELEMENT_USEMAP), displaybind, bindable]
6812     BSTR useMap();
6813
6814     [propget, id(DISPID_IHTMLIMGELEMENT_MIMETYPE)]
6815     BSTR mimeType();
6816
6817     [propget, id(DISPID_IHTMLIMGELEMENT_FILESIZE)]
6818     BSTR fileSize();
6819
6820     [propget, id(DISPID_IHTMLIMGELEMENT_FILECREATEDDATE)]
6821     BSTR fileCreatedDate();
6822
6823     [propget, id(DISPID_IHTMLIMGELEMENT_FILEMODIFIEDDATE)]
6824     BSTR fileModifiedDate();
6825
6826     [propget, id(DISPID_IHTMLIMGELEMENT_FILEUPDATEDDATE)]
6827     BSTR fileUpdatedDate();
6828
6829     [propget, id(DISPID_IHTMLIMGELEMENT_PROTOCOL)]
6830     BSTR protocol();
6831
6832     [propget, id(DISPID_IHTMLIMGELEMENT_HREF)]
6833     BSTR href();
6834
6835     [propget, id(DISPID_IHTMLIMGELEMENT_NAMEPROP)]
6836     BSTR nameProp();
6837
6838     [propput, id(DISPID_IHTMLIMGELEMENT_BORDER), displaybind, bindable]
6839     void border(VARIANT v);
6840
6841     [propget, id(DISPID_IHTMLIMGELEMENT_BORDER), displaybind, bindable]
6842     VARIANT border();
6843
6844     [propput, id(DISPID_IHTMLIMGELEMENT_VSPACE), displaybind, bindable]
6845     void vspace(long v);
6846
6847     [propget, id(DISPID_IHTMLIMGELEMENT_VSPACE), displaybind, bindable]
6848     long vspace();
6849
6850     [propput, id(DISPID_IHTMLIMGELEMENT_HSPACE), displaybind, bindable]
6851     void hspace(long v);
6852
6853     [propget, id(DISPID_IHTMLIMGELEMENT_HSPACE), displaybind, bindable]
6854     long hspace();
6855
6856     [propput, id(DISPID_IHTMLIMGELEMENT_ALT), displaybind, bindable]
6857     void alt(BSTR v);
6858
6859     [propget, id(DISPID_IHTMLIMGELEMENT_ALT), displaybind, bindable]
6860     BSTR alt();
6861
6862     [propput, id(DISPID_IHTMLIMGELEMENT_SRC), displaybind, bindable]
6863     void src(BSTR v);
6864
6865     [propget, id(DISPID_IHTMLIMGELEMENT_SRC), displaybind, bindable]
6866     BSTR src();
6867
6868     [propput, id(DISPID_IHTMLIMGELEMENT_LOWSRC), displaybind, bindable]
6869     void lowsrc(BSTR v);
6870
6871     [propget, id(DISPID_IHTMLIMGELEMENT_LOWSRC), displaybind, bindable]
6872     BSTR lowsrc();
6873
6874     [propput, id(DISPID_IHTMLIMGELEMENT_VRML), displaybind, bindable]
6875     void vrml(BSTR v);
6876
6877     [propget, id(DISPID_IHTMLIMGELEMENT_VRML), displaybind, bindable]
6878     BSTR vrml();
6879
6880     [propput, id(DISPID_IHTMLIMGELEMENT_DYNSRC), displaybind, bindable]
6881     void dynsrc(BSTR v);
6882
6883     [propget, id(DISPID_IHTMLIMGELEMENT_DYNSRC), displaybind, bindable]
6884     BSTR dynsrc();
6885
6886     [propget, id(DISPID_IHTMLIMGELEMENT_COMPLETE)]
6887     VARIANT_BOOL complete();
6888
6889     [propput, id(DISPID_IHTMLIMGELEMENT_LOOP), displaybind, bindable]
6890     void loop(VARIANT v);
6891
6892     [propget, id(DISPID_IHTMLIMGELEMENT_LOOP), displaybind, bindable]
6893     VARIANT loop();
6894
6895     [propput, id(DISPID_IHTMLIMGELEMENT_ALIGN), displaybind, bindable]
6896     void align(BSTR v);
6897
6898     [propget, id(DISPID_IHTMLIMGELEMENT_ALIGN), displaybind, bindable]
6899     BSTR align();
6900
6901     [propput, id(DISPID_IHTMLIMGELEMENT_ONLOAD), displaybind, bindable]
6902     void onload(VARIANT v);
6903
6904     [propget, id(DISPID_IHTMLIMGELEMENT_ONLOAD), displaybind, bindable]
6905     VARIANT onload();
6906
6907     [propput, id(DISPID_IHTMLIMGELEMENT_ONERROR), displaybind, bindable]
6908     void onerror(VARIANT v);
6909
6910     [propget, id(DISPID_IHTMLIMGELEMENT_ONERROR), displaybind, bindable]
6911     VARIANT onerror();
6912
6913     [propput, id(DISPID_IHTMLIMGELEMENT_ONABORT), displaybind, bindable]
6914     void onabort(VARIANT v);
6915
6916     [propget, id(DISPID_IHTMLIMGELEMENT_ONABORT), displaybind, bindable]
6917     VARIANT onabort();
6918
6919     [propput, id(DISPID_IHTMLIMGELEMENT_NAME), displaybind, bindable]
6920     void name(BSTR v);
6921
6922     [propget, id(DISPID_IHTMLIMGELEMENT_NAME), displaybind, bindable]
6923     BSTR name();
6924
6925     [propput, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
6926     void width(long v);
6927
6928     [propget, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
6929     long width();
6930
6931     [propput, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
6932     void height(long v);
6933
6934     [propget, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
6935     long height();
6936
6937     [propput, id(DISPID_IHTMLIMGELEMENT_START), displaybind, bindable]
6938     void start(BSTR v);
6939
6940     [propget, id(DISPID_IHTMLIMGELEMENT_START), displaybind, bindable]
6941     BSTR start();
6942
6943     [propput, id(DISPID_IHTMLIMGELEMENT2_LONGDESC), displaybind, bindable]
6944     void longDesc(BSTR v);
6945
6946     [propget, id(DISPID_IHTMLIMGELEMENT2_LONGDESC), displaybind, bindable]
6947     BSTR longDesc();
6948 };
6949
6950 /*****************************************************************************
6951  *    IHTMLUniqueName interface
6952  */
6953 [
6954     odl,
6955     oleautomation,
6956     dual,
6957     uuid(3050f4d0-98b5-11cf-bb82-00aa00bdce0b)
6958 ]
6959 interface IHTMLUniqueName : IDispatch
6960 {
6961     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
6962     HRESULT uniqueNumber([retval, out] long * p);
6963
6964     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
6965     HRESULT uniqueID([retval, out] BSTR * p);
6966 };
6967
6968 /*****************************************************************************
6969  *    IHTMLControlElement interface
6970  */
6971 [
6972     odl,
6973     oleautomation,
6974     dual,
6975     uuid(3050f4e9-98b5-11cf-bb82-00aa00bdce0b)
6976 ]
6977 interface IHTMLControlElement : IDispatch
6978 {
6979     [propput, id(DISPID_IHTMLCONTROLELEMENT_TABINDEX), displaybind, bindable]
6980     HRESULT tabIndex([in] short v);
6981
6982     [propget, id(DISPID_IHTMLCONTROLELEMENT_TABINDEX), displaybind, bindable]
6983     HRESULT tabIndex([retval, out] short * p);
6984
6985     [id(DISPID_IHTMLCONTROLELEMENT_FOCUS)]
6986     HRESULT focus();
6987
6988     [propput, id(DISPID_IHTMLCONTROLELEMENT_ACCESSKEY), displaybind, bindable]
6989     HRESULT accessKey([in] BSTR v);
6990
6991     [propget, id(DISPID_IHTMLCONTROLELEMENT_ACCESSKEY), displaybind, bindable]
6992     HRESULT accessKey([retval, out] BSTR * p);
6993
6994     [propput, id(DISPID_IHTMLCONTROLELEMENT_ONBLUR), displaybind, bindable]
6995     HRESULT onblur([in] VARIANT v);
6996
6997     [propget, id(DISPID_IHTMLCONTROLELEMENT_ONBLUR), displaybind, bindable]
6998     HRESULT onblur([retval, out] VARIANT * p);
6999
7000     [propput, id(DISPID_IHTMLCONTROLELEMENT_ONFOCUS), displaybind, bindable]
7001     HRESULT onfocus([in] VARIANT v);
7002
7003     [propget, id(DISPID_IHTMLCONTROLELEMENT_ONFOCUS), displaybind, bindable]
7004     HRESULT onfocus([retval, out] VARIANT * p);
7005
7006     [propput, id(DISPID_IHTMLCONTROLELEMENT_ONRESIZE), displaybind, bindable]
7007     HRESULT onresize([in] VARIANT v);
7008
7009     [propget, id(DISPID_IHTMLCONTROLELEMENT_ONRESIZE), displaybind, bindable]
7010     HRESULT onresize([retval, out] VARIANT * p);
7011
7012     [id(DISPID_IHTMLCONTROLELEMENT_BLUR)]
7013     HRESULT blur();
7014
7015     [id(DISPID_IHTMLCONTROLELEMENT_ADDFILTER)]
7016     HRESULT addFilter([in] IUnknown* pUnk);
7017
7018     [id(DISPID_IHTMLCONTROLELEMENT_REMOVEFILTER)]
7019     HRESULT removeFilter([in] IUnknown* pUnk);
7020
7021     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTHEIGHT), displaybind, bindable]
7022     HRESULT clientHeight([retval, out] long * p);
7023
7024     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTWIDTH), displaybind, bindable]
7025     HRESULT clientWidth([retval, out] long * p);
7026
7027     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTTOP), displaybind, bindable]
7028     HRESULT clientTop([retval, out] long * p);
7029
7030     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTLEFT), displaybind, bindable]
7031     HRESULT clientLeft([retval, out] long * p);
7032 };
7033
7034 /*****************************************************************************
7035  *    IHTMLBodyElement interface
7036  */
7037 [
7038     odl,
7039     oleautomation,
7040     dual,
7041     uuid(3050f1d8-98b5-11cf-bb82-00aa00bdce0b)
7042 ]
7043 interface IHTMLBodyElement : IDispatch
7044 {
7045     [propput, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
7046     HRESULT background([in] BSTR v);
7047
7048     [propget, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
7049     HRESULT background([retval, out] BSTR *p);
7050
7051     [propput, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
7052     HRESULT bgProperties([in] BSTR v);
7053
7054     [propget, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
7055     HRESULT bgProperties([retval, out] BSTR *p);
7056
7057     [propput, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
7058     HRESULT leftMargin([in] VARIANT v);
7059
7060     [propget, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
7061     HRESULT leftMargin([retval, out] VARIANT *p);
7062
7063     [propput, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
7064     HRESULT topMargin([in] VARIANT v);
7065
7066     [propget, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
7067     HRESULT topMargin([retval, out] VARIANT *p);
7068
7069     [propput, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
7070     HRESULT rightMargin([in] VARIANT v);
7071
7072     [propget, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
7073     HRESULT rightMargin([retval, out] VARIANT *p);
7074
7075     [propput, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
7076     HRESULT bottomMargin([in] VARIANT v);
7077
7078     [propget, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
7079     HRESULT bottomMargin([retval, out] VARIANT *p);
7080
7081     [propput, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
7082     HRESULT noWrap([in] VARIANT_BOOL v);
7083
7084     [propget, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
7085     HRESULT noWrap([retval, out] VARIANT_BOOL *p);
7086
7087     [propput, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
7088     HRESULT bgColor([in] VARIANT v);
7089
7090     [propget, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
7091     HRESULT bgColor([retval, out] VARIANT *p);
7092
7093     [propput, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
7094     HRESULT text([in] VARIANT v);
7095
7096     [propget, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
7097     HRESULT text([retval, out] VARIANT *p);
7098
7099     [propput, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
7100     HRESULT link([in] VARIANT v);
7101
7102     [propget, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
7103     HRESULT link([retval, out] VARIANT *p);
7104
7105     [propput, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
7106     HRESULT vLink([in] VARIANT v);
7107
7108     [propget, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
7109     HRESULT vLink([retval, out] VARIANT *p);
7110
7111     [propput, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
7112     HRESULT aLink([in] VARIANT v);
7113
7114     [propget, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
7115     HRESULT aLink([retval, out] VARIANT *p);
7116
7117     [propput, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
7118     HRESULT onload([in] VARIANT v);
7119
7120     [propget, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
7121     HRESULT onload([retval, out] VARIANT *p);
7122
7123     [propput, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
7124     HRESULT onunload([in] VARIANT v);
7125
7126     [propget, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
7127     HRESULT onunload([retval, out] VARIANT *p);
7128
7129     [propput, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
7130     HRESULT scroll([in] BSTR v);
7131
7132     [propget, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
7133     HRESULT scroll([retval, out] BSTR *p);
7134
7135     [propput, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
7136     HRESULT onselect([in] VARIANT v);
7137
7138     [propget, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
7139     HRESULT onselect([retval, out] VARIANT *p);
7140
7141     [propput, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
7142     HRESULT onbeforeunload([in] VARIANT v);
7143
7144     [propget, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
7145     HRESULT onbeforeunload([retval, out] VARIANT *p);
7146
7147     [id(DISPID_IHTMLBODYELEMENT_CREATETEXTRANGE)]
7148     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
7149 }
7150
7151 /*****************************************************************************
7152  *    IHTMLBodyElement2 interface
7153  */
7154 [
7155     odl,
7156     oleautomation,
7157     dual,
7158     uuid(3050f5c5-98b5-11cf-bb82-00aa00bdce0b)
7159 ]
7160 interface IHTMLBodyElement2 : IDispatch
7161 {
7162     [propput, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
7163     HRESULT onbeforeprint([in] VARIANT v);
7164
7165     [propget, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
7166     HRESULT onbeforeprint([retval, out] VARIANT *p);
7167
7168     [propput, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
7169     HRESULT onafterprint([in] VARIANT v);
7170
7171     [propget, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
7172     HRESULT onafterprint([retval, out] VARIANT *p);
7173 }
7174
7175 [
7176     hidden,
7177     uuid(3050f507-98b5-11cf-bb82-00aa00bdce0b)
7178 ]
7179 dispinterface DispHTMLBody
7180 {
7181 properties:
7182 methods:
7183     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
7184     void setAttribute(
7185         [in] BSTR strAttributeName,
7186         [in] VARIANT AttValue,
7187         [defaultvalue(1), in] LONG lFlags);
7188
7189     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
7190     VARIANT getAttribute(
7191         [in] BSTR strAttributeName,
7192         [defaultvalue(0), in] LONG lFlags);
7193
7194     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
7195     VARIANT_BOOL removeAttribute(
7196         [in] BSTR strAttributeName,
7197         [defaultvalue(1), in] LONG lFlags);
7198
7199     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
7200     void className(BSTR v);
7201
7202     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
7203     BSTR className();
7204
7205     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
7206     void id(BSTR v);
7207
7208     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
7209     BSTR id();
7210
7211     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
7212     BSTR tagName();
7213
7214     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
7215     IHTMLElement* parentElement();
7216
7217     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
7218     IHTMLStyle* style();
7219
7220     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
7221     void onhelp(VARIANT v);
7222
7223     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
7224     VARIANT onhelp();
7225
7226     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
7227     void onclick(VARIANT v);
7228
7229     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
7230     VARIANT onclick();
7231
7232     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
7233     void ondblclick(VARIANT v);
7234
7235     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
7236     VARIANT ondblclick();
7237
7238     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
7239     void onkeydown(VARIANT v);
7240
7241     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
7242     VARIANT onkeydown();
7243
7244     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
7245     void onkeyup(VARIANT v);
7246
7247     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
7248     VARIANT onkeyup();
7249
7250     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
7251     void onkeypress(VARIANT v);
7252
7253     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
7254     VARIANT onkeypress();
7255
7256     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
7257     void onmouseout(VARIANT v);
7258
7259     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
7260     VARIANT onmouseout();
7261
7262     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
7263     void onmouseover(VARIANT v);
7264
7265     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
7266     VARIANT onmouseover();
7267
7268     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
7269     void onmousemove(VARIANT v);
7270
7271     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
7272     VARIANT onmousemove();
7273
7274     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
7275     void onmousedown(VARIANT v);
7276
7277     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
7278     VARIANT onmousedown();
7279
7280     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
7281     void onmouseup(VARIANT v);
7282
7283     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
7284     VARIANT onmouseup();
7285
7286     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)] IDispatch* document();
7287
7288     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
7289     void title(BSTR v);
7290
7291     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
7292     BSTR title();
7293
7294     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
7295     void language(BSTR v);
7296
7297     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
7298     BSTR language();
7299
7300     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
7301     void onselectstart(VARIANT v);
7302
7303     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
7304     VARIANT onselectstart();
7305
7306     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
7307     void scrollIntoView([optional, in] VARIANT varargStart);
7308
7309     [id(DISPID_IHTMLELEMENT_CONTAINS)]
7310     VARIANT_BOOL contains([in] IHTMLElement* pChild);
7311
7312     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
7313     long sourceIndex();
7314
7315     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
7316     VARIANT recordNumber();
7317
7318     [propput, id(DISPID_IHTMLELEMENT_LANG)]
7319     void lang(BSTR v);
7320
7321     [propget, id(DISPID_IHTMLELEMENT_LANG)]
7322     BSTR lang();
7323
7324     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
7325     long offsetLeft();
7326
7327     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
7328     long offsetTop();
7329
7330     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
7331     long offsetWidth();
7332
7333     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
7334     long offsetHeight();
7335
7336     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
7337     IHTMLElement* offsetParent();
7338
7339     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
7340     void innerHTML(BSTR v);
7341
7342     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
7343     BSTR innerHTML();
7344
7345     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
7346     void innerText(BSTR v);
7347
7348     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
7349     BSTR innerText();
7350
7351     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
7352     void outerHTML(BSTR v);
7353
7354     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
7355     BSTR outerHTML();
7356
7357     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
7358     void outerText(BSTR v);
7359
7360     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
7361     BSTR outerText();
7362
7363     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
7364     void insertAdjacentHTML(
7365         [in] BSTR where,
7366         [in] BSTR html);
7367
7368     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
7369     void insertAdjacentText(
7370         [in] BSTR where,
7371         [in] BSTR text);
7372
7373     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
7374     IHTMLElement* parentTextEdit();
7375
7376     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
7377     VARIANT_BOOL isTextEdit();
7378
7379     [id(DISPID_IHTMLELEMENT_CLICK)] void click();
7380
7381     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
7382     IHTMLFiltersCollection* filters();
7383
7384     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
7385     void ondragstart(VARIANT v);
7386
7387     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
7388     VARIANT ondragstart();
7389
7390     [id(DISPID_IHTMLELEMENT_TOSTRING)]
7391     BSTR toString();
7392
7393     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
7394     void onbeforeupdate(VARIANT v);
7395
7396     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
7397     VARIANT onbeforeupdate();
7398
7399     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
7400     void onafterupdate(VARIANT v);
7401
7402     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
7403     VARIANT onafterupdate();
7404
7405     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
7406     void onerrorupdate(VARIANT v);
7407
7408     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
7409     VARIANT onerrorupdate();
7410
7411     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
7412     void onrowexit(VARIANT v);
7413
7414     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
7415     VARIANT onrowexit();
7416
7417     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
7418     void onrowenter(VARIANT v);
7419
7420     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
7421     VARIANT onrowenter();
7422
7423     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
7424     void ondatasetchanged(VARIANT v);
7425
7426     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
7427     VARIANT ondatasetchanged();
7428
7429     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
7430     void ondataavailable(VARIANT v);
7431
7432     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
7433     VARIANT ondataavailable();
7434
7435     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
7436     void ondatasetcomplete(VARIANT v);
7437
7438     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
7439     VARIANT ondatasetcomplete();
7440
7441     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
7442     void onfilterchange(VARIANT v);
7443
7444     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
7445     VARIANT onfilterchange();
7446
7447     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
7448     IDispatch* children();
7449
7450     [propget, id(DISPID_IHTMLELEMENT_ALL)]
7451     IDispatch* all();
7452
7453     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
7454     BSTR scopeName();
7455
7456     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
7457     void setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
7458
7459     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
7460     void releaseCapture();
7461
7462     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
7463     void onlosecapture(VARIANT v);
7464
7465     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
7466     VARIANT onlosecapture();
7467
7468     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
7469     BSTR componentFromPoint([in] long x,[in] long y);
7470
7471     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
7472     void doScroll([optional, in] VARIANT component);
7473
7474     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
7475     void onscroll(VARIANT v);
7476
7477     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
7478     VARIANT onscroll();
7479
7480     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
7481     void ondrag(VARIANT v);
7482
7483     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
7484     VARIANT ondrag();
7485
7486     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
7487     void ondragend(VARIANT v);
7488
7489     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
7490     VARIANT ondragend();
7491
7492     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
7493     void ondragenter(VARIANT v);
7494
7495     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
7496     VARIANT ondragenter();
7497
7498     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
7499     void ondragover(VARIANT v);
7500
7501     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
7502     VARIANT ondragover();
7503
7504     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
7505     void ondragleave(VARIANT v);
7506
7507     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
7508     VARIANT ondragleave();
7509
7510     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
7511      void ondrop(VARIANT v);
7512
7513     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
7514     VARIANT ondrop();
7515
7516     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
7517     void onbeforecut(VARIANT v);
7518
7519     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
7520     VARIANT onbeforecut();
7521
7522     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
7523     void oncut(VARIANT v);
7524
7525     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
7526     VARIANT oncut();
7527
7528     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
7529     void onbeforecopy(VARIANT v);
7530
7531     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
7532     VARIANT onbeforecopy();
7533
7534     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
7535     void oncopy(VARIANT v);
7536
7537     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
7538     VARIANT oncopy();
7539
7540     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
7541     void onbeforepaste(VARIANT v);
7542
7543     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
7544      VARIANT onbeforepaste();
7545
7546     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
7547     void onpaste(VARIANT v);
7548
7549     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
7550     VARIANT onpaste();
7551
7552     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
7553     IHTMLCurrentStyle* currentStyle();
7554
7555     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
7556     void onpropertychange(VARIANT v);
7557
7558     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
7559     VARIANT onpropertychange();
7560
7561     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
7562     IHTMLRectCollection* getClientRects();
7563
7564     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
7565     IHTMLRect* getBoundingClientRect();
7566
7567     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
7568     void setExpression(
7569         [in] BSTR propname,
7570         [in] BSTR expr,
7571         [defaultvalue(""), in] BSTR lang);
7572
7573     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
7574     VARIANT getExpression([in] BSTR propname);
7575
7576     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
7577     VARIANT_BOOL removeExpression([in] BSTR propname);
7578
7579     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
7580     void tabIndex(short v);
7581
7582     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
7583     short tabIndex();
7584
7585     [id(DISPID_IHTMLELEMENT2_FOCUS)]
7586     void focus();
7587
7588     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
7589     void accessKey(BSTR v);
7590
7591     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
7592     BSTR accessKey();
7593
7594     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
7595     void onblur(VARIANT v);
7596
7597     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
7598      VARIANT onblur();
7599
7600     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
7601     void onfocus(VARIANT v);
7602
7603     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
7604     VARIANT onfocus();
7605
7606     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
7607     void onresize(VARIANT v);
7608
7609     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
7610     VARIANT onresize();
7611
7612     [id(DISPID_IHTMLELEMENT2_BLUR)]
7613     void blur();
7614
7615     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
7616     void addFilter([in] IUnknown* pUnk);
7617
7618     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
7619     void removeFilter([in] IUnknown* pUnk);
7620
7621     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
7622     long clientHeight();
7623
7624     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
7625     long clientWidth();
7626
7627     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
7628     long clientTop();
7629
7630     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
7631     long clientLeft();
7632
7633     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
7634     VARIANT_BOOL attachEvent(
7635         [in] BSTR event,
7636         [in] IDispatch* pDisp);
7637
7638     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
7639     void detachEvent(
7640         [in] BSTR event,
7641         [in] IDispatch* pDisp);
7642
7643     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)] VARIANT readyState();
7644
7645     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
7646      void onreadystatechange(VARIANT v);
7647
7648     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
7649     VARIANT onreadystatechange();
7650
7651     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
7652     void onrowsdelete(VARIANT v);
7653
7654     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
7655     VARIANT onrowsdelete();
7656
7657     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
7658     void onrowsinserted(VARIANT v);
7659
7660     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
7661     VARIANT onrowsinserted();
7662
7663     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
7664     void oncellchange(VARIANT v);
7665
7666     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
7667     VARIANT oncellchange();
7668
7669     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
7670     void dir(BSTR v);
7671
7672     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
7673     BSTR dir();
7674
7675     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
7676     IDispatch* createControlRange();
7677
7678     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
7679     long scrollHeight();
7680
7681     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
7682     long scrollWidth();
7683
7684     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
7685     void scrollTop(long v);
7686
7687     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
7688     long scrollTop();
7689
7690     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
7691     void scrollLeft(long v);
7692
7693     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
7694     long scrollLeft();
7695
7696     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
7697     void clearAttributes();
7698
7699     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
7700     void oncontextmenu(VARIANT v);
7701
7702     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
7703     VARIANT oncontextmenu();
7704
7705     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
7706     IHTMLElement* insertAdjacentElement(
7707         [in] BSTR where,
7708         [in] IHTMLElement* insertedElement);
7709
7710     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
7711     IHTMLElement* applyElement([in] IHTMLElement* apply,[in] BSTR where);
7712
7713     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
7714     BSTR getAdjacentText([in] BSTR where);
7715
7716     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
7717     BSTR replaceAdjacentText([in] BSTR where,[in] BSTR newText);
7718
7719     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
7720     VARIANT_BOOL canHaveChildren();
7721
7722     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
7723     long addBehavior([in] BSTR bstrUrl,[optional, in] VARIANT* pvarFactory);
7724
7725     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
7726     VARIANT_BOOL removeBehavior([in] long cookie);
7727
7728     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
7729     IHTMLStyle* runtimeStyle();
7730
7731     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
7732     IDispatch* behaviorUrns();
7733
7734     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
7735     void tagUrn(BSTR v);
7736
7737     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
7738     BSTR tagUrn();
7739
7740     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
7741     void onbeforeeditfocus(VARIANT v);
7742
7743     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
7744     VARIANT onbeforeeditfocus();
7745
7746     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
7747     long readyStateValue();
7748
7749     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
7750     IHTMLElementCollection* getElementsByTagName([in] BSTR v);
7751
7752     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
7753     void mergeAttributes(
7754         [in] IHTMLElement* mergeThis,
7755         [optional, in] VARIANT* pvarFlags);
7756
7757     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
7758     VARIANT_BOOL isMultiLine();
7759
7760     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
7761     VARIANT_BOOL canHaveHTML();
7762
7763     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
7764     void onlayoutcomplete(VARIANT v);
7765
7766     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
7767     VARIANT onlayoutcomplete();
7768
7769     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
7770     void onpage(VARIANT v);
7771
7772     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
7773     VARIANT onpage();
7774
7775     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
7776     void inflateBlock(VARIANT_BOOL v);
7777
7778     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
7779     VARIANT_BOOL inflateBlock();
7780
7781     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
7782     void onbeforedeactivate(VARIANT v);
7783
7784     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
7785     VARIANT onbeforedeactivate();
7786
7787     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
7788     void setActive();
7789
7790     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
7791     void contentEditable(BSTR v);
7792
7793     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
7794     BSTR contentEditable();
7795
7796     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
7797     VARIANT_BOOL isContentEditable();
7798
7799     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
7800     void hideFocus(VARIANT_BOOL v);
7801
7802     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
7803     VARIANT_BOOL hideFocus();
7804
7805     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
7806     void disabled(VARIANT_BOOL v);
7807
7808     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
7809     VARIANT_BOOL disabled();
7810
7811     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
7812     VARIANT_BOOL isDisabled();
7813
7814     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
7815     void onmove(VARIANT v);
7816
7817     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
7818     VARIANT onmove();
7819
7820     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
7821     void oncontrolselect(VARIANT v);
7822
7823     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
7824     VARIANT oncontrolselect();
7825
7826     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
7827     VARIANT_BOOL fireEvent(
7828         [in] BSTR bstrEventName,
7829         [optional, in] VARIANT* pvarEventObject);
7830
7831     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
7832      void onresizestart(VARIANT v);
7833
7834     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
7835     VARIANT onresizestart();
7836
7837     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
7838     void onresizeend(VARIANT v);
7839
7840     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
7841     VARIANT onresizeend();
7842
7843     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
7844     void onmovestart(VARIANT v);
7845
7846     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
7847     VARIANT onmovestart();
7848
7849     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
7850     void onmoveend(VARIANT v);
7851
7852     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
7853     VARIANT onmoveend();
7854
7855     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
7856     void onmouseenter(VARIANT v);
7857
7858     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
7859     VARIANT onmouseenter();
7860
7861     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
7862     void onmouseleave(VARIANT v);
7863
7864     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
7865     VARIANT onmouseleave();
7866
7867     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
7868     void onactivate(VARIANT v);
7869     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] VARIANT onactivate();
7870
7871     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
7872     void ondeactivate(VARIANT v);
7873
7874     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
7875     VARIANT ondeactivate();
7876
7877     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
7878     VARIANT_BOOL dragDrop();
7879
7880     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
7881     LONG glyphMode();
7882
7883     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
7884     void onmousewheel(VARIANT v);
7885
7886     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
7887     VARIANT onmousewheel();
7888
7889     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
7890     void normalize();
7891
7892     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
7893      IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrname);
7894
7895     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
7896     IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
7897
7898     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
7899     IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
7900
7901     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
7902     void onbeforeactivate(VARIANT v);
7903
7904     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
7905     VARIANT onbeforeactivate();
7906
7907     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
7908     void onfocusin(VARIANT v);
7909
7910     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
7911     VARIANT onfocusin();
7912
7913     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
7914     void onfocusout(VARIANT v);
7915
7916     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
7917     VARIANT onfocusout();
7918
7919     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
7920     long uniqueNumber();
7921
7922     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
7923     BSTR uniqueID();
7924
7925     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
7926     long nodeType();
7927
7928     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
7929     IHTMLDOMNode* parentNode();
7930
7931     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
7932     VARIANT_BOOL hasChildNodes();
7933
7934     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
7935     IDispatch* childNodes();
7936
7937     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
7938     IDispatch* attributes();
7939
7940     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
7941     IHTMLDOMNode* insertBefore(
7942         [in] IHTMLDOMNode* newChild,
7943         [optional, in] VARIANT refChild);
7944
7945     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
7946     IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
7947
7948     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
7949     IHTMLDOMNode* replaceChild(
7950         [in] IHTMLDOMNode* newChild,
7951         [in] IHTMLDOMNode* oldChild);
7952
7953     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
7954     IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
7955
7956     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
7957     IHTMLDOMNode* removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep);
7958
7959     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
7960     IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
7961
7962     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
7963     IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
7964
7965     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
7966     IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
7967
7968     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
7969     BSTR nodeName();
7970
7971     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
7972     void nodeValue(VARIANT v);
7973
7974     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
7975     VARIANT nodeValue();
7976
7977     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
7978     IHTMLDOMNode* firstChild();
7979
7980     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
7981     IHTMLDOMNode* lastChild();
7982
7983     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
7984     IHTMLDOMNode* previousSibling();
7985
7986     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
7987     IHTMLDOMNode* nextSibling();
7988
7989     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
7990     IDispatch* ownerDocument();
7991
7992     [propput, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
7993     void background(BSTR v);
7994
7995     [propget, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
7996     BSTR background();
7997
7998     [propput, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
7999     void bgProperties(BSTR v);
8000
8001     [propget, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
8002     BSTR bgProperties();
8003
8004     [propput, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
8005     void leftMargin(VARIANT v);
8006
8007     [propget, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
8008     VARIANT leftMargin();
8009
8010     [propput, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
8011     void topMargin(VARIANT v);
8012
8013     [propget, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
8014     VARIANT topMargin();
8015
8016     [propput, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
8017     void rightMargin(VARIANT v);
8018
8019     [propget, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
8020     VARIANT rightMargin();
8021
8022     [propput, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
8023     void bottomMargin(VARIANT v);
8024
8025     [propget, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
8026     VARIANT bottomMargin();
8027
8028     [propput, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
8029     void noWrap(VARIANT_BOOL v);
8030
8031     [propget, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
8032     VARIANT_BOOL noWrap();
8033
8034     [propput, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
8035     void bgColor(VARIANT v);
8036
8037     [propget, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
8038     VARIANT bgColor();
8039
8040     [propput, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
8041     void text(VARIANT v);
8042
8043     [propget, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
8044     VARIANT text();
8045
8046     [propput, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
8047     void link(VARIANT v);
8048
8049     [propget, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
8050     VARIANT link();
8051
8052     [propput, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
8053     void vLink(VARIANT v);
8054
8055     [propget, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
8056     VARIANT vLink();
8057
8058     [propput, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
8059     void aLink(VARIANT v);
8060
8061     [propget, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
8062     VARIANT aLink();
8063
8064     [propput, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
8065     void onload(VARIANT v);
8066
8067     [propget, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
8068     VARIANT onload();
8069
8070     [propput, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
8071     void onunload(VARIANT v);
8072
8073     [propget, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
8074     VARIANT onunload();
8075
8076     [propput, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
8077     void scroll(BSTR v);
8078
8079     [propget, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
8080     BSTR scroll();
8081
8082     [propput, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
8083     void onselect(VARIANT v);
8084
8085     [propget, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
8086     VARIANT onselect();
8087
8088     [propput, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
8089     void onbeforeunload(VARIANT v);
8090
8091     [propget, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
8092     VARIANT onbeforeunload();
8093
8094     [id(DISPID_IHTMLBODYELEMENT_CREATETEXTRANGE)]
8095     IHTMLTxtRange* createTextRange();
8096
8097     [propput, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
8098     void onbeforeprint(VARIANT v);
8099
8100     [propget, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
8101     VARIANT onbeforeprint();
8102
8103     [propput, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
8104     void onafterprint(VARIANT v);
8105
8106     [propget, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
8107     VARIANT onafterprint();
8108 };
8109
8110 [
8111     uuid(3050f24a-98b5-11cf-bb82-00aa00bdce0b)
8112 ]
8113 coclass HTMLBody
8114 {
8115     [default]           dispinterface DispHTMLBody;
8116     [source, default]   dispinterface HTMLTextContainerEvents;
8117     [source]            dispinterface HTMLTextContainerEvents2;
8118                         interface IHTMLElement;
8119                         interface IHTMLElement2;
8120                         interface IHTMLElement3;
8121                         interface IHTMLElement4;
8122                         interface IHTMLUniqueName;
8123                         interface IHTMLDOMNode;
8124                         interface IHTMLDOMNode2;
8125                         interface IHTMLControlElement;
8126                         interface IHTMLTextContainer;
8127                         interface IHTMLBodyElement;
8128                         interface IHTMLBodyElement2;
8129 };
8130
8131 /*****************************************************************************
8132  *    IHTMLAnchorElement interface
8133  */
8134 [
8135     odl,
8136     oleautomation,
8137     dual,
8138     uuid(3050f1da-98b5-11cf-bb82-00aa00bdce0b)
8139 ]
8140 interface IHTMLAnchorElement : IDispatch
8141 {
8142     [propput, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
8143     HRESULT href([in] BSTR v);
8144
8145     [propget, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
8146     HRESULT href([retval, out] BSTR *p);
8147
8148     [propput, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
8149     HRESULT target([in] BSTR v);
8150
8151     [propget, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
8152     HRESULT target([retval, out] BSTR *p);
8153
8154     [propput, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
8155     HRESULT rel([in] BSTR v);
8156
8157     [propget, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
8158     HRESULT rel([retval, out] BSTR *p);
8159
8160     [propput, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
8161     HRESULT rev([in] BSTR v);
8162
8163     [propget, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
8164     HRESULT rev([retval, out] BSTR *p);
8165
8166     [propput, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
8167     HRESULT urn([in] BSTR v);
8168
8169     [propget, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
8170     HRESULT urn([retval, out] BSTR *p);
8171
8172     [propput, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
8173     HRESULT Methods([in] BSTR v);
8174
8175     [propget, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
8176     HRESULT Methods([retval, out] BSTR *p);
8177
8178     [propput, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
8179     HRESULT name([in] BSTR v);
8180
8181     [propget, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
8182     HRESULT name([retval, out] BSTR *p);
8183
8184     [propput, id(DISPID_IHTMLANCHORELEMENT_HOST)]
8185     HRESULT host([in] BSTR v);
8186
8187     [propget, id(DISPID_IHTMLANCHORELEMENT_HOST)]
8188     HRESULT host([retval, out] BSTR *p);
8189
8190     [propput, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
8191     HRESULT hostname([in] BSTR v);
8192
8193     [propget, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
8194     HRESULT hostname([retval, out] BSTR *p);
8195
8196     [propput, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
8197     HRESULT pathname([in] BSTR v);
8198
8199     [propget, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
8200     HRESULT pathname([retval, out] BSTR *p);
8201
8202     [propput, id(DISPID_IHTMLANCHORELEMENT_PORT)]
8203     HRESULT port([in] BSTR v);
8204
8205     [propget, id(DISPID_IHTMLANCHORELEMENT_PORT)]
8206     HRESULT port([retval, out] BSTR *p);
8207
8208     [propput, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
8209     HRESULT protocol([in] BSTR v);
8210
8211     [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
8212     HRESULT protocol([retval, out] BSTR *p);
8213
8214     [propput, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
8215     HRESULT search([in] BSTR v);
8216
8217     [propget, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
8218     HRESULT search([retval, out] BSTR *p);
8219
8220     [propput, id(DISPID_IHTMLANCHORELEMENT_HASH)]
8221     HRESULT hash([in] BSTR v);
8222
8223     [propget, id(DISPID_IHTMLANCHORELEMENT_HASH)]
8224     HRESULT hash([retval, out] BSTR *p);
8225
8226     [propput, id(DISPID_IHTMLANCHORELEMENT_ONBLUR), displaybind, bindable]
8227     HRESULT onblur([in] VARIANT v);
8228
8229     [propget, id(DISPID_IHTMLANCHORELEMENT_ONBLUR), displaybind, bindable]
8230     HRESULT onblur([retval, out] VARIANT *p);
8231
8232     [propput, id(DISPID_IHTMLANCHORELEMENT_ONFOCUS), displaybind, bindable]
8233     HRESULT onfocus([in] VARIANT v);
8234
8235     [propget, id(DISPID_IHTMLANCHORELEMENT_ONFOCUS), displaybind, bindable]
8236     HRESULT onfocus([retval, out] VARIANT *p);
8237
8238     [propput, id(DISPID_IHTMLANCHORELEMENT_ACCESSKEY), displaybind, bindable]
8239     HRESULT accessKey([in] BSTR v);
8240
8241     [propget, id(DISPID_IHTMLANCHORELEMENT_ACCESSKEY), displaybind, bindable]
8242     HRESULT accessKey([retval, out] BSTR *p);
8243
8244     [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOLLONG)]
8245     HRESULT protocolLong([retval, out] BSTR *p);
8246
8247     [propget, id(DISPID_IHTMLANCHORELEMENT_MIMETYPE)]
8248     HRESULT mimeType([retval, out] BSTR *p);
8249
8250     [propget, id(DISPID_IHTMLANCHORELEMENT_NAMEPROP)]
8251     HRESULT nameProp([retval, out] BSTR *p);
8252
8253     [propput, id(DISPID_IHTMLANCHORELEMENT_TABINDEX), displaybind, bindable]
8254     HRESULT tabIndex([in] short v);
8255
8256     [propget, id(DISPID_IHTMLANCHORELEMENT_TABINDEX), displaybind, bindable]
8257     HRESULT tabIndex([retval, out] short *p);
8258
8259     [id(DISPID_IHTMLANCHORELEMENT_FOCUS)]
8260     HRESULT focus();
8261
8262     [id(DISPID_IHTMLANCHORELEMENT_BLUR)]
8263     HRESULT blur();
8264 }
8265
8266 /*****************************************************************************
8267  *    IHTMLElementCollection interface
8268  */
8269 [
8270     odl,
8271     oleautomation,
8272     dual,
8273     uuid(3050F21F-98B5-11CF-BB82-00AA00BDCE0B)
8274 ]
8275 interface IHTMLElementCollection : IDispatch
8276 {
8277     [id(DISPID_IHTMLELEMENTCOLLECTION_TOSTRING)]
8278     HRESULT toString([retval, out] BSTR *String);
8279
8280     [propput, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
8281     HRESULT length([in] long v);
8282
8283     [propget, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
8284     HRESULT length([retval, out] long *p);
8285
8286     [propget, id(DISPID_IHTMLELEMENTCOLLECTION__NEWENUM)]
8287     HRESULT _newEnum([retval, out] IUnknown **p);
8288
8289     [id(DISPID_IHTMLELEMENTCOLLECTION_ITEM)]
8290     HRESULT item(
8291         [optional, in] VARIANT name,
8292         [optional, in] VARIANT index,
8293         [retval,  out] IDispatch **pdisp);
8294
8295     [id(DISPID_IHTMLELEMENTCOLLECTION_TAGS)]
8296     HRESULT tags(
8297         [in] VARIANT tagName,
8298         [retval, out] IDispatch **pdisp);
8299 }
8300
8301 /*****************************************************************************
8302  *    DispHTMLElementCollection dispinterface
8303  */
8304 [
8305     hidden,
8306     uuid(3050f56b-98b5-11cf-bb82-00aa00bdce0b)
8307 ]
8308 dispinterface DispHTMLElementCollection
8309 {
8310 properties:
8311 methods:
8312     [id(DISPID_IHTMLELEMENTCOLLECTION_TOSTRING)]
8313     BSTR toString();
8314
8315     [propput, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
8316     void length(long v);
8317
8318     [propget, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
8319     long length();
8320
8321     [propget, id(DISPID_IHTMLELEMENTCOLLECTION__NEWENUM), hidden, restricted]
8322     IUnknown *_newEnum();
8323
8324     [id(DISPID_IHTMLELEMENTCOLLECTION_ITEM)]
8325     IDispatch *item(
8326             [in, optional] VARIANT name,
8327             [in, optional] VARIANT index);
8328
8329     [id(DISPID_IHTMLELEMENTCOLLECTION_TAGS)]
8330     IDispatch *tags(
8331             [in] VARIANT tagName);
8332
8333     [id(DISPID_IHTMLELEMENTCOLLECTION2_URNS)]
8334     IDispatch *urns([in] VARIANT urn);
8335
8336     [id(DISPID_IHTMLELEMENTCOLLECTION3_NAMEDITEM)]
8337     IDispatch *namedItem([in] BSTR name);
8338 }
8339
8340 /*****************************************************************************
8341  *    IHTMLSelectElement interface
8342  */
8343 [
8344     odl,
8345     oleautomation,
8346     dual,
8347     uuid(3050f244-98b5-11cf-bb82-00aa00bdce0b)
8348 ]
8349 interface IHTMLSelectElement : IDispatch
8350 {
8351     [propput, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
8352     HRESULT size([in] long v);
8353
8354     [propget, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
8355     HRESULT size([retval, out] long *p);
8356
8357     [propput, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
8358     HRESULT multiple([in] VARIANT_BOOL v);
8359
8360     [propget, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
8361     HRESULT multiple([retval, out] VARIANT_BOOL *p);
8362
8363     [propput, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
8364     HRESULT name([in] BSTR v);
8365
8366     [propget, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
8367     HRESULT name([retval, out] BSTR *p);
8368
8369     [propget, id(DISPID_IHTMLSELECTELEMENT_OPTIONS)]
8370     HRESULT options([retval, out] IDispatch **p);
8371
8372     [propput, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
8373     HRESULT onchange([in] VARIANT v);
8374
8375     [propget, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
8376     HRESULT onchange([retval, out] VARIANT *p);
8377
8378     [propput, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
8379     HRESULT selectedIndex([in] long v);
8380
8381     [propget, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
8382     HRESULT selectedIndex([retval, out] long *p);
8383
8384     [propget, id(DISPID_IHTMLSELECTELEMENT_TYPE), displaybind, bindable]
8385     HRESULT type([retval, out] BSTR *p);
8386
8387     [propput, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
8388     HRESULT value([in] BSTR v);
8389
8390     [propget, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
8391     HRESULT value([retval, out] BSTR *p);
8392
8393     [propput, id(DISPID_IHTMLSELECTELEMENT_DISABLED), displaybind, bindable]
8394     HRESULT disabled([in] VARIANT_BOOL v);
8395
8396     [propget, id(DISPID_IHTMLSELECTELEMENT_DISABLED), displaybind, bindable]
8397     HRESULT disabled([retval, out] VARIANT_BOOL *p);
8398
8399     [propget, id(DISPID_IHTMLSELECTELEMENT_FORM)]
8400     HRESULT form([retval, out] IHTMLFormElement **p);
8401
8402     [id(DISPID_IHTMLSELECTELEMENT_ADD)]
8403     HRESULT add(
8404         [in] IHTMLElement *element,
8405         [optional, in] VARIANT before);
8406
8407     [id(DISPID_IHTMLSELECTELEMENT_REMOVE)]
8408     HRESULT remove([defaultvalue(-1), in] long index);
8409
8410     [propput, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
8411     HRESULT length([in] long v);
8412
8413     [propget, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
8414     HRESULT length([retval, out] long *p);
8415
8416     [propget, id(DISPID_IHTMLSELECTELEMENT__NEWENUM), hidden, restricted]
8417     HRESULT _newEnum([retval, out] IUnknown **p);
8418
8419     [id(DISPID_IHTMLSELECTELEMENT_ITEM)]
8420     HRESULT item(
8421         [optional, in] VARIANT name,
8422         [optional, in] VARIANT index,
8423         [retval, out] IDispatch **pdisp);
8424
8425     [id(DISPID_IHTMLSELECTELEMENT_TAGS)]
8426     HRESULT tags(
8427         [in] VARIANT tagName,
8428         [retval, out] IDispatch **pdisp);
8429 }
8430
8431 /*****************************************************************************
8432  *    DispHTMLSelectElement dispinterface
8433  */
8434 [
8435     hidden,
8436     uuid(3050f531-98b5-11cf-bb82-00aa00bdce0b)
8437 ]
8438 dispinterface DispHTMLSelectElement
8439 {
8440 properties:
8441 methods:
8442     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
8443     void setAttribute(
8444             [in] BSTR strAttributeName,
8445             [in] VARIANT AttributeValue,
8446             [in, defaultvalue(1)] LONG lFlags);
8447
8448     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
8449     VARIANT getAttribute(
8450              [in] BSTR strAttributeName,
8451              [in, defaultvalue(0)] LONG lFlags);
8452
8453     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
8454     VARIANT_BOOL removeAttribute(
8455             [in] BSTR strAttributeName,
8456             [in, defaultvalue(1)] LONG lFlags);
8457
8458     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
8459     void className(BSTR v);
8460
8461     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
8462     BSTR className();
8463
8464     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
8465     void id(BSTR v);
8466
8467     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
8468     BSTR id();
8469
8470     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
8471     BSTR tagName();
8472
8473     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
8474     IHTMLElement *parentElement();
8475
8476     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
8477     IHTMLStyle *style();
8478
8479     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
8480     void onhelp(VARIANT v);
8481
8482     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
8483     VARIANT onhelp();
8484
8485     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
8486     void onclick(VARIANT v);
8487
8488     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
8489     VARIANT onclick();
8490
8491     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
8492     void ondblclick(VARIANT v);
8493
8494     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
8495     VARIANT ondblclick();
8496
8497     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
8498     void onkeydown(VARIANT v);
8499
8500     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
8501     VARIANT onkeydown();
8502
8503     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
8504     void onkeyup(VARIANT v);
8505
8506     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
8507     VARIANT onkeyup();
8508
8509     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
8510     void onkeypress(VARIANT v);
8511
8512     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
8513     VARIANT onkeypress();
8514
8515     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
8516     void onmouseout(VARIANT v);
8517
8518     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
8519     VARIANT onmouseout();
8520
8521     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
8522     void onmouseover(VARIANT v);
8523
8524     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
8525     VARIANT onmouseover();
8526
8527     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
8528     void onmousemove(VARIANT v);
8529
8530     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
8531     VARIANT onmousemove();
8532
8533     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
8534     void onmousedown(VARIANT v);
8535
8536     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
8537     VARIANT onmousedown();
8538
8539     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
8540     void onmouseup(VARIANT v);
8541
8542     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
8543     VARIANT onmouseup();
8544
8545     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
8546     IDispatch *document();
8547
8548     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
8549     void title(BSTR v);
8550
8551     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
8552     BSTR title();
8553
8554     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
8555     void language(BSTR v);
8556
8557     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
8558     BSTR language();
8559
8560     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
8561     void onselectstart(VARIANT v);
8562
8563     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
8564     VARIANT onselectstart();
8565
8566     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
8567     void scrollIntoView([in, optional] VARIANT varargStart);
8568
8569     [id(DISPID_IHTMLELEMENT_CONTAINS)]
8570     VARIANT_BOOL contains([in] IHTMLElement *pChild);
8571
8572     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
8573     long sourceIndex();
8574
8575     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
8576     VARIANT recordNumber();
8577
8578     [propput, id(DISPID_IHTMLELEMENT_LANG)]
8579     void lang(BSTR v);
8580
8581     [propget, id(DISPID_IHTMLELEMENT_LANG)]
8582     BSTR lang();
8583
8584     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
8585     long offsetLeft();
8586
8587     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
8588     long offsetTop();
8589
8590     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
8591     long offsetWidth();
8592
8593     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
8594     long offsetHeight();
8595
8596     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
8597     IHTMLElement *offsetParent();
8598
8599     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
8600     void innerHTML(BSTR v);
8601
8602     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
8603     BSTR innerHTML();
8604
8605     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
8606     void innerText(BSTR v);
8607
8608     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
8609     BSTR innerText();
8610
8611     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
8612     void outerHTML(BSTR v);
8613
8614     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
8615     BSTR outerHTML();
8616
8617     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
8618     void outerText(BSTR v);
8619
8620     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
8621     BSTR outerText();
8622
8623     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
8624     void insertAdjacentHTML(
8625             [in] BSTR where,
8626             [in] BSTR html);
8627
8628     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
8629     void insertAdjacentText(
8630             [in] BSTR where,
8631             [in] BSTR text);
8632
8633     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
8634     IHTMLElement *parentTextEdit();
8635
8636     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
8637     VARIANT_BOOL isTextEdit();
8638
8639     [id(DISPID_IHTMLELEMENT_CLICK)]
8640     void click();
8641
8642     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
8643     IHTMLFiltersCollection *filters();
8644
8645     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
8646     void ondragstart(VARIANT v);
8647
8648     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
8649     VARIANT ondragstart();
8650
8651     [id(DISPID_IHTMLELEMENT_TOSTRING)]
8652     BSTR toString();
8653
8654     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
8655     void onbeforeupdate(VARIANT v);
8656
8657     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
8658     VARIANT onbeforeupdate();
8659
8660     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
8661     void onafterupdate(VARIANT v);
8662
8663     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
8664     VARIANT onafterupdate();
8665
8666     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
8667     void onerrorupdate(VARIANT v);
8668
8669     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
8670     VARIANT onerrorupdate();
8671
8672     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
8673     void onrowexit(VARIANT v);
8674
8675     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
8676     VARIANT onrowexit();
8677
8678     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
8679     void onrowenter(VARIANT v);
8680
8681     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
8682     VARIANT onrowenter();
8683
8684     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
8685     void ondatasetchanged(VARIANT v);
8686
8687     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
8688     VARIANT ondatasetchanged();
8689
8690     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
8691     void ondataavailable(VARIANT v);
8692
8693     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
8694     VARIANT ondataavailable();
8695
8696     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
8697     void ondatasetcomplete(VARIANT v);
8698
8699     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
8700     VARIANT ondatasetcomplete();
8701
8702     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
8703     void onfilterchange(VARIANT v);
8704
8705     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
8706     VARIANT onfilterchange();
8707
8708     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
8709     IDispatch *children();
8710
8711     [propget, id(DISPID_IHTMLELEMENT_ALL)]
8712     IDispatch *all();
8713
8714     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
8715     BSTR scopeName();
8716
8717     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
8718     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
8719
8720     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
8721     void releaseCapture();
8722
8723     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
8724     void onlosecapture(VARIANT v);
8725
8726     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
8727     VARIANT onlosecapture();
8728
8729     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
8730     BSTR componentFromPoint(
8731             [in] long x,
8732             [in] long y);
8733
8734     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
8735     void doScroll([in, optional] VARIANT component);
8736
8737     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
8738     void onscroll(VARIANT v);
8739
8740     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
8741     VARIANT onscroll();
8742
8743     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
8744     void ondrag(VARIANT v);
8745
8746     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
8747     VARIANT ondrag();
8748
8749     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
8750     void ondragend(VARIANT v);
8751
8752     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
8753     VARIANT ondragend();
8754
8755     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
8756     void ondragenter(VARIANT v);
8757
8758     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
8759     VARIANT ondragenter();
8760
8761     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
8762     void ondragover(VARIANT v);
8763
8764     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
8765     VARIANT ondragover();
8766
8767     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
8768     void ondragleave(VARIANT v);
8769
8770     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
8771     VARIANT ondragleave();
8772
8773     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
8774     void ondrop(VARIANT v);
8775
8776     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
8777     VARIANT ondrop();
8778
8779     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
8780     void onbeforecut(VARIANT v);
8781
8782     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
8783     VARIANT onbeforecut();
8784
8785     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
8786     void oncut(VARIANT v);
8787
8788     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
8789     VARIANT oncut();
8790
8791     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
8792     void onbeforecopy(VARIANT v);
8793
8794     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
8795     VARIANT onbeforecopy();
8796
8797     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
8798     void oncopy(VARIANT v);
8799
8800     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
8801     VARIANT oncopy();
8802
8803     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
8804     void onbeforepaste(VARIANT v);
8805
8806     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
8807     VARIANT onbeforepaste();
8808
8809     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
8810     void onpaste(VARIANT v);
8811
8812     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
8813     VARIANT onpaste();
8814
8815     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
8816     IHTMLCurrentStyle *currentStyle();
8817
8818     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
8819     void onpropertychange(VARIANT v);
8820
8821     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
8822     VARIANT onpropertychange();
8823
8824     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
8825     IHTMLRectCollection *getClientRects();
8826
8827     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
8828     IHTMLRect *getBoundingClientRect();
8829
8830     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
8831     void setExpression(
8832             [in] BSTR propname,
8833             [in] BSTR expression,
8834             [in, defaultvalue("")] BSTR language);
8835
8836     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
8837     VARIANT getExpression([in] BSTR propname);
8838
8839     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
8840     VARIANT_BOOL removeExpression([in] BSTR propname);
8841
8842     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
8843     void tabIndex(short v);
8844
8845     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
8846     short tabIndex();
8847
8848     [id(DISPID_IHTMLELEMENT2_FOCUS)]
8849     void focus();
8850
8851     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
8852     void accessKey(BSTR v);
8853
8854     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
8855     BSTR accessKey();
8856
8857     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
8858     void onblur(VARIANT v);
8859
8860     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
8861     VARIANT onblur();
8862
8863     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
8864     void onfocus(VARIANT v);
8865
8866     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
8867     VARIANT onfocus();
8868
8869     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
8870     void onresize(VARIANT v);
8871
8872     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
8873     VARIANT onresize();
8874
8875     [id(DISPID_IHTMLELEMENT2_BLUR)]
8876     void blur();
8877
8878     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
8879     void addFilter([in] IUnknown *pUnk);
8880
8881     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
8882     void removeFilter([in] IUnknown *pUnk);
8883
8884     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
8885     long clientHeight();
8886
8887     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
8888     long clientWidth();
8889
8890     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
8891     long clientTop();
8892
8893     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
8894     long clientLeft();
8895
8896     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
8897     VARIANT_BOOL attachEvent(
8898             [in] BSTR event,
8899             [in] IDispatch *pDisp);
8900
8901     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
8902     void detachEvent(
8903             [in] BSTR event,
8904             [in] IDispatch *pDisp);
8905
8906     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
8907     VARIANT readyState();
8908
8909     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
8910     void onreadystatechange(VARIANT v);
8911
8912     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
8913     VARIANT onreadystatechange();
8914
8915     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
8916     void onrowsdelete(VARIANT v);
8917
8918     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
8919     VARIANT onrowsdelete();
8920
8921     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
8922     void onrowsinserted(VARIANT v);
8923
8924     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
8925      VARIANT onrowsinserted();
8926
8927     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
8928      void oncellchange(VARIANT v);
8929
8930     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
8931     VARIANT oncellchange();
8932
8933     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
8934     void dir(BSTR v);
8935
8936     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
8937     BSTR dir();
8938
8939     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
8940     IDispatch *createControlRange();
8941
8942     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
8943     long scrollHeight();
8944
8945     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
8946     long scrollWidth();
8947
8948     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
8949     void scrollTop(long v);
8950
8951     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
8952     long scrollTop();
8953
8954     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
8955     void scrollLeft(long v);
8956
8957     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
8958     long scrollLeft();
8959
8960     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
8961     void clearAttributes();
8962
8963     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
8964     void oncontextmenu(VARIANT v);
8965
8966     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
8967     VARIANT oncontextmenu();
8968
8969     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
8970     IHTMLElement *insertAdjacentElement(
8971             [in] BSTR where,
8972             [in] IHTMLElement *insertedElement);
8973
8974     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
8975     IHTMLElement *applyElement(
8976             [in] IHTMLElement *apply,
8977             [in] BSTR where);
8978
8979     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
8980     BSTR getAdjacentText([in] BSTR where);
8981
8982     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
8983     BSTR replaceAdjacentText(
8984             [in] BSTR where,
8985             [in] BSTR newText);
8986
8987     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
8988     VARIANT_BOOL canHaveChildren();
8989
8990     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
8991     long addBehavior(
8992             [in] BSTR bstrUrl,
8993             [in, optional] VARIANT *pvarFactory);
8994
8995     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
8996     VARIANT_BOOL removeBehavior([in] long cookie);
8997
8998     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
8999     IHTMLStyle *runtimeStyle();
9000
9001     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
9002     IDispatch *behaviorUrns();
9003
9004     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
9005     void tagUrn(BSTR v);
9006
9007     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
9008     BSTR tagUrn();
9009
9010     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
9011     void onbeforeeditfocus(VARIANT v);
9012
9013     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
9014     VARIANT onbeforeeditfocus();
9015
9016     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
9017     long readyStateValue();
9018
9019     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
9020     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
9021
9022     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
9023     void mergeAttributes(
9024             [in] IHTMLElement *mergeThis,
9025             [in, optional] VARIANT *pvarFlags);
9026
9027     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
9028     VARIANT_BOOL isMultiLine();
9029
9030     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
9031     VARIANT_BOOL canHaveHTML();
9032
9033     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
9034     void onlayoutcomplete(VARIANT v);
9035
9036     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
9037     VARIANT onlayoutcomplete();
9038
9039     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
9040     void onpage(VARIANT v);
9041
9042     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
9043     VARIANT onpage();
9044
9045     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
9046     void inflateBlock(VARIANT_BOOL v);
9047
9048     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
9049     VARIANT_BOOL inflateBlock();
9050
9051     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
9052     void onbeforedeactivate(VARIANT v);
9053
9054     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
9055     VARIANT onbeforedeactivate();
9056
9057     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
9058     void setActive();
9059
9060     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
9061     void contentEditable(BSTR v);
9062
9063     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
9064     BSTR contentEditable();
9065
9066     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
9067     VARIANT_BOOL isContentEditable();
9068
9069     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
9070     void hideFocus(VARIANT_BOOL v);
9071
9072     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
9073     VARIANT_BOOL hideFocus();
9074
9075     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
9076     void disabled(VARIANT_BOOL v);
9077
9078     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
9079     VARIANT_BOOL disabled();
9080
9081     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
9082     VARIANT_BOOL isDisabled();
9083
9084     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
9085     void onmove(VARIANT v);
9086
9087     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
9088     VARIANT onmove();
9089
9090     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
9091     void oncontrolselect(VARIANT v);
9092
9093     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
9094     VARIANT oncontrolselect();
9095
9096     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
9097     VARIANT_BOOL fireEvent(
9098             [in] BSTR bstrEventName,
9099             [in, optional] VARIANT *pvarEventObject);
9100
9101     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
9102     void onresizestart(VARIANT v);
9103
9104     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
9105     VARIANT onresizestart();
9106
9107     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
9108     void onresizeend(VARIANT v);
9109
9110     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
9111     VARIANT onresizeend();
9112
9113     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
9114     void onmovestart(VARIANT v);
9115
9116     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
9117     VARIANT onmovestart();
9118
9119     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
9120     void onmoveend(VARIANT v);
9121
9122     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
9123     VARIANT onmoveend();
9124
9125     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
9126     void onmouseenter(VARIANT v);
9127
9128     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
9129     VARIANT onmouseenter();
9130
9131     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
9132     void onmouseleave(VARIANT v);
9133
9134     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
9135     VARIANT onmouseleave();
9136
9137     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
9138     void onactivate(VARIANT v);
9139
9140     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
9141     VARIANT onactivate();
9142
9143     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
9144     void ondeactivate(VARIANT v);
9145
9146     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
9147     VARIANT ondeactivate();
9148
9149     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
9150     VARIANT_BOOL dragDrop();
9151
9152     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
9153     LONG glyphMode();
9154
9155     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
9156     void onmousewheel(VARIANT v);
9157
9158     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
9159     VARIANT onmousewheel();
9160
9161     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
9162     void normalize();
9163
9164     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
9165     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
9166
9167     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
9168     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
9169
9170     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
9171     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
9172
9173     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
9174     void onbeforeactivate(VARIANT v);
9175
9176     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
9177     VARIANT onbeforeactivate();
9178
9179     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
9180     void onfocusin(VARIANT v);
9181
9182     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
9183     VARIANT onfocusin();
9184
9185     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
9186     void onfocusout(VARIANT v);
9187
9188     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
9189     VARIANT onfocusout();
9190
9191     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
9192     long uniqueNumber();
9193
9194     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
9195     BSTR uniqueID();
9196
9197     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
9198     long nodeType();
9199
9200     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
9201     IHTMLDOMNode *parentNode();
9202
9203     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
9204     VARIANT_BOOL hasChildNodes();
9205
9206     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
9207     IDispatch *childNodes();
9208
9209     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
9210     IDispatch *attributes();
9211
9212     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
9213     IHTMLDOMNode *insertBefore(
9214             [in] IHTMLDOMNode *newChild,
9215             [in, optional] VARIANT refChild);
9216
9217     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
9218     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
9219
9220     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
9221     IHTMLDOMNode *replaceChild(
9222             [in] IHTMLDOMNode *newChild,
9223             [in] IHTMLDOMNode *oldChild);
9224
9225     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
9226     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
9227
9228     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
9229     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
9230
9231     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
9232     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
9233
9234     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
9235     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
9236
9237     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
9238     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
9239
9240     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
9241     BSTR nodeName();
9242
9243     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
9244     void nodeValue(VARIANT v);
9245
9246     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
9247     VARIANT nodeValue();
9248
9249     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
9250     IHTMLDOMNode *firstChild();
9251
9252     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
9253     IHTMLDOMNode *lastChild();
9254
9255     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
9256     IHTMLDOMNode *previousSibling();
9257
9258     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
9259     IHTMLDOMNode *nextSibling();
9260
9261     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
9262     IDispatch *ownerDocument();
9263
9264     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
9265     void dataFld(BSTR v);
9266
9267     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
9268     BSTR dataFld();
9269
9270     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
9271     void dataSrc(BSTR v);
9272
9273     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
9274     BSTR dataSrc();
9275
9276     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
9277     void dataFormatAs(BSTR v);
9278
9279     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
9280     BSTR dataFormatAs();
9281
9282     [propput, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
9283     void size(long v);
9284
9285     [propget, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
9286     long size();
9287
9288     [propput, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
9289     void multiple(VARIANT_BOOL v);
9290
9291     [propget, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
9292     VARIANT_BOOL multiple();
9293
9294     [propput, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
9295     void name(BSTR v);
9296
9297     [propget, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
9298     BSTR name();
9299
9300     [propget, id(DISPID_IHTMLSELECTELEMENT_OPTIONS)]
9301     IDispatch *options();
9302
9303     [propput, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
9304     void onchange(VARIANT v);
9305
9306     [propget, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
9307     VARIANT onchange();
9308
9309     [propput, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
9310     void selectedIndex(long v);
9311
9312     [propget, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
9313     long selectedIndex();
9314
9315     [propget, id(DISPID_IHTMLSELECTELEMENT_TYPE), displaybind, bindable]
9316     BSTR type();
9317
9318     [propput, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
9319     void value(BSTR v);
9320
9321     [propget, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
9322     BSTR value();
9323
9324     [propget, id(DISPID_IHTMLSELECTELEMENT_FORM)]
9325     IHTMLFormElement *form();
9326
9327     [id(DISPID_IHTMLSELECTELEMENT_ADD)]
9328     void add(
9329             [in] IHTMLElement *element,
9330             [in, optional] VARIANT before);
9331
9332     [id(DISPID_IHTMLSELECTELEMENT_REMOVE)]
9333     void remove([in, defaultvalue(-1)] long index);
9334
9335     [propput, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
9336     void length(long v);
9337
9338     [propget, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
9339     long length();
9340
9341     [propget, id(DISPID_IHTMLSELECTELEMENT__NEWENUM), hidden, restricted]
9342     IUnknown *_newEnum();
9343
9344     [id(DISPID_IHTMLSELECTELEMENT_ITEM)]
9345     IDispatch *item(
9346             [in, optional] VARIANT name,
9347             [in, optional] VARIANT index);
9348
9349     [id(DISPID_IHTMLSELECTELEMENT_TAGS)]
9350     IDispatch *tags([in] VARIANT tagName);
9351
9352     [id(DISPID_IHTMLSELECTELEMENT2_URNS)]
9353     IDispatch *urns([in] VARIANT urn);
9354
9355     [id(DISPID_IHTMLSELECTELEMENT4_NAMEDITEM)]
9356     IDispatch *namedItem([in] BSTR name);
9357 }
9358
9359 /*****************************************************************************
9360  *    IHTMLSelectionObject interface
9361  */
9362 [
9363     odl,
9364     oleautomation,
9365     dual,
9366     uuid(3050F25A-98B5-11CF-BB82-00AA00BDCE0B)
9367 ]
9368 interface IHTMLSelectionObject : IDispatch
9369 {
9370     [id(DISPID_IHTMLSELECTIONOBJECT_CREATERANGE)]
9371     HRESULT createRange([retval, out] IDispatch **range);
9372
9373     [id(DISPID_IHTMLSELECTIONOBJECT_EMPTY)]
9374     HRESULT empty();
9375
9376     [id(DISPID_IHTMLSELECTIONOBJECT_CLEAR)]
9377     HRESULT clear();
9378
9379     [propget, id(DISPID_IHTMLSELECTIONOBJECT_TYPE)]
9380     HRESULT type([retval, out] BSTR *p);
9381 }
9382
9383 /*****************************************************************************
9384  *    IHTMLOptionElement interface
9385  */
9386 [
9387     odl,
9388     oleautomation,
9389     dual,
9390     uuid(3050F211-98B5-11CF-BB82-00AA00BDCE0B)
9391 ]
9392 interface IHTMLOptionElement : IDispatch
9393 {
9394     [propput, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
9395     HRESULT selected([in] VARIANT_BOOL v);
9396
9397     [propget, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
9398     HRESULT selected([retval, out] VARIANT_BOOL *p);
9399
9400     [propput, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
9401     HRESULT value([in] BSTR v);
9402
9403     [propget, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
9404     HRESULT value([retval, out] BSTR *p);
9405
9406     [propput, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
9407     HRESULT defaultSelected([in] VARIANT_BOOL v);
9408
9409     [propget, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
9410     HRESULT defaultSelected([retval, out] VARIANT_BOOL *p);
9411
9412     [propput, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
9413     HRESULT index([in] LONG v);
9414
9415     [propget, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
9416     HRESULT index([retval, out] LONG *p);
9417
9418     [propput, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
9419     HRESULT text([in] BSTR v);
9420
9421     [propget, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
9422     HRESULT text([retval, out] BSTR *p);
9423
9424     [propget, id(DISPID_IHTMLOPTIONELEMENT_FORM)]
9425     HRESULT form([retval, out] IHTMLFormElement **p);
9426 }
9427
9428 /*****************************************************************************
9429  *    IHTMLOptionElementFactory interface
9430  */
9431 [
9432     odl,
9433     oleautomation,
9434     dual,
9435     uuid(3050F38C-98B5-11Cf-BB82-00AA00BDCE0B)
9436 ]
9437 interface IHTMLOptionElementFactory : IDispatch
9438 {
9439     [id(DISPID_IHTMLOPTIONELEMENTFACTORY_CREATE)]
9440     HRESULT create(
9441         [optional, in] VARIANT text,
9442         [optional, in] VARIANT value,
9443         [optional, in] VARIANT defaultselected,
9444         [optional, in] VARIANT selected,
9445         [retval, out] IHTMLOptionElement **optelem);
9446 }
9447
9448 /*****************************************************************************
9449  *    DispHTMLOptionElement dispinterface
9450  */
9451 [
9452     hidden,
9453     uuid(3050f52b-98b5-11cf-bb82-00aa00bdce0b)
9454 ]
9455 dispinterface DispHTMLOptionElement
9456 {
9457 properties:
9458 methods:
9459     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
9460     void setAttribute(
9461             [in] BSTR strAttributeName,
9462             [in] VARIANT AttributeValue,
9463             [in, defaultvalue(1)] LONG lFlags);
9464
9465     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
9466     VARIANT getAttribute(
9467              [in] BSTR strAttributeName,
9468              [in, defaultvalue(0)] LONG lFlags);
9469
9470     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
9471     VARIANT_BOOL removeAttribute(
9472             [in] BSTR strAttributeName,
9473             [in, defaultvalue(1)] LONG lFlags);
9474
9475     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
9476     void className(BSTR v);
9477
9478     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
9479     BSTR className();
9480
9481     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
9482     void id(BSTR v);
9483
9484     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
9485     BSTR id();
9486
9487     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
9488     BSTR tagName();
9489
9490     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
9491     IHTMLElement *parentElement();
9492
9493     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
9494     IHTMLStyle *style();
9495
9496     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
9497     void onhelp(VARIANT v);
9498
9499     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
9500     VARIANT onhelp();
9501
9502     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
9503     void onclick(VARIANT v);
9504
9505     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
9506     VARIANT onclick();
9507
9508     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
9509     void ondblclick(VARIANT v);
9510
9511     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
9512     VARIANT ondblclick();
9513
9514     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
9515     void onkeydown(VARIANT v);
9516
9517     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
9518     VARIANT onkeydown();
9519
9520     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
9521     void onkeyup(VARIANT v);
9522
9523     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
9524     VARIANT onkeyup();
9525
9526     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
9527     void onkeypress(VARIANT v);
9528
9529     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
9530     VARIANT onkeypress();
9531
9532     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
9533     void onmouseout(VARIANT v);
9534
9535     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
9536     VARIANT onmouseout();
9537
9538     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
9539     void onmouseover(VARIANT v);
9540
9541     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
9542     VARIANT onmouseover();
9543
9544     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
9545     void onmousemove(VARIANT v);
9546
9547     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
9548     VARIANT onmousemove();
9549
9550     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
9551     void onmousedown(VARIANT v);
9552
9553     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
9554     VARIANT onmousedown();
9555
9556     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
9557     void onmouseup(VARIANT v);
9558
9559     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
9560     VARIANT onmouseup();
9561
9562     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
9563     IDispatch *document();
9564
9565     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
9566     void title(BSTR v);
9567
9568     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
9569     BSTR title();
9570
9571     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
9572     void language(BSTR v);
9573
9574     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
9575     BSTR language();
9576
9577     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
9578     void onselectstart(VARIANT v);
9579
9580     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
9581     VARIANT onselectstart();
9582
9583     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
9584     void scrollIntoView([in, optional] VARIANT varargStart);
9585
9586     [id(DISPID_IHTMLELEMENT_CONTAINS)]
9587     VARIANT_BOOL contains([in] IHTMLElement *pChild);
9588
9589     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
9590     long sourceIndex();
9591
9592     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
9593     VARIANT recordNumber();
9594
9595     [propput, id(DISPID_IHTMLELEMENT_LANG)]
9596     void lang(BSTR v);
9597
9598     [propget, id(DISPID_IHTMLELEMENT_LANG)]
9599     BSTR lang();
9600
9601     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
9602     long offsetLeft();
9603
9604     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
9605     long offsetTop();
9606
9607     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
9608     long offsetWidth();
9609
9610     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
9611     long offsetHeight();
9612
9613     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
9614     IHTMLElement *offsetParent();
9615
9616     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
9617     void innerHTML(BSTR v);
9618
9619     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
9620     BSTR innerHTML();
9621
9622     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
9623     void innerText(BSTR v);
9624
9625     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
9626     BSTR innerText();
9627
9628     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
9629     void outerHTML(BSTR v);
9630
9631     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
9632     BSTR outerHTML();
9633
9634     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
9635     void outerText(BSTR v);
9636
9637     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
9638     BSTR outerText();
9639
9640     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
9641     void insertAdjacentHTML(
9642             [in] BSTR where,
9643             [in] BSTR html);
9644
9645     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
9646     void insertAdjacentText(
9647             [in] BSTR where,
9648             [in] BSTR text);
9649
9650     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
9651     IHTMLElement *parentTextEdit();
9652
9653     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
9654     VARIANT_BOOL isTextEdit();
9655
9656     [id(DISPID_IHTMLELEMENT_CLICK)]
9657     void click();
9658
9659     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
9660     IHTMLFiltersCollection *filters();
9661
9662     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
9663     void ondragstart(VARIANT v);
9664
9665     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
9666     VARIANT ondragstart();
9667
9668     [id(DISPID_IHTMLELEMENT_TOSTRING)]
9669     BSTR toString();
9670
9671     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
9672     void onbeforeupdate(VARIANT v);
9673
9674     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
9675     VARIANT onbeforeupdate();
9676
9677     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
9678     void onafterupdate(VARIANT v);
9679
9680     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
9681     VARIANT onafterupdate();
9682
9683     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
9684     void onerrorupdate(VARIANT v);
9685
9686     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
9687     VARIANT onerrorupdate();
9688
9689     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
9690     void onrowexit(VARIANT v);
9691
9692     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
9693     VARIANT onrowexit();
9694
9695     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
9696     void onrowenter(VARIANT v);
9697
9698     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
9699     VARIANT onrowenter();
9700
9701     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
9702     void ondatasetchanged(VARIANT v);
9703
9704     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
9705     VARIANT ondatasetchanged();
9706
9707     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
9708     void ondataavailable(VARIANT v);
9709
9710     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
9711     VARIANT ondataavailable();
9712
9713     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
9714     void ondatasetcomplete(VARIANT v);
9715
9716     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
9717     VARIANT ondatasetcomplete();
9718
9719     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
9720     void onfilterchange(VARIANT v);
9721
9722     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
9723     VARIANT onfilterchange();
9724
9725     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
9726     IDispatch *children();
9727
9728     [propget, id(DISPID_IHTMLELEMENT_ALL)]
9729     IDispatch *all();
9730
9731     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
9732     BSTR scopeName();
9733
9734     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
9735     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
9736
9737     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
9738     void releaseCapture();
9739
9740     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
9741     void onlosecapture(VARIANT v);
9742
9743     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
9744     VARIANT onlosecapture();
9745
9746     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
9747     BSTR componentFromPoint(
9748             [in] long x,
9749             [in] long y);
9750
9751     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
9752     void doScroll([in, optional] VARIANT component);
9753
9754     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
9755     void onscroll(VARIANT v);
9756
9757     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
9758     VARIANT onscroll();
9759
9760     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
9761     void ondrag(VARIANT v);
9762
9763     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
9764     VARIANT ondrag();
9765
9766     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
9767     void ondragend(VARIANT v);
9768
9769     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
9770     VARIANT ondragend();
9771
9772     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
9773     void ondragenter(VARIANT v);
9774
9775     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
9776     VARIANT ondragenter();
9777
9778     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
9779     void ondragover(VARIANT v);
9780
9781     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
9782     VARIANT ondragover();
9783
9784     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
9785     void ondragleave(VARIANT v);
9786
9787     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
9788     VARIANT ondragleave();
9789
9790     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
9791     void ondrop(VARIANT v);
9792
9793     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
9794     VARIANT ondrop();
9795
9796     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
9797     void onbeforecut(VARIANT v);
9798
9799     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
9800     VARIANT onbeforecut();
9801
9802     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
9803     void oncut(VARIANT v);
9804
9805     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
9806     VARIANT oncut();
9807
9808     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
9809     void onbeforecopy(VARIANT v);
9810
9811     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
9812     VARIANT onbeforecopy();
9813
9814     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
9815     void oncopy(VARIANT v);
9816
9817     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
9818     VARIANT oncopy();
9819
9820     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
9821     void onbeforepaste(VARIANT v);
9822
9823     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
9824     VARIANT onbeforepaste();
9825
9826     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
9827     void onpaste(VARIANT v);
9828
9829     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
9830     VARIANT onpaste();
9831
9832     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
9833     IHTMLCurrentStyle *currentStyle();
9834
9835     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
9836     void onpropertychange(VARIANT v);
9837
9838     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
9839     VARIANT onpropertychange();
9840
9841     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
9842     IHTMLRectCollection *getClientRects();
9843
9844     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
9845     IHTMLRect *getBoundingClientRect();
9846
9847     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
9848     void setExpression(
9849             [in] BSTR propname,
9850             [in] BSTR expression,
9851             [in, defaultvalue("")] BSTR language);
9852
9853     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
9854     VARIANT getExpression([in] BSTR propname);
9855
9856     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
9857     VARIANT_BOOL removeExpression([in] BSTR propname);
9858
9859     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
9860     void tabIndex(short v);
9861
9862     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
9863     short tabIndex();
9864
9865     [id(DISPID_IHTMLELEMENT2_FOCUS)]
9866     void focus();
9867
9868     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
9869     void accessKey(BSTR v);
9870
9871     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
9872     BSTR accessKey();
9873
9874     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
9875     void onblur(VARIANT v);
9876
9877     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
9878     VARIANT onblur();
9879
9880     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
9881     void onfocus(VARIANT v);
9882
9883     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
9884     VARIANT onfocus();
9885
9886     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
9887     void onresize(VARIANT v);
9888
9889     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
9890     VARIANT onresize();
9891
9892     [id(DISPID_IHTMLELEMENT2_BLUR)]
9893     void blur();
9894
9895     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
9896     void addFilter([in] IUnknown *pUnk);
9897
9898     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
9899     void removeFilter([in] IUnknown *pUnk);
9900
9901     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
9902     long clientHeight();
9903
9904     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
9905     long clientWidth();
9906
9907     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
9908     long clientTop();
9909
9910     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
9911     long clientLeft();
9912
9913     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
9914     VARIANT_BOOL attachEvent(
9915             [in] BSTR event,
9916             [in] IDispatch *pDisp);
9917
9918     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
9919     void detachEvent(
9920             [in] BSTR event,
9921             [in] IDispatch *pDisp);
9922
9923     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
9924     VARIANT readyState();
9925
9926     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
9927     void onreadystatechange(VARIANT v);
9928
9929     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
9930     VARIANT onreadystatechange();
9931
9932     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
9933     void onrowsdelete(VARIANT v);
9934
9935     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
9936     VARIANT onrowsdelete();
9937
9938     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
9939     void onrowsinserted(VARIANT v);
9940
9941     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
9942      VARIANT onrowsinserted();
9943
9944     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
9945      void oncellchange(VARIANT v);
9946
9947     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
9948     VARIANT oncellchange();
9949
9950     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
9951     void dir(BSTR v);
9952
9953     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
9954     BSTR dir();
9955
9956     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
9957     IDispatch *createControlRange();
9958
9959     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
9960     long scrollHeight();
9961
9962     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
9963     long scrollWidth();
9964
9965     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
9966     void scrollTop(long v);
9967
9968     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
9969     long scrollTop();
9970
9971     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
9972     void scrollLeft(long v);
9973
9974     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
9975     long scrollLeft();
9976
9977     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
9978     void clearAttributes();
9979
9980     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
9981     void oncontextmenu(VARIANT v);
9982
9983     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
9984     VARIANT oncontextmenu();
9985
9986     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
9987     IHTMLElement *insertAdjacentElement(
9988             [in] BSTR where,
9989             [in] IHTMLElement *insertedElement);
9990
9991     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
9992     IHTMLElement *applyElement(
9993             [in] IHTMLElement *apply,
9994             [in] BSTR where);
9995
9996     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
9997     BSTR getAdjacentText([in] BSTR where);
9998
9999     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
10000     BSTR replaceAdjacentText(
10001             [in] BSTR where,
10002             [in] BSTR newText);
10003
10004     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
10005     VARIANT_BOOL canHaveChildren();
10006
10007     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
10008     long addBehavior(
10009             [in] BSTR bstrUrl,
10010             [in, optional] VARIANT *pvarFactory);
10011
10012     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
10013     VARIANT_BOOL removeBehavior([in] long cookie);
10014
10015     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
10016     IHTMLStyle *runtimeStyle();
10017
10018     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
10019     IDispatch *behaviorUrns();
10020
10021     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
10022     void tagUrn(BSTR v);
10023
10024     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
10025     BSTR tagUrn();
10026
10027     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
10028     void onbeforeeditfocus(VARIANT v);
10029
10030     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
10031     VARIANT onbeforeeditfocus();
10032
10033     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
10034     long readyStateValue();
10035
10036     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
10037     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
10038
10039     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
10040     void mergeAttributes(
10041             [in] IHTMLElement *mergeThis,
10042             [in, optional] VARIANT *pvarFlags);
10043
10044     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
10045     VARIANT_BOOL isMultiLine();
10046
10047     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
10048     VARIANT_BOOL canHaveHTML();
10049
10050     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
10051     void onlayoutcomplete(VARIANT v);
10052
10053     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
10054     VARIANT onlayoutcomplete();
10055
10056     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
10057     void onpage(VARIANT v);
10058
10059     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
10060     VARIANT onpage();
10061
10062     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
10063     void inflateBlock(VARIANT_BOOL v);
10064
10065     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
10066     VARIANT_BOOL inflateBlock();
10067
10068     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
10069     void onbeforedeactivate(VARIANT v);
10070
10071     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
10072     VARIANT onbeforedeactivate();
10073
10074     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
10075     void setActive();
10076
10077     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
10078     void contentEditable(BSTR v);
10079
10080     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
10081     BSTR contentEditable();
10082
10083     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
10084     VARIANT_BOOL isContentEditable();
10085
10086     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
10087     void hideFocus(VARIANT_BOOL v);
10088
10089     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
10090     VARIANT_BOOL hideFocus();
10091
10092     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
10093     void disabled(VARIANT_BOOL v);
10094
10095     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
10096     VARIANT_BOOL disabled();
10097
10098     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
10099     VARIANT_BOOL isDisabled();
10100
10101     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
10102     void onmove(VARIANT v);
10103
10104     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
10105     VARIANT onmove();
10106
10107     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
10108     void oncontrolselect(VARIANT v);
10109
10110     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
10111     VARIANT oncontrolselect();
10112
10113     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
10114     VARIANT_BOOL fireEvent(
10115             [in] BSTR bstrEventName,
10116             [in, optional] VARIANT *pvarEventObject);
10117
10118     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
10119     void onresizestart(VARIANT v);
10120
10121     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
10122     VARIANT onresizestart();
10123
10124     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
10125     void onresizeend(VARIANT v);
10126
10127     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
10128     VARIANT onresizeend();
10129
10130     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
10131     void onmovestart(VARIANT v);
10132
10133     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
10134     VARIANT onmovestart();
10135
10136     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
10137     void onmoveend(VARIANT v);
10138
10139     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
10140     VARIANT onmoveend();
10141
10142     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
10143     void onmouseenter(VARIANT v);
10144
10145     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
10146     VARIANT onmouseenter();
10147
10148     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
10149     void onmouseleave(VARIANT v);
10150
10151     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
10152     VARIANT onmouseleave();
10153
10154     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
10155     void onactivate(VARIANT v);
10156
10157     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
10158     VARIANT onactivate();
10159
10160     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
10161     void ondeactivate(VARIANT v);
10162
10163     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
10164     VARIANT ondeactivate();
10165
10166     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
10167     VARIANT_BOOL dragDrop();
10168
10169     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
10170     LONG glyphMode();
10171
10172     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
10173     void onmousewheel(VARIANT v);
10174
10175     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
10176     VARIANT onmousewheel();
10177
10178     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
10179     void normalize();
10180
10181     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
10182     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
10183
10184     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
10185     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
10186
10187     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
10188     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
10189
10190     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
10191     void onbeforeactivate(VARIANT v);
10192
10193     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
10194     VARIANT onbeforeactivate();
10195
10196     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
10197     void onfocusin(VARIANT v);
10198
10199     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
10200     VARIANT onfocusin();
10201
10202     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
10203     void onfocusout(VARIANT v);
10204
10205     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
10206     VARIANT onfocusout();
10207
10208     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
10209     long uniqueNumber();
10210
10211     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
10212     BSTR uniqueID();
10213
10214     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
10215     long nodeType();
10216
10217     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
10218     IHTMLDOMNode *parentNode();
10219
10220     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
10221     VARIANT_BOOL hasChildNodes();
10222
10223     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
10224     IDispatch *childNodes();
10225
10226     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
10227     IDispatch *attributes();
10228
10229     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
10230     IHTMLDOMNode *insertBefore(
10231             [in] IHTMLDOMNode *newChild,
10232             [in, optional] VARIANT refChild);
10233
10234     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
10235     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
10236
10237     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
10238     IHTMLDOMNode *replaceChild(
10239             [in] IHTMLDOMNode *newChild,
10240             [in] IHTMLDOMNode *oldChild);
10241
10242     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
10243     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
10244
10245     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
10246     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
10247
10248     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
10249     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
10250
10251     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
10252     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
10253
10254     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
10255     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
10256
10257     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
10258     BSTR nodeName();
10259
10260     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
10261     void nodeValue(VARIANT v);
10262
10263     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
10264     VARIANT nodeValue();
10265
10266     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
10267     IHTMLDOMNode *firstChild();
10268
10269     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
10270     IHTMLDOMNode *lastChild();
10271
10272     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
10273     IHTMLDOMNode *previousSibling();
10274
10275     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
10276     IHTMLDOMNode *nextSibling();
10277
10278     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
10279     IDispatch *ownerDocument();
10280
10281     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
10282     void dataFld(BSTR v);
10283
10284     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
10285     BSTR dataFld();
10286
10287     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
10288     void dataSrc(BSTR v);
10289
10290     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
10291     BSTR dataSrc();
10292
10293     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
10294     void dataFormatAs(BSTR v);
10295
10296     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
10297     BSTR dataFormatAs();
10298
10299     [propput, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
10300     void selected(VARIANT_BOOL v);
10301
10302     [propget, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
10303     VARIANT_BOOL selected();
10304
10305     [propput, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
10306     void value(BSTR v);
10307
10308     [propget, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
10309     BSTR value();
10310
10311     [propput, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
10312     void defaultSelected(VARIANT_BOOL v);
10313
10314     [propget, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
10315     VARIANT_BOOL defaultSelected();
10316
10317     [propput, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
10318     void index(LONG v);
10319
10320     [propget, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
10321     LONG index();
10322
10323     [propput, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
10324     void text(BSTR v);
10325
10326     [propget, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
10327     BSTR text();
10328
10329     [propget, id(DISPID_IHTMLOPTIONELEMENT_FORM)]
10330     IHTMLFormElement *form();
10331
10332     [propput, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
10333     void label(BSTR v);
10334
10335     [propget, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
10336     BSTR label();
10337 }
10338
10339 /*****************************************************************************
10340  *    IHTMLInputElement interface
10341  */
10342 [
10343     odl,
10344     oleautomation,
10345     dual,
10346     uuid(3050f5d2-98b5-11cf-bb82-00aa00bdce0b)
10347 ]
10348 interface IHTMLInputElement : IDispatch
10349 {
10350     [propput, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
10351     HRESULT type([in] BSTR v);
10352
10353     [propget, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
10354     HRESULT type([retval, out] BSTR *p);
10355
10356     [propput, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
10357     HRESULT value([in] BSTR v);
10358
10359     [propget, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
10360     HRESULT value([retval, out] BSTR *p);
10361
10362     [propput, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
10363     HRESULT name([in] BSTR v);
10364
10365     [propget, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
10366     HRESULT name([retval, out] BSTR *p);
10367
10368     [propput, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
10369     HRESULT status([in] VARIANT_BOOL v);
10370
10371     [propget, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
10372     HRESULT status([retval, out] VARIANT_BOOL *p);
10373
10374     [propput, id(DISPID_IHTMLINPUTELEMENT_DISABLED), displaybind, bindable]
10375     HRESULT disabled([in] VARIANT_BOOL v);
10376
10377     [propget, id(DISPID_IHTMLINPUTELEMENT_DISABLED), displaybind, bindable]
10378     HRESULT disabled([retval, out] VARIANT_BOOL *p);
10379
10380     [propget, id(DISPID_IHTMLINPUTELEMENT_FORM)]
10381     HRESULT form([retval, out] IHTMLFormElement **p);
10382
10383     [propput, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
10384     HRESULT size([in] long v);
10385
10386     [propget, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
10387     HRESULT size([retval, out] long *p);
10388
10389     [propput, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
10390     HRESULT maxLength([in] long v);
10391
10392     [propget, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
10393     HRESULT maxLength([retval, out] long *p);
10394
10395     [id(DISPID_IHTMLINPUTELEMENT_SELECT)]
10396     HRESULT select();
10397
10398     [propput, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
10399     HRESULT onchange([in] VARIANT v);
10400
10401     [propget, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
10402     HRESULT onchange([retval, out] VARIANT *p);
10403
10404     [propput, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
10405     HRESULT onselect([in] VARIANT v);
10406
10407     [propget, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
10408     HRESULT onselect([retval, out] VARIANT *p);
10409
10410     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
10411     HRESULT defaultValue([in] BSTR v);
10412
10413     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
10414     HRESULT defaultValue([retval, out] BSTR *p);
10415
10416     [propput, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
10417     HRESULT readOnly([in] VARIANT_BOOL v);
10418
10419     [propget, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
10420     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
10421
10422     [id(DISPID_IHTMLINPUTELEMENT_CREATETEXTRANGE)]
10423     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
10424
10425     [propput, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
10426     HRESULT indeterminate([in] VARIANT_BOOL v);
10427
10428     [propget, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
10429     HRESULT indeterminate([retval, out] VARIANT_BOOL *p);
10430
10431     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
10432     HRESULT defaultChecked([in] VARIANT_BOOL v);
10433
10434     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
10435     HRESULT defaultChecked([retval, out] VARIANT_BOOL *p);
10436
10437     [propput, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
10438     HRESULT checked([in] VARIANT_BOOL v);
10439
10440     [propget, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
10441     HRESULT checked([retval, out] VARIANT_BOOL *p);
10442
10443     [propput, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
10444     HRESULT border([in] VARIANT v);
10445
10446     [propget, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
10447     HRESULT border([retval, out] VARIANT *p);
10448
10449     [propput, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
10450     HRESULT vspace([in] long v);
10451
10452     [propget, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
10453     HRESULT vspace([retval, out] long *p);
10454
10455     [propput, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
10456     HRESULT hspace([in] long v);
10457
10458     [propget, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
10459     HRESULT hspace([retval, out] long *p);
10460
10461     [propput, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
10462     HRESULT alt([in] BSTR v);
10463
10464     [propget, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
10465     HRESULT alt([retval, out] BSTR *p);
10466
10467     [propput, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
10468     HRESULT src([in] BSTR v);
10469
10470     [propget, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
10471     HRESULT src([retval, out] BSTR *p);
10472
10473     [propput, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
10474     HRESULT lowsrc([in] BSTR v);
10475
10476     [propget, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
10477     HRESULT lowsrc([retval, out] BSTR *p);
10478
10479     [propput, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
10480     HRESULT vrml([in] BSTR v);
10481
10482     [propget, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
10483     HRESULT vrml([retval, out] BSTR *p);
10484
10485     [propput, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
10486     HRESULT dynsrc([in] BSTR v);
10487
10488     [propget, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
10489     HRESULT dynsrc([retval, out] BSTR *p);
10490
10491     [propget, id(DISPID_IHTMLINPUTELEMENT_READYSTATE)]
10492     HRESULT readyState([retval, out] BSTR *p);
10493
10494     [propget, id(DISPID_IHTMLINPUTELEMENT_COMPLETE)]
10495     HRESULT complete([retval, out] VARIANT_BOOL *p);
10496
10497     [propput, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
10498     HRESULT loop([in] VARIANT v);
10499
10500     [propget, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
10501     HRESULT loop([retval, out] VARIANT *p);
10502
10503     [propput, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
10504     HRESULT align([in] BSTR v);
10505
10506     [propget, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
10507     HRESULT align([retval, out] BSTR *p);
10508
10509     [propput, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
10510     HRESULT onload([in] VARIANT v);
10511
10512     [propget, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
10513     HRESULT onload([retval, out] VARIANT *p);
10514
10515     [propput, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
10516     HRESULT onerror([in] VARIANT v);
10517
10518     [propget, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
10519     HRESULT onerror([retval, out] VARIANT *p);
10520
10521     [propput, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
10522     HRESULT onabort([in] VARIANT v);
10523
10524     [propget, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
10525     HRESULT onabort([retval, out] VARIANT *p);
10526
10527     [propput, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
10528     HRESULT width([in] long v);
10529
10530     [propget, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
10531     HRESULT width([retval, out] long *p);
10532
10533     [propput, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
10534     HRESULT height([in] long v);
10535
10536     [propget, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
10537     HRESULT height([retval, out] long *p);
10538
10539     [propput, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
10540     HRESULT start([in] BSTR v);
10541
10542     [propget, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
10543     HRESULT start([retval, out] BSTR *p);
10544 }
10545
10546 /*****************************************************************************
10547  *    IHTMLInputTextElement interface
10548  */
10549 [
10550     odl,
10551     oleautomation,
10552     dual,
10553     uuid(3050f2a6-98b5-11cf-bb82-00aa00bdce0b)
10554 ]
10555 interface IHTMLInputTextElement : IDispatch
10556 {
10557     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_TYPE)]
10558     HRESULT type([retval, out] BSTR *p);
10559
10560     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_VALUE), displaybind, bindable]
10561     HRESULT value([in] BSTR v);
10562
10563     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_VALUE), displaybind, bindable]
10564     HRESULT value([retval, out] BSTR *p);
10565
10566     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_NAME), displaybind, bindable]
10567     HRESULT name([in] BSTR v);
10568
10569     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_NAME), displaybind, bindable]
10570     HRESULT name([retval, out] BSTR *p);
10571
10572     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_STATUS)]
10573     HRESULT status([in] VARIANT v);
10574
10575     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_STATUS)]
10576     HRESULT status([retval, out] VARIANT *p);
10577
10578     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_DISABLED), displaybind, bindable]
10579     HRESULT disabled([in] VARIANT_BOOL v);
10580
10581     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_DISABLED), displaybind, bindable]
10582     HRESULT disabled([retval, out] VARIANT_BOOL *p);
10583
10584     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_FORM)]
10585     HRESULT form([retval, out] IHTMLFormElement **p);
10586
10587     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
10588     HRESULT defaultValue([in] BSTR v);
10589
10590     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
10591     HRESULT defaultValue([retval, out] BSTR *p);
10592
10593     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_SIZE), displaybind, bindable]
10594     HRESULT size([in] long v);
10595
10596     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_SIZE), displaybind, bindable]
10597     HRESULT size([retval, out] long *p);
10598
10599     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_MAXLENGTH), displaybind, bindable]
10600     HRESULT maxLength([in] long v);
10601
10602     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_MAXLENGTH), displaybind, bindable]
10603     HRESULT maxLength([retval, out] long *p);
10604
10605     [id(DISPID_IHTMLINPUTTEXTELEMENT_SELECT)]
10606     HRESULT select();
10607
10608     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_ONCHANGE), displaybind, bindable]
10609     HRESULT onchange([in] VARIANT v);
10610
10611     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_ONCHANGE), displaybind, bindable]
10612     HRESULT onchange([retval, out] VARIANT *p);
10613
10614     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_ONSELECT), displaybind, bindable]
10615     HRESULT onselect([in] VARIANT v);
10616
10617     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_ONSELECT), displaybind, bindable]
10618     HRESULT onselect([retval, out] VARIANT *p);
10619
10620     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_READONLY), displaybind, bindable]
10621     HRESULT readOnly([in] VARIANT_BOOL v);
10622
10623     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_READONLY), displaybind, bindable]
10624     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
10625
10626     [id(DISPID_IHTMLINPUTTEXTELEMENT_CREATETEXTRANGE)]
10627     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
10628 }
10629
10630 [
10631     hidden,
10632     uuid(3050f57d-98b5-11cf-bb82-00aa00bdce0b)
10633 ]
10634 dispinterface DispHTMLInputElement
10635 {
10636 properties:
10637 methods:
10638     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
10639     void setAttribute(
10640             [in] BSTR strAttributeName,
10641             [in] VARIANT AttributeValue,
10642             [in, defaultvalue(1)] LONG lFlags);
10643
10644     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
10645     VARIANT getAttribute(
10646              [in] BSTR strAttributeName,
10647              [in, defaultvalue(0)] LONG lFlags);
10648
10649     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
10650     VARIANT_BOOL removeAttribute(
10651             [in] BSTR strAttributeName,
10652             [in, defaultvalue(1)] LONG lFlags);
10653
10654     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
10655     void className(BSTR v);
10656
10657     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
10658     BSTR className();
10659
10660     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
10661     void id(BSTR v);
10662
10663     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
10664     BSTR id();
10665
10666     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
10667     BSTR tagName();
10668
10669     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
10670     IHTMLElement *parentElement();
10671
10672     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
10673     IHTMLStyle *style();
10674
10675     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
10676     void onhelp(VARIANT v);
10677
10678     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
10679     VARIANT onhelp();
10680
10681     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
10682     void onclick(VARIANT v);
10683
10684     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
10685     VARIANT onclick();
10686
10687     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
10688     void ondblclick(VARIANT v);
10689
10690     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
10691     VARIANT ondblclick();
10692
10693     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
10694     void onkeydown(VARIANT v);
10695
10696     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
10697     VARIANT onkeydown();
10698
10699     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
10700     void onkeyup(VARIANT v);
10701
10702     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
10703     VARIANT onkeyup();
10704
10705     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
10706     void onkeypress(VARIANT v);
10707
10708     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
10709     VARIANT onkeypress();
10710
10711     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
10712     void onmouseout(VARIANT v);
10713
10714     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
10715     VARIANT onmouseout();
10716
10717     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
10718     void onmouseover(VARIANT v);
10719
10720     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
10721     VARIANT onmouseover();
10722
10723     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
10724     void onmousemove(VARIANT v);
10725
10726     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
10727     VARIANT onmousemove();
10728
10729     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
10730     void onmousedown(VARIANT v);
10731
10732     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
10733     VARIANT onmousedown();
10734
10735     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
10736     void onmouseup(VARIANT v);
10737
10738     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
10739     VARIANT onmouseup();
10740
10741     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
10742     IDispatch *document();
10743
10744     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
10745     void title(BSTR v);
10746
10747     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
10748     BSTR title();
10749
10750     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
10751     void language(BSTR v);
10752
10753     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
10754     BSTR language();
10755
10756     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
10757     void onselectstart(VARIANT v);
10758
10759     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
10760     VARIANT onselectstart();
10761
10762     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
10763     void scrollIntoView([in, optional] VARIANT varargStart);
10764
10765     [id(DISPID_IHTMLELEMENT_CONTAINS)]
10766     VARIANT_BOOL contains([in] IHTMLElement *pChild);
10767
10768     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
10769     long sourceIndex();
10770
10771     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
10772     VARIANT recordNumber();
10773
10774     [propput, id(DISPID_IHTMLELEMENT_LANG)]
10775     void lang(BSTR v);
10776
10777     [propget, id(DISPID_IHTMLELEMENT_LANG)]
10778     BSTR lang();
10779
10780     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
10781     long offsetLeft();
10782
10783     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
10784     long offsetTop();
10785
10786     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
10787     long offsetWidth();
10788
10789     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
10790     long offsetHeight();
10791
10792     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
10793     IHTMLElement *offsetParent();
10794
10795     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
10796     void innerHTML(BSTR v);
10797
10798     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
10799     BSTR innerHTML();
10800
10801     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
10802     void innerText(BSTR v);
10803
10804     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
10805     BSTR innerText();
10806
10807     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
10808     void outerHTML(BSTR v);
10809
10810     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
10811     BSTR outerHTML();
10812
10813     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
10814     void outerText(BSTR v);
10815
10816     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
10817     BSTR outerText();
10818
10819     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
10820     void insertAdjacentHTML(
10821             [in] BSTR where,
10822             [in] BSTR html);
10823
10824     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
10825     void insertAdjacentText(
10826             [in] BSTR where,
10827             [in] BSTR text);
10828
10829     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
10830     IHTMLElement *parentTextEdit();
10831
10832     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
10833     VARIANT_BOOL isTextEdit();
10834
10835     [id(DISPID_IHTMLELEMENT_CLICK)]
10836     void click();
10837
10838     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
10839     IHTMLFiltersCollection *filters();
10840
10841     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
10842     void ondragstart(VARIANT v);
10843
10844     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
10845     VARIANT ondragstart();
10846
10847     [id(DISPID_IHTMLELEMENT_TOSTRING)]
10848     BSTR toString();
10849
10850     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
10851     void onbeforeupdate(VARIANT v);
10852
10853     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
10854     VARIANT onbeforeupdate();
10855
10856     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
10857     void onafterupdate(VARIANT v);
10858
10859     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
10860     VARIANT onafterupdate();
10861
10862     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
10863     void onerrorupdate(VARIANT v);
10864
10865     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
10866     VARIANT onerrorupdate();
10867
10868     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
10869     void onrowexit(VARIANT v);
10870
10871     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
10872     VARIANT onrowexit();
10873
10874     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
10875     void onrowenter(VARIANT v);
10876
10877     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
10878     VARIANT onrowenter();
10879
10880     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
10881     void ondatasetchanged(VARIANT v);
10882
10883     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
10884     VARIANT ondatasetchanged();
10885
10886     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
10887     void ondataavailable(VARIANT v);
10888
10889     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
10890     VARIANT ondataavailable();
10891
10892     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
10893     void ondatasetcomplete(VARIANT v);
10894
10895     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
10896     VARIANT ondatasetcomplete();
10897
10898     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
10899     void onfilterchange(VARIANT v);
10900
10901     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
10902     VARIANT onfilterchange();
10903
10904     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
10905     IDispatch *children();
10906
10907     [propget, id(DISPID_IHTMLELEMENT_ALL)]
10908     IDispatch *all();
10909
10910     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
10911     BSTR scopeName();
10912
10913     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
10914     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
10915
10916     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
10917     void releaseCapture();
10918
10919     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
10920     void onlosecapture(VARIANT v);
10921
10922     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
10923     VARIANT onlosecapture();
10924
10925     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
10926     BSTR componentFromPoint(
10927             [in] long x,
10928             [in] long y);
10929
10930     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
10931     void doScroll([in, optional] VARIANT component);
10932
10933     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
10934     void onscroll(VARIANT v);
10935
10936     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
10937     VARIANT onscroll();
10938
10939     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
10940     void ondrag(VARIANT v);
10941
10942     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
10943     VARIANT ondrag();
10944
10945     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
10946     void ondragend(VARIANT v);
10947
10948     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
10949     VARIANT ondragend();
10950
10951     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
10952     void ondragenter(VARIANT v);
10953
10954     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
10955     VARIANT ondragenter();
10956
10957     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
10958     void ondragover(VARIANT v);
10959
10960     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
10961     VARIANT ondragover();
10962
10963     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
10964     void ondragleave(VARIANT v);
10965
10966     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
10967     VARIANT ondragleave();
10968
10969     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
10970     void ondrop(VARIANT v);
10971
10972     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
10973     VARIANT ondrop();
10974
10975     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
10976     void onbeforecut(VARIANT v);
10977
10978     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
10979     VARIANT onbeforecut();
10980
10981     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
10982     void oncut(VARIANT v);
10983
10984     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
10985     VARIANT oncut();
10986
10987     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
10988     void onbeforecopy(VARIANT v);
10989
10990     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
10991     VARIANT onbeforecopy();
10992
10993     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
10994     void oncopy(VARIANT v);
10995
10996     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
10997     VARIANT oncopy();
10998
10999     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
11000     void onbeforepaste(VARIANT v);
11001
11002     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
11003     VARIANT onbeforepaste();
11004
11005     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
11006     void onpaste(VARIANT v);
11007
11008     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
11009     VARIANT onpaste();
11010
11011     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
11012     IHTMLCurrentStyle *currentStyle();
11013
11014     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
11015     void onpropertychange(VARIANT v);
11016
11017     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
11018     VARIANT onpropertychange();
11019
11020     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
11021     IHTMLRectCollection *getClientRects();
11022
11023     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
11024     IHTMLRect *getBoundingClientRect();
11025
11026     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
11027     void setExpression(
11028             [in] BSTR propname,
11029             [in] BSTR expression,
11030             [in, defaultvalue("")] BSTR language);
11031
11032     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
11033     VARIANT getExpression([in] BSTR propname);
11034
11035     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
11036     VARIANT_BOOL removeExpression([in] BSTR propname);
11037
11038     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
11039     void tabIndex(short v);
11040
11041     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
11042     short tabIndex();
11043
11044     [id(DISPID_IHTMLELEMENT2_FOCUS)]
11045     void focus();
11046
11047     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
11048     void accessKey(BSTR v);
11049
11050     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
11051     BSTR accessKey();
11052
11053     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
11054     void onblur(VARIANT v);
11055
11056     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
11057     VARIANT onblur();
11058
11059     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
11060     void onfocus(VARIANT v);
11061
11062     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
11063     VARIANT onfocus();
11064
11065     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
11066     void onresize(VARIANT v);
11067
11068     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
11069     VARIANT onresize();
11070
11071     [id(DISPID_IHTMLELEMENT2_BLUR)]
11072     void blur();
11073
11074     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
11075     void addFilter([in] IUnknown *pUnk);
11076
11077     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
11078     void removeFilter([in] IUnknown *pUnk);
11079
11080     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
11081     long clientHeight();
11082
11083     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
11084     long clientWidth();
11085
11086     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
11087     long clientTop();
11088
11089     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
11090     long clientLeft();
11091
11092     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
11093     VARIANT_BOOL attachEvent(
11094             [in] BSTR event,
11095             [in] IDispatch *pDisp);
11096
11097     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
11098     void detachEvent(
11099             [in] BSTR event,
11100             [in] IDispatch *pDisp);
11101
11102     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
11103     VARIANT readyState();
11104
11105     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
11106     void onreadystatechange(VARIANT v);
11107
11108     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
11109     VARIANT onreadystatechange();
11110
11111     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
11112     void onrowsdelete(VARIANT v);
11113
11114     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
11115     VARIANT onrowsdelete();
11116
11117     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
11118     void onrowsinserted(VARIANT v);
11119
11120     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
11121      VARIANT onrowsinserted();
11122
11123     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
11124      void oncellchange(VARIANT v);
11125
11126     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
11127     VARIANT oncellchange();
11128
11129     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
11130     void dir(BSTR v);
11131
11132     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
11133     BSTR dir();
11134
11135     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
11136     IDispatch *createControlRange();
11137
11138     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
11139     long scrollHeight();
11140
11141     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
11142     long scrollWidth();
11143
11144     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
11145     void scrollTop(long v);
11146
11147     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
11148     long scrollTop();
11149
11150     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
11151     void scrollLeft(long v);
11152
11153     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
11154     long scrollLeft();
11155
11156     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
11157     void clearAttributes();
11158
11159     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
11160     void oncontextmenu(VARIANT v);
11161
11162     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
11163     VARIANT oncontextmenu();
11164
11165     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
11166     IHTMLElement *insertAdjacentElement(
11167             [in] BSTR where,
11168             [in] IHTMLElement *insertedElement);
11169
11170     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
11171     IHTMLElement *applyElement(
11172             [in] IHTMLElement *apply,
11173             [in] BSTR where);
11174
11175     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
11176     BSTR getAdjacentText([in] BSTR where);
11177
11178     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
11179     BSTR replaceAdjacentText(
11180             [in] BSTR where,
11181             [in] BSTR newText);
11182
11183     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
11184     VARIANT_BOOL canHaveChildren();
11185
11186     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
11187     long addBehavior(
11188             [in] BSTR bstrUrl,
11189             [in, optional] VARIANT *pvarFactory);
11190
11191     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
11192     VARIANT_BOOL removeBehavior([in] long cookie);
11193
11194     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
11195     IHTMLStyle *runtimeStyle();
11196
11197     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
11198     IDispatch *behaviorUrns();
11199
11200     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
11201     void tagUrn(BSTR v);
11202
11203     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
11204     BSTR tagUrn();
11205
11206     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
11207     void onbeforeeditfocus(VARIANT v);
11208
11209     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
11210     VARIANT onbeforeeditfocus();
11211
11212     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
11213     long readyStateValue();
11214
11215     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
11216     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
11217
11218     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
11219     void mergeAttributes(
11220             [in] IHTMLElement *mergeThis,
11221             [in, optional] VARIANT *pvarFlags);
11222
11223     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
11224     VARIANT_BOOL isMultiLine();
11225
11226     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
11227     VARIANT_BOOL canHaveHTML();
11228
11229     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
11230     void onlayoutcomplete(VARIANT v);
11231
11232     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
11233     VARIANT onlayoutcomplete();
11234
11235     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
11236     void onpage(VARIANT v);
11237
11238     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
11239     VARIANT onpage();
11240
11241     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
11242     void inflateBlock(VARIANT_BOOL v);
11243
11244     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
11245     VARIANT_BOOL inflateBlock();
11246
11247     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
11248     void onbeforedeactivate(VARIANT v);
11249
11250     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
11251     VARIANT onbeforedeactivate();
11252
11253     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
11254     void setActive();
11255
11256     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
11257     void contentEditable(BSTR v);
11258
11259     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
11260     BSTR contentEditable();
11261
11262     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
11263     VARIANT_BOOL isContentEditable();
11264
11265     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
11266     void hideFocus(VARIANT_BOOL v);
11267
11268     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
11269     VARIANT_BOOL hideFocus();
11270
11271     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
11272     void disabled(VARIANT_BOOL v);
11273
11274     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
11275     VARIANT_BOOL disabled();
11276
11277     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
11278     VARIANT_BOOL isDisabled();
11279
11280     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
11281     void onmove(VARIANT v);
11282
11283     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
11284     VARIANT onmove();
11285
11286     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
11287     void oncontrolselect(VARIANT v);
11288
11289     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
11290     VARIANT oncontrolselect();
11291
11292     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
11293     VARIANT_BOOL fireEvent(
11294             [in] BSTR bstrEventName,
11295             [in, optional] VARIANT *pvarEventObject);
11296
11297     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
11298     void onresizestart(VARIANT v);
11299
11300     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
11301     VARIANT onresizestart();
11302
11303     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
11304     void onresizeend(VARIANT v);
11305
11306     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
11307     VARIANT onresizeend();
11308
11309     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
11310     void onmovestart(VARIANT v);
11311
11312     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
11313     VARIANT onmovestart();
11314
11315     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
11316     void onmoveend(VARIANT v);
11317
11318     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
11319     VARIANT onmoveend();
11320
11321     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
11322     void onmouseenter(VARIANT v);
11323
11324     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
11325     VARIANT onmouseenter();
11326
11327     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
11328     void onmouseleave(VARIANT v);
11329
11330     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
11331     VARIANT onmouseleave();
11332
11333     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
11334     void onactivate(VARIANT v);
11335
11336     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
11337     VARIANT onactivate();
11338
11339     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
11340     void ondeactivate(VARIANT v);
11341
11342     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
11343     VARIANT ondeactivate();
11344
11345     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
11346     VARIANT_BOOL dragDrop();
11347
11348     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
11349     LONG glyphMode();
11350
11351     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
11352     void onmousewheel(VARIANT v);
11353
11354     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
11355     VARIANT onmousewheel();
11356
11357     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
11358     void normalize();
11359
11360     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
11361     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
11362
11363     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
11364     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
11365
11366     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
11367     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
11368
11369     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
11370     void onbeforeactivate(VARIANT v);
11371
11372     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
11373     VARIANT onbeforeactivate();
11374
11375     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
11376     void onfocusin(VARIANT v);
11377
11378     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
11379     VARIANT onfocusin();
11380
11381     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
11382     void onfocusout(VARIANT v);
11383
11384     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
11385     VARIANT onfocusout();
11386
11387     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
11388     long uniqueNumber();
11389
11390     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
11391     BSTR uniqueID();
11392
11393     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
11394     long nodeType();
11395
11396     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
11397     IHTMLDOMNode *parentNode();
11398
11399     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
11400     VARIANT_BOOL hasChildNodes();
11401
11402     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
11403     IDispatch *childNodes();
11404
11405     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
11406     IDispatch *attributes();
11407
11408     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
11409     IHTMLDOMNode *insertBefore(
11410             [in] IHTMLDOMNode *newChild,
11411             [in, optional] VARIANT refChild);
11412
11413     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
11414     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
11415
11416     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
11417     IHTMLDOMNode *replaceChild(
11418             [in] IHTMLDOMNode *newChild,
11419             [in] IHTMLDOMNode *oldChild);
11420
11421     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
11422     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
11423
11424     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
11425     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
11426
11427     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
11428     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
11429
11430     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
11431     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
11432
11433     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
11434     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
11435
11436     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
11437     BSTR nodeName();
11438
11439     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
11440     void nodeValue(VARIANT v);
11441
11442     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
11443     VARIANT nodeValue();
11444
11445     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
11446     IHTMLDOMNode *firstChild();
11447
11448     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
11449     IHTMLDOMNode *lastChild();
11450
11451     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
11452     IHTMLDOMNode *previousSibling();
11453
11454     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
11455     IHTMLDOMNode *nextSibling();
11456
11457     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
11458     IDispatch *ownerDocument();
11459
11460     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
11461     void dataFld(BSTR v);
11462
11463     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
11464     BSTR dataFld();
11465
11466     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
11467     void dataSrc(BSTR v);
11468
11469     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
11470     BSTR dataSrc();
11471
11472     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
11473     void dataFormatAs(BSTR v);
11474
11475     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
11476     BSTR dataFormatAs();
11477
11478     [propput, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
11479     void type(BSTR v);
11480
11481     [propget, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
11482     BSTR type();
11483
11484     [propput, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
11485     void value(BSTR v);
11486
11487     [propget, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
11488     BSTR value();
11489
11490     [propput, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
11491     void name(BSTR v);
11492
11493     [propget, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
11494     BSTR name();
11495
11496     [propput, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
11497     void status(VARIANT_BOOL v);
11498
11499     [propget, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
11500     VARIANT_BOOL status();
11501
11502     [propget, id(DISPID_IHTMLINPUTELEMENT_FORM)]
11503     IHTMLFormElement *form();
11504
11505     [propput, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
11506     void size(long v);
11507
11508     [propget, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
11509     long size();
11510
11511     [propput, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
11512     void maxLength(long v);
11513
11514     [propget, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
11515     long maxLength();
11516
11517     [id(DISPID_IHTMLINPUTELEMENT_SELECT)]
11518     void select();
11519
11520     [propput, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
11521     void onchange(VARIANT v);
11522
11523     [propget, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
11524     VARIANT onchange();
11525
11526     [propput, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
11527     void onselect(VARIANT v);
11528
11529     [propget, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
11530     VARIANT onselect();
11531
11532     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
11533     void defaultValue(BSTR v);
11534
11535     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
11536     BSTR defaultValue();
11537
11538     [propput, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
11539     void readOnly(VARIANT_BOOL v);
11540
11541     [propget, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
11542     VARIANT_BOOL readOnly();
11543
11544     [id(DISPID_IHTMLINPUTELEMENT_CREATETEXTRANGE)]
11545     IHTMLTxtRange *createTextRange();
11546
11547     [propput, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
11548     void indeterminate(VARIANT_BOOL v);
11549
11550     [propget, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
11551     VARIANT_BOOL indeterminate();
11552
11553     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
11554     void defaultChecked(VARIANT_BOOL v);
11555
11556     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
11557     VARIANT_BOOL defaultChecked();
11558
11559     [propput, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
11560     void checked(VARIANT_BOOL v);
11561
11562     [propget, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
11563     VARIANT_BOOL checked();
11564
11565     [propput, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
11566     void border(VARIANT v);
11567
11568     [propget, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
11569     VARIANT border();
11570
11571     [propput, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
11572     void vspace(long v);
11573
11574     [propget, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
11575     long vspace();
11576
11577     [propput, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
11578     void hspace(long v);
11579
11580     [propget, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
11581     long hspace();
11582
11583     [propput, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
11584     void alt(BSTR v);
11585
11586     [propget, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
11587     BSTR alt();
11588
11589     [propput, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
11590     void src(BSTR v);
11591
11592     [propget, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
11593     BSTR src();
11594
11595     [propput, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
11596     void lowsrc(BSTR v);
11597
11598     [propget, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
11599     BSTR lowsrc();
11600
11601     [propput, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
11602     void vrml(BSTR v);
11603
11604     [propget, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
11605     BSTR vrml();
11606
11607     [propput, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
11608     void dynsrc(BSTR v);
11609
11610     [propget, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
11611     BSTR dynsrc();
11612
11613     [propget, id(DISPID_IHTMLINPUTELEMENT_COMPLETE)]
11614     VARIANT_BOOL complete();
11615
11616     [propput, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
11617     void loop(VARIANT v);
11618
11619     [propget, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
11620     VARIANT loop();
11621
11622     [propput, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
11623     void align(BSTR v);
11624
11625     [propget, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
11626     BSTR align();
11627
11628     [propput, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
11629     void onload(VARIANT v);
11630
11631     [propget, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
11632     VARIANT onload();
11633
11634     [propput, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
11635     void onerror(VARIANT v);
11636
11637     [propget, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
11638     VARIANT onerror();
11639
11640     [propput, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
11641     void onabort(VARIANT v);
11642
11643     [propget, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
11644     VARIANT onabort();
11645
11646     [propput, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
11647     void width(long v);
11648
11649     [propget, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
11650     long width();
11651
11652     [propput, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
11653     void height(long v);
11654
11655     [propget, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
11656     long height();
11657
11658     [propput, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
11659     void start(BSTR v);
11660
11661     [propget, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
11662     BSTR start();
11663
11664     [propput, id(DISPID_IHTMLINPUTELEMENT2_ACCEPT), displaybind, bindable]
11665     void accept(BSTR v);
11666
11667     [propget, id(DISPID_IHTMLINPUTELEMENT2_ACCEPT), displaybind, bindable]
11668     BSTR accept();
11669
11670     [propput, id(DISPID_IHTMLINPUTELEMENT2_USEMAP), displaybind, bindable]
11671     void useMap(BSTR v);
11672
11673     [propget, id(DISPID_IHTMLINPUTELEMENT2_USEMAP), displaybind, bindable]
11674     BSTR useMap();
11675 }
11676
11677 /*****************************************************************************
11678  *    IHTMLTextAreaElement interface
11679  */
11680 [
11681     odl,
11682     oleautomation,
11683     dual,
11684     uuid(3050f2aa-98b5-11cf-bb82-00aa00bdce0b)
11685 ]
11686 interface IHTMLTextAreaElement : IDispatch
11687 {
11688     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_TYPE)]
11689     HRESULT type([retval, out] BSTR *p);
11690
11691     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
11692     HRESULT value([in] BSTR v);
11693
11694     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
11695     HRESULT value([retval, out] BSTR *p);
11696
11697     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
11698     HRESULT name([in] BSTR v);
11699
11700     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
11701     HRESULT name([retval, out] BSTR *p);
11702
11703     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
11704     HRESULT status([in] VARIANT v);
11705
11706     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
11707     HRESULT status([retval, out] VARIANT *p);
11708
11709     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_DISABLED), displaybind, bindable]
11710     HRESULT disabled([in] VARIANT_BOOL v);
11711
11712     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_DISABLED), displaybind, bindable]
11713     HRESULT disabled([retval, out] VARIANT_BOOL *p);
11714
11715     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_FORM)]
11716     HRESULT form([retval, out] IHTMLFormElement **p);
11717
11718     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
11719     HRESULT defaultValue([in] BSTR v);
11720
11721     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
11722     HRESULT defaultValue([retval, out] BSTR *p);
11723
11724     [id(DISPID_IHTMLTEXTAREAELEMENT_SELECT)]
11725     HRESULT select();
11726
11727     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
11728     HRESULT onchange([in] VARIANT v);
11729
11730     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
11731     HRESULT onchange([retval, out] VARIANT *p);
11732
11733     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
11734     HRESULT onselect([in] VARIANT v);
11735
11736     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
11737     HRESULT onselect([retval, out] VARIANT *p);
11738
11739     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
11740     HRESULT readOnly([in] VARIANT_BOOL v);
11741
11742     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
11743     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
11744
11745     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
11746     HRESULT rows([in] long v);
11747
11748     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
11749     HRESULT rows([retval, out] long *p);
11750
11751     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
11752     HRESULT cols([in] long v);
11753
11754     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
11755     HRESULT cols([retval, out] long *p);
11756
11757     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
11758     HRESULT wrap([in] BSTR v);
11759
11760     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
11761     HRESULT wrap([retval, out] BSTR *p);
11762
11763     [id(DISPID_IHTMLTEXTAREAELEMENT_CREATETEXTRANGE)]
11764     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
11765 }
11766
11767 /*****************************************************************************
11768  *    DispHTMLUnknownElement interface
11769  */
11770 [
11771     hidden,
11772     uuid(3050f539-98b5-11cf-bb82-00aa00bdce0b)
11773 ]
11774 dispinterface DispHTMLUnknownElement
11775 {
11776 properties:
11777 methods:
11778     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
11779     void setAttribute(
11780             [in] BSTR strAttributeName,
11781             [in] VARIANT AttributeValue,
11782             [in, defaultvalue(1)] LONG lFlags);
11783
11784     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
11785     VARIANT getAttribute(
11786              [in] BSTR strAttributeName,
11787              [in, defaultvalue(0)] LONG lFlags);
11788
11789     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
11790     VARIANT_BOOL removeAttribute(
11791             [in] BSTR strAttributeName,
11792             [in, defaultvalue(1)] LONG lFlags);
11793
11794     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
11795     void className(BSTR v);
11796
11797     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
11798     BSTR className();
11799
11800     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
11801     void id(BSTR v);
11802
11803     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
11804     BSTR id();
11805
11806     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
11807     BSTR tagName();
11808
11809     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
11810     IHTMLElement *parentElement();
11811
11812     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
11813     IHTMLStyle *style();
11814
11815     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
11816     void onhelp(VARIANT v);
11817
11818     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
11819     VARIANT onhelp();
11820
11821     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
11822     void onclick(VARIANT v);
11823
11824     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
11825     VARIANT onclick();
11826
11827     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
11828     void ondblclick(VARIANT v);
11829
11830     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
11831     VARIANT ondblclick();
11832
11833     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
11834     void onkeydown(VARIANT v);
11835
11836     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
11837     VARIANT onkeydown();
11838
11839     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
11840     void onkeyup(VARIANT v);
11841
11842     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
11843     VARIANT onkeyup();
11844
11845     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
11846     void onkeypress(VARIANT v);
11847
11848     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
11849     VARIANT onkeypress();
11850
11851     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
11852     void onmouseout(VARIANT v);
11853
11854     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
11855     VARIANT onmouseout();
11856
11857     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
11858     void onmouseover(VARIANT v);
11859
11860     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
11861     VARIANT onmouseover();
11862
11863     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
11864     void onmousemove(VARIANT v);
11865
11866     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
11867     VARIANT onmousemove();
11868
11869     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
11870     void onmousedown(VARIANT v);
11871
11872     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
11873     VARIANT onmousedown();
11874
11875     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
11876     void onmouseup(VARIANT v);
11877
11878     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
11879     VARIANT onmouseup();
11880
11881     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
11882     IDispatch *document();
11883
11884     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
11885     void title(BSTR v);
11886
11887     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
11888     BSTR title();
11889
11890     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
11891     void language(BSTR v);
11892
11893     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
11894     BSTR language();
11895
11896     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
11897     void onselectstart(VARIANT v);
11898
11899     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
11900     VARIANT onselectstart();
11901
11902     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
11903     void scrollIntoView([in, optional] VARIANT varargStart);
11904
11905     [id(DISPID_IHTMLELEMENT_CONTAINS)]
11906     VARIANT_BOOL contains([in] IHTMLElement *pChild);
11907
11908     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
11909     long sourceIndex();
11910
11911     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
11912     VARIANT recordNumber();
11913
11914     [propput, id(DISPID_IHTMLELEMENT_LANG)]
11915     void lang(BSTR v);
11916
11917     [propget, id(DISPID_IHTMLELEMENT_LANG)]
11918     BSTR lang();
11919
11920     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
11921     long offsetLeft();
11922
11923     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
11924     long offsetTop();
11925
11926     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
11927     long offsetWidth();
11928
11929     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
11930     long offsetHeight();
11931
11932     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
11933     IHTMLElement *offsetParent();
11934
11935     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
11936     void innerHTML(BSTR v);
11937
11938     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
11939     BSTR innerHTML();
11940
11941     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
11942     void innerText(BSTR v);
11943
11944     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
11945     BSTR innerText();
11946
11947     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
11948     void outerHTML(BSTR v);
11949
11950     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
11951     BSTR outerHTML();
11952
11953     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
11954     void outerText(BSTR v);
11955
11956     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
11957     BSTR outerText();
11958
11959     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
11960     void insertAdjacentHTML(
11961             [in] BSTR where,
11962             [in] BSTR html);
11963
11964     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
11965     void insertAdjacentText(
11966             [in] BSTR where,
11967             [in] BSTR text);
11968
11969     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
11970     IHTMLElement *parentTextEdit();
11971
11972     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
11973     VARIANT_BOOL isTextEdit();
11974
11975     [id(DISPID_IHTMLELEMENT_CLICK)]
11976     void click();
11977
11978     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
11979     IHTMLFiltersCollection *filters();
11980
11981     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
11982     void ondragstart(VARIANT v);
11983
11984     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
11985     VARIANT ondragstart();
11986
11987     [id(DISPID_IHTMLELEMENT_TOSTRING)]
11988     BSTR toString();
11989
11990     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
11991     void onbeforeupdate(VARIANT v);
11992
11993     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
11994     VARIANT onbeforeupdate();
11995
11996     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
11997     void onafterupdate(VARIANT v);
11998
11999     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
12000     VARIANT onafterupdate();
12001
12002     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
12003     void onerrorupdate(VARIANT v);
12004
12005     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
12006     VARIANT onerrorupdate();
12007
12008     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
12009     void onrowexit(VARIANT v);
12010
12011     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
12012     VARIANT onrowexit();
12013
12014     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
12015     void onrowenter(VARIANT v);
12016
12017     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
12018     VARIANT onrowenter();
12019
12020     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
12021     void ondatasetchanged(VARIANT v);
12022
12023     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
12024     VARIANT ondatasetchanged();
12025
12026     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
12027     void ondataavailable(VARIANT v);
12028
12029     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
12030     VARIANT ondataavailable();
12031
12032     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
12033     void ondatasetcomplete(VARIANT v);
12034
12035     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
12036     VARIANT ondatasetcomplete();
12037
12038     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
12039     void onfilterchange(VARIANT v);
12040
12041     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
12042     VARIANT onfilterchange();
12043
12044     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
12045     IDispatch *children();
12046
12047     [propget, id(DISPID_IHTMLELEMENT_ALL)]
12048     IDispatch *all();
12049
12050     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
12051     BSTR scopeName();
12052
12053     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
12054     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
12055
12056     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
12057     void releaseCapture();
12058
12059     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
12060     void onlosecapture(VARIANT v);
12061
12062     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
12063     VARIANT onlosecapture();
12064
12065     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
12066     BSTR componentFromPoint(
12067             [in] long x,
12068             [in] long y);
12069
12070     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
12071     void doScroll([in, optional] VARIANT component);
12072
12073     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
12074     void onscroll(VARIANT v);
12075
12076     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
12077     VARIANT onscroll();
12078
12079     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
12080     void ondrag(VARIANT v);
12081
12082     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
12083     VARIANT ondrag();
12084
12085     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
12086     void ondragend(VARIANT v);
12087
12088     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
12089     VARIANT ondragend();
12090
12091     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
12092     void ondragenter(VARIANT v);
12093
12094     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
12095     VARIANT ondragenter();
12096
12097     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
12098     void ondragover(VARIANT v);
12099
12100     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
12101     VARIANT ondragover();
12102
12103     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
12104     void ondragleave(VARIANT v);
12105
12106     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
12107     VARIANT ondragleave();
12108
12109     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
12110     void ondrop(VARIANT v);
12111
12112     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
12113     VARIANT ondrop();
12114
12115     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
12116     void onbeforecut(VARIANT v);
12117
12118     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
12119     VARIANT onbeforecut();
12120
12121     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
12122     void oncut(VARIANT v);
12123
12124     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
12125     VARIANT oncut();
12126
12127     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
12128     void onbeforecopy(VARIANT v);
12129
12130     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
12131     VARIANT onbeforecopy();
12132
12133     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
12134     void oncopy(VARIANT v);
12135
12136     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
12137     VARIANT oncopy();
12138
12139     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
12140     void onbeforepaste(VARIANT v);
12141
12142     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
12143     VARIANT onbeforepaste();
12144
12145     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
12146     void onpaste(VARIANT v);
12147
12148     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
12149     VARIANT onpaste();
12150
12151     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
12152     IHTMLCurrentStyle *currentStyle();
12153
12154     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
12155     void onpropertychange(VARIANT v);
12156
12157     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
12158     VARIANT onpropertychange();
12159
12160     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
12161     IHTMLRectCollection *getClientRects();
12162
12163     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
12164     IHTMLRect *getBoundingClientRect();
12165
12166     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
12167     void setExpression(
12168             [in] BSTR propname,
12169             [in] BSTR expression,
12170             [in, defaultvalue("")] BSTR language);
12171
12172     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
12173     VARIANT getExpression([in] BSTR propname);
12174
12175     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
12176     VARIANT_BOOL removeExpression([in] BSTR propname);
12177
12178     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
12179     void tabIndex(short v);
12180
12181     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
12182     short tabIndex();
12183
12184     [id(DISPID_IHTMLELEMENT2_FOCUS)]
12185     void focus();
12186
12187     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
12188     void accessKey(BSTR v);
12189
12190     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
12191     BSTR accessKey();
12192
12193     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
12194     void onblur(VARIANT v);
12195
12196     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
12197     VARIANT onblur();
12198
12199     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
12200     void onfocus(VARIANT v);
12201
12202     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
12203     VARIANT onfocus();
12204
12205     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
12206     void onresize(VARIANT v);
12207
12208     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
12209     VARIANT onresize();
12210
12211     [id(DISPID_IHTMLELEMENT2_BLUR)]
12212     void blur();
12213
12214     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
12215     void addFilter([in] IUnknown *pUnk);
12216
12217     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
12218     void removeFilter([in] IUnknown *pUnk);
12219
12220     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
12221     long clientHeight();
12222
12223     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
12224     long clientWidth();
12225
12226     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
12227     long clientTop();
12228
12229     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
12230     long clientLeft();
12231
12232     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
12233     VARIANT_BOOL attachEvent(
12234             [in] BSTR event,
12235             [in] IDispatch *pDisp);
12236
12237     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
12238     void detachEvent(
12239             [in] BSTR event,
12240             [in] IDispatch *pDisp);
12241
12242     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
12243     VARIANT readyState();
12244
12245     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
12246     void onreadystatechange(VARIANT v);
12247
12248     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
12249     VARIANT onreadystatechange();
12250
12251     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
12252     void onrowsdelete(VARIANT v);
12253
12254     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
12255     VARIANT onrowsdelete();
12256
12257     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
12258     void onrowsinserted(VARIANT v);
12259
12260     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
12261      VARIANT onrowsinserted();
12262
12263     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
12264      void oncellchange(VARIANT v);
12265
12266     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
12267     VARIANT oncellchange();
12268
12269     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
12270     void dir(BSTR v);
12271
12272     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
12273     BSTR dir();
12274
12275     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
12276     IDispatch *createControlRange();
12277
12278     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
12279     long scrollHeight();
12280
12281     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
12282     long scrollWidth();
12283
12284     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
12285     void scrollTop(long v);
12286
12287     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
12288     long scrollTop();
12289
12290     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
12291     void scrollLeft(long v);
12292
12293     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
12294     long scrollLeft();
12295
12296     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
12297     void clearAttributes();
12298
12299     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
12300     void oncontextmenu(VARIANT v);
12301
12302     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
12303     VARIANT oncontextmenu();
12304
12305     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
12306     IHTMLElement *insertAdjacentElement(
12307             [in] BSTR where,
12308             [in] IHTMLElement *insertedElement);
12309
12310     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
12311     IHTMLElement *applyElement(
12312             [in] IHTMLElement *apply,
12313             [in] BSTR where);
12314
12315     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
12316     BSTR getAdjacentText([in] BSTR where);
12317
12318     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
12319     BSTR replaceAdjacentText(
12320             [in] BSTR where,
12321             [in] BSTR newText);
12322
12323     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
12324     VARIANT_BOOL canHaveChildren();
12325
12326     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
12327     long addBehavior(
12328             [in] BSTR bstrUrl,
12329             [in, optional] VARIANT *pvarFactory);
12330
12331     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
12332     VARIANT_BOOL removeBehavior([in] long cookie);
12333
12334     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
12335     IHTMLStyle *runtimeStyle();
12336
12337     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
12338     IDispatch *behaviorUrns();
12339
12340     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
12341     void tagUrn(BSTR v);
12342
12343     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
12344     BSTR tagUrn();
12345
12346     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
12347     void onbeforeeditfocus(VARIANT v);
12348
12349     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
12350     VARIANT onbeforeeditfocus();
12351
12352     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
12353     long readyStateValue();
12354
12355     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
12356     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
12357
12358     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
12359     void mergeAttributes(
12360             [in] IHTMLElement *mergeThis,
12361             [in, optional] VARIANT *pvarFlags);
12362
12363     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
12364     VARIANT_BOOL isMultiLine();
12365
12366     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
12367     VARIANT_BOOL canHaveHTML();
12368
12369     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
12370     void onlayoutcomplete(VARIANT v);
12371
12372     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
12373     VARIANT onlayoutcomplete();
12374
12375     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
12376     void onpage(VARIANT v);
12377
12378     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
12379     VARIANT onpage();
12380
12381     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
12382     void inflateBlock(VARIANT_BOOL v);
12383
12384     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
12385     VARIANT_BOOL inflateBlock();
12386
12387     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
12388     void onbeforedeactivate(VARIANT v);
12389
12390     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
12391     VARIANT onbeforedeactivate();
12392
12393     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
12394     void setActive();
12395
12396     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
12397     void contentEditable(BSTR v);
12398
12399     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
12400     BSTR contentEditable();
12401
12402     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
12403     VARIANT_BOOL isContentEditable();
12404
12405     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
12406     void hideFocus(VARIANT_BOOL v);
12407
12408     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
12409     VARIANT_BOOL hideFocus();
12410
12411     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
12412     void disabled(VARIANT_BOOL v);
12413
12414     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
12415     VARIANT_BOOL disabled();
12416
12417     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
12418     VARIANT_BOOL isDisabled();
12419
12420     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
12421     void onmove(VARIANT v);
12422
12423     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
12424     VARIANT onmove();
12425
12426     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
12427     void oncontrolselect(VARIANT v);
12428
12429     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
12430     VARIANT oncontrolselect();
12431
12432     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
12433     VARIANT_BOOL fireEvent(
12434             [in] BSTR bstrEventName,
12435             [in, optional] VARIANT *pvarEventObject);
12436
12437     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
12438     void onresizestart(VARIANT v);
12439
12440     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
12441     VARIANT onresizestart();
12442
12443     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
12444     void onresizeend(VARIANT v);
12445
12446     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
12447     VARIANT onresizeend();
12448
12449     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
12450     void onmovestart(VARIANT v);
12451
12452     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
12453     VARIANT onmovestart();
12454
12455     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
12456     void onmoveend(VARIANT v);
12457
12458     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
12459     VARIANT onmoveend();
12460
12461     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
12462     void onmouseenter(VARIANT v);
12463
12464     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
12465     VARIANT onmouseenter();
12466
12467     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
12468     void onmouseleave(VARIANT v);
12469
12470     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
12471     VARIANT onmouseleave();
12472
12473     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
12474     void onactivate(VARIANT v);
12475
12476     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
12477     VARIANT onactivate();
12478
12479     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
12480     void ondeactivate(VARIANT v);
12481
12482     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
12483     VARIANT ondeactivate();
12484
12485     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
12486     VARIANT_BOOL dragDrop();
12487
12488     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
12489     LONG glyphMode();
12490
12491     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
12492     void onmousewheel(VARIANT v);
12493
12494     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
12495     VARIANT onmousewheel();
12496
12497     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
12498     void normalize();
12499
12500     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
12501     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
12502
12503     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
12504     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
12505
12506     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
12507     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
12508
12509     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
12510     void onbeforeactivate(VARIANT v);
12511
12512     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
12513     VARIANT onbeforeactivate();
12514
12515     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
12516     void onfocusin(VARIANT v);
12517
12518     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
12519     VARIANT onfocusin();
12520
12521     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
12522     void onfocusout(VARIANT v);
12523
12524     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
12525     VARIANT onfocusout();
12526
12527     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
12528     long uniqueNumber();
12529
12530     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
12531     BSTR uniqueID();
12532
12533     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
12534     long nodeType();
12535
12536     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
12537     IHTMLDOMNode *parentNode();
12538
12539     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
12540     VARIANT_BOOL hasChildNodes();
12541
12542     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
12543     IDispatch *childNodes();
12544
12545     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
12546     IDispatch *attributes();
12547
12548     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
12549     IHTMLDOMNode *insertBefore(
12550             [in] IHTMLDOMNode *newChild,
12551             [in, optional] VARIANT refChild);
12552
12553     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
12554     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
12555
12556     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
12557     IHTMLDOMNode *replaceChild(
12558             [in] IHTMLDOMNode *newChild,
12559             [in] IHTMLDOMNode *oldChild);
12560
12561     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
12562     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
12563
12564     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
12565     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
12566
12567     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
12568     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
12569
12570     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
12571     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
12572
12573     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
12574     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
12575
12576     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
12577     BSTR nodeName();
12578
12579     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
12580     void nodeValue(VARIANT v);
12581
12582     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
12583     VARIANT nodeValue();
12584
12585     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
12586     IHTMLDOMNode *firstChild();
12587
12588     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
12589     IHTMLDOMNode *lastChild();
12590
12591     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
12592     IHTMLDOMNode *previousSibling();
12593
12594     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
12595     IHTMLDOMNode *nextSibling();
12596
12597     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
12598     IDispatch *ownerDocument();
12599 }
12600
12601 /*****************************************************************************
12602  *    IOmHistory interface
12603  */
12604 [
12605     odl,
12606     oleautomation,
12607     dual,
12608     uuid(FECEAAA2-8405-11CF-8BA1-00AA00476DA6)
12609 ]
12610 interface IOmHistory : IDispatch
12611 {
12612     [propget, id(DISPID_IOMHISTORY_LENGTH)]
12613     HRESULT length([retval, out] short *p);
12614
12615     [id(DISPID_IOMHISTORY_BACK)]
12616     HRESULT back([optional, in] VARIANT *pvargdistance);
12617
12618     [id(DISPID_IOMHISTORY_FORWARD)]
12619     HRESULT forward([optional, in] VARIANT *pvargdistance);
12620
12621     [id(DISPID_IOMHISTORY_GO)]
12622     HRESULT go([optional, in] VARIANT *pvargdistance);
12623 }
12624
12625 /*****************************************************************************
12626  *    IHTMLMimeTypesCollection interface
12627  */
12628 [
12629     odl,
12630     oleautomation,
12631     dual,
12632     uuid(3050F3FC-98B5-11CF-BB82-00AA00BDCE0B)
12633 ]
12634 interface IHTMLMimeTypesCollection : IDispatch
12635 {
12636     [propget, id(DISPID_IHTMLMIMETYPESCOLLECTION_LENGTH)]
12637     HRESULT length([retval, out] long *p);
12638 }
12639
12640 /*****************************************************************************
12641  *    IHTMLPluginsCollection interface
12642  */
12643 [
12644     odl,
12645     oleautomation,
12646     dual,
12647     uuid(3050F3FD-98B5-11CF-BB82-00AA00BDCE0B)
12648 ]
12649 interface IHTMLPluginsCollection : IDispatch
12650 {
12651     [propget, id(DISPID_IHTMLPLUGINSCOLLECTION_LENGTH)]
12652     HRESULT length([retval, out] long *p);
12653
12654     [id(DISPID_IHTMLPLUGINSCOLLECTION_REFRESH)]
12655     HRESULT refresh([defaultvalue(0), in] VARIANT_BOOL reload);
12656 }
12657
12658 /*****************************************************************************
12659  *    IHTMLOpsProfile interface
12660  */
12661 [
12662     odl,
12663     oleautomation,
12664     dual,
12665     uuid(3050F401-98B5-11CF-BB82-00AA00BDCE0B)
12666 ]
12667 interface IHTMLOpsProfile : IDispatch
12668 {
12669     [id(DISPID_IHTMLOPSPROFILE_ADDREQUEST)]
12670     HRESULT addRequest(
12671         [in] BSTR name,
12672         [optional, in] VARIANT reserved,
12673         [retval, out] VARIANT_BOOL *success);
12674
12675     [id(DISPID_IHTMLOPSPROFILE_CLEARREQUEST)]
12676     HRESULT clearRequest();
12677
12678     [id(DISPID_IHTMLOPSPROFILE_DOREQUEST)]
12679     HRESULT doRequest(
12680         [in] VARIANT usage,
12681         [optional, in] VARIANT fname,
12682         [optional, in] VARIANT domain,
12683         [optional, in] VARIANT path,
12684         [optional, in] VARIANT expire,
12685         [optional, in] VARIANT reserved);
12686
12687     [id(DISPID_IHTMLOPSPROFILE_GETATTRIBUTE)]
12688     HRESULT getAttribute(
12689         [in] BSTR name,
12690         [retval, out] BSTR *value);
12691
12692     [id(DISPID_IHTMLOPSPROFILE_SETATTRIBUTE)]
12693     HRESULT setAttribute(
12694         [in] BSTR name,
12695         [in] BSTR value,
12696         [optional, in] VARIANT prefs,
12697         [retval, out] VARIANT_BOOL *success);
12698
12699     [id(DISPID_IHTMLOPSPROFILE_COMMITCHANGES)]
12700     HRESULT commitChanges([retval, out] VARIANT_BOOL *success);
12701
12702     [id(DISPID_IHTMLOPSPROFILE_ADDREADREQUEST)]
12703     HRESULT addReadRequest(
12704         [in] BSTR name,
12705         [optional, in] VARIANT reserved,
12706         [retval, out] VARIANT_BOOL *success);
12707
12708     [id(DISPID_IHTMLOPSPROFILE_DOREADREQUEST)]
12709     HRESULT doReadRequest(
12710         [in] VARIANT usage,
12711         [optional, in] VARIANT fname,
12712         [optional, in] VARIANT domain,
12713         [optional, in] VARIANT path,
12714         [optional, in] VARIANT expire,
12715         [optional, in] VARIANT reserved);
12716
12717     [id(DISPID_IHTMLOPSPROFILE_DOWRITEREQUEST)]
12718     HRESULT doWriteRequest([retval, out] VARIANT_BOOL *success);
12719 }
12720
12721 /*****************************************************************************
12722  *    IOmNavigator interface
12723  */
12724 [
12725         odl,
12726         oleautomation,
12727         dual,
12728         uuid(FECEAAA5-8405-11CF-8BA1-00AA00476DA6)
12729 ]
12730 interface IOmNavigator : IDispatch
12731 {
12732     [propget, id(DISPID_IOMNAVIGATOR_APPCODENAME)]
12733     HRESULT appCodeName([retval, out] BSTR *p);
12734
12735     [propget, id(DISPID_IOMNAVIGATOR_APPNAME)]
12736     HRESULT appName([retval, out] BSTR *p);
12737
12738     [propget, id(DISPID_IOMNAVIGATOR_APPVERSION)]
12739     HRESULT appVersion([retval, out] BSTR *p);
12740
12741     [propget, id(DISPID_IOMNAVIGATOR_USERAGENT)]
12742     HRESULT userAgent([retval, out] BSTR *p);
12743
12744     [id(DISPID_IOMNAVIGATOR_JAVAENABLED)]
12745     HRESULT javaEnabled([retval, out] VARIANT_BOOL *enabled);
12746
12747     [id(DISPID_IOMNAVIGATOR_TAINTENABLED)]
12748     HRESULT taintEnabled([retval, out] VARIANT_BOOL *enabled);
12749
12750     [propget, id(DISPID_IOMNAVIGATOR_MIMETYPES)]
12751     HRESULT mimeTypes([retval, out] IHTMLMimeTypesCollection **p);
12752
12753     [propget, id(DISPID_IOMNAVIGATOR_PLUGINS)]
12754     HRESULT plugins([retval, out] IHTMLPluginsCollection **p);
12755
12756     [propget, id(DISPID_IOMNAVIGATOR_COOKIEENABLED)]
12757     HRESULT cookieEnabled([retval, out] VARIANT_BOOL *p);
12758
12759     [propget, id(DISPID_IOMNAVIGATOR_OPSPROFILE)]
12760     HRESULT opsProfile([retval, out] IHTMLOpsProfile **p);
12761
12762     [id(DISPID_IOMNAVIGATOR_TOSTRING)]
12763     HRESULT toString([retval, out] BSTR *String);
12764
12765     [propget, id(DISPID_IOMNAVIGATOR_CPUCLASS)]
12766     HRESULT cpuClass([retval, out] BSTR *p);
12767
12768     [propget, id(DISPID_IOMNAVIGATOR_SYSTEMLANGUAGE)]
12769     HRESULT systemLanguage([retval, out] BSTR *p);
12770
12771     [propget, id(DISPID_IOMNAVIGATOR_BROWSERLANGUAGE)]
12772     HRESULT browserLanguage([retval, out] BSTR *p);
12773
12774     [propget, id(DISPID_IOMNAVIGATOR_USERLANGUAGE)]
12775     HRESULT userLanguage([retval, out] BSTR *p);
12776
12777     [propget, id(DISPID_IOMNAVIGATOR_PLATFORM)]
12778     HRESULT platform([retval, out] BSTR *p);
12779
12780     [propget, id(DISPID_IOMNAVIGATOR_APPMINORVERSION)]
12781     HRESULT appMinorVersion([retval, out] BSTR *p);
12782
12783     [propget, id(DISPID_IOMNAVIGATOR_CONNECTIONSPEED)]
12784     HRESULT connectionSpeed([retval, out] long *p);
12785
12786     [propget, id(DISPID_IOMNAVIGATOR_ONLINE)]
12787     HRESULT onLine([retval, out] VARIANT_BOOL *p);
12788
12789     [propget, id(DISPID_IOMNAVIGATOR_USERPROFILE)]
12790     HRESULT userProfile([retval, out] IHTMLOpsProfile **p);
12791 }
12792
12793 /*****************************************************************************
12794  *    IHTMLLocation interface
12795  */
12796 [
12797     odl,
12798     oleautomation,
12799     dual,
12800     uuid(163BB1E0-6E00-11cf-837A-48DC04C10000)
12801 ]
12802 interface IHTMLLocation : IDispatch
12803 {
12804     [propput, id(DISPID_IHTMLLOCATION_HREF)]
12805     HRESULT href([in] BSTR v);
12806
12807     [propget, id(DISPID_IHTMLLOCATION_HREF)]
12808     HRESULT href([retval, out] BSTR *p);
12809
12810     [propput, id(DISPID_IHTMLLOCATION_PROTOCOL)]
12811     HRESULT protocol([in] BSTR v);
12812
12813     [propget, id(DISPID_IHTMLLOCATION_PROTOCOL)]
12814     HRESULT protocol([retval, out] BSTR *p);
12815
12816     [propput, id(DISPID_IHTMLLOCATION_HOST)]
12817     HRESULT host([in] BSTR v);
12818
12819     [propget, id(DISPID_IHTMLLOCATION_HOST)]
12820     HRESULT host([retval, out] BSTR *p);
12821
12822     [propput, id(DISPID_IHTMLLOCATION_HOSTNAME)]
12823     HRESULT hostname([in] BSTR v);
12824
12825     [propget, id(DISPID_IHTMLLOCATION_HOSTNAME)]
12826     HRESULT hostname([retval, out] BSTR *p);
12827
12828     [propput, id(DISPID_IHTMLLOCATION_PORT)]
12829     HRESULT port([in] BSTR v);
12830
12831     [propget, id(DISPID_IHTMLLOCATION_PORT)]
12832     HRESULT port([retval, out] BSTR *p);
12833
12834     [propput, id(DISPID_IHTMLLOCATION_PATHNAME)]
12835     HRESULT pathname([in] BSTR v);
12836
12837     [propget, id(DISPID_IHTMLLOCATION_PATHNAME)]
12838     HRESULT pathname([retval, out] BSTR *p);
12839
12840     [propput, id(DISPID_IHTMLLOCATION_SEARCH)]
12841     HRESULT search([in] BSTR v);
12842
12843     [propget, id(DISPID_IHTMLLOCATION_SEARCH)]
12844     HRESULT search([retval, out] BSTR *p);
12845
12846     [propput, id(DISPID_IHTMLLOCATION_HASH)]
12847     HRESULT hash([in] BSTR v);
12848
12849     [propget, id(DISPID_IHTMLLOCATION_HASH)]
12850     HRESULT hash([retval, out] BSTR *p);
12851
12852     [id(DISPID_IHTMLLOCATION_RELOAD)]
12853     HRESULT reload([defaultvalue(0), in] VARIANT_BOOL flag);
12854
12855     [id(DISPID_IHTMLLOCATION_REPLACE)]
12856     HRESULT replace([in] BSTR bstr);
12857
12858     [id(DISPID_IHTMLLOCATION_ASSIGN)]
12859     HRESULT assign([in] BSTR bstr);
12860
12861     [id(DISPID_IHTMLLOCATION_TOSTRING)]
12862     HRESULT toString([retval, out] BSTR *String);
12863 }
12864
12865 [
12866     odl,
12867     oleautomation,
12868     dual,
12869     uuid(3050f4ce-98b5-11cf-bb82-00aa00bdce0b)
12870 ]
12871 interface IHTMLBookmarkCollection : IDispatch
12872 {
12873     [propget, id(DISPID_IHTMLBOOKMARKCOLLECTION_LENGTH), hidden]
12874     HRESULT length([out, retval] long *p);
12875
12876     [propget, id(DISPID_IHTMLBOOKMARKCOLLECTION__NEWENUM), hidden, restricted]
12877     HRESULT _newEnum([out, retval] IUnknown **p);
12878
12879     [id(DISPID_IHTMLBOOKMARKCOLLECTION_ITEM)]
12880     HRESULT item(
12881             [in] long index,
12882             [out, retval] VARIANT *pVarBookmark);
12883 }
12884
12885 /*****************************************************************************
12886  *    IHTMLDataTransfer interface
12887  */
12888 [
12889     odl,
12890     oleautomation,
12891     dual,
12892     uuid(3050f4b3-98b5-11cf-bb82-00aa00bdce0b)
12893 ]
12894 interface IHTMLDataTransfer : IDispatch
12895 {
12896     [id(DISPID_IHTMLDATATRANSFER_SETDATA)]
12897     HRESULT setData(
12898             [in] BSTR format,
12899             [in] VARIANT *data,
12900             [out, retval] VARIANT_BOOL *pret);
12901
12902     [id(DISPID_IHTMLDATATRANSFER_GETDATA)]
12903     HRESULT getData(
12904             [in] BSTR format,
12905             [out, retval] VARIANT *pvarRet);
12906
12907     [id(DISPID_IHTMLDATATRANSFER_CLEARDATA)]
12908     HRESULT clearData(
12909             [in] BSTR format,
12910             [out, retval] VARIANT_BOOL *pret);
12911
12912     [propput, id(DISPID_IHTMLDATATRANSFER_DROPEFFECT)]
12913     HRESULT dropEffect([in] BSTR v);
12914
12915     [propget, id(DISPID_IHTMLDATATRANSFER_DROPEFFECT)]
12916     HRESULT dropEffect([out, retval] BSTR *p);
12917
12918     [propput, id(DISPID_IHTMLDATATRANSFER_EFFECTALLOWED)]
12919     HRESULT effectAllowed([in] BSTR v);
12920
12921     [propget, id(DISPID_IHTMLDATATRANSFER_EFFECTALLOWED)]
12922     HRESULT effectAllowed([out, retval] BSTR *p);
12923 }
12924
12925 /*****************************************************************************
12926  *    IHTMLEventObj interface
12927  */
12928 [
12929     odl,
12930     oleautomation,
12931     dual,
12932     uuid(3050F32D-98B5-11CF-BB82-00AA00BDCE0B)
12933 ]
12934 interface IHTMLEventObj : IDispatch
12935 {
12936     [propget, id(DISPID_IHTMLEVENTOBJ_SRCELEMENT)]
12937     HRESULT srcElement([retval, out] IHTMLElement **p);
12938
12939     [propget, id(DISPID_IHTMLEVENTOBJ_ALTKEY)]
12940     HRESULT altKey([retval, out] VARIANT_BOOL *p);
12941
12942     [propget, id(DISPID_IHTMLEVENTOBJ_CTRLKEY)]
12943     HRESULT ctrlKey([retval, out] VARIANT_BOOL *p);
12944
12945     [propget, id(DISPID_IHTMLEVENTOBJ_SHIFTKEY)]
12946     HRESULT shiftKey([retval, out] VARIANT_BOOL *p);
12947
12948     [propput, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
12949     HRESULT returnValue([in] VARIANT v);
12950
12951     [propget, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
12952     HRESULT returnValue([retval, out] VARIANT *p);
12953
12954     [propput, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
12955     HRESULT cancelBubble([in] VARIANT_BOOL v);
12956
12957     [propget, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
12958     HRESULT cancelBubble([retval, out] VARIANT_BOOL *p);
12959
12960     [propget, id(DISPID_IHTMLEVENTOBJ_FROMELEMENT)]
12961     HRESULT fromElement([retval, out] IHTMLElement **p);
12962
12963     [propget, id(DISPID_IHTMLEVENTOBJ_TOELEMENT)]
12964     HRESULT toElement([retval, out] IHTMLElement **p);
12965
12966     [propput, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
12967     HRESULT keyCode([in] long v);
12968
12969     [propget, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
12970     HRESULT keyCode([retval, out] long *p);
12971
12972     [propget, id(DISPID_IHTMLEVENTOBJ_BUTTON)]
12973     HRESULT button([retval, out] long *p);
12974
12975     [propget, id(DISPID_IHTMLEVENTOBJ_TYPE)]
12976     HRESULT type([retval, out] BSTR *p);
12977
12978     [propget, id(DISPID_IHTMLEVENTOBJ_QUALIFIER)]
12979     HRESULT qualifier([retval, out] BSTR *p);
12980
12981     [propget, id(DISPID_IHTMLEVENTOBJ_REASON)]
12982     HRESULT reason([retval, out] long *p);
12983
12984     [propget, id(DISPID_IHTMLEVENTOBJ_X)]
12985     HRESULT x([retval, out] long *p);
12986
12987     [propget, id(DISPID_IHTMLEVENTOBJ_Y)]
12988     HRESULT y([retval, out] long *p);
12989
12990     [propget, id(DISPID_IHTMLEVENTOBJ_CLIENTX)]
12991     HRESULT clientX([retval, out] long *p);
12992
12993     [propget, id(DISPID_IHTMLEVENTOBJ_CLIENTY)]
12994     HRESULT clientY([retval, out] long *p);
12995
12996     [propget, id(DISPID_IHTMLEVENTOBJ_OFFSETX)]
12997     HRESULT offsetX([retval, out] long *p);
12998
12999     [propget, id(DISPID_IHTMLEVENTOBJ_OFFSETY)]
13000     HRESULT offsetY([retval, out] long *p);
13001
13002     [propget, id(DISPID_IHTMLEVENTOBJ_SCREENX)]
13003     HRESULT screenX([retval, out] long *p);
13004
13005     [propget, id(DISPID_IHTMLEVENTOBJ_SCREENY)]
13006     HRESULT screenY([retval, out] long *p);
13007
13008     [propget, id(DISPID_IHTMLEVENTOBJ_SRCFILTER)]
13009     HRESULT srcFilter([retval, out] IDispatch **p);
13010 }
13011
13012 /*****************************************************************************
13013  *    DispCEventObj dispinterface
13014  */
13015 [
13016     hidden,
13017     uuid(3050f558-98b5-11cf-bb82-00aa00bdce0b)
13018 ]
13019 dispinterface DispCEventObj
13020 {
13021 properties:
13022 methods:
13023     [propput, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
13024     void returnValue(VARIANT v);
13025
13026     [propget, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
13027     VARIANT returnValue();
13028
13029     [propput, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
13030     void cancelBubble(VARIANT_BOOL v);
13031
13032     [propget, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
13033     VARIANT_BOOL cancelBubble();
13034
13035     [propput, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
13036     void keyCode(long v);
13037
13038     [propget, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
13039     long keyCode();
13040
13041     [id(DISPID_IHTMLEVENTOBJ2_SETATTRIBUTE)]
13042     void setAttribute(
13043             [in] BSTR strAttributeName,
13044             [in] VARIANT AttributeValue,
13045             [in, defaultvalue(1)] LONG lFlags);
13046
13047     [id(DISPID_IHTMLEVENTOBJ2_GETATTRIBUTE)]
13048     VARIANT getAttribute(
13049             [in] BSTR strAttributeName,
13050             [in, defaultvalue(0)] LONG lFlags);
13051
13052     [id(DISPID_IHTMLEVENTOBJ2_REMOVEATTRIBUTE)]
13053     VARIANT_BOOL removeAttribute(
13054             [in] BSTR strAttributeName,
13055             [in, defaultvalue(1)] LONG lFlags);
13056
13057     [propput, id(DISPID_IHTMLEVENTOBJ2_PROPERTYNAME)]
13058     void propertyName(BSTR v);
13059
13060     [propget, id(DISPID_IHTMLEVENTOBJ2_PROPERTYNAME)]
13061     BSTR propertyName();
13062
13063     [propputref, id(DISPID_IHTMLEVENTOBJ2_BOOKMARKS)]
13064     void bookmarks(IHTMLBookmarkCollection *v);
13065
13066     [propget, id(DISPID_IHTMLEVENTOBJ2_BOOKMARKS)]
13067     IHTMLBookmarkCollection *bookmarks();
13068
13069     [propputref, id(DISPID_IHTMLEVENTOBJ2_RECORDSET)]
13070     void recordset(IDispatch *v);
13071
13072     [propget, id(DISPID_IHTMLEVENTOBJ2_RECORDSET)]
13073     IDispatch *recordset();
13074
13075     [propput, id(DISPID_IHTMLEVENTOBJ2_DATAFLD)]
13076     void dataFld(BSTR v);
13077
13078     [propget, id(DISPID_IHTMLEVENTOBJ2_DATAFLD)]
13079     BSTR dataFld();
13080
13081     [propputref, id(DISPID_IHTMLEVENTOBJ2_BOUNDELEMENTS)]
13082     void boundElements(IHTMLElementCollection *v);
13083
13084     [propget, id(DISPID_IHTMLEVENTOBJ2_BOUNDELEMENTS)]
13085     IHTMLElementCollection *boundElements();
13086
13087     [propput, id(DISPID_IHTMLEVENTOBJ2_REPEAT)]
13088     void repeat(VARIANT_BOOL v);
13089
13090     [propget, id(DISPID_IHTMLEVENTOBJ2_REPEAT)]
13091     VARIANT_BOOL repeat();
13092
13093     [propput, id(DISPID_IHTMLEVENTOBJ2_SRCURN)]
13094     void srcUrn(BSTR v);
13095
13096     [propget, id(DISPID_IHTMLEVENTOBJ2_SRCURN)]
13097     BSTR srcUrn();
13098
13099     [propputref, id(DISPID_IHTMLEVENTOBJ2_SRCELEMENT)]
13100     void srcElement(IHTMLElement *v);
13101
13102     [propget, id(DISPID_IHTMLEVENTOBJ2_SRCELEMENT)]
13103     IHTMLElement *srcElement();
13104
13105     [propput, id(DISPID_IHTMLEVENTOBJ2_ALTKEY)]
13106     void altKey(VARIANT_BOOL v);
13107
13108     [propget, id(DISPID_IHTMLEVENTOBJ2_ALTKEY)]
13109     VARIANT_BOOL altKey();
13110
13111     [propput, id(DISPID_IHTMLEVENTOBJ2_CTRLKEY)]
13112     void ctrlKey(VARIANT_BOOL v);
13113
13114     [propget, id(DISPID_IHTMLEVENTOBJ2_CTRLKEY)]
13115     VARIANT_BOOL ctrlKey();
13116
13117     [propput, id(DISPID_IHTMLEVENTOBJ2_SHIFTKEY)]
13118     void shiftKey(VARIANT_BOOL v);
13119
13120     [propget, id(DISPID_IHTMLEVENTOBJ2_SHIFTKEY)]
13121     VARIANT_BOOL shiftKey();
13122
13123     [propputref, id(DISPID_IHTMLEVENTOBJ2_FROMELEMENT)]
13124     void fromElement(IHTMLElement *v);
13125
13126     [propget, id(DISPID_IHTMLEVENTOBJ2_FROMELEMENT)]
13127     IHTMLElement *fromElement();
13128
13129     [propputref, id(DISPID_IHTMLEVENTOBJ2_TOELEMENT)]
13130     void toElement(IHTMLElement *v);
13131
13132     [propget, id(DISPID_IHTMLEVENTOBJ2_TOELEMENT)]
13133     IHTMLElement *toElement();
13134
13135     [propput, id(DISPID_IHTMLEVENTOBJ2_BUTTON)]
13136     void button(long v);
13137
13138     [propget, id(DISPID_IHTMLEVENTOBJ2_BUTTON)]
13139     long button();
13140
13141     [propput, id(DISPID_IHTMLEVENTOBJ2_TYPE)]
13142     void type(BSTR v);
13143
13144     [propget, id(DISPID_IHTMLEVENTOBJ2_TYPE)]
13145     BSTR type();
13146
13147     [propput, id(DISPID_IHTMLEVENTOBJ2_QUALIFIER)]
13148     void qualifier(BSTR v);
13149
13150     [propget, id(DISPID_IHTMLEVENTOBJ2_QUALIFIER)]
13151     BSTR qualifier();
13152
13153     [propput, id(DISPID_IHTMLEVENTOBJ2_REASON)]
13154     void reason(long v);
13155
13156     [propget, id(DISPID_IHTMLEVENTOBJ2_REASON)]
13157     long reason();
13158
13159     [propput, id(DISPID_IHTMLEVENTOBJ2_X)]
13160     void x(long v);
13161
13162     [propget, id(DISPID_IHTMLEVENTOBJ2_X)]
13163     long x();
13164
13165     [propput, id(DISPID_IHTMLEVENTOBJ2_Y)]
13166     void y(long v);
13167
13168     [propget, id(DISPID_IHTMLEVENTOBJ2_Y)]
13169     long y();
13170
13171     [propput, id(DISPID_IHTMLEVENTOBJ2_CLIENTX)]
13172     void clientX(long v);
13173
13174     [propget, id(DISPID_IHTMLEVENTOBJ2_CLIENTX)]
13175     long clientX();
13176
13177     [propput, id(DISPID_IHTMLEVENTOBJ2_CLIENTY)]
13178     void clientY(long v);
13179
13180     [propget, id(DISPID_IHTMLEVENTOBJ2_CLIENTY)]
13181     long clientY();
13182     [propput, id(DISPID_IHTMLEVENTOBJ2_OFFSETX)]
13183     void offsetX(long v);
13184
13185     [propget, id(DISPID_IHTMLEVENTOBJ2_OFFSETX)]
13186     long offsetX();
13187
13188     [propput, id(DISPID_IHTMLEVENTOBJ2_OFFSETY)]
13189     void offsetY(long v);
13190
13191     [propget, id(DISPID_IHTMLEVENTOBJ2_OFFSETY)]
13192     long offsetY();
13193
13194     [propput, id(DISPID_IHTMLEVENTOBJ2_SCREENX)]
13195     void screenX(long v);
13196
13197     [propget, id(DISPID_IHTMLEVENTOBJ2_SCREENX)]
13198     long screenX();
13199
13200     [propput, id(DISPID_IHTMLEVENTOBJ2_SCREENY)]
13201     void screenY(long v);
13202
13203     [propget, id(DISPID_IHTMLEVENTOBJ2_SCREENY)]
13204     long screenY();
13205
13206     [propputref, id(DISPID_IHTMLEVENTOBJ2_SRCFILTER)]
13207     void srcFilter(IDispatch *v);
13208
13209     [propget, id(DISPID_IHTMLEVENTOBJ2_SRCFILTER)]
13210     IDispatch *srcFilter();
13211
13212     [propget, id(DISPID_IHTMLEVENTOBJ2_DATATRANSFER)]
13213     IHTMLDataTransfer *dataTransfer();
13214
13215     [propget, id(DISPID_IHTMLEVENTOBJ3_CONTENTOVERFLOW)]
13216     VARIANT_BOOL contentOverflow();
13217
13218     [propput, id(DISPID_IHTMLEVENTOBJ3_SHIFTLEFT)]
13219     void shiftLeft(VARIANT_BOOL v);
13220
13221     [propget, id(DISPID_IHTMLEVENTOBJ3_SHIFTLEFT)]
13222     VARIANT_BOOL shiftLeft();
13223
13224     [propput, id(DISPID_IHTMLEVENTOBJ3_ALTLEFT)]
13225     void altLeft(VARIANT_BOOL v);
13226
13227     [propget, id(DISPID_IHTMLEVENTOBJ3_ALTLEFT)]
13228     VARIANT_BOOL altLeft();
13229
13230     [propput, id(DISPID_IHTMLEVENTOBJ3_CTRLLEFT)]
13231     void ctrlLeft(VARIANT_BOOL v);
13232
13233     [propget, id(DISPID_IHTMLEVENTOBJ3_CTRLLEFT)]
13234     VARIANT_BOOL ctrlLeft();
13235
13236     [propget, id(DISPID_IHTMLEVENTOBJ3_IMECOMPOSITIONCHANGE), hidden, restricted, nonbrowsable]
13237     LONG_PTR imeCompositionChange();
13238
13239     [propget, id(DISPID_IHTMLEVENTOBJ3_IMENOTIFYCOMMAND), hidden, restricted, nonbrowsable]
13240     LONG_PTR imeNotifyCommand();
13241
13242     [propget, id(DISPID_IHTMLEVENTOBJ3_IMENOTIFYDATA), hidden, restricted, nonbrowsable]
13243     LONG_PTR imeNotifyData();
13244
13245     [propget, id(DISPID_IHTMLEVENTOBJ3_IMEREQUEST), hidden, restricted, nonbrowsable]
13246     LONG_PTR imeRequest();
13247
13248     [propget, id(DISPID_IHTMLEVENTOBJ3_IMEREQUESTDATA), hidden, restricted, nonbrowsable]
13249     LONG_PTR imeRequestData();
13250
13251     [propget, id(DISPID_IHTMLEVENTOBJ3_KEYBOARDLAYOUT), hidden, restricted, nonbrowsable]
13252     LONG_PTR keyboardLayout();
13253
13254     [propget, id(DISPID_IHTMLEVENTOBJ3_BEHAVIORCOOKIE)]
13255     long behaviorCookie();
13256
13257     [propget, id(DISPID_IHTMLEVENTOBJ3_BEHAVIORPART)]
13258     long behaviorPart();
13259
13260     [propget, id(DISPID_IHTMLEVENTOBJ3_NEXTPAGE)]
13261     BSTR nextPage();
13262
13263     [propget, id(DISPID_IHTMLEVENTOBJ4_WHEELDELTA)]
13264     long wheelDelta();
13265 }
13266
13267 /*****************************************************************************
13268  *    IHTMLFramesCollection2 interface
13269  */
13270 [
13271     odl,
13272     oleautomation,
13273     dual,
13274     uuid(332C4426-26CB-11D0-B483-00C04FD90119)
13275 ]
13276 interface IHTMLFramesCollection2 : IDispatch
13277 {
13278     [id(DISPID_IHTMLFRAMESCOLLECTION2_ITEM)]
13279     HRESULT item(
13280         [in] VARIANT *pvarIndex,
13281         [retval, out] VARIANT *pvarResult);
13282
13283     [propget, id(DISPID_IHTMLFRAMESCOLLECTION2_LENGTH)]
13284     HRESULT length([retval, out] long *p);
13285 }
13286
13287 /*****************************************************************************
13288  *    IHTMLScreen interface
13289  */
13290 [
13291     odl,
13292     oleautomation,
13293     dual,
13294     uuid(3050f35C-98B5-11CF-BB82-00AA00BDCE0B)
13295 ]
13296 interface IHTMLScreen : IDispatch
13297 {
13298     [propget, id(DISPID_IHTMLSCREEN_COLORDEPTH)]
13299     HRESULT colorDepth([retval, out] long *p);
13300
13301     [propput, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
13302     HRESULT bufferDepth([in] long v);
13303
13304     [propget, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
13305     HRESULT bufferDepth([retval, out] long *p);
13306
13307     [propget, id(DISPID_IHTMLSCREEN_WIDTH)]
13308     HRESULT width([retval, out] long *p);
13309
13310     [propget, id(DISPID_IHTMLSCREEN_HEIGHT)]
13311     HRESULT height([retval, out] long *p);
13312
13313     [propput, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
13314     HRESULT updateInterval([in] long v);
13315
13316     [propget, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
13317     HRESULT updateInterval([retval, out] long *p);
13318
13319     [propget, id(DISPID_IHTMLSCREEN_AVAILHEIGHT)]
13320     HRESULT availHeight([retval, out] long *p);
13321
13322     [propget, id(DISPID_IHTMLSCREEN_AVAILWIDTH)]
13323     HRESULT availWidth([retval, out] long *p);
13324
13325     [propget, id(DISPID_IHTMLSCREEN_FONTSMOOTHINGENABLED)]
13326     HRESULT fontSmoothingEnabled([retval, out] VARIANT_BOOL *p);
13327 }
13328
13329 /*****************************************************************************
13330  *    IHTMLWindow2 interface
13331  */
13332 [
13333     odl,
13334     oleautomation,
13335     dual,
13336     uuid(332C4427-26CB-11D0-B483-00C04FD90119)
13337 ]
13338 interface IHTMLWindow2 : IHTMLFramesCollection2
13339 {
13340     [propget, id(DISPID_IHTMLWINDOW2_FRAMES)]
13341     HRESULT frames([retval, out] IHTMLFramesCollection2 **p);
13342
13343     [propput, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
13344     HRESULT defaultStatus([in] BSTR v);
13345
13346     [propget, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
13347     HRESULT defaultStatus([retval, out] BSTR *p);
13348
13349     [propput, id(DISPID_IHTMLWINDOW2_STATUS)]
13350     HRESULT status([in] BSTR v);
13351
13352     [propget, id(DISPID_IHTMLWINDOW2_STATUS)]
13353     HRESULT status([retval, out] BSTR *p);
13354
13355     [id(DISPID_IHTMLWINDOW2_SETTIMEOUT)]
13356     HRESULT setTimeout(
13357         [in] BSTR expression,
13358         [in] long msec,
13359         [optional, in] VARIANT *language,
13360         [retval, out] long *timerID);
13361
13362     [id(DISPID_IHTMLWINDOW2_CLEARTIMEOUT)]
13363     HRESULT clearTimeout([in] long timerID);
13364
13365     [id(DISPID_IHTMLWINDOW2_ALERT)]
13366     HRESULT alert([defaultvalue(""), in] BSTR message);
13367
13368     [id(DISPID_IHTMLWINDOW2_CONFIRM)]
13369     HRESULT confirm(
13370         [defaultvalue(""), in] BSTR message,
13371         [retval, out] VARIANT_BOOL *confirmed);
13372
13373     [id(DISPID_IHTMLWINDOW2_PROMPT)]
13374     HRESULT prompt(
13375         [defaultvalue(""), in] BSTR message,
13376         [defaultvalue("undefined"), in] BSTR defstr,
13377         [retval, out] VARIANT *textdata);
13378
13379     [propget, id(DISPID_IHTMLWINDOW2_IMAGE)]
13380     HRESULT Image([retval, out] IHTMLImageElementFactory **p);
13381
13382     [propget, id(DISPID_IHTMLWINDOW2_LOCATION)]
13383     HRESULT location([retval, out] IHTMLLocation **p);
13384
13385     [propget, id(DISPID_IHTMLWINDOW2_HISTORY)]
13386     HRESULT history([retval, out] IOmHistory **p);
13387
13388     [id(DISPID_IHTMLWINDOW2_CLOSE)]
13389     HRESULT close();
13390
13391     [propput, id(DISPID_IHTMLWINDOW2_OPENER)]
13392     HRESULT opener([in] VARIANT v);
13393
13394     [propget, id(DISPID_IHTMLWINDOW2_OPENER)]
13395     HRESULT opener([retval, out] VARIANT *p);
13396
13397     [propget, id(DISPID_IHTMLWINDOW2_NAVIGATOR)]
13398     HRESULT navigator([retval, out] IOmNavigator **p);
13399
13400     [propput, id(DISPID_IHTMLWINDOW2_NAME)]
13401     HRESULT name([in] BSTR v);
13402
13403     [propget, id(DISPID_IHTMLWINDOW2_NAME)]
13404     HRESULT name([retval, out] BSTR *p);
13405
13406     [propget, id(DISPID_IHTMLWINDOW2_PARENT)]
13407     HRESULT parent([retval, out] IHTMLWindow2 **p);
13408
13409     [id(DISPID_IHTMLWINDOW2_OPEN)]
13410     HRESULT open(
13411         [defaultvalue(""), in] BSTR url,
13412         [defaultvalue(""), in] BSTR name,
13413         [defaultvalue(""), in] BSTR features,
13414         [defaultvalue(0), in] VARIANT_BOOL replace,
13415         [retval, out] IHTMLWindow2 **pomWindowResult);
13416
13417     [propget, id(DISPID_IHTMLWINDOW2_SELF)]
13418     HRESULT self([retval, out] IHTMLWindow2 **p);
13419
13420     [propget, id(DISPID_IHTMLWINDOW2_TOP)]
13421     HRESULT top([retval, out] IHTMLWindow2 **p);
13422
13423     [propget, id(DISPID_IHTMLWINDOW2_WINDOW)]
13424     HRESULT window([retval, out] IHTMLWindow2 **p);
13425
13426     [id(DISPID_IHTMLWINDOW2_NAVIGATE)]
13427     HRESULT navigate([in] BSTR url);
13428
13429     [propput, id(DISPID_IHTMLWINDOW2_ONFOCUS)]
13430     HRESULT onfocus([in] VARIANT v);
13431
13432     [propget, id(DISPID_IHTMLWINDOW2_ONFOCUS)]
13433     HRESULT onfocus([retval, out] VARIANT *p);
13434
13435     [propput, id(DISPID_IHTMLWINDOW2_ONBLUR)]
13436     HRESULT onblur([in] VARIANT v);
13437
13438     [propget, id(DISPID_IHTMLWINDOW2_ONBLUR)]
13439     HRESULT onblur([retval, out] VARIANT *p);
13440
13441     [propput, id(DISPID_IHTMLWINDOW2_ONLOAD)]
13442     HRESULT onload([in] VARIANT v);
13443
13444     [propget, id(DISPID_IHTMLWINDOW2_ONLOAD)]
13445     HRESULT onload([retval, out] VARIANT *p);
13446
13447     [propput, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD)]
13448     HRESULT onbeforeunload([in] VARIANT v);
13449
13450     [propget, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD)]
13451     HRESULT onbeforeunload([retval, out] VARIANT *p);
13452
13453     [propput, id(DISPID_IHTMLWINDOW2_ONUNLOAD)]
13454     HRESULT onunload([in] VARIANT v);
13455
13456     [propget, id(DISPID_IHTMLWINDOW2_ONUNLOAD)]
13457     HRESULT onunload([retval, out] VARIANT *p);
13458
13459     [propput, id(DISPID_IHTMLWINDOW2_ONHELP)]
13460     HRESULT onhelp([in] VARIANT v);
13461
13462     [propget, id(DISPID_IHTMLWINDOW2_ONHELP)]
13463     HRESULT onhelp([retval, out] VARIANT *p);
13464
13465     [propput, id(DISPID_IHTMLWINDOW2_ONERROR)]
13466     HRESULT onerror([in] VARIANT v);
13467
13468     [propget, id(DISPID_IHTMLWINDOW2_ONERROR)]
13469     HRESULT onerror([retval, out] VARIANT *p);
13470
13471     [propput, id(DISPID_IHTMLWINDOW2_ONRESIZE)]
13472     HRESULT onresize([in] VARIANT v);
13473
13474     [propget, id(DISPID_IHTMLWINDOW2_ONRESIZE)]
13475     HRESULT onresize([retval, out] VARIANT *p);
13476
13477     [propput, id(DISPID_IHTMLWINDOW2_ONSCROLL)]
13478     HRESULT onscroll([in] VARIANT v);
13479
13480     [propget, id(DISPID_IHTMLWINDOW2_ONSCROLL)]
13481     HRESULT onscroll([retval, out] VARIANT *p);
13482
13483     [propget, id(DISPID_IHTMLWINDOW2_DOCUMENT)]
13484     HRESULT document([retval, out] IHTMLDocument2 **p);
13485
13486     [propget, id(DISPID_IHTMLWINDOW2_EVENT)]
13487     HRESULT event([retval, out] IHTMLEventObj **p);
13488
13489     [propget, id(DISPID_IHTMLWINDOW2__NEWENUM)]
13490     HRESULT _newEnum([retval, out] IUnknown **p);
13491
13492     [id(DISPID_IHTMLWINDOW2_SHOWMODALDIALOG)]
13493     HRESULT showModalDialog(
13494         [in] BSTR dialog,
13495         [optional, in] VARIANT *varArgIn,
13496         [optional, in] VARIANT *varOptions,
13497         [retval, out] VARIANT *varArgOut);
13498
13499     [id(DISPID_IHTMLWINDOW2_SHOWHELP)]
13500     HRESULT showHelp(
13501         [in] BSTR helpURL,
13502         [optional, in] VARIANT helpArg,
13503         [defaultvalue(""), in] BSTR features);
13504
13505     [propget, id(DISPID_IHTMLWINDOW2_SCREEN)]
13506     HRESULT screen([retval, out] IHTMLScreen **p);
13507
13508     [propget, id(DISPID_IHTMLWINDOW2_OPTION)]
13509     HRESULT Option([retval, out] IHTMLOptionElementFactory **p);
13510
13511     [id(DISPID_IHTMLWINDOW2_FOCUS)]
13512     HRESULT focus();
13513
13514     [propget, id(DISPID_IHTMLWINDOW2_CLOSED)]
13515     HRESULT closed([retval, out] VARIANT_BOOL *p);
13516
13517     [id(DISPID_IHTMLWINDOW2_BLUR)]
13518     HRESULT blur();
13519
13520     [id(DISPID_IHTMLWINDOW2_SCROLL)]
13521     HRESULT scroll([in] long x, [in] long y);
13522
13523     [propget, id(DISPID_IHTMLWINDOW2_CLIENTINFORMATION)]
13524     HRESULT clientInformation([retval, out] IOmNavigator **p);
13525
13526     [id(DISPID_IHTMLWINDOW2_SETINTERVAL)]
13527     HRESULT setInterval([
13528         in] BSTR expression,
13529         [in] long msec,
13530         [optional, in] VARIANT *language,
13531         [retval, out] long *timerID);
13532
13533     [id(DISPID_IHTMLWINDOW2_CLEARINTERVAL)]
13534     HRESULT clearInterval([in] long timerID);
13535
13536     [propput, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
13537     HRESULT offscreenBuffering([in] VARIANT v);
13538
13539     [propget, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
13540     HRESULT offscreenBuffering([retval, out] VARIANT *p);
13541
13542     [id(DISPID_IHTMLWINDOW2_EXECSCRIPT)]
13543     HRESULT execScript(
13544         [in] BSTR scode,
13545         [defaultvalue("JScript"), in] BSTR language,
13546         [retval, out] VARIANT *pvarRet);
13547
13548     [id(DISPID_IHTMLWINDOW2_TOSTRING)]
13549     HRESULT toString([retval, out] BSTR *String);
13550
13551     [id(DISPID_IHTMLWINDOW2_SCROLLBY)]
13552     HRESULT scrollBy([in] long x, [in] long y);
13553
13554     [id(DISPID_IHTMLWINDOW2_SCROLLTO)]
13555     HRESULT scrollTo([in] long x, [in] long y);
13556
13557     [id(DISPID_IHTMLWINDOW2_MOVETO)]
13558     HRESULT moveTo([in] long x, [in] long y);
13559
13560     [id(DISPID_IHTMLWINDOW2_MOVEBY)]
13561     HRESULT moveBy([in] long x, [in] long y);
13562
13563     [id(DISPID_IHTMLWINDOW2_RESIZETO)]
13564     HRESULT resizeTo([in] long x, [in] long y);
13565
13566     [id(DISPID_IHTMLWINDOW2_RESIZEBY)]
13567     HRESULT resizeBy([in] long x, [in] long y);
13568
13569     [propget, id(DISPID_IHTMLWINDOW2_EXTERNAL)]
13570     HRESULT external([retval, out] IDispatch **p);
13571 }
13572
13573 /*****************************************************************************
13574  *    IHTMLWindow3 interface
13575  */
13576 [
13577     odl,
13578     oleautomation,
13579     dual,
13580     uuid(3050f4ae-98b5-11cf-bb82-00aa00bdce0b)
13581 ]
13582 interface IHTMLWindow3 : IDispatch
13583 {
13584     [propget, id(DISPID_IHTMLWINDOW3_SCREENLEFT)]
13585     HRESULT screenLeft([out, retval] long *p);
13586
13587     [propget, id(DISPID_IHTMLWINDOW3_SCREENTOP)]
13588     HRESULT screenTop([out, retval] long *p);
13589
13590     [id(DISPID_IHTMLWINDOW3_ATTACHEVENT)]
13591     HRESULT attachEvent(
13592             [in] BSTR event,
13593             [in] IDispatch *pDisp,
13594             [out, retval] VARIANT_BOOL *pfResult);
13595
13596     [id(DISPID_IHTMLWINDOW3_DETACHEVENT)]
13597     HRESULT detachEvent(
13598             [in] BSTR event,
13599             [in] IDispatch *pDisp);
13600
13601     [id(DISPID_IHTMLWINDOW3_SETTIMEOUT)]
13602     HRESULT setTimeout(
13603             [in] VARIANT *expression,
13604             [in] long msec,
13605             [in, optional] VARIANT *language,
13606             [out, retval] long *timerID);
13607
13608     [id(DISPID_IHTMLWINDOW3_SETINTERVAL)]
13609     HRESULT setInterval(
13610             [in] VARIANT *expression,
13611             [in] long msec,
13612             [in, optional] VARIANT *language,
13613             [out, retval] long *timerID);
13614
13615     [id(DISPID_IHTMLWINDOW3_PRINT)]
13616     HRESULT print();
13617
13618     [propput, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
13619     HRESULT onbeforeprint([in] VARIANT v);
13620
13621     [propget, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
13622     HRESULT onbeforeprint([out, retval] VARIANT *p);
13623
13624     [propput, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
13625     HRESULT onafterprint([in] VARIANT v);
13626
13627     [propget, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
13628     HRESULT onafterprint([out, retval] VARIANT *p);
13629
13630     [propget, id(DISPID_IHTMLWINDOW3_CLIPBOARDDATA)]
13631     HRESULT clipboardData([out, retval] IHTMLDataTransfer **p);
13632
13633     [id(DISPID_IHTMLWINDOW3_SHOWMODELESSDIALOG)]
13634     HRESULT showModelessDialog(
13635             [in, defaultvalue("")] BSTR url,
13636             [in, optional] VARIANT *varArgIn,
13637             [in, optional] VARIANT *options,
13638             [out, retval] IHTMLWindow2 **pDialog);
13639 }
13640
13641 /*****************************************************************************
13642  *    DispHTMLWindow2 dispinterface
13643  */
13644 [
13645     hidden,
13646     uuid(3050f55d-98b5-11cf-bb82-00aa00bdce0b)
13647 ]
13648 dispinterface DispHTMLWindow2
13649 {
13650 properties:
13651 methods:
13652     [id(DISPID_IHTMLFRAMESCOLLECTION2_ITEM)]
13653     VARIANT item([in] VARIANT *pvarIndex);
13654
13655     [propget, id(DISPID_IHTMLFRAMESCOLLECTION2_LENGTH)]
13656     long length();
13657
13658     [propget, id(DISPID_IHTMLWINDOW2_FRAMES)]
13659     IHTMLFramesCollection2 *frames();
13660
13661     [propput, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
13662     void defaultStatus(BSTR v);
13663
13664     [propget, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
13665     BSTR defaultStatus();
13666
13667     [propput, id(DISPID_IHTMLWINDOW2_STATUS)]
13668     void status(BSTR v);
13669
13670     [propget, id(DISPID_IHTMLWINDOW2_STATUS)]
13671     BSTR status();
13672
13673     [id(DISPID_IHTMLWINDOW2_CLEARTIMEOUT)]
13674     void clearTimeout([in] long timerID);
13675
13676     [id(DISPID_IHTMLWINDOW2_ALERT)]
13677     void alert([in, defaultvalue("")] BSTR message);
13678
13679     [id(DISPID_IHTMLWINDOW2_CONFIRM)]
13680     VARIANT_BOOL confirm([in, defaultvalue("")] BSTR message);
13681
13682     [id(DISPID_IHTMLWINDOW2_PROMPT)]
13683     VARIANT prompt(
13684             [in, defaultvalue("")] BSTR message,
13685             [in, defaultvalue("undefined")] BSTR defstr);
13686
13687     [propget, id(DISPID_IHTMLWINDOW2_IMAGE)]
13688     IHTMLImageElementFactory *Image();
13689
13690     [propget, id(DISPID_IHTMLWINDOW2_LOCATION)]
13691     IHTMLLocation *location();
13692
13693     [propget, id(DISPID_IHTMLWINDOW2_HISTORY)]
13694     IOmHistory *history();
13695
13696     [id(DISPID_IHTMLWINDOW2_CLOSE)]
13697     void close();
13698
13699     [propput, id(DISPID_IHTMLWINDOW2_OPENER)]
13700     void opener(VARIANT v);
13701
13702     [propget, id(DISPID_IHTMLWINDOW2_OPENER)]
13703     VARIANT opener();
13704
13705     [propget, id(DISPID_IHTMLWINDOW2_NAVIGATOR)]
13706     IOmNavigator *navigator();
13707
13708     [propput, id(DISPID_IHTMLWINDOW2_NAME)]
13709     void name(BSTR v);
13710
13711     [propget, id(DISPID_IHTMLWINDOW2_NAME)]
13712     BSTR name();
13713
13714     [propget, id(DISPID_IHTMLWINDOW2_PARENT)]
13715     IHTMLWindow2 *parent();
13716
13717     [id(DISPID_IHTMLWINDOW2_OPEN)]
13718     IHTMLWindow2 *open(
13719             [in, defaultvalue("")] BSTR url,
13720             [in, defaultvalue("")] BSTR name,
13721             [in, defaultvalue("")] BSTR features,
13722             [in, defaultvalue(0)]  VARIANT_BOOL replace);
13723
13724     [propget, id(DISPID_IHTMLWINDOW2_SELF)]
13725     IHTMLWindow2 *self();
13726
13727     [propget, id(DISPID_IHTMLWINDOW2_TOP)]
13728     IHTMLWindow2 *top();
13729
13730     [propget, id(DISPID_IHTMLWINDOW2_WINDOW)]
13731     IHTMLWindow2 *window();
13732
13733     [id(DISPID_IHTMLWINDOW2_NAVIGATE)]
13734     void navigate([in] BSTR url);
13735
13736     [propput, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
13737     void onfocus(VARIANT v);
13738
13739     [propget, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
13740     VARIANT onfocus();
13741
13742     [propput, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
13743     void onblur(VARIANT v);
13744
13745     [propget, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
13746     VARIANT onblur();
13747
13748     [propget, id(DISPID_IHTMLWINDOW2_ONLOAD), displaybind, bindable]
13749     VARIANT onload();
13750
13751     [propput, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
13752     void onbeforeunload(VARIANT v);
13753
13754     [propget, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
13755     VARIANT onbeforeunload();
13756
13757     [propput, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
13758     void onunload(VARIANT v);
13759
13760     [propget, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
13761     VARIANT onunload();
13762
13763     [propput, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
13764     void onhelp(VARIANT v);
13765
13766     [propget, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
13767     VARIANT onhelp();
13768
13769     [propput, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
13770     void onerror(VARIANT v);
13771
13772     [propget, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
13773     VARIANT onerror();
13774
13775     [propput, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
13776     void onresize(VARIANT v);
13777
13778     [propget, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
13779     VARIANT onresize();
13780
13781     [propput, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
13782     void onscroll(VARIANT v);
13783
13784     [propget, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
13785     VARIANT onscroll();
13786
13787     [propget, id(DISPID_IHTMLWINDOW2_DOCUMENT), source]
13788     IHTMLDocument2 *document();
13789
13790     [propget, id(DISPID_IHTMLWINDOW2_EVENT)]
13791     IHTMLEventObj *event();
13792
13793     [propget, id(DISPID_IHTMLWINDOW2__NEWENUM), hidden, restricted]
13794     IUnknown *_newEnum();
13795
13796     [id(DISPID_IHTMLWINDOW2_SHOWMODALDIALOG)]
13797     VARIANT showModalDialog(
13798             [in] BSTR dialog,
13799             [in, optional] VARIANT *varArgIn,
13800             [in, optional] VARIANT *varOptions);
13801
13802     [id(DISPID_IHTMLWINDOW2_SHOWHELP)]
13803     void showHelp(
13804             [in] BSTR helpURL,
13805             [in, optional] VARIANT helpArg,
13806             [in, defaultvalue("")] BSTR features);
13807
13808     [propget, id(DISPID_IHTMLWINDOW2_SCREEN)]
13809     IHTMLScreen *screen();
13810
13811     [propget, id(DISPID_IHTMLWINDOW2_OPTION)]
13812     IHTMLOptionElementFactory *Option();
13813
13814     [id(DISPID_IHTMLWINDOW2_FOCUS)]
13815     void focus();
13816
13817     [propget, id(DISPID_IHTMLWINDOW2_CLOSED)]
13818     VARIANT_BOOL closed();
13819
13820     [id(DISPID_IHTMLWINDOW2_BLUR)]
13821     void blur();
13822
13823     [id(DISPID_IHTMLWINDOW2_SCROLL)]
13824     void scroll([in] long x, [in] long y);
13825
13826     [propget, id(DISPID_IHTMLWINDOW2_CLIENTINFORMATION)]
13827     IOmNavigator *clientInformation();
13828
13829     [id(DISPID_IHTMLWINDOW2_CLEARINTERVAL)]
13830     void clearInterval([in] long timerID);
13831
13832     [propput, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
13833     void offscreenBuffering(VARIANT v);
13834
13835     [propget, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
13836     VARIANT offscreenBuffering();
13837
13838     [id(DISPID_IHTMLWINDOW2_EXECSCRIPT)]
13839     VARIANT execScript(
13840             [in] BSTR _code,
13841             [in, defaultvalue("JScript")] BSTR language);
13842
13843     [id(DISPID_IHTMLWINDOW2_TOSTRING)]
13844     BSTR toString();
13845
13846     [id(DISPID_IHTMLWINDOW2_SCROLLBY)]
13847     void scrollBy([in] long x, [in] long y);
13848
13849     [id(DISPID_IHTMLWINDOW2_SCROLLTO)]
13850     void scrollTo([in] long x, [in] long y);
13851
13852     [id(DISPID_IHTMLWINDOW2_MOVETO)]
13853     void moveTo([in] long x, [in] long y);
13854
13855     [id(DISPID_IHTMLWINDOW2_MOVEBY)]
13856     void moveBy([in] long x, [in] long y);
13857
13858     [id(DISPID_IHTMLWINDOW2_RESIZETO)]
13859     void resizeTo([in] long x, [in] long y);
13860
13861     [id(DISPID_IHTMLWINDOW2_RESIZEBY)]
13862     void resizeBy([in] long x, [in] long y);
13863
13864     [propget, id(DISPID_IHTMLWINDOW2_EXTERNAL)]
13865     IDispatch *external();
13866
13867     [propget, id(DISPID_IHTMLWINDOW3_SCREENLEFT)]
13868     long screenLeft();
13869
13870     [propget, id(DISPID_IHTMLWINDOW3_SCREENTOP)]
13871     long screenTop();
13872
13873     [id(DISPID_IHTMLWINDOW3_ATTACHEVENT)]
13874     VARIANT_BOOL attachEvent(
13875              [in] BSTR event,
13876              [in] IDispatch *pDisp);
13877
13878     [id(DISPID_IHTMLWINDOW3_DETACHEVENT)]
13879     void detachEvent(
13880             [in] BSTR event,
13881             [in] IDispatch *pDisp);
13882
13883     [id(DISPID_IHTMLWINDOW3_SETTIMEOUT)]
13884     long setTimeout(
13885             [in] VARIANT *expression,
13886             [in] long msec,
13887             [in, optional] VARIANT *language);
13888
13889     [id(DISPID_IHTMLWINDOW3_SETINTERVAL)]
13890     long setInterval(
13891             [in] VARIANT *expression,
13892             [in] long msec,
13893             [in, optional] VARIANT *language);
13894
13895     [id(DISPID_IHTMLWINDOW3_PRINT)]
13896     void print();
13897
13898     [propput, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
13899     void onbeforeprint(VARIANT v);
13900
13901     [propget, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
13902     VARIANT onbeforeprint();
13903
13904     [propput, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
13905     void onafterprint(VARIANT v);
13906
13907     [propget, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
13908     VARIANT onafterprint();
13909
13910     [propget, id(DISPID_IHTMLWINDOW3_CLIPBOARDDATA)]
13911     IHTMLDataTransfer *clipboardData();
13912
13913     [id(DISPID_IHTMLWINDOW3_SHOWMODELESSDIALOG)]
13914     IHTMLWindow2 *showModelessDialog(
13915             [in, defaultvalue("")] BSTR url,
13916             [in, optional] VARIANT *varArgIn,
13917             [in, optional] VARIANT *options);
13918
13919     [id(DISPID_IHTMLWINDOW4_CREATEPOPUP)]
13920     IDispatch *createPopup([in, optional] VARIANT *varArgIn);
13921
13922     [propget, id(DISPID_IHTMLWINDOW4_FRAMEELEMENT)]
13923     IHTMLFrameBase *frameElement();
13924 }
13925
13926 /*****************************************************************************
13927  *    HTMLDocumentEvents2 interface
13928  */
13929 [
13930     hidden,
13931     uuid(3050f613-98b5-11cf-bb82-00aa00bdce0b)
13932 ]
13933 dispinterface HTMLDocumentEvents2
13934 {
13935     properties:
13936     methods:
13937     [id(DISPID_HTMLDOCUMENTEVENTS2_ONHELP)]
13938     VARIANT_BOOL onhelp([in] IHTMLEventObj *pEvtObj);
13939
13940     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCLICK)]
13941     VARIANT_BOOL onclick([in] IHTMLEventObj *pEvtObj);
13942
13943     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDBLCLICK)]
13944     VARIANT_BOOL ondblclick([in] IHTMLEventObj *pEvtObj);
13945
13946     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYDOWN)]
13947     void onkeydown([in] IHTMLEventObj *pEvtObj);
13948
13949     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYUP)]
13950     void onkeyup([in] IHTMLEventObj *pEvtObj);
13951
13952     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYPRESS)]
13953     VARIANT_BOOL onkeypress([in] IHTMLEventObj *pEvtObj);
13954
13955     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEDOWN)]
13956     void onmousedown([in] IHTMLEventObj *pEvtObj);
13957
13958     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEMOVE)]
13959     void onmousemove([in] IHTMLEventObj *pEvtObj);
13960
13961     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEUP)]
13962     void onmouseup([in] IHTMLEventObj *pEvtObj);
13963
13964     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEOUT)]
13965     void onmouseout([in] IHTMLEventObj *pEvtObj);
13966
13967     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEOVER)]
13968     void onmouseover([in] IHTMLEventObj *pEvtObj);
13969
13970     [id(DISPID_HTMLDOCUMENTEVENTS2_ONREADYSTATECHANGE)]
13971     void onreadystatechange([in] IHTMLEventObj *pEvtObj);
13972
13973     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREUPDATE)]
13974     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj *pEvtObj);
13975
13976     [id(DISPID_HTMLDOCUMENTEVENTS2_ONAFTERUPDATE)]
13977     void onafterupdate([in] IHTMLEventObj *pEvtObj);
13978
13979     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWEXIT)]
13980     VARIANT_BOOL onrowexit([in] IHTMLEventObj *pEvtObj);
13981
13982     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWENTER)]
13983     void onrowenter([in] IHTMLEventObj *pEvtObj);
13984
13985     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDRAGSTART)]
13986     VARIANT_BOOL ondragstart([in] IHTMLEventObj *pEvtObj);
13987
13988     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSELECTSTART)]
13989     VARIANT_BOOL onselectstart([in] IHTMLEventObj *pEvtObj);
13990
13991     [id(DISPID_HTMLDOCUMENTEVENTS2_ONERRORUPDATE)]
13992     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj *pEvtObj);
13993
13994     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCONTEXTMENU)]
13995     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj *pEvtObj);
13996
13997     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSTOP)]
13998     VARIANT_BOOL onstop([in] IHTMLEventObj *pEvtObj);
13999
14000     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWSDELETE)]
14001     void onrowsdelete([in] IHTMLEventObj *pEvtObj);
14002
14003     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWSINSERTED)]
14004     void onrowsinserted([in] IHTMLEventObj *pEvtObj);
14005
14006     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCELLCHANGE)]
14007     void oncellchange([in] IHTMLEventObj *pEvtObj);
14008
14009     [id(DISPID_HTMLDOCUMENTEVENTS2_ONPROPERTYCHANGE)]
14010     void onpropertychange([in] IHTMLEventObj *pEvtObj);
14011
14012     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATASETCHANGED)]
14013     void ondatasetchanged([in] IHTMLEventObj *pEvtObj);
14014
14015     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATAAVAILABLE)]
14016     void ondataavailable([in] IHTMLEventObj *pEvtObj);
14017
14018     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATASETCOMPLETE)]
14019     void ondatasetcomplete([in] IHTMLEventObj *pEvtObj);
14020
14021     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREEDITFOCUS)]
14022     void onbeforeeditfocus([in] IHTMLEventObj *pEvtObj);
14023
14024     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSELECTIONCHANGE)]
14025     void onselectionchange([in] IHTMLEventObj *pEvtObj);
14026
14027     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCONTROLSELECT)]
14028     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj *pEvtObj);
14029
14030     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEWHEEL)]
14031     VARIANT_BOOL onmousewheel([in] IHTMLEventObj *pEvtObj);
14032
14033     [id(DISPID_HTMLDOCUMENTEVENTS2_ONFOCUSIN)]
14034     void onfocusin([in] IHTMLEventObj *pEvtObj);
14035
14036     [id(DISPID_HTMLDOCUMENTEVENTS2_ONFOCUSOUT)]
14037     void onfocusout([in] IHTMLEventObj *pEvtObj);
14038
14039     [id(DISPID_HTMLDOCUMENTEVENTS2_ONACTIVATE)]
14040     void onactivate([in] IHTMLEventObj *pEvtObj);
14041
14042     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDEACTIVATE)]
14043     void ondeactivate([in] IHTMLEventObj *pEvtObj);
14044
14045     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREACTIVATE)]
14046     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj *pEvtObj);
14047
14048     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREDEACTIVATE)]
14049     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj *pEvtObj);
14050 }
14051
14052 /*****************************************************************************
14053  *    HTMLDocumentEvents interface
14054  */
14055 [
14056     hidden,
14057     uuid(3050f260-98b5-11cf-bb82-00aa00bdce0b)
14058 ]
14059 dispinterface HTMLDocumentEvents
14060 {
14061     properties:
14062     methods:
14063     [id(DISPID_HTMLDOCUMENTEVENTS_ONHELP)]
14064     VARIANT_BOOL onhelp();
14065
14066     [id(DISPID_HTMLDOCUMENTEVENTS_ONCLICK)]
14067     VARIANT_BOOL onclick();
14068
14069     [id(DISPID_HTMLDOCUMENTEVENTS_ONDBLCLICK)]
14070     VARIANT_BOOL ondblclick();
14071
14072     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYDOWN)]
14073     void onkeydown();
14074
14075     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYUP)]
14076     void onkeyup();
14077
14078     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYPRESS)]
14079     VARIANT_BOOL onkeypress();
14080
14081     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEDOWN)]
14082     void onmousedown();
14083
14084     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEMOVE)]
14085     void onmousemove();
14086
14087     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEUP)]
14088     void onmouseup();
14089
14090     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEOUT)]
14091     void onmouseout();
14092
14093     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEOVER)]
14094     void onmouseover();
14095
14096     [id(DISPID_HTMLDOCUMENTEVENTS_ONREADYSTATECHANGE)]
14097     void onreadystatechange();
14098
14099     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREUPDATE)]
14100     VARIANT_BOOL onbeforeupdate();
14101
14102     [id(DISPID_HTMLDOCUMENTEVENTS_ONAFTERUPDATE)]
14103     void onafterupdate();
14104
14105     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWEXIT)]
14106     VARIANT_BOOL onrowexit();
14107
14108     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWENTER)]
14109     void onrowenter();
14110
14111     [id(DISPID_HTMLDOCUMENTEVENTS_ONDRAGSTART)]
14112     VARIANT_BOOL ondragstart();
14113
14114     [id(DISPID_HTMLDOCUMENTEVENTS_ONSELECTSTART)]
14115     VARIANT_BOOL onselectstart();
14116
14117     [id(DISPID_HTMLDOCUMENTEVENTS_ONERRORUPDATE)]
14118     VARIANT_BOOL onerrorupdate();
14119
14120     [id(DISPID_HTMLDOCUMENTEVENTS_ONCONTEXTMENU)]
14121     VARIANT_BOOL oncontextmenu();
14122
14123     [id(DISPID_HTMLDOCUMENTEVENTS_ONSTOP)]
14124     VARIANT_BOOL onstop();
14125
14126     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWSDELETE)]
14127     void onrowsdelete();
14128
14129     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWSINSERTED)]
14130     void onrowsinserted();
14131
14132     [id(DISPID_HTMLDOCUMENTEVENTS_ONCELLCHANGE)]
14133     void oncellchange();
14134
14135     [id(DISPID_HTMLDOCUMENTEVENTS_ONPROPERTYCHANGE)]
14136     void onpropertychange();
14137
14138     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATASETCHANGED)]
14139     void ondatasetchanged();
14140
14141     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATAAVAILABLE)]
14142     void ondataavailable();
14143
14144     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATASETCOMPLETE)]
14145     void ondatasetcomplete();
14146
14147     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREEDITFOCUS)]
14148     void onbeforeeditfocus();
14149
14150     [id(DISPID_HTMLDOCUMENTEVENTS_ONSELECTIONCHANGE)]
14151     void onselectionchange();
14152
14153     [id(DISPID_HTMLDOCUMENTEVENTS_ONCONTROLSELECT)]
14154     VARIANT_BOOL oncontrolselect();
14155
14156     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEWHEEL)]
14157     VARIANT_BOOL onmousewheel();
14158
14159     [id(DISPID_HTMLDOCUMENTEVENTS_ONFOCUSIN)]
14160     void onfocusin();
14161
14162     [id(DISPID_HTMLDOCUMENTEVENTS_ONFOCUSOUT)]
14163     void onfocusout();
14164
14165     [id(DISPID_HTMLDOCUMENTEVENTS_ONACTIVATE)]
14166     void onactivate();
14167
14168     [id(DISPID_HTMLDOCUMENTEVENTS_ONDEACTIVATE)]
14169     void ondeactivate();
14170
14171     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREACTIVATE)]
14172     VARIANT_BOOL onbeforeactivate();
14173
14174     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREDEACTIVATE)]
14175     VARIANT_BOOL onbeforedeactivate();
14176 }
14177
14178 /*****************************************************************************
14179  *    HTMLTextContainerEvents interface
14180  */
14181 [
14182     hidden,
14183     uuid(1ff6aa72-5842-11cf-a707-00aa00c0098d)
14184 ]
14185 dispinterface HTMLTextContainerEvents
14186 {
14187 properties:
14188
14189 methods:
14190     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
14191     VARIANT_BOOL onhelp();
14192
14193     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
14194     VARIANT_BOOL onclick();
14195
14196     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
14197     VARIANT_BOOL ondblclick();
14198
14199     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
14200     VARIANT_BOOL onkeypress();
14201
14202     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
14203     void onkeydown();
14204
14205     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
14206     void onkeyup();
14207
14208     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
14209     void onmouseout();
14210
14211     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
14212     void onmouseover();
14213
14214     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
14215     void onmousemove();
14216
14217     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
14218     void onmousedown();
14219
14220     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
14221     void onmouseup();
14222
14223     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
14224     VARIANT_BOOL onselectstart();
14225
14226     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
14227     void onfilterchange();
14228
14229     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
14230     VARIANT_BOOL ondragstart();
14231
14232     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
14233     VARIANT_BOOL onbeforeupdate();
14234
14235     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
14236     void onafterupdate();
14237
14238     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
14239     VARIANT_BOOL onerrorupdate();
14240
14241     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
14242     VARIANT_BOOL onrowexit();
14243
14244     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
14245     void onrowenter();
14246
14247     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
14248     void ondatasetchanged();
14249
14250     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
14251     void ondataavailable();
14252
14253     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
14254     void ondatasetcomplete();
14255
14256     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
14257     void onlosecapture();
14258
14259     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
14260     void onpropertychange();
14261
14262     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
14263     void onscroll();
14264
14265     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
14266     void onfocus();
14267
14268     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
14269     void onblur();
14270
14271     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
14272     void onresize();
14273
14274     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
14275     VARIANT_BOOL ondrag();
14276
14277     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
14278     void ondragend();
14279
14280     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
14281     VARIANT_BOOL ondragenter();
14282
14283     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
14284     VARIANT_BOOL ondragover();
14285
14286     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
14287     void ondragleave();
14288
14289     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
14290     VARIANT_BOOL ondrop();
14291
14292     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
14293     VARIANT_BOOL onbeforecut();
14294
14295     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
14296     VARIANT_BOOL oncut();
14297
14298     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
14299     VARIANT_BOOL onbeforecopy();
14300
14301     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
14302     VARIANT_BOOL oncopy();
14303
14304     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
14305     VARIANT_BOOL onbeforepaste();
14306
14307     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
14308     VARIANT_BOOL onpaste();
14309
14310     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
14311     VARIANT_BOOL oncontextmenu();
14312
14313     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
14314     void onrowsdelete();
14315
14316     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
14317     void onrowsinserted();
14318
14319     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
14320     void oncellchange();
14321
14322     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
14323     void onreadystatechange();
14324
14325     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
14326     void onbeforeeditfocus();
14327
14328     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
14329     void onlayoutcomplete();
14330
14331     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
14332     void onpage();
14333
14334     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
14335     VARIANT_BOOL onbeforedeactivate();
14336
14337     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
14338     VARIANT_BOOL onbeforeactivate();
14339
14340     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
14341     void onmove();
14342
14343     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
14344     VARIANT_BOOL oncontrolselect();
14345
14346     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
14347     VARIANT_BOOL onmovestart();
14348
14349     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
14350     void onmoveend();
14351
14352     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
14353     VARIANT_BOOL onresizestart();
14354
14355     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
14356     void onresizeend();
14357
14358     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
14359     void onmouseenter();
14360
14361     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
14362     void onmouseleave();
14363
14364     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
14365     VARIANT_BOOL onmousewheel();
14366
14367     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
14368     void onactivate();
14369
14370     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
14371     void ondeactivate();
14372
14373     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
14374     void onfocusin();
14375
14376     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
14377     void onfocusout();
14378
14379     [id(DISPID_HTMLTEXTCONTAINEREVENTS_ONCHANGE)]
14380     void onchange();
14381
14382     [id(DISPID_HTMLTEXTCONTAINEREVENTS_ONSELECT)]
14383     void onselect();
14384 };
14385
14386 /*****************************************************************************
14387  *    HTMLTextContainerEvents2 interface
14388  */
14389 [
14390     hidden,
14391     uuid(3050f624-98b5-11cf-bb82-00aa00bdce0b)
14392 ]
14393 dispinterface HTMLTextContainerEvents2
14394 {
14395 properties:
14396 methods:
14397     [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)]
14398     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
14399
14400     [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)]
14401     VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
14402
14403     [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)]
14404     VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
14405
14406     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)]
14407     VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
14408
14409     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)]
14410     void onkeydown([in] IHTMLEventObj* pEvtObj);
14411
14412     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)]
14413     void onkeyup([in] IHTMLEventObj* pEvtObj);
14414
14415     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)]
14416     void onmouseout([in] IHTMLEventObj* pEvtObj);
14417
14418     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)]
14419     void onmouseover([in] IHTMLEventObj* pEvtObj);
14420
14421     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)]
14422     void onmousemove([in] IHTMLEventObj* pEvtObj);
14423
14424     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)]
14425     void onmousedown([in] IHTMLEventObj* pEvtObj);
14426
14427     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)]
14428     void onmouseup([in] IHTMLEventObj* pEvtObj);
14429
14430     [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)]
14431     VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
14432
14433     [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)]
14434     void onfilterchange([in] IHTMLEventObj* pEvtObj);
14435
14436     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)]
14437     VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
14438
14439     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)]
14440     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
14441
14442     [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)]
14443     void onafterupdate([in] IHTMLEventObj* pEvtObj);
14444
14445     [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)]
14446     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
14447
14448     [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)]
14449     VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
14450
14451     [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)]
14452     void onrowenter([in] IHTMLEventObj* pEvtObj);
14453
14454     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)]
14455     void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
14456
14457     [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)]
14458     void ondataavailable([in] IHTMLEventObj* pEvtObj);
14459
14460     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)]
14461     void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
14462
14463     [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)]
14464     void onlosecapture([in] IHTMLEventObj* pEvtObj);
14465
14466     [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)]
14467     void onpropertychange([in] IHTMLEventObj* pEvtObj);
14468
14469     [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)]
14470     void onscroll([in] IHTMLEventObj* pEvtObj);
14471
14472     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)]
14473     void onfocus([in] IHTMLEventObj* pEvtObj);
14474
14475     [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)]
14476     void onblur([in] IHTMLEventObj* pEvtObj);
14477
14478     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)]
14479     void onresize([in] IHTMLEventObj* pEvtObj);
14480
14481     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)]
14482     VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
14483
14484     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)]
14485     void ondragend([in] IHTMLEventObj* pEvtObj);
14486
14487     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)]
14488     VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
14489
14490     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)]
14491     VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
14492
14493     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)]
14494     void ondragleave([in] IHTMLEventObj* pEvtObj);
14495
14496     [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)]
14497     VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
14498
14499     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)]
14500     VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
14501
14502     [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)]
14503     VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
14504
14505     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)]
14506     VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
14507
14508     [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)]
14509     VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
14510
14511     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)]
14512     VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
14513
14514     [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)]
14515     VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
14516
14517     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)]
14518     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
14519
14520     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)]
14521     void onrowsdelete([in] IHTMLEventObj* pEvtObj);
14522
14523     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)]
14524     void onrowsinserted([in] IHTMLEventObj* pEvtObj);
14525
14526     [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)]
14527     void oncellchange([in] IHTMLEventObj* pEvtObj);
14528
14529     [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)]
14530     void onreadystatechange([in] IHTMLEventObj* pEvtObj);
14531
14532     [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)]
14533     void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
14534
14535     [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)]
14536     void onpage([in] IHTMLEventObj* pEvtObj);
14537
14538     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)]
14539     void onmouseenter([in] IHTMLEventObj* pEvtObj);
14540
14541     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)]
14542     void onmouseleave([in] IHTMLEventObj* pEvtObj);
14543
14544     [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)]
14545     void onactivate([in] IHTMLEventObj* pEvtObj);
14546
14547     [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)]
14548     void ondeactivate([in] IHTMLEventObj* pEvtObj);
14549
14550     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)]
14551     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
14552
14553     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)]
14554     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
14555
14556     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)]
14557     void onfocusin([in] IHTMLEventObj* pEvtObj);
14558
14559     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)]
14560     void onfocusout([in] IHTMLEventObj* pEvtObj);
14561
14562     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)]
14563     void onmove([in] IHTMLEventObj* pEvtObj);
14564
14565     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)]
14566     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
14567
14568     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)]
14569     VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
14570
14571     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)]
14572     void onmoveend([in] IHTMLEventObj* pEvtObj);
14573
14574     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)]
14575     VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
14576
14577     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)]
14578     void onresizeend([in] IHTMLEventObj* pEvtObj);
14579
14580     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)]
14581     VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
14582
14583     [id(DISPID_HTMLTEXTCONTAINEREVENTS2_ONCHANGE)]
14584     void onchange([in] IHTMLEventObj* pEvtObj);
14585
14586     [id(DISPID_HTMLTEXTCONTAINEREVENTS2_ONSELECT)]
14587     void onselect([in] IHTMLEventObj* pEvtObj);
14588 };
14589
14590 /*****************************************************************************
14591  *    IHTMLDocument interface
14592  */
14593 [
14594     odl,
14595     oleautomation,
14596     dual,
14597     uuid(626FC520-A41E-11CF-A731-00A0C9082637)
14598 ]
14599 interface IHTMLDocument : IDispatch
14600 {
14601     [propget, id(DISPID_IHTMLDOCUMENT_SCRIPT)]
14602     HRESULT Script([retval, out] IDispatch **p);
14603 }
14604
14605 /*****************************************************************************
14606  *    IHTMLDocument2 interface
14607  */
14608 [
14609     odl,
14610     oleautomation,
14611     dual,
14612     uuid(332C4425-26CB-11D0-B483-00C04FD90119)
14613 ]
14614 interface IHTMLDocument2 : IHTMLDocument
14615 {
14616     [propget, id(DISPID_IHTMLDOCUMENT2_ALL)]
14617     HRESULT all([retval, out] IHTMLElementCollection **p);
14618
14619     [propget, id(DISPID_IHTMLDOCUMENT2_BODY)]
14620     HRESULT body([retval, out] IHTMLElement **p);
14621
14622     [propget, id(DISPID_IHTMLDOCUMENT2_ACTIVEELEMENT)]
14623     HRESULT activeElement([retval, out] IHTMLElement **p);
14624
14625     [propget, id(DISPID_IHTMLDOCUMENT2_IMAGES)]
14626     HRESULT images([retval, out] IHTMLElementCollection **p);
14627
14628     [propget, id(DISPID_IHTMLDOCUMENT2_APPLETS)]
14629     HRESULT applets([retval, out] IHTMLElementCollection **p);
14630
14631     [propget, id(DISPID_IHTMLDOCUMENT2_LINKS)]
14632     HRESULT links([retval, out] IHTMLElementCollection **p);
14633
14634     [propget, id(DISPID_IHTMLDOCUMENT2_FORMS)]
14635     HRESULT forms([retval, out] IHTMLElementCollection **p);
14636
14637     [propget, id(DISPID_IHTMLDOCUMENT2_ANCHORS)]
14638     HRESULT anchors([retval, out] IHTMLElementCollection **p);
14639
14640     [propput, id(DISPID_IHTMLDOCUMENT2_TITLE)]
14641     HRESULT title([in] BSTR v);
14642
14643     [propget, id(DISPID_IHTMLDOCUMENT2_TITLE)]
14644     HRESULT title([retval, out] BSTR *p);
14645
14646     [propget, id(DISPID_IHTMLDOCUMENT2_SCRIPTS)]
14647     HRESULT scripts([retval, out] IHTMLElementCollection **p);
14648
14649     [propput, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE)]
14650     HRESULT designMode([in] BSTR v);
14651
14652     [propget, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE)]
14653     HRESULT designMode([retval, out] BSTR *p);
14654
14655     [propget, id(DISPID_IHTMLDOCUMENT2_SELECTION)]
14656     HRESULT selection([retval, out] IHTMLSelectionObject **p);
14657
14658     [propget, id(DISPID_IHTMLDOCUMENT2_READYSTATE)]
14659      HRESULT readyState([retval, out] BSTR *p);
14660
14661     [propget, id(DISPID_IHTMLDOCUMENT2_FRAMES)]
14662     HRESULT frames([retval, out] IHTMLFramesCollection2 **p);
14663
14664     [propget, id(DISPID_IHTMLDOCUMENT2_EMBEDS)]
14665     HRESULT embeds([retval, out] IHTMLElementCollection **p);
14666
14667     [propget, id(DISPID_IHTMLDOCUMENT2_PLUGINS)]
14668     HRESULT plugins([retval, out] IHTMLElementCollection **p);
14669
14670     [propput, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
14671     HRESULT alinkColor([in] VARIANT v);
14672
14673     [propget, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
14674     HRESULT alinkColor([retval, out] VARIANT *p);
14675
14676     [propput, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
14677     HRESULT bgColor([in] VARIANT v);
14678
14679     [propget, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
14680     HRESULT bgColor([retval, out] VARIANT *p);
14681
14682     [propput, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
14683     HRESULT fgColor([in] VARIANT v);
14684
14685     [propget, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
14686     HRESULT fgColor([retval, out] VARIANT *p);
14687
14688     [propput, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
14689     HRESULT linkColor([in] VARIANT v);
14690
14691     [propget, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
14692     HRESULT linkColor([retval, out] VARIANT *p);
14693
14694     [propput, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
14695     HRESULT vlinkColor([in] VARIANT v);
14696
14697     [propget, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
14698     HRESULT vlinkColor([retval, out] VARIANT *p);
14699
14700     [propget, id(DISPID_IHTMLDOCUMENT2_REFERRER)]
14701     HRESULT referrer([retval, out] BSTR *p);
14702
14703     [propget, id(DISPID_IHTMLDOCUMENT2_LOCATION)]
14704     HRESULT location([retval, out] IHTMLLocation **p);
14705
14706     [propget, id(DISPID_IHTMLDOCUMENT2_LASTMODIFIED)]
14707     HRESULT lastModified([retval, out] BSTR *p);
14708
14709     [propput, id(DISPID_IHTMLDOCUMENT2_URL)]
14710     HRESULT URL([in] BSTR v);
14711
14712     [propget, id(DISPID_IHTMLDOCUMENT2_URL)]
14713     HRESULT URL([retval, out] BSTR *p);
14714
14715     [propput, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
14716     HRESULT domain([in] BSTR v);
14717
14718     [propget, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
14719     HRESULT domain([retval, out] BSTR *p);
14720
14721     [propput, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
14722     HRESULT cookie([in] BSTR v);
14723
14724     [propget, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
14725     HRESULT cookie([retval, out] BSTR *p);
14726
14727     [propput, id(DISPID_IHTMLDOCUMENT2_EXPANDO)]
14728     HRESULT expando([in] VARIANT_BOOL v);
14729
14730     [propget, id(DISPID_IHTMLDOCUMENT2_EXPANDO)]
14731     HRESULT expando([retval, out] VARIANT_BOOL *p);
14732
14733     [propput, id(DISPID_IHTMLDOCUMENT2_CHARSET)]
14734      HRESULT charset([in] BSTR v);
14735
14736     [propget, id(DISPID_IHTMLDOCUMENT2_CHARSET)]
14737     HRESULT charset([retval, out] BSTR *p);
14738
14739     [propput, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
14740     HRESULT defaultCharset([in] BSTR v);
14741
14742     [propget, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
14743     HRESULT defaultCharset([retval, out] BSTR *p);
14744
14745     [propget, id(DISPID_IHTMLDOCUMENT2_MIMETYPE)]
14746     HRESULT mimeType([retval, out] BSTR *p);
14747
14748     [propget, id(DISPID_IHTMLDOCUMENT2_FILESIZE)]
14749     HRESULT fileSize([retval, out] BSTR *p);
14750
14751     [propget, id(DISPID_IHTMLDOCUMENT2_FILECREATEDDATE)]
14752     HRESULT fileCreatedDate([retval, out] BSTR *p);
14753
14754     [propget, id(DISPID_IHTMLDOCUMENT2_FILEMODIFIEDDATE)]
14755     HRESULT fileModifiedDate([retval, out] BSTR *p);
14756
14757     [propget, id(DISPID_IHTMLDOCUMENT2_FILEUPDATEDDATE)]
14758     HRESULT fileUpdatedDate([retval, out] BSTR *p);
14759
14760     [propget, id(DISPID_IHTMLDOCUMENT2_SECURITY)]
14761     HRESULT security([retval, out] BSTR *p);
14762
14763     [propget, id(DISPID_IHTMLDOCUMENT2_PROTOCOL)]
14764     HRESULT protocol([retval, out] BSTR *p);
14765
14766     [propget, id(DISPID_IHTMLDOCUMENT2_NAMEPROP)]
14767      HRESULT nameProp([retval, out] BSTR *p);
14768
14769     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITE)]
14770     HRESULT write([in] SAFEARRAY(VARIANT) psarray);
14771
14772     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITELN)]
14773     HRESULT writeln([in] SAFEARRAY(VARIANT) psarray);
14774
14775     [id(DISPID_IHTMLDOCUMENT2_OPEN)]
14776     HRESULT open(
14777         [defaultvalue("text/html"), in] BSTR url,
14778         [optional, in] VARIANT name,
14779         [optional, in] VARIANT features,
14780         [optional, in] VARIANT replace,
14781         [retval, out]  IDispatch **pomWindowResult);
14782
14783     [id(DISPID_IHTMLDOCUMENT2_CLOSE)]
14784     HRESULT close();
14785
14786     [id(DISPID_IHTMLDOCUMENT2_CLEAR)]
14787     HRESULT clear();
14788
14789     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSUPPORTED)]
14790     HRESULT queryCommandSupported(
14791         [in] BSTR cmdID,
14792         [retval, out] VARIANT_BOOL *pfRet);
14793
14794     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDENABLED)]
14795     HRESULT queryCommandEnabled(
14796         [in] BSTR cmdID,
14797         [retval, out] VARIANT_BOOL *pfRet);
14798
14799     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSTATE)]
14800     HRESULT queryCommandState(
14801         [in] BSTR cmdID,
14802         [retval, out] VARIANT_BOOL *pfRet);
14803
14804     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDINDETERM)]
14805     HRESULT queryCommandIndeterm(
14806         [in] BSTR cmdID,
14807         [retval, out] VARIANT_BOOL *pfRet);
14808
14809     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDTEXT)]
14810     HRESULT queryCommandText(
14811         [in] BSTR cmdID,
14812         [retval, out] BSTR *pcmdText);
14813
14814     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDVALUE)]
14815     HRESULT queryCommandValue(
14816         [in] BSTR cmdID,
14817         [retval, out] VARIANT *pcmdValue);
14818
14819     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMAND)]
14820     HRESULT execCommand(
14821         [in] BSTR cmdID,
14822         [defaultvalue(0), in] VARIANT_BOOL showUI,
14823         [optional, in] VARIANT value,
14824         [retval, out] VARIANT_BOOL *pfRet);
14825
14826     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMANDSHOWHELP)]
14827     HRESULT execCommandShowHelp(
14828         [in] BSTR cmdID,
14829         [retval, out] VARIANT_BOOL *pfRet);
14830
14831     [id(DISPID_IHTMLDOCUMENT2_CREATEELEMENT)]
14832      HRESULT createElement(
14833         [in] BSTR eTag,
14834         [retval, out] IHTMLElement **newElem);
14835
14836     [propput, id(DISPID_IHTMLDOCUMENT2_ONHELP)]
14837     HRESULT onhelp([in] VARIANT v);
14838
14839     [propget, id(DISPID_IHTMLDOCUMENT2_ONHELP)]
14840     HRESULT onhelp([retval, out] VARIANT *p);
14841
14842     [propput, id(DISPID_IHTMLDOCUMENT2_ONCLICK)]
14843     HRESULT onclick([in] VARIANT v);
14844
14845     [propget, id(DISPID_IHTMLDOCUMENT2_ONCLICK)]
14846     HRESULT onclick([retval, out] VARIANT *p);
14847
14848     [propput, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK)]
14849     HRESULT ondblclick([in] VARIANT v);
14850
14851     [propget, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK)]
14852     HRESULT ondblclick([retval, out] VARIANT *p);
14853
14854     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYUP)]
14855     HRESULT onkeyup([in] VARIANT v);
14856
14857     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYUP)]
14858     HRESULT onkeyup([retval, out] VARIANT *p);
14859
14860     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN)]
14861     HRESULT onkeydown([in] VARIANT v);
14862
14863     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN)]
14864     HRESULT onkeydown([retval, out] VARIANT *p);
14865
14866     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS)]
14867      HRESULT onkeypress([in] VARIANT v);
14868
14869     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS)]
14870     HRESULT onkeypress([retval, out] VARIANT *p);
14871
14872     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP)]
14873     HRESULT onmouseup([in] VARIANT v);
14874
14875     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP)]
14876     HRESULT onmouseup([retval, out] VARIANT *p);
14877
14878     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN)]
14879     HRESULT onmousedown([in] VARIANT v);
14880
14881     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN)]
14882     HRESULT onmousedown([retval, out] VARIANT *p);
14883
14884     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE)]
14885     HRESULT onmousemove([in] VARIANT v);
14886
14887     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE)]
14888     HRESULT onmousemove([retval, out] VARIANT *p);
14889
14890     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT)]
14891     HRESULT onmouseout([in] VARIANT v);
14892
14893     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT)]
14894     HRESULT onmouseout([retval, out] VARIANT *p);
14895
14896     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER)]
14897     HRESULT onmouseover([in] VARIANT v);
14898
14899     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER)]
14900     HRESULT onmouseover([retval, out] VARIANT *p);
14901
14902     [propput, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE)]
14903     HRESULT onreadystatechange([in] VARIANT v);
14904
14905     [propget, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE)]
14906     HRESULT onreadystatechange([retval, out] VARIANT *p);
14907
14908     [propput, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE)]
14909     HRESULT onafterupdate([in] VARIANT v);
14910
14911     [propget, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE)]
14912     HRESULT onafterupdate([retval, out] VARIANT *p);
14913
14914     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT)]
14915     HRESULT onrowexit([in] VARIANT v);
14916
14917     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT)]
14918     HRESULT onrowexit([retval, out] VARIANT *p);
14919
14920     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWENTER)]
14921     HRESULT onrowenter([in] VARIANT v);
14922
14923     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWENTER)]
14924     HRESULT onrowenter([retval, out] VARIANT *p);
14925
14926     [propput, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART)]
14927     HRESULT ondragstart([in] VARIANT v);
14928
14929     [propget, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART)]
14930     HRESULT ondragstart([retval, out] VARIANT *p);
14931
14932     [propput, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART)]
14933     HRESULT onselectstart([in] VARIANT v);
14934
14935     [propget, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART)]
14936     HRESULT onselectstart([retval, out] VARIANT *p);
14937
14938     [id(DISPID_IHTMLDOCUMENT2_ELEMENTFROMPOINT)]
14939     HRESULT elementFromPoint(
14940         [in] long x,
14941         [in] long y,
14942         [retval, out] IHTMLElement **elementHit);
14943
14944     [propget, id(DISPID_IHTMLDOCUMENT2_PARENTWINDOW)]
14945     HRESULT parentWindow([retval, out] IHTMLWindow2 **p);
14946
14947     [propget, id(DISPID_IHTMLDOCUMENT2_STYLESHEETS)]
14948     HRESULT styleSheets([retval, out] IHTMLStyleSheetsCollection **p);
14949
14950     [propput, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE)]
14951     HRESULT onbeforeupdate([in] VARIANT v);
14952
14953     [propget, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE)]
14954     HRESULT onbeforeupdate([retval, out] VARIANT *p);
14955
14956     [propput, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE)]
14957     HRESULT onerrorupdate([in] VARIANT v);
14958
14959     [propget, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE)]
14960     HRESULT onerrorupdate([retval, out] VARIANT *p);
14961
14962     [id(DISPID_IHTMLDOCUMENT2_TOSTRING)]
14963     HRESULT toString([retval, out] BSTR *String);
14964
14965     [id(DISPID_IHTMLDOCUMENT2_CREATESTYLESHEET)]
14966     HRESULT createStyleSheet(
14967         [defaultvalue(""), in] BSTR bstrHref,
14968         [defaultvalue(-1), in] long lIndex,
14969         [retval, out] IHTMLStyleSheet **ppnewStyleSheet);
14970 }
14971
14972 /*****************************************************************************
14973  *    IHTMLDocument3 interface
14974  */
14975 [
14976     odl,
14977     oleautomation,
14978     dual,
14979     uuid(3050f485-98b5-11cf-bb82-00aa00bdce0b)
14980 ]
14981 interface IHTMLDocument3 : IDispatch
14982 {
14983     [id(DISPID_IHTMLDOCUMENT3_RELEASECAPTURE)]
14984     HRESULT releaseCapture();
14985
14986     [id(DISPID_IHTMLDOCUMENT3_RECALC)]
14987     HRESULT recalc([defaultvalue(0), in] VARIANT_BOOL fForce);
14988
14989     [id(DISPID_IHTMLDOCUMENT3_CREATETEXTNODE)]
14990     HRESULT createTextNode(
14991         [in] BSTR text,
14992         [retval, out] IHTMLDOMNode **newTextNode);
14993
14994     [propget, id(DISPID_IHTMLDOCUMENT3_DOCUMENTELEMENT)]
14995     HRESULT documentElement([retval, out] IHTMLElement **p);
14996
14997     [propget, id(DISPID_IHTMLDOCUMENT3_UNIQUEID), hidden]
14998     HRESULT uniqueID([retval, out] BSTR *p);
14999
15000     [id(DISPID_IHTMLDOCUMENT3_ATTACHEVENT)]
15001     HRESULT attachEvent(
15002         [in] BSTR event,
15003         [in] IDispatch* pDisp,
15004         [retval, out] VARIANT_BOOL *pfResult);
15005
15006     [id(DISPID_IHTMLDOCUMENT3_DETACHEVENT)]
15007     HRESULT detachEvent(
15008         [in] BSTR event,
15009         [in] IDispatch *pDisp);
15010
15011     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
15012     HRESULT onrowsdelete([in] VARIANT v);
15013
15014     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
15015     HRESULT onrowsdelete([retval, out] VARIANT *p);
15016
15017     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
15018     HRESULT onrowsinserted([in] VARIANT v);
15019
15020     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
15021     HRESULT onrowsinserted([retval, out] VARIANT *p);
15022
15023     [propput, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
15024     HRESULT oncellchange([in] VARIANT v);
15025
15026     [propget, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
15027     HRESULT oncellchange([retval, out] VARIANT *p);
15028
15029     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
15030     HRESULT ondatasetchanged([in] VARIANT v);
15031
15032     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
15033     HRESULT ondatasetchanged([retval, out] VARIANT *p);
15034
15035     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
15036     HRESULT ondataavailable([in] VARIANT v);
15037
15038     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
15039     HRESULT ondataavailable([retval, out] VARIANT * p);
15040
15041     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
15042     HRESULT ondatasetcomplete([in] VARIANT v);
15043
15044     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
15045     HRESULT ondatasetcomplete([retval, out] VARIANT *p);
15046
15047     [propput, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
15048     HRESULT onpropertychange([in] VARIANT v);
15049
15050     [propget, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
15051     HRESULT onpropertychange([retval, out] VARIANT *p);
15052
15053     [propput, id(DISPID_IHTMLDOCUMENT3_DIR)]
15054     HRESULT dir([in] BSTR v);
15055
15056     [propget, id(DISPID_IHTMLDOCUMENT3_DIR)]
15057     HRESULT dir([retval, out] BSTR *p);
15058
15059     [propput, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
15060     HRESULT oncontextmenu([in] VARIANT v);
15061
15062     [propget, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
15063     HRESULT oncontextmenu([retval, out] VARIANT *p);
15064
15065     [propput, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
15066     HRESULT onstop([in] VARIANT v);
15067
15068     [propget, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
15069     HRESULT onstop([retval, out] VARIANT *p);
15070
15071     [id(DISPID_IHTMLDOCUMENT3_CREATEDOCUMENTFRAGMENT)]
15072     HRESULT createDocumentFragment([retval, out] IHTMLDocument2 **pNewDoc);
15073
15074     [propget, id(DISPID_IHTMLDOCUMENT3_PARENTDOCUMENT), hidden, restricted]
15075     HRESULT parentDocument([retval, out] IHTMLDocument2 **p);
15076
15077     [propput, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
15078     HRESULT enableDownload([in] VARIANT_BOOL v);
15079
15080     [propget, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
15081     HRESULT enableDownload([retval, out] VARIANT_BOOL *p);
15082
15083     [propput, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
15084     HRESULT baseUrl([in] BSTR v);
15085
15086     [propget, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
15087     HRESULT baseUrl([retval, out] BSTR *p);
15088
15089     [propget, id(DISPID_IHTMLDOCUMENT3_CHILDNODES)]
15090     HRESULT childNodes([retval, out] IDispatch **p);
15091
15092     [propput, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
15093     HRESULT inheritStyleSheets([in] VARIANT_BOOL v);
15094
15095     [propget, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
15096     HRESULT inheritStyleSheets([retval, out] VARIANT_BOOL *p);
15097
15098     [propput, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
15099     HRESULT onbeforeeditfocus([in] VARIANT v);
15100
15101     [propget, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
15102     HRESULT onbeforeeditfocus([retval, out] VARIANT *p);
15103
15104     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYNAME)]
15105     HRESULT getElementsByName(
15106         [in] BSTR v,
15107         [retval, out] IHTMLElementCollection **pelColl);
15108
15109     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTBYID)]
15110     HRESULT getElementById(
15111         [in] BSTR v,
15112         [retval, out] IHTMLElement **pel);
15113
15114     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYTAGNAME)]
15115     HRESULT getElementsByTagName(
15116         [in] BSTR v,
15117         [retval, out] IHTMLElementCollection **pelColl);
15118 }
15119
15120 /*****************************************************************************
15121  *    IHTMLDocument4 interface
15122  */
15123 [
15124     odl,
15125     oleautomation,
15126     dual,
15127     uuid(3050f69a-98b5-11cf-bb82-00aa00bdce0b)
15128 ]
15129 interface IHTMLDocument4 : IDispatch
15130 {
15131     [id(DISPID_IHTMLDOCUMENT4_FOCUS)]
15132     HRESULT focus();
15133
15134     [id(DISPID_IHTMLDOCUMENT4_HASFOCUS)]
15135     HRESULT hasFocus([retval, out] VARIANT_BOOL *pfFocus);
15136
15137     [propput, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
15138     HRESULT onselectionchange([in] VARIANT v);
15139
15140     [propget, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
15141     HRESULT onselectionchange([retval, out] VARIANT *p);
15142
15143     [propget, id(DISPID_IHTMLDOCUMENT4_NAMESPACES)]
15144     HRESULT namespaces([retval, out] IDispatch **p);
15145
15146     [id(DISPID_IHTMLDOCUMENT4_CREATEDOCUMENTFROMURL)]
15147     HRESULT createDocumentFromUrl(
15148         [in] BSTR bstrUrl,
15149         [in] BSTR bstrOptions,
15150         [retval, out] IHTMLDocument2 **newDoc);
15151
15152     [propput, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
15153     HRESULT media([in] BSTR v);
15154
15155     [propget, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
15156     HRESULT media([retval, out] BSTR *p);
15157
15158     [id(DISPID_IHTMLDOCUMENT4_CREATEEVENTOBJECT)]
15159     HRESULT createEventObject(
15160         [optional, in] VARIANT *pvarEventObject,
15161         [retval, out] IHTMLEventObj **ppEventObj);
15162
15163     [id(DISPID_IHTMLDOCUMENT4_FIREEVENT)]
15164     HRESULT fireEvent(
15165         [in] BSTR bstrEventName,
15166         [optional, in] VARIANT *pvarEventObject,
15167         [retval, out] VARIANT_BOOL *pfCancelled);
15168
15169     [id(DISPID_IHTMLDOCUMENT4_CREATERENDERSTYLE)]
15170     HRESULT createRenderStyle(
15171         [in] BSTR v,
15172         [retval, out] IHTMLRenderStyle **ppIHTMLRenderStyle);
15173
15174     [propput, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
15175     HRESULT oncontrolselect([in] VARIANT v);
15176
15177     [propget, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
15178     HRESULT oncontrolselect([retval, out] VARIANT *p);
15179
15180     [propget, id(DISPID_IHTMLDOCUMENT4_URLUNENCODED)]
15181     HRESULT URLUnencoded([retval, out] BSTR *p);
15182 }
15183
15184 /*****************************************************************************
15185  *    IHTMLDocument5 interface
15186  */
15187 [
15188     odl,
15189     oleautomation,
15190     dual,
15191     uuid(3050f80c-98b5-11cf-bb82-00aa00bdce0b)
15192 ]
15193 interface IHTMLDocument5 : IDispatch
15194 {
15195     [propput, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
15196     HRESULT onmousewheel([in] VARIANT v);
15197
15198     [propget, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
15199     HRESULT onmousewheel([retval, out] VARIANT *p);
15200
15201     [propget, id(DISPID_IHTMLDOCUMENT5_DOCTYPE)]
15202     HRESULT doctype([retval, out] IHTMLDOMNode **p);
15203
15204     [propget, id(DISPID_IHTMLDOCUMENT5_IMPLEMENTATION)]
15205     HRESULT implementation([retval, out] IHTMLDOMImplementation **p);
15206
15207     [id(DISPID_IHTMLDOCUMENT5_CREATEATTRIBUTE)]
15208     HRESULT createAttribute(
15209         [in] BSTR bstrattrName,
15210         [retval, out] IHTMLDOMAttribute **ppattribute);
15211
15212     [id(DISPID_IHTMLDOCUMENT5_CREATECOMMENT)]
15213     HRESULT createComment(
15214         [in] BSTR bstrdata,
15215         [retval, out] IHTMLDOMNode **ppRetNode);
15216
15217     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
15218     HRESULT onfocusin([in] VARIANT v);
15219
15220     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
15221     HRESULT onfocusin([retval, out] VARIANT *p);
15222
15223     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
15224     HRESULT onfocusout([in] VARIANT v);
15225
15226     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
15227     HRESULT onfocusout([retval, out] VARIANT *p);
15228
15229     [propput, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
15230     HRESULT onactivate([in] VARIANT v);
15231
15232     [propget, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
15233     HRESULT onactivate([retval, out] VARIANT *p);
15234
15235     [propput, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
15236     HRESULT ondeactivate([in] VARIANT v);
15237
15238     [propget, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
15239     HRESULT ondeactivate([retval, out] VARIANT *p);
15240
15241     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
15242     HRESULT onbeforeactivate([in] VARIANT v);
15243
15244     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
15245     HRESULT onbeforeactivate([retval, out] VARIANT *p);
15246
15247     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
15248     HRESULT onbeforedeactivate([in] VARIANT v);
15249
15250     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
15251     HRESULT onbeforedeactivate([retval, out] VARIANT *p);
15252
15253     [propget, id(DISPID_IHTMLDOCUMENT5_COMPATMODE)]
15254     HRESULT compatMode([retval, out] BSTR *p);
15255 }
15256
15257 /*****************************************************************************
15258  *    DispHTMLDocument dispinterface
15259  */
15260 [
15261     hidden,
15262     uuid(3050f55f-98b5-11cf-bb82-00aa00bdce0b)
15263 ]
15264 dispinterface DispHTMLDocument
15265 {
15266 properties:
15267 methods:
15268     [propget, id(DISPID_IHTMLDOCUMENT_SCRIPT), hidden, nonbrowsable]
15269     IDispatch *Script();
15270
15271     [propget, id(DISPID_IHTMLDOCUMENT2_ALL)]
15272     IHTMLElementCollection *all();
15273
15274     [propget, id(DISPID_IHTMLDOCUMENT2_BODY)]
15275     IHTMLElement *body();
15276
15277     [propget, id(DISPID_IHTMLDOCUMENT2_ACTIVEELEMENT)]
15278     IHTMLElement *activeElement();
15279
15280     [propget, id(DISPID_IHTMLDOCUMENT2_IMAGES)]
15281     IHTMLElementCollection *images();
15282
15283     [propget, id(DISPID_IHTMLDOCUMENT2_APPLETS)]
15284     IHTMLElementCollection *applets();
15285
15286     [propget, id(DISPID_IHTMLDOCUMENT2_LINKS)]
15287     IHTMLElementCollection *links();
15288
15289     [propget, id(DISPID_IHTMLDOCUMENT2_FORMS)]
15290     IHTMLElementCollection *forms();
15291
15292     [propget, id(DISPID_IHTMLDOCUMENT2_ANCHORS)]
15293     IHTMLElementCollection *anchors();
15294
15295     [propput, id(DISPID_IHTMLDOCUMENT2_TITLE)]
15296     void title(BSTR v);
15297
15298     [propget, id(DISPID_IHTMLDOCUMENT2_TITLE)]
15299     BSTR title();
15300
15301     [propget, id(DISPID_IHTMLDOCUMENT2_SCRIPTS)]
15302     IHTMLElementCollection *scripts();
15303
15304     [propput, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE), hidden]
15305     void designMode(BSTR v);
15306
15307     [propget, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE), hidden]
15308     BSTR designMode();
15309
15310     [propget, id(DISPID_IHTMLDOCUMENT2_SELECTION)]
15311     IHTMLSelectionObject *selection();
15312
15313     [propget, id(DISPID_IHTMLDOCUMENT2_READYSTATE), bindable]
15314     BSTR readyState();
15315
15316     [propget, id(DISPID_IHTMLDOCUMENT2_FRAMES)]
15317     IHTMLFramesCollection2 *frames();
15318
15319     [propget, id(DISPID_IHTMLDOCUMENT2_EMBEDS)]
15320     IHTMLElementCollection *embeds();
15321
15322     [propget, id(DISPID_IHTMLDOCUMENT2_PLUGINS)]
15323     IHTMLElementCollection *plugins();
15324
15325     [propput, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
15326     void alinkColor(VARIANT v);
15327
15328     [propget, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
15329     VARIANT alinkColor();
15330
15331     [propput, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
15332     void bgColor(VARIANT v);
15333
15334     [propget, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
15335     VARIANT bgColor();
15336
15337     [propput, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
15338     void fgColor(VARIANT v);
15339
15340     [propget, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
15341     VARIANT fgColor();
15342
15343     [propput, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
15344     void linkColor(VARIANT v);
15345
15346     [propget, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
15347     VARIANT linkColor();
15348
15349     [propput, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
15350     void vlinkColor(VARIANT v);
15351
15352     [propget, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
15353     VARIANT vlinkColor();
15354
15355     [propget, id(DISPID_IHTMLDOCUMENT2_REFERRER)]
15356     BSTR referrer();
15357
15358     [propget, id(DISPID_IHTMLDOCUMENT2_LOCATION)]
15359     IHTMLLocation *location();
15360
15361     [propget, id(DISPID_IHTMLDOCUMENT2_LASTMODIFIED)]
15362     BSTR lastModified();
15363
15364     [propput, id(DISPID_IHTMLDOCUMENT2_URL)]
15365     void URL(BSTR v);
15366
15367     [propget, id(DISPID_IHTMLDOCUMENT2_URL)]
15368     BSTR URL();
15369
15370     [propput, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
15371     void domain(BSTR v);
15372
15373     [propget, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
15374     BSTR domain();
15375
15376     [propput, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
15377     void cookie(BSTR v);
15378
15379     [propget, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
15380     BSTR cookie();
15381
15382     [propput, id(DISPID_IHTMLDOCUMENT2_EXPANDO), bindable, hidden]
15383     void expando(VARIANT_BOOL v);
15384
15385     [propget, id(DISPID_IHTMLDOCUMENT2_EXPANDO), bindable, hidden]
15386     VARIANT_BOOL expando();
15387
15388     [propput, id(DISPID_IHTMLDOCUMENT2_CHARSET), hidden]
15389     void charset(BSTR v);
15390
15391     [propget, id(DISPID_IHTMLDOCUMENT2_CHARSET), hidden]
15392     BSTR charset();
15393
15394     [propput, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
15395     void defaultCharset(BSTR v);
15396
15397     [propget, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
15398     BSTR defaultCharset();
15399
15400     [propget, id(DISPID_IHTMLDOCUMENT2_MIMETYPE)]
15401     BSTR mimeType();
15402
15403     [propget, id(DISPID_IHTMLDOCUMENT2_FILESIZE)]
15404     BSTR fileSize();
15405
15406     [propget, id(DISPID_IHTMLDOCUMENT2_FILECREATEDDATE)]
15407     BSTR fileCreatedDate();
15408
15409     [propget, id(DISPID_IHTMLDOCUMENT2_FILEMODIFIEDDATE)]
15410     BSTR fileModifiedDate();
15411
15412     [propget, id(DISPID_IHTMLDOCUMENT2_FILEUPDATEDDATE)]
15413     BSTR fileUpdatedDate();
15414
15415     [propget, id(DISPID_IHTMLDOCUMENT2_SECURITY)]
15416     BSTR security();
15417
15418     [propget, id(DISPID_IHTMLDOCUMENT2_PROTOCOL)]
15419     BSTR protocol();
15420
15421     [propget, id(DISPID_IHTMLDOCUMENT2_NAMEPROP)]
15422     BSTR nameProp();
15423
15424     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITE)]
15425     void write([in] SAFEARRAY(VARIANT) psarray);
15426
15427     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITELN)]
15428     void writeln([in] SAFEARRAY(VARIANT) psarray);
15429
15430     [id(DISPID_IHTMLDOCUMENT2_OPEN)]
15431     IDispatch *open(
15432         [defaultvalue("text/html"), in] BSTR url,
15433         [optional, in] VARIANT name,
15434         [optional, in] VARIANT features,
15435         [optional, in] VARIANT replace);
15436
15437     [id(DISPID_IHTMLDOCUMENT2_CLOSE)]
15438     void close();
15439
15440     [id(DISPID_IHTMLDOCUMENT2_CLEAR)]
15441     void clear();
15442
15443     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSUPPORTED)]
15444     VARIANT_BOOL queryCommandSupported([in] BSTR cmdID);
15445
15446     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDENABLED)]
15447     VARIANT_BOOL queryCommandEnabled([in] BSTR cmdID);
15448
15449     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSTATE)]
15450     VARIANT_BOOL queryCommandState([in] BSTR cmdID);
15451
15452     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDINDETERM)]
15453     VARIANT_BOOL queryCommandIndeterm([in] BSTR cmdID);
15454
15455     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDTEXT)]
15456     BSTR queryCommandText([in] BSTR cmdID);
15457
15458     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDVALUE)]
15459     VARIANT queryCommandValue([in] BSTR cmdID);
15460
15461     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMAND)]
15462     VARIANT_BOOL execCommand(
15463         [in] BSTR cmdID,
15464         [defaultvalue(0), in] VARIANT_BOOL showUI,
15465         [optional, in] VARIANT value);
15466
15467     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMANDSHOWHELP)]
15468     VARIANT_BOOL execCommandShowHelp([in] BSTR cmdID);
15469
15470     [id(DISPID_IHTMLDOCUMENT2_CREATEELEMENT)]
15471     IHTMLElement *createElement([in] BSTR eTag);
15472
15473     [propput, id(DISPID_IHTMLDOCUMENT2_ONHELP), displaybind, bindable]
15474     void onhelp(VARIANT v);
15475
15476     [propget, id(DISPID_IHTMLDOCUMENT2_ONHELP), displaybind, bindable]
15477     VARIANT onhelp();
15478
15479     [propput, id(DISPID_IHTMLDOCUMENT2_ONCLICK), displaybind, bindable]
15480     void onclick(VARIANT v);
15481
15482     [propget, id(DISPID_IHTMLDOCUMENT2_ONCLICK), displaybind, bindable]
15483     VARIANT onclick();
15484
15485     [propput, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK), displaybind, bindable]
15486     void ondblclick(VARIANT v);
15487
15488     [propget, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK), displaybind, bindable]
15489     VARIANT ondblclick();
15490
15491     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYUP), displaybind, bindable]
15492     void onkeyup(VARIANT v);
15493
15494     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYUP), displaybind, bindable]
15495     VARIANT onkeyup();
15496
15497     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN), displaybind, bindable]
15498     void onkeydown(VARIANT v);
15499
15500     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN), displaybind, bindable]
15501     VARIANT onkeydown();
15502
15503     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS), displaybind, bindable]
15504     void onkeypress(VARIANT v);
15505
15506     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS), displaybind, bindable]
15507     VARIANT onkeypress();
15508
15509     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP), displaybind, bindable]
15510     void onmouseup(VARIANT v);
15511
15512     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP), displaybind, bindable]
15513     VARIANT onmouseup();
15514
15515     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN), displaybind, bindable]
15516     void onmousedown(VARIANT v);
15517
15518     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN), displaybind, bindable]
15519     VARIANT onmousedown();
15520
15521     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE), displaybind, bindable]
15522     void onmousemove(VARIANT v);
15523
15524     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE), displaybind, bindable]
15525     VARIANT onmousemove();
15526
15527     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT), displaybind, bindable]
15528     void onmouseout(VARIANT v);
15529
15530     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT), displaybind, bindable]
15531     VARIANT onmouseout();
15532
15533     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER), displaybind, bindable]
15534     void onmouseover(VARIANT v);
15535
15536     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER), displaybind, bindable]
15537     VARIANT onmouseover();
15538
15539     [propput, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE), displaybind, bindable]
15540     void onreadystatechange(VARIANT v);
15541
15542     [propget, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE), displaybind, bindable]
15543     VARIANT onreadystatechange();
15544
15545     [propput, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE), displaybind, bindable]
15546     void onafterupdate(VARIANT v);
15547
15548     [propget, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE), displaybind, bindable]
15549     VARIANT onafterupdate();
15550
15551     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT), displaybind, bindable]
15552     void onrowexit(VARIANT v);
15553
15554     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT), displaybind, bindable]
15555     VARIANT onrowexit();
15556
15557     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWENTER), displaybind, bindable]
15558     void onrowenter(VARIANT v);
15559
15560     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWENTER), displaybind, bindable]
15561     VARIANT onrowenter();
15562
15563     [propput, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART), displaybind, bindable]
15564     void ondragstart(VARIANT v);
15565
15566     [propget, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART), displaybind, bindable]
15567     VARIANT ondragstart();
15568
15569     [propput, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART), displaybind, bindable]
15570     void onselectstart(VARIANT v);
15571
15572     [propget, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART), displaybind, bindable]
15573     VARIANT onselectstart();
15574
15575     [id(DISPID_IHTMLDOCUMENT2_ELEMENTFROMPOINT)]
15576     IHTMLElement *elementFromPoint(
15577         [in] long x,
15578         [in] long y);
15579
15580     [propget, id(DISPID_IHTMLDOCUMENT2_PARENTWINDOW)]
15581     IHTMLWindow2 *parentWindow();
15582
15583     [propget, id(DISPID_IHTMLDOCUMENT2_STYLESHEETS)]
15584     IHTMLStyleSheetsCollection *styleSheets();
15585
15586     [propput, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE), displaybind, bindable]
15587     void onbeforeupdate(VARIANT v);
15588
15589     [propget, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE), displaybind, bindable]
15590     VARIANT onbeforeupdate();
15591
15592     [propput, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE), displaybind, bindable]
15593     void onerrorupdate(VARIANT v);
15594
15595     [propget, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE), displaybind, bindable]
15596     VARIANT onerrorupdate();
15597
15598     [id(DISPID_IHTMLDOCUMENT2_TOSTRING)]
15599     BSTR toString();
15600
15601     [id(DISPID_IHTMLDOCUMENT2_CREATESTYLESHEET)]
15602     IHTMLStyleSheet *createStyleSheet(
15603         [defaultvalue(""), in] BSTR bstrHref,
15604         [defaultvalue(-1), in] long lIndex);
15605
15606     [id(DISPID_IHTMLDOCUMENT3_RELEASECAPTURE)]
15607     void releaseCapture();
15608
15609     [id(DISPID_IHTMLDOCUMENT3_RECALC)]
15610     void recalc([defaultvalue(0), in] VARIANT_BOOL fForce);
15611
15612     [id(DISPID_IHTMLDOCUMENT3_CREATETEXTNODE)]
15613     IHTMLDOMNode *createTextNode([in] BSTR text);
15614
15615     [propget, id(DISPID_IHTMLDOCUMENT3_DOCUMENTELEMENT)]
15616     IHTMLElement *documentElement();
15617
15618     [propget, id(DISPID_IHTMLDOCUMENT3_UNIQUEID), hidden]
15619     BSTR uniqueID();
15620
15621     [id(DISPID_IHTMLDOCUMENT3_ATTACHEVENT)]
15622     VARIANT_BOOL attachEvent(
15623         [in] BSTR event,
15624         [in] IDispatch *pDisp);
15625
15626     [id(DISPID_IHTMLDOCUMENT3_DETACHEVENT)]
15627     void detachEvent(
15628         [in] BSTR event,
15629         [in] IDispatch *pDisp);
15630
15631     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
15632     void onrowsdelete(VARIANT v);
15633
15634     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
15635     VARIANT onrowsdelete();
15636
15637     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
15638     void onrowsinserted(VARIANT v);
15639
15640     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
15641     VARIANT onrowsinserted();
15642
15643     [propput, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
15644     void oncellchange(VARIANT v);
15645
15646     [propget, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
15647     VARIANT oncellchange();
15648
15649     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
15650     void ondatasetchanged(VARIANT v);
15651
15652     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
15653     VARIANT ondatasetchanged();
15654
15655     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
15656     void ondataavailable(VARIANT v);
15657
15658     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
15659     VARIANT ondataavailable();
15660
15661     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
15662     void ondatasetcomplete(VARIANT v);
15663
15664     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
15665     VARIANT ondatasetcomplete();
15666
15667     [propput, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
15668     void onpropertychange(VARIANT v);
15669
15670     [propget, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
15671     VARIANT onpropertychange();
15672
15673     [propput, id(DISPID_IHTMLDOCUMENT3_DIR)]
15674     void dir(BSTR v);
15675
15676     [propget, id(DISPID_IHTMLDOCUMENT3_DIR)]
15677     BSTR dir();
15678
15679     [propput, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
15680     void oncontextmenu(VARIANT v);
15681
15682     [propget, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
15683     VARIANT oncontextmenu();
15684
15685     [propput, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
15686     void onstop(VARIANT v);
15687
15688     [propget, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
15689     VARIANT onstop();
15690
15691     [id(DISPID_IHTMLDOCUMENT3_CREATEDOCUMENTFRAGMENT)]
15692     IHTMLDocument2 *createDocumentFragment();
15693
15694     [propget, id(DISPID_IHTMLDOCUMENT3_PARENTDOCUMENT), hidden, restricted]
15695     IHTMLDocument2 *parentDocument();
15696
15697     [propput, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
15698     void enableDownload(VARIANT_BOOL v);
15699
15700     [propget, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
15701     VARIANT_BOOL enableDownload();
15702
15703     [propput, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
15704     void baseUrl(BSTR v);
15705
15706     [propget, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
15707     BSTR baseUrl();
15708
15709     [propput, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
15710     void inheritStyleSheets(VARIANT_BOOL v);
15711
15712     [propget, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
15713     VARIANT_BOOL inheritStyleSheets();
15714
15715     [propput, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
15716     void onbeforeeditfocus(VARIANT v);
15717
15718     [propget, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
15719     VARIANT onbeforeeditfocus();
15720
15721     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYNAME)]
15722     IHTMLElementCollection *getElementsByName([in] BSTR v);
15723
15724     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTBYID)]
15725     IHTMLElement *getElementById([in] BSTR v);
15726
15727     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYTAGNAME)]
15728     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
15729
15730     [id(DISPID_IHTMLDOCUMENT4_FOCUS)]
15731     void focus();
15732
15733     [id(DISPID_IHTMLDOCUMENT4_HASFOCUS)]
15734     VARIANT_BOOL hasFocus();
15735
15736     [propput, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
15737     void onselectionchange(VARIANT v);
15738
15739     [propget, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
15740     VARIANT onselectionchange();
15741
15742     [propget, id(DISPID_IHTMLDOCUMENT4_NAMESPACES)]
15743     IDispatch *namespaces();
15744
15745     [id(DISPID_IHTMLDOCUMENT4_CREATEDOCUMENTFROMURL)]
15746     IHTMLDocument2 *createDocumentFromUrl(
15747         [in] BSTR bstrUrl,
15748         [in] BSTR bstrOptions);
15749
15750     [propput, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
15751     void media(BSTR v);
15752
15753     [propget, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
15754     BSTR media();
15755
15756     [id(DISPID_IHTMLDOCUMENT4_CREATEEVENTOBJECT)]
15757     IHTMLEventObj *createEventObject([optional, in] VARIANT *pvarEventObject);
15758
15759     [id(DISPID_IHTMLDOCUMENT4_FIREEVENT)]
15760     VARIANT_BOOL fireEvent(
15761         [in] BSTR bstrEventName,
15762         [optional, in] VARIANT *pvarEventObject);
15763
15764     [id(DISPID_IHTMLDOCUMENT4_CREATERENDERSTYLE)]
15765     IHTMLRenderStyle *createRenderStyle([in] BSTR v);
15766
15767     [propput, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
15768     void oncontrolselect(VARIANT v);
15769
15770     [propget, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
15771     VARIANT oncontrolselect();
15772
15773     [propget, id(DISPID_IHTMLDOCUMENT4_URLUNENCODED)]
15774     BSTR URLUnencoded();
15775
15776     [propput, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
15777     void onmousewheel(VARIANT v);
15778
15779     [propget, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
15780     VARIANT onmousewheel();
15781
15782     [propget, id(DISPID_IHTMLDOCUMENT5_DOCTYPE)]
15783     IHTMLDOMNode *doctype();
15784
15785     [propget, id(DISPID_IHTMLDOCUMENT5_IMPLEMENTATION)]
15786     IHTMLDOMImplementation *implementation();
15787
15788     [id(DISPID_IHTMLDOCUMENT5_CREATEATTRIBUTE)]
15789     IHTMLDOMAttribute *createAttribute([in] BSTR bstrattrName);
15790
15791     [id(DISPID_IHTMLDOCUMENT5_CREATECOMMENT)]
15792     IHTMLDOMNode *createComment([in] BSTR bstrdata);
15793
15794     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
15795     void onfocusin(VARIANT v);
15796
15797     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
15798     VARIANT onfocusin();
15799
15800     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
15801     void onfocusout(VARIANT v);
15802
15803     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
15804     VARIANT onfocusout();
15805
15806     [propput, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
15807     void onactivate(VARIANT v);
15808
15809     [propget, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
15810     VARIANT onactivate();
15811
15812     [propput, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
15813     void ondeactivate(VARIANT v);
15814
15815     [propget, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
15816     VARIANT ondeactivate();
15817
15818     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
15819     void onbeforeactivate(VARIANT v);
15820
15821     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
15822     VARIANT onbeforeactivate();
15823
15824     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
15825     void onbeforedeactivate(VARIANT v);
15826
15827     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
15828     VARIANT onbeforedeactivate();
15829
15830     [propget, id(DISPID_IHTMLDOCUMENT5_COMPATMODE)]
15831     BSTR compatMode();
15832
15833     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
15834     long nodeType();
15835
15836     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
15837     IHTMLDOMNode *parentNode();
15838
15839     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
15840     VARIANT_BOOL hasChildNodes();
15841
15842     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
15843     IDispatch *childNodes();
15844
15845     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
15846     IDispatch *attributes();
15847
15848     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
15849     IHTMLDOMNode *insertBefore(
15850         [in] IHTMLDOMNode *newChild,
15851         [optional, in] VARIANT refChild);
15852
15853     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
15854     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
15855
15856     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
15857     IHTMLDOMNode *replaceChild(
15858         [in] IHTMLDOMNode *newChild,
15859         [in] IHTMLDOMNode *oldChild);
15860
15861     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
15862     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
15863
15864     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
15865     IHTMLDOMNode *removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep);
15866
15867     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
15868     IHTMLDOMNode *swapNode([in] IHTMLDOMNode* otherNode);
15869
15870     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
15871     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
15872
15873     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
15874     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
15875
15876     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
15877     BSTR nodeName();
15878
15879     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
15880     void nodeValue(VARIANT v);
15881
15882     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
15883     VARIANT nodeValue();
15884
15885     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
15886     IHTMLDOMNode *firstChild();
15887
15888     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
15889     IHTMLDOMNode *lastChild();
15890
15891     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
15892     IHTMLDOMNode *previousSibling();
15893
15894     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
15895     IHTMLDOMNode *nextSibling();
15896
15897     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
15898     IDispatch *ownerDocument();
15899 }
15900
15901 /*****************************************************************************
15902  *    HTMLDocument coclass
15903  */
15904 [
15905     uuid(25336920-03F9-11cf-8FD0-00AA00686F13)
15906 ]
15907 coclass HTMLDocument
15908 {
15909     [default]         dispinterface DispHTMLDocument;
15910     [source, default] dispinterface HTMLDocumentEvents;
15911     [source]          dispinterface HTMLDocumentEvents2;
15912                       interface IHTMLDocument2;
15913                       interface IHTMLDocument3;
15914                       interface IHTMLDocument4;
15915                       interface IHTMLDocument5;
15916                       interface IHTMLDOMNode;
15917                       interface IHTMLDOMNode2;
15918 }
15919
15920 /*****************************************************************************
15921  *    IHTMLCommentElement interface
15922  */
15923 [
15924     odl,
15925     oleautomation,
15926     dual,
15927     uuid(3050f20c-98b5-11cf-bb82-00aa00bdce0b)
15928 ]
15929 interface IHTMLCommentElement : IDispatch
15930 {
15931     [propput, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
15932     HRESULT text([in] BSTR v);
15933
15934     [propget, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
15935     HRESULT text([out, retval] BSTR *p);
15936
15937     [propput, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
15938     HRESULT atomic([in] long v);
15939
15940     [propget, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
15941     HRESULT atomic([out, retval] long *p);
15942 }
15943
15944 /*****************************************************************************
15945  *    IHTMLCommentElement2 interface
15946  */
15947 [
15948     odl,
15949     oleautomation,
15950     dual,
15951     uuid(3050f813-98b5-11cf-bb82-00aa00bdce0b)
15952 ]
15953 interface IHTMLCommentElement2 : IDispatch
15954 {
15955     [propput, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
15956     HRESULT data([in] BSTR v);
15957
15958     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
15959     HRESULT data([out, retval] BSTR *p);
15960
15961     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_LENGTH)]
15962     HRESULT length([out, retval] long *p);
15963
15964     [id(DISPID_IHTMLCOMMENTELEMENT2_SUBSTRINGDATA)]
15965     HRESULT substringData(
15966             [in] long offset,
15967             [in] long Count,
15968             [out, retval] BSTR *pbstrsubString);
15969
15970     [id(DISPID_IHTMLCOMMENTELEMENT2_APPENDDATA)]
15971     HRESULT appendData([in] BSTR bstrstring);
15972
15973     [id(DISPID_IHTMLCOMMENTELEMENT2_INSERTDATA)]
15974     HRESULT insertData(
15975             [in] long offset,
15976             [in] BSTR bstrstring);
15977
15978     [id(DISPID_IHTMLCOMMENTELEMENT2_DELETEDATA)]
15979     HRESULT deleteData(
15980             [in] long offset,
15981             [in] long Count);
15982
15983     [id(DISPID_IHTMLCOMMENTELEMENT2_REPLACEDATA)]
15984     HRESULT replaceData(
15985             [in] long offset,
15986             [in] long Count,
15987             [in] BSTR bstrstring);
15988 }
15989
15990 /*****************************************************************************
15991  *    DispHTMLCommentElement dispinterface
15992  */
15993 [
15994     hidden,
15995     uuid(3050f50a-98b5-11cf-bb82-00aa00bdce0b)
15996 ]
15997 dispinterface DispHTMLCommentElement
15998 {
15999 properties:
16000 methods:
16001     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
16002     void setAttribute(
16003             [in] BSTR strAttributeName,
16004             [in] VARIANT AttributeValue,
16005             [in, defaultvalue(1)] LONG lFlags);
16006
16007     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
16008     VARIANT getAttribute(
16009              [in] BSTR strAttributeName,
16010              [in, defaultvalue(0)] LONG lFlags);
16011
16012     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
16013     VARIANT_BOOL removeAttribute(
16014             [in] BSTR strAttributeName,
16015             [in, defaultvalue(1)] LONG lFlags);
16016
16017     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
16018     void className(BSTR v);
16019
16020     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
16021     BSTR className();
16022
16023     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
16024     void id(BSTR v);
16025
16026     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
16027     BSTR id();
16028
16029     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
16030     BSTR tagName();
16031
16032     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
16033     IHTMLElement *parentElement();
16034
16035     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
16036     IHTMLStyle *style();
16037
16038     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
16039     void onhelp(VARIANT v);
16040
16041     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
16042     VARIANT onhelp();
16043
16044     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
16045     void onclick(VARIANT v);
16046
16047     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
16048     VARIANT onclick();
16049
16050     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
16051     void ondblclick(VARIANT v);
16052
16053     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
16054     VARIANT ondblclick();
16055
16056     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
16057     void onkeydown(VARIANT v);
16058
16059     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
16060     VARIANT onkeydown();
16061
16062     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
16063     void onkeyup(VARIANT v);
16064
16065     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
16066     VARIANT onkeyup();
16067
16068     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
16069     void onkeypress(VARIANT v);
16070
16071     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
16072     VARIANT onkeypress();
16073
16074     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
16075     void onmouseout(VARIANT v);
16076
16077     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
16078     VARIANT onmouseout();
16079
16080     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
16081     void onmouseover(VARIANT v);
16082
16083     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
16084     VARIANT onmouseover();
16085
16086     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
16087     void onmousemove(VARIANT v);
16088
16089     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
16090     VARIANT onmousemove();
16091
16092     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
16093     void onmousedown(VARIANT v);
16094
16095     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
16096     VARIANT onmousedown();
16097
16098     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
16099     void onmouseup(VARIANT v);
16100
16101     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
16102     VARIANT onmouseup();
16103
16104     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
16105     IDispatch *document();
16106
16107     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
16108     void title(BSTR v);
16109
16110     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
16111     BSTR title();
16112
16113     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
16114     void language(BSTR v);
16115
16116     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
16117     BSTR language();
16118
16119     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
16120     void onselectstart(VARIANT v);
16121
16122     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
16123     VARIANT onselectstart();
16124
16125     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
16126     void scrollIntoView([in, optional] VARIANT varargStart);
16127
16128     [id(DISPID_IHTMLELEMENT_CONTAINS)]
16129     VARIANT_BOOL contains([in] IHTMLElement *pChild);
16130
16131     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
16132     long sourceIndex();
16133
16134     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
16135     VARIANT recordNumber();
16136
16137     [propput, id(DISPID_IHTMLELEMENT_LANG)]
16138     void lang(BSTR v);
16139
16140     [propget, id(DISPID_IHTMLELEMENT_LANG)]
16141     BSTR lang();
16142
16143     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
16144     long offsetLeft();
16145
16146     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
16147     long offsetTop();
16148
16149     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
16150     long offsetWidth();
16151
16152     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
16153     long offsetHeight();
16154
16155     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
16156     IHTMLElement *offsetParent();
16157
16158     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
16159     void innerHTML(BSTR v);
16160
16161     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
16162     BSTR innerHTML();
16163
16164     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
16165     void innerText(BSTR v);
16166
16167     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
16168     BSTR innerText();
16169
16170     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
16171     void outerHTML(BSTR v);
16172
16173     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
16174     BSTR outerHTML();
16175
16176     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
16177     void outerText(BSTR v);
16178
16179     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
16180     BSTR outerText();
16181
16182     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
16183     void insertAdjacentHTML(
16184             [in] BSTR where,
16185             [in] BSTR html);
16186
16187     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
16188     void insertAdjacentText(
16189             [in] BSTR where,
16190             [in] BSTR text);
16191
16192     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
16193     IHTMLElement *parentTextEdit();
16194
16195     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
16196     VARIANT_BOOL isTextEdit();
16197
16198     [id(DISPID_IHTMLELEMENT_CLICK)]
16199     void click();
16200
16201     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
16202     IHTMLFiltersCollection *filters();
16203
16204     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
16205     void ondragstart(VARIANT v);
16206
16207     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
16208     VARIANT ondragstart();
16209
16210     [id(DISPID_IHTMLELEMENT_TOSTRING)]
16211     BSTR toString();
16212
16213     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
16214     void onbeforeupdate(VARIANT v);
16215
16216     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
16217     VARIANT onbeforeupdate();
16218
16219     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
16220     void onafterupdate(VARIANT v);
16221
16222     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
16223     VARIANT onafterupdate();
16224
16225     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
16226     void onerrorupdate(VARIANT v);
16227
16228     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
16229     VARIANT onerrorupdate();
16230
16231     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
16232     void onrowexit(VARIANT v);
16233
16234     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
16235     VARIANT onrowexit();
16236
16237     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
16238     void onrowenter(VARIANT v);
16239
16240     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
16241     VARIANT onrowenter();
16242
16243     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
16244     void ondatasetchanged(VARIANT v);
16245
16246     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
16247     VARIANT ondatasetchanged();
16248
16249     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
16250     void ondataavailable(VARIANT v);
16251
16252     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
16253     VARIANT ondataavailable();
16254
16255     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
16256     void ondatasetcomplete(VARIANT v);
16257
16258     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
16259     VARIANT ondatasetcomplete();
16260
16261     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
16262     void onfilterchange(VARIANT v);
16263
16264     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
16265     VARIANT onfilterchange();
16266
16267     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
16268     IDispatch *children();
16269
16270     [propget, id(DISPID_IHTMLELEMENT_ALL)]
16271     IDispatch *all();
16272
16273     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
16274     BSTR scopeName();
16275
16276     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
16277     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
16278
16279     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
16280     void releaseCapture();
16281
16282     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
16283     void onlosecapture(VARIANT v);
16284
16285     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
16286     VARIANT onlosecapture();
16287
16288     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
16289     BSTR componentFromPoint(
16290             [in] long x,
16291             [in] long y);
16292
16293     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
16294     void doScroll([in, optional] VARIANT component);
16295
16296     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
16297     void onscroll(VARIANT v);
16298
16299     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
16300     VARIANT onscroll();
16301
16302     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
16303     void ondrag(VARIANT v);
16304
16305     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
16306     VARIANT ondrag();
16307
16308     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
16309     void ondragend(VARIANT v);
16310
16311     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
16312     VARIANT ondragend();
16313
16314     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
16315     void ondragenter(VARIANT v);
16316
16317     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
16318     VARIANT ondragenter();
16319
16320     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
16321     void ondragover(VARIANT v);
16322
16323     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
16324     VARIANT ondragover();
16325
16326     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
16327     void ondragleave(VARIANT v);
16328
16329     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
16330     VARIANT ondragleave();
16331
16332     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
16333     void ondrop(VARIANT v);
16334
16335     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
16336     VARIANT ondrop();
16337
16338     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
16339     void onbeforecut(VARIANT v);
16340
16341     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
16342     VARIANT onbeforecut();
16343
16344     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
16345     void oncut(VARIANT v);
16346
16347     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
16348     VARIANT oncut();
16349
16350     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
16351     void onbeforecopy(VARIANT v);
16352
16353     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
16354     VARIANT onbeforecopy();
16355
16356     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
16357     void oncopy(VARIANT v);
16358
16359     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
16360     VARIANT oncopy();
16361
16362     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
16363     void onbeforepaste(VARIANT v);
16364
16365     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
16366     VARIANT onbeforepaste();
16367
16368     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
16369     void onpaste(VARIANT v);
16370
16371     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
16372     VARIANT onpaste();
16373
16374     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
16375     IHTMLCurrentStyle *currentStyle();
16376
16377     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
16378     void onpropertychange(VARIANT v);
16379
16380     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
16381     VARIANT onpropertychange();
16382
16383     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
16384     IHTMLRectCollection *getClientRects();
16385
16386     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
16387     IHTMLRect *getBoundingClientRect();
16388
16389     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
16390     void setExpression(
16391             [in] BSTR propname,
16392             [in] BSTR expression,
16393             [in, defaultvalue("")] BSTR language);
16394
16395     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
16396     VARIANT getExpression([in] BSTR propname);
16397
16398     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
16399     VARIANT_BOOL removeExpression([in] BSTR propname);
16400
16401     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
16402     void tabIndex(short v);
16403
16404     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
16405     short tabIndex();
16406
16407     [id(DISPID_IHTMLELEMENT2_FOCUS)]
16408     void focus();
16409
16410     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
16411     void accessKey(BSTR v);
16412
16413     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
16414     BSTR accessKey();
16415
16416     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
16417     void onblur(VARIANT v);
16418
16419     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
16420     VARIANT onblur();
16421
16422     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
16423     void onfocus(VARIANT v);
16424
16425     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
16426     VARIANT onfocus();
16427
16428     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
16429     void onresize(VARIANT v);
16430
16431     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
16432     VARIANT onresize();
16433
16434     [id(DISPID_IHTMLELEMENT2_BLUR)]
16435     void blur();
16436
16437     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
16438     void addFilter([in] IUnknown *pUnk);
16439
16440     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
16441     void removeFilter([in] IUnknown *pUnk);
16442
16443     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
16444     long clientHeight();
16445
16446     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
16447     long clientWidth();
16448
16449     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
16450     long clientTop();
16451
16452     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
16453     long clientLeft();
16454
16455     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
16456     VARIANT_BOOL attachEvent(
16457             [in] BSTR event,
16458             [in] IDispatch *pDisp);
16459
16460     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
16461     void detachEvent(
16462             [in] BSTR event,
16463             [in] IDispatch *pDisp);
16464
16465     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
16466     VARIANT readyState();
16467
16468     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
16469     void onreadystatechange(VARIANT v);
16470
16471     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
16472     VARIANT onreadystatechange();
16473
16474     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
16475     void onrowsdelete(VARIANT v);
16476
16477     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
16478     VARIANT onrowsdelete();
16479
16480     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
16481     void onrowsinserted(VARIANT v);
16482
16483     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
16484      VARIANT onrowsinserted();
16485
16486     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
16487      void oncellchange(VARIANT v);
16488
16489     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
16490     VARIANT oncellchange();
16491
16492     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
16493     void dir(BSTR v);
16494
16495     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
16496     BSTR dir();
16497
16498     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
16499     IDispatch *createControlRange();
16500
16501     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
16502     long scrollHeight();
16503
16504     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
16505     long scrollWidth();
16506
16507     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
16508     void scrollTop(long v);
16509
16510     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
16511     long scrollTop();
16512
16513     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
16514     void scrollLeft(long v);
16515
16516     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
16517     long scrollLeft();
16518
16519     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
16520     void clearAttributes();
16521
16522     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
16523     void oncontextmenu(VARIANT v);
16524
16525     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
16526     VARIANT oncontextmenu();
16527
16528     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
16529     IHTMLElement *insertAdjacentElement(
16530             [in] BSTR where,
16531             [in] IHTMLElement *insertedElement);
16532
16533     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
16534     IHTMLElement *applyElement(
16535             [in] IHTMLElement *apply,
16536             [in] BSTR where);
16537
16538     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
16539     BSTR getAdjacentText([in] BSTR where);
16540
16541     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
16542     BSTR replaceAdjacentText(
16543             [in] BSTR where,
16544             [in] BSTR newText);
16545
16546     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
16547     VARIANT_BOOL canHaveChildren();
16548
16549     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
16550     long addBehavior(
16551             [in] BSTR bstrUrl,
16552             [in, optional] VARIANT *pvarFactory);
16553
16554     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
16555     VARIANT_BOOL removeBehavior([in] long cookie);
16556
16557     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
16558     IHTMLStyle *runtimeStyle();
16559
16560     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
16561     IDispatch *behaviorUrns();
16562
16563     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
16564     void tagUrn(BSTR v);
16565
16566     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
16567     BSTR tagUrn();
16568
16569     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
16570     void onbeforeeditfocus(VARIANT v);
16571
16572     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
16573     VARIANT onbeforeeditfocus();
16574
16575     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
16576     long readyStateValue();
16577
16578     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
16579     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
16580
16581     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
16582     void mergeAttributes(
16583             [in] IHTMLElement *mergeThis,
16584             [in, optional] VARIANT *pvarFlags);
16585
16586     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
16587     VARIANT_BOOL isMultiLine();
16588
16589     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
16590     VARIANT_BOOL canHaveHTML();
16591
16592     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
16593     void onlayoutcomplete(VARIANT v);
16594
16595     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
16596     VARIANT onlayoutcomplete();
16597
16598     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
16599     void onpage(VARIANT v);
16600
16601     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
16602     VARIANT onpage();
16603
16604     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
16605     void inflateBlock(VARIANT_BOOL v);
16606
16607     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
16608     VARIANT_BOOL inflateBlock();
16609
16610     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
16611     void onbeforedeactivate(VARIANT v);
16612
16613     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
16614     VARIANT onbeforedeactivate();
16615
16616     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
16617     void setActive();
16618
16619     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
16620     void contentEditable(BSTR v);
16621
16622     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
16623     BSTR contentEditable();
16624
16625     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
16626     VARIANT_BOOL isContentEditable();
16627
16628     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
16629     void hideFocus(VARIANT_BOOL v);
16630
16631     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
16632     VARIANT_BOOL hideFocus();
16633
16634     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
16635     void disabled(VARIANT_BOOL v);
16636
16637     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
16638     VARIANT_BOOL disabled();
16639
16640     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
16641     VARIANT_BOOL isDisabled();
16642
16643     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
16644     void onmove(VARIANT v);
16645
16646     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
16647     VARIANT onmove();
16648
16649     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
16650     void oncontrolselect(VARIANT v);
16651
16652     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
16653     VARIANT oncontrolselect();
16654
16655     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
16656     VARIANT_BOOL fireEvent(
16657             [in] BSTR bstrEventName,
16658             [in, optional] VARIANT *pvarEventObject);
16659
16660     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
16661     void onresizestart(VARIANT v);
16662
16663     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
16664     VARIANT onresizestart();
16665
16666     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
16667     void onresizeend(VARIANT v);
16668
16669     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
16670     VARIANT onresizeend();
16671
16672     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
16673     void onmovestart(VARIANT v);
16674
16675     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
16676     VARIANT onmovestart();
16677
16678     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
16679     void onmoveend(VARIANT v);
16680
16681     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
16682     VARIANT onmoveend();
16683
16684     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
16685     void onmouseenter(VARIANT v);
16686
16687     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
16688     VARIANT onmouseenter();
16689
16690     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
16691     void onmouseleave(VARIANT v);
16692
16693     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
16694     VARIANT onmouseleave();
16695
16696     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
16697     void onactivate(VARIANT v);
16698
16699     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
16700     VARIANT onactivate();
16701
16702     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
16703     void ondeactivate(VARIANT v);
16704
16705     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
16706     VARIANT ondeactivate();
16707
16708     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
16709     VARIANT_BOOL dragDrop();
16710
16711     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
16712     LONG glyphMode();
16713
16714     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
16715     void onmousewheel(VARIANT v);
16716
16717     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
16718     VARIANT onmousewheel();
16719
16720     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
16721     void normalize();
16722
16723     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
16724     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
16725
16726     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
16727     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
16728
16729     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
16730     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
16731
16732     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
16733     void onbeforeactivate(VARIANT v);
16734
16735     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
16736     VARIANT onbeforeactivate();
16737
16738     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
16739     void onfocusin(VARIANT v);
16740
16741     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
16742     VARIANT onfocusin();
16743
16744     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
16745     void onfocusout(VARIANT v);
16746
16747     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
16748     VARIANT onfocusout();
16749
16750     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
16751     long uniqueNumber();
16752
16753     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
16754     BSTR uniqueID();
16755
16756     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
16757     long nodeType();
16758
16759     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
16760     IHTMLDOMNode *parentNode();
16761
16762     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
16763     VARIANT_BOOL hasChildNodes();
16764
16765     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
16766     IDispatch *childNodes();
16767
16768     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
16769     IDispatch *attributes();
16770
16771     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
16772     IHTMLDOMNode *insertBefore(
16773             [in] IHTMLDOMNode *newChild,
16774             [in, optional] VARIANT refChild);
16775
16776     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
16777     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
16778
16779     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
16780     IHTMLDOMNode *replaceChild(
16781             [in] IHTMLDOMNode *newChild,
16782             [in] IHTMLDOMNode *oldChild);
16783
16784     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
16785     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
16786
16787     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
16788     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
16789
16790     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
16791     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
16792
16793     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
16794     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
16795
16796     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
16797     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
16798
16799     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
16800     BSTR nodeName();
16801
16802     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
16803     void nodeValue(VARIANT v);
16804
16805     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
16806     VARIANT nodeValue();
16807
16808     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
16809     IHTMLDOMNode *firstChild();
16810
16811     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
16812     IHTMLDOMNode *lastChild();
16813
16814     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
16815     IHTMLDOMNode *previousSibling();
16816
16817     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
16818     IHTMLDOMNode *nextSibling();
16819
16820     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
16821     IDispatch *ownerDocument();
16822
16823     [propput, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
16824     void text(BSTR v);
16825
16826     [propget, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
16827     BSTR text();
16828
16829     [propput, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
16830     void atomic(long v);
16831
16832     [propget, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
16833     long atomic();
16834
16835     [propput, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
16836     void data(BSTR v);
16837
16838     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
16839     BSTR data();
16840
16841     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_LENGTH)]
16842     long length();
16843
16844     [id(DISPID_IHTMLCOMMENTELEMENT2_SUBSTRINGDATA)]
16845     BSTR substringData(
16846             [in] long offset,
16847             [in] long Count);
16848
16849     [id(DISPID_IHTMLCOMMENTELEMENT2_APPENDDATA)]
16850     void appendData([in] BSTR bstrstring);
16851
16852     [id(DISPID_IHTMLCOMMENTELEMENT2_INSERTDATA)]
16853      void insertData(
16854             [in] long offset,
16855             [in] BSTR bstrstring);
16856
16857     [id(DISPID_IHTMLCOMMENTELEMENT2_DELETEDATA)]
16858     void deleteData(
16859             [in] long offset,
16860             [in] long Count);
16861
16862     [id(DISPID_IHTMLCOMMENTELEMENT2_REPLACEDATA)]
16863     void replaceData(
16864             [in] long offset,
16865             [in] long Count,
16866             [in] BSTR bstrstring);
16867 }
16868
16869 [
16870     hidden,
16871     uuid(3050f60f-98b5-11cf-bb82-00aa00bdce0b)
16872 ]
16873 dispinterface HTMLElementEvents2
16874 {
16875 properties:
16876 methods:
16877     [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)]
16878     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
16879
16880     [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)]
16881     VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
16882
16883     [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)]
16884     VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
16885
16886     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)]
16887     VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
16888
16889     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)]
16890     void onkeydown([in] IHTMLEventObj* pEvtObj);
16891
16892     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)]
16893     void onkeyup([in] IHTMLEventObj* pEvtObj);
16894
16895     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)]
16896     void onmouseout([in] IHTMLEventObj* pEvtObj);
16897
16898     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)]
16899     void onmouseover([in] IHTMLEventObj* pEvtObj);
16900
16901     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)]
16902     void onmousemove([in] IHTMLEventObj* pEvtObj);
16903
16904     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)]
16905     void onmousedown([in] IHTMLEventObj* pEvtObj);
16906
16907     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)]
16908     void onmouseup([in] IHTMLEventObj* pEvtObj);
16909
16910     [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)]
16911     VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
16912
16913     [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)]
16914     void onfilterchange([in] IHTMLEventObj* pEvtObj);
16915
16916     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)]
16917     VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
16918
16919     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)]
16920     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
16921
16922     [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)]
16923     void onafterupdate([in] IHTMLEventObj* pEvtObj);
16924
16925     [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)]
16926     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
16927
16928     [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)]
16929     VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
16930
16931     [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)]
16932     void onrowenter([in] IHTMLEventObj* pEvtObj);
16933
16934     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)]
16935     void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
16936
16937     [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)]
16938     void ondataavailable([in] IHTMLEventObj* pEvtObj);
16939
16940     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)]
16941     void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
16942
16943     [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)]
16944     void onlosecapture([in] IHTMLEventObj* pEvtObj);
16945
16946     [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)]
16947     void onpropertychange([in] IHTMLEventObj* pEvtObj);
16948
16949     [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)]
16950     void onscroll([in] IHTMLEventObj* pEvtObj);
16951
16952     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)]
16953     void onfocus([in] IHTMLEventObj* pEvtObj);
16954
16955     [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)]
16956     void onblur([in] IHTMLEventObj* pEvtObj);
16957
16958     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)]
16959     void onresize([in] IHTMLEventObj* pEvtObj);
16960
16961     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)]
16962     VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
16963
16964     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)]
16965     void ondragend([in] IHTMLEventObj* pEvtObj);
16966
16967     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)]
16968     VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
16969
16970     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)]
16971     VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
16972
16973     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)]
16974     void ondragleave([in] IHTMLEventObj* pEvtObj);
16975
16976     [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)]
16977     VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
16978
16979     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)]
16980     VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
16981
16982     [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)]
16983     VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
16984
16985     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)]
16986     VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
16987
16988     [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)]
16989     VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
16990
16991     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)]
16992     VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
16993
16994     [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)]
16995     VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
16996
16997     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)]
16998     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
16999
17000     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)]
17001     void onrowsdelete([in] IHTMLEventObj* pEvtObj);
17002
17003     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)]
17004     void onrowsinserted([in] IHTMLEventObj* pEvtObj);
17005
17006     [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)]
17007     void oncellchange([in] IHTMLEventObj* pEvtObj);
17008
17009     [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)]
17010     void onreadystatechange([in] IHTMLEventObj* pEvtObj);
17011
17012     [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)]
17013     void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
17014
17015     [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)]
17016     void onpage([in] IHTMLEventObj* pEvtObj);
17017
17018     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)]
17019     void onmouseenter([in] IHTMLEventObj* pEvtObj);
17020
17021     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)]
17022     void onmouseleave([in] IHTMLEventObj* pEvtObj);
17023
17024     [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)]
17025     void onactivate([in] IHTMLEventObj* pEvtObj);
17026
17027     [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)]
17028     void ondeactivate([in] IHTMLEventObj* pEvtObj);
17029
17030     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)]
17031     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
17032
17033     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)]
17034     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
17035
17036     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)]
17037     void onfocusin([in] IHTMLEventObj* pEvtObj);
17038
17039     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)]
17040     void onfocusout([in] IHTMLEventObj* pEvtObj);
17041
17042     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)]
17043     void onmove([in] IHTMLEventObj* pEvtObj);
17044
17045     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)]
17046     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
17047
17048     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)]
17049     VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
17050
17051     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)]
17052     void onmoveend([in] IHTMLEventObj* pEvtObj);
17053
17054     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)]
17055     VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
17056
17057     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)]
17058     void onresizeend([in] IHTMLEventObj* pEvtObj);
17059
17060     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)]
17061     VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
17062 };
17063 [
17064     hidden,
17065     uuid(3050f33c-98b5-11cf-bb82-00aa00bdce0b)
17066 ]
17067 dispinterface HTMLElementEvents
17068 {
17069 properties:
17070 methods:
17071     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
17072     VARIANT_BOOL onhelp();
17073
17074     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
17075     VARIANT_BOOL onclick();
17076
17077     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
17078     VARIANT_BOOL ondblclick();
17079
17080     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
17081     VARIANT_BOOL onkeypress();
17082
17083     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
17084     void onkeydown();
17085
17086     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
17087     void onkeyup();
17088
17089     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
17090     void onmouseout();
17091
17092     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
17093     void onmouseover();
17094
17095     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
17096     void onmousemove();
17097
17098     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
17099     void onmousedown();
17100
17101     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
17102     void onmouseup();
17103
17104     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
17105     VARIANT_BOOL onselectstart();
17106
17107     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
17108     void onfilterchange();
17109
17110     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
17111     VARIANT_BOOL ondragstart();
17112
17113     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
17114     VARIANT_BOOL onbeforeupdate();
17115
17116     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
17117     void onafterupdate();
17118
17119     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
17120     VARIANT_BOOL onerrorupdate();
17121
17122     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
17123     VARIANT_BOOL onrowexit();
17124
17125     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
17126     void onrowenter();
17127
17128     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
17129     void ondatasetchanged();
17130
17131     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
17132     void ondataavailable();
17133
17134     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
17135     void ondatasetcomplete();
17136
17137     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
17138     void onlosecapture();
17139
17140     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
17141     void onpropertychange();
17142
17143     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
17144     void onscroll();
17145
17146     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
17147     void onfocus();
17148
17149     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
17150     void onblur();
17151
17152     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
17153     void onresize();
17154
17155     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
17156     VARIANT_BOOL ondrag();
17157
17158     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
17159     void ondragend();
17160
17161     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
17162     VARIANT_BOOL ondragenter();
17163
17164     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
17165     VARIANT_BOOL ondragover();
17166
17167     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
17168     void ondragleave();
17169
17170     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
17171     VARIANT_BOOL ondrop();
17172
17173     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
17174     VARIANT_BOOL onbeforecut();
17175
17176     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
17177     VARIANT_BOOL oncut();
17178
17179     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
17180     VARIANT_BOOL onbeforecopy();
17181
17182     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
17183     VARIANT_BOOL oncopy();
17184
17185     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
17186     VARIANT_BOOL onbeforepaste();
17187
17188     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
17189     VARIANT_BOOL onpaste();
17190
17191     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
17192     VARIANT_BOOL oncontextmenu();
17193
17194     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
17195     void onrowsdelete();
17196
17197     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
17198     void onrowsinserted();
17199
17200     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
17201     void oncellchange();
17202
17203     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
17204     void onreadystatechange();
17205
17206     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
17207     void onbeforeeditfocus();
17208
17209     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
17210     void onlayoutcomplete();
17211
17212     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
17213     void onpage();
17214
17215     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
17216     VARIANT_BOOL onbeforedeactivate();
17217
17218     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
17219     VARIANT_BOOL onbeforeactivate();
17220
17221     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
17222     void onmove();
17223
17224     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
17225     VARIANT_BOOL oncontrolselect();
17226
17227     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
17228     VARIANT_BOOL onmovestart();
17229
17230     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
17231     void onmoveend();
17232
17233     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
17234     VARIANT_BOOL onresizestart();
17235
17236     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
17237     void onresizeend();
17238
17239     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
17240     void onmouseenter();
17241
17242     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
17243     void onmouseleave();
17244
17245     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
17246     VARIANT_BOOL onmousewheel();
17247
17248     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
17249     void onactivate();
17250
17251     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
17252     void ondeactivate();
17253
17254     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
17255     void onfocusin();
17256
17257     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
17258     void onfocusout();
17259
17260 };
17261
17262 [
17263     noncreatable,
17264     uuid(3050f317-98b5-11cf-bb82-00aa00bdce0b)
17265 ]
17266 coclass HTMLCommentElement
17267 {
17268     [default]           dispinterface DispHTMLCommentElement;
17269     [source, default]   dispinterface HTMLElementEvents;
17270     [source]            dispinterface HTMLElementEvents2;
17271                         interface IHTMLElement;
17272                         interface IHTMLElement2;
17273                         interface IHTMLElement3;
17274                         interface IHTMLElement4;
17275                         interface IHTMLUniqueName;
17276                         interface IHTMLDOMNode;
17277                         interface IHTMLDOMNode2;
17278                         interface IHTMLCommentElement;
17279                         interface IHTMLCommentElement2;
17280 }
17281
17282 /*****************************************************************************
17283  *    HTMLTableEvents dispinterface
17284  */
17285 [
17286     hidden,
17287     uuid(3050f407-98b5-11cf-bb82-00aa00bdce0b)
17288 ]
17289 dispinterface HTMLTableEvents
17290 {
17291 properties:
17292 methods:
17293     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
17294     VARIANT_BOOL onhelp();
17295
17296     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
17297     VARIANT_BOOL onclick();
17298
17299     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
17300     VARIANT_BOOL ondblclick();
17301
17302     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
17303     VARIANT_BOOL onkeypress();
17304
17305     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
17306     void onkeydown();
17307
17308     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
17309     void onkeyup();
17310
17311     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
17312     void onmouseout();
17313
17314     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
17315     void onmouseover();
17316
17317     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
17318     void onmousemove();
17319
17320     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
17321     void onmousedown();
17322
17323     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
17324     void onmouseup();
17325
17326     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
17327     VARIANT_BOOL onselectstart();
17328
17329     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
17330     void onfilterchange();
17331
17332     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
17333     VARIANT_BOOL ondragstart();
17334
17335     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
17336     VARIANT_BOOL onbeforeupdate();
17337
17338     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
17339     void onafterupdate();
17340
17341     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
17342     VARIANT_BOOL onerrorupdate();
17343
17344     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
17345     VARIANT_BOOL onrowexit();
17346
17347     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
17348     void onrowenter();
17349
17350     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
17351     void ondatasetchanged();
17352
17353     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
17354     void ondataavailable();
17355
17356     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
17357     void ondatasetcomplete();
17358
17359     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
17360     void onlosecapture();
17361
17362     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
17363     void onpropertychange();
17364
17365     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
17366     void onscroll();
17367
17368     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
17369     void onfocus();
17370
17371     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
17372     void onblur();
17373
17374     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
17375     void onresize();
17376
17377     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
17378     VARIANT_BOOL ondrag();
17379
17380     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
17381     void ondragend();
17382
17383     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
17384     VARIANT_BOOL ondragenter();
17385
17386     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
17387     VARIANT_BOOL ondragover();
17388
17389     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
17390     void ondragleave();
17391
17392     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
17393     VARIANT_BOOL ondrop();
17394
17395     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
17396     VARIANT_BOOL onbeforecut();
17397
17398     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
17399     VARIANT_BOOL oncut();
17400
17401     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
17402     VARIANT_BOOL onbeforecopy();
17403
17404     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
17405     VARIANT_BOOL oncopy();
17406
17407     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
17408     VARIANT_BOOL onbeforepaste();
17409
17410     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
17411     VARIANT_BOOL onpaste();
17412
17413     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
17414     VARIANT_BOOL oncontextmenu();
17415
17416     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
17417     void onrowsdelete();
17418
17419     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
17420     void onrowsinserted();
17421
17422     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
17423     void oncellchange();
17424
17425     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
17426     void onreadystatechange();
17427
17428     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
17429     void onbeforeeditfocus();
17430
17431     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
17432     void onlayoutcomplete();
17433
17434     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
17435     void onpage();
17436
17437     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
17438     VARIANT_BOOL onbeforedeactivate();
17439
17440     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
17441     VARIANT_BOOL onbeforeactivate();
17442
17443     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
17444     void onmove();
17445
17446     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
17447     VARIANT_BOOL oncontrolselect();
17448
17449     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
17450     VARIANT_BOOL onmovestart();
17451
17452     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
17453     void onmoveend();
17454
17455     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
17456     VARIANT_BOOL onresizestart();
17457
17458     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
17459     void onresizeend();
17460
17461     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
17462     void onmouseenter();
17463
17464     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
17465     void onmouseleave();
17466
17467     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
17468     VARIANT_BOOL onmousewheel();
17469
17470     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
17471     void onactivate();
17472
17473     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
17474     void ondeactivate();
17475
17476     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
17477     void onfocusin();
17478
17479     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
17480     void onfocusout();
17481 }
17482
17483 /*****************************************************************************
17484  *    IHTMLTableCaption interface
17485  */
17486 [
17487     odl,
17488     oleautomation,
17489     dual,
17490     uuid(3050f2eb-98b5-11cf-bb82-00aa00bdce0b)
17491 ]
17492 interface IHTMLTableCaption : IDispatch
17493 {
17494     [propput, id(DISPID_IHTMLTABLECAPTION_ALIGN)]
17495     HRESULT align([in] BSTR v);
17496
17497     [propget, id(DISPID_IHTMLTABLECAPTION_ALIGN)]
17498     HRESULT align([retval, out] BSTR *p);
17499
17500     [propput, id(DISPID_IHTMLTABLECAPTION_VALIGN)]
17501     HRESULT vAlign([in] BSTR v);
17502
17503     [propget, id(DISPID_IHTMLTABLECAPTION_VALIGN)]
17504     HRESULT vAlign([retval, out] BSTR *p);
17505 }
17506
17507 interface IHTMLTableSection;
17508
17509 /*****************************************************************************
17510  *    IHTMLTable interface
17511  */
17512 [
17513     odl,
17514     oleautomation,
17515     dual,
17516     uuid(3050f21e-98b5-11cf-bb82-00aa00bdce0b)
17517 ]
17518 interface IHTMLTable : IDispatch
17519 {
17520     [propput, id(DISPID_IHTMLTABLE_COLS)]
17521     HRESULT cols([in] long v);
17522
17523     [propget, id(DISPID_IHTMLTABLE_COLS)]
17524     HRESULT cols([retval, out] long *p);
17525
17526     [propput, id(DISPID_IHTMLTABLE_BORDER)]
17527     HRESULT border([in] VARIANT v);
17528
17529     [propget, id(DISPID_IHTMLTABLE_BORDER)]
17530     HRESULT border([retval, out] VARIANT *p);
17531
17532     [propput, id(DISPID_IHTMLTABLE_FRAME)]
17533     HRESULT frame([in] BSTR v);
17534
17535     [propget, id(DISPID_IHTMLTABLE_FRAME)]
17536     HRESULT frame([retval, out] BSTR *p);
17537
17538     [propput, id(DISPID_IHTMLTABLE_RULES)]
17539     HRESULT rules([in] BSTR v);
17540
17541     [propget, id(DISPID_IHTMLTABLE_RULES)]
17542     HRESULT rules([retval, out] BSTR *p);
17543
17544     [propput, id(DISPID_IHTMLTABLE_CELLSPACING)]
17545     HRESULT cellSpacing([in] VARIANT v);
17546
17547     [propget, id(DISPID_IHTMLTABLE_CELLSPACING)]
17548     HRESULT cellSpacing([retval, out] VARIANT *p);
17549
17550     [propput, id(DISPID_IHTMLTABLE_CELLPADDING)]
17551     HRESULT cellPadding([in] VARIANT v);
17552
17553     [propget, id(DISPID_IHTMLTABLE_CELLPADDING)]
17554     HRESULT cellPadding([retval, out] VARIANT *p);
17555
17556     [propput, id(DISPID_IHTMLTABLE_BACKGROUND)]
17557     HRESULT background([in] BSTR v);
17558
17559     [propget, id(DISPID_IHTMLTABLE_BACKGROUND)]
17560     HRESULT background([retval, out] BSTR *p);
17561
17562     [propput, id(DISPID_IHTMLTABLE_BGCOLOR)]
17563     HRESULT bgColor([in] VARIANT v);
17564
17565     [propget, id(DISPID_IHTMLTABLE_BGCOLOR)]
17566     HRESULT bgColor([retval, out] VARIANT *p);
17567
17568     [propput, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
17569     HRESULT borderColor([in] VARIANT v);
17570
17571     [propget, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
17572     HRESULT borderColor([retval, out] VARIANT *p);
17573
17574     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
17575     HRESULT borderColorLight([in] VARIANT v);
17576
17577     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
17578     HRESULT borderColorLight([retval, out] VARIANT *p);
17579
17580     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
17581     HRESULT borderColorDark([in] VARIANT v);
17582
17583     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
17584     HRESULT borderColorDark([retval, out] VARIANT *p);
17585
17586     [propput, id(DISPID_IHTMLTABLE_ALIGN)]
17587     HRESULT align([in] BSTR v);
17588
17589     [propget, id(DISPID_IHTMLTABLE_ALIGN)]
17590     HRESULT align([retval, out] BSTR * p);
17591
17592     [id(DISPID_IHTMLTABLE_REFRESH)]
17593     HRESULT refresh();
17594
17595     [propget, id(DISPID_IHTMLTABLE_ROWS)]
17596     HRESULT rows([retval, out] IHTMLElementCollection **p);
17597
17598     [propput, id(DISPID_IHTMLTABLE_WIDTH)]
17599     HRESULT width([in] VARIANT v);
17600
17601     [propget, id(DISPID_IHTMLTABLE_WIDTH)]
17602     HRESULT width([retval, out] VARIANT *p);
17603
17604     [propput, id(DISPID_IHTMLTABLE_HEIGHT)]
17605     HRESULT height([in] VARIANT v);
17606
17607     [propget, id(DISPID_IHTMLTABLE_HEIGHT)]
17608     HRESULT height([retval, out] VARIANT *p);
17609
17610     [propput, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
17611     HRESULT dataPageSize([in] long v);
17612
17613     [propget, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
17614     HRESULT dataPageSize([retval, out] long *p);
17615
17616     [id(DISPID_IHTMLTABLE_NEXTPAGE)]
17617     HRESULT nextPage();
17618
17619     [id(DISPID_IHTMLTABLE_PREVIOUSPAGE)]
17620     HRESULT previousPage();
17621
17622     [propget, id(DISPID_IHTMLTABLE_THEAD)]
17623     HRESULT tHead([retval, out] IHTMLTableSection **p);
17624
17625     [propget, id(DISPID_IHTMLTABLE_TFOOT)]
17626     HRESULT tFoot([retval, out] IHTMLTableSection **p);
17627
17628     [propget, id(DISPID_IHTMLTABLE_TBODIES)]
17629     HRESULT tBodies([retval, out] IHTMLElementCollection **p);
17630
17631     [propget, id(DISPID_IHTMLTABLE_CAPTION)]
17632     HRESULT caption([retval, out] IHTMLTableCaption **p);
17633
17634     [id(DISPID_IHTMLTABLE_CREATETHEAD)]
17635     HRESULT createTHead([retval, out] IDispatch **head);
17636
17637     [id(DISPID_IHTMLTABLE_DELETETHEAD)]
17638     HRESULT deleteTHead();
17639
17640     [id(DISPID_IHTMLTABLE_CREATETFOOT)]
17641     HRESULT createTFoot([retval, out] IDispatch **foot);
17642
17643     [id(DISPID_IHTMLTABLE_DELETETFOOT)]
17644     HRESULT deleteTFoot();
17645
17646     [id(DISPID_IHTMLTABLE_CREATECAPTION)]
17647     HRESULT createCaption([retval, out] IHTMLTableCaption **caption);
17648
17649     [id(DISPID_IHTMLTABLE_DELETECAPTION)]
17650     HRESULT deleteCaption();
17651
17652     [id(DISPID_IHTMLTABLE_INSERTROW)]
17653     HRESULT insertRow(
17654             [defaultvalue(-1), in] long index,
17655             [retval, out] IDispatch **row);
17656
17657     [id(DISPID_IHTMLTABLE_DELETEROW)]
17658     HRESULT deleteRow([defaultvalue(-1), in] long index);
17659
17660     [propget, id(DISPID_IHTMLTABLE_READYSTATE)]
17661     HRESULT readyState([retval, out] BSTR *p);
17662
17663     [propput, id(DISPID_IHTMLTABLE_ONREADYSTATECHANGE), displaybind, bindable]
17664     HRESULT onreadystatechange([in] VARIANT v);
17665
17666     [propget, id(DISPID_IHTMLTABLE_ONREADYSTATECHANGE), displaybind, bindable]
17667     HRESULT onreadystatechange([retval, out] VARIANT *p);
17668 }
17669
17670 [
17671     odl,
17672     oleautomation,
17673     dual,
17674     uuid(3050f23b-98b5-11cf-bb82-00aa00bdce0b)
17675 ]
17676 interface IHTMLTableSection : IDispatch
17677 {
17678     [propput, id(DISPID_IHTMLTABLESECTION_ALIGN)]
17679     HRESULT align([in] BSTR v);
17680
17681     [propget, id(DISPID_IHTMLTABLESECTION_ALIGN)]
17682     HRESULT align([retval, out] BSTR *p);
17683
17684     [propput, id(DISPID_IHTMLTABLESECTION_VALIGN)]
17685     HRESULT vAlign([in] BSTR v);
17686
17687     [propget, id(DISPID_IHTMLTABLESECTION_VALIGN)]
17688     HRESULT vAlign([retval, out] BSTR *p);
17689
17690     [propput, id(DISPID_IHTMLTABLESECTION_BGCOLOR)]
17691     HRESULT bgColor([in] VARIANT v);
17692
17693     [propget, id(DISPID_IHTMLTABLESECTION_BGCOLOR)]
17694     HRESULT bgColor([retval, out] VARIANT *p);
17695
17696     [propget, id(DISPID_IHTMLTABLESECTION_ROWS)]
17697     HRESULT rows([retval, out] IHTMLElementCollection **p);
17698
17699     [id(DISPID_IHTMLTABLESECTION_INSERTROW)]
17700     HRESULT insertRow(
17701             [defaultvalue(-1), in] long index,
17702             [retval, out] IDispatch **row);
17703
17704     [id(DISPID_IHTMLTABLESECTION_DELETEROW)]
17705     HRESULT deleteRow([defaultvalue(-1), in] long index);
17706 }
17707
17708 /*****************************************************************************
17709  *    IHTMLTableRow interface
17710  */
17711 [
17712     odl,
17713     oleautomation,
17714     dual,
17715     uuid(3050f23c-98b5-11cf-bb82-00aa00bdce0b)
17716 ]
17717 interface IHTMLTableRow : IDispatch
17718 {
17719     [propput, id(DISPID_IHTMLTABLEROW_ALIGN)]
17720     HRESULT align([in] BSTR v);
17721
17722     [propget, id(DISPID_IHTMLTABLEROW_ALIGN)]
17723     HRESULT align([out, retval] BSTR *p);
17724
17725     [propput, id(DISPID_IHTMLTABLEROW_VALIGN)]
17726     HRESULT vAlign([in] BSTR v);
17727
17728     [propget, id(DISPID_IHTMLTABLEROW_VALIGN)]
17729     HRESULT vAlign([out, retval] BSTR *p);
17730
17731     [propput, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
17732     HRESULT bgColor([in] VARIANT v);
17733
17734     [propget, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
17735     HRESULT bgColor([out, retval] VARIANT *p);
17736
17737     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
17738     HRESULT borderColor([in] VARIANT v);
17739
17740     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
17741     HRESULT borderColor([out, retval] VARIANT *p);
17742
17743     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
17744     HRESULT borderColorLight([in] VARIANT v);
17745
17746     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
17747     HRESULT borderColorLight([out, retval] VARIANT *p);
17748
17749     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
17750     HRESULT borderColorDark([in] VARIANT v);
17751
17752     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
17753     HRESULT borderColorDark([out, retval] VARIANT *p);
17754
17755     [propget, id(DISPID_IHTMLTABLEROW_ROWINDEX)]
17756     HRESULT rowIndex([out, retval] long *p);
17757
17758     [propget, id(DISPID_IHTMLTABLEROW_SECTIONROWINDEX)]
17759     HRESULT sectionRowIndex([out, retval] long *p);
17760
17761     [propget, id(DISPID_IHTMLTABLEROW_CELLS)]
17762     HRESULT cells([out, retval] IHTMLElementCollection **p);
17763
17764     [id(DISPID_IHTMLTABLEROW_INSERTCELL)]
17765     HRESULT insertCell(
17766             [in, defaultvalue(-1)] long index,
17767             [out, retval] IDispatch **row);
17768
17769     [id(DISPID_IHTMLTABLEROW_DELETECELL)]
17770     HRESULT deleteCell([in, defaultvalue(-1)] long index);
17771 }
17772
17773 /*****************************************************************************
17774  *    DispHTMLTable interface
17775  */
17776 [
17777     hidden,
17778     uuid(3050f532-98b5-11cf-bb82-00aa00bdce0b)
17779 ]
17780 dispinterface DispHTMLTable
17781 {
17782 properties:
17783 methods:
17784     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
17785     void setAttribute(
17786             [in] BSTR strAttributeName,
17787             [in] VARIANT AttributeValue,
17788             [in, defaultvalue(1)] LONG lFlags);
17789
17790     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
17791     VARIANT getAttribute(
17792              [in] BSTR strAttributeName,
17793              [in, defaultvalue(0)] LONG lFlags);
17794
17795     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
17796     VARIANT_BOOL removeAttribute(
17797             [in] BSTR strAttributeName,
17798             [in, defaultvalue(1)] LONG lFlags);
17799
17800     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
17801     void className(BSTR v);
17802
17803     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
17804     BSTR className();
17805
17806     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
17807     void id(BSTR v);
17808
17809     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
17810     BSTR id();
17811
17812     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
17813     BSTR tagName();
17814
17815     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
17816     IHTMLElement *parentElement();
17817
17818     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
17819     IHTMLStyle *style();
17820
17821     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
17822     void onhelp(VARIANT v);
17823
17824     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
17825     VARIANT onhelp();
17826
17827     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
17828     void onclick(VARIANT v);
17829
17830     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
17831     VARIANT onclick();
17832
17833     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
17834     void ondblclick(VARIANT v);
17835
17836     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
17837     VARIANT ondblclick();
17838
17839     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
17840     void onkeydown(VARIANT v);
17841
17842     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
17843     VARIANT onkeydown();
17844
17845     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
17846     void onkeyup(VARIANT v);
17847
17848     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
17849     VARIANT onkeyup();
17850
17851     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
17852     void onkeypress(VARIANT v);
17853
17854     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
17855     VARIANT onkeypress();
17856
17857     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
17858     void onmouseout(VARIANT v);
17859
17860     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
17861     VARIANT onmouseout();
17862
17863     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
17864     void onmouseover(VARIANT v);
17865
17866     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
17867     VARIANT onmouseover();
17868
17869     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
17870     void onmousemove(VARIANT v);
17871
17872     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
17873     VARIANT onmousemove();
17874
17875     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
17876     void onmousedown(VARIANT v);
17877
17878     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
17879     VARIANT onmousedown();
17880
17881     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
17882     void onmouseup(VARIANT v);
17883
17884     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
17885     VARIANT onmouseup();
17886
17887     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
17888     IDispatch *document();
17889
17890     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
17891     void title(BSTR v);
17892
17893     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
17894     BSTR title();
17895
17896     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
17897     void language(BSTR v);
17898
17899     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
17900     BSTR language();
17901
17902     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
17903     void onselectstart(VARIANT v);
17904
17905     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
17906     VARIANT onselectstart();
17907
17908     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
17909     void scrollIntoView([in, optional] VARIANT varargStart);
17910
17911     [id(DISPID_IHTMLELEMENT_CONTAINS)]
17912     VARIANT_BOOL contains([in] IHTMLElement *pChild);
17913
17914     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
17915     long sourceIndex();
17916
17917     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
17918     VARIANT recordNumber();
17919
17920     [propput, id(DISPID_IHTMLELEMENT_LANG)]
17921     void lang(BSTR v);
17922
17923     [propget, id(DISPID_IHTMLELEMENT_LANG)]
17924     BSTR lang();
17925
17926     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
17927     long offsetLeft();
17928
17929     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
17930     long offsetTop();
17931
17932     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
17933     long offsetWidth();
17934
17935     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
17936     long offsetHeight();
17937
17938     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
17939     IHTMLElement *offsetParent();
17940
17941     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
17942     void innerHTML(BSTR v);
17943
17944     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
17945     BSTR innerHTML();
17946
17947     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
17948     void innerText(BSTR v);
17949
17950     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
17951     BSTR innerText();
17952
17953     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
17954     void outerHTML(BSTR v);
17955
17956     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
17957     BSTR outerHTML();
17958
17959     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
17960     void outerText(BSTR v);
17961
17962     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
17963     BSTR outerText();
17964
17965     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
17966     void insertAdjacentHTML(
17967             [in] BSTR where,
17968             [in] BSTR html);
17969
17970     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
17971     void insertAdjacentText(
17972             [in] BSTR where,
17973             [in] BSTR text);
17974
17975     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
17976     IHTMLElement *parentTextEdit();
17977
17978     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
17979     VARIANT_BOOL isTextEdit();
17980
17981     [id(DISPID_IHTMLELEMENT_CLICK)]
17982     void click();
17983
17984     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
17985     IHTMLFiltersCollection *filters();
17986
17987     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
17988     void ondragstart(VARIANT v);
17989
17990     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
17991     VARIANT ondragstart();
17992
17993     [id(DISPID_IHTMLELEMENT_TOSTRING)]
17994     BSTR toString();
17995
17996     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
17997     void onbeforeupdate(VARIANT v);
17998
17999     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
18000     VARIANT onbeforeupdate();
18001
18002     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
18003     void onafterupdate(VARIANT v);
18004
18005     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
18006     VARIANT onafterupdate();
18007
18008     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
18009     void onerrorupdate(VARIANT v);
18010
18011     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
18012     VARIANT onerrorupdate();
18013
18014     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
18015     void onrowexit(VARIANT v);
18016
18017     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
18018     VARIANT onrowexit();
18019
18020     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
18021     void onrowenter(VARIANT v);
18022
18023     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
18024     VARIANT onrowenter();
18025
18026     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
18027     void ondatasetchanged(VARIANT v);
18028
18029     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
18030     VARIANT ondatasetchanged();
18031
18032     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
18033     void ondataavailable(VARIANT v);
18034
18035     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
18036     VARIANT ondataavailable();
18037
18038     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
18039     void ondatasetcomplete(VARIANT v);
18040
18041     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
18042     VARIANT ondatasetcomplete();
18043
18044     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
18045     void onfilterchange(VARIANT v);
18046
18047     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
18048     VARIANT onfilterchange();
18049
18050     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
18051     IDispatch *children();
18052
18053     [propget, id(DISPID_IHTMLELEMENT_ALL)]
18054     IDispatch *all();
18055
18056     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
18057     BSTR scopeName();
18058
18059     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
18060     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
18061
18062     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
18063     void releaseCapture();
18064
18065     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
18066     void onlosecapture(VARIANT v);
18067
18068     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
18069     VARIANT onlosecapture();
18070
18071     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
18072     BSTR componentFromPoint(
18073             [in] long x,
18074             [in] long y);
18075
18076     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
18077     void doScroll([in, optional] VARIANT component);
18078
18079     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
18080     void onscroll(VARIANT v);
18081
18082     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
18083     VARIANT onscroll();
18084
18085     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
18086     void ondrag(VARIANT v);
18087
18088     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
18089     VARIANT ondrag();
18090
18091     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
18092     void ondragend(VARIANT v);
18093
18094     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
18095     VARIANT ondragend();
18096
18097     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
18098     void ondragenter(VARIANT v);
18099
18100     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
18101     VARIANT ondragenter();
18102
18103     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
18104     void ondragover(VARIANT v);
18105
18106     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
18107     VARIANT ondragover();
18108
18109     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
18110     void ondragleave(VARIANT v);
18111
18112     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
18113     VARIANT ondragleave();
18114
18115     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
18116     void ondrop(VARIANT v);
18117
18118     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
18119     VARIANT ondrop();
18120
18121     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
18122     void onbeforecut(VARIANT v);
18123
18124     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
18125     VARIANT onbeforecut();
18126
18127     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
18128     void oncut(VARIANT v);
18129
18130     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
18131     VARIANT oncut();
18132
18133     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
18134     void onbeforecopy(VARIANT v);
18135
18136     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
18137     VARIANT onbeforecopy();
18138
18139     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
18140     void oncopy(VARIANT v);
18141
18142     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
18143     VARIANT oncopy();
18144
18145     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
18146     void onbeforepaste(VARIANT v);
18147
18148     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
18149     VARIANT onbeforepaste();
18150
18151     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
18152     void onpaste(VARIANT v);
18153
18154     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
18155     VARIANT onpaste();
18156
18157     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
18158     IHTMLCurrentStyle *currentStyle();
18159
18160     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
18161     void onpropertychange(VARIANT v);
18162
18163     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
18164     VARIANT onpropertychange();
18165
18166     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
18167     IHTMLRectCollection *getClientRects();
18168
18169     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
18170     IHTMLRect *getBoundingClientRect();
18171
18172     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
18173     void setExpression(
18174             [in] BSTR propname,
18175             [in] BSTR expression,
18176             [in, defaultvalue("")] BSTR language);
18177
18178     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
18179     VARIANT getExpression([in] BSTR propname);
18180
18181     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
18182     VARIANT_BOOL removeExpression([in] BSTR propname);
18183
18184     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
18185     void tabIndex(short v);
18186
18187     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
18188     short tabIndex();
18189
18190     [id(DISPID_IHTMLELEMENT2_FOCUS)]
18191     void focus();
18192
18193     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
18194     void accessKey(BSTR v);
18195
18196     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
18197     BSTR accessKey();
18198
18199     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
18200     void onblur(VARIANT v);
18201
18202     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
18203     VARIANT onblur();
18204
18205     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
18206     void onfocus(VARIANT v);
18207
18208     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
18209     VARIANT onfocus();
18210
18211     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
18212     void onresize(VARIANT v);
18213
18214     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
18215     VARIANT onresize();
18216
18217     [id(DISPID_IHTMLELEMENT2_BLUR)]
18218     void blur();
18219
18220     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
18221     void addFilter([in] IUnknown *pUnk);
18222
18223     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
18224     void removeFilter([in] IUnknown *pUnk);
18225
18226     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
18227     long clientHeight();
18228
18229     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
18230     long clientWidth();
18231
18232     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
18233     long clientTop();
18234
18235     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
18236     long clientLeft();
18237
18238     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
18239     VARIANT_BOOL attachEvent(
18240             [in] BSTR event,
18241             [in] IDispatch *pDisp);
18242
18243     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
18244     void detachEvent(
18245             [in] BSTR event,
18246             [in] IDispatch *pDisp);
18247
18248     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
18249     VARIANT readyState();
18250
18251     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
18252     void onreadystatechange(VARIANT v);
18253
18254     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
18255     VARIANT onreadystatechange();
18256
18257     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
18258     void onrowsdelete(VARIANT v);
18259
18260     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
18261     VARIANT onrowsdelete();
18262
18263     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
18264     void onrowsinserted(VARIANT v);
18265
18266     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
18267     VARIANT onrowsinserted();
18268
18269     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
18270      void oncellchange(VARIANT v);
18271
18272     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
18273     VARIANT oncellchange();
18274
18275     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
18276     void dir(BSTR v);
18277
18278     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
18279     BSTR dir();
18280
18281     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
18282     IDispatch *createControlRange();
18283
18284     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
18285     long scrollHeight();
18286
18287     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
18288     long scrollWidth();
18289
18290     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
18291     void scrollTop(long v);
18292
18293     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
18294     long scrollTop();
18295
18296     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
18297     void scrollLeft(long v);
18298
18299     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
18300     long scrollLeft();
18301
18302     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
18303     void clearAttributes();
18304
18305     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
18306     void oncontextmenu(VARIANT v);
18307
18308     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
18309     VARIANT oncontextmenu();
18310
18311     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
18312     IHTMLElement *insertAdjacentElement(
18313             [in] BSTR where,
18314             [in] IHTMLElement *insertedElement);
18315
18316     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
18317     IHTMLElement *applyElement(
18318             [in] IHTMLElement *apply,
18319             [in] BSTR where);
18320
18321     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
18322     BSTR getAdjacentText([in] BSTR where);
18323
18324     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
18325     BSTR replaceAdjacentText(
18326             [in] BSTR where,
18327             [in] BSTR newText);
18328
18329     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
18330     VARIANT_BOOL canHaveChildren();
18331
18332     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
18333     long addBehavior(
18334             [in] BSTR bstrUrl,
18335             [in, optional] VARIANT *pvarFactory);
18336
18337     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
18338     VARIANT_BOOL removeBehavior([in] long cookie);
18339
18340     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
18341     IHTMLStyle *runtimeStyle();
18342
18343     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
18344     IDispatch *behaviorUrns();
18345
18346     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
18347     void tagUrn(BSTR v);
18348
18349     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
18350     BSTR tagUrn();
18351
18352     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
18353     void onbeforeeditfocus(VARIANT v);
18354
18355     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
18356     VARIANT onbeforeeditfocus();
18357
18358     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
18359     long readyStateValue();
18360
18361     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
18362     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
18363
18364     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
18365     void mergeAttributes(
18366             [in] IHTMLElement *mergeThis,
18367             [in, optional] VARIANT *pvarFlags);
18368
18369     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
18370     VARIANT_BOOL isMultiLine();
18371
18372     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
18373     VARIANT_BOOL canHaveHTML();
18374
18375     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
18376     void onlayoutcomplete(VARIANT v);
18377
18378     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
18379     VARIANT onlayoutcomplete();
18380
18381     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
18382     void onpage(VARIANT v);
18383
18384     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
18385     VARIANT onpage();
18386
18387     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
18388     void inflateBlock(VARIANT_BOOL v);
18389
18390     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
18391     VARIANT_BOOL inflateBlock();
18392
18393     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
18394     void onbeforedeactivate(VARIANT v);
18395
18396     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
18397     VARIANT onbeforedeactivate();
18398
18399     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
18400     void setActive();
18401
18402     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
18403     void contentEditable(BSTR v);
18404
18405     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
18406     BSTR contentEditable();
18407
18408     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
18409     VARIANT_BOOL isContentEditable();
18410
18411     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
18412     void hideFocus(VARIANT_BOOL v);
18413
18414     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
18415     VARIANT_BOOL hideFocus();
18416
18417     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
18418     void disabled(VARIANT_BOOL v);
18419
18420     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
18421     VARIANT_BOOL disabled();
18422
18423     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
18424     VARIANT_BOOL isDisabled();
18425
18426     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
18427     void onmove(VARIANT v);
18428
18429     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
18430     VARIANT onmove();
18431
18432     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
18433     void oncontrolselect(VARIANT v);
18434
18435     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
18436     VARIANT oncontrolselect();
18437
18438     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
18439     VARIANT_BOOL fireEvent(
18440             [in] BSTR bstrEventName,
18441             [in, optional] VARIANT *pvarEventObject);
18442
18443     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
18444     void onresizestart(VARIANT v);
18445
18446     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
18447     VARIANT onresizestart();
18448
18449     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
18450     void onresizeend(VARIANT v);
18451
18452     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
18453     VARIANT onresizeend();
18454
18455     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
18456     void onmovestart(VARIANT v);
18457
18458     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
18459     VARIANT onmovestart();
18460
18461     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
18462     void onmoveend(VARIANT v);
18463
18464     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
18465     VARIANT onmoveend();
18466
18467     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
18468     void onmouseenter(VARIANT v);
18469
18470     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
18471     VARIANT onmouseenter();
18472
18473     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
18474     void onmouseleave(VARIANT v);
18475
18476     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
18477     VARIANT onmouseleave();
18478
18479     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
18480     void onactivate(VARIANT v);
18481
18482     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
18483     VARIANT onactivate();
18484
18485     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
18486     void ondeactivate(VARIANT v);
18487
18488     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
18489     VARIANT ondeactivate();
18490
18491     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
18492     VARIANT_BOOL dragDrop();
18493
18494     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
18495     LONG glyphMode();
18496
18497     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
18498     void onmousewheel(VARIANT v);
18499
18500     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
18501     VARIANT onmousewheel();
18502
18503     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
18504     void normalize();
18505
18506     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
18507     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
18508
18509     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
18510     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
18511
18512     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
18513     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
18514
18515     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
18516     void onbeforeactivate(VARIANT v);
18517
18518     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
18519     VARIANT onbeforeactivate();
18520
18521     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
18522     void onfocusin(VARIANT v);
18523
18524     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
18525     VARIANT onfocusin();
18526
18527     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
18528     void onfocusout(VARIANT v);
18529
18530     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
18531     VARIANT onfocusout();
18532
18533     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
18534     long uniqueNumber();
18535
18536     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
18537     BSTR uniqueID();
18538
18539     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
18540     long nodeType();
18541
18542     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
18543     IHTMLDOMNode *parentNode();
18544
18545     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
18546     VARIANT_BOOL hasChildNodes();
18547
18548     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
18549     IDispatch *childNodes();
18550
18551     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
18552     IDispatch *attributes();
18553
18554     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
18555     IHTMLDOMNode *insertBefore(
18556             [in] IHTMLDOMNode *newChild,
18557             [in, optional] VARIANT refChild);
18558
18559     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
18560     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
18561
18562     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
18563     IHTMLDOMNode *replaceChild(
18564             [in] IHTMLDOMNode *newChild,
18565             [in] IHTMLDOMNode *oldChild);
18566
18567     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
18568     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
18569
18570     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
18571     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
18572
18573     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
18574     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
18575
18576     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
18577     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
18578
18579     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
18580     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
18581
18582     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
18583     BSTR nodeName();
18584
18585     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
18586     void nodeValue(VARIANT v);
18587
18588     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
18589     VARIANT nodeValue();
18590
18591     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
18592     IHTMLDOMNode *firstChild();
18593
18594     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
18595     IHTMLDOMNode *lastChild();
18596
18597     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
18598     IHTMLDOMNode *previousSibling();
18599
18600     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
18601     IHTMLDOMNode *nextSibling();
18602
18603     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
18604     IDispatch *ownerDocument();
18605
18606     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
18607     void dataFld(BSTR v);
18608
18609     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
18610     BSTR dataFld();
18611
18612     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
18613     void dataSrc(BSTR v);
18614
18615     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
18616     BSTR dataSrc();
18617
18618     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
18619     void dataFormatAs(BSTR v);
18620
18621     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
18622     BSTR dataFormatAs();
18623
18624     [propput, id(DISPID_IHTMLTABLE_COLS)]
18625     void cols(long v);
18626
18627     [propget, id(DISPID_IHTMLTABLE_COLS)]
18628     long cols();
18629
18630     [propput, id(DISPID_IHTMLTABLE_BORDER)]
18631     void border(VARIANT v);
18632
18633     [propget, id(DISPID_IHTMLTABLE_BORDER)]
18634     VARIANT border();
18635
18636     [propput, id(DISPID_IHTMLTABLE_FRAME)]
18637     void frame(BSTR v);
18638
18639     [propget, id(DISPID_IHTMLTABLE_FRAME)]
18640     BSTR frame();
18641
18642     [propput, id(DISPID_IHTMLTABLE_RULES)]
18643     void rules(BSTR v);
18644
18645     [propget, id(DISPID_IHTMLTABLE_RULES)]
18646     BSTR rules();
18647
18648     [propput, id(DISPID_IHTMLTABLE_CELLSPACING)]
18649     void cellSpacing(VARIANT v);
18650
18651     [propget, id(DISPID_IHTMLTABLE_CELLSPACING)]
18652     VARIANT cellSpacing();
18653
18654     [propput, id(DISPID_IHTMLTABLE_CELLPADDING)]
18655     void cellPadding(VARIANT v);
18656
18657     [propget, id(DISPID_IHTMLTABLE_CELLPADDING)]
18658     VARIANT cellPadding();
18659
18660     [propput, id(DISPID_IHTMLTABLE_BACKGROUND)]
18661     void background(BSTR v);
18662
18663     [propget, id(DISPID_IHTMLTABLE_BACKGROUND)]
18664     BSTR background();
18665
18666     [propput, id(DISPID_IHTMLTABLE_BGCOLOR)]
18667     void bgColor(VARIANT v);
18668
18669     [propget, id(DISPID_IHTMLTABLE_BGCOLOR)]
18670     VARIANT bgColor();
18671
18672     [propput, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
18673     void borderColor(VARIANT v);
18674
18675     [propget, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
18676     VARIANT borderColor();
18677
18678     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
18679     void borderColorLight(VARIANT v);
18680
18681     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
18682     VARIANT borderColorLight();
18683
18684     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
18685     void borderColorDark(VARIANT v);
18686
18687     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
18688     VARIANT borderColorDark();
18689
18690     [propput, id(DISPID_IHTMLTABLE_ALIGN)]
18691     void align(BSTR v);
18692
18693     [propget, id(DISPID_IHTMLTABLE_ALIGN)]
18694     BSTR align();
18695
18696     [id(DISPID_IHTMLTABLE_REFRESH)]
18697     void refresh();
18698
18699     [propget, id(DISPID_IHTMLTABLE_ROWS)]
18700     IHTMLElementCollection *rows();
18701
18702     [propput, id(DISPID_IHTMLTABLE_WIDTH)]
18703     void width(VARIANT v);
18704
18705     [propget, id(DISPID_IHTMLTABLE_WIDTH)]
18706     VARIANT width();
18707
18708     [propput, id(DISPID_IHTMLTABLE_HEIGHT)]
18709     void height(VARIANT v);
18710
18711     [propget, id(DISPID_IHTMLTABLE_HEIGHT)]
18712     VARIANT height();
18713
18714     [propput, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
18715     void dataPageSize(long v);
18716
18717     [propget, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
18718     long dataPageSize();
18719
18720     [id(DISPID_IHTMLTABLE_NEXTPAGE)]
18721     void nextPage();
18722
18723     [id(DISPID_IHTMLTABLE_PREVIOUSPAGE)]
18724     void previousPage();
18725
18726     [propget, id(DISPID_IHTMLTABLE_THEAD)]
18727     IHTMLTableSection *tHead();
18728
18729     [propget, id(DISPID_IHTMLTABLE_TFOOT)]
18730     IHTMLTableSection *tFoot();
18731
18732     [propget, id(DISPID_IHTMLTABLE_TBODIES)]
18733     IHTMLElementCollection *tBodies();
18734
18735     [propget, id(DISPID_IHTMLTABLE_CAPTION)]
18736     IHTMLTableCaption *caption();
18737
18738     [id(DISPID_IHTMLTABLE_CREATETHEAD)]
18739     IDispatch *createTHead();
18740
18741     [id(DISPID_IHTMLTABLE_DELETETHEAD)]
18742     void deleteTHead();
18743
18744     [id(DISPID_IHTMLTABLE_CREATETFOOT)]
18745     IDispatch *createTFoot();
18746
18747     [id(DISPID_IHTMLTABLE_DELETETFOOT)]
18748     void deleteTFoot();
18749
18750     [id(DISPID_IHTMLTABLE_CREATECAPTION)]
18751     IHTMLTableCaption *createCaption();
18752
18753     [id(DISPID_IHTMLTABLE_DELETECAPTION)]
18754     void deleteCaption();
18755
18756     [id(DISPID_IHTMLTABLE_INSERTROW)]
18757     IDispatch *insertRow([in, defaultvalue(-1)] long index);
18758
18759     [id(DISPID_IHTMLTABLE_DELETEROW)]
18760     void deleteRow([in, defaultvalue(-1)] long index);
18761
18762     [id(DISPID_IHTMLTABLE2_FIRSTPAGE)]
18763     void firstPage();
18764
18765     [id(DISPID_IHTMLTABLE2_LASTPAGE)]
18766     void lastPage();
18767
18768     [propget, id(DISPID_IHTMLTABLE2_CELLS)]
18769     IHTMLElementCollection *cells();
18770
18771     [id(DISPID_IHTMLTABLE2_MOVEROW)]
18772     IDispatch *moveRow(
18773             [in, defaultvalue(-1)] long indexFrom,
18774             [in, defaultvalue(-1)] long indexTo);
18775
18776     [propput, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
18777     void summary(BSTR v);
18778
18779     [propget, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
18780     BSTR summary();
18781 }
18782
18783 /*****************************************************************************
18784  *    DispHTMLTableRow dispinterface
18785  */
18786 [
18787     hidden,
18788     uuid(3050f535-98b5-11cf-bb82-00aa00bdce0b)
18789 ]
18790 dispinterface DispHTMLTableRow
18791 {
18792 properties:
18793 methods:
18794     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
18795     void setAttribute(
18796             [in] BSTR strAttributeName,
18797             [in] VARIANT AttributeValue,
18798             [in, defaultvalue(1)] LONG lFlags);
18799
18800     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
18801     VARIANT getAttribute(
18802              [in] BSTR strAttributeName,
18803              [in, defaultvalue(0)] LONG lFlags);
18804
18805     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
18806     VARIANT_BOOL removeAttribute(
18807             [in] BSTR strAttributeName,
18808             [in, defaultvalue(1)] LONG lFlags);
18809
18810     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
18811     void className(BSTR v);
18812
18813     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
18814     BSTR className();
18815
18816     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
18817     void id(BSTR v);
18818
18819     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
18820     BSTR id();
18821
18822     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
18823     BSTR tagName();
18824
18825     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
18826     IHTMLElement *parentElement();
18827
18828     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
18829     IHTMLStyle *style();
18830
18831     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
18832     void onhelp(VARIANT v);
18833
18834     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
18835     VARIANT onhelp();
18836
18837     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
18838     void onclick(VARIANT v);
18839
18840     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
18841     VARIANT onclick();
18842
18843     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
18844     void ondblclick(VARIANT v);
18845
18846     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
18847     VARIANT ondblclick();
18848
18849     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
18850     void onkeydown(VARIANT v);
18851
18852     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
18853     VARIANT onkeydown();
18854
18855     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
18856     void onkeyup(VARIANT v);
18857
18858     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
18859     VARIANT onkeyup();
18860
18861     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
18862     void onkeypress(VARIANT v);
18863
18864     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
18865     VARIANT onkeypress();
18866
18867     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
18868     void onmouseout(VARIANT v);
18869
18870     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
18871     VARIANT onmouseout();
18872
18873     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
18874     void onmouseover(VARIANT v);
18875
18876     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
18877     VARIANT onmouseover();
18878
18879     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
18880     void onmousemove(VARIANT v);
18881
18882     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
18883     VARIANT onmousemove();
18884
18885     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
18886     void onmousedown(VARIANT v);
18887
18888     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
18889     VARIANT onmousedown();
18890
18891     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
18892     void onmouseup(VARIANT v);
18893
18894     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
18895     VARIANT onmouseup();
18896
18897     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
18898     IDispatch *document();
18899
18900     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
18901     void title(BSTR v);
18902
18903     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
18904     BSTR title();
18905
18906     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
18907     void language(BSTR v);
18908
18909     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
18910     BSTR language();
18911
18912     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
18913     void onselectstart(VARIANT v);
18914
18915     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
18916     VARIANT onselectstart();
18917
18918     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
18919     void scrollIntoView([in, optional] VARIANT varargStart);
18920
18921     [id(DISPID_IHTMLELEMENT_CONTAINS)]
18922     VARIANT_BOOL contains([in] IHTMLElement *pChild);
18923
18924     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
18925     long sourceIndex();
18926
18927     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
18928     VARIANT recordNumber();
18929
18930     [propput, id(DISPID_IHTMLELEMENT_LANG)]
18931     void lang(BSTR v);
18932
18933     [propget, id(DISPID_IHTMLELEMENT_LANG)]
18934     BSTR lang();
18935
18936     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
18937     long offsetLeft();
18938
18939     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
18940     long offsetTop();
18941
18942     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
18943     long offsetWidth();
18944
18945     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
18946     long offsetHeight();
18947
18948     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
18949     IHTMLElement *offsetParent();
18950
18951     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
18952     void innerHTML(BSTR v);
18953
18954     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
18955     BSTR innerHTML();
18956
18957     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
18958     void innerText(BSTR v);
18959
18960     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
18961     BSTR innerText();
18962
18963     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
18964     void outerHTML(BSTR v);
18965
18966     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
18967     BSTR outerHTML();
18968
18969     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
18970     void outerText(BSTR v);
18971
18972     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
18973     BSTR outerText();
18974
18975     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
18976     void insertAdjacentHTML(
18977             [in] BSTR where,
18978             [in] BSTR html);
18979
18980     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
18981     void insertAdjacentText(
18982             [in] BSTR where,
18983             [in] BSTR text);
18984
18985     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
18986     IHTMLElement *parentTextEdit();
18987
18988     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
18989     VARIANT_BOOL isTextEdit();
18990
18991     [id(DISPID_IHTMLELEMENT_CLICK)]
18992     void click();
18993
18994     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
18995     IHTMLFiltersCollection *filters();
18996
18997     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
18998     void ondragstart(VARIANT v);
18999
19000     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
19001     VARIANT ondragstart();
19002
19003     [id(DISPID_IHTMLELEMENT_TOSTRING)]
19004     BSTR toString();
19005
19006     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
19007     void onbeforeupdate(VARIANT v);
19008
19009     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
19010     VARIANT onbeforeupdate();
19011
19012     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
19013     void onafterupdate(VARIANT v);
19014
19015     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
19016     VARIANT onafterupdate();
19017
19018     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
19019     void onerrorupdate(VARIANT v);
19020
19021     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
19022     VARIANT onerrorupdate();
19023
19024     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
19025     void onrowexit(VARIANT v);
19026
19027     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
19028     VARIANT onrowexit();
19029
19030     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
19031     void onrowenter(VARIANT v);
19032
19033     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
19034     VARIANT onrowenter();
19035
19036     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
19037     void ondatasetchanged(VARIANT v);
19038
19039     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
19040     VARIANT ondatasetchanged();
19041
19042     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
19043     void ondataavailable(VARIANT v);
19044
19045     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
19046     VARIANT ondataavailable();
19047
19048     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
19049     void ondatasetcomplete(VARIANT v);
19050
19051     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
19052     VARIANT ondatasetcomplete();
19053
19054     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
19055     void onfilterchange(VARIANT v);
19056
19057     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
19058     VARIANT onfilterchange();
19059
19060     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
19061     IDispatch *children();
19062
19063     [propget, id(DISPID_IHTMLELEMENT_ALL)]
19064     IDispatch *all();
19065
19066     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
19067     BSTR scopeName();
19068
19069     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
19070     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
19071
19072     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
19073     void releaseCapture();
19074
19075     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
19076     void onlosecapture(VARIANT v);
19077
19078     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
19079     VARIANT onlosecapture();
19080
19081     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
19082     BSTR componentFromPoint(
19083             [in] long x,
19084             [in] long y);
19085
19086     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
19087     void doScroll([in, optional] VARIANT component);
19088
19089     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
19090     void onscroll(VARIANT v);
19091
19092     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
19093     VARIANT onscroll();
19094
19095     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
19096     void ondrag(VARIANT v);
19097
19098     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
19099     VARIANT ondrag();
19100
19101     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
19102     void ondragend(VARIANT v);
19103
19104     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
19105     VARIANT ondragend();
19106
19107     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
19108     void ondragenter(VARIANT v);
19109
19110     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
19111     VARIANT ondragenter();
19112
19113     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
19114     void ondragover(VARIANT v);
19115
19116     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
19117     VARIANT ondragover();
19118
19119     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
19120     void ondragleave(VARIANT v);
19121
19122     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
19123     VARIANT ondragleave();
19124
19125     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
19126     void ondrop(VARIANT v);
19127
19128     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
19129     VARIANT ondrop();
19130
19131     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
19132     void onbeforecut(VARIANT v);
19133
19134     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
19135     VARIANT onbeforecut();
19136
19137     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
19138     void oncut(VARIANT v);
19139
19140     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
19141     VARIANT oncut();
19142
19143     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
19144     void onbeforecopy(VARIANT v);
19145
19146     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
19147     VARIANT onbeforecopy();
19148
19149     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
19150     void oncopy(VARIANT v);
19151
19152     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
19153     VARIANT oncopy();
19154
19155     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
19156     void onbeforepaste(VARIANT v);
19157
19158     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
19159     VARIANT onbeforepaste();
19160
19161     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
19162     void onpaste(VARIANT v);
19163
19164     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
19165     VARIANT onpaste();
19166
19167     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
19168     IHTMLCurrentStyle *currentStyle();
19169
19170     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
19171     void onpropertychange(VARIANT v);
19172
19173     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
19174     VARIANT onpropertychange();
19175
19176     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
19177     IHTMLRectCollection *getClientRects();
19178
19179     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
19180     IHTMLRect *getBoundingClientRect();
19181
19182     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
19183     void setExpression(
19184             [in] BSTR propname,
19185             [in] BSTR expression,
19186             [in, defaultvalue("")] BSTR language);
19187
19188     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
19189     VARIANT getExpression([in] BSTR propname);
19190
19191     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
19192     VARIANT_BOOL removeExpression([in] BSTR propname);
19193
19194     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
19195     void tabIndex(short v);
19196
19197     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
19198     short tabIndex();
19199
19200     [id(DISPID_IHTMLELEMENT2_FOCUS)]
19201     void focus();
19202
19203     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
19204     void accessKey(BSTR v);
19205
19206     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
19207     BSTR accessKey();
19208
19209     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
19210     void onblur(VARIANT v);
19211
19212     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
19213     VARIANT onblur();
19214
19215     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
19216     void onfocus(VARIANT v);
19217
19218     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
19219     VARIANT onfocus();
19220
19221     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
19222     void onresize(VARIANT v);
19223
19224     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
19225     VARIANT onresize();
19226
19227     [id(DISPID_IHTMLELEMENT2_BLUR)]
19228     void blur();
19229
19230     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
19231     void addFilter([in] IUnknown *pUnk);
19232
19233     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
19234     void removeFilter([in] IUnknown *pUnk);
19235
19236     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
19237     long clientHeight();
19238
19239     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
19240     long clientWidth();
19241
19242     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
19243     long clientTop();
19244
19245     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
19246     long clientLeft();
19247
19248     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
19249     VARIANT_BOOL attachEvent(
19250             [in] BSTR event,
19251             [in] IDispatch *pDisp);
19252
19253     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
19254     void detachEvent(
19255             [in] BSTR event,
19256             [in] IDispatch *pDisp);
19257
19258     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
19259     VARIANT readyState();
19260
19261     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
19262     void onreadystatechange(VARIANT v);
19263
19264     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
19265     VARIANT onreadystatechange();
19266
19267     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
19268     void onrowsdelete(VARIANT v);
19269
19270     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
19271     VARIANT onrowsdelete();
19272
19273     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
19274     void onrowsinserted(VARIANT v);
19275
19276     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
19277      VARIANT onrowsinserted();
19278
19279     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
19280      void oncellchange(VARIANT v);
19281
19282     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
19283     VARIANT oncellchange();
19284
19285     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
19286     void dir(BSTR v);
19287
19288     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
19289     BSTR dir();
19290
19291     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
19292     IDispatch *createControlRange();
19293
19294     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
19295     long scrollHeight();
19296
19297     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
19298     long scrollWidth();
19299
19300     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
19301     void scrollTop(long v);
19302
19303     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
19304     long scrollTop();
19305
19306     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
19307     void scrollLeft(long v);
19308
19309     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
19310     long scrollLeft();
19311
19312     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
19313     void clearAttributes();
19314
19315     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
19316     void oncontextmenu(VARIANT v);
19317
19318     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
19319     VARIANT oncontextmenu();
19320
19321     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
19322     IHTMLElement *insertAdjacentElement(
19323             [in] BSTR where,
19324             [in] IHTMLElement *insertedElement);
19325
19326     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
19327     IHTMLElement *applyElement(
19328             [in] IHTMLElement *apply,
19329             [in] BSTR where);
19330
19331     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
19332     BSTR getAdjacentText([in] BSTR where);
19333
19334     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
19335     BSTR replaceAdjacentText(
19336             [in] BSTR where,
19337             [in] BSTR newText);
19338
19339     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
19340     VARIANT_BOOL canHaveChildren();
19341
19342     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
19343     long addBehavior(
19344             [in] BSTR bstrUrl,
19345             [in, optional] VARIANT *pvarFactory);
19346
19347     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
19348     VARIANT_BOOL removeBehavior([in] long cookie);
19349
19350     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
19351     IHTMLStyle *runtimeStyle();
19352
19353     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
19354     IDispatch *behaviorUrns();
19355
19356     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
19357     void tagUrn(BSTR v);
19358
19359     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
19360     BSTR tagUrn();
19361
19362     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
19363     void onbeforeeditfocus(VARIANT v);
19364
19365     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
19366     VARIANT onbeforeeditfocus();
19367
19368     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
19369     long readyStateValue();
19370
19371     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
19372     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
19373
19374     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
19375     void mergeAttributes(
19376             [in] IHTMLElement *mergeThis,
19377             [in, optional] VARIANT *pvarFlags);
19378
19379     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
19380     VARIANT_BOOL isMultiLine();
19381
19382     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
19383     VARIANT_BOOL canHaveHTML();
19384
19385     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
19386     void onlayoutcomplete(VARIANT v);
19387
19388     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
19389     VARIANT onlayoutcomplete();
19390
19391     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
19392     void onpage(VARIANT v);
19393
19394     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
19395     VARIANT onpage();
19396
19397     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
19398     void inflateBlock(VARIANT_BOOL v);
19399
19400     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
19401     VARIANT_BOOL inflateBlock();
19402
19403     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
19404     void onbeforedeactivate(VARIANT v);
19405
19406     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
19407     VARIANT onbeforedeactivate();
19408
19409     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
19410     void setActive();
19411
19412     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
19413     void contentEditable(BSTR v);
19414
19415     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
19416     BSTR contentEditable();
19417
19418     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
19419     VARIANT_BOOL isContentEditable();
19420
19421     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
19422     void hideFocus(VARIANT_BOOL v);
19423
19424     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
19425     VARIANT_BOOL hideFocus();
19426
19427     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
19428     void disabled(VARIANT_BOOL v);
19429
19430     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
19431     VARIANT_BOOL disabled();
19432
19433     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
19434     VARIANT_BOOL isDisabled();
19435
19436     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
19437     void onmove(VARIANT v);
19438
19439     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
19440     VARIANT onmove();
19441
19442     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
19443     void oncontrolselect(VARIANT v);
19444
19445     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
19446     VARIANT oncontrolselect();
19447
19448     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
19449     VARIANT_BOOL fireEvent(
19450             [in] BSTR bstrEventName,
19451             [in, optional] VARIANT *pvarEventObject);
19452
19453     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
19454     void onresizestart(VARIANT v);
19455
19456     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
19457     VARIANT onresizestart();
19458
19459     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
19460     void onresizeend(VARIANT v);
19461
19462     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
19463     VARIANT onresizeend();
19464
19465     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
19466     void onmovestart(VARIANT v);
19467
19468     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
19469     VARIANT onmovestart();
19470
19471     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
19472     void onmoveend(VARIANT v);
19473
19474     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
19475     VARIANT onmoveend();
19476
19477     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
19478     void onmouseenter(VARIANT v);
19479
19480     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
19481     VARIANT onmouseenter();
19482
19483     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
19484     void onmouseleave(VARIANT v);
19485
19486     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
19487     VARIANT onmouseleave();
19488
19489     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
19490     void onactivate(VARIANT v);
19491
19492     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
19493     VARIANT onactivate();
19494
19495     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
19496     void ondeactivate(VARIANT v);
19497
19498     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
19499     VARIANT ondeactivate();
19500
19501     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
19502     VARIANT_BOOL dragDrop();
19503
19504     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
19505     LONG glyphMode();
19506
19507     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
19508     void onmousewheel(VARIANT v);
19509
19510     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
19511     VARIANT onmousewheel();
19512
19513     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
19514     void normalize();
19515
19516     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
19517     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
19518
19519     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
19520     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
19521
19522     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
19523     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
19524
19525     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
19526     void onbeforeactivate(VARIANT v);
19527
19528     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
19529     VARIANT onbeforeactivate();
19530
19531     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
19532     void onfocusin(VARIANT v);
19533
19534     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
19535     VARIANT onfocusin();
19536
19537     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
19538     void onfocusout(VARIANT v);
19539
19540     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
19541     VARIANT onfocusout();
19542
19543     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
19544     long uniqueNumber();
19545
19546     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
19547     BSTR uniqueID();
19548
19549     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
19550     long nodeType();
19551
19552     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
19553     IHTMLDOMNode *parentNode();
19554
19555     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
19556     VARIANT_BOOL hasChildNodes();
19557
19558     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
19559     IDispatch *childNodes();
19560
19561     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
19562     IDispatch *attributes();
19563
19564     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
19565     IHTMLDOMNode *insertBefore(
19566             [in] IHTMLDOMNode *newChild,
19567             [in, optional] VARIANT refChild);
19568
19569     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
19570     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
19571
19572     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
19573     IHTMLDOMNode *replaceChild(
19574             [in] IHTMLDOMNode *newChild,
19575             [in] IHTMLDOMNode *oldChild);
19576
19577     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
19578     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
19579
19580     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
19581     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
19582
19583     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
19584     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
19585
19586     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
19587     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
19588
19589     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
19590     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
19591
19592     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
19593     BSTR nodeName();
19594
19595     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
19596     void nodeValue(VARIANT v);
19597
19598     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
19599     VARIANT nodeValue();
19600
19601     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
19602     IHTMLDOMNode *firstChild();
19603
19604     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
19605     IHTMLDOMNode *lastChild();
19606
19607     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
19608     IHTMLDOMNode *previousSibling();
19609
19610     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
19611     IHTMLDOMNode *nextSibling();
19612
19613     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
19614     IDispatch *ownerDocument();
19615
19616     [propput, id(DISPID_IHTMLTABLEROW_ALIGN)]
19617     void align(BSTR v);
19618
19619     [propget, id(DISPID_IHTMLTABLEROW_ALIGN)]
19620     BSTR align();
19621
19622     [propput, id(DISPID_IHTMLTABLEROW_VALIGN)]
19623     void vAlign(BSTR v);
19624
19625     [propget, id(DISPID_IHTMLTABLEROW_VALIGN)]
19626     BSTR vAlign();
19627
19628     [propput, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
19629     void bgColor(VARIANT v);
19630
19631     [propget, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
19632     VARIANT bgColor();
19633
19634     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
19635     void borderColor(VARIANT v);
19636
19637     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
19638     VARIANT borderColor();
19639
19640     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
19641     void borderColorLight(VARIANT v);
19642
19643     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
19644     VARIANT borderColorLight();
19645
19646     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
19647     void borderColorDark(VARIANT v);
19648
19649     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
19650     VARIANT borderColorDark();
19651
19652     [propget, id(DISPID_IHTMLTABLEROW_ROWINDEX)]
19653     long rowIndex();
19654
19655     [propget, id(DISPID_IHTMLTABLEROW_SECTIONROWINDEX)]
19656     long sectionRowIndex();
19657
19658     [propget, id(DISPID_IHTMLTABLEROW_CELLS)]
19659     IHTMLElementCollection *cells();
19660
19661     [id(DISPID_IHTMLTABLEROW_INSERTCELL)]
19662     IDispatch *insertCell([in, defaultvalue(-1)] long index);
19663
19664     [id(DISPID_IHTMLTABLEROW_DELETECELL)]
19665     void deleteCell([in, defaultvalue(-1)] long index);
19666
19667     [propput, id(DISPID_IHTMLTABLEROW2_HEIGHT)]
19668     void height(VARIANT v);
19669
19670     [propget, id(DISPID_IHTMLTABLEROW2_HEIGHT)]
19671     VARIANT height();
19672
19673     [propput, id(DISPID_IHTMLTABLEROW3_CH), displaybind, bindable]
19674     void ch(BSTR v);
19675
19676     [propget, id(DISPID_IHTMLTABLEROW3_CH), displaybind, bindable]
19677     BSTR ch();
19678
19679     [propput, id(DISPID_IHTMLTABLEROW3_CHOFF), displaybind, bindable]
19680     void chOff(BSTR v);
19681
19682     [propget, id(DISPID_IHTMLTABLEROW3_CHOFF), displaybind, bindable]
19683     BSTR chOff();
19684 }
19685
19686 /*****************************************************************************
19687  *    IHTMLScriptElement interface
19688  */
19689 [
19690     odl,
19691     oleautomation,
19692     dual,
19693     uuid(3050f28b-98b5-11cf-bb82-00aa00bdce0b)
19694 ]
19695 interface IHTMLScriptElement : IDispatch
19696 {
19697     [propput, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
19698     HRESULT src([in] BSTR v);
19699
19700     [propget, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
19701     HRESULT src([retval, out] BSTR *p);
19702
19703     [propput, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
19704     HRESULT htmlFor([in] BSTR v);
19705
19706     [propget, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
19707     HRESULT htmlFor([retval, out] BSTR *p);
19708
19709     [propput, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
19710     HRESULT event([in] BSTR v);
19711
19712     [propget, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
19713     HRESULT event([retval, out] BSTR *p);
19714
19715     [propput, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
19716     HRESULT text([in] BSTR v);
19717
19718     [propget, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
19719     HRESULT text([retval, out] BSTR *p);
19720
19721     [propput, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
19722     HRESULT defer([in] VARIANT_BOOL v);
19723
19724     [propget, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
19725     HRESULT defer([retval, out] VARIANT_BOOL *p);
19726
19727     [propget, id(DISPID_IHTMLSCRIPTELEMENT_READYSTATE)]
19728     HRESULT readyState([retval, out] BSTR *p);
19729
19730     [propput, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
19731     HRESULT onerror([in] VARIANT v);
19732
19733     [propget, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
19734     HRESULT onerror([retval, out] VARIANT *p);
19735
19736     [propput, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
19737     HRESULT type([in] BSTR v);
19738
19739     [propget, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
19740     HRESULT type([retval, out] BSTR *p);
19741 }
19742
19743 /*****************************************************************************
19744  *    IHTMLScriptElement2 interface
19745  */
19746 [
19747     odl,
19748     oleautomation,
19749     dual,
19750     uuid(3050f828-98b5-11cf-bb82-00aa00bdce0b)
19751 ]
19752 interface IHTMLScriptElement2 : IDispatch
19753 {
19754     [propput, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
19755     HRESULT charset([in] BSTR v);
19756
19757     [propget, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
19758     HRESULT charset([retval, out] BSTR *p);
19759 }
19760
19761 /*****************************************************************************
19762  *    IHTMLFrameBase interface
19763  */
19764 [
19765     odl,
19766     oleautomation,
19767     dual,
19768     uuid(3050f311-98b5-11cf-bb82-00aa00bdce0b)
19769 ]
19770 interface IHTMLFrameBase : IDispatch
19771 {
19772     [propput, id(DISPID_IHTMLFRAMEBASE_SRC)]
19773     HRESULT src([in] BSTR v);
19774
19775     [propget, id(DISPID_IHTMLFRAMEBASE_SRC)]
19776     HRESULT src([out, retval] BSTR *p);
19777
19778     [propput, id(DISPID_IHTMLFRAMEBASE_NAME)]
19779     HRESULT name([in] BSTR v);
19780
19781     [propget, id(DISPID_IHTMLFRAMEBASE_NAME)]
19782     HRESULT name([out, retval] BSTR *p);
19783
19784     [propput, id(DISPID_IHTMLFRAMEBASE_BORDER)]
19785     HRESULT border([in] VARIANT v);
19786
19787     [propget, id(DISPID_IHTMLFRAMEBASE_BORDER)]
19788     HRESULT border([out, retval] VARIANT *p);
19789
19790     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
19791     HRESULT frameBorder([in] BSTR v);
19792
19793     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
19794     HRESULT frameBorder([out, retval] BSTR *p);
19795
19796     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
19797     HRESULT frameSpacing([in] VARIANT v);
19798
19799     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
19800     HRESULT frameSpacing([out, retval] VARIANT *p);
19801
19802     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
19803     HRESULT marginWidth([in] VARIANT v);
19804
19805     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
19806     HRESULT marginWidth([out, retval] VARIANT *p);
19807
19808     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
19809     HRESULT marginHeight([in] VARIANT v);
19810
19811     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
19812     HRESULT marginHeight([out, retval] VARIANT *p);
19813
19814     [propput, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
19815     HRESULT noResize([in] VARIANT_BOOL v);
19816
19817     [propget, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
19818     HRESULT noResize([out, retval] VARIANT_BOOL *p);
19819
19820     [propput, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
19821     HRESULT scrolling([in] BSTR v);
19822
19823     [propget, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
19824     HRESULT scrolling([out, retval] BSTR *p);
19825 }
19826
19827 /*****************************************************************************
19828  *    IHTMLFrameBase2 interface
19829  */
19830 [
19831     odl,
19832     oleautomation,
19833     dual,
19834     uuid(3050f6db-98b5-11cf-bb82-00aa00bdce0b)
19835 ]
19836 interface IHTMLFrameBase2 : IDispatch
19837 {
19838     [propget, id(DISPID_IHTMLFRAMEBASE2_CONTENTWINDOW)]
19839     HRESULT contentWindow([retval, out] IHTMLWindow2 **p);
19840
19841     [propput, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
19842     HRESULT onload([in] VARIANT v);
19843
19844     [propget, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
19845     HRESULT onload([retval, out] VARIANT *p);
19846
19847     [propput, id(DISPID_IHTMLFRAMEBASE2_ONREADYSTATECHANGE), displaybind, bindable]
19848     HRESULT onreadystatechange([in] VARIANT v);
19849
19850     [propget, id(DISPID_IHTMLFRAMEBASE2_ONREADYSTATECHANGE), displaybind, bindable]
19851     HRESULT onreadystatechange([retval, out] VARIANT *p);
19852
19853     [propget, id(DISPID_IHTMLFRAMEBASE2_READYSTATE)]
19854     HRESULT readyState([retval, out] BSTR *p);
19855
19856     [propput, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
19857     HRESULT allowTransparency([in] VARIANT_BOOL v);
19858
19859     [propget, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
19860     HRESULT allowTransparency([retval, out] VARIANT_BOOL *p);
19861 }
19862
19863 /*****************************************************************************
19864  *    DispHTMLIFrame dispinterface
19865  */
19866 [
19867     hidden,
19868     uuid(3050f51b-98b5-11cf-bb82-00aa00bdce0b)
19869 ]
19870 dispinterface DispHTMLIFrame
19871 {
19872 properties:
19873 methods:
19874     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
19875     void setAttribute(
19876             [in] BSTR strAttributeName,
19877             [in] VARIANT AttributeValue,
19878             [in, defaultvalue(1)] LONG lFlags);
19879
19880     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
19881     VARIANT getAttribute(
19882              [in] BSTR strAttributeName,
19883              [in, defaultvalue(0)] LONG lFlags);
19884
19885     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
19886     VARIANT_BOOL removeAttribute(
19887             [in] BSTR strAttributeName,
19888             [in, defaultvalue(1)] LONG lFlags);
19889
19890     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
19891     void className(BSTR v);
19892
19893     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
19894     BSTR className();
19895
19896     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
19897     void id(BSTR v);
19898
19899     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
19900     BSTR id();
19901
19902     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
19903     BSTR tagName();
19904
19905     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
19906     IHTMLElement *parentElement();
19907
19908     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
19909     IHTMLStyle *style();
19910
19911     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
19912     void onhelp(VARIANT v);
19913
19914     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
19915     VARIANT onhelp();
19916
19917     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
19918     void onclick(VARIANT v);
19919
19920     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
19921     VARIANT onclick();
19922
19923     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
19924     void ondblclick(VARIANT v);
19925
19926     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
19927     VARIANT ondblclick();
19928
19929     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
19930     void onkeydown(VARIANT v);
19931
19932     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
19933     VARIANT onkeydown();
19934
19935     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
19936     void onkeyup(VARIANT v);
19937
19938     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
19939     VARIANT onkeyup();
19940
19941     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
19942     void onkeypress(VARIANT v);
19943
19944     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
19945     VARIANT onkeypress();
19946
19947     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
19948     void onmouseout(VARIANT v);
19949
19950     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
19951     VARIANT onmouseout();
19952
19953     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
19954     void onmouseover(VARIANT v);
19955
19956     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
19957     VARIANT onmouseover();
19958
19959     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
19960     void onmousemove(VARIANT v);
19961
19962     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
19963     VARIANT onmousemove();
19964
19965     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
19966     void onmousedown(VARIANT v);
19967
19968     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
19969     VARIANT onmousedown();
19970
19971     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
19972     void onmouseup(VARIANT v);
19973
19974     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
19975     VARIANT onmouseup();
19976
19977     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
19978     IDispatch *document();
19979
19980     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
19981     void title(BSTR v);
19982
19983     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
19984     BSTR title();
19985
19986     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
19987     void language(BSTR v);
19988
19989     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
19990     BSTR language();
19991
19992     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
19993     void onselectstart(VARIANT v);
19994
19995     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
19996     VARIANT onselectstart();
19997
19998     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
19999     void scrollIntoView([in, optional] VARIANT varargStart);
20000
20001     [id(DISPID_IHTMLELEMENT_CONTAINS)]
20002     VARIANT_BOOL contains([in] IHTMLElement *pChild);
20003
20004     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
20005     long sourceIndex();
20006
20007     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
20008     VARIANT recordNumber();
20009
20010     [propput, id(DISPID_IHTMLELEMENT_LANG)]
20011     void lang(BSTR v);
20012
20013     [propget, id(DISPID_IHTMLELEMENT_LANG)]
20014     BSTR lang();
20015
20016     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
20017     long offsetLeft();
20018
20019     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
20020     long offsetTop();
20021
20022     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
20023     long offsetWidth();
20024
20025     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
20026     long offsetHeight();
20027
20028     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
20029     IHTMLElement *offsetParent();
20030
20031     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
20032     void innerHTML(BSTR v);
20033
20034     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
20035     BSTR innerHTML();
20036
20037     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
20038     void innerText(BSTR v);
20039
20040     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
20041     BSTR innerText();
20042
20043     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
20044     void outerHTML(BSTR v);
20045
20046     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
20047     BSTR outerHTML();
20048
20049     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
20050     void outerText(BSTR v);
20051
20052     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
20053     BSTR outerText();
20054
20055     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
20056     void insertAdjacentHTML(
20057             [in] BSTR where,
20058             [in] BSTR html);
20059
20060     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
20061     void insertAdjacentText(
20062             [in] BSTR where,
20063             [in] BSTR text);
20064
20065     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
20066     IHTMLElement *parentTextEdit();
20067
20068     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
20069     VARIANT_BOOL isTextEdit();
20070
20071     [id(DISPID_IHTMLELEMENT_CLICK)]
20072     void click();
20073
20074     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
20075     IHTMLFiltersCollection *filters();
20076
20077     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
20078     void ondragstart(VARIANT v);
20079
20080     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
20081     VARIANT ondragstart();
20082
20083     [id(DISPID_IHTMLELEMENT_TOSTRING)]
20084     BSTR toString();
20085
20086     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
20087     void onbeforeupdate(VARIANT v);
20088
20089     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
20090     VARIANT onbeforeupdate();
20091
20092     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
20093     void onafterupdate(VARIANT v);
20094
20095     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
20096     VARIANT onafterupdate();
20097
20098     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
20099     void onerrorupdate(VARIANT v);
20100
20101     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
20102     VARIANT onerrorupdate();
20103
20104     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
20105     void onrowexit(VARIANT v);
20106
20107     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
20108     VARIANT onrowexit();
20109
20110     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
20111     void onrowenter(VARIANT v);
20112
20113     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
20114     VARIANT onrowenter();
20115
20116     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
20117     void ondatasetchanged(VARIANT v);
20118
20119     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
20120     VARIANT ondatasetchanged();
20121
20122     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
20123     void ondataavailable(VARIANT v);
20124
20125     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
20126     VARIANT ondataavailable();
20127
20128     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
20129     void ondatasetcomplete(VARIANT v);
20130
20131     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
20132     VARIANT ondatasetcomplete();
20133
20134     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
20135     void onfilterchange(VARIANT v);
20136
20137     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
20138     VARIANT onfilterchange();
20139
20140     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
20141     IDispatch *children();
20142
20143     [propget, id(DISPID_IHTMLELEMENT_ALL)]
20144     IDispatch *all();
20145
20146     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
20147     BSTR scopeName();
20148
20149     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
20150     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
20151
20152     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
20153     void releaseCapture();
20154
20155     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
20156     void onlosecapture(VARIANT v);
20157
20158     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
20159     VARIANT onlosecapture();
20160
20161     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
20162     BSTR componentFromPoint(
20163             [in] long x,
20164             [in] long y);
20165
20166     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
20167     void doScroll([in, optional] VARIANT component);
20168
20169     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
20170     void onscroll(VARIANT v);
20171
20172     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
20173     VARIANT onscroll();
20174
20175     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
20176     void ondrag(VARIANT v);
20177
20178     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
20179     VARIANT ondrag();
20180
20181     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
20182     void ondragend(VARIANT v);
20183
20184     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
20185     VARIANT ondragend();
20186
20187     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
20188     void ondragenter(VARIANT v);
20189
20190     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
20191     VARIANT ondragenter();
20192
20193     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
20194     void ondragover(VARIANT v);
20195
20196     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
20197     VARIANT ondragover();
20198
20199     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
20200     void ondragleave(VARIANT v);
20201
20202     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
20203     VARIANT ondragleave();
20204
20205     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
20206     void ondrop(VARIANT v);
20207
20208     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
20209     VARIANT ondrop();
20210
20211     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
20212     void onbeforecut(VARIANT v);
20213
20214     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
20215     VARIANT onbeforecut();
20216
20217     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
20218     void oncut(VARIANT v);
20219
20220     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
20221     VARIANT oncut();
20222
20223     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
20224     void onbeforecopy(VARIANT v);
20225
20226     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
20227     VARIANT onbeforecopy();
20228
20229     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
20230     void oncopy(VARIANT v);
20231
20232     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
20233     VARIANT oncopy();
20234
20235     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
20236     void onbeforepaste(VARIANT v);
20237
20238     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
20239     VARIANT onbeforepaste();
20240
20241     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
20242     void onpaste(VARIANT v);
20243
20244     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
20245     VARIANT onpaste();
20246
20247     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
20248     IHTMLCurrentStyle *currentStyle();
20249
20250     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
20251     void onpropertychange(VARIANT v);
20252
20253     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
20254     VARIANT onpropertychange();
20255
20256     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
20257     IHTMLRectCollection *getClientRects();
20258
20259     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
20260     IHTMLRect *getBoundingClientRect();
20261
20262     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
20263     void setExpression(
20264             [in] BSTR propname,
20265             [in] BSTR expression,
20266             [in, defaultvalue("")] BSTR language);
20267
20268     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
20269     VARIANT getExpression([in] BSTR propname);
20270
20271     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
20272     VARIANT_BOOL removeExpression([in] BSTR propname);
20273
20274     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
20275     void tabIndex(short v);
20276
20277     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
20278     short tabIndex();
20279
20280     [id(DISPID_IHTMLELEMENT2_FOCUS)]
20281     void focus();
20282
20283     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
20284     void accessKey(BSTR v);
20285
20286     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
20287     BSTR accessKey();
20288
20289     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
20290     void onblur(VARIANT v);
20291
20292     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
20293     VARIANT onblur();
20294
20295     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
20296     void onfocus(VARIANT v);
20297
20298     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
20299     VARIANT onfocus();
20300
20301     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
20302     void onresize(VARIANT v);
20303
20304     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
20305     VARIANT onresize();
20306
20307     [id(DISPID_IHTMLELEMENT2_BLUR)]
20308     void blur();
20309
20310     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
20311     void addFilter([in] IUnknown *pUnk);
20312
20313     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
20314     void removeFilter([in] IUnknown *pUnk);
20315
20316     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
20317     long clientHeight();
20318
20319     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
20320     long clientWidth();
20321
20322     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
20323     long clientTop();
20324
20325     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
20326     long clientLeft();
20327
20328     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
20329     VARIANT_BOOL attachEvent(
20330             [in] BSTR event,
20331             [in] IDispatch *pDisp);
20332
20333     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
20334     void detachEvent(
20335             [in] BSTR event,
20336             [in] IDispatch *pDisp);
20337
20338     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
20339     VARIANT readyState();
20340
20341     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
20342     void onreadystatechange(VARIANT v);
20343
20344     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
20345     VARIANT onreadystatechange();
20346
20347     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
20348     void onrowsdelete(VARIANT v);
20349
20350     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
20351     VARIANT onrowsdelete();
20352
20353     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
20354     void onrowsinserted(VARIANT v);
20355
20356     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
20357      VARIANT onrowsinserted();
20358
20359     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
20360      void oncellchange(VARIANT v);
20361
20362     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
20363     VARIANT oncellchange();
20364
20365     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
20366     void dir(BSTR v);
20367
20368     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
20369     BSTR dir();
20370
20371     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
20372     IDispatch *createControlRange();
20373
20374     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
20375     long scrollHeight();
20376
20377     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
20378     long scrollWidth();
20379
20380     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
20381     void scrollTop(long v);
20382
20383     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
20384     long scrollTop();
20385
20386     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
20387     void scrollLeft(long v);
20388
20389     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
20390     long scrollLeft();
20391
20392     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
20393     void clearAttributes();
20394
20395     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
20396     void oncontextmenu(VARIANT v);
20397
20398     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
20399     VARIANT oncontextmenu();
20400
20401     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
20402     IHTMLElement *insertAdjacentElement(
20403             [in] BSTR where,
20404             [in] IHTMLElement *insertedElement);
20405
20406     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
20407     IHTMLElement *applyElement(
20408             [in] IHTMLElement *apply,
20409             [in] BSTR where);
20410
20411     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
20412     BSTR getAdjacentText([in] BSTR where);
20413
20414     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
20415     BSTR replaceAdjacentText(
20416             [in] BSTR where,
20417             [in] BSTR newText);
20418
20419     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
20420     VARIANT_BOOL canHaveChildren();
20421
20422     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
20423     long addBehavior(
20424             [in] BSTR bstrUrl,
20425             [in, optional] VARIANT *pvarFactory);
20426
20427     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
20428     VARIANT_BOOL removeBehavior([in] long cookie);
20429
20430     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
20431     IHTMLStyle *runtimeStyle();
20432
20433     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
20434     IDispatch *behaviorUrns();
20435
20436     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
20437     void tagUrn(BSTR v);
20438
20439     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
20440     BSTR tagUrn();
20441
20442     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
20443     void onbeforeeditfocus(VARIANT v);
20444
20445     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
20446     VARIANT onbeforeeditfocus();
20447
20448     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
20449     long readyStateValue();
20450
20451     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
20452     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
20453
20454     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
20455     void mergeAttributes(
20456             [in] IHTMLElement *mergeThis,
20457             [in, optional] VARIANT *pvarFlags);
20458
20459     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
20460     VARIANT_BOOL isMultiLine();
20461
20462     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
20463     VARIANT_BOOL canHaveHTML();
20464
20465     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
20466     void onlayoutcomplete(VARIANT v);
20467
20468     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
20469     VARIANT onlayoutcomplete();
20470
20471     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
20472     void onpage(VARIANT v);
20473
20474     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
20475     VARIANT onpage();
20476
20477     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
20478     void inflateBlock(VARIANT_BOOL v);
20479
20480     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
20481     VARIANT_BOOL inflateBlock();
20482
20483     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
20484     void onbeforedeactivate(VARIANT v);
20485
20486     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
20487     VARIANT onbeforedeactivate();
20488
20489     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
20490     void setActive();
20491
20492     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
20493     void contentEditable(BSTR v);
20494
20495     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
20496     BSTR contentEditable();
20497
20498     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
20499     VARIANT_BOOL isContentEditable();
20500
20501     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
20502     void hideFocus(VARIANT_BOOL v);
20503
20504     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
20505     VARIANT_BOOL hideFocus();
20506
20507     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
20508     void disabled(VARIANT_BOOL v);
20509
20510     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
20511     VARIANT_BOOL disabled();
20512
20513     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
20514     VARIANT_BOOL isDisabled();
20515
20516     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
20517     void onmove(VARIANT v);
20518
20519     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
20520     VARIANT onmove();
20521
20522     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
20523     void oncontrolselect(VARIANT v);
20524
20525     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
20526     VARIANT oncontrolselect();
20527
20528     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
20529     VARIANT_BOOL fireEvent(
20530             [in] BSTR bstrEventName,
20531             [in, optional] VARIANT *pvarEventObject);
20532
20533     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
20534     void onresizestart(VARIANT v);
20535
20536     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
20537     VARIANT onresizestart();
20538
20539     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
20540     void onresizeend(VARIANT v);
20541
20542     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
20543     VARIANT onresizeend();
20544
20545     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
20546     void onmovestart(VARIANT v);
20547
20548     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
20549     VARIANT onmovestart();
20550
20551     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
20552     void onmoveend(VARIANT v);
20553
20554     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
20555     VARIANT onmoveend();
20556
20557     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
20558     void onmouseenter(VARIANT v);
20559
20560     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
20561     VARIANT onmouseenter();
20562
20563     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
20564     void onmouseleave(VARIANT v);
20565
20566     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
20567     VARIANT onmouseleave();
20568
20569     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
20570     void onactivate(VARIANT v);
20571
20572     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
20573     VARIANT onactivate();
20574
20575     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
20576     void ondeactivate(VARIANT v);
20577
20578     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
20579     VARIANT ondeactivate();
20580
20581     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
20582     VARIANT_BOOL dragDrop();
20583
20584     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
20585     LONG glyphMode();
20586
20587     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
20588     void onmousewheel(VARIANT v);
20589
20590     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
20591     VARIANT onmousewheel();
20592
20593     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
20594     void normalize();
20595
20596     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
20597     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
20598
20599     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
20600     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
20601
20602     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
20603     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
20604
20605     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
20606     void onbeforeactivate(VARIANT v);
20607
20608     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
20609     VARIANT onbeforeactivate();
20610
20611     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
20612     void onfocusin(VARIANT v);
20613
20614     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
20615     VARIANT onfocusin();
20616
20617     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
20618     void onfocusout(VARIANT v);
20619
20620     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
20621     VARIANT onfocusout();
20622
20623     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
20624     long uniqueNumber();
20625
20626     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
20627     BSTR uniqueID();
20628
20629     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
20630     long nodeType();
20631
20632     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
20633     IHTMLDOMNode *parentNode();
20634
20635     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
20636     VARIANT_BOOL hasChildNodes();
20637
20638     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
20639     IDispatch *childNodes();
20640
20641     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
20642     IDispatch *attributes();
20643
20644     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
20645     IHTMLDOMNode *insertBefore(
20646             [in] IHTMLDOMNode *newChild,
20647             [in, optional] VARIANT refChild);
20648
20649     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
20650     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
20651
20652     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
20653     IHTMLDOMNode *replaceChild(
20654             [in] IHTMLDOMNode *newChild,
20655             [in] IHTMLDOMNode *oldChild);
20656
20657     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
20658     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
20659
20660     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
20661     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
20662
20663     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
20664     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
20665
20666     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
20667     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
20668
20669     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
20670     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
20671
20672     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
20673     BSTR nodeName();
20674
20675     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
20676     void nodeValue(VARIANT v);
20677
20678     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
20679     VARIANT nodeValue();
20680
20681     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
20682     IHTMLDOMNode *firstChild();
20683
20684     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
20685     IHTMLDOMNode *lastChild();
20686
20687     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
20688     IHTMLDOMNode *previousSibling();
20689
20690     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
20691     IHTMLDOMNode *nextSibling();
20692
20693     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
20694     IDispatch *ownerDocument();
20695
20696     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
20697     void dataFld(BSTR v);
20698
20699     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
20700     BSTR dataFld();
20701
20702     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
20703     void dataSrc(BSTR v);
20704
20705     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
20706     BSTR dataSrc();
20707
20708     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
20709     void dataFormatAs(BSTR v);
20710
20711     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
20712     BSTR dataFormatAs();
20713
20714     [propput, id(DISPID_IHTMLFRAMEBASE_SRC)]
20715     void src(BSTR v);
20716
20717     [propget, id(DISPID_IHTMLFRAMEBASE_SRC)]
20718     BSTR src();
20719
20720     [propput, id(DISPID_IHTMLFRAMEBASE_NAME)]
20721     void name(BSTR v);
20722
20723     [propget, id(DISPID_IHTMLFRAMEBASE_NAME)]
20724     BSTR name();
20725
20726     [propput, id(DISPID_IHTMLFRAMEBASE_BORDER)]
20727     void border(VARIANT v);
20728
20729     [propget, id(DISPID_IHTMLFRAMEBASE_BORDER)]
20730     VARIANT border();
20731
20732     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
20733     void frameBorder(BSTR v);
20734
20735     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
20736     BSTR frameBorder();
20737
20738     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
20739     void frameSpacing(VARIANT v);
20740
20741     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
20742     VARIANT frameSpacing();
20743
20744     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
20745     void marginWidth(VARIANT v);
20746
20747     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
20748     VARIANT marginWidth();
20749
20750     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
20751     void marginHeight(VARIANT v);
20752
20753     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
20754     VARIANT marginHeight();
20755
20756     [propput, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
20757     void noResize(VARIANT_BOOL v);
20758
20759     [propget, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
20760     VARIANT_BOOL noResize();
20761
20762     [propput, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
20763     void scrolling(BSTR v);
20764
20765     [propget, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
20766     BSTR scrolling();
20767
20768     [propget, id(DISPID_IHTMLFRAMEBASE2_CONTENTWINDOW)]
20769     IHTMLWindow2 *contentWindow();
20770
20771     [propput, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
20772     void onload(VARIANT v);
20773
20774     [propget, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
20775     VARIANT onload();
20776
20777     [propput, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
20778     void allowTransparency(VARIANT_BOOL v);
20779
20780     [propget, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
20781     VARIANT_BOOL allowTransparency();
20782
20783     [propput, id(DISPID_IHTMLFRAMEBASE3_LONGDESC), displaybind, bindable]
20784     void longDesc(BSTR v);
20785
20786     [propget, id(DISPID_IHTMLFRAMEBASE3_LONGDESC), displaybind, bindable]
20787     BSTR longDesc();
20788
20789     [propput, id(DISPID_IHTMLIFRAMEELEMENT_VSPACE)]
20790     void vspace(long v);
20791
20792     [propget, id(DISPID_IHTMLIFRAMEELEMENT_VSPACE)]
20793     long vspace();
20794
20795     [propput, id(DISPID_IHTMLIFRAMEELEMENT_HSPACE)]
20796     void hspace(long v);
20797
20798     [propget, id(DISPID_IHTMLIFRAMEELEMENT_HSPACE)]
20799     long hspace();
20800
20801     [propput, id(DISPID_IHTMLIFRAMEELEMENT_ALIGN), displaybind, bindable]
20802     void align(BSTR v);
20803
20804     [propget, id(DISPID_IHTMLIFRAMEELEMENT_ALIGN), displaybind, bindable]
20805     BSTR align();
20806
20807     [propput, id(DISPID_IHTMLIFRAMEELEMENT2_HEIGHT)]
20808     void height(VARIANT v);
20809
20810     [propget, id(DISPID_IHTMLIFRAMEELEMENT2_HEIGHT)]
20811     VARIANT height();
20812
20813     [propput, id(DISPID_IHTMLIFRAMEELEMENT2_WIDTH)]
20814     void width(VARIANT v);
20815
20816     [propget, id(DISPID_IHTMLIFRAMEELEMENT2_WIDTH)]
20817     VARIANT width();
20818 }
20819
20820 /*****************************************************************************
20821  *    IMarkupContainer interface
20822  */
20823 [
20824     object,
20825     pointer_default(unique),
20826     uuid(3050f5f9-98b5-11cf-bb82-00aa00bdce0B)
20827 ]
20828 interface IMarkupContainer : IUnknown
20829 {
20830     HRESULT OwningDoc([out] IHTMLDocument2 **ppDoc);
20831 }
20832
20833 /*****************************************************************************
20834  *    IMarkupPointer interface
20835  */
20836 [
20837     object,
20838     pointer_default(unique),
20839     uuid(3050f49f-98b5-11cf-bb82-00aa00bdce0b)
20840 ]
20841 interface IMarkupPointer : IUnknown
20842 {
20843     HRESULT OwningDoc([out] IHTMLDocument2 **ppDoc);
20844
20845     HRESULT Gravity([out] POINTER_GRAVITY *pGravity);
20846
20847     HRESULT SetGravity([in] POINTER_GRAVITY Gravity);
20848
20849     HRESULT Cling([out] BOOL *pfCling);
20850
20851     HRESULT SetCling([in] BOOL fCLing);
20852
20853     HRESULT UnPosition();
20854
20855     HRESULT IsPositioned([out] BOOL *pfPositioned);
20856
20857     HRESULT GetContainer([out] IMarkupContainer **ppContainer);
20858
20859     HRESULT MoveAdjacentToElement(
20860         [in] IHTMLElement *pElement,
20861         [in] ELEMENT_ADJACENCY eAdj);
20862
20863     HRESULT MoveToPointer([in] IMarkupPointer *pPointer);
20864
20865     HRESULT MoveToContainer(
20866         [in] IMarkupContainer *pContainer,
20867         [in] BOOL fAtStart);
20868
20869     HRESULT Left(
20870         [in] BOOL fMove,
20871         [out] MARKUP_CONTEXT_TYPE *pContext,
20872         [out] IHTMLElement **ppElement,
20873         [in, out] long *pcch,
20874         [out, size_is(*pcch)] OLECHAR *pchText);
20875
20876     HRESULT Right(
20877         [in] BOOL fMove,
20878         [out] MARKUP_CONTEXT_TYPE *pContext,
20879         [out] IHTMLElement **ppElement,
20880         [in, out] long *pcch,
20881         [out, size_is(*pcch)] OLECHAR *pchText);
20882
20883     HRESULT CurrentScope([out] IHTMLElement **ppElemCurrent);
20884
20885     HRESULT IsLeftOf(
20886         [in] IMarkupPointer *pPointerThat,
20887         [out] BOOL *pfResult);
20888
20889     HRESULT IsLeftOfOrEqualTo(
20890         [in] IMarkupPointer *pPointerThat,
20891         [out] BOOL *pfResult);
20892
20893     HRESULT IsRightOf(
20894         [in] IMarkupPointer *pPointerThat,
20895         [out] BOOL *pfResult);
20896
20897     HRESULT IsRightOfOrEqualTo(
20898         [in] IMarkupPointer *pPointerThat,
20899         [out] BOOL *pfResult);
20900
20901     HRESULT IsEqualTo(
20902         [in] IMarkupPointer *pPointerThat,
20903         [out] BOOL *pfAreEqual);
20904
20905     HRESULT MoveUnit([in] MOVEUNIT_ACTION muAction);
20906
20907     HRESULT FindText(
20908         [in] OLECHAR *pchFindText,
20909         [in] DWORD dwFlags,
20910         [in] IMarkupPointer *pIEndMatch,
20911         [in] IMarkupPointer *pIEndSearch);
20912 }
20913
20914 /*****************************************************************************
20915  *    ISegment interface
20916  */
20917 [
20918     object,
20919     pointer_default(unique),
20920     uuid(3050f683-98b5-11cf-bb82-00aa00bdce0b)
20921 ]
20922 interface ISegment : IUnknown
20923 {
20924     HRESULT GetPointers(
20925         [in] IMarkupPointer *pIStart,
20926         [in] IMarkupPointer *pIEnd);
20927 }
20928
20929 /*****************************************************************************
20930  *    IElementSegment interface
20931  */
20932 [
20933     object,
20934     pointer_default(unique),
20935     uuid(3050f68f-98b5-11cf-bb82-00aa00bdce0b)
20936 ]
20937 interface IElementSegment : ISegment
20938 {
20939     HRESULT GetElement([out] IHTMLElement **ppIElement);
20940
20941     HRESULT SetPrimary([in] BOOL fPrimary);
20942
20943     HRESULT IsPrimary([out] BOOL *pfPrimary);
20944 }
20945
20946 /*****************************************************************************
20947  *    ISelectionServicesListener interface
20948  */
20949 [
20950     object,
20951     pointer_default(unique),
20952     uuid(3050f699-98b5-11cf-bb82-00aa00bdce0b)
20953 ]
20954 interface ISelectionServicesListener : IUnknown
20955 {
20956     HRESULT BeginSelectionUndo();
20957
20958     HRESULT EndSelectionUndo();
20959
20960     HRESULT OnSelectedElementExit(
20961         [in] IMarkupPointer *pIElementStart,
20962         [in] IMarkupPointer *pIElementEnd,
20963         [in] IMarkupPointer *pIElementContentStart,
20964         [in] IMarkupPointer *pIElementContentEnd);
20965
20966     HRESULT OnChangeType(
20967         [in] SELECTION_TYPE eType,
20968         [in] ISelectionServicesListener *pIListener);
20969
20970     HRESULT GetTypeDetail([out] BSTR *pTypeDetail);
20971 }
20972
20973 /*****************************************************************************
20974  *    ISelectionServices interface
20975  */
20976 [
20977     object,
20978     pointer_default(unique),
20979     uuid(3050f684-98b5-11cf-bb82-00aa00bdce0b)
20980 ]
20981 interface ISelectionServices : IUnknown
20982 {
20983     HRESULT SetSelectionType(
20984         [in] SELECTION_TYPE eType,
20985         [in] ISelectionServicesListener *pIListener);
20986
20987     HRESULT GetMarkupContainer([out] IMarkupContainer **ppIContainer);
20988
20989     HRESULT AddSegment(
20990         [in] IMarkupPointer *pIStart,
20991         [in] IMarkupPointer *pIEnd,
20992         [out] ISegment **ppISegmentAdded);
20993
20994     HRESULT AddElementSegment(
20995         [in] IHTMLElement *pIElement,
20996         [out] IElementSegment **ppISegmentAdded);
20997
20998     HRESULT RemoveSegment([in] ISegment *pISegment);
20999
21000     HRESULT GetSelectionServicesListener([out] ISelectionServicesListener **ppISelectionServicesListener);
21001 }
21002
21003 /*****************************************************************************
21004  *    IHTMLEditDesigner interface
21005  */
21006 [
21007     object,
21008     pointer_default(unique),
21009     uuid(3050f662-98b5-11cf-bb82-00aa00bdce0b)
21010 ]
21011 interface IHTMLEditDesigner : IUnknown
21012 {
21013     HRESULT PreHandleEvent(
21014         [in] DISPID inEvtDispId,
21015         [in] IHTMLEventObj *pIEventObj);
21016
21017     HRESULT PostHandleEvent(
21018         [in] DISPID inEvtDispId,
21019         [in] IHTMLEventObj *pIEventObj);
21020
21021     HRESULT TranslateAccelerator(
21022         [in] DISPID inEvtDispId,
21023         [in] IHTMLEventObj *pIEventObj);
21024
21025     HRESULT PostEditorEventNotify(
21026         [in] DISPID inEvtDispId,
21027         [in] IHTMLEventObj *pIEventObj);
21028 }
21029
21030 /*****************************************************************************
21031  *    IHTMLEditServices interface
21032  */
21033 [
21034     object,
21035     pointer_default(unique),
21036     uuid(3050f663-98b5-11cf-bb82-00aa00bdce0b)
21037 ]
21038 interface IHTMLEditServices : IUnknown
21039 {
21040     HRESULT AddDesigner([in] IHTMLEditDesigner *pIDesigner);
21041
21042     HRESULT RemoveDesigner([in] IHTMLEditDesigner *pIDesigner);
21043
21044     HRESULT GetSelectionServices(
21045         [in] IMarkupContainer *pIContainer,
21046         [out] ISelectionServices **ppSelSvc);
21047
21048     HRESULT MoveToSelectionAnchor([in] IMarkupPointer *pIStartAnchor);
21049
21050     HRESULT MoveToSelectionEnd([in] IMarkupPointer *pIEndAnchor);
21051
21052     HRESULT SelectRange(
21053         [in] IMarkupPointer* pStart,
21054         [in] IMarkupPointer* pEnd,
21055         [in] SELECTION_TYPE eType);
21056 }
21057
21058 } /* library MSHTML */