advpack: Skip tests for broken functions.
[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  *    IHTMLDOMImplementation interface
3450  */
3451 [
3452     odl,
3453     oleautomation,
3454     dual,
3455     uuid(3050f80d-98b5-11cf-bb82-00aa00bdce0b)
3456 ]
3457 interface IHTMLDOMImplementation : IDispatch
3458 {
3459     [id(DISPID_IHTMLDOMIMPLEMENTATION_HASFEATURE)]
3460     HRESULT hasFeature(
3461         [in] BSTR bstrfeature,
3462         [optional, in] VARIANT version,
3463         [retval, out] VARIANT_BOOL *pfHasFeature);
3464 }
3465
3466 /*****************************************************************************
3467  *    DispHTMLDOMTextNode dispinterface
3468  */
3469 [
3470     hidden,
3471     uuid(3050f565-98b5-11cf-bb82-00aa00bdce0b)
3472 ]
3473 dispinterface DispHTMLDOMTextNode
3474 {
3475 properties:
3476 methods:
3477     [propput, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
3478     void data(BSTR v);
3479
3480     [propget, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
3481     BSTR data();
3482
3483     [id(DISPID_IHTMLDOMTEXTNODE_TOSTRING)]
3484     BSTR toString();
3485
3486     [propget, id(DISPID_IHTMLDOMTEXTNODE_LENGTH)]
3487     long length();
3488
3489     [id(DISPID_IHTMLDOMTEXTNODE_SPLITTEXT)]
3490     IHTMLDOMNode *splitText([in] long offset);
3491
3492     [id(DISPID_IHTMLDOMTEXTNODE2_SUBSTRINGDATA)]
3493     BSTR substringData(
3494             [in] long offset,
3495             [in] long Count);
3496
3497     [id(DISPID_IHTMLDOMTEXTNODE2_APPENDDATA)]
3498     void appendData([in] BSTR bstrstring);
3499
3500     [id(DISPID_IHTMLDOMTEXTNODE2_INSERTDATA)]
3501     void insertData(
3502             [in] long offset,
3503             [in] BSTR bstrstring);
3504
3505     [id(DISPID_IHTMLDOMTEXTNODE2_DELETEDATA)]
3506     void deleteData(
3507             [in] long offset,
3508             [in] long Count);
3509
3510     [id(DISPID_IHTMLDOMTEXTNODE2_REPLACEDATA)]
3511     void replaceData(
3512             [in] long offset,
3513             [in] long Count,
3514             [in] BSTR bstrstring);
3515
3516     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
3517     long nodeType();
3518
3519     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
3520     IHTMLDOMNode *parentNode();
3521
3522     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
3523     VARIANT_BOOL hasChildNodes();
3524
3525     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
3526     IDispatch *childNodes();
3527
3528     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
3529     IDispatch *attributes();
3530
3531     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
3532     IHTMLDOMNode *insertBefore(
3533             [in] IHTMLDOMNode *newChild,
3534             [in, optional] VARIANT refChild);
3535
3536     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
3537     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
3538
3539     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
3540     IHTMLDOMNode *replaceChild(
3541             [in] IHTMLDOMNode *newChild,
3542             [in] IHTMLDOMNode *oldChild);
3543
3544     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
3545     IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
3546
3547     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
3548     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
3549
3550     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
3551     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
3552
3553     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
3554     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
3555
3556     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
3557     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
3558
3559     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
3560     BSTR nodeName();
3561
3562     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
3563     void nodeValue(VARIANT v);
3564
3565     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
3566     VARIANT nodeValue();
3567
3568     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
3569     IHTMLDOMNode *firstChild();
3570
3571     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
3572     IHTMLDOMNode *lastChild();
3573
3574     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
3575     IHTMLDOMNode *previousSibling();
3576
3577     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
3578     IHTMLDOMNode* nextSibling();
3579
3580     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
3581     IDispatch *ownerDocument();
3582 }
3583
3584 /*****************************************************************************
3585  *    IHTMLDOMChildrenCollection interface
3586  */
3587 [
3588     odl,
3589     oleautomation,
3590     dual,
3591     uuid(3050f5ab-98b5-11cf-bb82-00aa00bdce0b)
3592 ]
3593 interface IHTMLDOMChildrenCollection : IDispatch
3594 {
3595     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION_LENGTH)]
3596     HRESULT length([out, retval] long *p);
3597
3598     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION__NEWENUM), hidden, restricted]
3599     HRESULT _newEnum([out, retval] IUnknown **p);
3600
3601     [id(DISPID_IHTMLDOMCHILDRENCOLLECTION_ITEM)]
3602     HRESULT item(
3603             [in] long index,
3604             [out, retval] IDispatch **ppItem);
3605 }
3606
3607 /*****************************************************************************
3608  *    DispDOMChildrenCollection dispinterface
3609  */
3610 [
3611     hidden,
3612     uuid(3050f577-98b5-11cf-bb82-00aa00bdce0b)
3613 ]
3614 dispinterface DispDOMChildrenCollection
3615 {
3616 properties:
3617 methods:
3618     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION_LENGTH)]
3619     long length();
3620
3621     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION__NEWENUM), hidden, restricted]
3622     IUnknown *_newEnum();
3623
3624     [id(DISPID_IHTMLDOMCHILDRENCOLLECTION_ITEM)]
3625     IDispatch *item([in] long index);
3626 }
3627
3628 interface IHTMLElementCollection;
3629
3630 /*****************************************************************************
3631  *    IHTMLElement interface
3632  */
3633 [
3634     odl,
3635     dual,
3636     oleautomation,
3637     uuid(3050f1FF-98B5-11CF-BB82-00AA00BDCE0B)
3638 ]
3639 interface IHTMLElement : IDispatch
3640 {
3641     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
3642     HRESULT setAttribute(
3643         [in] BSTR strAttributeName,
3644         [in] VARIANT AttributeValue,
3645         [defaultvalue(1), in] LONG lFlags);
3646
3647     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
3648     HRESULT getAttribute(
3649         [in] BSTR strAttributeName,
3650         [defaultvalue(0), in] LONG lFlags,
3651         [retval, out] VARIANT *AttributeValue);
3652
3653     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
3654     HRESULT removeAttribute(
3655         [in] BSTR strAttributeName,
3656         [defaultvalue(1), in] LONG lFlags,
3657         [retval, out] VARIANT_BOOL *pfSuccess);
3658
3659     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME)]
3660     HRESULT className([in] BSTR v);
3661
3662     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME)]
3663     HRESULT className([retval, out] BSTR *p);
3664
3665     [propput, id(DISPID_IHTMLELEMENT_ID)]
3666     HRESULT id([in] BSTR v);
3667
3668     [propget, id(DISPID_IHTMLELEMENT_ID)]
3669     HRESULT id([retval, out] BSTR *p);
3670
3671     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
3672     HRESULT tagName([retval, out] BSTR *p);
3673
3674     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
3675     HRESULT parentElement([retval, out] IHTMLElement **p);
3676
3677     [propget, id(DISPID_IHTMLELEMENT_STYLE)]
3678     HRESULT style([retval, out] IHTMLStyle **p);
3679
3680     [propput, id(DISPID_IHTMLELEMENT_ONHELP)]
3681     HRESULT onhelp([in] VARIANT v);
3682
3683     [propget, id(DISPID_IHTMLELEMENT_ONHELP)]
3684     HRESULT onhelp([retval, out] VARIANT *p);
3685
3686     [propput, id(DISPID_IHTMLELEMENT_ONCLICK)]
3687     HRESULT onclick([in] VARIANT v);
3688
3689     [propget, id(DISPID_IHTMLELEMENT_ONCLICK)]
3690     HRESULT onclick([retval, out] VARIANT *p);
3691
3692     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK)]
3693     HRESULT ondblclick([in] VARIANT v);
3694
3695     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK)]
3696     HRESULT ondblclick([retval, out] VARIANT *p);
3697
3698     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN)]
3699     HRESULT onkeydown([in] VARIANT v);
3700
3701     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN)]
3702     HRESULT onkeydown([retval, out] VARIANT *p);
3703
3704     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP)]
3705     HRESULT onkeyup([in] VARIANT v);
3706
3707     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP)]
3708     HRESULT onkeyup([retval, out] VARIANT *p);
3709
3710     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS)]
3711     HRESULT onkeypress([in] VARIANT v);
3712
3713     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS)]
3714     HRESULT onkeypress([retval, out] VARIANT *p);
3715
3716     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT)]
3717     HRESULT onmouseout([in] VARIANT v);
3718
3719     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT)]
3720     HRESULT onmouseout([retval, out] VARIANT *p);
3721
3722     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER)]
3723     HRESULT onmouseover([in] VARIANT v);
3724
3725     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER)]
3726     HRESULT onmouseover([retval, out] VARIANT *p);
3727
3728     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE)]
3729     HRESULT onmousemove([in] VARIANT v);
3730
3731     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE)]
3732     HRESULT onmousemove([retval, out] VARIANT *p);
3733
3734     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN)]
3735     HRESULT onmousedown([in] VARIANT v);
3736
3737     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN)]
3738     HRESULT onmousedown([retval, out] VARIANT *p);
3739
3740     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP)]
3741     HRESULT onmouseup([in] VARIANT v);
3742
3743     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP)]
3744     HRESULT onmouseup([retval, out] VARIANT *p);
3745
3746     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
3747     HRESULT document([retval, out] IDispatch **p);
3748
3749     [propput, id(DISPID_IHTMLELEMENT_TITLE)]
3750     HRESULT title([in] BSTR v);
3751
3752     [propget, id(DISPID_IHTMLELEMENT_TITLE)]
3753     HRESULT title([retval, out] BSTR *p);
3754
3755     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE)]
3756     HRESULT language([in] BSTR v);
3757
3758     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE)]
3759     HRESULT language([retval, out] BSTR *p);
3760
3761     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART)]
3762     HRESULT onselectstart([in] VARIANT v);
3763
3764     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART)]
3765     HRESULT onselectstart([retval, out] VARIANT *p);
3766
3767     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
3768     HRESULT scrollIntoView([optional, in] VARIANT varargStart);
3769
3770     [id(DISPID_IHTMLELEMENT_CONTAINS)]
3771     HRESULT contains(
3772         [in] IHTMLElement *pChild,
3773         [retval, out] VARIANT_BOOL *pfResult);
3774
3775     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX)]
3776     HRESULT sourceIndex([retval, out] long *p);
3777
3778     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
3779     HRESULT recordNumber([retval, out] VARIANT *p);
3780
3781     [propput, id(DISPID_IHTMLELEMENT_LANG)]
3782     HRESULT lang([in] BSTR v);
3783
3784     [propget, id(DISPID_IHTMLELEMENT_LANG)]
3785     HRESULT lang([retval, out] BSTR *p);
3786
3787     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
3788     HRESULT offsetLeft([retval, out] long *p);
3789
3790     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
3791     HRESULT offsetTop([retval, out] long *p);
3792
3793     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
3794     HRESULT offsetWidth([retval, out] long *p);
3795
3796     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
3797     HRESULT offsetHeight([retval, out] long *p);
3798
3799     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
3800     HRESULT offsetParent([retval, out] IHTMLElement **p);
3801
3802     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
3803     HRESULT innerHTML([in] BSTR v);
3804
3805     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
3806     HRESULT innerHTML([retval, out] BSTR *p);
3807
3808     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
3809     HRESULT innerText([in] BSTR v);
3810
3811     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
3812     HRESULT innerText([retval, out] BSTR *p);
3813
3814     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
3815     HRESULT outerHTML([in] BSTR v);
3816
3817     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
3818     HRESULT outerHTML([retval, out] BSTR *p);
3819
3820     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
3821     HRESULT outerText([in] BSTR v);
3822
3823     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
3824     HRESULT outerText([retval, out] BSTR *p);
3825
3826     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
3827     HRESULT insertAdjacentHTML([in] BSTR where, [in] BSTR html);
3828
3829     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
3830     HRESULT insertAdjacentText([in] BSTR where, [in] BSTR text);
3831
3832     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
3833     HRESULT parentTextEdit([retval, out] IHTMLElement **p);
3834
3835     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
3836     HRESULT isTextEdit([retval, out] VARIANT_BOOL *p);
3837
3838     [id(DISPID_IHTMLELEMENT_CLICK)]
3839     HRESULT click();
3840
3841     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
3842     HRESULT filters([retval, out] IHTMLFiltersCollection **p);
3843
3844     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART)]
3845     HRESULT ondragstart([in] VARIANT v);
3846
3847     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART)]
3848     HRESULT ondragstart([retval, out] VARIANT *p);
3849
3850     [id(DISPID_IHTMLELEMENT_TOSTRING)]
3851     HRESULT toString([retval, out] BSTR *String);
3852
3853     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE)]
3854     HRESULT onbeforeupdate([in] VARIANT v);
3855
3856     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE)]
3857     HRESULT onbeforeupdate([retval, out] VARIANT *p);
3858
3859     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE)]
3860     HRESULT onafterupdate([in] VARIANT v);
3861
3862     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE)]
3863     HRESULT onafterupdate([retval, out] VARIANT *p);
3864
3865     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE)]
3866     HRESULT onerrorupdate([in] VARIANT v);
3867
3868     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE)]
3869     HRESULT onerrorupdate([retval, out] VARIANT *p);
3870
3871     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT)]
3872     HRESULT onrowexit([in] VARIANT v);
3873
3874     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT)]
3875     HRESULT onrowexit([retval, out] VARIANT *p);
3876
3877     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER)]
3878     HRESULT onrowenter([in] VARIANT v);
3879
3880     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER)]
3881     HRESULT onrowenter([retval, out] VARIANT *p);
3882
3883     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED)]
3884     HRESULT ondatasetchanged([in] VARIANT v);
3885
3886     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED)]
3887     HRESULT ondatasetchanged([retval, out] VARIANT *p);
3888
3889     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE)]
3890     HRESULT ondataavailable([in] VARIANT v);
3891
3892     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE)]
3893     HRESULT ondataavailable([retval, out] VARIANT *p);
3894
3895     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE)]
3896     HRESULT ondatasetcomplete([in] VARIANT v);
3897
3898     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE)]
3899     HRESULT ondatasetcomplete([retval, out] VARIANT *p);
3900
3901     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE)]
3902     HRESULT onfilterchange([in] VARIANT v);
3903
3904     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE)]
3905     HRESULT onfilterchange([retval, out] VARIANT *p);
3906
3907     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
3908     HRESULT children([retval, out] IDispatch **p);
3909
3910     [propget, id(DISPID_IHTMLELEMENT_ALL)]
3911     HRESULT all([retval, out] IDispatch **p);
3912 }
3913
3914 /*****************************************************************************
3915  *    IHTMLElement2 interface
3916  */
3917 [
3918     odl,
3919     oleautomation,
3920     dual,
3921     uuid(3050f434-98b5-11cf-bb82-00aa00bdce0b)
3922 ]
3923 interface IHTMLElement2 : IDispatch
3924 {
3925     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
3926     HRESULT scopeName([retval, out] BSTR *p);
3927
3928     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
3929     HRESULT setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
3930
3931     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
3932     HRESULT releaseCapture();
3933
3934     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
3935     HRESULT onlosecapture([in] VARIANT v);
3936
3937     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
3938     HRESULT onlosecapture([retval, out] VARIANT *p);
3939
3940     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
3941     HRESULT componentFromPoint(
3942         [in] long x,
3943         [in] long y,
3944         [retval, out] BSTR *component);
3945
3946     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
3947     HRESULT doScroll([optional, in] VARIANT component);
3948
3949     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
3950     HRESULT onscroll([in] VARIANT v);
3951
3952     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
3953     HRESULT onscroll([retval, out] VARIANT *p);
3954
3955     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
3956     HRESULT ondrag([in] VARIANT v);
3957
3958     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
3959     HRESULT ondrag([retval, out] VARIANT *p);
3960
3961     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
3962     HRESULT ondragend([in] VARIANT v);
3963
3964     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
3965     HRESULT ondragend([retval, out] VARIANT *p);
3966
3967     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
3968     HRESULT ondragenter([in] VARIANT v);
3969
3970     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
3971     HRESULT ondragenter([retval, out] VARIANT *p);
3972
3973     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
3974     HRESULT ondragover([in] VARIANT v);
3975
3976     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
3977     HRESULT ondragover([retval, out] VARIANT *p);
3978
3979     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
3980     HRESULT ondragleave([in] VARIANT v);
3981
3982     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
3983     HRESULT ondragleave([retval, out] VARIANT *p);
3984
3985     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
3986     HRESULT ondrop([in] VARIANT v);
3987
3988     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
3989     HRESULT ondrop([retval, out] VARIANT *p);
3990
3991     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
3992     HRESULT onbeforecut([in] VARIANT v);
3993
3994     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
3995     HRESULT onbeforecut([retval, out] VARIANT *p);
3996
3997     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
3998     HRESULT oncut([in] VARIANT v);
3999
4000     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
4001     HRESULT oncut([retval, out] VARIANT *p);
4002
4003     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
4004     HRESULT onbeforecopy([in] VARIANT v);
4005
4006     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
4007     HRESULT onbeforecopy([retval, out] VARIANT *p);
4008
4009     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
4010     HRESULT oncopy([in] VARIANT v);
4011
4012     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
4013     HRESULT oncopy([retval, out] VARIANT *p);
4014
4015     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
4016     HRESULT onbeforepaste([in] VARIANT v);
4017
4018     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
4019     HRESULT onbeforepaste([retval, out] VARIANT *p);
4020
4021     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
4022     HRESULT onpaste([in] VARIANT v);
4023
4024     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
4025     HRESULT onpaste([retval, out] VARIANT *p);
4026
4027     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
4028     HRESULT currentStyle([retval, out] IHTMLCurrentStyle **p);
4029
4030     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
4031     HRESULT onpropertychange([in] VARIANT v);
4032
4033     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
4034     HRESULT onpropertychange([retval, out] VARIANT *p);
4035
4036     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
4037     HRESULT getClientRects([retval, out] IHTMLRectCollection **pRectCol);
4038
4039     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
4040     HRESULT getBoundingClientRect([retval, out] IHTMLRect **pRect);
4041
4042     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
4043     HRESULT setExpression(
4044         [in] BSTR propname,
4045         [in] BSTR expression,
4046         [defaultvalue(""), in] BSTR language);
4047
4048     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
4049     HRESULT getExpression(
4050         [in] BSTR propname,
4051         [retval, out] VARIANT *expression);
4052
4053     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
4054     HRESULT removeExpression(
4055         [in] BSTR propname,
4056         [retval, out] VARIANT_BOOL *pfSuccess);
4057
4058     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
4059     HRESULT tabIndex([in] short v);
4060
4061     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
4062     HRESULT tabIndex([retval, out] short *p);
4063
4064     [id(DISPID_IHTMLELEMENT2_FOCUS)]
4065     HRESULT focus();
4066
4067     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
4068     HRESULT accessKey([in] BSTR v);
4069
4070     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
4071     HRESULT accessKey([retval, out] BSTR *p);
4072
4073     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
4074     HRESULT onblur([in] VARIANT v);
4075
4076     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
4077     HRESULT onblur([retval, out] VARIANT *p);
4078
4079     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
4080     HRESULT onfocus([in] VARIANT v);
4081
4082     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
4083     HRESULT onfocus([retval, out] VARIANT *p);
4084
4085     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
4086     HRESULT onresize([in] VARIANT v);
4087
4088     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
4089     HRESULT onresize([retval, out] VARIANT *p);
4090
4091     [id(DISPID_IHTMLELEMENT2_BLUR)]
4092     HRESULT blur();
4093
4094     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
4095     HRESULT addFilter([in] IUnknown *pUnk);
4096
4097     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
4098     HRESULT removeFilter([in] IUnknown *pUnk);
4099
4100     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
4101     HRESULT clientHeight([retval, out] long *p);
4102
4103     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
4104     HRESULT clientWidth([retval, out] long *p);
4105
4106     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
4107     HRESULT clientTop([retval, out] long *p);
4108
4109     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
4110     HRESULT clientLeft([retval, out] long *p);
4111
4112     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
4113     HRESULT attachEvent(
4114         [in] BSTR event,
4115         [in] IDispatch *pDisp,
4116         [retval, out] VARIANT_BOOL *pfResult);
4117
4118     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
4119     HRESULT detachEvent(
4120         [in] BSTR event,
4121         [in] IDispatch *pDisp);
4122
4123     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
4124     HRESULT readyState([retval, out] VARIANT *p);
4125
4126     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
4127     HRESULT onreadystatechange([in] VARIANT v);
4128
4129     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
4130     HRESULT onreadystatechange([retval, out] VARIANT *p);
4131
4132     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
4133     HRESULT onrowsdelete([in] VARIANT v);
4134
4135     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
4136     HRESULT onrowsdelete([retval, out] VARIANT *p);
4137
4138     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
4139     HRESULT onrowsinserted([in] VARIANT v);
4140
4141     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
4142     HRESULT onrowsinserted([retval, out] VARIANT *p);
4143
4144     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
4145     HRESULT oncellchange([in] VARIANT v);
4146
4147     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
4148     HRESULT oncellchange([retval, out] VARIANT *p);
4149
4150     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
4151     HRESULT dir([in] BSTR v);
4152
4153     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
4154     HRESULT dir([retval, out] BSTR *p);
4155
4156     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
4157     HRESULT createControlRange([retval, out] IDispatch **range);
4158
4159     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
4160     HRESULT scrollHeight([retval, out] long *p);
4161
4162     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
4163     HRESULT scrollWidth([retval, out] long *p);
4164
4165     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
4166     HRESULT scrollTop([in] long v);
4167
4168     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
4169     HRESULT scrollTop([retval, out] long *p);
4170
4171     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
4172     HRESULT scrollLeft([in] long v);
4173
4174     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
4175     HRESULT scrollLeft([retval, out] long *p);
4176
4177     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
4178     HRESULT clearAttributes();
4179
4180     [id(DISPID_IHTMLELEMENT2_MERGEATTRIBUTES)]
4181     HRESULT mergeAttributes([in] IHTMLElement *mergeThis);
4182
4183     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
4184     HRESULT oncontextmenu([in] VARIANT v);
4185
4186     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
4187     HRESULT oncontextmenu([retval, out] VARIANT *p);
4188
4189     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
4190     HRESULT insertAdjacentElement(
4191         [in] BSTR where,
4192         [in] IHTMLElement *insertedElement,
4193         [retval, out] IHTMLElement **inserted);
4194
4195     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
4196     HRESULT applyElement(
4197         [in] IHTMLElement *apply,
4198         [in] BSTR where,
4199         [retval, out] IHTMLElement **applied);
4200
4201     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
4202     HRESULT getAdjacentText(
4203         [in] BSTR where,
4204         [retval, out] BSTR *text);
4205
4206     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
4207     HRESULT replaceAdjacentText(
4208         [in] BSTR where,
4209         [in] BSTR newText,
4210         [retval, out] BSTR *oldText);
4211
4212     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
4213     HRESULT canHaveChildren([retval, out] VARIANT_BOOL *p);
4214
4215     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
4216     HRESULT addBehavior(
4217         [in] BSTR bstrUrl,
4218         [optional, in] VARIANT *pvarFactory,
4219         [retval, out] long *pCookie);
4220
4221     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
4222     HRESULT removeBehavior(
4223         [in] long cookie,
4224         [retval, out] VARIANT_BOOL *pfResult);
4225
4226     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
4227     HRESULT runtimeStyle([retval, out] IHTMLStyle **p);
4228
4229     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
4230     HRESULT behaviorUrns([retval, out] IDispatch **p);
4231
4232     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
4233     HRESULT tagUrn([in] BSTR v);
4234
4235     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
4236     HRESULT tagUrn([retval, out] BSTR *p);
4237
4238     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
4239     HRESULT onbeforeeditfocus([in] VARIANT v);
4240
4241     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
4242     HRESULT onbeforeeditfocus([retval, out] VARIANT *p);
4243
4244     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
4245     HRESULT readyStateValue([retval, out] long *p);
4246
4247     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
4248     HRESULT getElementsByTagName(
4249         [in] BSTR v,
4250         [retval, out] IHTMLElementCollection **pelColl);
4251 }
4252
4253
4254 /*****************************************************************************
4255  *    IHTMLElement3 interface
4256  */
4257 [
4258     odl,
4259     oleautomation,
4260     dual,
4261     uuid(3050f673-98b5-11cf-bb82-00aa00bdce0b)
4262 ]
4263 interface IHTMLElement3 : IDispatch
4264 {
4265     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)] HRESULT mergeAttributes([in]
4266     IHTMLElement* mergeThis,[optional, in] VARIANT* pvarFlags);
4267
4268     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
4269     HRESULT isMultiLine([retval, out] VARIANT_BOOL * p);
4270
4271     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
4272     HRESULT canHaveHTML([retval, out] VARIANT_BOOL * p);
4273
4274     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
4275     HRESULT onlayoutcomplete([in] VARIANT v);
4276
4277     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
4278     HRESULT onlayoutcomplete([retval, out] VARIANT * p);
4279
4280     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
4281     HRESULT onpage([in] VARIANT v);
4282
4283     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
4284     HRESULT onpage([retval, out] VARIANT * p);
4285
4286     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
4287     HRESULT inflateBlock([in] VARIANT_BOOL v);
4288
4289     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
4290     HRESULT inflateBlock([retval, out] VARIANT_BOOL * p);
4291
4292     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
4293     HRESULT onbeforedeactivate([in] VARIANT v);
4294
4295     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
4296     HRESULT onbeforedeactivate([retval, out] VARIANT * p);
4297
4298     [id(DISPID_IHTMLELEMENT3_SETACTIVE)] HRESULT setActive();
4299
4300     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
4301     HRESULT contentEditable([in] BSTR v);
4302
4303     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
4304     HRESULT contentEditable([retval, out] BSTR * p);
4305
4306     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
4307     HRESULT isContentEditable([retval, out] VARIANT_BOOL * p);
4308
4309     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
4310     HRESULT hideFocus([in] VARIANT_BOOL v);
4311
4312     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
4313     HRESULT hideFocus([retval, out] VARIANT_BOOL * p);
4314
4315     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
4316     HRESULT disabled([in] VARIANT_BOOL v);
4317
4318     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
4319     HRESULT disabled([retval, out] VARIANT_BOOL * p);
4320
4321     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
4322     HRESULT isDisabled([retval, out] VARIANT_BOOL * p);
4323
4324     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
4325     HRESULT onmove([in] VARIANT v);
4326
4327     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
4328     HRESULT onmove([retval, out] VARIANT * p);
4329
4330     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
4331     HRESULT oncontrolselect([in] VARIANT v);
4332
4333     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
4334     HRESULT oncontrolselect([retval, out] VARIANT * p);
4335
4336     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
4337     HRESULT fireEvent(
4338         [in] BSTR bstrEventName,
4339         [optional, in] VARIANT* pvarEventObject,
4340         [retval, out] VARIANT_BOOL* pfCancelled);
4341
4342     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
4343     HRESULT onresizestart([in] VARIANT v);
4344
4345     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
4346     HRESULT onresizestart([retval, out] VARIANT * p);
4347
4348     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
4349     HRESULT onresizeend([in] VARIANT v);
4350
4351     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
4352     HRESULT onresizeend([retval, out] VARIANT * p);
4353
4354     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
4355     HRESULT onmovestart([in] VARIANT v);
4356
4357     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
4358     HRESULT onmovestart([retval, out] VARIANT * p);
4359
4360     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
4361     HRESULT onmoveend([in] VARIANT v);
4362
4363     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
4364     HRESULT onmoveend([retval, out] VARIANT * p);
4365
4366     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
4367     HRESULT onmouseenter([in] VARIANT v);
4368
4369     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
4370     HRESULT onmouseenter([retval, out] VARIANT * p);
4371
4372     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
4373     HRESULT onmouseleave([in] VARIANT v);
4374
4375     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
4376     HRESULT onmouseleave([retval, out] VARIANT * p);
4377
4378     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
4379     HRESULT onactivate([in] VARIANT v);
4380
4381     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
4382     HRESULT onactivate([retval, out] VARIANT * p);
4383
4384     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
4385     HRESULT ondeactivate([in] VARIANT v);
4386
4387     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
4388     HRESULT ondeactivate([retval, out] VARIANT * p);
4389
4390     [id(DISPID_IHTMLELEMENT3_DRAGDROP)] HRESULT dragDrop([retval, out]
4391     VARIANT_BOOL* pfRet);
4392
4393     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
4394     HRESULT glyphMode([retval, out] LONG * p);
4395 };
4396 /*****************************************************************************
4397  *    IHTMLElement4 interface
4398  */
4399 [
4400     odl,
4401     oleautomation,
4402     dual,
4403     uuid(3050f80f-98b5-11cf-bb82-00aa00bdce0b)
4404 ]
4405 interface IHTMLElement4 : IDispatch
4406 {
4407     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
4408     HRESULT onmousewheel([in] VARIANT v);
4409
4410     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
4411     HRESULT onmousewheel([retval, out] VARIANT * p);
4412
4413     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
4414     HRESULT normalize();
4415
4416     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
4417     HRESULT getAttributeNode([in] BSTR bstrname,
4418         [retval, out] IHTMLDOMAttribute** ppAttribute);
4419
4420     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
4421     HRESULT setAttributeNode(
4422         [in] IHTMLDOMAttribute* pattr,
4423         [retval, out] IHTMLDOMAttribute** ppretAttribute);
4424
4425     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
4426     HRESULT removeAttributeNode(
4427         [in] IHTMLDOMAttribute* pattr,
4428         [retval, out] IHTMLDOMAttribute** ppretAttribute);
4429
4430     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
4431     HRESULT onbeforeactivate([in] VARIANT v);
4432
4433     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
4434     HRESULT onbeforeactivate([retval, out] VARIANT * p);
4435
4436     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
4437     HRESULT onfocusin([in] VARIANT v);
4438
4439     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
4440     HRESULT onfocusin([retval, out] VARIANT * p);
4441
4442     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
4443     HRESULT onfocusout([in] VARIANT v);
4444
4445     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
4446     HRESULT onfocusout([retval, out] VARIANT * p);
4447 };
4448
4449 /*****************************************************************************
4450  *    IHTMLGenericElement interface
4451  */
4452 [
4453     odl,
4454     oleautomation,
4455     dual,
4456     uuid(3050f4b7-98b5-11cf-bb82-00aa00bdce0b)
4457 ]
4458 interface IHTMLGenericElement : IDispatch
4459 {
4460     [propget, id(DISPID_IHTMLGENERICELEMENT_RECORDSET), hidden]
4461     HRESULT recordset([out, retval] IDispatch **p);
4462
4463     [id(DISPID_IHTMLGENERICELEMENT_NAMEDRECORDSET)]
4464     HRESULT namedRecordset(
4465             [in] BSTR dataMember,
4466             [in, optional] VARIANT *hierarchy,
4467             [out, retval] IDispatch **ppRecordset);
4468 }
4469
4470 /*****************************************************************************
4471  *    DispHTMLGenericElement dispinterface
4472  */
4473 [
4474     hidden,
4475     uuid(3050f563-98b5-11cf-bb82-00aa00bdce0b)
4476 ]
4477 dispinterface DispHTMLGenericElement
4478 {
4479 properties:
4480 methods:
4481     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
4482     void setAttribute(
4483             [in] BSTR strAttributeName,
4484             [in] VARIANT AttributeValue,
4485             [in, defaultvalue(1)] LONG lFlags);
4486
4487     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
4488     VARIANT getAttribute(
4489              [in] BSTR strAttributeName,
4490              [in, defaultvalue(0)] LONG lFlags);
4491
4492     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
4493     VARIANT_BOOL removeAttribute(
4494             [in] BSTR strAttributeName,
4495             [in, defaultvalue(1)] LONG lFlags);
4496
4497     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
4498     void className(BSTR v);
4499
4500     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
4501     BSTR className();
4502
4503     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
4504     void id(BSTR v);
4505
4506     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
4507     BSTR id();
4508
4509     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
4510     BSTR tagName();
4511
4512     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
4513     IHTMLElement *parentElement();
4514
4515     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
4516     IHTMLStyle *style();
4517
4518     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
4519     void onhelp(VARIANT v);
4520
4521     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
4522     VARIANT onhelp();
4523
4524     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
4525     void onclick(VARIANT v);
4526
4527     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
4528     VARIANT onclick();
4529
4530     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
4531     void ondblclick(VARIANT v);
4532
4533     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
4534     VARIANT ondblclick();
4535
4536     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
4537     void onkeydown(VARIANT v);
4538
4539     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
4540     VARIANT onkeydown();
4541
4542     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
4543     void onkeyup(VARIANT v);
4544
4545     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
4546     VARIANT onkeyup();
4547
4548     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
4549     void onkeypress(VARIANT v);
4550
4551     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
4552     VARIANT onkeypress();
4553
4554     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
4555     void onmouseout(VARIANT v);
4556
4557     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
4558     VARIANT onmouseout();
4559
4560     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
4561     void onmouseover(VARIANT v);
4562
4563     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
4564     VARIANT onmouseover();
4565
4566     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
4567     void onmousemove(VARIANT v);
4568
4569     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
4570     VARIANT onmousemove();
4571
4572     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
4573     void onmousedown(VARIANT v);
4574
4575     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
4576     VARIANT onmousedown();
4577
4578     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
4579     void onmouseup(VARIANT v);
4580
4581     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
4582     VARIANT onmouseup();
4583
4584     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
4585     IDispatch *document();
4586
4587     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
4588     void title(BSTR v);
4589
4590     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
4591     BSTR title();
4592
4593     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
4594     void language(BSTR v);
4595
4596     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
4597     BSTR language();
4598
4599     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
4600     void onselectstart(VARIANT v);
4601
4602     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
4603     VARIANT onselectstart();
4604
4605     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
4606     void scrollIntoView([in, optional] VARIANT varargStart);
4607
4608     [id(DISPID_IHTMLELEMENT_CONTAINS)]
4609     VARIANT_BOOL contains([in] IHTMLElement *pChild);
4610
4611     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
4612     long sourceIndex();
4613
4614     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
4615     VARIANT recordNumber();
4616
4617     [propput, id(DISPID_IHTMLELEMENT_LANG)]
4618     void lang(BSTR v);
4619
4620     [propget, id(DISPID_IHTMLELEMENT_LANG)]
4621     BSTR lang();
4622
4623     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
4624     long offsetLeft();
4625
4626     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
4627     long offsetTop();
4628
4629     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
4630     long offsetWidth();
4631
4632     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
4633     long offsetHeight();
4634
4635     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
4636     IHTMLElement *offsetParent();
4637
4638     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
4639     void innerHTML(BSTR v);
4640
4641     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
4642     BSTR innerHTML();
4643
4644     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
4645     void innerText(BSTR v);
4646
4647     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
4648     BSTR innerText();
4649
4650     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
4651     void outerHTML(BSTR v);
4652
4653     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
4654     BSTR outerHTML();
4655
4656     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
4657     void outerText(BSTR v);
4658
4659     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
4660     BSTR outerText();
4661
4662     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
4663     void insertAdjacentHTML(
4664             [in] BSTR where,
4665             [in] BSTR html);
4666
4667     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
4668     void insertAdjacentText(
4669             [in] BSTR where,
4670             [in] BSTR text);
4671
4672     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
4673     IHTMLElement *parentTextEdit();
4674
4675     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
4676     VARIANT_BOOL isTextEdit();
4677
4678     [id(DISPID_IHTMLELEMENT_CLICK)]
4679     void click();
4680
4681     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
4682     IHTMLFiltersCollection *filters();
4683
4684     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
4685     void ondragstart(VARIANT v);
4686
4687     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
4688     VARIANT ondragstart();
4689
4690     [id(DISPID_IHTMLELEMENT_TOSTRING)]
4691     BSTR toString();
4692
4693     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
4694     void onbeforeupdate(VARIANT v);
4695
4696     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
4697     VARIANT onbeforeupdate();
4698
4699     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
4700     void onafterupdate(VARIANT v);
4701
4702     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
4703     VARIANT onafterupdate();
4704
4705     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
4706     void onerrorupdate(VARIANT v);
4707
4708     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
4709     VARIANT onerrorupdate();
4710
4711     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
4712     void onrowexit(VARIANT v);
4713
4714     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
4715     VARIANT onrowexit();
4716
4717     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
4718     void onrowenter(VARIANT v);
4719
4720     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
4721     VARIANT onrowenter();
4722
4723     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
4724     void ondatasetchanged(VARIANT v);
4725
4726     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
4727     VARIANT ondatasetchanged();
4728
4729     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
4730     void ondataavailable(VARIANT v);
4731
4732     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
4733     VARIANT ondataavailable();
4734
4735     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
4736     void ondatasetcomplete(VARIANT v);
4737
4738     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
4739     VARIANT ondatasetcomplete();
4740
4741     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
4742     void onfilterchange(VARIANT v);
4743
4744     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
4745     VARIANT onfilterchange();
4746
4747     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
4748     IDispatch *children();
4749
4750     [propget, id(DISPID_IHTMLELEMENT_ALL)]
4751     IDispatch *all();
4752
4753     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
4754     BSTR scopeName();
4755
4756     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
4757     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
4758
4759     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
4760     void releaseCapture();
4761
4762     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
4763     void onlosecapture(VARIANT v);
4764
4765     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
4766     VARIANT onlosecapture();
4767
4768     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
4769     BSTR componentFromPoint(
4770             [in] long x,
4771             [in] long y);
4772
4773     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
4774     void doScroll([in, optional] VARIANT component);
4775
4776     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
4777     void onscroll(VARIANT v);
4778
4779     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
4780     VARIANT onscroll();
4781
4782     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
4783     void ondrag(VARIANT v);
4784
4785     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
4786     VARIANT ondrag();
4787
4788     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
4789     void ondragend(VARIANT v);
4790
4791     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
4792     VARIANT ondragend();
4793
4794     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
4795     void ondragenter(VARIANT v);
4796
4797     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
4798     VARIANT ondragenter();
4799
4800     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
4801     void ondragover(VARIANT v);
4802
4803     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
4804     VARIANT ondragover();
4805
4806     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
4807     void ondragleave(VARIANT v);
4808
4809     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
4810     VARIANT ondragleave();
4811
4812     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
4813     void ondrop(VARIANT v);
4814
4815     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
4816     VARIANT ondrop();
4817
4818     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
4819     void onbeforecut(VARIANT v);
4820
4821     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
4822     VARIANT onbeforecut();
4823
4824     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
4825     void oncut(VARIANT v);
4826
4827     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
4828     VARIANT oncut();
4829
4830     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
4831     void onbeforecopy(VARIANT v);
4832
4833     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
4834     VARIANT onbeforecopy();
4835
4836     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
4837     void oncopy(VARIANT v);
4838
4839     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
4840     VARIANT oncopy();
4841
4842     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
4843     void onbeforepaste(VARIANT v);
4844
4845     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
4846     VARIANT onbeforepaste();
4847
4848     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
4849     void onpaste(VARIANT v);
4850
4851     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
4852     VARIANT onpaste();
4853
4854     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
4855     IHTMLCurrentStyle *currentStyle();
4856
4857     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
4858     void onpropertychange(VARIANT v);
4859
4860     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
4861     VARIANT onpropertychange();
4862
4863     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
4864     IHTMLRectCollection *getClientRects();
4865
4866     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
4867     IHTMLRect *getBoundingClientRect();
4868
4869     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
4870     void setExpression(
4871             [in] BSTR propname,
4872             [in] BSTR expression,
4873             [in, defaultvalue("")] BSTR language);
4874
4875     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
4876     VARIANT getExpression([in] BSTR propname);
4877
4878     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
4879     VARIANT_BOOL removeExpression([in] BSTR propname);
4880
4881     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
4882     void tabIndex(short v);
4883
4884     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
4885     short tabIndex();
4886
4887     [id(DISPID_IHTMLELEMENT2_FOCUS)]
4888     void focus();
4889
4890     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
4891     void accessKey(BSTR v);
4892
4893     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
4894     BSTR accessKey();
4895
4896     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
4897     void onblur(VARIANT v);
4898
4899     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
4900     VARIANT onblur();
4901
4902     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
4903     void onfocus(VARIANT v);
4904
4905     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
4906     VARIANT onfocus();
4907
4908     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
4909     void onresize(VARIANT v);
4910
4911     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
4912     VARIANT onresize();
4913
4914     [id(DISPID_IHTMLELEMENT2_BLUR)]
4915     void blur();
4916
4917     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
4918     void addFilter([in] IUnknown *pUnk);
4919
4920     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
4921     void removeFilter([in] IUnknown *pUnk);
4922
4923     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
4924     long clientHeight();
4925
4926     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
4927     long clientWidth();
4928
4929     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
4930     long clientTop();
4931
4932     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
4933     long clientLeft();
4934
4935     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
4936     VARIANT_BOOL attachEvent(
4937             [in] BSTR event,
4938             [in] IDispatch *pDisp);
4939
4940     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
4941     void detachEvent(
4942             [in] BSTR event,
4943             [in] IDispatch *pDisp);
4944
4945     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
4946     VARIANT readyState();
4947
4948     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
4949     void onreadystatechange(VARIANT v);
4950
4951     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
4952     VARIANT onreadystatechange();
4953
4954     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
4955     void onrowsdelete(VARIANT v);
4956
4957     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
4958     VARIANT onrowsdelete();
4959
4960     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
4961     void onrowsinserted(VARIANT v);
4962
4963     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
4964      VARIANT onrowsinserted();
4965
4966     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
4967      void oncellchange(VARIANT v);
4968
4969     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
4970     VARIANT oncellchange();
4971
4972     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
4973     void dir(BSTR v);
4974
4975     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
4976     BSTR dir();
4977
4978     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
4979     IDispatch *createControlRange();
4980
4981     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
4982     long scrollHeight();
4983
4984     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
4985     long scrollWidth();
4986
4987     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
4988     void scrollTop(long v);
4989
4990     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
4991     long scrollTop();
4992
4993     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
4994     void scrollLeft(long v);
4995
4996     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
4997     long scrollLeft();
4998
4999     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
5000     void clearAttributes();
5001
5002     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
5003     void oncontextmenu(VARIANT v);
5004
5005     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
5006     VARIANT oncontextmenu();
5007
5008     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
5009     IHTMLElement *insertAdjacentElement(
5010             [in] BSTR where,
5011             [in] IHTMLElement *insertedElement);
5012
5013     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
5014     IHTMLElement *applyElement(
5015             [in] IHTMLElement *apply,
5016             [in] BSTR where);
5017
5018     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
5019     BSTR getAdjacentText([in] BSTR where);
5020
5021     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
5022     BSTR replaceAdjacentText(
5023             [in] BSTR where,
5024             [in] BSTR newText);
5025
5026     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
5027     VARIANT_BOOL canHaveChildren();
5028
5029     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
5030     long addBehavior(
5031             [in] BSTR bstrUrl,
5032             [in, optional] VARIANT *pvarFactory);
5033
5034     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
5035     VARIANT_BOOL removeBehavior([in] long cookie);
5036
5037     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
5038     IHTMLStyle *runtimeStyle();
5039
5040     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
5041     IDispatch *behaviorUrns();
5042
5043     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
5044     void tagUrn(BSTR v);
5045
5046     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
5047     BSTR tagUrn();
5048
5049     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
5050     void onbeforeeditfocus(VARIANT v);
5051
5052     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
5053     VARIANT onbeforeeditfocus();
5054
5055     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
5056     long readyStateValue();
5057
5058     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
5059     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
5060
5061     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
5062     void mergeAttributes(
5063             [in] IHTMLElement *mergeThis,
5064             [in, optional] VARIANT *pvarFlags);
5065
5066     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
5067     VARIANT_BOOL isMultiLine();
5068
5069     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
5070     VARIANT_BOOL canHaveHTML();
5071
5072     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
5073     void onlayoutcomplete(VARIANT v);
5074
5075     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
5076     VARIANT onlayoutcomplete();
5077
5078     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
5079     void onpage(VARIANT v);
5080
5081     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
5082     VARIANT onpage();
5083
5084     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
5085     void inflateBlock(VARIANT_BOOL v);
5086
5087     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
5088     VARIANT_BOOL inflateBlock();
5089
5090     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
5091     void onbeforedeactivate(VARIANT v);
5092
5093     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
5094     VARIANT onbeforedeactivate();
5095
5096     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
5097     void setActive();
5098
5099     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
5100     void contentEditable(BSTR v);
5101
5102     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
5103     BSTR contentEditable();
5104
5105     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
5106     VARIANT_BOOL isContentEditable();
5107
5108     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
5109     void hideFocus(VARIANT_BOOL v);
5110
5111     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
5112     VARIANT_BOOL hideFocus();
5113
5114     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
5115     void disabled(VARIANT_BOOL v);
5116
5117     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
5118     VARIANT_BOOL disabled();
5119
5120     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
5121     VARIANT_BOOL isDisabled();
5122
5123     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
5124     void onmove(VARIANT v);
5125
5126     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
5127     VARIANT onmove();
5128
5129     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
5130     void oncontrolselect(VARIANT v);
5131
5132     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
5133     VARIANT oncontrolselect();
5134
5135     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
5136     VARIANT_BOOL fireEvent(
5137             [in] BSTR bstrEventName,
5138             [in, optional] VARIANT *pvarEventObject);
5139
5140     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
5141     void onresizestart(VARIANT v);
5142
5143     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
5144     VARIANT onresizestart();
5145
5146     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
5147     void onresizeend(VARIANT v);
5148
5149     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
5150     VARIANT onresizeend();
5151
5152     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
5153     void onmovestart(VARIANT v);
5154
5155     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
5156     VARIANT onmovestart();
5157
5158     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
5159     void onmoveend(VARIANT v);
5160
5161     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
5162     VARIANT onmoveend();
5163
5164     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
5165     void onmouseenter(VARIANT v);
5166
5167     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
5168     VARIANT onmouseenter();
5169
5170     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
5171     void onmouseleave(VARIANT v);
5172
5173     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
5174     VARIANT onmouseleave();
5175
5176     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
5177     void onactivate(VARIANT v);
5178
5179     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
5180     VARIANT onactivate();
5181
5182     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
5183     void ondeactivate(VARIANT v);
5184
5185     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
5186     VARIANT ondeactivate();
5187
5188     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
5189     VARIANT_BOOL dragDrop();
5190
5191     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
5192     LONG glyphMode();
5193
5194     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
5195     void onmousewheel(VARIANT v);
5196
5197     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
5198     VARIANT onmousewheel();
5199
5200     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
5201     void normalize();
5202
5203     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
5204     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
5205
5206     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
5207     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
5208
5209     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
5210     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
5211
5212     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
5213     void onbeforeactivate(VARIANT v);
5214
5215     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
5216     VARIANT onbeforeactivate();
5217
5218     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
5219     void onfocusin(VARIANT v);
5220
5221     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
5222     VARIANT onfocusin();
5223
5224     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
5225     void onfocusout(VARIANT v);
5226
5227     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
5228     VARIANT onfocusout();
5229
5230     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
5231     long uniqueNumber();
5232
5233     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
5234     BSTR uniqueID();
5235
5236     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
5237     long nodeType();
5238
5239     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
5240     IHTMLDOMNode *parentNode();
5241
5242     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
5243     VARIANT_BOOL hasChildNodes();
5244
5245     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
5246     IDispatch *childNodes();
5247
5248     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
5249     IDispatch *attributes();
5250
5251     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
5252     IHTMLDOMNode *insertBefore(
5253             [in] IHTMLDOMNode *newChild,
5254             [in, optional] VARIANT refChild);
5255
5256     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
5257     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
5258
5259     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
5260     IHTMLDOMNode *replaceChild(
5261             [in] IHTMLDOMNode *newChild,
5262             [in] IHTMLDOMNode *oldChild);
5263
5264     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
5265     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
5266
5267     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
5268     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
5269
5270     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
5271     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
5272
5273     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
5274     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
5275
5276     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
5277     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
5278
5279     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
5280     BSTR nodeName();
5281
5282     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
5283     void nodeValue(VARIANT v);
5284
5285     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
5286     VARIANT nodeValue();
5287
5288     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
5289     IHTMLDOMNode *firstChild();
5290
5291     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
5292     IHTMLDOMNode *lastChild();
5293
5294     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
5295     IHTMLDOMNode *previousSibling();
5296
5297     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
5298     IHTMLDOMNode *nextSibling();
5299
5300     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
5301     IDispatch *ownerDocument();
5302
5303     [propget, id(DISPID_IHTMLGENERICELEMENT_RECORDSET), hidden]
5304     IDispatch *recordset();
5305
5306     [id(DISPID_IHTMLGENERICELEMENT_NAMEDRECORDSET)]
5307     IDispatch *namedRecordset(
5308             [in] BSTR dataMember,
5309             [in, optional] VARIANT *hierarchy);
5310 }
5311
5312 /*****************************************************************************
5313  *    IHTMLStyleSheetRule interface
5314  */
5315 [
5316     odl,
5317     oleautomation,
5318     dual,
5319     uuid(3050F357-98B5-11CF-BB82-00AA00BDCE0B)
5320 ]
5321 interface IHTMLStyleSheetRule : IDispatch
5322 {
5323     [propput, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)]
5324     HRESULT selectorText([in] BSTR v);
5325
5326     [propget, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)]
5327     HRESULT selectorText([retval, out] BSTR *p);
5328
5329     [propget, id(DISPID_IHTMLSTYLESHEETRULE_STYLE)]
5330     HRESULT style([retval, out] IHTMLRuleStyle **p);
5331
5332     [propget, id(DISPID_IHTMLSTYLESHEETRULE_READONLY)]
5333     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
5334 }
5335
5336 /*****************************************************************************
5337  *    IHTMLStyleSheetRulesCollection interface
5338  */
5339 [
5340     odl,
5341     oleautomation,
5342     dual,
5343     uuid(3050F2E5-98B5-11Cf-BB82-00AA00BDCE0B)
5344 ]
5345 interface IHTMLStyleSheetRulesCollection : IDispatch
5346 {
5347     [propget, id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_LENGTH)]
5348     HRESULT length([retval, out] long *p);
5349
5350     [id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_ITEM)]
5351     HRESULT item(
5352         [in] long index,
5353         [retval, out] IHTMLStyleSheetRule **ppHTMLStyleSheetRule);
5354 }
5355
5356 /*****************************************************************************
5357  *    IHTMLStyleSheet interface
5358  */
5359 [
5360     odl,
5361     oleautomation,
5362     dual,
5363     uuid(3050F2E3-98B5-11CF-BB82-00AA00BDCE0B)
5364 ]
5365 interface IHTMLStyleSheet : IDispatch
5366 {
5367     [propput, id(DISPID_IHTMLSTYLESHEET_TITLE)]
5368     HRESULT title([in] BSTR v);
5369
5370     [propget, id(DISPID_IHTMLSTYLESHEET_TITLE)]
5371     HRESULT title([retval, out] BSTR *p);
5372
5373     [propget, id(DISPID_IHTMLSTYLESHEET_PARENTSTYLESHEET)]
5374     HRESULT parentStyleSheet([retval, out] IHTMLStyleSheet **p);
5375
5376     [propget, id(DISPID_IHTMLSTYLESHEET_OWNINGELEMENT)]
5377     HRESULT owningElement([retval, out] IHTMLElement **p);
5378
5379     [propput, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
5380     HRESULT disabled([in] VARIANT_BOOL v);
5381
5382     [propget, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
5383     HRESULT disabled([retval, out] VARIANT_BOOL *p);
5384
5385     [propget, id(DISPID_IHTMLSTYLESHEET_READONLY)]
5386     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
5387
5388     [propget, id(DISPID_IHTMLSTYLESHEET_IMPORTS)]
5389     HRESULT imports([retval, out] IHTMLStyleSheetsCollection **p);
5390
5391     [propput, id(DISPID_IHTMLSTYLESHEET_HREF)]
5392     HRESULT href([in] BSTR v);
5393
5394     [propget, id(DISPID_IHTMLSTYLESHEET_HREF)]
5395     HRESULT href([retval, out] BSTR *p);
5396
5397     [propget, id(DISPID_IHTMLSTYLESHEET_TYPE)]
5398     HRESULT type([retval, out] BSTR *p);
5399
5400     [propget, id(DISPID_IHTMLSTYLESHEET_ID)]
5401     HRESULT id([retval, out] BSTR *p);
5402
5403     [id(DISPID_IHTMLSTYLESHEET_ADDIMPORT)]
5404     HRESULT addImport(
5405         [in] BSTR bstrURL,
5406         [defaultvalue(-1), in] long lIndex,
5407         [retval, out] long *plIndex);
5408
5409     [id(DISPID_IHTMLSTYLESHEET_ADDRULE)]
5410     HRESULT addRule(
5411         [in] BSTR bstrSelector,
5412         [in] BSTR bstrStyle,
5413         [defaultvalue(-1), in] long lIndex,
5414         [retval, out] long *plNewIndex);
5415
5416     [id(DISPID_IHTMLSTYLESHEET_REMOVEIMPORT)]
5417     HRESULT removeImport([in] long lIndex);
5418
5419     [id(DISPID_IHTMLSTYLESHEET_REMOVERULE)]
5420     HRESULT removeRule([in] long lIndex);
5421
5422     [propput, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
5423     HRESULT media([in] BSTR v);
5424
5425     [propget, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
5426     HRESULT media([retval, out] BSTR *p);
5427
5428     [propput, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
5429     HRESULT cssText([in] BSTR v);
5430
5431     [propget, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
5432     HRESULT cssText([retval, out] BSTR *p);
5433
5434     [propget, id(DISPID_IHTMLSTYLESHEET_RULES)]
5435     HRESULT rules([retval, out] IHTMLStyleSheetRulesCollection **p);
5436 }
5437
5438 /*****************************************************************************
5439  *    IHTMLStyleSheetsCollection interface
5440  */
5441 [
5442     odl,
5443     oleautomation,
5444     dual,
5445     uuid(3050F37E-98B5-11CF-BB82-00AA00BDCE0B)
5446 ]
5447 interface IHTMLStyleSheetsCollection : IDispatch
5448 {
5449     [propget, id(DISPID_IHTMLSTYLESHEETSCOLLECTION_LENGTH)]
5450     HRESULT length([retval, out] long *p);
5451
5452     [propget, id(DISPID_IHTMLSTYLESHEETSCOLLECTION__NEWENUM)]
5453     HRESULT _newEnum([retval, out] IUnknown **p);
5454
5455     [id(DISPID_IHTMLSTYLESHEETSCOLLECTION_ITEM)]
5456     HRESULT item(
5457         [in] VARIANT *pvarIndex,
5458         [retval, out] VARIANT *pvarResult);
5459 }
5460
5461 /*****************************************************************************
5462  *    IHTMLTxtRange interface
5463  */
5464 [
5465     odl,
5466     oleautomation,
5467     dual,
5468     uuid(3050f220-98b5-11cf-bb82-00aa00bdce0b)
5469 ]
5470 interface IHTMLTxtRange : IDispatch
5471 {
5472     [propget, id(DISPID_IHTMLTXTRANGE_HTMLTEXT)]
5473     HRESULT htmlText([retval, out] BSTR *p);
5474
5475     [propput, id(DISPID_IHTMLTXTRANGE_TEXT)]
5476     HRESULT text([in] BSTR v);
5477
5478     [propget, id(DISPID_IHTMLTXTRANGE_TEXT)]
5479     HRESULT text([retval, out] BSTR *p);
5480
5481     [id(DISPID_IHTMLTXTRANGE_PARENTELEMENT)]
5482     HRESULT parentElement([retval, out] IHTMLElement **parent);
5483
5484     [id(DISPID_IHTMLTXTRANGE_DUPLICATE)]
5485     HRESULT duplicate([retval, out] IHTMLTxtRange **Duplicate);
5486
5487     [id(DISPID_IHTMLTXTRANGE_INRANGE)]
5488     HRESULT inRange(
5489         [in] IHTMLTxtRange *Range,
5490         [retval, out] VARIANT_BOOL *InRange);
5491
5492     [id(DISPID_IHTMLTXTRANGE_ISEQUAL)]
5493     HRESULT isEqual(
5494         [in] IHTMLTxtRange *Range,
5495         [retval, out] VARIANT_BOOL *IsEqual);
5496
5497     [id(DISPID_IHTMLTXTRANGE_SCROLLINTOVIEW)]
5498     HRESULT scrollIntoView([defaultvalue(-1), in] VARIANT_BOOL fStart);
5499
5500     [id(DISPID_IHTMLTXTRANGE_COLLAPSE)]
5501     HRESULT collapse([defaultvalue(-1), in] VARIANT_BOOL Start);
5502
5503     [id(DISPID_IHTMLTXTRANGE_EXPAND)]
5504     HRESULT expand(
5505         [in] BSTR Unit,
5506         [retval, out] VARIANT_BOOL *Success);
5507
5508     [id(DISPID_IHTMLTXTRANGE_MOVE)]
5509     HRESULT move(
5510         [in] BSTR Unit,
5511         [defaultvalue(1), in] long Count,
5512         [retval, out] long *ActualCount);
5513
5514     [id(DISPID_IHTMLTXTRANGE_MOVESTART)]
5515     HRESULT moveStart(
5516         [in] BSTR Unit,
5517         [defaultvalue(1), in] long Count,
5518         [retval, out] long *ActualCount);
5519
5520     [id(DISPID_IHTMLTXTRANGE_MOVEEND)]
5521     HRESULT moveEnd(
5522         [in] BSTR Unit,
5523         [defaultvalue(1), in] long Count,
5524         [retval, out] long *ActualCount);
5525
5526     [id(DISPID_IHTMLTXTRANGE_SELECT)]
5527     HRESULT select();
5528
5529     [id(DISPID_IHTMLTXTRANGE_PASTEHTML)]
5530     HRESULT pasteHTML([in] BSTR html);
5531
5532     [id(DISPID_IHTMLTXTRANGE_MOVETOELEMENTTEXT)]
5533     HRESULT moveToElementText([in] IHTMLElement *element);
5534
5535     [id(DISPID_IHTMLTXTRANGE_SETENDPOINT)]
5536     HRESULT setEndPoint(
5537         [in] BSTR how,
5538         [in] IHTMLTxtRange *SourceRange);
5539
5540     [id(DISPID_IHTMLTXTRANGE_COMPAREENDPOINTS)]
5541     HRESULT compareEndPoints(
5542         [in] BSTR how,
5543         [in] IHTMLTxtRange *SourceRange,
5544         [retval, out] long *ret);
5545
5546     [id(DISPID_IHTMLTXTRANGE_FINDTEXT)]
5547     HRESULT findText(
5548         [in] BSTR String,
5549         [defaultvalue(1073741823), in] long count,
5550         [defaultvalue(0), in] long Flags,
5551         [retval, out] VARIANT_BOOL *Success);
5552
5553     [id(DISPID_IHTMLTXTRANGE_MOVETOPOINT)]
5554     HRESULT moveToPoint(
5555         [in] long x,
5556         [in] long y);
5557
5558     [id(DISPID_IHTMLTXTRANGE_GETBOOKMARK)]
5559     HRESULT getBookmark([retval, out] BSTR *Boolmark);
5560
5561     [id(DISPID_IHTMLTXTRANGE_MOVETOBOOKMARK)]
5562     HRESULT moveToBookmark(
5563         [in] BSTR Bookmark,
5564         [retval, out] VARIANT_BOOL *Success);
5565
5566     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDSUPPORTED)]
5567     HRESULT queryCommandSupported(
5568         [in] BSTR cmdID,
5569         [retval, out] VARIANT_BOOL *pfRet);
5570
5571     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDENABLED)]
5572     HRESULT queryCommandEnabled(
5573         [in] BSTR cmdID,
5574         [retval, out] VARIANT_BOOL *pfRet);
5575
5576     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDSTATE)]
5577     HRESULT queryCommandState(
5578         [in] BSTR cmdID,
5579         [retval, out] VARIANT_BOOL *pfRet);
5580
5581     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDINDETERM)]
5582     HRESULT queryCommandIndeterm(
5583         [in] BSTR cmdID,
5584         [retval, out] VARIANT_BOOL *pfRet);
5585
5586     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDTEXT)]
5587     HRESULT queryCommandText(
5588         [in] BSTR cmdID,
5589         [retval, out] BSTR *pcmdText);
5590
5591     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDVALUE)]
5592     HRESULT queryCommandValue(
5593         [in] BSTR cmdID,
5594         [retval, out] VARIANT *pcmdValue);
5595
5596     [id(DISPID_IHTMLTXTRANGE_EXECCOMMAND)]
5597     HRESULT execCommand(
5598         [in] BSTR cmdID,
5599         [defaultvalue(0), in] VARIANT_BOOL showUI,
5600         [optional, in] VARIANT value,
5601         [retval, out] VARIANT_BOOL *pfRet);
5602
5603     [id(DISPID_IHTMLTXTRANGE_EXECCOMMANDSHOWHELP)]
5604     HRESULT execCommandShowHelp(
5605         [in] BSTR cmdID,
5606         [retval, out] VARIANT_BOOL *pfRet);
5607 }
5608
5609 /*****************************************************************************
5610  *    IHTMLFormElement interface
5611  */
5612 [
5613     odl,
5614     oleautomation,
5615     dual,
5616     uuid(3050F1F7-98B5-11CF-BB82-00AA00BDCE0B)
5617 ]
5618 interface IHTMLFormElement : IDispatch
5619 {
5620     [propput, id(DISPID_IHTMLFORMELEMENT_ACTION)]
5621     HRESULT action([in] BSTR v);
5622
5623     [propget, id(DISPID_IHTMLFORMELEMENT_ACTION)]
5624     HRESULT action([retval, out] BSTR *p);
5625
5626     [propput, id(DISPID_IHTMLFORMELEMENT_DIR)]
5627     HRESULT dir([in] BSTR v);
5628
5629     [propget, id(DISPID_IHTMLFORMELEMENT_DIR)]
5630     HRESULT dir([retval, out] BSTR *p);
5631
5632     [propput, id(DISPID_IHTMLFORMELEMENT_ENCODING)]
5633     HRESULT encoding([in] BSTR v);
5634
5635     [propget, id(DISPID_IHTMLFORMELEMENT_ENCODING)]
5636     HRESULT encoding([retval, out] BSTR *p);
5637
5638     [propput, id(DISPID_IHTMLFORMELEMENT_METHOD)]
5639     HRESULT method([in] BSTR v);
5640
5641     [propget, id(DISPID_IHTMLFORMELEMENT_METHOD)]
5642     HRESULT method([retval, out] BSTR *p);
5643
5644     [propget, id(DISPID_IHTMLFORMELEMENT_ELEMENTS)]
5645     HRESULT elements([retval, out] IDispatch **p);
5646
5647     [propput, id(DISPID_IHTMLFORMELEMENT_TARGET)]
5648     HRESULT target([in] BSTR v);
5649
5650     [propget, id(DISPID_IHTMLFORMELEMENT_TARGET)]
5651     HRESULT target([retval, out] BSTR *p);
5652
5653     [propput, id(DISPID_IHTMLFORMELEMENT_NAME)]
5654     HRESULT name([in] BSTR v);
5655
5656     [propget, id(DISPID_IHTMLFORMELEMENT_NAME)]
5657     HRESULT name([retval, out] BSTR *p);
5658
5659     [propput, id(DISPID_IHTMLFORMELEMENT_ONSUBMIT)]
5660     HRESULT onsubmit([in] VARIANT v);
5661
5662     [propget, id(DISPID_IHTMLFORMELEMENT_ONSUBMIT)]
5663     HRESULT onsubmit([retval, out] VARIANT *p);
5664
5665     [propput, id(DISPID_IHTMLFORMELEMENT_ONRESET)]
5666     HRESULT onreset([in] VARIANT v);
5667
5668     [propget, id(DISPID_IHTMLFORMELEMENT_ONRESET)]
5669     HRESULT onreset([retval, out] VARIANT *p);
5670
5671     [id(DISPID_IHTMLFORMELEMENT_SUBMIT)]
5672     HRESULT submit();
5673
5674     [id(DISPID_IHTMLFORMELEMENT_RESET)]
5675     HRESULT reset();
5676
5677     [propput, id(DISPID_IHTMLFORMELEMENT_LENGTH)]
5678     HRESULT length([in] long v);
5679
5680     [propget, id(DISPID_IHTMLFORMELEMENT_LENGTH)]
5681     HRESULT length([retval, out] long *p);
5682
5683     [propget, id(DISPID_IHTMLFORMELEMENT__NEWENUM)]
5684     HRESULT _newEnum([retval, out] IUnknown **p);
5685
5686     [id(DISPID_IHTMLFORMELEMENT_ITEM)]
5687     HRESULT item(
5688         [optional, in] VARIANT name,
5689         [optional, in] VARIANT index,
5690         [retval, out] IDispatch **pdisp);
5691
5692     [id(DISPID_IHTMLFORMELEMENT_TAGS)]
5693     HRESULT tags(
5694         [in] VARIANT tagName,
5695         [retval, out] IDispatch **pdisp);
5696 }
5697
5698 /*****************************************************************************
5699  *    IHTMLTextContainer interface
5700  */
5701 [
5702     odl,
5703     oleautomation,
5704     dual,
5705     uuid(3050f230-98b5-11cf-bb82-00aa00bdce0b)
5706 ]
5707 interface IHTMLTextContainer : IDispatch
5708 {
5709     [id(DISPID_IHTMLTEXTCONTAINER_CREATECONTROLRANGE)]
5710     HRESULT createControlRange([retval, out] IDispatch **range);
5711
5712     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLHEIGHT), displaybind, bindable]
5713     HRESULT scrollHeight([retval, out] long *p);
5714
5715     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLWIDTH), displaybind, bindable]
5716     HRESULT scrollWidth([retval, out] long *p);
5717
5718     [propput, id(DISPID_IHTMLTEXTCONTAINER_SCROLLTOP), displaybind, bindable]
5719     HRESULT scrollTop([in] long v);
5720
5721     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLTOP), displaybind, bindable]
5722     HRESULT scrollTop([retval, out] long *p);
5723
5724     [propput, id(DISPID_IHTMLTEXTCONTAINER_SCROLLLEFT), displaybind, bindable]
5725     HRESULT scrollLeft([in] long v);
5726
5727     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLLEFT), displaybind, bindable]
5728     HRESULT scrollLeft([retval, out] long *p);
5729
5730     [propput, id(DISPID_IHTMLTEXTCONTAINER_ONSCROLL), displaybind, bindable]
5731     HRESULT onscroll([in] VARIANT v);
5732
5733     [propget, id(DISPID_IHTMLTEXTCONTAINER_ONSCROLL), displaybind, bindable]
5734     HRESULT onscroll([retval, out] VARIANT *p);
5735 }
5736
5737 /*****************************************************************************
5738  *    IHTMLImgElement interface
5739  */
5740 [
5741     odl,
5742     oleautomation,
5743     dual,
5744     uuid(3050F240-98B5-11CF-BB82-00AA00BDCE0B)
5745 ]
5746 interface IHTMLImgElement : IDispatch
5747 {
5748     [propput, id(DISPID_IHTMLIMGELEMENT_ISMAP)]
5749     HRESULT isMap([in] VARIANT_BOOL v);
5750
5751     [propget, id(DISPID_IHTMLIMGELEMENT_ISMAP)]
5752     HRESULT isMap([retval, out] VARIANT_BOOL *p);
5753
5754     [propput, id(DISPID_IHTMLIMGELEMENT_USEMAP)]
5755     HRESULT useMap([in] BSTR v);
5756
5757     [propget, id(DISPID_IHTMLIMGELEMENT_USEMAP)]
5758     HRESULT useMap([retval, out] BSTR *p);
5759
5760     [propget, id(DISPID_IHTMLIMGELEMENT_MIMETYPE)]
5761     HRESULT mimeType([retval, out] BSTR *p);
5762
5763     [propget, id(DISPID_IHTMLIMGELEMENT_FILESIZE)]
5764     HRESULT fileSize([retval, out] BSTR *p);
5765
5766     [propget, id(DISPID_IHTMLIMGELEMENT_FILECREATEDDATE)]
5767     HRESULT fileCreatedDate([retval, out] BSTR *p);
5768
5769     [propget, id(DISPID_IHTMLIMGELEMENT_FILEMODIFIEDDATE)]
5770     HRESULT fileModifiedDate([retval, out] BSTR *p);
5771
5772     [propget, id(DISPID_IHTMLIMGELEMENT_FILEUPDATEDDATE)]
5773     HRESULT fileUpdatedDate([retval, out] BSTR *p);
5774
5775     [propget, id(DISPID_IHTMLIMGELEMENT_PROTOCOL)]
5776     HRESULT protocol([retval, out] BSTR *p);
5777
5778     [propget, id(DISPID_IHTMLIMGELEMENT_HREF)]
5779     HRESULT href([retval, out] BSTR *p);
5780
5781     [propget, id(DISPID_IHTMLIMGELEMENT_NAMEPROP)]
5782     HRESULT nameProp([retval, out] BSTR *p);
5783
5784     [propput, id(DISPID_IHTMLIMGELEMENT_BORDER)]
5785     HRESULT border([in] VARIANT v);
5786
5787     [propget, id(DISPID_IHTMLIMGELEMENT_BORDER)]
5788     HRESULT border([retval, out] VARIANT *p);
5789
5790     [propput, id(DISPID_IHTMLIMGELEMENT_VSPACE)]
5791     HRESULT vspace([in] long v);
5792
5793     [propget, id(DISPID_IHTMLIMGELEMENT_VSPACE)]
5794     HRESULT vspace([retval, out] long *p);
5795
5796     [propput, id(DISPID_IHTMLIMGELEMENT_HSPACE)]
5797     HRESULT hspace([in] long v);
5798
5799     [propget, id(DISPID_IHTMLIMGELEMENT_HSPACE)]
5800     HRESULT hspace([retval, out] long *p);
5801
5802     [propput, id(DISPID_IHTMLIMGELEMENT_ALT)]
5803     HRESULT alt([in] BSTR v);
5804
5805     [propget, id(DISPID_IHTMLIMGELEMENT_ALT)]
5806     HRESULT alt([retval, out] BSTR *p);
5807
5808     [propput, id(DISPID_IHTMLIMGELEMENT_SRC)]
5809     HRESULT src([in] BSTR v);
5810
5811     [propget, id(DISPID_IHTMLIMGELEMENT_SRC)]
5812     HRESULT src([retval, out] BSTR *p);
5813
5814     [propput, id(DISPID_IHTMLIMGELEMENT_LOWSRC)]
5815     HRESULT lowsrc([in] BSTR v);
5816
5817     [propget, id(DISPID_IHTMLIMGELEMENT_LOWSRC)]
5818     HRESULT lowsrc([retval, out] BSTR *p);
5819
5820     [propput, id(DISPID_IHTMLIMGELEMENT_VRML)]
5821     HRESULT vrml([in] BSTR v);
5822
5823     [propget, id(DISPID_IHTMLIMGELEMENT_VRML)]
5824     HRESULT vrml([retval, out] BSTR *p);
5825
5826     [propput, id(DISPID_IHTMLIMGELEMENT_DYNSRC)]
5827     HRESULT dynsrc([in] BSTR v);
5828
5829     [propget, id(DISPID_IHTMLIMGELEMENT_DYNSRC)]
5830     HRESULT dynsrc([retval, out] BSTR *p);
5831
5832     [propget, id(DISPID_IHTMLIMGELEMENT_READYSTATE)]
5833     HRESULT readyState([retval, out] BSTR *p);
5834
5835     [propget, id(DISPID_IHTMLIMGELEMENT_COMPLETE)]
5836     HRESULT complete([retval, out] VARIANT_BOOL *p);
5837
5838     [propput, id(DISPID_IHTMLIMGELEMENT_LOOP)]
5839     HRESULT loop([in] VARIANT v);
5840
5841     [propget, id(DISPID_IHTMLIMGELEMENT_LOOP)]
5842     HRESULT loop([retval, out] VARIANT *p);
5843
5844     [propput, id(DISPID_IHTMLIMGELEMENT_ALIGN)]
5845     HRESULT align([in] BSTR v);
5846
5847     [propget, id(DISPID_IHTMLIMGELEMENT_ALIGN)]
5848     HRESULT align([retval, out] BSTR *p);
5849
5850     [propput, id(DISPID_IHTMLIMGELEMENT_ONLOAD)]
5851     HRESULT onload([in] VARIANT v);
5852
5853     [propget, id(DISPID_IHTMLIMGELEMENT_ONLOAD)]
5854     HRESULT onload([retval, out] VARIANT *p);
5855
5856     [propput, id(DISPID_IHTMLIMGELEMENT_ONERROR)]
5857     HRESULT onerror([in] VARIANT v);
5858
5859     [propget, id(DISPID_IHTMLIMGELEMENT_ONERROR)]
5860     HRESULT onerror([retval, out] VARIANT *p);
5861
5862     [propput, id(DISPID_IHTMLIMGELEMENT_ONABORT)]
5863     HRESULT onabort([in] VARIANT v);
5864
5865     [propget, id(DISPID_IHTMLIMGELEMENT_ONABORT)]
5866     HRESULT onabort([retval, out] VARIANT *p);
5867
5868     [propput, id(DISPID_IHTMLIMGELEMENT_NAME)]
5869     HRESULT name([in] BSTR v);
5870
5871     [propget, id(DISPID_IHTMLIMGELEMENT_NAME)]
5872     HRESULT name([retval, out] BSTR *p);
5873
5874     [propput, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
5875     HRESULT width([in] long v);
5876
5877     [propget, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
5878     HRESULT width([retval, out] long *p);
5879
5880     [propput, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
5881     HRESULT height([in] long v);
5882
5883     [propget, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
5884     HRESULT height([retval, out] long *p);
5885
5886     [propput, id(DISPID_IHTMLIMGELEMENT_START)]
5887     HRESULT start([in] BSTR v);
5888
5889     [propget, id(DISPID_IHTMLIMGELEMENT_START)]
5890     HRESULT start([retval, out] BSTR *p);
5891 }
5892
5893 /*****************************************************************************
5894  *    IHTMLImageElementFactory interface
5895  */
5896 [
5897     odl,
5898     oleautomation,
5899     dual,
5900     uuid(3050F38E-98B5-11CF-BB82-00AAA0BDCE0B)
5901 ]
5902 interface IHTMLImageElementFactory : IDispatch
5903 {
5904     [id(DISPID_IHTMLIMAGEELEMENTFACTORY_CREATE)]
5905     HRESULT create(
5906         [optional, in] VARIANT width,
5907         [optional, in] VARIANT height,
5908         [retval, out]  IHTMLImgElement **elem);
5909 }
5910
5911 /*****************************************************************************
5912  *    DispHTMLImg interface
5913  */
5914 [
5915     hidden,
5916     uuid(3050f51c-98b5-11cf-bb82-00aa00bdce0b)
5917 ]
5918 dispinterface DispHTMLImg
5919 {
5920 properties:
5921 methods:
5922     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
5923     void setAttribute(
5924             [in] BSTR strAttributeName,
5925             [in] VARIANT AttributeValue,
5926             [in, defaultvalue(1)] LONG lFlags);
5927
5928     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
5929     VARIANT getAttribute(
5930              [in] BSTR strAttributeName,
5931              [in, defaultvalue(0)] LONG lFlags);
5932
5933     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
5934     VARIANT_BOOL removeAttribute(
5935             [in] BSTR strAttributeName,
5936             [in, defaultvalue(1)] LONG lFlags);
5937
5938     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
5939     void className(BSTR v);
5940
5941     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
5942     BSTR className();
5943
5944     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
5945     void id(BSTR v);
5946
5947     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
5948     BSTR id();
5949
5950     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
5951     BSTR tagName();
5952
5953     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
5954     IHTMLElement *parentElement();
5955
5956     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
5957     IHTMLStyle *style();
5958
5959     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
5960     void onhelp(VARIANT v);
5961
5962     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
5963     VARIANT onhelp();
5964
5965     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
5966     void onclick(VARIANT v);
5967
5968     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
5969     VARIANT onclick();
5970
5971     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
5972     void ondblclick(VARIANT v);
5973
5974     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
5975     VARIANT ondblclick();
5976
5977     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
5978     void onkeydown(VARIANT v);
5979
5980     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
5981     VARIANT onkeydown();
5982
5983     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
5984     void onkeyup(VARIANT v);
5985
5986     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
5987     VARIANT onkeyup();
5988
5989     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
5990     void onkeypress(VARIANT v);
5991
5992     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
5993     VARIANT onkeypress();
5994
5995     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
5996     void onmouseout(VARIANT v);
5997
5998     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
5999     VARIANT onmouseout();
6000
6001     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
6002     void onmouseover(VARIANT v);
6003
6004     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
6005     VARIANT onmouseover();
6006
6007     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
6008     void onmousemove(VARIANT v);
6009
6010     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
6011     VARIANT onmousemove();
6012
6013     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
6014     void onmousedown(VARIANT v);
6015
6016     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
6017     VARIANT onmousedown();
6018
6019     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
6020     void onmouseup(VARIANT v);
6021
6022     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
6023     VARIANT onmouseup();
6024
6025     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
6026     IDispatch *document();
6027
6028     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
6029     void title(BSTR v);
6030
6031     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
6032     BSTR title();
6033
6034     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
6035     void language(BSTR v);
6036
6037     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
6038     BSTR language();
6039
6040     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
6041     void onselectstart(VARIANT v);
6042
6043     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
6044     VARIANT onselectstart();
6045
6046     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
6047     void scrollIntoView([in, optional] VARIANT varargStart);
6048
6049     [id(DISPID_IHTMLELEMENT_CONTAINS)]
6050     VARIANT_BOOL contains([in] IHTMLElement *pChild);
6051
6052     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
6053     long sourceIndex();
6054
6055     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
6056     VARIANT recordNumber();
6057
6058     [propput, id(DISPID_IHTMLELEMENT_LANG)]
6059     void lang(BSTR v);
6060
6061     [propget, id(DISPID_IHTMLELEMENT_LANG)]
6062     BSTR lang();
6063
6064     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
6065     long offsetLeft();
6066
6067     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
6068     long offsetTop();
6069
6070     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
6071     long offsetWidth();
6072
6073     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
6074     long offsetHeight();
6075
6076     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
6077     IHTMLElement *offsetParent();
6078
6079     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
6080     void innerHTML(BSTR v);
6081
6082     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
6083     BSTR innerHTML();
6084
6085     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
6086     void innerText(BSTR v);
6087
6088     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
6089     BSTR innerText();
6090
6091     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
6092     void outerHTML(BSTR v);
6093
6094     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
6095     BSTR outerHTML();
6096
6097     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
6098     void outerText(BSTR v);
6099
6100     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
6101     BSTR outerText();
6102
6103     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
6104     void insertAdjacentHTML(
6105             [in] BSTR where,
6106             [in] BSTR html);
6107
6108     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
6109     void insertAdjacentText(
6110             [in] BSTR where,
6111             [in] BSTR text);
6112
6113     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
6114     IHTMLElement *parentTextEdit();
6115
6116     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
6117     VARIANT_BOOL isTextEdit();
6118
6119     [id(DISPID_IHTMLELEMENT_CLICK)]
6120     void click();
6121
6122     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
6123     IHTMLFiltersCollection *filters();
6124
6125     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
6126     void ondragstart(VARIANT v);
6127
6128     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
6129     VARIANT ondragstart();
6130
6131     [id(DISPID_IHTMLELEMENT_TOSTRING)]
6132     BSTR toString();
6133
6134     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
6135     void onbeforeupdate(VARIANT v);
6136
6137     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
6138     VARIANT onbeforeupdate();
6139
6140     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
6141     void onafterupdate(VARIANT v);
6142
6143     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
6144     VARIANT onafterupdate();
6145
6146     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
6147     void onerrorupdate(VARIANT v);
6148
6149     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
6150     VARIANT onerrorupdate();
6151
6152     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
6153     void onrowexit(VARIANT v);
6154
6155     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
6156     VARIANT onrowexit();
6157
6158     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
6159     void onrowenter(VARIANT v);
6160
6161     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
6162     VARIANT onrowenter();
6163
6164     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
6165     void ondatasetchanged(VARIANT v);
6166
6167     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
6168     VARIANT ondatasetchanged();
6169
6170     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
6171     void ondataavailable(VARIANT v);
6172
6173     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
6174     VARIANT ondataavailable();
6175
6176     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
6177     void ondatasetcomplete(VARIANT v);
6178
6179     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
6180     VARIANT ondatasetcomplete();
6181
6182     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
6183     void onfilterchange(VARIANT v);
6184
6185     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
6186     VARIANT onfilterchange();
6187
6188     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
6189     IDispatch *children();
6190
6191     [propget, id(DISPID_IHTMLELEMENT_ALL)]
6192     IDispatch *all();
6193
6194     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
6195     BSTR scopeName();
6196
6197     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
6198     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
6199
6200     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
6201     void releaseCapture();
6202
6203     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
6204     void onlosecapture(VARIANT v);
6205
6206     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
6207     VARIANT onlosecapture();
6208
6209     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
6210     BSTR componentFromPoint(
6211             [in] long x,
6212             [in] long y);
6213
6214     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
6215     void doScroll([in, optional] VARIANT component);
6216
6217     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
6218     void onscroll(VARIANT v);
6219
6220     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
6221     VARIANT onscroll();
6222
6223     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
6224     void ondrag(VARIANT v);
6225
6226     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
6227     VARIANT ondrag();
6228
6229     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
6230     void ondragend(VARIANT v);
6231
6232     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
6233     VARIANT ondragend();
6234
6235     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
6236     void ondragenter(VARIANT v);
6237
6238     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
6239     VARIANT ondragenter();
6240
6241     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
6242     void ondragover(VARIANT v);
6243
6244     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
6245     VARIANT ondragover();
6246
6247     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
6248     void ondragleave(VARIANT v);
6249
6250     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
6251     VARIANT ondragleave();
6252
6253     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
6254     void ondrop(VARIANT v);
6255
6256     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
6257     VARIANT ondrop();
6258
6259     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
6260     void onbeforecut(VARIANT v);
6261
6262     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
6263     VARIANT onbeforecut();
6264
6265     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
6266     void oncut(VARIANT v);
6267
6268     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
6269     VARIANT oncut();
6270
6271     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
6272     void onbeforecopy(VARIANT v);
6273
6274     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
6275     VARIANT onbeforecopy();
6276
6277     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
6278     void oncopy(VARIANT v);
6279
6280     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
6281     VARIANT oncopy();
6282
6283     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
6284     void onbeforepaste(VARIANT v);
6285
6286     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
6287     VARIANT onbeforepaste();
6288
6289     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
6290     void onpaste(VARIANT v);
6291
6292     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
6293     VARIANT onpaste();
6294
6295     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
6296     IHTMLCurrentStyle *currentStyle();
6297
6298     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
6299     void onpropertychange(VARIANT v);
6300
6301     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
6302     VARIANT onpropertychange();
6303
6304     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
6305     IHTMLRectCollection *getClientRects();
6306
6307     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
6308     IHTMLRect *getBoundingClientRect();
6309
6310     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
6311     void setExpression(
6312             [in] BSTR propname,
6313             [in] BSTR expression,
6314             [in, defaultvalue("")] BSTR language);
6315
6316     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
6317     VARIANT getExpression([in] BSTR propname);
6318
6319     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
6320     VARIANT_BOOL removeExpression([in] BSTR propname);
6321
6322     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
6323     void tabIndex(short v);
6324
6325     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
6326     short tabIndex();
6327
6328     [id(DISPID_IHTMLELEMENT2_FOCUS)]
6329     void focus();
6330
6331     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
6332     void accessKey(BSTR v);
6333
6334     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
6335     BSTR accessKey();
6336
6337     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
6338     void onblur(VARIANT v);
6339
6340     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
6341     VARIANT onblur();
6342
6343     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
6344     void onfocus(VARIANT v);
6345
6346     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
6347     VARIANT onfocus();
6348
6349     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
6350     void onresize(VARIANT v);
6351
6352     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
6353     VARIANT onresize();
6354
6355     [id(DISPID_IHTMLELEMENT2_BLUR)]
6356     void blur();
6357
6358     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
6359     void addFilter([in] IUnknown *pUnk);
6360
6361     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
6362     void removeFilter([in] IUnknown *pUnk);
6363
6364     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
6365     long clientHeight();
6366
6367     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
6368     long clientWidth();
6369
6370     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
6371     long clientTop();
6372
6373     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
6374     long clientLeft();
6375
6376     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
6377     VARIANT_BOOL attachEvent(
6378             [in] BSTR event,
6379             [in] IDispatch *pDisp);
6380
6381     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
6382     void detachEvent(
6383             [in] BSTR event,
6384             [in] IDispatch *pDisp);
6385
6386     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
6387     VARIANT readyState();
6388
6389     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
6390     void onreadystatechange(VARIANT v);
6391
6392     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
6393     VARIANT onreadystatechange();
6394
6395     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
6396     void onrowsdelete(VARIANT v);
6397
6398     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
6399     VARIANT onrowsdelete();
6400
6401     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
6402     void onrowsinserted(VARIANT v);
6403
6404     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
6405      VARIANT onrowsinserted();
6406
6407     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
6408      void oncellchange(VARIANT v);
6409
6410     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
6411     VARIANT oncellchange();
6412
6413     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
6414     void dir(BSTR v);
6415
6416     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
6417     BSTR dir();
6418
6419     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
6420     IDispatch *createControlRange();
6421
6422     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
6423     long scrollHeight();
6424
6425     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
6426     long scrollWidth();
6427
6428     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
6429     void scrollTop(long v);
6430
6431     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
6432     long scrollTop();
6433
6434     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
6435     void scrollLeft(long v);
6436
6437     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
6438     long scrollLeft();
6439
6440     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
6441     void clearAttributes();
6442
6443     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
6444     void oncontextmenu(VARIANT v);
6445
6446     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
6447     VARIANT oncontextmenu();
6448
6449     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
6450     IHTMLElement *insertAdjacentElement(
6451             [in] BSTR where,
6452             [in] IHTMLElement *insertedElement);
6453
6454     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
6455     IHTMLElement *applyElement(
6456             [in] IHTMLElement *apply,
6457             [in] BSTR where);
6458
6459     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
6460     BSTR getAdjacentText([in] BSTR where);
6461
6462     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
6463     BSTR replaceAdjacentText(
6464             [in] BSTR where,
6465             [in] BSTR newText);
6466
6467     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
6468     VARIANT_BOOL canHaveChildren();
6469
6470     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
6471     long addBehavior(
6472             [in] BSTR bstrUrl,
6473             [in, optional] VARIANT *pvarFactory);
6474
6475     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
6476     VARIANT_BOOL removeBehavior([in] long cookie);
6477
6478     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
6479     IHTMLStyle *runtimeStyle();
6480
6481     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
6482     IDispatch *behaviorUrns();
6483
6484     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
6485     void tagUrn(BSTR v);
6486
6487     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
6488     BSTR tagUrn();
6489
6490     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
6491     void onbeforeeditfocus(VARIANT v);
6492
6493     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
6494     VARIANT onbeforeeditfocus();
6495
6496     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
6497     long readyStateValue();
6498
6499     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
6500     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
6501
6502     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
6503     void mergeAttributes(
6504             [in] IHTMLElement *mergeThis,
6505             [in, optional] VARIANT *pvarFlags);
6506
6507     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
6508     VARIANT_BOOL isMultiLine();
6509
6510     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
6511     VARIANT_BOOL canHaveHTML();
6512
6513     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
6514     void onlayoutcomplete(VARIANT v);
6515
6516     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
6517     VARIANT onlayoutcomplete();
6518
6519     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
6520     void onpage(VARIANT v);
6521
6522     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
6523     VARIANT onpage();
6524
6525     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
6526     void inflateBlock(VARIANT_BOOL v);
6527
6528     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
6529     VARIANT_BOOL inflateBlock();
6530
6531     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
6532     void onbeforedeactivate(VARIANT v);
6533
6534     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
6535     VARIANT onbeforedeactivate();
6536
6537     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
6538     void setActive();
6539
6540     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
6541     void contentEditable(BSTR v);
6542
6543     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
6544     BSTR contentEditable();
6545
6546     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
6547     VARIANT_BOOL isContentEditable();
6548
6549     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
6550     void hideFocus(VARIANT_BOOL v);
6551
6552     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
6553     VARIANT_BOOL hideFocus();
6554
6555     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
6556     void disabled(VARIANT_BOOL v);
6557
6558     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
6559     VARIANT_BOOL disabled();
6560
6561     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
6562     VARIANT_BOOL isDisabled();
6563
6564     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
6565     void onmove(VARIANT v);
6566
6567     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
6568     VARIANT onmove();
6569
6570     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
6571     void oncontrolselect(VARIANT v);
6572
6573     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
6574     VARIANT oncontrolselect();
6575
6576     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
6577     VARIANT_BOOL fireEvent(
6578             [in] BSTR bstrEventName,
6579             [in, optional] VARIANT *pvarEventObject);
6580
6581     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
6582     void onresizestart(VARIANT v);
6583
6584     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
6585     VARIANT onresizestart();
6586
6587     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
6588     void onresizeend(VARIANT v);
6589
6590     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
6591     VARIANT onresizeend();
6592
6593     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
6594     void onmovestart(VARIANT v);
6595
6596     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
6597     VARIANT onmovestart();
6598
6599     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
6600     void onmoveend(VARIANT v);
6601
6602     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
6603     VARIANT onmoveend();
6604
6605     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
6606     void onmouseenter(VARIANT v);
6607
6608     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
6609     VARIANT onmouseenter();
6610
6611     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
6612     void onmouseleave(VARIANT v);
6613
6614     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
6615     VARIANT onmouseleave();
6616
6617     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
6618     void onactivate(VARIANT v);
6619
6620     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
6621     VARIANT onactivate();
6622
6623     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
6624     void ondeactivate(VARIANT v);
6625
6626     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
6627     VARIANT ondeactivate();
6628
6629     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
6630     VARIANT_BOOL dragDrop();
6631
6632     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
6633     LONG glyphMode();
6634
6635     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
6636     void onmousewheel(VARIANT v);
6637
6638     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
6639     VARIANT onmousewheel();
6640
6641     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
6642     void normalize();
6643
6644     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
6645     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
6646
6647     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
6648     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
6649
6650     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
6651     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
6652
6653     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
6654     void onbeforeactivate(VARIANT v);
6655
6656     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
6657     VARIANT onbeforeactivate();
6658
6659     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
6660     void onfocusin(VARIANT v);
6661
6662     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
6663     VARIANT onfocusin();
6664
6665     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
6666     void onfocusout(VARIANT v);
6667
6668     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
6669     VARIANT onfocusout();
6670
6671     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
6672     long uniqueNumber();
6673
6674     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
6675     BSTR uniqueID();
6676
6677     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
6678     long nodeType();
6679
6680     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
6681     IHTMLDOMNode *parentNode();
6682
6683     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
6684     VARIANT_BOOL hasChildNodes();
6685
6686     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
6687     IDispatch *childNodes();
6688
6689     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
6690     IDispatch *attributes();
6691
6692     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
6693     IHTMLDOMNode *insertBefore(
6694             [in] IHTMLDOMNode *newChild,
6695             [in, optional] VARIANT refChild);
6696
6697     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
6698     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
6699
6700     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
6701     IHTMLDOMNode *replaceChild(
6702             [in] IHTMLDOMNode *newChild,
6703             [in] IHTMLDOMNode *oldChild);
6704
6705     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
6706     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
6707
6708     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
6709     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
6710
6711     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
6712     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
6713
6714     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
6715     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
6716
6717     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
6718     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
6719
6720     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
6721     BSTR nodeName();
6722
6723     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
6724     void nodeValue(VARIANT v);
6725
6726     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
6727     VARIANT nodeValue();
6728
6729     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
6730     IHTMLDOMNode *firstChild();
6731
6732     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
6733     IHTMLDOMNode *lastChild();
6734
6735     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
6736     IHTMLDOMNode *previousSibling();
6737
6738     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
6739     IHTMLDOMNode *nextSibling();
6740
6741     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
6742     IDispatch *ownerDocument();
6743
6744     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
6745     void dataFld(BSTR v);
6746
6747     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
6748     BSTR dataFld();
6749
6750     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
6751     void dataSrc(BSTR v);
6752
6753     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
6754     BSTR dataSrc();
6755
6756     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
6757     void dataFormatAs(BSTR v);
6758
6759     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
6760     BSTR dataFormatAs();
6761
6762     [propput, id(DISPID_IHTMLIMGELEMENT_ISMAP), displaybind, bindable]
6763     void isMap(VARIANT_BOOL v);
6764
6765     [propget, id(DISPID_IHTMLIMGELEMENT_ISMAP), displaybind, bindable]
6766     VARIANT_BOOL isMap();
6767
6768     [propput, id(DISPID_IHTMLIMGELEMENT_USEMAP), displaybind, bindable]
6769     void useMap(BSTR v);
6770
6771     [propget, id(DISPID_IHTMLIMGELEMENT_USEMAP), displaybind, bindable]
6772     BSTR useMap();
6773
6774     [propget, id(DISPID_IHTMLIMGELEMENT_MIMETYPE)]
6775     BSTR mimeType();
6776
6777     [propget, id(DISPID_IHTMLIMGELEMENT_FILESIZE)]
6778     BSTR fileSize();
6779
6780     [propget, id(DISPID_IHTMLIMGELEMENT_FILECREATEDDATE)]
6781     BSTR fileCreatedDate();
6782
6783     [propget, id(DISPID_IHTMLIMGELEMENT_FILEMODIFIEDDATE)]
6784     BSTR fileModifiedDate();
6785
6786     [propget, id(DISPID_IHTMLIMGELEMENT_FILEUPDATEDDATE)]
6787     BSTR fileUpdatedDate();
6788
6789     [propget, id(DISPID_IHTMLIMGELEMENT_PROTOCOL)]
6790     BSTR protocol();
6791
6792     [propget, id(DISPID_IHTMLIMGELEMENT_HREF)]
6793     BSTR href();
6794
6795     [propget, id(DISPID_IHTMLIMGELEMENT_NAMEPROP)]
6796     BSTR nameProp();
6797
6798     [propput, id(DISPID_IHTMLIMGELEMENT_BORDER), displaybind, bindable]
6799     void border(VARIANT v);
6800
6801     [propget, id(DISPID_IHTMLIMGELEMENT_BORDER), displaybind, bindable]
6802     VARIANT border();
6803
6804     [propput, id(DISPID_IHTMLIMGELEMENT_VSPACE), displaybind, bindable]
6805     void vspace(long v);
6806
6807     [propget, id(DISPID_IHTMLIMGELEMENT_VSPACE), displaybind, bindable]
6808     long vspace();
6809
6810     [propput, id(DISPID_IHTMLIMGELEMENT_HSPACE), displaybind, bindable]
6811     void hspace(long v);
6812
6813     [propget, id(DISPID_IHTMLIMGELEMENT_HSPACE), displaybind, bindable]
6814     long hspace();
6815
6816     [propput, id(DISPID_IHTMLIMGELEMENT_ALT), displaybind, bindable]
6817     void alt(BSTR v);
6818
6819     [propget, id(DISPID_IHTMLIMGELEMENT_ALT), displaybind, bindable]
6820     BSTR alt();
6821
6822     [propput, id(DISPID_IHTMLIMGELEMENT_SRC), displaybind, bindable]
6823     void src(BSTR v);
6824
6825     [propget, id(DISPID_IHTMLIMGELEMENT_SRC), displaybind, bindable]
6826     BSTR src();
6827
6828     [propput, id(DISPID_IHTMLIMGELEMENT_LOWSRC), displaybind, bindable]
6829     void lowsrc(BSTR v);
6830
6831     [propget, id(DISPID_IHTMLIMGELEMENT_LOWSRC), displaybind, bindable]
6832     BSTR lowsrc();
6833
6834     [propput, id(DISPID_IHTMLIMGELEMENT_VRML), displaybind, bindable]
6835     void vrml(BSTR v);
6836
6837     [propget, id(DISPID_IHTMLIMGELEMENT_VRML), displaybind, bindable]
6838     BSTR vrml();
6839
6840     [propput, id(DISPID_IHTMLIMGELEMENT_DYNSRC), displaybind, bindable]
6841     void dynsrc(BSTR v);
6842
6843     [propget, id(DISPID_IHTMLIMGELEMENT_DYNSRC), displaybind, bindable]
6844     BSTR dynsrc();
6845
6846     [propget, id(DISPID_IHTMLIMGELEMENT_COMPLETE)]
6847     VARIANT_BOOL complete();
6848
6849     [propput, id(DISPID_IHTMLIMGELEMENT_LOOP), displaybind, bindable]
6850     void loop(VARIANT v);
6851
6852     [propget, id(DISPID_IHTMLIMGELEMENT_LOOP), displaybind, bindable]
6853     VARIANT loop();
6854
6855     [propput, id(DISPID_IHTMLIMGELEMENT_ALIGN), displaybind, bindable]
6856     void align(BSTR v);
6857
6858     [propget, id(DISPID_IHTMLIMGELEMENT_ALIGN), displaybind, bindable]
6859     BSTR align();
6860
6861     [propput, id(DISPID_IHTMLIMGELEMENT_ONLOAD), displaybind, bindable]
6862     void onload(VARIANT v);
6863
6864     [propget, id(DISPID_IHTMLIMGELEMENT_ONLOAD), displaybind, bindable]
6865     VARIANT onload();
6866
6867     [propput, id(DISPID_IHTMLIMGELEMENT_ONERROR), displaybind, bindable]
6868     void onerror(VARIANT v);
6869
6870     [propget, id(DISPID_IHTMLIMGELEMENT_ONERROR), displaybind, bindable]
6871     VARIANT onerror();
6872
6873     [propput, id(DISPID_IHTMLIMGELEMENT_ONABORT), displaybind, bindable]
6874     void onabort(VARIANT v);
6875
6876     [propget, id(DISPID_IHTMLIMGELEMENT_ONABORT), displaybind, bindable]
6877     VARIANT onabort();
6878
6879     [propput, id(DISPID_IHTMLIMGELEMENT_NAME), displaybind, bindable]
6880     void name(BSTR v);
6881
6882     [propget, id(DISPID_IHTMLIMGELEMENT_NAME), displaybind, bindable]
6883     BSTR name();
6884
6885     [propput, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
6886     void width(long v);
6887
6888     [propget, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
6889     long width();
6890
6891     [propput, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
6892     void height(long v);
6893
6894     [propget, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
6895     long height();
6896
6897     [propput, id(DISPID_IHTMLIMGELEMENT_START), displaybind, bindable]
6898     void start(BSTR v);
6899
6900     [propget, id(DISPID_IHTMLIMGELEMENT_START), displaybind, bindable]
6901     BSTR start();
6902
6903     [propput, id(DISPID_IHTMLIMGELEMENT2_LONGDESC), displaybind, bindable]
6904     void longDesc(BSTR v);
6905
6906     [propget, id(DISPID_IHTMLIMGELEMENT2_LONGDESC), displaybind, bindable]
6907     BSTR longDesc();
6908 };
6909
6910 /*****************************************************************************
6911  *    IHTMLUniqueName interface
6912  */
6913 [
6914     odl,
6915     oleautomation,
6916     dual,
6917     uuid(3050f4d0-98b5-11cf-bb82-00aa00bdce0b)
6918 ]
6919 interface IHTMLUniqueName : IDispatch
6920 {
6921     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
6922     HRESULT uniqueNumber([retval, out] long * p);
6923
6924     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
6925     HRESULT uniqueID([retval, out] BSTR * p);
6926 };
6927
6928 /*****************************************************************************
6929  *    IHTMLControlElement interface
6930  */
6931 [
6932     odl,
6933     oleautomation,
6934     dual,
6935     uuid(3050f4e9-98b5-11cf-bb82-00aa00bdce0b)
6936 ]
6937 interface IHTMLControlElement : IDispatch
6938 {
6939     [propput, id(DISPID_IHTMLCONTROLELEMENT_TABINDEX), displaybind, bindable]
6940     HRESULT tabIndex([in] short v);
6941
6942     [propget, id(DISPID_IHTMLCONTROLELEMENT_TABINDEX), displaybind, bindable]
6943     HRESULT tabIndex([retval, out] short * p);
6944
6945     [id(DISPID_IHTMLCONTROLELEMENT_FOCUS)]
6946     HRESULT focus();
6947
6948     [propput, id(DISPID_IHTMLCONTROLELEMENT_ACCESSKEY), displaybind, bindable]
6949     HRESULT accessKey([in] BSTR v);
6950
6951     [propget, id(DISPID_IHTMLCONTROLELEMENT_ACCESSKEY), displaybind, bindable]
6952     HRESULT accessKey([retval, out] BSTR * p);
6953
6954     [propput, id(DISPID_IHTMLCONTROLELEMENT_ONBLUR), displaybind, bindable]
6955     HRESULT onblur([in] VARIANT v);
6956
6957     [propget, id(DISPID_IHTMLCONTROLELEMENT_ONBLUR), displaybind, bindable]
6958     HRESULT onblur([retval, out] VARIANT * p);
6959
6960     [propput, id(DISPID_IHTMLCONTROLELEMENT_ONFOCUS), displaybind, bindable]
6961     HRESULT onfocus([in] VARIANT v);
6962
6963     [propget, id(DISPID_IHTMLCONTROLELEMENT_ONFOCUS), displaybind, bindable]
6964     HRESULT onfocus([retval, out] VARIANT * p);
6965
6966     [propput, id(DISPID_IHTMLCONTROLELEMENT_ONRESIZE), displaybind, bindable]
6967     HRESULT onresize([in] VARIANT v);
6968
6969     [propget, id(DISPID_IHTMLCONTROLELEMENT_ONRESIZE), displaybind, bindable]
6970     HRESULT onresize([retval, out] VARIANT * p);
6971
6972     [id(DISPID_IHTMLCONTROLELEMENT_BLUR)]
6973     HRESULT blur();
6974
6975     [id(DISPID_IHTMLCONTROLELEMENT_ADDFILTER)]
6976     HRESULT addFilter([in] IUnknown* pUnk);
6977
6978     [id(DISPID_IHTMLCONTROLELEMENT_REMOVEFILTER)]
6979     HRESULT removeFilter([in] IUnknown* pUnk);
6980
6981     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTHEIGHT), displaybind, bindable]
6982     HRESULT clientHeight([retval, out] long * p);
6983
6984     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTWIDTH), displaybind, bindable]
6985     HRESULT clientWidth([retval, out] long * p);
6986
6987     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTTOP), displaybind, bindable]
6988     HRESULT clientTop([retval, out] long * p);
6989
6990     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTLEFT), displaybind, bindable]
6991     HRESULT clientLeft([retval, out] long * p);
6992 };
6993
6994 /*****************************************************************************
6995  *    IHTMLBodyElement interface
6996  */
6997 [
6998     odl,
6999     oleautomation,
7000     dual,
7001     uuid(3050f1d8-98b5-11cf-bb82-00aa00bdce0b)
7002 ]
7003 interface IHTMLBodyElement : IDispatch
7004 {
7005     [propput, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
7006     HRESULT background([in] BSTR v);
7007
7008     [propget, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
7009     HRESULT background([retval, out] BSTR *p);
7010
7011     [propput, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
7012     HRESULT bgProperties([in] BSTR v);
7013
7014     [propget, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
7015     HRESULT bgProperties([retval, out] BSTR *p);
7016
7017     [propput, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
7018     HRESULT leftMargin([in] VARIANT v);
7019
7020     [propget, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
7021     HRESULT leftMargin([retval, out] VARIANT *p);
7022
7023     [propput, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
7024     HRESULT topMargin([in] VARIANT v);
7025
7026     [propget, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
7027     HRESULT topMargin([retval, out] VARIANT *p);
7028
7029     [propput, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
7030     HRESULT rightMargin([in] VARIANT v);
7031
7032     [propget, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
7033     HRESULT rightMargin([retval, out] VARIANT *p);
7034
7035     [propput, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
7036     HRESULT bottomMargin([in] VARIANT v);
7037
7038     [propget, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
7039     HRESULT bottomMargin([retval, out] VARIANT *p);
7040
7041     [propput, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
7042     HRESULT noWrap([in] VARIANT_BOOL v);
7043
7044     [propget, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
7045     HRESULT noWrap([retval, out] VARIANT_BOOL *p);
7046
7047     [propput, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
7048     HRESULT bgColor([in] VARIANT v);
7049
7050     [propget, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
7051     HRESULT bgColor([retval, out] VARIANT *p);
7052
7053     [propput, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
7054     HRESULT text([in] VARIANT v);
7055
7056     [propget, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
7057     HRESULT text([retval, out] VARIANT *p);
7058
7059     [propput, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
7060     HRESULT link([in] VARIANT v);
7061
7062     [propget, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
7063     HRESULT link([retval, out] VARIANT *p);
7064
7065     [propput, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
7066     HRESULT vLink([in] VARIANT v);
7067
7068     [propget, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
7069     HRESULT vLink([retval, out] VARIANT *p);
7070
7071     [propput, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
7072     HRESULT aLink([in] VARIANT v);
7073
7074     [propget, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
7075     HRESULT aLink([retval, out] VARIANT *p);
7076
7077     [propput, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
7078     HRESULT onload([in] VARIANT v);
7079
7080     [propget, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
7081     HRESULT onload([retval, out] VARIANT *p);
7082
7083     [propput, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
7084     HRESULT onunload([in] VARIANT v);
7085
7086     [propget, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
7087     HRESULT onunload([retval, out] VARIANT *p);
7088
7089     [propput, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
7090     HRESULT scroll([in] BSTR v);
7091
7092     [propget, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
7093     HRESULT scroll([retval, out] BSTR *p);
7094
7095     [propput, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
7096     HRESULT onselect([in] VARIANT v);
7097
7098     [propget, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
7099     HRESULT onselect([retval, out] VARIANT *p);
7100
7101     [propput, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
7102     HRESULT onbeforeunload([in] VARIANT v);
7103
7104     [propget, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
7105     HRESULT onbeforeunload([retval, out] VARIANT *p);
7106
7107     [id(DISPID_IHTMLBODYELEMENT_CREATETEXTRANGE)]
7108     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
7109 }
7110
7111 /*****************************************************************************
7112  *    IHTMLBodyElement2 interface
7113  */
7114 [
7115     odl,
7116     oleautomation,
7117     dual,
7118     uuid(3050f5c5-98b5-11cf-bb82-00aa00bdce0b)
7119 ]
7120 interface IHTMLBodyElement2 : IDispatch
7121 {
7122     [propput, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
7123     HRESULT onbeforeprint([in] VARIANT v);
7124
7125     [propget, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
7126     HRESULT onbeforeprint([retval, out] VARIANT *p);
7127
7128     [propput, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
7129     HRESULT onafterprint([in] VARIANT v);
7130
7131     [propget, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
7132     HRESULT onafterprint([retval, out] VARIANT *p);
7133 }
7134
7135 [
7136     hidden,
7137     uuid(3050f507-98b5-11cf-bb82-00aa00bdce0b)
7138 ]
7139 dispinterface DispHTMLBody
7140 {
7141 properties:
7142 methods:
7143     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
7144     void setAttribute(
7145         [in] BSTR strAttributeName,
7146         [in] VARIANT AttValue,
7147         [defaultvalue(1), in] LONG lFlags);
7148
7149     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
7150     VARIANT getAttribute(
7151         [in] BSTR strAttributeName,
7152         [defaultvalue(0), in] LONG lFlags);
7153
7154     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
7155     VARIANT_BOOL removeAttribute(
7156         [in] BSTR strAttributeName,
7157         [defaultvalue(1), in] LONG lFlags);
7158
7159     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
7160     void className(BSTR v);
7161
7162     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
7163     BSTR className();
7164
7165     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
7166     void id(BSTR v);
7167
7168     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
7169     BSTR id();
7170
7171     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
7172     BSTR tagName();
7173
7174     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
7175     IHTMLElement* parentElement();
7176
7177     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
7178     IHTMLStyle* style();
7179
7180     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
7181     void onhelp(VARIANT v);
7182
7183     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
7184     VARIANT onhelp();
7185
7186     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
7187     void onclick(VARIANT v);
7188
7189     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
7190     VARIANT onclick();
7191
7192     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
7193     void ondblclick(VARIANT v);
7194
7195     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
7196     VARIANT ondblclick();
7197
7198     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
7199     void onkeydown(VARIANT v);
7200
7201     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
7202     VARIANT onkeydown();
7203
7204     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
7205     void onkeyup(VARIANT v);
7206
7207     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
7208     VARIANT onkeyup();
7209
7210     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
7211     void onkeypress(VARIANT v);
7212
7213     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
7214     VARIANT onkeypress();
7215
7216     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
7217     void onmouseout(VARIANT v);
7218
7219     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
7220     VARIANT onmouseout();
7221
7222     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
7223     void onmouseover(VARIANT v);
7224
7225     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
7226     VARIANT onmouseover();
7227
7228     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
7229     void onmousemove(VARIANT v);
7230
7231     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
7232     VARIANT onmousemove();
7233
7234     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
7235     void onmousedown(VARIANT v);
7236
7237     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
7238     VARIANT onmousedown();
7239
7240     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
7241     void onmouseup(VARIANT v);
7242
7243     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
7244     VARIANT onmouseup();
7245
7246     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)] IDispatch* document();
7247
7248     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
7249     void title(BSTR v);
7250
7251     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
7252     BSTR title();
7253
7254     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
7255     void language(BSTR v);
7256
7257     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
7258     BSTR language();
7259
7260     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
7261     void onselectstart(VARIANT v);
7262
7263     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
7264     VARIANT onselectstart();
7265
7266     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
7267     void scrollIntoView([optional, in] VARIANT varargStart);
7268
7269     [id(DISPID_IHTMLELEMENT_CONTAINS)]
7270     VARIANT_BOOL contains([in] IHTMLElement* pChild);
7271
7272     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
7273     long sourceIndex();
7274
7275     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
7276     VARIANT recordNumber();
7277
7278     [propput, id(DISPID_IHTMLELEMENT_LANG)]
7279     void lang(BSTR v);
7280
7281     [propget, id(DISPID_IHTMLELEMENT_LANG)]
7282     BSTR lang();
7283
7284     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
7285     long offsetLeft();
7286
7287     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
7288     long offsetTop();
7289
7290     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
7291     long offsetWidth();
7292
7293     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
7294     long offsetHeight();
7295
7296     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
7297     IHTMLElement* offsetParent();
7298
7299     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
7300     void innerHTML(BSTR v);
7301
7302     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
7303     BSTR innerHTML();
7304
7305     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
7306     void innerText(BSTR v);
7307
7308     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
7309     BSTR innerText();
7310
7311     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
7312     void outerHTML(BSTR v);
7313
7314     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
7315     BSTR outerHTML();
7316
7317     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
7318     void outerText(BSTR v);
7319
7320     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
7321     BSTR outerText();
7322
7323     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
7324     void insertAdjacentHTML(
7325         [in] BSTR where,
7326         [in] BSTR html);
7327
7328     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
7329     void insertAdjacentText(
7330         [in] BSTR where,
7331         [in] BSTR text);
7332
7333     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
7334     IHTMLElement* parentTextEdit();
7335
7336     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
7337     VARIANT_BOOL isTextEdit();
7338
7339     [id(DISPID_IHTMLELEMENT_CLICK)] void click();
7340
7341     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
7342     IHTMLFiltersCollection* filters();
7343
7344     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
7345     void ondragstart(VARIANT v);
7346
7347     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
7348     VARIANT ondragstart();
7349
7350     [id(DISPID_IHTMLELEMENT_TOSTRING)]
7351     BSTR toString();
7352
7353     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
7354     void onbeforeupdate(VARIANT v);
7355
7356     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
7357     VARIANT onbeforeupdate();
7358
7359     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
7360     void onafterupdate(VARIANT v);
7361
7362     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
7363     VARIANT onafterupdate();
7364
7365     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
7366     void onerrorupdate(VARIANT v);
7367
7368     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
7369     VARIANT onerrorupdate();
7370
7371     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
7372     void onrowexit(VARIANT v);
7373
7374     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
7375     VARIANT onrowexit();
7376
7377     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
7378     void onrowenter(VARIANT v);
7379
7380     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
7381     VARIANT onrowenter();
7382
7383     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
7384     void ondatasetchanged(VARIANT v);
7385
7386     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
7387     VARIANT ondatasetchanged();
7388
7389     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
7390     void ondataavailable(VARIANT v);
7391
7392     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
7393     VARIANT ondataavailable();
7394
7395     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
7396     void ondatasetcomplete(VARIANT v);
7397
7398     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
7399     VARIANT ondatasetcomplete();
7400
7401     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
7402     void onfilterchange(VARIANT v);
7403
7404     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
7405     VARIANT onfilterchange();
7406
7407     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
7408     IDispatch* children();
7409
7410     [propget, id(DISPID_IHTMLELEMENT_ALL)]
7411     IDispatch* all();
7412
7413     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
7414     BSTR scopeName();
7415
7416     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
7417     void setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
7418
7419     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
7420     void releaseCapture();
7421
7422     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
7423     void onlosecapture(VARIANT v);
7424
7425     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
7426     VARIANT onlosecapture();
7427
7428     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
7429     BSTR componentFromPoint([in] long x,[in] long y);
7430
7431     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
7432     void doScroll([optional, in] VARIANT component);
7433
7434     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
7435     void onscroll(VARIANT v);
7436
7437     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
7438     VARIANT onscroll();
7439
7440     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
7441     void ondrag(VARIANT v);
7442
7443     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
7444     VARIANT ondrag();
7445
7446     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
7447     void ondragend(VARIANT v);
7448
7449     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
7450     VARIANT ondragend();
7451
7452     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
7453     void ondragenter(VARIANT v);
7454
7455     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
7456     VARIANT ondragenter();
7457
7458     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
7459     void ondragover(VARIANT v);
7460
7461     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
7462     VARIANT ondragover();
7463
7464     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
7465     void ondragleave(VARIANT v);
7466
7467     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
7468     VARIANT ondragleave();
7469
7470     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
7471      void ondrop(VARIANT v);
7472
7473     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
7474     VARIANT ondrop();
7475
7476     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
7477     void onbeforecut(VARIANT v);
7478
7479     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
7480     VARIANT onbeforecut();
7481
7482     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
7483     void oncut(VARIANT v);
7484
7485     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
7486     VARIANT oncut();
7487
7488     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
7489     void onbeforecopy(VARIANT v);
7490
7491     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
7492     VARIANT onbeforecopy();
7493
7494     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
7495     void oncopy(VARIANT v);
7496
7497     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
7498     VARIANT oncopy();
7499
7500     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
7501     void onbeforepaste(VARIANT v);
7502
7503     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
7504      VARIANT onbeforepaste();
7505
7506     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
7507     void onpaste(VARIANT v);
7508
7509     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
7510     VARIANT onpaste();
7511
7512     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
7513     IHTMLCurrentStyle* currentStyle();
7514
7515     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
7516     void onpropertychange(VARIANT v);
7517
7518     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
7519     VARIANT onpropertychange();
7520
7521     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
7522     IHTMLRectCollection* getClientRects();
7523
7524     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
7525     IHTMLRect* getBoundingClientRect();
7526
7527     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
7528     void setExpression(
7529         [in] BSTR propname,
7530         [in] BSTR expr,
7531         [defaultvalue(""), in] BSTR lang);
7532
7533     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
7534     VARIANT getExpression([in] BSTR propname);
7535
7536     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
7537     VARIANT_BOOL removeExpression([in] BSTR propname);
7538
7539     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
7540     void tabIndex(short v);
7541
7542     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
7543     short tabIndex();
7544
7545     [id(DISPID_IHTMLELEMENT2_FOCUS)]
7546     void focus();
7547
7548     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
7549     void accessKey(BSTR v);
7550
7551     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
7552     BSTR accessKey();
7553
7554     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
7555     void onblur(VARIANT v);
7556
7557     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
7558      VARIANT onblur();
7559
7560     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
7561     void onfocus(VARIANT v);
7562
7563     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
7564     VARIANT onfocus();
7565
7566     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
7567     void onresize(VARIANT v);
7568
7569     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
7570     VARIANT onresize();
7571
7572     [id(DISPID_IHTMLELEMENT2_BLUR)]
7573     void blur();
7574
7575     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
7576     void addFilter([in] IUnknown* pUnk);
7577
7578     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
7579     void removeFilter([in] IUnknown* pUnk);
7580
7581     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
7582     long clientHeight();
7583
7584     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
7585     long clientWidth();
7586
7587     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
7588     long clientTop();
7589
7590     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
7591     long clientLeft();
7592
7593     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
7594     VARIANT_BOOL attachEvent(
7595         [in] BSTR event,
7596         [in] IDispatch* pDisp);
7597
7598     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
7599     void detachEvent(
7600         [in] BSTR event,
7601         [in] IDispatch* pDisp);
7602
7603     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)] VARIANT readyState();
7604
7605     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
7606      void onreadystatechange(VARIANT v);
7607
7608     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
7609     VARIANT onreadystatechange();
7610
7611     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
7612     void onrowsdelete(VARIANT v);
7613
7614     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
7615     VARIANT onrowsdelete();
7616
7617     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
7618     void onrowsinserted(VARIANT v);
7619
7620     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
7621     VARIANT onrowsinserted();
7622
7623     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
7624     void oncellchange(VARIANT v);
7625
7626     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
7627     VARIANT oncellchange();
7628
7629     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
7630     void dir(BSTR v);
7631
7632     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
7633     BSTR dir();
7634
7635     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
7636     IDispatch* createControlRange();
7637
7638     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
7639     long scrollHeight();
7640
7641     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
7642     long scrollWidth();
7643
7644     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
7645     void scrollTop(long v);
7646
7647     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
7648     long scrollTop();
7649
7650     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
7651     void scrollLeft(long v);
7652
7653     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
7654     long scrollLeft();
7655
7656     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
7657     void clearAttributes();
7658
7659     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
7660     void oncontextmenu(VARIANT v);
7661
7662     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
7663     VARIANT oncontextmenu();
7664
7665     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
7666     IHTMLElement* insertAdjacentElement(
7667         [in] BSTR where,
7668         [in] IHTMLElement* insertedElement);
7669
7670     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
7671     IHTMLElement* applyElement([in] IHTMLElement* apply,[in] BSTR where);
7672
7673     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
7674     BSTR getAdjacentText([in] BSTR where);
7675
7676     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
7677     BSTR replaceAdjacentText([in] BSTR where,[in] BSTR newText);
7678
7679     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
7680     VARIANT_BOOL canHaveChildren();
7681
7682     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
7683     long addBehavior([in] BSTR bstrUrl,[optional, in] VARIANT* pvarFactory);
7684
7685     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
7686     VARIANT_BOOL removeBehavior([in] long cookie);
7687
7688     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
7689     IHTMLStyle* runtimeStyle();
7690
7691     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
7692     IDispatch* behaviorUrns();
7693
7694     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
7695     void tagUrn(BSTR v);
7696
7697     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
7698     BSTR tagUrn();
7699
7700     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
7701     void onbeforeeditfocus(VARIANT v);
7702
7703     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
7704     VARIANT onbeforeeditfocus();
7705
7706     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
7707     long readyStateValue();
7708
7709     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
7710     IHTMLElementCollection* getElementsByTagName([in] BSTR v);
7711
7712     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
7713     void mergeAttributes(
7714         [in] IHTMLElement* mergeThis,
7715         [optional, in] VARIANT* pvarFlags);
7716
7717     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
7718     VARIANT_BOOL isMultiLine();
7719
7720     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
7721     VARIANT_BOOL canHaveHTML();
7722
7723     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
7724     void onlayoutcomplete(VARIANT v);
7725
7726     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
7727     VARIANT onlayoutcomplete();
7728
7729     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
7730     void onpage(VARIANT v);
7731
7732     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
7733     VARIANT onpage();
7734
7735     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
7736     void inflateBlock(VARIANT_BOOL v);
7737
7738     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
7739     VARIANT_BOOL inflateBlock();
7740
7741     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
7742     void onbeforedeactivate(VARIANT v);
7743
7744     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
7745     VARIANT onbeforedeactivate();
7746
7747     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
7748     void setActive();
7749
7750     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
7751     void contentEditable(BSTR v);
7752
7753     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
7754     BSTR contentEditable();
7755
7756     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
7757     VARIANT_BOOL isContentEditable();
7758
7759     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
7760     void hideFocus(VARIANT_BOOL v);
7761
7762     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
7763     VARIANT_BOOL hideFocus();
7764
7765     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
7766     void disabled(VARIANT_BOOL v);
7767
7768     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
7769     VARIANT_BOOL disabled();
7770
7771     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
7772     VARIANT_BOOL isDisabled();
7773
7774     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
7775     void onmove(VARIANT v);
7776
7777     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
7778     VARIANT onmove();
7779
7780     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
7781     void oncontrolselect(VARIANT v);
7782
7783     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
7784     VARIANT oncontrolselect();
7785
7786     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
7787     VARIANT_BOOL fireEvent(
7788         [in] BSTR bstrEventName,
7789         [optional, in] VARIANT* pvarEventObject);
7790
7791     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
7792      void onresizestart(VARIANT v);
7793
7794     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
7795     VARIANT onresizestart();
7796
7797     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
7798     void onresizeend(VARIANT v);
7799
7800     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
7801     VARIANT onresizeend();
7802
7803     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
7804     void onmovestart(VARIANT v);
7805
7806     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
7807     VARIANT onmovestart();
7808
7809     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
7810     void onmoveend(VARIANT v);
7811
7812     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
7813     VARIANT onmoveend();
7814
7815     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
7816     void onmouseenter(VARIANT v);
7817
7818     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
7819     VARIANT onmouseenter();
7820
7821     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
7822     void onmouseleave(VARIANT v);
7823
7824     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
7825     VARIANT onmouseleave();
7826
7827     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
7828     void onactivate(VARIANT v);
7829     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] VARIANT onactivate();
7830
7831     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
7832     void ondeactivate(VARIANT v);
7833
7834     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
7835     VARIANT ondeactivate();
7836
7837     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
7838     VARIANT_BOOL dragDrop();
7839
7840     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
7841     LONG glyphMode();
7842
7843     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
7844     void onmousewheel(VARIANT v);
7845
7846     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
7847     VARIANT onmousewheel();
7848
7849     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
7850     void normalize();
7851
7852     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
7853      IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrname);
7854
7855     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
7856     IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
7857
7858     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
7859     IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
7860
7861     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
7862     void onbeforeactivate(VARIANT v);
7863
7864     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
7865     VARIANT onbeforeactivate();
7866
7867     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
7868     void onfocusin(VARIANT v);
7869
7870     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
7871     VARIANT onfocusin();
7872
7873     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
7874     void onfocusout(VARIANT v);
7875
7876     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
7877     VARIANT onfocusout();
7878
7879     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
7880     long uniqueNumber();
7881
7882     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
7883     BSTR uniqueID();
7884
7885     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
7886     long nodeType();
7887
7888     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
7889     IHTMLDOMNode* parentNode();
7890
7891     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
7892     VARIANT_BOOL hasChildNodes();
7893
7894     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
7895     IDispatch* childNodes();
7896
7897     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
7898     IDispatch* attributes();
7899
7900     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
7901     IHTMLDOMNode* insertBefore(
7902         [in] IHTMLDOMNode* newChild,
7903         [optional, in] VARIANT refChild);
7904
7905     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
7906     IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
7907
7908     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
7909     IHTMLDOMNode* replaceChild(
7910         [in] IHTMLDOMNode* newChild,
7911         [in] IHTMLDOMNode* oldChild);
7912
7913     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
7914     IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
7915
7916     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
7917     IHTMLDOMNode* removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep);
7918
7919     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
7920     IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
7921
7922     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
7923     IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
7924
7925     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
7926     IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
7927
7928     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
7929     BSTR nodeName();
7930
7931     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
7932     void nodeValue(VARIANT v);
7933
7934     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
7935     VARIANT nodeValue();
7936
7937     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
7938     IHTMLDOMNode* firstChild();
7939
7940     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
7941     IHTMLDOMNode* lastChild();
7942
7943     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
7944     IHTMLDOMNode* previousSibling();
7945
7946     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
7947     IHTMLDOMNode* nextSibling();
7948
7949     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
7950     IDispatch* ownerDocument();
7951
7952     [propput, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
7953     void background(BSTR v);
7954
7955     [propget, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
7956     BSTR background();
7957
7958     [propput, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
7959     void bgProperties(BSTR v);
7960
7961     [propget, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
7962     BSTR bgProperties();
7963
7964     [propput, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
7965     void leftMargin(VARIANT v);
7966
7967     [propget, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
7968     VARIANT leftMargin();
7969
7970     [propput, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
7971     void topMargin(VARIANT v);
7972
7973     [propget, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
7974     VARIANT topMargin();
7975
7976     [propput, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
7977     void rightMargin(VARIANT v);
7978
7979     [propget, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
7980     VARIANT rightMargin();
7981
7982     [propput, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
7983     void bottomMargin(VARIANT v);
7984
7985     [propget, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
7986     VARIANT bottomMargin();
7987
7988     [propput, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
7989     void noWrap(VARIANT_BOOL v);
7990
7991     [propget, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
7992     VARIANT_BOOL noWrap();
7993
7994     [propput, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
7995     void bgColor(VARIANT v);
7996
7997     [propget, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
7998     VARIANT bgColor();
7999
8000     [propput, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
8001     void text(VARIANT v);
8002
8003     [propget, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
8004     VARIANT text();
8005
8006     [propput, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
8007     void link(VARIANT v);
8008
8009     [propget, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
8010     VARIANT link();
8011
8012     [propput, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
8013     void vLink(VARIANT v);
8014
8015     [propget, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
8016     VARIANT vLink();
8017
8018     [propput, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
8019     void aLink(VARIANT v);
8020
8021     [propget, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
8022     VARIANT aLink();
8023
8024     [propput, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
8025     void onload(VARIANT v);
8026
8027     [propget, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
8028     VARIANT onload();
8029
8030     [propput, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
8031     void onunload(VARIANT v);
8032
8033     [propget, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
8034     VARIANT onunload();
8035
8036     [propput, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
8037     void scroll(BSTR v);
8038
8039     [propget, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
8040     BSTR scroll();
8041
8042     [propput, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
8043     void onselect(VARIANT v);
8044
8045     [propget, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
8046     VARIANT onselect();
8047
8048     [propput, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
8049     void onbeforeunload(VARIANT v);
8050
8051     [propget, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
8052     VARIANT onbeforeunload();
8053
8054     [id(DISPID_IHTMLBODYELEMENT_CREATETEXTRANGE)]
8055     IHTMLTxtRange* createTextRange();
8056
8057     [propput, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
8058     void onbeforeprint(VARIANT v);
8059
8060     [propget, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
8061     VARIANT onbeforeprint();
8062
8063     [propput, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
8064     void onafterprint(VARIANT v);
8065
8066     [propget, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
8067     VARIANT onafterprint();
8068 };
8069
8070 [
8071     uuid(3050f24a-98b5-11cf-bb82-00aa00bdce0b)
8072 ]
8073 coclass HTMLBody
8074 {
8075     [default]           dispinterface DispHTMLBody;
8076     [source, default]   dispinterface HTMLTextContainerEvents;
8077     [source]            dispinterface HTMLTextContainerEvents2;
8078                         interface IHTMLElement;
8079                         interface IHTMLElement2;
8080                         interface IHTMLElement3;
8081                         interface IHTMLElement4;
8082                         interface IHTMLUniqueName;
8083                         interface IHTMLDOMNode;
8084                         interface IHTMLDOMNode2;
8085                         interface IHTMLControlElement;
8086                         interface IHTMLTextContainer;
8087                         interface IHTMLBodyElement;
8088                         interface IHTMLBodyElement2;
8089 };
8090
8091 /*****************************************************************************
8092  *    IHTMLAnchorElement interface
8093  */
8094 [
8095     odl,
8096     oleautomation,
8097     dual,
8098     uuid(3050f1da-98b5-11cf-bb82-00aa00bdce0b)
8099 ]
8100 interface IHTMLAnchorElement : IDispatch
8101 {
8102     [propput, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
8103     HRESULT href([in] BSTR v);
8104
8105     [propget, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
8106     HRESULT href([retval, out] BSTR *p);
8107
8108     [propput, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
8109     HRESULT target([in] BSTR v);
8110
8111     [propget, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
8112     HRESULT target([retval, out] BSTR *p);
8113
8114     [propput, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
8115     HRESULT rel([in] BSTR v);
8116
8117     [propget, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
8118     HRESULT rel([retval, out] BSTR *p);
8119
8120     [propput, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
8121     HRESULT rev([in] BSTR v);
8122
8123     [propget, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
8124     HRESULT rev([retval, out] BSTR *p);
8125
8126     [propput, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
8127     HRESULT urn([in] BSTR v);
8128
8129     [propget, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
8130     HRESULT urn([retval, out] BSTR *p);
8131
8132     [propput, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
8133     HRESULT Methods([in] BSTR v);
8134
8135     [propget, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
8136     HRESULT Methods([retval, out] BSTR *p);
8137
8138     [propput, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
8139     HRESULT name([in] BSTR v);
8140
8141     [propget, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
8142     HRESULT name([retval, out] BSTR *p);
8143
8144     [propput, id(DISPID_IHTMLANCHORELEMENT_HOST)]
8145     HRESULT host([in] BSTR v);
8146
8147     [propget, id(DISPID_IHTMLANCHORELEMENT_HOST)]
8148     HRESULT host([retval, out] BSTR *p);
8149
8150     [propput, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
8151     HRESULT hostname([in] BSTR v);
8152
8153     [propget, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
8154     HRESULT hostname([retval, out] BSTR *p);
8155
8156     [propput, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
8157     HRESULT pathname([in] BSTR v);
8158
8159     [propget, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
8160     HRESULT pathname([retval, out] BSTR *p);
8161
8162     [propput, id(DISPID_IHTMLANCHORELEMENT_PORT)]
8163     HRESULT port([in] BSTR v);
8164
8165     [propget, id(DISPID_IHTMLANCHORELEMENT_PORT)]
8166     HRESULT port([retval, out] BSTR *p);
8167
8168     [propput, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
8169     HRESULT protocol([in] BSTR v);
8170
8171     [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
8172     HRESULT protocol([retval, out] BSTR *p);
8173
8174     [propput, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
8175     HRESULT search([in] BSTR v);
8176
8177     [propget, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
8178     HRESULT search([retval, out] BSTR *p);
8179
8180     [propput, id(DISPID_IHTMLANCHORELEMENT_HASH)]
8181     HRESULT hash([in] BSTR v);
8182
8183     [propget, id(DISPID_IHTMLANCHORELEMENT_HASH)]
8184     HRESULT hash([retval, out] BSTR *p);
8185
8186     [propput, id(DISPID_IHTMLANCHORELEMENT_ONBLUR), displaybind, bindable]
8187     HRESULT onblur([in] VARIANT v);
8188
8189     [propget, id(DISPID_IHTMLANCHORELEMENT_ONBLUR), displaybind, bindable]
8190     HRESULT onblur([retval, out] VARIANT *p);
8191
8192     [propput, id(DISPID_IHTMLANCHORELEMENT_ONFOCUS), displaybind, bindable]
8193     HRESULT onfocus([in] VARIANT v);
8194
8195     [propget, id(DISPID_IHTMLANCHORELEMENT_ONFOCUS), displaybind, bindable]
8196     HRESULT onfocus([retval, out] VARIANT *p);
8197
8198     [propput, id(DISPID_IHTMLANCHORELEMENT_ACCESSKEY), displaybind, bindable]
8199     HRESULT accessKey([in] BSTR v);
8200
8201     [propget, id(DISPID_IHTMLANCHORELEMENT_ACCESSKEY), displaybind, bindable]
8202     HRESULT accessKey([retval, out] BSTR *p);
8203
8204     [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOLLONG)]
8205     HRESULT protocolLong([retval, out] BSTR *p);
8206
8207     [propget, id(DISPID_IHTMLANCHORELEMENT_MIMETYPE)]
8208     HRESULT mimeType([retval, out] BSTR *p);
8209
8210     [propget, id(DISPID_IHTMLANCHORELEMENT_NAMEPROP)]
8211     HRESULT nameProp([retval, out] BSTR *p);
8212
8213     [propput, id(DISPID_IHTMLANCHORELEMENT_TABINDEX), displaybind, bindable]
8214     HRESULT tabIndex([in] short v);
8215
8216     [propget, id(DISPID_IHTMLANCHORELEMENT_TABINDEX), displaybind, bindable]
8217     HRESULT tabIndex([retval, out] short *p);
8218
8219     [id(DISPID_IHTMLANCHORELEMENT_FOCUS)]
8220     HRESULT focus();
8221
8222     [id(DISPID_IHTMLANCHORELEMENT_BLUR)]
8223     HRESULT blur();
8224 }
8225
8226 /*****************************************************************************
8227  *    IHTMLElementCollection interface
8228  */
8229 [
8230     odl,
8231     oleautomation,
8232     dual,
8233     uuid(3050F21F-98B5-11CF-BB82-00AA00BDCE0B)
8234 ]
8235 interface IHTMLElementCollection : IDispatch
8236 {
8237     [id(DISPID_IHTMLELEMENTCOLLECTION_TOSTRING)]
8238     HRESULT toString([retval, out] BSTR *String);
8239
8240     [propput, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
8241     HRESULT length([in] long v);
8242
8243     [propget, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
8244     HRESULT length([retval, out] long *p);
8245
8246     [propget, id(DISPID_IHTMLELEMENTCOLLECTION__NEWENUM)]
8247     HRESULT _newEnum([retval, out] IUnknown **p);
8248
8249     [id(DISPID_IHTMLELEMENTCOLLECTION_ITEM)]
8250     HRESULT item(
8251         [optional, in] VARIANT name,
8252         [optional, in] VARIANT index,
8253         [retval,  out] IDispatch **pdisp);
8254
8255     [id(DISPID_IHTMLELEMENTCOLLECTION_TAGS)]
8256     HRESULT tags(
8257         [in] VARIANT tagName,
8258         [retval, out] IDispatch **pdisp);
8259 }
8260
8261 /*****************************************************************************
8262  *    DispHTMLElementCollection dispinterface
8263  */
8264 [
8265     hidden,
8266     uuid(3050f56b-98b5-11cf-bb82-00aa00bdce0b)
8267 ]
8268 dispinterface DispHTMLElementCollection
8269 {
8270 properties:
8271 methods:
8272     [id(DISPID_IHTMLELEMENTCOLLECTION_TOSTRING)]
8273     BSTR toString();
8274
8275     [propput, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
8276     void length(long v);
8277
8278     [propget, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
8279     long length();
8280
8281     [propget, id(DISPID_IHTMLELEMENTCOLLECTION__NEWENUM), hidden, restricted]
8282     IUnknown *_newEnum();
8283
8284     [id(DISPID_IHTMLELEMENTCOLLECTION_ITEM)]
8285     IDispatch *item(
8286             [in, optional] VARIANT name,
8287             [in, optional] VARIANT index);
8288
8289     [id(DISPID_IHTMLELEMENTCOLLECTION_TAGS)]
8290     IDispatch *tags(
8291             [in] VARIANT tagName);
8292
8293     [id(DISPID_IHTMLELEMENTCOLLECTION2_URNS)]
8294     IDispatch *urns([in] VARIANT urn);
8295
8296     [id(DISPID_IHTMLELEMENTCOLLECTION3_NAMEDITEM)]
8297     IDispatch *namedItem([in] BSTR name);
8298 }
8299
8300 /*****************************************************************************
8301  *    IHTMLSelectElement interface
8302  */
8303 [
8304     odl,
8305     oleautomation,
8306     dual,
8307     uuid(3050f244-98b5-11cf-bb82-00aa00bdce0b)
8308 ]
8309 interface IHTMLSelectElement : IDispatch
8310 {
8311     [propput, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
8312     HRESULT size([in] long v);
8313
8314     [propget, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
8315     HRESULT size([retval, out] long *p);
8316
8317     [propput, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
8318     HRESULT multiple([in] VARIANT_BOOL v);
8319
8320     [propget, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
8321     HRESULT multiple([retval, out] VARIANT_BOOL *p);
8322
8323     [propput, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
8324     HRESULT name([in] BSTR v);
8325
8326     [propget, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
8327     HRESULT name([retval, out] BSTR *p);
8328
8329     [propget, id(DISPID_IHTMLSELECTELEMENT_OPTIONS)]
8330     HRESULT options([retval, out] IDispatch **p);
8331
8332     [propput, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
8333     HRESULT onchange([in] VARIANT v);
8334
8335     [propget, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
8336     HRESULT onchange([retval, out] VARIANT *p);
8337
8338     [propput, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
8339     HRESULT selectedIndex([in] long v);
8340
8341     [propget, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
8342     HRESULT selectedIndex([retval, out] long *p);
8343
8344     [propget, id(DISPID_IHTMLSELECTELEMENT_TYPE), displaybind, bindable]
8345     HRESULT type([retval, out] BSTR *p);
8346
8347     [propput, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
8348     HRESULT value([in] BSTR v);
8349
8350     [propget, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
8351     HRESULT value([retval, out] BSTR *p);
8352
8353     [propput, id(DISPID_IHTMLSELECTELEMENT_DISABLED), displaybind, bindable]
8354     HRESULT disabled([in] VARIANT_BOOL v);
8355
8356     [propget, id(DISPID_IHTMLSELECTELEMENT_DISABLED), displaybind, bindable]
8357     HRESULT disabled([retval, out] VARIANT_BOOL *p);
8358
8359     [propget, id(DISPID_IHTMLSELECTELEMENT_FORM)]
8360     HRESULT form([retval, out] IHTMLFormElement **p);
8361
8362     [id(DISPID_IHTMLSELECTELEMENT_ADD)]
8363     HRESULT add(
8364         [in] IHTMLElement *element,
8365         [optional, in] VARIANT before);
8366
8367     [id(DISPID_IHTMLSELECTELEMENT_REMOVE)]
8368     HRESULT remove([defaultvalue(-1), in] long index);
8369
8370     [propput, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
8371     HRESULT length([in] long v);
8372
8373     [propget, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
8374     HRESULT length([retval, out] long *p);
8375
8376     [propget, id(DISPID_IHTMLSELECTELEMENT__NEWENUM), hidden, restricted]
8377     HRESULT _newEnum([retval, out] IUnknown **p);
8378
8379     [id(DISPID_IHTMLSELECTELEMENT_ITEM)]
8380     HRESULT item(
8381         [optional, in] VARIANT name,
8382         [optional, in] VARIANT index,
8383         [retval, out] IDispatch **pdisp);
8384
8385     [id(DISPID_IHTMLSELECTELEMENT_TAGS)]
8386     HRESULT tags(
8387         [in] VARIANT tagName,
8388         [retval, out] IDispatch **pdisp);
8389 }
8390
8391 /*****************************************************************************
8392  *    DispHTMLSelectElement dispinterface
8393  */
8394 [
8395     hidden,
8396     uuid(3050f531-98b5-11cf-bb82-00aa00bdce0b)
8397 ]
8398 dispinterface DispHTMLSelectElement
8399 {
8400 properties:
8401 methods:
8402     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
8403     void setAttribute(
8404             [in] BSTR strAttributeName,
8405             [in] VARIANT AttributeValue,
8406             [in, defaultvalue(1)] LONG lFlags);
8407
8408     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
8409     VARIANT getAttribute(
8410              [in] BSTR strAttributeName,
8411              [in, defaultvalue(0)] LONG lFlags);
8412
8413     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
8414     VARIANT_BOOL removeAttribute(
8415             [in] BSTR strAttributeName,
8416             [in, defaultvalue(1)] LONG lFlags);
8417
8418     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
8419     void className(BSTR v);
8420
8421     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
8422     BSTR className();
8423
8424     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
8425     void id(BSTR v);
8426
8427     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
8428     BSTR id();
8429
8430     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
8431     BSTR tagName();
8432
8433     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
8434     IHTMLElement *parentElement();
8435
8436     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
8437     IHTMLStyle *style();
8438
8439     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
8440     void onhelp(VARIANT v);
8441
8442     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
8443     VARIANT onhelp();
8444
8445     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
8446     void onclick(VARIANT v);
8447
8448     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
8449     VARIANT onclick();
8450
8451     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
8452     void ondblclick(VARIANT v);
8453
8454     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
8455     VARIANT ondblclick();
8456
8457     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
8458     void onkeydown(VARIANT v);
8459
8460     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
8461     VARIANT onkeydown();
8462
8463     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
8464     void onkeyup(VARIANT v);
8465
8466     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
8467     VARIANT onkeyup();
8468
8469     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
8470     void onkeypress(VARIANT v);
8471
8472     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
8473     VARIANT onkeypress();
8474
8475     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
8476     void onmouseout(VARIANT v);
8477
8478     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
8479     VARIANT onmouseout();
8480
8481     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
8482     void onmouseover(VARIANT v);
8483
8484     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
8485     VARIANT onmouseover();
8486
8487     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
8488     void onmousemove(VARIANT v);
8489
8490     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
8491     VARIANT onmousemove();
8492
8493     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
8494     void onmousedown(VARIANT v);
8495
8496     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
8497     VARIANT onmousedown();
8498
8499     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
8500     void onmouseup(VARIANT v);
8501
8502     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
8503     VARIANT onmouseup();
8504
8505     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
8506     IDispatch *document();
8507
8508     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
8509     void title(BSTR v);
8510
8511     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
8512     BSTR title();
8513
8514     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
8515     void language(BSTR v);
8516
8517     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
8518     BSTR language();
8519
8520     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
8521     void onselectstart(VARIANT v);
8522
8523     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
8524     VARIANT onselectstart();
8525
8526     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
8527     void scrollIntoView([in, optional] VARIANT varargStart);
8528
8529     [id(DISPID_IHTMLELEMENT_CONTAINS)]
8530     VARIANT_BOOL contains([in] IHTMLElement *pChild);
8531
8532     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
8533     long sourceIndex();
8534
8535     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
8536     VARIANT recordNumber();
8537
8538     [propput, id(DISPID_IHTMLELEMENT_LANG)]
8539     void lang(BSTR v);
8540
8541     [propget, id(DISPID_IHTMLELEMENT_LANG)]
8542     BSTR lang();
8543
8544     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
8545     long offsetLeft();
8546
8547     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
8548     long offsetTop();
8549
8550     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
8551     long offsetWidth();
8552
8553     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
8554     long offsetHeight();
8555
8556     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
8557     IHTMLElement *offsetParent();
8558
8559     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
8560     void innerHTML(BSTR v);
8561
8562     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
8563     BSTR innerHTML();
8564
8565     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
8566     void innerText(BSTR v);
8567
8568     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
8569     BSTR innerText();
8570
8571     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
8572     void outerHTML(BSTR v);
8573
8574     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
8575     BSTR outerHTML();
8576
8577     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
8578     void outerText(BSTR v);
8579
8580     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
8581     BSTR outerText();
8582
8583     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
8584     void insertAdjacentHTML(
8585             [in] BSTR where,
8586             [in] BSTR html);
8587
8588     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
8589     void insertAdjacentText(
8590             [in] BSTR where,
8591             [in] BSTR text);
8592
8593     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
8594     IHTMLElement *parentTextEdit();
8595
8596     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
8597     VARIANT_BOOL isTextEdit();
8598
8599     [id(DISPID_IHTMLELEMENT_CLICK)]
8600     void click();
8601
8602     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
8603     IHTMLFiltersCollection *filters();
8604
8605     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
8606     void ondragstart(VARIANT v);
8607
8608     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
8609     VARIANT ondragstart();
8610
8611     [id(DISPID_IHTMLELEMENT_TOSTRING)]
8612     BSTR toString();
8613
8614     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
8615     void onbeforeupdate(VARIANT v);
8616
8617     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
8618     VARIANT onbeforeupdate();
8619
8620     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
8621     void onafterupdate(VARIANT v);
8622
8623     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
8624     VARIANT onafterupdate();
8625
8626     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
8627     void onerrorupdate(VARIANT v);
8628
8629     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
8630     VARIANT onerrorupdate();
8631
8632     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
8633     void onrowexit(VARIANT v);
8634
8635     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
8636     VARIANT onrowexit();
8637
8638     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
8639     void onrowenter(VARIANT v);
8640
8641     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
8642     VARIANT onrowenter();
8643
8644     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
8645     void ondatasetchanged(VARIANT v);
8646
8647     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
8648     VARIANT ondatasetchanged();
8649
8650     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
8651     void ondataavailable(VARIANT v);
8652
8653     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
8654     VARIANT ondataavailable();
8655
8656     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
8657     void ondatasetcomplete(VARIANT v);
8658
8659     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
8660     VARIANT ondatasetcomplete();
8661
8662     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
8663     void onfilterchange(VARIANT v);
8664
8665     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
8666     VARIANT onfilterchange();
8667
8668     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
8669     IDispatch *children();
8670
8671     [propget, id(DISPID_IHTMLELEMENT_ALL)]
8672     IDispatch *all();
8673
8674     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
8675     BSTR scopeName();
8676
8677     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
8678     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
8679
8680     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
8681     void releaseCapture();
8682
8683     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
8684     void onlosecapture(VARIANT v);
8685
8686     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
8687     VARIANT onlosecapture();
8688
8689     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
8690     BSTR componentFromPoint(
8691             [in] long x,
8692             [in] long y);
8693
8694     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
8695     void doScroll([in, optional] VARIANT component);
8696
8697     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
8698     void onscroll(VARIANT v);
8699
8700     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
8701     VARIANT onscroll();
8702
8703     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
8704     void ondrag(VARIANT v);
8705
8706     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
8707     VARIANT ondrag();
8708
8709     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
8710     void ondragend(VARIANT v);
8711
8712     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
8713     VARIANT ondragend();
8714
8715     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
8716     void ondragenter(VARIANT v);
8717
8718     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
8719     VARIANT ondragenter();
8720
8721     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
8722     void ondragover(VARIANT v);
8723
8724     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
8725     VARIANT ondragover();
8726
8727     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
8728     void ondragleave(VARIANT v);
8729
8730     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
8731     VARIANT ondragleave();
8732
8733     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
8734     void ondrop(VARIANT v);
8735
8736     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
8737     VARIANT ondrop();
8738
8739     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
8740     void onbeforecut(VARIANT v);
8741
8742     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
8743     VARIANT onbeforecut();
8744
8745     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
8746     void oncut(VARIANT v);
8747
8748     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
8749     VARIANT oncut();
8750
8751     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
8752     void onbeforecopy(VARIANT v);
8753
8754     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
8755     VARIANT onbeforecopy();
8756
8757     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
8758     void oncopy(VARIANT v);
8759
8760     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
8761     VARIANT oncopy();
8762
8763     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
8764     void onbeforepaste(VARIANT v);
8765
8766     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
8767     VARIANT onbeforepaste();
8768
8769     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
8770     void onpaste(VARIANT v);
8771
8772     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
8773     VARIANT onpaste();
8774
8775     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
8776     IHTMLCurrentStyle *currentStyle();
8777
8778     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
8779     void onpropertychange(VARIANT v);
8780
8781     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
8782     VARIANT onpropertychange();
8783
8784     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
8785     IHTMLRectCollection *getClientRects();
8786
8787     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
8788     IHTMLRect *getBoundingClientRect();
8789
8790     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
8791     void setExpression(
8792             [in] BSTR propname,
8793             [in] BSTR expression,
8794             [in, defaultvalue("")] BSTR language);
8795
8796     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
8797     VARIANT getExpression([in] BSTR propname);
8798
8799     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
8800     VARIANT_BOOL removeExpression([in] BSTR propname);
8801
8802     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
8803     void tabIndex(short v);
8804
8805     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
8806     short tabIndex();
8807
8808     [id(DISPID_IHTMLELEMENT2_FOCUS)]
8809     void focus();
8810
8811     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
8812     void accessKey(BSTR v);
8813
8814     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
8815     BSTR accessKey();
8816
8817     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
8818     void onblur(VARIANT v);
8819
8820     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
8821     VARIANT onblur();
8822
8823     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
8824     void onfocus(VARIANT v);
8825
8826     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
8827     VARIANT onfocus();
8828
8829     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
8830     void onresize(VARIANT v);
8831
8832     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
8833     VARIANT onresize();
8834
8835     [id(DISPID_IHTMLELEMENT2_BLUR)]
8836     void blur();
8837
8838     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
8839     void addFilter([in] IUnknown *pUnk);
8840
8841     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
8842     void removeFilter([in] IUnknown *pUnk);
8843
8844     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
8845     long clientHeight();
8846
8847     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
8848     long clientWidth();
8849
8850     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
8851     long clientTop();
8852
8853     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
8854     long clientLeft();
8855
8856     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
8857     VARIANT_BOOL attachEvent(
8858             [in] BSTR event,
8859             [in] IDispatch *pDisp);
8860
8861     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
8862     void detachEvent(
8863             [in] BSTR event,
8864             [in] IDispatch *pDisp);
8865
8866     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
8867     VARIANT readyState();
8868
8869     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
8870     void onreadystatechange(VARIANT v);
8871
8872     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
8873     VARIANT onreadystatechange();
8874
8875     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
8876     void onrowsdelete(VARIANT v);
8877
8878     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
8879     VARIANT onrowsdelete();
8880
8881     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
8882     void onrowsinserted(VARIANT v);
8883
8884     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
8885      VARIANT onrowsinserted();
8886
8887     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
8888      void oncellchange(VARIANT v);
8889
8890     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
8891     VARIANT oncellchange();
8892
8893     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
8894     void dir(BSTR v);
8895
8896     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
8897     BSTR dir();
8898
8899     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
8900     IDispatch *createControlRange();
8901
8902     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
8903     long scrollHeight();
8904
8905     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
8906     long scrollWidth();
8907
8908     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
8909     void scrollTop(long v);
8910
8911     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
8912     long scrollTop();
8913
8914     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
8915     void scrollLeft(long v);
8916
8917     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
8918     long scrollLeft();
8919
8920     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
8921     void clearAttributes();
8922
8923     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
8924     void oncontextmenu(VARIANT v);
8925
8926     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
8927     VARIANT oncontextmenu();
8928
8929     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
8930     IHTMLElement *insertAdjacentElement(
8931             [in] BSTR where,
8932             [in] IHTMLElement *insertedElement);
8933
8934     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
8935     IHTMLElement *applyElement(
8936             [in] IHTMLElement *apply,
8937             [in] BSTR where);
8938
8939     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
8940     BSTR getAdjacentText([in] BSTR where);
8941
8942     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
8943     BSTR replaceAdjacentText(
8944             [in] BSTR where,
8945             [in] BSTR newText);
8946
8947     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
8948     VARIANT_BOOL canHaveChildren();
8949
8950     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
8951     long addBehavior(
8952             [in] BSTR bstrUrl,
8953             [in, optional] VARIANT *pvarFactory);
8954
8955     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
8956     VARIANT_BOOL removeBehavior([in] long cookie);
8957
8958     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
8959     IHTMLStyle *runtimeStyle();
8960
8961     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
8962     IDispatch *behaviorUrns();
8963
8964     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
8965     void tagUrn(BSTR v);
8966
8967     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
8968     BSTR tagUrn();
8969
8970     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
8971     void onbeforeeditfocus(VARIANT v);
8972
8973     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
8974     VARIANT onbeforeeditfocus();
8975
8976     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
8977     long readyStateValue();
8978
8979     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
8980     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
8981
8982     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
8983     void mergeAttributes(
8984             [in] IHTMLElement *mergeThis,
8985             [in, optional] VARIANT *pvarFlags);
8986
8987     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
8988     VARIANT_BOOL isMultiLine();
8989
8990     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
8991     VARIANT_BOOL canHaveHTML();
8992
8993     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
8994     void onlayoutcomplete(VARIANT v);
8995
8996     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
8997     VARIANT onlayoutcomplete();
8998
8999     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
9000     void onpage(VARIANT v);
9001
9002     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
9003     VARIANT onpage();
9004
9005     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
9006     void inflateBlock(VARIANT_BOOL v);
9007
9008     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
9009     VARIANT_BOOL inflateBlock();
9010
9011     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
9012     void onbeforedeactivate(VARIANT v);
9013
9014     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
9015     VARIANT onbeforedeactivate();
9016
9017     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
9018     void setActive();
9019
9020     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
9021     void contentEditable(BSTR v);
9022
9023     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
9024     BSTR contentEditable();
9025
9026     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
9027     VARIANT_BOOL isContentEditable();
9028
9029     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
9030     void hideFocus(VARIANT_BOOL v);
9031
9032     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
9033     VARIANT_BOOL hideFocus();
9034
9035     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
9036     void disabled(VARIANT_BOOL v);
9037
9038     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
9039     VARIANT_BOOL disabled();
9040
9041     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
9042     VARIANT_BOOL isDisabled();
9043
9044     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
9045     void onmove(VARIANT v);
9046
9047     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
9048     VARIANT onmove();
9049
9050     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
9051     void oncontrolselect(VARIANT v);
9052
9053     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
9054     VARIANT oncontrolselect();
9055
9056     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
9057     VARIANT_BOOL fireEvent(
9058             [in] BSTR bstrEventName,
9059             [in, optional] VARIANT *pvarEventObject);
9060
9061     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
9062     void onresizestart(VARIANT v);
9063
9064     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
9065     VARIANT onresizestart();
9066
9067     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
9068     void onresizeend(VARIANT v);
9069
9070     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
9071     VARIANT onresizeend();
9072
9073     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
9074     void onmovestart(VARIANT v);
9075
9076     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
9077     VARIANT onmovestart();
9078
9079     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
9080     void onmoveend(VARIANT v);
9081
9082     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
9083     VARIANT onmoveend();
9084
9085     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
9086     void onmouseenter(VARIANT v);
9087
9088     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
9089     VARIANT onmouseenter();
9090
9091     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
9092     void onmouseleave(VARIANT v);
9093
9094     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
9095     VARIANT onmouseleave();
9096
9097     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
9098     void onactivate(VARIANT v);
9099
9100     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
9101     VARIANT onactivate();
9102
9103     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
9104     void ondeactivate(VARIANT v);
9105
9106     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
9107     VARIANT ondeactivate();
9108
9109     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
9110     VARIANT_BOOL dragDrop();
9111
9112     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
9113     LONG glyphMode();
9114
9115     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
9116     void onmousewheel(VARIANT v);
9117
9118     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
9119     VARIANT onmousewheel();
9120
9121     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
9122     void normalize();
9123
9124     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
9125     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
9126
9127     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
9128     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
9129
9130     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
9131     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
9132
9133     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
9134     void onbeforeactivate(VARIANT v);
9135
9136     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
9137     VARIANT onbeforeactivate();
9138
9139     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
9140     void onfocusin(VARIANT v);
9141
9142     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
9143     VARIANT onfocusin();
9144
9145     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
9146     void onfocusout(VARIANT v);
9147
9148     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
9149     VARIANT onfocusout();
9150
9151     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
9152     long uniqueNumber();
9153
9154     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
9155     BSTR uniqueID();
9156
9157     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
9158     long nodeType();
9159
9160     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
9161     IHTMLDOMNode *parentNode();
9162
9163     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
9164     VARIANT_BOOL hasChildNodes();
9165
9166     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
9167     IDispatch *childNodes();
9168
9169     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
9170     IDispatch *attributes();
9171
9172     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
9173     IHTMLDOMNode *insertBefore(
9174             [in] IHTMLDOMNode *newChild,
9175             [in, optional] VARIANT refChild);
9176
9177     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
9178     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
9179
9180     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
9181     IHTMLDOMNode *replaceChild(
9182             [in] IHTMLDOMNode *newChild,
9183             [in] IHTMLDOMNode *oldChild);
9184
9185     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
9186     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
9187
9188     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
9189     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
9190
9191     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
9192     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
9193
9194     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
9195     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
9196
9197     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
9198     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
9199
9200     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
9201     BSTR nodeName();
9202
9203     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
9204     void nodeValue(VARIANT v);
9205
9206     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
9207     VARIANT nodeValue();
9208
9209     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
9210     IHTMLDOMNode *firstChild();
9211
9212     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
9213     IHTMLDOMNode *lastChild();
9214
9215     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
9216     IHTMLDOMNode *previousSibling();
9217
9218     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
9219     IHTMLDOMNode *nextSibling();
9220
9221     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
9222     IDispatch *ownerDocument();
9223
9224     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
9225     void dataFld(BSTR v);
9226
9227     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
9228     BSTR dataFld();
9229
9230     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
9231     void dataSrc(BSTR v);
9232
9233     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
9234     BSTR dataSrc();
9235
9236     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
9237     void dataFormatAs(BSTR v);
9238
9239     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
9240     BSTR dataFormatAs();
9241
9242     [propput, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
9243     void size(long v);
9244
9245     [propget, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
9246     long size();
9247
9248     [propput, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
9249     void multiple(VARIANT_BOOL v);
9250
9251     [propget, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
9252     VARIANT_BOOL multiple();
9253
9254     [propput, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
9255     void name(BSTR v);
9256
9257     [propget, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
9258     BSTR name();
9259
9260     [propget, id(DISPID_IHTMLSELECTELEMENT_OPTIONS)]
9261     IDispatch *options();
9262
9263     [propput, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
9264     void onchange(VARIANT v);
9265
9266     [propget, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
9267     VARIANT onchange();
9268
9269     [propput, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
9270     void selectedIndex(long v);
9271
9272     [propget, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
9273     long selectedIndex();
9274
9275     [propget, id(DISPID_IHTMLSELECTELEMENT_TYPE), displaybind, bindable]
9276     BSTR type();
9277
9278     [propput, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
9279     void value(BSTR v);
9280
9281     [propget, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
9282     BSTR value();
9283
9284     [propget, id(DISPID_IHTMLSELECTELEMENT_FORM)]
9285     IHTMLFormElement *form();
9286
9287     [id(DISPID_IHTMLSELECTELEMENT_ADD)]
9288     void add(
9289             [in] IHTMLElement *element,
9290             [in, optional] VARIANT before);
9291
9292     [id(DISPID_IHTMLSELECTELEMENT_REMOVE)]
9293     void remove([in, defaultvalue(-1)] long index);
9294
9295     [propput, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
9296     void length(long v);
9297
9298     [propget, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
9299     long length();
9300
9301     [propget, id(DISPID_IHTMLSELECTELEMENT__NEWENUM), hidden, restricted]
9302     IUnknown *_newEnum();
9303
9304     [id(DISPID_IHTMLSELECTELEMENT_ITEM)]
9305     IDispatch *item(
9306             [in, optional] VARIANT name,
9307             [in, optional] VARIANT index);
9308
9309     [id(DISPID_IHTMLSELECTELEMENT_TAGS)]
9310     IDispatch *tags([in] VARIANT tagName);
9311
9312     [id(DISPID_IHTMLSELECTELEMENT2_URNS)]
9313     IDispatch *urns([in] VARIANT urn);
9314
9315     [id(DISPID_IHTMLSELECTELEMENT4_NAMEDITEM)]
9316     IDispatch *namedItem([in] BSTR name);
9317 }
9318
9319 /*****************************************************************************
9320  *    IHTMLSelectionObject interface
9321  */
9322 [
9323     odl,
9324     oleautomation,
9325     dual,
9326     uuid(3050F25A-98B5-11CF-BB82-00AA00BDCE0B)
9327 ]
9328 interface IHTMLSelectionObject : IDispatch
9329 {
9330     [id(DISPID_IHTMLSELECTIONOBJECT_CREATERANGE)]
9331     HRESULT createRange([retval, out] IDispatch **range);
9332
9333     [id(DISPID_IHTMLSELECTIONOBJECT_EMPTY)]
9334     HRESULT empty();
9335
9336     [id(DISPID_IHTMLSELECTIONOBJECT_CLEAR)]
9337     HRESULT clear();
9338
9339     [propget, id(DISPID_IHTMLSELECTIONOBJECT_TYPE)]
9340     HRESULT type([retval, out] BSTR *p);
9341 }
9342
9343 /*****************************************************************************
9344  *    IHTMLOptionElement interface
9345  */
9346 [
9347     odl,
9348     oleautomation,
9349     dual,
9350     uuid(3050F211-98B5-11CF-BB82-00AA00BDCE0B)
9351 ]
9352 interface IHTMLOptionElement : IDispatch
9353 {
9354     [propput, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
9355     HRESULT selected([in] VARIANT_BOOL v);
9356
9357     [propget, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
9358     HRESULT selected([retval, out] VARIANT_BOOL *p);
9359
9360     [propput, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
9361     HRESULT value([in] BSTR v);
9362
9363     [propget, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
9364     HRESULT value([retval, out] BSTR *p);
9365
9366     [propput, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
9367     HRESULT defaultSelected([in] VARIANT_BOOL v);
9368
9369     [propget, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
9370     HRESULT defaultSelected([retval, out] VARIANT_BOOL *p);
9371
9372     [propput, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
9373     HRESULT index([in] LONG v);
9374
9375     [propget, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
9376     HRESULT index([retval, out] LONG *p);
9377
9378     [propput, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
9379     HRESULT text([in] BSTR v);
9380
9381     [propget, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
9382     HRESULT text([retval, out] BSTR *p);
9383
9384     [propget, id(DISPID_IHTMLOPTIONELEMENT_FORM)]
9385     HRESULT form([retval, out] IHTMLFormElement **p);
9386 }
9387
9388 /*****************************************************************************
9389  *    IHTMLOptionElementFactory interface
9390  */
9391 [
9392     odl,
9393     oleautomation,
9394     dual,
9395     uuid(3050F38C-98B5-11Cf-BB82-00AA00BDCE0B)
9396 ]
9397 interface IHTMLOptionElementFactory : IDispatch
9398 {
9399     [id(DISPID_IHTMLOPTIONELEMENTFACTORY_CREATE)]
9400     HRESULT create(
9401         [optional, in] VARIANT text,
9402         [optional, in] VARIANT value,
9403         [optional, in] VARIANT defaultselected,
9404         [optional, in] VARIANT selected,
9405         [retval, out] IHTMLOptionElement **optelem);
9406 }
9407
9408 /*****************************************************************************
9409  *    DispHTMLOptionElement dispinterface
9410  */
9411 [
9412     hidden,
9413     uuid(3050f52b-98b5-11cf-bb82-00aa00bdce0b)
9414 ]
9415 dispinterface DispHTMLOptionElement
9416 {
9417 properties:
9418 methods:
9419     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
9420     void setAttribute(
9421             [in] BSTR strAttributeName,
9422             [in] VARIANT AttributeValue,
9423             [in, defaultvalue(1)] LONG lFlags);
9424
9425     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
9426     VARIANT getAttribute(
9427              [in] BSTR strAttributeName,
9428              [in, defaultvalue(0)] LONG lFlags);
9429
9430     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
9431     VARIANT_BOOL removeAttribute(
9432             [in] BSTR strAttributeName,
9433             [in, defaultvalue(1)] LONG lFlags);
9434
9435     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
9436     void className(BSTR v);
9437
9438     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
9439     BSTR className();
9440
9441     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
9442     void id(BSTR v);
9443
9444     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
9445     BSTR id();
9446
9447     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
9448     BSTR tagName();
9449
9450     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
9451     IHTMLElement *parentElement();
9452
9453     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
9454     IHTMLStyle *style();
9455
9456     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
9457     void onhelp(VARIANT v);
9458
9459     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
9460     VARIANT onhelp();
9461
9462     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
9463     void onclick(VARIANT v);
9464
9465     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
9466     VARIANT onclick();
9467
9468     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
9469     void ondblclick(VARIANT v);
9470
9471     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
9472     VARIANT ondblclick();
9473
9474     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
9475     void onkeydown(VARIANT v);
9476
9477     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
9478     VARIANT onkeydown();
9479
9480     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
9481     void onkeyup(VARIANT v);
9482
9483     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
9484     VARIANT onkeyup();
9485
9486     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
9487     void onkeypress(VARIANT v);
9488
9489     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
9490     VARIANT onkeypress();
9491
9492     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
9493     void onmouseout(VARIANT v);
9494
9495     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
9496     VARIANT onmouseout();
9497
9498     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
9499     void onmouseover(VARIANT v);
9500
9501     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
9502     VARIANT onmouseover();
9503
9504     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
9505     void onmousemove(VARIANT v);
9506
9507     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
9508     VARIANT onmousemove();
9509
9510     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
9511     void onmousedown(VARIANT v);
9512
9513     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
9514     VARIANT onmousedown();
9515
9516     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
9517     void onmouseup(VARIANT v);
9518
9519     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
9520     VARIANT onmouseup();
9521
9522     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
9523     IDispatch *document();
9524
9525     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
9526     void title(BSTR v);
9527
9528     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
9529     BSTR title();
9530
9531     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
9532     void language(BSTR v);
9533
9534     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
9535     BSTR language();
9536
9537     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
9538     void onselectstart(VARIANT v);
9539
9540     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
9541     VARIANT onselectstart();
9542
9543     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
9544     void scrollIntoView([in, optional] VARIANT varargStart);
9545
9546     [id(DISPID_IHTMLELEMENT_CONTAINS)]
9547     VARIANT_BOOL contains([in] IHTMLElement *pChild);
9548
9549     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
9550     long sourceIndex();
9551
9552     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
9553     VARIANT recordNumber();
9554
9555     [propput, id(DISPID_IHTMLELEMENT_LANG)]
9556     void lang(BSTR v);
9557
9558     [propget, id(DISPID_IHTMLELEMENT_LANG)]
9559     BSTR lang();
9560
9561     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
9562     long offsetLeft();
9563
9564     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
9565     long offsetTop();
9566
9567     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
9568     long offsetWidth();
9569
9570     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
9571     long offsetHeight();
9572
9573     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
9574     IHTMLElement *offsetParent();
9575
9576     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
9577     void innerHTML(BSTR v);
9578
9579     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
9580     BSTR innerHTML();
9581
9582     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
9583     void innerText(BSTR v);
9584
9585     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
9586     BSTR innerText();
9587
9588     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
9589     void outerHTML(BSTR v);
9590
9591     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
9592     BSTR outerHTML();
9593
9594     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
9595     void outerText(BSTR v);
9596
9597     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
9598     BSTR outerText();
9599
9600     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
9601     void insertAdjacentHTML(
9602             [in] BSTR where,
9603             [in] BSTR html);
9604
9605     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
9606     void insertAdjacentText(
9607             [in] BSTR where,
9608             [in] BSTR text);
9609
9610     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
9611     IHTMLElement *parentTextEdit();
9612
9613     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
9614     VARIANT_BOOL isTextEdit();
9615
9616     [id(DISPID_IHTMLELEMENT_CLICK)]
9617     void click();
9618
9619     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
9620     IHTMLFiltersCollection *filters();
9621
9622     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
9623     void ondragstart(VARIANT v);
9624
9625     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
9626     VARIANT ondragstart();
9627
9628     [id(DISPID_IHTMLELEMENT_TOSTRING)]
9629     BSTR toString();
9630
9631     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
9632     void onbeforeupdate(VARIANT v);
9633
9634     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
9635     VARIANT onbeforeupdate();
9636
9637     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
9638     void onafterupdate(VARIANT v);
9639
9640     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
9641     VARIANT onafterupdate();
9642
9643     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
9644     void onerrorupdate(VARIANT v);
9645
9646     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
9647     VARIANT onerrorupdate();
9648
9649     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
9650     void onrowexit(VARIANT v);
9651
9652     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
9653     VARIANT onrowexit();
9654
9655     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
9656     void onrowenter(VARIANT v);
9657
9658     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
9659     VARIANT onrowenter();
9660
9661     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
9662     void ondatasetchanged(VARIANT v);
9663
9664     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
9665     VARIANT ondatasetchanged();
9666
9667     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
9668     void ondataavailable(VARIANT v);
9669
9670     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
9671     VARIANT ondataavailable();
9672
9673     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
9674     void ondatasetcomplete(VARIANT v);
9675
9676     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
9677     VARIANT ondatasetcomplete();
9678
9679     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
9680     void onfilterchange(VARIANT v);
9681
9682     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
9683     VARIANT onfilterchange();
9684
9685     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
9686     IDispatch *children();
9687
9688     [propget, id(DISPID_IHTMLELEMENT_ALL)]
9689     IDispatch *all();
9690
9691     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
9692     BSTR scopeName();
9693
9694     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
9695     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
9696
9697     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
9698     void releaseCapture();
9699
9700     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
9701     void onlosecapture(VARIANT v);
9702
9703     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
9704     VARIANT onlosecapture();
9705
9706     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
9707     BSTR componentFromPoint(
9708             [in] long x,
9709             [in] long y);
9710
9711     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
9712     void doScroll([in, optional] VARIANT component);
9713
9714     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
9715     void onscroll(VARIANT v);
9716
9717     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
9718     VARIANT onscroll();
9719
9720     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
9721     void ondrag(VARIANT v);
9722
9723     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
9724     VARIANT ondrag();
9725
9726     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
9727     void ondragend(VARIANT v);
9728
9729     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
9730     VARIANT ondragend();
9731
9732     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
9733     void ondragenter(VARIANT v);
9734
9735     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
9736     VARIANT ondragenter();
9737
9738     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
9739     void ondragover(VARIANT v);
9740
9741     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
9742     VARIANT ondragover();
9743
9744     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
9745     void ondragleave(VARIANT v);
9746
9747     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
9748     VARIANT ondragleave();
9749
9750     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
9751     void ondrop(VARIANT v);
9752
9753     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
9754     VARIANT ondrop();
9755
9756     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
9757     void onbeforecut(VARIANT v);
9758
9759     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
9760     VARIANT onbeforecut();
9761
9762     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
9763     void oncut(VARIANT v);
9764
9765     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
9766     VARIANT oncut();
9767
9768     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
9769     void onbeforecopy(VARIANT v);
9770
9771     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
9772     VARIANT onbeforecopy();
9773
9774     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
9775     void oncopy(VARIANT v);
9776
9777     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
9778     VARIANT oncopy();
9779
9780     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
9781     void onbeforepaste(VARIANT v);
9782
9783     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
9784     VARIANT onbeforepaste();
9785
9786     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
9787     void onpaste(VARIANT v);
9788
9789     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
9790     VARIANT onpaste();
9791
9792     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
9793     IHTMLCurrentStyle *currentStyle();
9794
9795     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
9796     void onpropertychange(VARIANT v);
9797
9798     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
9799     VARIANT onpropertychange();
9800
9801     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
9802     IHTMLRectCollection *getClientRects();
9803
9804     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
9805     IHTMLRect *getBoundingClientRect();
9806
9807     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
9808     void setExpression(
9809             [in] BSTR propname,
9810             [in] BSTR expression,
9811             [in, defaultvalue("")] BSTR language);
9812
9813     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
9814     VARIANT getExpression([in] BSTR propname);
9815
9816     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
9817     VARIANT_BOOL removeExpression([in] BSTR propname);
9818
9819     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
9820     void tabIndex(short v);
9821
9822     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
9823     short tabIndex();
9824
9825     [id(DISPID_IHTMLELEMENT2_FOCUS)]
9826     void focus();
9827
9828     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
9829     void accessKey(BSTR v);
9830
9831     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
9832     BSTR accessKey();
9833
9834     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
9835     void onblur(VARIANT v);
9836
9837     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
9838     VARIANT onblur();
9839
9840     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
9841     void onfocus(VARIANT v);
9842
9843     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
9844     VARIANT onfocus();
9845
9846     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
9847     void onresize(VARIANT v);
9848
9849     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
9850     VARIANT onresize();
9851
9852     [id(DISPID_IHTMLELEMENT2_BLUR)]
9853     void blur();
9854
9855     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
9856     void addFilter([in] IUnknown *pUnk);
9857
9858     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
9859     void removeFilter([in] IUnknown *pUnk);
9860
9861     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
9862     long clientHeight();
9863
9864     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
9865     long clientWidth();
9866
9867     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
9868     long clientTop();
9869
9870     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
9871     long clientLeft();
9872
9873     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
9874     VARIANT_BOOL attachEvent(
9875             [in] BSTR event,
9876             [in] IDispatch *pDisp);
9877
9878     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
9879     void detachEvent(
9880             [in] BSTR event,
9881             [in] IDispatch *pDisp);
9882
9883     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
9884     VARIANT readyState();
9885
9886     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
9887     void onreadystatechange(VARIANT v);
9888
9889     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
9890     VARIANT onreadystatechange();
9891
9892     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
9893     void onrowsdelete(VARIANT v);
9894
9895     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
9896     VARIANT onrowsdelete();
9897
9898     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
9899     void onrowsinserted(VARIANT v);
9900
9901     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
9902      VARIANT onrowsinserted();
9903
9904     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
9905      void oncellchange(VARIANT v);
9906
9907     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
9908     VARIANT oncellchange();
9909
9910     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
9911     void dir(BSTR v);
9912
9913     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
9914     BSTR dir();
9915
9916     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
9917     IDispatch *createControlRange();
9918
9919     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
9920     long scrollHeight();
9921
9922     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
9923     long scrollWidth();
9924
9925     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
9926     void scrollTop(long v);
9927
9928     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
9929     long scrollTop();
9930
9931     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
9932     void scrollLeft(long v);
9933
9934     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
9935     long scrollLeft();
9936
9937     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
9938     void clearAttributes();
9939
9940     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
9941     void oncontextmenu(VARIANT v);
9942
9943     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
9944     VARIANT oncontextmenu();
9945
9946     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
9947     IHTMLElement *insertAdjacentElement(
9948             [in] BSTR where,
9949             [in] IHTMLElement *insertedElement);
9950
9951     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
9952     IHTMLElement *applyElement(
9953             [in] IHTMLElement *apply,
9954             [in] BSTR where);
9955
9956     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
9957     BSTR getAdjacentText([in] BSTR where);
9958
9959     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
9960     BSTR replaceAdjacentText(
9961             [in] BSTR where,
9962             [in] BSTR newText);
9963
9964     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
9965     VARIANT_BOOL canHaveChildren();
9966
9967     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
9968     long addBehavior(
9969             [in] BSTR bstrUrl,
9970             [in, optional] VARIANT *pvarFactory);
9971
9972     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
9973     VARIANT_BOOL removeBehavior([in] long cookie);
9974
9975     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
9976     IHTMLStyle *runtimeStyle();
9977
9978     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
9979     IDispatch *behaviorUrns();
9980
9981     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
9982     void tagUrn(BSTR v);
9983
9984     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
9985     BSTR tagUrn();
9986
9987     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
9988     void onbeforeeditfocus(VARIANT v);
9989
9990     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
9991     VARIANT onbeforeeditfocus();
9992
9993     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
9994     long readyStateValue();
9995
9996     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
9997     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
9998
9999     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
10000     void mergeAttributes(
10001             [in] IHTMLElement *mergeThis,
10002             [in, optional] VARIANT *pvarFlags);
10003
10004     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
10005     VARIANT_BOOL isMultiLine();
10006
10007     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
10008     VARIANT_BOOL canHaveHTML();
10009
10010     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
10011     void onlayoutcomplete(VARIANT v);
10012
10013     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
10014     VARIANT onlayoutcomplete();
10015
10016     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
10017     void onpage(VARIANT v);
10018
10019     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
10020     VARIANT onpage();
10021
10022     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
10023     void inflateBlock(VARIANT_BOOL v);
10024
10025     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
10026     VARIANT_BOOL inflateBlock();
10027
10028     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
10029     void onbeforedeactivate(VARIANT v);
10030
10031     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
10032     VARIANT onbeforedeactivate();
10033
10034     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
10035     void setActive();
10036
10037     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
10038     void contentEditable(BSTR v);
10039
10040     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
10041     BSTR contentEditable();
10042
10043     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
10044     VARIANT_BOOL isContentEditable();
10045
10046     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
10047     void hideFocus(VARIANT_BOOL v);
10048
10049     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
10050     VARIANT_BOOL hideFocus();
10051
10052     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
10053     void disabled(VARIANT_BOOL v);
10054
10055     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
10056     VARIANT_BOOL disabled();
10057
10058     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
10059     VARIANT_BOOL isDisabled();
10060
10061     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
10062     void onmove(VARIANT v);
10063
10064     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
10065     VARIANT onmove();
10066
10067     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
10068     void oncontrolselect(VARIANT v);
10069
10070     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
10071     VARIANT oncontrolselect();
10072
10073     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
10074     VARIANT_BOOL fireEvent(
10075             [in] BSTR bstrEventName,
10076             [in, optional] VARIANT *pvarEventObject);
10077
10078     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
10079     void onresizestart(VARIANT v);
10080
10081     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
10082     VARIANT onresizestart();
10083
10084     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
10085     void onresizeend(VARIANT v);
10086
10087     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
10088     VARIANT onresizeend();
10089
10090     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
10091     void onmovestart(VARIANT v);
10092
10093     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
10094     VARIANT onmovestart();
10095
10096     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
10097     void onmoveend(VARIANT v);
10098
10099     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
10100     VARIANT onmoveend();
10101
10102     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
10103     void onmouseenter(VARIANT v);
10104
10105     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
10106     VARIANT onmouseenter();
10107
10108     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
10109     void onmouseleave(VARIANT v);
10110
10111     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
10112     VARIANT onmouseleave();
10113
10114     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
10115     void onactivate(VARIANT v);
10116
10117     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
10118     VARIANT onactivate();
10119
10120     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
10121     void ondeactivate(VARIANT v);
10122
10123     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
10124     VARIANT ondeactivate();
10125
10126     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
10127     VARIANT_BOOL dragDrop();
10128
10129     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
10130     LONG glyphMode();
10131
10132     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
10133     void onmousewheel(VARIANT v);
10134
10135     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
10136     VARIANT onmousewheel();
10137
10138     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
10139     void normalize();
10140
10141     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
10142     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
10143
10144     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
10145     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
10146
10147     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
10148     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
10149
10150     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
10151     void onbeforeactivate(VARIANT v);
10152
10153     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
10154     VARIANT onbeforeactivate();
10155
10156     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
10157     void onfocusin(VARIANT v);
10158
10159     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
10160     VARIANT onfocusin();
10161
10162     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
10163     void onfocusout(VARIANT v);
10164
10165     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
10166     VARIANT onfocusout();
10167
10168     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
10169     long uniqueNumber();
10170
10171     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
10172     BSTR uniqueID();
10173
10174     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
10175     long nodeType();
10176
10177     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
10178     IHTMLDOMNode *parentNode();
10179
10180     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
10181     VARIANT_BOOL hasChildNodes();
10182
10183     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
10184     IDispatch *childNodes();
10185
10186     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
10187     IDispatch *attributes();
10188
10189     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
10190     IHTMLDOMNode *insertBefore(
10191             [in] IHTMLDOMNode *newChild,
10192             [in, optional] VARIANT refChild);
10193
10194     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
10195     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
10196
10197     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
10198     IHTMLDOMNode *replaceChild(
10199             [in] IHTMLDOMNode *newChild,
10200             [in] IHTMLDOMNode *oldChild);
10201
10202     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
10203     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
10204
10205     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
10206     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
10207
10208     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
10209     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
10210
10211     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
10212     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
10213
10214     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
10215     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
10216
10217     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
10218     BSTR nodeName();
10219
10220     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
10221     void nodeValue(VARIANT v);
10222
10223     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
10224     VARIANT nodeValue();
10225
10226     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
10227     IHTMLDOMNode *firstChild();
10228
10229     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
10230     IHTMLDOMNode *lastChild();
10231
10232     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
10233     IHTMLDOMNode *previousSibling();
10234
10235     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
10236     IHTMLDOMNode *nextSibling();
10237
10238     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
10239     IDispatch *ownerDocument();
10240
10241     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
10242     void dataFld(BSTR v);
10243
10244     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
10245     BSTR dataFld();
10246
10247     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
10248     void dataSrc(BSTR v);
10249
10250     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
10251     BSTR dataSrc();
10252
10253     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
10254     void dataFormatAs(BSTR v);
10255
10256     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
10257     BSTR dataFormatAs();
10258
10259     [propput, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
10260     void selected(VARIANT_BOOL v);
10261
10262     [propget, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
10263     VARIANT_BOOL selected();
10264
10265     [propput, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
10266     void value(BSTR v);
10267
10268     [propget, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
10269     BSTR value();
10270
10271     [propput, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
10272     void defaultSelected(VARIANT_BOOL v);
10273
10274     [propget, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
10275     VARIANT_BOOL defaultSelected();
10276
10277     [propput, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
10278     void index(LONG v);
10279
10280     [propget, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
10281     LONG index();
10282
10283     [propput, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
10284     void text(BSTR v);
10285
10286     [propget, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
10287     BSTR text();
10288
10289     [propget, id(DISPID_IHTMLOPTIONELEMENT_FORM)]
10290     IHTMLFormElement *form();
10291
10292     [propput, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
10293     void label(BSTR v);
10294
10295     [propget, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
10296     BSTR label();
10297 }
10298
10299 /*****************************************************************************
10300  *    IHTMLInputElement interface
10301  */
10302 [
10303     odl,
10304     oleautomation,
10305     dual,
10306     uuid(3050f5d2-98b5-11cf-bb82-00aa00bdce0b)
10307 ]
10308 interface IHTMLInputElement : IDispatch
10309 {
10310     [propput, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
10311     HRESULT type([in] BSTR v);
10312
10313     [propget, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
10314     HRESULT type([retval, out] BSTR *p);
10315
10316     [propput, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
10317     HRESULT value([in] BSTR v);
10318
10319     [propget, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
10320     HRESULT value([retval, out] BSTR *p);
10321
10322     [propput, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
10323     HRESULT name([in] BSTR v);
10324
10325     [propget, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
10326     HRESULT name([retval, out] BSTR *p);
10327
10328     [propput, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
10329     HRESULT status([in] VARIANT_BOOL v);
10330
10331     [propget, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
10332     HRESULT status([retval, out] VARIANT_BOOL *p);
10333
10334     [propput, id(DISPID_IHTMLINPUTELEMENT_DISABLED), displaybind, bindable]
10335     HRESULT disabled([in] VARIANT_BOOL v);
10336
10337     [propget, id(DISPID_IHTMLINPUTELEMENT_DISABLED), displaybind, bindable]
10338     HRESULT disabled([retval, out] VARIANT_BOOL *p);
10339
10340     [propget, id(DISPID_IHTMLINPUTELEMENT_FORM)]
10341     HRESULT form([retval, out] IHTMLFormElement **p);
10342
10343     [propput, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
10344     HRESULT size([in] long v);
10345
10346     [propget, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
10347     HRESULT size([retval, out] long *p);
10348
10349     [propput, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
10350     HRESULT maxLength([in] long v);
10351
10352     [propget, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
10353     HRESULT maxLength([retval, out] long *p);
10354
10355     [id(DISPID_IHTMLINPUTELEMENT_SELECT)]
10356     HRESULT select();
10357
10358     [propput, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
10359     HRESULT onchange([in] VARIANT v);
10360
10361     [propget, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
10362     HRESULT onchange([retval, out] VARIANT *p);
10363
10364     [propput, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
10365     HRESULT onselect([in] VARIANT v);
10366
10367     [propget, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
10368     HRESULT onselect([retval, out] VARIANT *p);
10369
10370     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
10371     HRESULT defaultValue([in] BSTR v);
10372
10373     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
10374     HRESULT defaultValue([retval, out] BSTR *p);
10375
10376     [propput, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
10377     HRESULT readOnly([in] VARIANT_BOOL v);
10378
10379     [propget, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
10380     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
10381
10382     [id(DISPID_IHTMLINPUTELEMENT_CREATETEXTRANGE)]
10383     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
10384
10385     [propput, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
10386     HRESULT indeterminate([in] VARIANT_BOOL v);
10387
10388     [propget, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
10389     HRESULT indeterminate([retval, out] VARIANT_BOOL *p);
10390
10391     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
10392     HRESULT defaultChecked([in] VARIANT_BOOL v);
10393
10394     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
10395     HRESULT defaultChecked([retval, out] VARIANT_BOOL *p);
10396
10397     [propput, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
10398     HRESULT checked([in] VARIANT_BOOL v);
10399
10400     [propget, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
10401     HRESULT checked([retval, out] VARIANT_BOOL *p);
10402
10403     [propput, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
10404     HRESULT border([in] VARIANT v);
10405
10406     [propget, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
10407     HRESULT border([retval, out] VARIANT *p);
10408
10409     [propput, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
10410     HRESULT vspace([in] long v);
10411
10412     [propget, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
10413     HRESULT vspace([retval, out] long *p);
10414
10415     [propput, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
10416     HRESULT hspace([in] long v);
10417
10418     [propget, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
10419     HRESULT hspace([retval, out] long *p);
10420
10421     [propput, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
10422     HRESULT alt([in] BSTR v);
10423
10424     [propget, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
10425     HRESULT alt([retval, out] BSTR *p);
10426
10427     [propput, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
10428     HRESULT src([in] BSTR v);
10429
10430     [propget, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
10431     HRESULT src([retval, out] BSTR *p);
10432
10433     [propput, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
10434     HRESULT lowsrc([in] BSTR v);
10435
10436     [propget, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
10437     HRESULT lowsrc([retval, out] BSTR *p);
10438
10439     [propput, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
10440     HRESULT vrml([in] BSTR v);
10441
10442     [propget, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
10443     HRESULT vrml([retval, out] BSTR *p);
10444
10445     [propput, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
10446     HRESULT dynsrc([in] BSTR v);
10447
10448     [propget, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
10449     HRESULT dynsrc([retval, out] BSTR *p);
10450
10451     [propget, id(DISPID_IHTMLINPUTELEMENT_READYSTATE)]
10452     HRESULT readyState([retval, out] BSTR *p);
10453
10454     [propget, id(DISPID_IHTMLINPUTELEMENT_COMPLETE)]
10455     HRESULT complete([retval, out] VARIANT_BOOL *p);
10456
10457     [propput, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
10458     HRESULT loop([in] VARIANT v);
10459
10460     [propget, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
10461     HRESULT loop([retval, out] VARIANT *p);
10462
10463     [propput, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
10464     HRESULT align([in] BSTR v);
10465
10466     [propget, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
10467     HRESULT align([retval, out] BSTR *p);
10468
10469     [propput, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
10470     HRESULT onload([in] VARIANT v);
10471
10472     [propget, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
10473     HRESULT onload([retval, out] VARIANT *p);
10474
10475     [propput, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
10476     HRESULT onerror([in] VARIANT v);
10477
10478     [propget, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
10479     HRESULT onerror([retval, out] VARIANT *p);
10480
10481     [propput, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
10482     HRESULT onabort([in] VARIANT v);
10483
10484     [propget, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
10485     HRESULT onabort([retval, out] VARIANT *p);
10486
10487     [propput, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
10488     HRESULT width([in] long v);
10489
10490     [propget, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
10491     HRESULT width([retval, out] long *p);
10492
10493     [propput, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
10494     HRESULT height([in] long v);
10495
10496     [propget, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
10497     HRESULT height([retval, out] long *p);
10498
10499     [propput, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
10500     HRESULT start([in] BSTR v);
10501
10502     [propget, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
10503     HRESULT start([retval, out] BSTR *p);
10504 }
10505
10506 /*****************************************************************************
10507  *    IHTMLInputTextElement interface
10508  */
10509 [
10510     odl,
10511     oleautomation,
10512     dual,
10513     uuid(3050f2a6-98b5-11cf-bb82-00aa00bdce0b)
10514 ]
10515 interface IHTMLInputTextElement : IDispatch
10516 {
10517     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_TYPE)]
10518     HRESULT type([retval, out] BSTR *p);
10519
10520     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_VALUE), displaybind, bindable]
10521     HRESULT value([in] BSTR v);
10522
10523     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_VALUE), displaybind, bindable]
10524     HRESULT value([retval, out] BSTR *p);
10525
10526     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_NAME), displaybind, bindable]
10527     HRESULT name([in] BSTR v);
10528
10529     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_NAME), displaybind, bindable]
10530     HRESULT name([retval, out] BSTR *p);
10531
10532     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_STATUS)]
10533     HRESULT status([in] VARIANT v);
10534
10535     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_STATUS)]
10536     HRESULT status([retval, out] VARIANT *p);
10537
10538     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_DISABLED), displaybind, bindable]
10539     HRESULT disabled([in] VARIANT_BOOL v);
10540
10541     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_DISABLED), displaybind, bindable]
10542     HRESULT disabled([retval, out] VARIANT_BOOL *p);
10543
10544     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_FORM)]
10545     HRESULT form([retval, out] IHTMLFormElement **p);
10546
10547     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
10548     HRESULT defaultValue([in] BSTR v);
10549
10550     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
10551     HRESULT defaultValue([retval, out] BSTR *p);
10552
10553     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_SIZE), displaybind, bindable]
10554     HRESULT size([in] long v);
10555
10556     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_SIZE), displaybind, bindable]
10557     HRESULT size([retval, out] long *p);
10558
10559     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_MAXLENGTH), displaybind, bindable]
10560     HRESULT maxLength([in] long v);
10561
10562     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_MAXLENGTH), displaybind, bindable]
10563     HRESULT maxLength([retval, out] long *p);
10564
10565     [id(DISPID_IHTMLINPUTTEXTELEMENT_SELECT)]
10566     HRESULT select();
10567
10568     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_ONCHANGE), displaybind, bindable]
10569     HRESULT onchange([in] VARIANT v);
10570
10571     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_ONCHANGE), displaybind, bindable]
10572     HRESULT onchange([retval, out] VARIANT *p);
10573
10574     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_ONSELECT), displaybind, bindable]
10575     HRESULT onselect([in] VARIANT v);
10576
10577     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_ONSELECT), displaybind, bindable]
10578     HRESULT onselect([retval, out] VARIANT *p);
10579
10580     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_READONLY), displaybind, bindable]
10581     HRESULT readOnly([in] VARIANT_BOOL v);
10582
10583     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_READONLY), displaybind, bindable]
10584     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
10585
10586     [id(DISPID_IHTMLINPUTTEXTELEMENT_CREATETEXTRANGE)]
10587     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
10588 }
10589
10590 [
10591     hidden,
10592     uuid(3050f57d-98b5-11cf-bb82-00aa00bdce0b)
10593 ]
10594 dispinterface DispHTMLInputElement
10595 {
10596 properties:
10597 methods:
10598     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
10599     void setAttribute(
10600             [in] BSTR strAttributeName,
10601             [in] VARIANT AttributeValue,
10602             [in, defaultvalue(1)] LONG lFlags);
10603
10604     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
10605     VARIANT getAttribute(
10606              [in] BSTR strAttributeName,
10607              [in, defaultvalue(0)] LONG lFlags);
10608
10609     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
10610     VARIANT_BOOL removeAttribute(
10611             [in] BSTR strAttributeName,
10612             [in, defaultvalue(1)] LONG lFlags);
10613
10614     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
10615     void className(BSTR v);
10616
10617     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
10618     BSTR className();
10619
10620     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
10621     void id(BSTR v);
10622
10623     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
10624     BSTR id();
10625
10626     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
10627     BSTR tagName();
10628
10629     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
10630     IHTMLElement *parentElement();
10631
10632     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
10633     IHTMLStyle *style();
10634
10635     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
10636     void onhelp(VARIANT v);
10637
10638     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
10639     VARIANT onhelp();
10640
10641     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
10642     void onclick(VARIANT v);
10643
10644     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
10645     VARIANT onclick();
10646
10647     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
10648     void ondblclick(VARIANT v);
10649
10650     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
10651     VARIANT ondblclick();
10652
10653     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
10654     void onkeydown(VARIANT v);
10655
10656     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
10657     VARIANT onkeydown();
10658
10659     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
10660     void onkeyup(VARIANT v);
10661
10662     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
10663     VARIANT onkeyup();
10664
10665     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
10666     void onkeypress(VARIANT v);
10667
10668     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
10669     VARIANT onkeypress();
10670
10671     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
10672     void onmouseout(VARIANT v);
10673
10674     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
10675     VARIANT onmouseout();
10676
10677     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
10678     void onmouseover(VARIANT v);
10679
10680     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
10681     VARIANT onmouseover();
10682
10683     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
10684     void onmousemove(VARIANT v);
10685
10686     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
10687     VARIANT onmousemove();
10688
10689     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
10690     void onmousedown(VARIANT v);
10691
10692     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
10693     VARIANT onmousedown();
10694
10695     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
10696     void onmouseup(VARIANT v);
10697
10698     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
10699     VARIANT onmouseup();
10700
10701     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
10702     IDispatch *document();
10703
10704     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
10705     void title(BSTR v);
10706
10707     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
10708     BSTR title();
10709
10710     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
10711     void language(BSTR v);
10712
10713     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
10714     BSTR language();
10715
10716     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
10717     void onselectstart(VARIANT v);
10718
10719     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
10720     VARIANT onselectstart();
10721
10722     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
10723     void scrollIntoView([in, optional] VARIANT varargStart);
10724
10725     [id(DISPID_IHTMLELEMENT_CONTAINS)]
10726     VARIANT_BOOL contains([in] IHTMLElement *pChild);
10727
10728     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
10729     long sourceIndex();
10730
10731     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
10732     VARIANT recordNumber();
10733
10734     [propput, id(DISPID_IHTMLELEMENT_LANG)]
10735     void lang(BSTR v);
10736
10737     [propget, id(DISPID_IHTMLELEMENT_LANG)]
10738     BSTR lang();
10739
10740     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
10741     long offsetLeft();
10742
10743     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
10744     long offsetTop();
10745
10746     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
10747     long offsetWidth();
10748
10749     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
10750     long offsetHeight();
10751
10752     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
10753     IHTMLElement *offsetParent();
10754
10755     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
10756     void innerHTML(BSTR v);
10757
10758     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
10759     BSTR innerHTML();
10760
10761     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
10762     void innerText(BSTR v);
10763
10764     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
10765     BSTR innerText();
10766
10767     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
10768     void outerHTML(BSTR v);
10769
10770     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
10771     BSTR outerHTML();
10772
10773     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
10774     void outerText(BSTR v);
10775
10776     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
10777     BSTR outerText();
10778
10779     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
10780     void insertAdjacentHTML(
10781             [in] BSTR where,
10782             [in] BSTR html);
10783
10784     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
10785     void insertAdjacentText(
10786             [in] BSTR where,
10787             [in] BSTR text);
10788
10789     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
10790     IHTMLElement *parentTextEdit();
10791
10792     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
10793     VARIANT_BOOL isTextEdit();
10794
10795     [id(DISPID_IHTMLELEMENT_CLICK)]
10796     void click();
10797
10798     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
10799     IHTMLFiltersCollection *filters();
10800
10801     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
10802     void ondragstart(VARIANT v);
10803
10804     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
10805     VARIANT ondragstart();
10806
10807     [id(DISPID_IHTMLELEMENT_TOSTRING)]
10808     BSTR toString();
10809
10810     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
10811     void onbeforeupdate(VARIANT v);
10812
10813     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
10814     VARIANT onbeforeupdate();
10815
10816     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
10817     void onafterupdate(VARIANT v);
10818
10819     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
10820     VARIANT onafterupdate();
10821
10822     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
10823     void onerrorupdate(VARIANT v);
10824
10825     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
10826     VARIANT onerrorupdate();
10827
10828     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
10829     void onrowexit(VARIANT v);
10830
10831     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
10832     VARIANT onrowexit();
10833
10834     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
10835     void onrowenter(VARIANT v);
10836
10837     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
10838     VARIANT onrowenter();
10839
10840     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
10841     void ondatasetchanged(VARIANT v);
10842
10843     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
10844     VARIANT ondatasetchanged();
10845
10846     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
10847     void ondataavailable(VARIANT v);
10848
10849     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
10850     VARIANT ondataavailable();
10851
10852     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
10853     void ondatasetcomplete(VARIANT v);
10854
10855     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
10856     VARIANT ondatasetcomplete();
10857
10858     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
10859     void onfilterchange(VARIANT v);
10860
10861     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
10862     VARIANT onfilterchange();
10863
10864     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
10865     IDispatch *children();
10866
10867     [propget, id(DISPID_IHTMLELEMENT_ALL)]
10868     IDispatch *all();
10869
10870     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
10871     BSTR scopeName();
10872
10873     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
10874     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
10875
10876     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
10877     void releaseCapture();
10878
10879     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
10880     void onlosecapture(VARIANT v);
10881
10882     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
10883     VARIANT onlosecapture();
10884
10885     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
10886     BSTR componentFromPoint(
10887             [in] long x,
10888             [in] long y);
10889
10890     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
10891     void doScroll([in, optional] VARIANT component);
10892
10893     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
10894     void onscroll(VARIANT v);
10895
10896     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
10897     VARIANT onscroll();
10898
10899     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
10900     void ondrag(VARIANT v);
10901
10902     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
10903     VARIANT ondrag();
10904
10905     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
10906     void ondragend(VARIANT v);
10907
10908     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
10909     VARIANT ondragend();
10910
10911     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
10912     void ondragenter(VARIANT v);
10913
10914     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
10915     VARIANT ondragenter();
10916
10917     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
10918     void ondragover(VARIANT v);
10919
10920     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
10921     VARIANT ondragover();
10922
10923     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
10924     void ondragleave(VARIANT v);
10925
10926     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
10927     VARIANT ondragleave();
10928
10929     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
10930     void ondrop(VARIANT v);
10931
10932     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
10933     VARIANT ondrop();
10934
10935     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
10936     void onbeforecut(VARIANT v);
10937
10938     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
10939     VARIANT onbeforecut();
10940
10941     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
10942     void oncut(VARIANT v);
10943
10944     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
10945     VARIANT oncut();
10946
10947     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
10948     void onbeforecopy(VARIANT v);
10949
10950     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
10951     VARIANT onbeforecopy();
10952
10953     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
10954     void oncopy(VARIANT v);
10955
10956     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
10957     VARIANT oncopy();
10958
10959     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
10960     void onbeforepaste(VARIANT v);
10961
10962     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
10963     VARIANT onbeforepaste();
10964
10965     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
10966     void onpaste(VARIANT v);
10967
10968     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
10969     VARIANT onpaste();
10970
10971     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
10972     IHTMLCurrentStyle *currentStyle();
10973
10974     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
10975     void onpropertychange(VARIANT v);
10976
10977     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
10978     VARIANT onpropertychange();
10979
10980     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
10981     IHTMLRectCollection *getClientRects();
10982
10983     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
10984     IHTMLRect *getBoundingClientRect();
10985
10986     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
10987     void setExpression(
10988             [in] BSTR propname,
10989             [in] BSTR expression,
10990             [in, defaultvalue("")] BSTR language);
10991
10992     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
10993     VARIANT getExpression([in] BSTR propname);
10994
10995     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
10996     VARIANT_BOOL removeExpression([in] BSTR propname);
10997
10998     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
10999     void tabIndex(short v);
11000
11001     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
11002     short tabIndex();
11003
11004     [id(DISPID_IHTMLELEMENT2_FOCUS)]
11005     void focus();
11006
11007     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
11008     void accessKey(BSTR v);
11009
11010     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
11011     BSTR accessKey();
11012
11013     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
11014     void onblur(VARIANT v);
11015
11016     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
11017     VARIANT onblur();
11018
11019     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
11020     void onfocus(VARIANT v);
11021
11022     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
11023     VARIANT onfocus();
11024
11025     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
11026     void onresize(VARIANT v);
11027
11028     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
11029     VARIANT onresize();
11030
11031     [id(DISPID_IHTMLELEMENT2_BLUR)]
11032     void blur();
11033
11034     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
11035     void addFilter([in] IUnknown *pUnk);
11036
11037     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
11038     void removeFilter([in] IUnknown *pUnk);
11039
11040     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
11041     long clientHeight();
11042
11043     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
11044     long clientWidth();
11045
11046     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
11047     long clientTop();
11048
11049     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
11050     long clientLeft();
11051
11052     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
11053     VARIANT_BOOL attachEvent(
11054             [in] BSTR event,
11055             [in] IDispatch *pDisp);
11056
11057     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
11058     void detachEvent(
11059             [in] BSTR event,
11060             [in] IDispatch *pDisp);
11061
11062     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
11063     VARIANT readyState();
11064
11065     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
11066     void onreadystatechange(VARIANT v);
11067
11068     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
11069     VARIANT onreadystatechange();
11070
11071     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
11072     void onrowsdelete(VARIANT v);
11073
11074     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
11075     VARIANT onrowsdelete();
11076
11077     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
11078     void onrowsinserted(VARIANT v);
11079
11080     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
11081      VARIANT onrowsinserted();
11082
11083     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
11084      void oncellchange(VARIANT v);
11085
11086     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
11087     VARIANT oncellchange();
11088
11089     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
11090     void dir(BSTR v);
11091
11092     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
11093     BSTR dir();
11094
11095     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
11096     IDispatch *createControlRange();
11097
11098     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
11099     long scrollHeight();
11100
11101     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
11102     long scrollWidth();
11103
11104     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
11105     void scrollTop(long v);
11106
11107     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
11108     long scrollTop();
11109
11110     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
11111     void scrollLeft(long v);
11112
11113     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
11114     long scrollLeft();
11115
11116     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
11117     void clearAttributes();
11118
11119     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
11120     void oncontextmenu(VARIANT v);
11121
11122     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
11123     VARIANT oncontextmenu();
11124
11125     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
11126     IHTMLElement *insertAdjacentElement(
11127             [in] BSTR where,
11128             [in] IHTMLElement *insertedElement);
11129
11130     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
11131     IHTMLElement *applyElement(
11132             [in] IHTMLElement *apply,
11133             [in] BSTR where);
11134
11135     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
11136     BSTR getAdjacentText([in] BSTR where);
11137
11138     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
11139     BSTR replaceAdjacentText(
11140             [in] BSTR where,
11141             [in] BSTR newText);
11142
11143     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
11144     VARIANT_BOOL canHaveChildren();
11145
11146     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
11147     long addBehavior(
11148             [in] BSTR bstrUrl,
11149             [in, optional] VARIANT *pvarFactory);
11150
11151     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
11152     VARIANT_BOOL removeBehavior([in] long cookie);
11153
11154     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
11155     IHTMLStyle *runtimeStyle();
11156
11157     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
11158     IDispatch *behaviorUrns();
11159
11160     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
11161     void tagUrn(BSTR v);
11162
11163     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
11164     BSTR tagUrn();
11165
11166     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
11167     void onbeforeeditfocus(VARIANT v);
11168
11169     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
11170     VARIANT onbeforeeditfocus();
11171
11172     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
11173     long readyStateValue();
11174
11175     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
11176     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
11177
11178     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
11179     void mergeAttributes(
11180             [in] IHTMLElement *mergeThis,
11181             [in, optional] VARIANT *pvarFlags);
11182
11183     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
11184     VARIANT_BOOL isMultiLine();
11185
11186     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
11187     VARIANT_BOOL canHaveHTML();
11188
11189     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
11190     void onlayoutcomplete(VARIANT v);
11191
11192     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
11193     VARIANT onlayoutcomplete();
11194
11195     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
11196     void onpage(VARIANT v);
11197
11198     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
11199     VARIANT onpage();
11200
11201     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
11202     void inflateBlock(VARIANT_BOOL v);
11203
11204     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
11205     VARIANT_BOOL inflateBlock();
11206
11207     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
11208     void onbeforedeactivate(VARIANT v);
11209
11210     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
11211     VARIANT onbeforedeactivate();
11212
11213     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
11214     void setActive();
11215
11216     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
11217     void contentEditable(BSTR v);
11218
11219     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
11220     BSTR contentEditable();
11221
11222     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
11223     VARIANT_BOOL isContentEditable();
11224
11225     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
11226     void hideFocus(VARIANT_BOOL v);
11227
11228     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
11229     VARIANT_BOOL hideFocus();
11230
11231     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
11232     void disabled(VARIANT_BOOL v);
11233
11234     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
11235     VARIANT_BOOL disabled();
11236
11237     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
11238     VARIANT_BOOL isDisabled();
11239
11240     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
11241     void onmove(VARIANT v);
11242
11243     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
11244     VARIANT onmove();
11245
11246     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
11247     void oncontrolselect(VARIANT v);
11248
11249     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
11250     VARIANT oncontrolselect();
11251
11252     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
11253     VARIANT_BOOL fireEvent(
11254             [in] BSTR bstrEventName,
11255             [in, optional] VARIANT *pvarEventObject);
11256
11257     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
11258     void onresizestart(VARIANT v);
11259
11260     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
11261     VARIANT onresizestart();
11262
11263     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
11264     void onresizeend(VARIANT v);
11265
11266     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
11267     VARIANT onresizeend();
11268
11269     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
11270     void onmovestart(VARIANT v);
11271
11272     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
11273     VARIANT onmovestart();
11274
11275     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
11276     void onmoveend(VARIANT v);
11277
11278     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
11279     VARIANT onmoveend();
11280
11281     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
11282     void onmouseenter(VARIANT v);
11283
11284     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
11285     VARIANT onmouseenter();
11286
11287     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
11288     void onmouseleave(VARIANT v);
11289
11290     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
11291     VARIANT onmouseleave();
11292
11293     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
11294     void onactivate(VARIANT v);
11295
11296     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
11297     VARIANT onactivate();
11298
11299     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
11300     void ondeactivate(VARIANT v);
11301
11302     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
11303     VARIANT ondeactivate();
11304
11305     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
11306     VARIANT_BOOL dragDrop();
11307
11308     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
11309     LONG glyphMode();
11310
11311     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
11312     void onmousewheel(VARIANT v);
11313
11314     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
11315     VARIANT onmousewheel();
11316
11317     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
11318     void normalize();
11319
11320     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
11321     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
11322
11323     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
11324     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
11325
11326     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
11327     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
11328
11329     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
11330     void onbeforeactivate(VARIANT v);
11331
11332     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
11333     VARIANT onbeforeactivate();
11334
11335     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
11336     void onfocusin(VARIANT v);
11337
11338     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
11339     VARIANT onfocusin();
11340
11341     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
11342     void onfocusout(VARIANT v);
11343
11344     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
11345     VARIANT onfocusout();
11346
11347     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
11348     long uniqueNumber();
11349
11350     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
11351     BSTR uniqueID();
11352
11353     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
11354     long nodeType();
11355
11356     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
11357     IHTMLDOMNode *parentNode();
11358
11359     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
11360     VARIANT_BOOL hasChildNodes();
11361
11362     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
11363     IDispatch *childNodes();
11364
11365     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
11366     IDispatch *attributes();
11367
11368     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
11369     IHTMLDOMNode *insertBefore(
11370             [in] IHTMLDOMNode *newChild,
11371             [in, optional] VARIANT refChild);
11372
11373     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
11374     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
11375
11376     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
11377     IHTMLDOMNode *replaceChild(
11378             [in] IHTMLDOMNode *newChild,
11379             [in] IHTMLDOMNode *oldChild);
11380
11381     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
11382     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
11383
11384     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
11385     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
11386
11387     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
11388     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
11389
11390     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
11391     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
11392
11393     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
11394     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
11395
11396     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
11397     BSTR nodeName();
11398
11399     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
11400     void nodeValue(VARIANT v);
11401
11402     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
11403     VARIANT nodeValue();
11404
11405     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
11406     IHTMLDOMNode *firstChild();
11407
11408     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
11409     IHTMLDOMNode *lastChild();
11410
11411     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
11412     IHTMLDOMNode *previousSibling();
11413
11414     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
11415     IHTMLDOMNode *nextSibling();
11416
11417     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
11418     IDispatch *ownerDocument();
11419
11420     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
11421     void dataFld(BSTR v);
11422
11423     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
11424     BSTR dataFld();
11425
11426     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
11427     void dataSrc(BSTR v);
11428
11429     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
11430     BSTR dataSrc();
11431
11432     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
11433     void dataFormatAs(BSTR v);
11434
11435     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
11436     BSTR dataFormatAs();
11437
11438     [propput, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
11439     void type(BSTR v);
11440
11441     [propget, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
11442     BSTR type();
11443
11444     [propput, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
11445     void value(BSTR v);
11446
11447     [propget, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
11448     BSTR value();
11449
11450     [propput, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
11451     void name(BSTR v);
11452
11453     [propget, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
11454     BSTR name();
11455
11456     [propput, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
11457     void status(VARIANT_BOOL v);
11458
11459     [propget, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
11460     VARIANT_BOOL status();
11461
11462     [propget, id(DISPID_IHTMLINPUTELEMENT_FORM)]
11463     IHTMLFormElement *form();
11464
11465     [propput, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
11466     void size(long v);
11467
11468     [propget, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
11469     long size();
11470
11471     [propput, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
11472     void maxLength(long v);
11473
11474     [propget, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
11475     long maxLength();
11476
11477     [id(DISPID_IHTMLINPUTELEMENT_SELECT)]
11478     void select();
11479
11480     [propput, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
11481     void onchange(VARIANT v);
11482
11483     [propget, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
11484     VARIANT onchange();
11485
11486     [propput, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
11487     void onselect(VARIANT v);
11488
11489     [propget, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
11490     VARIANT onselect();
11491
11492     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
11493     void defaultValue(BSTR v);
11494
11495     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
11496     BSTR defaultValue();
11497
11498     [propput, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
11499     void readOnly(VARIANT_BOOL v);
11500
11501     [propget, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
11502     VARIANT_BOOL readOnly();
11503
11504     [id(DISPID_IHTMLINPUTELEMENT_CREATETEXTRANGE)]
11505     IHTMLTxtRange *createTextRange();
11506
11507     [propput, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
11508     void indeterminate(VARIANT_BOOL v);
11509
11510     [propget, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
11511     VARIANT_BOOL indeterminate();
11512
11513     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
11514     void defaultChecked(VARIANT_BOOL v);
11515
11516     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
11517     VARIANT_BOOL defaultChecked();
11518
11519     [propput, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
11520     void checked(VARIANT_BOOL v);
11521
11522     [propget, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
11523     VARIANT_BOOL checked();
11524
11525     [propput, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
11526     void border(VARIANT v);
11527
11528     [propget, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
11529     VARIANT border();
11530
11531     [propput, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
11532     void vspace(long v);
11533
11534     [propget, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
11535     long vspace();
11536
11537     [propput, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
11538     void hspace(long v);
11539
11540     [propget, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
11541     long hspace();
11542
11543     [propput, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
11544     void alt(BSTR v);
11545
11546     [propget, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
11547     BSTR alt();
11548
11549     [propput, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
11550     void src(BSTR v);
11551
11552     [propget, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
11553     BSTR src();
11554
11555     [propput, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
11556     void lowsrc(BSTR v);
11557
11558     [propget, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
11559     BSTR lowsrc();
11560
11561     [propput, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
11562     void vrml(BSTR v);
11563
11564     [propget, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
11565     BSTR vrml();
11566
11567     [propput, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
11568     void dynsrc(BSTR v);
11569
11570     [propget, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
11571     BSTR dynsrc();
11572
11573     [propget, id(DISPID_IHTMLINPUTELEMENT_COMPLETE)]
11574     VARIANT_BOOL complete();
11575
11576     [propput, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
11577     void loop(VARIANT v);
11578
11579     [propget, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
11580     VARIANT loop();
11581
11582     [propput, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
11583     void align(BSTR v);
11584
11585     [propget, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
11586     BSTR align();
11587
11588     [propput, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
11589     void onload(VARIANT v);
11590
11591     [propget, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
11592     VARIANT onload();
11593
11594     [propput, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
11595     void onerror(VARIANT v);
11596
11597     [propget, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
11598     VARIANT onerror();
11599
11600     [propput, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
11601     void onabort(VARIANT v);
11602
11603     [propget, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
11604     VARIANT onabort();
11605
11606     [propput, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
11607     void width(long v);
11608
11609     [propget, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
11610     long width();
11611
11612     [propput, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
11613     void height(long v);
11614
11615     [propget, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
11616     long height();
11617
11618     [propput, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
11619     void start(BSTR v);
11620
11621     [propget, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
11622     BSTR start();
11623
11624     [propput, id(DISPID_IHTMLINPUTELEMENT2_ACCEPT), displaybind, bindable]
11625     void accept(BSTR v);
11626
11627     [propget, id(DISPID_IHTMLINPUTELEMENT2_ACCEPT), displaybind, bindable]
11628     BSTR accept();
11629
11630     [propput, id(DISPID_IHTMLINPUTELEMENT2_USEMAP), displaybind, bindable]
11631     void useMap(BSTR v);
11632
11633     [propget, id(DISPID_IHTMLINPUTELEMENT2_USEMAP), displaybind, bindable]
11634     BSTR useMap();
11635 }
11636
11637 /*****************************************************************************
11638  *    IHTMLTextAreaElement interface
11639  */
11640 [
11641     odl,
11642     oleautomation,
11643     dual,
11644     uuid(3050f2aa-98b5-11cf-bb82-00aa00bdce0b)
11645 ]
11646 interface IHTMLTextAreaElement : IDispatch
11647 {
11648     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_TYPE)]
11649     HRESULT type([retval, out] BSTR *p);
11650
11651     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
11652     HRESULT value([in] BSTR v);
11653
11654     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
11655     HRESULT value([retval, out] BSTR *p);
11656
11657     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
11658     HRESULT name([in] BSTR v);
11659
11660     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
11661     HRESULT name([retval, out] BSTR *p);
11662
11663     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
11664     HRESULT status([in] VARIANT v);
11665
11666     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
11667     HRESULT status([retval, out] VARIANT *p);
11668
11669     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_DISABLED), displaybind, bindable]
11670     HRESULT disabled([in] VARIANT_BOOL v);
11671
11672     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_DISABLED), displaybind, bindable]
11673     HRESULT disabled([retval, out] VARIANT_BOOL *p);
11674
11675     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_FORM)]
11676     HRESULT form([retval, out] IHTMLFormElement **p);
11677
11678     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
11679     HRESULT defaultValue([in] BSTR v);
11680
11681     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
11682     HRESULT defaultValue([retval, out] BSTR *p);
11683
11684     [id(DISPID_IHTMLTEXTAREAELEMENT_SELECT)]
11685     HRESULT select();
11686
11687     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
11688     HRESULT onchange([in] VARIANT v);
11689
11690     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
11691     HRESULT onchange([retval, out] VARIANT *p);
11692
11693     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
11694     HRESULT onselect([in] VARIANT v);
11695
11696     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
11697     HRESULT onselect([retval, out] VARIANT *p);
11698
11699     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
11700     HRESULT readOnly([in] VARIANT_BOOL v);
11701
11702     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
11703     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
11704
11705     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
11706     HRESULT rows([in] long v);
11707
11708     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
11709     HRESULT rows([retval, out] long *p);
11710
11711     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
11712     HRESULT cols([in] long v);
11713
11714     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
11715     HRESULT cols([retval, out] long *p);
11716
11717     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
11718     HRESULT wrap([in] BSTR v);
11719
11720     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
11721     HRESULT wrap([retval, out] BSTR *p);
11722
11723     [id(DISPID_IHTMLTEXTAREAELEMENT_CREATETEXTRANGE)]
11724     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
11725 }
11726
11727 /*****************************************************************************
11728  *    DispHTMLUnknownElement interface
11729  */
11730 [
11731     hidden,
11732     uuid(3050f539-98b5-11cf-bb82-00aa00bdce0b)
11733 ]
11734 dispinterface DispHTMLUnknownElement
11735 {
11736 properties:
11737 methods:
11738     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
11739     void setAttribute(
11740             [in] BSTR strAttributeName,
11741             [in] VARIANT AttributeValue,
11742             [in, defaultvalue(1)] LONG lFlags);
11743
11744     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
11745     VARIANT getAttribute(
11746              [in] BSTR strAttributeName,
11747              [in, defaultvalue(0)] LONG lFlags);
11748
11749     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
11750     VARIANT_BOOL removeAttribute(
11751             [in] BSTR strAttributeName,
11752             [in, defaultvalue(1)] LONG lFlags);
11753
11754     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
11755     void className(BSTR v);
11756
11757     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
11758     BSTR className();
11759
11760     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
11761     void id(BSTR v);
11762
11763     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
11764     BSTR id();
11765
11766     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
11767     BSTR tagName();
11768
11769     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
11770     IHTMLElement *parentElement();
11771
11772     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
11773     IHTMLStyle *style();
11774
11775     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
11776     void onhelp(VARIANT v);
11777
11778     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
11779     VARIANT onhelp();
11780
11781     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
11782     void onclick(VARIANT v);
11783
11784     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
11785     VARIANT onclick();
11786
11787     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
11788     void ondblclick(VARIANT v);
11789
11790     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
11791     VARIANT ondblclick();
11792
11793     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
11794     void onkeydown(VARIANT v);
11795
11796     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
11797     VARIANT onkeydown();
11798
11799     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
11800     void onkeyup(VARIANT v);
11801
11802     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
11803     VARIANT onkeyup();
11804
11805     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
11806     void onkeypress(VARIANT v);
11807
11808     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
11809     VARIANT onkeypress();
11810
11811     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
11812     void onmouseout(VARIANT v);
11813
11814     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
11815     VARIANT onmouseout();
11816
11817     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
11818     void onmouseover(VARIANT v);
11819
11820     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
11821     VARIANT onmouseover();
11822
11823     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
11824     void onmousemove(VARIANT v);
11825
11826     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
11827     VARIANT onmousemove();
11828
11829     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
11830     void onmousedown(VARIANT v);
11831
11832     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
11833     VARIANT onmousedown();
11834
11835     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
11836     void onmouseup(VARIANT v);
11837
11838     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
11839     VARIANT onmouseup();
11840
11841     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
11842     IDispatch *document();
11843
11844     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
11845     void title(BSTR v);
11846
11847     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
11848     BSTR title();
11849
11850     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
11851     void language(BSTR v);
11852
11853     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
11854     BSTR language();
11855
11856     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
11857     void onselectstart(VARIANT v);
11858
11859     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
11860     VARIANT onselectstart();
11861
11862     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
11863     void scrollIntoView([in, optional] VARIANT varargStart);
11864
11865     [id(DISPID_IHTMLELEMENT_CONTAINS)]
11866     VARIANT_BOOL contains([in] IHTMLElement *pChild);
11867
11868     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
11869     long sourceIndex();
11870
11871     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
11872     VARIANT recordNumber();
11873
11874     [propput, id(DISPID_IHTMLELEMENT_LANG)]
11875     void lang(BSTR v);
11876
11877     [propget, id(DISPID_IHTMLELEMENT_LANG)]
11878     BSTR lang();
11879
11880     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
11881     long offsetLeft();
11882
11883     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
11884     long offsetTop();
11885
11886     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
11887     long offsetWidth();
11888
11889     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
11890     long offsetHeight();
11891
11892     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
11893     IHTMLElement *offsetParent();
11894
11895     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
11896     void innerHTML(BSTR v);
11897
11898     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
11899     BSTR innerHTML();
11900
11901     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
11902     void innerText(BSTR v);
11903
11904     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
11905     BSTR innerText();
11906
11907     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
11908     void outerHTML(BSTR v);
11909
11910     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
11911     BSTR outerHTML();
11912
11913     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
11914     void outerText(BSTR v);
11915
11916     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
11917     BSTR outerText();
11918
11919     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
11920     void insertAdjacentHTML(
11921             [in] BSTR where,
11922             [in] BSTR html);
11923
11924     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
11925     void insertAdjacentText(
11926             [in] BSTR where,
11927             [in] BSTR text);
11928
11929     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
11930     IHTMLElement *parentTextEdit();
11931
11932     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
11933     VARIANT_BOOL isTextEdit();
11934
11935     [id(DISPID_IHTMLELEMENT_CLICK)]
11936     void click();
11937
11938     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
11939     IHTMLFiltersCollection *filters();
11940
11941     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
11942     void ondragstart(VARIANT v);
11943
11944     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
11945     VARIANT ondragstart();
11946
11947     [id(DISPID_IHTMLELEMENT_TOSTRING)]
11948     BSTR toString();
11949
11950     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
11951     void onbeforeupdate(VARIANT v);
11952
11953     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
11954     VARIANT onbeforeupdate();
11955
11956     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
11957     void onafterupdate(VARIANT v);
11958
11959     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
11960     VARIANT onafterupdate();
11961
11962     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
11963     void onerrorupdate(VARIANT v);
11964
11965     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
11966     VARIANT onerrorupdate();
11967
11968     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
11969     void onrowexit(VARIANT v);
11970
11971     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
11972     VARIANT onrowexit();
11973
11974     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
11975     void onrowenter(VARIANT v);
11976
11977     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
11978     VARIANT onrowenter();
11979
11980     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
11981     void ondatasetchanged(VARIANT v);
11982
11983     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
11984     VARIANT ondatasetchanged();
11985
11986     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
11987     void ondataavailable(VARIANT v);
11988
11989     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
11990     VARIANT ondataavailable();
11991
11992     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
11993     void ondatasetcomplete(VARIANT v);
11994
11995     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
11996     VARIANT ondatasetcomplete();
11997
11998     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
11999     void onfilterchange(VARIANT v);
12000
12001     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
12002     VARIANT onfilterchange();
12003
12004     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
12005     IDispatch *children();
12006
12007     [propget, id(DISPID_IHTMLELEMENT_ALL)]
12008     IDispatch *all();
12009
12010     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
12011     BSTR scopeName();
12012
12013     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
12014     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
12015
12016     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
12017     void releaseCapture();
12018
12019     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
12020     void onlosecapture(VARIANT v);
12021
12022     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
12023     VARIANT onlosecapture();
12024
12025     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
12026     BSTR componentFromPoint(
12027             [in] long x,
12028             [in] long y);
12029
12030     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
12031     void doScroll([in, optional] VARIANT component);
12032
12033     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
12034     void onscroll(VARIANT v);
12035
12036     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
12037     VARIANT onscroll();
12038
12039     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
12040     void ondrag(VARIANT v);
12041
12042     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
12043     VARIANT ondrag();
12044
12045     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
12046     void ondragend(VARIANT v);
12047
12048     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
12049     VARIANT ondragend();
12050
12051     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
12052     void ondragenter(VARIANT v);
12053
12054     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
12055     VARIANT ondragenter();
12056
12057     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
12058     void ondragover(VARIANT v);
12059
12060     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
12061     VARIANT ondragover();
12062
12063     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
12064     void ondragleave(VARIANT v);
12065
12066     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
12067     VARIANT ondragleave();
12068
12069     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
12070     void ondrop(VARIANT v);
12071
12072     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
12073     VARIANT ondrop();
12074
12075     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
12076     void onbeforecut(VARIANT v);
12077
12078     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
12079     VARIANT onbeforecut();
12080
12081     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
12082     void oncut(VARIANT v);
12083
12084     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
12085     VARIANT oncut();
12086
12087     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
12088     void onbeforecopy(VARIANT v);
12089
12090     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
12091     VARIANT onbeforecopy();
12092
12093     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
12094     void oncopy(VARIANT v);
12095
12096     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
12097     VARIANT oncopy();
12098
12099     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
12100     void onbeforepaste(VARIANT v);
12101
12102     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
12103     VARIANT onbeforepaste();
12104
12105     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
12106     void onpaste(VARIANT v);
12107
12108     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
12109     VARIANT onpaste();
12110
12111     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
12112     IHTMLCurrentStyle *currentStyle();
12113
12114     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
12115     void onpropertychange(VARIANT v);
12116
12117     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
12118     VARIANT onpropertychange();
12119
12120     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
12121     IHTMLRectCollection *getClientRects();
12122
12123     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
12124     IHTMLRect *getBoundingClientRect();
12125
12126     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
12127     void setExpression(
12128             [in] BSTR propname,
12129             [in] BSTR expression,
12130             [in, defaultvalue("")] BSTR language);
12131
12132     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
12133     VARIANT getExpression([in] BSTR propname);
12134
12135     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
12136     VARIANT_BOOL removeExpression([in] BSTR propname);
12137
12138     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
12139     void tabIndex(short v);
12140
12141     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
12142     short tabIndex();
12143
12144     [id(DISPID_IHTMLELEMENT2_FOCUS)]
12145     void focus();
12146
12147     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
12148     void accessKey(BSTR v);
12149
12150     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
12151     BSTR accessKey();
12152
12153     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
12154     void onblur(VARIANT v);
12155
12156     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
12157     VARIANT onblur();
12158
12159     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
12160     void onfocus(VARIANT v);
12161
12162     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
12163     VARIANT onfocus();
12164
12165     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
12166     void onresize(VARIANT v);
12167
12168     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
12169     VARIANT onresize();
12170
12171     [id(DISPID_IHTMLELEMENT2_BLUR)]
12172     void blur();
12173
12174     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
12175     void addFilter([in] IUnknown *pUnk);
12176
12177     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
12178     void removeFilter([in] IUnknown *pUnk);
12179
12180     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
12181     long clientHeight();
12182
12183     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
12184     long clientWidth();
12185
12186     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
12187     long clientTop();
12188
12189     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
12190     long clientLeft();
12191
12192     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
12193     VARIANT_BOOL attachEvent(
12194             [in] BSTR event,
12195             [in] IDispatch *pDisp);
12196
12197     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
12198     void detachEvent(
12199             [in] BSTR event,
12200             [in] IDispatch *pDisp);
12201
12202     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
12203     VARIANT readyState();
12204
12205     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
12206     void onreadystatechange(VARIANT v);
12207
12208     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
12209     VARIANT onreadystatechange();
12210
12211     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
12212     void onrowsdelete(VARIANT v);
12213
12214     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
12215     VARIANT onrowsdelete();
12216
12217     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
12218     void onrowsinserted(VARIANT v);
12219
12220     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
12221      VARIANT onrowsinserted();
12222
12223     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
12224      void oncellchange(VARIANT v);
12225
12226     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
12227     VARIANT oncellchange();
12228
12229     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
12230     void dir(BSTR v);
12231
12232     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
12233     BSTR dir();
12234
12235     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
12236     IDispatch *createControlRange();
12237
12238     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
12239     long scrollHeight();
12240
12241     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
12242     long scrollWidth();
12243
12244     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
12245     void scrollTop(long v);
12246
12247     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
12248     long scrollTop();
12249
12250     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
12251     void scrollLeft(long v);
12252
12253     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
12254     long scrollLeft();
12255
12256     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
12257     void clearAttributes();
12258
12259     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
12260     void oncontextmenu(VARIANT v);
12261
12262     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
12263     VARIANT oncontextmenu();
12264
12265     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
12266     IHTMLElement *insertAdjacentElement(
12267             [in] BSTR where,
12268             [in] IHTMLElement *insertedElement);
12269
12270     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
12271     IHTMLElement *applyElement(
12272             [in] IHTMLElement *apply,
12273             [in] BSTR where);
12274
12275     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
12276     BSTR getAdjacentText([in] BSTR where);
12277
12278     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
12279     BSTR replaceAdjacentText(
12280             [in] BSTR where,
12281             [in] BSTR newText);
12282
12283     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
12284     VARIANT_BOOL canHaveChildren();
12285
12286     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
12287     long addBehavior(
12288             [in] BSTR bstrUrl,
12289             [in, optional] VARIANT *pvarFactory);
12290
12291     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
12292     VARIANT_BOOL removeBehavior([in] long cookie);
12293
12294     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
12295     IHTMLStyle *runtimeStyle();
12296
12297     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
12298     IDispatch *behaviorUrns();
12299
12300     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
12301     void tagUrn(BSTR v);
12302
12303     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
12304     BSTR tagUrn();
12305
12306     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
12307     void onbeforeeditfocus(VARIANT v);
12308
12309     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
12310     VARIANT onbeforeeditfocus();
12311
12312     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
12313     long readyStateValue();
12314
12315     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
12316     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
12317
12318     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
12319     void mergeAttributes(
12320             [in] IHTMLElement *mergeThis,
12321             [in, optional] VARIANT *pvarFlags);
12322
12323     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
12324     VARIANT_BOOL isMultiLine();
12325
12326     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
12327     VARIANT_BOOL canHaveHTML();
12328
12329     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
12330     void onlayoutcomplete(VARIANT v);
12331
12332     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
12333     VARIANT onlayoutcomplete();
12334
12335     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
12336     void onpage(VARIANT v);
12337
12338     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
12339     VARIANT onpage();
12340
12341     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
12342     void inflateBlock(VARIANT_BOOL v);
12343
12344     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
12345     VARIANT_BOOL inflateBlock();
12346
12347     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
12348     void onbeforedeactivate(VARIANT v);
12349
12350     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
12351     VARIANT onbeforedeactivate();
12352
12353     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
12354     void setActive();
12355
12356     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
12357     void contentEditable(BSTR v);
12358
12359     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
12360     BSTR contentEditable();
12361
12362     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
12363     VARIANT_BOOL isContentEditable();
12364
12365     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
12366     void hideFocus(VARIANT_BOOL v);
12367
12368     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
12369     VARIANT_BOOL hideFocus();
12370
12371     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
12372     void disabled(VARIANT_BOOL v);
12373
12374     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
12375     VARIANT_BOOL disabled();
12376
12377     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
12378     VARIANT_BOOL isDisabled();
12379
12380     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
12381     void onmove(VARIANT v);
12382
12383     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
12384     VARIANT onmove();
12385
12386     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
12387     void oncontrolselect(VARIANT v);
12388
12389     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
12390     VARIANT oncontrolselect();
12391
12392     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
12393     VARIANT_BOOL fireEvent(
12394             [in] BSTR bstrEventName,
12395             [in, optional] VARIANT *pvarEventObject);
12396
12397     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
12398     void onresizestart(VARIANT v);
12399
12400     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
12401     VARIANT onresizestart();
12402
12403     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
12404     void onresizeend(VARIANT v);
12405
12406     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
12407     VARIANT onresizeend();
12408
12409     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
12410     void onmovestart(VARIANT v);
12411
12412     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
12413     VARIANT onmovestart();
12414
12415     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
12416     void onmoveend(VARIANT v);
12417
12418     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
12419     VARIANT onmoveend();
12420
12421     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
12422     void onmouseenter(VARIANT v);
12423
12424     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
12425     VARIANT onmouseenter();
12426
12427     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
12428     void onmouseleave(VARIANT v);
12429
12430     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
12431     VARIANT onmouseleave();
12432
12433     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
12434     void onactivate(VARIANT v);
12435
12436     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
12437     VARIANT onactivate();
12438
12439     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
12440     void ondeactivate(VARIANT v);
12441
12442     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
12443     VARIANT ondeactivate();
12444
12445     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
12446     VARIANT_BOOL dragDrop();
12447
12448     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
12449     LONG glyphMode();
12450
12451     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
12452     void onmousewheel(VARIANT v);
12453
12454     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
12455     VARIANT onmousewheel();
12456
12457     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
12458     void normalize();
12459
12460     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
12461     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
12462
12463     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
12464     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
12465
12466     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
12467     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
12468
12469     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
12470     void onbeforeactivate(VARIANT v);
12471
12472     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
12473     VARIANT onbeforeactivate();
12474
12475     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
12476     void onfocusin(VARIANT v);
12477
12478     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
12479     VARIANT onfocusin();
12480
12481     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
12482     void onfocusout(VARIANT v);
12483
12484     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
12485     VARIANT onfocusout();
12486
12487     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
12488     long uniqueNumber();
12489
12490     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
12491     BSTR uniqueID();
12492
12493     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
12494     long nodeType();
12495
12496     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
12497     IHTMLDOMNode *parentNode();
12498
12499     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
12500     VARIANT_BOOL hasChildNodes();
12501
12502     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
12503     IDispatch *childNodes();
12504
12505     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
12506     IDispatch *attributes();
12507
12508     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
12509     IHTMLDOMNode *insertBefore(
12510             [in] IHTMLDOMNode *newChild,
12511             [in, optional] VARIANT refChild);
12512
12513     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
12514     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
12515
12516     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
12517     IHTMLDOMNode *replaceChild(
12518             [in] IHTMLDOMNode *newChild,
12519             [in] IHTMLDOMNode *oldChild);
12520
12521     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
12522     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
12523
12524     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
12525     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
12526
12527     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
12528     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
12529
12530     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
12531     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
12532
12533     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
12534     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
12535
12536     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
12537     BSTR nodeName();
12538
12539     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
12540     void nodeValue(VARIANT v);
12541
12542     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
12543     VARIANT nodeValue();
12544
12545     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
12546     IHTMLDOMNode *firstChild();
12547
12548     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
12549     IHTMLDOMNode *lastChild();
12550
12551     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
12552     IHTMLDOMNode *previousSibling();
12553
12554     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
12555     IHTMLDOMNode *nextSibling();
12556
12557     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
12558     IDispatch *ownerDocument();
12559 }
12560
12561 /*****************************************************************************
12562  *    IOmHistory interface
12563  */
12564 [
12565     odl,
12566     oleautomation,
12567     dual,
12568     uuid(FECEAAA2-8405-11CF-8BA1-00AA00476DA6)
12569 ]
12570 interface IOmHistory : IDispatch
12571 {
12572     [propget, id(DISPID_IOMHISTORY_LENGTH)]
12573     HRESULT length([retval, out] short *p);
12574
12575     [id(DISPID_IOMHISTORY_BACK)]
12576     HRESULT back([optional, in] VARIANT *pvargdistance);
12577
12578     [id(DISPID_IOMHISTORY_FORWARD)]
12579     HRESULT forward([optional, in] VARIANT *pvargdistance);
12580
12581     [id(DISPID_IOMHISTORY_GO)]
12582     HRESULT go([optional, in] VARIANT *pvargdistance);
12583 }
12584
12585 /*****************************************************************************
12586  *    IHTMLMimeTypesCollection interface
12587  */
12588 [
12589     odl,
12590     oleautomation,
12591     dual,
12592     uuid(3050F3FC-98B5-11CF-BB82-00AA00BDCE0B)
12593 ]
12594 interface IHTMLMimeTypesCollection : IDispatch
12595 {
12596     [propget, id(DISPID_IHTMLMIMETYPESCOLLECTION_LENGTH)]
12597     HRESULT length([retval, out] long *p);
12598 }
12599
12600 /*****************************************************************************
12601  *    IHTMLPluginsCollection interface
12602  */
12603 [
12604     odl,
12605     oleautomation,
12606     dual,
12607     uuid(3050F3FD-98B5-11CF-BB82-00AA00BDCE0B)
12608 ]
12609 interface IHTMLPluginsCollection : IDispatch
12610 {
12611     [propget, id(DISPID_IHTMLPLUGINSCOLLECTION_LENGTH)]
12612     HRESULT length([retval, out] long *p);
12613
12614     [id(DISPID_IHTMLPLUGINSCOLLECTION_REFRESH)]
12615     HRESULT refresh([defaultvalue(0), in] VARIANT_BOOL reload);
12616 }
12617
12618 /*****************************************************************************
12619  *    IHTMLOpsProfile interface
12620  */
12621 [
12622     odl,
12623     oleautomation,
12624     dual,
12625     uuid(3050F401-98B5-11CF-BB82-00AA00BDCE0B)
12626 ]
12627 interface IHTMLOpsProfile : IDispatch
12628 {
12629     [id(DISPID_IHTMLOPSPROFILE_ADDREQUEST)]
12630     HRESULT addRequest(
12631         [in] BSTR name,
12632         [optional, in] VARIANT reserved,
12633         [retval, out] VARIANT_BOOL *success);
12634
12635     [id(DISPID_IHTMLOPSPROFILE_CLEARREQUEST)]
12636     HRESULT clearRequest();
12637
12638     [id(DISPID_IHTMLOPSPROFILE_DOREQUEST)]
12639     HRESULT doRequest(
12640         [in] VARIANT usage,
12641         [optional, in] VARIANT fname,
12642         [optional, in] VARIANT domain,
12643         [optional, in] VARIANT path,
12644         [optional, in] VARIANT expire,
12645         [optional, in] VARIANT reserved);
12646
12647     [id(DISPID_IHTMLOPSPROFILE_GETATTRIBUTE)]
12648     HRESULT getAttribute(
12649         [in] BSTR name,
12650         [retval, out] BSTR *value);
12651
12652     [id(DISPID_IHTMLOPSPROFILE_SETATTRIBUTE)]
12653     HRESULT setAttribute(
12654         [in] BSTR name,
12655         [in] BSTR value,
12656         [optional, in] VARIANT prefs,
12657         [retval, out] VARIANT_BOOL *success);
12658
12659     [id(DISPID_IHTMLOPSPROFILE_COMMITCHANGES)]
12660     HRESULT commitChanges([retval, out] VARIANT_BOOL *success);
12661
12662     [id(DISPID_IHTMLOPSPROFILE_ADDREADREQUEST)]
12663     HRESULT addReadRequest(
12664         [in] BSTR name,
12665         [optional, in] VARIANT reserved,
12666         [retval, out] VARIANT_BOOL *success);
12667
12668     [id(DISPID_IHTMLOPSPROFILE_DOREADREQUEST)]
12669     HRESULT doReadRequest(
12670         [in] VARIANT usage,
12671         [optional, in] VARIANT fname,
12672         [optional, in] VARIANT domain,
12673         [optional, in] VARIANT path,
12674         [optional, in] VARIANT expire,
12675         [optional, in] VARIANT reserved);
12676
12677     [id(DISPID_IHTMLOPSPROFILE_DOWRITEREQUEST)]
12678     HRESULT doWriteRequest([retval, out] VARIANT_BOOL *success);
12679 }
12680
12681 /*****************************************************************************
12682  *    IOmNavigator interface
12683  */
12684 [
12685         odl,
12686         oleautomation,
12687         dual,
12688         uuid(FECEAAA5-8405-11CF-8BA1-00AA00476DA6)
12689 ]
12690 interface IOmNavigator : IDispatch
12691 {
12692     [propget, id(DISPID_IOMNAVIGATOR_APPCODENAME)]
12693     HRESULT appCodeName([retval, out] BSTR *p);
12694
12695     [propget, id(DISPID_IOMNAVIGATOR_APPNAME)]
12696     HRESULT appName([retval, out] BSTR *p);
12697
12698     [propget, id(DISPID_IOMNAVIGATOR_APPVERSION)]
12699     HRESULT appVersion([retval, out] BSTR *p);
12700
12701     [propget, id(DISPID_IOMNAVIGATOR_USERAGENT)]
12702     HRESULT userAgent([retval, out] BSTR *p);
12703
12704     [id(DISPID_IOMNAVIGATOR_JAVAENABLED)]
12705     HRESULT javaEnabled([retval, out] VARIANT_BOOL *enabled);
12706
12707     [id(DISPID_IOMNAVIGATOR_TAINTENABLED)]
12708     HRESULT taintEnabled([retval, out] VARIANT_BOOL *enabled);
12709
12710     [propget, id(DISPID_IOMNAVIGATOR_MIMETYPES)]
12711     HRESULT mimeTypes([retval, out] IHTMLMimeTypesCollection **p);
12712
12713     [propget, id(DISPID_IOMNAVIGATOR_PLUGINS)]
12714     HRESULT plugins([retval, out] IHTMLPluginsCollection **p);
12715
12716     [propget, id(DISPID_IOMNAVIGATOR_COOKIEENABLED)]
12717     HRESULT cookieEnabled([retval, out] VARIANT_BOOL *p);
12718
12719     [propget, id(DISPID_IOMNAVIGATOR_OPSPROFILE)]
12720     HRESULT opsProfile([retval, out] IHTMLOpsProfile **p);
12721
12722     [id(DISPID_IOMNAVIGATOR_TOSTRING)]
12723     HRESULT toString([retval, out] BSTR *String);
12724
12725     [propget, id(DISPID_IOMNAVIGATOR_CPUCLASS)]
12726     HRESULT cpuClass([retval, out] BSTR *p);
12727
12728     [propget, id(DISPID_IOMNAVIGATOR_SYSTEMLANGUAGE)]
12729     HRESULT systemLanguage([retval, out] BSTR *p);
12730
12731     [propget, id(DISPID_IOMNAVIGATOR_BROWSERLANGUAGE)]
12732     HRESULT browserLanguage([retval, out] BSTR *p);
12733
12734     [propget, id(DISPID_IOMNAVIGATOR_USERLANGUAGE)]
12735     HRESULT userLanguage([retval, out] BSTR *p);
12736
12737     [propget, id(DISPID_IOMNAVIGATOR_PLATFORM)]
12738     HRESULT platform([retval, out] BSTR *p);
12739
12740     [propget, id(DISPID_IOMNAVIGATOR_APPMINORVERSION)]
12741     HRESULT appMinorVersion([retval, out] BSTR *p);
12742
12743     [propget, id(DISPID_IOMNAVIGATOR_CONNECTIONSPEED)]
12744     HRESULT connectionSpeed([retval, out] long *p);
12745
12746     [propget, id(DISPID_IOMNAVIGATOR_ONLINE)]
12747     HRESULT onLine([retval, out] VARIANT_BOOL *p);
12748
12749     [propget, id(DISPID_IOMNAVIGATOR_USERPROFILE)]
12750     HRESULT userProfile([retval, out] IHTMLOpsProfile **p);
12751 }
12752
12753 /*****************************************************************************
12754  *    IHTMLLocation interface
12755  */
12756 [
12757     odl,
12758     oleautomation,
12759     dual,
12760     uuid(163BB1E0-6E00-11cf-837A-48DC04C10000)
12761 ]
12762 interface IHTMLLocation : IDispatch
12763 {
12764     [propput, id(DISPID_IHTMLLOCATION_HREF)]
12765     HRESULT href([in] BSTR v);
12766
12767     [propget, id(DISPID_IHTMLLOCATION_HREF)]
12768     HRESULT href([retval, out] BSTR *p);
12769
12770     [propput, id(DISPID_IHTMLLOCATION_PROTOCOL)]
12771     HRESULT protocol([in] BSTR v);
12772
12773     [propget, id(DISPID_IHTMLLOCATION_PROTOCOL)]
12774     HRESULT protocol([retval, out] BSTR *p);
12775
12776     [propput, id(DISPID_IHTMLLOCATION_HOST)]
12777     HRESULT host([in] BSTR v);
12778
12779     [propget, id(DISPID_IHTMLLOCATION_HOST)]
12780     HRESULT host([retval, out] BSTR *p);
12781
12782     [propput, id(DISPID_IHTMLLOCATION_HOSTNAME)]
12783     HRESULT hostname([in] BSTR v);
12784
12785     [propget, id(DISPID_IHTMLLOCATION_HOSTNAME)]
12786     HRESULT hostname([retval, out] BSTR *p);
12787
12788     [propput, id(DISPID_IHTMLLOCATION_PORT)]
12789     HRESULT port([in] BSTR v);
12790
12791     [propget, id(DISPID_IHTMLLOCATION_PORT)]
12792     HRESULT port([retval, out] BSTR *p);
12793
12794     [propput, id(DISPID_IHTMLLOCATION_PATHNAME)]
12795     HRESULT pathname([in] BSTR v);
12796
12797     [propget, id(DISPID_IHTMLLOCATION_PATHNAME)]
12798     HRESULT pathname([retval, out] BSTR *p);
12799
12800     [propput, id(DISPID_IHTMLLOCATION_SEARCH)]
12801     HRESULT search([in] BSTR v);
12802
12803     [propget, id(DISPID_IHTMLLOCATION_SEARCH)]
12804     HRESULT search([retval, out] BSTR *p);
12805
12806     [propput, id(DISPID_IHTMLLOCATION_HASH)]
12807     HRESULT hash([in] BSTR v);
12808
12809     [propget, id(DISPID_IHTMLLOCATION_HASH)]
12810     HRESULT hash([retval, out] BSTR *p);
12811
12812     [id(DISPID_IHTMLLOCATION_RELOAD)]
12813     HRESULT reload([defaultvalue(0), in] VARIANT_BOOL flag);
12814
12815     [id(DISPID_IHTMLLOCATION_REPLACE)]
12816     HRESULT replace([in] BSTR bstr);
12817
12818     [id(DISPID_IHTMLLOCATION_ASSIGN)]
12819     HRESULT assign([in] BSTR bstr);
12820
12821     [id(DISPID_IHTMLLOCATION_TOSTRING)]
12822     HRESULT toString([retval, out] BSTR *String);
12823 }
12824
12825 [
12826     odl,
12827     oleautomation,
12828     dual,
12829     uuid(3050f4ce-98b5-11cf-bb82-00aa00bdce0b)
12830 ]
12831 interface IHTMLBookmarkCollection : IDispatch
12832 {
12833     [propget, id(DISPID_IHTMLBOOKMARKCOLLECTION_LENGTH), hidden]
12834     HRESULT length([out, retval] long *p);
12835
12836     [propget, id(DISPID_IHTMLBOOKMARKCOLLECTION__NEWENUM), hidden, restricted]
12837     HRESULT _newEnum([out, retval] IUnknown **p);
12838
12839     [id(DISPID_IHTMLBOOKMARKCOLLECTION_ITEM)]
12840     HRESULT item(
12841             [in] long index,
12842             [out, retval] VARIANT *pVarBookmark);
12843 }
12844
12845 /*****************************************************************************
12846  *    IHTMLDataTransfer interface
12847  */
12848 [
12849     odl,
12850     oleautomation,
12851     dual,
12852     uuid(3050f4b3-98b5-11cf-bb82-00aa00bdce0b)
12853 ]
12854 interface IHTMLDataTransfer : IDispatch
12855 {
12856     [id(DISPID_IHTMLDATATRANSFER_SETDATA)]
12857     HRESULT setData(
12858             [in] BSTR format,
12859             [in] VARIANT *data,
12860             [out, retval] VARIANT_BOOL *pret);
12861
12862     [id(DISPID_IHTMLDATATRANSFER_GETDATA)]
12863     HRESULT getData(
12864             [in] BSTR format,
12865             [out, retval] VARIANT *pvarRet);
12866
12867     [id(DISPID_IHTMLDATATRANSFER_CLEARDATA)]
12868     HRESULT clearData(
12869             [in] BSTR format,
12870             [out, retval] VARIANT_BOOL *pret);
12871
12872     [propput, id(DISPID_IHTMLDATATRANSFER_DROPEFFECT)]
12873     HRESULT dropEffect([in] BSTR v);
12874
12875     [propget, id(DISPID_IHTMLDATATRANSFER_DROPEFFECT)]
12876     HRESULT dropEffect([out, retval] BSTR *p);
12877
12878     [propput, id(DISPID_IHTMLDATATRANSFER_EFFECTALLOWED)]
12879     HRESULT effectAllowed([in] BSTR v);
12880
12881     [propget, id(DISPID_IHTMLDATATRANSFER_EFFECTALLOWED)]
12882     HRESULT effectAllowed([out, retval] BSTR *p);
12883 }
12884
12885 /*****************************************************************************
12886  *    IHTMLEventObj interface
12887  */
12888 [
12889     odl,
12890     oleautomation,
12891     dual,
12892     uuid(3050F32D-98B5-11CF-BB82-00AA00BDCE0B)
12893 ]
12894 interface IHTMLEventObj : IDispatch
12895 {
12896     [propget, id(DISPID_IHTMLEVENTOBJ_SRCELEMENT)]
12897     HRESULT srcElement([retval, out] IHTMLElement **p);
12898
12899     [propget, id(DISPID_IHTMLEVENTOBJ_ALTKEY)]
12900     HRESULT altKey([retval, out] VARIANT_BOOL *p);
12901
12902     [propget, id(DISPID_IHTMLEVENTOBJ_CTRLKEY)]
12903     HRESULT ctrlKey([retval, out] VARIANT_BOOL *p);
12904
12905     [propget, id(DISPID_IHTMLEVENTOBJ_SHIFTKEY)]
12906     HRESULT shiftKey([retval, out] VARIANT_BOOL *p);
12907
12908     [propput, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
12909     HRESULT returnValue([in] VARIANT v);
12910
12911     [propget, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
12912     HRESULT returnValue([retval, out] VARIANT *p);
12913
12914     [propput, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
12915     HRESULT cancelBubble([in] VARIANT_BOOL v);
12916
12917     [propget, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
12918     HRESULT cancelBubble([retval, out] VARIANT_BOOL *p);
12919
12920     [propget, id(DISPID_IHTMLEVENTOBJ_FROMELEMENT)]
12921     HRESULT fromElement([retval, out] IHTMLElement **p);
12922
12923     [propget, id(DISPID_IHTMLEVENTOBJ_TOELEMENT)]
12924     HRESULT toElement([retval, out] IHTMLElement **p);
12925
12926     [propput, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
12927     HRESULT keyCode([in] long v);
12928
12929     [propget, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
12930     HRESULT keyCode([retval, out] long *p);
12931
12932     [propget, id(DISPID_IHTMLEVENTOBJ_BUTTON)]
12933     HRESULT button([retval, out] long *p);
12934
12935     [propget, id(DISPID_IHTMLEVENTOBJ_TYPE)]
12936     HRESULT type([retval, out] BSTR *p);
12937
12938     [propget, id(DISPID_IHTMLEVENTOBJ_QUALIFIER)]
12939     HRESULT qualifier([retval, out] BSTR *p);
12940
12941     [propget, id(DISPID_IHTMLEVENTOBJ_REASON)]
12942     HRESULT reason([retval, out] long *p);
12943
12944     [propget, id(DISPID_IHTMLEVENTOBJ_X)]
12945     HRESULT x([retval, out] long *p);
12946
12947     [propget, id(DISPID_IHTMLEVENTOBJ_Y)]
12948     HRESULT y([retval, out] long *p);
12949
12950     [propget, id(DISPID_IHTMLEVENTOBJ_CLIENTX)]
12951     HRESULT clientX([retval, out] long *p);
12952
12953     [propget, id(DISPID_IHTMLEVENTOBJ_CLIENTY)]
12954     HRESULT clientY([retval, out] long *p);
12955
12956     [propget, id(DISPID_IHTMLEVENTOBJ_OFFSETX)]
12957     HRESULT offsetX([retval, out] long *p);
12958
12959     [propget, id(DISPID_IHTMLEVENTOBJ_OFFSETY)]
12960     HRESULT offsetY([retval, out] long *p);
12961
12962     [propget, id(DISPID_IHTMLEVENTOBJ_SCREENX)]
12963     HRESULT screenX([retval, out] long *p);
12964
12965     [propget, id(DISPID_IHTMLEVENTOBJ_SCREENY)]
12966     HRESULT screenY([retval, out] long *p);
12967
12968     [propget, id(DISPID_IHTMLEVENTOBJ_SRCFILTER)]
12969     HRESULT srcFilter([retval, out] IDispatch **p);
12970 }
12971
12972 /*****************************************************************************
12973  *    DispCEventObj dispinterface
12974  */
12975 [
12976     hidden,
12977     uuid(3050f558-98b5-11cf-bb82-00aa00bdce0b)
12978 ]
12979 dispinterface DispCEventObj
12980 {
12981 properties:
12982 methods:
12983     [propput, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
12984     void returnValue(VARIANT v);
12985
12986     [propget, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
12987     VARIANT returnValue();
12988
12989     [propput, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
12990     void cancelBubble(VARIANT_BOOL v);
12991
12992     [propget, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
12993     VARIANT_BOOL cancelBubble();
12994
12995     [propput, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
12996     void keyCode(long v);
12997
12998     [propget, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
12999     long keyCode();
13000
13001     [id(DISPID_IHTMLEVENTOBJ2_SETATTRIBUTE)]
13002     void setAttribute(
13003             [in] BSTR strAttributeName,
13004             [in] VARIANT AttributeValue,
13005             [in, defaultvalue(1)] LONG lFlags);
13006
13007     [id(DISPID_IHTMLEVENTOBJ2_GETATTRIBUTE)]
13008     VARIANT getAttribute(
13009             [in] BSTR strAttributeName,
13010             [in, defaultvalue(0)] LONG lFlags);
13011
13012     [id(DISPID_IHTMLEVENTOBJ2_REMOVEATTRIBUTE)]
13013     VARIANT_BOOL removeAttribute(
13014             [in] BSTR strAttributeName,
13015             [in, defaultvalue(1)] LONG lFlags);
13016
13017     [propput, id(DISPID_IHTMLEVENTOBJ2_PROPERTYNAME)]
13018     void propertyName(BSTR v);
13019
13020     [propget, id(DISPID_IHTMLEVENTOBJ2_PROPERTYNAME)]
13021     BSTR propertyName();
13022
13023     [propputref, id(DISPID_IHTMLEVENTOBJ2_BOOKMARKS)]
13024     void bookmarks(IHTMLBookmarkCollection *v);
13025
13026     [propget, id(DISPID_IHTMLEVENTOBJ2_BOOKMARKS)]
13027     IHTMLBookmarkCollection *bookmarks();
13028
13029     [propputref, id(DISPID_IHTMLEVENTOBJ2_RECORDSET)]
13030     void recordset(IDispatch *v);
13031
13032     [propget, id(DISPID_IHTMLEVENTOBJ2_RECORDSET)]
13033     IDispatch *recordset();
13034
13035     [propput, id(DISPID_IHTMLEVENTOBJ2_DATAFLD)]
13036     void dataFld(BSTR v);
13037
13038     [propget, id(DISPID_IHTMLEVENTOBJ2_DATAFLD)]
13039     BSTR dataFld();
13040
13041     [propputref, id(DISPID_IHTMLEVENTOBJ2_BOUNDELEMENTS)]
13042     void boundElements(IHTMLElementCollection *v);
13043
13044     [propget, id(DISPID_IHTMLEVENTOBJ2_BOUNDELEMENTS)]
13045     IHTMLElementCollection *boundElements();
13046
13047     [propput, id(DISPID_IHTMLEVENTOBJ2_REPEAT)]
13048     void repeat(VARIANT_BOOL v);
13049
13050     [propget, id(DISPID_IHTMLEVENTOBJ2_REPEAT)]
13051     VARIANT_BOOL repeat();
13052
13053     [propput, id(DISPID_IHTMLEVENTOBJ2_SRCURN)]
13054     void srcUrn(BSTR v);
13055
13056     [propget, id(DISPID_IHTMLEVENTOBJ2_SRCURN)]
13057     BSTR srcUrn();
13058
13059     [propputref, id(DISPID_IHTMLEVENTOBJ2_SRCELEMENT)]
13060     void srcElement(IHTMLElement *v);
13061
13062     [propget, id(DISPID_IHTMLEVENTOBJ2_SRCELEMENT)]
13063     IHTMLElement *srcElement();
13064
13065     [propput, id(DISPID_IHTMLEVENTOBJ2_ALTKEY)]
13066     void altKey(VARIANT_BOOL v);
13067
13068     [propget, id(DISPID_IHTMLEVENTOBJ2_ALTKEY)]
13069     VARIANT_BOOL altKey();
13070
13071     [propput, id(DISPID_IHTMLEVENTOBJ2_CTRLKEY)]
13072     void ctrlKey(VARIANT_BOOL v);
13073
13074     [propget, id(DISPID_IHTMLEVENTOBJ2_CTRLKEY)]
13075     VARIANT_BOOL ctrlKey();
13076
13077     [propput, id(DISPID_IHTMLEVENTOBJ2_SHIFTKEY)]
13078     void shiftKey(VARIANT_BOOL v);
13079
13080     [propget, id(DISPID_IHTMLEVENTOBJ2_SHIFTKEY)]
13081     VARIANT_BOOL shiftKey();
13082
13083     [propputref, id(DISPID_IHTMLEVENTOBJ2_FROMELEMENT)]
13084     void fromElement(IHTMLElement *v);
13085
13086     [propget, id(DISPID_IHTMLEVENTOBJ2_FROMELEMENT)]
13087     IHTMLElement *fromElement();
13088
13089     [propputref, id(DISPID_IHTMLEVENTOBJ2_TOELEMENT)]
13090     void toElement(IHTMLElement *v);
13091
13092     [propget, id(DISPID_IHTMLEVENTOBJ2_TOELEMENT)]
13093     IHTMLElement *toElement();
13094
13095     [propput, id(DISPID_IHTMLEVENTOBJ2_BUTTON)]
13096     void button(long v);
13097
13098     [propget, id(DISPID_IHTMLEVENTOBJ2_BUTTON)]
13099     long button();
13100
13101     [propput, id(DISPID_IHTMLEVENTOBJ2_TYPE)]
13102     void type(BSTR v);
13103
13104     [propget, id(DISPID_IHTMLEVENTOBJ2_TYPE)]
13105     BSTR type();
13106
13107     [propput, id(DISPID_IHTMLEVENTOBJ2_QUALIFIER)]
13108     void qualifier(BSTR v);
13109
13110     [propget, id(DISPID_IHTMLEVENTOBJ2_QUALIFIER)]
13111     BSTR qualifier();
13112
13113     [propput, id(DISPID_IHTMLEVENTOBJ2_REASON)]
13114     void reason(long v);
13115
13116     [propget, id(DISPID_IHTMLEVENTOBJ2_REASON)]
13117     long reason();
13118
13119     [propput, id(DISPID_IHTMLEVENTOBJ2_X)]
13120     void x(long v);
13121
13122     [propget, id(DISPID_IHTMLEVENTOBJ2_X)]
13123     long x();
13124
13125     [propput, id(DISPID_IHTMLEVENTOBJ2_Y)]
13126     void y(long v);
13127
13128     [propget, id(DISPID_IHTMLEVENTOBJ2_Y)]
13129     long y();
13130
13131     [propput, id(DISPID_IHTMLEVENTOBJ2_CLIENTX)]
13132     void clientX(long v);
13133
13134     [propget, id(DISPID_IHTMLEVENTOBJ2_CLIENTX)]
13135     long clientX();
13136
13137     [propput, id(DISPID_IHTMLEVENTOBJ2_CLIENTY)]
13138     void clientY(long v);
13139
13140     [propget, id(DISPID_IHTMLEVENTOBJ2_CLIENTY)]
13141     long clientY();
13142     [propput, id(DISPID_IHTMLEVENTOBJ2_OFFSETX)]
13143     void offsetX(long v);
13144
13145     [propget, id(DISPID_IHTMLEVENTOBJ2_OFFSETX)]
13146     long offsetX();
13147
13148     [propput, id(DISPID_IHTMLEVENTOBJ2_OFFSETY)]
13149     void offsetY(long v);
13150
13151     [propget, id(DISPID_IHTMLEVENTOBJ2_OFFSETY)]
13152     long offsetY();
13153
13154     [propput, id(DISPID_IHTMLEVENTOBJ2_SCREENX)]
13155     void screenX(long v);
13156
13157     [propget, id(DISPID_IHTMLEVENTOBJ2_SCREENX)]
13158     long screenX();
13159
13160     [propput, id(DISPID_IHTMLEVENTOBJ2_SCREENY)]
13161     void screenY(long v);
13162
13163     [propget, id(DISPID_IHTMLEVENTOBJ2_SCREENY)]
13164     long screenY();
13165
13166     [propputref, id(DISPID_IHTMLEVENTOBJ2_SRCFILTER)]
13167     void srcFilter(IDispatch *v);
13168
13169     [propget, id(DISPID_IHTMLEVENTOBJ2_SRCFILTER)]
13170     IDispatch *srcFilter();
13171
13172     [propget, id(DISPID_IHTMLEVENTOBJ2_DATATRANSFER)]
13173     IHTMLDataTransfer *dataTransfer();
13174
13175     [propget, id(DISPID_IHTMLEVENTOBJ3_CONTENTOVERFLOW)]
13176     VARIANT_BOOL contentOverflow();
13177
13178     [propput, id(DISPID_IHTMLEVENTOBJ3_SHIFTLEFT)]
13179     void shiftLeft(VARIANT_BOOL v);
13180
13181     [propget, id(DISPID_IHTMLEVENTOBJ3_SHIFTLEFT)]
13182     VARIANT_BOOL shiftLeft();
13183
13184     [propput, id(DISPID_IHTMLEVENTOBJ3_ALTLEFT)]
13185     void altLeft(VARIANT_BOOL v);
13186
13187     [propget, id(DISPID_IHTMLEVENTOBJ3_ALTLEFT)]
13188     VARIANT_BOOL altLeft();
13189
13190     [propput, id(DISPID_IHTMLEVENTOBJ3_CTRLLEFT)]
13191     void ctrlLeft(VARIANT_BOOL v);
13192
13193     [propget, id(DISPID_IHTMLEVENTOBJ3_CTRLLEFT)]
13194     VARIANT_BOOL ctrlLeft();
13195
13196     [propget, id(DISPID_IHTMLEVENTOBJ3_IMECOMPOSITIONCHANGE), hidden, restricted, nonbrowsable]
13197     LONG_PTR imeCompositionChange();
13198
13199     [propget, id(DISPID_IHTMLEVENTOBJ3_IMENOTIFYCOMMAND), hidden, restricted, nonbrowsable]
13200     LONG_PTR imeNotifyCommand();
13201
13202     [propget, id(DISPID_IHTMLEVENTOBJ3_IMENOTIFYDATA), hidden, restricted, nonbrowsable]
13203     LONG_PTR imeNotifyData();
13204
13205     [propget, id(DISPID_IHTMLEVENTOBJ3_IMEREQUEST), hidden, restricted, nonbrowsable]
13206     LONG_PTR imeRequest();
13207
13208     [propget, id(DISPID_IHTMLEVENTOBJ3_IMEREQUESTDATA), hidden, restricted, nonbrowsable]
13209     LONG_PTR imeRequestData();
13210
13211     [propget, id(DISPID_IHTMLEVENTOBJ3_KEYBOARDLAYOUT), hidden, restricted, nonbrowsable]
13212     LONG_PTR keyboardLayout();
13213
13214     [propget, id(DISPID_IHTMLEVENTOBJ3_BEHAVIORCOOKIE)]
13215     long behaviorCookie();
13216
13217     [propget, id(DISPID_IHTMLEVENTOBJ3_BEHAVIORPART)]
13218     long behaviorPart();
13219
13220     [propget, id(DISPID_IHTMLEVENTOBJ3_NEXTPAGE)]
13221     BSTR nextPage();
13222
13223     [propget, id(DISPID_IHTMLEVENTOBJ4_WHEELDELTA)]
13224     long wheelDelta();
13225 }
13226
13227 /*****************************************************************************
13228  *    IHTMLFramesCollection2 interface
13229  */
13230 [
13231     odl,
13232     oleautomation,
13233     dual,
13234     uuid(332C4426-26CB-11D0-B483-00C04FD90119)
13235 ]
13236 interface IHTMLFramesCollection2 : IDispatch
13237 {
13238     [id(DISPID_IHTMLFRAMESCOLLECTION2_ITEM)]
13239     HRESULT item(
13240         [in] VARIANT *pvarIndex,
13241         [retval, out] VARIANT *pvarResult);
13242
13243     [propget, id(DISPID_IHTMLFRAMESCOLLECTION2_LENGTH)]
13244     HRESULT length([retval, out] long *p);
13245 }
13246
13247 /*****************************************************************************
13248  *    IHTMLScreen interface
13249  */
13250 [
13251     odl,
13252     oleautomation,
13253     dual,
13254     uuid(3050f35C-98B5-11CF-BB82-00AA00BDCE0B)
13255 ]
13256 interface IHTMLScreen : IDispatch
13257 {
13258     [propget, id(DISPID_IHTMLSCREEN_COLORDEPTH)]
13259     HRESULT colorDepth([retval, out] long *p);
13260
13261     [propput, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
13262     HRESULT bufferDepth([in] long v);
13263
13264     [propget, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
13265     HRESULT bufferDepth([retval, out] long *p);
13266
13267     [propget, id(DISPID_IHTMLSCREEN_WIDTH)]
13268     HRESULT width([retval, out] long *p);
13269
13270     [propget, id(DISPID_IHTMLSCREEN_HEIGHT)]
13271     HRESULT height([retval, out] long *p);
13272
13273     [propput, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
13274     HRESULT updateInterval([in] long v);
13275
13276     [propget, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
13277     HRESULT updateInterval([retval, out] long *p);
13278
13279     [propget, id(DISPID_IHTMLSCREEN_AVAILHEIGHT)]
13280     HRESULT availHeight([retval, out] long *p);
13281
13282     [propget, id(DISPID_IHTMLSCREEN_AVAILWIDTH)]
13283     HRESULT availWidth([retval, out] long *p);
13284
13285     [propget, id(DISPID_IHTMLSCREEN_FONTSMOOTHINGENABLED)]
13286     HRESULT fontSmoothingEnabled([retval, out] VARIANT_BOOL *p);
13287 }
13288
13289 /*****************************************************************************
13290  *    IHTMLWindow2 interface
13291  */
13292 [
13293     odl,
13294     oleautomation,
13295     dual,
13296     uuid(332C4427-26CB-11D0-B483-00C04FD90119)
13297 ]
13298 interface IHTMLWindow2 : IHTMLFramesCollection2
13299 {
13300     [propget, id(DISPID_IHTMLWINDOW2_FRAMES)]
13301     HRESULT frames([retval, out] IHTMLFramesCollection2 **p);
13302
13303     [propput, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
13304     HRESULT defaultStatus([in] BSTR v);
13305
13306     [propget, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
13307     HRESULT defaultStatus([retval, out] BSTR *p);
13308
13309     [propput, id(DISPID_IHTMLWINDOW2_STATUS)]
13310     HRESULT status([in] BSTR v);
13311
13312     [propget, id(DISPID_IHTMLWINDOW2_STATUS)]
13313     HRESULT status([retval, out] BSTR *p);
13314
13315     [id(DISPID_IHTMLWINDOW2_SETTIMEOUT)]
13316     HRESULT setTimeout(
13317         [in] BSTR expression,
13318         [in] long msec,
13319         [optional, in] VARIANT *language,
13320         [retval, out] long *timerID);
13321
13322     [id(DISPID_IHTMLWINDOW2_CLEARTIMEOUT)]
13323     HRESULT clearTimeout([in] long timerID);
13324
13325     [id(DISPID_IHTMLWINDOW2_ALERT)]
13326     HRESULT alert([defaultvalue(""), in] BSTR message);
13327
13328     [id(DISPID_IHTMLWINDOW2_CONFIRM)]
13329     HRESULT confirm(
13330         [defaultvalue(""), in] BSTR message,
13331         [retval, out] VARIANT_BOOL *confirmed);
13332
13333     [id(DISPID_IHTMLWINDOW2_PROMPT)]
13334     HRESULT prompt(
13335         [defaultvalue(""), in] BSTR message,
13336         [defaultvalue("undefined"), in] BSTR defstr,
13337         [retval, out] VARIANT *textdata);
13338
13339     [propget, id(DISPID_IHTMLWINDOW2_IMAGE)]
13340     HRESULT Image([retval, out] IHTMLImageElementFactory **p);
13341
13342     [propget, id(DISPID_IHTMLWINDOW2_LOCATION)]
13343     HRESULT location([retval, out] IHTMLLocation **p);
13344
13345     [propget, id(DISPID_IHTMLWINDOW2_HISTORY)]
13346     HRESULT history([retval, out] IOmHistory **p);
13347
13348     [id(DISPID_IHTMLWINDOW2_CLOSE)]
13349     HRESULT close();
13350
13351     [propput, id(DISPID_IHTMLWINDOW2_OPENER)]
13352     HRESULT opener([in] VARIANT v);
13353
13354     [propget, id(DISPID_IHTMLWINDOW2_OPENER)]
13355     HRESULT opener([retval, out] VARIANT *p);
13356
13357     [propget, id(DISPID_IHTMLWINDOW2_NAVIGATOR)]
13358     HRESULT navigator([retval, out] IOmNavigator **p);
13359
13360     [propput, id(DISPID_IHTMLWINDOW2_NAME)]
13361     HRESULT name([in] BSTR v);
13362
13363     [propget, id(DISPID_IHTMLWINDOW2_NAME)]
13364     HRESULT name([retval, out] BSTR *p);
13365
13366     [propget, id(DISPID_IHTMLWINDOW2_PARENT)]
13367     HRESULT parent([retval, out] IHTMLWindow2 **p);
13368
13369     [id(DISPID_IHTMLWINDOW2_OPEN)]
13370     HRESULT open(
13371         [defaultvalue(""), in] BSTR url,
13372         [defaultvalue(""), in] BSTR name,
13373         [defaultvalue(""), in] BSTR features,
13374         [defaultvalue(0), in] VARIANT_BOOL replace,
13375         [retval, out] IHTMLWindow2 **pomWindowResult);
13376
13377     [propget, id(DISPID_IHTMLWINDOW2_SELF)]
13378     HRESULT self([retval, out] IHTMLWindow2 **p);
13379
13380     [propget, id(DISPID_IHTMLWINDOW2_TOP)]
13381     HRESULT top([retval, out] IHTMLWindow2 **p);
13382
13383     [propget, id(DISPID_IHTMLWINDOW2_WINDOW)]
13384     HRESULT window([retval, out] IHTMLWindow2 **p);
13385
13386     [id(DISPID_IHTMLWINDOW2_NAVIGATE)]
13387     HRESULT navigate([in] BSTR url);
13388
13389     [propput, id(DISPID_IHTMLWINDOW2_ONFOCUS)]
13390     HRESULT onfocus([in] VARIANT v);
13391
13392     [propget, id(DISPID_IHTMLWINDOW2_ONFOCUS)]
13393     HRESULT onfocus([retval, out] VARIANT *p);
13394
13395     [propput, id(DISPID_IHTMLWINDOW2_ONBLUR)]
13396     HRESULT onblur([in] VARIANT v);
13397
13398     [propget, id(DISPID_IHTMLWINDOW2_ONBLUR)]
13399     HRESULT onblur([retval, out] VARIANT *p);
13400
13401     [propput, id(DISPID_IHTMLWINDOW2_ONLOAD)]
13402     HRESULT onload([in] VARIANT v);
13403
13404     [propget, id(DISPID_IHTMLWINDOW2_ONLOAD)]
13405     HRESULT onload([retval, out] VARIANT *p);
13406
13407     [propput, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD)]
13408     HRESULT onbeforeunload([in] VARIANT v);
13409
13410     [propget, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD)]
13411     HRESULT onbeforeunload([retval, out] VARIANT *p);
13412
13413     [propput, id(DISPID_IHTMLWINDOW2_ONUNLOAD)]
13414     HRESULT onunload([in] VARIANT v);
13415
13416     [propget, id(DISPID_IHTMLWINDOW2_ONUNLOAD)]
13417     HRESULT onunload([retval, out] VARIANT *p);
13418
13419     [propput, id(DISPID_IHTMLWINDOW2_ONHELP)]
13420     HRESULT onhelp([in] VARIANT v);
13421
13422     [propget, id(DISPID_IHTMLWINDOW2_ONHELP)]
13423     HRESULT onhelp([retval, out] VARIANT *p);
13424
13425     [propput, id(DISPID_IHTMLWINDOW2_ONERROR)]
13426     HRESULT onerror([in] VARIANT v);
13427
13428     [propget, id(DISPID_IHTMLWINDOW2_ONERROR)]
13429     HRESULT onerror([retval, out] VARIANT *p);
13430
13431     [propput, id(DISPID_IHTMLWINDOW2_ONRESIZE)]
13432     HRESULT onresize([in] VARIANT v);
13433
13434     [propget, id(DISPID_IHTMLWINDOW2_ONRESIZE)]
13435     HRESULT onresize([retval, out] VARIANT *p);
13436
13437     [propput, id(DISPID_IHTMLWINDOW2_ONSCROLL)]
13438     HRESULT onscroll([in] VARIANT v);
13439
13440     [propget, id(DISPID_IHTMLWINDOW2_ONSCROLL)]
13441     HRESULT onscroll([retval, out] VARIANT *p);
13442
13443     [propget, id(DISPID_IHTMLWINDOW2_DOCUMENT)]
13444     HRESULT document([retval, out] IHTMLDocument2 **p);
13445
13446     [propget, id(DISPID_IHTMLWINDOW2_EVENT)]
13447     HRESULT event([retval, out] IHTMLEventObj **p);
13448
13449     [propget, id(DISPID_IHTMLWINDOW2__NEWENUM)]
13450     HRESULT _newEnum([retval, out] IUnknown **p);
13451
13452     [id(DISPID_IHTMLWINDOW2_SHOWMODALDIALOG)]
13453     HRESULT showModalDialog(
13454         [in] BSTR dialog,
13455         [optional, in] VARIANT *varArgIn,
13456         [optional, in] VARIANT *varOptions,
13457         [retval, out] VARIANT *varArgOut);
13458
13459     [id(DISPID_IHTMLWINDOW2_SHOWHELP)]
13460     HRESULT showHelp(
13461         [in] BSTR helpURL,
13462         [optional, in] VARIANT helpArg,
13463         [defaultvalue(""), in] BSTR features);
13464
13465     [propget, id(DISPID_IHTMLWINDOW2_SCREEN)]
13466     HRESULT screen([retval, out] IHTMLScreen **p);
13467
13468     [propget, id(DISPID_IHTMLWINDOW2_OPTION)]
13469     HRESULT Option([retval, out] IHTMLOptionElementFactory **p);
13470
13471     [id(DISPID_IHTMLWINDOW2_FOCUS)]
13472     HRESULT focus();
13473
13474     [propget, id(DISPID_IHTMLWINDOW2_CLOSED)]
13475     HRESULT closed([retval, out] VARIANT_BOOL *p);
13476
13477     [id(DISPID_IHTMLWINDOW2_BLUR)]
13478     HRESULT blur();
13479
13480     [id(DISPID_IHTMLWINDOW2_SCROLL)]
13481     HRESULT scroll([in] long x, [in] long y);
13482
13483     [propget, id(DISPID_IHTMLWINDOW2_CLIENTINFORMATION)]
13484     HRESULT clientInformation([retval, out] IOmNavigator **p);
13485
13486     [id(DISPID_IHTMLWINDOW2_SETINTERVAL)]
13487     HRESULT setInterval([
13488         in] BSTR expression,
13489         [in] long msec,
13490         [optional, in] VARIANT *language,
13491         [retval, out] long *timerID);
13492
13493     [id(DISPID_IHTMLWINDOW2_CLEARINTERVAL)]
13494     HRESULT clearInterval([in] long timerID);
13495
13496     [propput, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
13497     HRESULT offscreenBuffering([in] VARIANT v);
13498
13499     [propget, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
13500     HRESULT offscreenBuffering([retval, out] VARIANT *p);
13501
13502     [id(DISPID_IHTMLWINDOW2_EXECSCRIPT)]
13503     HRESULT execScript(
13504         [in] BSTR scode,
13505         [defaultvalue("JScript"), in] BSTR language,
13506         [retval, out] VARIANT *pvarRet);
13507
13508     [id(DISPID_IHTMLWINDOW2_TOSTRING)]
13509     HRESULT toString([retval, out] BSTR *String);
13510
13511     [id(DISPID_IHTMLWINDOW2_SCROLLBY)]
13512     HRESULT scrollBy([in] long x, [in] long y);
13513
13514     [id(DISPID_IHTMLWINDOW2_SCROLLTO)]
13515     HRESULT scrollTo([in] long x, [in] long y);
13516
13517     [id(DISPID_IHTMLWINDOW2_MOVETO)]
13518     HRESULT moveTo([in] long x, [in] long y);
13519
13520     [id(DISPID_IHTMLWINDOW2_MOVEBY)]
13521     HRESULT moveBy([in] long x, [in] long y);
13522
13523     [id(DISPID_IHTMLWINDOW2_RESIZETO)]
13524     HRESULT resizeTo([in] long x, [in] long y);
13525
13526     [id(DISPID_IHTMLWINDOW2_RESIZEBY)]
13527     HRESULT resizeBy([in] long x, [in] long y);
13528
13529     [propget, id(DISPID_IHTMLWINDOW2_EXTERNAL)]
13530     HRESULT external([retval, out] IDispatch **p);
13531 }
13532
13533 /*****************************************************************************
13534  *    IHTMLWindow3 interface
13535  */
13536 [
13537     odl,
13538     oleautomation,
13539     dual,
13540     uuid(3050f4ae-98b5-11cf-bb82-00aa00bdce0b)
13541 ]
13542 interface IHTMLWindow3 : IDispatch
13543 {
13544     [propget, id(DISPID_IHTMLWINDOW3_SCREENLEFT)]
13545     HRESULT screenLeft([out, retval] long *p);
13546
13547     [propget, id(DISPID_IHTMLWINDOW3_SCREENTOP)]
13548     HRESULT screenTop([out, retval] long *p);
13549
13550     [id(DISPID_IHTMLWINDOW3_ATTACHEVENT)]
13551     HRESULT attachEvent(
13552             [in] BSTR event,
13553             [in] IDispatch *pDisp,
13554             [out, retval] VARIANT_BOOL *pfResult);
13555
13556     [id(DISPID_IHTMLWINDOW3_DETACHEVENT)]
13557     HRESULT detachEvent(
13558             [in] BSTR event,
13559             [in] IDispatch *pDisp);
13560
13561     [id(DISPID_IHTMLWINDOW3_SETTIMEOUT)]
13562     HRESULT setTimeout(
13563             [in] VARIANT *expression,
13564             [in] long msec,
13565             [in, optional] VARIANT *language,
13566             [out, retval] long *timerID);
13567
13568     [id(DISPID_IHTMLWINDOW3_SETINTERVAL)]
13569     HRESULT setInterval(
13570             [in] VARIANT *expression,
13571             [in] long msec,
13572             [in, optional] VARIANT *language,
13573             [out, retval] long *timerID);
13574
13575     [id(DISPID_IHTMLWINDOW3_PRINT)]
13576     HRESULT print();
13577
13578     [propput, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
13579     HRESULT onbeforeprint([in] VARIANT v);
13580
13581     [propget, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
13582     HRESULT onbeforeprint([out, retval] VARIANT *p);
13583
13584     [propput, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
13585     HRESULT onafterprint([in] VARIANT v);
13586
13587     [propget, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
13588     HRESULT onafterprint([out, retval] VARIANT *p);
13589
13590     [propget, id(DISPID_IHTMLWINDOW3_CLIPBOARDDATA)]
13591     HRESULT clipboardData([out, retval] IHTMLDataTransfer **p);
13592
13593     [id(DISPID_IHTMLWINDOW3_SHOWMODELESSDIALOG)]
13594     HRESULT showModelessDialog(
13595             [in, defaultvalue("")] BSTR url,
13596             [in, optional] VARIANT *varArgIn,
13597             [in, optional] VARIANT *options,
13598             [out, retval] IHTMLWindow2 **pDialog);
13599 }
13600
13601 /*****************************************************************************
13602  *    DispHTMLWindow2 dispinterface
13603  */
13604 [
13605     hidden,
13606     uuid(3050f55d-98b5-11cf-bb82-00aa00bdce0b)
13607 ]
13608 dispinterface DispHTMLWindow2
13609 {
13610 properties:
13611 methods:
13612     [id(DISPID_IHTMLFRAMESCOLLECTION2_ITEM)]
13613     VARIANT item([in] VARIANT *pvarIndex);
13614
13615     [propget, id(DISPID_IHTMLFRAMESCOLLECTION2_LENGTH)]
13616     long length();
13617
13618     [propget, id(DISPID_IHTMLWINDOW2_FRAMES)]
13619     IHTMLFramesCollection2 *frames();
13620
13621     [propput, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
13622     void defaultStatus(BSTR v);
13623
13624     [propget, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
13625     BSTR defaultStatus();
13626
13627     [propput, id(DISPID_IHTMLWINDOW2_STATUS)]
13628     void status(BSTR v);
13629
13630     [propget, id(DISPID_IHTMLWINDOW2_STATUS)]
13631     BSTR status();
13632
13633     [id(DISPID_IHTMLWINDOW2_CLEARTIMEOUT)]
13634     void clearTimeout([in] long timerID);
13635
13636     [id(DISPID_IHTMLWINDOW2_ALERT)]
13637     void alert([in, defaultvalue("")] BSTR message);
13638
13639     [id(DISPID_IHTMLWINDOW2_CONFIRM)]
13640     VARIANT_BOOL confirm([in, defaultvalue("")] BSTR message);
13641
13642     [id(DISPID_IHTMLWINDOW2_PROMPT)]
13643     VARIANT prompt(
13644             [in, defaultvalue("")] BSTR message,
13645             [in, defaultvalue("undefined")] BSTR defstr);
13646
13647     [propget, id(DISPID_IHTMLWINDOW2_IMAGE)]
13648     IHTMLImageElementFactory *Image();
13649
13650     [propget, id(DISPID_IHTMLWINDOW2_LOCATION)]
13651     IHTMLLocation *location();
13652
13653     [propget, id(DISPID_IHTMLWINDOW2_HISTORY)]
13654     IOmHistory *history();
13655
13656     [id(DISPID_IHTMLWINDOW2_CLOSE)]
13657     void close();
13658
13659     [propput, id(DISPID_IHTMLWINDOW2_OPENER)]
13660     void opener(VARIANT v);
13661
13662     [propget, id(DISPID_IHTMLWINDOW2_OPENER)]
13663     VARIANT opener();
13664
13665     [propget, id(DISPID_IHTMLWINDOW2_NAVIGATOR)]
13666     IOmNavigator *navigator();
13667
13668     [propput, id(DISPID_IHTMLWINDOW2_NAME)]
13669     void name(BSTR v);
13670
13671     [propget, id(DISPID_IHTMLWINDOW2_NAME)]
13672     BSTR name();
13673
13674     [propget, id(DISPID_IHTMLWINDOW2_PARENT)]
13675     IHTMLWindow2 *parent();
13676
13677     [id(DISPID_IHTMLWINDOW2_OPEN)]
13678     IHTMLWindow2 *open(
13679             [in, defaultvalue("")] BSTR url,
13680             [in, defaultvalue("")] BSTR name,
13681             [in, defaultvalue("")] BSTR features,
13682             [in, defaultvalue(0)]  VARIANT_BOOL replace);
13683
13684     [propget, id(DISPID_IHTMLWINDOW2_SELF)]
13685     IHTMLWindow2 *self();
13686
13687     [propget, id(DISPID_IHTMLWINDOW2_TOP)]
13688     IHTMLWindow2 *top();
13689
13690     [propget, id(DISPID_IHTMLWINDOW2_WINDOW)]
13691     IHTMLWindow2 *window();
13692
13693     [id(DISPID_IHTMLWINDOW2_NAVIGATE)]
13694     void navigate([in] BSTR url);
13695
13696     [propput, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
13697     void onfocus(VARIANT v);
13698
13699     [propget, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
13700     VARIANT onfocus();
13701
13702     [propput, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
13703     void onblur(VARIANT v);
13704
13705     [propget, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
13706     VARIANT onblur();
13707
13708     [propget, id(DISPID_IHTMLWINDOW2_ONLOAD), displaybind, bindable]
13709     VARIANT onload();
13710
13711     [propput, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
13712     void onbeforeunload(VARIANT v);
13713
13714     [propget, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
13715     VARIANT onbeforeunload();
13716
13717     [propput, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
13718     void onunload(VARIANT v);
13719
13720     [propget, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
13721     VARIANT onunload();
13722
13723     [propput, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
13724     void onhelp(VARIANT v);
13725
13726     [propget, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
13727     VARIANT onhelp();
13728
13729     [propput, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
13730     void onerror(VARIANT v);
13731
13732     [propget, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
13733     VARIANT onerror();
13734
13735     [propput, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
13736     void onresize(VARIANT v);
13737
13738     [propget, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
13739     VARIANT onresize();
13740
13741     [propput, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
13742     void onscroll(VARIANT v);
13743
13744     [propget, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
13745     VARIANT onscroll();
13746
13747     [propget, id(DISPID_IHTMLWINDOW2_DOCUMENT), source]
13748     IHTMLDocument2 *document();
13749
13750     [propget, id(DISPID_IHTMLWINDOW2_EVENT)]
13751     IHTMLEventObj *event();
13752
13753     [propget, id(DISPID_IHTMLWINDOW2__NEWENUM), hidden, restricted]
13754     IUnknown *_newEnum();
13755
13756     [id(DISPID_IHTMLWINDOW2_SHOWMODALDIALOG)]
13757     VARIANT showModalDialog(
13758             [in] BSTR dialog,
13759             [in, optional] VARIANT *varArgIn,
13760             [in, optional] VARIANT *varOptions);
13761
13762     [id(DISPID_IHTMLWINDOW2_SHOWHELP)]
13763     void showHelp(
13764             [in] BSTR helpURL,
13765             [in, optional] VARIANT helpArg,
13766             [in, defaultvalue("")] BSTR features);
13767
13768     [propget, id(DISPID_IHTMLWINDOW2_SCREEN)]
13769     IHTMLScreen *screen();
13770
13771     [propget, id(DISPID_IHTMLWINDOW2_OPTION)]
13772     IHTMLOptionElementFactory *Option();
13773
13774     [id(DISPID_IHTMLWINDOW2_FOCUS)]
13775     void focus();
13776
13777     [propget, id(DISPID_IHTMLWINDOW2_CLOSED)]
13778     VARIANT_BOOL closed();
13779
13780     [id(DISPID_IHTMLWINDOW2_BLUR)]
13781     void blur();
13782
13783     [id(DISPID_IHTMLWINDOW2_SCROLL)]
13784     void scroll([in] long x, [in] long y);
13785
13786     [propget, id(DISPID_IHTMLWINDOW2_CLIENTINFORMATION)]
13787     IOmNavigator *clientInformation();
13788
13789     [id(DISPID_IHTMLWINDOW2_CLEARINTERVAL)]
13790     void clearInterval([in] long timerID);
13791
13792     [propput, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
13793     void offscreenBuffering(VARIANT v);
13794
13795     [propget, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
13796     VARIANT offscreenBuffering();
13797
13798     [id(DISPID_IHTMLWINDOW2_EXECSCRIPT)]
13799     VARIANT execScript(
13800             [in] BSTR _code,
13801             [in, defaultvalue("JScript")] BSTR language);
13802
13803     [id(DISPID_IHTMLWINDOW2_TOSTRING)]
13804     BSTR toString();
13805
13806     [id(DISPID_IHTMLWINDOW2_SCROLLBY)]
13807     void scrollBy([in] long x, [in] long y);
13808
13809     [id(DISPID_IHTMLWINDOW2_SCROLLTO)]
13810     void scrollTo([in] long x, [in] long y);
13811
13812     [id(DISPID_IHTMLWINDOW2_MOVETO)]
13813     void moveTo([in] long x, [in] long y);
13814
13815     [id(DISPID_IHTMLWINDOW2_MOVEBY)]
13816     void moveBy([in] long x, [in] long y);
13817
13818     [id(DISPID_IHTMLWINDOW2_RESIZETO)]
13819     void resizeTo([in] long x, [in] long y);
13820
13821     [id(DISPID_IHTMLWINDOW2_RESIZEBY)]
13822     void resizeBy([in] long x, [in] long y);
13823
13824     [propget, id(DISPID_IHTMLWINDOW2_EXTERNAL)]
13825     IDispatch *external();
13826
13827     [propget, id(DISPID_IHTMLWINDOW3_SCREENLEFT)]
13828     long screenLeft();
13829
13830     [propget, id(DISPID_IHTMLWINDOW3_SCREENTOP)]
13831     long screenTop();
13832
13833     [id(DISPID_IHTMLWINDOW3_ATTACHEVENT)]
13834     VARIANT_BOOL attachEvent(
13835              [in] BSTR event,
13836              [in] IDispatch *pDisp);
13837
13838     [id(DISPID_IHTMLWINDOW3_DETACHEVENT)]
13839     void detachEvent(
13840             [in] BSTR event,
13841             [in] IDispatch *pDisp);
13842
13843     [id(DISPID_IHTMLWINDOW3_SETTIMEOUT)]
13844     long setTimeout(
13845             [in] VARIANT *expression,
13846             [in] long msec,
13847             [in, optional] VARIANT *language);
13848
13849     [id(DISPID_IHTMLWINDOW3_SETINTERVAL)]
13850     long setInterval(
13851             [in] VARIANT *expression,
13852             [in] long msec,
13853             [in, optional] VARIANT *language);
13854
13855     [id(DISPID_IHTMLWINDOW3_PRINT)]
13856     void print();
13857
13858     [propput, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
13859     void onbeforeprint(VARIANT v);
13860
13861     [propget, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
13862     VARIANT onbeforeprint();
13863
13864     [propput, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
13865     void onafterprint(VARIANT v);
13866
13867     [propget, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
13868     VARIANT onafterprint();
13869
13870     [propget, id(DISPID_IHTMLWINDOW3_CLIPBOARDDATA)]
13871     IHTMLDataTransfer *clipboardData();
13872
13873     [id(DISPID_IHTMLWINDOW3_SHOWMODELESSDIALOG)]
13874     IHTMLWindow2 *showModelessDialog(
13875             [in, defaultvalue("")] BSTR url,
13876             [in, optional] VARIANT *varArgIn,
13877             [in, optional] VARIANT *options);
13878
13879     [id(DISPID_IHTMLWINDOW4_CREATEPOPUP)]
13880     IDispatch *createPopup([in, optional] VARIANT *varArgIn);
13881
13882     [propget, id(DISPID_IHTMLWINDOW4_FRAMEELEMENT)]
13883     IHTMLFrameBase *frameElement();
13884 }
13885
13886 /*****************************************************************************
13887  *    HTMLDocumentEvents2 interface
13888  */
13889 [
13890     hidden,
13891     uuid(3050f613-98b5-11cf-bb82-00aa00bdce0b)
13892 ]
13893 dispinterface HTMLDocumentEvents2
13894 {
13895     properties:
13896     methods:
13897     [id(DISPID_HTMLDOCUMENTEVENTS2_ONHELP)]
13898     VARIANT_BOOL onhelp([in] IHTMLEventObj *pEvtObj);
13899
13900     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCLICK)]
13901     VARIANT_BOOL onclick([in] IHTMLEventObj *pEvtObj);
13902
13903     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDBLCLICK)]
13904     VARIANT_BOOL ondblclick([in] IHTMLEventObj *pEvtObj);
13905
13906     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYDOWN)]
13907     void onkeydown([in] IHTMLEventObj *pEvtObj);
13908
13909     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYUP)]
13910     void onkeyup([in] IHTMLEventObj *pEvtObj);
13911
13912     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYPRESS)]
13913     VARIANT_BOOL onkeypress([in] IHTMLEventObj *pEvtObj);
13914
13915     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEDOWN)]
13916     void onmousedown([in] IHTMLEventObj *pEvtObj);
13917
13918     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEMOVE)]
13919     void onmousemove([in] IHTMLEventObj *pEvtObj);
13920
13921     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEUP)]
13922     void onmouseup([in] IHTMLEventObj *pEvtObj);
13923
13924     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEOUT)]
13925     void onmouseout([in] IHTMLEventObj *pEvtObj);
13926
13927     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEOVER)]
13928     void onmouseover([in] IHTMLEventObj *pEvtObj);
13929
13930     [id(DISPID_HTMLDOCUMENTEVENTS2_ONREADYSTATECHANGE)]
13931     void onreadystatechange([in] IHTMLEventObj *pEvtObj);
13932
13933     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREUPDATE)]
13934     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj *pEvtObj);
13935
13936     [id(DISPID_HTMLDOCUMENTEVENTS2_ONAFTERUPDATE)]
13937     void onafterupdate([in] IHTMLEventObj *pEvtObj);
13938
13939     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWEXIT)]
13940     VARIANT_BOOL onrowexit([in] IHTMLEventObj *pEvtObj);
13941
13942     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWENTER)]
13943     void onrowenter([in] IHTMLEventObj *pEvtObj);
13944
13945     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDRAGSTART)]
13946     VARIANT_BOOL ondragstart([in] IHTMLEventObj *pEvtObj);
13947
13948     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSELECTSTART)]
13949     VARIANT_BOOL onselectstart([in] IHTMLEventObj *pEvtObj);
13950
13951     [id(DISPID_HTMLDOCUMENTEVENTS2_ONERRORUPDATE)]
13952     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj *pEvtObj);
13953
13954     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCONTEXTMENU)]
13955     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj *pEvtObj);
13956
13957     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSTOP)]
13958     VARIANT_BOOL onstop([in] IHTMLEventObj *pEvtObj);
13959
13960     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWSDELETE)]
13961     void onrowsdelete([in] IHTMLEventObj *pEvtObj);
13962
13963     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWSINSERTED)]
13964     void onrowsinserted([in] IHTMLEventObj *pEvtObj);
13965
13966     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCELLCHANGE)]
13967     void oncellchange([in] IHTMLEventObj *pEvtObj);
13968
13969     [id(DISPID_HTMLDOCUMENTEVENTS2_ONPROPERTYCHANGE)]
13970     void onpropertychange([in] IHTMLEventObj *pEvtObj);
13971
13972     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATASETCHANGED)]
13973     void ondatasetchanged([in] IHTMLEventObj *pEvtObj);
13974
13975     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATAAVAILABLE)]
13976     void ondataavailable([in] IHTMLEventObj *pEvtObj);
13977
13978     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATASETCOMPLETE)]
13979     void ondatasetcomplete([in] IHTMLEventObj *pEvtObj);
13980
13981     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREEDITFOCUS)]
13982     void onbeforeeditfocus([in] IHTMLEventObj *pEvtObj);
13983
13984     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSELECTIONCHANGE)]
13985     void onselectionchange([in] IHTMLEventObj *pEvtObj);
13986
13987     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCONTROLSELECT)]
13988     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj *pEvtObj);
13989
13990     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEWHEEL)]
13991     VARIANT_BOOL onmousewheel([in] IHTMLEventObj *pEvtObj);
13992
13993     [id(DISPID_HTMLDOCUMENTEVENTS2_ONFOCUSIN)]
13994     void onfocusin([in] IHTMLEventObj *pEvtObj);
13995
13996     [id(DISPID_HTMLDOCUMENTEVENTS2_ONFOCUSOUT)]
13997     void onfocusout([in] IHTMLEventObj *pEvtObj);
13998
13999     [id(DISPID_HTMLDOCUMENTEVENTS2_ONACTIVATE)]
14000     void onactivate([in] IHTMLEventObj *pEvtObj);
14001
14002     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDEACTIVATE)]
14003     void ondeactivate([in] IHTMLEventObj *pEvtObj);
14004
14005     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREACTIVATE)]
14006     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj *pEvtObj);
14007
14008     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREDEACTIVATE)]
14009     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj *pEvtObj);
14010 }
14011
14012 /*****************************************************************************
14013  *    HTMLDocumentEvents interface
14014  */
14015 [
14016     hidden,
14017     uuid(3050f260-98b5-11cf-bb82-00aa00bdce0b)
14018 ]
14019 dispinterface HTMLDocumentEvents
14020 {
14021     properties:
14022     methods:
14023     [id(DISPID_HTMLDOCUMENTEVENTS_ONHELP)]
14024     VARIANT_BOOL onhelp();
14025
14026     [id(DISPID_HTMLDOCUMENTEVENTS_ONCLICK)]
14027     VARIANT_BOOL onclick();
14028
14029     [id(DISPID_HTMLDOCUMENTEVENTS_ONDBLCLICK)]
14030     VARIANT_BOOL ondblclick();
14031
14032     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYDOWN)]
14033     void onkeydown();
14034
14035     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYUP)]
14036     void onkeyup();
14037
14038     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYPRESS)]
14039     VARIANT_BOOL onkeypress();
14040
14041     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEDOWN)]
14042     void onmousedown();
14043
14044     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEMOVE)]
14045     void onmousemove();
14046
14047     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEUP)]
14048     void onmouseup();
14049
14050     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEOUT)]
14051     void onmouseout();
14052
14053     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEOVER)]
14054     void onmouseover();
14055
14056     [id(DISPID_HTMLDOCUMENTEVENTS_ONREADYSTATECHANGE)]
14057     void onreadystatechange();
14058
14059     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREUPDATE)]
14060     VARIANT_BOOL onbeforeupdate();
14061
14062     [id(DISPID_HTMLDOCUMENTEVENTS_ONAFTERUPDATE)]
14063     void onafterupdate();
14064
14065     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWEXIT)]
14066     VARIANT_BOOL onrowexit();
14067
14068     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWENTER)]
14069     void onrowenter();
14070
14071     [id(DISPID_HTMLDOCUMENTEVENTS_ONDRAGSTART)]
14072     VARIANT_BOOL ondragstart();
14073
14074     [id(DISPID_HTMLDOCUMENTEVENTS_ONSELECTSTART)]
14075     VARIANT_BOOL onselectstart();
14076
14077     [id(DISPID_HTMLDOCUMENTEVENTS_ONERRORUPDATE)]
14078     VARIANT_BOOL onerrorupdate();
14079
14080     [id(DISPID_HTMLDOCUMENTEVENTS_ONCONTEXTMENU)]
14081     VARIANT_BOOL oncontextmenu();
14082
14083     [id(DISPID_HTMLDOCUMENTEVENTS_ONSTOP)]
14084     VARIANT_BOOL onstop();
14085
14086     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWSDELETE)]
14087     void onrowsdelete();
14088
14089     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWSINSERTED)]
14090     void onrowsinserted();
14091
14092     [id(DISPID_HTMLDOCUMENTEVENTS_ONCELLCHANGE)]
14093     void oncellchange();
14094
14095     [id(DISPID_HTMLDOCUMENTEVENTS_ONPROPERTYCHANGE)]
14096     void onpropertychange();
14097
14098     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATASETCHANGED)]
14099     void ondatasetchanged();
14100
14101     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATAAVAILABLE)]
14102     void ondataavailable();
14103
14104     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATASETCOMPLETE)]
14105     void ondatasetcomplete();
14106
14107     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREEDITFOCUS)]
14108     void onbeforeeditfocus();
14109
14110     [id(DISPID_HTMLDOCUMENTEVENTS_ONSELECTIONCHANGE)]
14111     void onselectionchange();
14112
14113     [id(DISPID_HTMLDOCUMENTEVENTS_ONCONTROLSELECT)]
14114     VARIANT_BOOL oncontrolselect();
14115
14116     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEWHEEL)]
14117     VARIANT_BOOL onmousewheel();
14118
14119     [id(DISPID_HTMLDOCUMENTEVENTS_ONFOCUSIN)]
14120     void onfocusin();
14121
14122     [id(DISPID_HTMLDOCUMENTEVENTS_ONFOCUSOUT)]
14123     void onfocusout();
14124
14125     [id(DISPID_HTMLDOCUMENTEVENTS_ONACTIVATE)]
14126     void onactivate();
14127
14128     [id(DISPID_HTMLDOCUMENTEVENTS_ONDEACTIVATE)]
14129     void ondeactivate();
14130
14131     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREACTIVATE)]
14132     VARIANT_BOOL onbeforeactivate();
14133
14134     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREDEACTIVATE)]
14135     VARIANT_BOOL onbeforedeactivate();
14136 }
14137
14138 /*****************************************************************************
14139  *    HTMLTextContainerEvents interface
14140  */
14141 [
14142     hidden,
14143     uuid(1ff6aa72-5842-11cf-a707-00aa00c0098d)
14144 ]
14145 dispinterface HTMLTextContainerEvents
14146 {
14147 properties:
14148
14149 methods:
14150     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
14151     VARIANT_BOOL onhelp();
14152
14153     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
14154     VARIANT_BOOL onclick();
14155
14156     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
14157     VARIANT_BOOL ondblclick();
14158
14159     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
14160     VARIANT_BOOL onkeypress();
14161
14162     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
14163     void onkeydown();
14164
14165     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
14166     void onkeyup();
14167
14168     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
14169     void onmouseout();
14170
14171     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
14172     void onmouseover();
14173
14174     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
14175     void onmousemove();
14176
14177     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
14178     void onmousedown();
14179
14180     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
14181     void onmouseup();
14182
14183     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
14184     VARIANT_BOOL onselectstart();
14185
14186     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
14187     void onfilterchange();
14188
14189     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
14190     VARIANT_BOOL ondragstart();
14191
14192     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
14193     VARIANT_BOOL onbeforeupdate();
14194
14195     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
14196     void onafterupdate();
14197
14198     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
14199     VARIANT_BOOL onerrorupdate();
14200
14201     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
14202     VARIANT_BOOL onrowexit();
14203
14204     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
14205     void onrowenter();
14206
14207     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
14208     void ondatasetchanged();
14209
14210     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
14211     void ondataavailable();
14212
14213     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
14214     void ondatasetcomplete();
14215
14216     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
14217     void onlosecapture();
14218
14219     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
14220     void onpropertychange();
14221
14222     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
14223     void onscroll();
14224
14225     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
14226     void onfocus();
14227
14228     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
14229     void onblur();
14230
14231     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
14232     void onresize();
14233
14234     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
14235     VARIANT_BOOL ondrag();
14236
14237     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
14238     void ondragend();
14239
14240     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
14241     VARIANT_BOOL ondragenter();
14242
14243     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
14244     VARIANT_BOOL ondragover();
14245
14246     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
14247     void ondragleave();
14248
14249     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
14250     VARIANT_BOOL ondrop();
14251
14252     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
14253     VARIANT_BOOL onbeforecut();
14254
14255     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
14256     VARIANT_BOOL oncut();
14257
14258     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
14259     VARIANT_BOOL onbeforecopy();
14260
14261     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
14262     VARIANT_BOOL oncopy();
14263
14264     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
14265     VARIANT_BOOL onbeforepaste();
14266
14267     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
14268     VARIANT_BOOL onpaste();
14269
14270     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
14271     VARIANT_BOOL oncontextmenu();
14272
14273     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
14274     void onrowsdelete();
14275
14276     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
14277     void onrowsinserted();
14278
14279     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
14280     void oncellchange();
14281
14282     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
14283     void onreadystatechange();
14284
14285     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
14286     void onbeforeeditfocus();
14287
14288     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
14289     void onlayoutcomplete();
14290
14291     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
14292     void onpage();
14293
14294     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
14295     VARIANT_BOOL onbeforedeactivate();
14296
14297     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
14298     VARIANT_BOOL onbeforeactivate();
14299
14300     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
14301     void onmove();
14302
14303     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
14304     VARIANT_BOOL oncontrolselect();
14305
14306     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
14307     VARIANT_BOOL onmovestart();
14308
14309     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
14310     void onmoveend();
14311
14312     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
14313     VARIANT_BOOL onresizestart();
14314
14315     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
14316     void onresizeend();
14317
14318     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
14319     void onmouseenter();
14320
14321     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
14322     void onmouseleave();
14323
14324     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
14325     VARIANT_BOOL onmousewheel();
14326
14327     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
14328     void onactivate();
14329
14330     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
14331     void ondeactivate();
14332
14333     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
14334     void onfocusin();
14335
14336     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
14337     void onfocusout();
14338
14339     [id(DISPID_HTMLTEXTCONTAINEREVENTS_ONCHANGE)]
14340     void onchange();
14341
14342     [id(DISPID_HTMLTEXTCONTAINEREVENTS_ONSELECT)]
14343     void onselect();
14344 };
14345
14346 /*****************************************************************************
14347  *    HTMLTextContainerEvents2 interface
14348  */
14349 [
14350     hidden,
14351     uuid(3050f624-98b5-11cf-bb82-00aa00bdce0b)
14352 ]
14353 dispinterface HTMLTextContainerEvents2
14354 {
14355 properties:
14356 methods:
14357     [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)]
14358     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
14359
14360     [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)]
14361     VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
14362
14363     [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)]
14364     VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
14365
14366     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)]
14367     VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
14368
14369     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)]
14370     void onkeydown([in] IHTMLEventObj* pEvtObj);
14371
14372     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)]
14373     void onkeyup([in] IHTMLEventObj* pEvtObj);
14374
14375     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)]
14376     void onmouseout([in] IHTMLEventObj* pEvtObj);
14377
14378     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)]
14379     void onmouseover([in] IHTMLEventObj* pEvtObj);
14380
14381     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)]
14382     void onmousemove([in] IHTMLEventObj* pEvtObj);
14383
14384     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)]
14385     void onmousedown([in] IHTMLEventObj* pEvtObj);
14386
14387     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)]
14388     void onmouseup([in] IHTMLEventObj* pEvtObj);
14389
14390     [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)]
14391     VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
14392
14393     [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)]
14394     void onfilterchange([in] IHTMLEventObj* pEvtObj);
14395
14396     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)]
14397     VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
14398
14399     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)]
14400     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
14401
14402     [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)]
14403     void onafterupdate([in] IHTMLEventObj* pEvtObj);
14404
14405     [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)]
14406     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
14407
14408     [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)]
14409     VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
14410
14411     [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)]
14412     void onrowenter([in] IHTMLEventObj* pEvtObj);
14413
14414     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)]
14415     void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
14416
14417     [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)]
14418     void ondataavailable([in] IHTMLEventObj* pEvtObj);
14419
14420     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)]
14421     void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
14422
14423     [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)]
14424     void onlosecapture([in] IHTMLEventObj* pEvtObj);
14425
14426     [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)]
14427     void onpropertychange([in] IHTMLEventObj* pEvtObj);
14428
14429     [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)]
14430     void onscroll([in] IHTMLEventObj* pEvtObj);
14431
14432     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)]
14433     void onfocus([in] IHTMLEventObj* pEvtObj);
14434
14435     [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)]
14436     void onblur([in] IHTMLEventObj* pEvtObj);
14437
14438     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)]
14439     void onresize([in] IHTMLEventObj* pEvtObj);
14440
14441     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)]
14442     VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
14443
14444     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)]
14445     void ondragend([in] IHTMLEventObj* pEvtObj);
14446
14447     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)]
14448     VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
14449
14450     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)]
14451     VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
14452
14453     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)]
14454     void ondragleave([in] IHTMLEventObj* pEvtObj);
14455
14456     [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)]
14457     VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
14458
14459     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)]
14460     VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
14461
14462     [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)]
14463     VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
14464
14465     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)]
14466     VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
14467
14468     [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)]
14469     VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
14470
14471     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)]
14472     VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
14473
14474     [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)]
14475     VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
14476
14477     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)]
14478     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
14479
14480     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)]
14481     void onrowsdelete([in] IHTMLEventObj* pEvtObj);
14482
14483     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)]
14484     void onrowsinserted([in] IHTMLEventObj* pEvtObj);
14485
14486     [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)]
14487     void oncellchange([in] IHTMLEventObj* pEvtObj);
14488
14489     [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)]
14490     void onreadystatechange([in] IHTMLEventObj* pEvtObj);
14491
14492     [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)]
14493     void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
14494
14495     [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)]
14496     void onpage([in] IHTMLEventObj* pEvtObj);
14497
14498     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)]
14499     void onmouseenter([in] IHTMLEventObj* pEvtObj);
14500
14501     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)]
14502     void onmouseleave([in] IHTMLEventObj* pEvtObj);
14503
14504     [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)]
14505     void onactivate([in] IHTMLEventObj* pEvtObj);
14506
14507     [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)]
14508     void ondeactivate([in] IHTMLEventObj* pEvtObj);
14509
14510     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)]
14511     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
14512
14513     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)]
14514     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
14515
14516     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)]
14517     void onfocusin([in] IHTMLEventObj* pEvtObj);
14518
14519     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)]
14520     void onfocusout([in] IHTMLEventObj* pEvtObj);
14521
14522     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)]
14523     void onmove([in] IHTMLEventObj* pEvtObj);
14524
14525     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)]
14526     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
14527
14528     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)]
14529     VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
14530
14531     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)]
14532     void onmoveend([in] IHTMLEventObj* pEvtObj);
14533
14534     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)]
14535     VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
14536
14537     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)]
14538     void onresizeend([in] IHTMLEventObj* pEvtObj);
14539
14540     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)]
14541     VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
14542
14543     [id(DISPID_HTMLTEXTCONTAINEREVENTS2_ONCHANGE)]
14544     void onchange([in] IHTMLEventObj* pEvtObj);
14545
14546     [id(DISPID_HTMLTEXTCONTAINEREVENTS2_ONSELECT)]
14547     void onselect([in] IHTMLEventObj* pEvtObj);
14548 };
14549
14550 /*****************************************************************************
14551  *    IHTMLDocument interface
14552  */
14553 [
14554     odl,
14555     oleautomation,
14556     dual,
14557     uuid(626FC520-A41E-11CF-A731-00A0C9082637)
14558 ]
14559 interface IHTMLDocument : IDispatch
14560 {
14561     [propget, id(DISPID_IHTMLDOCUMENT_SCRIPT)]
14562     HRESULT Script([retval, out] IDispatch **p);
14563 }
14564
14565 /*****************************************************************************
14566  *    IHTMLDocument2 interface
14567  */
14568 [
14569     odl,
14570     oleautomation,
14571     dual,
14572     uuid(332C4425-26CB-11D0-B483-00C04FD90119)
14573 ]
14574 interface IHTMLDocument2 : IHTMLDocument
14575 {
14576     [propget, id(DISPID_IHTMLDOCUMENT2_ALL)]
14577     HRESULT all([retval, out] IHTMLElementCollection **p);
14578
14579     [propget, id(DISPID_IHTMLDOCUMENT2_BODY)]
14580     HRESULT body([retval, out] IHTMLElement **p);
14581
14582     [propget, id(DISPID_IHTMLDOCUMENT2_ACTIVEELEMENT)]
14583     HRESULT activeElement([retval, out] IHTMLElement **p);
14584
14585     [propget, id(DISPID_IHTMLDOCUMENT2_IMAGES)]
14586     HRESULT images([retval, out] IHTMLElementCollection **p);
14587
14588     [propget, id(DISPID_IHTMLDOCUMENT2_APPLETS)]
14589     HRESULT applets([retval, out] IHTMLElementCollection **p);
14590
14591     [propget, id(DISPID_IHTMLDOCUMENT2_LINKS)]
14592     HRESULT links([retval, out] IHTMLElementCollection **p);
14593
14594     [propget, id(DISPID_IHTMLDOCUMENT2_FORMS)]
14595     HRESULT forms([retval, out] IHTMLElementCollection **p);
14596
14597     [propget, id(DISPID_IHTMLDOCUMENT2_ANCHORS)]
14598     HRESULT anchors([retval, out] IHTMLElementCollection **p);
14599
14600     [propput, id(DISPID_IHTMLDOCUMENT2_TITLE)]
14601     HRESULT title([in] BSTR v);
14602
14603     [propget, id(DISPID_IHTMLDOCUMENT2_TITLE)]
14604     HRESULT title([retval, out] BSTR *p);
14605
14606     [propget, id(DISPID_IHTMLDOCUMENT2_SCRIPTS)]
14607     HRESULT scripts([retval, out] IHTMLElementCollection **p);
14608
14609     [propput, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE)]
14610     HRESULT designMode([in] BSTR v);
14611
14612     [propget, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE)]
14613     HRESULT designMode([retval, out] BSTR *p);
14614
14615     [propget, id(DISPID_IHTMLDOCUMENT2_SELECTION)]
14616     HRESULT selection([retval, out] IHTMLSelectionObject **p);
14617
14618     [propget, id(DISPID_IHTMLDOCUMENT2_READYSTATE)]
14619      HRESULT readyState([retval, out] BSTR *p);
14620
14621     [propget, id(DISPID_IHTMLDOCUMENT2_FRAMES)]
14622     HRESULT frames([retval, out] IHTMLFramesCollection2 **p);
14623
14624     [propget, id(DISPID_IHTMLDOCUMENT2_EMBEDS)]
14625     HRESULT embeds([retval, out] IHTMLElementCollection **p);
14626
14627     [propget, id(DISPID_IHTMLDOCUMENT2_PLUGINS)]
14628     HRESULT plugins([retval, out] IHTMLElementCollection **p);
14629
14630     [propput, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
14631     HRESULT alinkColor([in] VARIANT v);
14632
14633     [propget, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
14634     HRESULT alinkColor([retval, out] VARIANT *p);
14635
14636     [propput, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
14637     HRESULT bgColor([in] VARIANT v);
14638
14639     [propget, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
14640     HRESULT bgColor([retval, out] VARIANT *p);
14641
14642     [propput, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
14643     HRESULT fgColor([in] VARIANT v);
14644
14645     [propget, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
14646     HRESULT fgColor([retval, out] VARIANT *p);
14647
14648     [propput, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
14649     HRESULT linkColor([in] VARIANT v);
14650
14651     [propget, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
14652     HRESULT linkColor([retval, out] VARIANT *p);
14653
14654     [propput, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
14655     HRESULT vlinkColor([in] VARIANT v);
14656
14657     [propget, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
14658     HRESULT vlinkColor([retval, out] VARIANT *p);
14659
14660     [propget, id(DISPID_IHTMLDOCUMENT2_REFERRER)]
14661     HRESULT referrer([retval, out] BSTR *p);
14662
14663     [propget, id(DISPID_IHTMLDOCUMENT2_LOCATION)]
14664     HRESULT location([retval, out] IHTMLLocation **p);
14665
14666     [propget, id(DISPID_IHTMLDOCUMENT2_LASTMODIFIED)]
14667     HRESULT lastModified([retval, out] BSTR *p);
14668
14669     [propput, id(DISPID_IHTMLDOCUMENT2_URL)]
14670     HRESULT URL([in] BSTR v);
14671
14672     [propget, id(DISPID_IHTMLDOCUMENT2_URL)]
14673     HRESULT URL([retval, out] BSTR *p);
14674
14675     [propput, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
14676     HRESULT domain([in] BSTR v);
14677
14678     [propget, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
14679     HRESULT domain([retval, out] BSTR *p);
14680
14681     [propput, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
14682     HRESULT cookie([in] BSTR v);
14683
14684     [propget, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
14685     HRESULT cookie([retval, out] BSTR *p);
14686
14687     [propput, id(DISPID_IHTMLDOCUMENT2_EXPANDO)]
14688     HRESULT expando([in] VARIANT_BOOL v);
14689
14690     [propget, id(DISPID_IHTMLDOCUMENT2_EXPANDO)]
14691     HRESULT expando([retval, out] VARIANT_BOOL *p);
14692
14693     [propput, id(DISPID_IHTMLDOCUMENT2_CHARSET)]
14694      HRESULT charset([in] BSTR v);
14695
14696     [propget, id(DISPID_IHTMLDOCUMENT2_CHARSET)]
14697     HRESULT charset([retval, out] BSTR *p);
14698
14699     [propput, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
14700     HRESULT defaultCharset([in] BSTR v);
14701
14702     [propget, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
14703     HRESULT defaultCharset([retval, out] BSTR *p);
14704
14705     [propget, id(DISPID_IHTMLDOCUMENT2_MIMETYPE)]
14706     HRESULT mimeType([retval, out] BSTR *p);
14707
14708     [propget, id(DISPID_IHTMLDOCUMENT2_FILESIZE)]
14709     HRESULT fileSize([retval, out] BSTR *p);
14710
14711     [propget, id(DISPID_IHTMLDOCUMENT2_FILECREATEDDATE)]
14712     HRESULT fileCreatedDate([retval, out] BSTR *p);
14713
14714     [propget, id(DISPID_IHTMLDOCUMENT2_FILEMODIFIEDDATE)]
14715     HRESULT fileModifiedDate([retval, out] BSTR *p);
14716
14717     [propget, id(DISPID_IHTMLDOCUMENT2_FILEUPDATEDDATE)]
14718     HRESULT fileUpdatedDate([retval, out] BSTR *p);
14719
14720     [propget, id(DISPID_IHTMLDOCUMENT2_SECURITY)]
14721     HRESULT security([retval, out] BSTR *p);
14722
14723     [propget, id(DISPID_IHTMLDOCUMENT2_PROTOCOL)]
14724     HRESULT protocol([retval, out] BSTR *p);
14725
14726     [propget, id(DISPID_IHTMLDOCUMENT2_NAMEPROP)]
14727      HRESULT nameProp([retval, out] BSTR *p);
14728
14729     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITE)]
14730     HRESULT write([in] SAFEARRAY(VARIANT) psarray);
14731
14732     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITELN)]
14733     HRESULT writeln([in] SAFEARRAY(VARIANT) psarray);
14734
14735     [id(DISPID_IHTMLDOCUMENT2_OPEN)]
14736     HRESULT open(
14737         [defaultvalue("text/html"), in] BSTR url,
14738         [optional, in] VARIANT name,
14739         [optional, in] VARIANT features,
14740         [optional, in] VARIANT replace,
14741         [retval, out]  IDispatch **pomWindowResult);
14742
14743     [id(DISPID_IHTMLDOCUMENT2_CLOSE)]
14744     HRESULT close();
14745
14746     [id(DISPID_IHTMLDOCUMENT2_CLEAR)]
14747     HRESULT clear();
14748
14749     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSUPPORTED)]
14750     HRESULT queryCommandSupported(
14751         [in] BSTR cmdID,
14752         [retval, out] VARIANT_BOOL *pfRet);
14753
14754     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDENABLED)]
14755     HRESULT queryCommandEnabled(
14756         [in] BSTR cmdID,
14757         [retval, out] VARIANT_BOOL *pfRet);
14758
14759     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSTATE)]
14760     HRESULT queryCommandState(
14761         [in] BSTR cmdID,
14762         [retval, out] VARIANT_BOOL *pfRet);
14763
14764     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDINDETERM)]
14765     HRESULT queryCommandIndeterm(
14766         [in] BSTR cmdID,
14767         [retval, out] VARIANT_BOOL *pfRet);
14768
14769     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDTEXT)]
14770     HRESULT queryCommandText(
14771         [in] BSTR cmdID,
14772         [retval, out] BSTR *pcmdText);
14773
14774     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDVALUE)]
14775     HRESULT queryCommandValue(
14776         [in] BSTR cmdID,
14777         [retval, out] VARIANT *pcmdValue);
14778
14779     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMAND)]
14780     HRESULT execCommand(
14781         [in] BSTR cmdID,
14782         [defaultvalue(0), in] VARIANT_BOOL showUI,
14783         [optional, in] VARIANT value,
14784         [retval, out] VARIANT_BOOL *pfRet);
14785
14786     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMANDSHOWHELP)]
14787     HRESULT execCommandShowHelp(
14788         [in] BSTR cmdID,
14789         [retval, out] VARIANT_BOOL *pfRet);
14790
14791     [id(DISPID_IHTMLDOCUMENT2_CREATEELEMENT)]
14792      HRESULT createElement(
14793         [in] BSTR eTag,
14794         [retval, out] IHTMLElement **newElem);
14795
14796     [propput, id(DISPID_IHTMLDOCUMENT2_ONHELP)]
14797     HRESULT onhelp([in] VARIANT v);
14798
14799     [propget, id(DISPID_IHTMLDOCUMENT2_ONHELP)]
14800     HRESULT onhelp([retval, out] VARIANT *p);
14801
14802     [propput, id(DISPID_IHTMLDOCUMENT2_ONCLICK)]
14803     HRESULT onclick([in] VARIANT v);
14804
14805     [propget, id(DISPID_IHTMLDOCUMENT2_ONCLICK)]
14806     HRESULT onclick([retval, out] VARIANT *p);
14807
14808     [propput, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK)]
14809     HRESULT ondblclick([in] VARIANT v);
14810
14811     [propget, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK)]
14812     HRESULT ondblclick([retval, out] VARIANT *p);
14813
14814     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYUP)]
14815     HRESULT onkeyup([in] VARIANT v);
14816
14817     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYUP)]
14818     HRESULT onkeyup([retval, out] VARIANT *p);
14819
14820     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN)]
14821     HRESULT onkeydown([in] VARIANT v);
14822
14823     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN)]
14824     HRESULT onkeydown([retval, out] VARIANT *p);
14825
14826     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS)]
14827      HRESULT onkeypress([in] VARIANT v);
14828
14829     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS)]
14830     HRESULT onkeypress([retval, out] VARIANT *p);
14831
14832     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP)]
14833     HRESULT onmouseup([in] VARIANT v);
14834
14835     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP)]
14836     HRESULT onmouseup([retval, out] VARIANT *p);
14837
14838     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN)]
14839     HRESULT onmousedown([in] VARIANT v);
14840
14841     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN)]
14842     HRESULT onmousedown([retval, out] VARIANT *p);
14843
14844     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE)]
14845     HRESULT onmousemove([in] VARIANT v);
14846
14847     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE)]
14848     HRESULT onmousemove([retval, out] VARIANT *p);
14849
14850     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT)]
14851     HRESULT onmouseout([in] VARIANT v);
14852
14853     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT)]
14854     HRESULT onmouseout([retval, out] VARIANT *p);
14855
14856     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER)]
14857     HRESULT onmouseover([in] VARIANT v);
14858
14859     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER)]
14860     HRESULT onmouseover([retval, out] VARIANT *p);
14861
14862     [propput, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE)]
14863     HRESULT onreadystatechange([in] VARIANT v);
14864
14865     [propget, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE)]
14866     HRESULT onreadystatechange([retval, out] VARIANT *p);
14867
14868     [propput, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE)]
14869     HRESULT onafterupdate([in] VARIANT v);
14870
14871     [propget, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE)]
14872     HRESULT onafterupdate([retval, out] VARIANT *p);
14873
14874     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT)]
14875     HRESULT onrowexit([in] VARIANT v);
14876
14877     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT)]
14878     HRESULT onrowexit([retval, out] VARIANT *p);
14879
14880     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWENTER)]
14881     HRESULT onrowenter([in] VARIANT v);
14882
14883     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWENTER)]
14884     HRESULT onrowenter([retval, out] VARIANT *p);
14885
14886     [propput, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART)]
14887     HRESULT ondragstart([in] VARIANT v);
14888
14889     [propget, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART)]
14890     HRESULT ondragstart([retval, out] VARIANT *p);
14891
14892     [propput, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART)]
14893     HRESULT onselectstart([in] VARIANT v);
14894
14895     [propget, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART)]
14896     HRESULT onselectstart([retval, out] VARIANT *p);
14897
14898     [id(DISPID_IHTMLDOCUMENT2_ELEMENTFROMPOINT)]
14899     HRESULT elementFromPoint(
14900         [in] long x,
14901         [in] long y,
14902         [retval, out] IHTMLElement **elementHit);
14903
14904     [propget, id(DISPID_IHTMLDOCUMENT2_PARENTWINDOW)]
14905     HRESULT parentWindow([retval, out] IHTMLWindow2 **p);
14906
14907     [propget, id(DISPID_IHTMLDOCUMENT2_STYLESHEETS)]
14908     HRESULT styleSheets([retval, out] IHTMLStyleSheetsCollection **p);
14909
14910     [propput, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE)]
14911     HRESULT onbeforeupdate([in] VARIANT v);
14912
14913     [propget, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE)]
14914     HRESULT onbeforeupdate([retval, out] VARIANT *p);
14915
14916     [propput, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE)]
14917     HRESULT onerrorupdate([in] VARIANT v);
14918
14919     [propget, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE)]
14920     HRESULT onerrorupdate([retval, out] VARIANT *p);
14921
14922     [id(DISPID_IHTMLDOCUMENT2_TOSTRING)]
14923     HRESULT toString([retval, out] BSTR *String);
14924
14925     [id(DISPID_IHTMLDOCUMENT2_CREATESTYLESHEET)]
14926     HRESULT createStyleSheet(
14927         [defaultvalue(""), in] BSTR bstrHref,
14928         [defaultvalue(-1), in] long lIndex,
14929         [retval, out] IHTMLStyleSheet **ppnewStyleSheet);
14930 }
14931
14932 /*****************************************************************************
14933  *    IHTMLDocument3 interface
14934  */
14935 [
14936     odl,
14937     oleautomation,
14938     dual,
14939     uuid(3050f485-98b5-11cf-bb82-00aa00bdce0b)
14940 ]
14941 interface IHTMLDocument3 : IDispatch
14942 {
14943     [id(DISPID_IHTMLDOCUMENT3_RELEASECAPTURE)]
14944     HRESULT releaseCapture();
14945
14946     [id(DISPID_IHTMLDOCUMENT3_RECALC)]
14947     HRESULT recalc([defaultvalue(0), in] VARIANT_BOOL fForce);
14948
14949     [id(DISPID_IHTMLDOCUMENT3_CREATETEXTNODE)]
14950     HRESULT createTextNode(
14951         [in] BSTR text,
14952         [retval, out] IHTMLDOMNode **newTextNode);
14953
14954     [propget, id(DISPID_IHTMLDOCUMENT3_DOCUMENTELEMENT)]
14955     HRESULT documentElement([retval, out] IHTMLElement **p);
14956
14957     [propget, id(DISPID_IHTMLDOCUMENT3_UNIQUEID), hidden]
14958     HRESULT uniqueID([retval, out] BSTR *p);
14959
14960     [id(DISPID_IHTMLDOCUMENT3_ATTACHEVENT)]
14961     HRESULT attachEvent(
14962         [in] BSTR event,
14963         [in] IDispatch* pDisp,
14964         [retval, out] VARIANT_BOOL *pfResult);
14965
14966     [id(DISPID_IHTMLDOCUMENT3_DETACHEVENT)]
14967     HRESULT detachEvent(
14968         [in] BSTR event,
14969         [in] IDispatch *pDisp);
14970
14971     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
14972     HRESULT onrowsdelete([in] VARIANT v);
14973
14974     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
14975     HRESULT onrowsdelete([retval, out] VARIANT *p);
14976
14977     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
14978     HRESULT onrowsinserted([in] VARIANT v);
14979
14980     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
14981     HRESULT onrowsinserted([retval, out] VARIANT *p);
14982
14983     [propput, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
14984     HRESULT oncellchange([in] VARIANT v);
14985
14986     [propget, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
14987     HRESULT oncellchange([retval, out] VARIANT *p);
14988
14989     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
14990     HRESULT ondatasetchanged([in] VARIANT v);
14991
14992     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
14993     HRESULT ondatasetchanged([retval, out] VARIANT *p);
14994
14995     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
14996     HRESULT ondataavailable([in] VARIANT v);
14997
14998     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
14999     HRESULT ondataavailable([retval, out] VARIANT * p);
15000
15001     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
15002     HRESULT ondatasetcomplete([in] VARIANT v);
15003
15004     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
15005     HRESULT ondatasetcomplete([retval, out] VARIANT *p);
15006
15007     [propput, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
15008     HRESULT onpropertychange([in] VARIANT v);
15009
15010     [propget, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
15011     HRESULT onpropertychange([retval, out] VARIANT *p);
15012
15013     [propput, id(DISPID_IHTMLDOCUMENT3_DIR)]
15014     HRESULT dir([in] BSTR v);
15015
15016     [propget, id(DISPID_IHTMLDOCUMENT3_DIR)]
15017     HRESULT dir([retval, out] BSTR *p);
15018
15019     [propput, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
15020     HRESULT oncontextmenu([in] VARIANT v);
15021
15022     [propget, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
15023     HRESULT oncontextmenu([retval, out] VARIANT *p);
15024
15025     [propput, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
15026     HRESULT onstop([in] VARIANT v);
15027
15028     [propget, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
15029     HRESULT onstop([retval, out] VARIANT *p);
15030
15031     [id(DISPID_IHTMLDOCUMENT3_CREATEDOCUMENTFRAGMENT)]
15032     HRESULT createDocumentFragment([retval, out] IHTMLDocument2 **pNewDoc);
15033
15034     [propget, id(DISPID_IHTMLDOCUMENT3_PARENTDOCUMENT), hidden, restricted]
15035     HRESULT parentDocument([retval, out] IHTMLDocument2 **p);
15036
15037     [propput, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
15038     HRESULT enableDownload([in] VARIANT_BOOL v);
15039
15040     [propget, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
15041     HRESULT enableDownload([retval, out] VARIANT_BOOL *p);
15042
15043     [propput, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
15044     HRESULT baseUrl([in] BSTR v);
15045
15046     [propget, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
15047     HRESULT baseUrl([retval, out] BSTR *p);
15048
15049     [propget, id(DISPID_IHTMLDOCUMENT3_CHILDNODES)]
15050     HRESULT childNodes([retval, out] IDispatch **p);
15051
15052     [propput, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
15053     HRESULT inheritStyleSheets([in] VARIANT_BOOL v);
15054
15055     [propget, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
15056     HRESULT inheritStyleSheets([retval, out] VARIANT_BOOL *p);
15057
15058     [propput, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
15059     HRESULT onbeforeeditfocus([in] VARIANT v);
15060
15061     [propget, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
15062     HRESULT onbeforeeditfocus([retval, out] VARIANT *p);
15063
15064     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYNAME)]
15065     HRESULT getElementsByName(
15066         [in] BSTR v,
15067         [retval, out] IHTMLElementCollection **pelColl);
15068
15069     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTBYID)]
15070     HRESULT getElementById(
15071         [in] BSTR v,
15072         [retval, out] IHTMLElement **pel);
15073
15074     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYTAGNAME)]
15075     HRESULT getElementsByTagName(
15076         [in] BSTR v,
15077         [retval, out] IHTMLElementCollection **pelColl);
15078 }
15079
15080 /*****************************************************************************
15081  *    IHTMLDocument4 interface
15082  */
15083 [
15084     odl,
15085     oleautomation,
15086     dual,
15087     uuid(3050f69a-98b5-11cf-bb82-00aa00bdce0b)
15088 ]
15089 interface IHTMLDocument4 : IDispatch
15090 {
15091     [id(DISPID_IHTMLDOCUMENT4_FOCUS)]
15092     HRESULT focus();
15093
15094     [id(DISPID_IHTMLDOCUMENT4_HASFOCUS)]
15095     HRESULT hasFocus([retval, out] VARIANT_BOOL *pfFocus);
15096
15097     [propput, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
15098     HRESULT onselectionchange([in] VARIANT v);
15099
15100     [propget, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
15101     HRESULT onselectionchange([retval, out] VARIANT *p);
15102
15103     [propget, id(DISPID_IHTMLDOCUMENT4_NAMESPACES)]
15104     HRESULT namespaces([retval, out] IDispatch **p);
15105
15106     [id(DISPID_IHTMLDOCUMENT4_CREATEDOCUMENTFROMURL)]
15107     HRESULT createDocumentFromUrl(
15108         [in] BSTR bstrUrl,
15109         [in] BSTR bstrOptions,
15110         [retval, out] IHTMLDocument2 **newDoc);
15111
15112     [propput, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
15113     HRESULT media([in] BSTR v);
15114
15115     [propget, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
15116     HRESULT media([retval, out] BSTR *p);
15117
15118     [id(DISPID_IHTMLDOCUMENT4_CREATEEVENTOBJECT)]
15119     HRESULT createEventObject(
15120         [optional, in] VARIANT *pvarEventObject,
15121         [retval, out] IHTMLEventObj **ppEventObj);
15122
15123     [id(DISPID_IHTMLDOCUMENT4_FIREEVENT)]
15124     HRESULT fireEvent(
15125         [in] BSTR bstrEventName,
15126         [optional, in] VARIANT *pvarEventObject,
15127         [retval, out] VARIANT_BOOL *pfCancelled);
15128
15129     [id(DISPID_IHTMLDOCUMENT4_CREATERENDERSTYLE)]
15130     HRESULT createRenderStyle(
15131         [in] BSTR v,
15132         [retval, out] IHTMLRenderStyle **ppIHTMLRenderStyle);
15133
15134     [propput, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
15135     HRESULT oncontrolselect([in] VARIANT v);
15136
15137     [propget, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
15138     HRESULT oncontrolselect([retval, out] VARIANT *p);
15139
15140     [propget, id(DISPID_IHTMLDOCUMENT4_URLUNENCODED)]
15141     HRESULT URLUnencoded([retval, out] BSTR *p);
15142 }
15143
15144 /*****************************************************************************
15145  *    IHTMLDocument5 interface
15146  */
15147 [
15148     odl,
15149     oleautomation,
15150     dual,
15151     uuid(3050f80c-98b5-11cf-bb82-00aa00bdce0b)
15152 ]
15153 interface IHTMLDocument5 : IDispatch
15154 {
15155     [propput, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
15156     HRESULT onmousewheel([in] VARIANT v);
15157
15158     [propget, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
15159     HRESULT onmousewheel([retval, out] VARIANT *p);
15160
15161     [propget, id(DISPID_IHTMLDOCUMENT5_DOCTYPE)]
15162     HRESULT doctype([retval, out] IHTMLDOMNode **p);
15163
15164     [propget, id(DISPID_IHTMLDOCUMENT5_IMPLEMENTATION)]
15165     HRESULT implementation([retval, out] IHTMLDOMImplementation **p);
15166
15167     [id(DISPID_IHTMLDOCUMENT5_CREATEATTRIBUTE)]
15168     HRESULT createAttribute(
15169         [in] BSTR bstrattrName,
15170         [retval, out] IHTMLDOMAttribute **ppattribute);
15171
15172     [id(DISPID_IHTMLDOCUMENT5_CREATECOMMENT)]
15173     HRESULT createComment(
15174         [in] BSTR bstrdata,
15175         [retval, out] IHTMLDOMNode **ppRetNode);
15176
15177     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
15178     HRESULT onfocusin([in] VARIANT v);
15179
15180     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
15181     HRESULT onfocusin([retval, out] VARIANT *p);
15182
15183     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
15184     HRESULT onfocusout([in] VARIANT v);
15185
15186     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
15187     HRESULT onfocusout([retval, out] VARIANT *p);
15188
15189     [propput, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
15190     HRESULT onactivate([in] VARIANT v);
15191
15192     [propget, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
15193     HRESULT onactivate([retval, out] VARIANT *p);
15194
15195     [propput, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
15196     HRESULT ondeactivate([in] VARIANT v);
15197
15198     [propget, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
15199     HRESULT ondeactivate([retval, out] VARIANT *p);
15200
15201     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
15202     HRESULT onbeforeactivate([in] VARIANT v);
15203
15204     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
15205     HRESULT onbeforeactivate([retval, out] VARIANT *p);
15206
15207     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
15208     HRESULT onbeforedeactivate([in] VARIANT v);
15209
15210     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
15211     HRESULT onbeforedeactivate([retval, out] VARIANT *p);
15212
15213     [propget, id(DISPID_IHTMLDOCUMENT5_COMPATMODE)]
15214     HRESULT compatMode([retval, out] BSTR *p);
15215 }
15216
15217 /*****************************************************************************
15218  *    DispHTMLDocument dispinterface
15219  */
15220 [
15221     hidden,
15222     uuid(3050f55f-98b5-11cf-bb82-00aa00bdce0b)
15223 ]
15224 dispinterface DispHTMLDocument
15225 {
15226 properties:
15227 methods:
15228     [propget, id(DISPID_IHTMLDOCUMENT_SCRIPT), hidden, nonbrowsable]
15229     IDispatch *Script();
15230
15231     [propget, id(DISPID_IHTMLDOCUMENT2_ALL)]
15232     IHTMLElementCollection *all();
15233
15234     [propget, id(DISPID_IHTMLDOCUMENT2_BODY)]
15235     IHTMLElement *body();
15236
15237     [propget, id(DISPID_IHTMLDOCUMENT2_ACTIVEELEMENT)]
15238     IHTMLElement *activeElement();
15239
15240     [propget, id(DISPID_IHTMLDOCUMENT2_IMAGES)]
15241     IHTMLElementCollection *images();
15242
15243     [propget, id(DISPID_IHTMLDOCUMENT2_APPLETS)]
15244     IHTMLElementCollection *applets();
15245
15246     [propget, id(DISPID_IHTMLDOCUMENT2_LINKS)]
15247     IHTMLElementCollection *links();
15248
15249     [propget, id(DISPID_IHTMLDOCUMENT2_FORMS)]
15250     IHTMLElementCollection *forms();
15251
15252     [propget, id(DISPID_IHTMLDOCUMENT2_ANCHORS)]
15253     IHTMLElementCollection *anchors();
15254
15255     [propput, id(DISPID_IHTMLDOCUMENT2_TITLE)]
15256     void title(BSTR v);
15257
15258     [propget, id(DISPID_IHTMLDOCUMENT2_TITLE)]
15259     BSTR title();
15260
15261     [propget, id(DISPID_IHTMLDOCUMENT2_SCRIPTS)]
15262     IHTMLElementCollection *scripts();
15263
15264     [propput, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE), hidden]
15265     void designMode(BSTR v);
15266
15267     [propget, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE), hidden]
15268     BSTR designMode();
15269
15270     [propget, id(DISPID_IHTMLDOCUMENT2_SELECTION)]
15271     IHTMLSelectionObject *selection();
15272
15273     [propget, id(DISPID_IHTMLDOCUMENT2_READYSTATE), bindable]
15274     BSTR readyState();
15275
15276     [propget, id(DISPID_IHTMLDOCUMENT2_FRAMES)]
15277     IHTMLFramesCollection2 *frames();
15278
15279     [propget, id(DISPID_IHTMLDOCUMENT2_EMBEDS)]
15280     IHTMLElementCollection *embeds();
15281
15282     [propget, id(DISPID_IHTMLDOCUMENT2_PLUGINS)]
15283     IHTMLElementCollection *plugins();
15284
15285     [propput, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
15286     void alinkColor(VARIANT v);
15287
15288     [propget, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
15289     VARIANT alinkColor();
15290
15291     [propput, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
15292     void bgColor(VARIANT v);
15293
15294     [propget, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
15295     VARIANT bgColor();
15296
15297     [propput, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
15298     void fgColor(VARIANT v);
15299
15300     [propget, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
15301     VARIANT fgColor();
15302
15303     [propput, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
15304     void linkColor(VARIANT v);
15305
15306     [propget, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
15307     VARIANT linkColor();
15308
15309     [propput, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
15310     void vlinkColor(VARIANT v);
15311
15312     [propget, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
15313     VARIANT vlinkColor();
15314
15315     [propget, id(DISPID_IHTMLDOCUMENT2_REFERRER)]
15316     BSTR referrer();
15317
15318     [propget, id(DISPID_IHTMLDOCUMENT2_LOCATION)]
15319     IHTMLLocation *location();
15320
15321     [propget, id(DISPID_IHTMLDOCUMENT2_LASTMODIFIED)]
15322     BSTR lastModified();
15323
15324     [propput, id(DISPID_IHTMLDOCUMENT2_URL)]
15325     void URL(BSTR v);
15326
15327     [propget, id(DISPID_IHTMLDOCUMENT2_URL)]
15328     BSTR URL();
15329
15330     [propput, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
15331     void domain(BSTR v);
15332
15333     [propget, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
15334     BSTR domain();
15335
15336     [propput, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
15337     void cookie(BSTR v);
15338
15339     [propget, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
15340     BSTR cookie();
15341
15342     [propput, id(DISPID_IHTMLDOCUMENT2_EXPANDO), bindable, hidden]
15343     void expando(VARIANT_BOOL v);
15344
15345     [propget, id(DISPID_IHTMLDOCUMENT2_EXPANDO), bindable, hidden]
15346     VARIANT_BOOL expando();
15347
15348     [propput, id(DISPID_IHTMLDOCUMENT2_CHARSET), hidden]
15349     void charset(BSTR v);
15350
15351     [propget, id(DISPID_IHTMLDOCUMENT2_CHARSET), hidden]
15352     BSTR charset();
15353
15354     [propput, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
15355     void defaultCharset(BSTR v);
15356
15357     [propget, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
15358     BSTR defaultCharset();
15359
15360     [propget, id(DISPID_IHTMLDOCUMENT2_MIMETYPE)]
15361     BSTR mimeType();
15362
15363     [propget, id(DISPID_IHTMLDOCUMENT2_FILESIZE)]
15364     BSTR fileSize();
15365
15366     [propget, id(DISPID_IHTMLDOCUMENT2_FILECREATEDDATE)]
15367     BSTR fileCreatedDate();
15368
15369     [propget, id(DISPID_IHTMLDOCUMENT2_FILEMODIFIEDDATE)]
15370     BSTR fileModifiedDate();
15371
15372     [propget, id(DISPID_IHTMLDOCUMENT2_FILEUPDATEDDATE)]
15373     BSTR fileUpdatedDate();
15374
15375     [propget, id(DISPID_IHTMLDOCUMENT2_SECURITY)]
15376     BSTR security();
15377
15378     [propget, id(DISPID_IHTMLDOCUMENT2_PROTOCOL)]
15379     BSTR protocol();
15380
15381     [propget, id(DISPID_IHTMLDOCUMENT2_NAMEPROP)]
15382     BSTR nameProp();
15383
15384     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITE)]
15385     void write([in] SAFEARRAY(VARIANT) psarray);
15386
15387     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITELN)]
15388     void writeln([in] SAFEARRAY(VARIANT) psarray);
15389
15390     [id(DISPID_IHTMLDOCUMENT2_OPEN)]
15391     IDispatch *open(
15392         [defaultvalue("text/html"), in] BSTR url,
15393         [optional, in] VARIANT name,
15394         [optional, in] VARIANT features,
15395         [optional, in] VARIANT replace);
15396
15397     [id(DISPID_IHTMLDOCUMENT2_CLOSE)]
15398     void close();
15399
15400     [id(DISPID_IHTMLDOCUMENT2_CLEAR)]
15401     void clear();
15402
15403     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSUPPORTED)]
15404     VARIANT_BOOL queryCommandSupported([in] BSTR cmdID);
15405
15406     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDENABLED)]
15407     VARIANT_BOOL queryCommandEnabled([in] BSTR cmdID);
15408
15409     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSTATE)]
15410     VARIANT_BOOL queryCommandState([in] BSTR cmdID);
15411
15412     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDINDETERM)]
15413     VARIANT_BOOL queryCommandIndeterm([in] BSTR cmdID);
15414
15415     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDTEXT)]
15416     BSTR queryCommandText([in] BSTR cmdID);
15417
15418     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDVALUE)]
15419     VARIANT queryCommandValue([in] BSTR cmdID);
15420
15421     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMAND)]
15422     VARIANT_BOOL execCommand(
15423         [in] BSTR cmdID,
15424         [defaultvalue(0), in] VARIANT_BOOL showUI,
15425         [optional, in] VARIANT value);
15426
15427     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMANDSHOWHELP)]
15428     VARIANT_BOOL execCommandShowHelp([in] BSTR cmdID);
15429
15430     [id(DISPID_IHTMLDOCUMENT2_CREATEELEMENT)]
15431     IHTMLElement *createElement([in] BSTR eTag);
15432
15433     [propput, id(DISPID_IHTMLDOCUMENT2_ONHELP), displaybind, bindable]
15434     void onhelp(VARIANT v);
15435
15436     [propget, id(DISPID_IHTMLDOCUMENT2_ONHELP), displaybind, bindable]
15437     VARIANT onhelp();
15438
15439     [propput, id(DISPID_IHTMLDOCUMENT2_ONCLICK), displaybind, bindable]
15440     void onclick(VARIANT v);
15441
15442     [propget, id(DISPID_IHTMLDOCUMENT2_ONCLICK), displaybind, bindable]
15443     VARIANT onclick();
15444
15445     [propput, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK), displaybind, bindable]
15446     void ondblclick(VARIANT v);
15447
15448     [propget, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK), displaybind, bindable]
15449     VARIANT ondblclick();
15450
15451     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYUP), displaybind, bindable]
15452     void onkeyup(VARIANT v);
15453
15454     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYUP), displaybind, bindable]
15455     VARIANT onkeyup();
15456
15457     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN), displaybind, bindable]
15458     void onkeydown(VARIANT v);
15459
15460     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN), displaybind, bindable]
15461     VARIANT onkeydown();
15462
15463     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS), displaybind, bindable]
15464     void onkeypress(VARIANT v);
15465
15466     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS), displaybind, bindable]
15467     VARIANT onkeypress();
15468
15469     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP), displaybind, bindable]
15470     void onmouseup(VARIANT v);
15471
15472     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP), displaybind, bindable]
15473     VARIANT onmouseup();
15474
15475     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN), displaybind, bindable]
15476     void onmousedown(VARIANT v);
15477
15478     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN), displaybind, bindable]
15479     VARIANT onmousedown();
15480
15481     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE), displaybind, bindable]
15482     void onmousemove(VARIANT v);
15483
15484     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE), displaybind, bindable]
15485     VARIANT onmousemove();
15486
15487     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT), displaybind, bindable]
15488     void onmouseout(VARIANT v);
15489
15490     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT), displaybind, bindable]
15491     VARIANT onmouseout();
15492
15493     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER), displaybind, bindable]
15494     void onmouseover(VARIANT v);
15495
15496     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER), displaybind, bindable]
15497     VARIANT onmouseover();
15498
15499     [propput, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE), displaybind, bindable]
15500     void onreadystatechange(VARIANT v);
15501
15502     [propget, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE), displaybind, bindable]
15503     VARIANT onreadystatechange();
15504
15505     [propput, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE), displaybind, bindable]
15506     void onafterupdate(VARIANT v);
15507
15508     [propget, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE), displaybind, bindable]
15509     VARIANT onafterupdate();
15510
15511     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT), displaybind, bindable]
15512     void onrowexit(VARIANT v);
15513
15514     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT), displaybind, bindable]
15515     VARIANT onrowexit();
15516
15517     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWENTER), displaybind, bindable]
15518     void onrowenter(VARIANT v);
15519
15520     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWENTER), displaybind, bindable]
15521     VARIANT onrowenter();
15522
15523     [propput, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART), displaybind, bindable]
15524     void ondragstart(VARIANT v);
15525
15526     [propget, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART), displaybind, bindable]
15527     VARIANT ondragstart();
15528
15529     [propput, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART), displaybind, bindable]
15530     void onselectstart(VARIANT v);
15531
15532     [propget, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART), displaybind, bindable]
15533     VARIANT onselectstart();
15534
15535     [id(DISPID_IHTMLDOCUMENT2_ELEMENTFROMPOINT)]
15536     IHTMLElement *elementFromPoint(
15537         [in] long x,
15538         [in] long y);
15539
15540     [propget, id(DISPID_IHTMLDOCUMENT2_PARENTWINDOW)]
15541     IHTMLWindow2 *parentWindow();
15542
15543     [propget, id(DISPID_IHTMLDOCUMENT2_STYLESHEETS)]
15544     IHTMLStyleSheetsCollection *styleSheets();
15545
15546     [propput, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE), displaybind, bindable]
15547     void onbeforeupdate(VARIANT v);
15548
15549     [propget, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE), displaybind, bindable]
15550     VARIANT onbeforeupdate();
15551
15552     [propput, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE), displaybind, bindable]
15553     void onerrorupdate(VARIANT v);
15554
15555     [propget, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE), displaybind, bindable]
15556     VARIANT onerrorupdate();
15557
15558     [id(DISPID_IHTMLDOCUMENT2_TOSTRING)]
15559     BSTR toString();
15560
15561     [id(DISPID_IHTMLDOCUMENT2_CREATESTYLESHEET)]
15562     IHTMLStyleSheet *createStyleSheet(
15563         [defaultvalue(""), in] BSTR bstrHref,
15564         [defaultvalue(-1), in] long lIndex);
15565
15566     [id(DISPID_IHTMLDOCUMENT3_RELEASECAPTURE)]
15567     void releaseCapture();
15568
15569     [id(DISPID_IHTMLDOCUMENT3_RECALC)]
15570     void recalc([defaultvalue(0), in] VARIANT_BOOL fForce);
15571
15572     [id(DISPID_IHTMLDOCUMENT3_CREATETEXTNODE)]
15573     IHTMLDOMNode *createTextNode([in] BSTR text);
15574
15575     [propget, id(DISPID_IHTMLDOCUMENT3_DOCUMENTELEMENT)]
15576     IHTMLElement *documentElement();
15577
15578     [propget, id(DISPID_IHTMLDOCUMENT3_UNIQUEID), hidden]
15579     BSTR uniqueID();
15580
15581     [id(DISPID_IHTMLDOCUMENT3_ATTACHEVENT)]
15582     VARIANT_BOOL attachEvent(
15583         [in] BSTR event,
15584         [in] IDispatch *pDisp);
15585
15586     [id(DISPID_IHTMLDOCUMENT3_DETACHEVENT)]
15587     void detachEvent(
15588         [in] BSTR event,
15589         [in] IDispatch *pDisp);
15590
15591     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
15592     void onrowsdelete(VARIANT v);
15593
15594     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
15595     VARIANT onrowsdelete();
15596
15597     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
15598     void onrowsinserted(VARIANT v);
15599
15600     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
15601     VARIANT onrowsinserted();
15602
15603     [propput, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
15604     void oncellchange(VARIANT v);
15605
15606     [propget, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
15607     VARIANT oncellchange();
15608
15609     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
15610     void ondatasetchanged(VARIANT v);
15611
15612     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
15613     VARIANT ondatasetchanged();
15614
15615     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
15616     void ondataavailable(VARIANT v);
15617
15618     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
15619     VARIANT ondataavailable();
15620
15621     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
15622     void ondatasetcomplete(VARIANT v);
15623
15624     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
15625     VARIANT ondatasetcomplete();
15626
15627     [propput, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
15628     void onpropertychange(VARIANT v);
15629
15630     [propget, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
15631     VARIANT onpropertychange();
15632
15633     [propput, id(DISPID_IHTMLDOCUMENT3_DIR)]
15634     void dir(BSTR v);
15635
15636     [propget, id(DISPID_IHTMLDOCUMENT3_DIR)]
15637     BSTR dir();
15638
15639     [propput, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
15640     void oncontextmenu(VARIANT v);
15641
15642     [propget, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
15643     VARIANT oncontextmenu();
15644
15645     [propput, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
15646     void onstop(VARIANT v);
15647
15648     [propget, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
15649     VARIANT onstop();
15650
15651     [id(DISPID_IHTMLDOCUMENT3_CREATEDOCUMENTFRAGMENT)]
15652     IHTMLDocument2 *createDocumentFragment();
15653
15654     [propget, id(DISPID_IHTMLDOCUMENT3_PARENTDOCUMENT), hidden, restricted]
15655     IHTMLDocument2 *parentDocument();
15656
15657     [propput, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
15658     void enableDownload(VARIANT_BOOL v);
15659
15660     [propget, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
15661     VARIANT_BOOL enableDownload();
15662
15663     [propput, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
15664     void baseUrl(BSTR v);
15665
15666     [propget, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
15667     BSTR baseUrl();
15668
15669     [propput, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
15670     void inheritStyleSheets(VARIANT_BOOL v);
15671
15672     [propget, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
15673     VARIANT_BOOL inheritStyleSheets();
15674
15675     [propput, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
15676     void onbeforeeditfocus(VARIANT v);
15677
15678     [propget, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
15679     VARIANT onbeforeeditfocus();
15680
15681     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYNAME)]
15682     IHTMLElementCollection *getElementsByName([in] BSTR v);
15683
15684     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTBYID)]
15685     IHTMLElement *getElementById([in] BSTR v);
15686
15687     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYTAGNAME)]
15688     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
15689
15690     [id(DISPID_IHTMLDOCUMENT4_FOCUS)]
15691     void focus();
15692
15693     [id(DISPID_IHTMLDOCUMENT4_HASFOCUS)]
15694     VARIANT_BOOL hasFocus();
15695
15696     [propput, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
15697     void onselectionchange(VARIANT v);
15698
15699     [propget, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
15700     VARIANT onselectionchange();
15701
15702     [propget, id(DISPID_IHTMLDOCUMENT4_NAMESPACES)]
15703     IDispatch *namespaces();
15704
15705     [id(DISPID_IHTMLDOCUMENT4_CREATEDOCUMENTFROMURL)]
15706     IHTMLDocument2 *createDocumentFromUrl(
15707         [in] BSTR bstrUrl,
15708         [in] BSTR bstrOptions);
15709
15710     [propput, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
15711     void media(BSTR v);
15712
15713     [propget, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
15714     BSTR media();
15715
15716     [id(DISPID_IHTMLDOCUMENT4_CREATEEVENTOBJECT)]
15717     IHTMLEventObj *createEventObject([optional, in] VARIANT *pvarEventObject);
15718
15719     [id(DISPID_IHTMLDOCUMENT4_FIREEVENT)]
15720     VARIANT_BOOL fireEvent(
15721         [in] BSTR bstrEventName,
15722         [optional, in] VARIANT *pvarEventObject);
15723
15724     [id(DISPID_IHTMLDOCUMENT4_CREATERENDERSTYLE)]
15725     IHTMLRenderStyle *createRenderStyle([in] BSTR v);
15726
15727     [propput, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
15728     void oncontrolselect(VARIANT v);
15729
15730     [propget, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
15731     VARIANT oncontrolselect();
15732
15733     [propget, id(DISPID_IHTMLDOCUMENT4_URLUNENCODED)]
15734     BSTR URLUnencoded();
15735
15736     [propput, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
15737     void onmousewheel(VARIANT v);
15738
15739     [propget, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
15740     VARIANT onmousewheel();
15741
15742     [propget, id(DISPID_IHTMLDOCUMENT5_DOCTYPE)]
15743     IHTMLDOMNode *doctype();
15744
15745     [propget, id(DISPID_IHTMLDOCUMENT5_IMPLEMENTATION)]
15746     IHTMLDOMImplementation *implementation();
15747
15748     [id(DISPID_IHTMLDOCUMENT5_CREATEATTRIBUTE)]
15749     IHTMLDOMAttribute *createAttribute([in] BSTR bstrattrName);
15750
15751     [id(DISPID_IHTMLDOCUMENT5_CREATECOMMENT)]
15752     IHTMLDOMNode *createComment([in] BSTR bstrdata);
15753
15754     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
15755     void onfocusin(VARIANT v);
15756
15757     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
15758     VARIANT onfocusin();
15759
15760     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
15761     void onfocusout(VARIANT v);
15762
15763     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
15764     VARIANT onfocusout();
15765
15766     [propput, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
15767     void onactivate(VARIANT v);
15768
15769     [propget, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
15770     VARIANT onactivate();
15771
15772     [propput, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
15773     void ondeactivate(VARIANT v);
15774
15775     [propget, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
15776     VARIANT ondeactivate();
15777
15778     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
15779     void onbeforeactivate(VARIANT v);
15780
15781     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
15782     VARIANT onbeforeactivate();
15783
15784     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
15785     void onbeforedeactivate(VARIANT v);
15786
15787     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
15788     VARIANT onbeforedeactivate();
15789
15790     [propget, id(DISPID_IHTMLDOCUMENT5_COMPATMODE)]
15791     BSTR compatMode();
15792
15793     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
15794     long nodeType();
15795
15796     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
15797     IHTMLDOMNode *parentNode();
15798
15799     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
15800     VARIANT_BOOL hasChildNodes();
15801
15802     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
15803     IDispatch *childNodes();
15804
15805     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
15806     IDispatch *attributes();
15807
15808     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
15809     IHTMLDOMNode *insertBefore(
15810         [in] IHTMLDOMNode *newChild,
15811         [optional, in] VARIANT refChild);
15812
15813     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
15814     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
15815
15816     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
15817     IHTMLDOMNode *replaceChild(
15818         [in] IHTMLDOMNode *newChild,
15819         [in] IHTMLDOMNode *oldChild);
15820
15821     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
15822     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
15823
15824     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
15825     IHTMLDOMNode *removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep);
15826
15827     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
15828     IHTMLDOMNode *swapNode([in] IHTMLDOMNode* otherNode);
15829
15830     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
15831     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
15832
15833     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
15834     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
15835
15836     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
15837     BSTR nodeName();
15838
15839     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
15840     void nodeValue(VARIANT v);
15841
15842     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
15843     VARIANT nodeValue();
15844
15845     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
15846     IHTMLDOMNode *firstChild();
15847
15848     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
15849     IHTMLDOMNode *lastChild();
15850
15851     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
15852     IHTMLDOMNode *previousSibling();
15853
15854     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
15855     IHTMLDOMNode *nextSibling();
15856
15857     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
15858     IDispatch *ownerDocument();
15859 }
15860
15861 /*****************************************************************************
15862  *    HTMLDocument coclass
15863  */
15864 [
15865     uuid(25336920-03F9-11cf-8FD0-00AA00686F13)
15866 ]
15867 coclass HTMLDocument
15868 {
15869     [default]         dispinterface DispHTMLDocument;
15870     [source, default] dispinterface HTMLDocumentEvents;
15871     [source]          dispinterface HTMLDocumentEvents2;
15872                       interface IHTMLDocument2;
15873                       interface IHTMLDocument3;
15874                       interface IHTMLDocument4;
15875                       interface IHTMLDocument5;
15876                       interface IHTMLDOMNode;
15877                       interface IHTMLDOMNode2;
15878 }
15879
15880 /*****************************************************************************
15881  *    IHTMLCommentElement interface
15882  */
15883 [
15884     odl,
15885     oleautomation,
15886     dual,
15887     uuid(3050f20c-98b5-11cf-bb82-00aa00bdce0b)
15888 ]
15889 interface IHTMLCommentElement : IDispatch
15890 {
15891     [propput, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
15892     HRESULT text([in] BSTR v);
15893
15894     [propget, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
15895     HRESULT text([out, retval] BSTR *p);
15896
15897     [propput, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
15898     HRESULT atomic([in] long v);
15899
15900     [propget, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
15901     HRESULT atomic([out, retval] long *p);
15902 }
15903
15904 /*****************************************************************************
15905  *    IHTMLCommentElement2 interface
15906  */
15907 [
15908     odl,
15909     oleautomation,
15910     dual,
15911     uuid(3050f813-98b5-11cf-bb82-00aa00bdce0b)
15912 ]
15913 interface IHTMLCommentElement2 : IDispatch
15914 {
15915     [propput, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
15916     HRESULT data([in] BSTR v);
15917
15918     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
15919     HRESULT data([out, retval] BSTR *p);
15920
15921     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_LENGTH)]
15922     HRESULT length([out, retval] long *p);
15923
15924     [id(DISPID_IHTMLCOMMENTELEMENT2_SUBSTRINGDATA)]
15925     HRESULT substringData(
15926             [in] long offset,
15927             [in] long Count,
15928             [out, retval] BSTR *pbstrsubString);
15929
15930     [id(DISPID_IHTMLCOMMENTELEMENT2_APPENDDATA)]
15931     HRESULT appendData([in] BSTR bstrstring);
15932
15933     [id(DISPID_IHTMLCOMMENTELEMENT2_INSERTDATA)]
15934     HRESULT insertData(
15935             [in] long offset,
15936             [in] BSTR bstrstring);
15937
15938     [id(DISPID_IHTMLCOMMENTELEMENT2_DELETEDATA)]
15939     HRESULT deleteData(
15940             [in] long offset,
15941             [in] long Count);
15942
15943     [id(DISPID_IHTMLCOMMENTELEMENT2_REPLACEDATA)]
15944     HRESULT replaceData(
15945             [in] long offset,
15946             [in] long Count,
15947             [in] BSTR bstrstring);
15948 }
15949
15950 /*****************************************************************************
15951  *    DispHTMLCommentElement dispinterface
15952  */
15953 [
15954     hidden,
15955     uuid(3050f50a-98b5-11cf-bb82-00aa00bdce0b)
15956 ]
15957 dispinterface DispHTMLCommentElement
15958 {
15959 properties:
15960 methods:
15961     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
15962     void setAttribute(
15963             [in] BSTR strAttributeName,
15964             [in] VARIANT AttributeValue,
15965             [in, defaultvalue(1)] LONG lFlags);
15966
15967     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
15968     VARIANT getAttribute(
15969              [in] BSTR strAttributeName,
15970              [in, defaultvalue(0)] LONG lFlags);
15971
15972     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
15973     VARIANT_BOOL removeAttribute(
15974             [in] BSTR strAttributeName,
15975             [in, defaultvalue(1)] LONG lFlags);
15976
15977     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
15978     void className(BSTR v);
15979
15980     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
15981     BSTR className();
15982
15983     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
15984     void id(BSTR v);
15985
15986     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
15987     BSTR id();
15988
15989     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
15990     BSTR tagName();
15991
15992     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
15993     IHTMLElement *parentElement();
15994
15995     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
15996     IHTMLStyle *style();
15997
15998     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
15999     void onhelp(VARIANT v);
16000
16001     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
16002     VARIANT onhelp();
16003
16004     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
16005     void onclick(VARIANT v);
16006
16007     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
16008     VARIANT onclick();
16009
16010     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
16011     void ondblclick(VARIANT v);
16012
16013     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
16014     VARIANT ondblclick();
16015
16016     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
16017     void onkeydown(VARIANT v);
16018
16019     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
16020     VARIANT onkeydown();
16021
16022     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
16023     void onkeyup(VARIANT v);
16024
16025     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
16026     VARIANT onkeyup();
16027
16028     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
16029     void onkeypress(VARIANT v);
16030
16031     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
16032     VARIANT onkeypress();
16033
16034     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
16035     void onmouseout(VARIANT v);
16036
16037     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
16038     VARIANT onmouseout();
16039
16040     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
16041     void onmouseover(VARIANT v);
16042
16043     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
16044     VARIANT onmouseover();
16045
16046     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
16047     void onmousemove(VARIANT v);
16048
16049     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
16050     VARIANT onmousemove();
16051
16052     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
16053     void onmousedown(VARIANT v);
16054
16055     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
16056     VARIANT onmousedown();
16057
16058     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
16059     void onmouseup(VARIANT v);
16060
16061     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
16062     VARIANT onmouseup();
16063
16064     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
16065     IDispatch *document();
16066
16067     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
16068     void title(BSTR v);
16069
16070     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
16071     BSTR title();
16072
16073     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
16074     void language(BSTR v);
16075
16076     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
16077     BSTR language();
16078
16079     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
16080     void onselectstart(VARIANT v);
16081
16082     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
16083     VARIANT onselectstart();
16084
16085     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
16086     void scrollIntoView([in, optional] VARIANT varargStart);
16087
16088     [id(DISPID_IHTMLELEMENT_CONTAINS)]
16089     VARIANT_BOOL contains([in] IHTMLElement *pChild);
16090
16091     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
16092     long sourceIndex();
16093
16094     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
16095     VARIANT recordNumber();
16096
16097     [propput, id(DISPID_IHTMLELEMENT_LANG)]
16098     void lang(BSTR v);
16099
16100     [propget, id(DISPID_IHTMLELEMENT_LANG)]
16101     BSTR lang();
16102
16103     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
16104     long offsetLeft();
16105
16106     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
16107     long offsetTop();
16108
16109     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
16110     long offsetWidth();
16111
16112     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
16113     long offsetHeight();
16114
16115     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
16116     IHTMLElement *offsetParent();
16117
16118     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
16119     void innerHTML(BSTR v);
16120
16121     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
16122     BSTR innerHTML();
16123
16124     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
16125     void innerText(BSTR v);
16126
16127     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
16128     BSTR innerText();
16129
16130     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
16131     void outerHTML(BSTR v);
16132
16133     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
16134     BSTR outerHTML();
16135
16136     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
16137     void outerText(BSTR v);
16138
16139     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
16140     BSTR outerText();
16141
16142     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
16143     void insertAdjacentHTML(
16144             [in] BSTR where,
16145             [in] BSTR html);
16146
16147     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
16148     void insertAdjacentText(
16149             [in] BSTR where,
16150             [in] BSTR text);
16151
16152     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
16153     IHTMLElement *parentTextEdit();
16154
16155     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
16156     VARIANT_BOOL isTextEdit();
16157
16158     [id(DISPID_IHTMLELEMENT_CLICK)]
16159     void click();
16160
16161     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
16162     IHTMLFiltersCollection *filters();
16163
16164     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
16165     void ondragstart(VARIANT v);
16166
16167     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
16168     VARIANT ondragstart();
16169
16170     [id(DISPID_IHTMLELEMENT_TOSTRING)]
16171     BSTR toString();
16172
16173     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
16174     void onbeforeupdate(VARIANT v);
16175
16176     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
16177     VARIANT onbeforeupdate();
16178
16179     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
16180     void onafterupdate(VARIANT v);
16181
16182     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
16183     VARIANT onafterupdate();
16184
16185     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
16186     void onerrorupdate(VARIANT v);
16187
16188     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
16189     VARIANT onerrorupdate();
16190
16191     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
16192     void onrowexit(VARIANT v);
16193
16194     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
16195     VARIANT onrowexit();
16196
16197     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
16198     void onrowenter(VARIANT v);
16199
16200     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
16201     VARIANT onrowenter();
16202
16203     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
16204     void ondatasetchanged(VARIANT v);
16205
16206     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
16207     VARIANT ondatasetchanged();
16208
16209     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
16210     void ondataavailable(VARIANT v);
16211
16212     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
16213     VARIANT ondataavailable();
16214
16215     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
16216     void ondatasetcomplete(VARIANT v);
16217
16218     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
16219     VARIANT ondatasetcomplete();
16220
16221     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
16222     void onfilterchange(VARIANT v);
16223
16224     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
16225     VARIANT onfilterchange();
16226
16227     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
16228     IDispatch *children();
16229
16230     [propget, id(DISPID_IHTMLELEMENT_ALL)]
16231     IDispatch *all();
16232
16233     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
16234     BSTR scopeName();
16235
16236     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
16237     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
16238
16239     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
16240     void releaseCapture();
16241
16242     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
16243     void onlosecapture(VARIANT v);
16244
16245     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
16246     VARIANT onlosecapture();
16247
16248     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
16249     BSTR componentFromPoint(
16250             [in] long x,
16251             [in] long y);
16252
16253     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
16254     void doScroll([in, optional] VARIANT component);
16255
16256     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
16257     void onscroll(VARIANT v);
16258
16259     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
16260     VARIANT onscroll();
16261
16262     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
16263     void ondrag(VARIANT v);
16264
16265     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
16266     VARIANT ondrag();
16267
16268     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
16269     void ondragend(VARIANT v);
16270
16271     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
16272     VARIANT ondragend();
16273
16274     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
16275     void ondragenter(VARIANT v);
16276
16277     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
16278     VARIANT ondragenter();
16279
16280     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
16281     void ondragover(VARIANT v);
16282
16283     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
16284     VARIANT ondragover();
16285
16286     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
16287     void ondragleave(VARIANT v);
16288
16289     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
16290     VARIANT ondragleave();
16291
16292     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
16293     void ondrop(VARIANT v);
16294
16295     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
16296     VARIANT ondrop();
16297
16298     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
16299     void onbeforecut(VARIANT v);
16300
16301     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
16302     VARIANT onbeforecut();
16303
16304     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
16305     void oncut(VARIANT v);
16306
16307     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
16308     VARIANT oncut();
16309
16310     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
16311     void onbeforecopy(VARIANT v);
16312
16313     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
16314     VARIANT onbeforecopy();
16315
16316     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
16317     void oncopy(VARIANT v);
16318
16319     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
16320     VARIANT oncopy();
16321
16322     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
16323     void onbeforepaste(VARIANT v);
16324
16325     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
16326     VARIANT onbeforepaste();
16327
16328     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
16329     void onpaste(VARIANT v);
16330
16331     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
16332     VARIANT onpaste();
16333
16334     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
16335     IHTMLCurrentStyle *currentStyle();
16336
16337     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
16338     void onpropertychange(VARIANT v);
16339
16340     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
16341     VARIANT onpropertychange();
16342
16343     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
16344     IHTMLRectCollection *getClientRects();
16345
16346     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
16347     IHTMLRect *getBoundingClientRect();
16348
16349     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
16350     void setExpression(
16351             [in] BSTR propname,
16352             [in] BSTR expression,
16353             [in, defaultvalue("")] BSTR language);
16354
16355     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
16356     VARIANT getExpression([in] BSTR propname);
16357
16358     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
16359     VARIANT_BOOL removeExpression([in] BSTR propname);
16360
16361     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
16362     void tabIndex(short v);
16363
16364     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
16365     short tabIndex();
16366
16367     [id(DISPID_IHTMLELEMENT2_FOCUS)]
16368     void focus();
16369
16370     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
16371     void accessKey(BSTR v);
16372
16373     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
16374     BSTR accessKey();
16375
16376     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
16377     void onblur(VARIANT v);
16378
16379     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
16380     VARIANT onblur();
16381
16382     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
16383     void onfocus(VARIANT v);
16384
16385     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
16386     VARIANT onfocus();
16387
16388     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
16389     void onresize(VARIANT v);
16390
16391     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
16392     VARIANT onresize();
16393
16394     [id(DISPID_IHTMLELEMENT2_BLUR)]
16395     void blur();
16396
16397     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
16398     void addFilter([in] IUnknown *pUnk);
16399
16400     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
16401     void removeFilter([in] IUnknown *pUnk);
16402
16403     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
16404     long clientHeight();
16405
16406     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
16407     long clientWidth();
16408
16409     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
16410     long clientTop();
16411
16412     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
16413     long clientLeft();
16414
16415     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
16416     VARIANT_BOOL attachEvent(
16417             [in] BSTR event,
16418             [in] IDispatch *pDisp);
16419
16420     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
16421     void detachEvent(
16422             [in] BSTR event,
16423             [in] IDispatch *pDisp);
16424
16425     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
16426     VARIANT readyState();
16427
16428     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
16429     void onreadystatechange(VARIANT v);
16430
16431     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
16432     VARIANT onreadystatechange();
16433
16434     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
16435     void onrowsdelete(VARIANT v);
16436
16437     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
16438     VARIANT onrowsdelete();
16439
16440     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
16441     void onrowsinserted(VARIANT v);
16442
16443     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
16444      VARIANT onrowsinserted();
16445
16446     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
16447      void oncellchange(VARIANT v);
16448
16449     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
16450     VARIANT oncellchange();
16451
16452     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
16453     void dir(BSTR v);
16454
16455     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
16456     BSTR dir();
16457
16458     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
16459     IDispatch *createControlRange();
16460
16461     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
16462     long scrollHeight();
16463
16464     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
16465     long scrollWidth();
16466
16467     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
16468     void scrollTop(long v);
16469
16470     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
16471     long scrollTop();
16472
16473     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
16474     void scrollLeft(long v);
16475
16476     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
16477     long scrollLeft();
16478
16479     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
16480     void clearAttributes();
16481
16482     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
16483     void oncontextmenu(VARIANT v);
16484
16485     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
16486     VARIANT oncontextmenu();
16487
16488     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
16489     IHTMLElement *insertAdjacentElement(
16490             [in] BSTR where,
16491             [in] IHTMLElement *insertedElement);
16492
16493     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
16494     IHTMLElement *applyElement(
16495             [in] IHTMLElement *apply,
16496             [in] BSTR where);
16497
16498     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
16499     BSTR getAdjacentText([in] BSTR where);
16500
16501     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
16502     BSTR replaceAdjacentText(
16503             [in] BSTR where,
16504             [in] BSTR newText);
16505
16506     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
16507     VARIANT_BOOL canHaveChildren();
16508
16509     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
16510     long addBehavior(
16511             [in] BSTR bstrUrl,
16512             [in, optional] VARIANT *pvarFactory);
16513
16514     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
16515     VARIANT_BOOL removeBehavior([in] long cookie);
16516
16517     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
16518     IHTMLStyle *runtimeStyle();
16519
16520     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
16521     IDispatch *behaviorUrns();
16522
16523     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
16524     void tagUrn(BSTR v);
16525
16526     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
16527     BSTR tagUrn();
16528
16529     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
16530     void onbeforeeditfocus(VARIANT v);
16531
16532     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
16533     VARIANT onbeforeeditfocus();
16534
16535     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
16536     long readyStateValue();
16537
16538     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
16539     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
16540
16541     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
16542     void mergeAttributes(
16543             [in] IHTMLElement *mergeThis,
16544             [in, optional] VARIANT *pvarFlags);
16545
16546     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
16547     VARIANT_BOOL isMultiLine();
16548
16549     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
16550     VARIANT_BOOL canHaveHTML();
16551
16552     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
16553     void onlayoutcomplete(VARIANT v);
16554
16555     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
16556     VARIANT onlayoutcomplete();
16557
16558     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
16559     void onpage(VARIANT v);
16560
16561     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
16562     VARIANT onpage();
16563
16564     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
16565     void inflateBlock(VARIANT_BOOL v);
16566
16567     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
16568     VARIANT_BOOL inflateBlock();
16569
16570     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
16571     void onbeforedeactivate(VARIANT v);
16572
16573     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
16574     VARIANT onbeforedeactivate();
16575
16576     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
16577     void setActive();
16578
16579     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
16580     void contentEditable(BSTR v);
16581
16582     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
16583     BSTR contentEditable();
16584
16585     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
16586     VARIANT_BOOL isContentEditable();
16587
16588     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
16589     void hideFocus(VARIANT_BOOL v);
16590
16591     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
16592     VARIANT_BOOL hideFocus();
16593
16594     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
16595     void disabled(VARIANT_BOOL v);
16596
16597     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
16598     VARIANT_BOOL disabled();
16599
16600     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
16601     VARIANT_BOOL isDisabled();
16602
16603     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
16604     void onmove(VARIANT v);
16605
16606     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
16607     VARIANT onmove();
16608
16609     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
16610     void oncontrolselect(VARIANT v);
16611
16612     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
16613     VARIANT oncontrolselect();
16614
16615     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
16616     VARIANT_BOOL fireEvent(
16617             [in] BSTR bstrEventName,
16618             [in, optional] VARIANT *pvarEventObject);
16619
16620     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
16621     void onresizestart(VARIANT v);
16622
16623     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
16624     VARIANT onresizestart();
16625
16626     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
16627     void onresizeend(VARIANT v);
16628
16629     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
16630     VARIANT onresizeend();
16631
16632     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
16633     void onmovestart(VARIANT v);
16634
16635     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
16636     VARIANT onmovestart();
16637
16638     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
16639     void onmoveend(VARIANT v);
16640
16641     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
16642     VARIANT onmoveend();
16643
16644     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
16645     void onmouseenter(VARIANT v);
16646
16647     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
16648     VARIANT onmouseenter();
16649
16650     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
16651     void onmouseleave(VARIANT v);
16652
16653     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
16654     VARIANT onmouseleave();
16655
16656     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
16657     void onactivate(VARIANT v);
16658
16659     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
16660     VARIANT onactivate();
16661
16662     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
16663     void ondeactivate(VARIANT v);
16664
16665     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
16666     VARIANT ondeactivate();
16667
16668     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
16669     VARIANT_BOOL dragDrop();
16670
16671     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
16672     LONG glyphMode();
16673
16674     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
16675     void onmousewheel(VARIANT v);
16676
16677     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
16678     VARIANT onmousewheel();
16679
16680     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
16681     void normalize();
16682
16683     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
16684     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
16685
16686     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
16687     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
16688
16689     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
16690     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
16691
16692     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
16693     void onbeforeactivate(VARIANT v);
16694
16695     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
16696     VARIANT onbeforeactivate();
16697
16698     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
16699     void onfocusin(VARIANT v);
16700
16701     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
16702     VARIANT onfocusin();
16703
16704     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
16705     void onfocusout(VARIANT v);
16706
16707     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
16708     VARIANT onfocusout();
16709
16710     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
16711     long uniqueNumber();
16712
16713     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
16714     BSTR uniqueID();
16715
16716     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
16717     long nodeType();
16718
16719     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
16720     IHTMLDOMNode *parentNode();
16721
16722     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
16723     VARIANT_BOOL hasChildNodes();
16724
16725     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
16726     IDispatch *childNodes();
16727
16728     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
16729     IDispatch *attributes();
16730
16731     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
16732     IHTMLDOMNode *insertBefore(
16733             [in] IHTMLDOMNode *newChild,
16734             [in, optional] VARIANT refChild);
16735
16736     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
16737     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
16738
16739     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
16740     IHTMLDOMNode *replaceChild(
16741             [in] IHTMLDOMNode *newChild,
16742             [in] IHTMLDOMNode *oldChild);
16743
16744     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
16745     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
16746
16747     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
16748     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
16749
16750     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
16751     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
16752
16753     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
16754     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
16755
16756     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
16757     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
16758
16759     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
16760     BSTR nodeName();
16761
16762     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
16763     void nodeValue(VARIANT v);
16764
16765     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
16766     VARIANT nodeValue();
16767
16768     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
16769     IHTMLDOMNode *firstChild();
16770
16771     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
16772     IHTMLDOMNode *lastChild();
16773
16774     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
16775     IHTMLDOMNode *previousSibling();
16776
16777     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
16778     IHTMLDOMNode *nextSibling();
16779
16780     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
16781     IDispatch *ownerDocument();
16782
16783     [propput, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
16784     void text(BSTR v);
16785
16786     [propget, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
16787     BSTR text();
16788
16789     [propput, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
16790     void atomic(long v);
16791
16792     [propget, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
16793     long atomic();
16794
16795     [propput, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
16796     void data(BSTR v);
16797
16798     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
16799     BSTR data();
16800
16801     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_LENGTH)]
16802     long length();
16803
16804     [id(DISPID_IHTMLCOMMENTELEMENT2_SUBSTRINGDATA)]
16805     BSTR substringData(
16806             [in] long offset,
16807             [in] long Count);
16808
16809     [id(DISPID_IHTMLCOMMENTELEMENT2_APPENDDATA)]
16810     void appendData([in] BSTR bstrstring);
16811
16812     [id(DISPID_IHTMLCOMMENTELEMENT2_INSERTDATA)]
16813      void insertData(
16814             [in] long offset,
16815             [in] BSTR bstrstring);
16816
16817     [id(DISPID_IHTMLCOMMENTELEMENT2_DELETEDATA)]
16818     void deleteData(
16819             [in] long offset,
16820             [in] long Count);
16821
16822     [id(DISPID_IHTMLCOMMENTELEMENT2_REPLACEDATA)]
16823     void replaceData(
16824             [in] long offset,
16825             [in] long Count,
16826             [in] BSTR bstrstring);
16827 }
16828
16829 /*****************************************************************************
16830  *    HTMLTableEvents dispinterface
16831  */
16832 [
16833     hidden,
16834     uuid(3050f407-98b5-11cf-bb82-00aa00bdce0b)
16835 ]
16836 dispinterface HTMLTableEvents
16837 {
16838 properties:
16839 methods:
16840     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
16841     VARIANT_BOOL onhelp();
16842
16843     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
16844     VARIANT_BOOL onclick();
16845
16846     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
16847     VARIANT_BOOL ondblclick();
16848
16849     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
16850     VARIANT_BOOL onkeypress();
16851
16852     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
16853     void onkeydown();
16854
16855     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
16856     void onkeyup();
16857
16858     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
16859     void onmouseout();
16860
16861     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
16862     void onmouseover();
16863
16864     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
16865     void onmousemove();
16866
16867     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
16868     void onmousedown();
16869
16870     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
16871     void onmouseup();
16872
16873     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
16874     VARIANT_BOOL onselectstart();
16875
16876     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
16877     void onfilterchange();
16878
16879     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
16880     VARIANT_BOOL ondragstart();
16881
16882     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
16883     VARIANT_BOOL onbeforeupdate();
16884
16885     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
16886     void onafterupdate();
16887
16888     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
16889     VARIANT_BOOL onerrorupdate();
16890
16891     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
16892     VARIANT_BOOL onrowexit();
16893
16894     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
16895     void onrowenter();
16896
16897     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
16898     void ondatasetchanged();
16899
16900     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
16901     void ondataavailable();
16902
16903     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
16904     void ondatasetcomplete();
16905
16906     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
16907     void onlosecapture();
16908
16909     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
16910     void onpropertychange();
16911
16912     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
16913     void onscroll();
16914
16915     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
16916     void onfocus();
16917
16918     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
16919     void onblur();
16920
16921     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
16922     void onresize();
16923
16924     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
16925     VARIANT_BOOL ondrag();
16926
16927     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
16928     void ondragend();
16929
16930     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
16931     VARIANT_BOOL ondragenter();
16932
16933     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
16934     VARIANT_BOOL ondragover();
16935
16936     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
16937     void ondragleave();
16938
16939     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
16940     VARIANT_BOOL ondrop();
16941
16942     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
16943     VARIANT_BOOL onbeforecut();
16944
16945     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
16946     VARIANT_BOOL oncut();
16947
16948     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
16949     VARIANT_BOOL onbeforecopy();
16950
16951     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
16952     VARIANT_BOOL oncopy();
16953
16954     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
16955     VARIANT_BOOL onbeforepaste();
16956
16957     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
16958     VARIANT_BOOL onpaste();
16959
16960     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
16961     VARIANT_BOOL oncontextmenu();
16962
16963     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
16964     void onrowsdelete();
16965
16966     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
16967     void onrowsinserted();
16968
16969     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
16970     void oncellchange();
16971
16972     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
16973     void onreadystatechange();
16974
16975     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
16976     void onbeforeeditfocus();
16977
16978     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
16979     void onlayoutcomplete();
16980
16981     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
16982     void onpage();
16983
16984     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
16985     VARIANT_BOOL onbeforedeactivate();
16986
16987     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
16988     VARIANT_BOOL onbeforeactivate();
16989
16990     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
16991     void onmove();
16992
16993     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
16994     VARIANT_BOOL oncontrolselect();
16995
16996     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
16997     VARIANT_BOOL onmovestart();
16998
16999     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
17000     void onmoveend();
17001
17002     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
17003     VARIANT_BOOL onresizestart();
17004
17005     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
17006     void onresizeend();
17007
17008     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
17009     void onmouseenter();
17010
17011     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
17012     void onmouseleave();
17013
17014     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
17015     VARIANT_BOOL onmousewheel();
17016
17017     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
17018     void onactivate();
17019
17020     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
17021     void ondeactivate();
17022
17023     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
17024     void onfocusin();
17025
17026     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
17027     void onfocusout();
17028 }
17029
17030 /*****************************************************************************
17031  *    IHTMLTableCaption interface
17032  */
17033 [
17034     odl,
17035     oleautomation,
17036     dual,
17037     uuid(3050f2eb-98b5-11cf-bb82-00aa00bdce0b)
17038 ]
17039 interface IHTMLTableCaption : IDispatch
17040 {
17041     [propput, id(DISPID_IHTMLTABLECAPTION_ALIGN)]
17042     HRESULT align([in] BSTR v);
17043
17044     [propget, id(DISPID_IHTMLTABLECAPTION_ALIGN)]
17045     HRESULT align([retval, out] BSTR *p);
17046
17047     [propput, id(DISPID_IHTMLTABLECAPTION_VALIGN)]
17048     HRESULT vAlign([in] BSTR v);
17049
17050     [propget, id(DISPID_IHTMLTABLECAPTION_VALIGN)]
17051     HRESULT vAlign([retval, out] BSTR *p);
17052 }
17053
17054 interface IHTMLTableSection;
17055
17056 /*****************************************************************************
17057  *    IHTMLTable interface
17058  */
17059 [
17060     odl,
17061     oleautomation,
17062     dual,
17063     uuid(3050f21e-98b5-11cf-bb82-00aa00bdce0b)
17064 ]
17065 interface IHTMLTable : IDispatch
17066 {
17067     [propput, id(DISPID_IHTMLTABLE_COLS)]
17068     HRESULT cols([in] long v);
17069
17070     [propget, id(DISPID_IHTMLTABLE_COLS)]
17071     HRESULT cols([retval, out] long *p);
17072
17073     [propput, id(DISPID_IHTMLTABLE_BORDER)]
17074     HRESULT border([in] VARIANT v);
17075
17076     [propget, id(DISPID_IHTMLTABLE_BORDER)]
17077     HRESULT border([retval, out] VARIANT *p);
17078
17079     [propput, id(DISPID_IHTMLTABLE_FRAME)]
17080     HRESULT frame([in] BSTR v);
17081
17082     [propget, id(DISPID_IHTMLTABLE_FRAME)]
17083     HRESULT frame([retval, out] BSTR *p);
17084
17085     [propput, id(DISPID_IHTMLTABLE_RULES)]
17086     HRESULT rules([in] BSTR v);
17087
17088     [propget, id(DISPID_IHTMLTABLE_RULES)]
17089     HRESULT rules([retval, out] BSTR *p);
17090
17091     [propput, id(DISPID_IHTMLTABLE_CELLSPACING)]
17092     HRESULT cellSpacing([in] VARIANT v);
17093
17094     [propget, id(DISPID_IHTMLTABLE_CELLSPACING)]
17095     HRESULT cellSpacing([retval, out] VARIANT *p);
17096
17097     [propput, id(DISPID_IHTMLTABLE_CELLPADDING)]
17098     HRESULT cellPadding([in] VARIANT v);
17099
17100     [propget, id(DISPID_IHTMLTABLE_CELLPADDING)]
17101     HRESULT cellPadding([retval, out] VARIANT *p);
17102
17103     [propput, id(DISPID_IHTMLTABLE_BACKGROUND)]
17104     HRESULT background([in] BSTR v);
17105
17106     [propget, id(DISPID_IHTMLTABLE_BACKGROUND)]
17107     HRESULT background([retval, out] BSTR *p);
17108
17109     [propput, id(DISPID_IHTMLTABLE_BGCOLOR)]
17110     HRESULT bgColor([in] VARIANT v);
17111
17112     [propget, id(DISPID_IHTMLTABLE_BGCOLOR)]
17113     HRESULT bgColor([retval, out] VARIANT *p);
17114
17115     [propput, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
17116     HRESULT borderColor([in] VARIANT v);
17117
17118     [propget, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
17119     HRESULT borderColor([retval, out] VARIANT *p);
17120
17121     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
17122     HRESULT borderColorLight([in] VARIANT v);
17123
17124     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
17125     HRESULT borderColorLight([retval, out] VARIANT *p);
17126
17127     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
17128     HRESULT borderColorDark([in] VARIANT v);
17129
17130     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
17131     HRESULT borderColorDark([retval, out] VARIANT *p);
17132
17133     [propput, id(DISPID_IHTMLTABLE_ALIGN)]
17134     HRESULT align([in] BSTR v);
17135
17136     [propget, id(DISPID_IHTMLTABLE_ALIGN)]
17137     HRESULT align([retval, out] BSTR * p);
17138
17139     [id(DISPID_IHTMLTABLE_REFRESH)]
17140     HRESULT refresh();
17141
17142     [propget, id(DISPID_IHTMLTABLE_ROWS)]
17143     HRESULT rows([retval, out] IHTMLElementCollection **p);
17144
17145     [propput, id(DISPID_IHTMLTABLE_WIDTH)]
17146     HRESULT width([in] VARIANT v);
17147
17148     [propget, id(DISPID_IHTMLTABLE_WIDTH)]
17149     HRESULT width([retval, out] VARIANT *p);
17150
17151     [propput, id(DISPID_IHTMLTABLE_HEIGHT)]
17152     HRESULT height([in] VARIANT v);
17153
17154     [propget, id(DISPID_IHTMLTABLE_HEIGHT)]
17155     HRESULT height([retval, out] VARIANT *p);
17156
17157     [propput, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
17158     HRESULT dataPageSize([in] long v);
17159
17160     [propget, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
17161     HRESULT dataPageSize([retval, out] long *p);
17162
17163     [id(DISPID_IHTMLTABLE_NEXTPAGE)]
17164     HRESULT nextPage();
17165
17166     [id(DISPID_IHTMLTABLE_PREVIOUSPAGE)]
17167     HRESULT previousPage();
17168
17169     [propget, id(DISPID_IHTMLTABLE_THEAD)]
17170     HRESULT tHead([retval, out] IHTMLTableSection **p);
17171
17172     [propget, id(DISPID_IHTMLTABLE_TFOOT)]
17173     HRESULT tFoot([retval, out] IHTMLTableSection **p);
17174
17175     [propget, id(DISPID_IHTMLTABLE_TBODIES)]
17176     HRESULT tBodies([retval, out] IHTMLElementCollection **p);
17177
17178     [propget, id(DISPID_IHTMLTABLE_CAPTION)]
17179     HRESULT caption([retval, out] IHTMLTableCaption **p);
17180
17181     [id(DISPID_IHTMLTABLE_CREATETHEAD)]
17182     HRESULT createTHead([retval, out] IDispatch **head);
17183
17184     [id(DISPID_IHTMLTABLE_DELETETHEAD)]
17185     HRESULT deleteTHead();
17186
17187     [id(DISPID_IHTMLTABLE_CREATETFOOT)]
17188     HRESULT createTFoot([retval, out] IDispatch **foot);
17189
17190     [id(DISPID_IHTMLTABLE_DELETETFOOT)]
17191     HRESULT deleteTFoot();
17192
17193     [id(DISPID_IHTMLTABLE_CREATECAPTION)]
17194     HRESULT createCaption([retval, out] IHTMLTableCaption **caption);
17195
17196     [id(DISPID_IHTMLTABLE_DELETECAPTION)]
17197     HRESULT deleteCaption();
17198
17199     [id(DISPID_IHTMLTABLE_INSERTROW)]
17200     HRESULT insertRow(
17201             [defaultvalue(-1), in] long index,
17202             [retval, out] IDispatch **row);
17203
17204     [id(DISPID_IHTMLTABLE_DELETEROW)]
17205     HRESULT deleteRow([defaultvalue(-1), in] long index);
17206
17207     [propget, id(DISPID_IHTMLTABLE_READYSTATE)]
17208     HRESULT readyState([retval, out] BSTR *p);
17209
17210     [propput, id(DISPID_IHTMLTABLE_ONREADYSTATECHANGE), displaybind, bindable]
17211     HRESULT onreadystatechange([in] VARIANT v);
17212
17213     [propget, id(DISPID_IHTMLTABLE_ONREADYSTATECHANGE), displaybind, bindable]
17214     HRESULT onreadystatechange([retval, out] VARIANT *p);
17215 }
17216
17217 [
17218     odl,
17219     oleautomation,
17220     dual,
17221     uuid(3050f23b-98b5-11cf-bb82-00aa00bdce0b)
17222 ]
17223 interface IHTMLTableSection : IDispatch
17224 {
17225     [propput, id(DISPID_IHTMLTABLESECTION_ALIGN)]
17226     HRESULT align([in] BSTR v);
17227
17228     [propget, id(DISPID_IHTMLTABLESECTION_ALIGN)]
17229     HRESULT align([retval, out] BSTR *p);
17230
17231     [propput, id(DISPID_IHTMLTABLESECTION_VALIGN)]
17232     HRESULT vAlign([in] BSTR v);
17233
17234     [propget, id(DISPID_IHTMLTABLESECTION_VALIGN)]
17235     HRESULT vAlign([retval, out] BSTR *p);
17236
17237     [propput, id(DISPID_IHTMLTABLESECTION_BGCOLOR)]
17238     HRESULT bgColor([in] VARIANT v);
17239
17240     [propget, id(DISPID_IHTMLTABLESECTION_BGCOLOR)]
17241     HRESULT bgColor([retval, out] VARIANT *p);
17242
17243     [propget, id(DISPID_IHTMLTABLESECTION_ROWS)]
17244     HRESULT rows([retval, out] IHTMLElementCollection **p);
17245
17246     [id(DISPID_IHTMLTABLESECTION_INSERTROW)]
17247     HRESULT insertRow(
17248             [defaultvalue(-1), in] long index,
17249             [retval, out] IDispatch **row);
17250
17251     [id(DISPID_IHTMLTABLESECTION_DELETEROW)]
17252     HRESULT deleteRow([defaultvalue(-1), in] long index);
17253 }
17254
17255 /*****************************************************************************
17256  *    IHTMLTableRow interface
17257  */
17258 [
17259     odl,
17260     oleautomation,
17261     dual,
17262     uuid(3050f23c-98b5-11cf-bb82-00aa00bdce0b)
17263 ]
17264 interface IHTMLTableRow : IDispatch
17265 {
17266     [propput, id(DISPID_IHTMLTABLEROW_ALIGN)]
17267     HRESULT align([in] BSTR v);
17268
17269     [propget, id(DISPID_IHTMLTABLEROW_ALIGN)]
17270     HRESULT align([out, retval] BSTR *p);
17271
17272     [propput, id(DISPID_IHTMLTABLEROW_VALIGN)]
17273     HRESULT vAlign([in] BSTR v);
17274
17275     [propget, id(DISPID_IHTMLTABLEROW_VALIGN)]
17276     HRESULT vAlign([out, retval] BSTR *p);
17277
17278     [propput, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
17279     HRESULT bgColor([in] VARIANT v);
17280
17281     [propget, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
17282     HRESULT bgColor([out, retval] VARIANT *p);
17283
17284     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
17285     HRESULT borderColor([in] VARIANT v);
17286
17287     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
17288     HRESULT borderColor([out, retval] VARIANT *p);
17289
17290     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
17291     HRESULT borderColorLight([in] VARIANT v);
17292
17293     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
17294     HRESULT borderColorLight([out, retval] VARIANT *p);
17295
17296     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
17297     HRESULT borderColorDark([in] VARIANT v);
17298
17299     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
17300     HRESULT borderColorDark([out, retval] VARIANT *p);
17301
17302     [propget, id(DISPID_IHTMLTABLEROW_ROWINDEX)]
17303     HRESULT rowIndex([out, retval] long *p);
17304
17305     [propget, id(DISPID_IHTMLTABLEROW_SECTIONROWINDEX)]
17306     HRESULT sectionRowIndex([out, retval] long *p);
17307
17308     [propget, id(DISPID_IHTMLTABLEROW_CELLS)]
17309     HRESULT cells([out, retval] IHTMLElementCollection **p);
17310
17311     [id(DISPID_IHTMLTABLEROW_INSERTCELL)]
17312     HRESULT insertCell(
17313             [in, defaultvalue(-1)] long index,
17314             [out, retval] IDispatch **row);
17315
17316     [id(DISPID_IHTMLTABLEROW_DELETECELL)]
17317     HRESULT deleteCell([in, defaultvalue(-1)] long index);
17318 }
17319
17320 /*****************************************************************************
17321  *    DispHTMLTable interface
17322  */
17323 [
17324     hidden,
17325     uuid(3050f532-98b5-11cf-bb82-00aa00bdce0b)
17326 ]
17327 dispinterface DispHTMLTable
17328 {
17329 properties:
17330 methods:
17331     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
17332     void setAttribute(
17333             [in] BSTR strAttributeName,
17334             [in] VARIANT AttributeValue,
17335             [in, defaultvalue(1)] LONG lFlags);
17336
17337     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
17338     VARIANT getAttribute(
17339              [in] BSTR strAttributeName,
17340              [in, defaultvalue(0)] LONG lFlags);
17341
17342     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
17343     VARIANT_BOOL removeAttribute(
17344             [in] BSTR strAttributeName,
17345             [in, defaultvalue(1)] LONG lFlags);
17346
17347     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
17348     void className(BSTR v);
17349
17350     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
17351     BSTR className();
17352
17353     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
17354     void id(BSTR v);
17355
17356     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
17357     BSTR id();
17358
17359     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
17360     BSTR tagName();
17361
17362     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
17363     IHTMLElement *parentElement();
17364
17365     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
17366     IHTMLStyle *style();
17367
17368     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
17369     void onhelp(VARIANT v);
17370
17371     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
17372     VARIANT onhelp();
17373
17374     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
17375     void onclick(VARIANT v);
17376
17377     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
17378     VARIANT onclick();
17379
17380     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
17381     void ondblclick(VARIANT v);
17382
17383     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
17384     VARIANT ondblclick();
17385
17386     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
17387     void onkeydown(VARIANT v);
17388
17389     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
17390     VARIANT onkeydown();
17391
17392     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
17393     void onkeyup(VARIANT v);
17394
17395     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
17396     VARIANT onkeyup();
17397
17398     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
17399     void onkeypress(VARIANT v);
17400
17401     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
17402     VARIANT onkeypress();
17403
17404     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
17405     void onmouseout(VARIANT v);
17406
17407     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
17408     VARIANT onmouseout();
17409
17410     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
17411     void onmouseover(VARIANT v);
17412
17413     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
17414     VARIANT onmouseover();
17415
17416     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
17417     void onmousemove(VARIANT v);
17418
17419     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
17420     VARIANT onmousemove();
17421
17422     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
17423     void onmousedown(VARIANT v);
17424
17425     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
17426     VARIANT onmousedown();
17427
17428     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
17429     void onmouseup(VARIANT v);
17430
17431     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
17432     VARIANT onmouseup();
17433
17434     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
17435     IDispatch *document();
17436
17437     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
17438     void title(BSTR v);
17439
17440     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
17441     BSTR title();
17442
17443     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
17444     void language(BSTR v);
17445
17446     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
17447     BSTR language();
17448
17449     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
17450     void onselectstart(VARIANT v);
17451
17452     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
17453     VARIANT onselectstart();
17454
17455     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
17456     void scrollIntoView([in, optional] VARIANT varargStart);
17457
17458     [id(DISPID_IHTMLELEMENT_CONTAINS)]
17459     VARIANT_BOOL contains([in] IHTMLElement *pChild);
17460
17461     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
17462     long sourceIndex();
17463
17464     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
17465     VARIANT recordNumber();
17466
17467     [propput, id(DISPID_IHTMLELEMENT_LANG)]
17468     void lang(BSTR v);
17469
17470     [propget, id(DISPID_IHTMLELEMENT_LANG)]
17471     BSTR lang();
17472
17473     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
17474     long offsetLeft();
17475
17476     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
17477     long offsetTop();
17478
17479     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
17480     long offsetWidth();
17481
17482     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
17483     long offsetHeight();
17484
17485     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
17486     IHTMLElement *offsetParent();
17487
17488     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
17489     void innerHTML(BSTR v);
17490
17491     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
17492     BSTR innerHTML();
17493
17494     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
17495     void innerText(BSTR v);
17496
17497     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
17498     BSTR innerText();
17499
17500     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
17501     void outerHTML(BSTR v);
17502
17503     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
17504     BSTR outerHTML();
17505
17506     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
17507     void outerText(BSTR v);
17508
17509     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
17510     BSTR outerText();
17511
17512     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
17513     void insertAdjacentHTML(
17514             [in] BSTR where,
17515             [in] BSTR html);
17516
17517     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
17518     void insertAdjacentText(
17519             [in] BSTR where,
17520             [in] BSTR text);
17521
17522     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
17523     IHTMLElement *parentTextEdit();
17524
17525     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
17526     VARIANT_BOOL isTextEdit();
17527
17528     [id(DISPID_IHTMLELEMENT_CLICK)]
17529     void click();
17530
17531     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
17532     IHTMLFiltersCollection *filters();
17533
17534     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
17535     void ondragstart(VARIANT v);
17536
17537     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
17538     VARIANT ondragstart();
17539
17540     [id(DISPID_IHTMLELEMENT_TOSTRING)]
17541     BSTR toString();
17542
17543     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
17544     void onbeforeupdate(VARIANT v);
17545
17546     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
17547     VARIANT onbeforeupdate();
17548
17549     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
17550     void onafterupdate(VARIANT v);
17551
17552     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
17553     VARIANT onafterupdate();
17554
17555     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
17556     void onerrorupdate(VARIANT v);
17557
17558     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
17559     VARIANT onerrorupdate();
17560
17561     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
17562     void onrowexit(VARIANT v);
17563
17564     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
17565     VARIANT onrowexit();
17566
17567     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
17568     void onrowenter(VARIANT v);
17569
17570     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
17571     VARIANT onrowenter();
17572
17573     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
17574     void ondatasetchanged(VARIANT v);
17575
17576     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
17577     VARIANT ondatasetchanged();
17578
17579     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
17580     void ondataavailable(VARIANT v);
17581
17582     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
17583     VARIANT ondataavailable();
17584
17585     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
17586     void ondatasetcomplete(VARIANT v);
17587
17588     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
17589     VARIANT ondatasetcomplete();
17590
17591     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
17592     void onfilterchange(VARIANT v);
17593
17594     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
17595     VARIANT onfilterchange();
17596
17597     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
17598     IDispatch *children();
17599
17600     [propget, id(DISPID_IHTMLELEMENT_ALL)]
17601     IDispatch *all();
17602
17603     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
17604     BSTR scopeName();
17605
17606     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
17607     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
17608
17609     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
17610     void releaseCapture();
17611
17612     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
17613     void onlosecapture(VARIANT v);
17614
17615     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
17616     VARIANT onlosecapture();
17617
17618     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
17619     BSTR componentFromPoint(
17620             [in] long x,
17621             [in] long y);
17622
17623     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
17624     void doScroll([in, optional] VARIANT component);
17625
17626     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
17627     void onscroll(VARIANT v);
17628
17629     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
17630     VARIANT onscroll();
17631
17632     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
17633     void ondrag(VARIANT v);
17634
17635     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
17636     VARIANT ondrag();
17637
17638     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
17639     void ondragend(VARIANT v);
17640
17641     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
17642     VARIANT ondragend();
17643
17644     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
17645     void ondragenter(VARIANT v);
17646
17647     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
17648     VARIANT ondragenter();
17649
17650     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
17651     void ondragover(VARIANT v);
17652
17653     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
17654     VARIANT ondragover();
17655
17656     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
17657     void ondragleave(VARIANT v);
17658
17659     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
17660     VARIANT ondragleave();
17661
17662     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
17663     void ondrop(VARIANT v);
17664
17665     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
17666     VARIANT ondrop();
17667
17668     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
17669     void onbeforecut(VARIANT v);
17670
17671     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
17672     VARIANT onbeforecut();
17673
17674     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
17675     void oncut(VARIANT v);
17676
17677     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
17678     VARIANT oncut();
17679
17680     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
17681     void onbeforecopy(VARIANT v);
17682
17683     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
17684     VARIANT onbeforecopy();
17685
17686     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
17687     void oncopy(VARIANT v);
17688
17689     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
17690     VARIANT oncopy();
17691
17692     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
17693     void onbeforepaste(VARIANT v);
17694
17695     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
17696     VARIANT onbeforepaste();
17697
17698     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
17699     void onpaste(VARIANT v);
17700
17701     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
17702     VARIANT onpaste();
17703
17704     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
17705     IHTMLCurrentStyle *currentStyle();
17706
17707     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
17708     void onpropertychange(VARIANT v);
17709
17710     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
17711     VARIANT onpropertychange();
17712
17713     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
17714     IHTMLRectCollection *getClientRects();
17715
17716     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
17717     IHTMLRect *getBoundingClientRect();
17718
17719     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
17720     void setExpression(
17721             [in] BSTR propname,
17722             [in] BSTR expression,
17723             [in, defaultvalue("")] BSTR language);
17724
17725     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
17726     VARIANT getExpression([in] BSTR propname);
17727
17728     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
17729     VARIANT_BOOL removeExpression([in] BSTR propname);
17730
17731     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
17732     void tabIndex(short v);
17733
17734     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
17735     short tabIndex();
17736
17737     [id(DISPID_IHTMLELEMENT2_FOCUS)]
17738     void focus();
17739
17740     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
17741     void accessKey(BSTR v);
17742
17743     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
17744     BSTR accessKey();
17745
17746     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
17747     void onblur(VARIANT v);
17748
17749     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
17750     VARIANT onblur();
17751
17752     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
17753     void onfocus(VARIANT v);
17754
17755     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
17756     VARIANT onfocus();
17757
17758     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
17759     void onresize(VARIANT v);
17760
17761     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
17762     VARIANT onresize();
17763
17764     [id(DISPID_IHTMLELEMENT2_BLUR)]
17765     void blur();
17766
17767     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
17768     void addFilter([in] IUnknown *pUnk);
17769
17770     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
17771     void removeFilter([in] IUnknown *pUnk);
17772
17773     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
17774     long clientHeight();
17775
17776     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
17777     long clientWidth();
17778
17779     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
17780     long clientTop();
17781
17782     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
17783     long clientLeft();
17784
17785     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
17786     VARIANT_BOOL attachEvent(
17787             [in] BSTR event,
17788             [in] IDispatch *pDisp);
17789
17790     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
17791     void detachEvent(
17792             [in] BSTR event,
17793             [in] IDispatch *pDisp);
17794
17795     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
17796     VARIANT readyState();
17797
17798     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
17799     void onreadystatechange(VARIANT v);
17800
17801     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
17802     VARIANT onreadystatechange();
17803
17804     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
17805     void onrowsdelete(VARIANT v);
17806
17807     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
17808     VARIANT onrowsdelete();
17809
17810     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
17811     void onrowsinserted(VARIANT v);
17812
17813     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
17814     VARIANT onrowsinserted();
17815
17816     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
17817      void oncellchange(VARIANT v);
17818
17819     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
17820     VARIANT oncellchange();
17821
17822     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
17823     void dir(BSTR v);
17824
17825     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
17826     BSTR dir();
17827
17828     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
17829     IDispatch *createControlRange();
17830
17831     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
17832     long scrollHeight();
17833
17834     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
17835     long scrollWidth();
17836
17837     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
17838     void scrollTop(long v);
17839
17840     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
17841     long scrollTop();
17842
17843     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
17844     void scrollLeft(long v);
17845
17846     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
17847     long scrollLeft();
17848
17849     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
17850     void clearAttributes();
17851
17852     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
17853     void oncontextmenu(VARIANT v);
17854
17855     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
17856     VARIANT oncontextmenu();
17857
17858     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
17859     IHTMLElement *insertAdjacentElement(
17860             [in] BSTR where,
17861             [in] IHTMLElement *insertedElement);
17862
17863     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
17864     IHTMLElement *applyElement(
17865             [in] IHTMLElement *apply,
17866             [in] BSTR where);
17867
17868     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
17869     BSTR getAdjacentText([in] BSTR where);
17870
17871     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
17872     BSTR replaceAdjacentText(
17873             [in] BSTR where,
17874             [in] BSTR newText);
17875
17876     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
17877     VARIANT_BOOL canHaveChildren();
17878
17879     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
17880     long addBehavior(
17881             [in] BSTR bstrUrl,
17882             [in, optional] VARIANT *pvarFactory);
17883
17884     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
17885     VARIANT_BOOL removeBehavior([in] long cookie);
17886
17887     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
17888     IHTMLStyle *runtimeStyle();
17889
17890     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
17891     IDispatch *behaviorUrns();
17892
17893     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
17894     void tagUrn(BSTR v);
17895
17896     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
17897     BSTR tagUrn();
17898
17899     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
17900     void onbeforeeditfocus(VARIANT v);
17901
17902     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
17903     VARIANT onbeforeeditfocus();
17904
17905     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
17906     long readyStateValue();
17907
17908     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
17909     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
17910
17911     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
17912     void mergeAttributes(
17913             [in] IHTMLElement *mergeThis,
17914             [in, optional] VARIANT *pvarFlags);
17915
17916     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
17917     VARIANT_BOOL isMultiLine();
17918
17919     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
17920     VARIANT_BOOL canHaveHTML();
17921
17922     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
17923     void onlayoutcomplete(VARIANT v);
17924
17925     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
17926     VARIANT onlayoutcomplete();
17927
17928     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
17929     void onpage(VARIANT v);
17930
17931     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
17932     VARIANT onpage();
17933
17934     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
17935     void inflateBlock(VARIANT_BOOL v);
17936
17937     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
17938     VARIANT_BOOL inflateBlock();
17939
17940     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
17941     void onbeforedeactivate(VARIANT v);
17942
17943     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
17944     VARIANT onbeforedeactivate();
17945
17946     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
17947     void setActive();
17948
17949     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
17950     void contentEditable(BSTR v);
17951
17952     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
17953     BSTR contentEditable();
17954
17955     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
17956     VARIANT_BOOL isContentEditable();
17957
17958     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
17959     void hideFocus(VARIANT_BOOL v);
17960
17961     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
17962     VARIANT_BOOL hideFocus();
17963
17964     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
17965     void disabled(VARIANT_BOOL v);
17966
17967     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
17968     VARIANT_BOOL disabled();
17969
17970     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
17971     VARIANT_BOOL isDisabled();
17972
17973     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
17974     void onmove(VARIANT v);
17975
17976     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
17977     VARIANT onmove();
17978
17979     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
17980     void oncontrolselect(VARIANT v);
17981
17982     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
17983     VARIANT oncontrolselect();
17984
17985     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
17986     VARIANT_BOOL fireEvent(
17987             [in] BSTR bstrEventName,
17988             [in, optional] VARIANT *pvarEventObject);
17989
17990     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
17991     void onresizestart(VARIANT v);
17992
17993     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
17994     VARIANT onresizestart();
17995
17996     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
17997     void onresizeend(VARIANT v);
17998
17999     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
18000     VARIANT onresizeend();
18001
18002     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
18003     void onmovestart(VARIANT v);
18004
18005     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
18006     VARIANT onmovestart();
18007
18008     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
18009     void onmoveend(VARIANT v);
18010
18011     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
18012     VARIANT onmoveend();
18013
18014     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
18015     void onmouseenter(VARIANT v);
18016
18017     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
18018     VARIANT onmouseenter();
18019
18020     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
18021     void onmouseleave(VARIANT v);
18022
18023     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
18024     VARIANT onmouseleave();
18025
18026     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
18027     void onactivate(VARIANT v);
18028
18029     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
18030     VARIANT onactivate();
18031
18032     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
18033     void ondeactivate(VARIANT v);
18034
18035     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
18036     VARIANT ondeactivate();
18037
18038     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
18039     VARIANT_BOOL dragDrop();
18040
18041     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
18042     LONG glyphMode();
18043
18044     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
18045     void onmousewheel(VARIANT v);
18046
18047     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
18048     VARIANT onmousewheel();
18049
18050     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
18051     void normalize();
18052
18053     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
18054     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
18055
18056     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
18057     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
18058
18059     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
18060     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
18061
18062     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
18063     void onbeforeactivate(VARIANT v);
18064
18065     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
18066     VARIANT onbeforeactivate();
18067
18068     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
18069     void onfocusin(VARIANT v);
18070
18071     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
18072     VARIANT onfocusin();
18073
18074     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
18075     void onfocusout(VARIANT v);
18076
18077     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
18078     VARIANT onfocusout();
18079
18080     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
18081     long uniqueNumber();
18082
18083     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
18084     BSTR uniqueID();
18085
18086     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
18087     long nodeType();
18088
18089     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
18090     IHTMLDOMNode *parentNode();
18091
18092     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
18093     VARIANT_BOOL hasChildNodes();
18094
18095     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
18096     IDispatch *childNodes();
18097
18098     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
18099     IDispatch *attributes();
18100
18101     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
18102     IHTMLDOMNode *insertBefore(
18103             [in] IHTMLDOMNode *newChild,
18104             [in, optional] VARIANT refChild);
18105
18106     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
18107     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
18108
18109     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
18110     IHTMLDOMNode *replaceChild(
18111             [in] IHTMLDOMNode *newChild,
18112             [in] IHTMLDOMNode *oldChild);
18113
18114     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
18115     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
18116
18117     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
18118     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
18119
18120     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
18121     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
18122
18123     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
18124     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
18125
18126     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
18127     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
18128
18129     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
18130     BSTR nodeName();
18131
18132     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
18133     void nodeValue(VARIANT v);
18134
18135     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
18136     VARIANT nodeValue();
18137
18138     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
18139     IHTMLDOMNode *firstChild();
18140
18141     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
18142     IHTMLDOMNode *lastChild();
18143
18144     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
18145     IHTMLDOMNode *previousSibling();
18146
18147     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
18148     IHTMLDOMNode *nextSibling();
18149
18150     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
18151     IDispatch *ownerDocument();
18152
18153     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
18154     void dataFld(BSTR v);
18155
18156     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
18157     BSTR dataFld();
18158
18159     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
18160     void dataSrc(BSTR v);
18161
18162     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
18163     BSTR dataSrc();
18164
18165     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
18166     void dataFormatAs(BSTR v);
18167
18168     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
18169     BSTR dataFormatAs();
18170
18171     [propput, id(DISPID_IHTMLTABLE_COLS)]
18172     void cols(long v);
18173
18174     [propget, id(DISPID_IHTMLTABLE_COLS)]
18175     long cols();
18176
18177     [propput, id(DISPID_IHTMLTABLE_BORDER)]
18178     void border(VARIANT v);
18179
18180     [propget, id(DISPID_IHTMLTABLE_BORDER)]
18181     VARIANT border();
18182
18183     [propput, id(DISPID_IHTMLTABLE_FRAME)]
18184     void frame(BSTR v);
18185
18186     [propget, id(DISPID_IHTMLTABLE_FRAME)]
18187     BSTR frame();
18188
18189     [propput, id(DISPID_IHTMLTABLE_RULES)]
18190     void rules(BSTR v);
18191
18192     [propget, id(DISPID_IHTMLTABLE_RULES)]
18193     BSTR rules();
18194
18195     [propput, id(DISPID_IHTMLTABLE_CELLSPACING)]
18196     void cellSpacing(VARIANT v);
18197
18198     [propget, id(DISPID_IHTMLTABLE_CELLSPACING)]
18199     VARIANT cellSpacing();
18200
18201     [propput, id(DISPID_IHTMLTABLE_CELLPADDING)]
18202     void cellPadding(VARIANT v);
18203
18204     [propget, id(DISPID_IHTMLTABLE_CELLPADDING)]
18205     VARIANT cellPadding();
18206
18207     [propput, id(DISPID_IHTMLTABLE_BACKGROUND)]
18208     void background(BSTR v);
18209
18210     [propget, id(DISPID_IHTMLTABLE_BACKGROUND)]
18211     BSTR background();
18212
18213     [propput, id(DISPID_IHTMLTABLE_BGCOLOR)]
18214     void bgColor(VARIANT v);
18215
18216     [propget, id(DISPID_IHTMLTABLE_BGCOLOR)]
18217     VARIANT bgColor();
18218
18219     [propput, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
18220     void borderColor(VARIANT v);
18221
18222     [propget, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
18223     VARIANT borderColor();
18224
18225     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
18226     void borderColorLight(VARIANT v);
18227
18228     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
18229     VARIANT borderColorLight();
18230
18231     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
18232     void borderColorDark(VARIANT v);
18233
18234     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
18235     VARIANT borderColorDark();
18236
18237     [propput, id(DISPID_IHTMLTABLE_ALIGN)]
18238     void align(BSTR v);
18239
18240     [propget, id(DISPID_IHTMLTABLE_ALIGN)]
18241     BSTR align();
18242
18243     [id(DISPID_IHTMLTABLE_REFRESH)]
18244     void refresh();
18245
18246     [propget, id(DISPID_IHTMLTABLE_ROWS)]
18247     IHTMLElementCollection *rows();
18248
18249     [propput, id(DISPID_IHTMLTABLE_WIDTH)]
18250     void width(VARIANT v);
18251
18252     [propget, id(DISPID_IHTMLTABLE_WIDTH)]
18253     VARIANT width();
18254
18255     [propput, id(DISPID_IHTMLTABLE_HEIGHT)]
18256     void height(VARIANT v);
18257
18258     [propget, id(DISPID_IHTMLTABLE_HEIGHT)]
18259     VARIANT height();
18260
18261     [propput, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
18262     void dataPageSize(long v);
18263
18264     [propget, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
18265     long dataPageSize();
18266
18267     [id(DISPID_IHTMLTABLE_NEXTPAGE)]
18268     void nextPage();
18269
18270     [id(DISPID_IHTMLTABLE_PREVIOUSPAGE)]
18271     void previousPage();
18272
18273     [propget, id(DISPID_IHTMLTABLE_THEAD)]
18274     IHTMLTableSection *tHead();
18275
18276     [propget, id(DISPID_IHTMLTABLE_TFOOT)]
18277     IHTMLTableSection *tFoot();
18278
18279     [propget, id(DISPID_IHTMLTABLE_TBODIES)]
18280     IHTMLElementCollection *tBodies();
18281
18282     [propget, id(DISPID_IHTMLTABLE_CAPTION)]
18283     IHTMLTableCaption *caption();
18284
18285     [id(DISPID_IHTMLTABLE_CREATETHEAD)]
18286     IDispatch *createTHead();
18287
18288     [id(DISPID_IHTMLTABLE_DELETETHEAD)]
18289     void deleteTHead();
18290
18291     [id(DISPID_IHTMLTABLE_CREATETFOOT)]
18292     IDispatch *createTFoot();
18293
18294     [id(DISPID_IHTMLTABLE_DELETETFOOT)]
18295     void deleteTFoot();
18296
18297     [id(DISPID_IHTMLTABLE_CREATECAPTION)]
18298     IHTMLTableCaption *createCaption();
18299
18300     [id(DISPID_IHTMLTABLE_DELETECAPTION)]
18301     void deleteCaption();
18302
18303     [id(DISPID_IHTMLTABLE_INSERTROW)]
18304     IDispatch *insertRow([in, defaultvalue(-1)] long index);
18305
18306     [id(DISPID_IHTMLTABLE_DELETEROW)]
18307     void deleteRow([in, defaultvalue(-1)] long index);
18308
18309     [id(DISPID_IHTMLTABLE2_FIRSTPAGE)]
18310     void firstPage();
18311
18312     [id(DISPID_IHTMLTABLE2_LASTPAGE)]
18313     void lastPage();
18314
18315     [propget, id(DISPID_IHTMLTABLE2_CELLS)]
18316     IHTMLElementCollection *cells();
18317
18318     [id(DISPID_IHTMLTABLE2_MOVEROW)]
18319     IDispatch *moveRow(
18320             [in, defaultvalue(-1)] long indexFrom,
18321             [in, defaultvalue(-1)] long indexTo);
18322
18323     [propput, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
18324     void summary(BSTR v);
18325
18326     [propget, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
18327     BSTR summary();
18328 }
18329
18330 /*****************************************************************************
18331  *    DispHTMLTableRow dispinterface
18332  */
18333 [
18334     hidden,
18335     uuid(3050f535-98b5-11cf-bb82-00aa00bdce0b)
18336 ]
18337 dispinterface DispHTMLTableRow
18338 {
18339 properties:
18340 methods:
18341     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
18342     void setAttribute(
18343             [in] BSTR strAttributeName,
18344             [in] VARIANT AttributeValue,
18345             [in, defaultvalue(1)] LONG lFlags);
18346
18347     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
18348     VARIANT getAttribute(
18349              [in] BSTR strAttributeName,
18350              [in, defaultvalue(0)] LONG lFlags);
18351
18352     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
18353     VARIANT_BOOL removeAttribute(
18354             [in] BSTR strAttributeName,
18355             [in, defaultvalue(1)] LONG lFlags);
18356
18357     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
18358     void className(BSTR v);
18359
18360     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
18361     BSTR className();
18362
18363     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
18364     void id(BSTR v);
18365
18366     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
18367     BSTR id();
18368
18369     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
18370     BSTR tagName();
18371
18372     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
18373     IHTMLElement *parentElement();
18374
18375     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
18376     IHTMLStyle *style();
18377
18378     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
18379     void onhelp(VARIANT v);
18380
18381     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
18382     VARIANT onhelp();
18383
18384     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
18385     void onclick(VARIANT v);
18386
18387     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
18388     VARIANT onclick();
18389
18390     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
18391     void ondblclick(VARIANT v);
18392
18393     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
18394     VARIANT ondblclick();
18395
18396     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
18397     void onkeydown(VARIANT v);
18398
18399     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
18400     VARIANT onkeydown();
18401
18402     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
18403     void onkeyup(VARIANT v);
18404
18405     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
18406     VARIANT onkeyup();
18407
18408     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
18409     void onkeypress(VARIANT v);
18410
18411     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
18412     VARIANT onkeypress();
18413
18414     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
18415     void onmouseout(VARIANT v);
18416
18417     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
18418     VARIANT onmouseout();
18419
18420     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
18421     void onmouseover(VARIANT v);
18422
18423     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
18424     VARIANT onmouseover();
18425
18426     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
18427     void onmousemove(VARIANT v);
18428
18429     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
18430     VARIANT onmousemove();
18431
18432     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
18433     void onmousedown(VARIANT v);
18434
18435     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
18436     VARIANT onmousedown();
18437
18438     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
18439     void onmouseup(VARIANT v);
18440
18441     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
18442     VARIANT onmouseup();
18443
18444     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
18445     IDispatch *document();
18446
18447     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
18448     void title(BSTR v);
18449
18450     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
18451     BSTR title();
18452
18453     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
18454     void language(BSTR v);
18455
18456     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
18457     BSTR language();
18458
18459     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
18460     void onselectstart(VARIANT v);
18461
18462     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
18463     VARIANT onselectstart();
18464
18465     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
18466     void scrollIntoView([in, optional] VARIANT varargStart);
18467
18468     [id(DISPID_IHTMLELEMENT_CONTAINS)]
18469     VARIANT_BOOL contains([in] IHTMLElement *pChild);
18470
18471     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
18472     long sourceIndex();
18473
18474     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
18475     VARIANT recordNumber();
18476
18477     [propput, id(DISPID_IHTMLELEMENT_LANG)]
18478     void lang(BSTR v);
18479
18480     [propget, id(DISPID_IHTMLELEMENT_LANG)]
18481     BSTR lang();
18482
18483     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
18484     long offsetLeft();
18485
18486     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
18487     long offsetTop();
18488
18489     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
18490     long offsetWidth();
18491
18492     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
18493     long offsetHeight();
18494
18495     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
18496     IHTMLElement *offsetParent();
18497
18498     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
18499     void innerHTML(BSTR v);
18500
18501     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
18502     BSTR innerHTML();
18503
18504     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
18505     void innerText(BSTR v);
18506
18507     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
18508     BSTR innerText();
18509
18510     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
18511     void outerHTML(BSTR v);
18512
18513     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
18514     BSTR outerHTML();
18515
18516     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
18517     void outerText(BSTR v);
18518
18519     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
18520     BSTR outerText();
18521
18522     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
18523     void insertAdjacentHTML(
18524             [in] BSTR where,
18525             [in] BSTR html);
18526
18527     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
18528     void insertAdjacentText(
18529             [in] BSTR where,
18530             [in] BSTR text);
18531
18532     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
18533     IHTMLElement *parentTextEdit();
18534
18535     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
18536     VARIANT_BOOL isTextEdit();
18537
18538     [id(DISPID_IHTMLELEMENT_CLICK)]
18539     void click();
18540
18541     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
18542     IHTMLFiltersCollection *filters();
18543
18544     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
18545     void ondragstart(VARIANT v);
18546
18547     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
18548     VARIANT ondragstart();
18549
18550     [id(DISPID_IHTMLELEMENT_TOSTRING)]
18551     BSTR toString();
18552
18553     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
18554     void onbeforeupdate(VARIANT v);
18555
18556     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
18557     VARIANT onbeforeupdate();
18558
18559     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
18560     void onafterupdate(VARIANT v);
18561
18562     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
18563     VARIANT onafterupdate();
18564
18565     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
18566     void onerrorupdate(VARIANT v);
18567
18568     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
18569     VARIANT onerrorupdate();
18570
18571     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
18572     void onrowexit(VARIANT v);
18573
18574     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
18575     VARIANT onrowexit();
18576
18577     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
18578     void onrowenter(VARIANT v);
18579
18580     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
18581     VARIANT onrowenter();
18582
18583     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
18584     void ondatasetchanged(VARIANT v);
18585
18586     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
18587     VARIANT ondatasetchanged();
18588
18589     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
18590     void ondataavailable(VARIANT v);
18591
18592     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
18593     VARIANT ondataavailable();
18594
18595     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
18596     void ondatasetcomplete(VARIANT v);
18597
18598     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
18599     VARIANT ondatasetcomplete();
18600
18601     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
18602     void onfilterchange(VARIANT v);
18603
18604     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
18605     VARIANT onfilterchange();
18606
18607     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
18608     IDispatch *children();
18609
18610     [propget, id(DISPID_IHTMLELEMENT_ALL)]
18611     IDispatch *all();
18612
18613     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
18614     BSTR scopeName();
18615
18616     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
18617     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
18618
18619     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
18620     void releaseCapture();
18621
18622     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
18623     void onlosecapture(VARIANT v);
18624
18625     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
18626     VARIANT onlosecapture();
18627
18628     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
18629     BSTR componentFromPoint(
18630             [in] long x,
18631             [in] long y);
18632
18633     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
18634     void doScroll([in, optional] VARIANT component);
18635
18636     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
18637     void onscroll(VARIANT v);
18638
18639     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
18640     VARIANT onscroll();
18641
18642     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
18643     void ondrag(VARIANT v);
18644
18645     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
18646     VARIANT ondrag();
18647
18648     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
18649     void ondragend(VARIANT v);
18650
18651     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
18652     VARIANT ondragend();
18653
18654     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
18655     void ondragenter(VARIANT v);
18656
18657     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
18658     VARIANT ondragenter();
18659
18660     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
18661     void ondragover(VARIANT v);
18662
18663     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
18664     VARIANT ondragover();
18665
18666     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
18667     void ondragleave(VARIANT v);
18668
18669     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
18670     VARIANT ondragleave();
18671
18672     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
18673     void ondrop(VARIANT v);
18674
18675     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
18676     VARIANT ondrop();
18677
18678     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
18679     void onbeforecut(VARIANT v);
18680
18681     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
18682     VARIANT onbeforecut();
18683
18684     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
18685     void oncut(VARIANT v);
18686
18687     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
18688     VARIANT oncut();
18689
18690     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
18691     void onbeforecopy(VARIANT v);
18692
18693     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
18694     VARIANT onbeforecopy();
18695
18696     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
18697     void oncopy(VARIANT v);
18698
18699     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
18700     VARIANT oncopy();
18701
18702     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
18703     void onbeforepaste(VARIANT v);
18704
18705     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
18706     VARIANT onbeforepaste();
18707
18708     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
18709     void onpaste(VARIANT v);
18710
18711     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
18712     VARIANT onpaste();
18713
18714     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
18715     IHTMLCurrentStyle *currentStyle();
18716
18717     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
18718     void onpropertychange(VARIANT v);
18719
18720     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
18721     VARIANT onpropertychange();
18722
18723     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
18724     IHTMLRectCollection *getClientRects();
18725
18726     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
18727     IHTMLRect *getBoundingClientRect();
18728
18729     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
18730     void setExpression(
18731             [in] BSTR propname,
18732             [in] BSTR expression,
18733             [in, defaultvalue("")] BSTR language);
18734
18735     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
18736     VARIANT getExpression([in] BSTR propname);
18737
18738     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
18739     VARIANT_BOOL removeExpression([in] BSTR propname);
18740
18741     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
18742     void tabIndex(short v);
18743
18744     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
18745     short tabIndex();
18746
18747     [id(DISPID_IHTMLELEMENT2_FOCUS)]
18748     void focus();
18749
18750     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
18751     void accessKey(BSTR v);
18752
18753     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
18754     BSTR accessKey();
18755
18756     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
18757     void onblur(VARIANT v);
18758
18759     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
18760     VARIANT onblur();
18761
18762     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
18763     void onfocus(VARIANT v);
18764
18765     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
18766     VARIANT onfocus();
18767
18768     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
18769     void onresize(VARIANT v);
18770
18771     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
18772     VARIANT onresize();
18773
18774     [id(DISPID_IHTMLELEMENT2_BLUR)]
18775     void blur();
18776
18777     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
18778     void addFilter([in] IUnknown *pUnk);
18779
18780     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
18781     void removeFilter([in] IUnknown *pUnk);
18782
18783     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
18784     long clientHeight();
18785
18786     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
18787     long clientWidth();
18788
18789     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
18790     long clientTop();
18791
18792     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
18793     long clientLeft();
18794
18795     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
18796     VARIANT_BOOL attachEvent(
18797             [in] BSTR event,
18798             [in] IDispatch *pDisp);
18799
18800     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
18801     void detachEvent(
18802             [in] BSTR event,
18803             [in] IDispatch *pDisp);
18804
18805     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
18806     VARIANT readyState();
18807
18808     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
18809     void onreadystatechange(VARIANT v);
18810
18811     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
18812     VARIANT onreadystatechange();
18813
18814     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
18815     void onrowsdelete(VARIANT v);
18816
18817     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
18818     VARIANT onrowsdelete();
18819
18820     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
18821     void onrowsinserted(VARIANT v);
18822
18823     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
18824      VARIANT onrowsinserted();
18825
18826     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
18827      void oncellchange(VARIANT v);
18828
18829     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
18830     VARIANT oncellchange();
18831
18832     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
18833     void dir(BSTR v);
18834
18835     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
18836     BSTR dir();
18837
18838     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
18839     IDispatch *createControlRange();
18840
18841     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
18842     long scrollHeight();
18843
18844     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
18845     long scrollWidth();
18846
18847     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
18848     void scrollTop(long v);
18849
18850     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
18851     long scrollTop();
18852
18853     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
18854     void scrollLeft(long v);
18855
18856     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
18857     long scrollLeft();
18858
18859     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
18860     void clearAttributes();
18861
18862     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
18863     void oncontextmenu(VARIANT v);
18864
18865     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
18866     VARIANT oncontextmenu();
18867
18868     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
18869     IHTMLElement *insertAdjacentElement(
18870             [in] BSTR where,
18871             [in] IHTMLElement *insertedElement);
18872
18873     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
18874     IHTMLElement *applyElement(
18875             [in] IHTMLElement *apply,
18876             [in] BSTR where);
18877
18878     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
18879     BSTR getAdjacentText([in] BSTR where);
18880
18881     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
18882     BSTR replaceAdjacentText(
18883             [in] BSTR where,
18884             [in] BSTR newText);
18885
18886     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
18887     VARIANT_BOOL canHaveChildren();
18888
18889     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
18890     long addBehavior(
18891             [in] BSTR bstrUrl,
18892             [in, optional] VARIANT *pvarFactory);
18893
18894     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
18895     VARIANT_BOOL removeBehavior([in] long cookie);
18896
18897     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
18898     IHTMLStyle *runtimeStyle();
18899
18900     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
18901     IDispatch *behaviorUrns();
18902
18903     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
18904     void tagUrn(BSTR v);
18905
18906     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
18907     BSTR tagUrn();
18908
18909     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
18910     void onbeforeeditfocus(VARIANT v);
18911
18912     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
18913     VARIANT onbeforeeditfocus();
18914
18915     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
18916     long readyStateValue();
18917
18918     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
18919     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
18920
18921     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
18922     void mergeAttributes(
18923             [in] IHTMLElement *mergeThis,
18924             [in, optional] VARIANT *pvarFlags);
18925
18926     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
18927     VARIANT_BOOL isMultiLine();
18928
18929     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
18930     VARIANT_BOOL canHaveHTML();
18931
18932     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
18933     void onlayoutcomplete(VARIANT v);
18934
18935     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
18936     VARIANT onlayoutcomplete();
18937
18938     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
18939     void onpage(VARIANT v);
18940
18941     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
18942     VARIANT onpage();
18943
18944     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
18945     void inflateBlock(VARIANT_BOOL v);
18946
18947     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
18948     VARIANT_BOOL inflateBlock();
18949
18950     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
18951     void onbeforedeactivate(VARIANT v);
18952
18953     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
18954     VARIANT onbeforedeactivate();
18955
18956     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
18957     void setActive();
18958
18959     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
18960     void contentEditable(BSTR v);
18961
18962     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
18963     BSTR contentEditable();
18964
18965     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
18966     VARIANT_BOOL isContentEditable();
18967
18968     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
18969     void hideFocus(VARIANT_BOOL v);
18970
18971     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
18972     VARIANT_BOOL hideFocus();
18973
18974     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
18975     void disabled(VARIANT_BOOL v);
18976
18977     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
18978     VARIANT_BOOL disabled();
18979
18980     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
18981     VARIANT_BOOL isDisabled();
18982
18983     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
18984     void onmove(VARIANT v);
18985
18986     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
18987     VARIANT onmove();
18988
18989     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
18990     void oncontrolselect(VARIANT v);
18991
18992     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
18993     VARIANT oncontrolselect();
18994
18995     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
18996     VARIANT_BOOL fireEvent(
18997             [in] BSTR bstrEventName,
18998             [in, optional] VARIANT *pvarEventObject);
18999
19000     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
19001     void onresizestart(VARIANT v);
19002
19003     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
19004     VARIANT onresizestart();
19005
19006     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
19007     void onresizeend(VARIANT v);
19008
19009     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
19010     VARIANT onresizeend();
19011
19012     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
19013     void onmovestart(VARIANT v);
19014
19015     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
19016     VARIANT onmovestart();
19017
19018     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
19019     void onmoveend(VARIANT v);
19020
19021     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
19022     VARIANT onmoveend();
19023
19024     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
19025     void onmouseenter(VARIANT v);
19026
19027     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
19028     VARIANT onmouseenter();
19029
19030     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
19031     void onmouseleave(VARIANT v);
19032
19033     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
19034     VARIANT onmouseleave();
19035
19036     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
19037     void onactivate(VARIANT v);
19038
19039     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
19040     VARIANT onactivate();
19041
19042     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
19043     void ondeactivate(VARIANT v);
19044
19045     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
19046     VARIANT ondeactivate();
19047
19048     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
19049     VARIANT_BOOL dragDrop();
19050
19051     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
19052     LONG glyphMode();
19053
19054     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
19055     void onmousewheel(VARIANT v);
19056
19057     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
19058     VARIANT onmousewheel();
19059
19060     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
19061     void normalize();
19062
19063     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
19064     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
19065
19066     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
19067     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
19068
19069     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
19070     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
19071
19072     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
19073     void onbeforeactivate(VARIANT v);
19074
19075     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
19076     VARIANT onbeforeactivate();
19077
19078     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
19079     void onfocusin(VARIANT v);
19080
19081     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
19082     VARIANT onfocusin();
19083
19084     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
19085     void onfocusout(VARIANT v);
19086
19087     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
19088     VARIANT onfocusout();
19089
19090     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
19091     long uniqueNumber();
19092
19093     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
19094     BSTR uniqueID();
19095
19096     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
19097     long nodeType();
19098
19099     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
19100     IHTMLDOMNode *parentNode();
19101
19102     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
19103     VARIANT_BOOL hasChildNodes();
19104
19105     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
19106     IDispatch *childNodes();
19107
19108     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
19109     IDispatch *attributes();
19110
19111     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
19112     IHTMLDOMNode *insertBefore(
19113             [in] IHTMLDOMNode *newChild,
19114             [in, optional] VARIANT refChild);
19115
19116     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
19117     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
19118
19119     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
19120     IHTMLDOMNode *replaceChild(
19121             [in] IHTMLDOMNode *newChild,
19122             [in] IHTMLDOMNode *oldChild);
19123
19124     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
19125     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
19126
19127     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
19128     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
19129
19130     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
19131     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
19132
19133     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
19134     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
19135
19136     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
19137     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
19138
19139     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
19140     BSTR nodeName();
19141
19142     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
19143     void nodeValue(VARIANT v);
19144
19145     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
19146     VARIANT nodeValue();
19147
19148     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
19149     IHTMLDOMNode *firstChild();
19150
19151     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
19152     IHTMLDOMNode *lastChild();
19153
19154     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
19155     IHTMLDOMNode *previousSibling();
19156
19157     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
19158     IHTMLDOMNode *nextSibling();
19159
19160     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
19161     IDispatch *ownerDocument();
19162
19163     [propput, id(DISPID_IHTMLTABLEROW_ALIGN)]
19164     void align(BSTR v);
19165
19166     [propget, id(DISPID_IHTMLTABLEROW_ALIGN)]
19167     BSTR align();
19168
19169     [propput, id(DISPID_IHTMLTABLEROW_VALIGN)]
19170     void vAlign(BSTR v);
19171
19172     [propget, id(DISPID_IHTMLTABLEROW_VALIGN)]
19173     BSTR vAlign();
19174
19175     [propput, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
19176     void bgColor(VARIANT v);
19177
19178     [propget, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
19179     VARIANT bgColor();
19180
19181     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
19182     void borderColor(VARIANT v);
19183
19184     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
19185     VARIANT borderColor();
19186
19187     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
19188     void borderColorLight(VARIANT v);
19189
19190     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
19191     VARIANT borderColorLight();
19192
19193     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
19194     void borderColorDark(VARIANT v);
19195
19196     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
19197     VARIANT borderColorDark();
19198
19199     [propget, id(DISPID_IHTMLTABLEROW_ROWINDEX)]
19200     long rowIndex();
19201
19202     [propget, id(DISPID_IHTMLTABLEROW_SECTIONROWINDEX)]
19203     long sectionRowIndex();
19204
19205     [propget, id(DISPID_IHTMLTABLEROW_CELLS)]
19206     IHTMLElementCollection *cells();
19207
19208     [id(DISPID_IHTMLTABLEROW_INSERTCELL)]
19209     IDispatch *insertCell([in, defaultvalue(-1)] long index);
19210
19211     [id(DISPID_IHTMLTABLEROW_DELETECELL)]
19212     void deleteCell([in, defaultvalue(-1)] long index);
19213
19214     [propput, id(DISPID_IHTMLTABLEROW2_HEIGHT)]
19215     void height(VARIANT v);
19216
19217     [propget, id(DISPID_IHTMLTABLEROW2_HEIGHT)]
19218     VARIANT height();
19219
19220     [propput, id(DISPID_IHTMLTABLEROW3_CH), displaybind, bindable]
19221     void ch(BSTR v);
19222
19223     [propget, id(DISPID_IHTMLTABLEROW3_CH), displaybind, bindable]
19224     BSTR ch();
19225
19226     [propput, id(DISPID_IHTMLTABLEROW3_CHOFF), displaybind, bindable]
19227     void chOff(BSTR v);
19228
19229     [propget, id(DISPID_IHTMLTABLEROW3_CHOFF), displaybind, bindable]
19230     BSTR chOff();
19231 }
19232
19233 /*****************************************************************************
19234  *    IHTMLScriptElement interface
19235  */
19236 [
19237     odl,
19238     oleautomation,
19239     dual,
19240     uuid(3050f28b-98b5-11cf-bb82-00aa00bdce0b)
19241 ]
19242 interface IHTMLScriptElement : IDispatch
19243 {
19244     [propput, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
19245     HRESULT src([in] BSTR v);
19246
19247     [propget, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
19248     HRESULT src([retval, out] BSTR *p);
19249
19250     [propput, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
19251     HRESULT htmlFor([in] BSTR v);
19252
19253     [propget, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
19254     HRESULT htmlFor([retval, out] BSTR *p);
19255
19256     [propput, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
19257     HRESULT event([in] BSTR v);
19258
19259     [propget, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
19260     HRESULT event([retval, out] BSTR *p);
19261
19262     [propput, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
19263     HRESULT text([in] BSTR v);
19264
19265     [propget, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
19266     HRESULT text([retval, out] BSTR *p);
19267
19268     [propput, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
19269     HRESULT defer([in] VARIANT_BOOL v);
19270
19271     [propget, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
19272     HRESULT defer([retval, out] VARIANT_BOOL *p);
19273
19274     [propget, id(DISPID_IHTMLSCRIPTELEMENT_READYSTATE)]
19275     HRESULT readyState([retval, out] BSTR *p);
19276
19277     [propput, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
19278     HRESULT onerror([in] VARIANT v);
19279
19280     [propget, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
19281     HRESULT onerror([retval, out] VARIANT *p);
19282
19283     [propput, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
19284     HRESULT type([in] BSTR v);
19285
19286     [propget, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
19287     HRESULT type([retval, out] BSTR *p);
19288 }
19289
19290 /*****************************************************************************
19291  *    IHTMLScriptElement2 interface
19292  */
19293 [
19294     odl,
19295     oleautomation,
19296     dual,
19297     uuid(3050f828-98b5-11cf-bb82-00aa00bdce0b)
19298 ]
19299 interface IHTMLScriptElement2 : IDispatch
19300 {
19301     [propput, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
19302     HRESULT charset([in] BSTR v);
19303
19304     [propget, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
19305     HRESULT charset([retval, out] BSTR *p);
19306 }
19307
19308 /*****************************************************************************
19309  *    IHTMLFrameBase interface
19310  */
19311 [
19312     odl,
19313     oleautomation,
19314     dual,
19315     uuid(3050f311-98b5-11cf-bb82-00aa00bdce0b)
19316 ]
19317 interface IHTMLFrameBase : IDispatch
19318 {
19319     [propput, id(DISPID_IHTMLFRAMEBASE_SRC)]
19320     HRESULT src([in] BSTR v);
19321
19322     [propget, id(DISPID_IHTMLFRAMEBASE_SRC)]
19323     HRESULT src([out, retval] BSTR *p);
19324
19325     [propput, id(DISPID_IHTMLFRAMEBASE_NAME)]
19326     HRESULT name([in] BSTR v);
19327
19328     [propget, id(DISPID_IHTMLFRAMEBASE_NAME)]
19329     HRESULT name([out, retval] BSTR *p);
19330
19331     [propput, id(DISPID_IHTMLFRAMEBASE_BORDER)]
19332     HRESULT border([in] VARIANT v);
19333
19334     [propget, id(DISPID_IHTMLFRAMEBASE_BORDER)]
19335     HRESULT border([out, retval] VARIANT *p);
19336
19337     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
19338     HRESULT frameBorder([in] BSTR v);
19339
19340     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
19341     HRESULT frameBorder([out, retval] BSTR *p);
19342
19343     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
19344     HRESULT frameSpacing([in] VARIANT v);
19345
19346     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
19347     HRESULT frameSpacing([out, retval] VARIANT *p);
19348
19349     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
19350     HRESULT marginWidth([in] VARIANT v);
19351
19352     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
19353     HRESULT marginWidth([out, retval] VARIANT *p);
19354
19355     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
19356     HRESULT marginHeight([in] VARIANT v);
19357
19358     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
19359     HRESULT marginHeight([out, retval] VARIANT *p);
19360
19361     [propput, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
19362     HRESULT noResize([in] VARIANT_BOOL v);
19363
19364     [propget, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
19365     HRESULT noResize([out, retval] VARIANT_BOOL *p);
19366
19367     [propput, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
19368     HRESULT scrolling([in] BSTR v);
19369
19370     [propget, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
19371     HRESULT scrolling([out, retval] BSTR *p);
19372 }
19373
19374 /*****************************************************************************
19375  *    IHTMLFrameBase2 interface
19376  */
19377 [
19378     odl,
19379     oleautomation,
19380     dual,
19381     uuid(3050f6db-98b5-11cf-bb82-00aa00bdce0b)
19382 ]
19383 interface IHTMLFrameBase2 : IDispatch
19384 {
19385     [propget, id(DISPID_IHTMLFRAMEBASE2_CONTENTWINDOW)]
19386     HRESULT contentWindow([retval, out] IHTMLWindow2 **p);
19387
19388     [propput, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
19389     HRESULT onload([in] VARIANT v);
19390
19391     [propget, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
19392     HRESULT onload([retval, out] VARIANT *p);
19393
19394     [propput, id(DISPID_IHTMLFRAMEBASE2_ONREADYSTATECHANGE), displaybind, bindable]
19395     HRESULT onreadystatechange([in] VARIANT v);
19396
19397     [propget, id(DISPID_IHTMLFRAMEBASE2_ONREADYSTATECHANGE), displaybind, bindable]
19398     HRESULT onreadystatechange([retval, out] VARIANT *p);
19399
19400     [propget, id(DISPID_IHTMLFRAMEBASE2_READYSTATE)]
19401     HRESULT readyState([retval, out] BSTR *p);
19402
19403     [propput, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
19404     HRESULT allowTransparency([in] VARIANT_BOOL v);
19405
19406     [propget, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
19407     HRESULT allowTransparency([retval, out] VARIANT_BOOL *p);
19408 }
19409
19410 /*****************************************************************************
19411  *    DispHTMLIFrame dispinterface
19412  */
19413 [
19414     hidden,
19415     uuid(3050f51b-98b5-11cf-bb82-00aa00bdce0b)
19416 ]
19417 dispinterface DispHTMLIFrame
19418 {
19419 properties:
19420 methods:
19421     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
19422     void setAttribute(
19423             [in] BSTR strAttributeName,
19424             [in] VARIANT AttributeValue,
19425             [in, defaultvalue(1)] LONG lFlags);
19426
19427     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
19428     VARIANT getAttribute(
19429              [in] BSTR strAttributeName,
19430              [in, defaultvalue(0)] LONG lFlags);
19431
19432     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
19433     VARIANT_BOOL removeAttribute(
19434             [in] BSTR strAttributeName,
19435             [in, defaultvalue(1)] LONG lFlags);
19436
19437     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
19438     void className(BSTR v);
19439
19440     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
19441     BSTR className();
19442
19443     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
19444     void id(BSTR v);
19445
19446     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
19447     BSTR id();
19448
19449     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
19450     BSTR tagName();
19451
19452     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
19453     IHTMLElement *parentElement();
19454
19455     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
19456     IHTMLStyle *style();
19457
19458     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
19459     void onhelp(VARIANT v);
19460
19461     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
19462     VARIANT onhelp();
19463
19464     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
19465     void onclick(VARIANT v);
19466
19467     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
19468     VARIANT onclick();
19469
19470     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
19471     void ondblclick(VARIANT v);
19472
19473     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
19474     VARIANT ondblclick();
19475
19476     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
19477     void onkeydown(VARIANT v);
19478
19479     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
19480     VARIANT onkeydown();
19481
19482     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
19483     void onkeyup(VARIANT v);
19484
19485     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
19486     VARIANT onkeyup();
19487
19488     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
19489     void onkeypress(VARIANT v);
19490
19491     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
19492     VARIANT onkeypress();
19493
19494     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
19495     void onmouseout(VARIANT v);
19496
19497     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
19498     VARIANT onmouseout();
19499
19500     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
19501     void onmouseover(VARIANT v);
19502
19503     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
19504     VARIANT onmouseover();
19505
19506     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
19507     void onmousemove(VARIANT v);
19508
19509     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
19510     VARIANT onmousemove();
19511
19512     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
19513     void onmousedown(VARIANT v);
19514
19515     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
19516     VARIANT onmousedown();
19517
19518     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
19519     void onmouseup(VARIANT v);
19520
19521     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
19522     VARIANT onmouseup();
19523
19524     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
19525     IDispatch *document();
19526
19527     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
19528     void title(BSTR v);
19529
19530     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
19531     BSTR title();
19532
19533     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
19534     void language(BSTR v);
19535
19536     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
19537     BSTR language();
19538
19539     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
19540     void onselectstart(VARIANT v);
19541
19542     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
19543     VARIANT onselectstart();
19544
19545     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
19546     void scrollIntoView([in, optional] VARIANT varargStart);
19547
19548     [id(DISPID_IHTMLELEMENT_CONTAINS)]
19549     VARIANT_BOOL contains([in] IHTMLElement *pChild);
19550
19551     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
19552     long sourceIndex();
19553
19554     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
19555     VARIANT recordNumber();
19556
19557     [propput, id(DISPID_IHTMLELEMENT_LANG)]
19558     void lang(BSTR v);
19559
19560     [propget, id(DISPID_IHTMLELEMENT_LANG)]
19561     BSTR lang();
19562
19563     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
19564     long offsetLeft();
19565
19566     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
19567     long offsetTop();
19568
19569     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
19570     long offsetWidth();
19571
19572     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
19573     long offsetHeight();
19574
19575     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
19576     IHTMLElement *offsetParent();
19577
19578     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
19579     void innerHTML(BSTR v);
19580
19581     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
19582     BSTR innerHTML();
19583
19584     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
19585     void innerText(BSTR v);
19586
19587     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
19588     BSTR innerText();
19589
19590     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
19591     void outerHTML(BSTR v);
19592
19593     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
19594     BSTR outerHTML();
19595
19596     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
19597     void outerText(BSTR v);
19598
19599     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
19600     BSTR outerText();
19601
19602     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
19603     void insertAdjacentHTML(
19604             [in] BSTR where,
19605             [in] BSTR html);
19606
19607     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
19608     void insertAdjacentText(
19609             [in] BSTR where,
19610             [in] BSTR text);
19611
19612     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
19613     IHTMLElement *parentTextEdit();
19614
19615     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
19616     VARIANT_BOOL isTextEdit();
19617
19618     [id(DISPID_IHTMLELEMENT_CLICK)]
19619     void click();
19620
19621     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
19622     IHTMLFiltersCollection *filters();
19623
19624     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
19625     void ondragstart(VARIANT v);
19626
19627     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
19628     VARIANT ondragstart();
19629
19630     [id(DISPID_IHTMLELEMENT_TOSTRING)]
19631     BSTR toString();
19632
19633     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
19634     void onbeforeupdate(VARIANT v);
19635
19636     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
19637     VARIANT onbeforeupdate();
19638
19639     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
19640     void onafterupdate(VARIANT v);
19641
19642     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
19643     VARIANT onafterupdate();
19644
19645     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
19646     void onerrorupdate(VARIANT v);
19647
19648     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
19649     VARIANT onerrorupdate();
19650
19651     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
19652     void onrowexit(VARIANT v);
19653
19654     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
19655     VARIANT onrowexit();
19656
19657     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
19658     void onrowenter(VARIANT v);
19659
19660     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
19661     VARIANT onrowenter();
19662
19663     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
19664     void ondatasetchanged(VARIANT v);
19665
19666     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
19667     VARIANT ondatasetchanged();
19668
19669     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
19670     void ondataavailable(VARIANT v);
19671
19672     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
19673     VARIANT ondataavailable();
19674
19675     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
19676     void ondatasetcomplete(VARIANT v);
19677
19678     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
19679     VARIANT ondatasetcomplete();
19680
19681     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
19682     void onfilterchange(VARIANT v);
19683
19684     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
19685     VARIANT onfilterchange();
19686
19687     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
19688     IDispatch *children();
19689
19690     [propget, id(DISPID_IHTMLELEMENT_ALL)]
19691     IDispatch *all();
19692
19693     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
19694     BSTR scopeName();
19695
19696     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
19697     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
19698
19699     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
19700     void releaseCapture();
19701
19702     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
19703     void onlosecapture(VARIANT v);
19704
19705     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
19706     VARIANT onlosecapture();
19707
19708     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
19709     BSTR componentFromPoint(
19710             [in] long x,
19711             [in] long y);
19712
19713     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
19714     void doScroll([in, optional] VARIANT component);
19715
19716     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
19717     void onscroll(VARIANT v);
19718
19719     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
19720     VARIANT onscroll();
19721
19722     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
19723     void ondrag(VARIANT v);
19724
19725     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
19726     VARIANT ondrag();
19727
19728     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
19729     void ondragend(VARIANT v);
19730
19731     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
19732     VARIANT ondragend();
19733
19734     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
19735     void ondragenter(VARIANT v);
19736
19737     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
19738     VARIANT ondragenter();
19739
19740     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
19741     void ondragover(VARIANT v);
19742
19743     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
19744     VARIANT ondragover();
19745
19746     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
19747     void ondragleave(VARIANT v);
19748
19749     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
19750     VARIANT ondragleave();
19751
19752     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
19753     void ondrop(VARIANT v);
19754
19755     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
19756     VARIANT ondrop();
19757
19758     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
19759     void onbeforecut(VARIANT v);
19760
19761     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
19762     VARIANT onbeforecut();
19763
19764     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
19765     void oncut(VARIANT v);
19766
19767     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
19768     VARIANT oncut();
19769
19770     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
19771     void onbeforecopy(VARIANT v);
19772
19773     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
19774     VARIANT onbeforecopy();
19775
19776     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
19777     void oncopy(VARIANT v);
19778
19779     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
19780     VARIANT oncopy();
19781
19782     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
19783     void onbeforepaste(VARIANT v);
19784
19785     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
19786     VARIANT onbeforepaste();
19787
19788     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
19789     void onpaste(VARIANT v);
19790
19791     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
19792     VARIANT onpaste();
19793
19794     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
19795     IHTMLCurrentStyle *currentStyle();
19796
19797     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
19798     void onpropertychange(VARIANT v);
19799
19800     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
19801     VARIANT onpropertychange();
19802
19803     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
19804     IHTMLRectCollection *getClientRects();
19805
19806     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
19807     IHTMLRect *getBoundingClientRect();
19808
19809     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
19810     void setExpression(
19811             [in] BSTR propname,
19812             [in] BSTR expression,
19813             [in, defaultvalue("")] BSTR language);
19814
19815     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
19816     VARIANT getExpression([in] BSTR propname);
19817
19818     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
19819     VARIANT_BOOL removeExpression([in] BSTR propname);
19820
19821     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
19822     void tabIndex(short v);
19823
19824     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
19825     short tabIndex();
19826
19827     [id(DISPID_IHTMLELEMENT2_FOCUS)]
19828     void focus();
19829
19830     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
19831     void accessKey(BSTR v);
19832
19833     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
19834     BSTR accessKey();
19835
19836     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
19837     void onblur(VARIANT v);
19838
19839     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
19840     VARIANT onblur();
19841
19842     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
19843     void onfocus(VARIANT v);
19844
19845     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
19846     VARIANT onfocus();
19847
19848     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
19849     void onresize(VARIANT v);
19850
19851     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
19852     VARIANT onresize();
19853
19854     [id(DISPID_IHTMLELEMENT2_BLUR)]
19855     void blur();
19856
19857     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
19858     void addFilter([in] IUnknown *pUnk);
19859
19860     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
19861     void removeFilter([in] IUnknown *pUnk);
19862
19863     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
19864     long clientHeight();
19865
19866     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
19867     long clientWidth();
19868
19869     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
19870     long clientTop();
19871
19872     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
19873     long clientLeft();
19874
19875     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
19876     VARIANT_BOOL attachEvent(
19877             [in] BSTR event,
19878             [in] IDispatch *pDisp);
19879
19880     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
19881     void detachEvent(
19882             [in] BSTR event,
19883             [in] IDispatch *pDisp);
19884
19885     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
19886     VARIANT readyState();
19887
19888     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
19889     void onreadystatechange(VARIANT v);
19890
19891     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
19892     VARIANT onreadystatechange();
19893
19894     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
19895     void onrowsdelete(VARIANT v);
19896
19897     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
19898     VARIANT onrowsdelete();
19899
19900     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
19901     void onrowsinserted(VARIANT v);
19902
19903     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
19904      VARIANT onrowsinserted();
19905
19906     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
19907      void oncellchange(VARIANT v);
19908
19909     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
19910     VARIANT oncellchange();
19911
19912     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
19913     void dir(BSTR v);
19914
19915     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
19916     BSTR dir();
19917
19918     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
19919     IDispatch *createControlRange();
19920
19921     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
19922     long scrollHeight();
19923
19924     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
19925     long scrollWidth();
19926
19927     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
19928     void scrollTop(long v);
19929
19930     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
19931     long scrollTop();
19932
19933     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
19934     void scrollLeft(long v);
19935
19936     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
19937     long scrollLeft();
19938
19939     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
19940     void clearAttributes();
19941
19942     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
19943     void oncontextmenu(VARIANT v);
19944
19945     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
19946     VARIANT oncontextmenu();
19947
19948     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
19949     IHTMLElement *insertAdjacentElement(
19950             [in] BSTR where,
19951             [in] IHTMLElement *insertedElement);
19952
19953     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
19954     IHTMLElement *applyElement(
19955             [in] IHTMLElement *apply,
19956             [in] BSTR where);
19957
19958     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
19959     BSTR getAdjacentText([in] BSTR where);
19960
19961     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
19962     BSTR replaceAdjacentText(
19963             [in] BSTR where,
19964             [in] BSTR newText);
19965
19966     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
19967     VARIANT_BOOL canHaveChildren();
19968
19969     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
19970     long addBehavior(
19971             [in] BSTR bstrUrl,
19972             [in, optional] VARIANT *pvarFactory);
19973
19974     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
19975     VARIANT_BOOL removeBehavior([in] long cookie);
19976
19977     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
19978     IHTMLStyle *runtimeStyle();
19979
19980     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
19981     IDispatch *behaviorUrns();
19982
19983     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
19984     void tagUrn(BSTR v);
19985
19986     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
19987     BSTR tagUrn();
19988
19989     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
19990     void onbeforeeditfocus(VARIANT v);
19991
19992     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
19993     VARIANT onbeforeeditfocus();
19994
19995     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
19996     long readyStateValue();
19997
19998     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
19999     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
20000
20001     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
20002     void mergeAttributes(
20003             [in] IHTMLElement *mergeThis,
20004             [in, optional] VARIANT *pvarFlags);
20005
20006     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
20007     VARIANT_BOOL isMultiLine();
20008
20009     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
20010     VARIANT_BOOL canHaveHTML();
20011
20012     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
20013     void onlayoutcomplete(VARIANT v);
20014
20015     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
20016     VARIANT onlayoutcomplete();
20017
20018     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
20019     void onpage(VARIANT v);
20020
20021     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
20022     VARIANT onpage();
20023
20024     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
20025     void inflateBlock(VARIANT_BOOL v);
20026
20027     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
20028     VARIANT_BOOL inflateBlock();
20029
20030     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
20031     void onbeforedeactivate(VARIANT v);
20032
20033     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
20034     VARIANT onbeforedeactivate();
20035
20036     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
20037     void setActive();
20038
20039     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
20040     void contentEditable(BSTR v);
20041
20042     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
20043     BSTR contentEditable();
20044
20045     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
20046     VARIANT_BOOL isContentEditable();
20047
20048     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
20049     void hideFocus(VARIANT_BOOL v);
20050
20051     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
20052     VARIANT_BOOL hideFocus();
20053
20054     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
20055     void disabled(VARIANT_BOOL v);
20056
20057     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
20058     VARIANT_BOOL disabled();
20059
20060     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
20061     VARIANT_BOOL isDisabled();
20062
20063     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
20064     void onmove(VARIANT v);
20065
20066     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
20067     VARIANT onmove();
20068
20069     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
20070     void oncontrolselect(VARIANT v);
20071
20072     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
20073     VARIANT oncontrolselect();
20074
20075     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
20076     VARIANT_BOOL fireEvent(
20077             [in] BSTR bstrEventName,
20078             [in, optional] VARIANT *pvarEventObject);
20079
20080     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
20081     void onresizestart(VARIANT v);
20082
20083     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
20084     VARIANT onresizestart();
20085
20086     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
20087     void onresizeend(VARIANT v);
20088
20089     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
20090     VARIANT onresizeend();
20091
20092     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
20093     void onmovestart(VARIANT v);
20094
20095     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
20096     VARIANT onmovestart();
20097
20098     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
20099     void onmoveend(VARIANT v);
20100
20101     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
20102     VARIANT onmoveend();
20103
20104     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
20105     void onmouseenter(VARIANT v);
20106
20107     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
20108     VARIANT onmouseenter();
20109
20110     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
20111     void onmouseleave(VARIANT v);
20112
20113     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
20114     VARIANT onmouseleave();
20115
20116     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
20117     void onactivate(VARIANT v);
20118
20119     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
20120     VARIANT onactivate();
20121
20122     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
20123     void ondeactivate(VARIANT v);
20124
20125     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
20126     VARIANT ondeactivate();
20127
20128     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
20129     VARIANT_BOOL dragDrop();
20130
20131     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
20132     LONG glyphMode();
20133
20134     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
20135     void onmousewheel(VARIANT v);
20136
20137     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
20138     VARIANT onmousewheel();
20139
20140     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
20141     void normalize();
20142
20143     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
20144     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
20145
20146     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
20147     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
20148
20149     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
20150     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
20151
20152     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
20153     void onbeforeactivate(VARIANT v);
20154
20155     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
20156     VARIANT onbeforeactivate();
20157
20158     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
20159     void onfocusin(VARIANT v);
20160
20161     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
20162     VARIANT onfocusin();
20163
20164     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
20165     void onfocusout(VARIANT v);
20166
20167     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
20168     VARIANT onfocusout();
20169
20170     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
20171     long uniqueNumber();
20172
20173     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
20174     BSTR uniqueID();
20175
20176     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
20177     long nodeType();
20178
20179     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
20180     IHTMLDOMNode *parentNode();
20181
20182     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
20183     VARIANT_BOOL hasChildNodes();
20184
20185     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
20186     IDispatch *childNodes();
20187
20188     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
20189     IDispatch *attributes();
20190
20191     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
20192     IHTMLDOMNode *insertBefore(
20193             [in] IHTMLDOMNode *newChild,
20194             [in, optional] VARIANT refChild);
20195
20196     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
20197     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
20198
20199     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
20200     IHTMLDOMNode *replaceChild(
20201             [in] IHTMLDOMNode *newChild,
20202             [in] IHTMLDOMNode *oldChild);
20203
20204     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
20205     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
20206
20207     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
20208     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
20209
20210     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
20211     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
20212
20213     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
20214     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
20215
20216     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
20217     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
20218
20219     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
20220     BSTR nodeName();
20221
20222     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
20223     void nodeValue(VARIANT v);
20224
20225     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
20226     VARIANT nodeValue();
20227
20228     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
20229     IHTMLDOMNode *firstChild();
20230
20231     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
20232     IHTMLDOMNode *lastChild();
20233
20234     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
20235     IHTMLDOMNode *previousSibling();
20236
20237     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
20238     IHTMLDOMNode *nextSibling();
20239
20240     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
20241     IDispatch *ownerDocument();
20242
20243     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
20244     void dataFld(BSTR v);
20245
20246     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
20247     BSTR dataFld();
20248
20249     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
20250     void dataSrc(BSTR v);
20251
20252     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
20253     BSTR dataSrc();
20254
20255     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
20256     void dataFormatAs(BSTR v);
20257
20258     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
20259     BSTR dataFormatAs();
20260
20261     [propput, id(DISPID_IHTMLFRAMEBASE_SRC)]
20262     void src(BSTR v);
20263
20264     [propget, id(DISPID_IHTMLFRAMEBASE_SRC)]
20265     BSTR src();
20266
20267     [propput, id(DISPID_IHTMLFRAMEBASE_NAME)]
20268     void name(BSTR v);
20269
20270     [propget, id(DISPID_IHTMLFRAMEBASE_NAME)]
20271     BSTR name();
20272
20273     [propput, id(DISPID_IHTMLFRAMEBASE_BORDER)]
20274     void border(VARIANT v);
20275
20276     [propget, id(DISPID_IHTMLFRAMEBASE_BORDER)]
20277     VARIANT border();
20278
20279     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
20280     void frameBorder(BSTR v);
20281
20282     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
20283     BSTR frameBorder();
20284
20285     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
20286     void frameSpacing(VARIANT v);
20287
20288     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
20289     VARIANT frameSpacing();
20290
20291     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
20292     void marginWidth(VARIANT v);
20293
20294     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
20295     VARIANT marginWidth();
20296
20297     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
20298     void marginHeight(VARIANT v);
20299
20300     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
20301     VARIANT marginHeight();
20302
20303     [propput, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
20304     void noResize(VARIANT_BOOL v);
20305
20306     [propget, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
20307     VARIANT_BOOL noResize();
20308
20309     [propput, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
20310     void scrolling(BSTR v);
20311
20312     [propget, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
20313     BSTR scrolling();
20314
20315     [propget, id(DISPID_IHTMLFRAMEBASE2_CONTENTWINDOW)]
20316     IHTMLWindow2 *contentWindow();
20317
20318     [propput, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
20319     void onload(VARIANT v);
20320
20321     [propget, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
20322     VARIANT onload();
20323
20324     [propput, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
20325     void allowTransparency(VARIANT_BOOL v);
20326
20327     [propget, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
20328     VARIANT_BOOL allowTransparency();
20329
20330     [propput, id(DISPID_IHTMLFRAMEBASE3_LONGDESC), displaybind, bindable]
20331     void longDesc(BSTR v);
20332
20333     [propget, id(DISPID_IHTMLFRAMEBASE3_LONGDESC), displaybind, bindable]
20334     BSTR longDesc();
20335
20336     [propput, id(DISPID_IHTMLIFRAMEELEMENT_VSPACE)]
20337     void vspace(long v);
20338
20339     [propget, id(DISPID_IHTMLIFRAMEELEMENT_VSPACE)]
20340     long vspace();
20341
20342     [propput, id(DISPID_IHTMLIFRAMEELEMENT_HSPACE)]
20343     void hspace(long v);
20344
20345     [propget, id(DISPID_IHTMLIFRAMEELEMENT_HSPACE)]
20346     long hspace();
20347
20348     [propput, id(DISPID_IHTMLIFRAMEELEMENT_ALIGN), displaybind, bindable]
20349     void align(BSTR v);
20350
20351     [propget, id(DISPID_IHTMLIFRAMEELEMENT_ALIGN), displaybind, bindable]
20352     BSTR align();
20353
20354     [propput, id(DISPID_IHTMLIFRAMEELEMENT2_HEIGHT)]
20355     void height(VARIANT v);
20356
20357     [propget, id(DISPID_IHTMLIFRAMEELEMENT2_HEIGHT)]
20358     VARIANT height();
20359
20360     [propput, id(DISPID_IHTMLIFRAMEELEMENT2_WIDTH)]
20361     void width(VARIANT v);
20362
20363     [propget, id(DISPID_IHTMLIFRAMEELEMENT2_WIDTH)]
20364     VARIANT width();
20365 }
20366
20367 /*****************************************************************************
20368  *    IMarkupContainer interface
20369  */
20370 [
20371     object,
20372     pointer_default(unique),
20373     uuid(3050f5f9-98b5-11cf-bb82-00aa00bdce0B)
20374 ]
20375 interface IMarkupContainer : IUnknown
20376 {
20377     HRESULT OwningDoc([out] IHTMLDocument2 **ppDoc);
20378 }
20379
20380 /*****************************************************************************
20381  *    IMarkupPointer interface
20382  */
20383 [
20384     object,
20385     pointer_default(unique),
20386     uuid(3050f49f-98b5-11cf-bb82-00aa00bdce0b)
20387 ]
20388 interface IMarkupPointer : IUnknown
20389 {
20390     HRESULT OwningDoc([out] IHTMLDocument2 **ppDoc);
20391
20392     HRESULT Gravity([out] POINTER_GRAVITY *pGravity);
20393
20394     HRESULT SetGravity([in] POINTER_GRAVITY Gravity);
20395
20396     HRESULT Cling([out] BOOL *pfCling);
20397
20398     HRESULT SetCling([in] BOOL fCLing);
20399
20400     HRESULT UnPosition();
20401
20402     HRESULT IsPositioned([out] BOOL *pfPositioned);
20403
20404     HRESULT GetContainer([out] IMarkupContainer **ppContainer);
20405
20406     HRESULT MoveAdjacentToElement(
20407         [in] IHTMLElement *pElement,
20408         [in] ELEMENT_ADJACENCY eAdj);
20409
20410     HRESULT MoveToPointer([in] IMarkupPointer *pPointer);
20411
20412     HRESULT MoveToContainer(
20413         [in] IMarkupContainer *pContainer,
20414         [in] BOOL fAtStart);
20415
20416     HRESULT Left(
20417         [in] BOOL fMove,
20418         [out] MARKUP_CONTEXT_TYPE *pContext,
20419         [out] IHTMLElement **ppElement,
20420         [in, out] long *pcch,
20421         [out, size_is(*pcch)] OLECHAR *pchText);
20422
20423     HRESULT Right(
20424         [in] BOOL fMove,
20425         [out] MARKUP_CONTEXT_TYPE *pContext,
20426         [out] IHTMLElement **ppElement,
20427         [in, out] long *pcch,
20428         [out, size_is(*pcch)] OLECHAR *pchText);
20429
20430     HRESULT CurrentScope([out] IHTMLElement **ppElemCurrent);
20431
20432     HRESULT IsLeftOf(
20433         [in] IMarkupPointer *pPointerThat,
20434         [out] BOOL *pfResult);
20435
20436     HRESULT IsLeftOfOrEqualTo(
20437         [in] IMarkupPointer *pPointerThat,
20438         [out] BOOL *pfResult);
20439
20440     HRESULT IsRightOf(
20441         [in] IMarkupPointer *pPointerThat,
20442         [out] BOOL *pfResult);
20443
20444     HRESULT IsRightOfOrEqualTo(
20445         [in] IMarkupPointer *pPointerThat,
20446         [out] BOOL *pfResult);
20447
20448     HRESULT IsEqualTo(
20449         [in] IMarkupPointer *pPointerThat,
20450         [out] BOOL *pfAreEqual);
20451
20452     HRESULT MoveUnit([in] MOVEUNIT_ACTION muAction);
20453
20454     HRESULT FindText(
20455         [in] OLECHAR *pchFindText,
20456         [in] DWORD dwFlags,
20457         [in] IMarkupPointer *pIEndMatch,
20458         [in] IMarkupPointer *pIEndSearch);
20459 }
20460
20461 /*****************************************************************************
20462  *    ISegment interface
20463  */
20464 [
20465     object,
20466     pointer_default(unique),
20467     uuid(3050f683-98b5-11cf-bb82-00aa00bdce0b)
20468 ]
20469 interface ISegment : IUnknown
20470 {
20471     HRESULT GetPointers(
20472         [in] IMarkupPointer *pIStart,
20473         [in] IMarkupPointer *pIEnd);
20474 }
20475
20476 /*****************************************************************************
20477  *    IElementSegment interface
20478  */
20479 [
20480     object,
20481     pointer_default(unique),
20482     uuid(3050f68f-98b5-11cf-bb82-00aa00bdce0b)
20483 ]
20484 interface IElementSegment : ISegment
20485 {
20486     HRESULT GetElement([out] IHTMLElement **ppIElement);
20487
20488     HRESULT SetPrimary([in] BOOL fPrimary);
20489
20490     HRESULT IsPrimary([out] BOOL *pfPrimary);
20491 }
20492
20493 /*****************************************************************************
20494  *    ISelectionServicesListener interface
20495  */
20496 [
20497     object,
20498     pointer_default(unique),
20499     uuid(3050f699-98b5-11cf-bb82-00aa00bdce0b)
20500 ]
20501 interface ISelectionServicesListener : IUnknown
20502 {
20503     HRESULT BeginSelectionUndo();
20504
20505     HRESULT EndSelectionUndo();
20506
20507     HRESULT OnSelectedElementExit(
20508         [in] IMarkupPointer *pIElementStart,
20509         [in] IMarkupPointer *pIElementEnd,
20510         [in] IMarkupPointer *pIElementContentStart,
20511         [in] IMarkupPointer *pIElementContentEnd);
20512
20513     HRESULT OnChangeType(
20514         [in] SELECTION_TYPE eType,
20515         [in] ISelectionServicesListener *pIListener);
20516
20517     HRESULT GetTypeDetail([out] BSTR *pTypeDetail);
20518 }
20519
20520 /*****************************************************************************
20521  *    ISelectionServices interface
20522  */
20523 [
20524     object,
20525     pointer_default(unique),
20526     uuid(3050f684-98b5-11cf-bb82-00aa00bdce0b)
20527 ]
20528 interface ISelectionServices : IUnknown
20529 {
20530     HRESULT SetSelectionType(
20531         [in] SELECTION_TYPE eType,
20532         [in] ISelectionServicesListener *pIListener);
20533
20534     HRESULT GetMarkupContainer([out] IMarkupContainer **ppIContainer);
20535
20536     HRESULT AddSegment(
20537         [in] IMarkupPointer *pIStart,
20538         [in] IMarkupPointer *pIEnd,
20539         [out] ISegment **ppISegmentAdded);
20540
20541     HRESULT AddElementSegment(
20542         [in] IHTMLElement *pIElement,
20543         [out] IElementSegment **ppISegmentAdded);
20544
20545     HRESULT RemoveSegment([in] ISegment *pISegment);
20546
20547     HRESULT GetSelectionServicesListener([out] ISelectionServicesListener **ppISelectionServicesListener);
20548 }
20549
20550 /*****************************************************************************
20551  *    IHTMLEditDesigner interface
20552  */
20553 [
20554     object,
20555     pointer_default(unique),
20556     uuid(3050f662-98b5-11cf-bb82-00aa00bdce0b)
20557 ]
20558 interface IHTMLEditDesigner : IUnknown
20559 {
20560     HRESULT PreHandleEvent(
20561         [in] DISPID inEvtDispId,
20562         [in] IHTMLEventObj *pIEventObj);
20563
20564     HRESULT PostHandleEvent(
20565         [in] DISPID inEvtDispId,
20566         [in] IHTMLEventObj *pIEventObj);
20567
20568     HRESULT TranslateAccelerator(
20569         [in] DISPID inEvtDispId,
20570         [in] IHTMLEventObj *pIEventObj);
20571
20572     HRESULT PostEditorEventNotify(
20573         [in] DISPID inEvtDispId,
20574         [in] IHTMLEventObj *pIEventObj);
20575 }
20576
20577 /*****************************************************************************
20578  *    IHTMLEditServices interface
20579  */
20580 [
20581     object,
20582     pointer_default(unique),
20583     uuid(3050f663-98b5-11cf-bb82-00aa00bdce0b)
20584 ]
20585 interface IHTMLEditServices : IUnknown
20586 {
20587     HRESULT AddDesigner([in] IHTMLEditDesigner *pIDesigner);
20588
20589     HRESULT RemoveDesigner([in] IHTMLEditDesigner *pIDesigner);
20590
20591     HRESULT GetSelectionServices(
20592         [in] IMarkupContainer *pIContainer,
20593         [out] ISelectionServices **ppSelSvc);
20594
20595     HRESULT MoveToSelectionAnchor([in] IMarkupPointer *pIStartAnchor);
20596
20597     HRESULT MoveToSelectionEnd([in] IMarkupPointer *pIEndAnchor);
20598
20599     HRESULT SelectRange(
20600         [in] IMarkupPointer* pStart,
20601         [in] IMarkupPointer* pEnd,
20602         [in] SELECTION_TYPE eType);
20603 }
20604
20605 } /* library MSHTML */